

/* === HOME MOBILE COFFEE POINT - FIX SPECIFICO === */

@media (max-width: 768px) {
  html, body {
    width: 100%;
    overflow-x: hidden;
  }

  body {
    background: #fff7ec;
  }

  header,
  .topbar,
  .navbar,
  .site-header {
    min-height: auto !important;
    height: auto !important;
    padding: 10px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }

  header .brand,
  .brand,
  .logo,
  .site-title {
    width: 100% !important;
    text-align: center !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }

  nav,
  .nav,
  .menu,
  .nav-links {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
  }

  nav a,
  .nav a,
  .menu a,
  .nav-links a,
  header button,
  header .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  .hero,
  .hero-section,
  .home-hero,
  section.hero {
    width: 100% !important;
    min-height: 430px !important;
    height: 430px !important;
    max-height: 430px !important;
    background-size: cover !important;
    background-position: center center !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 16px 34px !important;
    box-sizing: border-box !important;
  }

  .hero::before,
  .hero-section::before,
  .home-hero::before {
    background: rgba(30, 10, 2, 0.28) !important;
  }

  .hero .btn,
  .hero a,
  .hero button,
  .home-hero .btn,
  .home-hero a,
  .home-hero button {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    min-width: 170px !important;
    min-height: 54px !important;
    font-size: 18px !important;
    letter-spacing: 1px !important;
    border-radius: 999px !important;
    z-index: 3 !important;
  }

  main,
  .page,
  .content,
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  header,
  .topbar,
  .navbar,
  .site-header {
    padding: 9px 8px !important;
  }

  header .brand,
  .brand,
  .logo,
  .site-title {
    font-size: 22px !important;
  }

  nav,
  .nav,
  .menu,
  .nav-links {
    gap: 6px !important;
  }

  nav a,
  .nav a,
  .menu a,
  .nav-links a,
  header button,
  header .btn {
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
  }

  .hero,
  .hero-section,
  .home-hero,
  section.hero {
    min-height: 390px !important;
    height: 390px !important;
    max-height: 390px !important;
    background-size: cover !important;
    background-position: 52% center !important;
    padding-bottom: 28px !important;
  }

  .hero .btn,
  .hero a,
  .hero button,
  .home-hero .btn,
  .home-hero a,
  .home-hero button {
    min-width: 155px !important;
    min-height: 50px !important;
    font-size: 17px !important;
  }
}

@media (max-width: 390px) {
  nav a,
  .nav a,
  .menu a,
  .nav-links a,
  header button,
  header .btn {
    padding: 7px 9px !important;
    font-size: 11.5px !important;
  }

  .hero,
  .hero-section,
  .home-hero,
  section.hero {
    height: 365px !important;
    min-height: 365px !important;
    max-height: 365px !important;
  }
}

/* === HOME SMARTPHONE DEFINITIVA 5.2.5 === */
.cp-mobile-home-stage{display:none;}

@media (max-width: 768px){
  body.cp-home-page{background:#fff7ec!important;}
  body.cp-home-page .cp-desktop-home-hero{display:none!important;}
  body.cp-home-page .topbar{
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
    background:linear-gradient(180deg,#2b160d,#3c1e10)!important;
    box-shadow:0 6px 18px rgba(0,0,0,.28)!important;
    padding:14px 8px 16px!important;
  }
  body.cp-home-page .nav{
    padding:0!important;
    gap:12px!important;
    max-width:100%!important;
    width:100%!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
  }
  body.cp-home-page .brand{
    width:100%!important;
    display:block!important;
    text-align:center!important;
    color:#fff!important;
    font-size:20px!important;
    font-weight:900!important;
    line-height:1!important;
    padding:0!important;
    margin:0 0 4px!important;
    border:0!important;
    background:transparent!important;
  }
  body.cp-home-page .menu{
    width:100%!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    margin:0!important;
  }
  body.cp-home-page .menu a[data-cp-menu="store"],
  body.cp-home-page .owner-backoffice-btn{
    display:none!important;
  }
  body.cp-home-page .menu a{
    width:72px!important;
    min-width:72px!important;
    height:64px!important;
    min-height:64px!important;
    padding:7px 6px!important;
    border:0!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,#e4a63f,#c88d32)!important;
    color:#22130c!important;
    box-shadow:0 7px 16px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.25)!important;
    font-size:13px!important;
    line-height:1.05!important;
    font-weight:800!important;
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    text-transform:lowercase!important;
  }
  body.cp-home-page .menu a.active{
    background:linear-gradient(180deg,#f0b958,#cf963f)!important;
  }
  body.cp-home-page .menu a::before{
    display:block!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:900!important;
  }
  body.cp-home-page .menu a[data-cp-menu="home"]::before{content:"⌂";}
  body.cp-home-page .menu a[data-cp-menu="login"]::before{content:"♟";}
  body.cp-home-page .menu a[data-cp-menu="user"]::before{content:"♟";}
  body.cp-home-page .menu a[data-cp-menu="carrello"]::before{content:"🛒";font-size:22px!important;}
  body.cp-home-page .menu a[data-cp-menu="contatti"]::before{content:"☎";}
  body.cp-home-page .menu a[data-cp-menu="registrati"]::before{content:"♙+";font-size:21px!important;}
  body.cp-home-page .menu a[data-cp-menu="logout"]::before{content:"↪";}
  body.cp-home-page .cart-badge{
    display:inline-flex!important;
    width:23px!important;
    height:23px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    margin-left:2px!important;
    background:#2b160d!important;
    color:#e4a63f!important;
    font-size:12px!important;
    font-weight:900!important;
  }

  body.cp-home-page .cp-mobile-home-stage{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff7ec!important;
  }
  body.cp-home-page .cp-mobile-home-photo{
    position:relative!important;
    width:100%!important;
    min-height:calc(100svh - 165px)!important;
    height:calc(100svh - 165px)!important;
    background-image:linear-gradient(rgba(30,10,2,.08),rgba(30,10,2,.08)),url('home.jpg');
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    overflow:hidden!important;
  }
  body.cp-home-page .cp-mobile-store-btn{
    position:absolute!important;
    left:50%;
    top:58%;
    transform:translate(-50%,-50%)!important;
    z-index:4!important;
    min-width:150px!important;
    min-height:62px!important;
    padding:14px 42px!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,#dfa846,#c98f35)!important;
    color:#2b160d!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:28px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.3px!important;
    text-transform:none!important;
    box-shadow:0 10px 25px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.25)!important;
    border:0!important;
    text-align:center!important;
  }
}

@media (max-width: 430px){
  body.cp-home-page .menu{gap:8px!important;}
  body.cp-home-page .menu a{
    width:68px!important;
    min-width:68px!important;
    height:61px!important;
    min-height:61px!important;
    border-radius:22px!important;
    font-size:12.5px!important;
  }
  body.cp-home-page .cp-mobile-home-photo{
    min-height:calc(100svh - 158px)!important;
    height:calc(100svh - 158px)!important;
  }
}

@media (max-width: 370px){
  body.cp-home-page .menu a{
    width:63px!important;
    min-width:63px!important;
    height:58px!important;
    min-height:58px!important;
    font-size:11.5px!important;
  }
}


/* === FIX REALE 5.5.2 - HOME SMARTPHONE 430 / NO BORDI === */
@media (max-width: 430px){
  html, body{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    background:#fff7ec!important;
  }

  /* barra piena, bassa, senza titolo e senza home/store/backoffice */
  body.cp-home-page .topbar{
    width:100vw!important;
    max-width:100vw!important;
    margin:0!important;
    padding:8px 0 9px!important;
    min-height:0!important;
    height:auto!important;
    left:0!important;
    right:0!important;
  }
  body.cp-home-page .nav{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 4px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    box-sizing:border-box!important;
  }
  body.cp-home-page .brand,
  body.cp-home-page .site-title,
  body.cp-home-page .entry-title,
  body.cp-home-page h1{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.cp-home-page .menu{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.cp-home-page .menu a[data-cp-menu="home"],
  body.cp-home-page .menu a[data-cp-menu="store"],
  body.cp-home-page .owner-backoffice-btn{
    display:none!important;
    width:0!important;
    min-width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body.cp-home-page .menu a{
    flex:0 0 72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:5px 3px!important;
    margin:0!important;
    border-radius:18px!important;
    font-size:11px!important;
    line-height:1!important;
    gap:3px!important;
    box-sizing:border-box!important;
  }
  body.cp-home-page .menu a::before{
    font-size:19px!important;
    line-height:1!important;
    margin:0!important;
  }
  body.cp-home-page .menu a[data-cp-menu="carrello"]::before{font-size:18px!important;}
  body.cp-home-page .menu a[data-cp-menu="registrati"]::before{font-size:18px!important;}
  body.cp-home-page .cart-badge{
    width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;
    font-size:10px!important;line-height:18px!important;margin:0!important;
  }

  /* elimina qualsiasi contenitore stretto di WordPress/Astra intorno alla home */
  body.cp-home-page,
  body.cp-home-page #page,
  body.cp-home-page .site,
  body.cp-home-page .site-content,
  body.cp-home-page .ast-container,
  body.cp-home-page .content-area,
  body.cp-home-page .entry-content,
  body.cp-home-page main,
  body.cp-home-page .container,
  body.cp-home-page .page{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  /* foto larga quanto lo schermo: niente bande laterali */
  body.cp-home-page .cp-mobile-home-stage{
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    overflow:hidden!important;
    background:#fff7ec!important;
  }
  body.cp-home-page .cp-mobile-home-photo{
    position:relative!important;
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    margin:0!important;
    padding:0!important;
    left:0!important;
    right:0!important;
    min-height:calc(100svh - 76px)!important;
    height:calc(100svh - 76px)!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.cp-home-page .cp-mobile-store-btn{
    min-width:138px!important;
    min-height:52px!important;
    padding:10px 34px!important;
    font-size:25px!important;
  }
}

@media (max-width:370px){
  body.cp-home-page .menu{gap:5px!important;}
  body.cp-home-page .menu a{
    flex-basis:65px!important;width:65px!important;min-width:65px!important;max-width:65px!important;
    height:54px!important;min-height:54px!important;max-height:54px!important;
    font-size:10px!important;border-radius:16px!important;
  }
}

/* 5.5.5 - Fix testo cliente loggato nella barra home smartphone */
@media (max-width:430px){
  body.cp-home-page .menu a[data-cp-menu="user"],
  body.cp-home-page .menu a.cp-user-menu{
    font-size:10px!important;
    line-height:1.02!important;
    gap:1px!important;
    padding:4px 2px!important;
    overflow:hidden!important;
    white-space:normal!important;
    text-align:center!important;
    word-break:break-word!important;
  }
  body.cp-home-page .menu a[data-cp-menu="user"]::before,
  body.cp-home-page .menu a.cp-user-menu::before{
    content:""!important;
    display:none!important;
  }
  body.cp-home-page .menu a[data-cp-menu="user"] .cp-hello,
  body.cp-home-page .menu a.cp-user-menu .cp-hello{
    display:block!important;
    width:100%!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    margin:0!important;
    padding:0!important;
  }
  body.cp-home-page .menu a[data-cp-menu="user"] .cp-user-name,
  body.cp-home-page .menu a.cp-user-menu .cp-user-name{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:900!important;
    margin:1px 0 0!important;
    padding:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}


/* === 5.5.6 STORE MOBILE 430: barra uguale home + griglie 2 per rigo === */
@media (max-width:430px){
  body.cp-store-page{
    background:#fff7ec!important;
    overflow-x:hidden!important;
  }
  body.cp-store-page .topbar{
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:linear-gradient(180deg,#2b0903,#4b1d0f)!important;
    box-shadow:0 4px 14px rgba(0,0,0,.28)!important;
  }
  body.cp-store-page .nav{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:0!important;
  }
  /* elimina titolo Coffee Point dalla barra store smartphone */
  body.cp-store-page .brand{
    display:none!important;
  }
  body.cp-store-page .menu{
    width:100%!important;
    max-width:430px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.cp-store-page .owner-backoffice-btn{
    display:none!important;
  }
  body.cp-store-page .menu a{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:4px 3px!important;
    border:0!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#e8ad46,#ce9237)!important;
    color:#22130c!important;
    box-shadow:0 5px 12px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.25)!important;
    font-size:9px!important;
    line-height:1.05!important;
    font-weight:900!important;
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    text-align:center!important;
    text-transform:lowercase!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  body.cp-store-page .menu a.active{
    background:linear-gradient(180deg,#f0bd58,#d69b3c)!important;
  }
  body.cp-store-page .menu a::before{
    display:block!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:900!important;
  }
  body.cp-store-page .menu a[data-cp-menu="home"]::before{content:"⌂";}
  body.cp-store-page .menu a[data-cp-menu="store"]::before{content:"▣";}
  body.cp-store-page .menu a[data-cp-menu="login"]::before{content:"♟";}
  body.cp-store-page .menu a[data-cp-menu="user"]::before{content:"♟";}
  body.cp-store-page .menu a[data-cp-menu="carrello"]::before{content:"🛒";font-size:17px!important;}
  body.cp-store-page .menu a[data-cp-menu="contatti"]::before{content:"☎";}
  body.cp-store-page .menu a[data-cp-menu="registrati"]::before{content:"♙+";font-size:17px!important;}
  body.cp-store-page .menu a[data-cp-menu="logout"]::before{content:"↪";}
  body.cp-store-page .cart-badge{
    display:inline-flex!important;
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    margin-left:1px!important;
    background:#2b160d!important;
    color:#e4a63f!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:1!important;
  }

  /* contenuto store a piena larghezza mobile */
  body.cp-store-page .container{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:10px 8px!important;
  }
  body.cp-store-page .page-head{
    margin:0 0 8px!important;
    padding:0!important;
  }
  body.cp-store-page .page-head h1{
    display:none!important;
  }
  body.cp-store-page #activeList,
  body.cp-store-page .search-hint,
  body.cp-store-page .breadcrumb{
    font-size:11px!important;
  }

  /* categorie e marchi: due card per rigo */
  body.cp-store-page .store-grid{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  body.cp-store-page .store-card{
    border-radius:15px!important;
    min-width:0!important;
  }
  body.cp-store-page .store-card img{
    height:92px!important;
    padding:6px!important;
    object-fit:contain!important;
  }
  body.cp-store-page .store-card-body{
    padding:8px 6px!important;
  }
  body.cp-store-page .store-card-body h2{
    font-size:13px!important;
    line-height:1.1!important;
    margin:0 0 3px!important;
    word-break:break-word!important;
  }
  body.cp-store-page .store-card-body p{
    font-size:10px!important;
    line-height:1.15!important;
  }

  /* prodotti: due card per rigo */
  body.cp-store-page .product-grid{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  body.cp-store-page .product{
    border-radius:15px!important;
    padding:7px!important;
    min-width:0!important;
  }
  body.cp-store-page .product img{
    height:92px!important;
    border-radius:12px!important;
  }
  body.cp-store-page .product h3{
    font-size:12px!important;
    line-height:1.15!important;
    margin:6px 0!important;
    word-break:break-word!important;
  }
  body.cp-store-page .product small{
    font-size:9px!important;
    line-height:1.1!important;
  }
  body.cp-store-page .price{
    font-size:15px!important;
  }
  body.cp-store-page .badge{
    font-size:9px!important;
    padding:3px 5px!important;
  }
  body.cp-store-page .add-cart-row{
    gap:4px!important;
  }
  body.cp-store-page .qty-input{
    height:30px!important;
    padding:4px!important;
    font-size:11px!important;
  }
  body.cp-store-page .btn.small{
    padding:7px 6px!important;
    font-size:10px!important;
    line-height:1.05!important;
  }
}

@media (max-width:380px){
  body.cp-store-page .menu{gap:4px!important;}
  body.cp-store-page .menu a{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    font-size:8px!important;
    border-radius:16px!important;
  }
  body.cp-store-page .menu a::before{font-size:16px!important;}
  body.cp-store-page .menu a[data-cp-menu="carrello"]::before,
  body.cp-store-page .menu a[data-cp-menu="registrati"]::before{font-size:15px!important;}
}


/* === 5.5.8: elimina tasto Store dalla barra nella pagina Store smartphone === */
@media (max-width:430px){
  body.cp-store-page .menu a[data-cp-menu="store"]{
    display:none!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body.cp-store-page .menu{
    justify-content:center!important;
    gap:7px!important;
  }
}


/* 5.5.9 - STORE MOBILE: barra superiore oro, 3 tasti per fila, stile pillola */
@media (max-width:430px){
  body.cp-store-page .topbar{
    padding:8px 8px!important;
    background:linear-gradient(180deg,#3b160d 0%,#210903 100%)!important;
    min-height:auto!important;
  }
  body.cp-store-page .nav{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
    padding:0!important;
    display:block!important;
  }
  body.cp-store-page .brand,
  body.cp-store-page .owner-backoffice-btn,
  body.cp-store-page .menu a[data-cp-menu="store"]{
    display:none!important;
  }
  body.cp-store-page .menu{
    width:100%!important;
    max-width:410px!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0,1fr))!important;
    gap:8px!important;
    align-items:center!important;
    justify-items:stretch!important;
    justify-content:center!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.cp-store-page .menu a{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 8px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(180deg,#e4c36a 0%,#c7953f 100%)!important;
    color:#111!important;
    box-shadow:0 3px 7px rgba(0,0,0,.25)!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    text-transform:lowercase!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    position:relative!important;
  }
  body.cp-store-page .menu a:nth-child(even){
    background:linear-gradient(180deg,#d6ba67 0%,#bd8d44 100%)!important;
  }
  body.cp-store-page .menu a.active{
    background:linear-gradient(180deg,#f0cf73 0%,#c9953d 100%)!important;
    color:#111!important;
  }
  body.cp-store-page .menu a::after{
    display:none!important;
    content:none!important;
  }
  body.cp-store-page .menu a::before{
    display:inline-block!important;
    font-size:17px!important;
    line-height:1!important;
    color:#111!important;
    margin:0!important;
    min-width:17px!important;
    position:static!important;
    z-index:auto!important;
  }
  body.cp-store-page .menu a,
  body.cp-store-page .menu a span,
  body.cp-store-page .menu a .cp-hello,
  body.cp-store-page .menu a .cp-user-name{
    color:#111!important;
  }
  body.cp-store-page .cart-badge{
    display:inline-flex!important;
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    margin-left:2px!important;
    border-radius:50%!important;
    align-items:center!important;
    justify-content:center!important;
    background:#1b0e08!important;
    color:#e6c46a!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:1!important;
  }
}
@media (max-width:360px){
  body.cp-store-page .topbar{padding:6px 5px!important;}
  body.cp-store-page .menu{gap:5px!important;max-width:350px!important;}
  body.cp-store-page .menu a{height:42px!important;min-height:42px!important;max-height:42px!important;font-size:10px!important;padding:0 5px!important;border-radius:10px!important;gap:3px!important;}
  body.cp-store-page .menu a::before{font-size:15px!important;min-width:15px!important;}
  body.cp-store-page .cart-badge{width:14px!important;height:14px!important;min-width:14px!important;font-size:8px!important;}
}


/* === 5.6.0 - STORE MOBILE: tasti pillola come immagine esempio, 3 per riga === */
@media (max-width:430px){
  body.cp-store-page .topbar{
    padding:8px 8px 10px!important;
    background:linear-gradient(180deg,#3a160c 0%,#1f0803 100%)!important;
    min-height:auto!important;
    height:auto!important;
  }
  body.cp-store-page .nav{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
    padding:0!important;
    display:block!important;
  }
  body.cp-store-page .brand,
  body.cp-store-page .owner-backoffice-btn,
  body.cp-store-page .menu a[data-cp-menu="store"]{
    display:none!important;
  }
  body.cp-store-page .menu{
    width:100%!important;
    max-width:414px!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(3, 1fr)!important;
    gap:8px 7px!important;
    align-items:center!important;
    justify-items:stretch!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.cp-store-page .menu a{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0 8px!important;
    border:0!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,#e8cf82 0%,#d8b961 47%,#c79a49 100%)!important;
    color:#111!important;
    box-shadow:none!important;
    text-shadow:none!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:0!important;
    text-transform:lowercase!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    position:relative!important;
  }
  body.cp-store-page .menu a:nth-child(even),
  body.cp-store-page .menu a.active{
    background:linear-gradient(180deg,#dcbf72 0%,#c69a53 100%)!important;
    color:#111!important;
  }
  body.cp-store-page .menu a::after{
    display:none!important;
    content:none!important;
  }
  body.cp-store-page .menu a::before{
    display:inline-block!important;
    font-size:15px!important;
    line-height:1!important;
    color:#111!important;
    opacity:.75!important;
    margin:0!important;
    min-width:16px!important;
    max-width:16px!important;
    text-align:center!important;
    position:static!important;
  }
  body.cp-store-page .menu a,
  body.cp-store-page .menu a span,
  body.cp-store-page .menu a .cp-hello,
  body.cp-store-page .menu a .cp-user-name{
    color:#111!important;
  }
  body.cp-store-page .cart-badge{
    display:inline-flex!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    margin-left:2px!important;
    border-radius:50%!important;
    align-items:center!important;
    justify-content:center!important;
    background:#241007!important;
    color:#e8cf82!important;
    font-size:8px!important;
    font-weight:900!important;
    line-height:1!important;
  }
}
@media (max-width:360px){
  body.cp-store-page .topbar{padding:7px 6px 9px!important;}
  body.cp-store-page .menu{gap:6px 5px!important;max-width:350px!important;}
  body.cp-store-page .menu a{height:38px!important;min-height:38px!important;max-height:38px!important;font-size:10px!important;padding:0 5px!important;gap:4px!important;}
  body.cp-store-page .menu a::before{font-size:13px!important;min-width:14px!important;max-width:14px!important;}
  body.cp-store-page .cart-badge{width:13px!important;height:13px!important;min-width:13px!important;font-size:7px!important;}
}


/* === 5.6.1 - MOBILE: stessa barra Store su tutte le pagine pubbliche, esclusa Home === */
@media (max-width:430px){
  body.cp-public-inner-page:not(.cp-home-page) .topbar{
    padding:8px 8px 10px!important;
    background:linear-gradient(180deg,#3a160c 0%,#1f0803 100%)!important;
    min-height:auto!important;
    height:auto!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .nav{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
    padding:0!important;
    display:block!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .brand,
  body.cp-public-inner-page:not(.cp-home-page) .owner-backoffice-btn,
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="store"]{
    display:none!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .menu{
    width:100%!important;
    max-width:414px!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(3, 1fr)!important;
    gap:8px 7px!important;
    align-items:center!important;
    justify-items:stretch!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .menu a{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0 8px!important;
    border:0!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,#e8cf82 0%,#d8b961 47%,#c79a49 100%)!important;
    color:#111!important;
    box-shadow:none!important;
    text-shadow:none!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:0!important;
    text-transform:lowercase!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    position:relative!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .menu a:nth-child(even),
  body.cp-public-inner-page:not(.cp-home-page) .menu a.active{
    background:linear-gradient(180deg,#dcbf72 0%,#c69a53 100%)!important;
    color:#111!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .menu a::after{
    display:none!important;
    content:none!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .menu a::before{
    display:inline-block!important;
    font-size:15px!important;
    line-height:1!important;
    color:#111!important;
    opacity:.75!important;
    margin:0!important;
    min-width:16px!important;
    max-width:16px!important;
    text-align:center!important;
    position:static!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .menu a,
  body.cp-public-inner-page:not(.cp-home-page) .menu a span,
  body.cp-public-inner-page:not(.cp-home-page) .menu a .cp-hello,
  body.cp-public-inner-page:not(.cp-home-page) .menu a .cp-user-name{
    color:#111!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .cart-badge{
    display:inline-flex!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    margin-left:2px!important;
    border-radius:50%!important;
    align-items:center!important;
    justify-content:center!important;
    background:#241007!important;
    color:#e8cf82!important;
    font-size:8px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="home"]::before{content:"⌂";}
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="contatti"]::before{content:"☎";}
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="login"]::before{content:"♟";}
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="user"]::before{content:"♟";}
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="registrati"]::before{content:"♙+";}
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="carrello"]::before{content:"🛒";}
  body.cp-public-inner-page:not(.cp-home-page) .menu a[data-cp-menu="logout"]::before{content:"↪";}
}
@media (max-width:360px){
  body.cp-public-inner-page:not(.cp-home-page) .topbar{padding:7px 6px 9px!important;}
  body.cp-public-inner-page:not(.cp-home-page) .menu{gap:6px 5px!important;max-width:350px!important;}
  body.cp-public-inner-page:not(.cp-home-page) .menu a{height:38px!important;min-height:38px!important;max-height:38px!important;font-size:10px!important;padding:0 5px!important;gap:4px!important;}
  body.cp-public-inner-page:not(.cp-home-page) .menu a::before{font-size:13px!important;min-width:14px!important;max-width:14px!important;}
  body.cp-public-inner-page:not(.cp-home-page) .cart-badge{width:13px!important;height:13px!important;min-width:13px!important;font-size:7px!important;}
}


/* === 5.6.2 - MOBILE: testi bottoni in stile Coffee Point, iniziale maiuscola, più grandi === */
@media (max-width:430px){
  body.cp-home-page .menu a,
  body.cp-public-inner-page:not(.cp-home-page) .menu a,
  body.cp-store-page .menu a{
    font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,Helvetica,sans-serif!important;
    text-transform:none!important;
    font-weight:900!important;
    letter-spacing:-.25px!important;
    color:#111!important;
    text-shadow:none!important;
  }

  body.cp-home-page .menu a{
    font-size:12px!important;
    line-height:1.05!important;
  }

  body.cp-public-inner-page:not(.cp-home-page) .menu a,
  body.cp-store-page .menu a{
    font-size:14px!important;
    line-height:1.05!important;
  }

  body.cp-home-page .menu a span,
  body.cp-public-inner-page:not(.cp-home-page) .menu a span,
  body.cp-store-page .menu a span,
  body.cp-home-page .menu a .cp-hello,
  body.cp-public-inner-page:not(.cp-home-page) .menu a .cp-hello,
  body.cp-store-page .menu a .cp-hello,
  body.cp-home-page .menu a .cp-user-name,
  body.cp-public-inner-page:not(.cp-home-page) .menu a .cp-user-name,
  body.cp-store-page .menu a .cp-user-name{
    font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,Helvetica,sans-serif!important;
    text-transform:none!important;
    font-weight:900!important;
    color:#111!important;
    font-size:inherit!important;
    line-height:1.05!important;
  }

  body.cp-public-inner-page:not(.cp-home-page) .cart-badge,
  body.cp-store-page .cart-badge,
  body.cp-home-page .cart-badge{
    font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,Helvetica,sans-serif!important;
    font-weight:900!important;
  }
}

@media (max-width:360px){
  body.cp-home-page .menu a{font-size:11px!important;}
  body.cp-public-inner-page:not(.cp-home-page) .menu a,
  body.cp-store-page .menu a{font-size:12px!important;}
}
