/* La cabecera de la web flota sobre la banda negra, como en Noticias y Contacto. */
body.ecal-pagina main.enter-main.enter-content{padding-top:0!important}
body.ecal-pagina .ecal-hero-in{padding-top:180px}
@media (max-width:820px){body.ecal-pagina .ecal-hero-in{padding-top:130px}}
html:has(body.ecal-pagina){overflow-x:clip}
/* Calendario público: mismo lenguaje visual que la web (Georgia, rótulos estrechos, tarjetas blancas con sombra dura). */
.ecal-hero{width:100vw;margin-left:calc(50% - 50vw);background:#000;color:#fff;margin-bottom:48px}
.ecal-hero-in{max-width:1180px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:64px;align-items:center}
.ecal-hero .enter-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:750;margin:0 0 10px;color:#fff}
.ecal-hero h1{font:400 clamp(44px,6vw,84px)/.94 Georgia,'Times New Roman',serif;color:#fff;margin:0;text-transform:none;letter-spacing:-.5px}
.ecal-hero-in>p{font-size:clamp(16px,1.6vw,20px);line-height:1.45;margin:0;color:#fff}
@media (max-width:820px){.ecal-hero-in{grid-template-columns:1fr;gap:16px;padding:40px 16px}.ecal-hero{margin-bottom:28px}}
.ecal-panel{position:sticky;top:90px}
@media (max-width:820px){.ecal-panel{position:static}}
.ecal{--ecal-ink:#171716;--ecal-mut:#6B6B66;--ecal-line:#DEDEDB;--ecal-sh:#E4E4E0;--ecal-fest:#E9E7E1;--ecal-comp:#111;--ecal-narrow:'Arial Narrow','Roboto Condensed',Impact,sans-serif;color:var(--ecal-ink);margin:8px 0 48px}
.ecal-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
.ecal-panel{background:#fff;border:1px solid var(--ecal-line);border-radius:15px;box-shadow:0 3px 0 var(--ecal-sh);padding:22px}
.ecal-barra{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}
.ecal-nav{display:flex;align-items:center;gap:10px}
.ecal-mes-nombre{font:750 22px/1 var(--ecal-narrow);text-transform:uppercase;min-width:9ch;text-align:center}
.ecal-nav button{width:40px;height:40px;border-radius:10px;border:1px solid var(--ecal-line);background:#fff;color:var(--ecal-ink);font-size:18px;cursor:pointer}
.ecal-nav button:disabled{opacity:.35;cursor:default}
.ecal select{height:40px;border-radius:10px;border:1px solid var(--ecal-line);background:#fff;padding:0 12px;font:600 13px Inter,system-ui,sans-serif;color:var(--ecal-ink)}
.ecal button:focus-visible,.ecal select:focus-visible,.ecal a:focus-visible{outline:3px solid var(--ecal-ink);outline-offset:2px}
.ecal-mes+.ecal-mes{margin-top:24px}
.ecal--js .ecal-mes{margin-top:0}
.ecal--js .ecal-mes:not(.ecal-mes--activo){display:none}
.ecal--js .ecal-oculto,.ecal-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ecal:not(.ecal--js) .ecal-oculto{position:static;width:auto;height:auto;clip:auto;font:750 18px var(--ecal-narrow);text-transform:uppercase;margin:0 0 8px}
.ecal-rej{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ecal-dow{font:750 12px var(--ecal-narrow);color:var(--ecal-mut);text-align:center;padding-bottom:6px;text-transform:uppercase}
.ecal-d{border-radius:8px;min-height:62px;padding:6px 7px;font-size:13px;border:1px solid #EFEFEC;position:relative;overflow:hidden}
.ecal-d--fuera{border:0}
.ecal-d--hoy{outline:2px solid var(--ecal-ink);outline-offset:-2px}
.ecal-d:has(.ecal-m--f:not([hidden])){background:var(--ecal-fest);border-color:var(--ecal-fest);color:var(--ecal-mut)}
.ecal-d:has(.ecal-m--c:not([hidden])){background:var(--ecal-comp);border-color:var(--ecal-comp);color:#fff}
.ecal-m{display:block;font-size:10.5px;line-height:1.25;margin-top:3px;font-weight:600;overflow-wrap:break-word;hyphens:auto}
.ecal-m[hidden],.ecal-it[hidden]{display:none}
.ecal-ley{display:flex;gap:18px;margin-top:14px;font-size:13px;color:var(--ecal-mut);flex-wrap:wrap}
.ecal-ley span::before{content:'';display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.ecal-ley-f::before{background:#D3D1CA}.ecal-ley-c::before{background:var(--ecal-comp)}
.ecal-cab{font:750 20px/1.2 var(--ecal-narrow);text-transform:uppercase;margin:6px 0 14px;letter-spacing:-.2px}
.ecal-it{background:#fff;border:1px solid var(--ecal-line);border-radius:15px;box-shadow:0 3px 0 var(--ecal-sh);padding:14px 16px;margin-bottom:10px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center}
.ecal-fe{text-align:center;border-radius:10px;padding:7px 0;line-height:1;background:var(--ecal-fest)}
.ecal-fe b{display:block;font:400 24px Georgia,'Times New Roman',serif}
.ecal-fe small{font:750 11px var(--ecal-narrow);text-transform:uppercase}
.ecal-it--c .ecal-fe{background:var(--ecal-comp);color:#fff}
.ecal-t{font:600 14.5px/1.35 Inter,system-ui,sans-serif;margin:0}
.ecal-meta{font-size:12.5px;color:var(--ecal-mut);margin:2px 0 0}
.ecal-prov{display:inline-block;font-size:11px;font-weight:600;border:1px dashed #9A9A94;color:var(--ecal-mut);border-radius:6px;padding:0 6px;margin-left:4px;white-space:nowrap}
.ecal-add{display:inline-flex;align-items:center;margin-top:10px;padding:13px 22px;border-radius:10px;background:#111;color:#fff!important;font-weight:600;font-size:13px;text-decoration:none}
.ecal-nota{font-size:12px;color:var(--ecal-mut);margin-top:10px}
.ecal-nota a{color:inherit}
.ecal-nada,.ecal--error p{color:var(--ecal-mut)}
@media (max-width:820px){
  .ecal-grid{grid-template-columns:1fr;gap:26px}
  .ecal-panel{padding:14px}
  .ecal-d{min-height:44px;padding:4px 5px}
  .ecal-m{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
/* Un poco más grande (noviembre 2026) */
@media (min-width:821px){
  .ecal-panel{padding:28px}
  .ecal-mes-nombre{font-size:27px}
  .ecal-nav button{width:46px;height:46px;font-size:20px}
  .ecal select{height:46px;font-size:15px;padding:0 14px}
  .ecal-dow{font-size:14px}
  .ecal-rej{gap:6px}
  .ecal-d{min-height:84px;padding:8px 9px;font-size:15.5px}
  .ecal-m{font-size:12.5px}
  .ecal-ley{font-size:14.5px}
  .ecal-cab{font-size:24px}
  .ecal-it{grid-template-columns:62px minmax(0,1fr);padding:16px 18px;gap:16px}
  .ecal-fe b{font-size:29px}.ecal-fe small{font-size:12.5px}
  .ecal-t{font-size:16.5px}.ecal-meta{font-size:14px}.ecal-prov{font-size:12px}
  .ecal-add{font-size:15px;padding:15px 26px}.ecal-nota{font-size:13.5px}
}
@media (max-width:820px){.ecal-d{min-height:50px;font-size:15px}.ecal-t{font-size:15.5px}.ecal-meta{font-size:13.5px}.ecal-mes-nombre{font-size:22px}}