/* Adaptado de ofertas para buscatucaravana.com (jun 2026): acento AMANECER #ff7a59
   (handoff B0-B6, Claude Design). Se carga DESPUÉS de webcampista-new.min.css y
   pisa solo la capa de marca (colores, fuentes, cabecera, cards, footer, banda). */
/* =====================================================
   Red Webcampista — Sistema de Marca Unificado (jun 2026)
   Triada: hierba = estructura · cielo = información · sol/amanecer = acción.
   Regla 60-30-10 — crema (60) + hierba (30) + amanecer (10).
   Acento propio del portal: AMANECER #ff7a59 (hover #f96b45); texto encima
   SIEMPRE verde tinta #1d3a28. Footer AZUL «mar profundo» #0d3b66 (B0).
   ===================================================== */

@font-face {
  font-family: 'Poppins';
  src: url('./fonts/poppins-600-latin.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('./fonts/poppins-700-latin.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('./fonts/poppins-800-latin.woff2') format('woff2');
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('./fonts/inter-variable-latin.woff2') format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
}

:root {
  --rw-bosque: #2f9e44;          /* hierba — header de marca, acción estructural */
  --rw-bosque-oscuro: #237032;   /* hierba oscura — redbar */
  --rw-bosque-claro: #37b24d;
  --rw-acento: #ff7a59;          /* AMANECER — acento del portal buscatucaravana */
  --rw-acento-hover: #f96b45;
  --rw-fondo: #fdf9ee;           /* crema soleada — lienzo (60%) */
  --rw-texto: #2d3748;
  --rw-texto-suave: rgba(45, 55, 72, 0.62);
  --rw-texto-faint: rgba(45, 55, 72, 0.45);
  --rw-radius: 16px;
  --rw-sombra: 0 4px 16px rgba(45, 55, 72, 0.08);
  --rw-titulares: 'Poppins', 'Segoe UI', sans-serif;
  --rw-cuerpo: 'Inter', 'Segoe UI', sans-serif;

  /* info = cielo, enlaces = mar */
  --rw-cielo: #d0ebff;
  --rw-cielo-texto: #134a73;
  --rw-azul-ruta: #1971c2;

  /* B0 — footer azul «mar profundo» (estándar de la Red, aquí solo buscatucaravana de momento) */
  --rw-pie: #0d3b66;

  /* B2 — acento amanecer + texto oscuro sobre el acento (la convención de la Red) */
  --of-acento: #ff7a59;
  --of-acento-hover: #f96b45;
  --of-sol-texto: #1d3a28;       /* texto SIEMPRE oscuro sobre amanecer */
}

/* ===== 60%: lienzo crema (B4) ===== */
body {
  font-family: var(--rw-cuerpo);
  background: var(--rw-fondo);
  color: var(--rw-texto);
  padding-top: 102px; /* redbar 38 + brandbar 64 (cabecera fija de la Red, B1) */
}

h1, h2, h3, h4, h5, h6,
.card-title, .modal-title {
  font-family: var(--rw-titulares);
  font-weight: 700;
  color: var(--rw-texto);
}

/* ===== 30%: estructura hierba — cabecera unificada fija (B1) ===== */
.rw-header-fixed {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1030;
}

.rw-redbar-scroll {
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
}
.rw-redbar-scroll::-webkit-scrollbar { display: none; }

/* Barra de red (fina, superior) */
.rw-redbar {
  background: var(--rw-bosque-oscuro);
  min-height: 38px;
  font-family: var(--rw-cuerpo);
  font-size: 13px;
}
.rw-redbar .rw-red-tag {
  font-family: var(--rw-titulares);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.55);
}
.rw-redbar a {
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
  padding: 0.45rem 0.6rem;
  display: inline-block;
  transition: color 0.2s ease;
}
.rw-redbar a:hover { color: #ffffff; }
.rw-redbar a.rw-portal-activo {
  color: #ffffff;
  font-weight: 600;
  box-shadow: inset 0 -2px 0 0 #ffffff;
}

/* Barra de marca verde */
.rw-brandbar {
  background: var(--rw-bosque) !important;
  min-height: 64px;
}
.rw-brandbar .navbar-toggler { border-color: rgba(255, 255, 255, 0.3); }

.rw-lockup {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
}
.rw-lockup img { height: 44px; width: auto; }
.rw-lockup .rw-nombre {
  font-family: var(--rw-titulares);
  font-weight: 700;
  font-size: 20px;
  color: #ffffff;
  line-height: 1.1;
}
.rw-lockup .rw-nombre .rw-tld {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}
.rw-lockup .rw-endoso {
  display: block;
  font-family: var(--rw-cuerpo);
  font-weight: 500;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 0.02em;
}

/* Emblema histórico de Webcampista (óvalo 2004): versión 2026 con hover que
   destapa el Heritage original 2004 (fundido de opacidad). Lockup + footer. */
.rw-emblema img { filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)); }
.rw-emblema-flip { position: relative; display: inline-block; line-height: 0; }
.rw-emblema-flip .rw-emblema-heritage {
  position: absolute; top: 0; left: 0;
  opacity: 0; transition: opacity 0.25s ease;
}
.rw-emblema-flip:hover .rw-emblema-heritage { opacity: 1; }

/* ===== 10%: acento AMANECER — botones (B2) ===== */
/* Bootstrap: .btn-success = acción de conversión (amanecer); .btn-primary = estructural (hierba) */
.btn-success, .btn-primary {
  font-family: var(--rw-titulares);
  font-weight: 600;
  border-radius: 999px;
}
.btn-success {
  --bs-btn-bg: var(--of-acento);
  --bs-btn-border-color: var(--of-acento);
  --bs-btn-hover-bg: var(--of-acento-hover);
  --bs-btn-hover-border-color: var(--of-acento-hover);
  --bs-btn-active-bg: var(--of-acento-hover);
  --bs-btn-active-border-color: var(--of-acento-hover);
  --bs-btn-disabled-bg: var(--of-acento);
  --bs-btn-disabled-border-color: var(--of-acento);
  --bs-btn-color: var(--of-sol-texto);
  --bs-btn-hover-color: var(--of-sol-texto);
  --bs-btn-active-color: var(--of-sol-texto);
}
.btn-primary {
  --bs-btn-bg: var(--rw-bosque);
  --bs-btn-border-color: var(--rw-bosque);
  --bs-btn-hover-bg: var(--rw-bosque-claro);
  --bs-btn-hover-border-color: var(--rw-bosque-claro);
  --bs-btn-active-bg: var(--rw-bosque-claro);
  --bs-btn-active-border-color: var(--rw-bosque-claro);
  --bs-btn-disabled-bg: var(--rw-bosque);
  --bs-btn-disabled-border-color: var(--rw-bosque);
}
.btn-outline-success {
  --bs-btn-color: var(--rw-bosque);
  --bs-btn-border-color: var(--rw-bosque);
  --bs-btn-bg: #ffffff;
  --bs-btn-hover-bg: var(--rw-fondo);
  --bs-btn-hover-color: var(--rw-bosque);
  --bs-btn-hover-border-color: var(--rw-bosque);
  --bs-btn-active-bg: var(--rw-fondo);
  --bs-btn-active-color: var(--rw-bosque);
  --bs-btn-active-border-color: var(--rw-bosque);
  border-radius: 999px !important;
}

/* B2 — botones del sistema Red (pill). primary = AMANECER (acción/CTA),
   bosque = HIERBA (acción estructural, p.ej. «Buscar»). */
.rw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--rw-titulares);
  font-weight: 600;
  font-size: 15px;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease, filter 0.15s ease;
}
.rw-btn--primary {
  background: var(--of-acento);
  color: var(--of-sol-texto) !important;
  box-shadow: 0 4px 12px rgba(255, 122, 89, 0.35);
}
.rw-btn--primary:hover { background: var(--of-acento-hover); color: var(--of-sol-texto) !important; }
.rw-btn--bosque {
  background: var(--rw-bosque);
  color: #ffffff !important;
}
.rw-btn--bosque:hover { background: var(--rw-bosque-claro); color: #ffffff !important; }
.rw-btn--outline {
  background: #ffffff;
  border-color: var(--rw-bosque);
  color: var(--rw-bosque) !important;
}
.rw-btn--outline:hover { background: var(--rw-fondo); }
.rw-btn--block { width: 100%; }

/* CTA inline (cabecera de marca / banda) */
.rw-cta {
  background-color: var(--of-acento);
  color: var(--of-sol-texto) !important;
  font-family: var(--rw-titulares);
  font-weight: 600;
  font-size: 14px;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease;
}
.rw-cta:hover { background-color: var(--of-acento-hover); color: var(--of-sol-texto) !important; }

/* cabeceras de sección en HIERBA (no en el acento: el amanecer es claro y el
   texto blanco encima sería ilegible) */
.bg-success { background-color: var(--rw-bosque) !important; }

/* ===== Banda Willy / hero (B5) — escena «entrega de llaves» a sangre =====
   El header ilustrado propio se sustituye por la banda Willy estándar: escena
   como background:cover + velo en degradado que da legibilidad al claim. */
/* Fondo montes/cielo (degradado cielo→pradera); la escena entera va como <img>
   anclada a la derecha, height:100% (sin recorte vertical) y borde izquierdo
   fundido por máscara. NO cover a sangre (recortaba las cabezas). */
.rw-cabecera-willy {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 240px;
  overflow: hidden;
  background: linear-gradient(168deg, #d6ebf2 0%, #cfe6ec 26%, #cfe2c2 58%, #94c16c 100%); /* cielo→pradera */
}
/* la escena: alto completo, anclada a la derecha, sin recorte vertical; borde izq. fundido */
.rw-cabecera-willy > img {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: auto;
  z-index: 1;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%);
  mask-image: linear-gradient(90deg, transparent 0, #000 14%);
}
.rw-cabecera-willy-texto {
  position: relative;
  z-index: 2;
  flex: 1;
  max-width: 560px;
  padding: 0 44px;
}
.rw-claim {
  font-family: var(--rw-titulares);
  font-weight: 800;
  font-size: clamp(1.5rem, 3.4vw, 2.4rem);
  color: #143824;                 /* tinta sobre el cielo claro */
  line-height: 1.08;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.55);
}
.rw-claim-sub {
  font-family: var(--rw-cuerpo);
  font-size: clamp(0.9rem, 1.5vw, 1.05rem);
  color: #2c4a37;
  margin-top: 0.35rem;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
}
/* móvil: la escena llena la banda (cover) + velo + claim en blanco anclado abajo */
@media (max-width: 640px) {
  .rw-cabecera-willy { min-height: 196px; }
  .rw-cabecera-willy > img {
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 62% center;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .rw-cabecera-willy::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(0deg, rgba(10, 26, 15, 0.74) 0%, rgba(10, 26, 15, 0.18) 46%, transparent 72%);
    pointer-events: none;
  }
  .rw-cabecera-willy-texto { max-width: none; align-self: flex-end; padding: 0 22px 16px; }
  .rw-claim { color: #ffffff; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5); }
  .rw-claim-sub { color: #ffffff; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5); }
}

/* ===== Buscador en card blanca superpuesta a la banda (B5) ===== */
.rw-buscador-card {
  background: #ffffff;
  border-radius: var(--rw-radius);
  border: 1px solid rgba(45, 55, 72, 0.06);
  box-shadow: 0 8px 28px rgba(45, 55, 72, 0.14);
  padding: 18px;
  margin: -42px auto 24px;
  position: relative;
  z-index: 2;
  max-width: 1100px;
}
.rw-buscador-card .form-select,
.rw-buscador-card .form-control {
  border: 1px solid rgba(45, 55, 72, 0.15);
  border-radius: 10px;
  font-family: var(--rw-cuerpo);
}
.rw-buscador-card .form-select:focus,
.rw-buscador-card .form-control:focus {
  border-color: var(--rw-bosque);
  box-shadow: 0 0 0 0.18rem rgba(47, 158, 68, 0.15);
}

/* Segmento Todos / Ocasión / Nuevos — activo en CIELO (info) */
.rw-segmento {
  display: inline-flex;
  background: #ffffff;
  border: 1px solid rgba(45, 55, 72, 0.12);
  border-radius: 999px;
  padding: 3px;
  gap: 3px;
}
.rw-segmento a,
.rw-segmento label {
  font-family: var(--rw-titulares);
  font-weight: 600;
  font-size: 13px;
  color: var(--rw-texto-suave);
  text-decoration: none;
  padding: 5px 14px;
  margin: 0;
  border: 0;
  background: transparent;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.rw-segmento a:hover,
.rw-segmento label:hover { background: var(--rw-fondo); color: var(--rw-texto); }
.rw-segmento a.is-active,
.rw-segmento .btn-check:checked + label {
  background: var(--rw-cielo);
  color: var(--rw-cielo-texto);
}

/* ===== Interruptor Lista ⇄ Mapa estándar de la Red =====
   píldora de 2 segmentos; el activo (.on) relleno en el acento del portal
   (amanecer) con texto verde tinta, el inactivo en gris. */
.vista-switch {
  display: inline-flex;
  background: #ffffff;
  border: 1px solid rgba(45, 55, 72, 0.14);
  border-radius: 999px;
  padding: 4px;
  gap: 4px;
  box-shadow: 0 1px 2px rgba(45, 55, 72, 0.05);
}
.vista-switch button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: none;
  background: transparent;
  color: var(--rw-texto-suave);
  font-family: var(--rw-titulares);
  font-weight: 600;
  font-size: 13.5px;
  padding: 8px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.vista-switch button:hover { color: var(--rw-texto); }
.vista-switch button svg { width: 16px; height: 16px; }
.vista-switch button i { font-size: 15px; }
.vista-switch button.on { background: var(--of-acento); color: #1d3a28; }

/* ===== Componentes: cards radius 16 + sombra difusa ===== */
.card {
  border-radius: var(--rw-radius) !important;
  border: 1px solid rgba(45, 55, 72, 0.06) !important;
  background: #ffffff;
  box-shadow: var(--rw-sombra) !important;
}

.rw-h-seccion {
  font-family: var(--rw-titulares);
  font-weight: 700;
  font-size: 20px;
  color: var(--rw-texto);
  text-align: left;
  margin: 28px 0 14px;
}

/* B6 — Tiles de categoría: card blanca, icono en hierba, hover elevación */
.rw-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 22px 14px;
  background: #ffffff;
  border-radius: var(--rw-radius);
  border: 1px solid rgba(45, 55, 72, 0.06);
  box-shadow: var(--rw-sombra);
  text-decoration: none;
  color: var(--rw-texto);
  text-align: center;
  height: 100%;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.rw-tile:hover {
  box-shadow: 0 8px 22px rgba(45, 55, 72, 0.14);
  transform: translateY(-2px);
  color: var(--rw-texto);
}
.rw-tile-ico { font-size: 34px; color: var(--rw-bosque); line-height: 1; }
.rw-tile-nombre { font-family: var(--rw-titulares); font-weight: 600; font-size: 15px; }
.rw-tile-num { font-size: 12px; color: var(--rw-texto-suave); }
/* «Ver todo» con icono en amanecer */
.rw-vertodo { font-family: var(--rw-titulares); font-weight: 600; color: var(--rw-bosque); text-decoration: none; }
.rw-vertodo i { color: var(--of-acento); }

/* B6 — Cards de producto (anuncios): foto, nombre, vendedor, precio HIERBA,
   botón «Detalles» en hierba a ancho completo */
.rw-prod-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: var(--rw-radius);
  border: 1px solid rgba(45, 55, 72, 0.06);
  box-shadow: var(--rw-sombra);
  overflow: hidden;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.rw-prod-foto-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--rw-fondo);
  overflow: hidden;
}
.rw-prod-foto { width: 100%; height: 100%; object-fit: cover; display: block; }
.rw-prod-foto--placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  color: rgba(45, 55, 72, 0.3); font-size: 34px;
}
.rw-prod-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.rw-prod-nombre {
  font-family: var(--rw-titulares);
  font-weight: 600;
  font-size: 16px;
  color: var(--rw-texto);
  line-height: 1.25;
}
.rw-prod-vendedor { font-size: 12.5px; color: var(--rw-texto-suave); }
.rw-prod-lugar { font-size: 12.5px; color: var(--rw-azul-ruta); }
.rw-prod-precio {
  font-family: var(--rw-titulares);
  font-weight: 800;
  font-size: 19px;
  color: var(--rw-bosque);
  margin-top: 2px;
}
.rw-prod-detalles { margin-top: 10px; }

/* B3 — badge «Nuevo» en CIELO (antes teal fuera de sistema). El teal vivía como
   .badge.bg-info; se recolorea a cielo en TODA la web (home, listado, ficha). */
.prod .badge,
.rw-prod-card .badge,
.badge.bg-info,
.badge.bg-info.text-dark,
.rw-badge-nuevo {
  background: var(--rw-cielo) !important;
  color: var(--rw-cielo-texto) !important;
  font-family: var(--rw-titulares);
  font-weight: 600;
}
.rw-badge-nuevo {
  position: absolute;
  top: 10px; left: 10px;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 11px;
  z-index: 1;
}

/* B6 — Flechas de carrusel circulares en AMANECER */
.rw-carousel .carousel-control-prev-icon,
.rw-carousel .carousel-control-next-icon {
  background-color: var(--of-acento);
  background-size: 55% 55%;
  border-radius: 50%;
  width: 42px; height: 42px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.rw-carousel .carousel-control-prev,
.rw-carousel .carousel-control-next { width: 8%; opacity: 1; }
.rw-carousel .carousel-indicators .active { background-color: var(--of-acento); }

/* Card de listado horizontal (foto + datos) — usada en novedades/relacionados */
.rw-card-est {
  display: flex;
  gap: 16px;
  padding: 14px;
  margin-bottom: 14px;
  background: #ffffff;
  border-radius: var(--rw-radius);
  border: 1px solid rgba(45, 55, 72, 0.06);
  box-shadow: var(--rw-sombra);
  color: inherit;
  text-decoration: none;
  align-items: center;
}
.rw-card-est:hover { box-shadow: 0 6px 20px rgba(45, 55, 72, 0.14); color: inherit; text-decoration: none; }
.rw-card-est .rw-card-foto { width: 160px; height: 120px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
.rw-card-est .rw-card-foto--placeholder {
  width: 160px; height: 120px; border-radius: 8px; flex: 0 0 auto;
  background: var(--rw-fondo); display: flex; align-items: center; justify-content: center;
}
.rw-card-est .rw-card-foto--placeholder i { font-size: 28px; color: rgba(45, 55, 72, 0.3); }
.rw-card-est .rw-card-nombre { font-family: var(--rw-titulares); font-weight: 600; font-size: 17px; color: var(--rw-texto); }
.rw-card-est .rw-card-precio { font-family: var(--rw-titulares); font-weight: 800; color: var(--rw-bosque); }
.rw-card-est .rw-card-lugar { font-size: 13px; color: var(--rw-azul-ruta); }
@media (max-width: 575.98px) {
  .rw-card-est .rw-card-foto, .rw-card-est .rw-card-foto--placeholder { width: 96px; height: 96px; }
}

/* B6 — Cards de noticias / blog: tag en CIELO + fecha + título + extracto */
.rw-news-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: var(--rw-radius);
  border: 1px solid rgba(45, 55, 72, 0.06);
  box-shadow: var(--rw-sombra);
  overflow: hidden;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.rw-news-foto-wrap { aspect-ratio: 16 / 9; background: var(--rw-fondo); overflow: hidden; }
.rw-news-foto { width: 100%; height: 100%; object-fit: cover; display: block; }
.rw-news-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.rw-news-meta { display: flex; align-items: center; gap: 8px; }
.rw-news-tag {
  background: var(--rw-cielo);
  color: var(--rw-cielo-texto);
  font-family: var(--rw-titulares);
  font-weight: 600;
  font-size: 11px;
  border-radius: 999px;
  padding: 2px 9px;
}
.rw-news-fecha { font-size: 12px; color: var(--rw-texto-faint); }
.rw-news-titulo { font-family: var(--rw-titulares); font-weight: 700; font-size: 16px; color: var(--rw-texto); line-height: 1.25; }
.rw-news-extracto { font-size: 13.5px; color: var(--rw-texto-suave); line-height: 1.4; }

/* ===== Rail de destacados (sidebar) — cabecera amanecer ===== */
.rail { overflow: hidden; }
.rail-head {
  background: var(--of-acento);
  color: var(--of-sol-texto);
  text-align: center;
  padding: 7px 0;
  font-family: var(--rw-titulares);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rail-item {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(45, 55, 72, 0.08);
  text-decoration: none; color: inherit;
}
.rail-item:last-child { border-bottom: none; }
.rail-item:hover { background: var(--rw-fondo); }
.rail-item .rail-ico {
  width: 30px; height: 30px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  background: var(--rw-bosque);
}
.rail-item .rail-ico i { font-size: 15px; color: #ffffff; }
.rail-item .body { flex: 1; min-width: 0; }
.rail-item .camp { font-family: var(--rw-titulares); font-weight: 600; font-size: 13.5px; color: var(--rw-texto); }
.rail-item .txt { font-size: 12px; color: var(--rw-texto-suave); line-height: 1.35; margin-top: 1px; }
.rail-item .fecha { font-size: 11px; color: var(--rw-texto-faint); margin-top: 3px; }
.rail-item .chev { color: var(--rw-texto-faint); flex: 0 0 auto; }

/* ===== Publicidad etiquetada (B6): banner DENTRO de tarjeta blanca con rótulo ===== */
.rw-ad-card { overflow: hidden; }
.rw-ad-label {
  text-align: center;
  font-family: var(--rw-titulares);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rw-texto-faint);
  padding: 10px 0 6px;
}
.rw-ad-cuerpo { padding: 0 12px 4px; }
.rw-ad-cuerpo:empty { display: none; }
.rw-ad-card:has(.rw-ad-cuerpo:empty) { display: none; }

/* Franja de banner horizontal etiquetada (cuerpo del listado) */
.rw-ad-banda {
  border: 1px solid rgba(45, 55, 72, 0.08);
  border-radius: var(--rw-radius);
  background: #ffffff;
  box-shadow: var(--rw-sombra);
  overflow: hidden;
  margin: 18px 0;
}
.rw-ad-banda .rw-ad-cuerpo { text-align: center; padding: 4px 8px 10px; }
/* colapsar la franja entera si el slot del adserver viene vacío (p.ej. en local) */
.rw-ad-banda:has(.ad-slot-header:empty),
.rw-ad-banda:has(.ad-slot-horizontal:empty) { display: none; }

/* ===== Footer (B0 — banda de marca AZUL «mar profundo») ===== */
.page-footer {
  background-color: #ffffff;
  border-top: 1px solid rgba(45, 55, 72, 0.08);
}
.footer-brand-area {
  background-color: var(--rw-pie);   /* B0 — azul #0d3b66 (no tocar el redbar, que sigue en hierba) */
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.45rem 1rem;
}
.footer-copy {
  font-family: var(--rw-titulares);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.85);
}
.page-footer .text-primary { color: var(--rw-bosque-claro) !important; }

/* ===== Móvil ===== */
@media (max-width: 767.98px) {
  body { padding-top: 96px; /* redbar compacta 34 + brandbar 62 */ }
  .rw-redbar { min-height: 34px; font-size: 11px; }
  .rw-redbar a { padding: 0.35rem 0.3rem; }
  /* el portal ACTIVO no se enlaza a sí mismo en móvil (la brandbar ya lo identifica) */
  .rw-redbar a.rw-portal-activo { display: none; }
  .rw-lockup img { height: 36px; }
  .rw-lockup .rw-nombre { font-size: 16px; }
  .rw-buscador-card { margin: -28px 12px 20px; }
}
