/* Ramallo – ajustes para que WordPress/Elementor se vea igual que la web original. */

/* El envoltorio .mode original tenía overflow:hidden */
body.rma { margin: 0; }

/* Contenedores de Elementor sin márgenes ni huecos: cada bloque original va tal cual */
body.rma .elementor .e-con.rma-bloque,
body.rma .elementor .e-con.rma-bloque > .e-con-inner { padding: 0; gap: 0; max-width: none; }
body.rma .elementor .rma-bloque > .elementor-widget-html,
body.rma .elementor .rma-bloque > .e-con-inner > .elementor-widget-html { width: 100%; margin: 0; }
body.rma .elementor-widget-shortcode .elementor-shortcode { display: contents; }

/* .mode está ahora en el <body>: su overflow:hidden original bloquearía el scroll */
body.rma.mode { overflow: visible; overflow-x: hidden; }

/* Páginas que no existían en la web original (blog, entradas, 404, búsquedas): estilo a juego */
body.rma:not(.elementor-page) { background-color: #1c1c1c; color: #fff; }
body.rma:not(.elementor-page) .site-main { max-width: 1110px; margin: 0 auto; padding: 170px 15px 100px; min-height: 60vh; }
body.rma:not(.elementor-page) .site-main h1,
body.rma:not(.elementor-page) .site-main h2 { font-family: 'Poppins', sans-serif; font-weight: 200; text-transform: uppercase; letter-spacing: 1.2px; color: #fff; }
body.rma:not(.elementor-page) .site-main h1 { font-size: 56px; line-height: 1.1; margin-bottom: 32px; }
body.rma:not(.elementor-page) .site-main h2 { font-size: 28px; }
body.rma:not(.elementor-page) .site-main a { color: #01779f; }
body.rma:not(.elementor-page) .site-main p { font-weight: 300; font-size: 16px; line-height: 1.7; }
@media (max-width: 768px) {
	body.rma:not(.elementor-page) .site-main { padding-top: 130px; }
	body.rma:not(.elementor-page) .site-main h1 { font-size: 36px; }
}

/* Aviso de cookies (CookieYes) con la tipografía y los botones de la web */
body.rma .cky-consent-container,
body.rma .cky-modal,
body.rma .cky-btn-revisit-wrapper { font-family: 'Poppins', sans-serif; }
body.rma .cky-consent-bar,
body.rma .cky-modal { border-radius: 0; }
body.rma .cky-title { font-weight: 300; letter-spacing: .5px; text-transform: uppercase; }
body.rma .cky-notice-des, body.rma .cky-notice-des p { font-weight: 300; }
body.rma .cky-btn { border-radius: 0; font-weight: 300; font-size: 14px; }
body.rma .cky-btn-revisit-wrapper { background-color: #01779f !important; }
/* Colores del aviso de cookies (por CSS para que no los pise CookieYes al actualizarse) */
body.rma .cky-consent-bar,
body.rma .cky-modal,
body.rma .cky-preference-center,
body.rma .cky-preference-header,
body.rma .cky-footer-wrapper,
body.rma .cky-prefrence-btn-wrapper { background-color: #1c1c1c !important; border-color: #333 !important; color: #fff !important; }
body.rma .cky-title,
body.rma .cky-notice-des, body.rma .cky-notice-des *,
body.rma .cky-preference-title, body.rma .cky-preference-content-wrapper, body.rma .cky-preference-content-wrapper *,
body.rma .cky-accordion-header .cky-accordion-btn, body.rma .cky-accordion-header-des, body.rma .cky-accordion-header-des *,
body.rma .cky-btn-close img { color: #fff !important; }
body.rma .cky-btn-close img { filter: invert(1); }
body.rma .cky-accordion { border-color: #333 !important; }
body.rma .cky-btn-accept,
body.rma .cky-btn-reject,
body.rma .cky-btn-preferences { background-color: #01779f !important; border-color: #01779f !important; color: #fff !important; }
body.rma .cky-btn-customize { background-color: transparent !important; border-color: #fff !important; color: #fff !important; }
body.rma .cky-btn:hover { opacity: .85; }
body.rma .cky-switch input[type="checkbox"]:checked { background: #01779f !important; }
body.rma .cky-always-active { color: #3fbf7f !important; }
body.rma .cky-show-desc-btn { color: #4fb3d9 !important; }

/* Pie: © + enlaces legales (añadidos; no existían en la web original) */
body.rma .rma-pie-legal { display: flex; flex-direction: column; align-items: flex-end; }
body.rma .rma-pie-legal .pg { line-height: 2; }
body.rma .rma-legales { font-size: 13px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 8px; }
body.rma .rma-legales a { color: #a5a5a5; text-decoration: none; }
body.rma .rma-legales a:hover { color: #fff; text-decoration: underline; }
body.rma.light-mode .rma-legales a { color: #6b6b6b; }
body.rma.light-mode .rma-legales a:hover { color: #000; }
@media (max-width: 768px) {
	body.rma .rma-pie-legal { align-items: flex-start; }
	body.rma .rma-legales { justify-content: flex-start; }
}

/* Páginas legales */
/* Columna de lectura centrada: a todo el ancho salían unos 170 caracteres por línea (Dan, 20-10-2026). Solo páginas sin Elementor (las legales), no el blog. */
body.rma.page:not(.elementor-page) .site-main { max-width: 790px; }
body.rma:not(.elementor-page) .site-main .rma-legal-fecha { color: #a5a5a5; font-size: 14px; }
body.rma:not(.elementor-page) .site-main h2 { font-size: 22px; margin: 48px 0 16px; color: #01a3d9; }
body.rma:not(.elementor-page) .site-main ul { width: auto; padding-left: 22px; margin-bottom: 16px; list-style-type: disc; }
body.rma:not(.elementor-page) .site-main li { font-weight: 300; line-height: 1.7; margin-bottom: 6px; list-style: disc; }
body.rma:not(.elementor-page) .site-main li li { list-style: circle; }
body.rma:not(.elementor-page) .site-main strong { font-weight: 500; }
body.rma:not(.elementor-page) .site-main table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 14px; font-weight: 300; }
body.rma:not(.elementor-page) .site-main th,
body.rma:not(.elementor-page) .site-main td { border: 1px solid #333; padding: 10px 12px; vertical-align: top; text-align: left; }
body.rma:not(.elementor-page) .site-main th { background: #262626; font-weight: 500; }
body.rma:not(.elementor-page) .site-main mark { background: #ffe58a; color: #000; padding: 0 4px; }
@media (max-width: 768px) {
	body.rma:not(.elementor-page) .site-main table { display: block; overflow-x: auto; }
}

/* Modo claro en blog, entradas y páginas legales (colores del modo claro original) */
body.rma.light-mode:not(.elementor-page) { background-color: #f5f5dc; color: #2a2a2a; }
body.rma.light-mode:not(.elementor-page) .site-main h1 { color: #2a2a2a; }
body.rma.light-mode:not(.elementor-page) .site-main h2 { color: #a67b5b; }
body.rma.light-mode:not(.elementor-page) .site-main a { color: #a67b5b; }
body.rma.light-mode:not(.elementor-page) .site-main th { background: #ebe6cf; }
body.rma.light-mode:not(.elementor-page) .site-main th,
body.rma.light-mode:not(.elementor-page) .site-main td { border-color: #d8d2b8; }
body.rma.light-mode:not(.elementor-page) .site-main .rma-legal-fecha { color: #6b6b6b; }

/* ═══ Blog (no existía en la web original; mismo sistema de estilos: Poppins 200/300, azul #23a4cf, líneas finas) ═══ */
body.rma .rma-blog, body.rma .rma-entrada { background: #1c1c1c; color: #fff; }

/* Listado: cabecera */
body.rma .rma-blog-hero { padding: 190px 0 56px; border-bottom: 1px solid #01779f; }
body.rma .rma-blog-hero .sale-title { font-size: 96px; }
body.rma .rma-blog-sub { max-width: 560px; margin: 24px 0 0; color: #a5a5a5; }
body.rma .rma-blog-lista { padding: 56px 0 100px; }

/* Mosaico de 2 columnas: imagen pequeña a la izquierda, texto a la derecha */
body.rma .rma-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; }
body.rma .rma-card { display: flex; gap: 28px; align-items: flex-start; padding: 40px 0; border-bottom: 1px solid #2c2c2c; }
body.rma .rma-card-img { flex: 0 0 170px; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #111; }
body.rma .rma-card-img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(1.45) contrast(1.05); transition: transform .6s ease; }
body.rma .rma-card:hover .rma-card-img img { transform: scale(1.05); }
body.rma .rma-card-body { display: flex; flex-direction: column; min-width: 0; }
body.rma .rma-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 12px; font-weight: 300; letter-spacing: 1px; text-transform: uppercase; color: #23a4cf; margin-bottom: 12px; }
body.rma .rma-meta a { color: #23a4cf; text-decoration: none; }
body.rma .rma-meta time { color: #a5a5a5; }
body.rma .rma-sep { width: 20px; height: 1px; background: #01779f; display: inline-block; }
body.rma .rma-card-title { font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 300; line-height: 1.45; letter-spacing: .4px; text-transform: uppercase; margin: 0 0 12px; }
body.rma .rma-card-title a { color: #fff; text-decoration: none; transition: color .3s; }
body.rma .rma-card-title a:hover { color: #23a4cf; }
body.rma .rma-card .small-text { max-width: none; margin: 0 0 16px; color: #bdbdbd; font-size: 14px; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body.rma .rma-learn { text-decoration: none; }
body.rma .rma-learn .learn-btn { padding: 0; }
body.rma .rma-paginacion { margin-top: 56px; }
body.rma .rma-paginacion .nav-links { display: flex; gap: 12px; }
body.rma .rma-paginacion .page-numbers { color: #fff; border: 1px solid #333; padding: 8px 14px; text-decoration: none; }
body.rma .rma-paginacion .page-numbers.current { background: #01779f; border-color: #01779f; }

/* Entrada: cabecera con título grande y foto enmarcada */
body.rma .rma-entrada-hero { padding: 170px 0 0; }
body.rma .rma-volver { display: inline-block; color: #a5a5a5; font-size: 14px; font-weight: 300; letter-spacing: .3px; margin-bottom: 48px; text-decoration: none; }
body.rma .rma-volver:hover { color: #23a4cf; }
body.rma .rma-entrada-cabecera { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 64px; align-items: end; padding-bottom: 56px; border-bottom: 1px solid #01779f; }
body.rma .rma-entrada-titulo { font-family: 'Poppins', sans-serif; font-weight: 200; font-size: 58px; line-height: 1.1; letter-spacing: 1.2px; text-transform: uppercase; color: #fff; margin: 0; }
body.rma .rma-entrada-img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; }
body.rma .rma-entrada-img::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.35); pointer-events: none; }
body.rma .rma-entrada-img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(1.4) contrast(1.05); }
body.rma .rma-entradilla-wrap { display: flex; gap: 28px; align-items: flex-start; padding: 56px 0; }
body.rma .rma-entradilla-logo { width: 54px; flex: 0 0 54px; opacity: .9; }
body.rma .rma-entradilla { font-family: 'Playfair Display', serif; font-size: 26px; line-height: 1.5; letter-spacing: .5px; color: #23a4cf; max-width: 900px; margin: 0; }

/* Entrada: cuerpo con el estilo de texto de la web */
body.rma .rma-entrada-cuerpo { padding: 0 0 90px; }
body.rma .rma-entrada-cuerpo .container { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 80px; align-items: start; }
body.rma .rma-contenido { position: relative; padding-left: 40px; border-left: 1px solid #01779f; max-width: 760px; }
body.rma .rma-contenido p,
body.rma .rma-contenido li { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 300; line-height: 1.87; letter-spacing: .3px; color: #e2e2e2; }
body.rma .rma-contenido p { margin: 0 0 20px; }
body.rma .rma-contenido h2 { font-family: 'Poppins', sans-serif; font-size: 20px; font-weight: 300; line-height: 1.4; letter-spacing: .4px; text-transform: uppercase; color: #23a4cf; margin: 52px 0 18px; }
body.rma .rma-contenido h2:first-child { margin-top: 0; }
body.rma .rma-contenido ul { width: auto; padding-left: 20px; margin: 0 0 24px; list-style-image: url("assets/img/list-marker.svg"); }
body.rma .rma-contenido li { margin-bottom: 10px; padding-left: 6px; }
body.rma .rma-contenido strong { font-weight: 500; color: #fff; }
body.rma .rma-contenido a { color: #23a4cf; text-decoration: underline; text-underline-offset: 3px; }
body.rma .rma-aviso-blog { margin-top: 48px !important; padding-top: 24px; border-top: 1px solid #2c2c2c; }
body.rma .rma-aviso-blog em { font-size: 13px; color: #8f8f8f; }
body.rma .rma-cta { position: sticky; top: 120px; padding: 36px 32px; background: #232323; border-top: 1px solid #01779f; }
body.rma .rma-cta .blue-title-small { margin-bottom: 14px; }
body.rma .rma-cta .small-text { max-width: none; margin-bottom: 28px; font-size: 14px; color: #c8c8c8; }
body.rma .rma-cta .blue-btn { width: 100%; }
body.rma .rma-otros { border-top: 1px solid #2c2c2c; padding-top: 72px; }
body.rma .rma-otros-titulo { max-width: none; margin-bottom: 8px; }

@media (max-width: 991px) {
	body.rma .rma-grid { grid-template-columns: 1fr; }
	body.rma .rma-entrada-cabecera { grid-template-columns: 1fr; gap: 40px; }
	body.rma .rma-entrada-img { max-width: 340px; aspect-ratio: 4 / 3; }
	body.rma .rma-entrada-cuerpo .container { grid-template-columns: 1fr; gap: 56px; }
	body.rma .rma-cta { position: static; }
}
@media (max-width: 768px) {
	body.rma .rma-blog-hero { padding: 140px 0 40px; }
	body.rma .rma-blog-hero .sale-title { font-size: 56px; }
	body.rma .rma-card { gap: 18px; padding: 28px 0; }
	body.rma .rma-card-img { flex-basis: 96px; }
	body.rma .rma-card .small-text { -webkit-line-clamp: 2; }
	body.rma .rma-entrada-hero { padding-top: 130px; }
	body.rma .rma-entrada-titulo { font-size: 34px; }
	body.rma .rma-entradilla-wrap { gap: 16px; padding: 36px 0; }
	body.rma .rma-entradilla-logo { width: 36px; flex-basis: 36px; }
	body.rma .rma-entradilla { font-size: 20px; }
	body.rma .rma-contenido { padding-left: 20px; }
}

/* Blog en modo claro */
body.rma.light-mode .rma-blog, body.rma.light-mode .rma-entrada { background: #f5f5dc; color: #2a2a2a; }
body.rma.light-mode .rma-blog-hero, body.rma.light-mode .rma-entrada-cabecera, body.rma.light-mode .rma-contenido { border-color: #b08c6e; }
body.rma.light-mode .rma-blog-hero .sale-title, body.rma.light-mode .rma-entrada-titulo, body.rma.light-mode .rma-card-title a, body.rma.light-mode .rma-otros-titulo { color: #2a2a2a; }
body.rma.light-mode .rma-card .small-text, body.rma.light-mode .rma-contenido p, body.rma.light-mode .rma-contenido li, body.rma.light-mode .rma-cta .small-text { color: #3a3a3a; }
body.rma.light-mode .rma-contenido strong { color: #000; }
body.rma.light-mode .rma-meta, body.rma.light-mode .rma-meta a, body.rma.light-mode .rma-contenido h2, body.rma.light-mode .rma-contenido a, body.rma.light-mode .rma-entradilla, body.rma.light-mode .rma-cta .blue-title-small { color: #a67b5b; }
body.rma.light-mode .rma-sep { background: #a67b5b; }
body.rma.light-mode .rma-cta { background: #ebe6cf; border-color: #b08c6e; }
body.rma.light-mode .rma-card, body.rma.light-mode .rma-otros, body.rma.light-mode .rma-aviso-blog { border-color: #d8d2b8; }
body.rma.light-mode .rma-entrada-img::after { border-color: rgba(255,255,255,.6); }

/* Modo claro: la barra superior era semitransparente y, sobre las secciones beige, el botón
   blanco «Contact Us», el logo y el menú no se leían. Fondo marrón de la marca casi opaco. */
body.rma.light-mode .navbar-ramallo { background-color: rgba(166, 123, 91, .94); }
body.rma.light-mode .navbar-ramallo button.contact-us,
body.rma.mortgage-simulator.light-mode .navbar-ramallo button.contact-us { color: #fff; border-color: #fff; }
body.rma.light-mode .navbar-ramallo button.contact-us:hover { background-color: #fff; color: #a67b5b; border-color: #fff; }
body.rma.light-mode .menu-collapse.menu-collapse-full .navbar-ramallo { background-color: unset; }

/* SEO: títulos principales pasados de <div> a <h1> sin cambiar su aspecto (Bootstrap da margen y peso a h1) */
body.rma h1[data-rma-h1] { margin-top: 0; margin-bottom: 0; }
/* © + enlaces legales: compactos para no cambiar la altura original del pie */
body.rma .rma-pie-legal .pg { line-height: 1.6; }
body.rma .rma-legales { line-height: 1.6; margin-top: 2px; }

/* Modo claro: los títulos de página eran blancos sobre marrón (poco contraste) o sobre beige
   (Marbella/Málaga, casi invisibles). Solo se cambia el color del texto. La portada va sobre vídeo y no se toca. */
body.rma.light-mode .first-section h1.sale-title,
body.rma.light-mode .first-section h1.contact-title,
body.rma.light-mode .first-section h1.firm-title,
body.rma.light-mode.contact-page .cnt-contact > .small-desc { color: #1c1c1c; }
body.rma .rma-credito { font-size: 11px; letter-spacing: .3px; opacity: .8; }

/* Móvil: las listas de «Companies» (ancho 100 % + margen de 20 px) se salían 5 px y provocaban scroll lateral. */
@media (max-width: 767px) {
	body.rma .column-list ul.custom-marker { width: auto; max-width: calc(100% - 20px); }
}
/* Botones flotantes: cookies (CookieYes) a la derecha y WhatsApp a la izquierda, con el mismo estilo. */
body.rma .cky-btn-revisit-wrapper { left: auto !important; right: 15px !important; }
body.rma .cky-btn-revisit-wrapper::before, body.rma .cky-btn-revisit-wrapper::after { display: none !important; }
.rma-whatsapp { position: fixed; left: 15px; bottom: 15px; z-index: 999998; width: 45px; height: 45px; border-radius: 50%;
	background: #01779f; display: flex; align-items: center; justify-content: center; transition: opacity .2s; }
.rma-whatsapp:hover { opacity: .85; }
.rma-whatsapp svg { display: block; }

/* Calculadora de compra (second-step): el original llevaba style="background-color:#121212" en el envoltorio .mode,
   que ahora es el <body>. Sin esto, el título salía blanco sobre blanco y la barra superior gris. */
body.rma.purchase-simulator:not(.light-mode) { background-color: #121212; }

/* Móvil, menú ☰ abierto: el logo y el botón de modo tapaban «Services / Buy & Sale» (fallo también del original). */
@media (max-width: 767px) {
	body.rma .menu-collapse.menu-collapse-full .menu-resp { padding-top: 130px; }
	body.rma .menu-collapse.menu-collapse-full { overflow-y: auto; }
	/* La barra (logo, modo, ✕) queda opaca para que los enlaces no pasen por debajo al hacer scroll. */
	body.rma .menu-collapse.menu-collapse-full .navbar-ramallo { background-color: #171717; }
	body.rma.light-mode .menu-collapse.menu-collapse-full .navbar-ramallo { background-color: rgba(166, 123, 91, .97); }
}
/* Con el menú abierto se ocultan los botones flotantes (tapaban redes e idioma). */
body.rma:has(.menu-collapse-full) .rma-whatsapp,
body.rma:has(.menu-collapse-full) .cky-btn-revisit-wrapper { display: none !important; }
