/* =========================================================================
   MOTOR DE SLIDES HORIZONTAIS — Pragmma × CCBF
   Usar junto com base.css. Estrutura: .deck > .track > .slide(s)
   ========================================================================= */
html,body{height:100%;overflow:hidden;}
.deck{height:100vh;width:100vw;overflow:hidden;position:relative;}
.track{display:flex;height:100%;transition:transform .6s var(--ease);will-change:transform;}

.slide{
  min-width:100vw;width:100vw;height:100vh;
  overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;position:relative;
  padding:clamp(34px,5vw,72px) clamp(24px,6vw,84px);
}
.slide__in{margin:auto;width:100%;max-width:1020px;}      /* centraliza; rola se exceder */
.slide--green{background:var(--verde);color:var(--branco);}
.slide--green h1,.slide--green h2,.slide--green h3,.slide--green h4{color:var(--branco);}
.slide--green p,.slide--green li{color:rgba(244,242,236,.9);}
.slide--green .muted{color:rgba(244,242,236,.7);}
.slide--bege{background:var(--bege-pale);}

.slide__num{position:absolute;top:clamp(18px,3vw,34px);left:clamp(24px,6vw,84px);
  font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bege);z-index:2;}
.slide--green .slide__num{color:var(--bege-soft);}
.slide__logo{position:absolute;top:clamp(15px,3vw,30px);right:clamp(24px,6vw,84px);height:26px;opacity:.92;z-index:2;}

/* títulos de slide com respiro do topo */
.slide__in > .eyebrow:first-child{display:block;margin-bottom:14px;}

/* neutraliza animação de reveal dentro dos slides */
.slide .reveal{opacity:1;transform:none;}

/* ---------- Navegação ---------- */
.deck-nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;z-index:40;
  background:rgba(244,242,236,.92);backdrop-filter:blur(10px);padding:8px 16px;border-radius:999px;border:1px solid var(--line);box-shadow:var(--shadow-soft);}
.deck-nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);font-size:1.15rem;color:var(--verde);background:var(--branco-pure);transition:.2s;}
.deck-nav button:hover{background:var(--verde);color:var(--branco);}
#count{font-size:.82rem;letter-spacing:.1em;color:var(--verde);min-width:56px;text-align:center;}
.dots{position:fixed;top:50%;right:16px;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px;z-index:40;}
.dots button{width:9px;height:9px;border-radius:50%;background:var(--bege);opacity:.35;border:none;transition:.2s;cursor:pointer;}
.dots button.on{opacity:1;transform:scale(1.4);}
.deck-hint{position:fixed;bottom:26px;right:22px;font-size:.72rem;letter-spacing:.08em;color:var(--bege);opacity:.7;z-index:40;}
.progress{position:fixed;top:0;left:0;height:3px;background:var(--bege);z-index:50;transition:width .5s var(--ease);}
@media(max-width:760px){.dots{display:none;}.deck-hint{display:none;}}

/* densidade: cartões um pouco mais compactos dentro de slides */
.slide .card{padding:clamp(18px,2.4vw,28px);}
.slide .grid{gap:clamp(14px,2vw,24px);}

/* ---------- Modo de impressão / captura (Chrome: Ctrl+P → Salvar como PDF, Paisagem, sem margens) ---------- */
@media print{
  @page{ size: 297mm 167mm landscape; margin:0; }   /* proporção ~16:9 por slide */
  html,body{height:auto!important;overflow:visible!important;}
  .deck{height:auto!important;overflow:visible!important;}
  .track{display:block!important;transform:none!important;height:auto!important;width:auto!important;}
  .slide{min-width:100%!important;width:100%!important;height:167mm!important;overflow:hidden!important;
    page-break-after:always;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .slide:last-child{page-break-after:auto;break-after:auto;}
  .deck-nav,.dots,.deck-hint,.progress{display:none!important;}
}
