
    @font-face {
      font-family: 'Distory Script';
      src: url('fonts/DistoryScript.woff2') format('woff2'),
           url('fonts/DistoryScript.woff') format('woff');
    }
    @font-face {
      font-family: 'Maglite';
      src: url('fonts/Maglite.woff2') format('woff2'),
           url('fonts/Maglite.woff') format('woff');
    }
  
  /* Promo combo qty stepper */
  .promo-btn-row {
    display: flex; align-items: center; gap: 0.7rem;
    margin-top: 1.2rem; justify-content: center; flex-wrap: wrap;
  }
  .promo-qty-wrap {
    display: flex; align-items: center;
    border: 1.5px solid rgba(200,151,58,0.35);
    border-radius: 30px; overflow: hidden;
    background: rgba(200,151,58,0.06);
  }
  .promo-qty-btn {
    background: none; border: none; cursor: pointer;
    width: 32px; height: 36px;
    font-size: 1.1rem; font-weight: 700;
    color: #fff; line-height: 1;
    transition: background 0.2s;
    display: flex; align-items: center; justify-content: center;
  }
  .promo-qty-btn:hover { background: rgba(200,151,58,0.15); }
  .promo-qty-num {
    min-width: 28px; text-align: center;
    font-size: 0.95rem; font-weight: 700;
    color: #fff; font-family: 'Playfair Display', serif;
  }
  .promo-btn {
    margin-top: 0 !important;
    flex: 1; min-width: 160px;
  }


  /* ═══════════════════════════════════════════
     CARRINHO FLUTUANTE
  ═══════════════════════════════════════════ */
  #cart-fab {
    position: fixed; bottom: 2rem; right: 2rem; z-index: 9000;
    background: var(--marrom); color: var(--ouro-claro);
    border: 2px solid var(--ouro); border-radius: 50px;
    padding: 0.75rem 1.4rem; cursor: pointer;
    display: none; align-items: center; gap: 0.6rem;
    font-family: 'Nunito', sans-serif; font-weight: 700; font-size: 0.88rem;
    box-shadow: 0 8px 32px rgba(61,31,10,0.35);
    transition: transform 0.2s, background 0.2s;
    animation: cartBounce 0.4s cubic-bezier(.34,1.56,.64,1);
  }
  #cart-fab:hover { background: var(--ouro); color: var(--marrom); transform: translateY(-3px); }
  #cart-fab-count {
    background: #e53e3e; color: #fff; border-radius: 50%;
    width: 22px; height: 22px; font-size: 0.72rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
  }
  @keyframes cartBounce {
    from { transform: scale(0.5) translateY(20px); opacity: 0; }
    to   { transform: scale(1) translateY(0); opacity: 1; }
  }

  /* Cart drawer */
  #cart-drawer {
    position: fixed; inset: 0; z-index: 9100;
    display: none;
    overflow: hidden;
  }
  #cart-drawer.open { display: block; }
  .cart-backdrop {
    position: absolute; inset: 0;
    background: rgba(30,10,0,0.55); backdrop-filter: blur(4px);
  }
  .cart-panel {
    position: absolute; right: 0; top: 0; bottom: 0;
    width: min(420px, 100vw);
    background: var(--branco-quente);
    box-shadow: none;
    display: flex; flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.38s cubic-bezier(0.4,0,0.2,1);
    overflow: hidden;
  }
  #cart-drawer.open .cart-panel { transform: translateX(0); }

  .cart-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 1.4rem 1.6rem;
    border-bottom: 1px solid rgba(200,151,58,0.18);
    background: var(--marrom);
  }
  .cart-head h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem; font-weight: 700; color: var(--ouro-claro);
  }
  .cart-head-sub { font-size: 0.72rem; color: rgba(245,225,195,0.5); margin-top: 0.1rem; }
  .cart-close {
    background: none; border: none; cursor: pointer;
    font-size: 1.5rem; color: var(--ouro-claro); line-height: 1;
    transition: opacity 0.2s;
  }
  .cart-close:hover { opacity: 0.6; }

  .cart-body {
    flex: 1; overflow-y: auto; padding: 1.2rem 1.4rem;
  }
  .cart-empty {
    text-align: center; padding: 3rem 1rem;
    color: var(--texto-claro); font-size: 0.9rem;
  }
  .cart-empty span { font-size: 3rem; display: block; margin-bottom: 1rem; }

  /* Cart item */
  .cart-item {
    display: flex; align-items: flex-start; gap: 1rem;
    padding: 1rem 0; border-bottom: 1px solid rgba(200,151,58,0.1);
  }
  .cart-item:last-child { border-bottom: none; }
  .cart-item-icon { font-size: 2rem; flex-shrink: 0; }
  .cart-item-info { flex: 1; }
  .cart-item-name {
    font-family: 'Playfair Display', serif;
    font-size: 0.95rem; font-weight: 700; color: var(--marrom);
  }
  .cart-item-detail {
    font-size: 0.75rem; color: var(--texto-claro); margin-top: 0.2rem; line-height: 1.5;
  }
  .cart-item-prices {
    text-align: right; flex-shrink: 0;
  }
  .cart-item-price-de {
    font-size: 0.72rem; color: var(--texto-claro);
    text-decoration: line-through; display: block;
  }
  .cart-item-price-por {
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem; font-weight: 700; color: var(--marrom);
  }
  .cart-item-eco {
    font-size: 0.7rem; color: #2d9c5a; font-weight: 700;
  }
  .cart-item-remove {
    background: none; border: none; cursor: pointer;
    font-size: 1rem; color: var(--texto-claro); padding: 0 0.2rem;
    transition: color 0.2s; line-height: 1; margin-left: 0.3rem;
  }
  .cart-item-remove:hover { color: #e53e3e; }

  /* Cart footer */
  .cart-foot {
    padding: 1.2rem 1.4rem;
    border-top: 1px solid rgba(200,151,58,0.18);
    background: var(--creme);
  }
  .cart-total-row {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 0.5rem;
  }
  .cart-total-label { font-size: 0.78rem; color: var(--texto-claro); }
  .cart-total-val { font-size: 0.85rem; color: var(--texto-medio); }
  .cart-total-row.final .cart-total-label {
    font-family: 'Playfair Display', serif; font-size: 1rem; font-weight: 700; color: var(--marrom);
  }
  .cart-total-row.final .cart-total-val {
    font-family: 'Playfair Display', serif; font-size: 1.3rem; font-weight: 700; color: var(--ouro-escuro);
  }
  .cart-eco-total {
    font-size: 0.75rem; color: #2d9c5a; font-weight: 700;
    text-align: right; margin-bottom: 1rem;
  }
  .cart-confirm-btn {
    width: 100%; padding: 1rem; font-size: 0.82rem;
    font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
    background: var(--marrom); color: var(--creme);
    border: none; border-radius: 50px; cursor: pointer;
    font-family: 'Nunito', sans-serif;
    transition: background 0.25s, transform 0.2s;
    box-shadow: 0 4px 16px rgba(61,31,10,0.25);
  }
  .cart-confirm-btn:hover { background: var(--ouro); color: var(--marrom); transform: translateY(-2px); }
  .cart-clear-btn {
    width: 100%; padding: 0.6rem; margin-top: 0.6rem;
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
    background: transparent; color: var(--texto-claro);
    border: 1px solid rgba(200,151,58,0.2); border-radius: 50px; cursor: pointer;
    font-family: 'Nunito', sans-serif; transition: all 0.2s;
  }
  .cart-clear-btn:hover { border-color: #e53e3e; color: #e53e3e; }

  @media (max-width: 480px) {
    #cart-fab { bottom: 1rem; right: 1rem; padding: 0.65rem 1.1rem; font-size: 0.82rem; }
    .cart-panel { width: 100vw; }
  }


  /* Custom icon images in buttons */
  .btn-icon {
    width: 22px; height: 22px;
    object-fit: contain; vertical-align: middle;
    display: inline-block; flex-shrink: 0;
  }
  /* WhatsApp icon: pulse animation */
  .btn-icon-wa {
    width: 24px; height: 24px;
    object-fit: contain; vertical-align: middle;
    display: inline-block; flex-shrink: 0;
    animation: waPulse 1.8s ease-in-out infinite;
  }
  @keyframes waPulse {
    0%,100% { transform: scale(1);   opacity: 1; }
    50%      { transform: scale(1.25); opacity: 0.8; }
  }
  /* Promo/price-tag icon: swing animation */
  .btn-icon-promo {
    width: 22px; height: 22px;
    object-fit: contain; vertical-align: middle;
    display: inline-block; flex-shrink: 0;
    transform-origin: 12px 4px;
    animation: promoSwing 1.4s ease-in-out infinite;
  }
  @keyframes promoSwing {
    0%,100% { transform: rotate(0deg); }
    20%     { transform: rotate(18deg); }
    60%     { transform: rotate(-14deg); }
    80%     { transform: rotate(8deg); }
  }
  /* flex alignment for buttons with icons */
  .btn-primary, .btn-outline {
    display: inline-flex !important;
    align-items: center; gap: 0.45rem;
  }


  /* ═══════════════════════════════════════════
     FEEDBACKS — 3D SPHERE SECTION
  ═══════════════════════════════════════════ */
  #feedbacks {
    background: linear-gradient(160deg, var(--branco-quente) 0%, var(--creme) 100%);
    padding: 6rem 0 4rem;
    overflow: hidden;
    position: relative;
  }
  #feedbacks::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 60% 50% at 50% 50%,
      rgba(200,151,58,.06) 0%, transparent 70%);
    pointer-events: none;
  }
  .fb-header {
    text-align: center;
    padding: 0 2rem 3.5rem;
    position: relative; z-index: 2;
  }
  .fb-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700; color: var(--marrom); line-height: 1.1;
    margin-top: .8rem;
  }
  .fb-header h2 em { font-style: italic; color: var(--ouro); }
  .fb-header p {
    font-size: .85rem; color: var(--texto-claro);
    margin-top: .7rem; letter-spacing: .05em;
  }

  /* Sphere stage */
  .fb-stage {
    position: relative;
    width: 100%; height: 580px;
    display: flex; align-items: center; justify-content: center;
    cursor: grab;
    user-select: none; -webkit-user-select: none;
  }
  .fb-stage:active { cursor: grabbing; }
  .fb-sphere-wrap {
    position: relative;
    width: 580px; height: 580px;
    flex-shrink: 0;
  }

  /* Each avatar node */
  .fb-node {
    position: absolute;
    border-radius: 12px;
    overflow: hidden;
    border: 3px solid rgba(255,255,255,.85);
    box-shadow: 0 6px 24px rgba(61,31,10,.18);
    transition: transform .22s ease, box-shadow .22s ease;
    will-change: transform, opacity;
    cursor: pointer;
  }
  .fb-node:hover {
    transform: translate(-50%,-50%) scale(1.18) !important;
    box-shadow: 0 14px 40px rgba(61,31,10,.28);
    z-index: 9999 !important;
  }
  .fb-node img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top;
    display: block; pointer-events: none;
    -webkit-user-drag: none;
  }

  /* Tooltip card */
  .fb-tooltip {
    position: fixed; z-index: 10000;
    background: #fff;
    border-radius: 16px;
    padding: 1.4rem 1.6rem;
    box-shadow: 0 20px 60px rgba(61,31,10,.22);
    width: 280px;
    pointer-events: none;
    opacity: 0;
    transform: translateY(10px) scale(.95);
    transition: opacity .22s ease, transform .22s ease;
    border-top: 3px solid var(--ouro);
  }
  .fb-tooltip.show {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .fb-tt-head {
    display: flex; align-items: center; gap: .8rem; margin-bottom: .8rem;
  }
  .fb-tt-img {
    width: 44px; height: 44px; border-radius: 50%;
    object-fit: cover; border: 2px solid var(--ouro);
    flex-shrink: 0;
  }
  .fb-tt-name {
    font-family: 'Playfair Display', serif;
    font-size: 1rem; font-weight: 700; color: var(--marrom);
  }
  .fb-tt-stars { font-size: .85rem; color: var(--ouro); margin-top: .1rem; }
  .fb-tt-text {
    font-size: .83rem; color: var(--texto-medio);
    line-height: 1.7; font-style: italic;
  }
  .fb-tt-product {
    font-size: .7rem; color: var(--texto-claro);
    margin-top: .6rem; letter-spacing: .05em;
  }

  @media (max-width: 700px) {
    .fb-stage { height: 400px; }
    .fb-sphere-wrap { width: 400px; height: 400px; }
    #feedbacks { padding: 4rem 0 2.5rem; }
  }

  .promo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    max-width: 900px;
    margin: 0 auto;
  }
  .promo-duo-wrap {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
  }
  .promo-duo-wrap > div {
    width: 420px;
    max-width: 100%;
  }
  @media (max-width: 720px) {
    .promo-grid { grid-template-columns: 1fr; }
    .promo-duo-wrap > div { width: 100%; }
  }
  #promoGrid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 2rem !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    position: relative; z-index: 2;
  }

  .promo-duo-wrap > div {
    width: 420px;
    max-width: 100%;
  }
  @media (max-width: 900px) {
    #promoGrid { grid-template-columns: 1fr !important; }
  }

  /* ═══════════════════════════════════════════
     OFERTAS ESPECIAIS — PRICING COMPONENT STYLE
  ═══════════════════════════════════════════ */

  #promocoes {
    position: relative;
    background: var(--marrom);
    padding: 6rem 2rem;
    overflow: hidden;
  }
  /* Starfield canvas */
  #promoStars {
    position: absolute; inset: 0;
    pointer-events: none; z-index: 0;
    overflow: hidden;
  }
  .promo-star {
    position: absolute;
    border-radius: 50%;
    background: rgba(232,184,90,0.6);
    animation: starTwinkle var(--dur) ease-in-out infinite var(--delay);
  }
  @keyframes starTwinkle {
    0%,100% { opacity: 0; transform: translate(var(--tx),var(--ty)) scale(1); }
    50%      { opacity: 1; transform: translate(calc(var(--tx) * 1.08),calc(var(--ty) * 1.08)) scale(1.3); }
  }

  /* Header */
  .promo-header {
    position: relative; z-index: 2;
    text-align: center;
    margin-bottom: 3.5rem;
  }
  .promo-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700; color: var(--ouro-claro);
    line-height: 1.1;
  }
  .promo-header h2 em { font-style: italic; color: var(--ouro); }
  .promo-header p {
    font-size: .9rem; color: rgba(245,225,195,.55);
    margin-top: .8rem; max-width: 540px; margin-left: auto; margin-right: auto;
    line-height: 1.7;
  }

  /* GRID */
  #promoGrid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    position: relative; z-index: 2;
  }


  @media (max-width: 900px) {
    #promoGrid { grid-template-columns: 1fr !important; }
  }

  /* CARD — pricing card style */
  .promo-card {
    position: relative;
    background: rgba(255,252,245,0.04);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(200,151,58,0.2);
    border-radius: 20px;
    padding: 2.2rem 2rem 1.8rem;
    display: flex; flex-direction: column;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    overflow: visible;
  }
  .promo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(0,0,0,0.4);
    border-color: rgba(200,151,58,0.5);
  }
  .promo-card.popular-card {
    border: 2px solid var(--ouro);
    box-shadow: 0 0 0 4px rgba(200,151,58,0.08), 0 20px 50px rgba(0,0,0,0.35);
    background: rgba(255,252,245,0.07);
  }
  .promo-card.popular-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 0 0 4px rgba(200,151,58,0.15), 0 30px 70px rgba(0,0,0,0.45);
  }

  /* Popular badge — floats above card */
  .promo-badge-top {
    position: absolute;
    top: 0; left: 50%;
    transform: translate(-50%, -50%);
    background: var(--ouro);
    color: var(--marrom);
    font-size: .7rem; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase;
    padding: .35rem 1.1rem;
    border-radius: 50px;
    white-space: nowrap;
    display: flex; align-items: center; gap: .4rem;
    box-shadow: 0 4px 16px rgba(200,151,58,0.4);
  }
  .promo-badge-top::before { content: '★'; font-size: .75rem; }

  /* Icon */
  .promo-icon {
    font-size: 2.2rem;
    margin-bottom: .9rem;
    display: flex; align-items: center; gap: .3rem;
  }

  /* Name */
  .promo-nome {
    font-family: 'Playfair Display', serif;
    font-size: 1.45rem; font-weight: 700;
    color: var(--ouro-claro);
    margin-bottom: .5rem;
  }

  /* Description */
  .promo-desc {
    font-size: .82rem; color: rgba(245,225,195,.55);
    line-height: 1.7; margin-bottom: 1.2rem;
  }

  /* Sabor selector */
  .promo-sabor-sel {
    display: flex; flex-wrap: wrap; gap: .5rem;
    margin-bottom: 1.2rem;
  }
  .promo-sabor-opt {
    font-size: .7rem; padding: .4rem .75rem;
    border: 1.5px solid rgba(200,151,58,0.3);
    border-radius: 8px; cursor: pointer;
    background: rgba(200,151,58,0.05);
    color: rgba(245,225,195,.6);
    transition: all .22s ease;
    line-height: 1.4; text-align: center;
    font-family: 'Nunito', sans-serif;
  }
  .promo-sabor-opt small { display: block; font-size: .65rem; opacity: .7; }
  .promo-sabor-opt:hover { border-color: var(--ouro); color: var(--ouro-claro); background: rgba(200,151,58,0.1); }
  .promo-sabor-opt.active { border-color: var(--ouro); background: var(--ouro); color: var(--marrom); font-weight: 700; }

  /* Features list — check-style */
  .promo-itens {
    list-style: none;
    margin: 0 0 1.4rem 0;
    padding: 0;
    display: flex; flex-direction: column; gap: .55rem;
  }
  .promo-itens li {
    display: flex; align-items: flex-start; gap: .6rem;
    font-size: .82rem; color: rgba(245,225,195,.7);
    line-height: 1.5;
  }
  .promo-itens li::before {
    content: '✓';
    color: var(--ouro);
    font-weight: 800;
    font-size: .85rem;
    flex-shrink: 0;
    margin-top: .05rem;
  }

  /* Pricing */
  .promo-precos {
    display: flex; align-items: baseline; gap: .6rem;
    margin-bottom: 1.4rem; flex-wrap: wrap;
  }
  .promo-de {
    font-size: .9rem; color: rgba(245,225,195,.35);
    text-decoration: line-through;
  }
  .promo-por {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem; font-weight: 700;
    color: var(--ouro-claro); line-height: 1;
  }
  .promo-economia {
    font-size: .75rem; font-weight: 700;
    color: #5ec47a;
    background: rgba(94,196,122,0.12);
    padding: .2rem .6rem; border-radius: 50px;
  }

  /* Qty + button row */
  .promo-btn-row {
    display: flex; align-items: center; gap: .7rem;
    margin-top: auto;
  }
  .promo-qty-wrap {
    display: flex; align-items: center;
    border: 1.5px solid rgba(200,151,58,0.3);
    border-radius: 50px; overflow: hidden;
    background: rgba(200,151,58,0.06);
  }
  .promo-qty-btn {
    background: none; border: none; cursor: pointer;
    width: 32px; height: 38px;
    font-size: 1.1rem; font-weight: 700;
    color: #fff; line-height: 1;
    transition: background .2s;
    display: flex; align-items: center; justify-content: center;
  }
  .promo-qty-btn:hover { background: rgba(200,151,58,0.2); }
  .promo-qty-num {
    min-width: 28px; text-align: center;
    font-size: .95rem; font-weight: 700;
    color: #fff; font-family: 'Playfair Display', serif;
  }
  .promo-btn {
    flex: 1;
    padding: .75rem 1.2rem;
    font-size: .72rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    border: none; border-radius: 50px;
    cursor: pointer; font-family: 'Nunito', sans-serif;
    transition: all .25s;
    display: flex; align-items: center; justify-content: center; gap: .5rem;
  }
  .popular-card .promo-btn {
    background: var(--ouro); color: var(--marrom);
    box-shadow: 0 4px 20px rgba(200,151,58,0.35);
  }
  .popular-card .promo-btn:hover {
    background: var(--ouro-claro); transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(200,151,58,0.45);
  }
  .promo-card:not(.popular-card) .promo-btn {
    background: rgba(200,151,58,0.1);
    color: var(--ouro-claro);
    border: 1.5px solid rgba(200,151,58,0.35);
  }
  .promo-card:not(.popular-card) .promo-btn:hover {
    background: var(--ouro); color: var(--marrom);
    transform: translateY(-2px);
  }

  /* Card entrance animation */
  .promo-card {
    opacity: 0;
    transform: translateY(48px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease;
  }
  .promo-card.reveal.vis {
    opacity: 1;
    transform: translateY(0);
  }
  .promo-card:nth-child(2) { transition-delay: .1s; }


  


  


  /* ── COMBO DUO RADIO BUTTONS ─────────────────────────── */
  .promo-radio-list {
    display: flex; flex-direction: column; gap: .45rem;
    margin-bottom: 1.2rem;
  }
  .promo-radio-opt {
    display: flex; align-items: center; gap: .75rem;
    padding: .5rem .8rem;
    border: 1.5px solid rgba(200,151,58,0.18);
    border-radius: 8px; cursor: pointer;
    transition: background .2s, border-color .2s;
    background: rgba(200,151,58,0.03);
  }
  .promo-radio-opt:hover { background: rgba(200,151,58,0.08); border-color: rgba(200,151,58,0.4); }
  .promo-radio-opt.active { background: rgba(200,151,58,0.12); border-color: var(--ouro); }
  .promo-radio-circle {
    width: 16px; height: 16px; border-radius: 50%;
    border: 2px solid rgba(200,151,58,0.4);
    flex-shrink: 0; position: relative;
    transition: border-color .2s;
  }
  .promo-radio-circle.checked {
    border-color: var(--ouro);
  }
  .promo-radio-circle.checked::after {
    content: ''; position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    width: 8px; height: 8px;
    border-radius: 50%; background: var(--ouro);
  }
  .promo-radio-label {
    flex: 1; font-size: .82rem; color: rgba(245,225,195,.8);
    font-family: 'Nunito', sans-serif; font-weight: 500;
  }
  .promo-radio-opt.active .promo-radio-label { color: var(--ouro-claro); font-weight: 700; }
  .promo-radio-price {
    font-size: .72rem; color: var(--ouro); font-weight: 600;
    white-space: nowrap;
  }


  


  


  


  /* Combo Duo select */
  .promo-sabor-sel-wrap { margin-bottom: 1.2rem; }
  .promo-sabor-select {
    width: 100%;
    background: rgba(200,151,58,0.08);
    border: 1.5px solid rgba(200,151,58,0.35);
    border-radius: 10px;
    padding: .65rem 2.2rem .65rem 1rem;
    color: var(--ouro-claro);
    font-family: 'Nunito', sans-serif;
    font-size: .84rem; font-weight: 600;
    outline: none; cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(200,151,58,.7)' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .9rem center;
    background-color: rgba(200,151,58,0.08);
    transition: border-color .2s, background-color .2s;
  }
  .promo-sabor-select:focus { border-color: var(--ouro); background-color: rgba(200,151,58,0.14); }
  .promo-sabor-select option { background: #2a1000; color: var(--ouro-claro); }


  /* ═══════════════════════════════════════════════════════════════
     OFERTAS ESPECIAIS — Redesign 2025
  ═══════════════════════════════════════════════════════════════ */
  #promocoes {
    position: relative;
    background: linear-gradient(160deg, #1a0800 0%, #0d0400 60%, #1a0a00 100%);
    padding: 6rem 0 5rem;
    overflow: hidden;
  }
  #promoStars { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
  .promo-star { position: absolute; border-radius: 50%; background: rgba(232,184,90,.6); animation: starTwinkle var(--dur) ease-in-out infinite var(--delay); }
  @keyframes starTwinkle { 0%,100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1);} 50%{opacity:1;transform:translate(calc(var(--tx)*1.08),calc(var(--ty)*1.08)) scale(1.3);} }

  .promo-inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; padding: 0 2rem; }

  .promo-header { text-align: center; margin-bottom: 4rem; }
  .promo-header h2 { font-family: 'Playfair Display', serif; font-size: clamp(2rem,4vw,3.2rem); font-weight: 700; color: var(--ouro-claro); line-height: 1.1; }
  .promo-header h2 em { font-style: italic; color: var(--ouro); }
  .promo-header p { font-size: .9rem; color: rgba(245,225,195,.45); margin-top: .8rem; max-width: 520px; margin-left: auto; margin-right: auto; line-height: 1.7; }

  /* ── GRID ── */
  .combos-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
  }
  @media (max-width: 800px) { .combos-grid { grid-template-columns: 1fr; } }

  /* ── CARD ── */
  .combo-card {
    position: relative;
    background: rgba(255,252,245,.04);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(200,151,58,.18);
    border-radius: 20px;
    padding: 2rem;
    display: flex; flex-direction: column;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    opacity: 0; transform: translateY(40px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease;
  }
  .combo-card.reveal.vis { opacity: 1; transform: translateY(0); }
  .combo-card:nth-child(2).reveal { transition-delay: .1s; }
  .combo-card:nth-child(3).reveal { transition-delay: .18s; }
  .combo-card:nth-child(4).reveal { transition-delay: .26s; }
  .combo-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(0,0,0,.4); border-color: rgba(200,151,58,.45); }

  /* Featured card */
  .combo-card.featured { border: 2px solid var(--ouro); box-shadow: 0 0 0 4px rgba(200,151,58,.08), 0 16px 48px rgba(0,0,0,.35); background: rgba(255,252,245,.07); }
  .combo-card.featured:hover { box-shadow: 0 0 0 4px rgba(200,151,58,.15), 0 30px 70px rgba(0,0,0,.45); }

  /* Badge */
  .combo-seal {
    position: absolute; top: 0; left: 50%;
    transform: translate(-50%, -50%);
    background: var(--ouro); color: var(--marrom);
    font-size: .65rem; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase;
    padding: .3rem 1.1rem; border-radius: 50px;
    white-space: nowrap; box-shadow: 0 4px 14px rgba(200,151,58,.4);
    display: flex; align-items: center; gap: .35rem;
  }
  .combo-seal.green { background: #4caf7d; color: #fff; box-shadow: 0 4px 14px rgba(76,175,125,.35); }
  .combo-seal::before { content: '★'; font-size: .7rem; }

  /* Header area */
  .combo-icon { font-size: 2.2rem; margin-bottom: .7rem; }
  .combo-nome { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; color: var(--ouro-claro); margin-bottom: .5rem; }
  .combo-desc { font-size: .82rem; color: rgba(245,225,195,.5); line-height: 1.7; margin-bottom: 1.2rem; }

  /* Selector pills */
  .combo-selector { margin-bottom: 1rem; }
  .combo-sel-title { font-size: .6rem; letter-spacing: .3em; text-transform: uppercase; color: rgba(245,225,195,.4); font-weight: 600; margin-bottom: .5rem; display: block; }
  .combo-pills { display: flex; flex-wrap: wrap; gap: .35rem; }
  .combo-pill {
    padding: .32rem .75rem;
    border: 1.5px solid rgba(200,151,58,.22);
    border-radius: 50px;
    background: rgba(200,151,58,.04);
    color: rgba(245,225,195,.65);
    font-family: 'Nunito', sans-serif;
    font-size: .73rem; font-weight: 600;
    cursor: pointer; white-space: nowrap;
    transition: all .2s ease; user-select: none;
  }
  .combo-pill:hover { border-color: rgba(200,151,58,.5); color: var(--ouro-claro); background: rgba(200,151,58,.1); }
  .combo-pill.active { border-color: var(--ouro); background: var(--ouro); color: var(--marrom); box-shadow: 0 2px 10px rgba(200,151,58,.3); }
  .combo-pill.disabled { opacity: .35; cursor: not-allowed; pointer-events: none; }

  /* Items list */
  .combo-itens {
    list-style: none; padding: 0; margin: 0 0 1.2rem;
    display: flex; flex-direction: column; gap: .45rem;
    flex: 1;
  }
  .combo-itens li { font-size: .81rem; color: rgba(245,225,195,.65); display: flex; align-items: flex-start; gap: .55rem; line-height: 1.5; }
  .combo-itens li::before { content: '✓'; color: var(--ouro); font-weight: 800; font-size: .8rem; flex-shrink: 0; margin-top: .05rem; }

  /* Price */
  .combo-price-row {
    display: flex; align-items: baseline; gap: .6rem;
    flex-wrap: wrap; margin-bottom: 1.3rem;
  }
  .combo-de { font-size: .9rem; color: rgba(245,225,195,.3); text-decoration: line-through; }
  .combo-por { font-family: 'Playfair Display', serif; font-size: 2.1rem; font-weight: 700; color: var(--ouro-claro); line-height: 1; }
  .combo-eco { font-size: .73rem; font-weight: 700; color: #5ec47a; background: rgba(94,196,122,.1); padding: .2rem .6rem; border-radius: 50px; }

  /* CTA button */
  .combo-btn {
    width: 100%; padding: .85rem 1.5rem;
    font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
    border: none; border-radius: 50px;
    cursor: pointer; font-family: 'Nunito', sans-serif;
    transition: all .25s;
    display: flex; align-items: center; justify-content: center; gap: .5rem;
    margin-top: auto;
  }
  .featured .combo-btn { background: var(--ouro); color: var(--marrom); box-shadow: 0 4px 18px rgba(200,151,58,.3); }
  .featured .combo-btn:hover { background: var(--ouro-claro); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(200,151,58,.4); }
  .combo-card:not(.featured) .combo-btn { background: rgba(200,151,58,.1); color: var(--ouro-claro); border: 1.5px solid rgba(200,151,58,.3); }
  .combo-card:not(.featured) .combo-btn:hover { background: var(--ouro); color: var(--marrom); transform: translateY(-2px); }

  /* Selection note */
  .combo-sel-note { font-size: .7rem; color: rgba(245,225,195,.35); margin-bottom: .8rem; font-style: italic; }
  .combo-sel-note span { color: var(--ouro); font-weight: 700; }

  /* Qty stepper */
  .combo-qty-row { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.2rem; }
  .combo-qty-wrap { display: flex; align-items: center; border: 1.5px solid rgba(200,151,58,.25); border-radius: 50px; overflow: hidden; background: rgba(200,151,58,.05); }
  .combo-qty-btn { background: none; border: none; width: 32px; height: 36px; font-size: 1.1rem; font-weight: 700; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; }
  .combo-qty-btn:hover { background: rgba(200,151,58,.18); }
  .combo-qty-num { min-width: 28px; text-align: center; font-size: .95rem; font-weight: 700; color: #fff; font-family: 'Playfair Display', serif; }


  /* ── FOOTER ─────────────────────────────────── */
  footer {
    background: #1a0a02;
    padding: 4rem 4rem 0.9rem;
    overflow: hidden;
    position: relative;
  }
  .footer-inner {
    display: grid; grid-template-columns: 2fr 1fr 1fr;
    gap: 3rem; margin-bottom: 2rem;
  }
  .footer-logo-wrap {
    display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem;
  }
  .footer-logo-wrap img { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--ouro); object-fit: cover; }
  .footer-logo-txt {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem; font-weight: 700; color: var(--ouro-claro);
  }
  .footer-logo-txt span { font-style: italic; }
  .footer-brand p {
    font-size: 0.85rem; color: rgba(253,248,240,0.4);
    line-height: 1.85; font-weight: 300; margin-top: 1rem; max-width: 300px;
  }
  .footer-col h5 {
    font-size: 0.65rem; letter-spacing: 0.3em; text-transform: uppercase;
    color: var(--ouro); font-weight: 700; margin-bottom: 1.2rem;
  }
  .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; }
  .footer-col a {
    font-size: 0.85rem; color: rgba(253,248,240,0.45);
    text-decoration: none; transition: color 0.25s;
  }
  .footer-col a:hover { color: var(--ouro-claro); }
  .footer-bottom {
    border-top: 1px solid rgba(200,151,58,0.1);
    padding-top: 1rem; padding-bottom: 0;
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem;
  }
  .footer-bottom p { font-size: 0.75rem; color: rgba(253,248,240,0.25); }
  .social-ic {
    font-size: 0.65rem; font-weight: 700; letter-spacing: 0.08em;
    color: rgba(253,248,240,0.35); text-decoration: none;
    border: 1px solid rgba(200,151,58,0.2); border-radius: 6px;
    padding: 0.3rem 0.55rem; transition: all 0.2s;
  }
  .social-ic:hover { color: var(--ouro-claro); border-color: var(--ouro); }
  .social-links { display: flex; gap: 0.5rem; }
  @media (max-width: 768px) {
    .footer-inner { grid-template-columns: 1fr 1fr; }
    footer { padding: 3rem 2rem 0.9rem; }
  }
  @media (max-width: 480px) {
    .footer-inner { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; text-align: center; }
    footer { padding: 2.5rem 1.2rem 0.9rem; }
  }


  /* ── Voting enhancements ────────────────────────── */
  .v3-winner {
    border-color: var(--ouro) !important;
    box-shadow: 0 0 0 3px rgba(200,151,58,.25), 0 16px 40px rgba(0,0,0,.4) !important;
  }
  .v3-voted-flash {
    animation: v3Flash .8s ease;
  }
  @keyframes v3Flash {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.04); filter: brightness(1.2); }
    100% { transform: scale(1); }
  }
  #v3cntPudim strong, #v3cntMousse strong {
    color: var(--ouro-claro); font-size: 1.1em;
  }


  


  /* ── Sobre: logo acima dos stats ── */
  .sobre-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .sobre-logo-top {
    width: 300px; max-width: 90%;
    object-fit: contain;
    animation: slowPulse 4s ease-in-out infinite;
    filter: drop-shadow(0 12px 30px rgba(200,151,58,0.3));
  }
  .sobre-stats {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    align-items: stretch;
  }


  /* ── Sobre: logo acima, 3 cards abaixo ── */
  .sobre-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .sobre-logo {
    width: 100%; max-width: 420px;
    image-rendering: high-quality;
    animation: slowPulse 4s ease-in-out infinite;
    filter: drop-shadow(0 20px 40px rgba(200,151,58,0.25));
  }
  .sobre-stats {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    align-items: stretch;
    width: 100%;
  }
  .stat-box {
    flex: 1;
  }


  /* Footer artifact prevention */
  footer * { box-sizing: border-box; }
  footer { clip-path: inset(0); }


  footer *, footer *::before, footer *::after {
    box-shadow: none !important;
  }
  footer::before, footer::after { display: none !important; content: none !important; }


  /* Footer social icons — same style as nav */
  .footer-social-ic {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 8px;
    border: 1px solid rgba(200,151,58,0.25);
    transition: all 0.25s ease;
    color: rgba(253,248,240,0.45);
  }
  .footer-social-ic:hover {
    border-color: var(--ouro);
    color: var(--ouro-claro);
    background: rgba(200,151,58,0.1);
  }
  .footer-social-ic svg { width: 18px; height: 18px; }




  :root {
    --ouro: #c8973a;
    --ouro-claro: #e8b85a;
    --ouro-escuro: #a07828;
    --caramelo: #d4803a;
    --marrom: #3d1f0a;
    --marrom-meio: #7a4520;
    --creme: #fdf8f0;
    --creme-quente: #f5ead8;
    --branco-quente: #fffcf5;
    --verde-limao: #8aaa60;
    --amarelo-maracuja: #e8c040;
    --texto-escuro: #2a1205;
    --texto-medio: #6b3d18;
    --texto-claro: #a06840;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; background: #1a0a02; }

  body {
    font-family: 'Nunito', sans-serif;
    background: #1a0a02;
    color: var(--texto-escuro);
    overflow-x: hidden;
  }

  /* GRAIN */
  body::after {
    content: '';
    position: fixed; inset: 0; z-index: 999;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    opacity: 0.6;
  }

  /* ── NAV ── */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 900;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.9rem 4rem;
    background: rgba(253,248,240,0.92);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(200,151,58,0.18);
    animation: fadeDown 0.9s ease both;
    transition: box-shadow 0.3s;
  }

  @keyframes fadeDown {
    from { opacity: 0; transform: translateY(-24px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .nav-logo-wrap {
    display: flex; align-items: center; gap: 0.75rem;
    text-decoration: none;
  }

  .nav-logo-img {
    width: 52px; height: 52px; border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--ouro);
    transition: transform 0.4s;
  }
  .nav-logo-wrap:hover .nav-logo-img { transform: rotate(8deg) scale(1.05); }

  .nav-logo-text {
    font-family: 'Playfair Display', serif;
    font-size: 1.35rem; font-weight: 700;
    color: var(--marrom); line-height: 1;
  }
  .nav-logo-text span { color: var(--ouro); font-style: italic; }

  .nav-links { display: flex; gap: 2rem; list-style: none; }
  .nav-links a {
    font-size: 0.8rem; font-weight: 600; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--texto-medio);
    text-decoration: none; position: relative;
    transition: color 0.3s;
  }
  .nav-links a::after {
    content: ''; position: absolute; bottom: -4px; left: 0;
    width: 0; height: 2px; background: var(--ouro);
    border-radius: 2px; transition: width 0.3s ease;
  }
  .nav-links a:hover { color: var(--ouro); }
  .nav-links a:hover::after { width: 100%; }

  .nav-cta {
    background: var(--marrom) !important; color: var(--creme) !important;
    padding: 0.5rem 1.3rem; border-radius: 30px;
  }
  .nav-cta::after { display: none !important; }
  .nav-cta:hover { background: var(--ouro) !important; color: var(--marrom) !important; }

  .nav-social-group {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
  }

  .nav-whatsapp {
    color: var(--marrom-meio);
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    transition: color .25s, background .25s, transform .25s;
    flex-shrink: 0;
  }
  .nav-whatsapp:hover {
    color: #25D366;
    background: rgba(37,211,102,.1);
    transform: scale(1.12);
  }

  .nav-instagram {
    color: var(--marrom-meio);
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    transition: color .25s, background .25s, transform .25s;
    flex-shrink: 0;
  }
  .nav-instagram:hover {
    color: #C13584;
    background: rgba(193,53,132,.08);
    transform: scale(1.12);
  }
  @media (max-width: 768px) {
    .nav-whatsapp {
    color: var(--marrom-meio);
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    transition: color .25s, background .25s, transform .25s;
    flex-shrink: 0;
  }
  .nav-whatsapp:hover {
    color: #25D366;
    background: rgba(37,211,102,.1);
    transform: scale(1.12);
  }

  .nav-instagram { order: -1; }
  }

  .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
  .hamburger span { display: block; width: 26px; height: 2px; background: var(--marrom); border-radius: 2px; transition: all 0.3s; }

  /* ── HERO ── */
  #hero {
    min-height: 100vh;
    display: grid; grid-template-columns: 1fr 1fr;
    align-items: center;
    padding: 100px 4rem 4rem;
    gap: 3rem;
    background: linear-gradient(135deg, var(--branco-quente) 0%, var(--creme) 60%, var(--creme-quente) 100%);
    position: relative; overflow: hidden;
  }

  .hero-orb {
    position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; opacity: 0.18;
    animation: drift 10s ease-in-out infinite alternate;
  }
  .hero-orb.o1 { width: 550px; height: 550px; background: var(--ouro); top: -200px; right: -100px; }
  .hero-orb.o2 { width: 300px; height: 300px; background: var(--caramelo); bottom: -100px; left: 30%; animation-delay: 3s; }
  .hero-orb.o3 { width: 180px; height: 180px; background: var(--verde-limao); top: 40%; left: -50px; animation-delay: 6s; opacity: 0.1; }

  @keyframes drift {
    from { transform: translate(0,0) scale(1); }
    to   { transform: translate(25px, 20px) scale(1.1); }
  }

  .hero-text {
    position: relative; z-index: 2;
    animation: slideLeft 1s cubic-bezier(0.16,1,0.3,1) 0.2s both;
  }

  @keyframes slideLeft {
    from { opacity: 0; transform: translateX(-40px); }
    to   { opacity: 1; transform: translateX(0); }
  }

  .hero-tag {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 0.7rem; letter-spacing: 0.35em; text-transform: uppercase;
    color: var(--ouro); font-weight: 600; margin-bottom: 1.5rem;
  }
  .hero-tag::before { content: '✦'; font-size: 0.6rem; }

  .hero-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(3rem, 5.5vw, 5.2rem);
    font-weight: 700; line-height: 1.05;
    color: var(--marrom); margin-bottom: 0.5rem;
  }
  .hero-title em { font-style: italic; color: var(--ouro); display: block; }

  .hero-slogan {
    font-size: 1rem; font-weight: 400; color: var(--texto-medio);
    margin-bottom: 1.8rem; font-style: italic; line-height: 1.7;
  }

  .hero-desc {
    font-size: 0.93rem; color: var(--texto-claro);
    line-height: 1.85; font-weight: 300; max-width: 440px;
    margin-bottom: 2.5rem;
  }

  .hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }

  .btn-primary {
    background: var(--marrom); color: var(--creme);
    padding: 1rem 2.2rem; font-size: 0.78rem;
    font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
    text-decoration: none; border: none; cursor: pointer;
    font-family: 'Nunito', sans-serif; border-radius: 50px;
    transition: all 0.3s; display: inline-block;
    box-shadow: 0 4px 20px rgba(61,31,10,0.25);
  }
  .btn-primary:hover { background: var(--ouro); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(200,151,58,0.35); }
  .btn-whatsapp:hover { background: #1ebe5d !important; transform: translateY(-2px); box-shadow: 0 8px 30px rgba(37,211,102,0.5) !important; }

  .btn-outline {
    background: transparent; color: var(--marrom);
    padding: 1rem 2.2rem; font-size: 0.78rem;
    font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
    text-decoration: none; border: 2px solid var(--marrom);
    cursor: pointer; font-family: 'Nunito', sans-serif;
    border-radius: 50px; transition: all 0.3s; display: inline-block;
  }
  .btn-outline:hover { background: var(--marrom); color: var(--creme); transform: translateY(-2px); }

  .hero-visual {
    position: relative; z-index: 2; display: flex;
    align-items: center; justify-content: center;
    animation: slideRight 1s cubic-bezier(0.16,1,0.3,1) 0.35s both;
  }

  @keyframes slideRight {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
  }

  .hero-img-ring {
    position: relative; width: 440px; height: 440px;
  }

  .hero-main-img {
    width: 100%; height: 100%; object-fit: cover;
    border-radius: 50%;
    border: 6px solid var(--ouro);
    box-shadow: 0 30px 80px rgba(61,31,10,0.25), 0 0 0 12px rgba(200,151,58,0.1);
    animation: heroFloat 5s ease-in-out infinite;
  }

  @keyframes heroFloat {
    0%, 100% { transform: translateY(0) rotate(-1deg); }
    50%       { transform: translateY(-14px) rotate(1deg); }
  }

  .hero-badge {
    position: absolute; bottom: 20px; right: -10px;
    background: var(--marrom); color: var(--ouro-claro);
    border-radius: 50%; width: 110px; height: 110px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; font-family: 'Playfair Display', serif;
    border: 3px solid var(--ouro); animation: spin 20s linear infinite;
    box-shadow: 0 10px 30px rgba(61,31,10,0.3);
  }

  @keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
  }

  .hero-badge-inner { animation: spinReverse 20s linear infinite; text-align: center; }

  @keyframes spinReverse {
    from { transform: rotate(0deg); }
    to   { transform: rotate(-360deg); }
  }

  .hero-badge-inner .num {
    font-size: 1.6rem; font-weight: 700; line-height: 1;
    display: block;
  }
  .hero-badge-inner .lbl {
    font-size: 0.5rem; letter-spacing: 0.1em; text-transform: uppercase;
    font-family: 'Nunito', sans-serif; font-weight: 600;
    display: block; margin-top: 2px;
  }

  /* ── FAIXA DOURADA ── */
  .faixa {
    background: linear-gradient(90deg, var(--marrom) 0%, var(--marrom-meio) 50%, var(--marrom) 100%);
    padding: 1rem 0; overflow: hidden; position: relative;
  }

  .faixa-track {
    display: inline-flex; gap: 2.5rem; white-space: nowrap;
    will-change: transform;
  }

  .faixa-item {
    font-family: 'Playfair Display', serif;
    font-size: 1rem; font-style: italic; color: var(--ouro-claro);
    display: flex; align-items: center; gap: 1.5rem;
  }
  .faixa-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--ouro); }

  /* ── SOBRE ── */
  #sobre {
    padding: 7rem 4rem;
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 5rem; align-items: center;
    background: var(--branco-quente);
    position: relative; overflow: hidden;
  }

  #sobre::before {
    content: '';
    position: absolute; top: -80px; right: -80px;
    width: 350px; height: 350px;
    background: radial-gradient(circle, rgba(200,151,58,0.1) 0%, transparent 70%);
    border-radius: 50%;
  }

  .sobre-visual { position: relative; }

  .sobre-logo {
    width: 100%; max-width: 520px;
    image-rendering: high-quality;
    animation: slowPulse 4s ease-in-out infinite;
    filter: drop-shadow(0 20px 40px rgba(200,151,58,0.25));
  }

  @keyframes slowPulse {
    0%, 100% { transform: scale(1); }
    50%       { transform: scale(1.03); }
  }

  .sobre-stats {
    display: flex; gap: 2rem; margin-top: 2rem; justify-content: center;
  }

  .stat-box {
    background: var(--marrom); color: var(--ouro-claro);
    padding: 1rem 1.5rem; border-radius: 12px; text-align: center;
    opacity: 0; transform: translateY(20px);
    transition: all 0.6s ease;
  }
  .stat-box.visible { opacity: 1; transform: translateY(0); }
  .stat-box:nth-child(2) { transition-delay: 0.15s; }
  .stat-box:nth-child(3) { transition-delay: 0.3s; }

  .stat-num {
    font-family: 'Playfair Display', serif;
    font-size: 2rem; font-weight: 700; display: block; line-height: 1;
  }
  .stat-lbl { font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; opacity: 0.7; margin-top: 4px; display: block; }

  .sobre-text .section-tag {
    font-size: 0.68rem; letter-spacing: 0.35em; text-transform: uppercase;
    color: var(--ouro); font-weight: 700;
    display: flex; align-items: center; gap: 10px; margin-bottom: 1rem;
  }
  .sobre-text .section-tag::before { content: ''; width: 30px; height: 2px; background: var(--ouro); border-radius: 2px; }

  .sobre-text h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 700; color: var(--marrom);
    line-height: 1.15; margin-bottom: 1.8rem;
  }
  .sobre-text h2 em { font-style: italic; color: var(--ouro); }

  .sobre-text p {
    font-size: 0.95rem; color: var(--texto-medio);
    line-height: 1.9; font-weight: 400; margin-bottom: 1.2rem;
  }

  .sobre-text .destaque {
    background: linear-gradient(135deg, var(--creme-quente), var(--creme));
    border-left: 4px solid var(--ouro); padding: 1rem 1.5rem;
    border-radius: 0 10px 10px 0; font-style: italic;
    color: var(--marrom-meio); margin-top: 1.5rem;
    font-size: 0.95rem; line-height: 1.7;
  }

  /* ── PRODUTOS ── */
  #cardapio {
    padding: 7rem 4rem;
    background: var(--creme);
  }

  .cardapio-header {
    text-align: center; margin-bottom: 5rem;
  }

  .section-tag-center {
    font-size: 0.68rem; letter-spacing: 0.35em; text-transform: uppercase;
    color: var(--ouro); font-weight: 700;
    display: inline-flex; align-items: center; gap: 12px; margin-bottom: 1rem;
  }
  .section-tag-center::before, .section-tag-center::after {
    content: ''; width: 30px; height: 2px; background: var(--ouro); border-radius: 2px;
  }

  .section-title-center {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700; color: var(--marrom); line-height: 1.1;
  }
  .section-title-center em { font-style: italic; color: var(--ouro); }

  /* Categoria label */
  .categoria-titulo {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem; font-weight: 500; font-style: italic;
    color: var(--marrom-meio); text-align: center;
    margin: 3rem 0 2rem;
    display: flex; align-items: center; justify-content: center; gap: 1rem;
  }
  .categoria-titulo::before, .categoria-titulo::after {
    content: ''; flex: 1; max-width: 100px; height: 1px; background: var(--ouro); opacity: 0.4;
  }

  .products-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 2.5rem; max-width: 1200px; margin: 0 auto;
  }

  .product-card {
    background: var(--branco-quente);
    border-radius: 20px;
    overflow: hidden; cursor: pointer;
    border: 1px solid rgba(200,151,58,0.12);
    opacity: 0; transform: translateY(40px);
    transition: opacity 0.8s, transform 0.8s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s;
    position: relative;
  }
  .product-card.visible, .product-card.vis { opacity: 1 !important; transform: translateY(0) !important; }
  .product-card:nth-child(2) { transition-delay: 0.1s; }
  .product-card:nth-child(3) { transition-delay: 0.2s; }
  .product-card:nth-child(4) { transition-delay: 0.3s; }

  .product-card:hover {
    box-shadow: 0 24px 60px rgba(61,31,10,0.14);
    transform: translateY(-6px) !important;
  }

  .card-img-wrap {
    height: 280px; overflow: hidden; position: relative;
    background: #1a0a02;
    display: flex; align-items: center; justify-content: center;
  }

  .card-img-wrap img {
    width: 88%; height: 88%; object-fit: contain;
    transition: transform 0.6s cubic-bezier(0.4,0,0.2,1);
    opacity: 0.97;
  }
  .product-card:hover .card-img-wrap img { transform: scale(1.05); }

  .card-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(61,31,10,0.5) 0%, transparent 60%);
  }

  .card-badge {
    position: absolute; top: 1rem; right: 1rem; z-index: 10;
    background: var(--ouro); color: var(--marrom);
    font-size: 0.62rem; font-weight: 700; letter-spacing: 0.15em;
    text-transform: uppercase; padding: 0.3rem 0.9rem; border-radius: 30px;
  }

  .card-tipo {
    position: absolute; top: 1rem; left: 1rem;
    background: rgba(61,31,10,0.75); color: var(--ouro-claro);
    font-size: 0.62rem; font-weight: 700; letter-spacing: 0.15em;
    text-transform: uppercase; padding: 0.3rem 0.9rem; border-radius: 30px;
    backdrop-filter: blur(8px);
  }

  .card-body { padding: 1.6rem 1.8rem 2rem; }

  .card-categoria {
    font-size: 0.65rem; letter-spacing: 0.3em; text-transform: uppercase;
    color: var(--ouro); font-weight: 700; margin-bottom: 0.4rem;
  }

  .card-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem; font-weight: 700; color: var(--marrom);
    line-height: 1.2; margin-bottom: 0.8rem;
  }

  .card-desc {
    font-size: 0.84rem; color: var(--texto-claro);
    line-height: 1.75; font-weight: 400; margin-bottom: 0.7rem;
  }

  .card-ingredientes {
    font-size: 0.75rem; color: var(--texto-claro); opacity: 0.8;
    font-style: italic; line-height: 1.6; margin-bottom: 1.4rem;
  }

  .card-

  .card-price {
    font-family: 'Playfair Display', serif;
    font-size: 1.7rem; font-weight: 700; color: var(--caramelo);
    line-height: 1;
  }
  .card-weight {
    font-size: 0.7rem; color: var(--texto-claro); margin-top: 2px; font-style: italic;
  }

  .card-btn {
    background: var(--marrom); color: var(--ouro-claro);
    border: none; padding: 0.65rem 1.4rem; border-radius: 30px;
    font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
    text-transform: uppercase; cursor: pointer;
    font-family: 'Nunito', sans-serif;
    transition: all 0.3s;
  }
  .card-btn:hover { background: var(--ouro); color: var(--marrom); transform: scale(1.05); }

  /* ── GALERIA REAL ── */
  #galeria {
    padding: 5rem 4rem;
    background: var(--marrom);
  }

  /* ── COMO FUNCIONA ── */
  #como {
    padding: 7rem 4rem;
    background: var(--creme-quente);
  }

  .como-inner { max-width: 1100px; margin: 0 auto; }
  .como-header { text-align: center; margin-bottom: 4rem; }

  .passos {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }

  .passo {
    text-align: center; padding: 2rem 1.5rem;
    background: var(--branco-quente); border-radius: 16px;
    border: 1px solid rgba(200,151,58,0.12);
    opacity: 0; transform: translateY(30px);
    transition: all 0.7s ease;
    position: relative; overflow: hidden;
  }
  .passo.visible { opacity: 1; transform: translateY(0); }
  .passo:nth-child(2) { transition-delay: 0.12s; }
  .passo:nth-child(3) { transition-delay: 0.24s; }
  .passo:nth-child(4) { transition-delay: 0.36s; }

  .passo::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--ouro), var(--caramelo));
    transform: scaleX(0); transform-origin: left;
    transition: transform 0.4s ease;
  }
  .passo:hover::before { transform: scaleX(1); }

  .passo-icon {
    font-size: 2.5rem; margin-bottom: 1rem;
    display: block;
    animation: wobble 3s ease-in-out infinite;
  }
  .passo:nth-child(2) .passo-icon { animation-delay: 0.5s; }
  .passo:nth-child(3) .passo-icon { animation-delay: 1s; }
  .passo:nth-child(4) .passo-icon { animation-delay: 1.5s; }

  @keyframes wobble {
    0%, 100% { transform: rotate(-3deg); }
    50%       { transform: rotate(3deg) scale(1.1); }
  }

  .passo-num {
    font-family: 'Playfair Display', serif;
    font-size: 3rem; font-weight: 700; color: rgba(200,151,58,0.15);
    line-height: 1; position: absolute; top: 0.5rem; right: 1rem;
  }

  .passo h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem; font-weight: 700; color: var(--marrom);
    margin-bottom: 0.5rem;
  }

  .passo p {
    font-size: 0.82rem; color: var(--texto-claro);
    line-height: 1.7; font-weight: 400;
  }

  /* ── PEDIDO ── */
  #pedido {
    padding: 7rem 4rem;
    background: linear-gradient(135deg, var(--marrom) 0%, #5a2a0f 100%);
    position: relative; overflow: hidden;
  }

  #pedido::before {
    content: '';
    position: absolute; top: -150px; right: -150px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(200,151,58,0.15) 0%, transparent 70%);
    border-radius: 50%;
  }

  .pedido-inner {
    max-width: 720px; margin: 0 auto; position: relative; z-index: 1;
    text-align: center;
  }

  #pedido .section-tag-center { color: var(--ouro-claro); }
  #pedido .section-tag-center::before, #pedido .section-tag-center::after { background: var(--ouro-claro); }

  .pedido-inner h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700; color: var(--creme); line-height: 1.15;
    margin-bottom: 1rem;
  }
  .pedido-inner h2 em { color: var(--ouro-claro); font-style: italic; }

  .pedido-inner > p {
    font-size: 0.93rem; color: rgba(253,248,240,0.65);
    line-height: 1.85; margin-bottom: 3rem; font-weight: 300;
  }

  .form-pedido {
    display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem;
    text-align: left;
  }

  .form-group { display: flex; flex-direction: column; gap: 0.4rem; }
  .form-group.full { grid-column: 1 / -1; }

  .form-group label {
    font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--ouro-claro); font-weight: 700;
  }

  .form-group input, .form-group select, .form-group textarea {
    background: rgba(253,248,240,0.07); border: 1px solid rgba(200,151,58,0.3);
    padding: 0.85rem 1rem; font-size: 0.9rem;
    font-family: 'Nunito', sans-serif; color: var(--creme);
    border-radius: 10px; outline: none;
    transition: border-color 0.3s, background 0.3s;
  }
  .form-group input::placeholder, .form-group textarea::placeholder { color: rgba(253,248,240,0.3); }
  #f_data::-webkit-datetime-edit-month-field { order: 2; }
  #f_data::-webkit-datetime-edit-day-field   { order: 1; }
  #f_data::-webkit-datetime-edit-year-field  { order: 3; }
  #f_data::-webkit-datetime-edit-text:first-of-type  { order: 15; }
  #f_data::-webkit-datetime-edit-text:last-of-type   { order: 25; }

  .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    border-color: var(--ouro);
    background: rgba(253,248,240,0.1);
  }
  .form-group select option { background: var(--marrom); color: var(--creme); }

  /* ── Sabor rows with counter ── */
  /* ── Sabor cards (nome em cima, contador embaixo) ── */
  .sabor-rows {
    display: grid; grid-template-columns: 1fr 1fr; gap: .55rem;
    padding: .75rem .85rem;
    background: rgba(253,248,240,.04);
    border: 1.5px solid rgba(253,248,240,.13);
    border-radius: 12px;
    transition: border-color .25s;
  }
  .sabor-rows:focus-within { border-color: var(--ouro); }

  /* Caixa Sortida ocupa linha inteira */
  .sabor-row:last-child { grid-column: 1 / -1; }
  .sabor-row:last-child .sabor-counter { justify-content: center; }

  .sabor-row {
    display: flex; flex-direction: column; align-items: flex-start; gap: .4rem;
    padding: .55rem .6rem;
    border-radius: 10px;
    border: 1px solid rgba(253,248,240,.08);
    background: rgba(255,255,255,.03);
    transition: background .2s, border-color .2s;
  }
  .sabor-row:hover { background: rgba(200,150,50,.07); border-color: rgba(200,150,50,.2); }
  .sabor-row.active {
    background: rgba(200,150,50,.13);
    border-color: rgba(var(--ouro-rgb, 200,160,60),.45);
  }

  .sabor-row-name {
    font-size: .78rem; font-weight: 600;
    color: rgba(253,248,240,.65);
    font-family: 'Nunito', sans-serif;
    line-height: 1.2;
    transition: color .2s;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
  }
  .sabor-row.active .sabor-row-name { color: var(--ouro); }

  /* Counter inline — estilo react-aria */
  .sabor-counter {
    display: inline-flex; align-items: stretch;
    border: 1px solid rgba(253,248,240,.18);
    border-radius: 7px;
    overflow: hidden;
    height: 30px;
  }

  .sc-btn {
    width: 30px;
    border: none;
    background: rgba(255,255,255,.06);
    color: rgba(253,248,240,.6);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s, color .15s;
    flex-shrink: 0;
  }
  .sc-minus { border-right: 1px solid rgba(253,248,240,.12); }
  .sc-plus  { border-left:  1px solid rgba(253,248,240,.12); }
  .sc-btn:hover:not(:disabled) { background: rgba(255,255,255,.14); color: var(--creme); }
  .sc-btn:active:not(:disabled) { background: rgba(255,255,255,.2); }
  .sc-btn:disabled { opacity: .25; cursor: default; }

  .sc-display {
    width: 38px;
    background: rgba(0,0,0,.2);
    display: flex; align-items: center; justify-content: center;
    border: none;
  }
  .sc-digit {
    font-family: 'Nunito', sans-serif;
    font-size: .88rem; font-weight: 800;
    color: var(--ouro);
    display: block;
    transition: opacity .12s;
  }
  .sc-digit.pop-up   { animation: scPop .18s ease; }
  .sc-digit.pop-down { animation: scPop .18s ease; }
  @keyframes scPop {
    0%   { opacity: .3; transform: scale(.8); }
    60%  { transform: scale(1.15); }
    100% { opacity: 1;  transform: scale(1); }
  }

  .sabor-row-header {
    display: flex; justify-content: space-between; align-items: flex-start;
    width: 100%; gap: .4rem;
  }

  .sabor-row-price {
    font-size: .72rem; font-weight: 600;
    color: rgba(200,151,58,.65);
    white-space: nowrap; flex-shrink: 0;
    font-family: 'Nunito', sans-serif;
    transition: color .2s;
  }
  .sabor-row.active .sabor-row-price { color: var(--ouro); }

  .sabor-row-

  .sabor-subtotal {
    font-size: .72rem; font-weight: 700;
    color: rgba(200,151,58,.0);
    font-family: 'Nunito', sans-serif;
    transition: color .25s, opacity .25s;
    white-space: nowrap;
  }
  .sabor-row.active .sabor-subtotal {
    color: var(--ouro-claro);
  }

  .sabor-total-wrap {
    display: none; flex-direction: column;
    padding: .7rem .85rem .4rem;
    border-top: 1px solid rgba(200,151,58,.15);
    margin-top: .2rem;
  }

  .sabor-total-linhas {
    display: flex; flex-direction: column; gap: .3rem;
    width: 100%;
  }

  .sabor-total-linha {
    display: flex; justify-content: flex-end; align-items: center; gap: .6rem;
  }

  .sabor-total-final {
    margin-top: .2rem; padding-top: .4rem;
    border-top: 1px solid rgba(200,151,58,.2);
  }

  .sabor-total-label {
    font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
    color: rgba(253,248,240,.35); font-weight: 700;
    font-family: 'Nunito', sans-serif;
  }

  .sabor-total-sub {
    font-size: .88rem; font-weight: 600;
    color: rgba(253,248,240,.45);
    font-family: 'Nunito', sans-serif;
  }

  .sabor-desconto-linha {
    display: flex; justify-content: flex-end; align-items: center; gap: .6rem;
  }

  .sabor-desconto-label {
    font-size: .72rem; letter-spacing: .08em;
    color: #6ecf7f; font-weight: 700;
    font-family: 'Nunito', sans-serif;
  }

  .sabor-desconto-valor {
    font-size: .9rem; font-weight: 800;
    color: #6ecf7f;
    font-family: 'Nunito', sans-serif;
  }

  .sabor-total-value {
    font-size: 1.15rem; font-weight: 800;
    color: var(--ouro);
    font-family: 'Playfair Display', serif;
    transition: transform .2s;
  }
  .sabor-total-value.pop { animation: scPop .22s ease; }

  .sabor-erro { color: #e07060; font-size: .78rem; margin-top: .3rem; }
  .form-group textarea { resize: none; height: 100px; }

  .form-submit { grid-column: 1 / -1; text-align: center; margin-top: 0.5rem; }

  /* ── RODAPÉ ── */

  .

  .

  .
  .

  .
  .

  .

  .
  .
  .

  .

  .

  .social-links { display: flex; gap: 0.75rem; }
  .social-links a {
    width: 38px; height: 38px;
    border: 1px solid rgba(200,151,58,0.25);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    color: rgba(253,248,240,0.4); font-size: 0.8rem;
    text-decoration: none; font-weight: 700;
    transition: all 0.3s;
  }
  .social-links a:hover { border-color: var(--ouro); color: var(--ouro); transform: translateY(-2px); }

  /* ── TOAST ── */
  .toast {
    position: fixed; bottom: 2rem; right: 2rem; z-index: 9999;
    background: var(--marrom); color: var(--ouro-claro);
    padding: 1rem 1.8rem; border-radius: 50px;
    border: 1px solid var(--ouro);
    font-size: 0.85rem; font-weight: 600;
    transform: translateY(100px); opacity: 0;
    transition: all 0.4s cubic-bezier(0.34,1.56,0.64,1);
    pointer-events: none; box-shadow: 0 10px 30px rgba(61,31,10,0.3);
  }
  .toast.show { transform: translateY(0); opacity: 1; }

  /* ── REVEAL ── */
  .reveal {
    opacity: 0; transform: translateY(28px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16,1,0.3,1);
  }
  .reveal.visible { opacity: 1; transform: translateY(0); }

  /* ── RESPONSIVO ── */
  @media (max-width: 1024px) {
    nav { padding: 0.8rem 2rem; }
    #hero { grid-template-columns: 1fr; padding: 110px 2rem 4rem; text-align: center; }
    .hero-text { order: 2; }
    .hero-visual { order: 1; }
    .hero-desc { margin: 0 auto 2rem; }
    .hero-btns { justify-content: center; }
    .hero-img-ring { width: 320px; height: 320px; }
    #sobre { grid-template-columns: 1fr; padding: 5rem 2rem; }
    .sobre-logo { max-width: 280px; margin: 0 auto; display: block; }
    .passos { grid-template-columns: 1fr 1fr; }
    .
    #cardapio { padding: 5rem 2rem; }
    #sobre, #galeria, #como, #pedido { padding: 5rem 2rem; }
  }

  @media (max-width: 768px) {
    .nav-links {
      display: none; position: fixed; inset: 0; top: 68px;
      flex-direction: column; align-items: center; justify-content: center;
      background: rgba(253,248,240,0.97); gap: 2rem; z-index: 800;
      list-style: none;
    }
    .nav-links.open { display: flex; }
    .nav-links a { font-size: 1.1rem; }
    .hamburger { display: flex; }
    .form-pedido { grid-template-columns: 1fr; }
    .form-group.full { grid-column: 1; }
    .
    .passos { grid-template-columns: 1fr; }
    .
    .sabor-rows { grid-template-columns: 1fr; }
    .sabor-row:last-child { grid-column: 1; }
    .products-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
      .promo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    max-width: 900px;
    margin: 0 auto;
  }
  .promo-duo-wrap > div {
    width: 420px;
    max-width: 100%;
  }
  
  }

  @media (max-width: 480px) {
    .hero-img-ring { width: 240px; height: 240px; }
    .hero-badge { width: 80px; height: 80px; right: -5px; bottom: 10px; }
    .hero-badge-inner .num { font-size: 1.2rem; }
    .hero-btns { flex-direction: column; align-items: center; }
    .btn-primary, .btn-outline { width: 100%; max-width: 280px; text-align: center; }
    .sabor-rows { grid-template-columns: 1fr; }
    .sabor-row:last-child { grid-column: 1; }
    .products-grid { grid-template-columns: 1fr; }
    .card-img-wrap { height: 220px; }
    .sobre-stats { flex-direction: column; align-items: center; gap: 1rem; }
    .stat-box { width: 100%; max-width: 220px; }
    nav { padding: 0.7rem 1rem; }
    #pedido { padding: 4rem 1.2rem; }
    #cardapio { padding: 4rem 1rem; }
    #como, #sobre, #galeria { padding: 4rem 1rem; }
    .pedido-inner h2 { font-size: 1.6rem; }
    .sabor-total-wrap { padding: .5rem .6rem .2rem; }
    .form-pedido { gap: .9rem; }
  }
  #promocoes {
    padding: 7rem 4rem;
    background: linear-gradient(160deg, #2a1005 0%, #1a0a02 60%, #2d1408 100%);
    position: relative; overflow: hidden;
  }
  #promocoes::before {
    content: '';
    position: absolute; top: -120px; left: -120px;
    width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(200,151,58,.12) 0%, transparent 70%);
    border-radius: 50%; pointer-events: none;
  }
  #promocoes::after {
    content: '';
    position: absolute; bottom: -80px; right: -80px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(212,128,58,.1) 0%, transparent 70%);
    border-radius: 50%; pointer-events: none;
  }

  .promo-inner { max-width: 1100px; margin: 0 auto; position: relative; z-index: 1; }

  .promo-header { text-align: center; margin-bottom: 3.5rem; }
  .promo-header .section-tag-center { color: var(--ouro-claro); }
  .promo-header .section-tag-center::before,
  .promo-header .section-tag-center::after { background: var(--ouro-claro); }
  .promo-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 700; color: var(--creme); line-height: 1.15;
    margin-top: .5rem;
  }
  .promo-header h2 em { color: var(--ouro); font-style: italic; }
  .promo-header p {
    margin-top: .7rem; font-size: .9rem;
    color: rgba(253,248,240,.5); max-width: 460px; margin-inline: auto;
    line-height: 1.7;
  }
  .promo-card {
    border-radius: 20px;
    border: 1px solid rgba(200,151,58,.2);
    background: rgba(255,255,255,.04);
    padding: 2rem 1.6rem 1.8rem;
    display: flex; flex-direction: column; gap: .6rem;
    position: relative; overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s;
  }
  .promo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(0,0,0,.4);
    border-color: rgba(200,151,58,.5);
  }
  .promo-card::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--ouro), var(--caramelo));
  }

  .promo-card.destaque {
    border-color: rgba(200,151,58,.45);
    background: rgba(200,151,58,.07);
  }
  .promo-card.destaque::before {
    background: linear-gradient(90deg, var(--ouro-claro), var(--ouro), var(--caramelo));
    height: 4px;
  }

  .promo-badge-top {
    position: absolute; top: 14px; right: 14px;
    background: var(--ouro); color: var(--marrom);
    font-size: .6rem; font-weight: 800; letter-spacing: .1em;
    text-transform: uppercase; padding: .25rem .7rem; border-radius: 30px;
  }
  .promo-card.destaque .promo-badge-top {
    background: var(--caramelo); color: var(--creme);
  }

  .promo-icon { font-size: 2.2rem; line-height: 1; margin-bottom: .2rem; }

  .promo-nome {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem; font-weight: 700; color: var(--creme); line-height: 1.2;
  }

  .promo-desc {
    font-size: .82rem; color: rgba(253,248,240,.5);
    line-height: 1.6; font-weight: 300; flex: 1;
  }

  .promo-itens {
    display: flex; flex-direction: column; gap: .3rem;
    margin: .4rem 0;
  }
  .promo-item {
    font-size: .78rem; color: rgba(253,248,240,.65);
    display: flex; align-items: center; gap: .5rem;
  }
  .promo-item::before { content: '✦'; color: var(--ouro); font-size: .5rem; flex-shrink: 0; }

  .promo-precos {
    display: flex; align-items: baseline; gap: .6rem;
    margin-top: .5rem;
  }
  .promo-de {
    font-size: .85rem; color: rgba(253,248,240,.3);
    text-decoration: line-through;
    font-family: 'Nunito', sans-serif;
  }
  .promo-por {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem; font-weight: 700; color: var(--ouro); line-height: 1;
  }
  .promo-card.destaque .promo-por { color: var(--ouro-claro); font-size: 1.8rem; }
  .promo-economia {
    font-size: .7rem; font-weight: 700; letter-spacing: .08em;
    color: #6ecf7f; background: rgba(110,207,127,.12);
    padding: .15rem .5rem; border-radius: 20px;
    white-space: nowrap;
  }

  .promo-sabor-sel {
    display: flex; gap: .5rem; width: 100%; margin: .3rem 0;
  }

  .promo-sabor-opt {
    flex: 1; padding: .55rem .5rem;
    border: 1.5px solid rgba(200,151,58,.25);
    border-radius: 10px;
    background: rgba(255,255,255,.04);
    color: rgba(253,248,240,.55);
    font-family: 'Nunito', sans-serif;
    font-size: .75rem; font-weight: 600;
    cursor: pointer; text-align: center; line-height: 1.4;
    transition: all .2s;
  }
  .promo-sabor-opt small {
    font-size: .65rem; font-weight: 400;
    opacity: .7; display: block; margin-top: 2px;
  }
  .promo-sabor-opt:hover {
    border-color: rgba(200,151,58,.5);
    color: rgba(253,248,240,.8);
    background: rgba(200,151,58,.08);
  }
  .promo-sabor-opt.active {
    border-color: var(--ouro);
    background: rgba(200,151,58,.15);
    color: var(--ouro-claro);
  }
  .promo-sabor-opt.active small { opacity: 1; }

  .promo-btn {
    margin-top: .8rem;
    background: transparent; border: 1.5px solid rgba(200,151,58,.4);
    color: var(--ouro-claro); padding: .7rem 1.2rem; border-radius: 30px;
    font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    cursor: pointer; font-family: 'Nunito', sans-serif;
    transition: all .25s; width: 100%;
  }
  .promo-btn:hover { background: var(--ouro); border-color: var(--ouro); color: var(--marrom); }
  .promo-card.destaque .promo-btn {
    background: var(--ouro); border-color: var(--ouro); color: var(--marrom);
  }
  .promo-card.destaque .promo-btn:hover {
    background: var(--ouro-claro); border-color: var(--ouro-claro);
  }

  @media (max-width: 1024px) {
    #promocoes { padding: 5rem 2rem; }
  .promo-card:last-child { grid-column: 1 / -1; max-width: 420px; margin: 0 auto; width: 100%; }
  }

  /* ══════════════════════════════════════
     VOTAÇÃO v3 — Card Design
  ══════════════════════════════════════ */
  #votacao {
    background: #1e0f06;
    padding: 5rem 2rem 5.5rem;
    position: relative;
    overflow: hidden;
  }
  #votacao::before {
    content:'';
    position:absolute; inset:0; z-index:0;
    background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(120,55,10,.35) 0%, transparent 70%);
  }

  .votacao-inner3 {
    position: relative; z-index: 1;
    max-width: 960px; margin: 0 auto;
    text-align: center;
  }

  .votacao-header {
    margin-bottom: 3rem;
  }
  .votacao-header .section-tag-center { color: var(--ouro-claro); }
  .votacao-header .section-tag-center::before,
  .votacao-header .section-tag-center::after { background: var(--ouro-claro); }
  .votacao-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    color: #f5e6cc; margin: .6rem 0 .4rem; font-weight: 700;
  }
  .votacao-header h2 em { color: var(--ouro); font-style: italic; }
  .votacao-header p {
    color: rgba(255,220,160,.6); font-size: .9rem;
    max-width: 480px; margin: 0 auto;
  }

  /* ── Arena ── */
  .v3-arena {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
  }

  /* ── Vote Cards ── */
  .v3-card {
    flex: 1;
    max-width: 340px;
    background: rgba(255,255,255,.055);
    border: 1.5px solid rgba(255,220,160,.12);
    border-radius: 20px;
    padding: 2.2rem 1.8rem 1.8rem;
    display: flex; flex-direction: column; align-items: center; gap: 1rem;
    cursor: pointer;
    transition: background .3s, border-color .3s, transform .3s;
    position: relative; overflow: hidden;
  }
  .v3-card:hover {
    background: rgba(200,130,30,.1);
    border-color: rgba(240,185,60,.4);
    transform: translateY(-4px);
  }
  .v3-card.voted {
    border-color: rgba(240,185,60,.65);
    background: rgba(200,130,30,.15);
  }
  .v3-card.voted .v3-icon { animation: vIconPop .5s cubic-bezier(.34,1.56,.64,1); }

  /* icon */
  .v3-icon {
    font-size: 3.8rem; line-height: 1;
    transition: transform .3s;
    display: block;
  }
  .v3-card:hover .v3-icon { transform: scale(1.18) rotate(-6deg); }

  .v3-name {
    font-family: 'Playfair Display', serif;
    font-size: 1.55rem; font-weight: 700;
    color: var(--ouro);
  }
  .v3-desc {
    font-size: .82rem; color: rgba(255,220,160,.55);
    line-height: 1.5; text-align: center;
    margin: -.2rem 0 .2rem;
  }

  /* VOTAR button */
  .v3-btn {
    background: linear-gradient(135deg, #e8922a, #c06010);
    color: #fff;
    font-family: 'Nunito', sans-serif;
    font-size: .75rem; font-weight: 900;
    letter-spacing: .18em; text-transform: uppercase;
    border: none; border-radius: 50px;
    padding: .75rem 2.2rem;
    cursor: pointer;
    transition: background .25s, transform .25s, box-shadow .25s;
    box-shadow: 0 4px 18px rgba(200,100,10,.35);
    margin-top: .3rem;
  }
  .v3-btn:hover {
    background: linear-gradient(135deg, #f0a040, #d07020);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(200,100,10,.5);
  }
  .v3-btn:active { transform: translateY(0); }
  .v3-card.voted .v3-btn {
    background: linear-gradient(135deg, #6a8a3a, #4a6a1a);
    box-shadow: 0 4px 18px rgba(60,100,20,.3);
  }

  .v3-count {
    font-size: .72rem; letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,220,160,.4);
    font-weight: 600;
  }

  /* hearts container */
  .v3-hearts { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
  .v3-heart {
    position:absolute; font-size:1.3rem;
    opacity:0; animation: heartFloat 1.2s ease-out forwards;
  }
  @keyframes heartFloat {
    0%   { opacity:1; transform:translateY(0) scale(1); }
    100% { opacity:0; transform:translateY(-80px) scale(.4); }
  }
  @keyframes vIconPop {
    0%  { transform:scale(.6) rotate(-15deg); }
    70% { transform:scale(1.25) rotate(8deg); }
    100%{ transform:scale(1) rotate(0); }
  }

  /* ── Center VS divider ── */
  .v3-center {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 1rem .5rem;
    width: 100px; flex-shrink: 0;
    gap: 0;
  }

  .v3-vsbar-wrap {
    display: flex; flex-direction: column;
    align-items: center;
    flex: 1; width: 100%;
  }

  /* vertical line top/bottom */
  .v3-vsbar-line {
    width: 5px;
    flex: 1;
    min-height: 80px;
    background: linear-gradient(to bottom, #c06010, #e8a030);
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 12px rgba(220,140,20,.5);
  }
  .v3-vsbar-line.top {
    background: linear-gradient(to bottom, #e8a030, #f0c060);
  }
  .v3-vsbar-line.bottom {
    background: rgba(255,255,255,.08);
  }

  /* thermometer fill inside bottom line */
  .v3-thermo-fill {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(to top, #c06010, #e8a030, #f0c060);
    border-radius: 3px;
    height: 0%;
    transition: height .9s cubic-bezier(.22,1,.36,1);
    box-shadow: 0 0 8px rgba(220,140,20,.4);
  }

  .v3-vs-circle {
    width: 64px; height: 64px; border-radius: 50%;
    background: radial-gradient(circle at 38% 35%, #f0b040, #c06010 70%);
    display: flex; align-items: center; justify-content: center;
    font-family: 'Nunito', sans-serif;
    font-size: 1.05rem; font-weight: 900; color: #fff;
    letter-spacing: .05em;
    box-shadow: 0 0 0 3px rgba(240,180,60,.25),
                0 0 24px rgba(220,140,20,.55),
                0 4px 16px rgba(0,0,0,.4);
    flex-shrink: 0; z-index: 2;
    position: relative;
  }
  /* glow ring */
  .v3-vs-circle::before {
    content:'';
    position:absolute; inset:-5px; border-radius:50%;
    background: radial-gradient(circle, rgba(240,180,60,.25) 0%, transparent 70%);
    animation: vsGlow 2s ease-in-out infinite alternate;
  }
  @keyframes vsGlow {
    from { opacity:.5; transform:scale(1); }
    to   { opacity:1;  transform:scale(1.12); }
  }

  .v3-status {
    font-size: .65rem; letter-spacing: .05em;
    text-transform: uppercase;
    color: rgba(255,220,160,.4);
    text-align: center; line-height: 1.4;
    margin-top: .7rem;
    max-width: 90px;
  }

  @media (max-width: 680px) {
    .v3-arena { flex-direction: column; align-items: center; gap: 1rem; }
    .v3-center { flex-direction: row; width: 100%; max-width: 340px; padding: .6rem 1rem; height: 54px; gap: 1rem; }
    .v3-thermo { flex: 1; height: 6px; min-height: unset; }
    .v3-thermo-fill { top:0; bottom:auto; width:0%; height:100%; transition: width .9s cubic-bezier(.22,1,.36,1); }
    .v3-status { display: none; }
    .v3-card { max-width: 340px; width: 100%; }
  }


  /* ── HERO VIDEO BACKGROUND ── */
  #hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 110px 4rem 4rem;
    position: relative; overflow: hidden;
    text-align: center;
    background: #1a0d05;
  }

  /* Video background */
  .hero-video-bg {
    position: absolute; inset: 0; z-index: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    pointer-events: none;
  }

  /* Dark gradient overlay for text readability */
  #hero::before {
    content: '';
    position: absolute; inset: 0; z-index: 1;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(10, 5, 2, 0.45) 0%,
      rgba(20, 10, 3, 0.35) 40%,
      rgba(10, 5, 2, 0.6) 100%
    );
  }

  /* Warm grain overlay */
  #hero::after {
    content: '';
    position: absolute; inset: 0; z-index: 2;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    opacity: 0.3;
  }

  .hero-orb { display: none; }

  .hero-eyebrow {
    position: relative; z-index: 3;
    font-size: 0.68rem; letter-spacing: 0.4em;
    text-transform: uppercase; font-weight: 500;
    color: rgba(255, 220, 160, 0.85);
    margin-bottom: 1rem;
    opacity: 0; animation: hFadeUp .7s .1s ease both;
  }

  .hero-logo-img {
    width: clamp(260px, 55vw, 720px);
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 4px 24px rgba(0,0,0,0.45));
  }

  .hero-title-gallery {
    position: relative; z-index: 3;
    font-family: 'Playfair Display', serif;
    font-size: clamp(3.2rem, 7vw, 6.5rem);
    font-weight: 700; line-height: 1.05;
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: none;
    text-shadow: 0 2px 40px rgba(0,0,0,0.4);
    margin-bottom: 0.4rem;
    opacity: 0; animation: hFadeUp .7s .25s ease both;
  }
  .hero-baita {
    font-family: 'Distory Script', cursive;
    font-style: normal;
    font-weight: 400;
  }

  .hero-doce {
    font-family: 'Maglite', serif;
    padding-right: 0.12em;
    display: inline-block;
  }

  .hero-title-gallery em {
    font-style: italic;
    background: linear-gradient(135deg, #f0c060, #e8924a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .hero-slogan-gal {
    position: relative; z-index: 3;
    font-size: 1rem; color: rgba(255,240,210,0.8);
    font-style: italic; margin-bottom: 0.5rem;
    opacity: 0; animation: hFadeUp .7s .38s ease both;
    text-shadow: 0 1px 8px rgba(0,0,0,0.5);
  }

  @keyframes hFadeUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .hero-btns-gal {
    position: relative; z-index: 3;
    display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;
    margin-top: 2.2rem;
    opacity: 0; animation: hFadeUp .7s .6s ease both;
  }

  /* Botão Promoções */
  #hero .btn-promo {
    color: var(--amarelo-maracuja) !important;
    border-color: var(--amarelo-maracuja) !important;
  }
  #hero .btn-promo:hover {
    background: rgba(232,192,64,0.18) !important;
    color: #fff !important;
    border-color: #f5d060 !important;
  }

  /* Scroll indicator */


  /* Hero btn overrides for dark bg */
  #hero .btn-outline {
    color: rgba(255,220,160,0.9);
    border-color: rgba(255,220,160,0.6);
  }
  #hero .btn-outline:hover {
    background: rgba(255,200,100,0.15);
    color: #fff;
    border-color: rgba(255,220,160,0.9);
  }
  #hero .btn-primary {
    background: linear-gradient(135deg, #e8924a, #c96a20);
    border-color: transparent;
    box-shadow: 0 4px 20px rgba(200,100,30,0.4);
  }
  #hero .btn-primary:hover {
    background: linear-gradient(135deg, #f0a060, #d97830);
    box-shadow: 0 6px 28px rgba(200,100,30,0.5);
  }

  @media (max-width: 900px) {
    #
  /* Fallback: ensure cards become visible even if observer doesn't fire */
  .product-card {
    animation: cardReveal 0.6s ease forwards;
  }
  @keyframes cardReveal {
    0%   { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
  }
hero { padding: 90px 1.5rem 3rem; }
  }


  /* Fallback animations for como funciona and sobre stats */
  .passo {
    animation: passoReveal 0.7s ease forwards;
  }
  .passo:nth-child(2) { animation-delay: 0.1s; }
  .passo:nth-child(3) { animation-delay: 0.2s; }
  .passo:nth-child(4) { animation-delay: 0.3s; }
  @keyframes passoReveal {
    0%   { opacity: 0; transform: translateY(30px); }
    100% { opacity: 1; transform: translateY(0); }
  }
  .stat-box {
    animation: statReveal 0.6s ease forwards;
  }
  .stat-box:nth-child(2) { animation-delay: 0.1s; }
  .stat-box:nth-child(3) { animation-delay: 0.2s; }
  @keyframes statReveal {
    0%   { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
  }



@keyframes alertSlideIn {
  0%   { opacity:0; transform: scale(.88) translateY(12px); }
  100% { opacity:1; transform: scale(1)   translateY(0); }
}



@keyframes alertSlideIn {
  0%   { opacity:0; transform: scale(.88) translateY(12px); }
  100% { opacity:1; transform: scale(1)   translateY(0); }
}
