/*
 * LatinosBE Eventos · «El Muro de Bélgica» (plan §14). Only the theme's tokens (lbe-core.css); the value after each
 * comma is a fallback. Built from the approved prototype (docs/eventos/bocetos/eventos.css, 30/10/2026).
 */

/* ---------- Página e introducción compacta ---------- */
.ev-main { background: var(--c-mist, #f6f8fa); }
.ev-wrap { width: min(100% - 2 * clamp(12px, 3vw, 32px), 1680px); margin-inline: auto; }
.ev-sr { position: absolute !important; top: 0 !important; left: 0 !important; width: 1px !important; height: 1px !important; min-width: 0 !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.ev-heading { position: relative; overflow: hidden; padding-block: clamp(14px, 2.6vw, 34px) clamp(16px, 2.4vw, 30px); background: radial-gradient(90% 120% at 100% 0%, rgba(23, 107, 118, .6) 0%, rgba(23, 107, 118, 0) 60%), linear-gradient(160deg, var(--c-deep, #153c59) 0%, #0e2c43 100%); color: #fff; }
.ev-heading::before { content: ""; position: absolute; right: -120px; top: -140px; width: 380px; height: 380px; border: 48px solid rgba(235, 173, 23, .13); border-radius: 50%; pointer-events: none; }
.ev-heading .site-wrap { position: relative; z-index: 1; }
.ev-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 10px; font-size: var(--t-small, .875rem); color: rgba(255, 255, 255, .82); }
.ev-breadcrumb a { color: rgba(255, 255, 255, .9); }
.ev-breadcrumb a:focus-visible, .ev-heading a:focus-visible { outline: 3px solid var(--c-gold, #ebad17); outline-offset: 3px; }
.ev-heading__row { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 24px; }
.ev-heading h1 { margin: 0; color: #fff; font-size: clamp(1.5rem, 1.1rem + 2.2vw, 2.6rem); line-height: 1.08; }
.ev-heading p { margin: 6px 0 0; max-width: 60ch; color: rgba(255, 255, 255, .88); font-size: clamp(.9rem, .86rem + .25vw, 1.0625rem); line-height: 1.4; text-align: left; }
.ev-heading__cta { flex: none; }
@media (max-width: 599px) {
  .ev-breadcrumb { margin-bottom: 6px; font-size: .8125rem; }
  .ev-heading__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "t c" "l l"; align-items: center; gap: 2px 10px; }
  .ev-heading__text { display: contents; }
  .ev-heading h1 { grid-area: t; }
  .ev-heading p { grid-area: l; }
  .ev-heading__cta { grid-area: c; }
  .ev-heading__cta .btn { min-height: 44px; padding: 8px 14px; font-size: .9375rem; }
  .ev-cta-long { display: none; }
  .ev-search-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ev-tools { gap: 8px; padding-block: 10px 2px; }
  .ev-months ul { padding-bottom: 4px; }
  .ev-filters { padding: 8px; border-radius: 16px; }
  .ev-results { padding: 6px 2px 8px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .ev-heading { padding-block: 10px 12px; }
  .ev-breadcrumb, .ev-heading p { display: none; }
  .ev-tools { padding-block: 8px 0; gap: 6px; }
  .ev-search-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ev-filters { padding: 6px; }
}
.ev-preview-note { margin-top: 12px; margin-bottom: 0; padding: 10px 14px; border: 1px solid var(--c-gold-200, #f6da8e); border-radius: 12px; background: var(--c-gold-50, #fdf6e3); color: var(--c-gold-ink, #7a5605); font-weight: 650; font-size: .9375rem; }
.ev-card__noimg { display: grid; place-items: center; aspect-ratio: 4 / 5; padding: 12px; background: var(--c-sunken, #eef2f5); color: var(--c-ink, #14243a); font-weight: 750; text-align: center; }
.ev-description p { margin: 0 0 12px; }
.ev-cancel-note { justify-self: start; }
.ev-loadmore__n { font-weight: 600; opacity: .8; }

/* ---------- Meses ---------- */
.ev-tools { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding-block: 14px 6px; }
.ev-months { position: relative; min-width: 0; }
.ev-months ul { display: flex; gap: 8px; margin: 0; padding: 4px 4px 8px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--c-line-strong, #c4cfd8) transparent; }
.ev-month { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 16px; border: 1.5px solid var(--c-line-strong, #c4cfd8); border-radius: var(--r-pill, 999px); background: var(--c-white, #fff); color: var(--c-ink, #14243a); font: 650 .9375rem/1.1 var(--f-text, Manrope, sans-serif); text-decoration: none; white-space: nowrap; scroll-snap-align: start; transition: background-color var(--dur-2, 200ms) ease, border-color var(--dur-2, 200ms) ease; }
.ev-month small { font-weight: 600; color: var(--c-text-3, #5b6b7d); }
.ev-month:hover { border-color: var(--c-ink, #14243a); }
.ev-month[aria-current="true"] { background: var(--c-ink, #14243a); border-color: var(--c-ink, #14243a); color: #fff; }
.ev-month[aria-current="true"] small { color: var(--c-on-deep-2, #c9d6e0); }
.ev-month--year { border-style: dashed; color: var(--c-teal-700, #105a63); }
.ev-month:focus-visible { outline: 3px solid var(--c-ink, #14243a); outline-offset: 2px; }

/* ---------- Buscador y filtros ---------- */
.ev-filters { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 10px; border: 1px solid var(--c-line, #dce3e9); border-radius: var(--r-l, 20px); background: var(--c-white, #fff); box-shadow: var(--e-1, 0 1px 2px rgba(20, 36, 58, .06)); }
.ev-field { display: grid; gap: 4px; min-width: 0; }
.ev-field > span { font: 650 .8125rem/1.2 var(--f-text, Manrope, sans-serif); color: var(--c-text-2, #44566a); }
.ev-input, .ev-select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1.5px solid var(--c-border, #7d8c99); border-radius: var(--r-m, 12px); background: var(--c-white, #fff); color: var(--c-ink, #14243a); font: 500 16px/1.3 var(--f-text, Manrope, sans-serif); }
.ev-input:focus-visible, .ev-select:focus-visible { outline: 3px solid var(--c-ink, #14243a); outline-offset: 2px; }
.ev-search { position: relative; }
.ev-filters .ev-search input.ev-input { padding-left: 42px; }
.ev-search svg { position: absolute; left: 13px; bottom: 14px; width: 20px; height: 20px; color: var(--c-text-3, #5b6b7d); pointer-events: none; }
.ev-more-btn { align-self: end; }
.ev-more { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.js .ev-more[hidden] { display: none; }
.ev-more .ev-actions { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; }
.ev-count-badge { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--c-gold, #ebad17); color: var(--c-ink, #14243a); font-size: .75rem; font-weight: 800; }
@media (min-width: 960px) {
  .ev-filters { grid-template-columns: minmax(220px, 1.5fr) minmax(0, 3.6fr); align-items: end; padding: 12px; }
  .ev-more-btn { display: none !important; }
  .ev-more, .js .ev-more[hidden] { display: grid; grid-column: auto; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; }
  .ev-more .ev-actions { grid-column: auto; }
}

/* ---------- Resultados ---------- */
.ev-results { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 2px 12px; }
.ev-results h2 { margin: 0; font: 750 1.0625rem/1.2 var(--f-text, Manrope, sans-serif); letter-spacing: 0; }
.ev-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ev-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 6px 4px 12px; border: 1px solid var(--c-teal-100, #cfe6e8); border-radius: 999px; background: var(--c-teal-50, #e7f2f3); color: var(--c-teal-700, #105a63); font: 650 .875rem/1 var(--f-text, Manrope, sans-serif); cursor: pointer; }
.ev-chip svg { width: 16px; height: 16px; }
.ev-chip:focus-visible { outline: 3px solid var(--c-ink, #14243a); outline-offset: 2px; }

/* ---------- El muro ---------- */
.ev-wall { container: ev / inline-size; padding: clamp(8px, 1.4vw, 16px); border-radius: var(--r-l, 20px); background-color: var(--c-sunken, #eef2f5); background-image: radial-gradient(rgba(20, 36, 58, .045) 1px, transparent 1.2px); background-size: 7px 7px; }
.ev-grid {
  --cols: 2; --gap: 6px;
  --colw: calc((100cqi - (var(--cols) - 1) * var(--gap)) / var(--cols));
  display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); column-gap: var(--gap); row-gap: 0;
  grid-auto-rows: calc(var(--colw) / 40); /* La altura de cada tarjeta = span de filas, calculado en el servidor con la proporción del flyer: el orden visual sigue al DOM. */
  margin: 0; padding: 0; list-style: none;
}
@container ev (min-width: 470px) { .ev-grid { --cols: 3; --gap: 8px; } }
@container ev (min-width: 880px) { .ev-grid { --cols: 4; } }
@container ev (min-width: 1120px) { .ev-grid { --cols: 5; } }
@container ev (min-width: 1400px) { .ev-grid { --cols: 6; } }
.ev-card { min-width: 0; }
.ev-card__link { display: block; color: inherit; text-decoration: none; border-radius: 6px; -webkit-tap-highlight-color: transparent; }
.ev-card__link:focus-visible { outline: 3px solid var(--c-ink, #14243a); outline-offset: 3px; }
.ev-card__flyer { position: relative; display: block; overflow: hidden; border-radius: 6px; background: #dfe5ea; box-shadow: 0 1px 2px rgba(20, 36, 58, .12), 0 8px 18px -12px rgba(20, 36, 58, .45); transition: transform var(--dur-2, 200ms) var(--ease-out, ease), box-shadow var(--dur-3, 320ms) var(--ease-out, ease); }
.ev-card__flyer img { display: block; width: 100%; height: auto; max-height: calc(var(--colw) * 1.6); object-fit: contain; }
.ev-card__cap { display: block; height: calc(var(--colw) * .15); padding-top: calc(var(--colw) * .03); overflow: hidden; color: var(--c-text-2, #44566a); font: 650 clamp(.75rem, calc(var(--colw) * .068), .875rem)/1.25 var(--f-text, Manrope, sans-serif); white-space: nowrap; text-overflow: ellipsis; }
.ev-wall[data-caption="off"] .ev-card__cap { display: none; }
.ev-badge { position: absolute; z-index: 2; top: 6px; left: 6px; display: inline-flex; align-items: center; min-height: 24px; padding: 4px 9px; border-radius: 999px; background: #fff; color: var(--c-ink, #14243a); font: 750 .75rem/1 var(--f-text, Manrope, sans-serif); box-shadow: 0 1px 3px rgba(20, 36, 58, .25); }
.ev-badge--live { background: var(--c-gold, #ebad17); }
.ev-badge--cancel { background: var(--c-red-50, #fbedee); color: var(--c-red-700, #8f2329); }
.ev-badge--promo { background: var(--c-teal-50, #e7f2f3); color: var(--c-teal-700, #105a63); }
.ev-card__veil { position: absolute; z-index: 1; inset: auto 0 0 0; display: grid; gap: 3px; padding: 12px 12px 11px; background: linear-gradient(180deg, rgba(20, 36, 58, .86), rgba(20, 36, 58, .95)); color: #fff; font: 600 .8125rem/1.35 var(--f-text, Manrope, sans-serif); transform: translateY(101%); transition: transform var(--dur-3, 320ms) var(--ease-out, ease); }
.ev-card__veil strong { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font: 750 clamp(.95rem, calc(var(--colw) * .072), 1.125rem)/1.15 var(--f-display, sans-serif); letter-spacing: -.01em; }
.ev-card__veil span { color: var(--c-on-deep-2, #c9d6e0); }
.ev-card__veil em { margin-top: 4px; font-style: normal; font-weight: 750; color: var(--c-gold, #ebad17); }
.ev-card__link:focus-visible .ev-card__veil { transform: none; }
@media (hover: hover) and (pointer: fine) {
  .ev-card__link:hover .ev-card__veil { transform: none; }
  .ev-card__link:hover .ev-card__flyer { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(20, 36, 58, .12), 0 16px 30px -14px rgba(20, 36, 58, .5); }
}
.ev-loadmore { display: grid; justify-items: center; gap: 8px; padding: 20px 0 8px; }
.ev-empty { display: grid; justify-items: start; gap: 10px; padding: 28px 20px; border-radius: var(--r-l, 20px); background: var(--c-white, #fff); }
.ev-empty h3 { margin: 0; font-size: 1.125rem; }
.ev-note { margin: 18px 0 40px; color: var(--c-text-3, #5b6b7d); font-size: .875rem; }

/* ---------- Panel de detalles (<dialog>) ---------- */
html:has(.ev-panel[open]) { overflow: hidden; }
.ev-panel { width: min(980px, calc(100vw - 32px)); max-width: none; max-height: min(88dvh, 840px); margin: auto; padding: 0; border: 0; border-radius: var(--r-l, 20px); background: var(--c-white, #fff); color: var(--c-ink, #14243a); box-shadow: var(--e-3, 0 28px 64px -28px rgba(20, 36, 58, .38)); overflow: hidden; overscroll-behavior: contain; }
.ev-panel::backdrop { background: rgba(20, 36, 58, .64); }
.ev-panel[open] { animation: ev-in var(--dur-3, 320ms) var(--ease-out, ease) both; }
@keyframes ev-in { from { transform: translateY(14px) scale(.985); } } /* Solo movimiento: si la animación no corre, el panel sigue siendo opaco. */
.ev-panel__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); max-height: inherit; }
.ev-panel__media { display: grid; place-items: center; min-height: 0; padding: 22px; overflow: auto; background: var(--c-sunken, #eef2f5); }
.ev-panel__media img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(min(88dvh, 840px) - 44px); border-radius: 6px; box-shadow: var(--e-2, 0 12px 32px -14px rgba(20, 36, 58, .25)); }
.ev-panel__body { position: relative; min-height: 0; overflow: auto; padding: 22px 26px 26px; }
.ev-panel__close { position: absolute; top: 12px; right: 12px; z-index: 3; display: grid; place-items: center; width: 44px; height: 44px; margin: 0; border: 1.5px solid var(--c-line-strong, #c4cfd8); border-radius: 999px; background: var(--c-white, #fff); color: var(--c-ink, #14243a); cursor: pointer; }
.ev-panel__close:hover { border-color: var(--c-ink, #14243a); }
.ev-panel__close:focus-visible { outline: 3px solid var(--c-ink, #14243a); outline-offset: 2px; }
.ev-panel__close svg { width: 20px; height: 20px; }
.ev-panel__grab { display: none; }
.ev-tags { display: flex; flex-wrap: wrap; gap: 6px; min-height: 26px; margin: 0 0 10px; padding-right: 52px; }
.ev-tag { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 10px; border-radius: 999px; background: var(--c-sunken, #eef2f5); color: var(--c-ink, #14243a); font: 700 .8125rem/1 var(--f-text, Manrope, sans-serif); }
.ev-tag--live { background: var(--c-gold-50, #fdf6e3); color: var(--c-gold-ink, #7a5605); }
.ev-tag--cancel { background: var(--c-red-50, #fbedee); color: var(--c-red-700, #8f2329); }
.ev-panel h2 { margin: 0 0 6px; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.9rem); line-height: 1.1; }
.ev-when { margin: 0 0 14px; font-weight: 700; color: var(--c-teal-700, #105a63); }
.ev-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 14px; margin: 0 0 18px; }
.ev-facts dt { color: var(--c-text-3, #5b6b7d); font-size: .875rem; font-weight: 650; }
.ev-facts dd { margin: 0; overflow-wrap: anywhere; }
.ev-cta { display: grid; gap: 8px; margin: 0 0 14px; }
.ev-cta .btn { width: 100%; }
.ev-ext::after { content: " ↗"; }
.ev-links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 14px; padding: 0; list-style: none; }
.ev-linkbtn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0; border: 0; background: none; color: var(--c-teal-700, #105a63); font: 700 .9375rem/1.2 var(--f-text, Manrope, sans-serif); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ev-linkbtn svg { width: 18px; height: 18px; flex: none; }
.ev-linkbtn:focus-visible { outline: 3px solid var(--c-ink, #14243a); outline-offset: 2px; border-radius: 4px; }
/* Compartir: enlaces simples, sin scripts de terceros. El punto de color es decorativo; el nombre de la red va siempre escrito. */
.ev-share { margin: 0 0 16px; }
.ev-share__title { margin: 0 0 8px; font: 750 .9375rem/1.2 var(--f-text, Manrope, sans-serif); letter-spacing: 0; }
.ev-share ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ev-share__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px; border: 1.5px solid var(--c-line-strong, #c4cfd8); border-radius: 999px; background: var(--c-white, #fff); color: var(--c-ink, #14243a); font: 700 .875rem/1 var(--f-text, Manrope, sans-serif); text-decoration: none; cursor: pointer; transition: border-color var(--dur-2, 200ms) ease, background-color var(--dur-2, 200ms) ease; }
.ev-share__btn:hover { border-color: var(--c-ink, #14243a); background: var(--c-mist, #f6f8fa); }
.ev-share__btn:focus-visible { outline: 3px solid var(--c-ink, #14243a); outline-offset: 2px; }
.ev-share__btn svg { width: 16px; height: 16px; }
.ev-share__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--net, var(--c-teal, #176b76)); }
.ev-share__btn--wa { --net: #25d366; } .ev-share__btn--fb { --net: #1877f2; } .ev-share__btn--x { --net: #14171a; }
.ev-share__btn--tg { --net: #229ed9; } .ev-share__btn--in { --net: #0a66c2; } .ev-share__btn--mail { --net: var(--c-teal, #176b76); }
.ev-share__btn--wa { border-color: #25d366; }
.ev-desc { margin: 0 0 12px; color: var(--c-text-2, #44566a); }
.ev-report { font-size: .875rem; color: var(--c-text-3, #5b6b7d); }
@media (max-width: 719px) {
  .ev-panel { width: 100%; max-height: 92dvh; margin: auto 0 0; border-radius: 20px 20px 0 0; }
  .ev-panel[open] { animation-name: ev-sheet; }
  @keyframes ev-sheet { from { transform: translateY(40px); } }
  .ev-panel__inner { grid-template-columns: 1fr; max-height: 92dvh; overflow: auto; }
  .ev-panel__media { padding: 26px 16px 14px; overflow: visible; }
  .ev-panel__media img { max-height: 54dvh; }
  .ev-panel__body { overflow: visible; padding: 14px 16px calc(22px + env(safe-area-inset-bottom)); }
  .ev-panel__grab { display: block; position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: rgba(20, 36, 58, .25); }
  .ev-panel__close { position: absolute; top: 10px; right: 10px; margin: 0; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .ev-panel { width: calc(100vw - 24px); max-height: calc(100dvh - 16px); margin: auto; border-radius: 16px; }
  .ev-panel__inner { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); max-height: calc(100dvh - 16px); overflow: hidden; }
  .ev-panel__media { padding: 12px; overflow: auto; }
  .ev-panel__media img { max-height: calc(100dvh - 40px); }
  .ev-panel__body { overflow: auto; padding: 14px 16px 16px; }
  .ev-panel__grab { display: none; }
}

/* ---------- Página del evento ---------- */
.ev-single { display: grid; gap: clamp(20px, 4vw, 48px); padding-block: clamp(18px, 3vw, 36px) 40px; }
.ev-single__media img { display: block; width: 100%; height: auto; max-height: 82vh; object-fit: contain; border-radius: 8px; background: var(--c-sunken, #eef2f5); box-shadow: var(--e-2, 0 12px 32px -14px rgba(20, 36, 58, .25)); }
.ev-single h1 { margin: 0 0 8px; font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem); }
.ev-single h2 { margin: 26px 0 8px; font-size: clamp(1.25rem, 1.05rem + .8vw, 1.6rem); }
.ev-single .ev-cta { grid-template-columns: 1fr; max-width: 520px; }
.ev-crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; font-size: .875rem; color: var(--c-text-3, #5b6b7d); }
.ev-crumbs li + li::before { content: "/"; margin-right: 6px; }
.ev-crumbs a { color: var(--c-teal-700, #105a63); }
.ev-more-title { margin: 8px 0 12px; font-size: 1.25rem; }
@media (min-width: 880px) {
  .ev-single { grid-template-columns: minmax(300px, 5fr) 7fr; align-items: start; }
  .ev-single__media { position: sticky; top: 96px; }
  .ev-single .ev-cta { grid-template-columns: 1fr 1fr; }
}


/* Alturas de las tarjetas: filas de la retícula (lbe_ev_span(), render.php). */
.ev-s18 { grid-row-end: span 18; }
.ev-s19 { grid-row-end: span 19; }
.ev-s20 { grid-row-end: span 20; }
.ev-s21 { grid-row-end: span 21; }
.ev-s22 { grid-row-end: span 22; }
.ev-s23 { grid-row-end: span 23; }
.ev-s24 { grid-row-end: span 24; }
.ev-s25 { grid-row-end: span 25; }
.ev-s26 { grid-row-end: span 26; }
.ev-s27 { grid-row-end: span 27; }
.ev-s28 { grid-row-end: span 28; }
.ev-s29 { grid-row-end: span 29; }
.ev-s30 { grid-row-end: span 30; }
.ev-s31 { grid-row-end: span 31; }
.ev-s32 { grid-row-end: span 32; }
.ev-s33 { grid-row-end: span 33; }
.ev-s34 { grid-row-end: span 34; }
.ev-s35 { grid-row-end: span 35; }
.ev-s36 { grid-row-end: span 36; }
.ev-s37 { grid-row-end: span 37; }
.ev-s38 { grid-row-end: span 38; }
.ev-s39 { grid-row-end: span 39; }
.ev-s40 { grid-row-end: span 40; }
.ev-s41 { grid-row-end: span 41; }
.ev-s42 { grid-row-end: span 42; }
.ev-s43 { grid-row-end: span 43; }
.ev-s44 { grid-row-end: span 44; }
.ev-s45 { grid-row-end: span 45; }
.ev-s46 { grid-row-end: span 46; }
.ev-s47 { grid-row-end: span 47; }
.ev-s48 { grid-row-end: span 48; }
.ev-s49 { grid-row-end: span 49; }
.ev-s50 { grid-row-end: span 50; }
.ev-s51 { grid-row-end: span 51; }
.ev-s52 { grid-row-end: span 52; }
.ev-s53 { grid-row-end: span 53; }
.ev-s54 { grid-row-end: span 54; }
.ev-s55 { grid-row-end: span 55; }
.ev-s56 { grid-row-end: span 56; }
.ev-s57 { grid-row-end: span 57; }
.ev-s58 { grid-row-end: span 58; }
.ev-s59 { grid-row-end: span 59; }
.ev-s60 { grid-row-end: span 60; }
.ev-s61 { grid-row-end: span 61; }
.ev-s62 { grid-row-end: span 62; }
.ev-s63 { grid-row-end: span 63; }
.ev-s64 { grid-row-end: span 64; }
.ev-s65 { grid-row-end: span 65; }
.ev-s66 { grid-row-end: span 66; }
.ev-s67 { grid-row-end: span 67; }
.ev-s68 { grid-row-end: span 68; }
.ev-s69 { grid-row-end: span 69; }
.ev-s70 { grid-row-end: span 70; }
.ev-s71 { grid-row-end: span 71; }
.ev-s72 { grid-row-end: span 72; }

/* ---------- Publicar (4 pasos) ---------- */
.ev-form-wrap { width: min(100% - 2 * clamp(12px, 3vw, 32px), 860px); margin: clamp(16px, 3vw, 32px) auto 48px; }
.ev-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; counter-reset: s; }
.ev-steps li { display: grid; gap: 6px; counter-increment: s; font: 650 .8125rem/1.2 var(--f-text, Manrope, sans-serif); color: var(--c-text-3, #5b6b7d); }
.ev-steps li::before { content: ""; height: 6px; border-radius: 6px; background: var(--c-line, #dce3e9); }
.ev-steps li[aria-current="step"], .ev-steps li.is-done { color: var(--c-ink, #14243a); }
.ev-steps li[aria-current="step"]::before { background: var(--c-teal, #176b76); }
.ev-steps li.is-done::before { background: var(--c-teal-100, #cfe6e8); }
.ev-steps b { display: block; }
.ev-card-form { padding: clamp(16px, 3vw, 28px); border: 1px solid var(--c-line, #dce3e9); border-radius: var(--r-l, 20px); background: var(--c-white, #fff); box-shadow: var(--e-1, 0 1px 2px rgba(20, 36, 58, .06)); }
.ev-card-form h2 { margin: 0 0 4px; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem); }
.ev-card-form .ev-lead { margin: 0 0 18px; color: var(--c-text-2, #44566a); }
.ev-grid2 { display: grid; gap: 14px; }
@media (min-width: 640px) { .ev-grid2 { grid-template-columns: 1fr 1fr; } .ev-span2 { grid-column: 1 / -1; } }
.ev-form-field { display: grid; gap: 6px; min-width: 0; }
.ev-form-field label, .ev-form-field legend { font-weight: 700; }
.ev-help { margin: 0; color: var(--c-text-3, #5b6b7d); font-size: .875rem; }
.ev-error { margin: 0; color: var(--c-red-700, #8f2329); font-size: .875rem; font-weight: 650; }
.ev-input[aria-invalid="true"] { border-color: var(--c-red, #b32f35); }
textarea.ev-input { min-height: 140px; resize: vertical; }
fieldset.ev-form-field { margin: 0; padding: 0; border: 0; }
.ev-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.ev-main .ev-choice { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--c-line-strong, #c4cfd8); border-radius: var(--r-m, 12px); background: var(--c-white, #fff); cursor: pointer; }
.ev-main .ev-choice:has(input:checked) { border-color: var(--c-teal, #176b76); background: var(--c-teal-50, #e7f2f3); }
.ev-main .ev-choice:has(input:focus-visible) { outline: 3px solid var(--c-ink, #14243a); outline-offset: 2px; }
.ev-main .ev-choice:has(input:disabled) { opacity: .6; cursor: not-allowed; }
.ev-main .ev-choice input { width: 20px; height: 20px; margin: 0; accent-color: var(--c-teal, #176b76); }
/* .ev-main: the theme sets .site-main label { display: block } and label > input { margin-top: 8px }. */
.ev-main .ev-drop { position: relative; display: grid; justify-items: center; gap: 8px; padding: clamp(22px, 5vw, 40px) 16px; border: 2px dashed var(--c-border, #7d8c99); border-radius: var(--r-l, 20px); background: var(--c-mist, #f6f8fa); text-align: center; cursor: pointer; }
.ev-main .ev-drop:has(input:focus-visible) { outline: 3px solid var(--c-ink, #14243a); outline-offset: 3px; }
.ev-drop svg { width: 40px; height: 40px; color: var(--c-teal, #176b76); }
.ev-drop strong { font-size: 1.0625rem; }
.ev-drop .ev-help { font-weight: 400; }
.ev-main .ev-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
.ev-main .ev-check input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--c-teal, #176b76); }
.ev-form-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 22px; }
.ev-form-nav .ev-right { display: flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.ev-review { display: grid; gap: 18px; }
@media (min-width: 640px) { .ev-review { grid-template-columns: 220px minmax(0, 1fr); } }
.ev-review img { width: 100%; height: auto; border-radius: 6px; box-shadow: var(--e-2, 0 12px 32px -14px rgba(20, 36, 58, .25)); }

/* ---------- Mis eventos ---------- */
.ev-mine { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ev-mine li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 10px 14px; align-items: center; padding: 12px; border: 1px solid var(--c-line, #dce3e9); border-radius: var(--r-l, 20px); background: var(--c-white, #fff); }
.ev-mine img { width: 64px; height: 80px; object-fit: contain; border-radius: 4px; background: var(--c-sunken, #eef2f5); }
.ev-mine h3 { margin: 0 0 4px; font: 750 1.0625rem/1.25 var(--f-text, Manrope, sans-serif); }
.ev-mine p { margin: 0; color: var(--c-text-2, #44566a); font-size: .9375rem; }
.ev-mine .ev-acts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.ev-status { display: inline-flex; align-items: center; min-height: 26px; margin: 6px 0 0; padding: 4px 10px; border-radius: 999px; font: 750 .8125rem/1 var(--f-text, Manrope, sans-serif); }
.ev-status--draft { background: var(--c-sunken, #eef2f5); color: var(--c-ink, #14243a); }
.ev-status--pending { background: var(--c-gold-50, #fdf6e3); color: var(--c-gold-ink, #7a5605); }
.ev-status--publish { background: var(--c-teal-50, #e7f2f3); color: var(--c-teal-700, #105a63); }
.ev-status--rejected { background: var(--c-red-50, #fbedee); color: var(--c-red-700, #8f2329); }
.ev-status--cancelled, .ev-status--ended { background: var(--c-sunken, #eef2f5); color: var(--c-text-2, #44566a); }
.ev-reason { margin-top: 6px !important; padding: 8px 10px; border-left: 3px solid var(--c-red, #b32f35); background: var(--c-red-50, #fbedee); color: var(--c-red-700, #8f2329) !important; border-radius: 0 8px 8px 0; }
@media (min-width: 760px) {
  .ev-mine li { grid-template-columns: 64px minmax(0, 1fr) auto; }
  .ev-mine .ev-acts { grid-column: auto; justify-content: flex-end; }
}


/* ---------- M4: títulos, «Mis eventos» y denuncia ---------- */
.ev-form-title { margin: 0 0 6px; font-size: clamp(1.8rem, 1.3rem + 2vw, 2.5rem); }
.ev-form-intro { margin: 0 0 18px; }
.ev-mine-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px; margin: 0 0 16px; }
.ev-mine-head .ev-form-title { margin: 0; }
.ev-mine__title { margin: 0 0 4px; font: 750 1.0625rem/1.25 var(--f-text, Manrope, sans-serif); letter-spacing: 0; }
.ev-mine__noimg { display: block; width: 64px; height: 80px; border-radius: 4px; background: var(--c-sunken, #eef2f5); }
.ev-mine__hint, .ev-mine__stats { margin-top: 6px !important; }
.ev-mine__stats { color: var(--c-teal-700, #105a63) !important; font-weight: 650; font-size: .875rem !important; }
#ev-file-preview { width: 160px; height: auto; border-radius: 6px; box-shadow: var(--e-2, 0 12px 32px -14px rgba(20, 36, 58, .25)); }
.ev-report-dlg { width: min(560px, calc(100vw - 24px)); }
.ev-report-form { display: grid; gap: 12px; padding: 22px 22px 20px; }
.ev-report-form h2 { margin: 0; padding-right: 52px; font-size: clamp(1.3rem, 1.1rem + .8vw, 1.6rem); }
.ev-main .ev-report-form .ev-check { margin: 0 0 6px; }
@media (max-width: 719px) { .ev-report-dlg { width: 100%; } .ev-report-form { padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); } }

/* ---------- 410 ---------- */
.ev-gone { width: min(100% - 32px, 640px); margin: clamp(32px, 8vw, 80px) auto; text-align: center; }
.ev-gone h1 { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.6rem); }

@media (prefers-reduced-motion: reduce) {
  .ev-card__flyer, .ev-card__veil, .ev-month { transition: none; }
  .ev-panel[open] { animation: none; }
  .ev-card__link:hover .ev-card__flyer { transform: none; }
}
