/* OPEN RD · hoja de marca v1.3.0 */
   TOKENS DE MARCA — OPEN RD
   Verde más fresco que el de la firma madre, con latón de la llave
   como acento. Editar SOLO aquí: todo el sitio hereda de estas
   variables.
   ============================================================== */
:root {
  /* Verdes */
  --rd-green-900: #0F2E22;
  --rd-green-800: #14412F;
  --rd-green-700: #1B5A3F;
  --rd-green-600: #237A52;  /* primario */
  --rd-green-500: #2F9465;
  --rd-green-300: #7CC6A0;
  --rd-green-050: #EAF4EE;

  /* Latón de la llave */
  --rd-brass-600: #A8832C;
  --rd-brass-500: #C9A227;
  --rd-brass-300: #E2C76B;

  /* Neutros */
  --rd-sand:      #F5F2EB;
  --rd-ivory:     #FBFAF7;
  --rd-ink:       #15201A;
  --rd-gray:      #5A6560;
  --rd-line:      #E3E0D8;

  /* Semánticos */
  --rd-primary:      var(--rd-green-600);
  --rd-primary-dark: var(--rd-green-800);
  --rd-accent:       var(--rd-brass-500);
  --rd-accent-hover: var(--rd-brass-600);
  --rd-text:         var(--rd-ink);
  --rd-text-invert:  var(--rd-ivory);
  --rd-surface:      #FFFFFF;
  --rd-surface-alt:  var(--rd-sand);

  /* Tipografía */
  --rd-font-display: "Fraunces", "Playfair Display", Georgia, serif;
  --rd-font-body:    "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Ritmo y forma */
  --rd-section-y: clamp(3rem, 6vw, 5.5rem);
  --rd-radius:    10px;
  --rd-radius-sm: 6px;
}

/* ==============================================================
   BASE
   ============================================================== */
body { font-family: var(--rd-font-body); color: var(--rd-text); }

h1, h2, h3, .rd-display {
  font-family: var(--rd-font-display);
  letter-spacing: -0.015em;
  line-height: 1.15;
}

/* ==============================================================
   ACCESIBILIDAD
   El latón 500 sobre verde oscuro no llega a AA en texto pequeño:
   en fondos oscuros el texto chico usa el latón claro.
   ============================================================== */
.rd-on-dark { color: var(--rd-text-invert); }
.rd-on-dark small,
.rd-on-dark .rd-meta { color: var(--rd-brass-300); font-size: .875rem; line-height: 1.5; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--rd-brass-300);
  outline-offset: 2px;
}

/* ==============================================================
   BOTONES
   ============================================================== */
.rd-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .9rem 1.7rem;
  border-radius: var(--rd-radius-sm);
  font-weight: 600; text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.rd-btn--primary { background: var(--rd-primary); color: #fff; }
.rd-btn--primary:hover { background: var(--rd-green-800); color: #fff; }
.rd-btn--accent  { background: var(--rd-accent); color: var(--rd-green-900); }
.rd-btn--accent:hover { background: var(--rd-accent-hover); color: #fff; }
.rd-btn--ghost   { border: 1px solid var(--rd-ivory); color: var(--rd-ivory); background: transparent; }
.rd-btn--ghost:hover { background: var(--rd-ivory); color: var(--rd-green-900); }

/* ==============================================================
   SECCIONES
   ============================================================== */
.rd-section { padding-block: var(--rd-section-y); }
.rd-section--dark { background: var(--rd-green-800); color: var(--rd-text-invert); }
.rd-section--alt  { background: var(--rd-surface-alt); }

/* ==============================================================
   NORMA DEL ESTUDIO — MÓVIL
   Se centra lo que es mensaje; se deja a la izquierda lo que es
   lectura o dato (párrafos largos, listas, tablas, precios).
   ============================================================== */
@media (max-width: 767.98px) {
  .rd-eyebrow,
  .rd-title,
  .rd-lead,
  .rd-stat,
  .rd-actions,
  .rd-section > .rd-head,
  .footer-widget,
  .footer-widget .widget-title { text-align: center; }

  .rd-actions { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
  .rd-actions .rd-btn { width: 100%; justify-content: center; }

  /* Lectura y dato: siempre a la izquierda */
  .rd-body p,
  .rd-list,
  .rd-table,
  .item-price,
  .property-item .item-amenities,
  .entry-content ul,
  .entry-content ol { text-align: left; }

  /* Sin desbordes horizontales */
  html, body { overflow-x: hidden; }
}

/* ==============================================================
   AJUSTES A HOUZEZ
   ============================================================== */
.item-amenities .h-area-icon::before { content: "\e9a2"; } /* terreno ≠ habitaciones */

/* Crédito del estudio en el pie */
.rd-credit { font-size: .8125rem; opacity: .85; }
.rd-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ==============================================================
   PALETA APLICADA A HOUZEZ
   Houzez pinta de azul por defecto. Aquí se sustituye por el verde
   de OPEN RD en los elementos que el tema genera.
   ============================================================== */
body .btn-primary,
body .btn-primary-outline:hover,
body .houzez-btn-primary,
body .advance-search-btn,
body button[type="submit"].btn-primary {
  background-color: var(--rd-primary) !important;
  border-color: var(--rd-primary) !important;
  color: #fff !important;
}
body .btn-primary:hover,
body .houzez-btn-primary:hover {
  background-color: var(--rd-green-800) !important;
  border-color: var(--rd-green-800) !important;
}

body a { color: var(--rd-green-700); }
body a:hover { color: var(--rd-green-600); }
body .nav-link,
body .houzez-nav-menu-main-desktop-wrap .nav-link { color: var(--rd-ink); }
body .nav-link:hover,
body .current-menu-item > .nav-link { color: var(--rd-primary); }

body .header-main-wrap { border-bottom: 1px solid var(--rd-line); }

body .footer-wrap,
body footer.footer { background-color: var(--rd-green-900); color: var(--rd-text-invert); }
body .footer-wrap a { color: var(--rd-green-300); }

body .item-price,
body .listing-price { color: var(--rd-primary); }
body .label-status,
body .property-label { background-color: var(--rd-primary); }

/* ==============================================================
   COMPONENTES DE PÁGINA
   ============================================================== */
.rd-wrap { max-width: 1180px; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }

.rd-hero {
  background: linear-gradient(135deg, var(--rd-green-900), var(--rd-green-700));
  color: var(--rd-text-invert);
  padding-block: clamp(3.5rem, 9vw, 6.5rem);
}
.rd-hero .rd-eyebrow {
  font-size: .8rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--rd-brass-300); margin-bottom: 1rem;
}
.rd-hero h1 {
  font-size: clamp(2rem, 5.5vw, 3.4rem); max-width: 18ch; margin: 0 0 1.1rem;
  font-family: var(--rd-font-display);
}
.rd-hero h1 .rd-acento { color: var(--rd-green-300); }
.rd-lead { font-size: clamp(1rem, 1.6vw, 1.15rem); max-width: 58ch; color: #CFE3D7; margin: 0 0 2rem; }

.rd-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.5rem; margin-top: 2.5rem; }
.rd-cifra b { display: block; font-family: var(--rd-font-display); font-size: clamp(1.5rem, 3.5vw, 2.1rem); color: var(--rd-brass-300); line-height: 1.1; }
.rd-cifra span { font-size: .9rem; color: #CFE3D7; }

.rd-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.5rem; }
.rd-card {
  background: var(--rd-surface); border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius); padding: 1.6rem 1.5rem;
  display: flex; flex-direction: column; gap: .7rem;
}
.rd-card--dark { background: var(--rd-green-800); color: var(--rd-text-invert); border-color: var(--rd-green-700); }
.rd-card h3 { font-size: 1.25rem; margin: 0; }
.rd-card .rd-precio { font-family: var(--rd-font-display); font-size: 1.6rem; color: var(--rd-primary); }
.rd-card--dark .rd-precio { color: var(--rd-brass-300); }
.rd-card ul { margin: 0; padding-left: 1.1rem; font-size: .92rem; }
.rd-card li { margin-bottom: .3rem; }
.rd-chip {
  display: inline-block; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
  background: var(--rd-green-050); color: var(--rd-green-700);
  border-radius: 999px; padding: .25rem .7rem; width: max-content;
}
.rd-card--dark .rd-chip { background: rgba(255,255,255,.12); color: var(--rd-brass-300); }

.rd-pasos { counter-reset: paso; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.4rem; }
.rd-paso { border-top: 2px solid var(--rd-brass-500); padding-top: .9rem; }
.rd-paso b { display: block; font-size: 1.02rem; margin-bottom: .3rem; }
.rd-paso p { margin: 0; font-size: .92rem; color: var(--rd-gray); }

.rd-cta {
  background: var(--rd-green-800); color: var(--rd-text-invert);
  border-radius: var(--rd-radius); padding: clamp(2rem, 5vw, 3rem);
  text-align: center;
}
.rd-cta h2 { font-size: clamp(1.4rem, 3vw, 2rem); margin: 0 0 .7rem; }
.rd-cta p { max-width: 54ch; margin: 0 auto 1.6rem; color: #CFE3D7; }

.rd-tabla { width: 100%; border-collapse: collapse; font-size: .93rem; }
.rd-tabla th, .rd-tabla td { padding: .7rem .6rem; border-bottom: 1px solid var(--rd-line); text-align: left; }
.rd-tabla th { font-weight: 600; color: var(--rd-green-800); }
.rd-tabla td:last-child { font-weight: 600; color: var(--rd-primary); white-space: nowrap; }

@media (max-width: 767.98px) {
  .rd-hero h1, .rd-hero .rd-lead, .rd-hero .rd-eyebrow { text-align: center; margin-inline: auto; }
  .rd-cifra { text-align: center; }
  .rd-card { text-align: left; }
  .rd-card h3, .rd-card .rd-precio, .rd-card .rd-chip { text-align: center; margin-inline: auto; }
  .rd-paso { text-align: center; }
  .rd-paso p { text-align: left; }
}

/* ==============================================================
   ANCHO DE CABECERA, CONTENIDO Y PIE
   La cabecera de Houzez va a ancho completo: aquí se le da un
   contenedor para que el logo y el menú respiren.
   ============================================================== */
.header-inner-wrap,
.footer-wrap > .container,
.footer-wrap > .container-fluid {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.main-wrap > .container,
.main-wrap > .container-fluid,
.page .entry-content > .container { max-width: 1240px; margin-inline: auto; }

/* La portada y las páginas con bloques propios van a sangre */
.page-template-default .main-wrap > .container { max-width: 100%; padding: 0; }
.page .entry-content > .rd-hero,
.page .entry-content > .rd-section { margin-inline: calc(50% - 50vw); width: 100vw; }

/* ==============================================================
   PIE
   ============================================================== */
.footer-wrap { padding-block: clamp(2.5rem, 5vw, 4rem) 0; }
.rd-pie { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 2rem; }
.rd-pie h4 { font-size: .95rem; letter-spacing: .04em; margin: 0 0 .9rem; color: var(--rd-brass-300); }
.rd-pie ul { list-style: none; margin: 0; padding: 0; }
.rd-pie li { margin-bottom: .45rem; font-size: .92rem; }
.rd-pie a { color: var(--rd-ivory); text-decoration: none; }
.rd-pie a:hover { color: var(--rd-brass-300); }
.rd-pie p { font-size: .92rem; color: #B9CFC2; margin: 0 0 .5rem; max-width: 34ch; }
.rd-pie-base {
  margin-top: 2.5rem; padding: 1.1rem 0; border-top: 1px solid rgba(255,255,255,.14);
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  font-size: .8rem; color: #9FBCAD;
}
.rd-pie-base a { color: inherit; }

@media (max-width: 767.98px) {
  .rd-pie { text-align: center; }
  .rd-pie p { margin-inline: auto; }
  .rd-pie-base { flex-direction: column; align-items: center; text-align: center; }
}

/* ==============================================================
   PORTADA A SANGRE
   Houzez mete el contenido en una columna de 8/12 con título
   encima. En la portada esa caja sobra: los bloques van de borde
   a borde.
   ============================================================== */
body.home .page-title-wrap,
body.home .breadcrumb-wrap,
body.home .page-title { display: none !important; }

body.home .page-wrap > .container,
body.home .page-wrap > .container-fluid { max-width: 100% !important; padding: 0 !important; }
body.home .page-wrap > .container > .row { margin: 0 !important; }
body.home .bt-content-wrap {
  flex: 0 0 100% !important; max-width: 100% !important;
  padding: 0 !important; margin: 0 !important;
}
body.home .article-wrap,
body.home .article-page-wrap,
body.home .page-content-wrap {
  padding: 0 !important; margin: 0 !important;
  background: transparent !important; box-shadow: none !important; border: 0 !important;
}
body.home .bt-sidebar-wrap,
body.home aside.sidebar-wrap { display: none !important; }
body.home .page-wrap { padding: 0 !important; }

/* Los bloques ya ocupan el ancho: sin desbordes laterales */
body.home .rd-hero,
body.home .rd-section { width: 100%; margin-inline: 0; }

/* ==============================================================
   PIE: toda la franja en verde
   Houzez pinta de azul la barra inferior del pie. Aquí se unifica
   con la paleta de OPEN RD.
   ============================================================== */
footer,
footer .footer-top-wrap,
footer .footer-bottom-wrap,
footer .footer-copyright-wrap,
.footer-wrap,
.footer-wrap .footer-top-wrap,
.footer-wrap .footer-bottom-wrap {
  background-color: var(--rd-green-900) !important;
  color: var(--rd-text-invert) !important;
}
footer .footer-bottom-wrap,
.footer-wrap .footer-bottom-wrap { border-top: 1px solid rgba(255,255,255,.14); }
footer a { color: var(--rd-ivory); }
footer a:hover { color: var(--rd-brass-300); }
footer .widget-title,
footer h4 { color: var(--rd-brass-300); }
footer .footer-top-wrap { padding-block: clamp(2.5rem, 5vw, 3.5rem); }

/* Páginas internas: el contenido respira */
body:not(.home) .page-content-wrap { padding-block: 1.5rem; }

/* ==============================================================
   CIFRAS DEL HERO: líneas base alineadas
   Con subgrid, la cifra y su etiqueta comparten filas, así las
   etiquetas quedan a la misma altura aunque una cifra sea más larga.
   ============================================================== */
.rd-cifras { align-items: start; grid-auto-rows: auto; }
@supports (grid-template-rows: subgrid) {
  .rd-cifras { grid-template-rows: auto auto; }
  .rd-cifra { display: grid; grid-template-rows: subgrid; grid-row: span 2; gap: .25rem; }
}
.rd-cifra b { text-wrap: balance; }
.rd-cifra span { display: block; line-height: 1.35; }

/* ==============================================================
   HERO CON IMAGEN DE PROYECTO
   Degradado verde sobre la fotografía: la imagen aporta contexto
   y el degradado sostiene la legibilidad del titular.
   ============================================================== */
body.home .rd-hero {
  position: relative;
  background-image:
    linear-gradient(100deg, rgba(12,32,24,.96) 0%, rgba(15,46,34,.88) 42%, rgba(27,90,63,.55) 72%, rgba(27,90,63,.35) 100%),
    url('/wp-content/uploads/2026/10/openrd-hero.jpg');
  background-size: cover, cover;
  background-position: center, center 60%;
  background-repeat: no-repeat;
}
body.home .rd-hero > .rd-wrap { position: relative; z-index: 1; }

@media (max-width: 767.98px) {
  body.home .rd-hero {
    background-image:
      linear-gradient(180deg, rgba(12,32,24,.95) 0%, rgba(15,46,34,.90) 55%, rgba(27,90,63,.72) 100%),
      url('/wp-content/uploads/2026/10/openrd-hero.jpg');
  }
}

/* ==============================================================
   PIE PROPIO
   ============================================================== */
.footer-wrap:empty,
.footer-wrap .footer-top-wrap:has(.row:empty) { display: none !important; }
.rd-pie-wrap {
  background: var(--rd-green-900);
  color: var(--rd-text-invert);
  padding-block: clamp(2.5rem, 5vw, 3.5rem) 0;
  margin-top: 0;
}
.rd-pie-wrap .rd-pie { padding-bottom: 1.5rem; }

/* ==============================================================
   MÓVIL: sin desbordes
   Las rejillas no deben imponer un ancho mínimo mayor que la
   pantalla: min() deja que la columna se encoja hasta el 100%.
   ============================================================== */
.rd-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.rd-cifras { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); }
.rd-pasos { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.rd-pie   { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.rd-wrap  { width: 100%; }
img, svg, video { max-width: 100%; height: auto; }

/* ==============================================================
   PÁGINAS CON BLOQUES PROPIOS A SANGRE
   Cualquier página que use .rd-hero sale de la caja de Houzez,
   no solo la portada.
   ============================================================== */
body:has(.rd-hero) .page-title-wrap,
body:has(.rd-hero) .breadcrumb-wrap,
body:has(.rd-hero) .page-title { display: none !important; }

body:has(.rd-hero) .page-wrap > .container,
body:has(.rd-hero) .page-wrap > .container-fluid { max-width: 100% !important; padding: 0 !important; }
body:has(.rd-hero) .page-wrap > .container > .row { margin: 0 !important; }
body:has(.rd-hero) .bt-content-wrap {
  flex: 0 0 100% !important; max-width: 100% !important;
  padding: 0 !important; margin: 0 !important;
}
body:has(.rd-hero) .article-wrap,
body:has(.rd-hero) .article-page-wrap,
body:has(.rd-hero) .page-content-wrap {
  padding: 0 !important; margin: 0 !important;
  background: transparent !important; box-shadow: none !important; border: 0 !important;
}
body:has(.rd-hero) .bt-sidebar-wrap,
body:has(.rd-hero) aside.sidebar-wrap { display: none !important; }
body:has(.rd-hero) .page-wrap { padding: 0 !important; }

/* Fichas de propiedad: que respiren dentro de la plantilla de Houzez */
.single-property .page-content-wrap h3 { margin-top: 1.6rem; color: var(--rd-green-800); }
.single-property .page-content-wrap p { max-width: 72ch; }

/* ==============================================================
   IMAGEN EN CADA HERO
   Cada sección lleva su fotografía con el degradado verde encima,
   que es lo que sostiene la legibilidad del titular.
   ============================================================== */
.rd-hero { position: relative; background-size: cover; background-position: center; background-repeat: no-repeat; }
.rd-hero > .rd-wrap { position: relative; z-index: 1; }

/* Portada: la laguna de The Beach */
body.home .rd-hero {
  background-image:
    linear-gradient(100deg, rgba(12,32,24,.95) 0%, rgba(15,46,34,.86) 44%, rgba(27,90,63,.52) 74%, rgba(27,90,63,.30) 100%),
    url('/wp-content/uploads/2026/10/hero-beach.jpg');
}
/* Propiedades: vista aérea del conjunto */
body.page-id-20 .rd-hero {
  background-image:
    linear-gradient(100deg, rgba(12,32,24,.95) 0%, rgba(15,46,34,.86) 44%, rgba(27,90,63,.52) 74%, rgba(27,90,63,.32) 100%),
    url('/wp-content/uploads/2026/10/hero-aerea.jpg');
}
/* Conoce OPEN RD y Servicios: el parque de City Place */
body.page-id-21 .rd-hero,
body.page-id-22 .rd-hero,
body.page-id-25 .rd-hero,
body.page-id-23 .rd-hero {
  background-image:
    linear-gradient(100deg, rgba(12,32,24,.95) 0%, rgba(15,46,34,.88) 46%, rgba(27,90,63,.58) 76%, rgba(27,90,63,.38) 100%),
    url('/wp-content/uploads/2026/10/cityplace-04.jpg');
}

@media (max-width: 767.98px) {
  .rd-hero { background-position: center 65%; }
  body.home .rd-hero,
  body.page-id-20 .rd-hero,
  body.page-id-21 .rd-hero,
  body.page-id-22 .rd-hero,
  body.page-id-23 .rd-hero,
  body.page-id-25 .rd-hero {
    background-image:
      linear-gradient(180deg, rgba(12,32,24,.94) 0%, rgba(15,46,34,.90) 58%, rgba(27,90,63,.74) 100%),
      var(--rd-hero-img, url('/wp-content/uploads/2026/10/hero-beach.jpg'));
  }
}

/* ==============================================================
   BANDA DE PROYECTOS EN LA PORTADA
   ============================================================== */
.rd-proyectos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
.rd-proyecto {
  background: var(--rd-surface); border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius); padding: 1.3rem 1.2rem;
  display: flex; flex-direction: column; gap: .45rem;
  border-top: 3px solid var(--rd-primary);
}
.rd-proyecto h3 { font-size: 1.1rem; margin: 0; }
.rd-proyecto .rd-desde { font-family: var(--rd-font-display); font-size: 1.35rem; color: var(--rd-primary); }
.rd-proyecto p { margin: 0; font-size: .88rem; color: var(--rd-gray); }
.rd-proyecto .rd-estado { font-size: .74rem; letter-spacing: .07em; text-transform: uppercase; color: var(--rd-brass-600); font-weight: 600; }
.rd-proyecto--destacado { border-top-color: var(--rd-brass-500); }

@media (max-width: 767.98px) {
  .rd-proyecto { text-align: center; }
  .rd-proyecto p { text-align: left; }
}

/* ==============================================================
   SIN VIUDAS EN LOS TITULARES
   balance reparte las líneas para que la última no quede con una
   sola palabra.
   ============================================================== */
.rd-hero h1,
.rd-section h2,
.rd-cta h2,
.rd-card h3,
.rd-proyecto h3 { text-wrap: balance; }
.rd-lead { text-wrap: pretty; }

/* ==============================================================
   HERO DEL EQUIPO · Conoce OPEN RD
   La fotografía de la Dra. Hernández y el Lic. Berroa, con el
   degradado abriendo hacia la derecha para que se les vea.
   ============================================================== */
body.page-id-21 .rd-hero {
  background-image:
    linear-gradient(95deg, rgba(12,32,24,.96) 0%, rgba(15,46,34,.90) 38%, rgba(15,46,34,.55) 62%, rgba(15,46,34,.18) 100%) !important;
  background-position: right center !important;
  min-height: 420px;
  display: flex;
  align-items: center;
}
body.page-id-21 .rd-hero .rd-wrap { width: 100%; }
body.page-id-21 .rd-hero h1,
body.page-id-21 .rd-hero .rd-lead { max-width: 20ch; }
body.page-id-21 .rd-hero .rd-lead { max-width: 44ch; }

@media (max-width: 767.98px) {
  body.page-id-21 .rd-hero {
    background-position: center top !important;
    background-image:
      linear-gradient(180deg, rgba(12,32,24,.88) 0%, rgba(15,46,34,.92) 55%, rgba(15,46,34,.96) 100%) !important;
    min-height: auto;
  }
  body.page-id-21 .rd-hero h1,
  body.page-id-21 .rd-hero .rd-lead { max-width: none; }
}

/* ==============================================================
   LISTADO DE PROPIEDADES
   ============================================================== */
.rd-hero--archivo { min-height: auto; padding-block: clamp(3rem, 7vw, 4.5rem); }

.rd-filtros {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 1rem; align-items: end;
  background: var(--rd-surface-alt); border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius); padding: 1.2rem; margin-bottom: 2rem;
}
.rd-filtro label { display: block; font-size: .8rem; font-weight: 600; color: var(--rd-green-800); margin-bottom: .35rem; }
.rd-filtro select {
  width: 100%; padding: .65rem .7rem; font: inherit; font-size: .92rem;
  border: 1px solid var(--rd-line); border-radius: var(--rd-radius-sm);
  background: #fff; color: var(--rd-text);
}
.rd-filtro--accion .rd-btn { width: 100%; justify-content: center; }

.rd-card--listado { padding: 0; overflow: hidden; }
.rd-card--listado > *:not(.rd-card__foto) { margin-inline: 1.3rem; }
.rd-card--listado > *:last-child { margin-bottom: 1.3rem; }
.rd-card--listado > .rd-chip { margin-top: 1.1rem; }
.rd-card__foto { display: block; margin: 0 !important; aspect-ratio: 16/10; overflow: hidden; background: var(--rd-green-050); }
.rd-card__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.rd-card--listado:hover .rd-card__foto img { transform: scale(1.04); }
.rd-card--listado h3 a { color: inherit; text-decoration: none; }
.rd-card--listado h3 a:hover { color: var(--rd-primary); }

.rd-datos { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem .9rem; padding: 0; font-size: .88rem; color: var(--rd-gray); }
.rd-datos li { position: relative; }
.rd-datos li + li::before { content: "·"; position: absolute; left: -.55rem; }

.rd-paginacion { margin-top: 2.5rem; display: flex; justify-content: center; gap: .4rem; flex-wrap: wrap; }
.rd-paginacion .page-numbers {
  padding: .5rem .85rem; border: 1px solid var(--rd-line); border-radius: var(--rd-radius-sm);
  text-decoration: none; color: var(--rd-green-800); font-size: .9rem;
}
.rd-paginacion .page-numbers.current,
.rd-paginacion .page-numbers:hover { background: var(--rd-primary); border-color: var(--rd-primary); color: #fff; }

@media (max-width: 767.98px) {
  .rd-filtros { text-align: left; }
  .rd-card--listado { text-align: left; }
  .rd-card--listado h3, .rd-card--listado .rd-precio, .rd-card--listado .rd-chip { text-align: center; margin-inline: auto; }
  .rd-datos { justify-content: center; }
}

/* ==============================================================
   EQUIPO · Conoce OPEN RD
   ============================================================== */
.rd-equipo { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }

/* Flex en vez de grid: si el editor cuela un <p> vacío entre la foto y el
   texto, el grid lo trata como celda y manda el texto a una fila nueva.
   Con flex y los vacíos ocultos, foto y texto se quedan siempre al lado. */
.rd-persona {
  display: flex; align-items: stretch;
  background: var(--rd-surface); border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius); overflow: hidden;
}
.rd-persona > p:empty, .rd-persona > br { display: none !important; }

.rd-persona__foto {
  flex: 0 0 clamp(190px, 24%, 260px);
  /* min-width:auto es el valor por defecto de un hijo flex y, en una
     imagen, equivale a su ancho intrínseco: sin esto la foto ignora
     el flex-basis y se lleva media tarjeta. */
  min-width: 0; max-width: 260px;
  width: 100%; height: auto; align-self: stretch;
  object-fit: cover; object-position: center 15%;
  display: block; background: var(--rd-green-050);
  aspect-ratio: auto;
  min-height: 100%;
}
/* Si el texto es corto, la foto no debe estirarse sin límite. */
.rd-persona { min-height: 280px; }
.rd-persona__texto {
  flex: 1 1 auto; min-width: 0;
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(1.6rem, 3vw, 2.4rem);
  gap: 0;
}
.rd-persona__texto > *:first-child { margin-top: 0; }
.rd-persona__texto > *:last-child { margin-bottom: 0; }
.rd-persona__texto h3 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); margin: .55rem 0 .15rem; text-wrap: balance; }
.rd-persona .rd-rol { color: var(--rd-primary); font-weight: 600; font-size: .95rem; margin: 0 0 .9rem; }
.rd-persona__texto p { max-width: 62ch; margin: 0 0 .85rem; }
.rd-persona__texto .rd-btn { align-self: flex-start; margin-top: .4rem; }

.rd-persona--invertida { flex-direction: row-reverse; }

@media (max-width: 860px) {
  .rd-persona, .rd-persona--invertida { flex-direction: column; }
  .rd-persona__foto {
    flex: 0 0 auto; width: 100%; max-width: none;
    aspect-ratio: 16/10; object-position: center 20%;
  }
  .rd-persona__texto { padding: 1.5rem; text-align: center; }
  .rd-persona__texto p { text-align: left; }
  .rd-persona__texto .rd-btn { align-self: center; }
  .rd-persona .rd-chip { margin-inline: auto; }
}


/* ==============================================================
   HOUZEZ · restos de azul
   El tema pinta de azul las barras de pestañas, acordeones y
   cabeceras de bloque de las fichas de agente y de propiedad.
   ============================================================== */
.houzez-accordion .card-header,
.houzez-accordion .btn-link,
.accordion .card-header,
.panel-heading, .panel-default > .panel-heading,
.block-title-wrap, .block-title-wrap h2, .block-title-wrap h3,
.agent-detail-wrap .block-title-wrap,
.property-detail-wrap .block-title-wrap,
.houzez-review-title, .reviews-title, .review-title-wrap,
.nav-tabs > li.active > a, .nav-tabs .nav-link.active,
.nav-pills .nav-link.active,
.listing-tabs .active > a,
.page-link.active, .page-item.active .page-link,
.widget-title-wrap, .sidebar-widget .widget-title,
.houzez-tab-title, .tab-title {
  background: var(--rd-green-700) !important;
  background-color: var(--rd-green-700) !important;
  border-color: var(--rd-green-700) !important;
  color: #fff !important;
}
.houzez-accordion .card-header a,
.accordion .card-header a,
.panel-heading a, .panel-heading h4,
.block-title-wrap a, .block-title-wrap *,
.nav-tabs > li.active > a, .nav-tabs .nav-link.active,
.page-item.active .page-link { color: #fff !important; }

/* Enlaces y acentos sueltos en azul dentro de las fichas */
.agent-detail-wrap a:not(.rd-btn):not(.btn),
.property-detail-wrap a:not(.rd-btn):not(.btn),
.sort-by .selectpicker, .sort-by a,
.review-sortby a, .review-sortby .dropdown-toggle { color: var(--rd-primary) !important; }

/* Botones del tema dentro de fichas de agente */
.agent-detail-wrap .btn-primary,
.agent-detail-wrap .btn-secondary,
.houzez-send-message-agent,
.btn-leave-review {
  background: var(--rd-green-700) !important;
  border-color: var(--rd-green-700) !important;
  color: #fff !important;
}
.agent-detail-wrap .btn-primary:hover,
.houzez-send-message-agent:hover,
.btn-leave-review:hover {
  background: var(--rd-green-800) !important;
  border-color: var(--rd-green-800) !important;
}

/* ==============================================================
   HEROS CON IMAGEN
   Las imágenes viajan dentro del tema: así el hero no depende de
   que alguien no borre un adjunto de la mediateca.
   ============================================================== */
.rd-hero { position: relative; isolation: isolate; }

.rd-hero--foto::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background-size: cover; background-position: center 42%;
}
.rd-hero--foto::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(100deg, rgba(15,46,34,.94) 0%, rgba(20,65,47,.86) 46%, rgba(27,90,63,.52) 100%),
    linear-gradient(to top, rgba(15,46,34,.55), transparent 55%);
}
.rd-hero--inicio::before   { background-image: url("../img/hero-inicio.jpg"); }
.rd-hero--nosotros::before { background-image: url("../img/hero-nosotros.jpg"); }

/* Se aplica por clase de body: así el hero lleva foto sin tocar el
   contenido de la página desde el editor. */
.home .rd-hero, .page-id-21 .rd-hero, .rd-hero--archivo { position: relative; isolation: isolate; }
.home .rd-hero::before, .page-id-21 .rd-hero::before, .rd-hero--archivo::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background-size: cover; background-position: center 42%;
}
/* El velo cubre la columna de texto y suelta la foto hacia la derecha:
   tapar la imagen entera desperdicia el único activo visual del sitio. */
.home .rd-hero::after, .page-id-21 .rd-hero::after, .rd-hero--archivo::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(100deg, rgba(10,33,24,.95) 0%, rgba(12,40,29,.88) 38%, rgba(16,52,38,.45) 66%, rgba(18,58,42,.10) 100%),
    linear-gradient(to top, rgba(10,33,24,.62), rgba(10,33,24,.05) 60%);
}
.home .rd-hero::before, .page-id-21 .rd-hero::before, .rd-hero--archivo::before {
  filter: saturate(.95) brightness(.98);
}
/* La portada carga la fila de cifras doradas encima: ahí el velo
   aguanta un punto más para que el oro no se diluya sobre la foto. */
.home .rd-hero::after {
  background:
    linear-gradient(100deg, rgba(10,33,24,.97) 0%, rgba(13,42,31,.92) 48%, rgba(18,58,42,.70) 100%),
    linear-gradient(to top, rgba(10,33,24,.78), rgba(10,33,24,.22) 60%);
}
.home .rd-hero::before        { background-image: url("../img/hero-inicio.jpg"); }
.page-id-21 .rd-hero::before  { background-image: url("../img/hero-nosotros.jpg"); }
.rd-hero--archivo::before     { background-image: url("../img/hero-propiedades.jpg"); }
.page-id-20 .rd-hero::before  { background-image: url("../img/hero-propiedades.jpg"); }
.page-id-20 .rd-hero::after, .page-id-20 .rd-hero::before { content: ""; position: absolute; inset: 0; }
.page-id-20 .rd-hero::before { z-index: -2; background-size: cover; background-position: center 42%; filter: saturate(.95) brightness(.98); }
.page-id-20 .rd-hero::after {
  z-index: -1;
  background:
    linear-gradient(100deg, rgba(10,33,24,.95) 0%, rgba(12,40,29,.88) 38%, rgba(16,52,38,.45) 66%, rgba(18,58,42,.10) 100%),
    linear-gradient(to top, rgba(10,33,24,.62), rgba(10,33,24,.05) 60%);
}

/* --- Los dos fundadores dentro del hero --- */
.rd-hero__duo {
  display: inline-flex; align-items: center; gap: .85rem;
  margin: 2.4rem 0 0; padding: .7rem 1.2rem .7rem .7rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(6px);
  max-width: 100%;
}
.rd-hero__caras { display: flex; }
.rd-hero__caras img {
  width: 48px; height: 48px; border-radius: 50%; flex: 0 0 48px;
  object-fit: cover; object-position: center 18%;
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 6px 18px rgba(15,46,34,.35);
  background: var(--rd-green-050);
}
.rd-hero__caras img + img { margin-left: -14px; }
.rd-hero__firma { color: rgba(255,255,255,.92); font-size: .9rem; line-height: 1.35; text-align: left; }
.rd-hero__firma b { display: block; font-weight: 600; color: #fff; font-size: .92rem; letter-spacing: -.01em; }
.rd-hero__firma span { display: block; color: rgba(255,255,255,.7); font-size: .82rem; }

@media (max-width: 860px) {
  .rd-hero__duo {
    display: flex; flex-direction: column; align-items: center;
    text-align: center; gap: .6rem;
    border-radius: var(--rd-radius); padding: 1rem 1.2rem;
    /* fit-content para que los márgenes automáticos puedan centrarlo:
       en flex, sin ancho propio, la caja se estira y el auto no hace nada. */
    width: fit-content; max-width: 100%;
    margin-inline: auto;
  }
  .rd-hero__caras { justify-content: center; }
  .rd-hero__firma { text-align: center; }
}

/* Cifras del hero: que no se partan en dos líneas desparejas */
.rd-cifras { align-items: start; }
.rd-cifra b { text-wrap: balance; }

/* ==============================================================
   VIDA · entradas al scroll y respuesta al puntero
   Sobrio: una sola curva, recorridos cortos, y se apaga entero
   para quien pide menos movimiento.
   ============================================================== */
@media (prefers-reduced-motion: no-preference) {
  .rd-reveal {
    opacity: 0; transform: translateY(18px);
    transition: opacity .65s cubic-bezier(.22,.61,.36,1),
                transform .65s cubic-bezier(.22,.61,.36,1);
    will-change: opacity, transform;
  }
  .rd-reveal.rd-visible { opacity: 1; transform: none; }
  .rd-reveal:nth-child(2) { transition-delay: .07s; }
  .rd-reveal:nth-child(3) { transition-delay: .14s; }
  .rd-reveal:nth-child(4) { transition-delay: .21s; }
}

.rd-card, .rd-card--listado, .rd-persona {
  transition: transform .35s cubic-bezier(.22,.61,.36,1),
              box-shadow .35s cubic-bezier(.22,.61,.36,1),
              border-color .35s ease;
}
.rd-card:hover, .rd-card--listado:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px -22px rgba(15,46,34,.45);
  border-color: var(--rd-green-300);
}
.rd-card__foto { overflow: hidden; display: block; }
.rd-card__foto img { transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.rd-card:hover .rd-card__foto img,
.rd-card--listado:hover .rd-card__foto img { transform: scale(1.04); }

.rd-btn { transition: background-color .25s ease, border-color .25s ease, transform .2s ease; }
.rd-btn:active { transform: translateY(1px); }

/* Logo en el pie */
.rd-pie-marca { margin: 0 0 1rem; }
.rd-pie-marca img { height: 42px; width: auto; display: block; }
@media (max-width: 860px) { .rd-pie-marca img { margin-inline: auto; } }

/* ==============================================================
   TARJETAS · el botón siempre al pie
   Las fichas tienen distinta cantidad de viñetas, así que el botón
   caía a alturas distintas. Con la tarjeta en columna y un margen
   automático antes de la acción, todas las filas cierran parejas.
   ============================================================== */
.rd-grid-2, .rd-grid-3, .rd-listado { align-items: stretch; }

.rd-card, .rd-card--listado {
  display: flex; flex-direction: column; height: 100%;
}
.rd-card > :last-child, .rd-card--listado > :last-child { margin-bottom: 0; }

/* El párrafo que envuelve el botón se va al fondo de la tarjeta. */
.rd-card > p:has(> .rd-btn),
.rd-card--listado > p:has(> .rd-btn) { margin-top: auto; padding-top: 1rem; }

/* Respaldo para navegadores sin :has() */
@supports not selector(:has(*)) {
  .rd-card > p:last-of-type, .rd-card--listado > p:last-of-type { margin-top: auto; padding-top: 1rem; }
}

/* La foto de la tarjeta mantiene una proporción constante: si cada
   render trae su propia altura, las filas nunca cuadran. */
.rd-card > .rd-card__foto, .rd-card--listado > .rd-card__foto,
.rd-card > img, .rd-card--listado > img {
  aspect-ratio: 16/10; width: 100%; object-fit: cover; display: block;
}
.rd-card__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ==============================================================
   PREGUNTAS FRECUENTES
   <details> nativo: accesible por teclado, funciona sin JS y el
   buscador lee la respuesta aunque esté plegada.
   ============================================================== */
.rd-faq { display: grid; gap: .75rem; max-width: 900px; }

.rd-faq__item {
  background: var(--rd-surface);
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius);
  overflow: hidden;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.rd-faq__item[open] {
  border-color: var(--rd-green-300);
  box-shadow: 0 10px 28px -20px rgba(15,46,34,.4);
}
.rd-faq__item > summary {
  cursor: pointer; list-style: none;
  padding: 1.05rem 3rem 1.05rem 1.25rem;
  font-weight: 600; color: var(--rd-ink);
  position: relative; line-height: 1.45;
  transition: color .2s ease;
}
.rd-faq__item > summary::-webkit-details-marker { display: none; }
.rd-faq__item > summary:hover { color: var(--rd-primary); }
.rd-faq__item > summary:focus-visible {
  outline: 2px solid var(--rd-green-600); outline-offset: -2px;
}
/* El signo: dos trazos que se cruzan y se vuelven uno al abrir. */
.rd-faq__item > summary::after,
.rd-faq__item > summary::before {
  content: ""; position: absolute; right: 1.25rem; top: 50%;
  width: 13px; height: 2px; border-radius: 2px;
  background: var(--rd-green-600);
  transition: transform .3s cubic-bezier(.22,.61,.36,1);
}
.rd-faq__item > summary::before { transform: translateY(-50%); }
.rd-faq__item > summary::after  { transform: translateY(-50%) rotate(90deg); }
.rd-faq__item[open] > summary::after { transform: translateY(-50%) rotate(0deg); }

.rd-faq__r { padding: 0 1.25rem 1.2rem; }
.rd-faq__r p { margin: 0; color: var(--rd-gray); max-width: 70ch; }

@media (max-width: 860px) {
  .rd-faq { max-width: none; }
  .rd-faq__item > summary { text-align: left; padding-right: 2.6rem; }
  .rd-faq__r p { text-align: left; }
}

/* ==============================================================
   FICHA DE PROPIEDAD
   Plantilla propia: Houzez arma la ficha desde su Theme Builder y
   aquí no hay maquetación asignada, así que el cuerpo salía vacío.
   ============================================================== */
.rd-hero--ficha .rd-ficha__precio {
  font-family: var(--rd-font-display);
  font-size: clamp(1.9rem, 4vw, 2.7rem);
  color: var(--rd-brass-300);
  margin: .6rem 0 0; line-height: 1.1;
}
.rd-hero--ficha .rd-ficha__precio span {
  font-family: var(--rd-font-body); font-size: .95rem;
  color: rgba(255,255,255,.75); font-weight: 400;
}
.rd-ficha__precio--consultar { color: #fff !important; font-size: clamp(1.4rem,3vw,1.9rem) !important; }

.rd-ficha__claves {
  list-style: none; padding: 0; margin: 1.8rem 0 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  gap: 1.2rem; align-items: start;
}
@supports (grid-template-rows: subgrid) {
  .rd-ficha__claves { grid-template-rows: auto auto; }
  .rd-ficha__claves li { display: grid; grid-template-rows: subgrid; grid-row: span 2; gap: .2rem; }
}
.rd-ficha__claves b {
  display: block; font-family: var(--rd-font-display);
  font-size: clamp(1.1rem, 2.2vw, 1.4rem); color: #fff; line-height: 1.15;
}
.rd-ficha__claves span { font-size: .85rem; color: rgba(255,255,255,.7); }

/* --- Galería --- */
.rd-galeria {
  display: grid; gap: .7rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
.rd-galeria__item { margin: 0; border-radius: var(--rd-radius); overflow: hidden; background: var(--rd-green-050); }
.rd-galeria__item img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 4/3; }
.rd-galeria__item--principal { grid-column: 1 / -1; }
.rd-galeria__item--principal img { aspect-ratio: 16/9; }
@media (min-width: 900px) {
  .rd-galeria { grid-template-columns: repeat(4, 1fr); }
  .rd-galeria__item--principal { grid-column: span 4; }
}

/* --- Cuerpo en dos columnas --- */
.rd-ficha__cuerpo {
  display: grid; gap: clamp(2rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  align-items: start;
}
.rd-ficha__texto h2 { margin-top: 0; }
.rd-ficha__texto p { max-width: 68ch; }
.rd-ficha__features {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: .4rem 1.4rem; padding-left: 1.1rem;
}

.rd-ficha__lateral { display: grid; gap: 1.2rem; position: sticky; top: 1.5rem; }
.rd-ficha__datos, .rd-ficha__asesor, .rd-ficha__legal {
  background: var(--rd-surface); border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius); padding: 1.3rem;
}
.rd-ficha__lateral h3 { margin: 0 0 .9rem; font-size: 1.05rem; }
.rd-ficha__datos dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .45rem 1rem; }
.rd-ficha__datos dt { color: var(--rd-gray); font-size: .88rem; }
.rd-ficha__datos dd { margin: 0; font-weight: 600; font-size: .92rem; }
.rd-ficha__asesor img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: center 20%; display: block; margin-bottom: .7rem; }
.rd-ficha__asesor-nombre { font-weight: 600; margin: 0; }
.rd-ficha__asesor-cargo { color: var(--rd-primary); font-size: .88rem; margin: .1rem 0 .9rem; }
.rd-ficha__legal p { font-size: .9rem; color: var(--rd-gray); }
.rd-ficha__legal p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
  .rd-ficha__cuerpo { grid-template-columns: 1fr; }
  .rd-ficha__lateral { position: static; }
  .rd-ficha__claves { text-align: center; }
  .rd-ficha__texto p, .rd-ficha__features, .rd-ficha__datos dd { text-align: left; }
}

/* Houzez imprime su propia cabecera de ficha vacía encima: fuera. */
.single-property .property-navigation-wrap,
.single-property .property-title-wrap,
.single-property .page-title-wrap { display: none !important; }

/* 404 */
.rd-hero--404 { min-height: auto; }
.rd-404-enlaces { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.rd-404-enlaces a {
  display: inline-block; padding: .5rem 1rem;
  border: 1px solid var(--rd-line); border-radius: 999px;
  background: var(--rd-surface); color: var(--rd-ink); text-decoration: none;
  transition: border-color .25s ease, color .25s ease;
}
.rd-404-enlaces a:hover { border-color: var(--rd-green-500); color: var(--rd-primary); }
@media (max-width: 860px) { .rd-404-enlaces { justify-content: center; } }

/* Listado del blog */
.rd-blog-lista .rd-card h2 { font-size: clamp(1.15rem, 2.2vw, 1.45rem); margin: .8rem 0 .4rem; }
.rd-blog-lista .rd-card h2 a { color: var(--rd-ink); text-decoration: none; }
.rd-blog-lista .rd-card h2 a:hover { color: var(--rd-primary); }
.rd-blog-lista .rd-card p { color: var(--rd-gray); }


/* ==============================================================
   CABECERA · el acceso de cuenta de Houzez
   Un recuadro gris con icono genérico, fuera de la paleta, ocupando
   el punto más visible de la cabecera. El panel de agentes sigue
   accesible por su URL directa.
   ============================================================== */
.navi-login-register, .login-register-nav, .logged-in-nav-wrap,
.offcanvas-login-register { display: none !important; }

/* En su lugar, la acción que sí busca el negocio */
.rd-cabecera-wa {
  display: inline-flex; align-items: center; gap: .45rem;
  background: var(--rd-brass-500); color: #15201A !important;
  font-weight: 600; font-size: .9rem; line-height: 1;
  padding: .62rem 1.05rem; border-radius: 999px; text-decoration: none;
  transition: background-color .25s ease, transform .2s ease;
  white-space: nowrap;
}
.rd-cabecera-wa:hover { background: var(--rd-brass-300); }
.rd-cabecera-wa:active { transform: translateY(1px); }
.rd-cabecera-wa svg { width: 16px; height: 16px; flex: 0 0 16px; }
@media (max-width: 991px) { .rd-cabecera-wa span { display: none; } .rd-cabecera-wa { padding: .62rem .75rem; } }

/* ==============================================================
   FORMULARIO
   ============================================================== */
.rd-form-wrap {
  background: var(--rd-surface); border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius); padding: clamp(1.4rem, 3vw, 2.2rem);
  max-width: 760px;
}
.rd-form-wrap h3 { margin-top: 0; font-size: clamp(1.2rem, 2.4vw, 1.5rem); }
.rd-form-intro { color: var(--rd-gray); max-width: 58ch; }
.rd-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem 1.2rem; margin: 0; }
.rd-campo { margin: 0; display: flex; flex-direction: column; gap: .35rem; }
.rd-campo--ancho { grid-column: 1 / -1; }
.rd-campo label { font-size: .88rem; font-weight: 600; color: var(--rd-ink); }
.rd-campo input, .rd-campo select, .rd-campo textarea {
  width: 100%; padding: .7rem .85rem; font: inherit; font-size: .95rem;
  border: 1px solid var(--rd-line); border-radius: 10px;
  background: #fff; color: var(--rd-ink);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.rd-campo input:focus, .rd-campo select:focus, .rd-campo textarea:focus {
  outline: none; border-color: var(--rd-green-500);
  box-shadow: 0 0 0 3px rgba(47,148,101,.18);
}
.rd-campo textarea { resize: vertical; min-height: 96px; }
.rd-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rd-form-envio { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; }
.rd-form-envio span { font-size: .88rem; color: var(--rd-gray); }
.rd-form-ok { text-align: left; }
.rd-form-ok h3 { color: var(--rd-primary); }
.rd-form-error {
  background: var(--rd-green-050); border-left: 3px solid var(--rd-brass-500);
  padding: .7rem .9rem; border-radius: 6px; font-size: .92rem; margin-bottom: 1rem;
}
@media (max-width: 860px) {
  .rd-form-wrap h3, .rd-form-intro { text-align: center; }
  .rd-campo label { text-align: left; }
  .rd-form-envio { justify-content: center; }
}


/* El menú principal con holgura: nueve entradas lo desbordaban y la
   navegación caía encima del hero. */
.header-inner-wrap .nav-menu > li > a,
.main-nav .nav-menu > li > a { padding-inline: .62rem; }
@media (min-width: 992px) and (max-width: 1280px) {
  .header-inner-wrap .nav-menu > li > a,
  .main-nav .nav-menu > li > a { padding-inline: .45rem; font-size: .92rem; }
}
