.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-4223 .elementor-element.elementor-element-87434bf{--grid-columns:1;}@media(max-width:1024px){.elementor-4223 .elementor-element.elementor-element-87434bf{--grid-columns:1;}}@media(max-width:767px){.elementor-4223 .elementor-element.elementor-element-87434bf{--grid-columns:1;}}/* Start custom CSS *//* ============ /eventos — calcada del mockup ============
   https://literary-escapes-map.lovable.app/eventos
   Hero 72svh · encabezado de sección · zigzag de guías con la imagen
   alternando lado. Medido a 1440. */
[id^="ep-"] { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
[id^="ep-"] * { border-radius: 0; }

#ep-hero {
  position: relative; display: flex; align-items: flex-end;
  height: 72svh; min-height: 480px; padding: 0 !important; margin: 0;
  background-color: var(--color-ink); overflow: hidden;
}
#ep-foto { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
#ep-foto .elementor-widget-container, #ep-foto figure, #ep-foto a { height: 100%; }
#ep-foto img { width: 100%; height: 100%; object-fit: cover; display: block;
               filter: saturate(1.03) contrast(1.02); }
#ep-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to right,
    color-mix(in srgb, var(--color-ink) 82%, transparent) 0%,
    color-mix(in srgb, var(--color-ink) 55%, transparent) 45%,
    color-mix(in srgb, var(--color-ink) 15%, transparent) 100%);
}
#ep-hero-txt {
  position: relative; z-index: 1;
  flex-direction: column !important; align-items: flex-start !important;
  justify-content: flex-end !important; gap: 0 !important;
  width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 40px 64px !important;
}
#ep-hero-txt > * { flex: 0 0 auto; }
#ep-eb p.elementor-heading-title {
  margin: 0; font-family: var(--font-body); font-size: 0.7rem; font-weight: 400;
  letter-spacing: 0.22em; text-transform: uppercase; line-height: 1.5;
  color: var(--color-gold);
}
#ep-h1 { margin-top: 16px; }
#ep-h1 h1.elementor-heading-title {
  margin: 0; max-width: 22ch; font-family: var(--font-display); font-weight: 400;
  font-size: clamp(2.4rem, 6vw, 5rem); line-height: 0.98; letter-spacing: -0.015em;
  color: var(--color-ink-foreground);
}
#ep-sub { margin-top: 20px; }
#ep-sub p.elementor-heading-title {
  margin: 0; max-width: 672px; font-family: var(--font-body); font-size: 0.98rem;
  font-weight: 400; line-height: 1.625;
  color: color-mix(in srgb, var(--color-ink-foreground) 85%, transparent);
}

/* ---------- Cuerpo ---------- */
/* La sección va a sangre para que su fondo llegue a los bordes; quien topa
   en 1320 es su contenido. */
#ep-cuerpo {
  flex-direction: column !important; align-items: stretch !important; gap: 0 !important;
  width: 100%; padding: 112px 40px !important;
  background-color: var(--color-background);
}
#ep-cuerpo > * { flex: 0 0 auto; width: 100%; max-width: 1320px; margin-left: auto; margin-right: auto; }
#ep-sec-eb p.elementor-heading-title {
  margin: 0; font-family: var(--font-body); font-size: 0.6875rem; font-weight: 400;
  letter-spacing: 0.22em; text-transform: uppercase; line-height: 1.5;
  color: var(--color-gold-deep);
}
#ep-sec-h2 { margin-top: 16px; }
#ep-sec-h2 h2.elementor-heading-title {
  margin: 0; max-width: 30ch; font-family: var(--font-display); font-weight: 400;
  font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.06; letter-spacing: -0.015em;
  color: var(--color-text);
}

/* --- El zigzag --- */
#ep-zig .elementor-loop-container {
  flex-direction: column !important; align-items: stretch !important;
  gap: 64px; margin-top: 56px; padding: 0 !important;
}
#ep-zig .elementor-loop-container > * { flex: 0 0 auto; }
#ep-g {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 48px;
  align-items: center; padding: 0 !important; width: 100% !important;
  text-decoration: none;
}
[id^="ep-g"][id$="-fig"] { padding: 0 !important; margin: 0; overflow: hidden; min-width: 0; }
[id^="ep-g"][id$="-img"] { margin: 0; }
[id^="ep-g"][id$="-img"] img {
  display: block; width: 100%; height: 416px; object-fit: cover;
  filter: saturate(1.03) contrast(1.02);
  transition: transform .7s cubic-bezier(.2,.6,.2,1);
}
#ep-g:hover img { transform: scale(1.04); }
[id^="ep-g"][id$="-txt"] {
  flex-direction: column !important; align-items: flex-start !important;
  gap: 0 !important; padding: 0 !important; min-width: 0;
}
[id^="ep-g"][id$="-txt"] > * { flex: 0 0 auto; }
[id^="ep-g"][id$="-eb"] p.elementor-heading-title {
  margin: 0; font-family: var(--font-body); font-size: 0.6875rem; font-weight: 400;
  letter-spacing: 0.22em; text-transform: uppercase; line-height: 1.5;
  color: var(--color-gold-deep);
}
[id^="ep-g"][id$="-h"] { margin-top: 16px; }
[id^="ep-g"][id$="-h"] h3.elementor-heading-title {
  margin: 0; max-width: 26ch; font-family: var(--font-display); font-weight: 400;
  font-size: clamp(1.6rem, 2.6vw, 2.4rem); line-height: 1.1; letter-spacing: -0.015em;
  color: var(--color-text); transition: color .25s ease;
}
#ep-g:hover h3.elementor-heading-title { color: var(--color-gold-deep); }
[id^="ep-g"][id$="-d"] { margin-top: 20px; }
[id^="ep-g"][id$="-d"] p.elementor-heading-title {
  margin: 0; max-width: 576px; font-family: var(--font-body); font-size: 0.98rem;
  font-weight: 400; line-height: 1.75; color: var(--color-text-muted);
}
[id^="ep-g"][id$="-m"] { margin-top: 24px; }
[id^="ep-g"][id$="-m"] p.elementor-heading-title {
  margin: 0; font-family: var(--font-body); font-size: 0.72rem; font-weight: 400;
  letter-spacing: 0.16em; text-transform: uppercase; line-height: 1.5;
  color: var(--color-text-muted);
}
[id^="ep-g"][id$="-cta"] { margin-top: 20px; }
[id^="ep-g"][id$="-cta"] p.elementor-heading-title {
  margin: 0; font-family: var(--font-body); font-size: 0.875rem; font-weight: 400;
  letter-spacing: 0.06em; line-height: 1.4; color: var(--color-gold-deep);
}
[id^="ep-g"][id$="-cta"] p.elementor-heading-title::after {
  content: ""; display: inline-block; width: 16px; height: 16px;
  margin-left: 8px; vertical-align: -3px; background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: margin-left .25s ease;
}
#ep-g:hover [id$="-cta"] p::after { margin-left: 14px; }

@media (max-width: 1024px) {
  #ep-hero { height: 72svh; min-height: 460px; }
  #ep-hero-txt { padding: 0 24px 56px !important; }
  #ep-cuerpo { padding: 80px 24px !important; }
  #ep-zig .elementor-loop-container { gap: 48px; }
  #ep-g { grid-template-columns: 1fr; gap: 28px; }
  /* en una columna la imagen va siempre arriba */
  #ep-g > [id$="-fig"] { order: -1 !important; }
  [id^="ep-g"][id$="-img"] img { height: 340px; }
}
@media (max-width: 767px) {
  #ep-hero { height: auto; min-height: 440px; }
  #ep-hero-txt { padding: 0 20px 48px !important; }
  #ep-cuerpo { padding: 56px 20px !important; }
  [id^="ep-g"][id$="-img"] img { height: 240px; }
}


/* --- El listado es ahora un bucle --------------------------------------- */
/* Los titulares llevan enlace propio (antes lo era la tarjeta entera), y un
   <a> hereda el azul del navegador si nadie se lo dice. */
#ep-g-h a, #ep-g-h a:hover, #ep-g-h a:visited,
#ep-g-k a, #ep-g-d a { color: inherit; text-decoration: none; }
#ep-g-img a { display: block; }
/* Elementor mete su propio contenedor entre el widget y las tarjetas. */
#ep-zig .elementor-loop-container { padding: 0; }
#ep-zig .e-loop-item { display: flex; min-width: 0; }
/* Toda la pieza clicable, con un enlace de verdad y foco visible. */
#ep-g { position: relative; }
#ep-g-h a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
#ep-g-h a:focus-visible { outline: none; }
#ep-g:focus-within { outline: 2px solid var(--color-gold-deep); outline-offset: 4px; }

/* El zigzag lo hacia el orden de los elementos en la pagina; con el bucle
   todas las filas son iguales, asi que la alternancia va por CSS. */
#ep-zig .e-loop-item:nth-of-type(even) #ep-g > [id$="-fig"] { order: 2; }/* End custom CSS */