/* ===== Eu Amo Ubatuba — tema da loja (white-label premium) ===== */
:root{
  --bg:#faf8f4; --card:#ffffff; --ink:#1a1f24; --muted:#79828c; --line:#ece6dc;
  --r:18px; --r-sm:14px;
  --sh1:0 1px 2px rgba(20,25,30,.04), 0 4px 14px rgba(20,25,30,.05);
  --sh2:0 10px 30px rgba(20,25,30,.12);
  --cor:#0d5c63; --cor2:#0d5c63;
}
[data-tema="escuro"]{
  --bg:#10151a; --card:#1a2128; --ink:#eef2f5; --muted:#9aa6b1; --line:#28323b;
  --sh1:0 1px 2px rgba(0,0,0,.3), 0 6px 18px rgba(0,0,0,.25);
  --sh2:0 14px 34px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Fraunces,Georgia,serif;letter-spacing:-.015em;margin:0}
img{max-width:100%;display:block}
a{color:var(--cor);text-decoration:none}
.wrap{max-width:940px;margin:0 auto;padding:0 16px}

/* ===== Herói ===== */
.hero{
  position:relative; color:#fff; padding:0;
  background:var(--cor);
  background:radial-gradient(120% 140% at 85% -10%, rgba(255,255,255,.22), transparent 55%),
             linear-gradient(150deg, var(--cor) 0%, color-mix(in srgb, var(--cor) 65%, #000) 100%);
  background-size:cover; background-position:center;
  border-radius:0 0 30px 30px; box-shadow:var(--sh1); overflow:hidden;
}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.28));pointer-events:none}
.hero-in{position:relative;z-index:1;display:flex;gap:16px;align-items:center;max-width:940px;margin:0 auto;width:100%;padding:30px 18px 26px;animation:rise .55s ease both}
.hero-logo{width:74px;height:74px;border-radius:18px;object-fit:cover;border:3px solid rgba(255,255,255,.9);flex:none;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.hero-txt{min-width:0}
.hero h1{font-size:clamp(1.7rem,6vw,2.3rem);font-weight:600;text-shadow:0 2px 14px rgba(0,0,0,.35);line-height:1.05}
.hero-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.chip{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;border:1px solid rgba(255,255,255,.22);padding:5px 11px;border-radius:99px;font-size:.78rem;font-weight:500;line-height:1}
.chip svg{opacity:.95}
a.chip{transition:background .15s}
a.chip:active{background:rgba(255,255,255,.3)}
.chip-zap{background:rgba(37,211,102,.9);border-color:transparent}

/* ===== Categorias ===== */
main.wrap{padding-top:6px}
.cat{margin:30px 0}
.cat h2{display:flex;align-items:center;gap:10px;font-size:1.3rem;color:var(--ink);margin:0 0 16px}
.cat h2::after{content:"";flex:1;height:1px;background:var(--line)}
.cat-n{font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;color:var(--cor);background:color-mix(in srgb, var(--cor) 12%, transparent);border-radius:99px;padding:3px 9px;letter-spacing:0}

/* ===== Vitrine (grade de cards) ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh1);transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s;animation:rise .5s ease both}
@media(hover:hover){.card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}.card:hover .card-img img{transform:scale(1.06)}}
.card-img{aspect-ratio:1/1;background:var(--card);background:color-mix(in srgb,var(--cor) 8%,var(--card));overflow:hidden;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--cor);background:linear-gradient(140deg,var(--cor),color-mix(in srgb,var(--cor) 55%,#000))}
.ph span{font-family:Fraunces,serif;font-size:3rem;color:rgba(255,255,255,.55)}
.card-body{padding:13px 14px 14px;display:flex;flex-direction:column;flex:1}
.card-body h3{font-size:1.02rem;line-height:1.2}
.card-body p{margin:5px 0 0;color:var(--muted);font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ===== Lista (cardápio/catálogo) ===== */
.list{display:flex;flex-direction:column;gap:12px}
.list.dense{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.list.dense{grid-template-columns:1fr}}
.row{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px;box-shadow:var(--sh1);transition:transform .2s,box-shadow .2s;animation:rise .5s ease both}
@media(hover:hover){.row:hover{transform:translateY(-2px);box-shadow:var(--sh2)}}
.row-top{display:flex;gap:13px;align-items:center}
.row-thumb{width:68px;height:68px;border-radius:12px;overflow:hidden;flex:none;background:color-mix(in srgb,var(--cor) 8%,var(--card))}
.row-thumb img{width:100%;height:100%;object-fit:cover}
.row-thumb .ph span{font-size:1.7rem}
.row-body{flex:1;min-width:0}
.row-body h3{font-size:1rem}
.row-body p{margin:3px 0 0;color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-side{text-align:right;white-space:nowrap;flex:none}

/* ===== Preço ===== */
.preco{font-weight:800;color:var(--ink);font-size:1.05rem;letter-spacing:-.01em}
.preco small{display:block;font-weight:500;color:var(--muted);font-size:.68rem;line-height:1;letter-spacing:0}
.dur{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:.74rem;color:var(--muted);font-weight:500}

/* ===== Ações / botões ===== */
.acao{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row .acao{justify-content:flex-start;width:100%}
.card-body .acao{margin-top:auto;padding-top:12px}
.pill{display:inline-flex;align-items:center;justify-content:center;background:var(--cor2);color:#fff;font-size:.85rem;font-weight:700;padding:10px 17px;border-radius:99px;line-height:1;box-shadow:0 4px 12px color-mix(in srgb,var(--cor2) 30%,transparent);transition:transform .12s,box-shadow .2s,filter .2s}
button.pill,a.pill{border:0;cursor:pointer;font:inherit}
.pill:active{transform:scale(.95)}
@media(hover:hover){.pill:hover{filter:brightness(1.06)}}
.pill.add{flex:1;min-width:108px}
.pill.share,.pill.presentear{background:transparent;color:var(--cor);border:1.5px solid var(--line);box-shadow:none;font-weight:600}
.pill.presentear{border-color:color-mix(in srgb,var(--cor) 35%,var(--line));color:var(--cor)}
@media(hover:hover){.pill.share:hover,.pill.presentear:hover{border-color:var(--cor);filter:none;background:color-mix(in srgb,var(--cor) 6%,transparent)}}
.var{flex:1;min-width:96px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:.84rem}

/* ===== Rodapé ===== */
.rodape{position:sticky;bottom:0;display:flex;gap:12px;justify-content:center;align-items:center;padding:13px;background:var(--card);background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);flex-wrap:wrap;z-index:15}
.rodape a{font-weight:600;color:var(--cor)}
.rodape .zap{background:var(--cor2);color:#fff;padding:11px 22px;border-radius:99px;box-shadow:0 4px 14px color-mix(in srgb,var(--cor2) 30%,transparent)}

/* ===== Botão flutuante "Ver pedido" ===== */
.cart-btn{position:fixed;left:50%;transform:translateX(-50%);bottom:88px;z-index:25;background:var(--cor2);color:#fff;border:0;border-radius:99px;padding:15px 28px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.3);animation:pop .35s cubic-bezier(.2,1.4,.4,1)}
.cart-btn span{background:rgba(255,255,255,.25);border-radius:99px;padding:2px 10px;margin-left:8px;font-weight:700}
@keyframes pop{from{transform:translateX(-50%) translateY(20px) scale(.9);opacity:0}to{transform:translateX(-50%) translateY(0) scale(1);opacity:1}}

/* ===== Drawer / carrinho ===== */
.drawer{position:fixed;inset:0;z-index:40}
.drawer-bg{position:absolute;inset:0;background:rgba(10,15,20,.5);backdrop-filter:blur(2px);animation:fade .25s ease}
.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(430px,93vw);background:var(--bg);color:var(--ink);overflow:auto;padding:20px;box-shadow:-14px 0 40px rgba(0,0,0,.25);animation:slidein .28s cubic-bezier(.2,.7,.3,1)}
@keyframes slidein{from{transform:translateX(100%)}to{transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.drawer-head{display:flex;justify-content:space-between;align-items:center;font-size:1.3rem;margin-bottom:14px;font-family:Fraunces,serif}
.x{border:0;background:none;font-size:1.9rem;line-height:1;cursor:pointer;color:var(--muted)}
.ci{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.ci-n{font-size:.94rem;font-weight:600}.ci-n small{color:var(--muted);font-weight:400}
.ci-p{color:var(--cor);font-weight:700;font-size:.85rem;margin-top:3px}
.ci-q{display:flex;align-items:center;gap:9px}
.ci-q button{width:32px;height:32px;border:1px solid var(--line);background:var(--card);border-radius:9px;font-size:1.15rem;cursor:pointer;color:var(--ink);transition:background .15s}
.ci-q button:active{background:var(--line)}
.ci-q span{min-width:18px;text-align:center;font-weight:600}
.vazio{color:var(--muted);text-align:center;padding:26px}
.drawer-total{display:flex;justify-content:space-between;font-weight:800;font-size:1.15rem;margin:16px 0;color:var(--ink)}
.drawer-total span{color:var(--cor)}
#checkout .f{margin:9px 0}
#checkout label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:4px;font-weight:500}
#checkout input{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;font:inherit;background:var(--card);color:var(--ink);transition:border-color .15s,box-shadow .15s}
#checkout input:focus{outline:0;border-color:var(--cor);box-shadow:0 0 0 3px color-mix(in srgb,var(--cor) 18%,transparent)}
.f2{display:flex;gap:8px}.f2 .f{flex:1}
.tipo{display:flex;gap:14px;margin:12px 0;font-size:.9rem}
.tipo label{display:flex;align-items:center;gap:6px;cursor:pointer}
.optin{display:flex !important;gap:8px;align-items:flex-start;font-size:.82rem;color:var(--muted);margin:14px 0}
.optin input{width:auto !important}
.enviar{width:100%;background:var(--cor2);color:#fff;border:0;border-radius:13px;padding:15px;font:inherit;font-weight:800;cursor:pointer;margin-top:8px;box-shadow:0 6px 18px color-mix(in srgb,var(--cor2) 30%,transparent);transition:transform .12s}
.enviar:active{transform:scale(.98)}
.enviar:disabled{opacity:.6}

/* ===== Agendamento ===== */
.slots{margin:14px 0}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:9px}
.slot-b{padding:11px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:11px;font:inherit;font-weight:700;cursor:pointer;transition:transform .12s,border-color .15s}
.slot-b:active{transform:scale(.95)}
.slot-b.on{background:var(--cor2);color:#fff;border-color:var(--cor2);box-shadow:0 4px 12px color-mix(in srgb,var(--cor2) 30%,transparent)}

/* ===== Faixa sazonal ===== */
.faixa-sazonal{background:linear-gradient(90deg,var(--cor),var(--cor2));color:#fff;text-align:center;font-weight:700;padding:10px 12px;font-size:.92rem;letter-spacing:.02em}

/* ===== Lista de presentes ===== */
.lista-msg{text-align:center;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px;margin:16px 0;font-family:Fraunces,serif;box-shadow:var(--sh1)}
.card.gift.reservado{opacity:.55}
.gift-prog{font-size:.78rem;color:var(--muted);margin-top:5px}
.gift-sec{font-weight:700;color:var(--cor);margin:14px 0 6px;font-size:.9rem}
.gift-taxa{margin:6px 0;font-size:.86rem;color:var(--muted)}

/* ===== Promoções ===== */
.old{text-decoration:line-through;color:var(--muted);font-weight:500;font-size:.8em;margin-right:5px}
.promo-badge{display:inline-block;background:linear-gradient(135deg,#e8552d,#d83a3a);color:#fff;font-size:.64rem;font-weight:800;padding:3px 8px;border-radius:99px;margin-left:5px;vertical-align:middle;letter-spacing:.02em;box-shadow:0 3px 8px rgba(216,58,58,.3)}

/* ===== Aviso visível (toast) ===== */
.toast{position:fixed;left:50%;bottom:158px;transform:translateX(-50%) translateY(10px);z-index:50;background:var(--ink);color:var(--bg);padding:13px 22px;border-radius:99px;font-weight:700;font-size:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== Animação de entrada ===== */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

/* ===== Cabeçalho compacto (aparece ao rolar) ===== */
.topbar{position:fixed;top:0;left:0;right:0;z-index:35;background:color-mix(in srgb,var(--card) 92%,transparent);background:var(--card);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transform:translateY(-100%);transition:transform .28s cubic-bezier(.2,.7,.3,1);box-shadow:0 4px 18px rgba(0,0,0,.06)}
.topbar.show{transform:none}
.tb-in{max-width:940px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:10px 16px}
.tb-logo{width:30px;height:30px;border-radius:8px;object-fit:cover;flex:none}
.tb-name{font-family:Fraunces,serif;font-weight:600;font-size:1.05rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.tb-cart{display:inline-flex;align-items:center;gap:6px;background:var(--cor2);color:#fff;border:0;border-radius:99px;padding:8px 15px;font:inherit;font-weight:700;cursor:pointer}
.tb-cart span{background:rgba(255,255,255,.28);border-radius:99px;padding:1px 8px;font-size:.85rem}

/* ===== Bottom-sheet de compartilhar ===== */
.sheet{position:fixed;inset:0;z-index:60}
.sheet-bg{position:absolute;inset:0;background:rgba(10,15,20,.5);backdrop-filter:blur(2px);animation:fade .2s ease}
.sheet-card{position:absolute;left:0;right:0;bottom:0;background:var(--bg);border-radius:22px 22px 0 0;padding:8px 18px max(22px,env(safe-area-inset-bottom)) 18px;max-width:520px;margin:0 auto;box-shadow:0 -14px 40px rgba(0,0,0,.25);animation:sheetup .3s cubic-bezier(.2,.7,.3,1)}
@keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}
.sheet-grab{width:40px;height:4px;border-radius:99px;background:var(--line);margin:8px auto 14px}
.sheet-title{font-family:Fraunces,serif;font-size:1.1rem;margin:0 0 12px;color:var(--ink)}
.sheet-title b{font-weight:600}
.sopt{display:flex;align-items:center;gap:13px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 15px;margin:8px 0;font:inherit;font-size:.96rem;font-weight:600;color:var(--ink);cursor:pointer;transition:transform .12s,background .15s}
.sopt:active{transform:scale(.98)}
.si{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none}
.si-wa{background:#25d366}
.si-ig{background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5)}
.si-link{background:color-mix(in srgb,var(--cor) 14%,transparent);background:#eee;color:var(--ink)}
.sopt-cancel{justify-content:center;color:var(--muted);font-weight:600;border-style:dashed;margin-top:4px}

/* ===== Tablet (Lovable polish) ===== */
@media(min-width:700px){
  .wrap{padding:0 22px}
  .hero-in{padding:38px 22px 32px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
  .cat{margin:38px 0}
  .cat h2{font-size:1.5rem}
  .list.dense{grid-template-columns:1fr 1fr 1fr}
  .row-thumb{width:76px;height:76px}
}
@media(min-width:1000px){
  .grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
}

/* ===== Agenda: horário ocupado (cinza) e resumo ===== */
.slot-b.off{background:#eceae5;color:#aeb4b4;border-color:#e6e2da;cursor:not-allowed;text-decoration:line-through;box-shadow:none}
[data-tema="escuro"] .slot-b.off{background:#222a30;color:#5d6770;border-color:#2a333b}
.slot-b.off:active{transform:none}
.slots-leg{display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:.8rem}
.leg-dot{width:12px;height:12px;border-radius:4px;background:#eceae5;border:1px solid #e6e2da;display:inline-block}
.bresumo{background:color-mix(in srgb,var(--cor) 7%,var(--card));background:var(--card);border:1px solid var(--line);border-left:3px solid var(--cor);border-radius:10px;padding:11px 13px;margin-bottom:12px;font-size:.9rem;line-height:1.45}
.bresumo b{font-family:Fraunces,serif;font-weight:600}

/* ===== Estoque / escassez ===== */
.est-tag{display:inline-block;margin-top:5px;font-size:.72rem;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--cor) 8%,transparent);background:#f1ece1;border-radius:99px;padding:3px 9px;letter-spacing:.01em}
.est-tag.est-low{color:#fff;background:linear-gradient(135deg,#e8552d,#d83a3a);box-shadow:0 3px 10px rgba(216,58,58,.3);animation:pulseTag 1.8s ease-in-out infinite}
.est-tag.est-zero{color:#fff;background:#8a929a}
@keyframes pulseTag{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.card-img .est-tag{position:absolute;left:8px;top:8px;margin:0;z-index:2}
/* linha em destaque para atenção (estoque baixo) */
.row.baixo,.card.baixo{border-color:#f0b49f;box-shadow:0 0 0 1px #f0b49f, var(--sh1);background:linear-gradient(0deg,color-mix(in srgb,#e8552d 5%,var(--card)),var(--card));background:#fff8f4}
[data-tema="escuro"] .row.baixo,[data-tema="escuro"] .card.baixo{background:#241a16;border-color:#5a3a2c;box-shadow:0 0 0 1px #5a3a2c, var(--sh1)}
.esgotado-row{opacity:.72}
.pill.esgotado{background:#e9e7e2;color:#9aa0a0;cursor:not-allowed;box-shadow:none;font-weight:700}
[data-tema="escuro"] .pill.esgotado{background:#262d33;color:#6c757c}
@media(prefers-reduced-motion:reduce){.est-tag.est-low{animation:none}}

/* ===== Promoções e cupons no topo do catálogo ===== */
.cat.promo-sec{background:linear-gradient(135deg,#fff4ef,#fff9f0);border:1px solid #ffd9cc;border-radius:18px;padding:16px 16px 20px;box-shadow:0 8px 24px rgba(255,106,61,.1)}
.cat.promo-sec > h2{color:#d83a3a}
.cat.promo-sec .card,.cat.promo-sec .row{border-color:#ffd0c2}
.voucher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.vloja{position:relative;background:var(--card);border:1px dashed var(--cor);border-radius:14px;padding:14px 12px;text-align:center}
.vloja .vbig{font-family:Fraunces,serif;font-size:1.15rem;font-weight:600;color:var(--cor)}
.vloja .vcode{margin-top:4px;font-weight:800;letter-spacing:.04em;background:var(--cor);color:#fff;display:inline-block;padding:3px 10px;border-radius:99px;font-size:.82rem}
.vloja .vmin{margin-top:5px;color:var(--muted);font-size:.74rem}

/* ===== Ações da loja: compartilhar + rota ===== */
.acoes-loja{max-width:760px;margin:12px auto 0;padding:0 16px;display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.acoes-loja .al{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:99px;font-weight:600;font-size:.8rem;line-height:1;cursor:pointer;background:var(--card);border:1px solid var(--line);color:var(--ink);transition:.15s}
.acoes-loja .al:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.1)}
.acoes-loja .al svg{color:var(--cor)}
.acoes-loja .al-share{background:var(--cor);border-color:var(--cor);color:#fff}
.acoes-loja .al-share svg{color:#fff}
.acoes-loja .al-waze{background:#33ccff;border-color:#33ccff;color:#062a3a}
.acoes-loja .al-insta{background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf);border:0;color:#fff}
.acoes-loja .al-insta svg{color:#fff}
.end-loja{text-align:center;color:var(--muted);font-size:.86rem;margin:10px 16px 0}
[data-tema="escuro"] .acoes-loja .al{background:#1c2329;border-color:#2c343b;color:#e8eef0}

/* ===== Botão e lightbox de vídeo ===== */
.pill.video{background:#111;color:#fff}
[data-tema="escuro"] .pill.video{background:#000}
.vid-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:9998;padding:16px}
.vid-overlay.on{display:flex}
.vid-card{position:relative;width:100%;max-width:420px;max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:16px}
.vid-x{position:absolute;right:8px;top:6px;border:0;background:none;font-size:1.8rem;line-height:1;color:#888;cursor:pointer;z-index:2}
.vid-frame{position:relative;padding-top:177%;border-radius:12px;overflow:hidden;background:#000}
.vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-open{display:block;text-align:center;margin-top:12px;background:var(--cor);color:#fff;border-radius:12px;padding:13px;font-weight:700;text-decoration:none}

/* ===== Card "Receba as promoções" ===== */
.aviso{max-width:560px;margin:14px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 16px 14px;box-shadow:0 10px 26px rgba(0,0,0,.06)}
.aviso-top{display:flex;gap:11px;align-items:flex-start;margin-bottom:12px}
.aviso-ic{font-size:1.5rem;line-height:1}
.aviso-top b{display:block;font-family:Fraunces,serif;font-size:1.08rem;color:var(--cor)}
.aviso-top span{font-size:.88rem;color:#667}
.aviso-form{display:flex;flex-wrap:wrap;gap:8px}
.aviso-form input{flex:1 1 150px;min-width:0;border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;font:inherit;font-size:.95rem;color:#243}
.aviso-form input:focus{outline:0;border-color:var(--cor)}
.aviso-form button{flex:1 1 130px;background:var(--cor);color:#fff;border:0;border-radius:11px;padding:12px 16px;font-weight:700;font:inherit;font-size:.95rem;cursor:pointer}
.aviso-form button:hover{filter:brightness(1.06)}
.listas-cta{max-width:560px;margin:14px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 10px 26px rgba(0,0,0,.06);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.listas-cta .lc-ic{font-size:1.7rem;line-height:1}
.listas-cta .lc-txt{flex:1 1 220px;min-width:0}
.listas-cta .lc-txt b{display:block;font-family:Fraunces,serif;font-size:1.08rem;color:var(--cor)}
.listas-cta .lc-txt span{font-size:.88rem;color:#667}
.listas-cta .lc-acts{display:flex;gap:8px;flex-wrap:wrap}
.listas-cta .lc-btn{background:var(--cor);color:#fff;border-radius:11px;padding:11px 15px;font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.listas-cta .lc-btn.ghost{background:transparent;color:var(--cor);border:1.5px solid var(--line)}
.listas-cta .lc-btn:hover{filter:brightness(1.06)}
.aviso-leg{display:block;margin-top:9px;font-size:.78rem;color:#8a96a3;text-align:center}
.aviso-err{margin-top:8px;font-size:.84rem;color:#c0392b;text-align:center}
.aviso-ok{display:flex;align-items:center;gap:8px;justify-content:center;font-weight:600;color:#1c6b41;background:#eafaf0;border:1px solid #bfe8cf;border-radius:14px;padding:13px;font-size:.95rem}
@media(max-width:420px){.aviso-form input,.aviso-form button{flex-basis:100%}}
