
/* =========================================================
   PORTAL URBANO PREMIUM 1.0
   Identidad: negro + blanco + rojo corporativo
   Aplica portada, catálogo, ficha y páginas internas.
========================================================= */
:root{
  --pu-red:#d71920;
  --pu-red-strong:#bd0d18;
  --pu-black:#0c0d0f;
  --pu-black-2:#17181b;
  --pu-gray:#6f737b;
  --pu-line:#e6e7ea;
  --pu-soft:#f7f7f8;
  --pu-gold:#f4b41a;
  --pu-shadow:0 2px 6px rgba(15,18,24,.08),0 12px 28px rgba(15,18,24,.05);
}
html{scroll-behavior:smooth}
body{font-family:"DM Sans","Manrope",sans-serif!important;color:#17181b;background:#fff}
a{color:inherit}
.pu-heading-accent{color:var(--pu-red)}
.pu-script-red{font-family:"Caveat",cursive;font-size:1.22em;color:var(--pu-red);font-weight:700;letter-spacing:.01em}
.section-kicker{color:var(--pu-red)!important;letter-spacing:.14em!important;font-weight:800!important}
.section-title{color:#17181b!important}
.pu-section-link{font-size:.78rem;font-weight:800;color:var(--pu-red);text-decoration:underline;text-underline-offset:4px}

/* NAV */
.nav-accent-line{position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--pu-red),var(--pu-red) 70%,#f3b116)}
.main-navbar,.premium-navbar{
  background:rgba(255,255,255,.985)!important;
  border-bottom:1px solid rgba(16,18,20,.08)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.08)!important;
}
.main-navbar .navbar-brand,.premium-navbar .navbar-brand{width:180px!important;min-width:180px!important;height:70px!important;margin-right:20px!important;padding:3px 0!important}
.main-navbar .navbar-brand img,.premium-navbar .brand-logo{width:172px!important;height:62px!important;object-fit:contain!important;background:#fff!important}
.main-navbar.scrolled .navbar-brand,.premium-navbar.scrolled .navbar-brand{height:58px!important}
.main-navbar.scrolled .navbar-brand img,.premium-navbar.scrolled .brand-logo{width:150px!important;height:52px!important}
.nav-menu-shell{background:#fff;border:1px solid #e7e7e8;border-radius:17px;box-shadow:0 2px 10px rgba(0,0,0,.07);padding:3px 7px}
.navbar-nav .nav-link{font-size:.84rem!important;font-weight:700!important;color:#28282b!important;padding:.72rem .72rem!important}
.navbar-nav .nav-link:after{background:var(--pu-red)!important}
.navbar-nav .nav-link.active{color:var(--pu-red)!important}
.nav-phone,.btn-nav-cta{
  background:var(--pu-red)!important;color:#fff!important;border-color:var(--pu-red)!important;
  border-radius:9px!important;box-shadow:0 7px 16px rgba(215,25,32,.2)!important;
}
.nav-phone small{display:none!important}.nav-phone strong{font-size:.78rem!important}
.btn-nav-cta{display:none!important}

/* HERO */
.hero-slide{min-height:520px!important}
.hero-slide:before{
  background:linear-gradient(90deg,rgba(8,10,13,.86) 0%,rgba(8,10,13,.64) 35%,rgba(8,10,13,.18) 68%,rgba(8,10,13,.04) 100%)!important
}
.hero-content{max-width:590px!important}
.hero-kicker{font-size:.71rem!important;letter-spacing:.16em!important;color:#fff!important}
.hero-kicker:before{background:var(--pu-red)!important;box-shadow:none!important}
.hero-title{font-size:clamp(3rem,4.8vw,5rem)!important;line-height:.92!important;letter-spacing:-.045em!important;font-weight:800!important}
.hero-title .hero-accent{
  display:inline-block!important;
  font-family:"Caveat",cursive!important;
  color:var(--pu-red)!important;
  font-weight:700!important;
  font-size:1.17em!important;
  letter-spacing:.01em!important;
  line-height:.78!important;
  transform:rotate(-1deg);
  margin-top:.06em;
  text-shadow:0 3px 18px rgba(0,0,0,.18);
}
.hero-description{max-width:520px!important;font-size:.92rem!important;line-height:1.6!important}
.hero-btn{border-radius:7px!important;min-height:46px!important;font-size:.8rem!important}
.hero-btn-light{background:var(--pu-red)!important;border-color:var(--pu-red)!important;color:#fff!important}
.hero-btn-light i{color:#fff!important}
.hero-btn-light:hover{background:var(--pu-red-strong)!important;border-color:var(--pu-red-strong)!important;color:#fff!important}
.hero-btn-dark{background:rgba(10,11,13,.78)!important;border-color:rgba(255,255,255,.65)!important;color:#fff!important}
.hero-btn-dark i{color:#fff!important}
.hero-carousel .carousel-indicators .active{background:var(--pu-red)!important}

/* SEARCH */
.search-section{margin-top:-34px!important}
.search-card{
  border:1px solid #e4e5e7!important;border-radius:14px!important;box-shadow:var(--pu-shadow)!important;
  padding:15px!important;background:rgba(255,255,255,.985)!important
}
.form-label-small,.toolbar-label{color:var(--pu-red)!important;font-size:.64rem!important}
.premium-control,.toolbar-select{border-color:#dedfe2!important;border-radius:8px!important;min-height:45px!important}
.premium-control:focus,.toolbar-select:focus{border-color:var(--pu-red)!important;box-shadow:0 0 0 .15rem rgba(215,25,32,.1)!important}
.search-btn,.map-btn,.detail-btn,.btn-brand{
  background:var(--pu-red)!important;border-color:var(--pu-red)!important;color:#fff!important;border-radius:8px!important
}
.search-btn:hover,.map-btn:hover,.detail-btn:hover,.btn-brand:hover{background:var(--pu-red-strong)!important;border-color:var(--pu-red-strong)!important;color:#fff!important}

/* LISTINGS */
.section-space{padding:56px 0!important}.section-space-sm{padding:48px 0!important}
.property-section-header{border-bottom:0!important;padding-bottom:8px!important;margin-bottom:18px!important}
.property-section-header .section-title{font-size:clamp(1.8rem,2.45vw,2.4rem)!important;letter-spacing:-.045em!important}
.currency-toggle{border-color:var(--pu-red)!important;height:40px!important}
.currency-btn{color:var(--pu-red)!important}.currency-btn.active{background:var(--pu-red)!important;color:#fff!important}
.map-btn{height:40px!important}
.property-track{gap:13px!important}
.property-card{
  border:1px solid #e1e2e5!important;border-radius:11px!important;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 3px 8px rgba(0,0,0,.04)!important
}
.property-card:hover{transform:translateY(-4px)!important;box-shadow:0 8px 24px rgba(0,0,0,.10)!important}
.property-photo{height:190px!important}
.property-badge{background:var(--pu-red)!important;border-radius:5px!important;font-size:.58rem!important;min-height:24px!important;padding:0 8px!important}
.property-status-ribbon--sale{background:#f3b31b!important;color:#151515!important}
.property-status-ribbon--rent{background:#1594d2!important;color:#fff!important}
.property-body{padding:13px 13px 10px!important}
.property-title{font-size:.92rem!important;line-height:1.18!important;text-transform:uppercase}
.property-location{margin-bottom:8px!important;font-size:.68rem!important}
.property-price{color:var(--pu-red)!important;font-size:.98rem!important;margin-bottom:8px!important}
.property-description{font-size:.68rem!important;min-height:48px!important;line-height:1.5!important}
.property-features{gap:5px!important}
.feature-item{background:#f1f3f6!important;min-height:31px!important;border-radius:7px!important}
.property-card-footer{min-height:50px!important;padding:8px 12px!important}
.property-brand-logo{border-color:#e0e1e3!important;border-radius:5px!important}
.property-brand span{display:none}
.detail-btn{padding:8px 14px!important;font-size:.72rem!important}
.property-carousel-arrow{border:1px solid rgba(215,25,32,.25)!important;color:var(--pu-red)!important;background:#fff!important;box-shadow:0 3px 12px rgba(0,0,0,.10)!important}
.property-dots button.active,.property-dots .active{background:var(--pu-red)!important}
.pu-listing-section{background:#fff!important}

/* CTA / STATS / TESTIMONIALS */
.promo-banner,.campaign{
  border-radius:14px!important;overflow:hidden!important;
  box-shadow:0 12px 30px rgba(0,0,0,.12)!important
}
.promo-banner:before{background:linear-gradient(90deg,rgba(7,8,10,.92),rgba(125,8,12,.72),rgba(215,25,32,.12))!important}
.stats{border:1px solid #e1e2e4!important;border-radius:13px!important;box-shadow:0 3px 12px rgba(0,0,0,.05)!important}
.stat i,.stat-number{color:var(--pu-red)!important}
.testimonials-sahr{background:linear-gradient(90deg,#fffaf7,#fff,#fffaf7)!important}
.testimonial-card-sahr{border-radius:12px!important;border:1px solid #e7ddd8!important;box-shadow:0 2px 8px rgba(0,0,0,.05)!important}
.testimonial-stars-sahr{color:#f0aa00!important}

/* Trust and social */
.pu-trust-section{padding:44px 0;background:linear-gradient(135deg,#111318,#182032);color:#fff}
.pu-trust-head .section-kicker{color:#f4b41a!important}.pu-trust-head h2{font-weight:800;letter-spacing:-.04em;margin-bottom:24px}
.pu-trust-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pu-trust-card{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);border-radius:13px;padding:18px;text-align:center;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.pu-trust-card i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(215,25,32,.55);color:#ff5257;font-size:1.15rem}
.pu-trust-card strong{font-size:.78rem}.pu-trust-card span{font-size:.66rem;color:#d3d6dd;line-height:1.45}
.pu-social-strip{background:linear-gradient(90deg,#c80f16,#e20f17);color:#fff;padding:14px 0}
.pu-social-strip strong{font-size:.82rem}.pu-social-strip span{font-size:.72rem}
.pu-social-icons{display:flex;gap:10px}.pu-social-icons a{width:33px;height:33px;border:1px solid rgba(255,255,255,.72);border-radius:50%;display:grid;place-items:center;color:#fff}

/* FOOTER */
.site-footer{background:linear-gradient(135deg,#121212,#1f1f20)!important;color:#fff!important}
.footer-top-line{background:var(--pu-red)!important;height:3px!important}
.footer-brand-v7 img{background:#fff!important;border-radius:7px!important;padding:6px!important;max-width:210px!important}
.site-footer h3{color:#fff!important}
.site-footer a{color:#e5e5e6!important}.site-footer a:hover{color:#fff!important}
.social-links-v7 a{border-color:#555!important}.social-links-v7 a:hover{background:var(--pu-red)!important;border-color:var(--pu-red)!important}
.footer-bottom-v7{border-color:#343436!important}
.float-whatsapp,.whatsapp-btn{background:var(--pu-red)!important}
.float-top,.scroll-top-btn{background:#111!important;color:#fff!important}

/* INTERNAL PAGES */
.internal-hero,.catalog-hero,.detail-hero,.contact-hero{background:linear-gradient(135deg,#111318,#25282e)!important}
.internal-hero .section-kicker,.catalog-hero .section-kicker,.detail-hero .section-kicker{color:#ff4b50!important}
.premium-card,.contact-card,.catalog-card,.detail-title-card,.sticky-contact{border-color:#e1e2e5!important;box-shadow:var(--pu-shadow)!important}
.btn-outline-brand{color:var(--pu-red)!important;border-color:var(--pu-red)!important}
.btn-outline-brand:hover{background:var(--pu-red)!important;color:#fff!important}
.text-danger{color:var(--pu-red)!important}

/* responsive */
@media (max-width:1199.98px){
 .pu-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .nav-menu-shell{box-shadow:none;border:0;border-radius:0;padding:0}
}
@media (max-width:991.98px){
 body{padding-top:80px!important}
 .main-navbar,.premium-navbar{min-height:80px!important}
 .main-navbar .navbar-brand,.premium-navbar .navbar-brand{width:145px!important;min-width:145px!important;height:68px!important}
 .main-navbar .navbar-brand img,.premium-navbar .brand-logo{width:138px!important;height:58px!important}
 .navbar-collapse{background:#fff;border-radius:0 0 14px 14px;padding:12px;box-shadow:0 15px 28px rgba(0,0,0,.12)}
 .hero-slide{min-height:590px!important}
 .hero-title{font-size:clamp(2.8rem,9vw,4.2rem)!important}
 .search-section{margin-top:-24px!important}
}
@media (max-width:767.98px){
 .section-space,.section-space-sm{padding:38px 0!important}
 .hero-slide{min-height:565px!important;align-items:flex-start!important}
 .hero-content{padding-top:78px!important;max-width:94%!important}
 .hero-slide:before{background:linear-gradient(90deg,rgba(6,8,10,.86),rgba(6,8,10,.58),rgba(6,8,10,.16))!important}
 .hero-title{font-size:clamp(2.55rem,12.2vw,4rem)!important;line-height:.91!important}
 .hero-title .hero-accent{font-size:1.12em!important}
 .hero-description{font-size:.82rem!important;max-width:92%!important}
 .property-photo{height:205px!important}
 .property-slide{flex-basis:86%!important}
 .pu-trust-grid{grid-template-columns:1fr}
 .pu-trust-card{min-height:100px}
 .property-section-header{align-items:flex-start!important}
}

/* === Parche v4: huinchas y comparar === */
.property-status-ribbon--sale,
.ribbon-sale-v27,
.sale-ribbon-v8.ribbon-sale-v27{
  background:#e21d23!important;
  color:#fff!important;
}
.property-status-ribbon--rent,
.ribbon-rent-v27,
.sale-ribbon-v8.ribbon-rent-v27{
  background:#f0b31a!important;
  color:#1a1a1a!important;
}

.property-price-main{font-size:1.05rem!important;font-weight:900!important;color:var(--pu-red)!important;line-height:1.1!important;margin-bottom:10px!important}
.property-description{display:none!important}
.property-brand,.property-brand-mini-v7{display:none!important}
.property-card-footer,
.property-compare-row-v7,
.property-card-footer-inline,
.property-brand-row-v7{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px solid #edf0f3!important;
}
.compare-check-v7{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  font-size:.88rem!important;
  font-weight:700!important;
  color:#445268!important;
  user-select:none!important;
  cursor:pointer!important;
  margin:0!important;
}
.compare-check-v7 input{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:22px!important;height:22px!important;
  border:2px solid #cfd6df!important;
  border-radius:8px!important;
  background:#fff!important;
  display:inline-grid!important;place-items:center!important;
  margin:0!important;
  transition:.18s ease!important;
}
.compare-check-v7 input:checked{
  border-color:var(--pu-red)!important;
  background:var(--pu-red)!important;
  box-shadow:0 0 0 4px rgba(226,29,35,.10)!important;
}
.compare-check-v7 input:checked::before{
  content:'\2713';
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
}
.compare-check-v7 span{line-height:1!important}
.detail-btn,
.property-detail-btn-v7{
  min-width:120px!important;
}
.property-track .property-card,
.catalog-list .property-card{
  min-height:unset!important;
}

.pu-compare-bar{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:1050;
  padding:12px 0;
  background:rgba(17,19,24,.96);
  backdrop-filter:blur(8px);
  box-shadow:0 -8px 22px rgba(0,0,0,.18);
}
.pu-compare-bar[hidden]{display:none!important}
.pu-compare-bar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#fff;
}
.pu-compare-bar-copy strong{display:flex;align-items:center;gap:8px;font-size:.95rem}
.pu-compare-bar-copy span{display:block;font-size:.78rem;color:#c8d0dc;margin-top:3px}
.pu-compare-bar-actions{display:flex;align-items:center;gap:10px}
.pu-compare-bar .btn{min-width:110px;border-radius:10px;font-weight:800}

.compare-modal-content{border:0!important;border-radius:18px!important;overflow:hidden!important}
.compare-modal-header{background:linear-gradient(135deg,#121316,#1e2128)!important;color:#fff!important;border-bottom:0!important}
.compare-modal-kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#f0b31a;margin-bottom:2px}
.compare-modal-empty{padding:18px;border:1px dashed #d6dce3;border-radius:14px;color:#687789;text-align:center}
.compare-table th{white-space:nowrap;width:170px;background:#f8f9fb;color:#384456;font-weight:800}
.compare-table td{min-width:220px;vertical-align:top}
.compare-card-mini{display:flex;gap:12px;align-items:flex-start}
.compare-card-mini img{width:84px;height:70px;object-fit:cover;border-radius:12px;border:1px solid #e5e8ee}
.compare-card-mini strong{display:block;font-size:.95rem;line-height:1.25;margin-bottom:4px}
.compare-card-mini .mini-location{font-size:.78rem;color:#69778b}
.compare-remove-btn{border:0;background:transparent;color:var(--pu-red);font-weight:800;padding:0;margin-top:6px}
.compare-open-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;background:var(--pu-red);color:#fff!important;text-decoration:none;font-weight:800;white-space:nowrap}
.compare-open-link:hover{background:#bf1016!important;color:#fff!important}

@media (max-width: 767.98px){
  .pu-compare-bar-inner{flex-direction:column;align-items:flex-start}
  .pu-compare-bar-actions{width:100%}
  .pu-compare-bar .btn{flex:1}
  .compare-table th,.compare-table td{min-width:160px}
  .property-card-footer,.property-compare-row-v7,.property-card-footer-inline,.property-brand-row-v7{gap:8px!important}
  .detail-btn,.property-detail-btn-v7{min-width:106px!important}
}

/* === Portal Urbano v5: selección visual del comparador === */
.compare-check-v7.is-selected{color:var(--pu-red)!important}
.compare-check-v7.is-selected span{font-weight:900!important}
.pu-compare-bar-inner{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:16px!important}
.pu-compare-tray{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;overflow-x:auto;padding:2px 0;scrollbar-width:thin}
.pu-compare-tray-item{display:flex;align-items:center;gap:8px;flex:0 0 auto;max-width:210px;height:46px;padding:5px 8px 5px 5px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:.18s ease}
.pu-compare-tray-item:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}
.pu-compare-tray-item img{width:38px;height:36px;object-fit:cover;border-radius:8px;background:#252830}
.pu-compare-tray-item span{max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.71rem;font-weight:700}
.pu-compare-tray-item i{font-size:.72rem;color:#ff7c80}
#compareOpenBtn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}

@media (max-width: 991.98px){
  .pu-compare-bar-inner{grid-template-columns:1fr auto!important}
  .pu-compare-tray{grid-column:1/-1;grid-row:2}
}
@media (max-width: 575.98px){
  .pu-compare-bar{padding:10px 0!important}
  .pu-compare-bar-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
  .pu-compare-tray{order:2}
  .pu-compare-bar-actions{order:3;width:100%}
  .pu-compare-bar-copy{order:1}
  .pu-compare-tray-item{max-width:178px;height:42px}
  .pu-compare-tray-item img{width:34px;height:32px}
}

/* === Portal Urbano v6: comparador estable + redes flotantes + catálogo === */
.catalog-hero h1{color:#fff!important}
.catalog-hero .lead-copy,.catalog-hero p{color:#b9c3d1!important}
.catalog-hero .section-kicker{color:#1ea7e1!important}

.home-floating-socials{
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  z-index:1045;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.home-float-social{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff!important;
  text-decoration:none!important;
  font-size:1.35rem;
  border:3px solid #fff;
  box-shadow:0 7px 18px rgba(0,0,0,.22);
  transition:transform .2s ease,box-shadow .2s ease;
}
.home-float-social:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 10px 24px rgba(0,0,0,.28)}
.home-float-facebook{background:#1877f2}
.home-float-instagram{background:radial-gradient(circle at 30% 110%,#ffdb8b 0 18%,#f09433 28%,#e6683c 42%,#dc2743 58%,#cc2366 72%,#bc1888 84%,#405de6 100%)}
.home-float-tiktok{background:#070707;box-shadow:0 0 0 3px rgba(37,244,238,.35),0 7px 18px rgba(0,0,0,.22)}

body.has-compare-bar .floating-actions,
body.has-compare-bar .floating-actions-v9{bottom:92px!important}

/* fallback visual si Bootstrap no carga desde CDN */
#compareModal.pu-modal-fallback-open{
  position:fixed!important;
  inset:0!important;
  z-index:2000!important;
  display:block!important;
  overflow:auto!important;
  background:rgba(0,0,0,.64)!important;
  padding:24px!important;
}
#compareModal.pu-modal-fallback-open .modal-dialog{margin:4vh auto!important}
#compareModal.pu-modal-fallback-open .modal-content{box-shadow:0 24px 80px rgba(0,0,0,.32)!important}

@media (max-width:767.98px){
  .home-floating-socials{right:10px;top:52%;gap:8px}
  .home-float-social{width:43px;height:43px;font-size:1.16rem;border-width:2px}
  body.has-compare-bar .floating-actions,
  body.has-compare-bar .floating-actions-v9{bottom:150px!important}
}

/* =========================================================
   PORTAL URBANO V7 — correcciones finales de detalle,
   comparador, hero rojo y catálogo claro
   ========================================================= */

/* Identidad: no usar celeste/azul como acento de interfaz. */
body[data-page="inicio"] .hero-title .hero-accent,
body[data-page="inicio"] .pu-script-red,
body[data-page="inicio"] .section-title .pu-script-red{
  color:var(--pu-red)!important;
  text-shadow:0 3px 18px rgba(0,0,0,.16)!important;
}
body[data-page="inicio"] .hero-kicker::before,
body[data-page="inicio"] .hero-carousel .carousel-indicators .active{
  background:var(--pu-red)!important;
  box-shadow:0 0 14px rgba(215,25,32,.24)!important;
}
body[data-page="inicio"] .hero-accent,
body[data-page="inicio"] .hero-accent *{
  color:var(--pu-red)!important;
}

/* CATÁLOGO propiedades.php: encabezado claro, sin franja oscura ni celeste. */
body[data-page="propiedades"]{
  --brand:var(--pu-red)!important;
  --brand-dark:var(--pu-red-strong)!important;
  --brand-soft:#fff2f3!important;
  --ink:#17181b!important;
  --muted:#6f737b!important;
  --line:#e7e7ea!important;
  --page:#f7f7f8!important;
  color:#17181b!important;
  background:#f7f7f8!important;
}
body[data-page="propiedades"] .catalog-page{
  background:#f7f7f8!important;
}
body[data-page="propiedades"] .catalog-hero{
  background:#fff!important;
  color:#17181b!important;
  border:1px solid #e4e5e7!important;
  border-radius:18px!important;
  padding:26px 28px!important;
  box-shadow:0 7px 24px rgba(15,18,24,.06)!important;
  margin-bottom:22px!important;
}
body[data-page="propiedades"] .catalog-hero h1{
  color:#17181b!important;
  font-size:clamp(2.2rem,3vw,3.15rem)!important;
}
body[data-page="propiedades"] .catalog-hero .section-kicker,
body[data-page="propiedades"] .catalog-hero .lead-copy{
  color:var(--pu-red)!important;
}
body[data-page="propiedades"] .catalog-hero .lead-copy{
  color:#6f737b!important;
}
body[data-page="propiedades"] .btn-brand,
body[data-page="propiedades"] .btn-brand:visited,
body[data-page="propiedades"] .catalog-view-switch .btn.active,
body[data-page="propiedades"] .currency-toggle.active{
  background:var(--pu-red)!important;
  border-color:var(--pu-red)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(215,25,32,.16)!important;
}
body[data-page="propiedades"] .btn-brand:hover,
body[data-page="propiedades"] .btn-brand:focus{
  background:var(--pu-red-strong)!important;
  border-color:var(--pu-red-strong)!important;
}
body[data-page="propiedades"] .btn-outline-brand{
  border-color:#d7d9dd!important;
  color:#17181b!important;
  background:#fff!important;
}
body[data-page="propiedades"] .btn-outline-brand:hover{
  background:#fff2f3!important;
  border-color:var(--pu-red)!important;
  color:var(--pu-red)!important;
}
body[data-page="propiedades"] .catalog-filter .form-select:focus{
  border-color:var(--pu-red)!important;
  box-shadow:0 0 0 .2rem rgba(215,25,32,.10)!important;
}
body[data-page="propiedades"] .catalog-grid.catalog-view-map .catalog-list{
  scrollbar-color:rgba(215,25,32,.45) #f1f1f3!important;
}
body[data-page="propiedades"] .catalog-grid.catalog-view-map .catalog-list::-webkit-scrollbar-track{background:#f1f1f3!important}
body[data-page="propiedades"] .catalog-grid.catalog-view-map .catalog-list::-webkit-scrollbar-thumb{background:rgba(215,25,32,.48)!important}

/* FICHA detalle.php: tipografías más grandes y formulario más legible. */
body[data-page="detalle"] .sticky-contact .form-label{
  font-size:.88rem!important;
  font-weight:800!important;
  color:#42526a!important;
  margin-bottom:8px!important;
}
body[data-page="detalle"] .sticky-contact .form-control,
body[data-page="detalle"] .sticky-contact .form-select{
  min-height:52px!important;
  font-size:1rem!important;
  border-radius:12px!important;
}
body[data-page="detalle"] .sticky-contact textarea.form-control{
  min-height:150px!important;
  font-size:1rem!important;
  line-height:1.55!important;
}
body[data-page="detalle"] .quick-message-title{
  font-size:.93rem!important;
  font-weight:800!important;
}
body[data-page="detalle"] .quick-message-buttons button{
  font-size:.82rem!important;
  font-weight:700!important;
  padding:8px 12px!important;
}
body[data-page="detalle"] .contact-submit{
  min-height:50px!important;
  font-size:.92rem!important;
  font-weight:800!important;
}

/* FICHA: reparar carrusel de propiedades similares con la nueva card. */
body[data-page="detalle"]{
  --detail-blue:var(--pu-red)!important;
  --detail-cyan:var(--pu-red)!important;
  --detail-orange:var(--pu-red)!important;
}
body[data-page="detalle"] .similar-section .section-kicker,
body[data-page="detalle"] .similar-section .section-link,
body[data-page="detalle"] .similar-section .property-location i,
body[data-page="detalle"] .similar-section .property-price{
  color:var(--pu-red)!important;
}
body[data-page="detalle"] .similar-section .swiper-pagination-bullet-active{
  background:var(--pu-red)!important;
}
body[data-page="detalle"] .similar-section .swiper-slide{
  height:auto!important;
  display:flex!important;
}
body[data-page="detalle"] .similar-section .property-card{
  width:100%!important;
  height:100%!important;
  min-height:430px!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:15px!important;
  overflow:hidden!important;
}
body[data-page="detalle"] .similar-section .property-media{
  width:100%!important;
  height:190px!important;
  flex:0 0 190px!important;
  position:relative!important;
  overflow:hidden!important;
}
body[data-page="detalle"] .similar-section .property-media>a,
body[data-page="detalle"] .similar-section .property-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
body[data-page="detalle"] .similar-section .property-media img{
  object-fit:cover!important;
}
body[data-page="detalle"] .similar-section .property-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  padding:14px!important;
  min-width:0!important;
}
body[data-page="detalle"] .similar-section .property-body h3{
  font-size:.95rem!important;
  line-height:1.28!important;
  font-weight:800!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-height:2.45em!important;
  margin:0 0 6px!important;
}
body[data-page="detalle"] .similar-section .property-location{
  font-size:.72rem!important;
  margin-bottom:7px!important;
}
body[data-page="detalle"] .similar-section .property-price-main{
  font-size:1.08rem!important;
  margin:0 0 10px!important;
}
body[data-page="detalle"] .similar-section .property-features{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  margin-top:auto!important;
}
body[data-page="detalle"] .similar-section .feature-item{
  min-width:0!important;
  min-height:48px!important;
  padding:6px 3px!important;
  border-radius:8px!important;
  background:#f2f4f7!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  overflow:hidden!important;
}
body[data-page="detalle"] .similar-section .feature-item>i{
  flex:0 0 auto!important;
  font-size:.76rem!important;
  color:#263750!important;
}
body[data-page="detalle"] .similar-section .feature-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  line-height:1.05!important;
}
body[data-page="detalle"] .similar-section .feature-copy strong{
  display:block!important;
  font-size:.65rem!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-page="detalle"] .similar-section .feature-copy small{
  font-size:.48rem!important;
  text-transform:uppercase!important;
  color:#7a8696!important;
}
body[data-page="detalle"] .similar-section .property-compare-row-v7{
  margin-top:11px!important;
  padding-top:10px!important;
  border-top:1px solid #edf0f3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
body[data-page="detalle"] .similar-section .property-detail-btn-v7{
  background:var(--pu-red)!important;
  box-shadow:none!important;
  min-width:92px!important;
  height:36px!important;
  font-size:.65rem!important;
}
body[data-page="detalle"] .similar-section .sale-ribbon-v8.ribbon-rent-v27{background:#f0b31a!important;color:#17181b!important}
body[data-page="detalle"] .similar-section .sale-ribbon-v8.ribbon-sale-v27{background:var(--pu-red)!important;color:#fff!important}

/* COMPARADOR: sin fotografías para impedir distorsiones. */
.pu-compare-bar{
  background:#17191e!important;
  padding:12px 0!important;
}
.pu-compare-bar-inner{
  display:grid!important;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr) auto!important;
  align-items:center!important;
  gap:18px!important;
}
.pu-compare-bar-copy strong{
  font-size:1.05rem!important;
  line-height:1.2!important;
}
.pu-compare-bar-copy span{
  font-size:.86rem!important;
  line-height:1.35!important;
}
.pu-compare-tray{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  overflow-x:auto!important;
  padding:2px!important;
}
.pu-compare-tray-item{
  min-width:0!important;
  max-width:240px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 10px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
}
.pu-compare-tray-item img{display:none!important}
.pu-compare-tray-index{
  width:25px!important;height:25px!important;flex:0 0 25px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;background:var(--pu-red)!important;color:#fff!important;
  font-size:.7rem!important;
}
.pu-compare-tray-item>span:not(.pu-compare-tray-index){
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.72rem!important;
  font-weight:700!important;
}
.pu-compare-bar-actions{display:flex!important;gap:10px!important;white-space:nowrap!important}
.pu-compare-bar-actions .btn{min-width:105px!important;min-height:42px!important;font-size:.82rem!important}

.compare-modal-content{
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.compare-modal-header{
  background:#17191e!important;
  color:#fff!important;
  padding:20px 22px!important;
}
.compare-modal-header .btn-close{filter:invert(1)!important}
.compare-modal-kicker{color:#ff454b!important;font-size:.76rem!important}
.compare-modal-header .modal-title{font-size:1.35rem!important;font-weight:800!important}
#compareModal .modal-body{padding:22px!important;background:#fff!important}
.compare-table{font-size:.95rem!important;margin-bottom:0!important}
.compare-table th{
  width:180px!important;
  min-width:150px!important;
  padding:14px 15px!important;
  font-size:.9rem!important;
  color:#303b4b!important;
  background:#f5f6f8!important;
}
.compare-table td{
  min-width:210px!important;
  padding:14px 15px!important;
  font-size:.96rem!important;
  color:#202632!important;
  background:#fff!important;
}
.compare-card-mini--text{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
}
.compare-card-mini--text img,
.compare-card-mini img{display:none!important}
.compare-card-number{
  width:30px!important;height:30px!important;flex:0 0 30px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;background:var(--pu-red)!important;color:#fff!important;
  font-size:.78rem!important;font-weight:900!important;
}
.compare-card-mini strong{font-size:1rem!important;line-height:1.32!important}
.compare-card-mini .mini-location{font-size:.82rem!important;margin-top:4px!important}
.compare-remove-btn{font-size:.78rem!important}
.compare-open-link{font-size:.84rem!important}

/* Neutraliza restos celestes visibles en la ficha y el catálogo. */
body[data-page="detalle"] .btn-brand,
body[data-page="detalle"] .property-detail-btn-v7,
body[data-page="detalle"] .section-link,
body[data-page="propiedades"] .section-kicker,
body[data-page="propiedades"] .property-price,
body[data-page="propiedades"] .property-location i{
  color:var(--pu-red)!important;
}
body[data-page="detalle"] .btn-brand,
body[data-page="propiedades"] .btn-brand{
  color:#fff!important;
  background:var(--pu-red)!important;
  border-color:var(--pu-red)!important;
}

@media (max-width:991.98px){
  .pu-compare-bar-inner{grid-template-columns:1fr!important}
  .pu-compare-bar-actions{width:100%!important}
  .pu-compare-bar-actions .btn{flex:1!important}
  body[data-page="propiedades"] .catalog-hero{padding:22px!important}
}
@media (max-width:575.98px){
  body[data-page="detalle"] .similar-section .property-features{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .compare-table{font-size:.86rem!important}
  .compare-table th,.compare-table td{padding:11px!important}
}
body[data-page="detalle"] .similar-section .badge-property,
body[data-page="detalle"] .similar-section .badge-project{
  background:var(--pu-red)!important;
  color:#fff!important;
}
body[data-page="detalle"] .similar-section .swiper-nav{
  color:var(--pu-red)!important;
  border-color:rgba(215,25,32,.24)!important;
}
body[data-page="detalle"] .detail-title-card .property-badge-static.badge-red,
body[data-page="detalle"] .detail-title-card .property-badge-static.badge-gold{
  background:var(--pu-red)!important;
  color:#fff!important;
}
body[data-page="detalle"] .btn-outline-brand{
  color:var(--pu-red)!important;
  border-color:rgba(215,25,32,.55)!important;
}
body[data-page="detalle"] .btn-outline-brand:hover{
  background:var(--pu-red)!important;
  color:#fff!important;
}

/* =========================================================
   PORTAL URBANO V8 — REPARACIÓN CARD propiedades.php
   Corrige la descomposición de características en vista mapa/listado.
   ========================================================= */
body[data-page="propiedades"] .catalog-list .property-card{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border:1px solid #e0e4e9!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(17,24,39,.07)!important;
}
body[data-page="propiedades"] .catalog-list .property-media{
  position:relative!important;
  width:100%!important;
  height:210px!important;
  min-height:210px!important;
  overflow:hidden!important;
  background:#eef1f4!important;
}
body[data-page="propiedades"] .catalog-list .property-media>a,
body[data-page="propiedades"] .catalog-list .property-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
body[data-page="propiedades"] .catalog-list .property-media img{
  object-fit:cover!important;
  object-position:center!important;
}
body[data-page="propiedades"] .catalog-list .property-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-width:0!important;
  padding:16px 17px 14px!important;
}
body[data-page="propiedades"] .catalog-list .property-body h3{
  margin:0 0 7px!important;
  min-height:2.55em!important;
  font-family:'Manrope',sans-serif!important;
  font-size:1.02rem!important;
  line-height:1.27!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
body[data-page="propiedades"] .catalog-list .property-body h3 a{
  color:#172235!important;
  text-decoration:none!important;
}
body[data-page="propiedades"] .catalog-list .property-location{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:18px!important;
  margin:0 0 8px!important;
  color:#788497!important;
  font-size:.73rem!important;
  line-height:1.3!important;
}
body[data-page="propiedades"] .catalog-list .property-location i{
  flex:0 0 auto!important;
  color:var(--pu-red)!important;
}
body[data-page="propiedades"] .catalog-list .property-price-main{
  margin:0 0 12px!important;
  color:var(--pu-red)!important;
  font-size:1.25rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}

/* La fila de datos vuelve a ser 4 columnas, nunca 4 filas. */
body[data-page="propiedades"] .catalog-list .property-features{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  margin:0!important;
  flex-wrap:unset!important;
}
body[data-page="propiedades"] .catalog-list .feature-item{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:0!important;
  width:auto!important;
  min-height:48px!important;
  padding:6px 4px!important;
  border-radius:9px!important;
  background:#f2f4f7!important;
  overflow:hidden!important;
}
body[data-page="propiedades"] .catalog-list .feature-item>i{
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#1f2937!important;
  font-size:.83rem!important;
  box-shadow:0 1px 2px rgba(0,0,0,.05)!important;
}
body[data-page="propiedades"] .catalog-list .feature-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  gap:1px!important;
  line-height:1!important;
}
body[data-page="propiedades"] .catalog-list .feature-copy strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#263142!important;
  font-size:.72rem!important;
  font-weight:800!important;
}
body[data-page="propiedades"] .catalog-list .feature-copy small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#7c8796!important;
  font-size:.48rem!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
body[data-page="propiedades"] .catalog-list .property-compare-row-v7{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  margin-top:13px!important;
  padding-top:12px!important;
  border-top:1px solid #e9edf1!important;
}
body[data-page="propiedades"] .catalog-list .compare-check-v7{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  color:#445268!important;
  font-size:.85rem!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body[data-page="propiedades"] .catalog-list .compare-check-v7 input{
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
}
body[data-page="propiedades"] .catalog-list .property-detail-btn-v7{
  flex:0 0 auto!important;
  min-width:112px!important;
  height:40px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:#171b20!important;
  border:1px solid #171b20!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.74rem!important;
  font-weight:800!important;
}
body[data-page="propiedades"] .catalog-list .property-detail-btn-v7:hover{
  background:var(--pu-red)!important;
  border-color:var(--pu-red)!important;
}

/* Vista mapa: compacta, pero mantiene exactamente la misma estructura de card. */
@media (min-width:992px){
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .catalog-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .property-media{
    height:182px!important;
    min-height:182px!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .property-body{
    padding:14px 14px 13px!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .property-body h3{
    font-size:.93rem!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .property-price-main{
    font-size:1.08rem!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .feature-item{
    min-height:43px!important;
    padding:5px 3px!important;
    gap:3px!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .feature-item>i{
    flex-basis:19px!important;
    width:19px!important;
    height:19px!important;
    font-size:.72rem!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .feature-copy strong{font-size:.63rem!important}
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .feature-copy small{font-size:.42rem!important}
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .compare-check-v7{font-size:.76rem!important}
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .property-detail-btn-v7{
    min-width:94px!important;
    height:36px!important;
    font-size:.66rem!important;
  }
}

@media (max-width:1199.98px) and (min-width:992px){
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .catalog-list{
    grid-template-columns:1fr!important;
  }
  body[data-page="propiedades"] .catalog-grid.catalog-view-map .property-media{
    height:220px!important;
    min-height:220px!important;
  }
}

@media (max-width:575.98px){
  body[data-page="propiedades"] .catalog-list .property-media{
    height:220px!important;
    min-height:220px!important;
  }
  body[data-page="propiedades"] .catalog-list .property-features{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body[data-page="propiedades"] .catalog-list .property-compare-row-v7{
    flex-direction:row!important;
  }
}

/* =========================================================
   PORTAL URBANO V9 — DETALLE.PHP / PROPIEDADES SIMILARES
   Neutraliza los flex-basis globales de la portada que
   encogían las cards dentro de Swiper.
   ========================================================= */
body[data-page="detalle"] .similar-section .similar-properties-swiper{
  width:100%!important;
  overflow:hidden!important;
  padding:2px 2px 42px!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .swiper-wrapper{
  align-items:stretch!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .swiper-slide{
  height:auto!important;
  display:flex!important;
  align-items:stretch!important;
  min-width:0!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .swiper-slide > .property-card{
  flex:1 1 100%!important;
  flex-basis:100%!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  margin:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 4px 16px rgba(17,24,39,.08)!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-media{
  width:100%!important;
  height:205px!important;
  min-height:205px!important;
  flex:0 0 205px!important;
  overflow:hidden!important;
  border-radius:0!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-media > a{
  width:100%!important;
  height:100%!important;
  display:block!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-body{
  width:100%!important;
  min-width:0!important;
  padding:15px 15px 13px!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-body h3{
  width:100%!important;
  min-height:2.55em!important;
  max-height:2.55em!important;
  margin:0 0 7px!important;
  font-size:.96rem!important;
  line-height:1.28!important;
  font-weight:800!important;
  white-space:normal!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-location{
  min-height:20px!important;
  margin:0 0 7px!important;
  font-size:.72rem!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-price-main{
  margin:0 0 10px!important;
  font-size:1.1rem!important;
  font-weight:900!important;
  color:var(--pu-red)!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-features{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  margin:0!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .feature-item{
  min-width:0!important;
  min-height:48px!important;
  padding:5px 3px!important;
  border-radius:8px!important;
  background:#f2f4f7!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-compare-row-v7{
  margin-top:auto!important;
  padding-top:12px!important;
  border-top:1px solid #edf0f3!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .compare-check-v7{
  flex:0 1 auto!important;
  min-width:0!important;
  font-size:.78rem!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .property-detail-btn-v7{
  flex:0 0 auto!important;
  min-width:96px!important;
  height:36px!important;
  border-radius:9px!important;
  background:var(--pu-red)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .sale-ribbon-v8.ribbon-rent-v27{
  background:#f0b31a!important;
  color:#17181b!important;
}
body[data-page="detalle"] .similar-section .similar-properties-swiper .sale-ribbon-v8.ribbon-sale-v27{
  background:var(--pu-red)!important;
  color:#fff!important;
}

@media (max-width:767.98px){
  body[data-page="detalle"] .similar-section .similar-properties-swiper .property-media{
    height:220px!important;
    min-height:220px!important;
    flex-basis:220px!important;
  }
  body[data-page="detalle"] .similar-section .similar-properties-swiper .property-features{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* =========================================================
   V10 — NAVBAR ÚNICO EN TODA LA PLATAFORMA
   Replica el navbar de index.php en detalle, propiedades,
   nosotros, servicios y contacto.
   ========================================================= */
body[data-page] #mainNavbar.main-navbar,
body[data-page] #mainNavbar.premium-navbar{
  background:rgba(255,255,255,.99)!important;
  border-bottom:1px solid rgba(16,18,20,.08)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.08)!important;
}

/* Teléfono igual a la portada: icono en cápsula gris + número oscuro. */
body[data-page] #mainNavbar .nav-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-left:12px!important;
}
body[data-page] #mainNavbar .nav-phone{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:transparent!important;
  color:#2c3c50!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body[data-page] #mainNavbar .nav-phone-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:#f1f2f3!important;
  color:#111317!important;
  font-size:1rem!important;
}
body[data-page] #mainNavbar .nav-phone-copy{
  display:flex!important;
  flex-direction:column!important;
  line-height:1.05!important;
}
body[data-page] #mainNavbar .nav-phone-copy small{display:none!important}
body[data-page] #mainNavbar .nav-phone-copy strong{
  display:block!important;
  color:#2c3c50!important;
  font-size:.82rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* CTA que había desaparecido en páginas internas. */
body[data-page] #mainNavbar .btn-nav-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  height:46px!important;
  min-width:142px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:13px!important;
  background:#20262d!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(22,29,37,.16)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body[data-page] #mainNavbar .btn-nav-cta i{
  display:inline-grid!important;
  place-items:center!important;
  width:auto!important;
  height:auto!important;
  background:transparent!important;
  color:#fff!important;
  font-size:1rem!important;
}
body[data-page] #mainNavbar .btn-nav-cta:hover{
  background:#11161c!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

/* Asegura la misma composición de la portada también al hacer scroll. */
body[data-page] #mainNavbar.is-scrolled .nav-phone,
body[data-page] #mainNavbar.scrolled .nav-phone{display:flex!important}
body[data-page] #mainNavbar.is-scrolled .btn-nav-cta,
body[data-page] #mainNavbar.scrolled .btn-nav-cta{display:inline-flex!important;height:42px!important}

@media (max-width:1199.98px){
  body[data-page] #mainNavbar .nav-phone-copy{display:none!important}
  body[data-page] #mainNavbar .nav-phone-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  body[data-page] #mainNavbar .btn-nav-cta{min-width:126px!important;padding:0 13px!important;font-size:.72rem!important}
}

@media (max-width:991.98px){
  body[data-page] #mainNavbar .nav-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 136px!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    margin:8px 0 0!important;
  }
  body[data-page] #mainNavbar .nav-phone{
    width:100%!important;
    min-height:44px!important;
    padding:0 6px!important;
    gap:8px!important;
  }
  body[data-page] #mainNavbar .nav-phone-copy{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body[data-page] #mainNavbar .nav-phone-copy strong{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:.76rem!important;
  }
  body[data-page] #mainNavbar .btn-nav-cta{
    width:136px!important;
    min-width:136px!important;
    height:44px!important;
    padding:0 10px!important;
    font-size:.70rem!important;
  }
}

@media (max-width:575.98px){
  body[data-page] #mainNavbar .nav-actions{grid-template-columns:minmax(0,1fr) 128px!important;gap:6px!important}
  body[data-page] #mainNavbar .nav-phone-icon{width:32px!important;height:32px!important;flex-basis:32px!important}
  body[data-page] #mainNavbar .nav-phone-copy strong{font-size:.69rem!important}
  body[data-page] #mainNavbar .btn-nav-cta{width:128px!important;min-width:128px!important;height:42px!important;padding:0 7px!important;font-size:.66rem!important}
}

/* =========================================================
   PORTAL URBANO v15 — redes flotantes unificadas
   - Inicio e interiores usan el mismo tamaño visual.
   - WhatsApp usa el verde oficial en todo el sitio.
   ========================================================= */
.home-floating-socials,
.floating-socials-v9,
.floating-socials{
  gap:7px!important;
}
.home-float-social,
.floating-socials-v9 .float-social-v9,
.floating-socials > a{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  font-size:1rem!important;
  border-width:2px!important;
  border-style:solid!important;
  border-color:rgba(255,255,255,.95)!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  box-shadow:0 4px 13px rgba(7,30,55,.18)!important;
}
.home-floating-socials{
  right:18px!important;
  gap:7px!important;
}
.home-float-facebook,
.facebook-v9{background:#1877f2!important;color:#fff!important}
.home-float-instagram,
.instagram-v9{background:radial-gradient(circle at 30% 110%,#feda75 0 15%,#fa7e1e 28%,#d62976 52%,#962fbf 72%,#4f5bd5 100%)!important;color:#fff!important}
.home-float-tiktok,
.tiktok-v9{background:#090909!important;color:#fff!important;box-shadow:3px 0 0 rgba(37,244,238,.48),-3px 0 0 rgba(254,44,85,.42),0 4px 13px rgba(7,30,55,.18)!important}

/* WhatsApp oficial: verde en portada, páginas internas y variantes heredadas. */
.float-whatsapp,
.whatsapp-btn,
.floating-whatsapp,
.mobile-whatsapp-above-bar{
  background:#25D366!important;
  background-color:#25D366!important;
  background-image:none!important;
  color:#fff!important;
  border-color:#fff!important;
  box-shadow:0 6px 18px rgba(37,211,102,.30)!important;
}
.float-whatsapp:hover,
.whatsapp-btn:hover,
.floating-whatsapp:hover,
.mobile-whatsapp-above-bar:hover{
  background:#1ebe5d!important;
  background-color:#1ebe5d!important;
  color:#fff!important;
}

@media (max-width:767.98px){
  .home-float-social,
  .floating-socials-v9 .float-social-v9,
  .floating-socials > a{
    width:35px!important;
    height:35px!important;
    min-width:35px!important;
    min-height:35px!important;
    font-size:.91rem!important;
  }
  .home-floating-socials{right:12px!important;gap:7px!important}
}
