/* ============================================================
   Presentación tipo "deck" — usa las variables de styles.css
   ============================================================ */

html, body{ height:100%; }
body.deck-body{
  overflow: hidden;
  background: var(--bg);
  display:flex;
  flex-direction:column;
  height:100vh;
  height:100dvh;
}

.deck{
  flex: 1 1 auto;
  min-height:0;
  width:100%;
  position:relative;
  overflow:hidden;
}
.slide{
  height:100%;
  width:100%;
  display:none;
  flex-direction:column;
  justify-content:flex-start;
  position:relative;
  padding: 56px 8vw 70px;
  overflow-y:auto;
  overflow-x:hidden;
  box-sizing:border-box;
  /* navegación sólo con los botones "<" ">" (o el teclado) — nunca con la
     rueda del mouse ni una barra de scroll entre láminas */
  scrollbar-width: thin;
}
.slide.active{ display:flex; }
.slide-inner{ max-width:1040px; margin:0 auto; width:100%; }

.slide::before{
  content: attr(data-index) " / " attr(data-total);
  position:absolute; bottom:26px; left:8vw;
  font-family: var(--font-display); font-weight:600; font-size:.75rem;
  color: var(--text-faint); letter-spacing:.06em;
}

/* --- Portada --- */
.slide-cover{
  color:#fff;
  background: radial-gradient(120% 140% at 15% 10%, var(--am-teal-dark) 0%, var(--am-teal) 45%, var(--am-teal-dark) 100%);
  justify-content:center;
}
.slide-cover::after{
  content:"";
  position:absolute; right:-8%; bottom:-25%;
  width:55%; padding-top:55%;
  background: conic-gradient(from 200deg, var(--am-gold), var(--am-red) 35%, transparent 65%);
  opacity:.28; border-radius:50%; filter: blur(6px);
  pointer-events:none;
}
.slide-cover .brandline{ display:flex; align-items:center; gap:12px; margin-bottom:46px; }
.slide-cover .brandline img{ height:30px; filter:brightness(0) invert(1); opacity:.95; }
.slide-cover .brandline span{ font-family:var(--font-display); font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; opacity:.85; }
.slide-cover .eyebrow{ color: var(--am-gold); }
.slide-cover .eyebrow::before{ background: var(--am-gold); }
.slide-cover h1{ color:#fff; font-size: clamp(2.1rem,4.4vw,3.4rem); max-width:760px; }
.slide-cover p.lead{ color: rgba(255,255,255,.86); font-size:1.15rem; max-width:600px; }
.slide-cover .meta-row{ margin-top:46px; display:flex; gap:34px; flex-wrap:wrap; }
.slide-cover .meta-row div{ font-size:.82rem; color: rgba(255,255,255,.7); }
.slide-cover .meta-row div b{ display:block; color:#fff; font-family:var(--font-display); font-size:.95rem; font-weight:600; }

/* --- Slides de contenido --- */
.slide-content .slide-inner > .eyebrow{ margin-bottom:12px; }
.slide-content h2{ font-size: clamp(1.5rem,2.6vw,2rem); margin-bottom:6px; }
.slide-content p.lead{ font-size:1rem; max-width:720px; }

.slide-dots{
  display:flex; flex-direction:row; align-items:center; gap:9px;
}
.slide-dots button{
  width:9px; height:9px; border-radius:50%; border:1.5px solid var(--am-teal);
  background:transparent; padding:0; cursor:pointer; opacity:.55; transition:all .2s ease;
}
.slide-dots button:hover{ opacity:.9; }
.slide-dots button.active{ width:22px; border-radius:5px; background: var(--am-teal); opacity:1; }

.deck-topbar{
  flex: 0 0 auto;
  position:relative; z-index:90;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:10px;
  padding: 12px 28px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.deck-topbar .home-link{
  display:flex; align-items:center; gap:8px; text-decoration:none;
  color: var(--text-soft); font-size:.82rem; font-weight:600;
  background: var(--bg);
  padding:8px 14px; border-radius:999px; border:1px solid var(--border);
  white-space:nowrap;
}
.deck-topbar .status-pill{
  font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  background: var(--status-borrador-bg); color: var(--status-borrador-fg);
  padding:6px 14px; border-radius:999px;
}

.deck-nav{
  position:fixed; left:50%; bottom:22px; transform:translateX(-50%); z-index:85;
  display:flex; align-items:center; gap:16px;
  background: var(--surface); border:1px solid var(--border);
  border-radius:999px; padding:8px 10px 8px 8px;
  box-shadow: var(--shadow-lg);
}
.nav-btn{
  display:flex; align-items:center; gap:7px; border:none; cursor:pointer;
  background: var(--am-teal); color:#fff;
  font-family: var(--font-body); font-weight:600; font-size:.85rem;
  padding:11px 20px; border-radius:999px;
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 2px 8px rgba(0,120,140,.35);
}
.nav-btn svg{ flex-shrink:0; }
.nav-btn:hover:not(:disabled){ background: var(--am-teal-dark); transform: translateY(-1px); }
.nav-btn:disabled{ background: var(--border); color: var(--text-faint); cursor:default; box-shadow:none; }
.nav-btn .nav-label{ white-space:nowrap; }

@media (max-width: 560px){
  .nav-btn .nav-label{ display:none; }
  .nav-btn{ padding:12px; }
  .deck-nav{ gap:10px; }
}

/* dark slides (cover, closing) need light dots/arrows contrast handled by same tokens */

@media (max-width: 720px){
  .slide{ padding: 30px 6vw 60px; }
  .slide-dots{ display:none; }
  .deck-topbar .home-link span{ display:none; }
}

@media print{
  body.deck-body{ overflow:visible; display:block; height:auto; }
  .deck{ height:auto; overflow:visible; }
  .slide{ display:flex !important; height:auto; min-height:100vh; page-break-after:always; overflow:visible; }
  .deck-topbar, .deck-arrows, .deck-nav, .slide-dots{ display:none !important; }
  .slide::before{ display:none; }
  .slide-cover{ min-height:0; height:100vh; overflow:hidden; }
  .slide-cover::after{ display:none; }
}
