/*
 * resi.do Inmobiliarias (application/views/resi_web/inmobiliarias.php), 2026-10-13.
 * Va encima de web.css y solo se carga en esa página. Colores de cada negocio:
 * Rentas = celeste, Ventas = verde, Web = dorado.
 */
:root { --im-r: #009cdf; --im-v: #10b981; --im-w: #ecc31d; }

/* ── Portada ───────────────────────────────────────────── */
.im-hero { position: relative; overflow: hidden; color: #fff; padding: 112px 0 64px;
    background: radial-gradient(760px 460px at 88% 20%, rgba(0,156,223,.28), transparent 65%),
                radial-gradient(620px 380px at 10% 90%, rgba(16,185,129,.18), transparent 65%),
                linear-gradient(180deg, var(--noche), var(--noche-2)); }
.im-hero::before { content: ''; position: absolute; inset: 0; opacity: .45; pointer-events: none;
    background-image: linear-gradient(rgba(0,156,223,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(0,156,223,.08) 1px, transparent 1px);
    background-size: 30px 30px; mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%); }
.im-hero__luz span { position: absolute; width: 380px; height: 380px; border-radius: 50%; filter: blur(80px); opacity: .35; animation: im-deriva 14s ease-in-out infinite; }
.im-hero__luz span:nth-child(1) { background: var(--im-r); top: -120px; right: 10%; }
.im-hero__luz span:nth-child(2) { background: var(--im-v); bottom: -160px; left: -80px; animation-delay: -5s; }
.im-hero__luz span:nth-child(3) { background: var(--im-w); top: 40%; left: 45%; width: 220px; height: 220px; opacity: .14; animation-delay: -9s; }
@keyframes im-deriva { 50% { transform: translate(40px, 30px) scale(1.12); } }
.im-hero__in { position: relative; display: grid; gap: 40px; align-items: center; }
@media (min-width: 1020px) { .im-hero { padding: 140px 0 96px; } .im-hero__in { grid-template-columns: .9fr 1.1fr; gap: 48px; } }
.im-hero h1 { font-size: clamp(34px, 5.6vw, 58px); font-weight: 800; margin: 22px 0 16px; text-wrap: balance; }
.im-hero h1 em { font-style: normal; color: var(--oro); }
.im-hero__sub { color: rgba(255,255,255,.8); font-size: 18px; max-width: 560px; }
.im-hero__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 26px; }
.im-chip { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 999px; font: 700 14px/1 var(--t);
    background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); transition: background .2s, transform .2s; }
.im-chip:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }
.im-chip svg { width: 17px; height: 17px; }
.im-chip--r svg { color: var(--im-r); } .im-chip--v svg { color: var(--im-v); } .im-chip--w svg { color: var(--im-w); }
.im-chip__mas { color: rgba(255,255,255,.4); font-weight: 800; }

/* ── Reproductor de clips ──────────────────────────────── */
.im-player { position: relative; border-radius: 26px; padding: 12px; min-width: 0;
    background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 50px 100px -40px rgba(0,0,0,.7); }
.im-player__tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 10px; }
.im-tab { position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 8px; border: 0; border-radius: 14px; cursor: pointer;
    background: rgba(255,255,255,.06); color: rgba(255,255,255,.7); font: 700 14px/1.1 var(--t); transition: background .2s, color .2s; overflow: hidden; }
.im-tab svg { width: 17px; height: 17px; flex: none; }
.im-tab[aria-selected="true"] { background: #fff; color: var(--noche); }
.im-tab--r[aria-selected="true"] svg { color: var(--im-r); } .im-tab--v[aria-selected="true"] svg { color: var(--im-v); } .im-tab--w[aria-selected="true"] svg { color: #b08900; }
.im-pantalla { position: relative; aspect-ratio: 16 / 11; border-radius: 18px; overflow: hidden; background: linear-gradient(160deg, #f6f9fd, #e9f0f9); color: var(--texto); }
@media (max-width: 520px) { .im-pantalla { aspect-ratio: 4 / 4.4; } }
.im-pantalla__barra { position: absolute; inset: 0 0 auto; height: 34px; display: flex; align-items: center; gap: 6px; padding: 0 12px; background: #fff; border-bottom: 1px solid var(--borde); z-index: 3; }
.im-pantalla__barra i { width: 9px; height: 9px; border-radius: 50%; background: #e3e8f1; }
.im-pantalla__barra i:nth-child(1) { background: #ff6b6b; } .im-pantalla__barra i:nth-child(2) { background: #ffc94d; } .im-pantalla__barra i:nth-child(3) { background: #4cd07d; }
.im-pantalla__barra span { margin-left: 10px; flex: 1; max-width: 300px; padding: 4px 12px; border-radius: 999px; background: var(--fondo); font: 500 12px/1.2 var(--c); color: var(--suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.im-clip { position: absolute; inset: 34px 0 0; display: none; }
.im-clip.im-on { display: block; }
.im-esc { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 18px; opacity: 0; visibility: hidden; transition: opacity .45s, visibility 0s .45s; }
.im-esc.im-on { opacity: 1; visibility: visible; transition: opacity .45s; }

/* Entrada escalonada: todo .im-a de la escena activa entra con su --d */
.im-a { opacity: 0; transform: translateY(14px) scale(.98); }
.im-esc.im-on .im-a { animation: im-entra .55s cubic-bezier(.2,.8,.2,1) var(--d, 0s) forwards; }
@keyframes im-entra { to { opacity: 1; transform: none; } }

.im-ctrl { display: flex; align-items: center; gap: 12px; padding: 12px 6px 4px; }
.im-ctrl__btn { width: 42px; height: 42px; flex: none; border: 0; border-radius: 50%; background: var(--oro); cursor: pointer; display: grid; place-items: center; }
.im-ico-pausa { width: 12px; height: 14px; border-left: 4px solid var(--noche); border-right: 4px solid var(--noche); }
.im-ctrl__btn.im-pausado .im-ico-pausa { width: 0; height: 0; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent var(--noche); margin-left: 3px; }
.im-ctrl__txt { flex: 1; min-width: 0; }
.im-ctrl__txt b { display: block; font: 700 14.5px/1.3 var(--t); color: #fff; min-height: 19px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.im-prog { display: flex; gap: 4px; margin-top: 8px; }
.im-prog button { flex: 1; height: 5px; padding: 0; border: 0; border-radius: 3px; background: rgba(255,255,255,.18); cursor: pointer; overflow: hidden; position: relative; }
.im-prog button::after { content: ''; position: absolute; inset: 0; width: var(--p, 0%); background: var(--oro); border-radius: inherit; }
.im-prog button.im-hecho::after { width: 100%; }

/* ── Piezas de las escenas ─────────────────────────────── */
.im-card { width: min(460px, 100%); background: #fff; border-radius: 16px; padding: 16px; box-shadow: 0 18px 40px -22px rgba(6,22,44,.45); position: relative; overflow: hidden; }
.im-card__cab { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.im-card__cab span { flex: 1; min-width: 0; }
.im-card__cab b, .im-fila b { display: block; font: 700 14.5px/1.25 var(--t); }
.im-card__cab small, .im-fila small { display: block; color: var(--suave); font-size: 12.5px; line-height: 1.35; }
.im-tag { display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px; border-radius: 999px; font: 700 11px/1 var(--t); font-style: normal; white-space: nowrap; }
.im-tag svg { width: 12px; height: 12px; }
.im-tag--verde { background: #dcfce7; color: #15803d; } .im-tag--azul { background: #e0effc; color: #0b5ea8; }
.im-tag--oro { background: #fdf3c9; color: #8a6c00; } .im-tag--rojo { background: #fde4e4; color: #b42318; }
.im-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.im-campos > div { background: var(--fondo); border-radius: 10px; padding: 8px 10px; }
.im-campos small { display: flex; align-items: center; gap: 4px; color: var(--suave); font-size: 11.5px; }
.im-campos small svg { width: 12px; height: 12px; }
.im-campos b { font: 700 15px/1.3 var(--t); }
.im-privado { background: #fff7e0 !important; box-shadow: inset 0 0 0 1px #f3d675; }
.im-boton { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 12px; padding: 10px; border-radius: 10px; background: var(--azul); color: #fff; font: 700 13.5px/1 var(--t); }
.im-boton svg { width: 15px; height: 15px; }
.im-fila { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--borde); }
.im-fila span { flex: 1; min-width: 0; }
.im-ok { width: 26px; height: 26px; border-radius: 50%; background: #dcfce7; color: #15803d; display: grid; place-items: center; }
.im-ok svg { width: 15px; height: 15px; }
.im-monto { font: 800 14px/1 var(--t); font-style: normal; font-variant-numeric: tabular-nums; }
.im-toast { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: var(--noche); color: #fff; width: min(460px, 100%); }
.im-toast b { display: block; font: 700 13.5px/1.25 var(--t); } .im-toast small { color: rgba(255,255,255,.7); font-size: 12px; }
.im-esc > .im-toast { box-shadow: 0 14px 30px -16px rgba(6,22,44,.6); }
.im-linea-t { display: flex; justify-content: space-between; position: relative; margin: 6px 4px 14px; }
.im-linea-t::before { content: ''; position: absolute; left: 6px; right: 6px; top: 6px; height: 3px; background: var(--borde); border-radius: 2px; }
.im-linea-t span { position: relative; font: 700 12.5px/1.3 var(--t); text-align: center; }
.im-linea-t span small { color: var(--suave); font-weight: 500; }
.im-linea-t i { display: block; width: 15px; height: 15px; margin: 0 auto 6px; border-radius: 50%; background: var(--azul); box-shadow: 0 0 0 4px #fff; }
.im-linea-t__fin i { background: var(--oro); }
.im-cuenta > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px dashed var(--borde); font-size: 14px; }
.im-cuenta b { font: 700 14px/1.3 var(--t); font-variant-numeric: tabular-nums; }
.im-cuenta--menos b { color: #b42318; }
.im-cuenta--total { border-top: 2px solid var(--noche) !important; margin-top: 4px; }
.im-cuenta--total b { font-size: 17px; color: #15803d; }
.im-opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.im-opciones span { text-align: center; padding: 11px; border-radius: 12px; background: var(--fondo); font: 700 14px/1 var(--t); }
.im-opciones .im-sel { background: var(--azul); color: #fff; }
.im-codigo { margin-top: 12px; text-align: center; }
.im-codigo small { color: var(--suave); font-size: 12px; }
.im-codigo b { display: flex; justify-content: center; gap: 6px; margin-top: 6px; }
.im-codigo i { width: 30px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: var(--fondo); font: 800 18px/1 var(--t); font-style: normal; }
.im-nota { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 12.5px; color: #8a6c00; }
.im-nota svg { width: 15px; height: 15px; flex: none; }
.im-gran { font: 800 34px/1 var(--t); text-align: center; color: var(--noche); margin: 6px 0 2px; font-variant-numeric: tabular-nums; }
.im-pasos { display: flex; gap: 4px; margin-top: 12px; }
.im-pasos span { flex: 1; text-align: center; padding: 7px 2px; border-radius: 8px; background: var(--fondo); font: 700 11px/1.2 var(--t); color: var(--suave); }
.im-pasos .r-si { background: var(--im-v); color: #fff; }
.im-oferta { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-top: 8px; border-radius: 12px; background: var(--fondo); }
.im-oferta span { color: var(--suave); font-size: 12.5px; width: 86px; flex: none; }
.im-oferta b { flex: 1; font: 800 16px/1 var(--t); font-variant-numeric: tabular-nums; }
.im-oferta--tuya { background: #e0effc; }
.im-burbuja { display: flex; gap: 8px; align-items: flex-start; padding: 11px 13px; border-radius: 14px 14px 14px 4px; background: #dcf8c6; font-size: 13.5px; line-height: 1.4; margin-bottom: 6px; }
.im-burbuja svg { width: 16px; height: 16px; flex: none; color: #128c7e; margin-top: 1px; }
.im-flecha { display: grid; place-items: center; color: var(--suave); margin: -2px 0 2px; }
.im-flecha svg { width: 20px; height: 20px; transform: rotate(90deg); }
.im-confeti i { position: absolute; top: -10px; width: 8px; height: 12px; border-radius: 2px; opacity: 0; }
.im-esc.im-on .im-confeti i { animation: im-cae 2.4s ease-in 1.4s infinite; }
.im-confeti i:nth-child(odd) { background: var(--oro); } .im-confeti i:nth-child(even) { background: var(--im-v); } .im-confeti i:nth-child(3n) { background: var(--im-r); }
.im-confeti i:nth-child(1) { left: 8%; } .im-confeti i:nth-child(2) { left: 20%; animation-delay: 1.6s !important; } .im-confeti i:nth-child(3) { left: 33%; animation-delay: 1.9s !important; }
.im-confeti i:nth-child(4) { left: 47%; animation-delay: 1.5s !important; } .im-confeti i:nth-child(5) { left: 60%; animation-delay: 2.1s !important; } .im-confeti i:nth-child(6) { left: 72%; animation-delay: 1.7s !important; }
.im-confeti i:nth-child(7) { left: 84%; animation-delay: 2s !important; } .im-confeti i:nth-child(8) { left: 93%; animation-delay: 1.8s !important; }
@keyframes im-cae { 0% { opacity: 1; transform: translateY(0) rotate(0); } 100% { opacity: 0; transform: translateY(260px) rotate(540deg); } }

/* Celular del inquilino */
.im-tel { width: 210px; border-radius: 28px; padding: 14px 12px; background: var(--noche); box-shadow: 0 30px 60px -28px rgba(6,22,44,.8); color: #fff; }
.im-tel__cab small { color: rgba(255,255,255,.6); font-size: 11.5px; } .im-tel__cab b { display: block; font: 700 15px/1.3 var(--t); }
.im-tel__saldo { margin: 10px 0; padding: 12px; border-radius: 14px; background: linear-gradient(140deg, var(--azul), var(--cielo)); }
.im-tel__saldo small { font-size: 11.5px; opacity: .85; } .im-tel__saldo b { display: block; font: 800 26px/1.1 var(--t); }
.im-tel__subir, .im-tel__ok { display: flex; align-items: center; gap: 7px; padding: 9px 10px; border-radius: 12px; font: 600 12.5px/1.2 var(--t); }
.im-tel__subir { background: rgba(255,255,255,.08); }
.im-tel__ok { margin-top: 8px; background: #16a34a; }
.im-tel svg { width: 16px; height: 16px; flex: none; }

/* Anuncio, sitio y fichas */
.im-anuncio { width: min(330px, 100%); background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 22px 44px -24px rgba(6,22,44,.5); }
.im-anuncio__foto { position: relative; height: 140px; overflow: hidden;
    background: linear-gradient(180deg, transparent 55%, rgba(6,22,44,.35)), radial-gradient(circle at 75% 30%, #ffe8a3 0 10%, transparent 11%),
                linear-gradient(180deg, #7cc8f0 0 55%, #3fae7a 55% 70%, #f1e2c4 70%); }
.im-anuncio__foto .im-tag { position: absolute; top: 10px; left: 10px; }
.im-anuncio__brillo { position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%); transform: translateX(-100%); }
.im-esc.im-on .im-anuncio__brillo { animation: im-brillo 2.2s ease .6s infinite; }
@keyframes im-brillo { to { transform: translateX(100%); } }
.im-anuncio__txt { padding: 12px 14px 4px; } .im-anuncio__txt b { display: block; font: 700 16px/1.25 var(--t); }
.im-anuncio__txt small { color: var(--suave); font-size: 12.5px; } .im-anuncio__txt em { display: block; font: 800 20px/1.3 var(--t); font-style: normal; color: var(--azul); margin-top: 4px; }
.im-anuncio__iconos { display: flex; gap: 6px; padding: 8px 14px 14px; }
.im-anuncio__iconos span { padding: 4px 8px; border-radius: 8px; background: var(--fondo); font-size: 11.5px; font-weight: 600; }
.im-sitio { width: min(500px, 100%); background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 40px -22px rgba(6,22,44,.45); }
.im-sitio__cab { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--borde); font-size: 12.5px; color: var(--suave); }
.im-sitio__cab b { flex: 1; color: var(--noche); font: 800 14px/1 var(--t); }
.im-sitio__hero { padding: 34px 18px; text-align: center; color: #fff;
    background: linear-gradient(180deg, rgba(6,22,44,.25), rgba(6,22,44,.65)), linear-gradient(180deg, #87cef3 0 50%, #2f9e6d 50% 62%, #e9d7b1 62%); }
.im-sitio__hero > b { display: block; font: 800 22px/1.2 var(--t); margin-bottom: 14px; }
.im-buscar { display: flex; align-items: center; gap: 8px; max-width: 340px; margin: 0 auto; padding: 11px 14px; border-radius: 999px; background: #fff; color: var(--texto); text-align: left; font-size: 13.5px; }
.im-buscar svg { width: 16px; height: 16px; color: var(--suave); flex: none; }
.im-escribe::after { content: '|'; margin-left: 1px; animation: r-parpadeo .9s steps(1) infinite; color: var(--azul); }
.im-filtros { display: flex; gap: 6px; flex-wrap: wrap; padding: 12px 14px 4px; }
.im-filtros span { padding: 5px 10px; border-radius: 999px; background: var(--fondo); font: 700 12px/1 var(--t); color: var(--suave); }
.im-filtros .r-si { background: var(--noche); color: #fff; }
.im-tarjetas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 10px 14px 14px; }
.im-tarj { position: relative; border-radius: 12px; overflow: hidden; background: var(--fondo); font-size: 11.5px; }
.im-tarj i { display: block; height: 62px; background: linear-gradient(180deg, hsl(var(--h) 70% 72%), hsl(calc(var(--h) + 30) 55% 52%)); }
.im-tarj b { display: block; padding: 6px 8px 0; font: 700 12px/1.25 var(--t); }
.im-tarj small { display: block; padding: 0 8px 8px; color: var(--suave); }
.im-tarj .im-tag { position: absolute; top: 6px; left: 6px; font-size: 10px; padding: 3px 7px; }
.im-mapa { position: relative; width: min(500px, 100%); aspect-ratio: 5 / 3; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 40px -22px rgba(6,22,44,.45);
    background: radial-gradient(circle at 15% 85%, #b9e3c6 0 18%, transparent 19%), radial-gradient(circle at 85% 15%, #b9e3c6 0 12%, transparent 13%), linear-gradient(160deg, #eef3ea, #e5ecdf); }
.im-mapa::after { content: ''; position: absolute; right: -10%; top: 0; bottom: 0; width: 22%; background: #a9d5f2; border-radius: 40% 0 0 40%; }
.im-mapa__calles { position: absolute; inset: 0; width: 100%; height: 100%; }
.im-mapa__calles path { fill: none; stroke: #fff; stroke-width: 5; }
.im-mapa__calles .im-mapa__av { stroke: #f8d775; stroke-width: 7; }
.im-pin { position: absolute; left: var(--x); top: var(--y); z-index: 1; translate: -50% -100%; padding: 5px 9px; border-radius: 999px; background: var(--im-v); color: #fff; font: 800 11.5px/1 var(--t); box-shadow: 0 6px 14px -6px rgba(6,22,44,.6); white-space: nowrap; }
.im-pin::after { content: ''; position: absolute; left: 50%; bottom: -5px; translate: -50% 0; border: 5px solid transparent; border-bottom: 0; border-top-color: inherit; border-top-color: var(--im-v); }
.im-pin--a { background: var(--azul); } .im-pin--a::after { border-top-color: var(--azul); }
.im-esc.im-on .im-pin { animation: im-pin .6s cubic-bezier(.3,1.6,.5,1) var(--d) forwards; }
@keyframes im-pin { from { opacity: 0; transform: translateY(-30px) scale(.6); } to { opacity: 1; transform: none; } }
.im-ficha { display: grid; grid-template-columns: 1.1fr 1fr; width: min(500px, 100%); background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 40px -22px rgba(6,22,44,.45); }
.im-ficha__foto { position: relative; min-height: 190px; background: linear-gradient(180deg, transparent 50%, rgba(6,22,44,.4)), linear-gradient(135deg, #f2d9b6, #c9a27a 60%, #8d6a4a); }
.im-360 { position: absolute; left: 50%; top: 50%; translate: -50% -50%; display: inline-flex; align-items: center; gap: 6px; padding: 9px 13px; border-radius: 999px; background: rgba(6,22,44,.75); color: #fff; font: 700 12.5px/1 var(--t); animation: r-latido 1.8s ease-in-out infinite; }
.im-360 svg { width: 15px; height: 15px; }
.im-ficha__txt { padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.im-ficha__txt b { font: 700 14.5px/1.3 var(--t); } .im-ficha__txt em { font: 800 18px/1 var(--t); font-style: normal; color: var(--azul); }
.im-dias { display: flex; gap: 5px; } .im-dias span { flex: 1; text-align: center; padding: 7px 0; border-radius: 9px; background: var(--fondo); font: 700 12px/1 var(--t); }
.im-dias .r-si { background: var(--noche); color: #fff; }
.im-wa { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px; border-radius: 10px; background: #25d366; color: #fff; font: 700 12.5px/1 var(--t); }
.im-wa svg { width: 15px; height: 15px; }
@media (max-width: 520px) {
    .im-ficha { grid-template-columns: 1fr; } .im-ficha__foto { min-height: 110px; }
    .im-tarjetas { grid-template-columns: 1fr 1fr; } .im-tarj:nth-child(3) { display: none; }
    .im-card { padding: 13px; } .im-campos b { font-size: 13.5px; } .im-esc { padding: 12px; }
}

/* ── Elige lo que haces ────────────────────────────────── */
.im-elige { display: grid; gap: 16px; }
@media (min-width: 900px) { .im-elige { grid-template-columns: repeat(3, 1fr); } }
.im-elige__c { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px 24px 22px; border-radius: 24px; background: #fff; box-shadow: 0 0 0 1px var(--borde); transition: transform .2s, box-shadow .2s; overflow: hidden; }
.im-elige__c::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; background: var(--c); }
.im-elige__c:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px var(--borde), var(--sombra); }
.im-elige__c--r { --c: var(--im-r); } .im-elige__c--v { --c: var(--im-v); }
.im-elige__c--a { --c: linear-gradient(90deg, var(--im-r), var(--im-v), var(--im-w)); background: linear-gradient(170deg, #fffdf3, #fff 40%); box-shadow: 0 0 0 2px var(--oro); }
.im-elige__c--a::before { background: var(--c); }
.im-elige__ico { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: #eef6fd; color: var(--azul); }
.im-elige__c--v .im-elige__ico { background: #e7f9f1; color: #0f8a61; } .im-elige__c--a .im-elige__ico { background: #fdf6d8; color: #8a6c00; }
.im-elige__ico svg { width: 26px; height: 26px; }
.im-elige__c > b { font: 800 24px/1.1 var(--t); }
.im-elige__c p { color: var(--suave); font-size: 15px; }
.im-elige__c ul { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 6px; font-size: 14.5px; }
.im-elige__c li::before { content: '✓'; margin-right: 8px; color: var(--im-v); font-weight: 800; }
.im-elige__pie { margin-top: auto; padding-top: 14px; display: flex; align-items: center; gap: 6px; font: 700 14px/1 var(--t); color: var(--azul); }
.im-elige__pie svg { width: 16px; height: 16px; transition: transform .2s; }
.im-elige__c:hover .im-elige__pie svg { transform: translateX(4px); }
.im-elige__dest { position: absolute; top: 16px; right: 16px; padding: 5px 10px; border-radius: 999px; background: var(--oro); color: var(--noche); font: 800 11px/1 var(--t); text-transform: uppercase; letter-spacing: .04em; }
.im-web-incl { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 26px auto 0; max-width: 760px; padding: 14px 18px; border-radius: 16px; background: #fdf6d8; color: #5c4800; font-size: 15px; text-align: left; }
.im-web-incl svg { width: 24px; height: 24px; flex: none; color: #a27f00; }

/* ── Bloques Rentas / Ventas ───────────────────────────── */
.im-bloque { display: grid; gap: 32px; align-items: start; }
@media (min-width: 1000px) { .im-bloque { grid-template-columns: .8fr 1.2fr; gap: 48px; } .im-bloque__txt { position: sticky; top: 110px; } .im-bloque--inv .im-bloque__txt { order: 2; } }
.im-bloque__txt h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 800; text-wrap: balance; margin-bottom: 14px; }
.im-bloque__txt h2 em { font-style: normal; color: var(--azul); }
#ventas .im-bloque__txt h2 em { color: #0f8a61; }
.im-bloque__txt p { color: var(--suave); font-size: 17px; margin-bottom: 22px; }
.im-eti--verde { background: #e7f9f1; color: #0f8a61; }
.r-btn--borde-osc { background: #fff; color: var(--noche); box-shadow: inset 0 0 0 2px var(--borde); }
.r-btn--borde-osc:hover { box-shadow: inset 0 0 0 2px var(--noche); }
.r-btn svg { width: 18px; height: 18px; }
.im-grid { display: grid; gap: 14px; }
@media (min-width: 640px) { .im-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .im-grid--3 { grid-template-columns: repeat(3, 1fr); } }
.im-fun-osc { padding: 22px; border-radius: var(--radio); background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); transition: background .2s, transform .2s; }
.im-fun-osc:hover { background: rgba(255,255,255,.09); transform: translateY(-3px); }
.im-fun-osc i { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(236,195,29,.15); color: var(--oro); }
.im-fun-osc i svg { width: 21px; height: 21px; }
.im-fun-osc h3 { font-size: 17px; margin: 14px 0 6px; }
.im-fun-osc p { color: rgba(255,255,255,.72); font-size: 14.5px; }

/* Aparecer al hacer scroll */
.im-rv { opacity: 0; transform: translateY(22px); transition: opacity .6s ease var(--d, 0s), transform .6s cubic-bezier(.2,.8,.2,1) var(--d, 0s); }
.im-rv.im-visto { opacity: 1; transform: none; }
.no-js .im-rv { opacity: 1; transform: none; }

/* ── Calculadora ───────────────────────────────────────── */
.im-que { border: 0; padding: 0; margin: 0 0 22px; }
.im-que legend { margin-bottom: 12px; }
.im-que legend small { font: 500 13px/1 var(--c); color: var(--suave); margin-left: 6px; }
.im-que { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.im-que legend { grid-column: 1 / -1; }
.im-que__op { position: relative; cursor: pointer; }
.im-que__op input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.im-que__op > span { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 16px; border-radius: 16px; background: var(--fondo); box-shadow: inset 0 0 0 2px transparent; transition: box-shadow .2s, background .2s, transform .15s; }
.im-que__op > span > i { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #fff; color: var(--suave); margin-bottom: 6px; transition: background .2s, color .2s; }
.im-que__op > span > i svg { width: 21px; height: 21px; }
.im-que__op b { font: 800 17px/1.2 var(--t); }
.im-que__op small { color: var(--suave); font-size: 13px; }
.im-que__check { position: absolute; top: 12px; right: 12px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: inset 0 0 0 2px var(--borde); color: transparent; }
.im-que__check svg { width: 14px; height: 14px; }
.im-que__op input:checked + span { background: #fff; box-shadow: inset 0 0 0 2px var(--c), 0 12px 26px -16px rgba(6,22,44,.45); }
.im-que__op input:checked + span > i { background: var(--c); color: #fff; }
.im-que__op input:checked + span .im-que__check { background: var(--c); box-shadow: none; color: #fff; }
.im-que__op input:focus-visible + span { outline: 3px solid var(--cielo); outline-offset: 2px; }
.im-que__op:active > span { transform: scale(.98); }
.im-que__op--r { --c: var(--im-r); } .im-que__op--v { --c: var(--im-v); }
.im-cant { margin-bottom: 22px; animation: im-entra .4s ease both; }
.im-lineas { margin: 14px 0 6px; display: grid; gap: 8px; }
.im-lin { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.07); font-size: 14.5px; animation: im-entra .35s ease both; }
.im-lin span { display: flex; align-items: center; gap: 7px; min-width: 0; }
.im-lin svg { width: 16px; height: 16px; flex: none; color: var(--oro); }
.im-lin em { font: 800 15px/1 var(--t); font-style: normal; font-variant-numeric: tabular-nums; white-space: nowrap; }
.im-lin--web em { color: #6ee7a8; }
.im-anuncio-precio { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 6px 0 4px; color: rgba(255,255,255,.78); font-size: 14px; }
.im-anuncio-precio .r-prox__badge { font-size: 11px; padding: 6px 11px; }

/* ── Preguntas ─────────────────────────────────────────── */
.im-faq { max-width: 820px; }
.im-faq__p { margin-bottom: 10px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--borde); }
.im-faq__p summary { cursor: pointer; list-style: none; padding: 18px 52px 18px 20px; font: 700 16.5px/1.35 var(--t); position: relative; }
.im-faq__p summary::-webkit-details-marker { display: none; }
.im-faq__p summary::after { content: '+'; position: absolute; right: 20px; top: 50%; translate: 0 -50%; font: 600 24px/1 var(--t); color: var(--azul); transition: rotate .2s; }
.im-faq__p[open] summary::after { rotate: 45deg; }
.im-faq__p p { padding: 0 20px 18px; color: var(--suave); }

.r-final h2 em { font-style: normal; color: var(--oro); }

@media (prefers-reduced-motion: reduce) {
    .im-hero__luz span, .im-360, .im-escribe::after { animation: none !important; }
    .im-a, .im-rv { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
    .im-esc.im-on .im-pin, .im-esc.im-on .im-confeti i, .im-esc.im-on .im-anuncio__brillo { animation: none !important; opacity: 1; }
    .im-confeti { display: none; }
}
