/* ==========================================================================
   Home ADEN — estilos de las secciones (patterns/home-*.php) y de los
   shortcodes [aden_home_agenda] / [aden_home_eventos].
   Tokens tomados de colors_and_type.css del design system ACRÓPOLIS · ADEN.
   Todo va con prefijo .ah- para no chocar con adensfe.css (.event, .events-*).
   ========================================================================== */

:root {
	--ah-red: #B31D15;
	--ah-red-hover: #8F1711;
	--ah-red-press: #6E110D;
	--ah-n0: #fff;
	--ah-n50: #F9F9F9;
	--ah-n100: #F1F1F1;
	--ah-n200: #E5E5E5;
	--ah-n300: #D1D1D1;
	--ah-n400: #A8A8A8;
	--ah-n500: #767676;
	--ah-n700: #4A4A47;
	--ah-n900: #1D1D18;
	--ah-green: #198754;
	--ah-yellow: #F5B400;
	--ah-shadow: 0 4px 12px rgba(0, 0, 0, .06);
	--ah-shadow-hover: 0 8px 20px rgba(0, 0, 0, .10);
	--ah-ease: cubic-bezier(.4, 0, .2, 1);
	--ah-gap: 24px;
}

/* ---------- Base de sección ---------- */
.ah-section {
	padding-left: 24px;
	padding-right: 24px;
	margin-block: 0;
	font-family: "Lato", system-ui, sans-serif;
	color: var(--ah-n900);
}
.ah-section > * { margin-block: 0; }
.ah-section :is(h1, h2, h3, p, ul) { margin-block: 0; }
.ah-section a { color: var(--ah-red); text-decoration: none; }
.ah-section a:hover { color: var(--ah-red-hover); text-decoration: underline; }
.ah-section :is(h1, h2, h3) { font-family: inherit; letter-spacing: 0; }

/* Botón pill rojo (core/button) */
.ah-section .wp-block-button__link {
	background: var(--ah-red);
	color: #fff;
	border-radius: 100px;
	padding: 9px 20px;
	font: 400 13px/1 "Lato", sans-serif;
	text-decoration: none;
	transition: background .2s var(--ah-ease);
}
.ah-section .wp-block-button__link:hover { background: var(--ah-red-hover); color: #fff; text-decoration: none; }
.ah-section .wp-block-button__link:active { background: var(--ah-red-press); }
.ah-section .is-style-outline .wp-block-button__link,
.ah-section .ah-btn-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid #fff;
	color: #fff;
}
.ah-section .ah-btn-outline .wp-block-button__link:hover { background: #fff; color: var(--ah-red); }

/* ==========================================================================
   HERO
   ========================================================================== */
.ah-hero { background: linear-gradient(180deg, #fff 0%, var(--ah-n100) 100%); padding-top: 40px; padding-bottom: 72px; }
.ah-hero__title { font-size: 44px; line-height: 1.15; font-weight: 300; color: var(--ah-n700); margin-bottom: 40px !important; text-wrap: pretty; }
.ah-hero__title strong { font-weight: 400; color: var(--ah-n900); }
.ah-hero__lead { font-size: 18px; line-height: 24px; font-weight: 300; color: var(--ah-n500); margin-bottom: 16px !important; }

.ah-search { max-width: 660px; margin-left: 0 !important; }
.ah-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--ah-n300) !important;
	border-radius: 100px;
	background: #fff;
	height: 48px;
	padding: 0 8px 0 20px !important;
	align-items: center;
}
.ah-search .wp-block-search__input { border: 0 !important; background: transparent; font: 300 16px/1 "Lato", sans-serif; color: var(--ah-n700); padding: 0; outline: 0; }
.ah-search .wp-block-search__input::placeholder { color: var(--ah-n400); }
.ah-search .wp-block-search__button { background: transparent !important; color: var(--ah-red) !important; border: 0; padding: 8px; margin: 0; }

/* tres cards */
.ah-cards { display: flex; flex-wrap: wrap; gap: var(--ah-gap); margin-top: 40px !important; }
.ah-cards > * { flex: 1 1 260px; min-width: 0; margin: 0 !important; }

.ah-card-cover.wp-block-cover {
	position: relative;
	min-height: 204px;
	padding: 28px 20px 22px;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--ah-shadow);
	align-items: stretch;
	transition: box-shadow .2s var(--ah-ease);
}
.ah-card-cover.wp-block-cover:hover { box-shadow: var(--ah-shadow-hover); }
.ah-card-cover.wp-block-cover::after {
	content: "";
	position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .85) 42%, rgba(255, 255, 255, 0) 68%);
}
.ah-card-cover .wp-block-cover__inner-container {
	position: relative; z-index: 2; width: 100%;
	display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start;
	color: var(--ah-n900);
}
.ah-card-cover__title { font-size: clamp(24px, 2.6vw, 32px); line-height: 1; font-weight: 300; color: var(--ah-red) !important; margin: 0 0 12px !important; }
.ah-card-cover__text { width: 46%; font-size: 13px; line-height: 18px; color: var(--ah-n900) !important; margin: 0 !important; }
.ah-card-cover .wp-block-buttons { margin: 22px 0 0 !important; }

.ah-card-banner { position: relative; border-radius: 16px; overflow: hidden; background: #EDEDED; box-shadow: var(--ah-shadow); min-height: 204px; margin: 0 !important; transition: box-shadow .2s var(--ah-ease); }
.ah-card-banner:hover { box-shadow: var(--ah-shadow-hover); }
.ah-card-banner a, .ah-card-banner img { display: block; width: 100%; height: 100%; min-height: 204px; object-fit: cover; }
.ah-card-banner::after {
	content: ""; position: absolute; right: 12px; bottom: 12px; width: 34px; height: 34px; border-radius: 50%; pointer-events: none;
	background: var(--ah-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M1 6h10M6.5 1.5 11 6l-4.5 4.5' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

/* video + oferta destacada */
.ah-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--ah-gap); margin-top: var(--ah-gap) !important; align-items: start; }
.ah-split > * { margin: 0 !important; }
.ah-video { height: 250px; border-radius: 16px; overflow: hidden; background: var(--ah-n900); }
.ah-video :is(figure, video, iframe) { margin: 0; width: 100%; height: 100%; object-fit: cover; }
.ah-offer__title { font-size: 26px; line-height: 1.2; font-weight: 300; margin-bottom: 16px !important; }
.ah-offer__row {
	position: relative;
	display: grid; grid-template-columns: minmax(0, 1fr) auto 32px; gap: 20px; align-items: center;
	padding: 14px 6px; border-top: 1px solid var(--ah-n200);
	transition: background .2s var(--ah-ease);
}
.ah-offer__title + .ah-offer__row, .ah-offer__row:first-of-type { border-top-color: transparent; }
.ah-offer__row:hover { background: #fff; }
.ah-offer__row > * { margin: 0 !important; }
.ah-offer__row p:first-child { font-size: 14px; line-height: 18px; font-weight: 300; }
.ah-offer__row p:first-child a { color: var(--ah-n900); }
.ah-offer__row p:first-child a::after { content: ""; position: absolute; inset: 0; }
.ah-offer__row p + p { font-size: 12px; line-height: 1; font-weight: 300; color: var(--ah-n700); white-space: nowrap; }
.ah-offer__row::after {
	content: ""; grid-column: 3; grid-row: 1; justify-self: end; width: 22px; height: 22px; border-radius: 50%;
	background: var(--ah-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M1 6h10M6.5 1.5 11 6l-4.5 4.5' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat;
}

/* ==========================================================================
   AGENDA — "Este mes en ADEN"
   ========================================================================== */
.ah-agenda-section { background: var(--ah-n50); padding-top: 64px; padding-bottom: 64px; }
.ah-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 15px; line-height: 18px; text-transform: uppercase; letter-spacing: .003em; color: var(--ah-red); margin-bottom: 12px !important; }
.ah-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ah-red); flex: none; }
.ah-agenda-section__title { font-size: 36px; line-height: 40px; font-weight: 700; margin-bottom: 28px !important; }

.ah-agenda { --ah-per: 4; }
.ah-agenda__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.ah-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ah-tab {
	border-radius: 20px; padding: 8px 16px; cursor: pointer; font: 400 14px/1 "Lato", sans-serif;
	background: #fff; color: var(--ah-n900); border: 1px solid var(--ah-n300);
	transition: background .2s var(--ah-ease), color .2s var(--ah-ease);
}
.ah-tab.is-active { background: var(--ah-n900); color: #fff; border-color: var(--ah-n900); }
.ah-agenda__nav { display: flex; align-items: center; gap: 8px; }
.ah-counter { font: 400 14px/1 "Lato", sans-serif; color: var(--ah-n500); margin-right: 8px; }
.ah-arrow-btn {
	width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ah-n300); background: #fff; color: var(--ah-n900);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
	transition: border-color .2s var(--ah-ease), color .2s var(--ah-ease);
}
.ah-arrow-btn:hover { border-color: var(--ah-red); color: var(--ah-red); }

.ah-viewport { overflow: hidden; margin: 0 -12px; padding: 16px 12px 28px; margin-top: -12px; }
.ah-track { display: flex; gap: var(--ah-gap); transition: transform .45s var(--ah-ease); }

.ah-card {
	flex: 0 0 calc((100% - (var(--ah-per) - 1) * var(--ah-gap)) / var(--ah-per));
	min-width: 0; background: #fff; border-radius: 20px; overflow: hidden; box-shadow: var(--ah-shadow);
	display: flex; flex-direction: column; transition: box-shadow .2s var(--ah-ease);
}
.ah-card:hover { box-shadow: var(--ah-shadow-hover); }
.ah-card[hidden] { display: none; }
.ah-card__media { position: relative; aspect-ratio: 96 / 37; /* proporción de las imágenes del CRM (1920×740): se ven completas, sin recorte */ background: linear-gradient(135deg, #2b2b25 0%, var(--ah-n900) 100%); }
.ah-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 20px 20px 0 0; display: block; }
.ah-card__tags { position: absolute; top: 16px; left: 16px; right: 16px; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; pointer-events: none; }
.ah-tag, .ah-chip { border-radius: 20px; padding: 7px 14px; font: 700 12px/1 "Lato", sans-serif; white-space: nowrap; color: #fff; }
.ah-tag--presencial { background: var(--ah-red); }
.ah-tag--online { background: var(--ah-n900); }
.ah-tag--news { background: var(--ah-n500); }
.ah-chip { display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 4px 12px rgba(0, 0, 0, .12); border: 1px solid transparent; }
.ah-chip[hidden] { display: none; }
.ah-chip svg { width: 11px; height: 11px; flex: none; }
.ah-chip[data-state="live"], .ah-chip[data-state="soon"] { background: var(--ah-red); border-color: var(--ah-red); }
.ah-chip[data-state="done"] { background: var(--ah-n400); border-color: var(--ah-n400); }
.ah-chip[data-state="open"] { background: var(--ah-green); border-color: var(--ah-green); }
.ah-chip[data-state="last"] { background: var(--ah-yellow); border-color: var(--ah-yellow); color: var(--ah-n900); }
.ah-chip[data-state="upcoming"] { background: #fff; border-color: var(--ah-n300); color: var(--ah-n900); }
.ah-card__date {
	position: absolute; right: 16px; bottom: -20px; width: 64px; background: #fff; border-radius: 12px; text-align: center; padding: 8px 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .12); pointer-events: none;
}
.ah-card[data-type="noticia"] .ah-card__date { display: none; }
.ah-card__day { display: block; font: 700 24px/24px "Lato", sans-serif; color: var(--ah-red); }
.ah-card__month { display: block; font: 400 12px/14px "Lato", sans-serif; color: var(--ah-n500); text-transform: uppercase; }
.ah-card__body { padding: 32px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.ah-card[data-type="noticia"] .ah-card__body { padding-top: 24px; }
.ah-card__meta { font: 400 13px/16px "Lato", sans-serif; color: var(--ah-n500); margin: 0 0 8px; }
.ah-card__title { font: 700 20px/26px "Lato", sans-serif; margin: 0 0 10px; text-wrap: pretty; }
.ah-card__title a { color: var(--ah-n900); text-decoration: none; }
.ah-card__title a:hover { color: var(--ah-red); text-decoration: none; }
.ah-card__desc { font: 400 15px/22px "Lato", sans-serif; color: var(--ah-n700); margin: 0 0 24px; flex: 1; }
.ah-card__foot { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--ah-n200); }
.ah-card[data-state="done"] { opacity: .72; }

.ah-countdown { display: flex; flex-direction: column; }
.ah-countdown[hidden], .ah-live[hidden] { display: none; }
.ah-countdown__label { font: 400 11px/14px "Lato", sans-serif; text-transform: uppercase; letter-spacing: .003em; color: var(--ah-n500); }
.ah-countdown__value { display: flex; align-items: baseline; gap: 6px; }
.ah-countdown__n { font: 400 28px/30px "Lato", sans-serif; color: var(--ah-red); display: inline-block; animation: ah-tick 2s var(--ah-ease) infinite; }
.ah-countdown__u { font: 400 14px/16px "Lato", sans-serif; color: var(--ah-n500); }
.ah-live { display: inline-flex; align-items: center; gap: 8px; font: 700 14px/1 "Lato", sans-serif; color: var(--ah-red); }
.ah-live__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ah-red); animation: ah-pulse 1.6s infinite; }

a.ah-btn, .ah-btn {
	margin-left: auto; height: 40px; padding: 0 18px; border-radius: 100px; display: inline-flex; align-items: center; gap: 8px;
	font: 700 14px/1 "Lato", sans-serif; white-space: nowrap; cursor: pointer; text-decoration: none;
	background: var(--ah-red); color: #fff; border: 1px solid var(--ah-red);
	transition: background .2s var(--ah-ease), border-color .2s var(--ah-ease), color .2s var(--ah-ease);
}
a.ah-btn:hover { background: var(--ah-red-hover); border-color: var(--ah-red-hover); color: #fff; text-decoration: none; }
a.ah-btn:active { background: var(--ah-red-press); border-color: var(--ah-red-press); }
a.ah-btn--outline { background: #fff; color: var(--ah-red); }

.ah-empty { background: #fff; border-radius: 20px; padding: 48px; text-align: center; font: 400 16px/24px "Lato", sans-serif; color: var(--ah-n500); margin: 0; }
.ah-empty[hidden] { display: none; }
.ah-agenda__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 16px; }
.ah-dots { display: flex; gap: 8px; }
.ah-dot { height: 8px; width: 8px; padding: 0; border: 0; border-radius: 4px; background: var(--ah-n300); cursor: pointer; transition: all .3s var(--ah-ease); }
.ah-dot.is-active { width: 32px; background: var(--ah-red); }
a.ah-more { font: 700 16px/24px "Lato", sans-serif; display: inline-flex; align-items: center; gap: 8px; margin-left: auto; }

@keyframes ah-tick { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes ah-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(179, 29, 21, .5); } 70% { box-shadow: 0 0 0 8px rgba(179, 29, 21, 0); } }

/* ==========================================================================
   EMPRESAS QUE CONFÍAN
   ========================================================================== */
.ah-empresas { background: #fff; padding-top: 56px; padding-bottom: 64px; }
.ah-empresas__title { font-size: 32px; line-height: 1.2; font-weight: 300; margin-bottom: 16px !important; }
.ah-empresas__text { font-size: 13px; line-height: 20px; font-weight: 300; max-width: 700px; }
.ah-logos { margin: 32px 0 0 !important; border-radius: 16px; overflow: hidden; }
.ah-logos img { display: block; width: 100%; height: auto; }

/* ==========================================================================
   RED BAND
   ========================================================================== */
.ah-red { position: relative; overflow: hidden; color: #fff; padding-top: 72px; padding-bottom: 64px; background: linear-gradient(135deg, #B31D15 0%, #C41E16 55%, #E0231A 100%); }
.ah-red__map { position: absolute !important; right: 0; top: 0; bottom: 0; width: 48%; opacity: .9; margin: 0 !important; }
.ah-red__map img { width: 100%; height: 100%; object-fit: contain; object-position: right center; }
.ah-red__body { position: relative; max-width: 640px; margin-left: 0 !important; }
.ah-red__title { font-size: 30px; line-height: 1.2; font-weight: 300; color: #fff !important; margin-bottom: 24px !important; text-wrap: pretty; }
.ah-red__text { font-size: 12px; line-height: 18px; color: #fff !important; margin-bottom: 24px !important; }
.ah-red .ah-red__links { gap: 12px; margin-bottom: 40px !important; }
.ah-red .ah-red__links .wp-block-button__link { padding: 8px 16px; font-size: 12px; }
.ah-stats { display: grid; grid-template-columns: repeat(3, 110px); column-gap: 48px; row-gap: 24px; }
.ah-stat { text-align: center; margin: 0 !important; }
.ah-stat > * { margin: 0 !important; }
.ah-stat__value { display: flex; align-items: baseline; justify-content: center; gap: 4px; font-size: 56px; line-height: 1; font-weight: 100; color: #fff !important; }
.ah-stat__prefix { font-size: 24px; font-weight: 300; }
.ah-stat__label { font-size: 10px; line-height: 12px; color: #fff !important; margin-top: 6px !important; }

/* ==========================================================================
   REDES / REELS
   ========================================================================== */
.ah-redes { background: #fff; padding-top: 72px; padding-bottom: 0; }
.ah-redes__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 28px !important; }
.ah-redes__title { font-size: 32px; line-height: 40px; font-weight: 300; text-wrap: balance; margin: 0 !important; }
.ah-redes__title strong { font-weight: 700; }
.ah-redes__actions { display: flex; align-items: center; gap: 8px; margin: 0 !important; }
.ah-social.wp-block-social-links { gap: 8px; margin: 0; }
.ah-social .wp-social-link { background: transparent !important; border: 1px solid var(--ah-n300); border-radius: 50%; transition: all .2s var(--ah-ease); }
.ah-social .wp-social-link a { padding: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: var(--ah-n900) !important; }
.ah-social .wp-social-link:hover { background: var(--ah-red) !important; border-color: var(--ah-red); }
.ah-social .wp-social-link:hover a { color: #fff !important; }
.ah-redes__actions .wp-block-buttons { margin: 0 0 0 8px !important; }
.ah-redes__actions .wp-block-button__link { height: 40px; display: inline-flex; align-items: center; padding: 0 18px; font-weight: 700; font-size: 14px; }

.ah-reels { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 0 16px; scrollbar-width: none; margin: 0 !important; }
.ah-reels::-webkit-scrollbar { display: none; }
.ah-reel.wp-block-cover {
	flex: 1 0 150px; max-width: 220px; aspect-ratio: 9 / 16; min-height: 0; scroll-snap-align: start; padding: 14px;
	border-radius: 16px; overflow: hidden; background: var(--ah-n900); align-items: flex-end;
	transition: transform .3s var(--ah-ease), box-shadow .3s var(--ah-ease);
}
.ah-reel.wp-block-cover:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(0, 0, 0, .18); }
.ah-reel.wp-block-cover::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(29, 29, 24, 0) 55%, rgba(29, 29, 24, .85) 100%); }
.ah-reel .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; }
.ah-reel__caption { font-size: 13px; line-height: 18px; font-weight: 700; color: #fff !important; margin: 0 !important; }

/* ==========================================================================
   EVENTOS (listado)
   ========================================================================== */
.ah-eventos-section { background: #fff; padding-top: 72px; padding-bottom: 64px; }
.ah-eventos-section__title { font-size: 30px; line-height: 1.25; font-weight: 300; text-align: center; max-width: 760px; margin: 0 auto 16px !important; text-wrap: pretty; }
.ah-eventos-section__text { font-size: 12px; line-height: 19px; font-weight: 300; text-align: center; max-width: 720px; margin: 0 auto 32px !important; }
.ah-eventos { font-family: "Lato", sans-serif; }
.ah-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 32px; align-items: center; padding: 14px 16px; border-top: 1px solid var(--ah-n200); }
.ah-row:last-child { border-bottom: 1px solid var(--ah-n200); }
a.ah-row__title { font-size: 15px; line-height: 20px; font-weight: 300; color: var(--ah-n900); }
a.ah-row__title:hover { color: var(--ah-red); text-decoration: none; }
.ah-row__date, .ah-row__mode { font-size: 12px; line-height: 1; font-weight: 300; color: var(--ah-n700); white-space: nowrap; }
.ah-row__mode { margin-right: 60px; }
a.ah-row__cta {
	display: inline-flex; align-items: center; gap: 6px; background: var(--ah-red); color: #fff; border-radius: 100px;
	padding: 6px 12px; font-size: 11px; line-height: 1; font-weight: 400; white-space: nowrap; text-decoration: none;
}
a.ah-row__cta:hover { background: var(--ah-red-hover); color: #fff; text-decoration: none; }
.ah-row__cta .ah-arrow { width: 9px; height: 9px; }

/* ==========================================================================
   ACRÓPOLIS
   ========================================================================== */
.ah-acropolis { background: linear-gradient(180deg, var(--ah-n100) 0%, #fff 100%); padding-top: 72px; padding-bottom: 64px; }
.ah-acropolis__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 48px; align-items: center; margin: 0 !important; }
.ah-acropolis__grid > * { margin: 0 !important; }
.ah-acropolis__img { justify-self: center; max-width: 420px; }
.ah-acropolis__img img { width: 100%; height: auto; display: block; }
.ah-acropolis__title { font-size: 30px; line-height: 1.2; font-weight: 300; margin-bottom: 16px !important; }
.ah-acropolis__text { font-size: 12px; line-height: 19px; font-weight: 300; margin-bottom: 20px !important; }
.ah-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0 !important; margin: 0 !important; }
.ah-chips li { border: 1px solid var(--ah-n300); border-radius: 100px; padding: 6px 12px; font-size: 11px; line-height: 1; font-weight: 300; color: var(--ah-n700); background: #fff; margin: 0; }

/* ==========================================================================
   NEWSLETTER
   ========================================================================== */
.ah-newsletter { background: #fff; padding-top: 56px; padding-bottom: 48px; }
.ah-newsletter__box { border: 1px solid var(--ah-n200); border-radius: 16px; background: var(--ah-n100); padding: 24px 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 48px; margin: 0 !important; }
.ah-newsletter__box > * { margin: 0 !important; }
.ah-newsletter__title { font-size: 18px; line-height: 22px; font-weight: 400; color: var(--ah-red); }
.ah-newsletter__text { font-size: 12px; line-height: 16px; font-weight: 300; color: var(--ah-n700); }
.ah-newsletter__box .wp-block-button__link { padding: 10px 24px; }

/* ==========================================================================
   MAGAZINE (query loop)
   ========================================================================== */
.ah-magazine { background: #fff; padding-top: 24px; padding-bottom: 48px; }
.ah-magazine__title { font-size: 32px; line-height: 1.2; font-weight: 300; text-align: center; margin-bottom: 12px !important; }
.ah-magazine__text { font-size: 15px; line-height: 20px; font-weight: 300; text-align: center; margin-bottom: 40px !important; }
.ah-magazine__more { text-align: right; font-size: 12px; line-height: 1; font-weight: 300; margin-bottom: 16px !important; }
.ah-magazine__more a { color: var(--ah-n700); }
.ah-mag .wp-block-post-template { gap: var(--ah-gap); }
.ah-art { border: 1px solid var(--ah-n200); border-radius: 16px; overflow: hidden; background: #fff; display: flex; flex-direction: column; height: 100%; transition: box-shadow .2s var(--ah-ease); }
.ah-art:hover { box-shadow: var(--ah-shadow-hover); }
.ah-art .wp-block-post-featured-image { margin: 0; height: 170px; background: var(--ah-n100); }
.ah-art .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ah-art__body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.ah-art__body > * { margin: 0 !important; }
.ah-art__body .wp-block-post-title { font-size: 16px; line-height: 22px; font-weight: 400; margin-bottom: 12px !important; }
.ah-art__body .wp-block-post-title a { color: var(--ah-n900); }
.ah-art__body .wp-block-post-excerpt { flex: 1; margin-bottom: 24px !important; }
.ah-art__body .wp-block-post-excerpt__excerpt { font-size: 12px; line-height: 18px; font-weight: 300; color: var(--ah-n700); margin: 0; }
.ah-art__body .wp-block-read-more {
	align-self: flex-start; background: var(--ah-red); color: #fff !important; border-radius: 100px; padding: 9px 20px;
	font: 400 13px/1 "Lato", sans-serif; text-decoration: none !important;
}
.ah-art__body .wp-block-read-more:hover { background: var(--ah-red-hover); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.ah-agenda { --ah-per: 3; }
}
@media (max-width: 800px) {
	.ah-agenda { --ah-per: 2; }
}
@media (max-width: 780px) {
	.ah-hero__title { font-size: 34px; }
	.ah-card-cover__text { width: 60%; }
	.ah-red__map { display: none; }
	.ah-stats { grid-template-columns: repeat(3, 1fr); column-gap: 16px; }
	.ah-stat__value { font-size: 44px; }
	.ah-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; }
	.ah-row__title { grid-column: 1 / -1; }
	.ah-row__mode { margin-right: 0; }
	.ah-row__cta { grid-column: 2; grid-row: 2; }
}
@media (max-width: 620px) {
	.ah-agenda { --ah-per: 1; }
	.ah-agenda-section__title { font-size: 28px; line-height: 32px; }
	.ah-redes__title { font-size: 26px; line-height: 32px; }
	.ah-newsletter__box { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.ah-track, .ah-card, .ah-reel.wp-block-cover { transition: none; }
	.ah-countdown__n, .ah-live__dot { animation: none; }
}

/* ==========================================================================
   ANIMACIONES DE CARD (CLAUDE.md del diseño: "conservar siempre")
   - entrada escalonada `rise` (.6s, 90ms x índice)
   - hover: elevación -8px + tilt 3D (±6°) según el mouse + sombra grande
   - hover: la foto del endpoint se revela en círculo cubriendo toda la card
   - card finalizada: opacidad .72
   La foto es siempre image_url del endpoint; sin foto no hay revelado.
   ========================================================================== */
.ah-card {
	position: relative;
	transform: perspective(900px) translateY(0) rotateX(0) rotateY(0);
	transition: transform .25s var(--ah-ease), box-shadow .3s var(--ah-ease), opacity .3s var(--ah-ease);
	will-change: transform;
}
/* capas: foto(0) < revelado(1) < velo(2) < textos(3). El media NO crea stacking context para que tags/fecha queden sobre el revelado. */
.ah-card > .ah-card__media { position: relative; z-index: auto; }
.ah-card > .ah-card__body { position: relative; z-index: 3; }
.ah-card__tags, .ah-card__date { z-index: 3; }
.ah-card:hover {
	transform: perspective(900px) translateY(-8px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
	box-shadow: 0 24px 48px rgba(0, 0, 0, .18);
}

/* revelado circular */
.ah-card__reveal {
	position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none;
	clip-path: circle(0 at var(--mx, 85%) var(--my, 15%));
	transition: clip-path .7s var(--ah-ease);
}
.ah-card.has-img::before {
	content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: rgba(29, 29, 24, .66);
	clip-path: circle(0 at var(--mx, 85%) var(--my, 15%));
	transition: clip-path .7s var(--ah-ease);
}
.ah-card.has-img:hover .ah-card__reveal,
.ah-card.has-img:hover::before { clip-path: circle(150% at var(--mx, 85%) var(--my, 15%)); }
.ah-card.has-img .ah-card__meta,
.ah-card.has-img .ah-card__title a,
.ah-card.has-img .ah-card__desc,
.ah-card.has-img .ah-countdown__label,
.ah-card.has-img .ah-countdown__u,
.ah-card.has-img .ah-card__foot { transition: color .4s var(--ah-ease) .15s, border-color .4s var(--ah-ease) .15s; }
.ah-card.has-img:hover .ah-card__meta,
.ah-card.has-img:hover .ah-card__title a,
.ah-card.has-img:hover .ah-card__desc,
.ah-card.has-img:hover .ah-countdown__label,
.ah-card.has-img:hover .ah-countdown__u,
.ah-card.has-img:hover .ah-countdown__n,
.ah-card.has-img:hover .ah-live { color: #fff; }
.ah-card.has-img:hover .ah-card__foot { border-color: rgba(255, 255, 255, .3); }
.ah-card.has-img:hover .ah-live__dot { background: #fff; }
.ah-card.has-img:hover a.ah-btn { background: #fff; color: var(--ah-red); border-color: #fff; }

.ah-card[data-state="done"] { opacity: .72; }

/* entrada escalonada (solo en la grilla; --i lo pone el servidor) */
.ah-grid .ah-card { animation: ah-rise .6s var(--ah-ease) backwards; animation-delay: calc(var(--i, 0) * 90ms); }
@keyframes ah-rise { from { opacity: 0; transform: perspective(900px) translateY(28px); } }

/* ---------- grilla + filtros ([aden_agenda_eventos]) ---------- */
.ah-agenda-grid { font-family: "Lato", system-ui, sans-serif; }
.ah-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.ah-filters[hidden], .ah-filter[hidden] { display: none; }
.ah-filter {
	border-radius: 20px; padding: 8px 16px; cursor: pointer; font: 400 14px/1 "Lato", sans-serif;
	background: #fff; color: var(--ah-n900); border: 1px solid var(--ah-n300);
	transition: background .2s var(--ah-ease), color .2s var(--ah-ease);
}
.ah-filter.is-active { background: var(--ah-n900); color: #fff; border-color: var(--ah-n900); }
.ah-filter__n { opacity: .65; margin-left: 4px; }
/* Cards de 321px: entran tantas columnas como quepan (3 en un contenedor de ~1100-1300px). Con menos eventos
   las cards mantienen su ancho (no se estiran) y quedan pegadas a la izquierda, con 24px entre ellas. */
.ah-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(321px, 100%), 321px)); justify-content: start; gap: var(--ah-gap); padding: 12px 0 24px; }
/* Carrusel: mismas cards de 321px (la cantidad por página la calcula home.js según el ancho del bloque). */
.ah-track > .ah-card { flex: 0 0 min(321px, 100%); }
.ah-grid .ah-card { flex: none; width: auto; }

@media (prefers-reduced-motion: reduce) {
	.ah-grid .ah-card { animation: none; }
	.ah-card:hover { transform: none; }
	.ah-card__reveal, .ah-card.has-img::before { transition: none; }
}

/* ---------- cabecera de la agenda: título + estado (derecha) y pestañas de formato ---------- */
.ah-agenda-grid__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; margin-bottom: 24px; }
.ah-agenda-grid__title { font: 300 44px/1.15 "Lato", system-ui, sans-serif; color: var(--ah-n900); margin: 0; }
.ah-agenda-grid__head .ah-filters { margin: 0; }
.ah-filter__n { font-weight: 700; opacity: .6; margin-left: 6px; }
.ah-filter.is-active .ah-filter__n { opacity: .85; }

.ah-formats { display: flex; gap: 28px; margin-bottom: 24px; border-bottom: 1px solid var(--ah-n200); overflow-x: auto; scrollbar-width: none; }
.ah-formats::-webkit-scrollbar { display: none; }
.ah-format {
	flex: none; padding: 14px 0; margin-bottom: -1px; background: none; border: 0; border-bottom: 2px solid transparent; cursor: pointer;
	font: 400 16px/1 "Lato", system-ui, sans-serif; color: var(--ah-n500); white-space: nowrap;
	transition: color .2s var(--ah-ease), border-color .2s var(--ah-ease);
}
.ah-format:hover { color: var(--ah-n900); }
.ah-format.is-active { color: var(--ah-n900); border-bottom-color: var(--ah-red); }
.ah-agenda-grid .ah-empty { margin-top: 8px; }

@media (max-width: 620px) {
	.ah-agenda-grid__title { font-size: 32px; }
	.ah-formats { gap: 20px; }
}

/* ==========================================================================
   BANNER DEL EVENTO MÁS PRÓXIMO + CONTADOR ([aden_evento_destacado])
   ========================================================================== */
.ah-hero-ev { font-family: "Lato", system-ui, sans-serif; margin-bottom: 40px; }
.ah-hero-ev[hidden], .ah-hero-ev__item[hidden], .ah-hero-ev__count[hidden] { display: none; }
.ah-hero-ev__banner {
	position: relative; overflow: hidden; min-height: 0; border-radius: 28px; color: #fff;
	display: flex; align-items: center; padding: 34px 50px;
	background: linear-gradient(135deg, #2b2b25 0%, var(--ah-n900) 100%);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .10);
}
.ah-hero-ev__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ah-hero-ev__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(29, 29, 24, .72) 0%, rgba(29, 29, 24, .45) 55%, rgba(29, 29, 24, .25) 100%); }
.ah-hero-ev__body { position: relative; z-index: 1; width: 100%; max-width: 100%; }
.ah-hero-ev__eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; font: 700 12px/1 "Lato", sans-serif; letter-spacing: .02em; text-transform: uppercase; color: #fff; }
.ah-hero-ev__dot { width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 3px solid var(--ah-red); box-sizing: border-box; flex: none; }
.ah-hero-ev[data-live="1"] .ah-hero-ev__dot { animation: ah-pulse 1.6s infinite; }
.ah-hero-ev__sep { opacity: .9; }
.ah-hero-ev__title { font: 300 clamp(22px, 2vw, 28px)/1.2 "Lato", system-ui, sans-serif; color: #fff; margin: 0 0 12px; text-wrap: pretty; }
.ah-hero-ev__meta { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 18px; font: 400 16px/1.3 "Lato", sans-serif; color: #fff; }
.ah-hero-ev__meta span { display: inline-flex; align-items: center; gap: 8px; }
.ah-hero-ev__meta svg { flex: none; width: 16px; height: 16px; }
.ah-hero-ev a.ah-btn.ah-hero-ev__cta { margin-left: 0; height: 44px; padding: 0 22px; font-size: 15px; }

.ah-hero-ev__count {
	display: flex; justify-content: center; gap: 10px; margin-top: 24px; padding: 30px 16px;
	background: #fff; border-radius: 28px; box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}
.ah-hero-ev__box {
	width: 90px; height: 90px; border-radius: 18px; border: 1px solid var(--ah-n200); background: var(--ah-n50);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
}
.ah-hero-ev__n { font: 700 34px/1 "Lato", sans-serif; color: var(--ah-red); font-variant-numeric: tabular-nums; }
.ah-hero-ev__u { font: 400 13px/1 "Lato", sans-serif; color: var(--ah-n500); text-transform: uppercase; }

@media (max-width: 780px) {
	.ah-hero-ev__banner { padding: 26px 24px; border-radius: 22px; }
	.ah-hero-ev__meta { font-size: 15px; gap: 8px 20px; }
	.ah-hero-ev__count { padding: 20px 12px; border-radius: 22px; gap: 8px; }
	.ah-hero-ev__box { width: 72px; height: 76px; border-radius: 14px; }
	.ah-hero-ev__n { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .ah-hero-ev[data-live="1"] .ah-hero-ev__dot { animation: none; } }

/* ==========================================================================
   CARD DE EVENTO: imagen + chip de estado / formato · modalidad / título / fecha y lugar / cuenta + botón.
   Sin descripción. Solo aplica a data-type="evento" (las cards de noticia conservan su diseño).
   ========================================================================== */
.ah-card[data-type="evento"] .ah-card__body { padding: 22px 24px 24px; }
.ah-card__kicker { font: 700 11px/16px "Lato", sans-serif; letter-spacing: .01em; text-transform: uppercase; color: var(--ah-n500); margin: 0 0 8px; }
.ah-card[data-type="evento"] .ah-card__title { font: 300 22px/28px "Lato", sans-serif; margin: 0 0 20px; }
.ah-card[data-type="evento"] .ah-card__title a { color: var(--ah-red); }
.ah-card[data-type="evento"] .ah-card__title a:hover { color: var(--ah-red-hover); }
.ah-card__info { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding-top: 16px; margin-bottom: 20px; border-top: 1px solid var(--ah-n200); }
.ah-card__row { display: flex; align-items: center; gap: 10px; margin: 0; font: 400 14px/20px "Lato", sans-serif; color: var(--ah-n900); }
.ah-card__ico { flex: none; color: var(--ah-red); }
.ah-card__dot { flex: none; margin-left: auto; width: 8px; height: 8px; border-radius: 50%; background: var(--ah-red); }
.ah-card[data-state="open"] .ah-card__dot { background: var(--ah-green); }
.ah-card[data-state="last"] .ah-card__dot { background: var(--ah-yellow); }
.ah-card[data-state="upcoming"] .ah-card__dot, .ah-card[data-state="done"] .ah-card__dot { background: var(--ah-n400); }
.ah-card[data-type="evento"] .ah-card__foot { padding-top: 0; border-top: 0; }
/* Botones del pie del carrusel: "Ir a la agenda" (rojo) e "Ir al magazine" (borde rojo), a la derecha del paginador. */
.ah-agenda__foot { flex-wrap: wrap; }
.ah-agenda__cta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px; margin-left: auto; }
a.ah-btn.ah-btn--cta { margin-left: 0; height: 44px; padding: 0 24px; font-size: 15px; font-weight: 400; }
a.ah-btn.ah-btn--cta.ah-btn--outline { background: transparent; color: var(--ah-red); border-color: var(--ah-red); }
a.ah-btn.ah-btn--cta.ah-btn--outline:hover { background: var(--ah-red); color: #fff; border-color: var(--ah-red); }
/* Eventos sin formato propio (pestaña "General"): etiqueta amarilla arriba a la izquierda de la imagen. */
.ah-tag--general { background: var(--ah-yellow); color: var(--ah-n900); }
/* Que nada se salga de la card en anchos chicos (carrusel de 4, móvil). */
.ah-card__tags { max-width: calc(100% - 32px); }
.ah-card__tags .ah-chip { max-width: 100%; }
.ah-card__title { overflow-wrap: anywhere; }
.ah-card__kicker { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ah-card[data-type="evento"] .ah-countdown__label { display: none; }
.ah-card.has-img .ah-card__kicker, .ah-card.has-img .ah-card__row, .ah-card.has-img .ah-card__ico, .ah-card.has-img .ah-card__info { transition: color .4s var(--ah-ease) .15s, border-color .4s var(--ah-ease) .15s; }
.ah-card.has-img:hover .ah-card__kicker, .ah-card.has-img:hover .ah-card__row, .ah-card.has-img:hover .ah-card__ico { color: #fff; }
.ah-card.has-img:hover .ah-card__info { border-color: rgba(255, 255, 255, .3); }

/* ==========================================================================
   ANCHO Y PADDING
   Los componentes NO fijan ancho, margen ni padding: los define el bloque que los contiene
   (contenedor de Spectra: ancho de contenido, padding, márgenes), igual que cualquier otro contenido.
   Única salvaguarda: el carrusel lleva 12px de aire a cada lado para la sombra de las cards (margen
   negativo en .ah-viewport); si el bloque no tiene padding, ese aire no debe generar scroll horizontal.
   ========================================================================== */
.ah-agenda { overflow-x: clip; overflow-clip-margin: 12px; }

/* Ocupan el 100% del ancho que les deja el bloque de Spectra (también si el contenedor es flex en fila,
   donde un hijo sin ancho se encoge al contenido). Sin margen ni padding propios en horizontal. */
.ah-agenda,
.ah-agenda-page,
.ah-agenda-grid,
.ah-eventos,
.ah-hero-ev { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
/* Si el contenedor de Spectra se ajusta al contenido y centra (flex con align-items:center, o ancho automático),
   "100%" no alcanza: el ancho del padre sale de lo que hay adentro y todo queda angosto y centrado. Con 100vw el
   componente pide todo el ancho disponible y max-width:100% lo limita al del padre (que ya queda completo). */
.ah-agenda-page,
.ah-agenda { width: 100vw; }
