:root{
    --blue-deep:#1E4A96;
    --blue-mid:#2B5CB0;
    --cyan:#8FE0EF;
    --cream:#FFF9F0;
    --tan:#EDA85E;
    --navy-text:#122A54;
    --white:#ffffff;
    --radius-lg: 32px;
    --radius-md: 20px;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }

  html{ scroll-behavior:smooth; scroll-padding-top:80px; }

  body{
    font-family:'Nunito Sans', sans-serif;
    color:var(--navy-text);
    background:var(--cream);
    overflow-x:hidden;
  }

  h1,h2,h3, .display{
    font-family:'Fredoka', sans-serif;
  }

  a{ text-decoration:none; color:inherit; }
  ul{ list-style:none; }
  img{ max-width:100%; display:block; }

  .placeholder{
    color: var(--blue-mid);
    border-bottom: 2px dashed var(--blue-mid);
    padding: 0 2px;
  }

  /* ---------- NAV ---------- */
  nav{
    position:sticky; top:0; z-index:50;
    background:var(--blue-deep);
    padding: 12px 6vw;
    display:flex; align-items:center; justify-content:space-between;
  }
  nav .brand{ display:flex; align-items:center; }
  nav .brand img{ height:34px; width:auto; }
  nav ul{ display:flex; gap:16px; }
  nav a{
    color:var(--white); font-weight:700; font-size:0.82rem;
    letter-spacing:0.2px;
  }
  nav a:hover{ color:var(--cyan); }
  .nav-toggle{
    display:none;
    background:none; border:none; cursor:pointer;
    flex-direction:column; gap:5px; padding:6px;
  }
  .nav-toggle span{
    width:26px; height:3px; background:var(--white); border-radius:2px;
  }
  .nav-menu{ display:flex; }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    background:var(--blue-deep);
    color:var(--white);
    padding: 70px 6vw 120px;
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items:center;
    gap:40px;
    overflow:hidden;
  }
  .hero::after{
    content:"";
    position:absolute;
    bottom:-2px; left:0; right:0;
    height:70px;
    background:var(--cream);
    clip-path: path("M0,40 C 180,90 360,0 540,40 C 720,80 900,0 1080,40 C 1260,80 1350,20 1440,40 L1440,100 L0,100 Z");
  }
  .hero-copy .eyebrow{
    display:inline-block;
    background:var(--cyan);
    color:var(--blue-deep);
    font-weight:800;
    font-size:0.78rem;
    letter-spacing:1.2px;
    text-transform:uppercase;
    padding:6px 14px;
    border-radius:999px;
    margin-bottom:18px;
  }
  .hero-copy h1{
    font-size:clamp(2.3rem, 4.5vw, 3.6rem);
    line-height:1.05;
    margin-bottom:18px;
  }
  .hero-copy p{
    font-size:1.1rem;
    max-width:480px;
    opacity:0.92;
    margin-bottom:30px;
  }
  .cta-row{ display:flex; gap:16px; flex-wrap:wrap; }
  .btn{
    display:inline-block;
    padding:14px 26px;
    border-radius:999px;
    font-weight:800;
    font-family:'Fredoka', sans-serif;
    font-size:1rem;
    transition:transform .15s ease;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-primary{ background:var(--tan); color:var(--navy-text); }
  .btn-ghost{ border:2px solid var(--white); color:var(--white); }

  .hero-art{
    position:relative;
    display:flex; justify-content:center;
  }
  .hero-art .plate{
    width:min(360px, 90%);
    aspect-ratio:1/1;
    background:var(--white);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    box-shadow: 0 30px 60px rgba(0,0,0,0.25);
  }
  .hero-art img{ width:78%; }

  /* ---------- SECTION WRAP ---------- */
  section{ padding: 90px 6vw; }
  .section-head{ text-align:center; max-width:640px; margin:0 auto 56px; }
  .section-head .eyebrow{
    font-family:'Fredoka', sans-serif;
    color:var(--tan);
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    font-size:0.85rem;
    margin-bottom:10px;
    display:block;
  }
  .section-head h2{
    font-size:clamp(1.8rem, 3vw, 2.4rem);
    color:var(--blue-deep);
    margin-bottom:14px;
  }
  .section-head p{ color:#4A5A78; font-size:1.05rem; }

  /* ---------- CHATBOT ---------- */
  .chat-launcher{
    position:fixed;
    bottom:24px; right:24px;
    width:60px; height:60px;
    border-radius:50%;
    background:var(--blue-deep);
    border:3px solid var(--white);
    box-shadow:0 12px 28px rgba(0,0,0,0.25);
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem;
    z-index:200;
    transition:transform .15s ease;
  }
  .chat-launcher:hover{ transform:scale(1.06); }

  .whatsapp-launcher{
    position:fixed;
    bottom:24px; left:24px;
    width:60px; height:60px;
    border-radius:50%;
    background:#25D366;
    border:3px solid var(--white);
    box-shadow:0 12px 28px rgba(0,0,0,0.25);
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    z-index:200;
    transition:transform .15s ease;
  }
  .whatsapp-launcher:hover{ transform:scale(1.06); }
  .whatsapp-launcher svg{ width:30px; height:30px; }

  .chat-window{
    position:fixed;
    bottom:96px; right:24px;
    width:340px;
    max-width:88vw;
    height:460px;
    max-height:70vh;
    background:var(--white);
    border-radius:var(--radius-md);
    box-shadow:0 20px 50px rgba(0,0,0,0.3);
    display:none;
    flex-direction:column;
    overflow:hidden;
    z-index:200;
  }
  .chat-window.open{ display:flex; }

  .chat-head{
    background:var(--blue-deep);
    color:var(--white);
    padding:16px 18px;
    display:flex; align-items:center; gap:10px;
  }
  .chat-head img{ height:26px; width:auto; filter:brightness(0) invert(1); opacity:0.9; }
  .chat-head .chat-title{
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:0.95rem;
  }
  .chat-head .chat-sub{
    font-size:0.72rem;
    opacity:0.75;
  }
  .chat-close{
    margin-left:auto;
    background:none; border:none; color:var(--white);
    font-size:1.3rem; cursor:pointer; line-height:1;
    padding:4px;
  }

  .chat-body{
    flex:1 1 auto;
    min-height:50px;
    overflow-y:auto;
    padding:16px;
    display:flex; flex-direction:column; gap:10px;
    background:var(--cream);
  }
  .chat-msg{
    max-width:85%;
    padding:10px 14px;
    border-radius:14px;
    font-size:0.88rem;
    line-height:1.4;
  }
  .chat-msg.bot{
    background:var(--white);
    color:var(--navy-text);
    border-bottom-left-radius:4px;
    align-self:flex-start;
    box-shadow:0 2px 6px rgba(0,0,0,0.06);
  }
  .chat-msg.user{
    background:var(--blue-deep);
    color:var(--white);
    border-bottom-right-radius:4px;
    align-self:flex-end;
  }

  .chat-options{
    flex-shrink:0;
    max-height:230px;
    overflow-y:auto;
    padding:12px 16px 16px;
    display:flex; flex-direction:column; gap:8px;
    background:var(--cream);
    border-top:1px solid rgba(30,74,150,0.08);
  }
  .chat-option-btn{
    text-align:left;
    background:var(--white);
    border:1.5px solid rgba(30,74,150,0.15);
    color:var(--blue-deep);
    font-family:'Nunito Sans', sans-serif;
    font-weight:700;
    font-size:0.85rem;
    padding:10px 14px;
    border-radius:10px;
    cursor:pointer;
    transition:background .15s ease;
  }
  .chat-option-btn:hover{ background:#E8EEFB; }

  @media (max-width:480px){
    .chat-window{ right:12px; left:12px; width:auto; bottom:88px; }
    .chat-launcher{ right:16px; bottom:16px; }
    .whatsapp-launcher{ left:16px; bottom:16px; }
  }

  /* ---------- NOSOTROS ---------- */
  .about{ background:var(--white); }
  .about-grid{
    display:grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap:48px;
    align-items:center;
    max-width:1000px;
    margin:0 auto;
  }
  .about-art{
    display:flex; justify-content:center;
  }
  .about-art .plate{
    width:min(280px, 80%);
    aspect-ratio:1/1;
    background:var(--cream);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 20px 40px rgba(30,74,150,0.1);
  }
  .about-art img{ width:75%; }
  .about-copy .eyebrow{
    font-family:'Fredoka', sans-serif;
    color:var(--tan);
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    font-size:0.85rem;
    margin-bottom:10px;
    display:block;
  }
  .about-copy h2{
    font-size:clamp(1.7rem, 3vw, 2.2rem);
    color:var(--blue-deep);
    margin-bottom:16px;
  }
  .about-copy p{
    color:#4A5A78;
    font-size:1rem;
    line-height:1.6;
    margin-bottom:14px;
  }
  .about-tags{
    display:flex; flex-wrap:wrap; gap:10px;
    margin-top:20px;
  }
  .about-tag{
    background:var(--cream);
    color:var(--blue-deep);
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:0.82rem;
    padding:7px 16px;
    border-radius:999px;
  }
  @media (max-width:820px){
    .about-grid{ grid-template-columns:1fr; text-align:center; }
    .about-tags{ justify-content:center; }
  }

  /* ---------- FAQ ---------- */
  .faq{ background:var(--cream); }
  .faq-list{ max-width:760px; margin:0 auto; }
  .faq-item{
    background:var(--white);
    border-radius:16px;
    margin-bottom:14px;
    border:2px solid rgba(30,74,150,0.08);
    overflow:hidden;
  }
  .faq-item summary{
    list-style:none;
    cursor:pointer;
    padding:18px 22px;
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:1rem;
    color:var(--blue-deep);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{
    content:"+";
    font-size:1.4rem;
    font-weight:700;
    color:var(--tan);
    flex-shrink:0;
    transition:transform .2s ease;
  }
  .faq-item[open] summary::after{ transform:rotate(45deg); }
  .faq-item p{
    padding:0 22px 20px;
    font-size:0.92rem;
    color:#5A6A88;
    line-height:1.5;
  }

  /* ---------- PAQUETES ---------- */
  .packages{ background:var(--white); }
  .packages-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap:24px;
  }
  .package-card{
    background:var(--cream);
    border-radius:var(--radius-lg);
    padding:30px;
    border:2px solid rgba(30,74,150,0.08);
    display:flex; flex-direction:column;
  }
  .package-card .icon-circle{
    width:52px; height:52px;
    border-radius:50%;
    background:var(--white);
    display:flex; align-items:center; justify-content:center;
    font-size:1.5rem;
    margin-bottom:16px;
  }
  .package-card h3{
    font-size:1.15rem;
    color:var(--blue-deep);
    margin-bottom:10px;
  }
  .package-card ul{
    margin:0 0 20px;
    display:flex; flex-direction:column; gap:6px;
  }
  .package-card li{
    font-size:0.9rem;
    color:#5A6A88;
    padding-left:18px;
    position:relative;
  }
  .package-card li::before{
    content:"✓";
    position:absolute; left:0; top:0;
    color:var(--tan);
    font-weight:800;
  }
  .package-card .pkg-cta{
    margin-top:auto;
    text-align:center;
    background:var(--blue-deep);
    color:var(--white);
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    padding:11px;
    border-radius:999px;
    font-size:0.9rem;
    transition:background .15s ease;
  }
  .package-card .pkg-cta:hover{ background:#163c7a; }
  .packages-note{
    text-align:center; margin-top:32px; font-size:0.92rem; color:#5A6A88;
  }

  /* ---------- VOTACIÓN ---------- */
  .vote{ background:var(--white); }
  .vote-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap:18px;
    max-width:820px;
    margin:0 auto 32px;
  }
  .vote-card{
    width:100%;
    font:inherit;
    color:inherit;
    background:var(--cream);
    border:2.5px solid transparent;
    border-radius:var(--radius-md);
    padding:24px 20px;
    text-align:center;
    cursor:pointer;
    transition:border-color .15s ease, transform .15s ease;
  }
  .vote-card:hover{ transform:translateY(-2px); }
  .vote-card:focus-visible{ outline:3px solid var(--blue-deep); outline-offset:3px; }
  .vote-card:disabled{ cursor:not-allowed; opacity:0.5; transform:none; }
  .vote-card.selected{
    border-color:var(--tan);
    background:#FFF3E4;
  }
  .vote-card .vote-emoji{ font-size:1.8rem; margin-bottom:10px; }
  .vote-card h4{
    font-family:'Fredoka', sans-serif;
    font-size:1rem;
    color:var(--blue-deep);
    margin-bottom:4px;
  }
  .vote-card p{ font-size:0.82rem; color:#5A6A88; }
  .vote-actions{ text-align:center; }
  .vote-submit{
    display:inline-block;
    background:var(--blue-deep);
    color:var(--white);
    font-family:'Fredoka', sans-serif;
    font-weight:700;
    padding:13px 32px;
    border:none;
    border-radius:999px;
    font-size:0.95rem;
    cursor:pointer;
    transition:background .15s ease, opacity .15s ease;
  }
  .vote-submit:hover{ background:#163c7a; }
  .vote-submit:disabled{ opacity:0.5; cursor:not-allowed; }
  .vote-hint{
    text-align:center;
    font-size:0.85rem;
    color:#5A6A88;
    margin-top:12px;
  }
  .vote-winner-banner{
    max-width:520px;
    margin:0 auto 32px;
    background:#FFF3E4;
    border:2px solid var(--tan);
    border-radius:var(--radius-md);
    padding:16px 22px;
    text-align:center;
    font-size:0.92rem;
    color:var(--navy-text);
  }
  .vote-winner-banner strong{ color:var(--blue-deep); }

  /* ---------- NOVEDADES ---------- */
  .whatsnew{ background:var(--cream); }
  .whatsnew-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap:24px;
  }
  .whatsnew-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:30px;
    position:relative;
    border:2px solid rgba(30,74,150,0.08);
    box-shadow:0 16px 32px rgba(30,74,150,0.06);
  }
  .whatsnew-card .badge-new{
    display:inline-block;
    background:var(--tan);
    color:var(--navy-text);
    font-family:'Fredoka', sans-serif;
    font-weight:800;
    font-size:0.72rem;
    letter-spacing:0.8px;
    text-transform:uppercase;
    padding:5px 12px;
    border-radius:999px;
    margin-bottom:16px;
  }
  .whatsnew-card .badge-promo{ background:var(--cyan); }
  .whatsnew-card .icon-circle{
    width:56px; height:56px;
    border-radius:50%;
    background:var(--cream);
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem;
    margin-bottom:16px;
  }
  .whatsnew-card h3{
    font-size:1.2rem;
    color:var(--blue-deep);
    margin-bottom:8px;
  }
  .whatsnew-card p{
    font-size:0.95rem;
    color:#5A6A88;
  }
  .whatsnew-card .month-tag{
    display:block;
    margin-top:14px;
    font-size:0.8rem;
    color:var(--tan);
    font-weight:700;
    font-family:'Fredoka', sans-serif;
  }
  .flavors{ background:var(--white); }

  .flavor-tabs{
    display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:48px;
  }
  .flavor-tab{
    background:var(--cream);
    border:2px solid transparent;
    color:var(--blue-deep);
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    padding:10px 20px;
    border-radius:999px;
    font-size:0.92rem;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }
  .flavor-tab:hover{ background:#E8EEFB; }
  .flavor-tab:focus-visible, .sub-tab:focus-visible, a:focus-visible, button:focus-visible{
    outline:3px solid var(--tan);
    outline-offset:3px;
  }
  .flavor-tab.active{
    background:var(--blue-deep);
    color:var(--white);
  }

  .menu-panel{ display:none; }
  .menu-panel.active{ display:block; }

  .sub-tabs{
    display:flex; gap:8px; flex-wrap:wrap;
    margin-bottom:32px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(30,74,150,0.1);
  }
  .sub-tab{
    background:none;
    border:1.5px solid rgba(30,74,150,0.2);
    color:var(--blue-deep);
    font-family:'Nunito Sans', sans-serif;
    font-weight:700;
    padding:7px 16px;
    border-radius:999px;
    font-size:0.85rem;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }
  .sub-tab:hover{ background:#E8EEFB; }
  .sub-tab.active{
    background:var(--tan);
    border-color:var(--tan);
    color:var(--navy-text);
  }
  .sub-panel{ display:none; }
  .sub-panel.active{ display:block; }

  .menu-panel-intro{
    text-align:center;
    max-width:620px;
    margin:0 auto 40px;
    color:#4A5A78;
    font-size:0.98rem;
  }

  .menu-group{ margin-bottom:44px; }
  .menu-group:last-child{ margin-bottom:0; }

  .menu-group-head{
    display:flex; align-items:baseline; gap:14px;
    margin-bottom:6px;
    flex-wrap:wrap;
  }
  .menu-group-head h3{
    font-size:1.3rem;
    color:var(--blue-deep);
  }
  .menu-group-head .tagline{
    font-size:0.88rem;
    color:var(--tan);
    font-weight:700;
  }
  .menu-group-desc{
    color:#5A6A88;
    font-size:0.92rem;
    margin-bottom:18px;
  }
  .menu-group-rule{
    height:2px;
    background:var(--cyan);
    opacity:0.5;
    width:56px;
    margin-bottom:20px;
    border-radius:2px;
  }

  .item-list{
    columns: 2 280px;
    column-gap: 32px;
  }
  .item{
    break-inside: avoid;
    margin-bottom:16px;
    padding-left:16px;
    position:relative;
  }
  .item::before{
    content:"";
    position:absolute;
    left:0; top:7px;
    width:7px; height:7px;
    border-radius:50%;
    background:var(--tan);
  }
  .item h4{
    font-family:'Fredoka', sans-serif;
    font-size:1rem;
    font-weight:600;
    color:var(--navy-text);
    display:inline;
  }
  .item .badge-vegano{
    font-size:0.7rem;
    font-weight:800;
    color:var(--blue-deep);
    background:var(--cyan);
    padding:2px 7px;
    border-radius:6px;
    margin-left:6px;
    vertical-align:middle;
  }
  .item .badge-popular{
    font-size:0.7rem;
    font-weight:800;
    color:var(--navy-text);
    background:var(--tan);
    padding:2px 7px;
    border-radius:6px;
    margin-left:6px;
    vertical-align:middle;
    white-space:nowrap;
  }
  .item p{
    font-size:0.88rem;
    color:#5A6A88;
    margin-top:2px;
  }

  .step-list{ margin-bottom:8px; }
  .step{
    display:flex; gap:16px;
    padding:16px 0;
    border-bottom:1px solid rgba(30,74,150,0.1);
  }
  .step:last-child{ border-bottom:none; }
  .step .num{
    font-family:'Fredoka', sans-serif;
    font-weight:700;
    color:var(--white);
    background:var(--blue-deep);
    width:30px; height:30px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    font-size:0.9rem;
  }
  .step .step-body h4{
    font-family:'Fredoka', sans-serif;
    font-size:1rem;
    color:var(--blue-deep);
    margin-bottom:3px;
  }
  .step .step-body p{ font-size:0.92rem; color:#5A6A88; }

  .note-box{
    background:var(--cream);
    border-left:4px solid var(--tan);
    padding:14px 18px;
    border-radius:0 12px 12px 0;
    font-size:0.85rem;
    color:#5A6A88;
    margin-top:8px;
  }
  .note-box strong{ color:var(--navy-text); }

  .flavor-note{
    text-align:center; margin-top:36px; font-size:0.95rem; color:#5A6A88;
  }

  /* ---------- SUCURSALES ---------- */
  .locations{ background:var(--cream); }
  .location-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap:28px;
  }
  .location-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:36px 32px;
    box-shadow:0 20px 40px rgba(30,74,150,0.08);
    position:relative;
    overflow:hidden;
  }
  .location-card::before{
    content:"";
    position:absolute; top:0; left:0; right:0; height:8px;
    background:linear-gradient(90deg, var(--blue-deep), var(--cyan));
  }
  .location-card .tag{
    display:inline-block;
    background:var(--blue-deep);
    color:var(--white);
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:0.78rem;
    letter-spacing:0.8px;
    text-transform:uppercase;
    padding:5px 14px;
    border-radius:999px;
    margin-bottom:18px;
  }
  .location-card h3{
    font-size:1.5rem; color:var(--blue-deep); margin-bottom:18px;
  }
  .location-detail{
    display:flex; gap:12px; margin-bottom:14px; align-items:flex-start;
  }
  .location-detail .label{
    font-family:'Fredoka', sans-serif;
    font-weight:600; font-size:0.85rem;
    color:var(--tan);
    text-transform:uppercase;
    letter-spacing:0.5px;
    width:90px; flex-shrink:0;
    padding-top:2px;
  }
  .location-detail .value{ font-size:0.98rem; color:#3A4A68; }
  .map-btn{
    margin-top:20px;
    display:inline-block;
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    color:var(--blue-deep);
    border-bottom:2px solid var(--blue-deep);
    padding-bottom:2px;
    font-size:0.95rem;
  }
  .card-actions{
    display:flex; gap:14px; flex-wrap:wrap;
    margin-top:20px;
    align-items:center;
  }
  .btn-menu-link{
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:0.9rem;
    background:var(--blue-deep);
    color:var(--white);
    padding:10px 20px;
    border-radius:999px;
    transition:background .15s ease;
  }
  .btn-menu-link:hover{ background:#163c7a; }
  .map-embed{
    width:100%;
    height:190px;
    border:0;
    border-radius:var(--radius-md);
    margin-top:20px;
    filter:saturate(0.9);
  }

  /* ---------- CONTACTO ---------- */
  .contact{
    background:var(--blue-deep);
    color:var(--white);
    text-align:center;
  }
  .contact .section-head p{ color:rgba(255,255,255,0.8); }
  .contact .section-head .eyebrow{ color:var(--cyan); }
  .contact .section-head h2{ color:var(--white); }
  .social-row{
    display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin-top:10px;
  }
  .social-pill{
    background:rgba(255,255,255,0.1);
    border:2px solid rgba(255,255,255,0.25);
    padding:14px 28px;
    border-radius:999px;
    font-family:'Fredoka', sans-serif;
    font-weight:600;
  }
  .social-pill:hover{ background:rgba(255,255,255,0.2); }
  .social-pill.disabled{
    opacity:0.55;
    cursor:not-allowed;
    position:relative;
  }
  .social-pill.disabled:hover{ background:rgba(255,255,255,0.1); }
  .social-pill .soon-tag{
    display:block;
    font-size:0.68rem;
    font-weight:700;
    color:var(--cyan);
    letter-spacing:0.5px;
    text-transform:uppercase;
    margin-top:2px;
  }

  .review-block{
    margin-top:36px;
    padding-top:32px;
    border-top:1px solid rgba(255,255,255,0.15);
  }
  .review-block p{
    color:rgba(255,255,255,0.75);
    font-size:0.92rem;
    margin-bottom:16px;
  }
  .review-row{
    display:flex; justify-content:center; gap:14px; flex-wrap:wrap;
  }
  .review-pill{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--tan);
    color:var(--navy-text);
    font-family:'Fredoka', sans-serif;
    font-weight:700;
    padding:12px 24px;
    border-radius:999px;
    font-size:0.9rem;
    transition:transform .15s ease;
  }
  .review-pill:hover{ transform:translateY(-2px); }

  .newsletter-teaser{
    margin-top:36px;
    padding-top:32px;
    border-top:1px solid rgba(255,255,255,0.15);
    text-align:center;
  }
  .newsletter-teaser p{
    color:rgba(255,255,255,0.75);
    font-size:0.92rem;
    margin-bottom:16px;
  }
  .newsletter-open-btn{
    background:var(--tan);
    color:var(--navy-text);
    border:none;
    font-family:'Fredoka', sans-serif;
    font-weight:700;
    padding:13px 28px;
    border-radius:999px;
    font-size:0.92rem;
    cursor:pointer;
    transition:transform .15s ease;
  }
  .newsletter-open-btn:hover{ transform:translateY(-2px); }

  .modal-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(15,44,92,0.55);
    z-index:300;
    align-items:center;
    justify-content:center;
    padding:20px;
  }
  .modal-overlay.open{ display:flex; }
  .modal-box{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:36px 32px;
    max-width:420px;
    width:100%;
    position:relative;
    text-align:center;
    box-shadow:0 30px 60px rgba(0,0,0,0.3);
  }
  .modal-box h3{
    font-family:'Fredoka', sans-serif;
    color:var(--blue-deep);
    font-size:1.25rem;
    margin-bottom:6px;
  }
  .modal-sub{
    color:#5A6A88;
    font-size:0.9rem;
    margin-bottom:20px;
  }
  .modal-close{
    position:absolute;
    top:14px; right:16px;
    background:none;
    border:none;
    font-size:1.3rem;
    color:#9AA6BE;
    cursor:pointer;
    line-height:1;
  }
  .modal-box .newsletter-form{ text-align:left; }
  .modal-box .newsletter-note{
    color:#8A97AE;
    font-size:0.78rem;
    margin-top:14px;
  }
  .newsletter-form{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .newsletter-form input[type="email"],
  .newsletter-form input[type="text"]{
    width:100%;
    padding:12px 16px;
    border-radius:999px;
    border:none;
    font-family:'Nunito Sans', sans-serif;
    font-size:0.9rem;
    background:var(--white);
    color:var(--navy-text);
  }
  .newsletter-form button{
    background:var(--tan);
    color:var(--navy-text);
    border:none;
    font-family:'Fredoka', sans-serif;
    font-weight:700;
    padding:12px 24px;
    border-radius:999px;
    font-size:0.9rem;
    cursor:pointer;
    transition:transform .15s ease, opacity .15s ease;
  }
  .newsletter-form button:hover{ transform:translateY(-2px); }
  .newsletter-form button:disabled{ opacity:0.6; cursor:not-allowed; transform:none; }
  .newsletter-note{
    font-size:0.75rem;
    color:rgba(255,255,255,0.55);
    margin-top:10px;
  }



  .newsletter-consent{
    display:flex; align-items:flex-start; gap:10px;
    text-align:left; color:#354A70;
    font-size:0.8rem; line-height:1.45;
    margin:4px 0 10px; cursor:pointer;
  }
  .newsletter-consent input{
    flex-shrink:0; width:18px; height:18px;
    accent-color:var(--blue-deep); margin-top:2px;
  }
  .newsletter-form input:focus-visible,
  .newsletter-form button:focus-visible,
  button:focus-visible, a:focus-visible{
    outline:3px solid var(--tan); outline-offset:3px;
  }

  /* ---------- FOOTER ---------- */
  footer{
    background:#0F2C5C;
    color:rgba(255,255,255,0.65);
    text-align:center;
    padding:28px 6vw;
    font-size:0.88rem;
  }
  footer strong{ color:var(--white); }
  .share-btn{
    display:inline-flex; align-items:center; gap:6px;
    background:rgba(255,255,255,0.1);
    border:1.5px solid rgba(255,255,255,0.25);
    color:var(--white);
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:0.82rem;
    padding:8px 18px;
    border-radius:999px;
    margin-top:14px;
    cursor:pointer;
    transition:background .15s ease;
  }
  .share-btn:hover{ background:rgba(255,255,255,0.2); }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 1050px){
    .nav-toggle{ display:flex; }
    .nav-menu{
      display:none;
      position:absolute;
      top:100%; left:0; right:0;
      background:var(--blue-deep);
      flex-direction:column;
      gap:0;
      padding:8px 6vw 18px;
      box-shadow:0 12px 24px rgba(0,0,0,0.2);
    }
    .nav-menu.open{ display:flex; }
    .nav-menu li{ width:100%; }
    .nav-menu a{
      display:block;
      padding:14px 0;
      border-bottom:1px solid rgba(255,255,255,0.12);
    }
  }

  @media (max-width: 820px){
    .hero{ grid-template-columns:1fr; padding-bottom:150px; }
    .hero-art{ order:-1; }
  }

  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .btn:hover{ transform:none; }
  }

  /* NOVIEMBRE 2026: promoción del nuevo sabor */
  .hero-month-feature{
    display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
    margin-top:24px;padding:11px 17px;max-width:100%;
    border:1px solid rgba(255,255,255,.35);border-radius:16px;
    background:rgba(255,255,255,.11);color:var(--white);
    font-size:.92rem;line-height:1.35;transition:background .15s ease;
  }
  .hero-month-feature:hover,.hero-month-feature:focus-visible{
    background:rgba(255,255,255,.2);
  }
  .hero-month-feature:focus-visible,.whatsnew-link:focus-visible{
    outline:3px solid var(--tan);outline-offset:3px;
  }
  .whatsnew-feature{border-color:var(--tan);}
  .whatsnew-card .whatsnew-small{font-size:.84rem;margin-top:12px;line-height:1.55;}
  .whatsnew-link{
    display:inline-block;margin-top:17px;color:var(--blue-deep);font-weight:800;
    text-decoration:underline;text-underline-offset:3px;line-height:1.4;
  }

  /* NICECREAM: VARIEDAD KETO Y SIN AZÚCAR */
  #sin-azucar, #sabores, #novedades { scroll-margin-top: 76px; }
  .sugar-spotlight {
    position:relative;
    isolation:isolate;
    padding:78px 6vw 76px;
    background:
      radial-gradient(circle at 90% 5%, rgba(143,224,239,.35), transparent 34%),
      radial-gradient(circle at 4% 90%, rgba(237,168,94,.16), transparent 30%),
      #fff9f0;
  }
  .sugar-spotlight-intro {
    text-align:center;
    max-width:770px;
    margin:0 auto 34px;
  }
  .sugar-eyebrow {
    display:inline-block;
    font-family:'Fredoka', sans-serif;
    color:var(--blue-deep);
    background:rgba(143,224,239,.5);
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.45px;
    border-radius:999px;
    padding:6px 16px;
    margin-bottom:18px;
  }
  .sugar-spotlight-intro h2 {
    font-size:clamp(1.9rem,4vw,3.15rem);
    line-height:1.13;
    color:var(--blue-deep);
    margin-bottom:15px;
  }
  .sugar-spotlight-intro p {
    color:#435576;
    font-size:1.05rem;
    line-height:1.65;
  }
  .sugar-spotlight-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    max-width:1130px;
    margin:0 auto;
  }
  .sugar-highlight {
    min-width:0;
    padding:30px 25px;
    background:#fff;
    border:1.5px solid rgba(30,74,150,.12);
    border-radius:var(--radius-lg);
    box-shadow:0 12px 28px rgba(30,74,150,.06);
  }
  .sugar-highlight-count {
    background:var(--blue-deep);
    color:#fff;
    border-color:var(--blue-deep);
  }
  .sugar-highlight-emoji { display:block; font-size:1.8rem; margin-bottom:16px; }
  .sugar-number {
    font-family:'Fredoka',sans-serif;
    font-weight:700;
    font-size:4.2rem;
    line-height:1;
    margin-bottom:10px;
    color:var(--cyan);
  }
  .sugar-highlight h3 {
    color:var(--blue-deep);
    font-size:1.17rem;
    line-height:1.25;
    margin-bottom:10px;
  }
  .sugar-highlight-count h3 { color:#fff; }
  .sugar-highlight p { color:#53637f; font-size:.94rem; line-height:1.6; }
  .sugar-highlight-count p { color:rgba(255,255,255,.84); }
  .sugar-spotlight-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:16px 24px;
    margin-top:30px;
  }
  .sugar-text-link {
    color:var(--blue-deep);
    font-family:'Fredoka',sans-serif;
    font-weight:700;
    border-bottom:2px solid var(--blue-deep);
    padding:7px 0;
  }
  .sugar-text-link:hover { color:#163c7a; }
  .sugar-disclaimer {
    color:#52617d;
    font-size:.82rem;
    max-width:880px;
    margin:26px auto 0;
    text-align:center;
    line-height:1.5;
  }
  .sugar-disclaimer strong { color:#203c6b; }
  @media(max-width:850px) {
    .sugar-spotlight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sugar-highlight-count { grid-column:1 / -1; }
  }
  @media(max-width:620px) {
    .sugar-spotlight { padding:65px 5vw; }
    .sugar-spotlight-grid { grid-template-columns:1fr; gap:14px; }
    .sugar-highlight-count { grid-column:auto; }
    .sugar-highlight { padding:25px 23px; }
    .sugar-spotlight-actions { flex-direction:column; }
    .sugar-spotlight-actions .btn { width:100%; text-align:center; max-width:350px; }
  }
