/*
 * Black Friday 2026 — o visual das duas páginas abaixo da dobra (spec §8).
 *
 * O primeiro viewport (faixa, hero e formulário) fica no CSS crítico, inline
 * em cada página: este arquivo carrega depois da primeira pintura. Os tokens
 * (--bf-*) também vêm de lá.
 *
 * Nada de preço, oferta ou data de virada aqui (spec §9.3). A versão vai no
 * nome do arquivo: mudou depois do deploy, crie o bf26-v2.css.
 */

/* ---- formulários (a captura repete isto no CSS crítico; a matrícula usa daqui) ---- */
.form{position:relative;padding:16px;border:1px solid var(--bf-line);border-radius:16px;background:rgba(20,20,22,.94);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.form__titulo{margin:0;font-size:20px;font-weight:700;line-height:1.25}
.form__sub{min-height:2.9em;margin:4px 0 12px;font-size:14px;line-height:1.45;color:var(--bf-muted)}
.campo{margin-bottom:10px}
.campo label{display:block;margin-bottom:4px;font-size:13px;font-weight:700;line-height:1.4}
.campo input{width:100%;height:46px;padding:0 14px;border:1px solid #3A3A40;border-radius:10px;background:var(--bf-bg);color:var(--bf-text);font:400 16px var(--bf-font);scroll-margin:96px 0}
.campo input::placeholder{color:#7E7A77}
.campo input:focus{border-color:var(--bf-magenta-text);outline:none;box-shadow:0 0 0 3px rgba(255,46,147,.28)}
.campo input[aria-invalid="true"]{border-color:var(--bf-magenta-text)}
.fone{position:relative;display:flex;gap:8px}
.fone__ddi{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:46px;padding:0 10px;border:1px solid #3A3A40;border-radius:10px;background:var(--bf-bg);color:var(--bf-text);font:700 15px var(--bf-font);cursor:pointer}
.fone__ddi svg{width:11px;height:8px}
.fone input{flex:1;min-width:0}
.form__erro{margin:0 0 10px;font-size:14px;font-weight:700;line-height:1.4;color:var(--bf-magenta-text)}
.form__aceite{margin:10px 0 0;font-size:12.5px;line-height:1.45;color:var(--bf-muted)}
.botao svg{width:20px;height:20px;flex:0 0 auto}
.form__equipe{display:block;width:100%;min-height:44px;margin-top:12px;padding:10px;border:0;background:none;color:var(--bf-text);font:700 14px var(--bf-font);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.form__modo{position:absolute;right:10px;bottom:8px;width:14px;height:14px;color:rgba(169,164,160,.4);cursor:help}
.form__modo-ico{width:14px;height:14px}
.form__modo-ico--ia,.form__modo[data-checkout-modo="ia"] .form__modo-ico--padrao{display:none}
.form__modo[data-checkout-modo="ia"] .form__modo-ico--ia{display:block}

/* ---- formulário: lista de países, sucesso ---- */
.fone__lista{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:min(300px,100%);max-height:280px;margin:0;padding:6px;overflow:auto;list-style:none;border:1px solid var(--bf-line);border-radius:12px;background:var(--bf-surface);box-shadow:0 16px 40px rgba(0,0,0,.5)}
.fone__lista li{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border-radius:8px;font-size:15px;cursor:pointer}
.fone__lista li:hover,.fone__lista li:focus-visible,.fone__lista li[aria-selected="true"]{background:#232327}
.fone__lista em{margin-left:auto;font-style:normal;color:var(--bf-muted)}

.sucesso{text-align:center;padding:8px 4px}
.sucesso:focus{outline:none}
.sucesso__selo{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:var(--bf-lime);color:#0A0A0B;font-size:26px;font-weight:900}
.sucesso__titulo{margin:0 0 8px;font-size:22px;font-weight:900;line-height:1.2}
.sucesso__texto{margin:0 0 16px;font-size:15px;color:var(--bf-muted)}
.sucesso__texto strong{color:var(--bf-text);white-space:nowrap}
.sucesso__acoes{display:grid;gap:10px}
.botao--contorno{background:transparent;border:1px solid #4A4A52;color:var(--bf-text)}
.botao--contorno:hover{background:#1C1C20;border-color:var(--bf-magenta-text)}

.status__botao{width:auto;margin-top:16px;display:inline-flex;padding-inline:24px}

/* ---- seções ---- */
.secao{padding:clamp(56px,9vw,104px) var(--bf-g);border-top:1px solid var(--bf-line)}
.secao__dentro{max-width:var(--bf-max);margin:0 auto}
.secao .secao__eyebrow,.paralaxe .secao__eyebrow{margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bf-magenta-text)}
.secao__titulo{margin:0 0 16px;max-width:20em;font-size:clamp(28px,4.6vw,48px);font-weight:900;line-height:1.08;letter-spacing:-.02em}
.secao__intro{max-width:40em;margin:0 0 28px;color:var(--bf-muted);font-size:17px}
.secao__nota{margin:20px 0 0;font-size:14px;color:var(--bf-muted)}
.secao__cta{width:auto;display:inline-flex;margin-top:32px;padding-inline:28px}
.secao p{max-width:42em}

/* escada de lotes: o conteúdo vem do `estado` (nenhum preço neste arquivo) */
.escada{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,78%);gap:12px;margin:0;padding:0 0 8px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.degrau{scroll-snap-align:start;position:relative;padding:20px;border:1px solid var(--bf-line);border-radius:14px;background:var(--bf-surface)}
.degrau__nome{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bf-muted)}
.degrau__preco{margin:6px 0 4px;font-size:clamp(26px,3.4vw,34px);font-weight:900;line-height:1.1;letter-spacing:-.02em}
.degrau__nota{margin:0;font-size:14px;color:var(--bf-muted)}
.degrau--atual,.degrau--proximo-1{border-color:var(--bf-magenta);box-shadow:inset 0 0 0 1px var(--bf-magenta)}
.degrau--atual .degrau__nome,.degrau--proximo-1 .degrau__nome{color:var(--bf-magenta-text)}
.degrau--esgotado .degrau__preco{text-decoration:line-through;text-decoration-thickness:3px;color:var(--bf-muted)}
.degrau__carimbo{position:absolute;top:14px;right:14px;padding:3px 10px;border:2px solid var(--bf-lime);border-radius:6px;color:var(--bf-lime);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-6deg)}
.degrau--depois{background:transparent}

/* como vai funcionar */
.passos{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:passo}
.passo{position:relative;padding:20px 20px 20px 64px;border:1px solid var(--bf-line);border-radius:14px;background:var(--bf-surface);counter-increment:passo}
.passo::before{content:counter(passo);position:absolute;left:18px;top:18px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--bf-magenta);color:#fff;font-weight:900;font-size:15px}
.passo__quando{margin:0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bf-lime)}
.passo__titulo{margin:4px 0 4px;font-size:19px;font-weight:700;line-height:1.3}
.passo__texto{margin:0;color:var(--bf-muted);font-size:15px}

/* o que é o Club */
.club__grade{display:grid;gap:32px;align-items:center}
.club__texto p{color:var(--bf-muted);font-size:17px}
.club__lista{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.club__lista li{position:relative;padding-left:28px;color:var(--bf-muted)}
.club__lista li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:3px;background:var(--bf-magenta-text);transform:rotate(45deg)}
.club__lista strong{color:var(--bf-text)}
.club__fotos{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:10px}
.club__foto{width:100%;height:100%;object-fit:cover;border-radius:14px}
.club__foto--grande{grid-row:span 2}

/* depoimentos */
.depoimentos__lista{display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,320px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:8px}
.depoimentos__lista img{scroll-snap-align:start;width:100%;border-radius:14px;background:var(--bf-surface)}

/* só na Black */
.cartoes{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.cartao{padding:24px;border:1px solid var(--bf-line);border-radius:14px;background:var(--bf-surface)}
.cartao p{margin:0;color:var(--bf-muted)}
.cartao__titulo{margin:0 0 8px;font-size:20px;font-weight:900;line-height:1.2}
.cartao--destaque{border-color:var(--bf-lime)}
.cartao--destaque .cartao__titulo{color:var(--bf-lime)}

/* segurança */
.seguranca__grade{display:grid;gap:24px}
.seguranca p{color:var(--bf-muted)}
.canais{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.canais li{padding:16px 18px;border:1px solid var(--bf-line);border-radius:12px;background:var(--bf-surface);color:var(--bf-muted)}
.canais strong{display:block;color:var(--bf-text)}

/* dúvidas */
.faq__dentro{max-width:820px}
.faq__item{border-bottom:1px solid var(--bf-line)}
.faq__item summary{display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-size:17px;font-weight:700;cursor:pointer;list-style:none}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";color:var(--bf-magenta-text);font-size:24px;line-height:1}
.faq__item[open] summary::after{content:"−"}
.faq__item p{margin:0 0 18px;color:var(--bf-muted)}

/* chamada final e rodapé */
.final{text-align:center;background:radial-gradient(60% 80% at 50% 100%,rgba(224,0,111,.22),transparent 70%)}
.final__dentro{display:grid;justify-items:center}
.final .secao__titulo{margin-inline:auto}
.final__texto{margin:0 auto 24px;color:var(--bf-muted);font-size:17px}
.final__texto strong{color:var(--bf-lime)}
.final__botao{width:auto;padding-inline:32px}
.rodape{padding:32px var(--bf-g) 40px;border-top:1px solid var(--bf-line);color:var(--bf-muted);font-size:14px}
.rodape__dentro{max-width:var(--bf-max);margin:0 auto;display:grid;gap:6px}
.rodape p{margin:0}
.rodape a{display:inline-flex;align-items:center;min-height:44px}
.rodape__marca{font-size:22px;font-weight:900;color:var(--bf-text)}

/* matrícula: o que você recebe, professoras, formulário */
.modulos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 20px;padding:0;list-style:none}
.modulos li{padding:16px;border:1px solid var(--bf-line);border-radius:12px;background:var(--bf-surface)}
.modulos h3{margin:0 0 4px;font-size:16px;font-weight:700}
.modulos p{margin:0;font-size:14px;color:var(--bf-muted)}
.destaques{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.destaques li{position:relative;padding-left:28px;color:var(--bf-muted)}
.destaques li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:3px;background:var(--bf-lime);transform:rotate(45deg)}
.destaques strong{color:var(--bf-text)}
.professoras__grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.professora{margin:0}
.professora img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px}
.professora figcaption{margin-top:10px;font-size:14px;color:var(--bf-muted)}
.professora strong{color:var(--bf-text)}
.matricula__grade{display:grid;gap:28px;align-items:start}
.matricula__texto p{color:var(--bf-muted);font-size:17px}
.matricula__lista{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none;color:var(--bf-muted)}
.matricula__lista li::before{content:"✓";margin-right:8px;color:var(--bf-lime);font-weight:900}

/* barra do lote: anima só o scaleX (spec AN4) */
.lote-barra__cheio{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.lote-barra--degrau{height:8px;margin-top:10px}
.lote-barra--mini{width:min(160px,40vw);height:6px;margin-top:6px}
.lote-barra{position:relative;border-radius:999px;background:#2A2A2E;overflow:hidden}
.lote-barra--degrau,.lote-barra--mini{display:block}
.lote-barra--degrau .lote-barra__cheio,.lote-barra--mini .lote-barra__cheio{position:absolute;inset:0;transform-origin:left center;border-radius:inherit;background:linear-gradient(90deg,var(--bf-magenta),var(--bf-magenta-text))}
.lote-barra.brilha::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-100%);animation:bf-barra-brilho 1.2s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none}
@keyframes bf-barra-brilho{to{transform:translateX(100%)}}
.degrau--proximo .degrau__nota{color:var(--bf-lime)}

/* preço: brilho quando aparece; na virada, riscado, rotateX e o carimbo (spec AN3 e §5.4) */
.preco__valor.brilha{background:linear-gradient(100deg,var(--bf-text) 42%,#ffd1e8 50%,var(--bf-text) 58%) 100% 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bf-brilho 1.6s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes bf-brilho{from{background-position:100% 0}to{background-position:0 0}}
.preco__valor--riscado{color:var(--bf-muted);text-decoration:line-through;text-decoration-thickness:4px;text-decoration-color:var(--bf-magenta-text)}
.preco__valor--sai{animation:bf-vira-sai .35s cubic-bezier(.4,0,1,1) forwards}
.preco__valor--entra{animation:bf-vira-entra .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes bf-vira-sai{to{transform:perspective(600px) rotateX(90deg)}}
@keyframes bf-vira-entra{from{transform:perspective(600px) rotateX(-90deg)}to{transform:none}}
.preco__carimbo{position:absolute;top:42%;left:50%;z-index:2;margin:0!important;padding:8px 18px;border:3px solid var(--bf-lime);border-radius:10px;background:rgba(10,10,11,.92);color:var(--bf-lime);font-size:clamp(20px,5.4vw,28px);font-weight:900;line-height:1.1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(1.6)}
.preco__carimbo.entra{animation:bf-carimbo .35s cubic-bezier(.2,.8,.2,1) forwards}
.preco__carimbo.sai{animation:bf-carimbo-sai .3s ease-in forwards}
@keyframes bf-carimbo{to{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}}
@keyframes bf-carimbo-sai{from{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(.92)}}

/* modais: virada (spec §7.5) e "Falar com a equipe" */
body.modal-aberto{overflow:hidden}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px}
.modal__fundo{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.modal__painel{position:relative;width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px;border:1px solid var(--bf-line);border-radius:18px;background:var(--bf-surface);box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(12px);opacity:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .25s}
.modal.aberto .modal__painel{transform:none;opacity:1}
.modal__titulo{margin:0 0 8px;font-size:24px;font-weight:900;line-height:1.2}
.modal__texto{margin:0 0 18px;color:var(--bf-muted)}
.modal__acoes{display:grid;gap:10px}
.modal__x{position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;background:none;color:var(--bf-text);font-size:28px;cursor:pointer}
.form--modal{padding:0;border:0;background:none;box-shadow:none}

/* barra fixa: embaixo no celular (com safe-area), em cima no desktop (spec §6.5) */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--bf-g) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--bf-line);background:rgba(10,10,11,.96);transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.barra.visivel{transform:none}
.barra__texto{margin:0;font-size:13px;font-weight:700;line-height:1.35}
.barra__botao{width:auto;min-height:44px;padding:10px 16px;font-size:14.5px;white-space:nowrap}
body.com-barra{padding-bottom:76px}

.barra__info{min-width:0}

/* Paralaxe: o fundo anda mais devagar que a página (o transform vem do bf26-v1.js; sem JS ou com "reduzir movimento", fica parado) */
.paralaxe{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:clamp(440px,72vh,660px);padding:clamp(80px,12vw,140px) var(--bf-g);text-align:center;background:var(--bf-bg);border-top:1px solid var(--bf-line)}
.paralaxe__fundo{position:absolute;left:0;right:0;top:-15%;height:130%;z-index:-2;will-change:transform}
.paralaxe__fundo picture{display:block;height:100%}
.paralaxe__fundo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.paralaxe::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,11,.66),rgba(10,10,11,.52) 45%,rgba(10,10,11,.9)),radial-gradient(70% 60% at 50% 50%,rgba(224,0,111,.16),transparent 70%)}
.paralaxe__dentro{max-width:900px;margin:0 auto}
/* Sobre a foto, o magenta precisa de fundo próprio para passar de 4,5:1 (verificação de 07/10) */
.paralaxe .secao__eyebrow{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(10,10,11,.85);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.paralaxe__titulo{margin:0;text-wrap:balance;font-size:clamp(32px,6.2vw,68px);font-weight:900;line-height:1.04;letter-spacing:-.025em;text-shadow:0 2px 28px rgba(0,0,0,.5)}
.paralaxe__titulo em{font-style:normal;color:var(--bf-lime)}
.paralaxe__texto{margin:20px auto 0;max-width:44ch;font-size:clamp(16px,1.9vw,20px);color:#E8E3DE;text-shadow:0 1px 14px rgba(0,0,0,.5)}

/* Lookbook: prévia de 3 peças e o botão para o lookbook completo no site */
.lookbook .lookbook__intro{margin:0 0 24px;max-width:46ch;color:var(--bf-muted)}
.lookbook__lista{display:grid;grid-auto-flow:column;grid-auto-columns:min(72%,300px);gap:12px;margin:0;padding:0 0 8px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.lookbook__lista li{scroll-snap-align:start}
.lookbook__lista figure{margin:0}
.lookbook__lista img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;background:var(--bf-surface)}
.lookbook__lista figcaption{margin-top:10px;font-weight:700}
.lookbook__nova-aba{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Workshops e imersões (matrícula): o vídeo do YouTube só carrega no toque */
.workshops .workshops__intro{margin:0 0 28px;max-width:52ch;color:var(--bf-muted)}
.workshops__grupo{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;font-size:14px;color:var(--bf-muted)}
.workshops__lista + .workshops__grupo{margin-top:40px}
.workshops__etiqueta{padding:4px 10px;border-radius:999px;background:var(--bf-magenta);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.workshops__etiqueta--lima{background:var(--bf-lime);color:#0A0A0B}
.workshops__lista{display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,300px);gap:14px;margin:0;padding:0 0 8px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.workshop{scroll-snap-align:start}
.workshop__video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--bf-surface)}
.workshop__play{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}
.workshop__play img{width:100%;height:100%;object-fit:cover}
.workshop__play:focus-visible{outline:3px solid var(--bf-lime);outline-offset:-3px}
.workshop__icone{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--bf-magenta);box-shadow:0 6px 24px rgba(0,0,0,.45)}
.workshop__icone svg{width:22px;height:22px;margin-left:3px;fill:#fff}
.workshop__play:hover .workshop__icone{background:#C70063}
.workshop__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.workshop__tag{margin:12px 0 2px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bf-magenta-text)}
.workshop__tag--lima{color:var(--bf-lime)}
.workshop__titulo{margin:0;font-size:16px;font-weight:700;line-height:1.3}
.workshop--club .workshop__video{display:grid;place-items:center;border:1px solid var(--bf-line);background:linear-gradient(135deg,#1C1C20,#2A0F1D);text-align:center}
.workshop--club .workshop__video p{display:grid;gap:4px;margin:0;padding:16px}
.workshop--club strong{font-size:26px;font-weight:900;color:var(--bf-lime)}
.workshop--club .workshop__video span{font-size:14px;color:var(--bf-text)}

/* Fogo na ponta da barra de vagas do lote (Rafael, 07/10): acompanha o enchimento e tremula como chama */
.lote-barra__fogo{transition:left 1.2s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 0 6px rgba(255,120,0,.75));animation:bf-chama 1.1s ease-in-out infinite}
.lote-barra__trilho--mini{width:min(160px,40vw);margin-top:6px}
.lote-barra__trilho--mini .lote-barra--mini{width:100%;margin-top:0}
.lote-barra__trilho--mini .lote-barra__fogo{font-size:13px}
.lote-barra__trilho--degrau{margin-top:10px}
.lote-barra__trilho--degrau .lote-barra--degrau{margin-top:0}
.lote-barra__trilho--degrau .lote-barra__fogo{font-size:15px}
@keyframes bf-chama{
  0%,100%{transform:translate(-50%,-58%) scale(1) rotate(-3deg)}
  25%{transform:translate(-50%,-64%) scale(1.12) rotate(3deg)}
  50%{transform:translate(-50%,-60%) scale(.94) rotate(-2deg)}
  75%{transform:translate(-50%,-66%) scale(1.08) rotate(4deg)}
}

/* Venda de verdade (R17): o "+1 matrícula agora" sobe do fogo por ~4 s e o fogo estoura uma vez.
   Só opacity e transform, e o selo é absoluto (posição no CSS crítico): nada empurra a página.
   Magenta como a barra, com um anel da cor do cartão: passa por cima do "Preço congelado…" (lima) sem se confundir com ele. */
.lote-barra__novo{padding:3px 10px;border-radius:999px;background:var(--bf-magenta);color:#fff;font-size:12px;font-weight:900;line-height:1.4;letter-spacing:.02em;box-shadow:0 0 0 3px var(--bf-surface),0 6px 18px rgba(0,0,0,.5)}
.lote-barra__novo.mostra{visibility:visible;animation:bf-novo 4s cubic-bezier(.2,.8,.2,1) both}
@keyframes bf-novo{0%{opacity:0;translate:0 8px}10%,82%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -6px}}
@keyframes bf-novo-fade{0%{opacity:0}8%,85%{opacity:1}100%{opacity:0}}
/* Depois do estouro, a chama volta a tremular sozinha. */
.lote-barra__fogo.estouro{animation:bf-estouro .7s cubic-bezier(.2,.8,.2,1),bf-chama 1.1s ease-in-out .7s infinite}
@keyframes bf-estouro{
  0%,100%{transform:translate(-50%,-58%) scale(1);filter:drop-shadow(0 0 6px rgba(255,120,0,.75))}
  35%{transform:translate(-50%,-72%) scale(1.85);filter:drop-shadow(0 0 16px rgba(255,170,40,1))}
}

@media (min-width:700px){
  .lookbook__lista{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
  .modulos{grid-template-columns:repeat(4,minmax(0,1fr))}
  .professoras__grade{max-width:720px}
  .escada{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
  .passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cartoes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .depoimentos__lista{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
}
@media (min-width:900px){
  .workshops__lista{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
  .passos{grid-template-columns:repeat(5,minmax(0,1fr))}
  .passo{padding:64px 20px 20px}
  .club__grade{grid-template-columns:1fr 1fr;gap:56px}
  .seguranca__grade{grid-template-columns:1.1fr 1fr;align-items:center}
  .matricula__grade{grid-template-columns:1fr 420px;gap:56px}
  .form{padding:28px}
  .form__titulo{font-size:23px}
  .barra{top:0;bottom:auto;padding:10px var(--bf-g);border-top:0;border-bottom:1px solid var(--bf-line);transform:translateY(-110%)}
  .barra__texto{font-size:14px}
  body.com-barra{padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  .lote-barra__fogo,.lote-barra__fogo.estouro{animation:none;transition:none}
  /* O selo da venda só aparece e some, sem movimento (vence o "sem animação" do CSS crítico). */
  .lote-barra__novo.mostra{animation:bf-novo-fade 4s linear both!important}
  .workshops__lista{scroll-snap-type:none}
  .paralaxe__fundo{top:0;height:100%;transform:none!important;will-change:auto}
  .lookbook__lista{scroll-snap-type:none}
  .barra{transition:none}
  .escada,.depoimentos__lista{scroll-snap-type:none}
  .preco__valor.brilha{-webkit-text-fill-color:currentColor;background:none}
  .lote-barra.brilha::after{content:none}
}
