/**
 * RPMR Global Stylesheet v2.3 — Producción
 * Header azul forzado | Buscador inline dinámico | Submenús z-index máximo
 * Footer institucional | Scroll-to-top | Noticias
 */

/* ══════════════════════════════════════════════════
   0. TOKENS Y Z-INDEX MAP
══════════════════════════════════════════════════ */
:root {
  --rpmr-primary:      #0052A0;
  --rpmr-primary-dk:   #003d7a;
  --rpmr-primary-mid:  #00408a;
  --rpmr-primary-lt:   #1a6dcc;
  --rpmr-secondary:    #31D3C6;
  --rpmr-secondary-dim:rgba(49,211,198,0.12);
  --rpmr-secondary-25: rgba(49,211,198,0.25);
  --rpmr-text:         #1a2840;
  --rpmr-text-sec:     #5a6a7e;
  --rpmr-text-lt:      rgba(255,255,255,0.88);
  --rpmr-text-dim:     rgba(255,255,255,0.55);
  --rpmr-text-faint:   rgba(255,255,255,0.40);
  --rpmr-bg:           #f5f7fa;
  --rpmr-card:         #ffffff;
  --rpmr-border:       #dde3ed;
  --rpmr-border-g1:    rgba(255,255,255,0.08);
  --rpmr-border-g2:    rgba(255,255,255,0.14);
  --rpmr-shadow:       0 2px 8px rgba(0,0,0,.06),0 6px 20px rgba(0,0,0,.07);
  --rpmr-shadow-lg:    0 8px 32px rgba(0,0,0,.13);
  --rpmr-shadow-dk:    0 16px 40px rgba(0,20,60,.45),0 4px 12px rgba(0,20,60,.2);
  --rpmr-radius:       12px;
  --rpmr-radius-sm:    8px;
  --rpmr-ease:         cubic-bezier(.4,0,.2,1);

  /* Z-INDEX — nunca colisionen */
  --z-content:  10;
  --z-menu:     9999;      /* header */
  --z-sidebar:  999900;    /* menú móvil */
  --z-search:   1000100;   /* buscador — encima de todo */
  --z-stt:      9998;      /* scroll-to-top */
}

/* ══════════════════════════════════════════════════
   1. BASE GLOBAL
══════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
audio, embed, object, video { max-width: 100%; }

/* ══════════════════════════════════════════════════
   2. HEADER — FORZAR FONDO AZUL EN TODAS LAS PÁGINAS
   Aplica incluso en templates con CSS propio que
   resetean el fondo a blanco.
══════════════════════════════════════════════════ */

/* La regla más específica posible para el header */
body .hfg_header.site-header,
body .hfg_header.site-header .header--row,
body #header-grid,
body #header-grid .header--row,
body #header-grid .header--row-inner {
  background: transparent !important;
}

/* Fila superior (logo) */
body .header--row.header-top,
body .header--row.header-main {
  background: #fff !important;
}

/* Fila del menú de navegación (siempre azul) */
body .header--row.header-bottom,
body #header-grid .header--row.header-bottom {
  background: var(--rpmr-primary) !important;
  position: relative !important;
  z-index: var(--z-menu) !important;
  overflow: visible !important; /* NUNCA hidden — corta submenús */
}

/* Línea teal superior del menú */
body .header--row.header-bottom::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--rpmr-secondary), var(--rpmr-primary), var(--rpmr-secondary));
  z-index: 1; pointer-events: none;
}

/* Header completo sticky y z-index correcto */
body .hfg_header.site-header {
  z-index: var(--z-menu) !important;
  position: sticky !important;
  top: 0 !important;
}

/* ── MENÚ DESKTOP ─────────────────────────────── */
#nv-primary-navigation-bottom.primary-menu-ul {
  display: flex !important; align-items: center;
  list-style: none; margin: 0; padding: 0; gap: 2px;
}

#nv-primary-navigation-bottom > .menu-item > .wrap > a {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 13.5px !important; font-weight: 600 !important;
  color: var(--rpmr-text-lt) !important; text-decoration: none !important;
  padding: 8px 13px !important; border-radius: var(--rpmr-radius-sm);
  display: flex !important; align-items: center; gap: 5px;
  transition: all .22s; letter-spacing: .02em; white-space: nowrap; position: relative;
}
#nv-primary-navigation-bottom > .menu-item > .wrap > a::after {
  content: ''; position: absolute; bottom: 4px; left: 13px; right: 13px;
  height: 2px; background: var(--rpmr-secondary); border-radius: 2px;
  transform: scaleX(0); transition: transform .22s;
}
#nv-primary-navigation-bottom > .menu-item > .wrap > a:hover { color: #fff !important; background: rgba(255,255,255,.07) !important; }
#nv-primary-navigation-bottom > .menu-item > .wrap > a:hover::after { transform: scaleX(1); }
#nv-primary-navigation-bottom > .current-menu-item > .wrap > a,
#nv-primary-navigation-bottom > .current-menu-ancestor > .wrap > a,
#nv-primary-navigation-bottom > .menu-item-home > .wrap > a {
  color: var(--rpmr-secondary) !important; background: rgba(49,211,198,.08) !important;
}
#nv-primary-navigation-bottom > .current-menu-item > .wrap > a::after,
#nv-primary-navigation-bottom > .current-menu-ancestor > .wrap > a::after,
#nv-primary-navigation-bottom > .menu-item-home > .wrap > a::after { transform: scaleX(1); }

/* Caret */
#nv-primary-navigation-bottom .caret-wrap .caret svg {
  width: 10px !important; height: 10px !important;
  fill: var(--rpmr-text-faint) !important; transition: transform .22s, fill .2s;
}
#nv-primary-navigation-bottom .menu-item:hover > .wrap .caret svg {
  fill: var(--rpmr-secondary) !important; transform: rotate(180deg);
}

/* ══════════════════════════════════════════════════
   3. SUBMENÚS — Z-INDEX MÁXIMO
   Se aplica a TODAS las páginas sin excepción.
   El z-index supera a Elementor, Revolution Slider,
   y cualquier plugin de terceros.
══════════════════════════════════════════════════ */

/* Contenedor padre debe ser relative para que el submenú se posicione bien */
.header--row .nv-nav-wrap .primary-menu-ul,
#nv-primary-navigation-bottom {
  position: relative !important;
}

/* SUBMENÚS DESKTOP — posición, z-index y pointer-events */
.header--row .nv-nav-wrap .primary-menu-ul .menu-item-has-children {
  position: relative !important;
}

.header--row .nv-nav-wrap .primary-menu-ul .sub-menu,
#nv-primary-navigation-bottom .sub-menu {
  position: absolute !important;
  z-index: 2147483647 !important; /* máximo CSS z-index */
  pointer-events: auto !important;
  visibility: hidden;
  opacity: 0;
  transition: opacity .18s, visibility .18s;
  /* Estilos visuales */
  background: var(--rpmr-primary-dk) !important;
  border: 1px solid var(--rpmr-border-g2) !important;
  border-top: 2px solid var(--rpmr-secondary) !important;
  border-radius: 0 0 var(--rpmr-radius) var(--rpmr-radius) !important;
  box-shadow: var(--rpmr-shadow-dk) !important;
  padding: 6px 0 !important;
  min-width: 210px !important;
  max-width: 90vw !important;
  list-style: none !important;
}

/* Mostrar submenú en hover Y en focus-within (teclado + touch en desktop) */
.header--row .nv-nav-wrap .primary-menu-ul .menu-item-has-children:hover > .sub-menu,
.header--row .nv-nav-wrap .primary-menu-ul .menu-item-has-children:focus-within > .sub-menu,
#nv-primary-navigation-bottom .menu-item-has-children:hover > .sub-menu,
#nv-primary-navigation-bottom .menu-item-has-children:focus-within > .sub-menu,
/* Neve añade clase .dropdown-open al hacer click en mobile-as-desktop */
.header--row .nv-nav-wrap .primary-menu-ul .menu-item-has-children.dropdown-open > .sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Items del submenú */
#nv-primary-navigation-bottom .sub-menu .menu-item {
  border-bottom: 1px solid var(--rpmr-border-g1) !important;
}
#nv-primary-navigation-bottom .sub-menu .menu-item:last-child { border-bottom: none !important; }
#nv-primary-navigation-bottom .sub-menu .menu-item a {
  font-size: 13px !important; font-weight: 500 !important;
  color: var(--rpmr-text-lt) !important; text-decoration: none !important;
  padding: 9px 16px !important; display: flex !important; align-items: center;
  gap: 8px; transition: all .18s; position: relative;
}
#nv-primary-navigation-bottom .sub-menu .menu-item a::before {
  content: ''; width: 4px; height: 4px; border-radius: 50%;
  background: var(--rpmr-secondary); opacity: .4; flex-shrink: 0;
  transition: opacity .18s, transform .18s;
}
#nv-primary-navigation-bottom .sub-menu .menu-item a:hover {
  color: #fff !important; background: rgba(49,211,198,.07) !important; padding-left: 20px !important;
}
#nv-primary-navigation-bottom .sub-menu .menu-item a:hover::before { opacity: 1; transform: scale(1.5); }

/* Sub-submenús */
#nv-primary-navigation-bottom .sub-menu .sub-menu {
  top: 0 !important; left: 100% !important;
  border-radius: 0 var(--rpmr-radius) var(--rpmr-radius) 0 !important;
  z-index: 2147483647 !important;
}

/* ══════════════════════════════════════════════════
   4. HEADER MOBILE (nv-navbar)
   overflow: hidden NUNCA — corta los submenús
══════════════════════════════════════════════════ */
.header--row.header-main.nv-navbar {
  background: var(--rpmr-primary-dk) !important;
  border-bottom: 1px solid var(--rpmr-border-g2) !important;
  box-shadow: 0 4px 20px rgba(0,20,60,.35) !important;
  position: relative !important; overflow: visible !important;
  z-index: var(--z-menu) !important;
}
.header--row.header-main.nv-navbar::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg,var(--rpmr-secondary),var(--rpmr-primary),var(--rpmr-secondary)); z-index: 1;
}

/* Hamburguesa */
.menu-mobile-toggle .navbar-toggle {
  background: rgba(255,255,255,.06) !important; border: 1px solid var(--rpmr-border-g2) !important;
  border-radius: var(--rpmr-radius-sm) !important; padding: 8px 10px !important;
  transition: all .22s !important; min-width: 44px; min-height: 44px;
  display: flex !important; align-items: center; justify-content: center;
  -webkit-tap-highlight-color: transparent; cursor: pointer;
}
.menu-mobile-toggle .navbar-toggle:hover { background: var(--rpmr-secondary-dim) !important; border-color: var(--rpmr-secondary-25) !important; }
.menu-mobile-toggle .navbar-toggle .icon-bar { background: var(--rpmr-text-lt) !important; height: 2px !important; width: 20px !important; border-radius: 2px !important; transition: all .22s !important; display: block; }
.menu-mobile-toggle .navbar-toggle.is-active .icon-bar:nth-child(1) { transform: rotate(45deg) translate(4px,4px) !important; background: var(--rpmr-secondary) !important; }
.menu-mobile-toggle .navbar-toggle.is-active .icon-bar:nth-child(2) { opacity: 0 !important; }
.menu-mobile-toggle .navbar-toggle.is-active .icon-bar:nth-child(3) { transform: rotate(-45deg) translate(4px,-4px) !important; background: var(--rpmr-secondary) !important; }

/* ══════════════════════════════════════════════════
   5. SIDEBAR MÓVIL Y SUBMENÚS MOBILE
══════════════════════════════════════════════════ */
#header-menu-sidebar, .header-menu-sidebar {
  background: var(--rpmr-primary-dk) !important;
  border-right: 1px solid var(--rpmr-border-g2) !important;
  box-shadow: 8px 0 40px rgba(0,20,60,.5) !important;
  max-width: 85vw; overflow-x: hidden; overflow-y: auto;
  -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  z-index: var(--z-sidebar) !important;
}
.header-menu-sidebar-bg { background: var(--rpmr-primary-dk) !important; position: relative; }
.header-menu-sidebar-bg::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg,var(--rpmr-secondary),var(--rpmr-primary)); z-index: 5;
}
.header-menu-sidebar-overlay { background: rgba(0,20,60,.65) !important; backdrop-filter: blur(4px) !important; z-index: calc(var(--z-sidebar) - 1) !important; }

/* Items del menú móvil */
#nv-primary-navigation-sidebar.primary-menu-ul { list-style: none; margin: 0; padding: 12px 0; }
#nv-primary-navigation-sidebar > .menu-item > .wrap > a {
  font-family: 'Source Sans 3',sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  color: var(--rpmr-text-lt) !important; text-decoration: none !important;
  padding: 11px 20px !important; min-height: 44px; display: flex !important;
  align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--rpmr-border-g1) !important;
  transition: all .2s; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
#nv-primary-navigation-sidebar > .menu-item > .wrap > a:hover { color: var(--rpmr-secondary) !important; background: rgba(49,211,198,.05) !important; }

/* SUBMENÚS SIDEBAR MÓVIL — pointer-events garantizados */
/* Sub-menu en sidebar: dejar que Neve maneje display con su propia CSS.
   Nosotros solo ajustamos el estilo visual. */
.header-menu-sidebar-inner .menu-item-has-children > .sub-menu {
  pointer-events: auto !important; position: static !important;
  box-shadow: none !important; transform: none !important; width: 100% !important;
  background: rgba(0,0,0,.18) !important; border-left: 2px solid var(--rpmr-secondary) !important;
  padding: 4px 0 6px 14px !important; margin: 0 0 4px !important;
  z-index: auto !important;
}
/* SHOW: máxima especificidad para garantizar que gana */
body .header-menu-sidebar-inner .menu-item-has-children.dropdown-open > .sub-menu,
body .header-menu-sidebar-inner .menu-item-has-children.toggled-on > .sub-menu,
body .header-menu-sidebar-inner .menu-item-has-children > .sub-menu.dropdown-open,
body .header-menu-sidebar-inner .menu-item-has-children > .sub-menu.is-open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.header-menu-sidebar-inner .sub-menu a {
  font-size: 13px !important; color: var(--rpmr-text-dim) !important;
  text-decoration: none !important; padding: 8px 12px !important;
  min-height: 44px; display: flex !important; align-items: center;
  border-bottom: 1px solid var(--rpmr-border-g1) !important;
  transition: all .18s; -webkit-tap-highlight-color: transparent;
  touch-action: manipulation; pointer-events: auto !important;
}
.header-menu-sidebar-inner .sub-menu a:hover { color: var(--rpmr-secondary) !important; padding-left: 18px !important; }

/* Toggle de submenú */
.header-menu-sidebar-inner .dropdown-menu-toggle,
#nv-primary-navigation-sidebar .caret-wrap.navbar-toggle {
  background: rgba(255,255,255,.05) !important; border: 1px solid var(--rpmr-border-g2) !important;
  border-radius: 6px !important; min-width: 44px; min-height: 44px;
  display: inline-flex !important; align-items: center; justify-content: center;
  cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.header-menu-sidebar-inner .dropdown-menu-toggle:hover,
#nv-primary-navigation-sidebar .caret-wrap.navbar-toggle:hover { background: var(--rpmr-secondary-dim) !important; border-color: var(--rpmr-secondary-25) !important; }
#nv-primary-navigation-sidebar .caret-wrap svg { fill: var(--rpmr-text-dim) !important; width: 10px !important; height: 10px !important; }

.close-sidebar-panel .navbar-toggle {
  background: rgba(255,255,255,.05) !important; border: 1px solid var(--rpmr-border-g2) !important;
  border-radius: var(--rpmr-radius-sm) !important; min-width: 44px; min-height: 44px;
  display: flex; align-items: center; justify-content: center;
}
.close-sidebar-panel .navbar-toggle:hover { background: var(--rpmr-secondary-dim) !important; }
.close-sidebar-panel .icon-bar { background: var(--rpmr-text-lt) !important; }

/* ══════════════════════════════════════════════════
   6. BUSCADOR — EFECTO DINÁMICO EN EL HEADER
   Al hacer click en la lupa, el campo de búsqueda
   aparece EN EL HEADER sin tapar el menú.
   Funciona con los tipos: minimal, canvas, floating.
   El ícono se transforma en una "X" al activarse.
══════════════════════════════════════════════════ */

/* Ícono de lupa */
.nv-search-icon-component .nv-icon.nv-search svg { fill: var(--rpmr-text-lt) !important; transition: fill .2s, transform .3s; }
.nv-search-icon-component .nv-icon.nv-search:hover svg { fill: var(--rpmr-secondary) !important; }
/* Lupa animada al activarse (rota hacia X) */
.menu-item-nav-search.active .nv-icon.nv-search svg { fill: var(--rpmr-secondary) !important; transform: rotate(90deg) scale(0.85); }

/* ── TIPO MINIMAL: campo inline que crece ────────── */
.menu-item-nav-search.minimal { position: relative; }
.menu-item-nav-search.minimal .nv-nav-search {
  position: absolute !important; right: 0 !important; top: 100% !important;
  width: 0 !important; min-width: 0 !important; overflow: hidden !important;
  opacity: 0 !important; visibility: hidden !important;
  background: var(--rpmr-primary-dk) !important;
  border: 0 solid transparent !important;
  border-radius: 0 0 var(--rpmr-radius-sm) var(--rpmr-radius-sm) !important;
  transition: width .3s var(--rpmr-ease), opacity .25s, visibility .25s, border-width .25s !important;
  z-index: var(--z-search) !important;
  box-shadow: 0 8px 24px rgba(0,20,60,.4) !important;
  padding: 0 !important;
}
.menu-item-nav-search.minimal.active .nv-nav-search {
  width: 340px !important; opacity: 1 !important; visibility: visible !important;
  border: 1px solid rgba(49,211,198,.3) !important;
  padding: 8px 12px !important;
}
.menu-item-nav-search.minimal .search-form {
  display: flex !important; align-items: center !important;
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(49,211,198,.3) !important;
  border-radius: var(--rpmr-radius-sm) !important; overflow: hidden !important; width: 100% !important;
}
.menu-item-nav-search.minimal .search-field {
  flex: 1 !important; background: transparent !important; border: none !important;
  outline: none !important; color: #fff !important; font-size: 14px !important;
  padding: 10px 14px !important; font-family: 'Source Sans 3',sans-serif !important;
}
.menu-item-nav-search.minimal .search-field::placeholder { color: rgba(255,255,255,.45) !important; }
.menu-item-nav-search.minimal .search-field:focus { outline: none !important; }
.menu-item-nav-search.minimal .search-submit {
  background: var(--rpmr-secondary) !important; border: none !important;
  padding: 10px 14px !important; cursor: pointer !important;
  display: flex !important; align-items: center !important;
}
.menu-item-nav-search.minimal .search-submit:hover { background: #1abdb1 !important; }
.menu-item-nav-search.minimal .search-submit svg,
.menu-item-nav-search.minimal .nv-search-icon-wrap svg { fill: #fff !important; width: 16px !important; height: 16px !important; }

/* ── TIPO FLOATING: barra que baja desde arriba ──── */
.menu-item-nav-search.floating .nv-nav-search {
  position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important; min-height: 80px !important;
  z-index: var(--z-search) !important;
  background: rgba(0,31,71,.97) !important;
  backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important;
  border-top: 3px solid var(--rpmr-secondary) !important;
  border-bottom: 1px solid rgba(49,211,198,.2) !important;
  box-shadow: 0 8px 40px rgba(0,20,60,.5) !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 16px !important;
  padding: 16px 40px !important;
  opacity: 0; visibility: hidden; transform: translateY(-12px);
  transition: opacity .25s var(--rpmr-ease), visibility .25s, transform .25s var(--rpmr-ease) !important;
}
.menu-item-nav-search.floating.active .nv-nav-search {
  opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; top: 0 !important;
}
.menu-item-nav-search.floating .nv-nav-search .search-form {
  flex: 1 !important; max-width: 680px !important; display: flex !important;
  border: 2px solid rgba(49,211,198,.45) !important; border-radius: 10px !important;
  overflow: hidden !important; background: rgba(255,255,255,.07) !important;
}
.menu-item-nav-search.floating .nv-nav-search .search-field {
  flex: 1 !important; border: none !important; outline: none !important;
  background: transparent !important; color: #fff !important;
  font-size: 17px !important; font-family: 'Source Sans 3',sans-serif !important;
  padding: 14px 20px !important; box-shadow: none !important; -webkit-appearance: none !important;
}
.menu-item-nav-search.floating .nv-nav-search .search-field::placeholder { color: rgba(255,255,255,.45) !important; }
.menu-item-nav-search.floating .nv-nav-search .search-submit {
  flex-shrink: 0 !important; background: var(--rpmr-secondary) !important;
  border: none !important; padding: 14px 20px !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; min-width: 56px !important;
}
.menu-item-nav-search.floating .nv-nav-search .search-submit:hover { background: #1abdb1 !important; }
.menu-item-nav-search.floating .nv-nav-search .search-submit svg { fill: #fff !important; width: 20px !important; height: 20px !important; }
.menu-item-nav-search.floating .close-responsive-search {
  flex-shrink: 0 !important; background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.15) !important; border-radius: var(--rpmr-radius-sm) !important;
  width: 48px !important; height: 48px !important; display: flex !important;
  align-items: center !important; justify-content: center !important; cursor: pointer !important;
  transition: all .2s !important;
}
.menu-item-nav-search.floating .close-responsive-search:hover { background: var(--rpmr-secondary-dim) !important; border-color: var(--rpmr-secondary) !important; }
.menu-item-nav-search.floating .close-responsive-search svg { fill: rgba(255,255,255,.75) !important; width: 24px !important; height: 24px !important; }

/* ── TIPO CANVAS: pantalla completa ──────────────── */
.menu-item-nav-search.canvas .nv-nav-search {
  position: fixed !important; inset: 0 !important; width: 100% !important;
  z-index: var(--z-search) !important;
  background: rgba(0,31,71,.97) !important; backdrop-filter: blur(12px) !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  border-top: 3px solid var(--rpmr-secondary) !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-form {
  width: 90% !important; max-width: 680px !important;
  display: flex !important; border: 2px solid rgba(49,211,198,.4) !important;
  border-radius: 10px !important; overflow: hidden !important;
  background: rgba(255,255,255,.07) !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-field {
  flex: 1 !important; background: transparent !important; border: none !important;
  color: #fff !important; font-size: 18px !important; padding: 18px 22px !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-field::placeholder { color: rgba(255,255,255,.4) !important; }
.menu-item-nav-search.canvas .nv-nav-search .search-submit {
  background: var(--rpmr-secondary) !important; border: none !important;
  padding: 18px 22px !important; cursor: pointer !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-submit svg { fill: #fff !important; width: 22px !important; height: 22px !important; }
.menu-item-nav-search.canvas .nv-nav-search .close-container {
  position: absolute !important; top: 24px !important; right: 32px !important;
}
.menu-item-nav-search.canvas .close-responsive-search {
  background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: var(--rpmr-radius-sm) !important; width: 52px !important; height: 52px !important;
  display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important;
}
.menu-item-nav-search.canvas .close-responsive-search svg { fill: rgba(255,255,255,.7) !important; width: 26px !important; height: 26px !important; }
.menu-item-nav-search.canvas .close-responsive-search:hover svg { fill: var(--rpmr-secondary) !important; }

/* ── BUSCADOR EN MENÚ MÓVIL ──────────────────────── */
.header-menu-sidebar .menu-item-nav-search .nv-nav-search {
  position: static !important; z-index: auto !important;
  background: rgba(0,0,0,.15) !important; border: none !important;
  padding: 8px 16px !important; width: 100% !important;
  display: flex !important; align-items: center !important;
}
.header-menu-sidebar .menu-item-nav-search.active .nv-nav-search {
  display: flex !important; opacity: 1 !important; visibility: visible !important;
}
.header-menu-sidebar .menu-item-nav-search .search-field {
  background: rgba(255,255,255,.08) !important; border: 1px solid var(--rpmr-border-g2) !important;
  border-radius: var(--rpmr-radius-sm) !important; color: #fff !important;
  font-size: 14px !important; padding: 10px 14px !important; width: 100% !important;
}
.header-menu-sidebar .menu-item-nav-search .search-submit {
  background: var(--rpmr-secondary) !important; border: none !important;
  padding: 10px 12px !important; cursor: pointer !important;
  border-radius: 0 var(--rpmr-radius-sm) var(--rpmr-radius-sm) 0 !important;
}
.header-menu-sidebar .menu-item-nav-search .search-submit svg { fill: #fff !important; width: 16px !important; height: 16px !important; }

/* Clickaway overlay */
.nav-clickaway-overlay { z-index: calc(var(--z-search) - 1) !important; }

/* Buscador en páginas normales (sidebar/widget) */
.search-form { display: flex; align-items: stretch; border-radius: 6px; overflow: hidden; border: 2px solid var(--rpmr-primary); background: #fff; transition: box-shadow .2s; }
.search-form:focus-within { box-shadow: 0 0 0 3px rgba(0,82,160,.18); }
.search-form .search-field { flex: 1; min-width: 0; border: none !important; outline: none !important; box-shadow: none !important; padding: 10px 16px; font-size: 15px; background: transparent; color: var(--rpmr-text); }
.search-form .search-field::placeholder { color: #8a96a8; opacity: 1; }
.search-form .search-submit { flex-shrink: 0; min-width: 48px; min-height: 44px; border: none; padding: 10px 16px; cursor: pointer; background: var(--rpmr-primary); color: #fff; transition: background .2s; display: flex; align-items: center; justify-content: center; }
.search-form .search-submit:hover { background: var(--rpmr-primary-dk); }
.search-form .search-submit svg { width: 18px; height: 18px; fill: #fff !important; }

/* ══════════════════════════════════════════════════
   7. SCROLL TO TOP
══════════════════════════════════════════════════ */
#scroll-to-top {
  position: fixed !important; bottom: 28px !important; right: 24px !important;
  z-index: var(--z-stt) !important; width: 44px !important; height: 44px !important;
  border-radius: 50% !important; border: none !important; cursor: pointer !important;
  display: flex !important; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity .3s, visibility .3s, transform .2s !important;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  background: var(--rpmr-primary) !important; color: #fff !important;
  box-shadow: 0 4px 16px rgba(0,82,160,.35) !important;
}
#scroll-to-top.rpmr-stt-visible { opacity: 1 !important; visibility: visible !important; }
#scroll-to-top:hover { transform: translateY(-3px) !important; background: var(--rpmr-primary-dk) !important; }
#scroll-to-top svg, #scroll-to-top .scroll-to-top-icon { fill: #fff !important; color: #fff !important; }
#scroll-to-top.scroll-to-top-left { right: auto !important; left: 24px !important; }
.scroll-to-top.scroll-show-mobile { display: flex !important; }
@media (max-width:600px) { #scroll-to-top { bottom:16px !important; right:16px !important; width:40px !important; height:40px !important; } }

/* ══════════════════════════════════════════════════
   8. FOOTER — ocultar Neve, mostrar RPMR
══════════════════════════════════════════════════ */
.hfg_footer.site-footer, #site-footer.site-footer { display: none !important; }
footer.footer.rpmr-footer { display: block !important; }

footer.footer { background: var(--rpmr-primary-dk); position: relative; overflow: hidden; font-family: 'Source Sans 3',sans-serif; }
footer.footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,var(--rpmr-secondary),var(--rpmr-primary),var(--rpmr-secondary)); z-index: 2; }
footer.footer::after { content: ''; position: absolute; bottom: -120px; right: -120px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle,rgba(49,211,198,.06) 0%,transparent 70%); pointer-events: none; }

.footer-top { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-bottom: 1px solid var(--rpmr-border-g1); position: relative; z-index: 1; }
.footer-col { padding: 32px 28px; position: relative; transition: background .3s; }
.footer-col:not(:last-child)::after { content: ''; position: absolute; top: 40px; right: 0; bottom: 40px; width: 1px; background: linear-gradient(to bottom,transparent,rgba(255,255,255,.12),transparent); }
.footer-col:hover { background: rgba(255,255,255,.025); }
.footer-col--brand { background: var(--rpmr-primary-mid); }
.brand-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.brand-icon { width: 36px; height: 36px; background: linear-gradient(135deg,var(--rpmr-secondary),#1abdb1); border-radius: var(--rpmr-radius-sm); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 4px 16px rgba(49,211,198,.35); }
.brand-icon i { color: #fff; font-size: 16px; }
.brand-name { font-family: 'Playfair Display',serif; font-size: 16px; color: #fff; line-height: 1.3; font-weight: 700; }
.brand-sub { font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--rpmr-secondary); margin-top: 2px; }
.brand-desc { color: var(--rpmr-text-lt); font-size: 13px; line-height: 1.6; margin-bottom: 16px; }
.social-links { display: flex; gap: 10px; flex-wrap: wrap; }
.social-links a { width: 32px; height: 32px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 7px; display: flex; align-items: center; justify-content: center; color: var(--rpmr-text-lt); font-size: 13px; text-decoration: none; transition: all .25s; }
.social-links a:hover { background: var(--rpmr-secondary); border-color: var(--rpmr-secondary); color: #fff; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(49,211,198,.4); }
.col-title { font-family: 'Playfair Display',serif; font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 14px; padding-bottom: 10px; position: relative; }
.col-title::after { content: ''; position: absolute; bottom: 0; left: 0; width: 32px; height: 2px; background: var(--rpmr-secondary); border-radius: 2px; }
.footer-links { list-style: none; }
.footer-links li { border-bottom: 1px solid rgba(255,255,255,.06); }
.footer-links li:last-child { border-bottom: none; }
.footer-links a { display: flex; align-items: center; gap: 8px; padding: 6px 0; color: var(--rpmr-text-lt); text-decoration: none; font-size: 13px; transition: all .2s; }
.footer-links a::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--rpmr-secondary); opacity: .4; flex-shrink: 0; transition: opacity .2s, transform .2s; }
.footer-links a:hover { color: var(--rpmr-secondary); padding-left: 4px; }
.footer-links a:hover::before { opacity: 1; transform: scale(1.4); }
.ct-item { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.06); }
.ct-item:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.ct-icon { width: 28px; height: 28px; background: rgba(49,211,198,.15); border: 1px solid rgba(49,211,198,.25); border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--rpmr-secondary); font-size: 12px; }
.ct-text { color: var(--rpmr-text-lt); font-size: 13px; line-height: 1.5; padding-top: 4px; }
.ct-text a { color: inherit; text-decoration: none; transition: color .2s; }
.ct-text a:hover { color: var(--rpmr-secondary); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 14px 28px; background: rgba(0,0,0,.25); font-size: 11.5px; color: var(--rpmr-text-faint); letter-spacing: .02em; position: relative; z-index: 1; }
.footer-bottom-right { display: flex; align-items: center; gap: 8px; color: var(--rpmr-text-faint); font-size: 12px; }
.footer-bottom-right span { color: var(--rpmr-secondary); font-weight: 600; }

/* ══════════════════════════════════════════════════
   9. NOTICIAS GRID
══════════════════════════════════════════════════ */
.posts-wrapper { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 22px !important; width: 100% !important; float: none !important; }
article.layout-grid { width: auto !important; max-width: 100% !important; float: none !important; background: var(--rpmr-card); border-radius: var(--rpmr-radius); border: 1px solid var(--rpmr-border); box-shadow: var(--rpmr-shadow); overflow: hidden; display: flex !important; flex-direction: column !important; position: relative; transition: transform .22s, box-shadow .22s; animation: ncUp .4s ease both; }
@keyframes ncUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
article.layout-grid:hover { transform: translateY(-4px); box-shadow: var(--rpmr-shadow-lg); }
article.layout-grid::before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg,var(--rpmr-primary),var(--rpmr-secondary)); opacity: 0; transition: opacity .2s; }
article.layout-grid:hover::before { opacity: 1; }
.nv-post-thumbnail-wrap.img-wrap { display: block; overflow: hidden; flex-shrink: 0; aspect-ratio: 16/9; }
.nv-post-thumbnail-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; transition: transform .35s; }
article.layout-grid:hover .nv-post-thumbnail-wrap img { transform: scale(1.05); }
.article-content-col .content { display: flex !important; flex-direction: column !important; flex: 1 !important; gap: 10px !important; padding: 16px 18px 18px !important; word-break: break-word; }
h2.blog-entry-title.entry-title a { color: var(--rpmr-text) !important; text-decoration: none !important; transition: color .15s; }
h2.blog-entry-title.entry-title a:hover { color: var(--rpmr-primary) !important; }
h2.blog-entry-title.entry-title a::after { content: ''; position: absolute; inset: 0; z-index: 0; }
.excerpt-wrap.entry-summary::after { content: 'Leer más →'; display: block; margin-top: 10px; font-size: 12px; font-weight: 700; color: var(--rpmr-primary); pointer-events: none; }
article.layout-grid:hover .excerpt-wrap.entry-summary::after { color: var(--rpmr-secondary); }

/* ══════════════════════════════════════════════════
   10. RESPONSIVE
══════════════════════════════════════════════════ */
@media (max-width:1100px) { .footer-top { grid-template-columns: repeat(2,1fr); } .footer-col:nth-child(2)::after,.footer-col:nth-child(4)::after { display:none; } }
@media (max-width:960px) { .menu-item-nav-search.minimal.active .nv-nav-search { width: 280px !important; } }
@media (max-width:700px) {
  .footer-top { grid-template-columns: 1fr; }
  .footer-col::after { display: none !important; }
  .footer-col { padding: 24px 20px; }
  .footer-bottom { flex-direction: column; text-align: center; padding: 14px 20px; }
  .menu-item-nav-search.floating .nv-nav-search { padding: 14px 16px !important; }
}
@media (max-width:520px) { .posts-wrapper { grid-template-columns: 1fr !important; } }

/* ══════════════════════════════════════════════════
   11. SEARCH CANVAS — FIX LAYOUT
   X debe estar arriba a la DERECHA, buscador centrado
══════════════════════════════════════════════════ */

/* Override completo del canvas */
.menu-item-nav-search.canvas .nv-nav-search {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: var(--z-search) !important;
  background: rgba(0, 25, 60, 0.97) !important;
  backdrop-filter: blur(14px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 60px 24px 24px !important;
  border-top: 3px solid var(--rpmr-secondary) !important;
}

/* Título del buscador */
.menu-item-nav-search.canvas .nv-nav-search::before {
  content: '¿Qué estás buscando?';
  display: block !important;
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  text-align: center;
  letter-spacing: -0.01em;
}

.menu-item-nav-search.canvas .nv-nav-search .form-wrap {
  width: 100% !important;
  max-width: 680px !important;
  display: flex !important;
}

.menu-item-nav-search.canvas .nv-nav-search .search-form {
  width: 100% !important;
  max-width: 680px !important;
  display: flex !important;
  border: 2px solid rgba(49,211,198,.45) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.08) !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-form:focus-within {
  border-color: var(--rpmr-secondary) !important;
  box-shadow: 0 0 0 4px rgba(49,211,198,.2) !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-field {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #fff !important;
  font-size: 18px !important;
  padding: 18px 22px !important;
  font-family: 'Source Sans 3', sans-serif !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-field::placeholder { color: rgba(255,255,255,.4) !important; }
.menu-item-nav-search.canvas .nv-nav-search .search-submit {
  background: var(--rpmr-secondary) !important;
  border: none !important;
  padding: 18px 24px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: background .2s !important;
}
.menu-item-nav-search.canvas .nv-nav-search .search-submit:hover { background: #1abdb1 !important; }
.menu-item-nav-search.canvas .nv-nav-search .search-submit svg { fill: #fff !important; width: 22px !important; height: 22px !important; }

/* X cerrar — TOP RIGHT forzado */
.menu-item-nav-search.canvas .nv-nav-search .close-container {
  position: absolute !important;
  top: 20px !important;
  right: 28px !important;    /* DERECHA no izquierda */
  left: auto !important;
  text-align: right !important;
}
.menu-item-nav-search.canvas .close-responsive-search {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 10px !important;
  width: 48px !important; height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all .2s !important;
}
.menu-item-nav-search.canvas .close-responsive-search:hover {
  background: rgba(49,211,198,.15) !important;
  border-color: var(--rpmr-secondary) !important;
}
.menu-item-nav-search.canvas .close-responsive-search svg {
  fill: rgba(255,255,255,.8) !important;
  width: 24px !important; height: 24px !important;
}
.menu-item-nav-search.canvas .close-responsive-search:hover svg { fill: var(--rpmr-secondary) !important; }

/* Sugerencia de búsqueda bajo el campo */
.menu-item-nav-search.canvas .nv-nav-search .close-container + * {
  margin-top: 16px;
}

/* ══════════════════════════════════════════════════
   12. SCROLL-TO-TOP — color institucional #e8a020
══════════════════════════════════════════════════ */
#scroll-to-top {
  background: #e8a020 !important;
  box-shadow: 0 4px 16px rgba(232,160,32,.4) !important;
}
#scroll-to-top:hover {
  background: #c98818 !important;
  box-shadow: 0 8px 24px rgba(232,160,32,.5) !important;
}

/* ══════════════════════════════════════════════════
   13. PÁGINA DE RESULTADOS DE BÚSQUEDA
   Beautificación: ?s=transparencia
══════════════════════════════════════════════════ */

/* Fondo y contenedor */
body.search .neve-main {
  background: var(--rpmr-bg, #f5f7fa);
  min-height: 60vh;
}

body.search .archive-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px 60px;
}

/* Header de búsqueda — título llamativo */
body.search .nv-page-title-wrap,
body.search .nv-title-meta-wrap {
  background: linear-gradient(135deg, var(--rpmr-primary-dk, #003d7a) 0%, var(--rpmr-primary, #0052A0) 60%, #006ec0 100%) !important;
  padding: 40px 32px !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  position: relative;
  overflow: hidden;
}
body.search .nv-page-title-wrap::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #31D3C6, #0052A0, #31D3C6);
}

body.search .page-title,
body.search h1.page-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 8px !important;
}

/* Span con el término buscado — destacado en teal */
body.search .page-title span,
body.search h1.page-title span,
body.search .page-title .search-term {
  color: #31D3C6 !important;
  font-style: italic;
}

/* Contador de resultados */
body.search .nv-page-title-wrap::after {
  content: attr(data-count);
}

/* Formulario de búsqueda en la página de resultados */
body.search .search-form {
  max-width: 600px !important;
  margin: 20px 0 0 !important;
  border-color: rgba(255,255,255,.35) !important;
  background: rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
}
body.search .nv-page-title-wrap .search-form .search-field { color: #fff !important; }
body.search .nv-page-title-wrap .search-form .search-field::placeholder { color: rgba(255,255,255,.5) !important; }
body.search .nv-page-title-wrap .search-form .search-submit { background: #31D3C6 !important; }

/* Grid de resultados reutiliza .posts-wrapper ya definido */
body.search .nv-index-posts { width: 100%; }

/* Mensaje de no resultados */
body.search .col.no-posts-found h1,
body.search .nothing-found h1 {
  font-size: 1.5rem !important;
  color: var(--rpmr-primary, #0052A0) !important;
  margin-bottom: 12px !important;
}
body.search .col.no-posts-found {
  text-align: center;
  padding: 60px 20px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #dde3ed;
  margin-top: 24px;
}
body.search .col.no-posts-found::before {
  content: '🔍';
  display: block;
  font-size: 3rem;
  margin-bottom: 16px;
}

/* ══════════════════════════════════════════════════
   14. BLOG — ESTILOS COMPLETOS DE NOTICIAS
   (del head script de producción)
══════════════════════════════════════════════════ */

/* Variables de noticias */
:root {
  --rpmr-azul:      #0052a0;
  --rpmr-azul-dk:   #003165;
  --rpmr-teal:      #31D3C6;
  --rpmr-texto:     #1a2840;
  --rpmr-muted:     #5a6a7e;
  --rpmr-radio:     12px;
}

/* Thumbnails con aspecto ratio fijo */
.nv-post-thumbnail-wrap.img-wrap {
  display: block !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  line-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
}
.nv-post-thumbnail-wrap.img-wrap a {
  display: block !important; width: 100% !important; height: 100% !important; overflow: hidden !important;
}
.nv-post-thumbnail-wrap img.wp-post-image,
.nv-post-thumbnail-wrap img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
  transition: transform .35s ease !important;
}
article.layout-grid:hover .nv-post-thumbnail-wrap img { transform: scale(1.05) !important; }

/* Badge vacío → "Noticias" */
ul.nv-meta-list:empty::before {
  content: 'Noticias' !important;
  display: inline-block !important;
  font-size: 10px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .5px !important;
  color: var(--rpmr-azul) !important;
  background: rgba(0,82,160,.07) !important;
  border: 1px solid rgba(0,82,160,.18) !important;
  padding: 3px 10px !important; border-radius: 50px !important;
  line-height: 1.6 !important; white-space: nowrap !important;
}
article.layout-grid:not(.has-post-thumbnail) ul.nv-meta-list:empty::before {
  color: var(--rpmr-teal) !important;
  background: rgba(49,211,198,.12) !important;
  border-color: rgba(49,211,198,.3) !important;
}

/* Título entries */
h2.blog-entry-title.entry-title {
  margin: 0 !important;
  font-size: 1rem !important; font-weight: 700 !important; line-height: 1.35 !important;
  white-space: normal !important; word-break: break-word !important; hyphens: auto;
}
h2.blog-entry-title.entry-title a {
  color: var(--rpmr-texto) !important; text-decoration: none !important; transition: color .15s;
  display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  white-space: normal !important; word-break: break-word !important;
}
h2.blog-entry-title.entry-title a:hover { color: var(--rpmr-azul) !important; }

/* Extracto */
.excerpt-wrap.entry-summary p {
  font-size: 13px !important; color: var(--rpmr-muted) !important;
  line-height: 1.6 !important; margin: 0 !important;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.excerpt-wrap.entry-summary a[rel="bookmark"] { display: none !important; }
.excerpt-wrap.entry-summary::after {
  content: 'Leer más →' !important; display: block; margin-top: 10px;
  font-size: 12px; font-weight: 700; color: var(--rpmr-azul); transition: color .15s; pointer-events: none;
}
article.layout-grid:hover .excerpt-wrap.entry-summary::after { color: var(--rpmr-teal) !important; }

/* Cards sin imagen */
article.layout-grid:not(.has-post-thumbnail) {
  background: linear-gradient(145deg, var(--rpmr-azul-dk) 0%, var(--rpmr-azul) 100%) !important;
  border-color: transparent !important;
}
article.layout-grid:not(.has-post-thumbnail) h2.blog-entry-title.entry-title a { color: #fff !important; }
article.layout-grid:not(.has-post-thumbnail) h2.blog-entry-title.entry-title a:hover { color: var(--rpmr-teal) !important; }
article.layout-grid:not(.has-post-thumbnail) .excerpt-wrap.entry-summary p { color: rgba(255,255,255,.75) !important; }
article.layout-grid:not(.has-post-thumbnail) .excerpt-wrap.entry-summary::after { color: var(--rpmr-teal) !important; }
article.layout-grid:not(.has-post-thumbnail) .article-content-col .content { padding: 24px 20px !important; justify-content: center; min-height: 180px; }

/* Noticia individual — hero */
.nv-post-cover {
  background: linear-gradient(160deg, #003165 0%, #0052a0 60%, #0066c0 100%) !important;
  padding: 24px 0 20px;
  overflow: hidden;
  position: relative;
}
.nv-post-cover .nv-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(0,49,101,.92) 0%, rgba(0,82,160,.82) 55%, rgba(0,102,192,.75) 100%);
  z-index: 0;
}
.nv-post-cover .container { position: relative; z-index: 1; }
.nv-post-cover .entry-title, .nv-post-cover h1.title {
  font-size: clamp(1.45rem, 3.5vw, 2.1rem) !important; font-weight: 700 !important;
  color: #fff !important; line-height: 1.25 !important; margin: 0 0 10px !important;
}

/* Botones de compartir */
.rpmr-share-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 15px; border-radius: 8px; font-size: 13px; font-weight: 600; text-decoration: none; border: none; cursor: pointer; transition: filter .15s, transform .12s; color: #fff !important; line-height: 1; }
.rpmr-share-btn:hover { filter: brightness(1.1); transform: translateY(-1px); color: #fff !important; }
.rpmr-share-btn--facebook { background: #1877f2; }
.rpmr-share-btn--whatsapp { background: #25d366; }
.rpmr-share-btn--twitter  { background: #111; }
.rpmr-share-btn--linkedin { background: #0a66c2; }
.rpmr-share-btn--copy { background: #fff; color: #5a6a7e !important; border: 1.5px solid #dde3ed; }
.rpmr-share-btn--copy:hover { border-color: #0052a0; color: #0052a0 !important; filter: none; }

/* ══════════════════════════════════════════════════
   15. PAGINACIÓN EN BÚSQUEDA Y BLOG
══════════════════════════════════════════════════ */
.nv-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px;
  font-weight: 600; font-size: 14px; text-decoration: none;
  border: 1px solid #dde3ed; color: #0052a0; transition: all .2s;
}
.nv-pagination .page-numbers.current,
.nv-pagination .page-numbers:hover { background: #0052a0; color: #fff !important; border-color: #0052a0; }

/* ══════════════════════════════════════════════════
   16. LOGO DEL HEADER — reducir tamaño
   La imagen del logo se ve muy grande (ocupa todo el alto)
══════════════════════════════════════════════════ */

/* Contenedor del logo */
.site-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Logo en la fila superior (blanca) — tamaño reducido */
.header--row:not(.header-bottom) .site-logo img,
.header--row.header-top .site-logo img,
.header--row.header-main:not(.nv-navbar) .site-logo img,
.neve-site-logo,
.site-logo img {
  max-height: 64px !important;
  height: auto !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
}

/* Logo en el menú azul (si aparece ahí) */
.header--row.header-bottom .site-logo img {
  max-height: 48px !important;
  width: auto !important;
}

/* ══════════════════════════════════════════════════
   17. MENÚ — INICIO SIEMPRE ACTIVO (fix)
   El ítem Home (.menu-item-home) NO debe aparecer
   como activo en todas las páginas.
   Neve añade current-menu-item solo si ES la homepage.
══════════════════════════════════════════════════ */

/* Forzar que el estilo activo solo aplique en páginas donde ES activo */
#nv-primary-navigation-bottom > .menu-item-home > .wrap > a {
  color: var(--rpmr-text-lt) !important;
  background: transparent !important;
}
#nv-primary-navigation-bottom > .menu-item-home > .wrap > a::after {
  transform: scaleX(0) !important;
}

/* Solo en la página de inicio real */
body.home #nv-primary-navigation-bottom > .menu-item-home > .wrap > a,
#nv-primary-navigation-bottom > .current-menu-item.menu-item-home > .wrap > a {
  color: var(--rpmr-secondary) !important;
  background: rgba(49,211,198,.08) !important;
}
body.home #nv-primary-navigation-bottom > .menu-item-home > .wrap > a::after,
#nv-primary-navigation-bottom > .current-menu-item.menu-item-home > .wrap > a::after {
  transform: scaleX(1) !important;
}

/* También en sidebar móvil */
#nv-primary-navigation-sidebar > .menu-item-home > .wrap > a { color: var(--rpmr-text-lt) !important; }
body.home #nv-primary-navigation-sidebar > .menu-item-home > .wrap > a { color: var(--rpmr-secondary) !important; }

/* ══════════════════════════════════════════════════
   18. SEARCH — cursor pointer en íconos + z-index
   El cursor no cambia sobre el ícono de búsqueda/X
══════════════════════════════════════════════════ */

.nv-search-icon-component,
.nv-search-icon-component *,
.menu-item-nav-search,
.menu-item-nav-search .nv-icon,
.nv-search-icon-component button,
.close-responsive-search,
button.close-responsive-search,
.search-submit,
button[type="submit"].search-submit {
  cursor: pointer !important;
}

/* El ícono de búsqueda en el header */
.nv-search-icon-component .nv-icon.nv-search,
.nv-search-icon-component .nv-search {
  cursor: pointer !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px !important;
  min-width: 44px;
  min-height: 44px;
  border-radius: var(--rpmr-radius-sm);
  transition: background .2s !important;
}
.nv-search-icon-component .nv-icon.nv-search:hover {
  background: rgba(255,255,255,.1) !important;
  cursor: pointer !important;
}

/* Search debe estar encima del botón de WhatsApp */
.menu-item-nav-search.canvas .nv-nav-search,
.menu-item-nav-search.floating .nv-nav-search {
  z-index: 2147483647 !important; /* Máximo posible, encima de WhatsApp */
}

/* WhatsApp button z-index — asegurar que el buscador lo tape */
.wa__btn_popup, .wa__btn,
.wp-chatbot-ball, .wp-chatbot-widget,
[class*="whatsapp"], [id*="whatsapp"],
.chat-widget {
  z-index: 9990 !important; /* Menor que el buscador (2147483647) */
}

/* ══════════════════════════════════════════════════
   19. SINGLE POST — HERO REDISEÑADO
   El hero del post individual tiene demasiado padding,
   se ve muy alto y vacío.
══════════════════════════════════════════════════ */

/* Hero del post individual — más compacto y atractivo */
.nv-post-cover {
  background: linear-gradient(135deg, #001e4a 0%, #003d7a 35%, #0052a0 65%, #006dcc 100%) !important;
  padding: 0 !important;
  min-height: 220px !important;
  display: flex !important;
  align-items: flex-end !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Patrón de fondo sutil */
.nv-post-cover::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(49,211,198,.15) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(232,160,32,.08) 0%, transparent 40%),
    url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2349d3c6' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Overlay gradiente */
.nv-post-cover .nv-overlay {
  background: linear-gradient(180deg,
    rgba(0,20,50,.3) 0%,
    rgba(0,30,70,.6) 60%,
    rgba(0,20,50,.85) 100%) !important;
  z-index: 1 !important;
}

/* Contenido del hero */
.nv-post-cover .container {
  position: relative !important;
  z-index: 2 !important;
  padding: 28px 24px 32px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Línea teal superior del hero */
.nv-post-cover .nv-title-meta-wrap {
  border-left: 4px solid var(--rpmr-secondary, #31D3C6) !important;
  padding-left: 20px !important;
}

/* Categoría/taxonomía badge */
.nv-post-cover .nv-tax-span,
.nv-post-cover .nv-categories span a {
  display: inline-block !important;
  background: var(--rpmr-secondary, #31D3C6) !important;
  color: #001e4a !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 3px 12px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  margin-bottom: 12px !important;
}

/* Título del post */
.nv-post-cover .entry-title,
.nv-post-cover h1.title {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-size: clamp(1.3rem, 3vw, 1.9rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.3 !important;
  margin: 0 0 12px !important;
  letter-spacing: -.01em !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.3) !important;
}

/* Meta info (fecha, autor) */
.nv-post-cover .nv-meta-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.nv-post-cover .nv-meta-list li {
  font-size: 12px !important;
  color: rgba(255,255,255,.65) !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.nv-post-cover .nv-meta-list li::before {
  content: '' !important;
  width: 4px !important; height: 4px !important;
  border-radius: 50% !important;
  background: var(--rpmr-secondary, #31D3C6) !important;
  display: inline-block !important;
}
.nv-post-cover .nv-meta-list li:first-child::before { display: none !important; }

/* Breadcrumbs */
.nv-post-cover .neve-breadcrumbs-wrapper,
.nv-post-cover .nv--yoast-breadcrumb {
  font-size: 12px !important;
  color: rgba(255,255,255,.55) !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}
.nv-post-cover .neve-breadcrumbs-wrapper a,
.nv-post-cover .nv--yoast-breadcrumb a { color: rgba(255,255,255,.65) !important; text-decoration: none !important; }
.nv-post-cover .neve-breadcrumbs-wrapper a:hover,
.nv-post-cover .nv--yoast-breadcrumb a:hover { color: var(--rpmr-secondary) !important; }

/* Contenido del artículo — card mejorada */
.nv-single-post-wrap {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.07) !important;
  overflow: hidden !important;
  border: 1px solid #e8eef5 !important;
}

.nv-content-wrap.entry-content {
  padding: 32px 36px 28px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #2c3e50 !important;
}

@media (max-width: 768px) {
  .nv-post-cover { min-height: 160px !important; }
  .nv-post-cover .container { padding: 20px 16px 24px !important; }
  .nv-post-cover .entry-title { font-size: 1.25rem !important; }
  .nv-content-wrap.entry-content { padding: 20px 16px !important; }
}

/* ══════════════════════════════════════════════════
   20. MOBILE SUBMENU — CSS garantizado
   Neve añade clase 'toggled-on' al li padre cuando
   se hace click en el caret. Garantizamos visibilidad.
══════════════════════════════════════════════════ */

/* TODAS las clases que Neve puede usar para submenú abierto */
.header-menu-sidebar-inner .menu-item-has-children.toggled-on > .sub-menu,
.header-menu-sidebar-inner .menu-item-has-children.dropdown-open > .sub-menu,
.header-menu-sidebar-inner .menu-item-has-children > .sub-menu.toggled-on,
.header-menu-sidebar-inner .menu-item-has-children > .sub-menu[style*="block"],
#header-menu-sidebar .menu-item-has-children.toggled-on > .sub-menu,
#header-menu-sidebar .menu-item-has-children.dropdown-open > .sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  max-height: 2000px !important;
  height: auto !important;
  overflow: visible !important;
}

/* El caret button — área táctil generosa */
.header-menu-sidebar-inner .caret-wrap.navbar-toggle,
.header-menu-sidebar-inner .dropdown-menu-toggle,
#header-menu-sidebar .caret-wrap.navbar-toggle {
  min-width: 48px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: rgba(49,211,198,.2) !important;
  touch-action: manipulation !important;
  position: relative !important;
  z-index: 10 !important;
}

/* Regla :not([style*=block]) ELIMINADA — causaba conflicto con dropdown-open */

/* ══════════════════════════════════════════════════
   21. MOBILE SUBMENU — REGLAS LIMPIAS
   NO sobreescribir display:none de Neve (lo maneja su CSS)
   SOLO garantizar que .dropdown-open muestra el sub-menu
══════════════════════════════════════════════════ */

/* Neve's CSS ya oculta sub-menus por defecto.
   Solo necesitamos asegurar que cuando se añade dropdown-open, se muestra */
.header-menu-sidebar .nav-ul .sub-menu.dropdown-open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Fallback: también cuando el LI padre tiene dropdown-open */
.header-menu-sidebar-inner .menu-item-has-children.dropdown-open > .sub-menu {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Caret buttons — generous touch area */
.header-menu-sidebar-inner .caret-wrap,
.header-menu-sidebar-inner .dropdown-menu-toggle,
#header-menu-sidebar .caret-wrap {
  min-width: 48px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(49,211,198,.15) !important;
  position: relative !important;
  z-index: 5 !important;
}

/* ══════════════════════════════════════════════════
   22. BREADCRUMB > OCULTAR EN TEMPLATES CUSTOM
   El ">" aparece fuera del layout en páginas con
   template-transparencia, historia, etc.
══════════════════════════════════════════════════ */

/* Ocultar breadcrumb que escapa al layout */
.neve-breadcrumbs-wrapper,
.nv--yoast-breadcrumb {
  overflow: hidden;
}

/* Si el breadcrumb está fuera del nv-post-cover, ocultarlo */
body:not(.single) .neve-breadcrumbs-wrapper:not(.nv-post-cover .neve-breadcrumbs-wrapper) {
  font-size: 0 !important;
  line-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ══════════════════════════════════════════════════
   23. NOTICIAS — GRID CON TÍTULO + MENOS PADDING
══════════════════════════════════════════════════ */

/* Contenedor del archivo de noticias */
.archive-container,
.nv-index-posts.search.col {
  padding-top: 0 !important;
}

/* Título del archivo — llamativo */
.nv-page-title-wrap {
  background: linear-gradient(135deg, #001e4a 0%, #003d7a 40%, #0052a0 100%) !important;
  padding: 36px 0 32px !important;
  position: relative;
  overflow: hidden;
}
.nv-page-title-wrap::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #31D3C6, #0052a0, #31D3C6);
}
.nv-page-title-wrap .page-title,
.nv-page-title-wrap h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  text-align: center !important;
}
.nv-page-title-wrap .page-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: #31D3C6;
  margin: 12px auto 0;
  border-radius: 2px;
}

/* Cards de noticias — reducir padding */
.article-content-col .content {
  padding: 14px 16px 16px !important;
  gap: 8px !important;
}
article.layout-grid { margin-bottom: 0 !important; }
.posts-wrapper { gap: 18px !important; }

/* Navegación entre entradas — colores corregidos */
.nv-post-navigation .nav-direction { color: #e8a020 !important; }
.nv-post-navigation a span:not(.nav-direction) { color: #0052a0 !important; }
.nv-post-navigation a:hover span:not(.nav-direction) { color: #31D3C6 !important; }

/* ══════════════════════════════════════════════════
   24. SEARCH CANVAS — X DEFINITIVAMENTE A LA DERECHA
══════════════════════════════════════════════════ */

/* Override total del close-container */
.menu-item-nav-search .nv-nav-search .close-container {
  position: absolute !important;
  top: 20px !important;
  right: 24px !important;
  left: auto !important;
  bottom: auto !important;
  text-align: right !important;
  display: flex !important;
  justify-content: flex-end !important;
}

/* Para canvas específicamente */
.menu-item-nav-search.canvas .nv-nav-search {
  position: fixed !important;
  top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  z-index: 2147483647 !important;
  background: rgba(0, 25, 60, 0.97) !important;
  backdrop-filter: blur(14px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 24px !important;
  border-top: 3px solid #31D3C6 !important;
}

/* ══════════════════════════════════════════════════
   25. PÁGINA DE RESULTADOS DE BÚSQUEDA — MEJORADA
   https://rpmr.gob.ec/?s=CASAMIRA
══════════════════════════════════════════════════ */

body.search {
  background: #f4f7fc !important;
}

/* Header hero de resultados */
body.search .nv-page-title-wrap {
  background: linear-gradient(135deg, #001e4a 0%, #0052a0 60%, #006ec0 100%) !important;
  padding: 48px 24px 40px !important;
  text-align: center !important;
  position: relative;
  overflow: hidden;
}
body.search .nv-page-title-wrap::after {
  content: '';
  position: absolute;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(49,211,198,.12) 0%, transparent 70%);
  bottom: -80px; right: -80px;
  border-radius: 50%;
  pointer-events: none;
}

body.search .page-title,
body.search h1.page-title,
body.search .nv-page-title-wrap .page-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.5rem, 3.5vw, 2.4rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
  max-width: 800px !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
}

/* Formulario de búsqueda en el hero de resultados */
body.search .nv-page-title-wrap ~ * .search-form,
body.search .archive-container .search-form {
  max-width: 580px;
  margin: 0 auto 28px;
}

/* Grid de resultados */
body.search .container.archive-container {
  max-width: 1200px !important;
  margin: 32px auto 60px !important;
  padding: 0 20px !important;
}
body.search .nv-index-posts.search { width: 100% !important; }

/* Card de resultado de búsqueda */
body.search article.layout-grid {
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06), 0 6px 20px rgba(0,0,0,.07) !important;
  border: 1px solid #e2eaf5 !important;
  transition: transform .2s, box-shadow .2s !important;
}
body.search article.layout-grid:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(0,82,160,.15) !important;
}

/* Sin resultados */
body.search .nv-index-posts.col.no-posts-found,
body.search .nothing-found {
  background: #fff;
  border-radius: 16px;
  padding: 60px 24px;
  text-align: center;
  border: 1px solid #e2eaf5;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  max-width: 700px;
  margin: 32px auto;
}
body.search .nothing-found h1,
body.search .nothing-found h2 {
  font-size: 1.4rem !important;
  color: #0052a0 !important;
  margin-bottom: 12px !important;
}
body.search .nothing-found::before {
  content: '🔍';
  font-size: 3rem;
  display: block;
  margin-bottom: 20px;
}

/* ══════════════════════════════════════════════════
   26. NAVEGACIÓN NOTICIA INDIVIDUAL — mejorar
══════════════════════════════════════════════════ */
.nv-post-navigation {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border-top: 1px solid #e8eef5 !important;
  border-radius: 0 0 12px 12px !important;
  overflow: hidden !important;
}
.nv-post-navigation .previous a,
.nv-post-navigation .next a {
  padding: 16px 20px !important;
  text-decoration: none !important;
  transition: background .15s !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  background: #f8fafc !important;
}
.nv-post-navigation .previous a { border-right: 1px solid #e8eef5 !important; }
.nv-post-navigation .next a { text-align: right !important; }
.nv-post-navigation a:hover { background: #eef5ff !important; }
.nv-post-navigation .nav-direction {
  font-size: 10px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .1em !important;
  color: #e8a020 !important;
}
.nv-post-navigation a span:not(.nav-direction) {
  font-size: 13px !important; font-weight: 600 !important;
  color: #0052a0 !important; line-height: 1.35 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden !important;
}
.nv-post-navigation a:hover span:not(.nav-direction) { color: #31D3C6 !important; }

/* ══════════════════════════════════════════════════
   27. SEARCH CANVAS — FIX DEFINITIVO CLICKAWAY
   El nav-clickaway-overlay bloquea clicks en X y buscar.
   Solución: cuando el canvas está activo, desactivar
   el pointer-events del overlay.
══════════════════════════════════════════════════ */

/* El overlay del search (nav-clickaway-overlay) NO debe bloquear
   los clicks cuando el canvas está abierto */
.nav-clickaway-overlay {
  z-index: 90 !important; /* Volver al valor de Neve — bajo */
  pointer-events: auto !important; /* Neve lo necesita para cerrar con click fuera */
}

/* El canvas .nv-nav-search DEBE estar encima del overlay */
.menu-item-nav-search.canvas .nv-nav-search,
.menu-item-nav-search.floating .nv-nav-search {
  z-index: 1000000 !important;
  pointer-events: auto !important;
}

/* Todos los elementos dentro del search canvas — garantizar clickeable */
.menu-item-nav-search.canvas .nv-nav-search *,
.menu-item-nav-search.canvas .nv-nav-search .close-responsive-search,
.menu-item-nav-search.canvas .nv-nav-search .search-submit,
.menu-item-nav-search.canvas .nv-nav-search .search-field,
.menu-item-nav-search.canvas .nv-nav-search .search-form,
.menu-item-nav-search.canvas .nv-nav-search .form-wrap,
.menu-item-nav-search.canvas .nv-nav-search .close-container {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 1000001 !important;
  cursor: pointer !important;
}

.menu-item-nav-search.canvas .nv-nav-search .search-field { cursor: text !important; }

/* SECCION 28: simplificada — solo pointer-events en sidebar items */
#header-menu-sidebar,
#header-menu-sidebar * {
  pointer-events: auto;
}

/* Excepto el overlay de fondo (hfg-ov) que cierra el sidebar */
#header-menu-sidebar ~ .hfg-ov,
.hfg-ov:not(#header-menu-sidebar .hfg-ov) {
  pointer-events: auto !important; /* Neve lo necesita */
}

/* Links del sub-menú — explícitamente clickeables */
.header-menu-sidebar-inner .sub-menu a,
.header-menu-sidebar-inner .sub-menu li,
.header-menu-sidebar-inner .sub-menu .wrap,
#header-menu-sidebar .sub-menu a {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 999901 !important; /* Encima del overlay 999899 */
  display: flex !important;
  align-items: center !important;
}

/* El wrap interior del item de menú */
.header-menu-sidebar-inner .menu-item .wrap,
.header-menu-sidebar-inner .menu-item > .wrap > a {
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 999901 !important;
  position: relative !important;
}

/* ══════════════════════════════════════════════════
   29. SEARCH CARD SIN FOTO — MEJORAR DISEÑO
   Cuando no hay imagen, la card se ve solo texto en
   fondo azul oscuro sin estructura. Mejorar.
══════════════════════════════════════════════════ */

/* Card sin thumbnail en resultados de búsqueda */
body.search article.layout-grid:not(.has-post-thumbnail),
.posts-wrapper article.layout-grid:not(.has-post-thumbnail) {
  background: linear-gradient(145deg, #003d7a 0%, #0052a0 50%, #1a6dcc 100%) !important;
  border: none !important;
  position: relative;
  overflow: hidden;
}

/* Icono decorativo de fondo */
body.search article.layout-grid:not(.has-post-thumbnail)::after,
.posts-wrapper article.layout-grid:not(.has-post-thumbnail)::after {
  content: '📄';
  position: absolute;
  right: 16px;
  top: 16px;
  font-size: 2rem;
  opacity: 0.2;
  pointer-events: none;
}

/* Texto sobre fondo azul */
body.search article.layout-grid:not(.has-post-thumbnail) h2.blog-entry-title.entry-title a {
  color: #fff !important;
  -webkit-line-clamp: 4 !important;
}
body.search article.layout-grid:not(.has-post-thumbnail) .excerpt-wrap.entry-summary p {
  color: rgba(255,255,255,.75) !important;
}
body.search article.layout-grid:not(.has-post-thumbnail) .excerpt-wrap.entry-summary::after {
  color: #31D3C6 !important;
}
body.search article.layout-grid:not(.has-post-thumbnail) ul.nv-meta-list:empty::before {
  color: #31D3C6 !important;
  background: rgba(49,211,198,.12) !important;
  border-color: rgba(49,211,198,.3) !important;
}
body.search article.layout-grid:not(.has-post-thumbnail) .article-content-col .content {
  padding: 20px !important;
  min-height: 200px !important;
  justify-content: space-between !important;
}

/* ══════════════════════════════════════════════════
   30. HOVER ACTIVO DE MENÚ — COLOR TOMATE/NARANJA
   Cuando el link está activo (current-page), mostrar
   en color naranja institucional #e8a020
══════════════════════════════════════════════════ */

/* Hover en items de menú desktop */
#nv-primary-navigation-bottom > .menu-item > .wrap > a:hover {
  color: #e8a020 !important;
  background: rgba(232,160,32,.08) !important;
}
#nv-primary-navigation-bottom > .menu-item > .wrap > a:hover::after {
  background: #e8a020 !important;
  transform: scaleX(1) !important;
}

/* Items de menú realmente activos (página actual) */
#nv-primary-navigation-bottom > .current-menu-item > .wrap > a,
#nv-primary-navigation-bottom > .current-menu-ancestor > .wrap > a {
  color: #e8a020 !important;
  background: rgba(232,160,32,.08) !important;
}
#nv-primary-navigation-bottom > .current-menu-item > .wrap > a::after,
#nv-primary-navigation-bottom > .current-menu-ancestor > .wrap > a::after {
  background: #e8a020 !important;
  transform: scaleX(1) !important;
}

/* Hover en sidebar móvil */
#nv-primary-navigation-sidebar > .menu-item > .wrap > a:hover {
  color: #e8a020 !important;
  background: rgba(232,160,32,.05) !important;
}

/* ══════════════════════════════════════════════════
   31. HEADER — FONDO BLANCO SOLO EN FILA DEL LOGO
   El menú de navegación siempre azul.
   La fila del logo puede ser blanca (diseño actual correcto).
══════════════════════════════════════════════════ */

/* Asegurar que el menú de nav SIEMPRE sea azul, en TODAS las páginas */
body .header--row.header-bottom,
body .header--row.header-bottom .header--row-inner,
body .header--row.header-bottom [class*=row-inner] {
  background: #0052A0 !important;
  background-image: none !important;
  background-color: #0052A0 !important;
}

/* La fila del logo — mantener blanco pero compacto */
body .header--row.header-main:not(.nv-navbar):not(.header-bottom),
body .header--row.header-top,
body .header--row[data-row-id="top"] {
  background: #fff !important;
  padding: 4px 0 !important;
}

/* ══════════════════════════════════════════════════
   32. FIX > SYMBOL EN TRANSPARENCIA Y BUZÓN
   El breadcrumb de Neve se renderiza como un ">" suelto
══════════════════════════════════════════════════ */

/* Ocultar breadcrumb orphan globalmente cuando no está en un hero */
.neve-breadcrumbs-wrapper:not([class*="nv-post-cover"] .neve-breadcrumbs-wrapper) {
  position: relative;
  overflow: hidden;
}

/* Si el breadcrumb está DIRECTAMENTE en el body (fuera de un contenedor) */
body > .neve-breadcrumbs-wrapper,
.wrapper > .neve-breadcrumbs-wrapper,
.neve-main > .neve-breadcrumbs-wrapper {
  display: none !important;
}

/* Breadcrumb que escapa fuera del layout en páginas personalizadas */
.rpmr-page ~ .neve-breadcrumbs-wrapper,
.neve-breadcrumbs-wrapper:first-child {
  display: none !important;
}

/* ══════════════════════════════════════════════════
   33. BADGE "NOTICIAS" → COLOR TOMATE #e8a020
══════════════════════════════════════════════════ */

/* Badge .nv-tax-span y nv-meta-list con categoría Noticias */
ul.nv-meta-list:empty::before,
.nv-categories span a,
.nv-tax-span,
.entry-meta .nv-tax-span,
.nv-meta-list .nv-tax-span {
  background: rgba(232,160,32,.12) !important;
  border: 1px solid rgba(232,160,32,.35) !important;
  color: #c47a10 !important;
}

/* El badge pill de "NOTICIAS" que aparece en las cards */
.nv-meta-list li a,
article .nv-meta-list a {
  background: rgba(232,160,32,.12) !important;
  border: 1px solid rgba(232,160,32,.35) !important;
  color: #b8720e !important;
  display: inline-block !important;
  padding: 2px 10px !important;
  border-radius: 20px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  text-decoration: none !important;
}

/* Badge empty también en tomate */
ul.nv-meta-list:empty::before {
  background: rgba(232,160,32,.12) !important;
  border: 1px solid rgba(232,160,32,.35) !important;
  color: #c47a10 !important;
}

/* En cards azules (sin foto) */
article.layout-grid:not(.has-post-thumbnail) ul.nv-meta-list:empty::before,
article.layout-grid:not(.has-post-thumbnail) .nv-meta-list li a {
  background: rgba(232,160,32,.2) !important;
  border-color: rgba(232,160,32,.5) !important;
  color: #e8a020 !important;
}

/* ══════════════════════════════════════════════════
   34. NOTICIAS — REDUCIR PADDING DE LAS CARDS
══════════════════════════════════════════════════ */

article.layout-grid .article-content-col .content,
.posts-wrapper article .article-content-col .content {
  padding: 10px 14px 12px !important;
  gap: 6px !important;
}

/* Thumbnail más compacto */
.nv-post-thumbnail-wrap.img-wrap {
  aspect-ratio: 16 / 8 !important; /* Más bajo = menos espacio */
}

/* Extracto — máximo 2 líneas para reducir altura */
.excerpt-wrap.entry-summary p {
  -webkit-line-clamp: 2 !important;
  font-size: 12.5px !important;
}

/* ══════════════════════════════════════════════════
   35. HERO DE BÚSQUEDA — FULL WIDTH, ATRACTIVO
   El .nv-page-title-wrap está dentro del .container
   → Usar negative margins para romper el contenedor
══════════════════════════════════════════════════ */

/* Remover padding del container en search para que el hero sea full-width */
body.search .container.archive-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-top: 0 !important;
}

/* El grid de posts va dentro con padding */
body.search .container.archive-container .nv-index-posts {
  padding: 32px 20px 60px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

body.search .container.archive-container .row {
  width: 100%;
  margin: 0;
}

/* HERO — full width sin restricción */
body.search .nv-page-title-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: none !important; /* Resetear para redefinir abajo */
}

/* Hero inner — gradiente moderno */
body.search .nv-page-title {
  background:
    linear-gradient(135deg, #001333 0%, #002766 30%, #0052a0 65%, #0070cc 100%) !important;
  padding: 56px 24px 48px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}

/* Decoración: línea teal superior */
body.search .nv-page-title::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #31D3C6, #e8a020, #31D3C6) !important;
}

/* Decoración: círculos decorativos */
body.search .nv-page-title::after {
  content: '' !important;
  position: absolute !important;
  width: 500px; height: 500px !important;
  background: radial-gradient(circle, rgba(49,211,198,.08) 0%, transparent 65%) !important;
  top: -180px; right: -100px !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

/* Ícono de búsqueda decorativo sobre el título */
body.search .nv-page-title h1::before {
  content: '🔍' !important;
  display: block !important;
  font-size: 2.4rem !important;
  margin-bottom: 10px !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.3)) !important;
}

/* Título */
body.search .nv-page-title h1,
body.search .page-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.6rem, 3.5vw, 2.6rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center !important;
  margin: 0 auto !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.3) !important;
  position: relative !important;
  z-index: 1 !important;
  max-width: 800px !important;
}

/* El término buscado en teal */
body.search .nv-page-title h1 mark,
body.search .page-title mark {
  background: none !important;
  color: #31D3C6 !important;
  font-style: italic !important;
}

/* Línea decorativa bajo el título */
body.search .nv-page-title h1::after {
  content: '' !important;
  display: block !important;
  width: 80px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #31D3C6, #e8a020) !important;
  margin: 14px auto 0 !important;
  border-radius: 3px !important;
}

/* Cards sin foto en búsqueda — tamaño armonioso */
body.search article.layout-grid:not(.has-post-thumbnail) {
  min-height: 0 !important;
}
body.search article.layout-grid:not(.has-post-thumbnail) .article-content-col .content {
  min-height: 160px !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Spacer entre hero y grid */
body.search .container.archive-container .nv-index-posts {
  padding-top: 36px !important;
}

/* ══════════════════════════════════════════════════
   36. HERO NOTICIA INDIVIDUAL — COMPACTO (imagen 1)
   El padding era demasiado grande, el título se veía
   cortado. Reducir y mejorar proporciones.
══════════════════════════════════════════════════ */

.nv-post-cover .container,
.nv-post-cover .nv-title-meta-wrap {
  max-width: 1000px !important;
}

/* Línea de acento izquierda */
.nv-post-cover .nv-title-meta-wrap {
  border-left: 4px solid #31D3C6 !important;
  padding-left: 20px !important;
  max-width: 900px !important;
}

/* Título más compacto */
.nv-post-cover .entry-title,
.nv-post-cover h1.title {
  font-size: clamp(1.25rem, 2.8vw, 1.8rem) !important;
  margin-bottom: 10px !important;
  line-height: 1.3 !important;
}


/* ══════════════════════════════════════════════════
   37. HEADER LOGO ROW — fondo #f4f6fa
══════════════════════════════════════════════════ */

/* Fila del logo: fondo gris muy claro */
body .header--row:not(.header-bottom):not(.nv-navbar),
body .header--row.header-top,
body [data-row-id="top"] .header--row-inner,
body .header--row:first-child:not(.header-bottom) {
  background: #f4f6fa !important;
  background-color: #f4f6fa !important;
}

/* Asegurar que la fila del nav-menu SIEMPRE sea azul */
body .header--row.header-bottom,
body .header--row.header-bottom [class*=row-inner] {
  background: #0052A0 !important;
  background-color: #0052A0 !important;
  background-image: none !important;
}

/* ══════════════════════════════════════════════════
   38. MENÚ DESKTOP HOVER — blanco (no tomate)
   Active = línea tomate + texto blanco
   Hover = texto blanco (no tomate)
══════════════════════════════════════════════════ */

/* HOVER — blanco puro */
#nv-primary-navigation-bottom > .menu-item > .wrap > a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.1) !important;
}
#nv-primary-navigation-bottom > .menu-item > .wrap > a:hover::after {
  background: rgba(255,255,255,.5) !important;
  transform: scaleX(1) !important;
}

/* ACTIVO (página actual) — línea tomate + texto blanco */
#nv-primary-navigation-bottom > .current-menu-item > .wrap > a,
#nv-primary-navigation-bottom > .current-menu-ancestor > .wrap > a {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
}
#nv-primary-navigation-bottom > .current-menu-item > .wrap > a::after,
#nv-primary-navigation-bottom > .current-menu-ancestor > .wrap > a::after {
  background: #e8a020 !important;  /* línea tomate */
  transform: scaleX(1) !important;
}

/* Quitar el color tomate del hover */
#nv-primary-navigation-bottom > .menu-item > .wrap > a {
  color: rgba(255,255,255,.88) !important;
}

/* ══════════════════════════════════════════════════
   39. SEARCH HERO — VERDADERAMENTE FULL WIDTH
   Fix definitivo: el .nv-page-title usa width:100vw
   y margin negativo para romper el container
══════════════════════════════════════════════════ */

/* Container: sin padding lateral */
body.search .container.archive-container {
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Row sin márgenes */
body.search .container.archive-container > .row {
  margin: 0 !important;
  width: 100% !important;
  display: block !important;
}

/* nv-index-posts sin padding */
body.search .nv-index-posts.search.col {
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

/* El title-wrap ocupa todo el ancho */
body.search .nv-page-title-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* El nv-page-title es el div interior con el gradiente */
body.search .nv-page-title {
  width: 100% !important;
  padding: 52px 40px 44px !important;
}

/* Grid de resultados con padding propio */
body.search .posts-wrapper {
  max-width: 1200px !important;
  margin: 36px auto 60px !important;
  padding: 0 20px !important;
}

/* Gap entre hero y grid — añadir espacio */
body.search .nv-page-title-wrap + .posts-wrapper,
body.search .nv-page-title-wrap ~ .posts-wrapper {
  margin-top: 36px !important;
}

/* ══════════════════════════════════════════════════
   40. CARDS SIN FOTO — padding armonioso
   Las tarjetas "Transparencia" sin imagen deben verse
   proporcionadas, sin exceso de relleno
══════════════════════════════════════════════════ */

/* Card sin thumbnail: altura controlada */
article.layout-grid:not(.has-post-thumbnail) {
  min-height: 0 !important;
}

article.layout-grid:not(.has-post-thumbnail) .article-content-col .content {
  padding: 24px 20px !important;
  min-height: 180px !important;
  max-height: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* En resultados de búsqueda específicamente */
body.search article.layout-grid:not(.has-post-thumbnail) .article-content-col .content {
  min-height: 160px !important;
  max-height: 240px !important;
  padding: 20px 18px !important;
}

/* Título truncado a 3 líneas máximo */
body.search article.layout-grid:not(.has-post-thumbnail) h2.blog-entry-title.entry-title a {
  -webkit-line-clamp: 3 !important;
}

/* ══════════════════════════════════════════════════
   41. SEARCH X BUTTON — SIEMPRE TOP RIGHT
══════════════════════════════════════════════════ */

/* Forzar X al top right en TODOS los tipos de search */
.nv-nav-search .close-container {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2147483647 !important;
  pointer-events: auto !important;
}

/* ══════════════════════════════════════════════════
   42. SEARCH HERO — ROMPER CONTAINER con 100vw
══════════════════════════════════════════════════ */

/* Técnica: negative margin trick para full width */
body.search .nv-page-title-wrap {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding: 0 !important;
}

body.search .nv-page-title {
  width: 100% !important;
  padding: 52px 40px 44px !important;
  box-sizing: border-box !important;
}

/* Espaciado entre hero y grid */
body.search .posts-wrapper {
  margin-top: 32px !important;
  padding: 0 20px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ══════════════════════════════════════════════════
   43. CARD SIN FOTO — altura proporcional al contenido
   No debe tener padding excesivo si hay poco texto
══════════════════════════════════════════════════ */

article.layout-grid:not(.has-post-thumbnail) .article-content-col .content {
  padding: 20px !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
}

/* ══════════════════════════════════════════════════
   44. PÁGINA NOTICIAS — HEADER ATRACTIVO
   Reemplaza el título plano del archivo de noticias
══════════════════════════════════════════════════ */

body.blog .nv-page-title-wrap,
body.archive .nv-page-title-wrap:not(body.search .nv-page-title-wrap),
body.post-type-archive .nv-page-title-wrap {
  position: relative !important;
  left: 50% !important; right: 50% !important;
  margin-left: -50vw !important; margin-right: -50vw !important;
  width: 100vw !important; max-width: 100vw !important;
  padding: 0 !important;
}

body.blog .nv-page-title,
body.archive .nv-page-title:not(body.search .nv-page-title) {
  background: linear-gradient(135deg, #001333 0%, #002766 25%, #0052a0 60%, #0070cc 100%) !important;
  padding: 56px 40px 50px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}

/* Decoración noticia */
body.blog .nv-page-title::before,
body.archive .nv-page-title::before {
  content: '' !important;
  position: absolute !important; top: 0; left: 0; right: 0; height: 4px !important;
  background: linear-gradient(90deg, #31D3C6, #e8a020, #31D3C6) !important;
}

/* Icono y subtítulo mediante ::after del h1 */
body.blog .nv-page-title h1::before {
  content: '📰' !important;
  display: block !important;
  font-size: 2.2rem !important;
  margin-bottom: 12px !important;
}

body.blog .nv-page-title h1,
body.archive .nv-page-title h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center !important;
  margin: 0 auto !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
  max-width: 800px !important;
}

body.blog .nv-page-title h1::after,
body.archive .nv-page-title h1::after {
  content: 'Regitro de la Propiedad y Mercantil · Cantón Rumiñahui' !important;
  display: block !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,.65) !important;
  margin-top: 8px !important;
  letter-spacing: .02em !important;
}

/* Línea decorativa */
body.blog .nv-page-title .nv-page-title-wrap::after,
body.blog .nv-page-title::after {
  content: '' !important;
  display: block !important;
  width: 80px !important; height: 3px !important;
  background: linear-gradient(90deg, #31D3C6, #e8a020) !important;
  margin: 14px auto 0 !important;
  border-radius: 3px !important;
}


/* ══════════════════════════════════════════════════
   46. SEARCH X — POSICIÓN TOP RIGHT DEFINITIVA
   Usar position:fixed para desacoplar del layout
══════════════════════════════════════════════════ */

/* Todas las variantes del close container */
.menu-item-nav-search .close-container,
.menu-item-nav-search .nv-nav-search .close-container,
.menu-item-nav-search.canvas .nv-nav-search .close-container,
.menu-item-nav-search.floating .nv-nav-search .close-container {
  position: fixed !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2147483647 !important;
  display: flex !important;
  justify-content: flex-end !important;
  pointer-events: auto !important;
}

.close-responsive-search {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 2147483647 !important;
}

/* ══════════════════════════════════════════════════
   47. SINGLE POST HERO — PADDING REDUCIDO
   El hero tiene demasiado espacio arriba/abajo
══════════════════════════════════════════════════ */

.nv-post-cover {
  min-height: 140px !important;
  padding: 0 !important;
}

.nv-post-cover .container {
  padding: 20px 24px 24px !important;
}

.nv-post-cover .entry-title,
.nv-post-cover h1.title {
  font-size: clamp(1.15rem, 2.5vw, 1.7rem) !important;
  margin-bottom: 8px !important;
}

/* ══════════════════════════════════════════════════
   48. SCROLL-TO-TOP — MÁS PEQUEÑO
══════════════════════════════════════════════════ */

#scroll-to-top {
  width: 36px !important;
  height: 36px !important;
  bottom: 20px !important;
  right: 20px !important;
  box-shadow: 0 2px 10px rgba(232,160,32,.4) !important;
}
#scroll-to-top svg,
#scroll-to-top .scroll-to-top-icon {
  width: 14px !important;
  height: 14px !important;
}

/* ══════════════════════════════════════════════════
   49. NOTICIAS HERO (/noticias/) — PÁGINA ESPECÍFICA
   Neve renderiza esta página como un blog archive
══════════════════════════════════════════════════ */

/* Aplica SOLO a la página de noticias (body.blog) */
body.blog .neve-main > .container:first-child {
  padding-top: 0 !important;
}

/* Si hay un h1 directo en la página de blog */
body.blog .nv-index-posts .nv-page-title-wrap,
body.blog .nv-page-title-wrap {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

body.blog .nv-page-title {
  background: linear-gradient(135deg, #001333 0%, #002766 25%, #0052a0 65%, #0070cc 100%) !important;
  padding: 56px 40px 52px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}

body.blog .nv-page-title::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0; height: 4px !important;
  background: linear-gradient(90deg, #31D3C6, #e8a020, #31D3C6) !important;
}

body.blog .nv-page-title h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.7rem, 3.5vw, 2.5rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.3) !important;
  margin: 0 auto 8px !important;
}

/* Subtítulo institucional */
.rpmr-archive-sub {
  color: rgba(255,255,255,.65) !important;
  font-size: 1rem !important;
  text-align: center !important;
  margin: 0 !important;
  font-family: 'Source Sans 3', sans-serif !important;
}


/* ══════════════════════════════════════════════════
   50. MOBILE SIDEBAR CARET — tap area generoso
══════════════════════════════════════════════════ */
@media (max-width: 960px) {
  .header-menu-sidebar-inner .caret-wrap.navbar-toggle {
    min-width: 48px !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    touch-action: manipulation !important;
  }
}

/* ══════════════════════════════════════════════════
   51. MOBILE SIDEBAR — DOS ZONAS SEPARADAS
   Texto: navega | Flecha: toggle submenú
══════════════════════════════════════════════════ */

@media (max-width: 960px) {

  /* La fila: flex sin background propio */
  .header-menu-sidebar-inner .menu-item-has-children > .wrap {
    display: flex !important;
    align-items: stretch !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* Texto: ocupa todo el espacio, solo él navega */
  .header-menu-sidebar-inner .menu-item-has-children > .wrap > a {
    flex: 1 1 auto !important;
    padding: 14px 16px !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    background: transparent !important;
    /* Separador visual entre texto y flecha */
    border-right: 1px solid rgba(255,255,255,.12) !important;
  }

  /* Botón flecha: zona fija SOLO para el toggle */
  .header-menu-sidebar-inner .menu-item-has-children > .wrap > button.caret-wrap.navbar-toggle {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(49,211,198,.3) !important;
    background: transparent !important;  /* SIN fondo propio */
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    transition: background .15s !important;
  }

  /* Solo el botón se ilumina al tocarlo */
  .header-menu-sidebar-inner .menu-item-has-children > .wrap > button.caret-wrap.navbar-toggle:hover,
  .header-menu-sidebar-inner .menu-item-has-children > .wrap > button.caret-wrap.navbar-toggle:focus,
  .header-menu-sidebar-inner .menu-item-has-children > .wrap > button.caret-wrap.navbar-toggle:active {
    background: rgba(49,211,198,.18) !important;
  }

  /* SVG del caret */
  .header-menu-sidebar-inner .menu-item-has-children > .wrap > button.caret-wrap svg {
    width: 13px !important;
    height: 13px !important;
    fill: rgba(255,255,255,.75) !important;
    pointer-events: none !important;
    transition: transform .25s, fill .2s !important;
    display: block !important;
  }

  /* Flecha rota cuando abierto */
  .header-menu-sidebar-inner .menu-item-has-children > .wrap > button.caret-wrap.dropdown-open svg {
    transform: rotate(180deg) !important;
    fill: #31D3C6 !important;
  }
}

/* ══════════════════════════════════════════════════
   52. FIX CRÍTICO — <a> SE SUPERPONE AL BOTÓN CARET
   Neve aplica margin-right negativo al <a> de items con
   hijos, haciendo que el texto cubra el área del botón.
   Resultado: al tocar la flecha, en realidad tocas el <a>.
   SOLUCIÓN: anular el margin negativo y separar las zonas.
══════════════════════════════════════════════════ */

@media (max-width: 960px) {

  /* ANULAR el margin negativo que causa la superposición */
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap > a,
  .header-menu-sidebar-inner .nav-ul li.menu-item-has-children > .wrap > a {
    margin-right: 0 !important;
    padding-right: 16px !important;
  }

  /* El wrap como flex row con zonas bien definidas */
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap,
  .header-menu-sidebar-inner .nav-ul li.menu-item-has-children > .wrap {
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
    padding: 0 !important;
  }

  /* El <a> ocupa el espacio restante, SIN cubrir el botón */
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap > a {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    position: relative !important;
    z-index: 1 !important;  /* DEBAJO del botón */
  }

  /* El botón caret — POR ENCIMA del <a>, área propia */
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap > button.caret-wrap,
  .header-menu-sidebar-inner .nav-ul li.menu-item-has-children > .wrap > button.caret-wrap {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    align-self: stretch !important;
    min-height: 50px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 10 !important;  /* ENCIMA del <a> para recibir el tap */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    touch-action: manipulation !important;
    pointer-events: auto !important;
  }

  /* El SVG no intercepta el tap (pasa al botón) */
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap > button.caret-wrap svg,
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap > button.caret-wrap * {
    pointer-events: none !important;
  }

  /* Highlight solo en el botón */
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap > button.caret-wrap:active,
  .header-menu-sidebar .nav-ul li.menu-item-has-children > .wrap > button.caret-wrap:focus {
    background: rgba(49,211,198,.18) !important;
  }
}

/* ══════════════════════════════════════════════════
   53. AJUSTES FINALES (solicitados)
══════════════════════════════════════════════════ */

/* 53.1 — Padding entre hero y contenido en noticia single */
.single-post .nv-post-cover + *,
.single-post .neve-main > .container,
.single-post .single-post-container.container {
  padding-top: 36px !important;
}

/* Separación visible entre el hero y la card del artículo */
.single .nv-single-post-wrap,
.single-post .nv-single-post-wrap {
  margin-top: 28px !important;
}

/* 53.2 — Color hover en navegación de noticia (#f5ad24) */
.nv-post-navigation a:hover span:not(.nav-direction) {
  color: #f5ad24 !important;
}

/* 53.3 — Paginación en búsqueda: separar del footer */
body.search .nv-index-posts.search,
body.search .posts-wrapper {
  margin-bottom: 0 !important;
}
body.search .nv-pagination,
body.search .nav-links,
body.archive .nv-pagination,
body.blog .nv-pagination {
  margin: 36px auto 64px !important;
  padding-bottom: 24px !important;
}

/* Espaciado general antes del footer en páginas de archivo/búsqueda */
body.search .neve-main,
body.archive .neve-main,
body.blog .neve-main {
  padding-bottom: 48px !important;
}

/* 53.4 — Header con fondo #f4f6fa donde está el logo (no blanco) */
body .hfg_header.site-header,
body .hfg_header.site-header .header--row,
body #header-grid,
body #header-grid .header--row,
body #header-grid .header--row-inner {
  background: transparent !important;
}

/* La fila del logo recibe el color gris claro */
body .hfg_header.site-header .header--row.header-top,
body .hfg_header.site-header .header--row:not(.header-bottom),
body #header-grid .header--row:not(.header-bottom),
body #header-grid .header--row:not(.header-bottom) .header--row-inner {
  background: #f4f6fa !important;
}

/* La fila del menú SIEMPRE azul */
body .hfg_header.site-header .header--row.header-bottom,
body .hfg_header.site-header .header--row.header-bottom .header--row-inner,
body #header-grid .header--row.header-bottom,
body #header-grid .header--row.header-bottom .header--row-inner {
  background: #0052A0 !important;
}

/* ══════════════════════════════════════════════════
   54. HERO INYECTADO EN PÁGINA DE NOTICIAS
══════════════════════════════════════════════════ */

.rpmr-noticias-hero {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw;
  background: linear-gradient(135deg, #001333 0%, #002766 25%, #0052a0 65%, #0070cc 100%);
  overflow: hidden;
  margin-bottom: 0;
}

.rpmr-noticias-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #31D3C6, #e8a020, #31D3C6);
}

.rpmr-noticias-hero::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(49,211,198,.1) 0%, transparent 65%);
  top: -180px; right: -100px;
  border-radius: 50%;
  pointer-events: none;
}

.rpmr-noticias-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 52px 24px 48px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.rpmr-noticias-hero-icon {
  display: block;
  font-size: 2.4rem;
  margin-bottom: 12px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.3));
}

.rpmr-noticias-hero-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.7rem, 3.5vw, 2.5rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 auto 8px !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
  max-width: 820px;
}

.rpmr-noticias-hero-sub {
  color: rgba(255,255,255,.7) !important;
  font-size: 1rem !important;
  margin: 0 auto !important;
  font-family: 'Source Sans 3', sans-serif !important;
}

.rpmr-noticias-hero-line {
  display: block;
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #31D3C6, #e8a020);
  margin: 16px auto 0;
  border-radius: 3px;
}

/* Espacio entre el hero inyectado y las cards */
.rpmr-noticias-page .rpmr-noticias-hero + *,
.rpmr-noticias-page .nv-index-posts,
.rpmr-noticias-page .posts-wrapper {
  margin-top: 40px !important;
  padding-top: 0 !important;
}

/* Ocultar el título nativo de Neve si aparece duplicado */
.rpmr-noticias-page .nv-page-title-wrap {
  display: none !important;
}

/* ══════════════════════════════════════════════════
   55. PAGINACIÓN — separar de las cards (más espacio)
══════════════════════════════════════════════════ */

.nv-pagination,
.nav-links,
.posts-navigation,
ul.page-numbers {
  margin-top: 48px !important;
  margin-bottom: 56px !important;
  padding-top: 16px !important;
  clear: both !important;
}

/* Específico para búsqueda y archivo */
body.search .posts-wrapper,
body.archive .posts-wrapper,
body.blog .posts-wrapper,
.rpmr-noticias-page .posts-wrapper {
  margin-bottom: 0 !important;
}

body.search .nv-pagination,
body.archive .nv-pagination,
body.blog .nv-pagination,
.rpmr-noticias-page .nv-pagination {
  margin-top: 48px !important;
  margin-bottom: 56px !important;
}
