/* =========================================================
   RedEdith — sitio público
   Paleta Ettios: navy #080D28 · teal #2ECFB0 · violeta #7B5CEA
                  azul #3B82F6 · naranja #F59E0B
   Los valores base llegan desde el panel como variables CSS.
   ========================================================= */
:root,[data-bs-theme="dark"]{
  --re-text:#E6ECF8; --re-muted:#93A3C4; --re-line:rgba(148,163,196,.16); --re-card:var(--re-surface);
  --re-card-2:#141C45; --re-input:#0B1233; --re-shadow:0 18px 50px -18px rgba(0,0,0,.65);
  --bs-body-bg:var(--re-bg); --bs-body-color:var(--re-text); --bs-border-color:var(--re-line);
  --bs-link-color:var(--re-primary); --bs-link-hover-color:#7EF0D9; --bs-link-color-rgb:46,207,176;
  --bs-secondary-color:var(--re-muted); --bs-tertiary-bg:var(--re-card-2);
  --re-on-primary:#03241D;
}
[data-bs-theme="light"]{
  --re-bg:#F4F6FA; --re-text:#0B1736; --re-muted:#64748B; --re-line:rgba(11,23,54,.10); --re-card:#FFFFFF; --re-card-2:#EEF2F8;
  --re-input:#FFFFFF; --re-shadow:0 14px 40px -18px rgba(11,23,54,.28);
  --bs-body-bg:#F4F6FA; --bs-body-color:#0B1736; --bs-border-color:rgba(11,23,54,.12); --bs-link-color:#0E9C83; --bs-link-hover-color:#0B7A67;
  --bs-secondary-color:#64748B; --bs-tertiary-bg:#EEF2F8;
}
html{scroll-behavior:smooth}
body{background:var(--re-bg);color:var(--re-text);font-family:var(--re-font-b);font-size:15.5px;-webkit-font-smoothing:antialiased;padding-bottom:0}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5,.re-brand-text,.re-price,.navbar{font-family:var(--re-font-h);letter-spacing:-.01em}
a{text-decoration:none} a:hover{text-decoration:underline;text-underline-offset:3px}
.text-muted-re{color:var(--re-muted)!important}
.skip-link{position:absolute;left:12px;top:8px;z-index:2000;background:var(--re-primary);color:var(--re-on-primary);padding:8px 14px;border-radius:8px}
:focus-visible{outline:2px solid var(--re-primary);outline-offset:2px}

/* Botones */
.btn{border-radius:12px;font-weight:600}
.btn-primary{--bs-btn-bg:var(--re-primary);--bs-btn-border-color:var(--re-primary);--bs-btn-color:var(--re-on-primary);--bs-btn-hover-bg:#52E0C4;--bs-btn-hover-border-color:#52E0C4;--bs-btn-hover-color:var(--re-on-primary);--bs-btn-active-bg:#26B79C;--bs-btn-active-color:var(--re-on-primary);--bs-btn-disabled-bg:var(--re-primary);--bs-btn-disabled-color:var(--re-on-primary)}
.btn-secondary{--bs-btn-bg:var(--re-secondary);--bs-btn-border-color:var(--re-secondary);--bs-btn-color:#fff;--bs-btn-hover-bg:#8F75F0;--bs-btn-hover-border-color:#8F75F0;--bs-btn-active-bg:#6A4BDB}
.btn-outline-primary{--bs-btn-color:var(--re-primary);--bs-btn-border-color:color-mix(in srgb,var(--re-primary) 55%,transparent);--bs-btn-hover-bg:var(--re-primary);--bs-btn-hover-border-color:var(--re-primary);--bs-btn-hover-color:var(--re-on-primary);--bs-btn-active-bg:var(--re-primary);--bs-btn-active-color:var(--re-on-primary);--bs-btn-active-border-color:var(--re-primary)}
[data-bs-theme="light"] .btn-outline-primary{--bs-btn-color:#0B8C75}
[data-bs-theme="light"] .btn-outline-light{--bs-btn-color:#0B1736;--bs-btn-border-color:rgba(11,23,54,.25);--bs-btn-hover-bg:#0B1736;--bs-btn-hover-color:#fff}
.btn-wa{--bs-btn-bg:#25D366;--bs-btn-border-color:#25D366;--bs-btn-color:#062b14;--bs-btn-hover-bg:#3BE07A;--bs-btn-hover-border-color:#3BE07A;--bs-btn-hover-color:#062b14;--bs-btn-active-bg:#1EB858}
.btn-ghost{--bs-btn-color:var(--re-text);--bs-btn-bg:transparent;--bs-btn-border-color:var(--re-line);--bs-btn-hover-bg:var(--re-card-2);--bs-btn-hover-border-color:var(--re-line);--bs-btn-hover-color:var(--re-text)}
.btn-icon{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:12px;color:var(--re-text);border:1px solid transparent;padding:0}
.btn-icon:hover{background:var(--re-card-2);color:var(--re-primary)}
.btn-social{border-color:var(--re-line)}
.btn-pill{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.7rem;--bs-btn-font-size:.82rem;border:1px solid var(--re-line);border-radius:999px;color:var(--re-text);margin:0 4px 6px 0}
.btn-check:checked+.btn-pill{background:var(--re-primary);border-color:var(--re-primary);color:var(--re-on-primary)}

/* Formularios */
.form-control,.form-select{background-color:var(--re-input);border-color:var(--re-line);color:var(--re-text);border-radius:12px}
.form-control:focus,.form-select:focus{border-color:var(--re-primary);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--re-primary) 25%,transparent);background-color:var(--re-input);color:var(--re-text)}
.form-control::placeholder{color:color-mix(in srgb,var(--re-muted) 75%,transparent)}
.form-check-input:checked{background-color:var(--re-primary);border-color:var(--re-primary)}
.form-label{font-weight:600;font-size:.86rem;color:var(--re-muted)}
.re-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Header */
.re-header{background:color-mix(in srgb,var(--re-bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--re-line)}
.re-header .navbar{padding:.55rem 0}
.re-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--re-text)!important;text-decoration:none!important}
.re-brand-text{font-weight:700;font-size:1.22rem;letter-spacing:.005em}
.re-radar{width:30px;height:30px;border-radius:50%;position:relative;background:radial-gradient(circle,color-mix(in srgb,var(--re-primary) 70%,transparent) 0 3px,transparent 4px),repeating-radial-gradient(circle,transparent 0 5px,color-mix(in srgb,var(--re-primary) 45%,transparent) 5px 6px);box-shadow:0 0 18px -2px color-mix(in srgb,var(--re-primary) 60%,transparent)}
.re-radar span{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,color-mix(in srgb,var(--re-primary) 80%,transparent),transparent 28%);animation:re-sweep 3.2s linear infinite}
@keyframes re-sweep{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.re-radar span,.re-hero-rings .sweep{animation:none}}
.logo-light{display:none}[data-bs-theme="light"] .logo-light{display:inline}[data-bs-theme="light"] .logo-dark{display:none}
.navbar .nav-link{color:var(--re-text);font-weight:500;padding:.5rem .8rem!important;border-radius:10px}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--re-primary);text-decoration:none}
.navbar .nav-link.active{background:color-mix(in srgb,var(--re-primary) 10%,transparent)}
.navbar-toggler{border:0;color:var(--re-text);padding:.2rem}
.dropdown-menu{background:var(--re-card);border:1px solid var(--re-line);border-radius:14px;box-shadow:var(--re-shadow);padding:.4rem}
.dropdown-item{border-radius:9px;color:var(--re-text);padding:.45rem .8rem}
.dropdown-item:hover{background:var(--re-card-2);color:var(--re-primary)}
.offcanvas{background:var(--re-bg);color:var(--re-text)}
.fav-count{position:absolute;top:2px;right:0;background:var(--re-warning);color:#2a1600;font-size:.62rem}
@media (min-width:1200px){.navbar-expand-xl .offcanvas{background:transparent}}

/* Hero */
.re-hero{position:relative;overflow:hidden;padding:72px 0 44px;background:
  radial-gradient(900px 420px at 85% -10%,color-mix(in srgb,var(--re-secondary) 35%,transparent),transparent 65%),
  radial-gradient(700px 380px at 5% 110%,color-mix(in srgb,var(--re-primary) 22%,transparent),transparent 60%),var(--re-bg)}
.re-hero.has-img::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--re-bg) 55%,transparent),var(--re-bg) 92%),var(--hero-img) center/cover no-repeat;opacity:.9}
.re-hero-rings{position:absolute;right:-180px;top:-160px;width:620px;height:620px;pointer-events:none;opacity:.55}
.re-hero-rings span{position:absolute;inset:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--re-primary) 30%,transparent)}
.re-hero-rings span:nth-child(2){inset:90px}.re-hero-rings span:nth-child(3){inset:180px}
.re-hero-rings .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,color-mix(in srgb,var(--re-primary) 28%,transparent),transparent 22%);animation:re-sweep 9s linear infinite}
.re-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:var(--re-primary);background:color-mix(in srgb,var(--re-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--re-primary) 30%,transparent);padding:.3rem .8rem;border-radius:999px}
.re-hero-title{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:700;line-height:1.05;margin:18px 0 12px;max-width:16ch;background:linear-gradient(100deg,var(--re-text) 40%,var(--re-primary) 75%,var(--re-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}
.re-hero-sub{color:var(--re-muted);font-size:1.1rem;max-width:58ch;margin-bottom:28px}
.re-search{background:color-mix(in srgb,var(--re-card) 92%,transparent);border:1px solid var(--re-line);border-radius:22px;padding:14px 16px 10px;box-shadow:var(--re-shadow);position:relative}
.re-search-tabs{display:flex;gap:4px;margin-bottom:10px}
.re-tab{padding:.35rem 1rem;border-radius:999px;font-weight:600;font-size:.9rem;cursor:pointer;color:var(--re-muted)}
.btn-check:checked+.re-tab{background:var(--re-primary);color:var(--re-on-primary)}
.re-search-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.re-field{display:flex;flex-direction:column;gap:4px;min-width:150px;position:relative}
.re-field label{font-size:.74rem;font-weight:600;color:var(--re-muted);text-transform:uppercase;letter-spacing:.05em;padding-left:4px}
.re-field-grow{flex:1 1 260px}.re-field-price{flex:1 1 260px}.re-cur{max-width:86px}
.re-search-btn{height:42px;padding:0 22px;display:inline-flex;gap:8px;align-items:center}
.re-adv{margin-top:8px;font-size:.88rem}.re-adv summary{cursor:pointer;color:var(--re-muted);font-weight:600;width:max-content}
.re-ai-search{display:flex;gap:8px;align-items:center;margin-top:12px;background:color-mix(in srgb,var(--re-secondary) 12%,transparent);border:1px dashed color-mix(in srgb,var(--re-secondary) 45%,transparent);border-radius:16px;padding:8px 10px}
.re-ai-search i{color:var(--re-secondary);font-size:1.2rem}.re-ai-search .form-control{background:transparent;border:0}
.re-suggest{position:absolute;top:100%;left:0;right:0;z-index:30;background:var(--re-card);border:1px solid var(--re-line);border-radius:12px;box-shadow:var(--re-shadow);margin-top:4px;overflow:hidden}
.re-suggest button{display:flex;justify-content:space-between;width:100%;text-align:left;background:none;border:0;color:var(--re-text);padding:.5rem .8rem;font-size:.9rem}
.re-suggest button:hover,.re-suggest button.active{background:var(--re-card-2);color:var(--re-primary)}
.re-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 0}
.re-stats div{background:color-mix(in srgb,var(--re-card) 70%,transparent);border:1px solid var(--re-line);border-radius:16px;padding:14px 16px}
.re-stats dt{font-family:var(--re-font-h);font-size:1.6rem;color:var(--re-primary);line-height:1}.re-stats dd{margin:4px 0 0;color:var(--re-muted);font-size:.85rem}
.re-stats-inline{margin:-26px 0 0;position:relative;z-index:2}
@media (max-width:768px){.re-stats{grid-template-columns:repeat(2,1fr)}.re-field{min-width:calc(50% - 6px);flex:1 1 calc(50% - 6px)}.re-search-btn{width:100%;justify-content:center}.re-hero{padding-top:40px}}

/* Secciones */
.re-section{margin-top:56px}
.re-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}
.re-section-head h2{font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:700;margin:0}
.re-link{font-weight:600;white-space:nowrap}
.re-page-head{padding:34px 0 26px;margin-bottom:24px;border-bottom:1px solid var(--re-line);background:radial-gradient(700px 240px at 90% 0,color-mix(in srgb,var(--re-secondary) 20%,transparent),transparent 70%);position:relative;overflow:hidden}
.re-page-head h1{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:700;margin:6px 0}
.re-page-head-lg{padding:56px 0 64px}
.lead-sm{color:var(--re-muted);font-size:1.03rem;max-width:70ch}
.breadcrumb{--bs-breadcrumb-divider-color:var(--re-muted);--bs-breadcrumb-item-active-color:var(--re-muted);font-size:.86rem;margin-bottom:.3rem}

/* Tipos */
.re-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.re-type-tile{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:18px;background:var(--re-card);border:1px solid var(--re-line);color:var(--re-text);transition:.2s}
.re-type-tile i{font-size:1.6rem;color:var(--re-primary)}.re-type-tile span{font-weight:600}.re-type-tile small{color:var(--re-muted)}
.re-type-tile:hover{border-color:var(--re-primary);transform:translateY(-3px);text-decoration:none;color:var(--re-text)}

/* Tarjetas */
.re-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:20px}
.re-grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.re-list{display:flex;flex-direction:column;gap:16px}
.re-card{position:relative;background:var(--re-card);border:1px solid var(--re-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}
.re-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--re-primary) 55%,transparent);box-shadow:var(--re-shadow)}
.re-card-media{position:relative;display:block;aspect-ratio:4/3;background:linear-gradient(135deg,var(--re-card-2),color-mix(in srgb,var(--re-secondary) 18%,var(--re-card-2)));overflow:hidden}
.re-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.re-card:hover .re-card-media img{transform:scale(1.05)}
.re-noimg,.re-card-media.noimg::after{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;color:var(--re-muted)}
.re-card-media.noimg::after{content:"\F42A";font-family:bootstrap-icons;font-size:2rem}
.re-noimg i{font-size:2rem}
.re-chip{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:700;padding:.28rem .62rem;border-radius:999px;backdrop-filter:blur(8px)}
.re-chip.static{position:static}
.re-chip-op{background:rgba(8,13,40,.78);color:#fff;border:1px solid rgba(255,255,255,.15)}
.re-chip-op.op-sale{background:color-mix(in srgb,var(--re-primary) 92%,#000);color:var(--re-on-primary);border:0}
.re-chip-op.op-rent{background:var(--re-accent);color:#fff;border:0}.re-chip-op.op-temporary{background:var(--re-secondary);color:#fff;border:0}
.re-chip-featured{left:auto;right:56px;background:var(--re-warning);color:#2a1600}
.re-chip-status{top:auto;bottom:12px}
.re-chip-warning{background:var(--re-warning);color:#2a1600}.re-chip-secondary{background:#475569;color:#fff}.re-chip-ok{background:color-mix(in srgb,#22C55E 20%,transparent);color:#4ADE80;border:1px solid color-mix(in srgb,#22C55E 40%,transparent)}
[data-bs-theme="light"] .re-chip-ok{color:#15803D}
.re-chip-unverified{background:rgba(8,13,40,.75);color:#FCD34D;border:1px dashed #FCD34D}
.re-chip-type,.re-chip-zone{background:var(--re-card-2);color:var(--re-text);border:1px solid var(--re-line)}
.re-fav{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(8,13,40,.6);color:#fff;display:grid;place-items:center;backdrop-filter:blur(8px);z-index:2;transition:.2s}
.re-fav:hover{transform:scale(1.08);color:#FF6B8A}.re-fav[aria-pressed="true"] i::before{content:"\F415";color:#FF6B8A}
.re-card-body{padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.re-price{font-size:1.32rem;font-weight:700;color:var(--re-text)}.re-price small{font-size:.8rem;color:var(--re-muted);font-weight:500}
.re-type{font-size:.78rem;color:var(--re-muted);white-space:nowrap}
.re-card-title{font-size:1rem;font-weight:600;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.re-card-title a{color:var(--re-text)}
.re-loc{color:var(--re-muted);font-size:.86rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.re-loc i{color:var(--re-primary)}
.re-facts{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;padding:8px 0 0;margin:2px 0 0;border-top:1px dashed var(--re-line);font-size:.83rem}
.re-facts i{color:var(--re-primary);margin-right:5px}
.re-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px}
.re-code{font-size:.74rem;color:var(--re-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.re-card-list{flex-direction:row}.re-card-list .re-card-media{width:38%;min-width:240px;aspect-ratio:auto}
@media (max-width:640px){.re-card-list{flex-direction:column}.re-card-list .re-card-media{width:100%;aspect-ratio:4/3}}

/* Listado */
.re-filters .offcanvas-body{display:block}
@media (min-width:992px){.re-filters{position:sticky;top:84px;background:var(--re-card);border:1px solid var(--re-line);border-radius:20px;padding:16px;max-height:calc(100vh - 100px);overflow:auto}}
.re-filter-group{margin-bottom:16px;position:relative}
.re-feature-checks{max-height:190px;overflow:auto;padding-right:6px;font-size:.88rem}
.re-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:10px 14px;border-radius:16px;background:var(--re-card);border:1px solid var(--re-line)}
.re-map{height:520px;border-radius:20px;overflow:hidden;border:1px solid var(--re-line);z-index:1}
.re-map-sm{height:340px}.re-map-xs{height:220px}
.re-empty{text-align:center;padding:56px 20px;border:1px dashed var(--re-line);border-radius:20px;background:var(--re-card)}
.re-empty i{font-size:2.6rem;color:var(--re-primary)}.re-empty h3{font-size:1.25rem;margin:12px 0 6px}.re-empty p{color:var(--re-muted)}
.re-pagination .page-link{background:var(--re-card);border-color:var(--re-line);color:var(--re-text);border-radius:10px!important;margin:0 3px}
.re-pagination .active .page-link{background:var(--re-primary);border-color:var(--re-primary);color:var(--re-on-primary)}
.re-ai-note{background:color-mix(in srgb,var(--re-secondary) 14%,transparent);border:1px solid color-mix(in srgb,var(--re-secondary) 40%,transparent);border-radius:14px;padding:10px 14px;margin-bottom:16px;font-size:.92rem}
.re-ai-note i{color:var(--re-secondary)}
.leaflet-popup-content-wrapper{border-radius:14px}.re-map-pop{width:200px;font-family:var(--re-font-b)}.re-map-pop img{width:100%;height:110px;object-fit:cover;border-radius:10px;margin-bottom:6px}
.re-marker{background:var(--re-primary);color:var(--re-on-primary);font-weight:700;font-size:11px;border-radius:999px;padding:3px 8px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.35);border:2px solid #fff;transform:translate(-50%,-50%);display:inline-block}

/* Ficha */
.re-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:8px;border-radius:22px;overflow:hidden;position:relative}
.re-gal-item{position:relative;display:block;background:var(--re-card-2);overflow:hidden}
.re-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.re-gal-item:hover img{transform:scale(1.04)}
.re-gal-main{grid-row:span 2}
.re-gal-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,13,40,.6);color:#fff;font-weight:700;font-size:1.2rem}
.re-gal-all{position:absolute;right:14px;bottom:14px;border-radius:12px}
.re-gallery-empty{border:1px dashed var(--re-line);border-radius:22px;padding:56px;text-align:center;color:var(--re-muted);background:var(--re-card)}.re-gallery-empty i{font-size:2.4rem;color:var(--re-primary)}
@media (max-width:768px){.re-gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 110px}.re-gal-main{grid-column:span 2;grid-row:auto}.re-gallery .re-gal-item:nth-child(n+4){display:none}}
.re-prop-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;margin:6px 0}
.re-prop-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:10px 0 14px}
.re-prop-price span{font-family:var(--re-font-h);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:var(--re-primary)}
.re-prop-price small{color:var(--re-muted)}
.re-note{background:color-mix(in srgb,var(--re-warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--re-warning) 40%,transparent);color:var(--re-text);border-radius:14px;padding:10px 14px;font-size:.9rem;margin-bottom:12px}
.re-note i{color:var(--re-warning)}
.re-block{background:var(--re-card);border:1px solid var(--re-line);border-radius:20px;padding:22px;margin-bottom:18px}
.re-block h2{font-size:1.18rem;font-weight:700;margin-bottom:14px}
.re-facts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0}
.re-facts-grid div{background:var(--re-card-2);border-radius:14px;padding:12px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.re-facts-grid i{grid-row:span 2;font-size:1.3rem;color:var(--re-primary)}.re-facts-grid dt{font-size:.75rem;color:var(--re-muted);font-weight:500}.re-facts-grid dd{margin:0;font-weight:700}
.re-desc{white-space:normal;line-height:1.7}
.re-desc.collapsed{max-height:260px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent)}
.re-amenities{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.re-amenities li{display:flex;gap:8px;align-items:center}.re-amenities i{color:var(--re-primary)}
.re-kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 18px;margin:0}.re-kv dt{color:var(--re-muted);font-weight:500}.re-kv dd{margin:0}
.re-kv-stacked{grid-template-columns:1fr;gap:2px}.re-kv-stacked dd{margin-bottom:10px}
.re-media-link{display:flex;gap:10px;align-items:center;padding:14px;border-radius:14px;background:var(--re-card-2);color:var(--re-text)}.re-media-link i{font-size:1.4rem;color:var(--re-primary)}
.re-contact-card{background:var(--re-card);border:1px solid var(--re-line);border-radius:22px;padding:20px;top:90px;box-shadow:var(--re-shadow)}
.re-tabs-sm .nav-link{border-radius:10px;color:var(--re-muted);font-weight:600;font-size:.9rem}.re-tabs-sm .nav-link.active{background:var(--re-card-2);color:var(--re-primary)}
.re-meta{padding:6px 2px 20px}
.re-mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1040;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--re-bg) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--re-line)}
@media (max-width:991px){body:has(.re-mobile-cta){padding-bottom:70px}body:has(.re-mobile-cta) .wa-float{display:none}}
.re-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(3,6,20,.94);display:grid;grid-template-columns:60px 1fr 60px;align-items:center}
.re-lightbox[hidden]{display:none}
.re-lightbox figure{margin:0;text-align:center}.re-lightbox img{max-width:100%;max-height:84vh;border-radius:10px}.re-lightbox figcaption{color:#cbd5e1;margin-top:8px;font-size:.9rem}
.re-lightbox button{background:none;border:0;color:#fff;font-size:1.8rem;height:100%}.re-lb-close{position:absolute;top:10px;right:14px;height:auto!important}

/* Bloques varios */
.re-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:34px;border-radius:24px;background:linear-gradient(110deg,color-mix(in srgb,var(--re-bg) 70%,transparent),transparent),var(--banner-img,linear-gradient(120deg,var(--re-secondary),var(--re-accent))) center/cover;color:#fff;border:1px solid var(--re-line)}
.re-banner h2{font-size:1.7rem;font-weight:700}
.re-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:36px;border-radius:24px;background:radial-gradient(600px 220px at 100% 0,color-mix(in srgb,var(--re-primary) 30%,transparent),transparent 70%),linear-gradient(120deg,color-mix(in srgb,var(--re-secondary) 45%,var(--re-card)),var(--re-card));border:1px solid var(--re-line)}
.re-cta h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:700}.re-cta p{color:var(--re-muted);margin:0;max-width:56ch}
.re-agencies{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.re-agency{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px;border-radius:18px;background:var(--re-card);border:1px solid var(--re-line);color:var(--re-text)}
.re-agency img{height:54px;max-width:140px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.re-agency small{color:var(--re-muted)}
.re-agency:hover{border-color:var(--re-primary);text-decoration:none;color:var(--re-text)}
.re-agency-initial,.re-member-initial{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--re-secondary),var(--re-accent));color:#fff;font-weight:700;font-size:1.4rem}
.re-agency-logo{height:64px;background:#fff;border-radius:12px;padding:6px}
.re-accordion{--bs-accordion-bg:var(--re-card);--bs-accordion-border-color:var(--re-line);--bs-accordion-btn-color:var(--re-text);--bs-accordion-active-bg:var(--re-card-2);--bs-accordion-active-color:var(--re-primary);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-border-radius:16px;--bs-accordion-inner-border-radius:16px}
.re-accordion .accordion-button{font-weight:600}
.re-pill-card{background:var(--re-card-2);border-radius:16px;padding:18px}.re-pill-card i{font-size:1.5rem;color:var(--re-primary)}.re-pill-card h3{font-size:1.05rem;margin:8px 0}
.re-check-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.re-check-list i{color:var(--re-primary);margin-right:8px}
.re-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.re-service{display:flex;gap:10px;padding:14px;border-radius:14px;background:var(--re-card-2)}.re-service i{color:var(--re-primary);font-size:1.2rem}.re-service p{margin:2px 0 0;color:var(--re-muted);font-size:.9rem}
.re-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.re-member{text-align:center;padding:18px;border-radius:18px;background:var(--re-card-2)}.re-member img{width:96px;height:96px;object-fit:cover;border-radius:50%;margin-bottom:10px}
.re-member-initial{margin:0 auto 10px;width:96px;height:96px;border-radius:50%;font-size:2rem}
.re-member h3{font-size:1.02rem;margin:0}.re-member-role{color:var(--re-primary);font-size:.86rem;margin:2px 0 6px}
.re-prose{line-height:1.75}.re-cms h2,.re-cms h3{margin-top:1.2em}
.re-contact-options{display:flex;flex-direction:column;gap:10px}
.re-contact-opt{display:flex;gap:14px;align-items:center;padding:16px;border-radius:18px;background:var(--re-card);border:1px solid var(--re-line);color:var(--re-text)}
.re-contact-opt i{font-size:1.5rem;color:var(--re-primary);width:30px;text-align:center}.re-contact-opt span{display:block;color:var(--re-muted);font-size:.9rem}
.re-contact-opt.wa i{color:#25D366}a.re-contact-opt:hover{border-color:var(--re-primary);text-decoration:none;color:var(--re-text)}
.re-form-card{background:var(--re-card);border:1px solid var(--re-line);border-radius:22px;padding:24px}
.re-steps{list-style:none;counter-reset:s;padding:0;display:flex;flex-direction:column;gap:12px}
.re-steps li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;column-gap:12px;padding:14px;border-radius:16px;background:var(--re-card);border:1px solid var(--re-line)}
.re-steps li::before{content:counter(s);grid-row:span 2;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--re-primary);color:var(--re-on-primary);font-weight:700}
.re-steps span{color:var(--re-muted);font-size:.9rem}
.re-auth{min-height:62vh;display:grid;place-items:center;padding:40px 12px}.re-auth .re-form-card{width:100%;max-width:440px}
.re-side-nav{display:flex;flex-direction:column;gap:4px;background:var(--re-card);border:1px solid var(--re-line);border-radius:18px;padding:8px}
.re-side-nav a,.re-side-nav button{display:flex;gap:10px;align-items:center;padding:.55rem .8rem;border-radius:12px;color:var(--re-text);background:none;border:0;width:100%;text-align:left}
.re-side-nav a.active,.re-side-nav a:hover,.re-side-nav button:hover{background:var(--re-card-2);color:var(--re-primary);text-decoration:none}
.re-side-nav .badge{background:var(--re-primary);color:var(--re-on-primary)}
.re-row-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--re-card);border:1px solid var(--re-line)}
.re-404{font-family:var(--re-font-h);font-size:7rem;font-weight:700;line-height:1;background:linear-gradient(120deg,var(--re-primary),var(--re-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}
.re-alert{border-radius:14px}

/* Footer */
.re-footer{border-top:1px solid var(--re-line);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--re-secondary) 8%,transparent))}
.footer-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--re-muted);margin-bottom:14px}
.footer-links li{margin-bottom:8px}.footer-links a{color:var(--re-text);opacity:.85}.footer-links a:hover{color:var(--re-primary);opacity:1}
.footer-contact li{display:flex;gap:10px;margin-bottom:10px}.footer-contact i{color:var(--re-primary)}.footer-contact a{color:var(--re-text)}
.footer-hr{border-color:var(--re-line);opacity:1;margin:28px 0 18px}

/* WhatsApp flotante */
.wa-float{position:fixed;bottom:22px;z-index:1050;display:flex;align-items:center;gap:10px}
.wa-right{right:22px;flex-direction:row}.wa-left{left:22px;flex-direction:row-reverse}
.wa-btn{width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font-size:1.9rem;box-shadow:0 10px 30px -6px rgba(37,211,102,.6);position:relative;transition:transform .2s}
.wa-btn:hover{transform:scale(1.07);color:#fff;text-decoration:none}
.wa-btn::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:wa-pulse 2.4s infinite}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.55);opacity:0}}
.wa-dot{position:absolute;top:4px;right:4px;width:13px;height:13px;border-radius:50%;background:#A3F7BF;border:2px solid #25D366}
.wa-bubble{background:var(--re-card);color:var(--re-text);border:1px solid var(--re-line);padding:8px 12px;border-radius:14px;font-size:.88rem;box-shadow:var(--re-shadow);max-width:230px}
@media (max-width:767px){.wa-hide-mobile{display:none!important}.wa-btn{width:54px;height:54px}}
@media (min-width:768px){.wa-hide-desktop{display:none!important}}
@media (prefers-reduced-motion:reduce){.wa-btn::before{animation:none}}

/* Cookies */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1060;max-width:760px;margin:0 auto;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--re-card);border:1px solid var(--re-line);border-radius:18px;padding:14px 16px;box-shadow:var(--re-shadow)}
.cookie-banner[hidden]{display:none}
.re-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:2100;background:var(--re-card);border:1px solid var(--re-primary);color:var(--re-text);padding:10px 16px;border-radius:14px;box-shadow:var(--re-shadow);font-size:.92rem}

/* Galería adaptable a la cantidad de fotos */
.re-gal-n1{grid-template-columns:1fr;grid-template-rows:460px}.re-gal-n1 .re-gal-main{grid-row:auto}
.re-gal-n2{grid-template-columns:1fr 1fr;grid-template-rows:440px}.re-gal-n2 .re-gal-main{grid-row:auto}
.re-gal-n3{grid-template-columns:2fr 1fr}.re-gal-n4{grid-template-columns:2fr 1fr 1fr}.re-gal-n4 .re-gal-item:last-child{grid-column:span 2}
@media (max-width:768px){.re-gal-n1,.re-gal-n2{grid-template-columns:1fr;grid-template-rows:280px}.re-gal-n2 .re-gal-item:nth-child(2){display:none}}
.re-header .btn{white-space:nowrap}
@media (min-width:1200px) and (max-width:1399px){.navbar .nav-link{padding:.5rem .55rem!important;font-size:.93rem}}
/* backdrop-filter crea un contenedor para elementos fixed: en móvil se desactiva para que el menú lateral use toda la pantalla */
@media (max-width:1199.98px){.re-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--re-bg)}}
html,body{overflow-x:clip}

/* ===== Empresas: inmobiliarias, desarrolladoras y constructoras ===== */
.k-agency{--kc:var(--re-primary)}.k-developer{--kc:var(--re-secondary)}.k-builder{--kc:var(--re-warning)}.k-broker{--kc:var(--re-accent)}
.re-kind{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--kc,var(--re-primary));background:color-mix(in srgb,var(--kc,var(--re-primary)) 13%,transparent);border:1px solid color-mix(in srgb,var(--kc,var(--re-primary)) 35%,transparent);padding:.22rem .6rem;border-radius:999px;white-space:nowrap}
[data-bs-theme="light"] .re-kind.k-builder{color:#B45309}[data-bs-theme="light"] .re-kind.k-broker{color:#1D4ED8}[data-bs-theme="light"] .re-kind.k-developer{color:#6D28D9}[data-bs-theme="light"] .re-kind.k-agency{color:#0F766E}
.text-primary-re{color:var(--re-primary)!important}
.re-agency-initial.k-developer{background:linear-gradient(135deg,var(--re-secondary),#4C3AA8)}.re-agency-initial.k-broker{background:linear-gradient(135deg,var(--re-accent),#1E40AF)}.re-agency-initial.k-builder{background:linear-gradient(135deg,var(--re-warning),#C2410C)}
.re-kind-tabs{display:flex;gap:8px;margin-top:22px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.re-kind-tabs::-webkit-scrollbar{display:none}
.re-kind-tab{display:inline-flex;align-items:center;gap:7px;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--re-line);background:color-mix(in srgb,var(--re-card) 80%,transparent);color:var(--re-text);font-weight:600;font-size:.9rem;white-space:nowrap;text-decoration:none!important}
.re-kind-tab span{font-size:.72rem;background:var(--re-card-2);color:var(--re-muted);padding:.05rem .45rem;border-radius:999px}
.re-kind-tab:hover{border-color:var(--re-primary);color:var(--re-primary)}
.re-kind-tab.active{background:var(--re-primary);border-color:var(--re-primary);color:var(--re-on-primary)}.re-kind-tab.active span{background:rgba(3,36,29,.18);color:var(--re-on-primary)}
.re-company-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.re-company-filters .input-group{flex:1 1 260px}.re-company-filters .form-select{flex:0 1 220px}
.re-company-filters .input-group-text{background:var(--re-input);border-color:var(--re-line);color:var(--re-muted);border-radius:12px 0 0 12px}
.re-companies{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-bottom:40px}
.re-company{display:flex;flex-direction:column;background:var(--re-card);border:1px solid var(--re-line);border-radius:22px;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.re-company:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--kc) 55%,transparent);box-shadow:var(--re-shadow)}
.re-company-cover{display:block;height:96px;background:var(--cover,none) center/cover no-repeat,radial-gradient(260px 120px at 85% 0,color-mix(in srgb,var(--kc) 55%,transparent),transparent 70%),linear-gradient(120deg,color-mix(in srgb,var(--kc) 30%,var(--re-card-2)),var(--re-card-2))}
.re-company-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0 18px 18px;flex:1}
.re-company-logo{width:64px;height:64px;border-radius:18px;background:#fff;border:3px solid var(--re-card);display:grid;place-items:center;overflow:hidden;margin-top:-32px;box-shadow:0 8px 24px -10px rgba(0,0,0,.5);flex:none}
.re-company-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.re-company-logo span{width:100%;height:100%;display:grid;place-items:center;font-family:var(--re-font-h);font-weight:700;font-size:1.6rem;color:#fff;background:linear-gradient(135deg,var(--kc),color-mix(in srgb,var(--kc) 55%,#080D28))}
.re-company-logo.lg{width:96px;height:96px;border-radius:24px;margin-top:0}.re-company-logo.lg span{font-size:2.4rem}
.re-company-name{font-size:1.12rem;font-weight:700;margin:4px 0 0}.re-company-name a{color:var(--re-text)}.re-company-name a:hover{color:var(--re-primary);text-decoration:none}
.re-company-desc{color:var(--re-muted);font-size:.88rem;margin:0}
.re-company-stats{list-style:none;padding:0;margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem;color:var(--re-muted)}
.re-company-stats strong{color:var(--re-text);font-family:var(--re-font-h)}
.re-company-hero{position:relative;padding:28px 0 26px;margin-bottom:28px;border-bottom:1px solid var(--re-line);overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--re-bg) 40%,transparent),var(--re-bg) 96%),var(--cover,none) center/cover no-repeat,radial-gradient(700px 280px at 90% 0,color-mix(in srgb,var(--kc) 32%,transparent),transparent 70%),var(--re-bg)}
.re-company-head{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:6px}
.re-company-head h1{font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:700;margin-top:6px}
.re-company-actions{display:flex;gap:8px;flex-wrap:wrap}
.re-company-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:22px 0 0}
.re-company-kpis div{background:color-mix(in srgb,var(--re-card) 78%,transparent);border:1px solid var(--re-line);border-radius:16px;padding:12px 16px}
.re-company-kpis dt{font-family:var(--re-font-h);font-size:1.5rem;color:var(--kc,var(--re-primary));line-height:1.1}.re-company-kpis dd{margin:2px 0 0;color:var(--re-muted);font-size:.84rem}
.re-company-data{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:.9rem}
.re-company-data li{display:grid;grid-template-columns:22px 90px 1fr;align-items:baseline;gap:8px}
.re-company-data i{color:var(--re-primary)}.re-company-data span{color:var(--re-muted)}.re-company-data strong{font-weight:600;overflow-wrap:anywhere}
.min-w-0{min-width:0}
/* Etapas de obra */
.re-stage-tabs{display:flex;gap:8px;flex-wrap:wrap}
.re-stage-pill{display:inline-flex;align-items:center;gap:6px;padding:.38rem .85rem;border-radius:999px;border:1px solid var(--re-line);color:var(--re-text);font-size:.86rem;font-weight:600;background:var(--re-card);text-decoration:none!important}
.re-stage-pill i{color:var(--re-secondary)}
.re-stage-pill:hover{border-color:var(--re-secondary);color:var(--re-secondary)}
.re-stage-pill.active{background:var(--re-secondary);border-color:var(--re-secondary);color:#fff}.re-stage-pill.active i{color:#fff}
.re-chip-stage{top:auto;bottom:12px;left:12px;max-width:calc(100% - 24px);background:rgba(8,13,40,.82);color:#fff;border:1px solid rgba(255,255,255,.16)}
.re-chip-stage.with-status{bottom:44px}
.re-chip-stage.st-pozo i{color:#C4B5FD}.re-chip-stage.st-construccion i{color:#FCD34D}.re-chip-stage.st-terminado i{color:#5EEAD4}
.re-chip-stage.static{background:color-mix(in srgb,var(--re-secondary) 16%,transparent);color:var(--re-text);border-color:color-mix(in srgb,var(--re-secondary) 40%,transparent)}
.re-progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(8,13,40,.55)}
.re-progress span,.re-progress-lg span{display:block;height:100%;background:linear-gradient(90deg,var(--re-secondary),var(--re-primary));border-radius:inherit}
.re-progress-lg{height:10px;border-radius:999px;background:var(--re-card-2);overflow:hidden}
.re-project-name{font-size:.78rem;font-weight:700;color:var(--re-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}
[data-bs-theme="light"] .re-project-name{color:#6D28D9}
.re-project{border-color:color-mix(in srgb,var(--re-secondary) 40%,var(--re-line));background:radial-gradient(420px 160px at 100% 0,color-mix(in srgb,var(--re-secondary) 14%,transparent),transparent 70%),var(--re-card)}
.re-note-fin{display:flex;gap:10px;background:color-mix(in srgb,var(--re-primary) 10%,transparent);border-color:color-mix(in srgb,var(--re-primary) 35%,transparent);margin-bottom:0}.re-note-fin i{color:var(--re-primary);font-size:1.2rem}
/* Alta de empresas */
.re-kind-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.re-kind-option{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:18px;border:1.5px solid var(--re-line);background:var(--re-card-2);cursor:pointer;height:100%;transition:border-color .2s,background .2s}
.re-kind-option i{font-size:1.5rem;color:var(--kc)}.re-kind-option strong{font-family:var(--re-font-h)}.re-kind-option small{color:var(--re-muted);font-size:.8rem;line-height:1.35}
.re-kind-option:hover{border-color:color-mix(in srgb,var(--kc) 60%,transparent)}
.btn-check:checked+.re-kind-option{border-color:var(--kc);background:color-mix(in srgb,var(--kc) 14%,var(--re-card-2));box-shadow:0 0 0 3px color-mix(in srgb,var(--kc) 22%,transparent)}
.btn-check:focus-visible+.re-kind-option{outline:2px solid var(--kc);outline-offset:2px}
.re-form-card legend{font-family:var(--re-font-h);font-weight:700;margin-bottom:12px}
.re-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:.9rem}
.re-checklist li{position:relative;padding-left:26px}.re-checklist li::before{content:"\F26E";font-family:bootstrap-icons;position:absolute;left:0;color:var(--re-primary)}
.re-cta-companies{background:radial-gradient(600px 220px at 100% 0,color-mix(in srgb,var(--re-warning) 22%,transparent),transparent 70%),linear-gradient(120deg,color-mix(in srgb,var(--re-secondary) 35%,var(--re-card)),var(--re-card))}
@media (min-width:576px){.w-sm-auto{width:auto!important}}
@media (max-width:767px){
  .re-kind-picker{grid-template-columns:1fr}
  .re-kind-option{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:10px}.re-kind-option small{flex-basis:100%}
  .re-company-head{align-items:flex-start}.re-company-logo.lg{width:72px;height:72px;border-radius:20px}
  .re-company-actions{width:100%}.re-company-actions .btn-wa{flex:1}
  .re-company-kpis{grid-template-columns:repeat(2,1fr)}
  .re-company-data li{grid-template-columns:22px 80px 1fr}
  .re-companies{grid-template-columns:1fr}
}
/* Habilitación: corredor matriculado / agente con mandato */
.re-verified{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--re-primary);background:color-mix(in srgb,var(--re-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--re-primary) 35%,transparent);padding:.2rem .65rem;border-radius:999px;margin-bottom:6px}
.re-verified.mandate{color:var(--re-accent);background:color-mix(in srgb,var(--re-accent) 12%,transparent);border-color:color-mix(in srgb,var(--re-accent) 35%,transparent)}
.re-lic{color:var(--re-muted);font-size:.78rem;line-height:1.35;margin-top:2px}.re-lic i{color:var(--re-primary)}
/* Pestañas de Fotos / Planos / Videos / 360° */
.re-media-tabs{display:flex;gap:8px;margin:0 0 12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.re-media-tabs::-webkit-scrollbar{display:none}
.re-media-tab{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--re-line);background:var(--re-card);color:var(--re-text);font-weight:600;font-size:.92rem}
.re-media-tab span{font-size:.72rem;background:var(--re-card-2);color:var(--re-muted);padding:.05rem .45rem;border-radius:999px}
.re-media-tab:hover{border-color:var(--re-primary);color:var(--re-primary)}
.re-media-tab.active{background:var(--re-primary);border-color:var(--re-primary);color:var(--re-on-primary)}.re-media-tab.active span{background:rgba(3,36,29,.18);color:var(--re-on-primary)}
.re-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.re-plan{position:relative;display:block;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--re-line)}
.re-plan img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .3s}
.re-plan:hover img{transform:scale(1.03)}
.re-plan span{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;background:rgba(8,13,40,.85);color:#fff;font-size:.82rem;font-weight:600;padding:.3rem .7rem;border-radius:999px}
.re-plan-pdf{display:grid;place-items:center;background:var(--re-card-2);color:var(--re-secondary);text-decoration:none!important}.re-plan-pdf>i{font-size:3.4rem}
.re-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.re-video{margin:0}.re-video .ratio{border-radius:18px;overflow:hidden;background:#000}.re-video video{width:100%;height:100%;object-fit:contain;background:#000}
.re-video figcaption{margin-top:6px;color:var(--re-muted);font-size:.9rem}
.re-lb-zoom{position:absolute;top:10px;right:60px;height:auto!important;font-size:1.4rem!important;z-index:2}
.re-lightbox.is-plan img{background:#fff;padding:8px}
.re-lightbox.zoomed figure{overflow:auto;max-height:90vh;max-width:100%;cursor:zoom-out;grid-column:1/-1}
.re-lightbox.zoomed img{max-width:none;max-height:none;width:220%}
.re-lightbox.zoomed .re-lb-prev,.re-lightbox.zoomed .re-lb-next{display:none}
@media (max-width:640px){.re-plans{grid-template-columns:1fr 1fr;gap:10px}.re-plan span{font-size:.72rem;left:6px;bottom:6px}.re-lightbox{grid-template-columns:36px 1fr 36px}.re-lightbox.zoomed img{width:300%}}
.re-cms .legal-notice{font-size:.78rem;line-height:1.5;padding:12px 14px;border:1px solid var(--re-line);border-radius:12px;background:var(--re-card-2);color:var(--re-muted)}
/* Mandato del agente inmobiliario broker */
.re-mandate{border:1px solid color-mix(in srgb,var(--re-accent) 40%,var(--re-line));background:color-mix(in srgb,var(--re-accent) 8%,var(--re-card));border-radius:16px;padding:16px}
.re-mandate-types{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.re-mandate-opt{display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;border:1.5px solid var(--re-line);background:var(--re-card-2);cursor:pointer;margin:0}
.re-mandate-opt i{font-size:1.4rem;color:var(--re-accent)}.re-mandate-opt strong{display:block}.re-mandate-opt small{color:var(--re-muted);font-size:.78rem;line-height:1.3}
.btn-check:checked+.re-mandate-opt{border-color:var(--re-accent);background:color-mix(in srgb,var(--re-accent) 16%,var(--re-card-2));box-shadow:0 0 0 3px color-mix(in srgb,var(--re-accent) 22%,transparent)}
@media (max-width:575px){.re-mandate-types{grid-template-columns:1fr}}

/* Asistente 24/7 */
.re-chat{position:fixed;bottom:22px;z-index:1049}.re-chat-left{left:22px}.re-chat-right{right:22px}
.re-chat-btn{display:flex;align-items:center;gap:8px;height:56px;padding:0 18px;border:0;border-radius:28px;background:linear-gradient(135deg,var(--re-primary),var(--re-secondary));color:var(--re-bg);font-weight:700;box-shadow:0 10px 30px -8px rgba(46,207,176,.6);font-size:1rem}
.re-chat-btn i{font-size:1.35rem}
.re-chat-panel{position:absolute;bottom:68px;width:min(370px,calc(100vw - 32px));height:min(540px,calc(100vh - 120px));background:var(--re-card);color:var(--re-text);border:1px solid var(--re-line);border-radius:18px;box-shadow:var(--re-shadow);display:flex;flex-direction:column;overflow:hidden}
.re-chat-left .re-chat-panel{left:0}.re-chat-right .re-chat-panel{right:0}
.re-chat-panel[hidden]{display:none}
.re-chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--re-bg);color:#fff;border-bottom:3px solid var(--re-primary)}
.re-chat-head small{display:block;opacity:.7;font-size:.75rem}
.re-chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.re-msg{max-width:88%;padding:9px 12px;border-radius:14px;font-size:.92rem;line-height:1.4;white-space:pre-line;word-wrap:break-word}
.re-msg-bot{background:var(--re-surface-2,rgba(123,92,234,.12));align-self:flex-start;border-bottom-left-radius:4px}
.re-msg-user{background:var(--re-primary);color:var(--re-bg);align-self:flex-end;border-bottom-right-radius:4px}
.re-msg-cards{display:flex;flex-direction:column;gap:6px;align-self:stretch}
.re-msg-card{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid var(--re-line);border-radius:12px;color:inherit;text-decoration:none;background:var(--re-card)}
.re-msg-card:hover{border-color:var(--re-primary);text-decoration:none;color:inherit}
.re-msg-card img,.re-msg-card .ph{width:64px;height:50px;object-fit:cover;border-radius:8px;flex:none;background:var(--re-line)}
.re-msg-card b{display:block;font-size:.85rem;line-height:1.2}.re-msg-card small{color:var(--re-primary);font-weight:700}
.re-msg-opts{display:flex;flex-wrap:wrap;gap:6px}.re-msg-opts button{border:1px solid var(--re-primary);background:transparent;color:inherit;border-radius:16px;padding:4px 10px;font-size:.82rem}
.re-chat-consent{padding:8px 14px;border-top:1px solid var(--re-line)}.re-chat-consent[hidden]{display:none}
.re-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--re-line)}.re-chat-form input{flex:1;border-radius:20px;border:1px solid var(--re-line);padding:8px 14px;background:transparent;color:inherit}
.re-chat-form .btn{border-radius:50%;width:42px;height:42px;padding:0}
.re-typing::after{content:"…";animation:re-dots 1s steps(3) infinite}
@keyframes re-dots{0%{content:"."}50%{content:".."}100%{content:"..."}}
@media (max-width:767px){.re-chat-btn{height:52px;width:52px;padding:0;justify-content:center}.re-chat{bottom:18px}.re-chat-left{left:16px}.re-chat-right{right:16px}}
@media (max-width:991px){body:has(.re-mobile-cta) .re-chat{bottom:84px}}
/* Tasación, zonas y blog */
.re-val-result{border:1px solid var(--re-line);border-radius:18px;padding:22px;background:var(--re-card)}
.re-val-range{display:flex;justify-content:space-between;gap:10px;text-align:center;flex-wrap:wrap}.re-val-range div{flex:1;min-width:110px}.re-val-range strong{display:block;font-size:1.35rem;font-family:var(--re-font-h)}
.re-val-range .mid strong{color:var(--re-primary);font-size:1.7rem}
.re-post-card{border:1px solid var(--re-line);border-radius:16px;padding:18px;height:100%;background:var(--re-card);display:block;color:inherit}
.re-post-card:hover{border-color:var(--re-primary);text-decoration:none;color:inherit}

/* =====================================================================
   RedEdith 1.5 — Videos emotivos (tarjetas, Historias, sección Videos,
   bloque de la ficha y video de fondo de la portada)
   ===================================================================== */
.re-nav-videos{white-space:nowrap}

/* Tarjeta: el video aparece sobre la foto mientras se reproduce */
.re-card-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;pointer-events:none}
[data-video-card].is-playing .re-card-video{opacity:1}
[data-video-card].is-playing .re-card-media img{transform:none}
.re-chip-video{left:auto;right:12px;top:auto;bottom:12px;background:rgba(8,13,40,.72);color:#fff;border:1px solid rgba(255,255,255,.18)}
.re-chip-video i{color:var(--re-primary)}
[data-video-card].is-playing .re-chip-video i{animation:re-vpulse 1.2s ease-in-out infinite;color:#ff5a72}
@keyframes re-vpulse{50%{opacity:.35}}
.re-card-phrase{margin:2px 0 0;font-family:var(--re-font-h);font-size:.9rem;font-style:italic;line-height:1.35;color:color-mix(in srgb,var(--re-text) 82%,var(--re-primary));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.re-card.has-video{border-color:color-mix(in srgb,var(--re-primary) 22%,var(--re-line))}

/* Historias en video (portada) y grilla de la sección Videos */
.re-stories-grid{display:grid;grid-template-columns:1.55fr 1fr;grid-template-rows:repeat(3,auto);gap:18px}
.re-stories-grid .re-vtile.is-big{grid-row:1 / span 3}
.re-stories-grid.is-single{grid-template-columns:1fr}
.re-stories-grid .re-vtile:not(.is-big){display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);align-items:stretch}
.re-stories-grid .re-vtile:not(.is-big) .re-vtile-media{aspect-ratio:auto;min-height:150px;border-radius:18px 0 0 18px}
.re-stories-grid .re-vtile:not(.is-big) .re-vtile-text strong{font-size:.95rem;-webkit-line-clamp:3}
.re-stories-grid .re-vtile:not(.is-big) .re-vtile-eyebrow{display:none}
.re-stories-grid .re-vtile:not(.is-big) .re-vtile-body{flex-direction:column;align-items:flex-start;justify-content:space-between}
.re-stories-grid .re-vtile:not(.is-big) .re-vtile-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.re-stories-grid .re-vtile:not(.is-big) .re-vtile-text strong{font-size:.9rem}
@media (max-width:900px){.re-stories-grid{grid-template-columns:1fr}.re-stories-grid .re-vtile.is-big{grid-row:auto}}
@media (max-width:520px){.re-stories-grid .re-vtile:not(.is-big){grid-template-columns:1fr}.re-stories-grid .re-vtile:not(.is-big) .re-vtile-media{aspect-ratio:16/9;border-radius:18px 18px 0 0}}

.re-vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:20px}
.re-vtile{position:relative;display:flex;flex-direction:column;background:var(--re-card);border:1px solid var(--re-line);border-radius:20px;overflow:hidden;min-width:0;transition:transform .2s,box-shadow .2s}
.re-vtile:hover{transform:translateY(-3px);box-shadow:var(--re-shadow)}
.re-vtile-media{position:relative;display:block;width:100%;aspect-ratio:16/10;padding:0;border:0;background:linear-gradient(135deg,var(--re-card-2),color-mix(in srgb,var(--re-secondary) 22%,var(--re-card-2)));overflow:hidden;cursor:pointer;text-align:left;color:#fff}
.re-vtile.is-big .re-vtile-media{aspect-ratio:auto;flex:1;min-height:340px}
.re-vtile-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.re-vtile-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,25,0) 35%,rgba(5,8,25,.82) 100%)}
.re-vtile-play{position:absolute;top:14px;right:14px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--re-primary);color:var(--re-on-primary);font-size:1.4rem;box-shadow:0 8px 24px -8px rgba(0,0,0,.6);transition:transform .2s}
.re-vtile:hover .re-vtile-play,.re-vtile-media:focus-visible .re-vtile-play{transform:scale(1.1)}
.re-vtile-text{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.re-vtile-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7EF0D9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.re-vtile-text strong{font-family:var(--re-font-h);font-weight:600;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.2;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.re-vtile.is-big .re-vtile-text strong{font-size:clamp(1.4rem,2.8vw,2.1rem)}
.re-vtile-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.re-vtile-title{font-size:.95rem;font-weight:600;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.re-vtile-title a{color:var(--re-text)}
.re-vtile .re-price{font-size:1rem}
.min-w-0{min-width:0}

/* Sección Videos: filtros */
.re-videos-head h1{max-width:20ch}
.re-vfilters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:22px}
.re-vchips{display:flex;flex-wrap:wrap;gap:6px}
.re-vchip{display:inline-flex;align-items:center;padding:.38rem .85rem;border-radius:999px;border:1px solid var(--re-line);background:var(--re-card);color:var(--re-text);font-size:.86rem;font-weight:600}
.re-vchip:hover{text-decoration:none;border-color:var(--re-primary)}
.re-vchip.is-on{background:var(--re-primary);border-color:var(--re-primary);color:var(--re-on-primary)}
.re-vtype{min-width:180px}
.re-vcount{margin-left:auto;color:var(--re-muted);font-size:.86rem;font-variant-numeric:tabular-nums}

/* Ventana de video */
.re-vmodal{position:fixed;inset:0;z-index:1080;background:rgba(3,6,20,.86);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.re-vmodal[hidden]{display:none}
body.re-vmodal-open{overflow:hidden}
.re-vmodal-box{position:relative;width:min(980px,100%);background:var(--re-card);border:1px solid var(--re-line);border-radius:20px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.re-vmodal-stage{aspect-ratio:16/9;background:#000}
.re-vmodal-stage video,.re-vmodal-stage iframe{width:100%;height:100%;border:0;display:block;object-fit:contain}
.re-vmodal-x{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:1.1rem}
.re-vmodal-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}
.re-vmodal-phrase{margin:0 0 4px;font-family:var(--re-font-h);font-style:italic;color:var(--re-primary)}
.re-vmodal-phrase:empty{display:none}

/* Ficha: bloque emotivo con el video */
.re-cine{position:relative;border-radius:22px;overflow:hidden;margin:4px 0 16px;min-height:clamp(240px,40vw,440px);display:flex;align-items:flex-end;background:linear-gradient(135deg,#0B1233,#1b1250);color:#fff}
.re-cine-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.re-cine-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,25,.82) 0%,rgba(5,8,25,.45) 45%,rgba(5,8,25,.05) 100%),linear-gradient(0deg,rgba(5,8,25,.7),transparent 55%)}
.re-cine-copy{position:relative;padding:clamp(18px,3vw,36px);max-width:640px;display:flex;flex-direction:column;gap:12px}
.re-cine .re-eyebrow{color:#7EF0D9;background:rgba(46,207,176,.14);border-color:rgba(46,207,176,.35);align-self:flex-start}
.re-cine-phrase{margin:0;font-family:var(--re-font-h);font-weight:600;font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.12;text-wrap:balance}
.re-prop-phrase{font-family:var(--re-font-h);font-style:italic;font-size:1.1rem;color:color-mix(in srgb,var(--re-text) 80%,var(--re-primary));margin:6px 0 0}

/* Portada: video de fondo */
.re-hero.has-video{isolation:isolate}
.re-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.re-hero-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--re-bg) 92%,transparent) 0%,color-mix(in srgb,var(--re-bg) 70%,transparent) 50%,color-mix(in srgb,var(--re-bg) 35%,transparent) 100%),linear-gradient(0deg,var(--re-bg),transparent 40%)}
.re-hero-vlink{display:inline-flex;align-items:center;gap:8px;margin:-8px 0 18px;padding:.45rem .9rem;border-radius:999px;background:color-mix(in srgb,var(--re-card) 75%,transparent);border:1px solid var(--re-line);color:var(--re-text);font-weight:600;font-size:.9rem;max-width:100%;backdrop-filter:blur(8px)}
.re-hero-vlink span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.re-hero-vlink i:first-child{color:var(--re-primary);font-size:1.1rem}
@media (prefers-reduced-motion:reduce){.re-card-video,.re-vtile,.re-vtile-play{transition:none}[data-video-card].is-playing .re-chip-video i{animation:none}}
