/* Página independiente de calendario: respeta la apariencia general configurada */
.calendar-page .header{position:fixed;top:0;left:0;right:0;z-index:60}
.calendar-page .links a[aria-current="page"]{color:#ff7296}
.calendar-page{overflow-x:hidden}
.calendar-hero{padding:170px 0 70px;background:radial-gradient(ellipse at 82% 18%,rgba(190,30,80,.18),transparent 48%),linear-gradient(145deg,#414a56,#343c47);border-bottom:2px solid var(--wine)}
.calendar-hero h1,.calendar-details h2{font:900 clamp(48px,7vw,92px)/.98 'Barlow Condensed',Impact,sans-serif;letter-spacing:.4px;margin:14px 0 20px}
.calendar-hero h1 em,.calendar-details h2 em{font-style:normal;color:#ed456e}
.calendar-hero p{max-width:680px;font-size:16px;color:var(--muted)}
.calendar-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,78px);align-items:start;padding-top:74px;padding-bottom:90px}
.calendar-poster{overflow:hidden;border-radius:18px;background:#252c35;box-shadow:0 24px 60px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.16)}
.calendar-poster img{display:block;width:100%;height:auto;object-fit:contain}
.calendar-poster-foot{text-align:center;padding:14px 10px;color:#d1d5dc;font-size:10px;letter-spacing:2px;font-weight:800}
.calendar-details{padding-top:10px}.calendar-details h2{font-size:clamp(43px,5vw,67px)}.calendar-intro{color:var(--muted);line-height:1.85;margin:0 0 32px}
.calendar-events{display:grid;gap:12px;margin-bottom:24px}.calendar-events article{display:flex;align-items:center;gap:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:16px 19px;transition:transform .2s,border-color .2s,background .2s}.calendar-events article:hover{transform:translateY(-3px);border-color:rgba(237,69,110,.6);background:rgba(255,255,255,.085)}
.calendar-day{width:65px;min-width:65px;border-right:2px solid #b82d55;text-align:center;padding-right:15px}.calendar-day strong{display:block;font:900 37px/.95 'Barlow Condensed',Impact,sans-serif}.calendar-day span{font-size:11px;font-weight:800;letter-spacing:2px;color:#ff7296}
.calendar-type{font-size:10px;color:#ff7296;letter-spacing:1.5px;font-weight:800}.calendar-events h3{font:800 27px/1.15 'Barlow Condensed',Impact,sans-serif;margin:3px 0 5px}.calendar-events p{font-size:12px;color:var(--muted);margin:0}.calendar-note{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 26px}
.calendar-footer{border-top:1px solid rgba(255,255,255,.15);padding:25px 0;background:var(--footer-bg)}.calendar-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.calendar-footer strong{font-size:12px;letter-spacing:1px}.calendar-footer span{font-size:12px;color:var(--muted)}.calendar-footer a{font-size:11px;font-weight:800;color:#fff}
@media(max-width:800px){.calendar-hero{padding:128px 0 43px}.calendar-hero h1{font-size:clamp(49px,12vw,76px)}.calendar-layout{grid-template-columns:1fr;gap:36px;padding-top:34px;padding-bottom:55px}.calendar-poster{max-width:530px;width:100%;margin:0 auto}.calendar-details{padding:0}.calendar-details h2{font-size:clamp(45px,11vw,63px)}.calendar-footer .wrap{flex-direction:column;text-align:center}.calendar-events article{padding:13px 12px;gap:14px}.calendar-events h3{font-size:24px}.calendar-day{min-width:57px;width:57px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){.calendar-events article{transition:none}}
