:root{
      --ajfv:#5b3fd0;
      --ajfv-dark:#3a287f;
      --ajfv-soft:#eeeafd;
      --ink:#24222a;
      --muted:#6e6977;
      --line:#e8e4ef;
      --bg:#f7f6fa;
      --card:#fff;
      --max:760px;
      --radius:18px;
      --shadow:0 8px 24px rgba(48,34,98,.08);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:var(--bg);
      color:var(--ink);
      line-height:1.45;
    }

    .wrap{width:min(100% - 28px,var(--max));margin-inline:auto}

    .hero{
      min-height:420px;
      color:#fff;
      display:flex;
      align-items:flex-end;
      background:
        linear-gradient(180deg,rgba(50,36,108,.18),rgba(50,36,108,.92)),
        url("assets/cordoba.jpg") center/cover no-repeat,
        linear-gradient(135deg,#8067df,#4f349e);
    }
    .hero-inner{padding:34px 0 30px}
    .brand{
      display:flex;
      align-items:center;
      gap:14px;
      margin-bottom:24px;
      font-weight:800;
      letter-spacing:.03em;
    }
    .brand img{
      width:min(330px,72vw);
      max-height:110px;
      object-fit:contain;
      object-position:left center;
      background:transparent;
      padding:0;
    }
    .brand-fallback{
      display:none;
      background:#fff;
      color:var(--ajfv);
      font-weight:900;
      padding:10px 14px;
      border-radius:12px;
    }
    .eyebrow{
      margin:0 0 8px;
      font-size:.82rem;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:900;
      opacity:.94;
    }
    h1{
      margin:0;
      font-size:clamp(2.2rem,8vw,4rem);
      line-height:.98;
      letter-spacing:-.04em;
      max-width:700px;
    }
    .hero-meta{
      display:grid;
      gap:9px;
      margin-top:22px;
      font-weight:700;
      font-size:1rem;
    }

    .sticky-nav{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(247,246,250,.94);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(91,63,208,.08);
    }
    .tabs{
      width:min(100%,var(--max));
      margin-inline:auto;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:8px;
      padding:10px 14px;
    }
    .tab{
      text-decoration:none;
      text-align:center;
      border:1px solid var(--line);
      background:#fff;
      color:var(--ajfv-dark);
      border-radius:12px;
      padding:10px 8px;
      font-weight:900;
      font-size:.86rem;
    }
    .tab.today{
      color:#fff;
      background:var(--ajfv);
      border-color:var(--ajfv);
    }

    main{padding:26px 0 64px}
    .intro{
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:18px;
      margin-bottom:30px;
    }
    .intro strong{color:var(--ajfv-dark)}
    .location-link{
      color:#fff;
      text-decoration:none;
      width:fit-content;
      border-bottom:1px solid rgba(255,255,255,.45);
    }
    .location-link:hover{border-bottom-color:#fff}
    .notice{
      display:grid;
      grid-template-columns:44px 1fr;
      gap:14px;
      align-items:start;
      background:#fff7dc;
      border:1px solid #e4bf45;
      border-left:5px solid #d5a600;
      border-radius:var(--radius);
      padding:17px 18px 17px 15px;
      box-shadow:var(--shadow);
      margin:-12px 0 30px;
    }
    .notice-icon{
      width:38px;height:38px;border-radius:50%;
      display:grid;place-items:center;
      background:#d5a600;color:#fff;
      font-size:1.25rem;font-weight:950;
    }
    .notice-title{
      color:#725700;
      font-size:.82rem;
      text-transform:uppercase;
      letter-spacing:.11em;
      font-weight:950;
      margin:1px 0 4px;
    }
    .notice p{margin:0;color:#5c4c16;font-weight:650}

    .day{
      scroll-margin-top:84px;
      margin:38px 0 46px;
    }
    .day-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:14px;
      margin-bottom:15px;
    }
    .day-kicker{
      color:var(--ajfv);
      font-size:.78rem;
      font-weight:900;
      letter-spacing:.11em;
      text-transform:uppercase;
      margin-bottom:2px;
    }
    .day h2{
      margin:0;
      font-size:clamp(1.7rem,6vw,2.25rem);
      letter-spacing:-.035em;
    }
    .today-badge{
      display:none;
      background:#e7f6ef;
      color:#176b50;
      border-radius:999px;
      padding:7px 10px;
      font-size:.75rem;
      text-transform:uppercase;
      letter-spacing:.06em;
      font-weight:900;
      white-space:nowrap;
    }
    .day.is-today .today-badge{display:inline-flex}

    .schedule{display:grid;gap:12px}
    .event{
      display:grid;
      grid-template-columns:76px 1fr;
      gap:15px;
      position:relative;
      background:#fff;
      border:1px solid var(--line);
      border-radius:16px;
      padding:16px;
      box-shadow:0 4px 16px rgba(40,31,72,.045);
    }
    .event.now{
      border-color:var(--ajfv);
      box-shadow:0 0 0 3px rgba(91,63,208,.11),var(--shadow);
    }
    .event.now::after{
      content:"AHORA";
      position:absolute;
      right:12px;
      top:12px;
      background:var(--ajfv-soft);
      color:var(--ajfv);
      padding:5px 7px;
      border-radius:999px;
      font-size:.66rem;
      font-weight:900;
      letter-spacing:.08em;
    }
    .time{
      color:var(--ajfv);
      font-size:1.06rem;
      font-weight:950;
      letter-spacing:-.02em;
    }
    .time small{
      font-size:.74rem;
      color:var(--muted);
      font-weight:800;
    }
    .event h3{
      margin:0 0 6px;
      font-size:1.02rem;
      line-height:1.28;
    }
    .event p{margin:6px 0;color:var(--muted)}
    .people{
      margin-top:10px;
      padding-top:10px;
      border-top:1px solid var(--line);
      display:grid;
      gap:9px;
      color:var(--muted);
    }
    .role{
      display:inline-block;
      color:var(--ajfv-dark);
      font-weight:900;
      margin-bottom:2px;
    }
    .person strong{color:var(--ink)}
    .event.pause{
      background:linear-gradient(135deg,#faf8ff,#f2edff);
      border-style:dashed;
    }
    .event.social{
      background:linear-gradient(135deg,#fff,#f7f3ff);
    }

    footer{
      background:var(--ajfv-dark);
      color:#fff;
      text-align:center;
      padding:34px 0 calc(34px + env(safe-area-inset-bottom));
    }
    footer p{margin:4px 0;opacity:.9}
    .hash{font-size:1.2rem;font-weight:900;margin-bottom:8px}

    .top{
      display:none;
      position:fixed;
      right:16px;
      bottom:18px;
      width:46px;
      height:46px;
      border:0;
      border-radius:50%;
      background:var(--ajfv);
      color:#fff;
      font-size:1.15rem;
      font-weight:900;
      box-shadow:0 10px 24px rgba(58,40,127,.28);
      cursor:pointer;
      z-index:60;
    }

    
/* =========================================================
   DESCARGA DIRECTA EN PDF
   Replica deliberadamente la maquetacion de impresion A4.
   De este modo "Descargar PDF" e "Imprimir / guardar PDF"
   tienen la misma escala tipografica y los mismos saltos.
   ========================================================= */
body.generating-pdf{
  background:#fff!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}
body.generating-pdf .no-pdf,
body.generating-pdf .no-print,
body.generating-pdf .sticky-nav,
body.generating-pdf .top,
body.generating-pdf .program-actions,
body.generating-pdf .pdf-help{
  display:none!important;
}

body.generating-pdf #pdf-content{
  width:196mm!important;
  max-width:196mm!important;
  margin:0 auto!important;
  background:#fff!important;
  font-size:9.5pt!important;
  line-height:1.35!important;
}

body.generating-pdf .wrap{
  width:100%!important;
  max-width:none!important;
}

body.generating-pdf .hero{
  min-height:76mm!important;
  height:76mm!important;
  margin:0 0 6mm!important;
  border-radius:0!important;
  overflow:hidden!important;
  break-after:avoid!important;
  page-break-after:avoid!important;
}
body.generating-pdf .hero-photo{
  display:block!important;
  object-position:center 48%!important;
}
body.generating-pdf .hero-overlay{
  display:block!important;
  background:linear-gradient(180deg,rgba(39,25,84,.04),rgba(48,31,104,.22) 42%,rgba(42,28,90,.88) 100%)!important;
}
body.generating-pdf .hero-inner{
  padding:7mm 7mm 6mm!important;
}
body.generating-pdf .brand-pill{
  width:112mm!important;
  padding:3mm 4mm!important;
  border-radius:4mm!important;
  box-shadow:none!important;
  background:#fff!important;
  border:0.4mm solid #eeeaf5!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
body.generating-pdf .brand-pill img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
}
body.generating-pdf .eyebrow{
  font-size:7.6pt!important;
  margin-top:4mm!important;
}
body.generating-pdf h1{
  font-size:24pt!important;
  line-height:1!important;
  max-width:150mm!important;
}
body.generating-pdf .hero-meta{
  font-size:8.7pt!important;
  gap:1.6mm!important;
  margin-top:3mm!important;
}
body.generating-pdf .location-link{
  color:#fff!important;
  text-decoration:none!important;
  border:0!important;
}

body.generating-pdf main.wrap{
  padding:0!important;
}

/* Cada dia ocupa su propia pagina, como en la salida de impresion. */
body.generating-pdf .day{
  margin:5mm 0 7mm!important;
  break-before:auto!important;
  page-break-before:auto!important;
}
body.generating-pdf .day + .day{
  break-before:page!important;
  page-break-before:always!important;
}
body.generating-pdf .day-head{
  margin-bottom:3mm!important;
  border-bottom:0.6mm solid var(--ajfv)!important;
  padding-bottom:2mm!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
body.generating-pdf .day-kicker{font-size:7pt!important}
body.generating-pdf .day h2{font-size:18pt!important}
body.generating-pdf .today-badge{display:none!important}

body.generating-pdf .schedule{
  display:grid!important;
  gap:2.5mm!important;
}
body.generating-pdf .event{
  display:grid!important;
  grid-template-columns:18mm 1fr!important;
  gap:3mm!important;
  padding:3.2mm 3.5mm!important;
  margin:0!important;
  border-radius:3mm!important;
  box-shadow:none!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
  background:#fff!important;
}
body.generating-pdf .event.pause{background:#f4f0ff!important}
body.generating-pdf .event.social{background:#faf8ff!important}
body.generating-pdf .event.now::after{display:none!important}
body.generating-pdf .time{font-size:9pt!important}
body.generating-pdf .event h3{
  font-size:9.3pt!important;
  margin-bottom:1mm!important;
}
body.generating-pdf .event p,
body.generating-pdf .people{
  font-size:8.1pt!important;
}
body.generating-pdf .people{
  margin-top:2mm!important;
  padding-top:2mm!important;
  gap:1.7mm!important;
}

/* El pie se fuerza a pagina propia para que coincida con la version impresa. */
body.generating-pdf footer{
  break-before:page!important;
  page-break-before:always!important;
  margin-top:0!important;
  padding:7mm 5mm!important;
  background:var(--ajfv-dark)!important;
  color:#fff!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
body.generating-pdf .footer-links{margin:3mm 0 4mm!important}
body.generating-pdf .social-link{
  width:9mm!important;
  height:9mm!important;
  background:rgba(255,255,255,.12)!important;
}
body.generating-pdf .social-icon-img{
  width:4mm!important;
  height:4mm!important;
}
body.generating-pdf .sponsors{
  margin-top:4mm!important;
  padding-top:4mm!important;
}
body.generating-pdf .sponsor{
  height:18mm!important;
  width:50mm!important;
  padding:2mm 4mm!important;
}
body.generating-pdf .sponsor img{max-height:12mm!important}
body.generating-pdf .hash{font-size:12pt!important}

@media (max-width:520px){
      .hero{min-height:390px}
      .brand img{width:min(270px,76vw)}
      .event{grid-template-columns:62px 1fr;gap:11px;padding:14px}
      .time{font-size:1rem}
      .event h3{font-size:.98rem}
      .tab{font-size:.78rem;padding:9px 4px}
    }


    .footer-links{
      display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
      margin:18px 0 24px;
    }
    .social-link{
      width:44px;height:44px;border-radius:50%;
      display:grid;place-items:center;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      color:#fff;text-decoration:none;
      transition:.2s ease;
    }
    .social-link:hover{background:#fff;color:var(--ajfv-dark);transform:translateY(-2px)}
    .social-link svg{width:20px;height:20px;fill:currentColor}
.social-icon-img{display:block;width:20px;height:20px;object-fit:contain}
    .web-link{
      display:inline-flex;align-items:center;gap:8px;
      color:#fff;text-decoration:none;font-weight:800;
      margin-top:4px;
    }
    .sponsors{
      margin-top:28px;padding-top:22px;
      border-top:1px solid rgba(255,255,255,.18);
    }
    .sponsors-title{
      font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;
      opacity:.72;font-weight:900;margin-bottom:13px;
    }
    .sponsor-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
    .sponsor{
      width:min(220px,44vw);
      height:72px;
      padding:12px 16px;
      border-radius:12px;
      background:#fff;
      display:flex;align-items:center;justify-content:center;
    }
    .sponsor img{max-width:100%;max-height:46px;object-fit:contain;display:block}

    

/* =========================================================
   CABECERA + IDENTIDAD 500 ANIVERSARIO
   ========================================================= */
.hero{
  position:relative;
  min-height:470px;
  overflow:hidden;
  background:#3a287f;
  color:#fff;
  display:flex;
  align-items:flex-end;
}
.hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(39,25,84,.08) 0%,rgba(48,31,104,.38) 48%,rgba(42,28,90,.94) 100%);
}
.hero-inner{position:relative;z-index:2;padding:34px 0 32px}
.brand{margin-bottom:22px}
.brand-pill{
  display:flex;
  align-items:center;
  gap:18px;
  width:min(100%,560px);
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(25,16,63,.2);
}
.brand-logo-box{display:flex;align-items:center;justify-content:center;min-width:0}
.brand-logo-ajfv{flex:1.58 1 0}
.brand-logo-500{flex:.82 1 0}
.brand-pill img{
  display:block;
  width:100%;
  height:auto!important;
  max-width:100%;
  max-height:none!important;
  object-fit:contain;
  background:transparent!important;
}
.brand-divider{width:1px;align-self:stretch;background:#ded9e8;min-height:54px}

/* =========================================================
   ACCIONES
   ========================================================= */
.program-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:-10px 0 28px;
}
.action-button{
  appearance:none;
  border:0;
  border-radius:13px;
  padding:13px 16px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-decoration:none;
  transition:.18s ease;
}
.action-button.primary{background:var(--ajfv);color:#fff;box-shadow:0 8px 20px rgba(91,63,208,.22)}
.action-button.secondary{background:#fff;color:var(--ajfv-dark);border:1px solid var(--line)}
.action-button:hover{transform:translateY(-1px)}
.action-button:disabled{opacity:.65;cursor:wait;transform:none}
.pdf-help{margin:7px 0 0;color:var(--muted);font-size:.8rem}

/* El contenedor principal se usa tambien para la generacion del PDF */
#pdf-content{background:var(--bg)}

@media (max-width:520px){
  .hero{min-height:430px}
  .brand-pill{gap:12px;padding:10px 12px;border-radius:15px}
  .brand-logo-ajfv{flex:1.55 1 0}
  .brand-logo-500{flex:.85 1 0}
  .program-actions{display:grid;grid-template-columns:1fr}
  .action-button{width:100%}
}

/* =========================================================
   IMPRESION / GUARDAR COMO PDF DESDE EL NAVEGADOR
   ========================================================= */
@page{
  size:A4 portrait;
  margin:9mm 9mm 11mm;
}

@media print{
  html,body{
    background:#fff!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body{font-size:9.5pt;line-height:1.35}
  .no-print,.sticky-nav,.top,.program-actions,.pdf-help{display:none!important}
  #pdf-content{background:#fff!important}
  .wrap{width:100%;max-width:none}

  .hero{
    min-height:76mm!important;
    height:76mm;
    border-radius:0;
    margin:0 0 6mm;
    page-break-after:avoid;
  }
  .hero-photo{display:block!important;object-position:center 48%}
  .hero-overlay{
    display:block!important;
    background:linear-gradient(180deg,rgba(39,25,84,.04),rgba(48,31,104,.22) 42%,rgba(42,28,90,.88) 100%)!important;
  }
  .hero-inner{padding:7mm 7mm 6mm!important}
  .brand-pill{
    width:112mm;
    padding:3mm 4mm;
    border-radius:4mm;
    box-shadow:none;
    background:#fff!important;
    border:0.4mm solid #eeeaf5;
  }
  .brand-pill img{width:100%;height:auto!important;max-height:none!important}
  .eyebrow{font-size:7.6pt;margin-top:4mm}
  h1{font-size:24pt;line-height:1;max-width:150mm}
  .hero-meta{font-size:8.7pt;gap:1.6mm;margin-top:3mm}
  .location-link{color:#fff!important;text-decoration:none;border:0}

  main.wrap{padding:0!important}
  .intro,.notice{
    box-shadow:none!important;
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .intro{padding:4mm;margin:0 0 4mm;border-radius:3mm}
  .notice{padding:4mm;margin:0 0 5mm;border-radius:3mm;grid-template-columns:9mm 1fr}
  .notice-icon{width:8mm;height:8mm;font-size:9pt}

  .day{
    margin:5mm 0 7mm!important;
    break-before:auto;
  }
  .day + .day{break-before:page;page-break-before:always}
  .day-head{margin-bottom:3mm;border-bottom:0.6mm solid var(--ajfv);padding-bottom:2mm}
  .day-kicker{font-size:7pt}
  .day h2{font-size:18pt}
  .today-badge{display:none!important}
  .schedule{gap:2.5mm}
  .event{
    grid-template-columns:18mm 1fr;
    gap:3mm;
    padding:3.2mm 3.5mm;
    border-radius:3mm;
    box-shadow:none!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    background:#fff!important;
  }
  .event.pause{background:#f4f0ff!important}
  .event.social{background:#faf8ff!important}
  .event.now::after{display:none!important}
  .time{font-size:9pt}
  .event h3{font-size:9.3pt;margin-bottom:1mm}
  .event p,.people{font-size:8.1pt}
  .people{margin-top:2mm;padding-top:2mm;gap:1.7mm}

  footer{
    margin-top:7mm;
    padding:7mm 5mm!important;
    background:var(--ajfv-dark)!important;
    color:#fff!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .footer-links{margin:3mm 0 4mm}
  .social-link{width:9mm;height:9mm;background:rgba(255,255,255,.12)!important}
  .social-link svg{width:4mm;height:4mm}
  .social-icon-img{width:4mm;height:4mm}
  .sponsors{margin-top:4mm;padding-top:4mm}
  .sponsor{height:18mm;width:50mm;padding:2mm 4mm}
  .sponsor img{max-height:12mm}
  .hash{font-size:12pt}
}


@media print {
  .no-print { display: none !important; }
}

/* =========================================================
   PDF DESCARGABLE - MAQUETACION A4 PAGINA A PAGINA (v12)
   Este bloque NO modifica la web visible. Se usa unicamente
   en el escenario temporal que JavaScript crea fuera de pantalla.
   ========================================================= */
.pdf-stage{
  position:absolute;
  left:-12000px;
  top:0;
  width:210mm;
  background:#fff;
  pointer-events:none;
  z-index:-9999;
}
.pdf-sheet{
  width:210mm;
  height:297mm;
  box-sizing:border-box;
  padding:9mm 9mm 11mm;
  overflow:hidden;
  background:#fff;
  color:var(--ink);
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:9.5pt;
  line-height:1.35;
}
.pdf-sheet-content{
  width:192mm;
  height:277mm;
  overflow:hidden;
  background:#fff;
}
.pdf-sheet *{box-sizing:border-box}
.pdf-sheet .wrap{width:100%!important;max-width:none!important;margin-inline:auto!important}
.pdf-sheet .no-print,
.pdf-sheet .no-pdf,
.pdf-sheet .sticky-nav,
.pdf-sheet .top,
.pdf-sheet .program-actions,
.pdf-sheet .pdf-help,
.pdf-sheet .notice{display:none!important}

.pdf-sheet .hero{
  width:100%!important;
  min-height:76mm!important;
  height:76mm!important;
  margin:0 0 6mm!important;
  border-radius:0!important;
  overflow:hidden!important;
  position:relative!important;
}
.pdf-sheet .hero-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 48%!important;
}
.pdf-sheet .hero-overlay{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(39,25,84,.04),rgba(48,31,104,.22) 42%,rgba(42,28,90,.88) 100%)!important;
}
.pdf-sheet .hero-inner{
  position:absolute!important;
  inset:0!important;
  padding:7mm 7mm 6mm!important;
  z-index:2!important;
}
.pdf-sheet .brand-pill{
  display:flex!important;
  align-items:center!important;
  width:112mm!important;
  padding:3mm 4mm!important;
  border-radius:4mm!important;
  box-shadow:none!important;
  background:#fff!important;
  border:.4mm solid #eeeaf5!important;
  margin:0!important;
}
.pdf-sheet .brand-logo-box{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important}
.pdf-sheet .brand-logo-ajfv{flex:1.55 1 0!important}
.pdf-sheet .brand-logo-500{flex:.85 1 0!important}
.pdf-sheet .brand-divider{width:1px!important;align-self:stretch!important;background:#ded8eb!important;margin:0 3mm!important}
.pdf-sheet .brand-pill img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.pdf-sheet .eyebrow{font-size:7.6pt!important;margin:4mm 0 1.5mm!important;color:#fff!important}
.pdf-sheet h1{font-size:24pt!important;line-height:1!important;max-width:150mm!important;color:#fff!important;margin:0!important}
.pdf-sheet .hero-meta{font-size:8.7pt!important;gap:1.6mm!important;margin-top:3mm!important;color:#fff!important}
.pdf-sheet .location-link{color:#fff!important;text-decoration:none!important;border:0!important}

.pdf-sheet .day{
  width:100%!important;
  margin:5mm 0 7mm!important;
  scroll-margin:0!important;
}
.pdf-sheet .day-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  margin-bottom:3mm!important;
  border-bottom:.6mm solid var(--ajfv)!important;
  padding-bottom:2mm!important;
}
.pdf-sheet .day-kicker{font-size:7pt!important;color:var(--ajfv)!important;margin:0 0 .5mm!important}
.pdf-sheet .day h2{font-size:18pt!important;line-height:1.1!important;color:var(--ink)!important;margin:0!important}
.pdf-sheet .today-badge{display:none!important}
.pdf-sheet .schedule{display:grid!important;gap:2.5mm!important}
.pdf-sheet .event{
  display:grid!important;
  grid-template-columns:18mm 1fr!important;
  gap:3mm!important;
  width:100%!important;
  padding:3.2mm 3.5mm!important;
  margin:0!important;
  border:1px solid var(--line)!important;
  border-radius:3mm!important;
  box-shadow:none!important;
  background:#fff!important;
  position:relative!important;
}
.pdf-sheet .event.pause{background:#f4f0ff!important;border-style:dashed!important}
.pdf-sheet .event.social{background:#faf8ff!important}
.pdf-sheet .event.now::after{display:none!important}
.pdf-sheet .time{font-size:9pt!important;line-height:1.2!important;color:var(--ajfv)!important}
.pdf-sheet .time small{font-size:6.8pt!important}
.pdf-sheet .event h3{font-size:9.3pt!important;line-height:1.25!important;margin:0 0 1mm!important;color:var(--ink)!important}
.pdf-sheet .event p,
.pdf-sheet .people{font-size:8.1pt!important;line-height:1.35!important}
.pdf-sheet .event p{margin:1mm 0!important;color:var(--muted)!important}
.pdf-sheet .people{margin-top:2mm!important;padding-top:2mm!important;gap:1.7mm!important}
.pdf-sheet .role{color:var(--ajfv-dark)!important}

.pdf-sheet-footer .pdf-sheet-content{display:flex!important;align-items:flex-start!important}
.pdf-sheet footer{
  width:100%!important;
  margin:0!important;
  padding:7mm 5mm!important;
  background:var(--ajfv-dark)!important;
  color:#fff!important;
  text-align:center!important;
}
.pdf-sheet footer p{margin:1mm 0!important;color:#fff!important}
.pdf-sheet .hash{font-size:12pt!important;margin-bottom:2mm!important}
.pdf-sheet .footer-links{display:flex!important;justify-content:center!important;gap:2.5mm!important;margin:3mm 0 4mm!important}
.pdf-sheet .social-link{
  display:grid!important;
  place-items:center!important;
  width:9mm!important;
  height:9mm!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.pdf-sheet .social-icon-img{display:block!important;width:4mm!important;height:4mm!important;object-fit:contain!important}
.pdf-sheet .web-link{display:inline-flex!important;align-items:center!important;gap:2mm!important;color:#fff!important;text-decoration:none!important;font-weight:800!important}
.pdf-sheet .sponsors{margin-top:4mm!important;padding-top:4mm!important;border-top:1px solid rgba(255,255,255,.18)!important}
.pdf-sheet .sponsors-title{font-size:7pt!important;margin-bottom:3mm!important}
.pdf-sheet .sponsor-row{display:flex!important;justify-content:center!important;gap:4mm!important}
.pdf-sheet .sponsor{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:50mm!important;
  height:18mm!important;
  padding:2mm 4mm!important;
  border-radius:3mm!important;
  background:#fff!important;
}
.pdf-sheet .sponsor img{display:block!important;max-width:100%!important;max-height:12mm!important;width:auto!important;height:auto!important;object-fit:contain!important}


/* =========================================================
   OVERLAY DE GENERACION PDF EN iOS (v14)
   La generacion se mantiene en la pestaña activa para evitar
   que WebKit suspenda html2canvas al abrir otra pestaña.
   ========================================================= */
.pdf-generation-overlay{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(25,18,48,.68);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.pdf-generation-card{
  width:min(100%,360px);
  display:grid;
  justify-items:center;
  gap:12px;
  padding:26px 22px;
  border-radius:20px;
  background:#fff;
  color:var(--ajfv-dark);
  text-align:center;
  box-shadow:0 18px 54px rgba(0,0,0,.22);
}
.pdf-generation-card strong{font-size:1.05rem;line-height:1.3}
.pdf-generation-card span{font-size:.9rem;color:var(--muted)}
.pdf-spinner{
  width:34px;
  height:34px;
  border:4px solid var(--ajfv-soft);
  border-top-color:var(--ajfv);
  border-radius:50%;
  animation:pdfspin .8s linear infinite;
}
@keyframes pdfspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pdf-spinner{animation:none;border-top-color:var(--ajfv)}}
@media print{.pdf-generation-overlay{display:none!important}}
