.agenda-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.agenda-hero-actions .button{min-height:48px}.agenda-hero-actions .button.is-secondary{background:transparent;border:1px solid rgba(255,255,255,.65);color:#fff}.agenda-hero-actions .button[hidden]{display:none}.agenda-intro{background:#fff}.agenda-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.45fr) auto;gap:14px;align-items:end;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-bottom:28px}.agenda-control label{display:block;margin-bottom:7px;color:var(--navy);font-size:.82rem;font-weight:900}.agenda-control input,.agenda-control select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #bfcbd3;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.agenda-control input:focus,.agenda-control select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.12);outline:0}.agenda-reset{min-height:48px;border:1px solid var(--red);border-radius:10px;background:#fff;color:var(--red);padding:10px 18px;font-weight:900;cursor:pointer}.agenda-reset:hover{background:#fff4f6}.agenda-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.agenda-summary h2{margin:0;color:var(--navy);font-size:clamp(1.65rem,3vw,2.3rem)}.agenda-summary p{margin:0;color:var(--muted);font-size:.88rem}.agenda-status{min-height:120px}.agenda-loading,.agenda-message{padding:38px;border:1px dashed #aebdc7;border-radius:var(--radius);background:var(--paper);text-align:center}.agenda-loading{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--navy);font-weight:800}.agenda-spinner{width:22px;height:22px;border:3px solid #ead2d7;border-top-color:var(--red);border-radius:50%;animation:agenda-spin .8s linear infinite}@keyframes agenda-spin{to{transform:rotate(360deg)}}.agenda-message h2{margin:0 0 8px;color:var(--navy)}.agenda-message p{max-width:650px;margin:0 auto 18px;color:var(--muted)}.agenda-message button{border:0;border-radius:10px;background:var(--red);color:#fff;padding:12px 18px;font-weight:900;cursor:pointer}.agenda-groups{display:grid;gap:42px}.agenda-month h2{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:var(--navy);font-size:1.45rem;text-transform:capitalize}.agenda-month h2:after{content:"";height:1px;background:var(--line);flex:1}.agenda-list{display:grid;gap:14px}.agenda-card{display:grid;grid-template-columns:94px minmax(0,1fr) auto;gap:22px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(127,29,29,.05)}.agenda-card:hover{border-color:#d9a7b1;box-shadow:0 14px 32px rgba(127,29,29,.1)}.agenda-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;border-radius:13px;background:#f8e7eb;color:var(--red);text-align:center}.agenda-date strong{font-size:2rem;line-height:1}.agenda-date span{font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.agenda-type{display:inline-flex;margin-bottom:8px;color:var(--red);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.agenda-card h3{margin:0;color:var(--navy);font-size:1.28rem;line-height:1.25}.agenda-card h3 a{text-decoration:none}.agenda-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}.agenda-meta{display:flex;gap:10px 18px;flex-wrap:wrap;margin:12px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.87rem}.agenda-meta li{display:flex;gap:7px;align-items:flex-start}.agenda-description{margin:13px 0 0;color:#394550}.agenda-card-action{align-self:center;color:var(--red);font-size:.84rem;font-weight:900;text-decoration:none;white-space:nowrap}.agenda-card-action:hover{text-decoration:underline}.agenda-footnote{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.agenda-footnote strong{color:var(--navy)}body.high-contrast .agenda-card,body.high-contrast .agenda-toolbar{border-width:2px}.agenda-noscript{margin:30px auto;padding:20px;border-left:5px solid var(--red);background:#fff4f6;color:#5a1018}
@media(max-width:860px){.agenda-toolbar{grid-template-columns:1fr 1fr}.agenda-reset{grid-column:1/-1}.agenda-card{grid-template-columns:82px minmax(0,1fr)}.agenda-card-action{grid-column:2;justify-self:start}}
@media(max-width:600px){.agenda-toolbar{grid-template-columns:1fr;padding:16px}.agenda-reset{grid-column:auto}.agenda-summary{display:block}.agenda-summary p{margin-top:6px}.agenda-card{grid-template-columns:66px minmax(0,1fr);gap:14px;padding:16px}.agenda-date{min-height:72px}.agenda-date strong{font-size:1.55rem}.agenda-card h3{font-size:1.08rem}.agenda-meta{display:grid;gap:7px}.agenda-card-action{grid-column:1/-1}.agenda-hero-actions{display:grid}.agenda-hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.agenda-spinner{animation:none}.agenda-card{transition:none}}
.agenda-month h2{text-transform:none}

/* Calendario público integrado */
.agenda-calendar-shell{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(11,45,72,.1)}
.agenda-calendar{display:block;width:100%;height:760px;border:0}
.agenda-publication-note{margin-top:28px;padding:28px;border-left:5px solid var(--red);border-radius:0 14px 14px 0;background:var(--paper)}
.agenda-publication-note h2{margin:0 0 10px;color:var(--navy);font-size:1.35rem}
.agenda-publication-note p{max-width:900px;margin:0;color:#394550}
.agenda-note-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}
.agenda-fallback{color:var(--red);font-weight:900}
@media(max-width:760px){.agenda-calendar{height:650px}.agenda-publication-note{padding:22px}.agenda-hero-actions,.agenda-note-actions{display:grid}.agenda-hero-actions .button,.agenda-note-actions .button{width:100%}}

/* Fichas visuales de la agenda oficial */
.agenda-card.has-image{grid-template-columns:minmax(230px,300px) 94px minmax(0,1fr) auto;padding:0;overflow:hidden;align-items:stretch}
.agenda-card-media{margin:0;min-height:230px;background:#e8edf0;overflow:hidden}
.agenda-card-media img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover;transition:transform .35s ease}
.agenda-card.has-image:hover .agenda-card-media img{transform:scale(1.025)}
.agenda-card.has-image .agenda-date{align-self:center;margin-left:2px}
.agenda-card.has-image>div{align-self:center;padding:26px 0}
.agenda-card.has-image .agenda-card-action{align-self:center;margin-right:24px}
.agenda-calendar-details{margin-top:30px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.agenda-calendar-details summary{cursor:pointer;padding:20px 24px;color:var(--navy);font-weight:900;list-style-position:inside}
.agenda-calendar-details[open] summary{border-bottom:1px solid var(--line)}
@media(max-width:1000px){.agenda-card.has-image{grid-template-columns:220px 82px minmax(0,1fr)}.agenda-card.has-image .agenda-card-action{grid-column:2/-1;justify-self:start;margin:0 0 22px}.agenda-card.has-image>div{padding-right:20px}}
@media(max-width:700px){.agenda-card.has-image{grid-template-columns:70px minmax(0,1fr);gap:14px}.agenda-card.has-image .agenda-card-media{grid-column:1/-1;min-height:210px}.agenda-card.has-image .agenda-card-media img{min-height:210px;max-height:260px}.agenda-card.has-image .agenda-date{margin:0 0 16px 14px}.agenda-card.has-image>div{padding:0 16px 18px 0}.agenda-card.has-image .agenda-card-action{grid-column:1/-1;margin:0 16px 18px}}
.agenda-card-calendar{display:grid;place-items:center;background:linear-gradient(145deg,#f7f9fa 0%,#e8edf0 100%);padding:28px}
.agenda-card-calendar-sheet{width:min(190px,82%);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 16px 38px rgba(20,38,55,.16);text-align:center;border:1px solid #dfe5e9}
.agenda-card-calendar-sheet span{display:block;padding:11px 10px;background:var(--red);color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.agenda-card-calendar-sheet strong{display:block;padding:18px 10px 4px;color:var(--navy);font-size:4.65rem;line-height:.95;font-weight:900}
.agenda-card-calendar-sheet small{display:block;padding:8px 10px 17px;color:var(--muted);font-size:.88rem;font-weight:800;letter-spacing:.08em}
.agenda-card.has-date-placeholder .agenda-date{display:none}
.agenda-card.has-date-placeholder{grid-template-columns:minmax(230px,300px) minmax(0,1fr) auto}
.agenda-card.has-date-placeholder>div{padding-left:26px}
@media(max-width:1000px){.agenda-card.has-date-placeholder{grid-template-columns:220px minmax(0,1fr)}.agenda-card.has-date-placeholder .agenda-card-action{grid-column:2}}
@media(max-width:700px){.agenda-card.has-date-placeholder{grid-template-columns:1fr}.agenda-card.has-date-placeholder>div{padding:0 18px 18px}.agenda-card.has-date-placeholder .agenda-card-action{grid-column:1;margin:0 18px 18px}.agenda-card-calendar{min-height:210px}}
