/* ─── Memphis Noticias — Elementor container overrides ─── */
/* The .mn-wrap utility centers content inside .mn-band sections. The
   higher-specificity selector wins over Elementor's .e-con defaults
   (which set width:100% and no horizontal margin). */
.e-con.mn-wrap,
.elementor-element.mn-wrap {
  width: 100%;
  max-width: var(--mn-container, 1440px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--mn-gutter, 24px);
  padding-right: var(--mn-gutter, 24px);
}
/* Section bands span the full viewport so backgrounds bleed edge-to-edge;
   horizontal centering happens on the inner .mn-wrap. */
.e-con.mn-band,
.elementor-element.mn-band {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  align-items: stretch;
}

/* ─── Memphis Noticias — Design Tokens ─── */

:root {
  /* color */
  --mn-yellow: #FFCE00;
  --mn-yellow-deep: var(--mn-red);
  --mn-red: #B22222;
  --mn-red-soft: #C9483B;
  --mn-red-deep: #8E1B1B;
  --mn-accent: #1A3A6E;
  --mn-accent-soft: #2E5B9E;
  --mn-ink: #231614;
  --mn-paper: #FFFFFF;
  --mn-bg: #F0EEE9;   /* base page canvas (Tracy 2026-06-12); kit global mn_bg */
  --mn-bg-deep: #E7E4DC;  /* neutral ramp (final bundle) */
  --cream-light: #F6F5F1;     /* primary light band surface (DS v8) */
  --cream: #F0EEE9;           /* DS neutral-ramp names (alias --mn-bg) */
  --cream-deep: #E7E4DC;
  --border: #DAD6CD;
  --charcoal: #2D2E31;
  --mn-cream-light: #F6F5F1;
  --mn-charcoal: #2D2E31;
  --mn-tint: #E7E4DC;
  --mn-rule: #DAD6CD;
  --mn-rule-strong: #DAD6CD;
  --mn-muted: #5E524D;
  --mn-crisis: #B22222;
  --mn-coral: #E85C44;

  /* DS update (bundle Fud_8dxOYDtm) — softer warm divider + textured "noir" dark surface */
  --mn-divider: #C8C1B3;
  --noir-base: #0C0C0D;
  --noir-bg:
    radial-gradient(92% 132% at 26% -26%, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.04) 30%, rgba(255,255,255,0) 58%),
    url("../assets/img/footer-grain.png"),
    radial-gradient(130% 150% at 50% -10%, #1C1C1D 0%, #111111 52%, #070707 100%);

  /* type */
  --mn-serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --mn-sans:  "Source Sans 3", "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --mn-mono:  ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* grid */
  --mn-container: 1440px;
  --mn-gutter: 20px; /* old --mn-gutter: 24px */
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
/* Safari/Chrome: brand noir behind the page so the browser's overscroll/rubber-band area (and,
   with the theme-color meta, the address bar) reads as the dark brand instead of white. */
html { background-color: var(--noir-base); }
/* Safari UI-tint helper: a near-black strip fixed at the very top. The dark header scrolls away
   (it is position:static), so for Safari versions that SAMPLE the top pixel for the browser-UI
   tint this keeps that pixel near-black on scroll. It matches the dark util bar, so at rest it is
   invisible; out-of-flow (fixed) so it causes no layout shift; never blocks input. theme-color is
   still the primary hint for the rest of Safari. */
.mn-uitint { position: fixed; top: 0; left: 0; right: 0; height: 4px; background: #0C0C0D; z-index: 1; pointer-events: none; }
body {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.5;
  color: var(--mn-ink);
  background: var(--mn-bg);
  font-feature-settings: "kern", "liga";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* ─── Layout ─── */
.mn-wrap {
  width: 100%;
  max-width: var(--mn-container);
  margin: 0 auto;
  padding: 0 var(--mn-gutter);
}
.mn-band { padding: 64px 0; }
.mn-band--tight { padding: 40px 0; }
.mn-band--tint { background: transparent; }
.mn-paperwhite { background: var(--cream-light); }
.mn-band--ink  {
  background-color: var(--noir-base);
  background-image: var(--noir-bg);
  background-size: 100% 100%, 240px 240px, 100% 100%;
  background-repeat: no-repeat, repeat, no-repeat;
  background-blend-mode: screen, overlay, normal;
  color: var(--mn-paper);
  padding-top: 84px;
  padding-bottom: 84px;
}
/* light-on-dark chrome so content reads on the noir band */
.mn-band--ink .mn-modhead { border-bottom-color: rgba(255,255,255,0.16); }
.mn-band--ink .mn-modhead__title { color: var(--mn-paper); }
.mn-band--ink .mn-modhead__more { color: rgba(255,255,255,0.72); }
.mn-band--ink .mn-modhead__more:hover { color: var(--mn-paper); text-decoration: underline; text-decoration-color: var(--mn-yellow); text-decoration-thickness: 3px; }
.mn-band--ink .mn-card__head { color: var(--mn-paper); }
.mn-band--ink .mn-card__meta { color: rgba(255,255,255,0.6); }
.mn-band--ink .mn-eyebrow { color: rgba(255,255,255,0.82); }
.mn-divider {
  height: 1px;
  background: var(--mn-rule);
  border: 0;
}

/* ─── Module header ─── */
.mn-modhead {
  display: flex;
	flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 20px;
  margin-bottom: 28px;
  border-bottom: 2px solid var(--mn-divider);
}
/* DS: section subheading dividers use the dark-cream divider colour, NOT ink.
   .mn-modhead is stripped off the container and the heavy border is set inline
   (#231614) per modhead — recolour the bottom border by matching the container
   via its kept .mn-modhead__title child (works on every page with a modhead). */
.elementor-element:has(> .mn-modhead__title) {
  border-bottom-color: var(--mn-divider) !important;
}
/* When a modhead has a description, align it with the title TEXT (right of the
   6px yellow tick + 14px gap = 20px) and cap it at ~half the container width. */
.elementor-3573 .elementor-element-1479982 {
  margin-left: 20px;
  max-width: 620px;
}
.mn-modhead__title {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 28px;
  letter-spacing: -0.01em;
  line-height: 1;
  margin: 0;
  display: flex;
  align-items: stretch;
  gap: 14px;
}
.mn-modhead__title::before {
  content: "";
  flex: none;
  align-self: stretch;
  width: 6px;
  background: var(--mn-yellow);
  border-radius: 1px;
}
.mn-modhead__more {
  /* Typography/color/padding moved to the Button widgets' own controls 2026-06-22 (build-quality
     remediation). Only no-control bits remain: keep the link from wrapping + set the hover-underline
     offset (the gold hover underline itself is enforced below — Elementor has no control for it). */
  text-underline-offset: 4px;
  white-space: nowrap;
}
/* Button widget wraps its <a> in .elementor-button-wrapper, whose inline line-box left ~4px of
   descender space below the link and pushed it above the title's baseline in the flex-end modhead
   row. Collapse it so the link bottom-aligns with the title exactly (no Elementor control for this). */
.mn-modhead__more .elementor-button-wrapper { display: flex; }
/* DS update: these "more"/"ver todos" links underline ONLY on hover — thicker + gold.
   Covers the link whether .mn-modhead__more is the <a> itself or wraps one. */
.mn-modhead__more:hover,
.mn-modhead__more:hover a,
.mn-modhead__more a:hover {
  color: var(--mn-ink);
  text-decoration: underline;
  text-decoration-color: var(--mn-yellow);
  text-decoration-thickness: 3px;
}

/* ─── Eyebrow ─── */
.mn-eyebrow {
  font-family: var(--mn-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mn-ink);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.mn-eyebrow::before {
  content: "";
  width: 18px;
  height: 3px;
  background: var(--mn-yellow);
}
.mn-eyebrow--opinion {
  background: var(--mn-yellow);
  border-radius: 5px;
  padding: 3px 8px;
  margin-bottom: 12px;
}
.mn-eyebrow--opinion::before { display: none; }

/* Category eyebrows: force a tight line-height so the gold dash sits on the label's optical
   center. Without this they inherit the kit's ~28px line-height, which floats the dash off
   the text (Tracy: "category not lining up with the line next to it"). The .eva-* eyebrows
   already do this; these are the ones that were missing it. */
.mn-eyebrow, .mn-eyebrow *,
.cat-feat__eyebrow, .cat-feat__eyebrow *,
.mn-art-hero__eyebrow, .mn-art-hero__eyebrow *,
.mn-founder__eyebrow,
.cat-row__eyebrow,
.mn-search-results__eyebrow,
.mn-side-h, .mn-side-h * { line-height: 1; }

/* ─── Card base ─── */
.mn-card { display: flex; flex-direction: column; }
.mn-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--mn-rule);
  border-radius: 5px;
}
.mn-card__media--square { aspect-ratio: 1 / 1; }
.mn-card__media + .mn-eyebrow { margin-top: 10px; }
.mn-card__head {
  font-family: var(--mn-serif);
  font-weight: 700;
  color: var(--mn-ink);
  letter-spacing: -0.01em;
  margin: 12px 0 6px;
  line-height: 1.18;
  text-wrap: balance;
}
.mn-card__deck {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.5;
  color: var(--mn-muted);
  margin: 0 0 10px;
  text-wrap: pretty;
}
.mn-card__meta {
  font-family: var(--mn-sans);
  font-size: 12px;
  padding-top: 5px;
  color: var(--mn-muted);
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
.mn-card__meta .dot { width: 3px; height: 3px; background: currentColor; border-radius: 50%; opacity: 0.6; }
.mn-card a:hover .mn-card__head, .mn-card:hover .mn-card__head { color: var(--mn-accent); }

/* image placeholder */
.mn-ph {
  width: 100%;
  height: 100%;
  background-image:
    repeating-linear-gradient(135deg,
      rgba(33, 25, 24, 0.04) 0 6px,
      rgba(33, 25, 24, 0.08) 6px 12px);
  background-color: #EFEAE2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(33, 25, 24, 0.45);
  font-family: var(--mn-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 12px;
}
.mn-ph--ink {
  background-color: #2E2725;
  background-image:
    repeating-linear-gradient(135deg,
      rgba(255, 255, 255, 0.04) 0 6px,
      rgba(255, 255, 255, 0.08) 6px 12px);
  color: rgba(255, 255, 255, 0.5);
}
/* Near-white placeholder — diagonal pinstripes on an almost-white field */
.mn-ph--paper {
  background-color: #FBFAF7;
  background-image:
    repeating-linear-gradient(135deg,
      rgba(33, 25, 24, 0.035) 0 6px,
      rgba(33, 25, 24, 0.065) 6px 12px);
  color: rgba(33, 25, 24, 0.4);
}
/* Colorful gradient placeholder (per-element --ph-a/--ph-b) with fine pinstripes */
.mn-ph--color {
  background-color: var(--ph-a, #1A3A6E);
  background-image:
    repeating-linear-gradient(45deg,
      rgba(255, 255, 255, 0.11) 0 1px,
      rgba(255, 255, 255, 0) 1px 5px),
    linear-gradient(140deg, var(--ph-a, #1A3A6E) 0%, var(--ph-b, #3F7AB8) 100%);
  color: rgba(255, 255, 255, 0.94);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}
.mn-ph--color span { position: relative; font-weight: 600; }

/* ─── Buttons & inputs ─── */
.mn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  padding: 12px 18px;
  border: 1px solid var(--mn-ink);
  background: var(--mn-ink);
  color: var(--mn-paper);
  border-radius: 5px;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.mn-btn:hover { background: var(--mn-yellow); color: var(--mn-ink); border-color: var(--mn-yellow); }
.mn-btn--yellow { background: var(--mn-yellow); color: var(--mn-ink); border-color: var(--mn-yellow); }
.mn-btn--yellow:hover { background: var(--mn-ink); color: var(--mn-paper); border-color: var(--mn-ink); }
.mn-btn--ghost { background: transparent; color: var(--mn-ink); }
.mn-btn--ghost:hover { background: var(--mn-ink); color: var(--mn-paper); }

.mn-input {
  font-family: var(--mn-sans);
  font-size: 14px;
  padding: 10px 14px;
  border: 1px solid var(--mn-rule-strong);
  background: var(--mn-paper);
  color: var(--mn-ink);
  width: 100%;
  border-radius: 5px;
  outline: none;
}
.mn-input:focus { border-color: var(--mn-ink); box-shadow: inset 0 -2px 0 var(--mn-yellow); }

/* utilities */
.mn-row { display: flex; }
.mn-row--gap { gap: var(--mn-gutter); }
.mn-grid { display: grid; gap: var(--mn-gutter); }
.mn-grid-2 { grid-template-columns: repeat(2, 1fr); }
.mn-grid-3 { grid-template-columns: repeat(3, 1fr); }
.mn-grid-4 { grid-template-columns: repeat(4, 1fr); }
.mn-grid-12 { grid-template-columns: repeat(12, 1fr); }
.col-3  { grid-column: span 3; }
.col-4  { grid-column: span 4; }
.col-5  { grid-column: span 5; }
.col-6  { grid-column: span 6; }
.col-7  { grid-column: span 7; }
.col-8  { grid-column: span 8; }
.col-12 { grid-column: span 12; }

@media (max-width: 880px) {
  .mn-band { padding: 44px 0; }
  .mn-grid-2, .mn-grid-3, .mn-grid-4, .mn-grid-12 { grid-template-columns: 1fr; }
  .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-12 { grid-column: span 1; }
  .mn-modhead__title { font-size: 22px; }
}

/* ─── Header utility bar / masthead ─── */


/* Wide horizontal lockup (L.01) used as the masthead logo. */


/* shrunk state */


/* ─── Crisis strip ─── */


/* ─── Lead story ─── */
.mn-lead {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 40px;
  align-items: stretch;
}
.mn-lead__media { aspect-ratio: 16 / 10; }
.mn-lead__body { display: flex; flex-direction: column; justify-content: center; }
.mn-lead__head {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 52px;
  line-height: 1.04;
  letter-spacing: -0.022em;
  margin: 8px 0 18px;
  text-wrap: balance;
}
.mn-lead__deck {
  font-family: var(--mn-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.45;
  color: var(--mn-muted);
  margin: 0 0 22px;
  text-wrap: pretty;
}
.mn-lead__meta {
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
  display: flex;
  gap: 12px;
  align-items: center;
}
.mn-lead__meta b { color: var(--mn-ink); font-weight: 600; }
@media (max-width: 980px) {
  .mn-lead { grid-template-columns: 1fr; gap: 24px; }
  .mn-lead__head { font-size: 36px; }
  .mn-lead__deck { font-size: 17px; }
}

/* ─── Card sizing ─── */
.mn-feat-head { font-size: 24px; line-height: 1.2; }
.mn-brief-head { font-size: 19px; line-height: 1.25; }
.mn-card--brief {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--mn-rule);
}
.mn-card--brief:first-child { border-top: 0; padding-top: 0; }
.mn-card--brief .mn-card__media {
  width: 88px; height: 88px; aspect-ratio: 1/1;
}
.mn-card--brief .mn-card__head { margin: 0 0 6px; font-size: 16px; line-height: 1.25; }
.mn-card--brief .mn-card__meta { font-size: 11px; margin-top: 4px; }

/* anchor card */
.mn-anchor {
  background: var(--mn-yellow);
  color: var(--mn-ink);
  border-radius: 5px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
  position: relative;
}
.mn-anchor__eyebrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.mn-anchor__title {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.04;
  letter-spacing: -0.015em;
  margin: 16px 0 12px;
  text-wrap: balance;
}
.mn-anchor__copy {
  font-size: 15px;
  line-height: 1.4;
  margin: 0 0 22px;
}
.mn-anchor__arrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border-bottom: 2px solid var(--mn-ink);
  padding-bottom: 3px;
  align-self: flex-start;
}
.mn-anchor__mark {
  position: absolute;
  right: 18px;
  top: 18px;
  width: 32px;
  height: 38px;
  opacity: 0.4;
}

/* ─── Resource tiles ─── */
.mn-resource {
  border: 0;
  border-radius: 9px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background-color: var(--cream);
  background-image: url("../assets/img/footer-grain.png");
  background-size: 220px 220px;
  background-repeat: repeat;
  background-blend-mode: soft-light;
  transition: background-color .15s, color .15s, box-shadow .15s;
}
.mn-resource:hover { background: var(--mn-ink); color: var(--mn-paper); }
.mn-resource:hover .mn-resource__num { color: var(--mn-yellow); }
/* DS #68 (REAL fix): this site strips custom classes off Elementor CONTAINERS, so
   .mn-resource never rendered on the KYR cards — all the class-based bg/border/radius
   silently did nothing (the #FBF1F0 inline kept winning). Target the 4 card IDs.
   Design = cream + grain, borderless, 9px radius. */
.elementor-3573 .elementor-element-cebaf11,
.elementor-3573 .elementor-element-e679503,
.elementor-3573 .elementor-element-17eb3fd,
.elementor-3573 .elementor-element-566f0cd {
  background-color: var(--cream) !important;
  background-image: url("../assets/img/footer-grain.png") !important;
  background-size: 220px 220px !important;
  background-repeat: repeat !important;
  background-blend-mode: soft-light !important;
  border: 0 !important;
  border-radius: 9px !important;
  flex: 1 1 0 !important;   /* 4 equal columns spanning the full section width */
  min-width: 0;
  transition: box-shadow .15s ease;
}
/* hover inverts the card (design .mn-resource:hover): ink bg, white text, gold number.
   .mn-resource is stripped off the container, so match the card by its kept child. */
.elementor-3573 .elementor-element:has(> .mn-resource__num):hover {
  background-color: var(--mn-ink) !important;
  background-image: none !important;
  box-shadow: 0 8px 22px rgba(33, 25, 24, 0.18) !important;
}
.elementor-3573 .elementor-element:has(> .mn-resource__num):hover .mn-resource__title,
.elementor-3573 .elementor-element:has(> .mn-resource__num):hover .mn-resource__desc,
.elementor-3573 .elementor-element:has(> .mn-resource__num):hover .mn-resource__cta,
.elementor-3573 .elementor-element:has(> .mn-resource__num):hover .elementor-heading-title,
.elementor-3573 .elementor-element:has(> .mn-resource__num):hover p {
  color: var(--mn-paper) !important;
}
.elementor-3573 .elementor-element:has(> .mn-resource__num):hover .mn-resource__num .elementor-heading-title {
  color: var(--mn-yellow) !important;
}
/* Culture opinion (listing tpl 33689): same stripped-class problem — .mn-opinion is
   gone AND the container's Elementor flex is "row", so it renders as a small
   side-by-side card. Force the design's column layout (big portrait on top) by ID. */
.elementor-33689 .elementor-element-6afca7a {
  flex-direction: column !important;
  gap: 18px !important;
}
.elementor-33689 .elementor-element-6afca7a > .elementor-element {
  width: 100% !important;
  max-width: 100% !important;
}
.elementor-33689 .elementor-element-8d69c50 img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
.mn-resource__num {
  font-family: var(--mn-serif);
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  color: var(--mn-yellow-deep);
  margin-bottom: 14px;
}
.mn-resource__title {
  font-family: var(--mn-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 6px;
  text-wrap: balance;
}
.mn-resource__desc {
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}
.mn-resource__cta {
  margin-top: auto;
  padding-top: 14px;
  font-family: var(--mn-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ─── Multimedia ─── */
.mn-video__media {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #1a1313;
  overflow: hidden;
  border-radius: 5px;
}
.mn-video__play {
  position: absolute;
  left: 14px; bottom: 14px;
  width: 44px; height: 44px;
  background: var(--mn-yellow);
  color: var(--mn-ink);
  border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
}
.mn-video__duration {
  position: absolute;
  right: 10px; bottom: 10px;
  background: rgba(0,0,0,0.75);
  color: var(--mn-paper);
  font-family: var(--mn-mono);
  font-size: 11px;
  border-radius: 5px;
  padding: 3px 7px;
}
.mn-video__platform {
  position: absolute;
  left: 14px; top: 14px;
  background: rgba(0,0,0,0.7);
  color: var(--mn-paper);
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 5px;
  padding: 4px 8px;
}

/* ─── Founder block ─── */
.mn-founder {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 56px;
  align-items: center;
}
.mn-founder__media { aspect-ratio: 4 / 5; }
.mn-founder__eyebrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-ink);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.mn-founder__eyebrow::before {
  content: ""; width: 24px; height: 3px; background: var(--mn-yellow);
}
.mn-founder__title {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 44px;
  line-height: 1.06;
  letter-spacing: -0.02em;
  margin: 18px 0 22px;
  color: var(--mn-ink);
  text-wrap: balance;
}
.mn-founder__copy {
  font-size: 16px;
  line-height: 1.6;
  color: var(--mn-muted);
  margin: 0 0 18px;
  max-width: 56ch;
}
.mn-founder__quote {
  border-left: 3px solid var(--mn-yellow);
  padding: 4px 0 4px 18px;
  font-family: var(--mn-serif);
  font-style: italic;
  font-size: 20px;
  line-height: 1.4;
  color: var(--mn-ink);
  margin: 22px 0 26px;
  max-width: 50ch;
}
.mn-founder__quote span {
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-family: var(--mn-sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mn-muted);
}
.mn-founder__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  background: var(--mn-yellow);
  color: var(--mn-ink);
  border-radius: 5px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.mn-founder__btn:hover { background: var(--mn-paper); }
@media (max-width: 900px) {
  .mn-founder { grid-template-columns: 1fr; gap: 28px; }
  .mn-founder__title { font-size: 32px; }
}

/* ─── Newsletter ─── */
.mn-newsletter {
  border: 2px solid var(--mn-ink);
  border-radius: 5px;
  padding: 40px 48px;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 48px;
  align-items: center;
  background: var(--mn-paper);
}
.mn-newsletter__title {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin: 6px 0 8px;
  text-wrap: balance;
}
.mn-newsletter__sub {
  font-size: 15px;
  color: var(--mn-muted);
  margin: 0;
}
.mn-newsletter__form { display: flex; flex-direction: column; gap: 12px; }
.mn-newsletter__row { display: flex; gap: 8px; }
.mn-newsletter__freq { display: flex; gap: 6px; font-size: 13px; color: var(--mn-muted); }
.mn-newsletter__freq label {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
}
.mn-newsletter__freq input { accent-color: var(--mn-ink); }
@media (max-width: 900px) {
  .mn-newsletter { grid-template-columns: 1fr; padding: 28px; gap: 24px; }
  .mn-newsletter__title { font-size: 26px; }
}

/* ─── Footer ─── */
.mn-foot {
  background: var(--mn-ink);
  color: rgba(255,255,255,0.78);
  padding: 56px 0 28px;
}
.mn-foot__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.mn-foot h4 {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-paper);
  margin: 0 0 16px;
}
.mn-foot ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.mn-foot a:hover { color: var(--mn-yellow); }
.mn-foot__brand img { width: 42px; }
.mn-foot__brand p { font-size: 14px; line-height: 1.55; margin: 14px 0 0; max-width: 36ch; color: rgba(255,255,255,0.6); }
.mn-foot__count {
  font-family: var(--mn-mono);
  font-size: 11px;
  color: rgba(255,255,255,0.5);
}
.mn-foot__legal {
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  gap: 24px;
}
@media (max-width: 880px) {
  .mn-foot__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .mn-foot__legal { flex-direction: column; align-items: flex-start; }
}

/* ─── Inmigración module layout ─── */
.mn-inm {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--mn-gutter);
}
@media (max-width: 980px) {
  .mn-inm { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .mn-inm { grid-template-columns: 1fr; }
}

/* ─── Local mixed layout ─── */
.mn-local {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 40px;
  align-items: start;
}
.mn-local__briefs { display: flex; flex-direction: column; }
@media (max-width: 980px) {
  .mn-local { grid-template-columns: 1fr; gap: 24px; }
}

/* Ayuda module — missing person + briefs */
.mn-ayuda {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--mn-gutter);
}
@media (max-width: 980px) {
  .mn-ayuda { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .mn-ayuda { grid-template-columns: 1fr; }
}
.mn-missing {
  border: 1px solid var(--mn-ink);
  border-radius: 5px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  background: var(--mn-paper);
}
.mn-missing__label {
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--mn-ink);
  color: var(--mn-paper);
  border-radius: 5px;
  padding: 4px 8px;
  align-self: flex-start;
}
.mn-missing__media {
  aspect-ratio: 1/1;
  margin: 14px 0 12px;
  background: var(--mn-tint);
  border-radius: 5px;
  overflow: hidden;
}
.mn-missing__name {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.2;
  margin: 0 0 6px;
}
.mn-missing__det {
  font-size: 13px;
  color: var(--mn-muted);
  margin: 0;
  line-height: 1.45;
}

/* Opinion card */
.mn-opinion {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 18px;
}
.mn-opinion__portrait {
  aspect-ratio: auto;
  flex: 1 1 auto;
  min-height: 380px;
  margin-bottom: 20px;
}
.mn-opinion__head {
  font-family: var(--mn-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.18;
  margin: 10px 0;
  text-wrap: balance;
}
.mn-opinion__by {
  font-family: var(--mn-sans);
  font-size: 12px;
  color: var(--mn-muted);
}
.mn-opinion__by b { color: var(--mn-ink); font-weight: 600; }

/* ad slot */
.mn-ad {
  border: 1px dashed var(--mn-rule-strong);
  border-radius: 5px;
  padding: 22px;
  text-align: center;
  font-family: var(--mn-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--mn-muted);
  background: var(--mn-tint);
}

/* Dedicated ad-space placeholders — CANONICAL surface + in-box labels.
   All reserved-inventory ads (search, sidebar, blocks, Elementor) should use
   .mn-adslot / __tag / __size / __note. Do not invent parallel label styles. */
.mn-adslot {
  border: 1px dashed var(--mn-rule-strong);
  border-radius: 5px;
  background:
    repeating-linear-gradient(45deg,
      transparent 0 14px,
      rgba(33, 25, 24, 0.025) 14px 28px),
    var(--mn-tint);
  color: var(--mn-muted);
  font-family: var(--mn-mono);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  padding: 18px;
}
.mn-adslot__tag {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mn-ink);
  background: var(--mn-paper);
  border: 1px solid var(--mn-rule-strong);
  border-radius: 4px;
  padding: 3px 8px;
  font-family: var(--mn-sans);
  font-weight: 700;
}
.mn-adslot__size {
  font-size: 13px;
  color: var(--mn-ink);
}
.mn-adslot__note {
  font-size: 11px;
  color: var(--mn-muted);
}
/* Ad-slot advertise CTAs */
.mn-adslot__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.2;
  white-space: nowrap;
}
.mn-adslot__cta:hover,
.mn-adslot__cta:focus-visible {
  text-decoration: none;
}
.mn-adslot__below {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 8px 0 0;
  text-align: center;
  font-family: var(--mn-sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--mn-ink);
  text-decoration: underline;
  text-decoration-color: var(--mn-yellow);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.mn-adslot--halfpage + .mn-adslot__below {
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
}
.mn-adslot--mediumrect + .mn-adslot__below,
.mn-adslot--sidebar + .mn-adslot__below {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
.mn-adslot__below:hover,
.mn-adslot__below:focus-visible {
  color: var(--mn-ink);
  text-decoration-color: var(--mn-ink);
}
.mn-adslot--billboard {
  width: 100%;
  aspect-ratio: 1440 / 225;
  max-height: 225px;
}
.mn-adslot--leaderboard {
  width: 100%;
  aspect-ratio: 728 / 90;
  max-height: 90px;
}
.mn-adslot--mediumrect {
  width: 300px;
  height: 250px;
  margin: 0 auto;
}
.mn-adslot--halfpage {
  width: 350px;
  height: 500px;
  aspect-ratio: 350 / 500;
  max-width: 350px;
  min-width: 350px;
  min-height: 500px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .mn-adslot--halfpage {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
  }
}
.mn-adslot--inarticle {
  width: 100%;
  aspect-ratio: 600 / 200;
  margin: 28px 0;
}

/* arrows */
.mn-arrow { display: inline-block; transform: translateY(-1px); }


/* === MN-HEADER-V3 logo guard (SVG lockup, not the old pin) === */


/* Neutralize the legacy small-pin width on the wide SVG. */


/* === MN-HEADER-LIVE-OVERRIDES ===========================================
   Elementor's per-element CSS (post-3694.css) loads AFTER this file and
   overrides the mockup's plain header classes on source order. These
   scoped rules (under .elementor-location-header, with !important on the
   few Elementor clobbers) restore the mockup's intended header chrome:
   dark utility bar, JetSearch styled for the dark bar, spaced nav.
   ======================================================================= */

/* Dark utility bar (beats Elementor's transparent container background) */


/* JetSearch field, styled to sit on the dark bar */


/* JetSearch submit: brand-yellow, ink icon (replaces the default blue) */


/* Lang toggle + newsletter on the dark bar */


/* Primary nav — force horizontal layout + even spacing (the nav-menu
   widget renders sm-vertical; we override to a centered flex row). */


/* Utility bar inner: ticker on the left, search pushed to the right. The two
   cells are Elementor child containers; the bar itself stays dark. */


/* let the JetSearch widget fill its cell */


/* ── Última hora ticker ── */


/* utility bar inner: ticker (left) + search (right) */


/* masthead inner: logo · dateline · weather */
/* CSS grid (1fr auto 1fr) so the dateline truly centers and the weather keeps
   its width — robust against Elementor's per-child flex defaults, which were
   collapsing the flex children (center→41px, weather→0). */


/* logo size (beats Elementor's .elementor-widget-image img{width:48px}) */


/* dateline (.mn-mast__center markup from [mn_dateline]) */


/* weather (static HTML widget) */


/* nav row */


/* dark utility bar — JetSearch field on the dark bar (paper text) */


/* ticker headlines must read on the dark bar — beat the theme/Elementor link color */


/* ── masthead shrink-on-scroll (ID-scoped; container class .mn-mast does not
      render on this site, so the JS toggles .is-shrunk on .elementor-element-mnmast01) ── */


/* smooth shrink: animate the pieces that change size, not just the padding */


/* when Elementor Pro fixes the stuck mast, keep it full-bleed above content */


/* responsive: hide ticker + center on small screens */


/* ───────────────────────────────────────────────────────────────────────────
   JetEngine listing cards — media framing (Phase 2/3 dynamic homepage).
   The category listing grids render real featured images inside fixed
   aspect-ratio boxes (.mn-card__media / .mn-lead__media). These rules let any
   image, whatever its native ratio, crop cleanly to fill the frame. Framing
   lives on the element, so an editor can swap a post's featured image freely.
   ─────────────────────────────────────────────────────────────────────────── */
.mn-card__media > .elementor-widget-container,
.mn-card__media .jet-listing-dynamic-image,
.mn-card__media .jet-listing-dynamic-image > a,
.mn-lead__media > .elementor-widget-container,
.mn-lead__media .jet-listing-dynamic-image,
.mn-lead__media .jet-listing-dynamic-image > a { display: block; width: 100%; height: 100%; }
.mn-card__media img,
.mn-lead__media img { width: 100%; height: 100%; object-fit: cover; }
/* cards stretch to equal height within each grid row */
.jet-listing-grid__item > .elementor-element,
.jet-listing-grid__item .mn-card { height: 100%; }

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER v6 — 1:1 replication of design bundle nkDec7drcjo7RwEZLQCLoA
   (Memphis Noticias — Portada standalone). Single authoritative header layer:
   all previous header CSS (legacy copy, v5 block, ID bridge, shrink rules)
   was removed when this block was added.

   Scoping rules for this site:
   · Containers never emit _css_classes → container-level design rules are
     scoped to stable .elementor-element-<id> selectors (fixed in template).
   · Widget _css_classes and shortcode markup classes DO render → those rules
     keep the design's own class names verbatim ([mn_ticker], [mn_crisis_strip],
     lockup headings, etc.).
   · The design's .mn-util__search/.mn-search-panel anatomy maps onto the
     jet-ajax-search widget (native settings carry colors/sizes; this block
     carries what no native control reaches).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Utility bar ─────────────────────────────────────────────────────────── */
.elementor-location-header .elementor-element-mnutilbr {
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-paper);
  background-color: var(--noir-base) !important;
  background-image: var(--noir-bg) !important;
  background-size: 100% 100%, 240px 240px, 100% 100%;
  background-repeat: no-repeat, repeat, no-repeat;
  background-blend-mode: screen, overlay, normal;
}
.elementor-location-header .elementor-element-mnutilin {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  flex-wrap: nowrap;
  width: 100%;
  max-width: var(--mn-container);
  margin: 0 auto;
  padding: 10px var(--mn-gutter);
}
.elementor-location-header .elementor-element-mntckcel {
  flex: 1 1 60%;                 /* mn2.0: ticker wider (60%) */
  max-width: calc(60% - 12px);
  min-width: 0;
}
.elementor-location-header .elementor-element-mnsrccel {
  flex: 1 1 40%;                 /* mn2.0: search narrower (40%) */
  max-width: calc(40% - 12px);
  min-width: 0;
  margin-left: auto;
  position: relative;
}

/* ── Last-hour ticker ([mn_ticker] markup, design verbatim) ──────────────── */
.mn-util__ticker {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
  height: 40px;            /* pinned = vertical-aligns with the search pill */
  box-sizing: border-box;
  background: transparent;  /* mn2.0: ticker no longer has a bg/border */
  border: 0;
  border-radius: 0;
  padding: 0;
}
.mn-util__ticker-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: none;
  font-family: var(--mn-sans);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mn-ink);
  background: var(--mn-yellow);
  padding: 0 14px;          /* height now comes from the pill, not the label */
  height: 100%;
  border-radius: 4px 3px 3px 4px;
  margin-right: 13px;
  white-space: nowrap;
  z-index: 2;
}
/* DS update (fuvEr6Sg): pennant tip on the breaking-news badge */
.mn-util__ticker-label::after {
  content: "";
  position: absolute;
  left: calc(100% - 1px);
  top: 50%;
  width: 9px;
  height: 16px;
  transform: translateY(-50%);
  background: var(--mn-yellow);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.mn-util__ticker-dot {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--mn-crisis);
  box-shadow: 0 0 0 0 rgba(178,34,34,0.6);
  animation: mn-ticker-pulse 1.6s infinite;
}
@keyframes mn-ticker-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(178,34,34,0.55); }
  70%  { box-shadow: 0 0 0 6px rgba(178,34,34,0); }
  100% { box-shadow: 0 0 0 0 rgba(178,34,34,0); }
}
.mn-util__ticker-view {
  position: relative;
  flex: 1;
  margin-left: -15px;
  min-width: 0;
  overflow: hidden;
  border-radius: 0 4px 4px 0;
  /* Right-edge fade ONLY. The earlier left fade revealed the dark bar behind the
     mask (read as a "black overlay" by the label); the opaque yellow pennant
     already masks the text start crisply, so no left fade is needed. */
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 18px), transparent);
          mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 18px), transparent);
}
.mn-util__ticker-track {
  display: flex;
  width: max-content;
  animation: mn-ticker-scroll 105s linear infinite;
}
.mn-util__ticker-view:hover .mn-util__ticker-track { animation-play-state: paused; }
@keyframes mn-ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.mn-util__ticker-group { display: flex; flex: none; }
.mn-util__ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: none;
  font-family: var(--mn-sans);
  font-size: 15.5px;
  color: rgba(255,255,255,0.95) !important;
  text-decoration: none;
  white-space: nowrap;
  padding-right: 26px;
  position: relative;
}
.mn-util__ticker-item::after {
  content: "";
  position: absolute;
  right: 13px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,0.32);
}
.mn-util__ticker-item:hover { color: var(--mn-yellow) !important; }
.mn-util__ticker-cat {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mn-yellow) !important;
}

/* ── Search pill (jet-ajax-search; design .mn-util__search) ──────────────── */
/* Native widget settings carry: bg, border, radius, padding, icon + color,
   input color/size, placeholder, no-submit. This covers the rest. */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search,
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__form { width: 100%; }
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__form {
  transition: border-color .15s, background .15s;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__form--focus {
  border-color: var(--mn-yellow) !important;
  background-color: rgba(255,255,255,0.13) !important;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field {
  min-width: 0;
  flex: 1 1 auto;
  font-size: 17px !important; /* DS update: larger search input */
  padding-left: 38px !important; /* clear the (now larger) icon */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field-icon { left: 14px; font-size: 18px; }
/* pin the search pill to the same 38px as the ticker; flex-center the input */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__form {
  padding: 0 14px !important;
  height: 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field::placeholder {
  color: rgba(255,255,255,0.62);
}

/* ── AJAX results panel — design .mn-search-panel mapped onto jet-ajax-search ──
   Markup: __results-area (card) > __results-count (head) + __results-list >
   __results-item > __item-link (the ROW) > __item-thumbnail + __item-content-
   wrapper (meta kicker via jet-search-content-fields, __item-title, __item-
   content). Footer = __full-results ("Ver todos"). */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-holder {
  left: 0;                  /* mn2.0: panel spans the (narrower) search bar */
  right: 0;
  width: auto;
  max-width: none;
  background: transparent;
  border: 0;
  box-shadow: none;
}
/* the card: paper surface, rule-strong border, soft drop shadow, clipped */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-area {
  background: var(--mn-paper);
  color: var(--mn-ink);
  border: 1px solid var(--mn-rule-strong);
  border-radius: 7px;
  box-shadow: 0 1px 0 rgba(33,25,24,0.04), 0 18px 44px rgba(33,25,24,0.22);
  overflow: hidden;
  animation: mn-search-in .14s ease;
}
@keyframes mn-search-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* head band: result counter as the design's tint header row */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-header {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 11px 16px;
  background: var(--mn-tint);
  border-bottom: 1px solid var(--mn-rule);
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-count {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  font-family: var(--mn-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mn-ink);
}
/* design dropdown has no prev/next pagination arrows */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__navigation-holder { display: none; }

/* the result ROW = the link; thumb left, body right. Flatten JetSearch's default
   per-item card chrome (margin/shadow/radius) into a flush, ruled list. */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-list-inner,
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-item {
  margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-item:last-child .jet-ajax-search__item-link { border-bottom: 0; }
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__full-results::after { content: "→"; }
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-link {
  display: flex;
  gap: 14px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--mn-rule);
  text-decoration: none;
  color: inherit;
  transition: background .12s;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-link:hover {
  background: var(--cream-light);
}
/* thumbnail → 76px rounded square (gradient fallback fills it) */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail {
  flex: none;
  margin: 0;
  overflow: hidden;
  position: relative; /* enforce-only: ::after overlay positioning context (no control) */
  aspect-ratio: 4 / 3; /* enforce-only: 4:3 ratio — width comes from the widget's thumb-width control (100px); the widget's height control emits no working CSS */
  background: var(--mn-rule);
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* body column */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-content-wrapper {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
/* Title first. Content-related meta sits after the title in JetSearch DOM.
   Keep the kicker as one line (CULTURA · date); venue name under it. */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-title {
  order: 0;
}
.elementor-location-header .elementor-element-mnsrccel .jet-search-content-fields {
  order: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
}
.elementor-location-header .elementor-element-mnsrccel .jet-search-content-fields__item,
.elementor-location-header .elementor-element-mnsrccel .jet-search-content-fields__item-value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.elementor-location-header .elementor-element-mnsrccel .mn-srow-kicker {
  display: block;
  margin: 0;
  font-family: var(--mn-sans);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.elementor-location-header .elementor-element-mnsrccel .mn-srow-cat,
.elementor-location-header .elementor-element-mnsrccel .mn-srow-dot,
.elementor-location-header .elementor-element-mnsrccel .mn-srow-date {
  display: inline !important;
  width: auto !important;
}
.elementor-location-header .elementor-element-mnsrccel .mn-srow-cat  { color: var(--mn-accent); }
.elementor-location-header .elementor-element-mnsrccel .mn-srow-date { color: var(--mn-muted); font-weight: 600; letter-spacing: 0.04em; }
.elementor-location-header .elementor-element-mnsrccel .mn-srow-dot  {
  padding: 0 0.45em;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  color: var(--mn-rule-strong);
  background: none;
}
.elementor-location-header .elementor-element-mnsrccel .mn-srow-venue {
  display: block;
  font-family: var(--mn-sans);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.35;
  color: var(--mn-muted);
}
.elementor-location-header .elementor-element-mnsrccel .mn-srow-venue-name {
  font-weight: 600;
  color: var(--mn-ink);
}
/* title → serif, 15px, 1-line clamp; row hover tints it accent */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-title {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--mn-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-link:hover .jet-ajax-search__item-title {
  color: var(--mn-accent);
}
/* excerpt → sans, 12.5px, muted, 1-line clamp */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-content {
  font-family: var(--mn-sans);
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--mn-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-item:has(.mn-srow-venue) .jet-ajax-search__item-content {
  display: none !important;
}
/* empty / "no results" message */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__message {
  padding: 22px 16px;
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
}
/* footer: "Ver todos los resultados" → tint bar, hover yellow */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__full-results {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 16px;
  font-family: var(--mn-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mn-ink);
  text-decoration: none;
  width: 100%;                /* full-width tint bar matching the header band */
  background: var(--mn-tint);
  border-top: 1px solid var(--mn-rule);
  transition: background .15s;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__full-results:hover {
  background: var(--mn-yellow);
}

/* ── Masthead ────────────────────────────────────────────────────────────── */
/* Sticky = Elementor Motion Effects (position:fixed based). CSS position:sticky
   cannot work here: the sticky range is capped at the parent's height, and the
   mast's parent is the header wrapper itself — ~0px of room. The fixed-mode
   spacer clone is handled by mn-header.js (skips .elementor-sticky__spacer).
   Background + border-bottom are native container settings. */
.elementor-location-header .elementor-element-mnmast01 {
  transition: box-shadow 0.22s ease, border-color 0.22s ease;
}
/* when stuck (fixed), span the full viewport and stay above content */
.elementor-location-header .elementor-element-mnmast01.elementor-sticky--active {
  width: 100% !important;
  left: 0;
  right: 0;
}
.elementor-location-header .elementor-element-mnmastin {
/*   display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  width: 100%; */
  max-width: var(--mn-container);
margin: 0 auto;
 /*    padding: 18px var(--mn-gutter);
  transition: padding 0.22s ease;  */
}
.elementor-location-header .elementor-element-mnlogoce { justify-self: start; min-width: 0; }
.elementor-location-header .elementor-element-mnctrce0 { justify-self: center; min-width: 0; white-space: nowrap; }
.elementor-location-header .elementor-element-mnwthrce { justify-self: end; min-width: 0; white-space: nowrap; }

/* ── Logo lockup (pin + LIVE TEXT, justified across the tagline width) ───── */
.elementor-location-header .elementor-element-mnlogolk {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: fit-content;
}
.elementor-location-header .elementor-element-mnlogotx {
  display: flex !important;
  flex-direction: column;
  width: fit-content;
}
.elementor-location-header .elementor-element-mnlogopn img {
  width: 38px !important;
  height: auto;
  transition: width 0.22s ease;
}
/* The newspaper trick: the wordmark justifies inter-character across exactly
   the width of the tagline below it. The lockup column shrink-wraps to the
   tagline (its widest child); the wordmark stretches to that width. */
.elementor-location-header .mn-mast__logo-text { width: 100%; }
/* wordmark typography lives in the Heading widget controls (retired duplicate
   CSS 2026-07-04); only the justified-lockup trick + shrink transition — which
   have no controls — stay here. */
.elementor-location-header .mn-mast__logo-text .elementor-heading-title {
  text-align: justify;
  text-align-last: justify;
  text-justify: inter-character;
  transition: font-size 0.22s ease;
}
.elementor-location-header .mn-mast__tag {
/*   display: block; */
  margin-top: 4px;
  max-height: 14px;
  opacity: 1;
  overflow: hidden;
  transition: max-height 0.22s ease, opacity 0.18s ease, margin-top 0.22s ease;
}
.elementor-location-header .mn-mast__tag .elementor-heading-title {
  /* typography moved to the Heading widget controls 2026-07-04 */
  white-space: nowrap;
  /* lockup discipline: both lines justify across the lockup width, so the
     tagline and wordmark always end flush regardless of which renders wider */
  text-align: justify;
  text-align-last: justify;
  text-justify: inter-character;
}

/* ── Dateline (center) + weather ─────────────────────────────────────────── */
.elementor-location-header .elementor-element-mnctrce0 {
  text-align: center;
  font-family: var(--mn-sans);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: var(--mn-muted);
  transition: font-size 0.22s ease;
}
.elementor-location-header .elementor-element-mnctrce0 b {
  display: block;
  color: var(--mn-ink);
  font-weight: 600;
  font-size: 13px;
  line-height: 1.15;
  text-transform: capitalize;
  margin-bottom: 3px;
  transition: font-size 0.22s ease;
}
.elementor-location-header .elementor-element-mnwthrce { color: var(--mn-muted); }
.elementor-location-header .elementor-element-mnwthrht > div,
.elementor-location-header .elementor-element-mnwthrht .elementor-widget-container > div {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
  justify-content: flex-end;
}
.elementor-location-header .elementor-element-mnwthrht b {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 22px;
  color: var(--mn-ink);
  transition: font-size 0.22s ease;
}

/* ── Primary nav ─────────────────────────────────────────────────────────── */
.elementor-location-header .elementor-element-mnnavcel { border-top: 1px solid var(--mn-rule); }
.elementor-location-header .elementor-element-mnnavinn {
  width: 100%;
  max-width: var(--mn-container);
  margin: 0 auto;
  padding: 0 var(--mn-gutter);
  min-height: 42px;
  display: flex !important;
  align-items: stretch;
  transition: min-height 0.22s ease;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu {
  display: flex !important;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 23px !important;
  /* overflow must stay visible so the Historia language dropdown can escape the
     bar. (Was overflow-x:auto for horizontal scroll, but that forces overflow-y
     to auto and clips the dropdown; the menu collapses to a burger on tablet, so
     the desktop bar never needs to scroll.) */
  overflow: visible;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu::-webkit-scrollbar { display: none; }
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu > li { margin: 0 !important; }
/* Submenu reveal on hover/focus. The custom flex nav above replaces Elementor's
   default layout, which drops the built-in submenu-on-hover behavior (Elementor
   still styles & positions .sub-menu; only the display toggle is missing). This
   powers the "Historia" English/Español language dropdown. */
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu > li.menu-item-has-children:hover > .sub-menu,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu > li.menu-item-has-children:focus-within > .sub-menu {
  display: block;
  z-index: 99;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-item {
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--mn-ink);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: 0 !important;
  border-bottom: 0 !important;
  transition: color .15s, font-size .22s ease;
}
/* 5px yellow bar pinned to the bottom edge of the nav row (DS v8) */
.elementor-location-header .elementor-element-mnnavinn .elementor-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5px;
  background: var(--mn-yellow);
  opacity: 0;
  transition: opacity .15s;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-item:hover::after { opacity: 1; }
/* yellow bar is HOVER-ONLY per Tracy 2026-06-13. The design also paints it on
   the active page; suppressed here so it shows only while hovering. */
.elementor-location-header .elementor-element-mnnavinn .elementor-item.elementor-item-active::after {
  opacity: 0;
}

/* ── Crisis strip ([mn_crisis_strip] markup, design verbatim) ────────────── */
.mn-crisis {
  background: var(--mn-yellow);
  color: var(--mn-ink);
  border-bottom: 2px solid var(--mn-ink);
}
.mn-crisis__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 14px var(--mn-gutter);
  max-width: var(--mn-container);
  margin: 0 auto;
}
.mn-crisis__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-crisis);
}
.mn-crisis__badge .pulse {
  width: 8px; height: 8px; background: var(--mn-crisis); border-radius: 50%;
  animation: mn-pulse 1.8s ease-in-out infinite;
}
@keyframes mn-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.5; }
}
.mn-crisis__title {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
}
.mn-crisis__title em {
  font-style: normal;
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 13px;
  color: rgba(35, 22, 20, 0.7);
  display: block;
  margin-top: 2px;
}
.mn-crisis__link {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--mn-ink);
  padding-bottom: 2px;
  white-space: nowrap;
}

/* ── Shrunk state (mn-header.js toggles .is-shrunk past 40px) ────────────── */
.elementor-location-header .elementor-element-mnmast01.is-shrunk {
  border-bottom-color: transparent !important; /* drop the hard rule on scroll — only the soft shadow separates */
  box-shadow: 0 6px 16px rgba(35, 22, 20, 0.09);
}
.elementor-location-header .elementor-element-mnmast01.is-shrunk .elementor-element-mnmastin {
  padding-top: 8px;
  padding-bottom: 8px;
}
.elementor-location-header .elementor-element-mnmast01.is-shrunk .elementor-element-mnlogopn img { width: 28px !important; }
.elementor-location-header .elementor-element-mnmast01.is-shrunk .mn-mast__logo-text .elementor-heading-title {
  font-size: 17px;
  text-align: left;
  text-align-last: left;
}
.elementor-location-header .elementor-element-mnmast01.is-shrunk .mn-mast__tag {
  max-height: 0;
  opacity: 0;
  margin-top: 0;
}
.elementor-location-header .elementor-element-mnmast01.is-shrunk .elementor-element-mnctrce0 { font-size: 11px; }
.elementor-location-header .elementor-element-mnmast01.is-shrunk .elementor-element-mnctrce0 b { font-size: 12px; }
/* .elementor-location-header .elementor-element-mnmast01.is-shrunk .elementor-element-mnwthrht b { font-size: 17px; } */
/* nav row does NOT shrink with the sticky masthead (user direction 2026-07-04):
   the row keeps its 44px height, 13px items, and 20px gap in the shrunk state.
   Only the masthead above it (logo/tagline/date) tightens. */

/* ── Header language toggle (.mn-langtoggle — design bundle mn2.0) ──
   ES/EN sliding pill at the right end of the nav row. Placeholder: persists the
   visitor's choice (mn-header.js) but does not switch content yet. */
.mn-langtoggle {
  position: relative;
  align-self: center;
  display: inline-flex;
  flex: 0 0 auto;
  padding: 3px;
  border-radius: 999px;
  background: var(--cream-light, #F6F5F1);
  border: 1px solid var(--border, #DAD6CD);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
}
.mn-langtoggle__thumb {
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(50% - 4px);
  height: calc(100% - 8px);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 55%),
    var(--mn-ink, #231614);
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset, 0 1px 1.5px rgba(0,0,0,0.14);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
.mn-langtoggle__thumb[data-lang="en"] { transform: translateX(100%); }
/* descendant selectors (0,2,0) so the toggle buttons beat the kit's global
   `.elementor-kit-8 button` rule (0,1,1) that otherwise forces ink bg / radius / padding. */
.mn-langtoggle .mn-langtoggle__opt {
  position: relative;
  z-index: 1;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  margin: 0;
  padding: 5px 12px;
  min-width: 24px;
  min-height: 24px;
  box-sizing: border-box;
  border-radius: 999px;
  font-family: var(--mn-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: none;
  color: var(--mn-muted, #5E524D);
  transition: color 0.2s ease;
}
.mn-langtoggle .mn-langtoggle__opt.is-on { color: var(--mn-paper, #fff); }
/* (shrunk-state padding removed with the nav no-shrink direction 2026-07-04 —
   the toggle keeps its size when the header sticks, same as the nav links) */
/* Center the toggle widget vertically in the nav row (the row is align-items:stretch,
   so the widget would otherwise stretch full-height and pin the pill to the top). */
.elementor-location-header .elementor-element-mnlangtg { align-self: center; }
/* Neutralize the kit's yellow button hover/focus/active on the toggle (it would turn
   the pill yellow). Keep the active option white, inactive muted — no bg change. */
.elementor-location-header .mn-langtoggle .mn-langtoggle__opt:hover,
.elementor-location-header .mn-langtoggle .mn-langtoggle__opt:focus,
.elementor-location-header .mn-langtoggle .mn-langtoggle__opt:focus-visible,
.elementor-location-header .mn-langtoggle .mn-langtoggle__opt:active {
  background: transparent;
  box-shadow: none;
  color: var(--mn-muted, #5E524D);
}
.elementor-location-header .mn-langtoggle .mn-langtoggle__opt.is-on:hover,
.elementor-location-header .mn-langtoggle .mn-langtoggle__opt.is-on:focus,
.elementor-location-header .mn-langtoggle .mn-langtoggle__opt.is-on:active {
  color: var(--mn-paper, #fff);
}
.mn-langtoggle .mn-langtoggle__opt:focus-visible { outline: 2px solid var(--mn-ink, #231614); outline-offset: 1px; }
.mn-langtoggle .mn-langtoggle__opt:focus:not(:focus-visible) { outline: none; }

/* Google Translate Element (free client-side translation, no plugin) — hide its
   injected banner/tooltip/floating icon in every state, and cancel the body
   offset it adds, so it never shifts the layout. ES/EN toggle stays ours. */
.goog-te-banner-frame.skiptranslate,
.goog-te-gadget-icon,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-te-spinner-pos,
.goog-te-menu-frame,
#google_translate_element,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-ZVi9od-aZ2wEe-OiiCO,
[class*="VIpgJd-ZVi9od-aZ2wEe-wOHMyf"],
[class*="VIpgJd-ZVi9od-aZ2wEe-OiiCO"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
.skiptranslate > iframe { display: none !important; height: 0 !important; }
body { top: 0 !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

/* ── Responsive (design: ≤980 hides ticker + dateline, search goes full) ─── */
@media (max-width: 980px) {
  .elementor-location-header .elementor-element-mntckcel { display: none; }
  .elementor-location-header .elementor-element-mnsrccel { flex: 1 1 100%; max-width: none; }
  .elementor-location-header .elementor-element-mnctrce0 { display: none; }
}


/* ───────────────────────────────────────────────────────────────────────────
   SATIN SURFACES — sheen + paper-fiber grain + tonal depth, from the design
   bundle's footer recipe (nkDec7drcjo7RwEZLQCLoA). Two variants share one
   tileable grain (assets/img/mn-grain.png, 240px):

   · .mn-satin--ink    dark (the design's footer treatment)
   · .mn-satin--paper  light (same recipe re-lit for the warm paper canvas)

   Reuse: add either class to any Elementor container (Advanced → CSS Classes).
   Applied below to the footer root and to the body canvas.
   ─────────────────────────────────────────────────────────────────────────── */
.mn-satin--ink {
  background-color: #0B0B0C;
  background-image:
    /* satin sheen — soft diagonal light sweep */
    linear-gradient(108deg,
      rgba(255,255,255,0) 28%,
      rgba(255,255,255,0.04) 44%,
      rgba(255,255,255,0.10) 50%,
      rgba(255,255,255,0.04) 56%,
      rgba(255,255,255,0) 72%),
    /* construction-paper fiber grain (tileable) */
    url("../assets/img/mn-grain.png"),
    /* tonal depth so the sheen has something to fall across */
    radial-gradient(130% 150% at 50% -10%, #232323 0%, #161616 52%, #090909 100%);
  background-size: 220% 100%, 240px 240px, 100% 100%;
  background-blend-mode: screen, overlay, normal;
}
.mn-satin--paper {
  background-color: var(--mn-bg, #F0EEE9);
  background-image:
    /* the same sweep, re-lit: a brighter pass reads on a light ground */
    linear-gradient(108deg,
      rgba(255,255,255,0) 28%,
      rgba(255,255,255,0.35) 44%,
      rgba(255,255,255,0.65) 50%,
      rgba(255,255,255,0.35) 56%,
      rgba(255,255,255,0) 72%),
    url("../assets/img/mn-grain.png"),
    /* light tonal depth: lifted center-top, gently deeper edges */
    radial-gradient(130% 150% at 50% -10%, #FAF8F4 0%, #F0EEE9 52%, #E7E3DA 100%);
  background-size: 220% 100%, 240px 240px, 100% 100%;
  background-blend-mode: screen, overlay, normal;
}

/* live footer (template 3695 root) gets the design's dark satin; the native
   #211918 background-color remains the no-image fallback underneath */
.elementor-location-footer .elementor-element-bdfb254 {
  background-color: #0B0B0C;
  background-image:
    linear-gradient(108deg,
      rgba(255,255,255,0) 28%,
      rgba(255,255,255,0.04) 44%,
      rgba(255,255,255,0.095) 50%,
      rgba(255,255,255,0.04) 56%,
      rgba(255,255,255,0) 72%),
    url("../assets/img/mn-grain.png"),
    radial-gradient(130% 150% at 50% -10%, #1c1c1d 0%, #111111 52%, #070707 100%);
  background-size: 220% 100%, 240px 240px, 100% 100%;
  background-blend-mode: screen, overlay, normal;
  position: relative;
}
/* design's top hairline: a faint center-lit seam where footer meets page */
.elementor-location-footer .elementor-element-bdfb254::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.16) 50%,
    rgba(255,255,255,0) 100%);
  pointer-events: none;
}

/* the page canvas wears the white satin (sections with explicit backgrounds
   still paint over it, same as the flat color did) */
body {
  background-color: var(--mn-bg, #F0EEE9);
  background-image:
    linear-gradient(108deg,
      rgba(255,255,255,0) 28%,
      rgba(255,255,255,0.35) 44%,
      rgba(255,255,255,0.65) 50%,
      rgba(255,255,255,0.35) 56%,
      rgba(255,255,255,0) 72%),
    url("../assets/img/mn-grain.png"),
    radial-gradient(130% 150% at 50% -10%, #FAF8F4 0%, #F0EEE9 52%, #E7E3DA 100%);
  background-size: 220% 100%, 240px 240px, 100% 100%;
  background-blend-mode: screen, overlay, normal;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SINGLE POST — verbatim post.css from final bundle 1rYPJAUiujXQftrzLaGP_A.
   Class-level rules bind to widget classes and shortcode markup; container-
   level layout is mirrored onto stable element IDs in the adapter below.
   ═══════════════════════════════════════════════════════════════════════════ */
/* ─── Single post template ─── */

/* Split hero (v2) — title left, image right */
.mn-art-hero--split {
  padding-top: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--mn-rule);
}
.mn-art-hero--split .mn-art-hero__inner {
  max-width: none;
  display: grid;
  grid-template-columns: 6fr 6fr;
  gap: 56px;
  align-items: center;
}
.mn-art-hero--split .mn-art-hero__head {
  font-size: 48px;
  line-height: 1.04;
  margin: 0 0 18px;
}
.mn-art-hero--split .mn-art-hero__deck {
  font-size: 19px;
  line-height: 1.5;
  margin: 0 0 24px;
}
.mn-art-hero--split .mn-art-img {
  margin: 0;
}
.mn-art-hero--split .mn-art-img__media {
  aspect-ratio: 4 / 3;
  height: auto;
}
.mn-art-hero--split .mn-art-hero__crumbs { margin-bottom: 18px; }
.mn-art-hero--split .mn-art-hero__eyebrow { margin-bottom: 14px; }
.mn-art-hero--split .mn-byline {
  border-top: 1px solid var(--mn-rule);
  border-bottom: 0;
  padding-bottom: 0;
  margin-top: 4px;
}
.mn-art-hero--split .mn-art-img__cap {
  margin: 12px 0 0;
  font-size: 12px;
}
@media (max-width: 980px) {
  .mn-art-hero--split .mn-art-hero__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .mn-art-hero--split .mn-art-hero__head { font-size: 34px; }
  .mn-art-hero--split .mn-art-img__media { aspect-ratio: 4/3; }
}

/* Article hero */
.mn-art-hero {
  padding: 56px 0 36px;
}
.mn-art-hero__inner {
  max-width: 820px;
  margin: 0 auto;
}
.mn-art-hero__crumbs {
  font-family: var(--mn-sans);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mn-muted);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.mn-art-hero__crumbs a { color: var(--mn-muted); }
.mn-art-hero__crumbs a:hover { color: var(--mn-ink); }
.mn-art-hero__crumbs .sep { opacity: 0.4; }
.mn-art-hero__crumbs .now {
  color: var(--mn-ink);
  font-weight: 600;
}
.mn-art-hero__eyebrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-ink);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.mn-art-hero__eyebrow::before {
  content: "";
  width: 22px; height: 3px;
  background: var(--mn-yellow);
}
.mn-art-hero__eyebrow .urg {
  background: var(--mn-crisis);
  color: var(--mn-paper);
  padding: 3px 8px;
  border-radius: 5px;
  letter-spacing: 0.1em;
  font-size: 10px;
}
.mn-art-hero__head {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 56px;
  line-height: 1.04;
  letter-spacing: -0.022em;
  margin: 0 0 22px;
  text-wrap: balance;
}
.mn-art-hero__deck {
  font-family: var(--mn-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.45;
  color: var(--mn-muted);
  margin: 0 0 32px;
  max-width: 64ch;
  text-wrap: pretty;
}
@media (max-width: 760px) {
  .mn-art-hero__head { font-size: 36px; }
  .mn-art-hero__deck { font-size: 18px; }
}

/* Byline row */
.mn-byline {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid var(--mn-rule);
  border-bottom: 1px solid var(--mn-rule);
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
}
.mn-byline__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--mn-tint);
}
.mn-byline__avatar .mn-ph { font-size: 9px; }
.mn-byline__who { line-height: 1.35; flex: 1; }
.mn-byline__who b { color: var(--mn-ink); font-weight: 600; font-size: 14px; display: block; }
.mn-byline__meta {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 12px;
}
.mn-byline__meta .dot { width: 3px; height: 3px; background: currentColor; border-radius: 50%; opacity: 0.5; }
.mn-byline__share {
  display: flex;
  gap: 6px;
}
.mn-share-btn {
  width: 34px; height: 34px;
  min-width: 34px; flex: none;   /* keep square; never shrink in the flex row */
  border: 1px solid var(--mn-rule);
  background: var(--cream-deep);
  color: var(--mn-ink);
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color .15s, background-color .15s, border-color .15s, box-shadow .15s;
}
.mn-share-btn svg { width: 17px; height: 17px; }
.mn-share-btn i { font-size: 16px; line-height: 1; }
/* the "Copiar enlace" item is a real <button>: strip native chrome + force the
   icon colour so its glyph renders like the <a> share icons (was rendering blank) */
.mn-byline__share button.mn-share-btn { -webkit-appearance: none; appearance: none; font: inherit; padding: 0; color: var(--mn-ink); }
.mn-byline__share button.mn-share-btn:hover { color: #fff; }
/* design hover: dark radial body + top-left sheen + inset highlight/shadow → "dimension" */
.mn-share-btn:hover {
  border-color: #2a2825;
  background-color: #2b2926;
  background-image:
    radial-gradient(90% 70% at 26% -12%, rgba(255,244,228,0.42) 0%, rgba(255,244,228,0.12) 22%, rgba(255,244,228,0) 42%),
    radial-gradient(140% 140% at 50% -20%, #3b3834 0%, #2b2925 55%, #211f1c 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,244,228,0.34),
    inset 0 -1px 0 rgba(0,0,0,0.45);
  color: #fff;
}

/* Hero image */
.mn-art-img {
  margin: 36px 0 12px;
}
.mn-art-img__media {
  aspect-ratio: 16 / 9;
  background: var(--mn-rule);
  border-radius: 5px;
  overflow: hidden;
}
.mn-art-img__cap {
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
  margin: 12px 0 0;
  max-width: 820px;
  line-height: 1.5;
}
.mn-art-img__cap b { color: var(--mn-ink); font-weight: 600; }

/* Article body layout */
.mn-art-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 64px;
  padding: 16px 0 80px;
  max-width: 1180px;
  margin: 0 auto;
}
.mn-art-body__main { max-width: 720px; }
@media (max-width: 980px) {
  .mn-art-body { grid-template-columns: 1fr; gap: 48px; }
}

/* Disclaimer band — for KYR / immigration posts */
.mn-disclaimer {
  background: var(--mn-tint);
  border-left: 3px solid var(--mn-yellow);
  border-radius: 5px;
  padding: 18px 22px;
  margin: 0 0 32px;
  font-family: var(--mn-sans);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mn-ink);
}
.mn-disclaimer b {
  display: block;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

/* Knowns box — "Lo que sabemos / Lo que aún no podemos confirmar" */
.mn-knowns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--mn-ink);
  border-radius: 5px;
  overflow: hidden;
  margin: 36px 0;
}
.mn-knowns__col { padding: 20px 22px; }
.mn-knowns__col + .mn-knowns__col { border-left: 1px solid var(--mn-ink); }
.mn-knowns__col h4 {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mn-knowns__col h4::before {
  content: "";
  width: 14px; height: 3px;
  background: var(--mn-yellow);
}
.mn-knowns__col--maybe { background: var(--mn-tint); }
.mn-knowns__col--maybe h4::before { background: var(--mn-crisis); }
.mn-knowns ul {
  margin: 0; padding-left: 18px;
  font-family: var(--mn-sans);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mn-ink);
}
.mn-knowns li + li { margin-top: 8px; }
@media (max-width: 760px) {
  .mn-knowns { grid-template-columns: 1fr; }
  .mn-knowns__col + .mn-knowns__col { border-left: 0; border-top: 1px solid var(--mn-ink); }
}

/* Prose */
.mn-prose {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, "Segoe UI", Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--mn-ink);
  letter-spacing: -0.003em;
}
.mn-prose > p {
  margin: 0 0 1.1em;
  text-wrap: pretty;
}
/* drop cap: single rule below (.single-post …::first-letter) */
.mn-prose h2 {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -0.012em;
  margin: 1.6em 0 0.5em;
  text-wrap: balance;
}
.mn-prose h3 {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.25;
  margin: 1.4em 0 0.4em;
}
/* Prose hyperlinks: themes/memphis/inc/mn-prose-links.css (site-wide canonical). */
.mn-prose blockquote {
  font-family: var(--mn-serif);
  font-style: italic;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.35;
  color: var(--mn-ink);
  margin: 1.5em 0;
  padding: 0 32px;
  border-left: 4px solid var(--mn-yellow);
  text-wrap: balance;
}
.mn-prose blockquote cite {
  display: block;
  font-style: normal;
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mn-muted);
  margin-top: 12px;
}
.mn-prose figure {
  margin: 1.8em 0;
}
.mn-prose figure .mn-card__media { aspect-ratio: 16/9; }
.mn-prose figcaption {
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
  margin-top: 10px;
  line-height: 1.5;
}
.mn-prose ul, .mn-prose ol {
  margin: 0 0 1.1em;
  padding-left: 28px;
}
.mn-prose li { margin-bottom: 0.4em; }
.mn-prose hr {
  border: 0;
  border-top: 1px solid var(--mn-rule);
  margin: 2em 0;
}

/* Pull box / call-out */
.mn-pull {
  background: var(--mn-yellow);
  padding: 24px 26px;
  margin: 28px 0;
  border-radius: 5px;
  font-family: var(--mn-serif);
  font-style: italic;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.35;
  color: var(--mn-ink);
  text-wrap: balance;
}
@media (max-width: 760px) {
  .mn-prose blockquote, .mn-pull { margin-left: 0; margin-right: 0; padding-left: 18px; padding-right: 18px; }
}

/* Tags + share footer */
.mn-art-tags {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--mn-rule);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.mn-tag {
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--mn-rule-strong);
  border-radius: 5px;
  padding: 3px 12px;
  line-height: 1.5;
  color: var(--mn-ink);
}
.mn-tag:hover { background: var(--mn-yellow); border-color: var(--mn-yellow); }

/* Author bio */
.mn-author {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 18px;
  padding: 24px;
  background: var(--mn-tint);
  border-radius: 5px;
}
.mn-author__avatar { display: block; aspect-ratio: 1/1; border-radius: 50%; overflow: hidden; background: var(--mn-rule); }
.mn-author__name a { color: inherit; text-decoration: none; }
.mn-author__name a:hover { color: var(--mn-yellow); }
.mn-author__name {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 20px;
  margin: 0 0 4px;
}
.mn-author__title {
  font-family: var(--mn-sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mn-muted);
  margin: 0 0 10px;
}
.mn-author__bio {
  font-size: 14px;
  line-height: 1.55;
  color: var(--mn-ink);
  margin: 0;
  max-width: 60ch;
}

/* Noir author bio — single-post author card (bundle mn2.0). Mirrors the
   author-archive hero treatment: dark textured surface, square portrait with a
   yellow accent, light-on-dark type, yellow "view all posts" link. */
.mn-author--noir {
  position: relative;
  grid-template-columns: 128px 1fr;
  gap: 30px;
  align-items: center;
  padding: 28px 32px;
  border-radius: 6px;
  overflow: hidden;
  color: var(--mn-paper);
  /* Diagonal pinstripes + radial vignette on the noir base. (The shared --noir-bg
     grain texture reads as noisy at this card size, so it is intentionally omitted
     here — the design treatment for this card is the pinstripe, not the grain.) */
  background-color: var(--noir-base);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.06) 0 1px, rgba(255,255,255,0) 1px 8px),
    radial-gradient(92% 132% at 26% -26%, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.04) 30%, rgba(255,255,255,0) 58%),
    radial-gradient(130% 150% at 50% -10%, #1C1C1D 0%, #111111 52%, #070707 100%);
  background-size: auto, 100% 100%, 100% 100%;
  background-repeat: repeat, no-repeat, no-repeat;
  background-blend-mode: normal, screen, normal;
}
.mn-author--noir .mn-author__portrait {
  position: relative;
  align-self: start;
}
.mn-author--noir .mn-author__portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 6px;
  box-shadow: 0 18px 44px -22px rgba(0,0,0,0.7);
  z-index: 0;
}
.mn-author--noir .mn-author__portrait::before {
  content: "";
  position: absolute;
  left: -10px;
  bottom: -10px;
  width: 60px;
  height: 60px;
  background: var(--mn-yellow);
  border-radius: 4px;
  z-index: 1;
}
.mn-author--noir .mn-author__avatar {
  position: relative;
  z-index: 2;
  aspect-ratio: 1 / 1;
  border-radius: 6px;
  overflow: hidden;
  background: #15233f;
}
.mn-author--noir .mn-author__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mn-author--noir .mn-author__name { color: var(--mn-paper); font-size: 22px; }
.mn-author--noir .mn-author__title { color: var(--mn-yellow); font-size: 12px; }
.mn-author--noir .mn-author__bio {
  font-size: 13px;
  color: rgba(255,255,255,0.78);
  max-width: none;
}
.mn-author--noir .mn-author__more {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mn-yellow);
  text-decoration: none;
}
.mn-author--noir .mn-author__more span {
  transition: transform 0.18s ease;
}
.mn-author--noir .mn-author__more:hover span {
  transform: translateX(3px);
}
/* Mobile-responsive (live single-post template is one responsive template) */
@media (max-width: 768px) {
  .mn-author--noir {
    grid-template-columns: 104px 1fr;
    gap: 22px;
    padding: 24px;
  }
  .mn-author--noir .mn-author__name { font-size: 20px; }
}
@media (max-width: 460px) {
  .mn-author--noir {
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
    padding: 22px;
  }
  .mn-author--noir .mn-author__portrait { width: 96px; }
}

/* Sidebar */
.mn-side { display: flex; flex-direction: column; gap: 36px; }
.mn-side__h {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--mn-ink);
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.mn-side__h::before {
  content: "";
  width: 10px; height: 10px;
  background: var(--mn-yellow);
}
.mn-side__rank {
  display: flex;
  flex-direction: column;
}
.mn-rank-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--mn-rule);
}
.mn-rank-item:first-child { border-top: 0; padding-top: 0; }
.mn-rank-item__n {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  color: var(--mn-yellow-deep);
}
.mn-rank-item__head {
  font-family: var(--mn-serif);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.25;
  margin: 0 0 2px;
  text-wrap: balance;
}
.mn-rank-item__meta {
  font-family: var(--mn-sans);
  font-size: 11px;
  color: var(--mn-muted);
}

/* KYR / VG sidebar cards (sticky removed 2026-09-04 — single-post sidebar scrolls) */
.mn-side__kyr {
  background: var(--mn-ink);
  color: var(--mn-paper);
  border-radius: 5px;
  padding: 22px;
  position: static;
  top: auto;
}
.mn-side__kyr h3 {
  font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.15;
  margin: 8px 0 8px;
  text-wrap: balance;
}
.mn-side__kyr p {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255,255,255,0.75);
  margin: 0 0 16px;
}
.mn-side__kyr a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--mn-yellow);
  color: var(--mn-ink);
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 8px 12px;
  border-radius: 5px;
}
.mn-side__kyr .eyebrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mn-yellow);
}

/* Related */
.mn-related {
  background: var(--mn-tint);
  padding: 64px 0;
}
.mn-related .mn-modhead { border-bottom-color: var(--mn-ink); }

/* ── single-post adapter: live-markup aliases ── */
.mn-art-tags .jet-listing-dynamic-terms__link { font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--mn-rule-strong);
  border-radius: 5px;
  padding: 6px 12px;
  color: var(--mn-ink); }
.mn-side__rank .jet-listing-grid__item::before { font-family: var(--mn-serif);
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  color: var(--mn-yellow-deep); }
.mn-art-img .widget-image-caption { margin: 12px 0 0;
  font-size: 12px; }
.mn-side__rank .mn-rank-item__head .jet-listing-dynamic-field__content { font-family: var(--mn-serif);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.25;
  margin: 0 0 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }
.mn-side__rank .mn-rank-item__meta { font-family: var(--mn-sans);
  font-size: 11px;
  color: var(--mn-muted); }
.mn-art-tags .jet-listing-dynamic-terms__link::before { content: "#"; }

/* ── single-post adapter: template container layout (element-ID scoped) ── */
.elementor-element-snheroin {
  /* V2 split hero: text left, image right (design .mn-art-hero--split) */
  /* Unlock legacy .mn-art-hero__inner { max-width:820px } so split fills mn-wrap (audit F-HERO-001 2026-09-04) */
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  display: grid !important;
  grid-template-columns: 6fr 6fr;
  gap: 56px;
  align-items: stretch;
}
.elementor-element-snherolf,
.elementor-element-snherorh {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}
.elementor-element-snhero00 .elementor-element-sneyerow { margin-bottom: 26px; }
@media (max-width: 980px) {
  .elementor-element-snheroin { grid-template-columns: 1fr; gap: 28px; }
}
.elementor-element-snblrow {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 16px 0 0; /* user: divider sits closer to the byline data below it */
  border-top: 1px solid var(--mn-rule);
  border-bottom: 1px solid var(--mn-rule);
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
}
.elementor-element-snblwho { flex: 1 1 auto; min-width: 0; }
.elementor-element-snbodyrw {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 88px;
  width: 100%;
  /* margin-right:50px removed 2026-09-04 (audit F-BODY-001) — restored mn-art-body auto centering */
}
.elementor-element-snmaincl { min-width: 0; }
.elementor-element-snsidecl { display: flex !important; flex-direction: column; gap: 36px; min-width: 0; }
/* "Lo último": pull the top story closer to the heading divider (drop the heading's redundant bottom margin) */
.elementor-element-snsidecl .elementor-element-snsideh { margin-bottom: 0; }
/* sticky was on .elementor-element-snsticky (DS v8); disabled 2026-09-04 */
.elementor-element-snnewsrw {
  display: grid !important;
  grid-template-columns: 5fr 7fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 980px) {
  .elementor-element-snbodyrw { grid-template-columns: 1fr; gap: 40px; }
  .elementor-element-snnewsrw { grid-template-columns: 1fr; gap: 24px; }
}

/* sidebar "Lo último" ranked list: numbering via CSS counter on the stable
   jet grid item class (no per-item data needed) */
.mn-side__rank .jet-listing-grid__items { counter-reset: mnrank; }
.mn-side__rank .jet-listing-grid__item {
  counter-increment: mnrank;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--mn-rule);
}
.mn-side__rank .jet-listing-grid__item:first-child { border-top: 0; padding-top: 0; }
.mn-side__rank .jet-listing-grid__item::before { content: "0" counter(mnrank); }

/* share buttons → design's 36px bordered squares */
.elementor-element-snshare .elementor-share-btn {
  width: 36px; height: 36px;
  border: 1px solid var(--mn-rule);
  background: var(--mn-paper);
  color: var(--mn-ink);
  border-radius: 5px;
}
.elementor-element-snshare .elementor-share-btn:hover { background: var(--mn-yellow); border-color: var(--mn-yellow); }
.elementor-element-snshare .elementor-share-btn__icon { color: var(--mn-ink); }


/* ── single-post V2 split-hero overrides (scoped to the hero band ID; the
   design's .mn-art-hero--split ancestor class never renders on containers) ── */
/* hero title size/line-height moved to the Post Title widget controls
   2026-07-04; balance-wrapping has no control and stays. (The old 36px margin
   here was dead — the 26px !important widget rule below always won.) */
.elementor-element-snhero00 .mn-art-hero__head .elementor-heading-title {
  text-wrap: balance;
}
.elementor-element-snhero00 .mn-art-hero__deck {
  font-size: 19px;
  line-height: 1.5;
  margin: 0 0 48px; /* user: more spacing below the excerpt */
}
.elementor-element-snhero00 .mn-art-hero__crumbs { margin-bottom: 18px; }
.elementor-element-snhero00 .mn-art-img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 8px;
}
/* split-hero caption is plain text (design .mn-art-hero--split .mn-art-img__cap:
   no box — a cream card on the cream band would vanish) */
.elementor-element-snhero00 .mn-art-img .widget-image-caption {
  margin: 10px 2px 0;
  font-size: 12px;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.elementor-element-snhero00 .mn-art-img .mn-art-img__cred { display: block; margin-top: 3px; font-style: italic; opacity: 0.85; }
/* byline in split hero: top border only */
.elementor-element-snblrow { border-bottom: 0; padding-bottom: 0; margin-top: 4px; }

/* DS update (fuvEr6Sg): single-post hero → cream band (design
   .mn-art-hero--split { background: var(--cream-light) }). The 30/30 padding
   and 1px bottom rule already matched the design, so only the surface changes
   (was --e-global-color-mn_paper, set inline by Elementor). */
.elementor-33691 .elementor-element.elementor-element-snhero00:not(.elementor-motion-effects-element-type-background),
.elementor-33691 .elementor-element.elementor-element-snhero00 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--cream-light) !important;
}

/* single-post V2 alignment updates (bundle jjvYno9hNMpv4YoWtcfE9g) */
/* sidebar half-page ad fills the column; striped reserved-inventory look
   (the .mn-adslot container class does not render in theme-builder output) */
.elementor-element-snsidead {
  width: 100%;
  max-width: none;
  aspect-ratio: 4 / 5; /* Sidebar 320x400 (DS v8 GB.13) */
  border: 1px dashed var(--mn-rule-strong);
  border-radius: 5px;
  background:
    repeating-linear-gradient(45deg,
      transparent 0 14px,
      rgba(33, 25, 24, 0.025) 14px 28px),
    var(--mn-tint);
}

/* DS v8 sidebar stack (snsticky): flex column only — sticky OFF 2026-09-04
   (Tracy: no sidebar elements should stick on single template 33691). */
.elementor-element-snsticky {
  position: static;
  top: auto;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
@media (max-width: 980px) {
  .elementor-element-snbodyrw {
    grid-template-columns: 1fr !important;
  }
  /* Half-page sidebar ad hidden on tablet/mobile via Elementor responsive hide
     on widget 2a26cd5 (stacked layout). No height hack needed. */
}
.mn-adslot--sidebar { width: 100%; aspect-ratio: 4 / 5; }

/* ── V2: breadcrumb strip between masthead and hero (design .mn-crumbbar) ──
   The Rank Math breadcrumb output is mapped onto the design's trail look. */
.elementor-element-sncrumbw { width: 100%; max-width: var(--mn-container); margin: 0 auto; }
/* Unified [mn_crumbbar] strip — one bar, identical position on every editorial template (2026-06-22).
   Self-contained (classes render because it's shortcode HTML, not an Elementor container class). */
.mn-crumbbar { background: var(--cream-light); padding: 14px 0; width: 100%; }
.mn-crumbbar__inner { width: 100%; max-width: var(--mn-container, 1440px); margin: 0 auto; padding-left: var(--mn-gutter, 24px); padding-right: var(--mn-gutter, 24px); }
.mn-crumbs .rank-math-breadcrumb,
.mn-crumbs .rank-math-breadcrumb p {
  font-family: var(--mn-sans);
  font-size: 13px;
  line-height: 1.3;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}
.mn-crumbs .rank-math-breadcrumb a {
  color: var(--mn-muted);
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
}
.mn-crumbs .rank-math-breadcrumb a:hover {
  color: var(--mn-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mn-crumbs .rank-math-breadcrumb .separator {
  color: var(--mn-muted);
  opacity: 0.6;
  font-weight: 600;
}
.mn-crumbs .rank-math-breadcrumb .last {
  color: var(--mn-muted);
  font-weight: 600;
  opacity: 0.7;
  /* clip a long current title with an ellipsis (~4 words). The full title shows
     in the H1 right below, so the crumb only needs to signal the end. Colour is
     deliberately left untouched. */
  max-width: 28ch;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* Footer top breadcrumb bar — dark strip at footer edge (tpl 3695, [mn_footer_crumbbar]).
   Left-aligned within the 1320px editorial container; hides on home like [mn_crumbbar]. */
.mn-crumbbar--footer {
  background: transparent; /* inherit footer root grain from bdfb254 */
  padding: 16px 0;
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.mn-crumbbar--footer .mn-crumbbar__inner {
  text-align: left;
  padding-left: 24px;
  padding-right: 24px;
}
.mn-crumbbar--footer .rank-math-breadcrumb,
.mn-crumbbar--footer .rank-math-breadcrumb p {
  font-size: 14px;
  line-height: 1.3;
}
.mn-crumbbar--footer .rank-math-breadcrumb a {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 600;
}
.mn-crumbbar--footer .rank-math-breadcrumb a:hover {
  color: var(--mn-yellow);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mn-crumbbar--footer .rank-math-breadcrumb .separator {
  color: rgba(255, 255, 255, 0.32);
  opacity: 1;
}
.mn-crumbbar--footer .rank-math-breadcrumb .last {
  color: rgba(255, 255, 255, 0.42);
  opacity: 1;
  max-width: 28ch;
}

/* Event location map (mn_event_map): cap Leaflet stacking below sticky header (z-index 100).
   Leaflet zoom controls default to z-index 800; isolation on .mn-map is not always enough on scroll. */
.mn-map,
.mn-map .leaflet-container { position: relative; z-index: 0; isolation: isolate; }
.mn-map .leaflet-pane,
.mn-map .leaflet-top,
.mn-map .leaflet-bottom,
.mn-map .leaflet-control { z-index: 1 !important; }
.mn-map .leaflet-control-attribution { display: none !important; }


/* ── V2: knowns box neutral restyle (matches blocks.css for Gutenberg) ── */
.mn-knowns {
  border-color: var(--mn-rule);
  border-radius: 6px;
}
.mn-knowns .mn-knowns__col { padding: 28px; background: #FBFAF8; }
.mn-knowns .mn-knowns__col--maybe { background: var(--mn-bg); }
.mn-knowns .mn-knowns__col + .mn-knowns__col { border-left: 1px solid var(--mn-rule); }

/* ───────────────────────────────────────────────────────────────────────────
   LISTING-CARD ADAPTER — container classes do not render inside listing
   template output (same stripping as Theme Builder), so card-level layout
   binds to the plugin's stable grid classes and to widget classes instead.
   ─────────────────────────────────────────────────────────────────────────── */
/* (Removed 2026-06-16) The blanket ".jet-listing-grid__item .e-con { padding: 0 }"
   safety-net and its per-event-listing exemption (33856/57/58) were deleted. The
   Elementor kit default container padding is 0 (kit post 8), so listing containers
   already render zero padding unless a control sets it — the blanket only ever
   OVERRODE editable control padding (specificity 0,2,0 beat Elementor's .e-con),
   which breaks the controls-first rule and silently suppressed intentional padding:
   the LG.09 category row (33834) lost its 28px top/bottom row rhythm, and the event
   cards needed the exemption to get their insets back. Container padding now comes
   from each listing's own (editable) controls. The LG.08 thumb-brief's vestigial
   thumb padding-top:9 was stripped from its controls at the same time so the square
   thumb stays top-aligned. */
/* Bottom-lock for the venue/organizer directions links in the location+organizer duo:
   margin-top:auto pushes the link to the bottom-left of its (stretched) column so the two
   columns' links sit on the same line. Enforce-only — Elementor's margin control has no
   "auto" value, so this flex behaviour has no native control to set. */
.ev-stick-bottom { margin-top: auto; }
/* card hover: headline shifts to accent (replaces dead .mn-card:hover rule) */
.jet-listing-grid__item:hover .mn-card__head { color: var(--mn-accent); }
.jet-listing-grid__item:hover .mn-lead__head { color: var(--mn-accent); }
/* thumb-brief lists: divider rhythm between rows (replaces dead .mn-card--brief) */
.mn-briefs-grid .jet-listing-grid__item {
  /* divider lives ONLY on the inner brief card (.e-con) — having it here too made
     a double rule between stacked posts. */
  padding-top: 0;
  margin-top: 0;
  border-top: 0;
}
.mn-briefs-grid .jet-listing-grid__item:first-child { padding-top: 0; margin-top: 0; border-top: 0; }

/* yellow CTA buttons: widget classes sit on the wrapper, so reach the inner
   .elementor-button to beat the kit's ink button default */
/* .mn-founder__btn .elementor-button rules removed 2026-06-22 — the founder CTA exists only in old
   homepage revisions, not on any live page (dead override CSS). If a founder button is rebuilt, style
   it via the Button widget's own controls, not here. */

/* ── byline rows: design gap + dot separators (dynamic-meta renders items
      with no spacing of its own) ── */
.jet-listing-dynamic-meta.meta-layout-inline {
  display: flex;
  align-items: center;
  gap: 10px;
}
.jet-listing-dynamic-meta__item + .jet-listing-dynamic-meta__item::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.6;
  margin-right: 10px;
  vertical-align: middle;
}
.jet-listing-dynamic-meta__item { display: inline-flex; align-items: center; }
/* opinion chip: yellow pill hugs its text instead of spanning the column */
.mn-eyebrow--opinion { width: fit-content; }

/* ── nav row: links fill the full 52px row (text centered) so the yellow hover
      bar sits flush with the header's bottom edge. Uses a flex-STRETCH chain,
      not height:100% — the row is min-height:52px (no definite height), so a
      percentage chain collapses to content height (20px) and the bar floats. ── */
.elementor-location-header .elementor-element-mnnavinn { align-items: stretch; }
.elementor-location-header .elementor-element-mnnavinn > .elementor-widget-nav-menu {
  align-self: stretch;
  display: flex;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-widget-nav-menu > .elementor-widget-container {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.elementor-location-header .elementor-element-mnnavinn ul.elementor-nav-menu { align-items: stretch; }
.elementor-location-header .elementor-element-mnnavinn ul.elementor-nav-menu > li {
  display: flex;
  align-items: stretch;
  margin: 0 !important;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-item {
  display: inline-flex;
  align-items: center;   /* text vertically centered in the full-height link */
}

/* ── live weather block ([mn_weather] + mn-weather.js) ──
   Stacked: icon + temp on top, condition · location below, right-aligned so it
   stays inside the right margin (the inline layout overflowed the container). */
.elementor-location-header .mn-weather {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  font-family: var(--mn-sans);
  color: var(--mn-muted);
}
.elementor-location-header .mn-weather__top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.elementor-location-header .mn-weather__icon { display: inline-flex; color: var(--mn-muted); }
.elementor-location-header .mn-weather__temp { font-family: var(--mn-serif); font-weight: 700; font-size: 22px; line-height: 1; color: var(--mn-ink); }
.elementor-location-header .mn-weather__meta { font-size: 11px; line-height: 1.2; white-space: nowrap; }

/* ── Body content wraps → EXACTLY the header's content box (1440 + gutter).
   The .mn-wrap custom class does not render on these band-child containers
   (Elementor quirk), so we cap them by their stable element-IDs — the same
   reliable mechanism the header inners use — keeping header + body margins
   pixel-identical. ── */
.elementor-element-0d10fed, .elementor-element-48a415b, .elementor-element-a56245e, .elementor-element-ad52e38, .elementor-element-6edd51e, .elementor-element-9f1cdbf, .elementor-element-08f31d7, .elementor-element-dd311ff, .elementor-element-6cf9c5b, .elementor-element-sncrumbw, .elementor-element-snherow0, .elementor-element-snbodyw0, .elementor-element-snrelw00, .elementor-element-evhwrap, .elementor-element-mnctherow, .elementor-element-mnctgrid {
  width: 100%;
  max-width: var(--mn-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--mn-gutter);
  padding-right: var(--mn-gutter);
}

/* ═══════════════════════════════════════════════════════════════════════════
   NAV — AUTHORITATIVE vertical-centering block (computed-verified 2026-06-13).
   The bug: the nav row defaulted to flex-direction:column with only min-height
   (not a definite height), so the height:100% chain to the links never resolved
   and links pinned to the top. Fix: definite 44px row, flex ROW, stretch the
   full chain so each link fills the row and centers its own text; the yellow
   hover/active bar (::after bottom:0) lands flush with the strip's bottom edge.
   ═══════════════════════════════════════════════════════════════════════════ */
.elementor-location-header .elementor-element-mnnavcel { justify-content: center; }
.elementor-location-header .elementor-element-mnnavinn {
  flex-direction: row !important;
  align-items: stretch !important;
  height: 44px !important;
  min-height: 44px !important;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-widget-nav-menu { align-self: stretch !important; height: 100% !important; }
.elementor-location-header .elementor-element-mnnavinn .elementor-widget-nav-menu > .elementor-widget-container { height: 100% !important; display: flex; align-items: stretch; }
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main { height: 100% !important; display: flex; align-items: stretch; }
.elementor-location-header .elementor-element-mnnavinn ul.elementor-nav-menu { height: 100% !important; align-items: stretch !important; }
.elementor-location-header .elementor-element-mnnavinn ul.elementor-nav-menu > li { height: 100% !important; align-items: stretch !important; }
.elementor-location-header .elementor-element-mnnavinn .elementor-item { height: 100% !important; display: inline-flex !important; align-items: center !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   HOMEPAGE LOWER-PAGE BALANCE PASS — design bundle YlP1vkGNg6AxNMvsgcqGxg
   (Portada). Source of truth: project/styles.css. Fixes:
   (1) hero divider/section double-spacing; (2) billboard ad → design .mn-adslot
   striped box; (3) Memphis Local brief rail → design .mn-card--brief.
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1 ── Hero: remove the doubled spacing below the lead. Keep 40px above the
        divider line; the band rhythm (Inmigración's 64px top) carries below.
        Was: divider 40/40 + section-bottom 48 = ~128px stacked under the line. */
/* DS update (fuvEr6Sg): hero lead → cream band (design moved the lead onto
   --cream-light), divider removed (band color now does the separation). */
.elementor-3573 .elementor-element-1dfdd9b {
  background-color: var(--cream-light) !important;
  --padding-top: 64px !important;
  --padding-bottom: 64px !important;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
.elementor-3573 .elementor-element-44b4287 { display: none !important; }
/* hero byline: bold author name (design .mn-lead__meta b) on the cream */
/* hero byline: bold author name (design .mn-lead__meta > b). bc1a844 lives in
   JetEngine listing template 33653, not the page (3573) — keep it ID-only. */
.elementor-element-bc1a844 .jet-listing-dynamic-meta__author .jet-listing-dynamic-meta__item-val {
  font-weight: 700; color: var(--mn-ink);
}

/* 2 ── Billboard ad: the .mn-adslot container class is stripped from Elementor
        container output, so paint the design's striped reserved-inventory box
        (tint + 45° pinstripe, dashed rule) on the inner box 67faca0. */
/* Host chrome moved to .mn-ad-rotator (2026-09-04). Keep this selector
   so later rules do not re-paint the reserved-inventory stripe on the shell. */
.elementor-3573 .elementor-element-67faca0 {
  /* neutralized — see homepage billboard rotator block at file end */
}

/* 3 ── Memphis Local brief rail (listing 33676 in .mn-briefs-grid) → design
        .mn-card--brief: 104px square thumb left, 2-line headline + meta right.
        Was rendering a full 16:9 image stacked-card, making the rail overrun
        the feature column. */
.mn-briefs-grid .elementor-33676 > .e-con {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid var(--mn-rule);
}
/* first brief flush to the top of the rail (design .mn-card--brief:first-child) */
.mn-briefs-grid .jet-listing-grid__item:first-child .elementor-33676 > .e-con {
  border-top: 0;
  padding-top: 0;
}
/* DS update (fuvEr6Sg): Memphis Local band → cream (design LocalBand =
   .mn-band mn-band--cream with paddingBottom 52). Section b89b427 carried a
   classic bg with no color set, so it rendered white. */
.elementor-3573 .elementor-element-b89b427 {
  background-color: var(--cream-light) !important;
  padding-bottom: 52px !important;
  --padding-bottom: 52px !important;
}
.mn-briefs-grid .mn-card__media {
  width: 104px;
  height: 104px;
  aspect-ratio: 1 / 1;
  border-radius: 5px;
  overflow: hidden;
}
/* crop the thumb to the 104px square (was showing a 16:9 letterbox) */
.mn-briefs-grid .mn-card__media img { width: 100%; height: 104px; object-fit: cover; display: block; }
/* minimal spacing between eyebrow · title · meta */
.mn-briefs-grid .mn-eyebrow, .mn-briefs-grid .mn-card__head, .mn-briefs-grid .mn-card__meta { margin: 0; }
.mn-briefs-grid .elementor-33676 > .e-con > .e-con:last-child { min-width: 0; }
.mn-briefs-grid .mn-card__head {
  font-size: 16px;
  line-height: 1.25;
  margin: 0 0 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mn-briefs-grid .mn-card__meta { font-size: 11px; }

/* 4 ── Hero lead: featured image fills the right column's full height (category
        eyebrow → byline) and crops to cover, instead of a fixed 16:10 box.
        ba50efc was align-items:center (image floated at its natural crop). The
        <img> already has object-fit:cover, so filling the column gives the
        "scaling background" effect the design needs without losing the <img>. */
.elementor-3573 .elementor-element-ba50efc { align-items: stretch !important; }
.elementor-3573 .elementor-element-236d504 { min-height: 0; }
.elementor-3573 .elementor-element-784f435 {
  aspect-ratio: auto !important;
  flex: 1 1 auto;
  height: 100% !important;
  min-height: 0;
}

/* 5 ── Hero lead body rhythm: the body column carried an 8px flex row-gap ON
        TOP of the design's per-widget margins (eyebrow→headline was 10+8+8=26px).
        Drop the flex gap (back to the design's margin rhythm) and pull the
        headline a touch closer to the category eyebrow (→ ~14px). */
.elementor-3573 .elementor-element-a8e5e4d { --row-gap: 0px !important; }
.elementor-3573 .elementor-element-f5dec94.mn-lead__head { margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════════════════
   SINGLE-POST HERO (tpl 33691) — design parity per post.css. Category eyebrow,
   a little more breathing room (category→title→excerpt→divider), share icons in
   one row. Design refs: .mn-art-hero__eyebrow, .mn-byline__share, .mn-share-btn.
   ═══════════════════════════════════════════════════════════════════════════ */
/* Category → design eyebrow: uppercase, 12px/700, 0.14em, yellow tick, ink.
   (sneyecat was rendering an unstyled term link.) */
.mn-art-hero__cat .jet-listing-dynamic-terms { display: inline-flex; align-items: center; gap: 10px; }
.mn-art-hero__cat .jet-listing-dynamic-terms::before { content: ""; width: 22px; height: 3px; background: var(--mn-yellow); flex: none; }
.mn-art-hero__cat .jet-listing-dynamic-terms__link {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-ink);
  text-decoration: none;
}
.mn-art-hero__cat .jet-listing-dynamic-terms__link:hover { color: var(--mn-accent); }
/* breathing room: category→title, title→excerpt, excerpt→divider */
.elementor-element-sneyerow { margin-bottom: 18px !important; }
.elementor-element-snhead { margin-bottom: 26px; }
.elementor-element-sndeck { margin-bottom: 36px; }
/* share icons in ONE row (Elementor grid-0 was stacking them) */
.elementor-element-snshare .elementor-grid { display: flex !important; flex-wrap: nowrap; gap: 6px; }
.elementor-element-snshare .elementor-grid-item { width: auto; }

/* Footer copyright/legal line — the text-editor's 12px font-size only applies to the
   widget wrapper; the inner <p> inherits the global 17px body size, so it rendered
   oversized. Enforce the intended small footer fine-print size on the <p>. */
.elementor-location-footer .elementor-element-fa1d67c p,
.elementor-location-footer .elementor-element-3e079fe p {
  font-size: 12px;
}

/* (Founder dark-band reverted 2026-06-13: design styles.css keeps .mn-founder on a
   LIGHT surface — founder2.png in the bundle screenshots/ folder was a stale
   exploration, like masthead2.png. styles.css is the source of truth, not screenshots.) */

/* ── Memphis Local brief rail — tighten so the post details fit within the 104px
      thumb height (design .mn-card--brief). The 2-line title clamp MUST sit on the
      dynamic-field CONTENT element (not the widget) or 3-line titles stretch the
      row; also defeat JetEngine equal-columns and center the text next to the thumb. */
.mn-briefs-grid .jet-listing-grid__item { height: auto; }
.mn-briefs-grid .elementor-33676 > .e-con { align-items: center; }
.mn-briefs-grid .elementor-33676 > .e-con > .e-con:last-child {
  max-height: 104px;
  overflow: hidden;
  justify-content: center;
  gap: 4px;
}
.mn-briefs-grid .mn-card__head .jet-listing-dynamic-field__content {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mn-briefs-grid .mn-card__head { margin: 0 0 3px; }
.mn-briefs-grid .mn-eyebrow { margin-bottom: 2px; }
.mn-briefs-grid .mn-card__meta { margin-top: 0; }

/* ── Header search: icon flush-left as a flex item, input beside it; focus ring on
      the OUTER pill only (no obnoxious inner outline) per design .mn-util__search. */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__fields-holder {
  flex: 1 1 auto;       /* the form is now display:flex (height pin) — let the
                           fields holder span the full pill width */
  min-width: 0;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field-wrapper {
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field-icon {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  flex: none;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field {
  padding-left: 0 !important;
  flex: 1 1 auto;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field:focus,
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__field:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__form:focus-within {
  border-color: var(--mn-yellow) !important;
  box-shadow: 0 0 0 1px var(--mn-yellow) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DS update (#67): FOOTER → design .mn-foot. Restyles the native footer widgets
   (tpl 3695, root bdfb254): noir grain texture + top highlight, yellow-tick
   column heads (13px caps), 15px links (hover yellow), muted brand tagline.
   Keeps real menus/social (footer5 mockup links are placeholders). ═══════════ */
/* bg/noir + top hairline are already handled correctly by the earlier
   .elementor-element-bdfb254 rule (subtle mn-grain 240px tile). Do NOT re-paint
   the background here — the prior 4-layer override stretched the grain into static. */
.elementor-location-footer .elementor-element-bdfb254 {
  color: rgba(255,255,255,0.78);
  padding-top: 0 !important;
}
/* crumbbar sits at footer top edge; column block keeps the original 88px breathing room */
.elementor-location-footer .elementor-element-mnftcrmb,
.elementor-location-footer .elementor-element-mnftcrmb .elementor-widget-container,
.elementor-location-footer .elementor-element-mnftcrmb .elementor-shortcode {
  margin: 0;
  padding: 0;
  width: 100%;
  background: transparent;
}
.elementor-location-footer .elementor-element-dee6041 {
  padding-top: 64px !important;
}
/* Footer column + legal blocks: match the editorial 24px gutter (see events-archive
   rule at [data-elementor-type="footer"] .e-con-boxed > .e-con-inner). Do not use --mn-gutter
   (20px) here — body/event templates pad at 24px. */
/* column headers: typography/color live in each Heading widget's controls
   (they already won this cascade; the duplicate CSS was retired 2026-07-04).
   Only the inner-h margin (no control) and the tick below stay here. */
.elementor-location-footer .elementor-element-bdfb254 h4.elementor-heading-title {
  margin: 0 0 18px;
}
.elementor-location-footer .elementor-element-bdfb254 h4.elementor-heading-title::before {
  content: ""; display: block; width: 30px; height: 3px; background: var(--mn-yellow);
  margin-bottom: 14px; border-radius: 2px;
}
/* links: 15px, calm rhythm, hover yellow */
.elementor-location-footer .elementor-element-bdfb254 .elementor-nav-menu .elementor-item {
  font-family: var(--mn-sans);
  font-size: 15px !important;
  color: rgba(255,255,255,0.78);
  padding: 0 !important;
}
.elementor-location-footer .elementor-element-bdfb254 .elementor-nav-menu .elementor-item:hover { color: var(--mn-yellow); }
/* Síguenos column: social list sits ~3px low vs nav link cap-height (tpl 3695 / 9bb2dad) */
.elementor-location-footer .elementor-element-bdfb254 .elementor-element-9bb2dad .mn-social-counts { margin-top: -4px; }
/* brand tagline: 15px, 65% white */
.elementor-location-footer .elementor-element-547f4d9,
.elementor-location-footer .elementor-element-547f4d9 p {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.65);
}

/* ── DS #67 footer: 5-column grid (design .mn-foot__grid) + brand sub-blocks ── */
.elementor-location-footer .elementor-element-5568b51 {
  display: grid !important;
  grid-template-columns: 1.7fr 1fr 1fr 1fr 1.05fr !important;
  gap: 40px !important;
  align-items: start !important;
}
.elementor-location-footer .elementor-element-5568b51 > .e-con { width: auto !important; max-width: none !important; }
@media (max-width: 1024px) {
  .elementor-location-footer .elementor-element-5568b51 { grid-template-columns: 1fr 1fr 1fr !important; }
  .elementor-location-footer .elementor-element-8a490ba { grid-column: 1 / -1 !important; }
}
@media (max-width: 680px) {
  .elementor-location-footer .elementor-element-5568b51 { grid-template-columns: 1fr 1fr !important; }
}
.elementor-location-footer .elementor-element-bdfb254 .mn-foot__contact { margin-top: 22px; }
.elementor-location-footer .elementor-element-bdfb254 .mn-foot__contact-label {
  font-family: var(--mn-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.13em;
  text-transform: uppercase; color: rgba(255,255,255,0.42); margin: 0 0 3px;
}
.elementor-location-footer .elementor-element-bdfb254 .mn-foot__contact p { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.7); margin: 0 0 4px; }
.elementor-location-footer .elementor-element-bdfb254 .mn-foot__contact a { color: rgba(255,255,255,0.92); }
.elementor-location-footer .elementor-element-bdfb254 .mn-foot__contact a:hover { color: var(--mn-yellow); }
.elementor-location-footer .elementor-element-bdfb254 .mn-foot__contact-note { font-size: 12px !important; color: rgba(255,255,255,0.42) !important; margin-top: 2px; }

/* ── DS #67 footer: animated beacon lockup (design .mn-foot__lockup) ── */
.elementor-location-footer .mn-foot__lockup { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--mn-paper); }
.elementor-location-footer .mn-foot__mark { flex: none; display: inline-flex; }
.elementor-location-footer .mn-foot__mark svg { width: 40px; height: auto; display: block; overflow: visible; }
.elementor-location-footer .mn-foot__wordmark { display: block; font-family: var(--mn-display); font-weight: 700; font-size: 22px; line-height: 1.08; letter-spacing: -0.01em; color: var(--mn-paper); }
.elementor-location-footer .mn-foot__tag { display: block; font-family: var(--mn-sans); font-weight: 600; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-top: 7px; }

/* ═══════════════════════════════════════════════════════════════════════════
   AUTHORITATIVE OVERRIDES — earlier rules were beaten by Elementor widget/kit
   CSS (higher specificity) so they never visually applied. Forced here.
   ═══════════════════════════════════════════════════════════════════════════ */
/* ── single-post hero (tpl 33691): excerpt breathing room, divider tight to byline ── */
.elementor-33691 .elementor-element-snhead { margin: 0 0 26px !important; }
.elementor-33691 .elementor-element-sndeck { margin: 0 0 40px !important; }
.elementor-33691 .elementor-element-snblrow { padding-top: 14px !important; margin-top: 0 !important; }
/* share row stays inside the column — snshare was shrinking to the leftover width,
   so the no-shrink 34px icons spilled into the column/image gap. */
.elementor-33691 .elementor-element-snshare { flex: 0 0 auto !important; }
.mn-byline__share { flex-wrap: wrap; max-width: 100%; }
/* copy-link <button> inherited the Elementor kit's dark button background; force it
   to match the <a> icons (cream-deep at rest, dimensional dark gradient on hover). */
.mn-byline__share button.mn-share-btn { background-color: var(--cream-deep) !important; background-image: none !important; border-color: var(--mn-rule) !important; }
.mn-byline__share button.mn-share-btn:hover {
  background-color: #2b2926 !important;
  background-image:
    radial-gradient(90% 70% at 26% -12%, rgba(255,244,228,0.42) 0%, rgba(255,244,228,0.12) 22%, rgba(255,244,228,0) 42%),
    radial-gradient(140% 140% at 50% -20%, #3b3834 0%, #2b2925 55%, #211f1c 100%) !important;
}
/* ── homepage brief rails (33676): SQUARE 1:1 thumbs, top-aligned tight text ── */
.mn-briefs-grid .elementor-33676 > .e-con { grid-template-columns: 96px 1fr; align-items: start; }
.mn-briefs-grid .mn-card__media { width: 96px; height: 96px; aspect-ratio: 1/1; overflow: hidden; }
.mn-briefs-grid .mn-card__media img { width: 96px; height: 96px; object-fit: cover; display: block; }
.mn-briefs-grid .elementor-33676 > .e-con > .e-con:last-child { max-height: none; justify-content: flex-start; gap: 4px; }
.mn-briefs-grid .mn-eyebrow, .mn-briefs-grid .mn-card__head, .mn-briefs-grid .mn-card__meta { margin: 0; }

/* ── Multimedia band video cards ([mn_multimedia]) — card link + placeholder thumb ── */
.mn-video { display: block; text-decoration: none; color: inherit; }
.mn-multimedia .mn-video__media {
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,0.045) 0 2px, transparent 2px 16px);
}
.mn-video__phlabel {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  text-align: center; padding: 0 18px;
  color: rgba(255,255,255,0.22); font-family: var(--mn-mono, monospace);
  font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
}
.mn-video__play { transition: transform .18s ease; }
.mn-multimedia .mn-video:hover .mn-video__play { transform: scale(1.06); }
.mn-multimedia .mn-video:hover .mn-card__head { color: var(--mn-yellow); }

/* ── Brief rail headline — DEFINITIVE spacing fix ──
   The loose space above/below the title was the theme kit's heading margin on the
   <h3> INSIDE the dynamic field (margin-block .5rem 1rem) plus the inline-wrap
   vertically centering it in a 71px box. Kill both; tighten thumb + row padding so
   the rail fits the feature image height. */
/* The headline widget has no .mn-card__head class here — target the dynamic field by
   the listing id so the kit <h3> margin (the loose top/bottom gap) is actually killed. */
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-field__content { margin: 0; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-field__inline-wrap { display: block; align-items: initial; }
.mn-briefs-grid .mn-card__head { line-height: 1.2; }
/* tighter eyebrow→headline→meta + bigger thumb so content fits the image height on desktop */
.mn-briefs-grid .elementor-33676 > .e-con { grid-template-columns: 124px 1fr; padding: 10px 0; align-items: start; }
.mn-briefs-grid .elementor-33676 > .e-con > .e-con:last-child { gap: 2px; --row-gap: 2px; }
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-terms, .mn-briefs-grid .elementor-33676 .jet-listing-dynamic-meta { margin: 0; }
/* SQUARE 1:1 thumbs (2026-06-18): the media column (:first-child) was collapsing to
   the image width (~88px) instead of filling its grid track, so thumbs rendered
   portrait. Fill the column, make .mn-card__media a 1:1 square, and propagate the box
   down the JetEngine dynamic-image chain (same technique as .mn-lead__media above). */
.mn-briefs-grid .elementor-33676 > .e-con > .e-con:first-child { width: 100%; }
.mn-briefs-grid .mn-card__media { width: 100%; height: auto; aspect-ratio: 1 / 1; }
.mn-briefs-grid .mn-card__media > .elementor-widget-container,
.mn-briefs-grid .mn-card__media .jet-listing-dynamic-image,
.mn-briefs-grid .mn-card__media .jet-listing-dynamic-image > a { display: block; width: 100%; height: 100%; }
.mn-briefs-grid .mn-card__media img { width: 100%; height: 100%; object-fit: cover; }

/* ── Lead feature (tpl 33653): excerpt clears the byline; headline slightly smaller
      + balanced wrap so the text fits the feature-image height. ── */
.mn-lead__meta { margin-top: 18px !important; }
.elementor-33653 .elementor-element-f5dec94 .jet-listing-dynamic-field__content {
  font-size: 46px !important; line-height: 1.08 !important; text-wrap: balance;
}
.mn-card__head .jet-listing-dynamic-field__content { text-wrap: balance; }

/* ── KYR modhead: description wraps by ~half width + bottom border = dark-cream
      divider (global :has(> title) missed it — title is nested one level deeper). ── */
.elementor-3573 .elementor-element-718df6f { border-bottom-color: var(--mn-divider) !important; }
.elementor-3573 .elementor-element-1479982,
.elementor-3573 .elementor-element-1479982 .elementor-widget-container,
.elementor-3573 .elementor-element-1479982 p { max-width: 600px !important; }
.elementor-3573 .elementor-element-1479982 { margin-left: 20px !important; }

/* ── Ticker: white headline text smaller (closer to the category); fade BOTH edges
      so headlines fade out just before the badge arrow on the left. ── */
.mn-util__ticker-item { font-size: 13px !important; }
.mn-util__ticker-view {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 18px), transparent) !important;
          mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 18px), transparent) !important;
}

/* ── Footer wordmark → serif, matching the header logo. ── */
.mn-foot__wordmark { font-family: var(--mn-serif) !important; }

/* ── Multimedia video placeholders → deep-red diagonal gradient + pinstripes (was
      near-invisible #1a1313 against the noir band). ── */
.mn-multimedia .mn-video__media {
  background-color: var(--mn-red-deep) !important;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.085) 0 2px, transparent 2px 16px),
    linear-gradient(135deg, #b5322b 0%, #8E1B1B 55%, #5a1212 100%) !important;
}
.mn-video__phlabel { color: rgba(255,255,255,0.34) !important; }

/* ════════ JetSearch dropdown — design match (round 2) ════════ */
/* 1. dropdown width = the search field (was a fixed 620px, wider than the bar) */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-area,
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-holder {
  left: 0 !important; right: auto !important; width: 100% !important; max-width: 100% !important;
}
/* 2. footer band = header band (tint across the full width) */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-footer { background: var(--mn-tint); }
/* 3. row dividers → faint 1px hairline (were too bold) */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-link { border-bottom-color: rgba(33,25,24,0.08) !important; }
/* 4. tighter stack around each headline */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-content-wrapper { gap: 2px !important; }
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-title { line-height: 1.2 !important; }
/* 5. Real featured images render CLEAN (no overlay). ONLY image-less posts — which fall back to the
   default mn-grad placeholder, tagged .mn-thumb-fallback by mn-elementor — get a colorful brand
   gradient + the fine diagonal pinstripe (matching the .eva-ph event placeholders). The cream
   placeholder PNG is hidden so the gradient shows. :has() needed since the marker is on the <img>. */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail:has(img.mn-thumb-fallback),
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail:has(img[src*="mn-grad"]) {
  background-color: var(--ph-a, #1A3A6E);
  background-image: linear-gradient(140deg, var(--ph-a, #1A3A6E) 0%, var(--ph-b, #3F7AB8) 100%);
}
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail:has(img.mn-thumb-fallback) img,
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail:has(img[src*="mn-grad"]) img { opacity: 0; }
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail:has(img.mn-thumb-fallback)::after,
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__item-thumbnail:has(img[src*="mn-grad"])::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,0.13) 0 1px, transparent 1px 5px);
}
/* a little palette variety across consecutive placeholder rows (brand event-placeholder hues) */
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-item:nth-of-type(4n+2) .jet-ajax-search__item-thumbnail { --ph-a:#1E5B4E; --ph-b:#43A185; }
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-item:nth-of-type(4n+3) .jet-ajax-search__item-thumbnail { --ph-a:#5B2A50; --ph-b:#A1567F; }
.elementor-location-header .elementor-element-mnsrccel .jet-ajax-search__results-item:nth-of-type(4n+4) .jet-ajax-search__item-thumbnail { --ph-a:#28335A; --ph-b:#5566A0; }

/* ════════ Multimedia placeholders — tighter pinstripes; earthy-green center card ════════ */
.mn-multimedia .mn-video__media {
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.09) 0 2px, transparent 2px 10px),
    linear-gradient(135deg, #b5322b 0%, #8E1B1B 55%, #5a1212 100%) !important;
}
.mn-multimedia .mn-grid-3 > .mn-video:nth-child(2) .mn-video__media {
  background-color: #1f5e63 !important;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.09) 0 2px, transparent 2px 10px),
    linear-gradient(135deg, #2f7d82 0%, #1f5e63 55%, #123c40 100%) !important;
}

/* third video card → deep teal-blue (Talavera/coastal) — row now reads red·green·teal */
.mn-multimedia .mn-grid-3 > .mn-video:nth-child(3) .mn-video__media {
  background-color: #5a2f63 !important;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.09) 0 2px, transparent 2px 10px),
    linear-gradient(135deg, #7e4a8e 0%, #5a2f63 55%, #38203f 100%) !important;
}


/* Homepage brief rails: category eyebrow is redundant (section already labeled). */
.mn-briefs-grid .mn-eyebrow,
.mn-briefs-grid- .mn-eyebrow,
.mn-briefs-grid .elementor-element-2b97449,
.mn-briefs-grid- .elementor-element-2b97449 {
  display: none !important;
}

/* Brief rail: enforce 2-line clamp + tighter item/meta spacing (2026-07-24).
   Also accept legacy typo class .mn-briefs-grid- as an alias. */
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-field__content,
.mn-briefs-grid- .elementor-33676 .jet-listing-dynamic-field__content {
  margin: 0 !important;
  margin-block: 0 !important;
  line-height: 1.22 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
}
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-field__inline-wrap,
.mn-briefs-grid- .elementor-33676 .jet-listing-dynamic-field__inline-wrap {
  display: block !important;
  align-items: initial !important;
  min-height: 0 !important;
  height: auto !important;
}
.mn-briefs-grid .elementor-33676 .elementor-widget-jet-listing-dynamic-field,
.mn-briefs-grid- .elementor-33676 .elementor-widget-jet-listing-dynamic-field,
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-field,
.mn-briefs-grid- .elementor-33676 .jet-listing-dynamic-field {
  margin: 0 !important;
  padding: 0 !important;
}
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-meta,
.mn-briefs-grid- .elementor-33676 .jet-listing-dynamic-meta,
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-terms,
.mn-briefs-grid- .elementor-33676 .jet-listing-dynamic-terms {
  margin: 0 !important;
  padding: 0 !important;
}
.mn-briefs-grid .elementor-33676 > .e-con,
.mn-briefs-grid- .elementor-33676 > .e-con {
  padding: 5px 0 !important; /* was 10px — ≥50% tighter between posts */
  row-gap: 0 !important;
}
.mn-briefs-grid .elementor-33676 > .e-con > .e-con:last-child,
.mn-briefs-grid- .elementor-33676 > .e-con > .e-con:last-child {
  gap: 1px !important;
  --row-gap: 1px !important;
  justify-content: flex-start !important;
}
.mn-briefs-grid .jet-listing-grid__item,
.mn-briefs-grid- .jet-listing-grid__item {
  margin: 0 !important;
  padding: 0 !important;
}
.mn-briefs-grid .jet-listing-grid__items,
.mn-briefs-grid- .jet-listing-grid__items {
  row-gap: 0 !important;
  gap: 0 !important;
}


/* defeat equal-columns height stretch + media class typo alias */
.mn-briefs-grid .jet-listing-grid__items.jet-equal-columns__wrapper,
.mn-briefs-grid- .jet-listing-grid__items.jet-equal-columns__wrapper {
  align-items: flex-start !important;
}
.mn-briefs-grid .jet-listing-grid__item,
.mn-briefs-grid .jet-listing-grid__item.jet-equal-columns,
.mn-briefs-grid .jet-engine-listing-overlay-wrap,
.mn-briefs-grid .elementor-33676,
.mn-briefs-grid .elementor-33676 > .e-con,
.mn-briefs-grid- .jet-listing-grid__item,
.mn-briefs-grid- .jet-listing-grid__item.jet-equal-columns,
.mn-briefs-grid- .jet-engine-listing-overlay-wrap,
.mn-briefs-grid- .elementor-33676,
.mn-briefs-grid- .elementor-33676 > .e-con {
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
}
.mn-briefs-grid .mn-card__media,
.mn-briefs-grid .mn-card__media-,
.mn-briefs-grid- .mn-card__media,
.mn-briefs-grid- .mn-card__media- {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.mn-briefs-grid .mn-card__media img,
.mn-briefs-grid .mn-card__media- img,
.mn-briefs-grid- .mn-card__media img,
.mn-briefs-grid- .mn-card__media- img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* brief meta: drop the base 5px top padding so it sits tight under the headline */
.mn-briefs-grid .mn-card__meta { padding-top: 0; }

/* single-post featured image: lock 3:2 on desktop, 16:9 on mobile */
.elementor-element-snartimg img {
  aspect-ratio: 3 / 2 !important; object-fit: cover !important;
  width: 100% !important; height: auto !important; display: block;
}
@media (max-width: 767px) {
  .elementor-element-snartimg img { aspect-ratio: 16 / 9 !important; }
}

/* single-post featured image: 16:9 on mobile (3:2 desktop set on the rule above) */
@media (max-width: 767px) { .elementor-element-snhero00 .mn-art-img img { aspect-ratio: 16 / 9 !important; } }

/* Single-post body: mobile type bump (Build QA 2026-07-22 — approved 18px) */
@media (max-width: 767px) {
  .mn-prose,
  .single-post .elementor-widget-theme-post-content {
    font-size: 18px;
  }
}

/* Multimedia: real YouTube thumbnails fill the 16:9 media box */
.mn-video__media { position: relative; }
.mn-video__thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
/* copy-link "Enlace copiado" toast (single-post share) */
.mn-toast { position: fixed; left: 50%; bottom: 30px; transform: translateX(-50%) translateY(8px); background: #211918; color: #fff; padding: 11px 20px; border-radius: 8px; font-family: var(--mn-sans); font-size: 14px; font-weight: 600; box-shadow: 0 10px 30px rgba(0,0,0,0.32); opacity: 0; transition: opacity .25s ease, transform .25s ease; z-index: 99999; pointer-events: none; }
.mn-toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }
/* modhead "more" link: size to its content so the nowrap label can't overflow the content column */
.mn-modhead__more { flex: 0 0 auto !important; }
/* listing-grid card images: always fill the card width (Dynamic Image widgets were height-sized, leaving a gray gap) */
.jet-listing-grid__item .jet-listing-dynamic-image__img { width: 100% !important; }
/* Drop cap — large serif first letter on the first paragraph of every single post.
   ::first-letter has no native Elementor control, so this is enforce-via-CSS, not an override. */
.single-post .elementor-widget-theme-post-content .elementor-widget-container > p:first-of-type::first-letter {
  float: left;
  font-family: var(--mn-serif, "Source Serif 4", Georgia, serif);
  font-weight: 700;
  font-size: 3.4em;
  line-height: 0.78;
  padding: 0.02em 0.14em 0 0;
  color: var(--mn-ink, #211918);
}
/* Mobile: keep the drop cap (was previously reset to inherit — restored 2026-07-24). */
@media (max-width: 767px) {
  .single-post .elementor-widget-theme-post-content .elementor-widget-container > p:first-of-type::first-letter {
    font-size: 3.1em;
    line-height: 0.8;
    padding: 0.02em 0.12em 0 0;
  }
}

/* Footer text: let Elementor's per-widget color controls govern. The kit's global
   :root :where(p) sets every paragraph to ink directly, which defeats a text widget's
   color control (that only sets the widget; the <p> inherits, and a direct rule beats
   inheritance). This restores inheritance for footer paragraphs so the control wins —
   it enables the control, it does not hard-code a color. */
.elementor-location-footer p { color: inherit; }

/* Category archive: term description (rendered via [mn_term_description] in a Shortcode widget,
   because Elementor's archive-description tag renders empty in this Theme Builder archive). */
.cat-hero__deck .elementor-shortcode{
	font-family:var(--e-global-typography-text-font-family,"Source Sans 3"),sans-serif;
	font-size:19px;font-weight:400;line-height:1.55;color:rgba(255,255,255,0.72);
}

/* LG.09 category cards — image fills the left column full-height, cover (no native control
   for an <img> stretching to a flex parent; container classes are stripped, so target by id). */
.elementor-33834 .elementor-element-60e5e44 > .elementor-widget-image{flex:1 1 auto;align-self:stretch;min-height:0;}
.elementor-33834 .elementor-element-60e5e44 .elementor-widget-image > .elementor-widget-container{height:100%;}
.elementor-33834 .elementor-element-9127b7f img{width:100%;height:100%;object-fit:cover;display:block;}
/* Uniform card height so the left image holds ~3:2 regardless of headline length: cap+reserve
   the title to 2 lines and the deck to 3 lines. No native line-clamp control exists; enforce-only,
   em-based so it tracks any later font-size control change rather than overriding it. */
.elementor-33834 .elementor-element-aed1561 .elementor-heading-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.46em;}
.elementor-33834 .elementor-element-20704ae .jet-listing-dynamic-field__content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.5em;}

/* Category archive numbered pagination — rendered by the [mn_cat_pager] shortcode
   (no native JetEngine pager without JetSmartFilters). Verbatim from the design's
   .cat-pager spec, mapped to kit global color vars. */
.cat-pager{display:flex;align-items:center;justify-content:space-between;margin-top:36px;padding-top:24px;border-top:1px solid var(--e-global-color-mn_rule,#DAD6CD);font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-size:13px;}
.cat-pager__nums{display:flex;gap:4px;}
.cat-pager__nums a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--e-global-color-mn_rule,#DAD6CD);border-radius:5px;font-weight:600;color:var(--e-global-color-secondary,#231614);text-decoration:none;transition:border-color .15s ease;}
.cat-pager__nums a:hover{border-color:var(--e-global-color-secondary,#231614);}
.cat-pager__nums a.is-current{background:var(--e-global-color-secondary,#231614);color:var(--e-global-color-mn_paper,#FFFFFF);border-color:var(--e-global-color-secondary,#231614);}
.cat-pager__dots{color:var(--e-global-color-mn_muted,#5E524D);padding:0 4px;align-self:center;}
.cat-pager__nav{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--e-global-color-secondary,#231614);text-decoration:none;}
.cat-pager__nav:hover{color:var(--e-global-color-accent,#1A3A6E);}
.cat-pager__nav.is-disabled{color:var(--e-global-color-mn_muted,#5E524D);pointer-events:none;}

/* Event colorful placeholders — shown on event cards with no featured image (rendered by
   the mn_event_placeholder callback). Color comes from the per-event `placeholder_color`
   field; the event category is overlaid. 8 named brand palettes from the events design. */
.eva-ph{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;
	background-color:var(--ph-a,#1A3A6E);
	background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.11) 0 1px,rgba(255,255,255,0) 1px 5px),linear-gradient(140deg,var(--ph-a,#1A3A6E) 0%,var(--ph-b,#3F7AB8) 100%);
	color:rgba(255,255,255,0.94);text-shadow:0 1px 2px rgba(0,0,0,0.28);}
.eva-ph__cat{position:relative;font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.eva-ph--editorial-blue{--ph-a:#1A3A6E;--ph-b:#3F7AB8;}
.eva-ph--sky-blue{--ph-a:#1F4E7A;--ph-b:#4A93C4;}
.eva-ph--deep-teal{--ph-a:#15565C;--ph-b:#3E9AA1;}
.eva-ph--teal-green{--ph-a:#1E5B4E;--ph-b:#43A185;}
.eva-ph--emerald{--ph-a:#216049;--ph-b:#4FA86E;}
.eva-ph--indigo{--ph-a:#28335A;--ph-b:#5566A0;}
.eva-ph--violet{--ph-a:#3A2A60;--ph-b:#6E54A8;}
.eva-ph--plum{--ph-a:#5B2A50;--ph-b:#A1567F;}

/* ─── Events archive (eva-*) — from events.css, mapped to kit globals ─── */
/* Hero */
/* eyebrow: flex lives on the inner widget-container so the _margin (30px, applied to the
   container) stays a normal bottom gap and the yellow dash centers with the text. */
/* eyebrow/title/deck typography + colors moved to Heading widget controls
   2026-07-04 (build-quality remediation); only the dash flex lockup and
   max-width caps — no controls exist — stay in CSS. */
.eva-hero__eyebrow .elementor-widget-container{display:flex;align-items:center;gap:10px;line-height:1;}
.eva-hero__eyebrow .elementor-widget-container::before{content:"";width:18px;height:3px;background:var(--e-global-color-primary,#FFCE00);flex:none;}
.eva-hero__title .elementor-heading-title{max-width:920px;}
.eva-hero__deck .elementor-heading-title{max-width:64ch;}
/* .eva-hero__sub button styling moved to the Button widget's own controls (id evasub) 2026-06-22 — see build-quality remediation. */

/* Card grid */
.eva-grid .jet-listing-grid__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;width:100%;max-width:100%;}
.eva-grid .jet-listing-grid__items .jet-listing-grid__item{max-width:100%;width:100%;display:grid;padding:0;}
@media (max-width:980px){.eva-grid .jet-listing-grid__items{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.eva-grid .jet-listing-grid__items{grid-template-columns:1fr;}}
/* container _css_classes are stripped on this site → target by element-id (repeated per card) */
.elementor-element-evacard{display:flex;flex-direction:column;width:100%;height:100%;background:var(--e-global-color-mn_paper,#fff);border:1px solid var(--e-global-color-mn_rule,#DAD6CD);border-radius:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s;text-decoration:none;}
.elementor-element-evacard:hover{border-color:var(--e-global-color-mn_rule_strong,#DAD6CD);box-shadow:0 8px 26px rgba(35,22,20,0.09);transform:translateY(-2px);}
.elementor-element-evamedia{position:relative;aspect-ratio:16/10;overflow:hidden;flex-shrink:0;}
/* .eva-grid prefix (0,2,0) beats Elementor's .e-con flex defaults (0,1,0): keep the media a fixed
   16:10 (it was flex-shrinking → narrow/short on some cards) and let the body grow so meta sits at
   the bottom and every card's media is the same height. */
.eva-grid .elementor-element-evamedia{flex:0 0 auto;}
.eva-grid .elementor-element-evabody{flex:1 0 auto;}
.elementor-element-evamedia img{width:100%;height:100%;object-fit:cover;display:block;}
.elementor-element-evabody{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1;}
.eva-card__eyebrow .jet-listing-dynamic-terms__link,.eva-card__eyebrow{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;line-height:1;color:var(--e-global-color-mn_red_deep,#8E1B1B);}
/* card title typography moved to the Dynamic Field widget's Style controls
   2026-07-04; the 2-line clamp below has no control and stays. */
/* grid title: clamp to 2 lines, ellipsis the overflow */
.eva-card__t .jet-listing-dynamic-field__content{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
/* card excerpt below the title: sans, muted, clamp to 3 lines */
.eva-card__d{margin-top:2px;}
.eva-card__d .jet-listing-dynamic-field__content{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-size:13.5px;line-height:1.5;color:var(--e-global-color-mn_muted,#5E524D);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.elementor-element-evameta{margin-top:auto;padding-top:4px;display:flex;flex-direction:column;gap:7px;font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-size:13px;color:var(--e-global-color-mn_muted,#5E524D);}
.eva-card__meta-row{display:flex;align-items:center;gap:8px;line-height:1.4;}
.eva-card__meta-row i{color:var(--e-global-color-secondary,#231614);flex-shrink:0;width:14px;text-align:center;margin-right:6px;}

/* Red corner date chip — width:max-content so the abs-positioned container shrink-wraps to the
   M/D content instead of inheriting the Elementor container default width:100% (filled the media). */
.elementor-element-evadate{position:absolute;top:8px;left:8px;z-index:2;width:max-content;background:var(--e-global-color-mn_red_deep,#8E1B1B);color:#fff;font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;text-align:center;padding:7px 11px 8px;line-height:1;display:flex;flex-direction:column;align-items:center;}
.elementor-element-evadate .elementor-widget{width:auto;}
.elementor-element-evadate .eva-cdate__m .jet-listing-dynamic-field__content{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;}
.elementor-element-evadate .eva-cdate__d .jet-listing-dynamic-field__content{font-family:var(--e-global-typography-primary-font-family,"Source Serif 4"),serif;font-weight:700;font-size:19px;}

/* Flag chips */
.ev-flags{display:flex;flex-wrap:wrap;gap:6px;}
.ev-flag,.ev-flag .jet-listing-dynamic-field__content{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.ev-flag{display:inline-flex;align-items:center;line-height:1;padding:4px 8px;border-radius:4px;border:1px solid transparent;background:var(--e-global-color-mn_tint,#E7E4DC);color:var(--e-global-color-secondary,#231614);}
/* card flags overlaid on the bottom-left of the featured image */
.elementor-element-evamedia .eva-card__flags{position:absolute;left:8px;bottom:8px;z-index:2;width:auto;}
.elementor-element-evamedia .eva-card__flags .elementor-widget-container{margin:0;}
.ev-flag--free{background:#E3F3EA;color:#1F7A4D;border-color:#1F7A4D;}
.ev-flag--series{background:#fff;color:var(--e-global-color-secondary,#231614);border-color:#C8C1B3;}
/* media field fills the 16:10 box (image or colorful placeholder, via mn_event_media) */
.elementor-element-evamedia .eva-media-field{position:absolute;inset:0;}
.elementor-element-evamedia .eva-media-field .elementor-widget-container,.elementor-element-evamedia .eva-media-field .jet-listing-dynamic-field__content{height:100%;}
.eva-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
/* meta-row icons are rendered as Font Awesome <i> elements in the when/where callbacks
   (the .fa-solid/.fas class resolves whatever FA the site loads — currently FA6 Pro). */
.ev-flag--virtual{background:var(--e-global-color-accent,#1A3A6E);color:#fff;}
.ev-flag--full{background:var(--e-global-color-mn_crisis,#B22222);color:#fff;}
.ev-flag--important{background:var(--e-global-color-primary,#FFCE00);color:var(--e-global-color-secondary,#231614);}

/* ─── Events archive v2: toolbar (filter chips + view toggle) — [mn_events_toolbar] + mn-events.js ─── */
/* container _css_classes are stripped → toolbar wrapper styled by element-id; chips/toggle come from
   the shortcode so those classes (.eva-chip/.eva-view__btn) render and are styled directly. */
.eva-toolbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:0;}
/* Toolbar docks under the sticky header: the shrunk masthead is fixed with bottom ≈130px / z-index 100
   and casts a drop shadow — the toolbar sticks just below it and sits IN FRONT of that shadow (z 101).
   Doubled element-id class (0,2,0) beats Elementor's .e-con `position:var(--position)` default. */
.elementor-element-evatoolbar.elementor-element-evatoolbar{position:sticky;top:var(--mn-header-bottom,130px);z-index:101;}
/* subtle diagonal cream pinstripe for contrast — base cream comes from the container's bg-color
   control (mn_cream_light); the 1px stripes are a deeper shade of cream (low-opacity ink over it). */
.elementor-element-evatoolbar.elementor-element-evatoolbar{background-image:repeating-linear-gradient(135deg,rgba(33,25,24,0.055) 0 1px,transparent 1px 6px);}
.eva-chips{display:flex;flex-wrap:wrap;gap:6px;}
/* descendant selectors (0,2,0) so the chips/toggle beat the kit's global `.elementor-kit-8 button` rule (0,1,1) that otherwise forces ink bg / 5px radius / uppercase / 12-18 padding. */
.eva-toolbar__inner .eva-chip{appearance:none;border:1px solid var(--e-global-color-mn_rule,#DAD6CD);background:var(--e-global-color-mn_paper,#fff);color:var(--e-global-color-secondary,#231614);font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:600;font-size:13px;line-height:1.2;letter-spacing:normal;text-transform:none;padding:7px 15px;border-radius:100px;cursor:pointer;transition:background-color .12s,color .12s,border-color .12s;}
.eva-toolbar__inner .eva-chip:hover{border-color:var(--e-global-color-secondary,#231614);}
.eva-toolbar__inner .eva-chip.is-active{background:var(--e-global-color-secondary,#231614);color:var(--e-global-color-mn_paper,#fff);border-color:var(--e-global-color-secondary,#231614);}
.eva-view{display:inline-flex;border:1px solid var(--e-global-color-mn_rule,#DAD6CD);border-radius:6px;overflow:hidden;flex-shrink:0;}
.eva-toolbar__inner .eva-view__btn{appearance:none;border:0;border-radius:0;background:var(--e-global-color-mn_paper,#fff);color:var(--e-global-color-secondary,#231614);font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:9px 17px;cursor:pointer;}
.eva-toolbar__inner .eva-view__btn + .eva-view__btn{border-left:1px solid var(--e-global-color-mn_rule,#DAD6CD);}
.eva-toolbar__inner .eva-view__btn.is-active{background:var(--e-global-color-secondary,#231614);color:var(--e-global-color-mn_paper,#fff);}
@media (max-width: 767px) {
	.eva-chips { display: none; }
}

/* ─── Events archive v2: card/list view visibility (JS sets data-view on the feed) ─── */
.eva-list{display:none;}
.elementor-element-evafeed[data-view="list"] .eva-grid{display:none;}
.elementor-element-evafeed[data-view="list"] .eva-list{display:block;}
.eva-empty{display:none;padding:56px 0 80px;text-align:center;font-family:var(--e-global-typography-primary-font-family,"Source Serif 4"),serif;font-style:italic;font-size:18px;color:var(--e-global-color-mn_muted,#5E524D);}
/* whole-card / whole-row clickable: stretched permalink overlay (callback mn_event_overlay).
   The widget wrapper itself is taken out of flow (absolute) so it never occupies a grid/flex cell. */
.elementor-element-evacard,.elementor-element-evrow{position:relative;}
.eva-ov{position:absolute;inset:0;z-index:3;margin:0;padding:0;}
.eva-ov .eva-stretch{position:absolute;inset:0;display:block;}
/* Align events content to the site gutter (319px): the boxed inner is 1320 (centers at 295);
   +24px inner padding matches the rest of the site (boxed 1320 + 24px child padding = 319). */
.elementor-element-evahero > .e-con-inner,
.elementor-element-evatoolbar > .e-con-inner,
.elementor-element-evafeed > .e-con-inner{padding-left:24px;padding-right:24px;}
/* Footer was at 295 (boxed 1320) while the body sits at 319 — bring its content to the same gutter. */
[data-elementor-type="footer"] .e-con-boxed > .e-con-inner{padding-left:24px;padding-right:24px;}

/* ─── Events archive v2: month-grouped list view ─── */
.eva-list .jet-listing-grid__items{display:block;margin:0;width:100%;max-width:100%;}
.eva-list .jet-listing-grid__item{max-width:100%;width:100%;margin:0 0 14px;padding:0;}
.eva-ym,.elementor-element-evrym{display:none;}
.eva-month__h{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--e-global-color-secondary,#231614);padding-bottom:12px;border-bottom:2px solid var(--e-global-color-mn_divider,#C8C1B3);margin:0 0 20px;display:flex;justify-content:space-between;align-items:baseline;}
.eva-month__h--js ~ .jet-listing-grid__item + .eva-month__h--js,.eva-month__h--js:not(:first-child){margin-top:38px;}
.eva-month__h .ct{font-family:var(--e-global-typography-primary-font-family,"Source Serif 4"),serif;font-weight:400;font-style:italic;font-size:13px;letter-spacing:0;text-transform:none;color:var(--e-global-color-mn_muted,#5E524D);}
/* row (listing item root, repeated per item) */
.elementor-element-evrow{display:grid;grid-template-columns:76px 1fr 230px;gap:26px;padding:22px 24px;background:var(--e-global-color-mn_paper,#fff);border:1px solid var(--e-global-color-mn_rule,#DAD6CD);border-radius:10px;align-items:start;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;}
.elementor-element-evrow:hover{background:var(--e-global-color-mn_paper,#fff);border-color:var(--e-global-color-mn_rule_strong,#DAD6CD);box-shadow:0 4px 14px rgba(35,22,20,0.07);transform:translateY(-1px);}
/* date cell */
.elementor-element-evrdate{text-align:center;border-radius:6px;background:var(--e-global-color-mn_bg,#F0EEE9);border:1px solid var(--e-global-color-mn_divider,#C8C1B3);padding:9px 4px 10px;font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;transition:background-color .15s,border-color .15s,color .15s;display:flex;flex-direction:column;align-items:center;}
.elementor-element-evrdate .jet-listing-dynamic-field__content{text-align:center;}
.elementor-element-evrow:hover .elementor-element-evrdate{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.10) 0 1px,transparent 1px 6px),linear-gradient(135deg,#1c1c1e 0%,#0a0a0b 70%);border-color:transparent;}
.eva-rdm .jet-listing-dynamic-field__content{font-weight:800;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-mn_red_deep,#8E1B1B);line-height:1;}
.eva-rdd .jet-listing-dynamic-field__content{font-family:var(--e-global-typography-primary-font-family,"Source Serif 4"),serif;font-weight:700;font-size:26px;line-height:1.05;color:var(--e-global-color-secondary,#231614);}
.eva-rdw .jet-listing-dynamic-field__content{font-size:12px;letter-spacing:.04em;color:var(--e-global-color-mn_muted,#5E524D);margin-top:3px;line-height:1;}
.elementor-element-evrow:hover .eva-rdm .jet-listing-dynamic-field__content{color:var(--e-global-color-primary,#FFCE00);opacity:1;}
.elementor-element-evrow:hover .eva-rdd .jet-listing-dynamic-field__content{color:#fff;}
.elementor-element-evrow:hover .eva-rdw .jet-listing-dynamic-field__content{color:rgba(255,255,255,.8);}
/* main column */
.elementor-element-evrmain{min-width:0;display:flex;flex-direction:column;gap:5px;}
.eva-row__eyebrow,.eva-row__eyebrow .jet-listing-dynamic-terms__link{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;line-height:1;color:var(--e-global-color-mn_red_deep,#8E1B1B);}
/* row title typography moved to the Dynamic Field widget's Style controls 2026-07-04. */
.eva-row__d .jet-listing-dynamic-field__content{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-size:14px;color:var(--e-global-color-mn_muted,#5E524D);line-height:1.55;margin:0;max-width:60ch;}
/* side column (Cuándo / Dónde cells; label = <b> from callback) */
.elementor-element-evrside{display:flex;flex-direction:column;gap:16px;}
.eva-row__cell,.eva-row__cell .jet-listing-dynamic-field__content{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-size:13px;color:var(--e-global-color-secondary,#231614);line-height:1.5;}
.eva-row__cell b{display:block;font-weight:800;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-mn_muted,#5E524D);margin-bottom:4px;}
.eva-row__cell .muted{color:var(--e-global-color-mn_muted,#5E524D);}
@media (max-width:980px){
  .elementor-element-evrow{grid-template-columns:70px 1fr;}
  .elementor-element-evrside{grid-column:2;flex-direction:row;flex-wrap:wrap;gap:12px 32px;}
}
@media (max-width:600px){
  .elementor-element-evrow{grid-template-columns:1fr;}
  .elementor-element-evrdate{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:8px;width:max-content;padding:6px 12px;}
  .eva-rdw .jet-listing-dynamic-field__content{margin-top:0;}
}

/* Category featured lead story ([mn_cat_featured]) — verbatim from category.css .cat-feat__lead. */
.cat-feat__lead{display:flex;flex-direction:column;text-decoration:none;margin:0 0 36px;}
.cat-feat__media{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:6px;background:#EFEAE2;}
.cat-feat__media img{width:100%;height:100%;object-fit:cover;display:block;}
.cat-feat__eyebrow{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-secondary,#231614);display:inline-flex;align-items:center;gap:10px;margin-top:16px;}
.cat-feat__eyebrow::before{content:"";width:18px;height:3px;background:var(--e-global-color-primary,#FFCE00);flex:0 0 auto;}
/* doubled-up selector specificity beats the kit's global `.elementor-kit-8 h2` (the head is an <h2>) */
.cat-feat__lead .cat-feat__head{font-family:var(--e-global-typography-primary-font-family,"Source Serif 4"),serif;font-weight:700;font-size:40px;line-height:1.05;letter-spacing:-0.018em;margin:14px 0 12px;color:var(--e-global-color-secondary,#231614);}
.cat-feat__lead:hover .cat-feat__head{color:var(--e-global-color-accent,#1A3A6E);}
.cat-feat__deck{font-family:var(--e-global-typography-primary-font-family,"Source Serif 4"),serif;font-style:italic;font-size:19px;line-height:1.45;color:var(--e-global-color-mn_muted,#5E524D);margin:0 0 14px;}
.cat-feat__meta{font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-size:12px;color:var(--e-global-color-mn_muted,#5E524D);display:flex;gap:10px;align-items:center;}
.cat-feat__meta b{color:var(--e-global-color-secondary,#231614);font-weight:600;}
.cat-feat__meta .dot{width:3px;height:3px;background:currentColor;border-radius:50%;opacity:.6;}
@media (max-width:980px){.cat-feat__lead .cat-feat__head{font-size:30px;}}

/* Sidebar tag cloud ([mn_tag_cloud]) — .cat-side__topics pills from category.css. */
.cat-side__topics{display:flex;flex-wrap:wrap;gap:6px;}
.cat-side__topic{position:relative;font-family:var(--e-global-typography-accent-font-family,"Source Sans 3"),sans-serif;font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:7px 12px;background:var(--e-global-color-mn_cream_light,#F6F5F1);border:1px solid var(--e-global-color-mn_rule,#DAD6CD);border-radius:999px;color:var(--e-global-color-secondary,#231614);text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease;}
.cat-side__topic:hover,.cat-side__topic:focus-visible{background:var(--e-global-color-secondary,#231614);border-color:var(--e-global-color-secondary,#231614);color:#fff;}
/* Hover/focus tooltip: shows the tag's description so readers know what's behind each tag. */
.cat-side__topic[data-desc]:hover::after,.cat-side__topic[data-desc]:focus-visible::after{content:attr(data-desc);position:absolute;right:0;bottom:calc(100% + 8px);z-index:60;width:max-content;max-width:260px;padding:9px 11px;background:var(--e-global-color-secondary,#231614);color:#fff;font-family:var(--e-global-typography-text-font-family,"Source Sans 3"),sans-serif;font-weight:400;font-size:12px;line-height:1.4;letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;border-radius:8px;box-shadow:0 10px 28px rgba(35,22,20,.28);pointer-events:none;}

/* Whole category-archive listing card clickable — stretched permalink overlay (callback
   mn_card_overlay → <a class="mn-cardlink">). The overlay WIDGET wrapper (.mn-cardlink-w) is
   pulled out of flow so it never takes a flex/grid cell; the <a> fills the card. Card root is
   listing item container 1e10f55 (container classes are stripped → target by element-id). */
.elementor-element-1e10f55{position:relative;}
.elementor-element-1e10f55 .mn-cardlink-w{position:absolute;inset:0;margin:0;z-index:4;}
.mn-cardlink{position:absolute;inset:0;display:block;text-indent:-9999px;overflow:hidden;}
.elementor-element-1e10f55:hover .elementor-element-aed1561 .elementor-heading-title{color:var(--e-global-color-accent,#1A3A6E);}

/* Sidebar section heading (mn-side-h): typography + margin moved to the Heading
   widget's own controls 2026-07-04 — see build-quality remediation. */
/* (dash removed — the widget-level .mn-side-h::before already draws it; two rules made a double divider) */

/* ═══════════════════════════════════════════════════════════════════════════
   CONTACT PAGE (page 3577) — mn3 design. Layout/background/border come from the
   container controls; this block styles the noir hero surface, the hero type,
   the Gravity Forms (#17) internals, and the aside card. Scoped to the page so
   nothing leaks. Hero/body wraps are capped to the frame by element-ID in the
   .mn-wrap rule above (mnctherow, mnctgrid). ── */

/* Hero — noir textured band (same recipe as .mn-band--ink) */
.elementor-element-mncthero {
  background-color: var(--noir-base);
  background-image: var(--noir-bg);
  background-size: 100% 100%, 240px 240px, 100% 100%;
  background-repeat: no-repeat, repeat, no-repeat;
  background-blend-mode: screen, overlay, normal;
}
/* Contact hero/form heading TYPOGRAPHY + COLOR + MARGIN moved to the Heading widgets' own
   controls (ids mncteye/mnctttl/mnctdeck/mnctfh/mnctfl) 2026-06-22 — build-quality remediation.
   Only the no-control bits remain below (flex eyebrow + dash, text-wrap, deck measure). */
.page-id-3577 .ct-hero__eyebrow .elementor-heading-title {
  display: inline-flex; align-items: center; gap: 10px;
}
.page-id-3577 .ct-hero__eyebrow .elementor-heading-title::before {
  content: ""; width: 22px; height: 3px; background: var(--mn-yellow); flex: 0 0 auto;
}
.page-id-3577 .ct-hero__title .elementor-heading-title { text-wrap: balance; }
.page-id-3577 .ct-hero__deck .elementor-heading-title { max-width: 62ch; }

/* Aside card — the .ct-card__h heads live inside an HTML widget (h3 markup),
   so the old ".ct-card__h .elementor-heading-title" rule matched nothing;
   dead rule removed 2026-07-04. The real .ct-card__h styles are below. */
.page-id-3577 .ct-card__note { font-family: var(--mn-sans); }
.page-id-3577 .ct-card__note p { font-size: 13px; line-height: 1.55; color: var(--mn-ink); margin: 0 0 10px; }
.page-id-3577 .ct-card__note p:last-child { margin-bottom: 0; }

/* ── Gravity Forms (#17) restyle ── */
.page-id-3577 .gform_wrapper { font-family: var(--mn-sans); }
.page-id-3577 .gform_title, .page-id-3577 .gform_heading { display: none; }
.page-id-3577 .gform_fields { row-gap: 14px; column-gap: 16px; }
.page-id-3577 .gfield_label {
  font-family: var(--mn-sans); font-weight: 700; font-size: 11px; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--mn-ink); margin-bottom: 5px;
}
.page-id-3577 .gfield_required { color: var(--mn-crisis); }
.page-id-3577 .ginput_container input[type="text"],
.page-id-3577 .ginput_container input[type="email"],
.page-id-3577 .ginput_container input[type="tel"],
.page-id-3577 .ginput_container textarea,
.page-id-3577 .ginput_container select {
  font-size: 14px; line-height: 1.3; padding: 9px 12px; border: 1px solid var(--mn-rule-strong);
  background: var(--cream-light); color: var(--mn-ink); width: 100%; border-radius: 6px;
  outline: none; transition: border-color .12s, box-shadow .12s;
}
.page-id-3577 .ginput_container input::placeholder,
.page-id-3577 .ginput_container textarea::placeholder { color: rgba(33,25,24,0.42); }
.page-id-3577 .ginput_container input:hover,
.page-id-3577 .ginput_container textarea:hover,
.page-id-3577 .ginput_container select:hover { border-color: var(--mn-muted); }
.page-id-3577 .ginput_container input:focus,
.page-id-3577 .ginput_container textarea:focus,
.page-id-3577 .ginput_container select:focus {
  border-color: var(--mn-ink); box-shadow: 0 0 0 3px rgba(255,206,0,0.4);
}
.page-id-3577 .ginput_container textarea { min-height: 68px; resize: vertical; }
.page-id-3577 .ginput_container select {
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23231614' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; cursor: pointer;
}
.page-id-3577 .gfield_description { font-size: 11.5px; line-height: 1.4; color: var(--mn-muted); padding-top: 4px; }
.page-id-3577 .gfield--type-consent .ginput_container_consent { display: flex; align-items: flex-start; gap: 10px; }
.page-id-3577 .gfield--type-consent input[type="checkbox"] { width: 17px; height: 17px; margin-top: 1px; accent-color: var(--mn-ink); flex: none; }
.page-id-3577 .gfield--type-consent label { font-size: 13px; line-height: 1.45; color: var(--mn-ink); margin: 0; font-weight: 400; text-transform: none; letter-spacing: 0; }
.page-id-3577 .gfield--type-consent a { color: var(--mn-accent); text-decoration: none; }
.page-id-3577 .gfield--type-consent a:hover { color: var(--mn-ink); text-decoration: underline; }
.page-id-3577 .gform_drop_area,
.page-id-3577 .ginput_container_fileupload .gform_fileupload_multifile {
  border: 1.5px dashed var(--mn-rule-strong); border-radius: 8px; background: var(--cream-light); padding: 18px 16px; text-align: center;
}
.page-id-3577 .gform_button_select_files {
  background: var(--mn-ink); color: var(--mn-paper); border: 0; border-radius: 6px; padding: 8px 16px; font-weight: 700; font-size: 13px; cursor: pointer;
}
.page-id-3577 .gform_footer { margin-top: 14px; padding-top: 0; border-top: 0; }
.page-id-3577 .gform_footer input[type="submit"],
.page-id-3577 .gform_footer button {
  display: inline-flex; align-items: center; gap: 9px; background: var(--mn-ink); color: var(--mn-paper);
  padding: 12px 22px; border-radius: 6px; border: 0; font-family: var(--mn-sans); font-weight: 700;
  font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; cursor: pointer; transition: background .12s, color .12s;
}
.page-id-3577 .gform_footer input[type="submit"]:hover,
.page-id-3577 .gform_footer button:hover { background: var(--mn-yellow); color: var(--mn-ink); }
.page-id-3577 .gfield_error input, .page-id-3577 .gfield_error textarea, .page-id-3577 .gfield_error select { border-color: var(--mn-crisis); }
.page-id-3577 .gform_confirmation_message { font-family: var(--mn-serif); font-size: 18px; line-height: 1.5; color: var(--mn-ink); }

/* Phone country selector: kit-8 button tokens paint +1 paper-white and
   shrink the control vs EMAIL / Nombre inputs. Scoped to form 17. */
.page-id-3577 .gfield--type-phone .gform-phone__input-wrapper {
  align-items: stretch;
  column-gap: 0;
}
.page-id-3577 .gfield--type-phone .ginput_country-selector_container,
.page-id-3577 .gfield--type-phone .ginput_phone_container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.elementor-kit-8.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone button.gform-phone__country-selector,
.elementor-kit-8.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone button.gform-phone__country-selector:hover,
.elementor-kit-8.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone button.gform-phone__country-selector:focus,
.elementor-kit-8.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone button.gform-phone__country-selector:focus-visible,
.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone .gform-phone__country-selector,
.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone .gform-phone__country-selector:hover,
.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone .gform-phone__country-selector:focus,
.page-id-3577 .gform_wrapper.gravity-theme .gfield--type-phone .gform-phone__country-selector:focus-visible {
  color: var(--mn-ink);
  background: var(--cream-light);
  background-color: var(--cream-light);
  border: 1px solid var(--mn-rule-strong);
  border-radius: 6px 0 0 6px;
  min-height: 50px;
  height: 50px;
  padding: 8px 10px;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.3;
  box-shadow: none;
  box-sizing: border-box;
}
.page-id-3577 .gfield--type-phone .gform-phone__country-selector .gform-phone__dial-code,
.page-id-3577 .gfield--type-phone .gform-phone__country-selector:hover .gform-phone__dial-code,
.page-id-3577 .gfield--type-phone .gform-phone__country-selector:focus .gform-phone__dial-code {
  color: var(--mn-ink);
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
}
.page-id-3577 .gfield--type-phone .gform-phone__country-selector:focus,
.page-id-3577 .gfield--type-phone .gform-phone__country-selector:focus-visible {
  border-color: var(--mn-ink);
  box-shadow: 0 0 0 3px rgba(255,206,0,0.4);
  outline: none;
}
.page-id-3577 .gfield--type-phone .gform-phone__input {
  border-radius: 0 6px 6px 0;
  min-height: 50px;
  height: 50px;
}
/* English Country / Phone Number sublabels: visually hide, keep for AT */
.page-id-3577 .gfield--type-phone .gform-field-label--type-sub {
  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;
}
/* Fieldset legend is taller than EMAIL's <label>; match so inputs share a top */
.page-id-3577 .gfield--type-phone > legend.gfield_label {
  display: block;
  float: none;
  width: auto;
  padding: 0;
  margin: 0 0 8px;
  line-height: 16px;
  font-size: 16px;
}


/* Contacto-page ES/EN form language toggle (above the form, right-aligned in the card) */
.page-id-3577 .elementor-element-mnctlang .elementor-widget-container { display: flex; justify-content: flex-end; }
.page-id-3577 .mn-formlang { display: inline-flex; gap: 2px; margin: 0 0 16px; padding: 3px; background: var(--cream); border: 1px solid var(--mn-rule-strong); border-radius: 999px; }
.page-id-3577 .mn-formlang__opt { appearance: none; border: 0; background: transparent; cursor: pointer; font-family: var(--mn-sans); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mn-muted); padding: 5px 13px; border-radius: 999px; line-height: 1; transition: background .12s, color .12s; }
.page-id-3577 .mn-formlang__opt[aria-pressed="true"] { background: var(--mn-ink); color: var(--mn-paper); }
.page-id-3577 .mn-formlang__opt:hover { color: var(--mn-ink); }
.page-id-3577 .mn-formlang__opt[aria-pressed="true"]:hover { color: var(--mn-paper); }

/* Contacto sidebar — full 3-card aside (rendered as an HTML widget; .ct-* classes from the
   mn3 contact design). Cards bring their own surfaces; the dark Signal card mirrors the hero. */
.page-id-3577 .ct-aside { display: flex; flex-direction: column; gap: 14px; position: sticky; top: calc(var(--mn-header-bottom, 120px) + 16px); }
.page-id-3577 .ct-card { background: var(--cream); border: 1px solid var(--mn-rule-strong); border-radius: 10px; padding: 22px 24px; }
.page-id-3577 .ct-card__h { font-family: var(--mn-sans); font-weight: 700; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mn-muted); margin: 0 0 12px; }
.page-id-3577 .ct-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.page-id-3577 .ct-lines li { display: flex; flex-direction: column; gap: 2px; }
.page-id-3577 .ct-lines__k { font-family: var(--mn-sans); font-weight: 700; font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mn-muted); }
.page-id-3577 .ct-lines a, .page-id-3577 .ct-lines span.v { font-family: var(--mn-serif); font-size: 16px; color: var(--mn-ink); text-decoration: none; }
.page-id-3577 .ct-lines a:hover { color: var(--mn-red-deep, #8E1B1B); }
.page-id-3577 .ct-card__note { font-family: var(--mn-sans); font-size: 13px; line-height: 1.55; color: var(--mn-ink); margin: 0; }
/* Dark secure-tips card — same noir recipe as the hero */
.page-id-3577 .ct-card--tip { background-color: var(--noir-base); background-image: var(--noir-bg); background-size: 100% 100%, 240px 240px, 100% 100%; background-repeat: no-repeat, repeat, no-repeat; background-blend-mode: screen, overlay, normal; border-color: transparent; color: rgba(255,255,255,0.82); }
.page-id-3577 .ct-card--tip .ct-card__h { color: var(--mn-yellow); }
.page-id-3577 .ct-card--tip p { font-family: var(--mn-sans); font-size: 13px; line-height: 1.55; color: rgba(255,255,255,0.78); margin: 0 0 12px; }
.page-id-3577 .ct-signal { display: inline-flex; align-items: center; gap: 9px; font-family: var(--mn-sans); font-size: 14px; font-weight: 700; color: var(--mn-yellow); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.16); border-radius: 6px; padding: 9px 13px; }
@media (max-width: 1024px) { .page-id-3577 .ct-aside { position: static; } }

/* Contacto sidebar — "Síguenos" social-follow card (replaces the old fictional phone/Signal/address). */
.page-id-3577 .ct-social__lede { font-family: var(--mn-sans); font-size: 12.5px; line-height: 1.45; color: var(--mn-muted); margin: 0 0 8px; }
.page-id-3577 .ct-social { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.page-id-3577 .ct-social li + li { border-top: 1px solid var(--mn-rule); }
.page-id-3577 .ct-social a { display: flex; align-items: center; gap: 12px; padding: 11px 2px; font-family: var(--mn-serif); font-size: 16px; color: var(--mn-ink); text-decoration: none; transition: color .12s; }
.page-id-3577 .ct-social__ic { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: none; color: var(--mn-muted); transition: color .12s; }
.page-id-3577 .ct-social__ic svg { width: 18px; height: 18px; }
.page-id-3577 .ct-social__name { flex: 1 1 auto; }
.page-id-3577 .ct-social a::after { content: "\2197"; color: var(--mn-rule-strong); font-size: 14px; transition: color .12s, transform .12s; }
.page-id-3577 .ct-social a:hover { color: var(--mn-red-deep, #8E1B1B); }
.page-id-3577 .ct-social a:hover .ct-social__ic { color: var(--mn-red-deep, #8E1B1B); }
.page-id-3577 .ct-social a:hover::after { color: var(--mn-red-deep, #8E1B1B); transform: translate(1px, -1px); }

/* =========================================================================
   Search results (design project 874a83e4) — Theme Builder template selectors
   ========================================================================= */

/* Hero — dark band with faint diagonal hairlines + bottom hairline rule */
.mn-search-hero {
  position: relative;
  isolation: isolate;
  color: var(--mn-paper);
  /* DS noir: fine 45° pinstripe + vignette (same recipe as .mn-author--noir / kyr emerg).
     No footer-grain.png — that noise is not the intended search-hero surface. */
  background-color: var(--noir-base);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.06) 0 1px, rgba(255,255,255,0) 1px 8px),
    radial-gradient(92% 132% at 26% -26%, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.04) 30%, rgba(255,255,255,0) 58%),
    radial-gradient(130% 150% at 50% -10%, #1C1C1D 0%, #111111 52%, #070707 100%);
  background-size: auto, 100% 100%, 100% 100%;
  background-repeat: repeat, no-repeat, no-repeat;
  background-blend-mode: normal, screen, normal;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.mn-search-crumb { font-family: var(--mn-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.66); display: inline-flex; align-items: center; gap: 8px; }
.mn-search-crumb a { color: rgba(255,255,255,.66); text-decoration: none; }
.mn-search-crumb a:hover { color: var(--mn-yellow); }
.mn-search-crumb__sep { color: rgba(255,255,255,.4); }
.mn-search-crumb__here { color: var(--mn-paper); }

/* Hero search form */
.mn-search-form { position: relative; display: flex; align-items: stretch; gap: 0; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); border-radius: 10px; padding: 6px; max-width: 720px; transition: border-color .18s, box-shadow .18s; }
.mn-search-form:hover { border-color: rgba(255,206,0,.5); box-shadow: 0 0 0 3px rgba(255,206,0,.08); }
.mn-search-form:focus-within { border-color: var(--mn-yellow); box-shadow: 0 0 0 4px rgba(255,206,0,.2); }
.mn-search-form input[type="search"] { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; outline: 0; color: var(--mn-paper); font-family: var(--mn-serif); font-size: 22px; line-height: 1.2; padding: 14px 18px; }
.mn-search-form input[type="search"]::placeholder { color: rgba(255,255,255,.5); }
.mn-search-form button { flex: none; background: var(--mn-yellow); color: var(--mn-ink); border: 0; border-radius: 8px; padding: 0 28px; font-family: var(--mn-sans); font-weight: 800; font-size: 13.5px; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: filter .15s; }
.mn-search-form button:hover { filter: brightness(1.06); }

/* Count line — N resultados para query. Specificity must beat kit text color
   (#231614) which otherwise paints the middle words invisible on the noir hero,
   leaving only the bold number + yellow query (reads as a stray icon). */
.mn-search-hero .mn-search-count {
  font-family: var(--mn-sans);
  font-size: 15px;
  color: rgba(255,255,255,.78);
  margin: 18px 0 0;
}
.mn-search-hero .mn-search-count b { color: var(--mn-paper); font-weight: 800; }
.mn-search-hero .mn-search-count__q { color: var(--mn-yellow); font-weight: 600; }
.mn-search-hero .mn-search-count.is-empty { color: rgba(255,255,255,.66); }

/* Toolbar — facets row, mn-tint band below hero. Sticky under the masthead. */
#mn-search-toolbar-wrap { position: sticky; top: var(--mn-header-bottom, 120px); z-index: 30; }
.mn-search-toolbar { background: var(--mn-tint, #E7E4DC); border-bottom: 1px solid var(--mn-rule, #DAD6CD); display: flex; flex-direction: column; gap: 10px; padding: 14px 24px; }
.mn-search-facet { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; }
.mn-search-facet__lbl { font-family: var(--mn-sans); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mn-muted); min-width: 76px; }
.mn-search-facet__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mn-search-chip { display: inline-flex; align-items: center; padding: 6px 12px; font-family: var(--mn-sans); font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mn-ink); background: var(--mn-paper); border: 1px solid var(--mn-rule, #DAD6CD); border-radius: 999px; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.mn-search-chip:hover { background: var(--mn-ink); color: var(--mn-paper); border-color: var(--mn-ink); }
.mn-search-chip.is-active { background: var(--mn-ink); color: var(--mn-paper); border-color: var(--mn-ink); }

/* Results list — white surface card on cream, items separated by hairlines */
.mn-search-results { list-style: none; margin: 0; padding: 4px 28px; background: var(--mn-paper, #FFFFFF); border: 1px solid var(--mn-rule, #DAD6CD); border-radius: 10px; box-shadow: 0 2px 12px 0 rgba(0,0,0,.05); }
.mn-search-results__item { position: relative; padding: 22px 0; border-top: 1px solid var(--mn-rule, #DAD6CD); }
.mn-search-results__item:first-child { border-top: 0; }
.mn-search-results__link { position: absolute; inset: 0; z-index: 2; }
.mn-search-results__eyebrow { position: relative; z-index: 3; display: flex; align-items: center; gap: 10px; font-family: var(--mn-sans); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mn-muted); margin: 0 0 6px; }
/* Short inline marker bar BEFORE the eyebrow text (per design spec) */
.mn-search-results__marker { display: inline-block; width: 18px; height: 3px; border-radius: 2px; background: var(--mn-yellow); flex: none; }
.mn-search-results__item.is-event .mn-search-results__marker { background: var(--mn-accent); }
.mn-search-results__item.is-kyr .mn-search-results__marker { background: var(--mn-red, #B22222); }
.mn-search-results__item.is-page .mn-search-results__marker { background: var(--mn-muted); }
.mn-search-results__head { position: relative; z-index: 3; font-family: var(--mn-serif); font-weight: 700; font-size: 22px; line-height: 1.25; color: var(--mn-ink); margin: 0 0 6px; transition: color .15s; }
.mn-search-results__head a { color: inherit; text-decoration: none; }
.mn-search-results__item:hover .mn-search-results__head,
.mn-search-results__item:hover .mn-search-results__head a { color: var(--mn-accent); }
.mn-search-results__head mark, .mn-search-results__snip mark { background: rgba(255,206,0,.4); color: inherit; padding: 0 2px; border-radius: 2px; }
.mn-search-results__snip { position: relative; z-index: 3; font-family: var(--mn-sans); font-size: 15px; line-height: 1.55; color: var(--mn-muted); margin: 0 0 10px; }
.mn-search-results__meta { position: relative; z-index: 3; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: var(--mn-sans); font-size: 12.5px; color: var(--mn-muted); }
.mn-search-results__meta b { color: var(--mn-ink); }
.mn-search-results__meta .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--mn-rule-strong, #C8C1B3); display: inline-block; }
.mn-search-results__url {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 12px;
  color: var(--mn-muted);
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* In-results ad slot — uses canonical .mn-adslot (label + size + note inside). */
.mn-search-ad {
  list-style: none;
  padding: 22px 0;
  border-top: 1px solid var(--mn-rule, #DAD6CD);
  position: relative;
}
.mn-search-ad .mn-adslot {
  margin: 0;
  max-width: 728px;
  width: 100%;
}


/* Empty state */
.mn-search-empty { padding: 36px 0; text-align: left; }
.mn-search-empty h2 { font-family: var(--mn-serif); font-weight: 700; font-size: 28px; color: var(--mn-ink); margin: 0 0 10px; }
.mn-search-empty p { font-family: var(--mn-sans); font-size: 15.5px; line-height: 1.6; color: var(--mn-muted); margin: 0 0 14px; max-width: 60ch; }
.mn-search-empty__cta { margin-top: 18px; }
.mn-search-empty__btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; background: var(--mn-yellow); color: var(--mn-ink); font-family: var(--mn-sans); font-weight: 800; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; border-radius: 8px; }

/* Sidebar — related search + KYR */
.mn-search-related { display: block; }
.mn-search-related .cat-side__topics { margin-top: 10px; }
.mn-search-kyr { display: block; padding: 22px 24px 24px; background: var(--mn-yellow); border-radius: 10px; color: var(--mn-ink); }
.mn-search-kyr__eye { font-family: var(--mn-sans); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mn-ink); opacity: .65; margin-bottom: 10px; }
.mn-search-kyr__head { font-family: var(--mn-serif); font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--mn-ink); margin: 0 0 10px; }
.mn-search-kyr__body { font-family: var(--mn-sans); font-size: 14.5px; line-height: 1.55; color: var(--mn-ink); margin: 0 0 16px; }
.mn-search-kyr__cta { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mn-sans); font-weight: 800; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--mn-ink); text-decoration: none; padding: 12px 16px; background: var(--mn-ink); color: var(--mn-paper); border-radius: 8px; transition: background .15s; }
.mn-search-kyr__cta:hover { background: #000; }

/* Responsive — search archive (tpl 33930) */
@media (max-width: 900px) {
  /* Keep the archive from painting past the viewport (long URLs were the main culprit). */
  .elementor-33930,
  .elementor-location-archive.elementor-33930 {
    overflow-x: clip;
    max-width: 100%;
  }
  .elementor-33930 .e-con,
  .elementor-33930 .e-con-inner,
  .elementor-33930 .mn-search-results,
  .elementor-33930 .mn-search-results__item,
  .elementor-33930 .mnsmain,
  .elementor-33930 .elementor-element-mnsmain,
  .elementor-33930 .elementor-element-mnsside,
  .elementor-33930 .elementor-element-mnsbodyin {
    min-width: 0;
    max-width: 100%;
  }
  /* Sidebar is a fixed 320px on desktop — force full-bleed stack on tablet/phone. */
  .elementor-33930 .elementor-element-mnsside {
    --width: 100% !important;
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  .elementor-33930 .elementor-element-mnsbodyin {
    --flex-direction: column !important;
    flex-direction: column !important;
    --column-gap: 0px !important;
  }
  .elementor-33930 .elementor-element-mnsheroin,
  .elementor-33930 .elementor-element-mnsbodyin {
    --padding-left: 16px;
    --padding-right: 16px;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .elementor-33930 .elementor-element-mnsheroin {
    --padding-top: 36px;
    --padding-bottom: 28px;
    padding-top: 36px !important;
    padding-bottom: 28px !important;
  }
  .elementor-33930 .elementor-element-mnsh1 .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.1 !important;
  }

  .mn-search-form {
    flex-wrap: wrap;
    max-width: 100%;
  }
  .mn-search-form input[type="search"] {
    flex: 1 1 100%;
    font-size: 17px;
    padding: 12px 14px;
    min-width: 0;
  }
  .mn-search-form button {
    flex: 1 1 100%;
    width: 100%;
    padding: 14px 18px;
    font-size: 12.5px;
    border-radius: 8px;
  }
  .mn-search-toolbar { padding: 12px 16px; }
  .mn-search-facet__lbl { min-width: 0; flex: 1 0 100%; }
  .mn-search-results {
    padding: 4px 16px;
    border-radius: 8px;
  }
  .mn-search-results__head { font-size: 18px; }
  .mn-search-results__snip { font-size: 14.5px; }
  .mn-search-results__meta { gap: 6px; }
  .mn-search-ad .mn-adslot { min-height: 72px; max-height: 72px; }
  .mn-search-kyr { padding: 18px 18px 20px; }
  .mn-search-kyr__head { font-size: 20px; }
  .mn-search-hero .mn-search-count { font-size: 14px; margin-top: 14px; }
}

@media (max-width: 480px) {
  .elementor-33930 .elementor-element-mnsh1 .elementor-heading-title {
    font-size: 28px !important;
  }
  .mn-search-crumb {
    font-size: 11px;
    letter-spacing: .1em;
    gap: 6px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE HEADER NAV (≤1024px — the nav widget's tablet breakpoint, viewport_lg
   1025). The desktop "44px horizontal row" block (forced flex + height:100%
   !important, no min-width guard) leaks down here and crams the burger menu;
   this block overrides it and turns the nav into a FULL-HEIGHT overlay with
   large, well-spaced tap targets. Header only. (Verified via prototype 2026-06-19.)
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  /* Hide the desktop horizontal menu; the burger + overlay take over. */
  .elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main { display: none !important; }
  .elementor-location-header .elementor-element-mnnavinn {
    height: auto !important;
    min-height: 52px !important;
    flex-direction: row !important;
    align-items: center !important;
  }
  .elementor-location-header .elementor-element-mnnavinn .elementor-widget-nav-menu,
  .elementor-location-header .elementor-element-mnnavinn .elementor-widget-nav-menu > .elementor-widget-container {
    height: auto !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Hamburger / close — large, accessible 48px tap target. */
  .elementor-location-header .elementor-menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    color: var(--mn-ink) !important;
    border-radius: 8px;
    cursor: pointer;
  }
  .elementor-location-header .elementor-menu-toggle i { font-size: 30px !important; }
  .elementor-location-header .elementor-menu-toggle svg { width: 30px; height: 30px; }

  /* Full-height dropdown: from the live header bottom to the screen bottom, so the
     open menu is all the visitor sees. */
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--mn-header-bottom, 120px) !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0 40px !important;
    background: var(--mn-paper, #fff) !important;
    border-top: 1px solid var(--mn-rule) !important;
    box-shadow: 0 14px 28px rgba(33, 25, 24, 0.14) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 9990 !important;
    border-radius: 0 !important;
  }
  /* Vertical, full-width list. */
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown ul.elementor-nav-menu {
    display: block !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    gap: 0 !important;
  }
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }
  /* Big, well-spaced items (≈62px rows at 21px — easy to read and tap). */
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown .elementor-item {
    font-family: var(--mn-sans) !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    color: var(--mn-ink) !important;
    padding: 18px 28px !important;
    line-height: 1.2 !important;
    border-bottom: 1px solid var(--mn-rule) !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    white-space: normal !important;
  }
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown .elementor-item::after { display: none !important; }
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    background: var(--cream-light) !important;
    color: var(--mn-ink) !important;
  }
  /* Submenu (Historia EN/ES) — indented, slightly smaller, still a big tap target. */
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown .elementor-sub-item {
    font-size: 17px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    padding: 15px 28px 15px 48px !important;
    color: var(--mn-muted) !important;
    border-bottom: 1px solid var(--mn-rule) !important;
    display: flex !important;
    align-items: center !important;
    height: auto !important;
  }
  .elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown .elementor-nav-menu--dropdown { width: 100% !important; }
}

/* =========================================================================
   Author archive (design project 874a83e4) — Theme Builder template selectors
   ========================================================================= */

/* Hero — noir band, portrait left + identity right + stats row */
.au-hero { position: relative; isolation: isolate; color: var(--mn-paper); background-color: var(--noir-base); background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.075) 0 1px, rgba(255,255,255,0) 1px 8px), var(--noir-bg); background-size: auto, 100% 100%, 240px 240px, 100% 100%; background-repeat: repeat, no-repeat, repeat, no-repeat; background-blend-mode: normal, screen, overlay, normal; border-bottom: 1px solid rgba(255,255,255,.08); padding: 56px 0 44px; }
.au-hero > * { position: relative; z-index: 1; }
.au-hero__crumbs { font-family: var(--mn-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.66); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 28px; }
.au-hero__crumbs a { color: rgba(255,255,255,.66); text-decoration: none; }
.au-hero__crumbs a:hover { color: var(--mn-yellow); }
.au-hero__crumbs .sep { opacity: .4; }
.au-hero__crumbs .here { color: var(--mn-paper); }

.au-hero__inner { display: grid; grid-template-columns: 240px 1fr; gap: 44px; align-items: start; }
.au-portrait { position: relative; width: 240px; }
.au-portrait__frame { position: relative; z-index: 2; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 6px; background: #15233f; }
.au-portrait__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Gold accent square peeking out behind the bottom-left corner (design .au-portrait::before) + drop shadow */
.au-portrait::before { content: ""; position: absolute; left: -12px; bottom: -12px; width: 92px; height: 92px; background: var(--mn-yellow); border-radius: 4px; z-index: 1; }
.au-portrait::after { content: ""; position: absolute; inset: 0; border-radius: 6px; box-shadow: 0 24px 60px -24px rgba(0,0,0,.7); z-index: 0; }

/* Doubled-class selectors (0,2,0) to beat kit element-level h1/p color rules. */
.au-id__eyebrow.au-id__eyebrow { font-family: var(--mn-sans); font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mn-yellow); margin: 4px 0 12px; }
.au-id__name.au-id__name { font-family: var(--mn-serif); font-weight: 700; font-size: 56px; line-height: 1.05; color: var(--mn-paper); margin: 0 0 14px; }
.au-id__role.au-id__role { font-family: var(--mn-sans); font-size: 14.5px; font-weight: 700; letter-spacing: .04em; color: rgba(255,255,255,.82); margin: 0 0 18px; }
.au-id__role.au-id__role .role-sep { margin: 0 8px; opacity: .55; }
.au-id__bio.au-id__bio { font-family: var(--mn-serif); font-size: 17px; line-height: 1.55; color: rgba(255,255,255,.86); margin: 0 0 22px; max-width: 74ch; font-style: italic; }

.au-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.au-actions .au-btn { display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px; font-family: var(--mn-sans); font-weight: 800; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; border-radius: 8px; transition: background .15s, color .15s, border-color .15s; }
.au-actions .au-btn svg { width: 16px; height: 16px; flex: none; }
.au-actions .au-btn--primary { background: var(--mn-yellow); color: var(--mn-ink); border: 1px solid var(--mn-yellow); }
.au-actions .au-btn--primary:hover { filter: brightness(1.06); }
.au-actions .au-btn--ghost { background: transparent; color: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.28); }
.au-actions .au-btn--ghost:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); }

.au-socials { display: inline-flex; align-items: center; gap: 8px; margin-left: 6px; }
.au-social { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; color: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.22); text-decoration: none; transition: color .15s, border-color .15s, background .15s; }
.au-social svg { width: 16px; height: 16px; }
.au-social:hover { color: var(--mn-ink); background: var(--mn-yellow); border-color: var(--mn-yellow); }

.au-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); }
.au-stat { padding: 0 22px; display: flex; flex-direction: column; gap: 6px; border-left: 1px solid rgba(255,255,255,.08); }
.au-stat:first-child { padding-left: 0; border-left: 0; }
.au-stat .v.v { font-family: var(--mn-serif); font-weight: 700; font-size: 30px; line-height: 1; color: var(--mn-paper); letter-spacing: -.005em; }
.au-stat .v em { font-style: normal; color: var(--mn-yellow); }
.au-stat .l.l { font-family: var(--mn-sans); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.62); }

/* Body — "Últimas notas" head + cat-row list */
.au-listhead { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin: 0 0 22px; padding-bottom: 14px; border-bottom: 1px solid var(--mn-rule, #DAD6CD); }
.au-listhead__h.au-listhead__h { font-family: var(--mn-serif); font-weight: 700; font-size: 26px; line-height: 1.1; color: var(--mn-ink); margin: 0; }

.au-list { display: flex; flex-direction: column; gap: 0; }
.au-list .cat-row { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--mn-rule, #DAD6CD); text-decoration: none; align-items: start; }
.au-list .cat-row:last-child { border-bottom: 0; }
.au-list .cat-row__media { aspect-ratio: 3 / 2; overflow: hidden; border-radius: 8px; background: var(--mn-bg, #F0EEE9); }
.au-list .cat-row__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-list .cat-row__eyebrow { display: flex; align-items: center; gap: 10px; font-family: var(--mn-sans); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mn-muted); margin: 2px 0 6px; }
.au-list .cat-row__dash { display: inline-block; width: 18px; height: 3px; background: var(--mn-yellow); border-radius: 2px; flex: none; }
.au-list .cat-row__head.cat-row__head { font-family: var(--mn-serif); font-weight: 700; font-size: 22px; line-height: 1.25; color: var(--mn-ink); margin: 0 0 8px; transition: color .15s; }
.au-list .cat-row:hover .cat-row__head { color: var(--mn-accent); }
.au-list .cat-row__deck { font-family: var(--mn-sans); font-size: 16px; line-height: 1.55; color: var(--mn-muted); margin: 0 0 4px; } /* old font size 14.5px */
/* "Leer más" link at the excerpt ellipsis (the whole .cat-row is the link; this is a styled span). Red on hover. */
.au-list .cat-row__more { font-family: var(--mn-sans); font-style: italic; white-space: nowrap; transition: color .15s; }
.au-list .cat-row__more:hover { color: var(--mn-red-deep, #8E1B1B); }
.au-list .cat-row__meta { font-family: var(--mn-sans); font-size: 12.5px; color: var(--mn-muted); }
/* meta separator dot — bigger than the date/read-time text, vertically centered */
.au-list .cat-row__sep { font-size: 20px; line-height: 1; margin: 0 6px; color: var(--mn-muted); vertical-align: middle; }

/* Sidebar — featured series + tag cloud + ad + KYR + team */
.au-series { padding: 22px 22px 24px; background: var(--mn-paper, #FFFFFF); border: 1px solid var(--mn-rule, #DAD6CD); border-radius: 10px; box-shadow: 0 2px 12px 0 rgba(0,0,0,.05); }
.au-series__eyebrow { font-family: var(--mn-sans); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mn-muted); margin: 0 0 10px; }
.au-series__title.au-series__title { font-family: var(--mn-serif); font-weight: 700; font-size: 19px; line-height: 1.2; color: var(--mn-ink); margin: 0 0 10px; }
.au-series__desc { font-family: var(--mn-sans); font-size: 13.5px; line-height: 1.55; color: var(--mn-muted); margin: 0 0 14px; }
.au-series__cta { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mn-sans); font-weight: 800; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--mn-ink); text-decoration: none; border-bottom: 2px solid var(--mn-yellow); padding-bottom: 2px; }
.au-series__cta:hover { color: var(--mn-accent); }

.au-team__list { display: flex; flex-direction: column; gap: 0; margin-top: 10px; }
.au-team__row { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; padding: 12px 0; text-decoration: none; border-top: 1px solid var(--mn-rule, #DAD6CD); }
.au-team__row:first-child { border-top: 0; }
.au-team__av { display: inline-block; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: var(--mn-bg, #F0EEE9); }
.au-team__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.au-team__txt { display: flex; flex-direction: column; justify-content: center; gap: 1px; }
.au-team__name.au-team__name { font-family: var(--mn-serif); font-weight: 600; font-size: 15px; line-height: 1.1; color: var(--mn-ink); }
.au-team__role.au-team__role { font-family: var(--mn-sans); font-size: 12px; line-height: 1.15; color: var(--mn-muted); }
.au-team__row:hover .au-team__name { color: var(--mn-accent); }

/* Sidebar ad placeholder — prefer .mn-adslot; keep legacy class as alias. */
.mn-side-ad,
.mn-side-ad.mn-adslot,
.mn-adslot.mn-side-ad {
  /* identity only; visual system is .mn-adslot */
}
.mn-side-ad:not(.mn-adslot) {
  /* Legacy wrapper: paint the same reserved-inventory surface. */
  border: 1px dashed var(--mn-rule-strong, #C8C1B3);
  border-radius: 5px;
  min-height: 320px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  background:
    repeating-linear-gradient(45deg,
      transparent 0 14px,
      rgba(33, 25, 24, 0.025) 14px 28px),
    var(--mn-tint, #E7E4DC);
}
.mn-side-ad:not(.mn-adslot) .mn-side-ad__lbl,
.mn-side-ad:not(.mn-adslot) .mn-search-ad__lbl {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mn-ink);
  background: var(--mn-paper);
  border: 1px solid var(--mn-rule-strong);
  border-radius: 4px;
  padding: 3px 8px;
  font-family: var(--mn-sans);
  font-weight: 700;
  align-self: center;
}
.mn-side-ad:not(.mn-adslot) .mn-side-ad__box {
  font-family: var(--mn-mono, ui-monospace, Menlo, Consolas, monospace);
  font-size: 13px;
  color: var(--mn-ink);
}

/* Sidebar heading marker (yellow LINE, site pattern) */
.mn-side-h.mn-side-h { font-family: var(--mn-sans); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mn-ink); margin: 0 0 12px; display: flex; align-items: center; gap: 10px; }
.mn-side-h.mn-side-h::before { content: ""; display: inline-block; width: 22px; height: 3px; background: var(--mn-yellow); border-radius: 2px; }

/* Responsive */
@media (max-width: 900px) {
  .au-hero { padding: 36px 0 28px; }
  .au-hero__inner { grid-template-columns: 1fr; gap: 24px; }
  .au-portrait { width: 160px; }
  .au-id__name { font-size: 34px; }
  .au-stats { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }
  .au-stat { border-left: 0; padding-left: 0; }
  .au-list .cat-row { grid-template-columns: 1fr; gap: 16px; } /* old grid-template-columns: 140px 1fr */
  .au-list .cat-row__head { font-size: 18px; }
}


/* === a11y-20260904 pack === */
/* Voter-guide sidebar promo shares .mn-side__kyr card chrome via Elementor classes */
/* Blue gradient + fine pinstripe — same recipe as .mn-ph--color / .eva-ph--editorial-blue */
/* Containers use Elementor `css_classes` (not `_css_classes`); ID selector is a fallback. */
.mn-side__vg,
.elementor-element-snvgbox {
  --ph-a: #1A3A6E;
  --ph-b: #3F7AB8;
  background-color: var(--ph-a) !important;
  background-image:
    repeating-linear-gradient(45deg,
      rgba(255, 255, 255, 0.11) 0 1px,
      rgba(255, 255, 255, 0) 1px 5px),
    linear-gradient(140deg, var(--ph-a) 0%, var(--ph-b) 100%) !important;
  background-repeat: repeat, no-repeat !important;
}

/* KYR sidebar promo — visually secondary to the voter card above */
.mn-side__kyr:not(.mn-side__vg),
.elementor-element-snkyrbox {
  padding: 14px 16px !important;
  --padding-top: 14px !important;
  --padding-right: 16px !important;
  --padding-bottom: 14px !important;
  --padding-left: 16px !important;
  --row-gap: 4px !important;
  --column-gap: 4px !important;
  gap: 4px !important;
}
.mn-side__kyr:not(.mn-side__vg) .elementor-heading-title {
  font-size: 16px !important;
  line-height: 1.2 !important;
}
.mn-side__kyr:not(.mn-side__vg) .elementor-widget-heading:first-child .elementor-heading-title {
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
}
.mn-side__kyr:not(.mn-side__vg) .elementor-widget-text-editor,
.mn-side__kyr:not(.mn-side__vg) .elementor-widget-text-editor p {
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.mn-side__kyr:not(.mn-side__vg) .elementor-widget-heading:last-child .elementor-heading-title {
  font-size: 12px !important;
}

/* =========================================================================
   Header nav hover/focus — brand tokens (2026-09-04)
   Kill Elementor Pro defaults (.elementor-sub-item / dropdown hover → #3f444b/#fff)
   and browser/kit blue focus. Scope: header TB 3694 → mnnavinn / mnnavmnu.
   ========================================================================= */

/* Top-level: ink text, no fill, yellow underline (existing ::after) */
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item {
  color: var(--mn-ink) !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.highlighted,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.highlighted,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.elementor-item-active {
  color: var(--mn-ink) !important;
  background-color: transparent !important;
  background-image: none !important;
}
/* Yellow bar on hover, keyboard focus, and open parent (.highlighted) */
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover::after,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus-visible::after,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.highlighted::after,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover::after,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus-visible::after,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.highlighted::after {
  opacity: 1;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus:not(:focus-visible),
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus:not(:focus-visible) {
  outline: none;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus-visible,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:focus-visible {
  outline: 2px solid var(--mn-ink);
  outline-offset: 3px;
}

/* Dropdown panels: cream/paper surface (not dark Elementor chrome) */
.elementor-location-header .elementor-element-mnnavinn .sub-menu.elementor-nav-menu--dropdown,
.elementor-location-header .elementor-element-mnnavmnu .sub-menu.elementor-nav-menu--dropdown,
.elementor-location-header .elementor-element-mnnavinn nav.elementor-nav-menu--dropdown,
.elementor-location-header .elementor-element-mnnavmnu nav.elementor-nav-menu--dropdown {
  background-color: var(--mn-paper, #FFFFFF) !important;
  background-image: none !important;
  border: 1px solid var(--mn-rule, #DAD6CD);
  box-shadow: 0 12px 28px rgba(35, 22, 20, 0.14);
}

/* Submenu + burger dropdown items: override #3f444b / #fff */
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item,
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-sub-item,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-sub-item {
  color: var(--mn-ink) !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent;
  outline: none;
  box-shadow: none;
  text-shadow: none;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item:hover,
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item:focus,
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item.highlighted,
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item:hover,
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item:focus,
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item.highlighted,
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item.highlighted,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item.highlighted,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-sub-item:focus,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-sub-item.highlighted,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-sub-item:focus,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-sub-item.highlighted,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active {
  background-color: var(--cream-light, #F6F5F1) !important;
  color: var(--mn-ink) !important;
}
/* Active/current submenu: soft yellow tint */
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
  background-color: rgba(255, 206, 0, 0.28) !important;
  color: var(--mn-ink) !important;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item:focus-visible,
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item:focus-visible,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item:focus-visible,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item:focus-visible,
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-sub-item:focus-visible,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-sub-item:focus-visible {
  outline: 2px solid var(--mn-yellow);
  outline-offset: -2px;
  background-color: rgba(255, 206, 0, 0.22) !important;
  color: var(--mn-ink) !important;
}
.elementor-location-header .elementor-element-mnnavinn .elementor-sub-item:focus:not(:focus-visible),
.elementor-location-header .elementor-element-mnnavmnu .elementor-sub-item:focus:not(:focus-visible),
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--dropdown .elementor-item:focus:not(:focus-visible),
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--dropdown .elementor-item:focus:not(:focus-visible) {
  outline: none;
}

/* Burger toggle focus (tablet/mobile) — ink ring, not browser blue */
.elementor-location-header .elementor-element-mnnavmnu .elementor-menu-toggle:focus-visible,
.elementor-location-header .elementor-element-mnnavinn .elementor-menu-toggle:focus-visible {
  outline: 2px solid var(--mn-ink);
  outline-offset: 3px;
  background-color: rgba(255, 206, 0, 0.35);
  color: var(--mn-ink);
}


/* =========================================================================
   Footer boxed inners → --mn-container (2026-09-04)
   Footer TB 3695 still emits --content-width:1320px in post-3695.css even after
   the kit container bump. Force boxed .e-con-inner onto the site token so footer
   aligns with header / single wraps at 1440.
   ========================================================================= */
.elementor-location-footer .e-con-boxed,
[data-elementor-type="footer"] .e-con-boxed {
  --content-width: var(--mn-container) !important;
}
.elementor-location-footer .e-con-boxed > .e-con-inner,
[data-elementor-type="footer"] .e-con-boxed > .e-con-inner {
  max-width: var(--mn-container);
  width: 100%;
}

/* =========================================================================
   SINGLE-POST HERO width + single score (2026-09-04)
   Template 33691. The design token .mn-art-hero__inner { max-width:820px }
   is for a stacked text column; the live split hero (snheroin) sits inside
   snherow0 which already uses --mn-container (1440). The 820 cap squeezed
   the whole hero. .mn-art-hero--split never lands on the Elementor ancestor,
   so it cannot lift the cap.
   Double yellow score: .mn-art-hero__eyebrow::before AND
   .mn-art-hero__cat .jet-listing-dynamic-terms::before. Keep the terms tick.
   ========================================================================= */
.elementor-33691 .mn-art-hero__inner,
.elementor-33691 .elementor-element-snheroin {
  max-width: none;
  width: 100%;
}
.elementor-33691 .mn-art-hero__eyebrow::before {
  content: none;
  display: none;
}

/* =========================================================================
   SINGLE-POST BODY width = hero (2026-09-04)
   .mn-art-body { max-width:1180px; margin:auto } sat inside snbodyw0
   (already --mn-container 1440 + gutters) and shrank snbodyrw to 1180
   with 110px side margins. Hero snheroin is max-width:none / 1400 at 1440vp.
   ========================================================================= */
.elementor-33691 .mn-art-body,
.elementor-33691 .elementor-element-snbodyrw {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 981px) {
  .elementor-33691 .mn-art-body,
  .elementor-33691 .elementor-element-snbodyrw {
    grid-template-columns: minmax(0, 1fr) 350px;
  }
  .elementor-33691 .elementor-element-snsidecl {
    width: 350px;
    max-width: 350px;
  }
}

/* =========================================================================
   Header nav type + Google gadget chrome (2026-09-04)
   Nav: +2px on the 13px items; gap scales 20→23. Beat Elementor widget CSS.
   GT: hide the 2024+ floating icon (VIpgJd-*) in addition to the old banner.
   ========================================================================= */
.elementor-location-header .elementor-element-mnnavinn .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item,
.elementor-location-header .elementor-element-mnnavmnu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item {
  font-size: 15px !important;
}
.elementor-location-header .elementor-element-mnnavinn ul.elementor-nav-menu,
.elementor-location-header .elementor-element-mnnavmnu ul.elementor-nav-menu {
  gap: 23px !important;
}


/* =========================================================================
   SINGLE-POST reading column +10% (2026-09-04)
   User selected sncontent .elementor-widget-container at 720px
   (capped by .mn-art-body__main). 720 * 1.1 = 792.
   ========================================================================= */
.elementor-33691 .mn-art-body__main,
.elementor-33691 .elementor-element-snmaincl {
  max-width: 792px;
}

/* =========================================================================
   Hide TEMAS heading + empty [mn_post_tags] cloud when the post has no
   visible tags (Destacado is skipped by the shortcode).
   ========================================================================= */
.elementor-element-sntagsh1:has(+ .elementor-element-sntagsc1:not(:has(.cat-side__topic))) {
  display: none !important;
}
.elementor-element-sntagsc1:not(:has(.cat-side__topic)) {
  display: none !important;
}

/* =========================================================================
   SINGLE 33691 TEMAS: match chip offset to heading↔rule (2026-09-04)
   .mn-side__h padding-bottom 10px sits between TEMAS and its ink rule.
   snsticky column gap 36px sat between that rule and .cat-side__topics.
   Pull only sntagsc1 up so both distances are 10px. Do not hide the cloud
   or change the empty-topics :has() hide on sntagsh1 / sntagsc1.
   ========================================================================= */
.elementor-33691 .elementor-element-sntagsh1.mn-side__h {
  margin-bottom: 0;
}
.elementor-33691 .elementor-element-sntagsc1 {
  margin-top: calc(10px - 36px);
}

/* =========================================================================
   Homepage billboard rotator (2026-09-04) — [mn_ad_rotator] in 67faca0
   Host is a 225px viewport (creative 1440 × 225). Slide 1 = snvgbox colors.
   Slide 2 = existing PUBLICIDAD placeholder. Interval 5000ms in JS.
   ========================================================================= */
.elementor-3573 .elementor-element-67faca0,
.mn-ad-rotator-host {
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  text-align: left;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px;
  background: none !important;
  aspect-ratio: 1440 / 225;
  min-height: 225px;
  max-height: 225px;
  height: 225px;
  overflow: hidden;
}
.elementor-3573 .elementor-element-67faca0 .elementor-widget-shortcode,
.elementor-3573 .elementor-element-67faca0 .elementor-widget-container,
.elementor-3573 .elementor-element-67faca0 .elementor-shortcode {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.mn-ad-rotator {
  position: relative;
  width: 100%;
  height: 225px;
  overflow: hidden;
  border-radius: 5px;
}

.mn-ad-rotator__slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 400ms ease;
  z-index: 0;
}
.mn-ad-rotator__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.mn-ad-rotator__slide:focus {
  outline: none;
}
.mn-ad-rotator__slide:focus-visible {
  outline: 3px solid var(--mn-yellow);
  outline-offset: -3px;
  z-index: 2;
}

/* Slide 1 — horizontal snvgbox (navy + pinstripe, yellow eyebrow/CTA) */
.mn-ad-rotator__slide--vg {
  --ph-a: #1A3A6E;
  --ph-b: #3F7AB8;
  gap: 28px;
  padding: 28px 36px;
  background-color: var(--ph-a);
  background-image:
    repeating-linear-gradient(45deg,
      rgba(255, 255, 255, 0.11) 0 1px,
      rgba(255, 255, 255, 0) 1px 5px),
    linear-gradient(140deg, var(--ph-a) 0%, var(--ph-b) 100%);
  background-repeat: repeat, no-repeat;
  color: #fff;
}
.mn-ad-rotator__vg-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}
.mn-ad-rotator__eyebrow {
  font-family: var(--mn-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-yellow);
}
.mn-ad-rotator__title {
  font-family: var(--mn-serif);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
}
.mn-ad-rotator__dek {
  max-width: 62ch;
  font-family: var(--mn-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.75);
}
.mn-ad-rotator__cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 2px solid var(--mn-yellow);
  border-radius: 5px;
  font-family: var(--mn-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--mn-yellow);
  white-space: nowrap;
}
.mn-ad-rotator__slide--vg:hover .mn-ad-rotator__cta,
.mn-ad-rotator__slide--vg:focus-visible .mn-ad-rotator__cta {
  background: var(--mn-yellow);
  color: var(--mn-ink);
}
/* VG slide only: inset yellow ghost CTA 30px left; left-side copy stays put. */
.mn-ad-rotator__slide--vg > .mn-ad-rotator__cta {
  margin-right: 30px;
}

/* Slide 2 — existing PUBLICIDAD placeholder (full-bleed in wrap) */
.mn-ad-rotator__slide--ad {
  padding: 0;
}
.mn-ad-rotator__slide--ad .mn-adslot {
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  pointer-events: none;
}
.mn-ad-rotator__slide--ad:focus-visible {
  outline-color: var(--mn-ink);
}

@media (max-width: 767px) {
  .mn-ad-rotator__slide--vg {
    gap: 14px;
    padding: 18px 20px;
  }
  .mn-ad-rotator__title {
    font-size: 20px;
  }
  .mn-ad-rotator__dek {
    font-size: 13px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .mn-ad-rotator__cta {
    padding: 10px 12px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mn-ad-rotator__slide {
    transition: none;
  }
}

/* Homepage 3573: pull Ayuda Comunitaria (and everything after) up 40px
   under the billboard + advertise line. Seam only; rotator 225px unchanged. */
.elementor-3573 .elementor-element-751a98c {
  --margin-top: -40px;
  margin-top: -40px;
}


/* =========================================================================
   SINGLE 33691 sidebar 50px closer to the article (2026-09-04)
   Visual gutter is snmaincl.right → snsidecl.left (288px at 1440vp).
   Negative margin on the sidebar only; reading column stays 792.
   ========================================================================= */
@media (min-width: 981px) {
  .elementor-33691 .elementor-element-snsidecl {
    margin-left: -50px;
  }
}
@media (max-width: 980px) {
  .elementor-33691 .elementor-element-snsidecl {
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
}

/* === byline-v2-20260904 pack ===
   Every post list, one contract:
     Title
     Por {Author} — {M d Y}        (one line, wraps only when it must)
     Excerpt                         (2 lines, clipped with …)
   Replaces the stacked list-meta-20260904 + brief-deck-20260904 packs. */

/* ── 1. JetEngine dynamic-meta widgets (homepage listings + single-post sidebar) ── */
.mn-card__meta,
.mn-lead__meta,
.mn-opinion__by,
.mn-rank-item__meta {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--mn-sans);
  color: var(--mn-muted);
}
.mn-card__meta .jet-listing-dynamic-meta,
.mn-lead__meta .jet-listing-dynamic-meta,
.mn-opinion__by .jet-listing-dynamic-meta,
.mn-rank-item__meta .jet-listing-dynamic-meta,
.elementor-33653 .jet-listing-dynamic-meta,
.elementor-33674 .jet-listing-dynamic-meta,
.elementor-33675 .jet-listing-dynamic-meta,
.elementor-33676 .jet-listing-dynamic-meta,
.elementor-33689 .jet-listing-dynamic-meta,
.elementor-33690 .jet-listing-dynamic-meta {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 0 0.35em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}
.mn-card__meta .jet-listing-dynamic-meta__item,
.mn-lead__meta .jet-listing-dynamic-meta__item,
.mn-opinion__by .jet-listing-dynamic-meta__item,
.mn-rank-item__meta .jet-listing-dynamic-meta__item,
.elementor-33653 .jet-listing-dynamic-meta__item,
.elementor-33674 .jet-listing-dynamic-meta__item,
.elementor-33675 .jet-listing-dynamic-meta__item,
.elementor-33676 .jet-listing-dynamic-meta__item,
.elementor-33689 .jet-listing-dynamic-meta__item,
.elementor-33690 .jet-listing-dynamic-meta__item {
  display: block !important;
  order: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  white-space: nowrap;
  line-height: inherit !important;
}
/* no leftover dot separators — the em dash is the separator */
.mn-card__meta .jet-listing-dynamic-meta__item::before,
.mn-lead__meta .jet-listing-dynamic-meta__item::before,
.mn-opinion__by .jet-listing-dynamic-meta__item::before,
.mn-rank-item__meta .jet-listing-dynamic-meta__item::before,
.elementor-33653 .jet-listing-dynamic-meta__item::before,
.elementor-33674 .jet-listing-dynamic-meta__item::before,
.elementor-33675 .jet-listing-dynamic-meta__item::before,
.elementor-33676 .jet-listing-dynamic-meta__item::before,
.elementor-33689 .jet-listing-dynamic-meta__item::before,
.elementor-33690 .jet-listing-dynamic-meta__item::before {
  content: none !important;
  display: none !important;
}
/* "Por " / "— " prefixes keep their trailing space; values sit inline after them */
.mn-card__meta .jet-listing-dynamic-meta__prefix,
.mn-lead__meta .jet-listing-dynamic-meta__prefix,
.mn-opinion__by .jet-listing-dynamic-meta__prefix,
.mn-rank-item__meta .jet-listing-dynamic-meta__prefix,
.elementor-33653 .jet-listing-dynamic-meta__prefix,
.elementor-33674 .jet-listing-dynamic-meta__prefix,
.elementor-33675 .jet-listing-dynamic-meta__prefix,
.elementor-33676 .jet-listing-dynamic-meta__prefix,
.elementor-33689 .jet-listing-dynamic-meta__prefix,
.elementor-33690 .jet-listing-dynamic-meta__prefix,
.mn-card__meta .jet-listing-dynamic-meta__item-val,
.mn-lead__meta .jet-listing-dynamic-meta__item-val,
.mn-opinion__by .jet-listing-dynamic-meta__item-val,
.mn-rank-item__meta .jet-listing-dynamic-meta__item-val,
.elementor-33653 .jet-listing-dynamic-meta__item-val,
.elementor-33674 .jet-listing-dynamic-meta__item-val,
.elementor-33675 .jet-listing-dynamic-meta__item-val,
.elementor-33676 .jet-listing-dynamic-meta__item-val,
.elementor-33689 .jet-listing-dynamic-meta__item-val,
.elementor-33690 .jet-listing-dynamic-meta__item-val {
  display: inline !important;
  margin: 0 !important;
  white-space: nowrap;
  font-size: inherit !important;
  line-height: inherit !important;
}
.mn-card__meta .jet-listing-dynamic-meta__author .jet-listing-dynamic-meta__item-val,
.mn-lead__meta .jet-listing-dynamic-meta__author .jet-listing-dynamic-meta__item-val,
.mn-opinion__by .jet-listing-dynamic-meta__author .jet-listing-dynamic-meta__item-val,
.mn-rank-item__meta .jet-listing-dynamic-meta__author .jet-listing-dynamic-meta__item-val {
  color: var(--mn-ink);
  font-weight: 600;
}
/* byline sizes per surface */
.mn-lead__meta .jet-listing-dynamic-meta { font-size: 13px !important; }
.mn-card__meta .jet-listing-dynamic-meta,
.mn-opinion__by .jet-listing-dynamic-meta { font-size: 12px !important; }
.mn-card--brief .mn-card__meta .jet-listing-dynamic-meta,
.mn-briefs-grid .mn-card__meta .jet-listing-dynamic-meta,
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-meta,
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-meta__item,
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-meta__item-val,
.mn-briefs-grid .elementor-33676 .jet-listing-dynamic-meta__prefix,
.mn-rank-item__meta .jet-listing-dynamic-meta { font-size: 11px !important; }

/* ── 2. Title → byline → excerpt spacing inside the listing containers ── */
.elementor-33653 .elementor-element-f3e0f25,
.elementor-33674 .elementor-element-2c3974d,
.elementor-33675 .elementor-element-9260c7b,
.elementor-33676 .elementor-element-f86ff33,
.elementor-33689 .elementor-element-d2bef6a,
.elementor-33690 .elementor-element-060f8dd {
  margin: 0 0 6px !important;
}
.elementor-33653 .elementor-element-f3e0f25 .elementor-heading-title,
.elementor-33674 .elementor-element-2c3974d .jet-listing-dynamic-field__content,
.elementor-33675 .elementor-element-9260c7b .jet-listing-dynamic-field__content,
.elementor-33676 .elementor-element-f86ff33 .jet-listing-dynamic-field__content,
.elementor-33689 .elementor-element-d2bef6a .jet-listing-dynamic-field__content,
.elementor-33690 .elementor-element-060f8dd .jet-listing-dynamic-field__content {
  margin-bottom: 0 !important;
}
.mn-lead__meta { margin: 0 0 12px !important; }
.mn-card__meta,
.mn-opinion__by,
.mn-rank-item__meta { margin: 0 0 6px !important; }
.mn-card--brief .mn-card__meta,
.mn-briefs-grid .mn-card__meta { margin: 0 0 4px !important; }
.mn-briefs-grid .elementor-33676 > .e-con > .e-con:last-child,
.mn-briefs-grid- .elementor-33676 > .e-con > .e-con:last-child {
  gap: 0 !important;
  --row-gap: 0 !important;
  max-height: none;
  overflow: visible;
  justify-content: flex-start;
}
.mn-briefs-grid .elementor-33676 .elementor-element-f86ff33,
.mn-briefs-grid- .elementor-33676 .elementor-element-f86ff33 { margin: 0 0 4px !important; }
.mn-card--brief { gap: 24px; }
.mn-briefs-grid .elementor-33676 > .e-con {
  gap: 24px !important;
  --column-gap: 24px !important;
  align-items: flex-start;
}

/* ── 3. Excerpts: 2 lines then … (all JetEngine decks) ── */
.mn-card__deck,
.mn-lead__deck,
.mn-opinion__deck,
.mn-rank-item__deck {
  margin: 0 !important;
  padding: 0 !important;
}
.mn-card__deck .jet-listing-dynamic-field,
.mn-lead__deck .jet-listing-dynamic-field,
.mn-card__deck .jet-listing-dynamic-field__inline-wrap,
.mn-lead__deck .jet-listing-dynamic-field__inline-wrap {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  align-items: initial !important;
}
.mn-card__deck .jet-listing-dynamic-field__content,
.mn-lead__deck .jet-listing-dynamic-field__content,
.mn-briefs-grid .elementor-33676 .mn-card__deck .jet-listing-dynamic-field__content,
.mn-briefs-grid- .elementor-33676 .mn-card__deck .jet-listing-dynamic-field__content {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin: 0 !important;
  margin-block: 0 !important;
  padding: 0 !important;
  font-family: var(--mn-sans) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  color: var(--mn-muted) !important;
  text-wrap: pretty;
}
.mn-lead__deck .jet-listing-dynamic-field__content {
  font-family: var(--mn-serif) !important;
  font-style: italic !important;
  font-size: 19px !important;
  line-height: 1.45 !important;
}
.mn-card__deck .jet-listing-dynamic-field__content { font-size: 15px !important; line-height: 1.5 !important; }
.mn-briefs-grid .elementor-33676 .mn-card__deck .jet-listing-dynamic-field__content,
.mn-briefs-grid- .elementor-33676 .mn-card__deck .jet-listing-dynamic-field__content,
.mn-card--brief .mn-card__deck .jet-listing-dynamic-field__content { font-size: 13px !important; line-height: 1.35 !important; }
.mn-opinion__deck .jet-listing-dynamic-field__content { font-size: 13.5px !important; line-height: 1.45 !important; }
.mn-rank-item__deck .jet-listing-dynamic-field__content { font-size: 12.5px !important; line-height: 1.4 !important; }
/* the brief-rail headline keeps its serif weight (the 33676 catch-all clamp above styles every field) */
.mn-briefs-grid .elementor-33676 .elementor-element-f86ff33 .jet-listing-dynamic-field__content,
.mn-briefs-grid- .elementor-33676 .elementor-element-f86ff33 .jet-listing-dynamic-field__content {
  font-family: var(--mn-serif);
  font-weight: 700;
  color: var(--mn-ink);
  line-height: 1.22 !important;
}
@media (max-width: 980px) {
  .mn-lead__deck .jet-listing-dynamic-field__content { font-size: 17px !important; }
}

/* ── 4. PHP archives (category / author / search): same three lines ── */
.mn-list-meta,
.cat-feat__meta,
.au-list .cat-row__meta,
.mn-search-results__meta {
  display: block !important;
  font-family: var(--mn-sans);
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--mn-muted);
  margin: 0 0 8px !important;
  gap: 0 !important;
}
.mn-list-meta__by,
.mn-list-meta__sep,
.mn-list-meta__date {
  display: inline !important;
}
.mn-list-meta__author { color: var(--mn-ink); font-weight: 600; }
.cat-feat__head.cat-feat__head { margin-bottom: 8px; }
.au-list .cat-row__head.cat-row__head { margin: 0 0 6px; }
.mn-search-results__head { margin-bottom: 6px; }
.cat-feat__deck,
.au-list .cat-row__deck,
.mn-search-results__snip {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin: 0 !important;
}
.cat-feat__deck { margin-bottom: 0 !important; }
