/**
 * Beca Deportiva y Programa Deporte — CSS propio, encolado SOLO en
 * page-beneficio-beca-deportiva.php (ver inc/beca-deportiva.php).
 *
 * Origen: programa-deporte-san-ignacio.html. Adaptaciones:
 * - Prefijo .bdep- en todas las clases y todo acotado a .bdep-page: los
 *   estilos globales del mockup (*, html, body, h1–h4, p, a, [hidden],
 *   :focus-visible, .wrap, .btn, .sr) quedan dentro de la página.
 * - main.css trae section{padding:60px 20px} y nav{display:flex} globales:
 *   aquí se anulan; los bloques de navegación propios son div[role=navigation].
 * - Tipografía del sitio (Montserrat / Open Sans) en vez de Archivo /
 *   Source Sans 3, y el amarillo del sitio (#F0C40A) en vez de #F4B400.
 * - Banner del hero como archivo (assets/img/beca-deportiva/), no base64.
 * - <dialog> del afiche con margin:auto (main.css trae *{margin:0}).
 * - Alto contraste = la clase global body.alto-contraste (footer.php).
 */

.bdep-page{
  --bdep-navy-900:#0B2257;--bdep-navy-800:#12306F;--bdep-navy-700:#1A4094;--bdep-navy-600:#2552B5;
  --bdep-navy-100:#DCE5F6;--bdep-navy-50:#EEF2FA;
  --bdep-yellow:var(--gold,#F0C40A);--bdep-yellow-600:var(--gold2,#D4A800);--bdep-yellow-100:#FCEFB4;--bdep-yellow-50:#FFF9E3;
  --bdep-paper:#F5F7FA;--bdep-surface:#fff;
  --bdep-ink:#111A2E;--bdep-ink-2:#3A4560;--bdep-muted:#5B6680;
  --bdep-rule:#DCE2EC;--bdep-rule-2:#C3CCDC;
  --bdep-pink:#E5197E;
  --bdep-focus:var(--bdep-navy-600);
  --bdep-f-display:Montserrat,Arial,sans-serif;
  --bdep-f-body:"Open Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bdep-paper);color:var(--bdep-ink);font-family:var(--bdep-f-body);font-size:1rem;line-height:1.6;overflow-x:clip
}
.bdep-page *{box-sizing:border-box}
.bdep-page :where(h1,h2,h3,h4){font-family:var(--bdep-f-display);margin:0;text-wrap:balance;letter-spacing:-.01em}
.bdep-page :where(p){margin:0}
.bdep-page section{padding:0}
.bdep-page nav.sanignacio-bc{display:block}
.bdep-page :where(a){color:var(--bdep-navy-700);text-underline-offset:3px;text-decoration-thickness:1px}
.bdep-page :where(a):hover{color:var(--bdep-navy-900)}
.bdep-page [hidden]{display:none!important}
.bdep-page :focus-visible{outline:3px solid var(--bdep-focus);outline-offset:3px;border-radius:4px}
.bdep-page:focus{outline:none}
.bdep-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bdep-i{display:inline-block}
.bdep-i svg{width:100%;height:100%;display:block}
.bdep-page mark.bdep-tbd{background:var(--bdep-yellow-100);color:var(--bdep-ink);padding:0 .3em;border-radius:3px}
.bdep-wrap{max-width:1200px;margin-inline:auto;padding-inline:24px}
@media(max-width:640px){.bdep-wrap{padding-inline:16px}}

/* main.css deja body{overflow-y:auto}, lo que anula position:sticky (índice
 * lateral). Mismo ajuste que SAP/SUF: solo en esta página. */
body:has(.bdep-page){overflow:visible}
body:has(.bdep-page) header{position:relative}
html:has(.bdep-page){scroll-padding-top:16px}
@media (prefers-reduced-motion:reduce){
  html:has(.bdep-page){scroll-behavior:auto}
  .bdep-page *,.bdep-page *::before,.bdep-page *::after{transition:none!important;animation:none!important}
}

/* Saltar al contenido (lo imprime wp_body_open, antes del header). */
.bdep-skip{position:absolute;left:-9999px;top:8px;z-index:10001;background:var(--gold,#F0C40A);color:#0B2257;padding:10px 16px;border-radius:6px;font:700 15px/1.2 Montserrat,Arial,sans-serif;text-decoration:none}
.bdep-skip:focus{left:8px}

/* ---------- Botones ---------- */
.bdep-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.7rem 1.25rem;border-radius:8px;border:1.5px solid transparent;font:600 .95rem/1.2 var(--bdep-f-display);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.bdep-btn .bdep-i{width:18px;height:18px;flex:none}
.bdep-page a.bdep-btn-primary{background:var(--bdep-yellow);color:var(--bdep-navy-900)}
.bdep-page a.bdep-btn-primary:hover{background:var(--bdep-yellow-600);color:var(--bdep-navy-900)}
.bdep-page a.bdep-btn-navy{background:var(--bdep-navy-700);color:#fff}
.bdep-page a.bdep-btn-navy:hover{background:var(--bdep-navy-900);color:#fff}
.bdep-page a.bdep-btn-line{background:var(--bdep-surface);color:var(--bdep-navy-700);border-color:var(--bdep-rule-2)}
.bdep-page a.bdep-btn-line:hover{border-color:var(--bdep-navy-700);color:var(--bdep-navy-900)}

/* ---------- Hero con banner deportivo ---------- */
.bdep-hero{position:relative;color:#fff;overflow:hidden;--bdep-focus:var(--bdep-yellow);
  background:#0B2257 url("../img/beca-deportiva/hero-deporte.jpg") right center/cover no-repeat;
  background-image:image-set(url("../img/beca-deportiva/hero-deporte.webp") type("image/webp"),url("../img/beca-deportiva/hero-deporte.jpg") type("image/jpeg"))}
.bdep-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,24,48,.97) 0%,rgba(8,26,58,.93) 34%,rgba(10,31,68,.55) 48%,rgba(10,31,68,0) 62%)}
.bdep-hero .bdep-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:56px;align-items:center;padding-block:40px 48px}
.bdep-kicker{display:flex;align-items:center;gap:12px;font:700 .76rem/1 var(--bdep-f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--bdep-yellow)}
.bdep-kicker::before{content:"";width:24px;height:2px;background:currentColor}
.bdep-hero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.05;font-weight:800;letter-spacing:-.025em;margin:18px 0 20px;color:#fff}
.bdep-hero h1 > span:not(.bdep-sub-h){color:var(--bdep-yellow)}
.bdep-hero h1 .bdep-sub-h{display:block;margin-top:10px;font-size:.42em;font-weight:600;letter-spacing:.01em;color:rgba(255,255,255,.8)}
.bdep-lead{font-size:1.12rem;line-height:1.55;color:rgba(255,255,255,.86);max-width:50ch}
.bdep-hero-meta{display:flex;flex-wrap:wrap;gap:14px 0;margin:30px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.bdep-hero-meta div{padding-right:16px;margin-right:16px;border-right:1px solid rgba(255,255,255,.14)}
.bdep-hero-meta div:last-child{border-right:0;margin-right:0;padding-right:0}
.bdep-hero-meta dt{font:600 .68rem/1.3 var(--bdep-f-display);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.bdep-hero-meta dd{margin:4px 0 0;font-weight:600;font-size:.9rem}
.bdep-hero-rev{margin-top:22px;font-size:.84rem;color:rgba(255,255,255,.6)}

/* Tarjeta de atención presencial del hero: solo en pantallas angostas
 * (en escritorio la reemplaza el lateral "Atención presencial"). */
.bdep-presencial{display:none;background:var(--bdep-surface);color:var(--bdep-ink);border-radius:14px;box-shadow:0 30px 60px -24px rgba(2,10,36,.7);overflow:hidden;--bdep-focus:var(--bdep-navy-600)}
.bdep-pres-head{display:flex;align-items:center;gap:14px;padding:20px 22px 0}
.bdep-pres-ico{width:48px;height:48px;flex:none;border-radius:12px;background:var(--bdep-yellow);color:var(--bdep-navy-900);display:grid;place-items:center}
.bdep-pres-ico .bdep-i{width:24px;height:24px}
.bdep-k{font:700 .7rem var(--bdep-f-display);letter-spacing:.14em;text-transform:uppercase}
.bdep-pres-head .bdep-k{color:var(--bdep-navy-600)}
.bdep-pres-head h2{font-size:1.35rem;font-weight:750;color:var(--bdep-navy-900);margin-top:2px}
.bdep-pres-text{padding:14px 22px 20px;font-size:.98rem;color:var(--bdep-ink-2)}
.bdep-pres-text strong{color:var(--bdep-ink)}
.bdep-pres-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bdep-rule)}
.bdep-page a.bdep-pa{display:flex;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;color:var(--bdep-navy-900);font:650 .95rem/1.25 var(--bdep-f-display);transition:background-color .15s}
.bdep-pa:nth-child(odd){border-right:1px solid var(--bdep-rule)}
.bdep-pa:nth-child(-n+2){border-bottom:1px solid var(--bdep-rule)}
.bdep-pa .bdep-ico{width:36px;height:36px;flex:none;border-radius:9px;background:var(--bdep-navy-50);color:var(--bdep-navy-700);display:grid;place-items:center;transition:background-color .15s}
.bdep-pa .bdep-ico .bdep-i{width:19px;height:19px}
.bdep-pa:hover{background:var(--bdep-navy-50)}
.bdep-pa:hover .bdep-ico{background:var(--bdep-surface)}
.bdep-pa.bdep-pa-y{background:var(--bdep-yellow-50)}
.bdep-pa.bdep-pa-y .bdep-ico{background:var(--bdep-yellow);color:var(--bdep-navy-900)}
.bdep-pa.bdep-pa-y:hover{background:var(--bdep-yellow-100)}

@media(max-width:900px){
  .bdep-hero{background:#0B2257 url("../img/beca-deportiva/hero-deporte.jpg") right top/auto 58vw no-repeat;
    background-image:image-set(url("../img/beca-deportiva/hero-deporte.webp") type("image/webp"),url("../img/beca-deportiva/hero-deporte.jpg") type("image/jpeg"))}
  .bdep-hero::before{background:linear-gradient(180deg,rgba(11,34,87,0) 0,rgba(11,34,87,.2) 34vw,#0B2257 57vw)}
  .bdep-hero .bdep-wrap{grid-template-columns:1fr;gap:34px;padding-block:54vw 40px}
  .bdep-presencial{display:block}
}
@media(max-width:560px){
  .bdep-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .bdep-hero-meta div{border:0;margin:0;padding:0}
  .bdep-pres-actions{grid-template-columns:1fr}
  .bdep-pa:nth-child(odd){border-right:0}
  .bdep-pa:not(:last-child){border-bottom:1px solid var(--bdep-rule)}
}

/* ---------- Aviso destacado ---------- */
.bdep-notice{background:var(--bdep-yellow-50);border-bottom:1px solid var(--bdep-yellow-100)}
.bdep-notice .bdep-wrap{display:flex;gap:12px;align-items:flex-start;padding-block:14px;font-size:.95rem}
.bdep-notice .bdep-i{width:22px;height:22px;flex:none;color:var(--bdep-navy-900);margin-top:1px}
.bdep-notice-x{margin-left:auto;background:none;border:0;font-size:1.3rem;line-height:1;color:var(--bdep-muted);cursor:pointer;padding:0 4px}

/* ---------- Estructura ---------- */
.bdep-layout{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:80px;align-items:start;padding-block:80px 110px}
.bdep-aside{grid-column:2;grid-row:1;align-self:stretch;display:flex;flex-direction:column;gap:32px}
.bdep-main{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:100px;min-width:0}
@media(max-width:1020px){
  .bdep-layout{grid-template-columns:minmax(0,1fr);gap:64px;padding-block:40px 110px}
  .bdep-aside,.bdep-main{grid-column:1;grid-row:auto}
  .bdep-page .bdep-toc{display:none}
  .bdep-main{gap:80px}
}
.bdep-sec{scroll-margin-top:24px}
.bdep-sec-head{max-width:62ch;margin-bottom:30px}
.bdep-eyebrow{display:flex;align-items:center;gap:10px;font:700 .74rem/1 var(--bdep-f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--bdep-navy-600)}
.bdep-eyebrow::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--bdep-yellow)}
.bdep-sec-head h2{font-size:clamp(1.6rem,3vw,2rem);line-height:1.15;font-weight:750;color:var(--bdep-navy-900);margin:14px 0 12px;border-radius:4px}
.bdep-sec-head p{font-size:1.06rem;color:var(--bdep-muted)}
.bdep-flash .bdep-sec-head h2{animation:bdep-flashText 1.8s ease}
@keyframes bdep-flashText{0%,100%{background:transparent;box-shadow:none}25%{background:var(--bdep-yellow-100);box-shadow:0 0 0 6px var(--bdep-yellow-100)}}

/* ---------- Lateral: atención ---------- */
.bdep-atn{background:var(--bdep-surface);border:1px solid var(--bdep-rule);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(11,34,87,.04),0 16px 36px -20px rgba(11,34,87,.28);scroll-margin-top:24px}
.bdep-atn.bdep-flash{animation:bdep-ring 1.8s ease}
@keyframes bdep-ring{25%{box-shadow:0 0 0 5px var(--bdep-yellow)}}
.bdep-atn-head{background:var(--bdep-navy-900);color:#fff;padding:22px 22px 20px;--bdep-focus:var(--bdep-yellow)}
.bdep-atn-head .bdep-k{letter-spacing:.16em;color:var(--bdep-yellow)}
.bdep-atn-head h2{font-size:1.3rem;font-weight:700;margin:6px 0 14px;color:#fff}
.bdep-status{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.8rem;font-weight:600}
.bdep-status i{width:8px;height:8px;border-radius:50%;background:#F97066}
.bdep-status.bdep-open i{background:#47CD89;box-shadow:0 0 0 3px rgba(71,205,137,.25)}
.bdep-atn dl{margin:0;padding:6px 22px}
.bdep-atn dl > div{padding:14px 0;border-bottom:1px solid var(--bdep-rule)}
.bdep-atn dl > div:last-child{border-bottom:0}
.bdep-atn dt{font:600 .7rem var(--bdep-f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--bdep-muted);margin-bottom:4px}
.bdep-atn dd{margin:0;font-size:.96rem;line-height:1.45;overflow-wrap:anywhere}
.bdep-contact{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bdep-contact .bdep-big{font:700 1.15rem var(--bdep-f-display);color:var(--bdep-navy-900);font-variant-numeric:tabular-nums}
.bdep-contact .bdep-ext{display:block;font-size:.84rem;color:var(--bdep-muted)}
.bdep-copy{flex:none;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--bdep-rule-2);background:var(--bdep-surface);border-radius:6px;padding:5px 9px;font:600 .76rem var(--bdep-f-body);color:var(--bdep-navy-700);cursor:pointer}
.bdep-copy:hover{border-color:var(--bdep-navy-700)}
.bdep-copy .bdep-i{width:13px;height:13px}
.bdep-atn-actions{display:grid;grid-template-columns:1fr;gap:8px;padding:0 22px 22px}
@media(max-width:1020px) and (min-width:480px){.bdep-atn-actions:not(.bdep-one){grid-template-columns:1fr 1fr}}
.bdep-toc{position:sticky;top:24px}
.bdep-toc h3{font:700 .7rem var(--bdep-f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--bdep-muted);margin-bottom:14px}
.bdep-toc-g{margin-bottom:12px}
.bdep-toc-g > span{display:block;font-size:.76rem;font-weight:700;color:var(--bdep-ink-2);margin-bottom:4px}
.bdep-page .bdep-toc a{display:block;padding:4px 0 4px 14px;border-left:2px solid var(--bdep-rule);color:var(--bdep-muted);text-decoration:none;font-size:.88rem;transition:color .15s,border-color .15s}
.bdep-page .bdep-toc a:hover{color:var(--bdep-navy-700)}
.bdep-page .bdep-toc a.bdep-on{border-left-color:var(--bdep-navy-700);color:var(--bdep-navy-900);font-weight:600}

/* ---------- Próxima clase ---------- */
.bdep-next{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 20px;margin-bottom:22px;border-radius:14px;background:var(--bdep-navy-900);color:#fff}
.bdep-next .bdep-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--bdep-yellow);color:var(--bdep-navy-900);flex:none}
.bdep-next .bdep-ic .bdep-i{width:22px;height:22px}
.bdep-next .bdep-k{color:var(--bdep-yellow)}
.bdep-next b{display:block;font:800 1.08rem/1.3 var(--bdep-f-display)}
.bdep-next small{color:rgba(255,255,255,.75);font-size:.9rem}

/* ---------- Talleres ---------- */
.bdep-talleres{display:grid;gap:22px}
.bdep-taller{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;background:var(--bdep-surface);border:1px solid var(--bdep-rule);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px -18px rgba(13,43,94,.35);scroll-margin-top:24px}
.bdep-poster-col{display:flex;flex-direction:column;min-width:0}
/* Aviso de dato desactualizado en el afiche ('aficheAviso'): tarjeta y ampliado. */
.bdep-afiche-aviso{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--bdep-yellow-50);border-top:3px solid var(--bdep-yellow);color:var(--bdep-navy-900);font-size:.9rem;line-height:1.45;font-weight:600}
.bdep-afiche-aviso .bdep-i{width:20px;height:20px;flex:none;margin-top:1px}
/* width:0 + min-width:100%: el aviso toma el ancho de la imagen sin ensanchar el diálogo. */
.bdep-lightbox .bdep-lb-aviso{width:0;min-width:100%;margin:0 0 10px;padding-right:40px;border-radius:12px;border:0;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.bdep-poster{position:relative;display:block;width:100%;aspect-ratio:2/3;padding:0;border:0;background:var(--bdep-navy-50);cursor:zoom-in;overflow:hidden}
.bdep-poster picture{display:contents}
.bdep-poster img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s ease}
.bdep-poster:hover img{transform:scale(1.03)}
.bdep-zoom{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(11,34,87,.88);color:#fff;font:700 .78rem var(--bdep-f-display)}
.bdep-zoom .bdep-i{width:15px;height:15px}
.bdep-t-body{display:flex;flex-direction:column;gap:12px;padding:26px 28px}
.bdep-t-tags{display:flex;flex-wrap:wrap;gap:6px}
.bdep-tg{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:var(--bdep-navy-50);font:700 .74rem var(--bdep-f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--bdep-navy-700)}
.bdep-tg.bdep-tg-free{background:#E3F2D9;color:#2F6B14}
.bdep-tg.bdep-tg-loc{background:var(--bdep-yellow-100);color:var(--bdep-navy-900)}
.bdep-tg .bdep-i{width:14px;height:14px}
.bdep-taller h3{font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.15;font-weight:900;color:var(--bdep-navy-900)}
.bdep-taller h3 span{color:var(--bdep-pink)}
.bdep-taller-luchas h3 span{color:var(--bdep-navy-600)}
.bdep-lema{font-weight:600;font-size:1.02rem;color:var(--bdep-ink-2);font-style:italic}
.bdep-t-info{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bdep-t-info li{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px;border-radius:12px;background:var(--bdep-paper);border:1px solid var(--bdep-rule)}
.bdep-t-info .bdep-i{grid-row:span 2;width:36px;height:36px;padding:8px;border-radius:10px;background:var(--bdep-navy-900);color:var(--bdep-yellow)}
.bdep-t-info b{font:700 .7rem var(--bdep-f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--bdep-muted)}
.bdep-t-info li:last-child:nth-child(odd){grid-column:1/-1}
.bdep-t-info li span:last-child{font:800 1.02rem/1.25 var(--bdep-f-display);color:var(--bdep-navy-900)}
.bdep-t-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:auto;padding-top:6px}
.bdep-org{font-size:.88rem;color:var(--bdep-muted)}
.bdep-org b{color:var(--bdep-navy-900);font-family:var(--bdep-f-display)}
@media(max-width:820px){
  .bdep-taller{grid-template-columns:1fr}
  .bdep-poster{aspect-ratio:auto;max-height:520px}
  .bdep-poster img{max-height:520px;object-fit:contain;background:#fff}
  .bdep-t-body{padding:22px 20px}
}
@media(max-width:480px){.bdep-t-info{grid-template-columns:1fr}}

/* ---------- Agenda semanal ---------- */
.bdep-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.bdep-day{display:flex;flex-direction:column;gap:8px;min-height:150px;padding:12px;border-radius:14px;background:var(--bdep-surface);border:1px solid var(--bdep-rule)}
.bdep-day.bdep-today{border-color:var(--bdep-navy-700);box-shadow:0 0 0 3px var(--bdep-navy-100)}
.bdep-day h3{display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;align-items:center;font:800 .82rem var(--bdep-f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--bdep-navy-900)}
.bdep-day h3 em{font-style:normal;padding:2px 7px;border-radius:999px;background:var(--bdep-yellow);font-size:.62rem;letter-spacing:.06em}
.bdep-page a.bdep-ses{display:block;overflow-wrap:anywhere;hyphens:auto;padding:9px 10px;border-radius:10px;color:#fff;text-decoration:none;font-size:.82rem;line-height:1.3}
.bdep-ses b{display:block;font:800 1rem var(--bdep-f-display)}
.bdep-ses-baile{background:var(--bdep-pink)}
.bdep-ses-luchas{background:var(--bdep-navy-700)}
.bdep-page a.bdep-ses:hover{color:#fff;filter:brightness(1.08)}
.bdep-none{font-size:.82rem;color:var(--bdep-muted)}
.bdep-week-leg{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:.88rem;color:var(--bdep-ink-2)}
.bdep-week-leg span{display:inline-flex;align-items:center;gap:8px}
.bdep-week-leg i{width:12px;height:12px;border-radius:3px;flex:none}
.bdep-c-baile{background:var(--bdep-pink)}
.bdep-c-luchas{background:var(--bdep-navy-700)}
@media(max-width:760px){
  .bdep-week{grid-template-columns:1fr}
  .bdep-day{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center}
  .bdep-day h3{flex-basis:100%}
  .bdep-page a.bdep-ses{flex:1 1 auto}
}

/* ---------- Eventos ---------- */
.bdep-ev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bdep-ev{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border-radius:14px;background:var(--bdep-surface);border:1px solid var(--bdep-rule)}
.bdep-dt{display:flex;flex-direction:column;align-items:center;justify-content:center;height:72px;border-radius:12px;background:var(--bdep-navy-900);color:#fff}
.bdep-dt b{font:900 1.6rem/1 var(--bdep-f-display);color:var(--bdep-yellow)}
.bdep-dt span{font:700 .7rem var(--bdep-f-display);letter-spacing:.1em;text-transform:uppercase}
.bdep-ev h3{font-size:1.02rem;font-weight:800;color:var(--bdep-navy-900)}
.bdep-ev p{font-size:.9rem;color:var(--bdep-muted);margin-top:2px}
@media(max-width:700px){.bdep-ev-grid{grid-template-columns:1fr}}
.bdep-ev-empty{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:24px;border-radius:16px;background:var(--bdep-surface);border:2px dashed var(--bdep-rule-2)}
.bdep-ev-empty .bdep-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--bdep-yellow-100);color:var(--bdep-navy-900)}
.bdep-ev-empty .bdep-ic .bdep-i{width:26px;height:26px}
.bdep-ev-empty h3{font-size:1.1rem;font-weight:800;color:var(--bdep-navy-900)}
.bdep-ev-empty p{color:var(--bdep-ink-2);margin-top:4px}
.bdep-ev-grid + .bdep-ev-empty{margin-top:0}

/* ---------- Beca ---------- */
.bdep-beca{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:stretch}
.bdep-beca-main{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:18px;background:var(--bdep-surface);border:1px solid var(--bdep-rule)}
.bdep-beca-main p{color:var(--bdep-ink-2)}
.bdep-beca-main .bdep-big-p{font-size:1.15rem;color:var(--bdep-ink)}
.bdep-beca-main .bdep-big-p strong{color:var(--bdep-navy-900)}
.bdep-beca-state{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--bdep-yellow-100);font:800 .82rem var(--bdep-f-display);color:var(--bdep-navy-900)}
.bdep-beca-state.bdep-beca-state-open{background:#E3F2D9;color:#2F6B14}
.bdep-beca-state .bdep-i{width:17px;height:17px}
.bdep-beca-contact{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:18px;background:var(--bdep-navy-900);color:rgba(255,255,255,.85);--bdep-focus:var(--bdep-yellow)}
.bdep-bc-ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bdep-yellow);color:var(--bdep-navy-900)}
.bdep-bc-ic .bdep-i{width:24px;height:24px}
.bdep-beca-contact .bdep-k{color:var(--bdep-yellow)}
.bdep-beca-contact h3{font-size:1.3rem;font-weight:800;color:#fff}
.bdep-beca-contact dl{margin:4px 0 6px;display:grid;gap:10px;border-top:1px solid rgba(255,255,255,.15);padding-top:12px}
.bdep-beca-contact dt{font:700 .68rem var(--bdep-f-display);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.bdep-beca-contact dd{margin:2px 0 0;color:#fff;font-weight:600}
.bdep-beca-contact .bdep-btn{align-self:flex-start;margin-top:auto}
@media(max-width:820px){.bdep-beca{grid-template-columns:1fr}}
.bdep-formcard{margin-top:20px;padding:26px;border-radius:18px;background:var(--bdep-surface);border:1px solid var(--bdep-rule);scroll-margin-top:24px}
.bdep-formcard > h3{font-size:1.2rem;font-weight:800;color:var(--bdep-navy-900)}
@media(max-width:560px){.bdep-formcard{padding:22px 18px}}

/* ---------- Actualización ---------- */
.bdep-updated{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:22px 26px;border-radius:14px;background:var(--bdep-navy-50);font-size:.94rem;color:var(--bdep-ink-2)}
.bdep-updated .bdep-i{width:22px;height:22px;color:var(--bdep-navy-700);flex:none}
.bdep-updated strong{color:var(--bdep-navy-900)}
.bdep-updated .bdep-src{flex-basis:100%;font-size:.84rem;color:var(--bdep-muted)}

/* ---------- Afiche ampliado ---------- */
/* margin:auto: main.css trae *{margin:0}, que descentra el <dialog> modal. */
.bdep-lightbox{margin:auto;padding:0;border:0;background:transparent;max-width:min(92vw,620px);max-height:92vh;overflow:visible}
.bdep-lightbox::backdrop{background:rgba(7,22,55,.82)}
.bdep-lightbox img{display:block;max-width:100%;max-height:90vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
/* Con aviso visible, la imagen cede alto para que todo quepa en pantalla. */
.bdep-lightbox:has(.bdep-lb-aviso:not([hidden])) img{max-height:calc(90vh - 110px);margin-inline:auto}
.bdep-lb-close{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--bdep-yellow);color:var(--bdep-navy-900);font:800 1.3rem/1 var(--bdep-f-display);cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.bdep-lb-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:640px){.bdep-lb-close{top:6px;right:6px}}

/* ---------- Barra móvil y aviso flotante ---------- */
.bdep-mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;grid-template-columns:1fr 1fr;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bdep-surface);border-top:1px solid var(--bdep-rule);box-shadow:0 -10px 30px -14px rgba(11,34,87,.35);transform:translateY(110%);transition:transform .25s ease}
.bdep-mbar.bdep-one{grid-template-columns:1fr}
.bdep-mbar.bdep-show{transform:none}
@media(max-width:1020px){.bdep-mbar{display:grid}}
/* Con la barra visible, el botón de accesibilidad del sitio (#acc-btn) se
 * corre hacia arriba para no quedar encima de los botones. */
@media(max-width:1020px){
  body.bdep-mbar-on #acc-btn{bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
}
/* Volver arriba (solo escritorio, como en el mockup). Bajo #acc-btn (bottom:80px). */
.bdep-to-top{position:fixed;right:20px;bottom:20px;z-index:40;width:48px;height:48px;border-radius:50%;border:1px solid var(--bdep-rule);background:var(--bdep-surface);color:var(--bdep-navy-900);box-shadow:0 10px 24px -10px rgba(11,34,87,.4);cursor:pointer;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.bdep-to-top.bdep-show{opacity:1;visibility:visible}
.bdep-to-top .bdep-i{width:20px;height:20px}
@media(max-width:1020px){.bdep-to-top{display:none}}
.bdep-toast{position:fixed;left:50%;bottom:24px;z-index:200;max-width:90vw;padding:12px 20px;border-radius:10px;background:var(--bdep-navy-900);color:#fff;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.25);transform:translate(-50%,20px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.bdep-toast.bdep-show{transform:translate(-50%,0);opacity:1;visibility:visible}
@media(max-width:1020px){.bdep-toast{bottom:90px}}

/* ---------- Impresión ---------- */
@media print{
  .bdep-mbar,.bdep-toast,.bdep-toc,.bdep-lightbox,.bdep-zoom{display:none!important}
  .bdep-layout{display:block;padding-block:16px}
  .bdep-hero{background:none!important;color:#000!important}
  .bdep-hero::before{display:none}
  .bdep-hero h1,.bdep-lead,.bdep-hero-meta dd,.bdep-hero-meta dt,.bdep-hero-rev{color:#000!important}
}

/* ---------- Alto contraste (body.alto-contraste, footer.php) ----------
 * El override global pinta todo de negro/blanco, quita imágenes de fondo y
 * rellena de amarillo cualquier svg; aquí se restituye lo que dependía del
 * color para leerse. */
body.alto-contraste .bdep-page svg,
body.alto-contraste .bdep-page svg *{fill:none!important}
body.alto-contraste .bdep-hero::before{display:none}
body.alto-contraste .bdep-hero .bdep-wrap{padding-top:40px}
body.alto-contraste .bdep-page .bdep-toc a.bdep-on{border-left-color:#ffea00!important}
body.alto-contraste .bdep-page .bdep-day.bdep-today{border:3px solid #ffea00!important}
body.alto-contraste .bdep-page .bdep-day h3 em{border:1px solid #fff}
body.alto-contraste .bdep-page a.bdep-ses{border:2px solid #ffea00!important}
body.alto-contraste .bdep-page a.bdep-ses-luchas{border-style:dashed!important}
body.alto-contraste .bdep-page .bdep-week-leg i{border:2px solid #ffea00!important}
body.alto-contraste .bdep-page .bdep-week-leg i.bdep-c-luchas{border-style:dashed!important}
body.alto-contraste .bdep-page .bdep-status.bdep-open i{background-color:#ffea00!important}
body.alto-contraste .bdep-page .bdep-status i{border:1px solid #fff}
body.alto-contraste .bdep-page mark.bdep-tbd{outline:2px dashed #ffea00}
body.alto-contraste .bdep-page .bdep-btn,body.alto-contraste .bdep-page .bdep-tg,body.alto-contraste .bdep-page .bdep-beca-state,body.alto-contraste .bdep-page .bdep-zoom{border:1px solid #fff!important}
body.alto-contraste .bdep-page .bdep-afiche-aviso{border:2px solid #ffea00!important}
body.alto-contraste .bdep-lightbox::backdrop{background:rgba(0,0,0,.92)}
@media(max-width:900px){body.alto-contraste .bdep-hero .bdep-wrap{padding-top:28px}}
