/* Agenda de Eventos · Demo 2.0 + Google Sheets · Huamantla Core 3.6.43 */
body.hd-events-page{--pink-text:#cc2471;background:var(--paper,#f2f4f4);color:var(--ink,#10232b)}
body.hd-events-page .site-main{overflow:visible}

/* El Demo 2.0 usa el page-shell global de 1180 px. */
body.hd-events-page.elementor-page .elementor>.e-con.hd-events-page-shell,
body.hd-events-page.elementor-page .elementor>.elementor-element.e-con.hd-events-page-shell,
body.hd-events-page .elementor .hd-events-page-shell{
 --width:min(calc(100% - 48px),1180px)!important;
 --max-width:1180px!important;
 --container-max-width:1180px!important;
 --gap:0!important;
 width:min(calc(100% - 48px),1180px)!important;
 max-width:1180px!important;
 min-width:0!important;
 display:block!important;
 margin-inline:auto!important;
 padding:34px 0 72px!important;
 box-sizing:border-box!important
}
.hd-events-page-shell>.e-con-inner{display:contents!important}
.hd-events-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--secondary,#4c5a60);font-size:.78rem}
.hd-events-breadcrumb a{color:var(--ink,#10232b);font-weight:650;text-decoration:none}.hd-events-breadcrumb a:hover{text-decoration:underline}

/* .agenda-heading del Demo. */
.hd-events-hero{max-width:760px;margin:30px 0 0;padding:0}
.hd-events-microtitle{margin:0;color:var(--pink-text,#d62a78);font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.hd-events-hero__title{margin:7px 0 0;color:var(--ink,#10232b);font-size:clamp(2.65rem,5.5vw,4.7rem);font-weight:800;line-height:.96;letter-spacing:-.055em;text-wrap:balance}
.hd-events-hero__description{max-width:62ch;margin:14px 0 0;color:var(--secondary,#4c5a60);font-size:1rem;line-height:1.65}
.hd-events-timezone{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* .agenda-layout del Demo: 25/75, gap 22, margen 34/64. */
body.hd-events-page .elementor .hd-events-layout.e-con{
 --gap:22px!important;
 display:grid!important;
 grid-template-columns:minmax(220px,25%) minmax(0,75%)!important;
 align-items:start!important;
 gap:22px!important;
 width:100%!important;max-width:none!important;min-width:0!important;
 margin:34px 0 64px!important;padding:0!important;box-sizing:border-box!important
}
.hd-events-layout>.e-con-inner{display:contents!important}
body.hd-events-page .elementor .hd-events-sidebar.e-con,
body.hd-events-page .elementor .hd-events-main.e-con{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
body.hd-events-page .elementor .hd-events-main.e-con{padding:0!important}
.hd-events-sidebar>.e-con-inner,.hd-events-main>.e-con-inner{display:block!important}
body.hd-events-page .elementor .hd-events-sidebar.e-con>.e-con-inner>.elementor-element,
body.hd-events-page .elementor .hd-events-main.e-con>.e-con-inner>.elementor-element{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
/* Elementor con DOM optimizado coloca los widgets como hijos directos. Evita
   que el flex lateral encoja el calendario y lo solape con los filtros. */
body.hd-events-page .elementor .hd-events-sidebar.e-con>.elementor-widget,
body.hd-events-page .elementor .hd-events-main.e-con>.elementor-widget{flex:0 0 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}

/* .agenda-filters del Demo. */
body.hd-events-page .elementor .hd-events-sidebar.e-con{position:sticky!important;top:92px!important;padding:20px;border:1px solid var(--line,#dfe3e1);border-radius:22px;background:var(--white,#fff);box-shadow:none}
body.hd-events-page .elementor .hd-events-sidebar.e-con>.e-con-inner{width:100%!important;margin:0!important;padding:0!important}

/* .mini-calendar del Demo. */
.hd-events-calendar{margin:-4px -4px 20px;padding:0 0 18px;border:0;border-bottom:1px solid var(--line,#dfe3e1);border-radius:0;background:transparent;box-shadow:none}
.hd-events-calendar__header{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
.hd-events-calendar__current{margin:0;color:var(--ink,#10232b);font-size:1rem;font-weight:800;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}
.hd-events-calendar__nav{display:flex;gap:3px}
.hd-events-calendar__nav button{width:40px;height:40px;min-width:40px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--paper,#f2f4f4);color:var(--ink,#10232b);font:inherit;font-size:1.35rem;line-height:1;cursor:pointer}
.hd-events-calendar__nav button:hover{background:#e9eceb}
.hd-events-calendar__selectors{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hd-events-calendar__week,.hd-events-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.hd-events-calendar__week{margin-top:9px}.hd-events-calendar__week span{padding:0;color:var(--secondary,#4c5a60);font-size:.75rem;font-weight:800;line-height:1.6;text-align:center}
.hd-events-calendar__grid{margin-top:3px}
.hd-events-day,.hd-events-day--empty{position:relative;width:100%;min-width:0;min-height:0;aspect-ratio:1}
.hd-events-day{display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--secondary,#4c5a60);font:inherit;font-size:.78rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .14s ease,color .14s ease}
.hd-events-day:hover{background:var(--paper,#f2f4f4);color:var(--ink,#10232b)}
.hd-events-day.is-selected,.hd-events-day.is-today{background:var(--ink,#10232b);color:var(--white,#fff)}
.hd-events-day--empty{pointer-events:none}.hd-events-day__number{display:grid;place-items:center;width:100%;height:100%}
/* El indicador de día con eventos se centra ABAJO, no en la esquina superior. */
.hd-events-day.has-events:after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--pink,#e53281);transform:translateX(-50%);pointer-events:none}
.hd-events-day.is-selected:after,.hd-events-day.is-today:after{background:var(--white,#fff)}
.hd-events-day__count{display:none!important}
.hd-events-calendar__legend{display:flex;align-items:center;gap:6px;margin:8px 2px 0;color:var(--secondary,#4c5a60);font-size:.75rem;line-height:1.6}
.hd-events-legend-dot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--pink,#e53281)}

/* Filtros con las medidas literales del Demo. */
.hd-events-filters{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.hd-events-filters .hd-events-microtitle{margin:0}.hd-events-filters__title{margin:4px 0 0;color:var(--ink,#10232b);font-size:1.4rem;font-weight:800;line-height:1.1;letter-spacing:-.035em}
.hd-events-search{display:block;margin-top:20px}.hd-events-search>label,.hd-events-filter-group__label{display:block;margin:0;color:var(--secondary,#4c5a60);font-size:.75rem;font-weight:800;letter-spacing:.055em;line-height:1.4;text-transform:uppercase}
.hd-events-search__row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;margin-top:8px}
.hd-events-search input{width:100%;min-width:0;height:44px;min-height:44px;padding:0 13px;border:1px solid var(--line,#dfe3e1);border-radius:999px;background:var(--paper,#f2f4f4);color:var(--ink,#10232b);font:inherit;font-size:.875rem;line-height:1.2}
.hd-events-button,.hd-events-search__row .hd-events-button{min-height:44px;padding:0 16px;border:1px solid var(--ink,#10232b);border-radius:999px;background:var(--ink,#10232b);color:var(--white,#fff);font:inherit;font-size:.75rem;font-weight:800;line-height:1.1;cursor:pointer}
.hd-events-search__row .hd-events-button{position:relative;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:50%;font-size:0}
.hd-events-search__row .hd-events-button:after{content:"";position:absolute;left:13px;top:11px;width:13px;height:13px;border:1.8px solid #fff;border-radius:50%}
.hd-events-search__row .hd-events-button:before{content:"";position:absolute;left:25px;top:26px;width:7px;height:1.8px;background:#fff;transform:rotate(45deg);transform-origin:left center}
.hd-events-search__clear,.hd-events-back-upcoming,.hd-events-reset{min-height:40px;padding:0;border:0;background:transparent;color:var(--secondary,#4c5a60);font:inherit;font-size:.8rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hd-events-search__clear,.hd-events-back-upcoming{margin-top:8px}
.hd-events-search__clear[hidden],.hd-events-back-upcoming[hidden],.hd-events-reset[hidden],.hd-events-filter-group[hidden],.hd-events-chips button[hidden],.hd-events-view-toggle[hidden],.hd-events-empty[hidden],.hd-events-load-more__button[hidden]{display:none!important}
/* Contrato funcional: Elementor/Hello no puede anular hidden en las tarjetas.
   Debe ser mas especifico que la regla display:grid!important de .hd-event-card. */
body.hd-events-page .elementor .hd-events-results > .hd-event-card[hidden]{display:none!important}
.hd-events-filter-group{display:grid;gap:7px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line,#dfe3e1)}
.hd-events-chips{display:grid;gap:7px}
.hd-events-chips button{min-height:32px;display:flex;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:transparent;color:var(--secondary,#4c5a60);font:inherit;font-size:.875rem;font-weight:500;line-height:1.35;text-align:left;cursor:pointer}
.hd-events-chips button:before{content:"";width:18px;height:18px;flex:0 0 18px;border:1px solid #a9b2b6;background:#fff}
.hd-events-chips[data-filter-group="when"] button:before{border-radius:50%}.hd-events-chips[data-filter-group="type"] button:before,.hd-events-chips[data-filter-group="concept"] button:before,.hd-events-chips[data-filter-group="season"] button:before{border-radius:1px}
.hd-events-chips button.is-active{color:var(--ink,#10232b);font-weight:700}.hd-events-chips button.is-active:before{border-color:var(--pink,#e53281);background:var(--pink,#e53281);box-shadow:inset 0 0 0 4px #fff}
.hd-events-reset{margin-top:15px}.hd-events-reset--calendar{width:auto;min-height:32px;display:inline-flex;align-items:center;justify-content:flex-start;margin:0 0 10px;padding:0;color:var(--secondary,#4c5a60);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}
.hd-events-view-toggle{display:grid;grid-template-columns:1fr;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#dfe3e1)}
.hd-events-view-toggle button{min-height:40px;border:1px solid var(--line,#dfe3e1);border-radius:999px;background:#fff;color:var(--ink,#10232b);padding:0 12px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.hd-events-view-toggle button.is-active{border-color:var(--ink,#10232b);background:var(--ink,#10232b);color:#fff}

/* Resultados y tarjetas: tamaños literales del Demo. */
.hd-events-list{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.hd-events-list__header{min-height:62px;display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0;padding:0 2px 12px;border:0}
.hd-events-list__header .hd-events-microtitle{margin:0}.hd-events-list__title{margin:4px 0 0;color:var(--ink,#10232b);font-size:1.4rem;font-weight:800;line-height:1.1;letter-spacing:-.035em}
.hd-events-list__count{margin:0;color:var(--secondary,#4c5a60);font-size:.875rem;line-height:1.5;white-space:nowrap}.hd-events-list__count strong{color:var(--ink,#10232b)}
.hd-events-results{display:grid;gap:10px;margin-top:0}
body.hd-events-page .elementor .hd-event-card{min-width:0;width:100%!important;max-width:none!important;min-height:0!important;display:grid!important;grid-template-columns:188px minmax(0,1fr)!important;align-items:center!important;overflow:hidden!important;border:1px solid var(--line,#dfe3e1);border-radius:18px;background:var(--white,#fff);box-sizing:border-box!important}
body.hd-events-page .elementor .hd-event-card.has-no-image{grid-template-columns:minmax(0,1fr)!important}
.hd-event-card__media{position:relative;width:164px;min-width:0;height:92px;min-height:0;margin:12px;padding:0;overflow:hidden;border-radius:12px;background:var(--paper,#f2f4f4);align-self:center}
.hd-event-card__media img{position:absolute;inset:0;width:100%;height:100%;display:block;margin:0;border-radius:0;object-fit:cover}
.hd-event-card__content{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-self:center;padding:12px 14px}
.hd-event-card__labels{position:static;grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px;max-width:none;min-height:22px;margin:0 0 5px}
.hd-event-card__labels span{max-width:100%;min-height:0;display:inline-block;padding:5px 8px;border:1px solid var(--line,#dfe3e1);border-radius:8px;background:var(--paper,#f2f4f4);color:var(--secondary,#4c5a60);font-size:.75rem;font-weight:700;line-height:1.35}
.hd-event-card__labels .is-concept,.hd-event-card__labels .is-season{border-color:var(--line,#dfe3e1);background:var(--paper,#f2f4f4);color:var(--secondary,#4c5a60)}
.hd-event-card__labels .is-cancelled{border-color:var(--ink,#10232b);background:var(--ink,#10232b);color:var(--white,#fff)}
.hd-event-card__title{grid-column:1;max-width:34ch;margin:0;color:var(--ink,#10232b);font-size:1.0625rem;font-weight:800;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
.hd-event-card__facts{grid-column:1;display:flex;flex-wrap:wrap;gap:5px 14px;margin:7px 0 0}.hd-event-card__facts div{min-width:0}
.hd-event-card__facts dt{color:var(--secondary,#4c5a60);font-size:.75rem;font-weight:800;line-height:1.3;letter-spacing:.06em;text-transform:uppercase}.hd-event-card__facts dd{margin:1px 0 0;color:var(--ink,#10232b);font-size:.82rem;font-weight:700;line-height:1.3}
.hd-event-card__description{grid-column:1;max-width:none;margin:7px 0 0;color:var(--secondary,#4c5a60);font-size:.875rem;line-height:1.45}
.hd-event-card__actions{position:static;grid-column:2;grid-row:2/5;width:148px;max-width:100%;display:flex;flex-direction:column;flex-wrap:nowrap;align-self:end;align-items:stretch;justify-content:flex-end;gap:6px;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.hd-event-card__actions a{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:1px solid var(--line,#dfe3e1);border-radius:999px;background:var(--paper,#f2f4f4);color:var(--ink,#10232b)!important;font-size:.75rem;font-weight:800;line-height:1.1;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.hd-event-card__actions a.is-more{border-color:var(--ink,#10232b);background:var(--ink,#10232b);color:var(--white,#fff)!important}.hd-event-card__actions svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hd-event-card__actions a:hover{text-decoration:none;filter:brightness(.98)}
.hd-events-empty{padding:28px;border:1px dashed var(--line,#dfe3e1);border-radius:18px;background:#fff;color:var(--secondary,#4c5a60);text-align:center}
.hd-events-load-more{display:flex;justify-content:center;padding-top:18px}.hd-events-load-more__button{min-width:190px}.hd-events-load-status{min-height:28px;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0 0;color:var(--secondary,#4c5a60);font-size:.82rem}

/* Foco visible. */
.hd-events-search input:focus-visible,.hd-events-search__row .hd-events-button:focus-visible,.hd-events-calendar__nav button:focus-visible,.hd-events-day:focus-visible,.hd-events-chips button:focus-visible,.hd-events-reset:focus-visible,.hd-events-view-toggle button:focus-visible,.hd-events-search__clear:focus-visible,.hd-events-back-upcoming:focus-visible,.hd-events-load-more__button:focus-visible,.hd-event-card__actions a:focus-visible{outline:3px solid var(--pink,#e53281);outline-offset:3px}

@media(max-width:980px){
 body.hd-events-page .elementor .hd-events-layout.e-con{grid-template-columns:minmax(210px,30%) minmax(0,70%)!important;gap:16px!important}
 body.hd-events-page .elementor .hd-events-sidebar.e-con{top:78px!important}
 body.hd-events-page .elementor .hd-event-card{grid-template-columns:150px minmax(0,1fr)!important}
 body.hd-events-page .elementor .hd-event-card.has-no-image{grid-template-columns:1fr!important}
 .hd-event-card__media{width:126px;height:72px}.hd-event-card__content{grid-template-columns:1fr}.hd-event-card__actions{grid-column:1;grid-row:auto;justify-content:flex-start;justify-self:start;width:148px;max-width:100%;flex-wrap:nowrap;margin-top:9px}.hd-event-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hd-event-card__facts div:last-child{grid-column:1/-1}
}
@media(max-width:700px){
 body.hd-events-page.elementor-page .elementor>.e-con.hd-events-page-shell,body.hd-events-page.elementor-page .elementor>.elementor-element.e-con.hd-events-page-shell,body.hd-events-page .elementor .hd-events-page-shell{--width:min(calc(100% - 32px),1180px)!important;width:min(calc(100% - 32px),1180px)!important;padding-top:24px!important;padding-bottom:48px!important}
 .hd-events-hero{margin-top:24px}.hd-events-hero__title{font-size:clamp(2.25rem,12vw,3.15rem)}
 body.hd-events-page .elementor .hd-events-layout.e-con{grid-template-columns:1fr!important;gap:24px!important;margin-top:28px!important}
 body.hd-events-page .elementor .hd-events-sidebar.e-con{position:static!important;padding:16px;border-radius:18px}
 .hd-events-list__header{align-items:flex-start;flex-direction:column;gap:8px}.hd-events-list__count{white-space:normal}
 body.hd-events-page .elementor .hd-event-card{grid-template-columns:112px minmax(0,1fr)!important;border-radius:16px!important}body.hd-events-page .elementor .hd-event-card.has-no-image{grid-template-columns:1fr!important}.hd-event-card__media{width:88px;height:56px;margin:12px;border-radius:10px}.hd-event-card__content{grid-template-columns:1fr;padding:12px}.hd-event-card__labels{grid-column:1;justify-content:flex-start;min-height:0;margin:0 0 6px}.hd-event-card__title{grid-column:1;font-size:1rem}.hd-event-card__facts{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}.hd-event-card__description{grid-column:1}.hd-event-card__actions{grid-column:1;grid-row:auto;justify-content:flex-start;width:148px;max-width:100%;margin-top:10px}
 .hd-events-calendar.is-collapsed-after-date .hd-events-calendar__week,.hd-events-calendar.is-collapsed-after-date .hd-events-calendar__grid,.hd-events-calendar.is-collapsed-after-date .hd-events-calendar__legend{display:none}
}
@media(max-width:430px){body.hd-events-page .elementor .hd-event-card{grid-template-columns:1fr!important}.hd-event-card__media{width:164px;height:92px;margin:12px 12px 0}.hd-event-card__facts{grid-template-columns:1fr}.hd-event-card__facts div:last-child{grid-column:auto}.hd-events-view-toggle{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.hd-events-day{transition:none}}
