  :root{
    --blue: #0092D7;
    --blue-deep: #0F3D5C;
    --gold: #D9A128;
    --gold-soft: #E9C46A;
    --gold-pale: #FBF0D9;
    --cream: #FBF7EE;
    --ink: #1C2B36;
    --white: #FFFFFF;
    --wa-green: #25D366;
    --wa-green-dark: #1DA851;
    --gold-muted: #C1A15F;
    --verace-green: #2A9C57;
    --verace-bg: #ECF6EE;
    --baby-bg: #EDF4FC;
    --sfizioso-orange: #BB430E;
    --sfizioso-bg: #FCF3EE;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;background:var(--white) !important;}
  html body{
    margin:0;
    background:
      radial-gradient(ellipse at top, rgba(217,161,40,0.10), transparent 55%),
      radial-gradient(ellipse at bottom, rgba(217,161,40,0.06), transparent 55%),
      var(--white) !important;
    color:var(--ink);
    font-family:'Poppins',sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  /* Azzera spazi vuoti residui lasciati dal tema (page header, breadcrumb, featured image) */
  .site-header,.ast-page-header,.page-header,.entry-header,.ast-archive-title-bar,
  .ast-featured-img,.elementor-page-title,#page-title,.ast-single-header,
  .ast-breadcrumbs-container,nav.breadcrumb-trail,
  #masthead,.navigation-top,.custom-header,.custom-header-media,.site-branding,
  .entry-title,.site-title,.site-description,#secondary,.widget-area,
  #colophon,.site-footer,.site-info,.menu-toggle,.image-navigation,
  .post-navigation,.panel-image,a.skip-link,.entry-meta,.entry-footer{
    display:none !important;
    height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }
  html body .site-content,html body #content,html body .ast-container,
  html body .entry-content,html body .site-main,
  html body #primary,html body #main,html body .site-content-contain,
  html body #page,html body .wrap{
    padding-top:0 !important;
    margin-top:0 !important;
    max-width:none !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    float:none !important;
  }

  h1,h2,h3{
    font-family:'Lora',serif;
    font-style:italic;
    font-weight:600;
    margin:0;
    color:var(--blue-deep);
  }

  a{color:inherit;}

  .wrap{
    max-width:1040px;
    margin:0 auto;
    padding:0 24px;
  }

  /* ---------- NAV ---------- */
  .nav{
    position:sticky;
    top:0;
    z-index:200;
    background:rgba(251,247,238,0.95);
    backdrop-filter:blur(6px);
    border-bottom:1px solid #E7DFC9;
  }
  .nav-inner{
    max-width:1040px;
    margin:0 auto;
    padding:12px 24px;
    display:flex;
    gap:22px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  @media(min-width:821px){
    .nav-inner{justify-content:center;}
  }
  .nav-inner::-webkit-scrollbar{display:none;}
  .nav-inner a{
    font-size:0.85rem;
    font-weight:600;
    color:var(--blue-deep);
    text-decoration:none;
    white-space:nowrap;
    padding:6px 2px;
    border-bottom:2px solid transparent;
  }
  .nav-inner a:hover{border-bottom-color:var(--gold);}

  /* ---------- HERO ---------- */
  html body .hero{
    padding:0 24px 44px;
    text-align:center;
    background:
      radial-gradient(ellipse at top, rgba(217,161,40,0.10), transparent 60%),
      var(--white) !important;
    border-bottom:3px solid var(--gold);
  }
  html body .hero img.logo{
    width:100%;
    max-width:900px;
    height:auto;
    margin:0 auto 34px;
    display:block;
  }
  .hero p.tag{
    font-size:1.05rem;
    color:var(--blue-deep);
    max-width:480px;
    margin:0 auto 26px;
    font-weight:500;
  }
  .hero .meta{
    font-size:0.92rem;
    color:#4B5B66;
    margin-bottom:28px;
  }
  .hero .meta strong{color:var(--blue-deep);}
  .hero .meta .sep{
    display:inline-block;
    margin:0 10px;
    color:var(--gold);
  }
  .hero .meta .nowrap{white-space:nowrap;}
  .cta-note{
    margin:10px 0 0;
    font-size:0.82rem;
    color:#5B6B76;
    font-style:italic;
  }

  .btn-cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:var(--wa-green);
    color:var(--white);
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:0.78rem;
    padding:8px 16px;
    border-radius:12px;
    text-decoration:none;
    box-shadow:0 4px 12px rgba(37,211,102,0.35);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-cta-text{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1.2;
  }
  .btn-cta-main{font-size:0.78rem;font-weight:600;}
  .btn-cta-sub{font-size:0.62rem;font-weight:500;opacity:0.9;font-style:italic;}
  .btn-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(37,211,102,0.45);
  }
  .btn-cta svg{width:14px !important;height:14px !important;max-width:14px !important;flex-shrink:0;}

  /* ---------- SECONDARY DELIVERY BUTTONS (SIMULAZIONE) ---------- */
  .delivery-row{
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:16px;
  }
  .btn-delivery{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:0.78rem;
    padding:8px 16px;
    border-radius:12px;
    text-decoration:none;
    color:var(--white);
    box-shadow:0 4px 12px rgba(0,0,0,0.15);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-delivery:hover{transform:translateY(-2px);}
  .btn-delivery svg{width:14px !important;height:14px !important;max-width:14px !important;flex-shrink:0;}
  .btn-justeat{background:#FF8000;}
  .btn-deliveroo{background:#00CCBC;}

  /* ---------- SECTION HEADERS ---------- */
  .section{
    padding:60px 0;
    scroll-margin-top:100px;
  }
  .section-title{
    text-align:center;
    font-size:2rem;
    margin-bottom:8px;
  }
  .section-sub{
    text-align:center;
    color:#5B6B76;
    font-size:0.95rem;
    margin-bottom:40px;
  }
  .subhead{
    font-size:1.4rem;
    color:var(--gold-muted);
    text-align:left;
    margin:34px 0 18px;
  }
  .subhead:first-of-type{margin-top:6px;}

  html body .menu-sheet{
    background:var(--white) !important;
    border:3px double var(--blue) !important;
    padding:44px clamp(20px,5vw,58px);
  }
  .title-blue{color:var(--blue);}
  .title-gold{color:var(--gold-muted);}

  .banner-note{
    background:var(--gold-pale);
    border:1px solid var(--gold-soft);
    color:#7A5C10;
    font-size:0.85rem;
    text-align:center;
    padding:10px 16px;
    border-radius:10px;
    margin-bottom:22px;
  }

  /* ---------- MENU FISSO ---------- */
  .menu-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  @media(max-width:820px){
    .menu-grid{grid-template-columns:1fr;}
  }
  .menu-card{
    background:var(--white);
    border-radius:4px;
    padding:30px 28px 28px;
    position:relative;
    border:2px solid var(--blue);
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
  }
  .menu-card h3{
    font-family:'Poppins',sans-serif;
    font-style:normal;
    font-size:1.4rem;
    font-weight:700;
    padding-bottom:8px;
    border-bottom:2px solid var(--blue);
    color:var(--blue);
    flex-grow:1;
  }
  .menu-card .badge-wrap{
    position:relative;
    width:78px;
    height:78px;
    flex-shrink:0;
  }
  .menu-card .badge-wrap svg{display:block;width:100%;height:100%;}
  .menu-card .badge-price{
    position:absolute;
    top:0;left:0;right:0;bottom:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Lora',serif;
    font-style:normal;
    font-weight:700;
    color:var(--gold-muted);
    text-align:center;
    line-height:1.1;
  }
  .menu-card ul{
    list-style:none;
    padding:0;
    margin:0 0 22px;
    flex-grow:1;
  }
  .menu-card li{
    padding:6px 0 6px 22px;
    position:relative;
    font-size:0.92rem;
    color:#33434D;
  }
  .menu-card li::before{
    content:"\25CF";
    position:absolute;
    left:0;
    top:5px;
    font-size:0.6rem;
    color:var(--blue);
  }

  .menu-card.baby{background:var(--baby-bg);}
  .menu-card.verace{background:var(--verace-bg);border-color:var(--verace-green);}
  .menu-card.verace h3{color:var(--verace-green);border-bottom-color:var(--verace-green);}
  .menu-card.verace li::before{content:"\25C6";color:var(--verace-green);font-size:0.55rem;top:6px;}
  .menu-card.verace .badge-price{color:var(--gold-muted);}
  .menu-card.sfizioso{background:var(--sfizioso-bg);border-color:var(--sfizioso-orange);}
  .menu-card.sfizioso h3{color:var(--sfizioso-orange);border-bottom-color:var(--sfizioso-orange);}
  .menu-card.sfizioso li::before{content:"\2731";color:var(--sfizioso-orange);font-size:0.7rem;top:3px;}
  .menu-card.sfizioso .badge-price{color:var(--gold-muted);}

  .btn-order-small{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:var(--wa-green);
    color:var(--white);
    font-weight:600;
    font-size:0.9rem;
    padding:12px 20px;
    border-radius:30px;
    text-decoration:none;
    transition:background .15s ease;
  }
  .btn-order-small:hover{background:var(--wa-green-dark);}
  .btn-order-small svg{width:16px !important;height:16px !important;max-width:16px !important;flex-shrink:0;}

  /* ---------- FULL MENU LISTS (Pizze Fritte / Fritti / Arancini) ---------- */
  .dish-list{
    display:flex;
    flex-direction:column;
  }
  .dish{
    padding:16px 0;
    border-bottom:1px solid #E9E3D2;
  }
  .dish:last-child{border-bottom:none;}
  .dish-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:14px;
    font-weight:700;
    color:var(--blue);
    font-size:1rem;
  }
  .dish-head .allergen{
    font-weight:400;
    font-size:0.88rem;
    color:var(--gold-muted);
    margin-left:4px;
  }
  .dish-head .price{
    white-space:nowrap;
    color:var(--blue);
    font-weight:700;
  }
  .dish-desc{
    font-size:0.87rem;
    color:#5B6B76;
    margin-top:4px;
    max-width:640px;
  }
  .dish-prices{
    display:flex;
    flex-wrap:wrap;
    gap:6px 22px;
    margin-top:6px;
    font-size:0.87rem;
    color:var(--blue);
    font-weight:600;
  }
  .dish-prices span span{color:#5B6B76;font-weight:400;margin-right:4px;}

  .order-badge{
    display:inline-block;
    font-weight:700;
    font-size:0.75rem;
    text-transform:uppercase;
    letter-spacing:0.03em;
    color:var(--sfizioso-orange);
    background:var(--sfizioso-bg);
    padding:2px 9px;
    border-radius:6px;
    margin-bottom:5px;
  }
  .variant-note{
    display:block;
    font-weight:700;
    color:var(--blue-deep);
    margin-top:3px;
  }

  .menu-order-cta{
    text-align:center;
    margin-top:30px;
  }

  .allergen-note{
    text-align:center;
    font-size:0.78rem;
    color:#8B96A0;
    margin-top:34px;
    max-width:680px;
    margin-left:auto;
    margin-right:auto;
  }

  /* alternating band backgrounds */
  .band-alt{background:var(--white);}

  /* ---------- GALLERY (dark band) ---------- */
  html body .gallery-band{
    background:var(--blue) !important;
    padding:60px 0;
  }
  html body .gallery-band .section-title,
  html body .gallery-band .section-sub{color:var(--white) !important;}
  html body .gallery-band .section-sub{color:#B9D3E3 !important;}

  html body .gallery-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:14px;
    padding:6px 4px 18px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    width:100%;
  }
  html body .gallery-grid::-webkit-scrollbar{height:6px;}
  html body .gallery-grid::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px;}
  html body .gallery-item{
    flex:0 0 150px !important;
    width:150px !important;
    max-width:150px !important;
    height:150px !important;
    min-width:150px !important;
    aspect-ratio:1/1;
    border-radius:10px;
    border:2px solid var(--gold);
    overflow:hidden;
    position:relative;
    cursor:pointer;
    scroll-snap-align:start;
  }
  @media(min-width:600px){
    html body .gallery-item{flex:0 0 190px !important;width:190px !important;max-width:190px !important;min-width:190px !important;height:190px !important;}
  }
  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .3s ease;
  }
  .gallery-item:hover img{transform:scale(1.06);}
  .gallery-item span.label{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    background:linear-gradient(transparent, rgba(0,0,0,0.75));
    color:var(--white);
    font-size:0.95rem;
    font-weight:700;
    padding:22px 8px 8px;
    text-align:center;
    text-shadow:0 1px 3px rgba(0,0,0,0.8);
  }
  .gallery-item .ribbon{
    position:absolute;
    top:12px;
    left:-34px;
    transform:rotate(-45deg);
    background:var(--gold);
    color:var(--blue-deep);
    font-size:0.62rem;
    font-weight:800;
    letter-spacing:0.3px;
    padding:4px 34px;
    box-shadow:0 2px 5px rgba(0,0,0,0.35);
    z-index:2;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .lightbox-overlay{
    position:fixed;
    inset:0;
    background:rgba(15,61,92,0.92);
    z-index:99999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
  }
  .lightbox-overlay.open{display:flex;}
  .lightbox-overlay img{
    max-width:100%;
    max-height:85vh;
    border-radius:10px;
    box-shadow:0 10px 40px rgba(0,0,0,0.5);
  }
  .lightbox-close{
    position:absolute;
    top:18px;
    right:22px;
    color:var(--white);
    font-size:2rem;
    line-height:1;
    cursor:pointer;
    background:none;
    border:none;
  }

  /* ---------- DOVE SIAMO / ORARI ---------- */
  html body .info-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:50px !important;
  }
  @media(max-width:720px){
    html body .info-grid{grid-template-columns:1fr !important;}
    html body .info-card{margin-bottom:28px !important;}
    html body .info-card:last-child{margin-bottom:0 !important;}
  }
  html body .info-card{
    background:var(--white) !important;
    border-radius:16px !important;
    padding:30px;
    box-shadow:0 8px 24px rgba(15,61,92,0.07);
    margin-bottom:0 !important;
  }
  .info-card h3{
    font-size:1.25rem;
    margin-bottom:16px;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .info-card h3 svg{width:22px !important;height:22px !important;max-width:22px !important;color:var(--gold);flex-shrink:0;}
  .info-row{
    display:flex;
    justify-content:space-between;
    padding:9px 0;
    border-bottom:1px solid #EFE9DB;
    font-size:0.94rem;
  }
  .info-row:last-child{border-bottom:none;}
  .info-row span:first-child{color:#5B6B76;}
  .info-row span:last-child{font-weight:600;color:var(--blue-deep);}

  .contact-buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:18px;
  }
  html body .btn-wa{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    background:var(--wa-green);
    border:1.5px solid var(--wa-green-dark);
    color:var(--white);
    text-decoration:none;
    padding:22px 18px;
    border-radius:12px;
    font-weight:700;
    font-size:1.5rem;
    width:100%;
    transition:background .15s ease;
  }
  html body .btn-wa:hover{background:var(--wa-green-dark);}
  html body .btn-wa svg{width:28px !important;height:28px !important;max-width:28px !important;color:var(--white);flex-shrink:0;}

  /* ---------- FOOTER ---------- */
  footer{
    text-align:center;
    padding:30px 24px;
    background:var(--blue);
    color:#EAF6FF;
    font-size:0.82rem;
  }
  footer strong{color:var(--gold-soft);}

  /* ---------- FLOATING WHATSAPP ---------- */
  .floating-wa{
    position:fixed;
    bottom:22px;
    right:22px;
    width:60px;
    height:60px;
    border-radius:50%;
    background:var(--wa-green);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 20px rgba(15,61,92,0.35);
    z-index:9999;
    text-decoration:none;
    transition:transform .15s ease;
    border:none;
    cursor:pointer;
    pointer-events:auto;
  }
  .floating-wa:hover{transform:scale(1.08);}
  .floating-wa svg{width:30px !important;height:30px !important;max-width:30px !important;color:var(--white);}

  html body .fab-wrap{
    position:fixed !important;
    bottom:22px !important;
    right:22px !important;
    left:auto !important;
    top:auto !important;
    z-index:99999 !important;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:12px;
  }
  .fab-options{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:10px;
    margin-bottom:4px;
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .fab-wrap.open .fab-options{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  .fab-option{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 18px;
    border-radius:24px;
    color:var(--white);
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:0.85rem;
    text-decoration:none;
    box-shadow:0 6px 16px rgba(0,0,0,0.2);
    white-space:nowrap;
  }
  .fab-option svg{width:16px !important;height:16px !important;max-width:16px !important;flex-shrink:0;}
  .fab-option-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25;}
  .fab-option-sub{font-size:0.68rem;font-weight:500;opacity:0.9;font-style:italic;}
  .fab-option.wa{background:var(--wa-green);}
  .fab-option.dr{background:#00CCBC;}
  .fab-option.gl{background:#FFC244;color:#1A1A1A;}
  .fab-main{
    height:60px;
    padding:0 24px;
    border-radius:30px;
    background:var(--blue-deep);
    border:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 20px rgba(15,61,92,0.35);
    transition:transform .2s ease;
    color:var(--white);
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:1rem;
  }
  .fab-wrap.open .fab-main{transform:scale(0.95);}

  @media(prefers-reduced-motion: reduce){
    *{transition:none !important;}
    html{scroll-behavior:auto;}
  }

  .wa-icon{display:inline-block;}
