/* Manual da Ilha · protótipo navegável (degrau 6). Todo valor de cor, espaço, tipo, raio e tempo vem dos tokens do :root. */
@font-face{font-family:'Schibsted Grotesk';src:url('fontes/schibsted-grotesk-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Schibsted Grotesk';src:url('fontes/schibsted-grotesk-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  /* 09/11 (DEC-VR-48): o MVP é claro. O feed de flyer, o visor de story e o topo do Hoje seguem escuros (.tema-escuro) */
  color-scheme:light;
  --c-fundo:#F6F7F5;
  --c-sup:#FFFFFF;
  --c-sup-2:#EDF1EE;
  --c-sup-vidro:rgba(246,247,245,.92);
  --c-veu:rgba(255,255,255,.7);
  --c-borda:#C9CFCB;
  --c-borda-sutil:#E3E7E4;
  --c-texto:#15191C;
  --c-texto-2:#4A535B;
  --c-texto-3:#69717A;
  --c-hora:#0F6B4A;
  --c-em-curso:#12804A;
  --c-lotou:#B4410C;
  --c-acabando:#B4410C;
  --c-adiou:#8A5A00;
  --c-cancelou:#B42318;
  --c-salvo:#E0234E;
  --c-foco:#2563EB;
  --c-papel:#F6EAD0;
  --c-papel-tinta:#1A1408;
  --c-papel-tinta-2:#4A3F2A;
  --c-papel-acento:#7A2408;
  --c-papel-picote:var(--c-fundo);
  --c-papel-gasto:#8E8778;
  --c-sombra:rgba(16,24,40,.10);
  --filtro-mapa:none;
  --filtro-flyer-fundo:blur(28px) brightness(.38) saturate(1.1);
  /* marca e chips do MVP */
  --c-marca:#0F6B4A;
  --c-marca-escura:#0B5539;
  --c-marca-clara:#E2F2E9;
  --c-marca-borda:#9ED3B6;
  --c-sobre-marca:#FFFFFF;
  --c-ponto:#E5484D;
  --c-tipo-musica:#E2F3EC;   --c-tipo-musica-t:#14593F;
  --c-tipo-festa:#FCE7EF;    --c-tipo-festa-t:#8C1D47;
  --c-tipo-cultura:#EEE8FB;  --c-tipo-cultura-t:#4A2D84;
  --c-tipo-feira:#FDEEDC;    --c-tipo-feira-t:#86400B;
  --c-tipo-natureza:#E5F4E1; --c-tipo-natureza-t:#2F6420;
  --c-tipo-outro:#ECEEF0;    --c-tipo-outro-t:#3E464E;
  --c-preco:#E6F6EA;         --c-preco-t:#1C6B36;
  --sombra-cartao:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06);
  --degrade-slide:linear-gradient(90deg,rgba(8,14,18,.86) 0%,rgba(8,14,18,.55) 48%,rgba(8,14,18,.05) 100%);
  --r-cartao:16px;
  --cartao-img:112px;
  --dia-larg:52px;
  --slide-alt:208px;
  --t-marca:19px;
  --t-sec:21px;

  /* tipo */
  --f-texto:'Schibsted Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --t-micro:12px;
  --t-p:14px;
  --t-corpo:16px;
  --t-titulo-p:18px;
  --t-titulo:22px;
  --t-titulo-g:28px;
  --t-hora:40px;
  --t-hora-g:56px;
  --t-cupom-titulo:30px;
  --t-cupom-codigo:52px;
  --lh-justa:1.1;
  --lh-corpo:1.45;
  --peso-n:400;
  --peso-f:600;
  --entre-caps:.08em;
  --entre-codigo:.12em;

  /* espaço */
  --e-1:4px;--e-2:8px;--e-3:12px;--e-4:16px;--e-5:20px;--e-6:24px;--e-7:32px;--e-8:48px;

  /* medida */
  --alvo:44px;
  --alvo-g:52px;
  --bolha:52px;
  --anel:3px;
  --filete:1px;
  --filete-f:2px;
  --icone:24px;
  --icone-p:18px;
  --barra-alt:64px;
  --topo-alt:auto;
  --mini-larg:56px;
  --mini-alt:80px;
  --pino:36px;
  --picote:12px;
  --cupom-larg:340px;
  --largura-max:520px;
  --painel-max:46dvh;
  --barra-tempo-alt:6px;
  --coracao:96px;
  --ev-flyer-min:280px;
  --opac-esmaecido:.55;
  --opac-desligado:.5;
  --traco-ic:2;
  --traco-ic-f:2.6;
  --entre-hora:-.01em;
  --escala-fundo:1.15;
  --escala-toque:.97;
  --toast-fundo:var(--c-sup-2);

  /* raio */
  --r-0:0;--r-p:6px;--r-m:12px;--r-g:20px;--r-cheio:999px;

  /* tempo */
  --dur-curta:140ms;
  --dur-media:420ms;
  --curva:cubic-bezier(.2,.8,.2,1);
  --z-topo:10;--z-barra:20;--z-folha:30;--z-story:35;--z-toast:40;

  /* visor de story */
  --c-story-fundo:#000;
  --story-seg-alt:2px;
  --story-mini:32px;
  --story-perspectiva:1000px;
  --curva-mola:cubic-bezier(.2,1.3,.4,1);
  --degrade-story:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));
  --dur-segurar:160ms;

  /* botões (Victor, 02/11: mais baixos, menos arredondados, cupom com cara de tíquete) */
  --btn-h:40px;
  --raio-btn:6px;
  --tiquete-r:5px;
  --mascara-tiquete:radial-gradient(circle var(--tiquete-r) at 0 50%,transparent 97%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--tiquete-r) at 100% 50%,transparent 97%,#000) right/51% 100% no-repeat;

  /* feed: o flyer em tela cheia, o painel sobre o pé */
  --topo-h:138px;
  --topo-limiar:8px;
  --t-hora-painel:30px;
  --painel-reserva:150px;
  --degrade-painel:linear-gradient(rgba(13,14,16,0),var(--c-fundo));
  --degrade-story-pe:linear-gradient(rgba(13,14,16,0),var(--c-fundo) 45%);

  /* feed Lugares: lugar sem foto usa o desenho por categoria sobre a cor dela */
  --c-cat-bar:#3A1F2B;
  --c-cat-comida:#3B2A16;
  --c-cat-cafe:#2E2319;
  --c-cat-cowork:#172A36;
  --lug-icone:96px;
}

.tema-escuro,.story{color-scheme:dark;/* cor: chrome quase sem cor; a cor mora no numeral, no cupom e nos estados */--c-fundo:#0D0E10;--c-sup:#17191D;--c-sup-2:#22252A;--c-sup-vidro:rgba(13,14,16,.86);--c-veu:rgba(13,14,16,.55);--c-borda:#767A83;--c-borda-sutil:#2E3137;--c-texto:#F3F1EC;--c-texto-2:#BDB9B0;--c-texto-3:#9E9A91;--c-hora:#FFC857;--c-em-curso:#6EE7A0;--c-lotou:#FF9F7A;--c-acabando:#FF9F7A;--c-adiou:#FFD37A;--c-cancelou:#FF8F8F;--c-salvo:#FF6B81;--c-foco:#8EC5FF;--c-papel:#F6EAD0;--c-papel-tinta:#1A1408;--c-papel-tinta-2:#4A3F2A;--c-papel-acento:#7A2408;--c-papel-picote:var(--c-fundo);--c-papel-gasto:#8E8778;--c-sombra:rgba(0,0,0,.5);--filtro-mapa:invert(.92) hue-rotate(180deg) saturate(.35) brightness(.9);--filtro-flyer-fundo:blur(28px) brightness(.38) saturate(1.1);color:var(--c-texto)}
.tema-escuro,.story{--c-papel-picote:var(--c-fundo);--toast-fundo:var(--c-sup-2);--degrade-painel:linear-gradient(rgba(13,14,16,0),var(--c-fundo));--degrade-story-pe:linear-gradient(rgba(13,14,16,0),var(--c-fundo) 45%)}
.tema-escuro{background:var(--c-fundo)}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html,body{height:100%;background:var(--c-fundo)}
body{color:var(--c-texto);font-family:var(--f-texto);font-size:var(--t-corpo);line-height:var(--lh-corpo);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
button,a{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;text-align:inherit}
a{text-decoration:none}
img{display:block;max-width:100%}
ul,ol{list-style:none}
.num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
.so-leitor{position:absolute;width:var(--filete);height:var(--filete);overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cab h1:focus{outline:none}
:focus-visible{outline:var(--anel) solid var(--c-foco);outline-offset:var(--filete-f)}
svg.ic{width:var(--icone);height:var(--icone);fill:none;stroke:currentColor;stroke-width:var(--traco-ic);stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.ic-p{width:var(--icone-p);height:var(--icone-p)}

/* ===== moldura ===== */
/* padding-top: no iPhone instalado a página vai até o topo da tela (black-translucent); sem isto, tudo fica embaixo do relógio */
.app{height:100dvh;padding-top:env(safe-area-inset-top);max-width:var(--largura-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"tela" "convite" "barra";background:var(--c-fundo);position:relative;overflow:hidden;--topo-visivel:var(--topo-h)}
.app.topo-oculto{--topo-visivel:0px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.topo{grid-area:tela;align-self:start}
.convite{grid-area:convite}
.barra{grid-area:barra}
.tela{grid-area:tela;min-height:0;position:relative;overflow:hidden}
.tela[hidden]{display:none}
.rolavel{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}

/* ===== topo do Hoje: dias (deslizar lateral) + perto de mim + fila Agora ===== */
.topo{background:var(--c-fundo);border-bottom:var(--filete) solid var(--c-borda-sutil);z-index:var(--z-topo);touch-action:pan-y;transition:transform var(--dur-media) var(--curva)}
.app.topo-oculto .topo{transform:translateY(calc(-100% - env(safe-area-inset-top)))}
.topo[hidden]{display:none}
.dias{display:flex;align-items:center;gap:0;padding:var(--e-1) var(--e-2) 0 var(--e-2);min-width:0}
.dia{min-height:var(--alvo);min-width:var(--alvo);padding:0 var(--e-2);font-size:var(--t-p);font-weight:var(--peso-f);color:var(--c-texto-2);border-bottom:var(--filete-f) solid transparent;white-space:nowrap}
.dia[aria-current="true"]{color:var(--c-texto);border-bottom-color:var(--c-texto)}
.dia-sub{display:block;font-size:var(--t-micro);font-weight:var(--peso-n);color:var(--c-texto-3)}
.dia[aria-current="true"] .dia-sub{color:var(--c-texto-2)}
.perto{position:relative;margin-left:auto;flex:none;min-height:var(--btn-h);min-width:var(--alvo);display:inline-flex;align-items:center;gap:var(--e-1);padding:0 var(--e-3) 0 var(--e-2);line-height:var(--lh-justa);text-align:left;border:var(--filete) solid var(--c-borda);border-radius:var(--raio-btn);font-size:var(--t-micro);font-weight:var(--peso-f);color:var(--c-texto)}
.perto[aria-pressed="true"]{background:var(--c-texto);color:var(--c-fundo);border-color:var(--c-texto)}
.agora{display:flex;gap:var(--e-3);overflow-x:auto;padding:var(--e-2) var(--e-3) var(--e-2);scrollbar-width:none}
.agora::-webkit-scrollbar{display:none}
.agora-rot{flex:none;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--t-micro);font-weight:var(--peso-f);letter-spacing:var(--entre-caps);text-transform:uppercase;color:var(--c-texto-2)}
.bolha{flex:none;display:flex;flex-direction:column;align-items:center;gap:var(--e-1);min-width:var(--bolha)}
.bolha-img{width:var(--bolha);height:var(--bolha);border-radius:var(--r-cheio);overflow:hidden;border:var(--anel) solid var(--c-hora);padding:var(--filete-f);background:var(--c-fundo)}
.bolha-img img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-cheio)}
.bolha.e-comecou .bolha-img{border-color:var(--c-em-curso)}
.bolha.e-acabando .bolha-img{border-color:var(--c-acabando)}
.bolha.e-lotou .bolha-img{border-style:dashed;border-color:var(--c-lotou)}
.bolha-hora{font-size:var(--t-micro);font-weight:var(--peso-f);color:var(--c-texto)}
.bolha.e-comecou .bolha-hora{color:var(--c-em-curso)}
.bolha.e-acabando .bolha-hora{color:var(--c-acabando)}
.dia-linha{padding:var(--e-2) var(--e-4) var(--e-3);font-size:var(--t-p);color:var(--c-texto-2)}

/* ===== feed do Hoje: um flyer por tela, scroll-snap, acaba ===== */
.feed{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none}
.feed::-webkit-scrollbar{display:none}
.lamina{height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:hidden}
.flyer{position:relative;overflow:hidden;width:100%;height:100%;display:block;cursor:pointer;background:var(--c-fundo)}
#feed .flyer{padding-top:var(--topo-visivel);transition:padding-top var(--dur-media) var(--curva)}
#feed .fim{padding-top:calc(var(--topo-visivel) + var(--e-7))}
picture{display:contents}
.flyer-fundo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--filtro-flyer-fundo);transform:scale(var(--escala-fundo))}
.flyer-img{position:relative;width:100%;height:100%;object-fit:contain;background-size:contain;background-position:center;background-repeat:no-repeat}
.flyer.sem-imagem{display:grid;place-items:center;background:repeating-linear-gradient(135deg,var(--c-sup) 0 var(--e-3),var(--c-sup-2) var(--e-3) var(--e-6))}
.flyer-desenho{display:none;text-align:center;padding:var(--e-6)}
.flyer.sem-imagem .flyer-desenho{display:block}
.flyer.sem-imagem img{display:none}
.flyer-desenho strong{display:block;font-size:var(--t-titulo-g);line-height:var(--lh-justa)}
.coracao-voa{position:absolute;left:50%;top:50%;width:var(--coracao);height:var(--coracao);margin:calc(var(--coracao) / -2) 0 0 calc(var(--coracao) / -2);color:var(--c-salvo);pointer-events:none;opacity:0}
.coracao-voa svg{width:100%;height:100%;fill:currentColor;stroke:none}
.coracao-voa.ativo{animation:pulo var(--dur-media) var(--curva)}
@keyframes pulo{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(1)}}

/* a camada nossa: faixa de baixo, opaca onde há texto */
.lamina .painel{position:absolute;left:0;right:0;bottom:0}
.painel{background:var(--c-fundo);padding:var(--e-1) var(--e-4) var(--e-2);display:grid;gap:var(--e-1)}
.lamina .painel::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--e-8);background:var(--degrade-painel);pointer-events:none}
.painel-l1{display:flex;align-items:center;gap:var(--e-3);min-width:0}
.painel-l1 .hora{font-size:var(--t-hora-painel)}
.painel-tempo{min-width:0;display:grid;gap:var(--filete-f)}
.painel-titulo{font-size:var(--t-corpo);font-weight:var(--peso-f);line-height:var(--lh-corpo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.painel-onde{font-size:var(--t-p);line-height:var(--lh-justa);color:var(--c-texto-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.painel-selos{display:flex;flex-wrap:wrap;gap:var(--e-1)}
/* 08/11 (DEC-VR-44): crédito do flyer real, uma linha discreta abaixo do lugar */
.painel-credito{font-size:var(--t-p);line-height:var(--lh-justa);color:var(--c-texto-2)}
.painel-credito a,.selo-ficha a{color:inherit;text-decoration:underline;text-underline-offset:var(--e-1)}
.painel-selos:empty{display:none}

.painel-linha{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--e-3)}
.hora{font-size:var(--t-hora);font-weight:var(--peso-f);line-height:var(--lh-justa);color:var(--c-hora);letter-spacing:var(--entre-hora)}
.hora-txt{font-size:var(--t-titulo-p);font-weight:var(--peso-f);color:var(--c-hora)}
.onde{min-width:0}
.onde-lugar{font-size:var(--t-corpo);font-weight:var(--peso-f);line-height:var(--lh-justa);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.onde-sub{font-size:var(--t-p);line-height:var(--lh-justa);color:var(--c-texto-2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:var(--filete-f)}
.acoes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--btn-h) var(--btn-h);gap:var(--e-1);align-items:center;margin-top:var(--e-1)}

/* selos de estado: forma própria, nunca só cor */
.selo{display:inline-flex;align-items:center;gap:var(--e-1);padding:0 var(--e-1);border-radius:var(--raio-btn);font-size:var(--t-micro);font-weight:var(--peso-f);letter-spacing:var(--entre-caps);text-transform:uppercase;line-height:var(--lh-corpo)}
.selo-t{display:inline-flex;align-items:center;gap:var(--e-1);font-size:var(--t-micro);font-weight:var(--peso-f);line-height:var(--lh-justa);color:var(--c-texto-2)}
.selo-t.t-comecou,.selo-t.t-aberto{color:var(--c-em-curso)}
.selo-t.t-acabando,.selo-t.t-fechando{color:var(--c-acabando)}
.selo-t.t-terminou,.selo-t.t-fechado,.selo-t.t-sem_horario{color:var(--c-texto-3)}
.selo-t.t-comecou::before,.selo-t.t-aberto::before,.selo-t.t-acabando::before,.selo-t.t-fechando::before{content:"";flex:none;width:var(--e-2);height:var(--e-2);border-radius:var(--r-cheio);background:currentColor}

.selo-lotou{color:var(--c-fundo);background:var(--c-lotou)}
.selo-adiou{color:var(--c-adiou);border:var(--filete-f) dashed var(--c-adiou)}
.selo-cancelou{color:var(--c-cancelou);border:var(--filete-f) solid var(--c-cancelou)}
.selo-cancelou::before{content:"×";font-size:var(--t-p)}
.selo-patrocinado{color:var(--c-texto);border:var(--filete) solid var(--c-borda);text-transform:none;letter-spacing:0}
.selo-mudou{color:var(--c-fundo);background:var(--c-adiou);text-transform:none;letter-spacing:0}
.selo-tempo{color:var(--c-texto-2);text-transform:none;letter-spacing:0;padding-left:0}
.lamina.e-cancelou .flyer-img,.lamina-ev.e-cancelou .flyer-img{opacity:var(--opac-esmaecido)}
.e-cancelou .hora,.e-cancelou .ev-hora{color:var(--c-texto-3);text-decoration:line-through;text-decoration-thickness:var(--filete-f)}

/* botões */
/* 40 px visíveis, 44 de toque: a área a mais é o ::after */
.btn,.btn-ic,.chip{position:relative}
.btn::after,.perto::after,.chip::after{content:"";position:absolute;left:0;right:0;top:calc((var(--btn-h) - var(--alvo)) / 2 - var(--filete));bottom:calc((var(--btn-h) - var(--alvo)) / 2 - var(--filete))}
.btn-ic::after{content:"";position:absolute;inset:calc((var(--btn-h) - var(--alvo)) / 2)}
.btn{height:var(--btn-h);min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--e-2);padding:0 var(--e-2);border-radius:var(--raio-btn);font-size:var(--t-p);font-weight:var(--peso-f);white-space:nowrap;border:var(--filete) solid var(--c-borda);color:var(--c-texto);transition:transform var(--dur-curta) var(--curva),background-color var(--dur-curta)}
.btn:active{transform:scale(var(--escala-toque));background:var(--c-sup-2)}
.btn-cupom{padding:0;border:0;background:none;color:var(--c-papel-tinta)}
/* o recorte fica na peça de dentro: máscara no botão cortaria também a área de toque */
.tiquete{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;background:var(--c-papel);border:var(--filete) solid var(--c-papel);border-radius:var(--raio-btn);-webkit-mask:var(--mascara-tiquete);mask:var(--mascara-tiquete)}
.cupom-txt{min-width:0;padding:0 var(--e-2) 0 var(--e-3);line-height:calc(var(--btn-h) - var(--filete-f));text-align:center;overflow:hidden;text-overflow:ellipsis}
.cupom-10{padding:0 var(--e-3) 0 var(--e-2);line-height:calc(var(--btn-h) - var(--filete-f));border-left:var(--filete) dashed var(--c-papel-tinta-2)}
.btn-cupom:active{background:none;filter:brightness(.92)}
.btn-g{width:100%}
.btn[aria-disabled="true"]{opacity:var(--opac-desligado);cursor:not-allowed}
.btn-ic{width:var(--btn-h);height:var(--btn-h);display:inline-grid;place-items:center;flex:none;border-radius:var(--raio-btn);color:var(--c-texto)}
.btn-ic:active{background:var(--c-sup-2)}
.btn-ic[aria-pressed="true"]{color:var(--c-salvo)}
.btn-ic[aria-pressed="true"] svg{fill:currentColor}
.motivo{font-size:var(--t-micro);color:var(--c-texto-2)}
.link-ext{min-height:var(--alvo);display:inline-flex;align-items:center;justify-self:start;font-size:var(--t-p);font-weight:var(--peso-f);text-decoration:underline;text-underline-offset:var(--e-1)}
.chips{display:flex;gap:var(--e-1);padding:var(--e-2) var(--e-3);overflow-x:auto;scrollbar-width:none;background:var(--c-fundo);border-bottom:var(--filete) solid var(--c-borda-sutil)}
.chips::-webkit-scrollbar{display:none}
.chips-mapa{padding:0;border:0;background:none;overflow:visible}
.chip{flex:none;height:var(--btn-h);padding:0 var(--e-3);border-radius:var(--raio-btn);border:var(--filete) solid var(--c-borda);font-size:var(--t-p);font-weight:var(--peso-f);color:var(--c-texto-2)}
.chip[aria-pressed="true"]{background:var(--c-texto);border-color:var(--c-texto);color:var(--c-fundo)}
.etiquetas{display:flex;flex-wrap:wrap;gap:var(--e-1)}
.etiqueta{padding:0 var(--e-2);border:var(--filete) solid var(--c-borda);border-radius:var(--raio-btn);font-size:var(--t-micro);line-height:var(--lh-corpo);color:var(--c-texto)}

/* feed Lugares */
.lug-tela{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}
.lug-arte{display:grid;place-items:center}
.lamina-lug .lug-arte{padding-bottom:var(--painel-reserva)}
.cat-bar{background:var(--c-cat-bar)}
.cat-comida{background:var(--c-cat-comida)}
.cat-cafe{background:var(--c-cat-cafe)}
.cat-cowork{background:var(--c-cat-cowork)}
.lug-icone,.lug-icone-p{fill:none;stroke:currentColor;stroke-width:var(--traco-ic);stroke-linecap:round;stroke-linejoin:round;color:var(--c-texto-2)}
.lug-icone{width:var(--lug-icone);height:var(--lug-icone)}
.lug-icone-p{width:var(--icone);height:var(--icone)}
.painel-l1-lug{min-height:var(--e-5)}
.horarios{display:grid;gap:var(--e-1);width:100%}
.horario{display:flex;justify-content:space-between;gap:var(--e-3);font-size:var(--t-p);color:var(--c-texto-2)}
.horario-hoje{color:var(--c-texto);font-weight:var(--peso-f)}
.carregando{position:relative;color:transparent}
.carregando::after{content:"…";position:absolute;inset:0;display:grid;place-items:center;color:var(--c-texto)}

/* fim do feed */
.fim{height:100%;scroll-snap-align:start;display:grid;align-content:center;gap:var(--e-5);padding:var(--e-7) var(--e-6);text-align:left;background:var(--c-fundo);touch-action:pan-y}
.fim-num{font-size:var(--t-hora-g);font-weight:var(--peso-f);line-height:var(--lh-justa);color:var(--c-hora)}
.fim-txt{font-size:var(--t-titulo);font-weight:var(--peso-f);line-height:var(--lh-justa)}
.fim-sub{font-size:var(--t-corpo);color:var(--c-texto-2)}
.fim-dica{display:flex;align-items:center;gap:var(--e-2);font-size:var(--t-p);color:var(--c-texto-2)}

/* telas com cabeçalho próprio */
.cab{display:flex;align-items:center;gap:var(--e-2);padding:var(--e-1) var(--e-2);min-height:var(--alvo-g);border-bottom:var(--filete) solid var(--c-borda-sutil);background:var(--c-fundo)}
.cab h1{font-size:var(--t-titulo-p);font-weight:var(--peso-f);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conteudo{padding:var(--e-4) var(--e-4) var(--e-8)}

/* evento */
.ev-flyer{height:var(--painel-max);min-height:var(--ev-flyer-min);position:relative;overflow:hidden}
.ev-tela{display:grid;grid-template-rows:auto 1fr;height:100%}
.ev-ficha{display:grid;gap:var(--e-4)}
.ev-topo{display:flex;align-items:flex-end;gap:var(--e-3);flex-wrap:wrap}
.ev-hora{font-size:var(--t-hora-g);font-weight:var(--peso-f);line-height:var(--lh-justa);color:var(--c-hora)}
.ev-titulo{font-size:var(--t-titulo);font-weight:var(--peso-f);line-height:var(--lh-justa)}
.ficha-lista{display:grid;gap:var(--e-2);border-top:var(--filete) solid var(--c-borda-sutil);padding-top:var(--e-3)}
.ficha-item{display:grid;grid-template-columns:var(--icone) 1fr;gap:var(--e-3);align-items:start;font-size:var(--t-corpo)}
.ficha-item small{display:block;font-size:var(--t-p);color:var(--c-texto-2)}
.ficha-link{min-height:var(--alvo);display:flex;align-items:center;text-decoration:underline;text-underline-offset:var(--e-1)}
.ev-acoes{display:grid;gap:var(--e-2)}
.ev-acoes-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--e-2)}
/* 08/11 (F6): o bloco do lugar na ficha do evento */
.ficha-lugar{display:grid;gap:var(--e-2);border-top:var(--filete) solid var(--c-borda-sutil);padding-top:var(--e-3)}
.ficha-lugar-nome{font-weight:var(--peso-f)}
.selo-ficha{font-size:var(--t-p);color:var(--c-texto-2)}
.ficha-lugar-acoes{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e-2)}
.reivindicar-num{font-size:var(--t-titulo-g);font-weight:var(--peso-f);line-height:var(--lh-justa)}

/* cupom: o clímax */
.cupom-tela{min-height:100%;display:grid;align-content:start;justify-items:center;gap:var(--e-4);padding:var(--e-5) var(--e-4) var(--e-7)}
.cupom{width:100%;max-width:var(--cupom-larg);background:var(--c-papel);color:var(--c-papel-tinta);border-radius:var(--r-g);position:relative;padding:var(--e-6) var(--e-5);display:grid;gap:var(--e-3);box-shadow:0 var(--e-3) var(--e-7) var(--c-sombra)}
.cupom::before,.cupom::after{content:"";position:absolute;top:58%;width:calc(var(--picote) * 2);height:calc(var(--picote) * 2);border-radius:var(--r-cheio);background:var(--c-papel-picote)}
.cupom::before{left:calc(var(--picote) * -1)}
.cupom::after{right:calc(var(--picote) * -1)}
.cupom-marca{font-size:var(--t-micro);font-weight:var(--peso-f);letter-spacing:var(--entre-caps);text-transform:uppercase;color:var(--c-papel-tinta-2)}
.cupom-titulo{font-size:var(--t-cupom-titulo);font-weight:var(--peso-f);line-height:var(--lh-justa)}
.cupom-titulo em{font-style:normal;color:var(--c-papel-acento)}
.cupom-sub{font-size:var(--t-corpo);color:var(--c-papel-tinta-2)}
.cupom-corte{border-top:var(--filete-f) dashed var(--c-papel-tinta-2);margin:var(--e-2) 0}
.cupom-rot{font-size:var(--t-p);font-weight:var(--peso-f);color:var(--c-papel-tinta-2)}
.cupom-codigo{font-size:var(--t-cupom-codigo);font-weight:var(--peso-f);letter-spacing:var(--entre-codigo);line-height:var(--lh-justa);color:var(--c-papel-tinta)}
.cupom-relogio{display:grid;gap:var(--e-2);font-size:var(--t-corpo);color:var(--c-papel-tinta)}
.cupom-barra{height:var(--barra-tempo-alt);border-radius:var(--r-cheio);background:var(--c-papel-gasto);overflow:hidden}
.cupom-barra span{display:block;height:100%;background:var(--c-papel-tinta);transition:width 1s linear}
.cupom-aviso{font-size:var(--t-micro);color:var(--c-papel-tinta-2)}
.cupom.vencido{background:var(--c-sup-2);color:var(--c-texto)}
.cupom.vencido .cupom-marca,.cupom.vencido .cupom-sub,.cupom.vencido .cupom-rot,.cupom.vencido .cupom-aviso{color:var(--c-texto-2)}
.cupom.vencido .cupom-titulo em{color:var(--c-texto)}
.cupom.vencido .cupom-codigo{color:var(--c-texto-3)}
.cupom.vencido .cupom-corte{border-color:var(--c-borda)}
.cupom-baixo{width:100%;max-width:var(--cupom-larg);display:grid;gap:var(--e-3)}
.cupom-regra{font-size:var(--t-p);color:var(--c-texto-2)}
.ok-usei{font-size:var(--t-corpo);color:var(--c-em-curso);font-weight:var(--peso-f)}

/* listas (salvos, cupom sem destino, lugar) */
.lista{display:grid;gap:var(--e-2)}
.item{display:grid;grid-template-columns:var(--mini-larg) 1fr auto;gap:var(--e-3);align-items:center;padding:var(--e-2);border-radius:var(--r-m);background:var(--c-sup);min-height:var(--alvo)}
.item-mini{width:var(--mini-larg);height:var(--mini-alt);object-fit:cover;border-radius:var(--r-p)}
.item-hora{font-size:var(--t-titulo);font-weight:var(--peso-f);color:var(--c-hora);line-height:var(--lh-justa)}
.item-lugar{font-weight:var(--peso-f)}
.item-sub{font-size:var(--t-p);color:var(--c-texto-2)}
.item-selos{display:flex;flex-wrap:wrap;gap:var(--e-1);margin-top:var(--e-1)}
.item.passou{opacity:var(--opac-esmaecido)}
.bloco{display:block}
.nota-fim{margin-top:var(--e-4)}
.secao-rot{font-size:var(--t-micro);font-weight:var(--peso-f);letter-spacing:var(--entre-caps);text-transform:uppercase;color:var(--c-texto-2);margin:var(--e-5) 0 var(--e-2)}

/* vazio e erro */
.vazio{display:grid;gap:var(--e-4);padding:var(--e-8) var(--e-5);text-align:left}
.vazio-tit{font-size:var(--t-titulo);font-weight:var(--peso-f);line-height:var(--lh-justa)}
.vazio-txt{color:var(--c-texto-2)}
.vazio-desenho{width:var(--e-8);height:var(--e-8);color:var(--c-texto-2);fill:none;stroke:currentColor;stroke-width:var(--traco-ic);stroke-linecap:round;stroke-linejoin:round}

/* mapa */
.mapa-tela{display:grid;grid-template-rows:auto 1fr;height:100%}
.mapa-caixa{position:relative;min-height:0}
#mapa{position:absolute;inset:0;background:var(--c-sup)}
#mapa .leaflet-tile-pane{filter:var(--filtro-mapa)}
.leaflet-container{font-family:var(--f-texto)}
.pino{width:var(--pino);height:var(--pino);display:grid;place-items:center;border-radius:var(--r-cheio) var(--r-cheio) var(--r-cheio) var(--r-0);transform:rotate(-45deg);background:var(--c-hora);border:var(--filete-f) solid var(--c-fundo);color:var(--c-fundo);font-size:var(--t-micro);font-weight:var(--peso-f)}
.pino span{transform:rotate(45deg)}
.pino.e-comecou,.pino.t-aberto{background:var(--c-em-curso)}
.pino.e-acabando,.pino.t-fechando{background:var(--c-acabando)}
.pino.t-fechado,.pino.t-sem_horario{background:var(--c-texto-3)}
.pino svg{transform:rotate(45deg);color:var(--c-fundo)}
.pino.e-cancelou,.pino.e-adiou{background:var(--c-texto-3)}
.mapa-card{position:absolute;left:var(--e-3);right:var(--e-3);bottom:var(--e-3);z-index:1000;background:var(--c-sup);border:var(--filete) solid var(--c-borda-sutil);border-radius:var(--r-g);padding:var(--e-3);display:grid;gap:var(--e-3);box-shadow:0 var(--e-2) var(--e-6) var(--c-sombra)}
.mapa-card[hidden]{display:none}
.mapa-sem-rede{padding:var(--e-4)}
.leaflet-control-attribution{font-size:var(--t-micro)!important;background:var(--c-veu)!important;color:var(--c-texto-2)!important}
.leaflet-control-attribution a{color:var(--c-texto)!important}

/* barra de baixo */
.barra{display:grid;grid-template-columns:repeat(5,1fr);background:var(--c-fundo);border-top:var(--filete) solid var(--c-borda-sutil);min-height:var(--barra-alt);padding-bottom:env(safe-area-inset-bottom);z-index:var(--z-barra)}
.barra a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--filete-f);min-height:var(--barra-alt);font-size:var(--t-micro);font-weight:var(--peso-f);color:var(--c-texto-2)}
.barra a[aria-current="page"]{color:var(--c-texto)}
.barra a[aria-current="page"] svg{stroke-width:var(--traco-ic-f)}
.barra .barra-cupom[aria-current="page"]{color:var(--c-papel)}

/* aviso curto (toast) e convite de instalar */
.toast{position:absolute;left:var(--e-4);right:var(--e-4);bottom:calc(var(--barra-alt) + var(--e-3));z-index:var(--z-toast);background:var(--toast-fundo);color:var(--c-texto);border:var(--filete) solid var(--c-borda);border-radius:var(--r-m);padding:var(--e-3) var(--e-4);font-size:var(--t-p)}
.toast{pointer-events:none}
.app:has(.story) .toast{top:calc(env(safe-area-inset-top) + var(--e-8) + var(--e-7));bottom:auto}
.toast[hidden]{display:none}
.convite{display:flex;align-items:center;gap:var(--e-2);font-size:var(--t-p);color:var(--c-texto-2);padding:0 var(--e-2) 0 var(--e-4);background:var(--c-sup-2)}
.convite[hidden]{display:none}
.convite span{flex:1}
.convite-instalar[hidden]{display:none}
.sem-rede{font-size:var(--t-micro);color:var(--c-fundo);background:var(--c-adiou);padding:var(--e-1) var(--e-4)}
.sem-rede[hidden]{display:none}

/* visor de story: a física está em app.js; aqui só forma e transição */
.story{position:absolute;inset:0;z-index:var(--z-story);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;--story-dur:0ms}
.story img{-webkit-user-drag:none;pointer-events:none}
.story-fundo{position:absolute;inset:0;background:var(--c-story-fundo)}
.story-palco{position:absolute;inset:0;overflow:hidden;perspective:var(--story-perspectiva);will-change:transform}
.story-cubo{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.story-face{position:absolute;inset:0;overflow:hidden;background:var(--c-fundo);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.story-face .flyer{height:100%;min-height:0;cursor:default;padding-top:env(safe-area-inset-top)}
.story-pe{position:absolute;left:0;right:0;bottom:0;padding:var(--e-8) var(--e-4) calc(var(--e-3) + env(safe-area-inset-bottom));background:var(--degrade-story-pe)}
.story-pe .acoes{margin-top:0}
.story-sombra{position:absolute;inset:0;background:var(--c-story-fundo);opacity:0;pointer-events:none}
.story-topo{position:absolute;left:0;right:0;top:0;padding:calc(env(safe-area-inset-top) + var(--e-2)) var(--e-2) var(--e-5);background:var(--degrade-story)}
.story-segs{display:flex;gap:var(--e-1);padding:0 var(--e-1)}
.story-seg{flex:1;min-width:0;height:var(--story-seg-alt);border-radius:var(--r-cheio);background:var(--c-borda);overflow:hidden}
.story-seg i{display:block;height:100%;background:var(--c-texto);transform-origin:left center;transform:scaleX(0)}
.story-cab{display:flex;align-items:center;gap:var(--e-2);margin-top:var(--e-1)}
.story-quem{flex:1;min-width:0;min-height:var(--alvo);display:flex;align-items:center;gap:var(--e-2);padding-left:var(--e-1)}
.story-mini{width:var(--story-mini);height:var(--story-mini);flex:none;border-radius:var(--r-cheio);object-fit:cover}
.story-nome{min-width:0;display:flex;flex-direction:column;line-height:var(--lh-justa)}
.story-nome b{font-size:var(--t-p);font-weight:var(--peso-f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.story-nome small{font-size:var(--t-micro);color:var(--c-texto-2);margin-top:var(--filete-f)}
.story-nome .selo-t{margin-top:var(--filete-f)}
.story-topo,.story-pe{transition:opacity var(--dur-segurar) linear}
.story.segurando .story-topo,.story.segurando .story-pe{opacity:0}
.story-anima .story-cubo,.story-anima .story-palco{transition:transform var(--story-dur) var(--curva),border-radius var(--story-dur) var(--curva),opacity var(--story-dur) var(--curva)}
.story-anima .story-sombra,.story-anima .story-fundo{transition:opacity var(--story-dur) var(--curva)}
.story-mola .story-palco{transition-timing-function:var(--curva-mola)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .coracao-voa.ativo{opacity:0}
}

/* 09/11 (portão de divulgação): a página De onde vem e a retirada */
.barra a[hidden]{display:none}
.fim-link{font-size:var(--t-p);color:var(--c-texto-2);text-decoration:underline;text-underline-offset:.2em}
.painel-credito a[href="#sobre"]{color:inherit;text-decoration:underline;text-underline-offset:.15em}
.sobre{display:grid;gap:var(--e-4)}
.sobre-txt{color:var(--c-texto-2);line-height:var(--lh-corpo)}
.sobre-forte{color:var(--c-texto);font-weight:var(--peso-f)}
.sobre-form{display:grid;gap:var(--e-2);margin-top:var(--e-4)}
.campo-rot{font-size:var(--t-p);color:var(--c-texto-2);margin-top:var(--e-2)}
.campo{width:100%;min-height:var(--btn-h);padding:var(--e-2);border:var(--filete) solid var(--c-borda);border-radius:var(--raio-btn);background:var(--c-sup);color:var(--c-texto);font:inherit;font-size:var(--t-corpo)}
.campo:focus{outline:calc(var(--filete) * 2) solid var(--c-foco);outline-offset:var(--filete)}
textarea.campo{min-height:calc(var(--btn-h) * 2);resize:vertical}
.campo-oculto{position:absolute;left:-100vw;width:var(--filete);height:var(--filete);opacity:0}
.sobre-form .btn{margin-top:var(--e-3)}
.sobre-aviso{min-height:1.5em;font-size:var(--t-p);color:var(--c-texto-2)}

/* =====================================================================================================================
   09/11/2026 · MVP de UI (DEC-VR-48): Início · Agenda · Pesquisar · Patrocinadores · Novidades
   ===================================================================================================================== */
.ini-tela{height:100%;position:relative}
.ini-tela>.rolavel{padding-bottom:var(--e-6)}
/* cabeçalho: marca, cidade, patrocinadores, busca, sino */
.ini-cab{display:grid;grid-template-columns:auto auto auto 1fr auto auto;grid-template-areas:"marca cidade patro . busca sino";align-items:center;gap:var(--e-2);padding:var(--e-3) var(--e-4) var(--e-2)}
.marca{grid-area:marca;display:inline-flex;align-items:center;gap:var(--e-2);font-size:var(--t-marca);font-weight:var(--peso-f);letter-spacing:-.01em;white-space:nowrap;padding-right:var(--e-2);border-right:var(--filete) solid var(--c-borda-sutil)}
.marca-ic{width:40px;height:28px;fill:none;stroke:var(--c-marca);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pilula{display:inline-flex;align-items:center;gap:var(--e-1);height:36px;padding:0 var(--e-3);border-radius:var(--r-cheio);font-size:var(--t-p);font-weight:var(--peso-f);white-space:nowrap;position:relative}
.pilula::after{content:"";position:absolute;inset:-4px 0}
.pilula-cidade{grid-area:cidade;background:var(--c-sup-2);color:var(--c-texto)}
.pilula-patro{grid-area:patro;background:var(--c-marca-clara);color:var(--c-marca);border:var(--filete) solid var(--c-marca-borda)}
.redondo{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-cheio);background:var(--c-sup-2);color:var(--c-texto);position:relative}
.redondo::after{content:"";position:absolute;inset:-2px}
.ini-busca{grid-area:busca}
.ini-sino{grid-area:sino}
.ponto{position:absolute;top:6px;right:7px;width:10px;height:10px;border-radius:var(--r-cheio);background:var(--c-ponto);border:2px solid var(--c-sup-2)}
@media (max-width:519px){
  .ini-cab{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"marca marca busca sino" "cidade patro patro patro";row-gap:var(--e-2)}
  .ini-cab .pilula{justify-self:start}
  .marca{border-right:0}
}
.ini-cab-p{grid-template-columns:1fr auto;grid-template-areas:none}
.ini-cab-p h1{font-size:var(--t-titulo);font-weight:var(--peso-f)}
.ini-cab-n{font-size:var(--t-p);color:var(--c-texto-2)}

/* filtros: três botões, painel de múltipla escolha, chips do que está ligado */
.filtros-caixa{position:relative;padding:var(--e-1) var(--e-4) 0}
.filtros{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr) minmax(0,.85fr);gap:var(--e-2)}
.filtro{height:44px;display:flex;align-items:center;gap:var(--e-1);padding:0 var(--e-2) 0 var(--e-3);border:var(--filete) solid var(--c-borda);border-radius:var(--r-cheio);background:var(--c-sup);font-size:var(--t-p);font-weight:var(--peso-f);color:var(--c-texto);min-width:0}
.filtro span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filtro .ic-seta{transition:transform var(--dur-curta) var(--curva)}
.filtro[aria-expanded="true"] .ic-seta{transform:rotate(180deg)}
.filtro-on,.filtro[aria-expanded="true"]{border-color:var(--c-marca);background:var(--c-marca-clara);color:var(--c-marca-escura)}
@media (max-width:389px){.filtro{font-size:13px;padding:0 var(--e-1) 0 var(--e-2)}.filtro svg.ic-p{width:16px;height:16px}}
.veu{position:fixed;inset:0;z-index:var(--z-folha);background:transparent}
.veu-escuro{background:rgba(8,14,18,.38)}
.painel-filtro{position:absolute;left:var(--e-4);right:var(--e-4);top:calc(100% + var(--e-2));z-index:calc(var(--z-folha) + 1);background:var(--c-sup);border-radius:var(--r-g);box-shadow:0 12px 40px rgba(16,24,40,.18);padding:var(--e-4);display:grid;gap:var(--e-3);max-height:62dvh;overflow:auto}
.caixas{border:0;display:grid;gap:var(--e-1)}
.caixas legend{font-size:var(--t-titulo-p);font-weight:var(--peso-f);margin-bottom:var(--e-2)}
.caixas+.caixas{border-top:var(--filete) solid var(--c-borda-sutil);padding-top:var(--e-3)}
.caixa{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:var(--e-3);min-height:44px;cursor:pointer;font-size:var(--t-corpo)}
.caixa input{position:absolute;opacity:0;width:1px;height:1px}
.caixa-v{width:24px;height:24px;border-radius:var(--r-p);border:var(--filete-f) solid var(--c-borda);display:grid;place-items:center;color:transparent;background:var(--c-sup)}
.caixa input:checked+.caixa-v{background:var(--c-marca);border-color:var(--c-marca);color:var(--c-sobre-marca)}
.caixa input:focus-visible+.caixa-v{outline:var(--anel) solid var(--c-foco);outline-offset:2px}
.caixa-n{font-size:var(--t-p);color:var(--c-texto-3)}
.caixa-zero .caixa-nome{color:var(--c-texto-3)}
.caixa-nota{font-size:var(--t-micro);color:var(--c-texto-3)}
.painel-filtro-pe{display:flex;align-items:center;justify-content:space-between;gap:var(--e-3);border-top:var(--filete) solid var(--c-borda-sutil);padding-top:var(--e-3)}
.link-limpar{min-height:44px;font-size:var(--t-corpo);font-weight:var(--peso-f);color:var(--c-marca);text-decoration:underline;text-underline-offset:.2em}
.btn-marca{background:var(--c-marca);border-color:var(--c-marca);color:var(--c-sobre-marca);height:44px;padding:0 var(--e-6);border-radius:var(--r-m);font-size:var(--t-corpo)}
.btn-marca:active{background:var(--c-marca-escura)}
.btn-marca-c{height:44px;padding:0 var(--e-4);border-radius:var(--r-m);background:var(--c-marca-clara);color:var(--c-marca-escura);font-weight:var(--peso-f);justify-self:start}
.chips-ativos{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-2);padding:var(--e-3) var(--e-4) 0}
.chip-ativo{display:inline-flex;align-items:center;gap:var(--e-1);height:34px;padding:0 var(--e-2) 0 var(--e-3);border-radius:var(--r-cheio);background:var(--c-marca-clara);color:var(--c-marca-escura);font-size:var(--t-p);font-weight:var(--peso-f);position:relative}
.chip-ativo::after{content:"";position:absolute;inset:-5px 0}
.chips-ativos .link-limpar{font-size:var(--t-p)}

/* carrossel de destaque */
.destaques{padding:var(--e-4) 0 0}
.carrossel{display:flex;gap:var(--e-3);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--e-4);scrollbar-width:none;scroll-padding:0 var(--e-4)}
.carrossel::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;height:var(--slide-alt);position:relative;border-radius:var(--r-g);overflow:hidden;scroll-snap-align:start;background:#0C1B2A;color:#fff}
.slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide::before{content:"";position:absolute;inset:0;background:var(--degrade-slide);z-index:1}
.slide-txt{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:var(--e-5) var(--e-5);max-width:72%}
.slide-rot{font-size:var(--t-micro);font-weight:var(--peso-f);letter-spacing:var(--entre-caps)}
.slide-tit{font-size:26px;line-height:1.05;font-weight:var(--peso-f);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.slide-linha{display:flex;align-items:center;gap:var(--e-2);font-size:var(--t-p);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slide-btn{align-self:flex-start;margin-top:var(--e-2);display:inline-flex;align-items:center;gap:var(--e-1);height:40px;padding:0 var(--e-4);border-radius:var(--r-cheio);background:#fff;color:#15191C;font-size:var(--t-corpo);font-weight:var(--peso-f)}
.slide-patro{position:absolute;right:var(--e-4);bottom:var(--e-3);z-index:2;display:flex;align-items:center;gap:var(--e-3);font-size:var(--t-micro);color:rgba(255,255,255,.88)}
.slide-patro span{padding-right:var(--e-3);border-right:var(--filete) solid rgba(255,255,255,.5)}
.slide-patro img{height:22px;width:auto;max-width:64px;object-fit:contain;filter:brightness(0) invert(1)}
.pontos{display:flex;justify-content:center;gap:var(--e-2);padding-top:var(--e-3)}
.pontos i{width:8px;height:8px;border-radius:var(--r-cheio);background:var(--c-borda)}
.pontos i.on{background:var(--c-marca)}

/* quando: a faixa de datas */
.sec-cab{display:flex;align-items:center;justify-content:space-between;gap:var(--e-3);padding:0 var(--e-4)}
.sec-cab h2{font-size:var(--t-sec);font-weight:var(--peso-f);line-height:var(--lh-justa)}
.sec-link{display:inline-flex;align-items:center;gap:var(--e-1);min-height:44px;font-size:var(--t-p);font-weight:var(--peso-f);color:var(--c-marca);white-space:nowrap}
.quando{padding-top:var(--e-5)}
.dias-c{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(var(--dia-larg),1fr);gap:var(--e-2);overflow-x:auto;padding:var(--e-2) var(--e-4);scrollbar-width:none}
.dias-c::-webkit-scrollbar{display:none}
.dia-c{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:68px;padding:var(--e-2) var(--e-1);border:var(--filete) solid var(--c-borda-sutil);border-radius:var(--r-m);background:var(--c-sup);box-shadow:var(--sombra-cartao);position:relative}
.dia-c-sem{font-size:var(--t-micro);font-weight:var(--peso-f);letter-spacing:.02em;color:var(--c-texto-2)}
.dia-c-sub{font-size:var(--t-micro);color:var(--c-texto-2);line-height:1}
.dia-c-num{font-size:24px;font-weight:var(--peso-f);line-height:1.05}
.dia-c:not(.tem) .dia-c-num{color:var(--c-texto-3)}
.dia-c.tem::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:var(--r-cheio);background:var(--c-marca)}
.dia-c.on{background:var(--c-marca);border-color:var(--c-marca);color:var(--c-sobre-marca)}
.dia-c.on .dia-c-sem,.dia-c.on .dia-c-sub,.dia-c.on .dia-c-num{color:var(--c-sobre-marca)}
.dia-c.on.tem::after{background:var(--c-sobre-marca)}
.quando-txt{padding:var(--e-1) 0 var(--e-4);margin:0 var(--e-4);font-size:var(--t-p);color:var(--c-texto-2);border-bottom:var(--filete) solid var(--c-borda-sutil)}

/* eventos para você: os cartões */
.lista-sec{padding-top:var(--e-4)}
.cartoes{display:grid;gap:var(--e-3);padding:var(--e-2) var(--e-4)}
.cartao{position:relative;display:grid;grid-template-columns:var(--cartao-img) minmax(0,1fr);gap:var(--e-3);padding:var(--e-2);padding-right:var(--e-7);background:var(--c-sup);border-radius:var(--r-cartao);box-shadow:var(--sombra-cartao)}
.cartao-link{position:absolute;inset:0;z-index:1;border-radius:var(--r-cartao)}
.cartao-img{width:var(--cartao-img);height:var(--cartao-img);object-fit:cover;border-radius:var(--r-m);background:var(--c-sup-2)}
.cartao-img.sem{visibility:hidden}
.cartao-corpo{min-width:0;display:grid;align-content:center;gap:3px}
.cartao-tit{font-size:var(--t-titulo-p);font-weight:var(--peso-f);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cartao-linha{display:flex;align-items:center;gap:6px;font-size:var(--t-p);color:var(--c-texto-2);min-width:0}
.cartao-linha svg{color:var(--c-texto-2);width:16px;height:16px}
.cartao-linha .sep{width:var(--filete);height:14px;background:var(--c-borda);margin:0 2px;flex:none}
.cartao-onde{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cartao-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.chip-tipo,.chip-preco{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 var(--e-2);border-radius:var(--r-cheio);font-size:13px;font-weight:var(--peso-f);white-space:nowrap}
.chip-tipo svg{width:15px;height:15px}
.c-musica{background:var(--c-tipo-musica);color:var(--c-tipo-musica-t)}
.c-festa{background:var(--c-tipo-festa);color:var(--c-tipo-festa-t)}
.c-cultura{background:var(--c-tipo-cultura);color:var(--c-tipo-cultura-t)}
.c-feira{background:var(--c-tipo-feira);color:var(--c-tipo-feira-t)}
.c-natureza{background:var(--c-tipo-natureza);color:var(--c-tipo-natureza-t)}
.c-outro{background:var(--c-tipo-outro);color:var(--c-tipo-outro-t)}
.chip-preco{background:var(--c-preco);color:var(--c-preco-t)}
.cartao-chips .selo{height:26px;border-radius:var(--r-cheio);padding:0 var(--e-2)}
/* 10/11: o crédito quebra em duas linhas em vez de cortar o "não confirmado pelo lugar" (regra 6) */
.cartao-cred{font-size:var(--t-micro);color:var(--c-texto-3);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
/* 10/11: o post não escreveu o valor: o chip existe (como na referência), sem a cor de preço */
.chip-preco.sem-valor{background:var(--c-chip-neutro,#EEF0EE);color:var(--c-texto-2);font-weight:500}
.chip-preco.sem-valor svg{width:15px;height:15px}
.cartao-cor{position:absolute;top:var(--e-2);right:var(--e-1);z-index:2;width:44px;height:44px;display:grid;place-items:center;color:var(--c-texto)}
.cartao-cor[aria-pressed="true"]{color:var(--c-salvo)}
.cartao-cor[aria-pressed="true"] svg{fill:currentColor}
.cartao.passou{opacity:var(--opac-esmaecido)}
.cartao.e-cancelou .cartao-tit{text-decoration:line-through;text-decoration-thickness:var(--filete-f)}
.vazio-c{display:grid;gap:var(--e-3);padding:var(--e-4);margin:var(--e-2) var(--e-4);background:var(--c-sup);border-radius:var(--r-cartao);box-shadow:var(--sombra-cartao)}
.vazio-c .vazio-tit{font-size:var(--t-titulo-p)}
.vazio-c .link-limpar{justify-self:start}
.ini-fonte{padding:var(--e-5) var(--e-4) 0;font-size:var(--t-micro);color:var(--c-texto-3)}
.ini-fonte a{color:var(--c-texto-2);text-decoration:underline;text-underline-offset:.15em}

/* agenda completa */
.agenda-dia{padding-top:var(--e-4)}
.agenda-dia-tit{padding:0 var(--e-4);font-size:var(--t-titulo-p);font-weight:var(--peso-f)}
.agenda-dia-tit .num{color:var(--c-texto-3);font-weight:var(--peso-n)}

/* mês completo */
.folha-mes{position:absolute;left:0;right:0;bottom:0;z-index:calc(var(--z-folha) + 1);background:var(--c-sup);border-radius:var(--r-g) var(--r-g) 0 0;box-shadow:0 -8px 32px rgba(16,24,40,.18);padding:var(--e-4) var(--e-4) var(--e-5);display:grid;gap:var(--e-3)}
.mes-cab{display:flex;align-items:center;justify-content:space-between}
.mes-cab h2{font-size:var(--t-titulo-p);font-weight:var(--peso-f)}
.mes-sem,.mes-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--e-1);text-align:center}
.mes-sem span{font-size:var(--t-micro);font-weight:var(--peso-f);color:var(--c-texto-3)}
.mes-d{position:relative;height:44px;display:grid;place-items:center;border-radius:var(--r-m);font-size:var(--t-corpo);color:var(--c-texto-3)}
.mes-d.tem{color:var(--c-texto);font-weight:var(--peso-f);background:var(--c-marca-clara)}
.mes-d i{position:absolute;right:4px;top:2px;font-style:normal;font-size:10px;color:var(--c-marca)}
.mes-d.hoje{box-shadow:inset 0 0 0 var(--filete-f) var(--c-marca)}
.mes-d.on{background:var(--c-marca);color:var(--c-sobre-marca)}
.mes-d.on i{color:var(--c-sobre-marca)}
.mes-d.passado{opacity:.4}

/* pesquisar */
.busca-caixa{display:flex;align-items:center;gap:var(--e-2);margin:var(--e-1) var(--e-4) var(--e-2);padding:0 var(--e-3);height:48px;border:var(--filete) solid var(--c-borda);border-radius:var(--r-cheio);background:var(--c-sup)}
.busca-campo{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:var(--t-corpo);color:var(--c-texto);outline:none}
.busca-caixa:focus-within{border-color:var(--c-marca);box-shadow:0 0 0 3px var(--c-marca-clara)}
.busca-dica{padding:var(--e-4);color:var(--c-texto-2);font-size:var(--t-p)}
#busca-res .secao-rot,#busca-res .lista{padding:0 var(--e-4)}
.item-lug .lug-arte{display:grid;place-items:center;background:var(--c-marca-clara);color:var(--c-marca)}

/* patrocinadores */
.patro-tela{display:grid;gap:var(--e-4)}
.patros{display:grid;gap:var(--e-3)}
.patro{display:grid;grid-template-columns:64px 1fr;gap:var(--e-3);align-items:center;padding:var(--e-3);background:var(--c-sup);border-radius:var(--r-cartao);box-shadow:var(--sombra-cartao)}
.patro-logo{width:64px;height:64px;object-fit:contain;border-radius:var(--r-m);background:var(--c-sup-2)}
.patro-sem{display:grid;place-items:center;font-size:var(--t-titulo);font-weight:var(--peso-f);color:var(--c-marca)}
.patro p{font-size:var(--t-p);color:var(--c-texto-2)}
.patro-cta{display:grid;gap:var(--e-2);padding:var(--e-4);border-radius:var(--r-cartao);background:var(--c-marca-clara)}
.patro-cta .btn-marca{justify-self:start;display:inline-flex;align-items:center}

/* barra de baixo no claro: o item atual numa pílula verde, como na tela do MVP */
.barra{background:var(--c-sup);border-top:var(--filete) solid var(--c-borda-sutil);padding:var(--e-1) var(--e-2) env(safe-area-inset-bottom)}
.barra a{border-radius:var(--r-g);margin:var(--e-1) 2px;min-height:56px;font-size:var(--t-micro)}
.barra a[aria-current="page"]{background:var(--c-marca-clara);color:var(--c-marca)}
.barra a[aria-current="page"] svg{fill:var(--c-marca);fill-opacity:.12}
.cab{background:var(--c-sup)}
.item{background:var(--c-sup);box-shadow:var(--sombra-cartao)}
.toast{box-shadow:0 8px 24px rgba(16,24,40,.16)}

/* 09/11: densidade da tela do MVP (a imagem cabe numa tela de 390 px: filtros numa linha, os 8 dias sem rolar) */
:root{--t-sec:18px;--t-marca:17px;--cartao-img:96px;--slide-alt:196px}
.marca-ic{width:34px;height:24px}
.pilula{height:32px;font-size:13px;padding:0 var(--e-3) 0 10px}
.redondo{width:38px;height:38px}
.sec-link{font-size:13px}
.filtros-caixa{padding:var(--e-1) var(--e-3) 0}
.filtros{display:flex;gap:6px}
.filtro{flex:1 1 auto;height:40px;font-size:13px;gap:3px;padding:0 6px 0 9px}
.filtro svg.ic-p{width:15px;height:15px}
.filtro svg.ic-seta{width:13px;height:13px}
@media (max-width:379px){.filtro>svg:first-child{display:none}.filtro{padding:0 6px 0 10px}}
.painel-filtro{left:var(--e-3);right:var(--e-3)}
.chips-ativos{padding:var(--e-3) var(--e-3) 0}
.chip-ativo{height:30px;font-size:13px}
.carrossel{padding:0 var(--e-3);scroll-padding:0 var(--e-3)}
.slide-txt{justify-content:flex-start;padding:18px 18px;max-width:64%;gap:5px}
.slide-tit{font-size:22px}
.slide-linha{font-size:13px}
.slide-btn{position:absolute;left:18px;bottom:14px;margin:0;height:36px;font-size:14px}
.slide-patro{max-width:52%;overflow:hidden;bottom:22px}
:root{--degrade-slide:linear-gradient(90deg,rgba(8,14,18,.94) 0%,rgba(8,14,18,.78) 45%,rgba(8,14,18,.25) 100%)}
.sec-cab{padding:0 var(--e-3)}
.quando{padding-top:var(--e-4)}
.dias-c{grid-auto-flow:row;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;padding:var(--e-2) var(--e-3);overflow:visible}
.dia-c{min-height:58px;padding:6px 0;border-radius:10px}
.dia-c-sem{font-size:10.5px}
.dia-c-sub{font-size:10.5px}
.dia-c-num{font-size:20px}
.dia-c.tem::after{bottom:4px}
.quando-txt{margin:0 var(--e-3);font-size:13px;padding-bottom:var(--e-3)}
.lista-sec{padding-top:var(--e-3)}
.cartoes{padding:var(--e-2) var(--e-3);gap:10px}
.cartao{gap:10px;padding:7px;padding-right:38px}
.cartao-tit{font-size:16px}
.cartao-linha{font-size:13px;gap:5px}
.cartao-linha svg{width:15px;height:15px}
.chip-tipo,.chip-preco,.cartao-chips .selo{height:24px;font-size:12px}
.chip-tipo svg{width:14px;height:14px}
.cartao-cor{top:2px;right:0}
.agenda-dia-tit{padding:0 var(--e-3);font-size:16px}
.ini-fonte{padding:var(--e-5) var(--e-3) 0}
.busca-caixa{margin:var(--e-1) var(--e-3) var(--e-2)}
#busca-res .secao-rot,#busca-res .lista{padding:0 var(--e-3)}
.ini-cab{padding:var(--e-3) var(--e-3) var(--e-2)}
.sec-cab h2{font-size:17px;white-space:nowrap}
.sec-link{gap:3px;min-width:0}
.sec-link span{overflow:hidden;text-overflow:ellipsis}
.cartao-linha span{white-space:nowrap}
.cartao-linha>span:last-child{overflow:hidden;text-overflow:ellipsis}
