@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');
:root{
  --brand:#1D4ED8;--brand-dark:#0B2F6B;--brand-soft:#EFF6FF;--ink:#0B1F3A;--muted:#657086;--line:#e3e7ef;--surface:#fff;--page:#F4F7FC;--nav-height:112px;--nav-small:82px;
  --shadow-xs:0 2px 8px rgba(18,32,56,.07);--shadow-sm:0 5px 15px rgba(18,32,56,.08);--shadow:0 12px 30px rgba(18,32,56,.10);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-top:var(--nav-height);font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;font-size:16px}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container-xl{max-width:1370px}.btn{font-weight:800;border-radius:12px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;transition:.22s ease}.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}.btn-brand:hover,.btn-brand:focus{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;transform:translateY(-1px)}.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);background:#fff}.btn-outline-brand:hover,.btn-outline-brand.active{background:var(--brand);color:#fff}.btn-light-premium{background:#fff;color:var(--brand);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-xs)}.premium-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}
/* Navbar */
.site-navbar{height:var(--nav-height);padding-top:2px!important;padding-bottom:2px!important;background:rgba(255,255,255,.98);border-bottom:1px solid #e8ebf1;box-shadow:0 2px 7px rgba(20,31,50,.055);transition:height .25s ease,box-shadow .25s ease}.site-navbar.is-compact{height:var(--nav-small);box-shadow:0 3px 11px rgba(20,31,50,.08)}.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--brand);padding:0}.brand-icon{width:50px;height:50px;border:2px solid var(--brand);border-radius:15px;display:grid;place-items:center;font-size:25px;transition:.25s}.brand-text{display:flex;flex-direction:column;line-height:.9}.brand-lockup strong{font-family:'Playfair Display',serif;font-size:32px;letter-spacing:3px;transition:.25s}.brand-lockup small{font-size:10px;font-weight:800;letter-spacing:2.2px;margin-top:8px}.is-compact .brand-icon{width:40px;height:40px;font-size:20px;border-radius:12px}.is-compact .brand-lockup strong{font-size:25px}.is-compact .brand-lockup small{font-size:8px;margin-top:5px}.nav-link{font-size:16px;font-weight:700;color:#2f3748!important;padding:12px 8px!important;position:relative}.nav-link::after{content:'';position:absolute;left:8px;right:8px;bottom:2px;height:2px;background:var(--brand);transform:scaleX(0);transition:.2s}.nav-link:hover,.nav-link.active{color:var(--brand)!important}.nav-link.active::after,.nav-link:hover::after{transform:scaleX(1)}.nav-favorite{border:0;background:transparent;font-weight:700;color:#343c4d}.nav-phone{color:var(--brand);font-weight:800;white-space:nowrap}.navbar-toggler{padding:8px}
/* Hero */
.hero-section{position:relative}.hero-section .carousel-item{height:590px;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,18,.62) 0%,rgba(4,9,18,.37) 43%,rgba(4,9,18,.08) 72%,rgba(4,9,18,.12) 100%)}.hero-content-wrap{position:absolute;inset:0;display:flex;align-items:center}.hero-content{max-width:780px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35);padding-bottom:25px}.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:800;letter-spacing:2px;margin-bottom:15px}.hero-content h1{font-family:'Playfair Display',serif;font-size:68px;line-height:.98;font-weight:800;letter-spacing:-2px;margin:0 0 18px;max-width:760px}.hero-content h1 em{font-style:normal;color:#60A5FA}.hero-content p{font-size:20px;line-height:1.55;max-width:690px;margin-bottom:25px;font-weight:600}.hero-buttons{display:flex;flex-wrap:wrap;gap:14px}.hero-buttons .btn{min-height:56px;padding:0 24px;font-size:16px;text-shadow:none}.hero-control{width:5%;opacity:.65}.hero-indicators{justify-content:flex-end;margin-right:5.5%;bottom:48px}.hero-indicators [data-bs-target]{width:42px;height:4px;border:0;border-radius:4px}
/* Search */
.search-floating{position:relative;margin-top:-42px;z-index:5}.search-card{background:#fff;border:1px solid #e4e7ed;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(20,31,50,.11)}.form-label{font-weight:800;font-size:13px;color:#4e596c;margin-bottom:8px}.form-control,.form-select{border:1px solid #dbe1ea;border-radius:12px;min-height:48px;color:#374257;background-color:#fff}.form-control:focus,.form-select:focus{border-color:rgba(29,78,216,.55);box-shadow:0 0 0 4px rgba(29,78,216,.08)}.search-submit{min-height:48px;padding:0 23px;white-space:nowrap}
/* Sections */
.section-space{padding:72px 0}.section-kicker{color:var(--brand);font-size:12px;letter-spacing:1.8px;font-weight:800}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2,.catalog-toolbar h2,.lifestyle-section h2{font-family:'Playfair Display',serif;font-size:36px;margin:3px 0 0}.section-link{font-weight:800;color:var(--brand);display:flex;align-items:center;gap:9px}.compact-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px 25px}.catalog-controls{display:flex;align-items:end;gap:12px}.catalog-controls label{font-size:12px;font-weight:800;color:var(--muted)}.catalog-controls select{min-width:170px;margin-top:5px}
/* Cards */
.properties-swiper{padding:2px 4px 43px}.property-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e0e4eb;border-radius:19px;overflow:hidden;box-shadow:0 3px 11px rgba(22,34,58,.075);transition:.22s;min-height:510px}.property-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(22,34,58,.12)}.property-card__image-wrap{position:relative;height:210px;overflow:hidden}.property-card__image{width:100%;height:100%;object-fit:cover;transition:.45s}.property-card:hover .property-card__image{transform:scale(1.035)}.property-badge,.property-badge-static{position:absolute;left:13px;top:13px;color:#fff;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;box-shadow:0 3px 9px rgba(0,0,0,.15)}.property-badge-static{position:static;display:inline-flex}.badge-blue{background:#266fea}.badge-red{background:var(--brand)}.badge-purple{background:#7b3fc2}.badge-gold{background:#93C5FD;color:#111}.favorite-btn{position:absolute;right:13px;top:13px;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid #e1e5ec;display:grid;place-items:center;color:#506079;font-size:18px;box-shadow:var(--shadow-xs)}.favorite-btn.active{color:var(--brand)}.property-card__body{padding:18px 17px 15px;display:flex;flex-direction:column;flex:1}.property-card__title{font-family:'DM Sans',sans-serif;font-size:19px;font-weight:800;margin:0 0 6px;line-height:1.25}.property-card__location{font-size:12px;color:var(--muted);margin:0 0 13px;display:flex;gap:6px}.property-card__location i{color:var(--brand);margin-top:2px}.property-card__prices{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:12px}.property-card__prices strong{font-size:20px;color:var(--brand)}.property-card__prices span{font-size:11px;color:var(--muted);font-weight:700;text-align:right}.property-card__description{font-size:13px;line-height:1.5;color:#5e6879;margin:0 0 16px;min-height:60px}.property-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:auto}.property-specs span{display:flex;align-items:center;justify-content:center;gap:5px;background:#f4f6f9;border-radius:9px;padding:9px 4px;font-size:11px;font-weight:700;color:#566276}.property-card__footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e8ebf0;padding:12px 14px}.property-agent{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800}.mini-logo{width:25px;height:25px;border:1px solid var(--brand);border-radius:7px;color:var(--brand);display:grid;place-items:center;font-family:'Playfair Display',serif}.property-card__footer .btn{min-height:34px;border-radius:9px;padding:0 15px}.swiper-nav{position:absolute;top:47%;z-index:4;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e1e5eb;box-shadow:var(--shadow-sm);display:grid;place-items:center}.swiper-prev{left:-3px}.swiper-next{right:-3px}.swiper-pagination-bullet-active{background:var(--brand)}
/* Banner, benefit, lifestyle */
.coastal-banner{display:grid;grid-template-columns:.9fr 1.55fr;border-radius:24px;overflow:hidden;background:#0B2F6B;color:#fff;box-shadow:var(--shadow-sm)}.coastal-banner__content{padding:45px}.coastal-banner__content>span{font-size:12px;font-weight:800;letter-spacing:1.7px}.coastal-banner h2{font-family:'Playfair Display',serif;font-size:43px;line-height:1.05;margin:8px 0 14px}.coastal-banner p{font-size:16px;color:#e3eef2}.coastal-banner img{width:100%;height:100%;min-height:320px;object-fit:cover}.benefits-card{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-xs);overflow:hidden}.benefit-item{display:flex;gap:13px;padding:25px 19px;border-right:1px solid var(--line)}.benefit-item:last-child{border-right:0}.benefit-item>i{color:var(--brand);font-size:25px}.benefit-item strong,.benefit-item span{display:block}.benefit-item strong{font-size:14px}.benefit-item span{font-size:12px;color:var(--muted);margin-top:5px}.lifestyle-section{background:#fbfbfc}.lead-copy{color:var(--muted);font-size:17px}.lifestyle-points{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.lifestyle-points>div{display:grid;grid-template-columns:38px 1fr;gap:2px 10px}.lifestyle-points i{grid-row:1/3;color:var(--brand);font-size:23px}.lifestyle-points strong{font-size:14px}.lifestyle-points span{font-size:12px;color:var(--muted)}.location-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:180px 180px;gap:10px}.location-gallery a{overflow:hidden;border-radius:15px}.location-gallery a:first-child{grid-row:1/3}.location-gallery a:last-child{grid-column:2/4}.location-gallery img{width:100%;height:100%;object-fit:cover}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(90deg,#0B2F6B,#1D4ED8);border-radius:18px;color:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}.stats-strip>div{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:0 15px;padding:26px;border-right:1px solid rgba(255,255,255,.2)}.stats-strip>div:last-child{border-right:0}.stats-strip i{grid-row:1/3;font-size:28px}.stats-strip strong{font-size:25px}.stats-strip span{font-size:11px}.testimonial-card{height:100%;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-xs)}.testimonial-card>i{color:var(--brand)}.testimonial-card p{color:#566174;line-height:1.65}.testimonial-card strong,.testimonial-card span{display:block}.testimonial-card strong{color:var(--brand)}.testimonial-card span{font-size:12px;color:var(--muted)}
/* Footer */
.site-footer{background:#fff;border-top:1px solid var(--line);padding:52px 0 25px}.footer-brand .brand-icon{width:44px;height:44px}.footer-brand strong{font-size:26px}.footer-copy{color:var(--muted);max-width:400px}.footer-title{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.footer-links,.footer-contact{list-style:none;padding:0;margin:14px 0 0}.footer-links li,.footer-contact li{margin:8px 0;color:#667185;font-size:14px}.footer-contact i{color:var(--brand);width:23px}.admin-demo-link{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:800;border-bottom:1px solid rgba(29,78,216,.25)}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;color:#7c8492;font-size:12px}.floating-whatsapp{position:fixed;right:24px;bottom:25px;width:60px;height:60px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:0 10px 25px rgba(29,78,216,.28);z-index:30}.mobile-action-bar{display:none}
/* Detail */
.detail-page-head{padding:30px 0 12px;background:#f8f9fb}.detail-breadcrumb{font-size:13px}.detail-gallery-section{padding-bottom:24px}.property-gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:10px}.property-gallery-grid a{position:relative;overflow:hidden}.gallery-main{grid-row:1/3;border-radius:24px 0 0 24px}.gallery-thumb:nth-of-type(2){border-radius:0 24px 0 0}.gallery-thumb:nth-of-type(5){border-radius:0 0 24px 0}.property-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.35s}.property-gallery-grid a:hover img{transform:scale(1.03)}.gallery-expand,.gallery-count{position:absolute;right:18px;bottom:18px;background:#fff;color:#243047;border-radius:999px;padding:11px 16px;font-weight:800;box-shadow:var(--shadow-sm)}.detail-layout-section{padding:15px 0 80px}.detail-title-card,.content-card,.features-card,.location-card,.sticky-contact{padding:28px}.detail-title-card h1{font-family:'Playfair Display',serif;font-size:45px;margin:0}.detail-location{color:var(--muted);font-size:17px}.detail-location i{color:var(--brand);margin-right:8px}.detail-actions{display:flex;flex-direction:column;align-items:flex-end}.detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:22px 0}.metric-card{padding:20px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-xs);background:#fff}.metric-card i{color:var(--brand);font-size:22px}.metric-card strong,.metric-card span{display:block}.metric-card strong{font-size:24px;margin-top:12px}.metric-card span{font-size:13px;color:var(--muted)}.content-card,.features-card,.location-card{margin-top:20px}.content-card h2,.features-card h2,.location-card h2,.sticky-contact h2{font-family:'Playfair Display',serif;font-size:27px}.content-card p{line-height:1.8;color:#5d687a}.info-banner{background:#eaf7fa;border-radius:13px;padding:15px 17px;color:#1b6472}.feature-list{list-style:none;margin:0;padding:0}.feature-list li{padding:6px 0;color:#586476}.feature-list i{color:var(--brand);width:20px}.map-frame{height:390px;border-radius:18px;overflow:hidden;background:#eef3f9}.sticky-contact{position:sticky;top:calc(var(--nav-small) + 20px)}.contact-agent{display:flex;align-items:center;gap:13px;margin:18px 0}.agent-avatar{width:58px;height:58px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:23px;font-weight:800}.contact-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.contact-quick-actions .btn{min-height:48px}.contact-form .form-control{min-height:48px}.contact-form textarea{min-height:130px}.sticky-contact .contact-submit{width:100%;min-height:52px}.similar-section{padding:30px 0 80px}
/* Catalog + map */
.catalog-page{background:var(--page);min-height:75vh;padding:42px 0 70px}.catalog-hero{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:25px}.catalog-hero h1{font-family:'Playfair Display',serif;font-size:48px;margin:0}.catalog-filter{padding:20px;margin-bottom:22px}.catalog-grid{display:grid;grid-template-columns:minmax(0,1fr) 1.15fr;gap:22px;align-items:start}.catalog-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.catalog-map-wrap{position:sticky;top:calc(var(--nav-small) + 16px);height:calc(100vh - 110px);min-height:620px;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-xs);background:#fff}.catalog-map{height:100%;width:100%}.map-property-popup{width:220px}.map-property-popup img{height:115px;width:100%;object-fit:cover;border-radius:10px}.map-property-popup strong{display:block;margin:8px 0 3px}.map-property-popup span{color:var(--brand);font-weight:800}
/* responsive */
@media(max-width:1199.98px){.hero-content h1{font-size:59px}.benefits-card{grid-template-columns:repeat(3,1fr)}.benefit-item{border-bottom:1px solid var(--line)}.catalog-grid{grid-template-columns:1fr}.catalog-map-wrap{position:relative;top:0;height:560px;min-height:0}.catalog-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:991.98px){body{padding-top:72px}.site-navbar,.site-navbar.is-compact{height:72px}.brand-icon{width:42px;height:42px;font-size:21px}.brand-lockup strong{font-size:26px}.brand-lockup small{font-size:8px;margin-top:5px}.navbar-collapse{background:#fff;margin:0 -12px;padding:15px 22px 22px;border-top:1px solid var(--line);box-shadow:var(--shadow-sm)}.nav-link{font-size:16px;padding:12px 0!important}.nav-link::after{display:none}.hero-section .carousel-item{height:650px}.hero-content h1{font-size:56px}.search-floating{margin-top:-48px}.compact-toolbar{align-items:flex-start;flex-direction:column}.catalog-controls{flex-wrap:wrap}.benefits-card{grid-template-columns:1fr 1fr}.coastal-banner{grid-template-columns:1fr}.coastal-banner img{height:300px;order:-1}.catalog-list{grid-template-columns:1fr 1fr}.property-gallery-grid{grid-template-columns:1.7fr 1fr;grid-template-rows:330px 190px}.gallery-main{grid-row:1/2;border-radius:22px 0 0 0}.gallery-thumb:nth-of-type(n+4){display:none}.gallery-thumb:nth-of-type(3){grid-column:1/3;border-radius:0 0 22px 22px}.sticky-contact{position:static}.detail-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){body{padding-bottom:74px}.container-xl{padding-left:18px;padding-right:18px}.hero-section .carousel-item{height:720px}.hero-image{object-position:center}.hero-shade{background:linear-gradient(180deg,rgba(4,9,18,.28) 0%,rgba(4,9,18,.44) 45%,rgba(4,9,18,.78) 100%)}.hero-content-wrap{align-items:flex-end;padding-bottom:120px}.hero-content{max-width:none;padding-bottom:0;text-align:left}.hero-eyebrow{font-size:11px;margin-bottom:12px}.hero-content h1{font-size:47px;line-height:1.02;letter-spacing:-1.4px}.hero-content p{font-size:16px;line-height:1.5;margin-bottom:20px}.hero-buttons{display:grid;grid-template-columns:1fr}.hero-buttons .btn{width:100%;min-height:53px}.hero-control{display:none}.hero-indicators{bottom:85px;margin:0;justify-content:center}.search-floating{margin-top:-78px}.search-card{padding:18px;border-radius:20px}.section-space{padding:55px 0}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:21px}.section-heading h2,.catalog-toolbar h2,.lifestyle-section h2{font-size:31px}.property-card{min-height:520px}.property-card__image-wrap{height:225px}.coastal-banner__content{padding:30px}.coastal-banner h2{font-size:35px}.benefits-card{grid-template-columns:1fr}.benefit-item{border-right:0}.location-gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 145px}.location-gallery a:first-child{grid-column:1/3;grid-row:auto}.stats-strip{grid-template-columns:1fr 1fr}.stats-strip>div{padding:18px;border-bottom:1px solid rgba(255,255,255,.18)}.footer-bottom{flex-direction:column;gap:8px}.floating-whatsapp{display:none}.mobile-action-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;height:68px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(18,32,56,.1);z-index:60}.mobile-action-bar a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;color:var(--brand)}.mobile-action-bar a:first-child{background:var(--brand);color:#fff}.property-gallery-grid{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory}.property-gallery-grid a{display:block!important;min-width:92%;height:320px;border-radius:20px!important;scroll-snap-align:center}.detail-title-card h1{font-size:36px}.detail-actions{align-items:stretch}.detail-actions>div{display:grid!important;grid-template-columns:1fr}.catalog-hero{align-items:flex-start;flex-direction:column}.catalog-hero h1{font-size:39px}.catalog-list{grid-template-columns:1fr}.catalog-map-wrap{height:480px}.catalog-grid.map-first .catalog-list{order:2}.catalog-grid.map-first .catalog-map-wrap{order:1}}
@media(max-width:575.98px){.hero-section .carousel-item{height:750px}.hero-content h1{font-size:42px}.search-floating{margin-top:-62px}.property-card__prices{align-items:flex-start;flex-direction:column}.property-specs{grid-template-columns:1fr 1fr}.property-card__footer{align-items:stretch;flex-direction:column;gap:10px}.property-card__footer .btn{width:100%}.swiper-nav{display:none}.benefits-card{border-radius:17px}.stats-strip{grid-template-columns:1fr}.detail-metrics{grid-template-columns:1fr 1fr}.metric-card{padding:16px}.contact-quick-actions{grid-template-columns:1fr}.catalog-controls{width:100%;display:grid;grid-template-columns:1fr}.catalog-controls label,.catalog-controls select,.catalog-controls .btn-group,.catalog-controls>a{width:100%}.catalog-controls .btn-group .btn{width:50%}}

/* =========================================================
   Altura Propiedades · Actualización visual 3.1
   ========================================================= */
body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,
.brand-lockup strong,.property-card__title,.detail-title-card h1,
.content-card h2,.features-card h2,.location-card h2,.sticky-contact h2,
.section-heading h2,.lifestyle-section h2,.coastal-banner h2,.catalog-hero h1{
  font-family:'DM Sans',sans-serif!important;
}

/* Sombras finas, cercanas y de estilo Google */
.premium-card,.search-card,.property-card,.benefits-card,.testimonial-card,.catalog-map-wrap{
  box-shadow:0 3px 10px rgba(27,39,64,.075)!important;
}
.site-navbar{box-shadow:0 2px 7px rgba(27,39,64,.06)!important}
.site-navbar.is-compact{box-shadow:0 3px 9px rgba(27,39,64,.085)!important}

/* Hero con texto oscuro y fotografía intensa; degradado localizado solamente */
.hero-shade{
  background:linear-gradient(90deg,rgba(255,249,244,.82) 0%,rgba(255,249,244,.66) 30%,rgba(255,249,244,.18) 54%,rgba(255,249,244,0) 70%)!important;
}
.hero-content{color:var(--ink)!important;text-shadow:none!important;max-width:750px}
.hero-eyebrow{color:var(--brand);text-shadow:0 1px 0 rgba(255,255,255,.75)}
.hero-content h1{color:#151c2d;font-weight:800;letter-spacing:-2.7px}
.hero-content h1 em{color:var(--brand)!important}
.hero-content p{color:#303849;font-weight:650;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.hero-buttons .btn-light-premium{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.95);color:var(--brand)}
.hero-control{width:58px;height:58px;top:50%;bottom:auto;transform:translateY(-50%);border-radius:50%;background:rgba(255,255,255,.86);opacity:1;margin:0 18px;box-shadow:0 3px 12px rgba(18,32,56,.12)}
.hero-control .carousel-control-prev-icon,.hero-control .carousel-control-next-icon{filter:invert(18%) sepia(96%) saturate(3617%) hue-rotate(347deg) brightness(74%)}
.hero-indicators [data-bs-target]{background-color:var(--brand)}

/* Favoritos junto a su texto */
.nav-favorite{display:inline-flex;align-items:center;gap:2px;padding:0;line-height:1}
.nav-favorite i{margin:0}

/* Controles de catálogo integrados en el encabezado de Propiedades destacadas */
.property-section-heading{align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:20px}
.inline-catalog-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.inline-catalog-controls label{font-size:12px;font-weight:800;color:var(--muted);margin:0}
.inline-catalog-controls select{min-width:175px;margin-top:5px}
.inline-catalog-controls .btn{min-height:42px}

/* Testimonios con fotografía y carrusel */
.testimonials-swiper{padding:5px 5px 46px}
.testimonials-swiper .swiper-slide{height:auto}
.testimonial-card{height:100%;min-height:260px;padding:28px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px}
.testimonial-quote{font-size:25px;color:var(--brand);margin-bottom:14px}
.testimonial-card p{font-size:16px;line-height:1.7;color:#4f5a6c;flex:1;margin-bottom:22px}
.testimonial-person{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding-top:18px}
.testimonial-person img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 9px rgba(22,34,58,.14)}
.testimonial-person strong{font-size:15px;color:var(--brand)}
.testimonial-person span{font-size:12px;color:var(--muted);margin-top:3px}
.testimonials-swiper .swiper-nav{top:42%}

/* Mapa de detalle con perímetro */
.location-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.location-card__heading h2{margin:0}
.location-card__heading p{margin:7px 0 0;color:var(--muted);font-size:14px}
.perimeter-legend{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--brand);white-space:nowrap;background:var(--brand-soft);padding:9px 12px;border-radius:999px}
.perimeter-legend i{width:17px;height:10px;border:2px solid var(--brand);background:rgba(29,78,216,.14);border-radius:3px}
.map-frame{border:1px solid #dfe4ec}
.leaflet-popup-content-wrapper{border-radius:13px;box-shadow:0 5px 16px rgba(20,31,50,.16)}

/* Redes sociales flotantes y pie */
.floating-socials{position:fixed;right:24px;top:44%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:29}
.floating-socials a,.footer-socials a{display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--brand);border:1px solid #e0e4ec;box-shadow:0 3px 10px rgba(20,31,50,.1);transition:.2s}
.floating-socials a{width:44px;height:44px;font-size:18px}
.floating-socials a:hover,.footer-socials a:hover{background:var(--brand);color:#fff;transform:translateY(-2px)}
.footer-socials{display:flex;align-items:center;gap:9px;margin:17px 0}
.footer-socials a{width:38px;height:38px;font-size:15px}
.footer-bottom a{font-weight:800;color:var(--brand)}

/* Flecha flotante al hacer scroll */
.scroll-top-button{position:fixed;right:31px;bottom:98px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:var(--brand);box-shadow:0 5px 16px rgba(20,31,50,.16);z-index:31;opacity:0;visibility:hidden;transform:translateY(12px);transition:.22s ease}
.scroll-top-button.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top-button:hover{background:var(--brand);color:#fff}

/* Tipografía más uniforme */
.section-heading h2,.lifestyle-section h2,.catalog-hero h1,.detail-title-card h1{letter-spacing:-1.2px;font-weight:800}
.coastal-banner h2{font-weight:800;letter-spacing:-1px}
.property-card__title{letter-spacing:-.25px}

@media(max-width:991.98px){
  .property-section-heading{align-items:flex-start}
  .inline-catalog-controls{width:100%}
}

@media(max-width:767.98px){
  .hero-shade{background:linear-gradient(180deg,rgba(255,249,244,.08) 0%,rgba(255,249,244,.18) 36%,rgba(255,249,244,.88) 69%,rgba(255,249,244,.97) 100%)!important}
  .hero-content{color:var(--ink)!important}
  .hero-content h1{color:#151c2d!important;text-shadow:0 1px 0 rgba(255,255,255,.8)}
  .hero-content p{color:#303849!important;text-shadow:0 1px 0 rgba(255,255,255,.8)}
  .hero-eyebrow{color:var(--brand)!important}
  .hero-buttons .btn-light-premium{background:#fff;color:var(--brand);border-color:#fff}
  .inline-catalog-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .inline-catalog-controls label{grid-column:1/3}
  .inline-catalog-controls label select{width:100%;min-width:0}
  .inline-catalog-controls>a{width:100%}
  .inline-catalog-controls .btn-group{width:100%}
  .inline-catalog-controls .btn-group .btn{width:50%}
  .floating-socials{display:none}
  .scroll-top-button{right:15px;bottom:84px;width:44px;height:44px}
  .location-card__heading{flex-direction:column}
  .testimonials-swiper .swiper-nav{display:none}
}

/* ===== Actualización 3.2: footer premium y redes con color de marca ===== */
.site-footer.site-footer--premium{
  position:relative;
  overflow:hidden;
  color:#e9edf5;
  background:
    radial-gradient(circle at 12% 0%,rgba(29,78,216,.24),transparent 34%),
    radial-gradient(circle at 88% 100%,rgba(29,78,216,.18),transparent 32%),
    linear-gradient(135deg,#111827 0%,#171b29 48%,#0B2E2B 100%);
  border-top:1px solid rgba(255,255,255,.08);
  padding:62px 0 26px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.site-footer.site-footer--premium:before{
  content:'';position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--brand),#1D4ED8,var(--brand-dark));
}
.site-footer--premium .footer-brand{color:#fff}
.site-footer--premium .footer-brand .brand-icon{border-color:#60A5FA;color:#60A5FA;background:rgba(255,255,255,.04)}
.site-footer--premium .footer-brand strong{color:#fff}
.site-footer--premium .footer-brand small{color:#BFDBFE}
.site-footer--premium .footer-copy{color:#bfc7d6;line-height:1.75}
.site-footer--premium .footer-title{color:#fff;font-size:13px;letter-spacing:1.5px}
.site-footer--premium .footer-links li,.site-footer--premium .footer-contact li{color:#b9c2d2}
.site-footer--premium .footer-links a,.site-footer--premium .footer-contact a{color:#cbd2df;transition:.2s}
.site-footer--premium .footer-links a:hover,.site-footer--premium .footer-contact a:hover{color:#fff;padding-left:3px}
.site-footer--premium .footer-contact i{color:#60A5FA}
.footer-socials{display:flex;align-items:center;gap:10px;margin:18px 0 20px}
.floating-socials a,.footer-socials a{
  display:grid;place-items:center;border-radius:50%;color:#fff;border:1px solid rgba(255,255,255,.28);
  box-shadow:0 7px 18px rgba(5,10,20,.22);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
.floating-socials a:hover,.footer-socials a:hover{transform:translateY(-3px) scale(1.04);filter:brightness(1.08);color:#fff;box-shadow:0 12px 24px rgba(5,10,20,.28)}
.social-facebook{background:#1877f2!important}
.social-instagram{background:linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 78%,#4f5bd5 100%)!important}
.social-tiktok{background:#0b0b0f!important;text-shadow:2px 0 #25f4ee,-2px 0 #fe2c55}
.footer-socials a{width:42px;height:42px;font-size:17px}
.floating-socials a{width:46px;height:46px;font-size:19px}
.btn-footer-dashboard{
  display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 19px;border:1px solid #3B82F6!important;border-radius:13px;
  background:linear-gradient(135deg,#2563EB,#174EA6)!important;color:#fff!important;
  box-shadow:0 10px 24px rgba(29,78,216,.26);font-weight:800;border-bottom:0!important;
}
.btn-footer-dashboard:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(29,78,216,.34);color:#fff!important}

.footer-demo-admin{margin-top:18px;white-space:normal;text-align:center;line-height:1.2}
.footer-demo-admin i{font-size:15px}
@media(max-width:767.98px){.footer-demo-admin{max-width:360px;margin-top:16px}}
.footer-catalog-card{
  display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;margin-top:22px;padding:14px;
  border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.055);color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.12);transition:.2s;
}
.footer-catalog-card:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);color:#fff}
.footer-catalog-icon{width:46px;height:46px;border-radius:13px;background:rgba(255,80,91,.15);color:#60A5FA;display:grid;place-items:center;font-size:19px}
.footer-catalog-card strong,.footer-catalog-card small{display:block}
.footer-catalog-card strong{font-size:13px}.footer-catalog-card small{color:#aeb8c9;font-size:11px;margin-top:3px}
.site-footer--premium .footer-bottom{border-top:1px solid rgba(255,255,255,.12);color:#9ea8b8;margin-top:42px;padding-top:23px}
.footer-credits{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.site-footer--premium .footer-bottom a{color:#fff;font-weight:800}
.site-footer--premium .footer-bottom a:hover{color:#93C5FD}
.footer-credit-dot{width:4px;height:4px;border-radius:50%;background:#3B82F6}

@media(max-width:767.98px){
  .site-footer.site-footer--premium{padding:48px 0 96px}
  .footer-catalog-card{margin-bottom:5px}
  .footer-credits{justify-content:flex-start;gap:8px}
  .footer-credit-dot{display:none}
  .site-footer--premium .footer-bottom{gap:12px}
  .btn-footer-dashboard{width:100%}
}

/* ===== Actualización 3.3: navegación de arriendos, vistas listado/mapa y contacto ===== */
.premium-dropdown{
  min-width:275px;padding:10px;border:1px solid rgba(20,31,50,.10);border-radius:16px;
  box-shadow:0 16px 38px rgba(18,32,56,.14);background:rgba(255,255,255,.99);
}
.premium-dropdown .dropdown-item{
  display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;
  color:#30394b;font-size:14px;font-weight:700;
}
.premium-dropdown .dropdown-item i{width:20px;text-align:center;color:var(--brand)}
.premium-dropdown .dropdown-item:hover,.premium-dropdown .dropdown-item:focus{background:var(--brand-soft);color:var(--brand)}
.navbar .dropdown-toggle::before{display:none}
.navbar .dropdown-toggle::after{position:static;width:auto;height:auto;background:none;transform:none;border-top:.32em solid;border-right:.28em solid transparent;border-left:.28em solid transparent;margin-left:7px;vertical-align:.13em}
.navbar .dropdown-toggle:hover::after,.navbar .dropdown-toggle.active::after{transform:none}

.catalog-view-switch{display:flex;gap:10px;flex-wrap:wrap}
.catalog-view-switch .btn{min-width:125px}
.catalog-grid{display:block}
.catalog-grid.catalog-view-list .catalog-list{display:grid}
.catalog-grid.catalog-view-list .catalog-map-wrap{display:none}
.catalog-grid.catalog-view-map .catalog-list{display:none}
.catalog-grid.catalog-view-map .catalog-map-wrap{display:block}
.catalog-grid.catalog-view-list .catalog-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalog-grid.catalog-view-map .catalog-map-wrap{
  position:relative;top:auto;width:100%;height:680px;min-height:520px;border-radius:24px;
}
.catalog-map-toolbar{
  position:absolute;left:18px;right:18px;top:18px;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 16px;border:1px solid rgba(255,255,255,.75);border-radius:16px;background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(18,32,56,.13);
}
.catalog-map-toolbar>div{display:flex;flex-direction:column;gap:2px}
.catalog-map-toolbar strong{font-size:14px;color:var(--ink)}
.catalog-map-toolbar .section-kicker{font-size:10px}
.catalog-map-list-button{border:1px solid #dfe4ec;color:var(--brand);font-weight:800}
.empty-catalog-state{grid-column:1/-1;text-align:center;padding:55px 30px}
.empty-catalog-state>i{font-size:42px;color:var(--brand);margin-bottom:15px}

.contact-page{background:linear-gradient(180deg,#f8f9fc 0%,#fff 44%,#f8f9fc 100%);min-height:80vh;padding-bottom:80px}
.contact-page__head{
  position:relative;overflow:hidden;padding:82px 0 92px;color:#fff;
  background:
    linear-gradient(90deg,rgba(11,18,31,.82),rgba(11,18,31,.48) 52%,rgba(11,18,31,.20)),
    url('../img/hero/altura-slide-01-desktop-v13.webp') center 54%/cover no-repeat;
}
.contact-page__head:after{content:'';position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--brand),#1D4ED8,var(--brand-dark))}
.contact-page__head .container-xl{position:relative;z-index:1}
.contact-page__head .section-kicker{color:#93C5FD}
.contact-page__head h1{font-family:'Playfair Display',serif;font-size:56px;line-height:1.02;max-width:760px;margin:8px 0 14px;letter-spacing:-1.8px}
.contact-page__head p{max-width:720px;font-size:18px;line-height:1.65;color:#f0f3f8;margin:0}
.contact-page__content{margin-top:-44px;position:relative;z-index:3}
.general-contact-card,.contact-side-card{padding:34px}
.general-contact-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}
.general-contact-card__heading h2,.contact-side-card h2{font-family:'Playfair Display',serif;font-size:34px;margin:5px 0 7px;letter-spacing:-.8px}
.general-contact-card__heading p,.contact-side-card p{color:var(--muted);margin:0;line-height:1.65}
.secure-contact-badge{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 13px;border-radius:999px;background:#eef8f3;color:#1c7650;font-size:12px;font-weight:800}
.quick-message-panel{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fafbfc}
.quick-message-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--ink);margin-bottom:12px}
.quick-message-title i{color:var(--brand)}
.quick-message-buttons{display:flex;flex-wrap:wrap;gap:9px}
.quick-message-buttons button{border:1px solid #d1d8e4;border-radius:999px;padding:9px 13px;background:#fff;color:#46536a;font-size:12px;font-weight:700;transition:.18s}
.quick-message-buttons button:hover,.quick-message-buttons button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);transform:translateY(-1px)}
.captcha-card{display:grid;grid-template-columns:minmax(0,1fr) auto 72px;gap:14px;align-items:center;padding:17px 18px;border:1px solid #dfe4ec;border-radius:16px;background:#f7f9fc}
.captcha-card>div{display:flex;align-items:center;gap:12px}
.captcha-card>div>i{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}
.captcha-card span,.captcha-card strong,.captcha-card small{display:block}
.captcha-card small{color:var(--muted);margin-top:2px}
.captcha-card>label{font-family:'Playfair Display',serif;font-size:24px;font-weight:800;margin:0}
.captcha-card .form-control{text-align:center;font-weight:800;font-size:20px;padding:4px}
.contact-channel-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.contact-channel-actions .btn{min-height:54px}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-side-card{position:sticky;top:calc(var(--nav-small) + 20px)}
.contact-qr{display:block;width:min(100%,310px);margin:22px auto;border:1px solid var(--line);border-radius:22px;padding:12px;background:#fff;box-shadow:var(--shadow-xs)}
.contact-qr img{width:100%;height:auto;border-radius:14px}
.direct-contact-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}
.direct-contact-list li{display:flex;align-items:center;gap:13px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;color:#4f5a6c}
.direct-contact-list li>i{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:0 0 auto}
.direct-contact-list span,.direct-contact-list small,.direct-contact-list a{display:block}
.direct-contact-list small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8490a2;font-weight:800;margin-bottom:2px}
.direct-contact-list a{font-weight:800;color:var(--ink)}
.contact-hours{display:flex;align-items:center;gap:12px;padding:16px;border-radius:15px;background:linear-gradient(135deg,#171b29,#0B2E2B);color:#fff}
.contact-hours>i{font-size:22px;color:#60A5FA}
.contact-hours strong,.contact-hours small{display:block}.contact-hours small{color:#cbd2df;margin-top:3px}

@media(max-width:1199.98px){
  .catalog-grid.catalog-view-list .catalog-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:991.98px){
  .premium-dropdown{box-shadow:none;border-radius:12px;margin:4px 0 8px;padding:7px;background:#fafbfc}
  .navbar .dropdown-toggle::after{margin-left:auto}
  .contact-page__head{padding:65px 0 82px}
  .contact-page__head h1{font-size:48px}
  .contact-side-card{position:static}
}
@media(max-width:767.98px){
  .catalog-view-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .catalog-view-switch .btn{min-width:0;width:100%}
  .catalog-grid.catalog-view-list .catalog-list{grid-template-columns:1fr}
  .catalog-grid.catalog-view-map .catalog-map-wrap{height:560px;min-height:0}
  .catalog-map-toolbar{left:10px;right:10px;top:10px;align-items:flex-start;padding:11px 12px}
  .catalog-map-toolbar .btn{font-size:11px;padding:7px 10px;min-height:38px}
  .contact-page__head{padding:52px 0 72px;background-position:58% center}
  .contact-page__head h1{font-size:39px;letter-spacing:-1px}
  .contact-page__head p{font-size:15px}
  .contact-page__content{margin-top:-32px}
  .general-contact-card,.contact-side-card{padding:23px}
  .general-contact-card__heading{display:block}
  .secure-contact-badge{margin-top:14px}
  .general-contact-card__heading h2,.contact-side-card h2{font-size:29px}
  .captcha-card{grid-template-columns:1fr auto 64px}
  .captcha-card>div small{display:none}
  .contact-channel-actions{grid-template-columns:1fr}
}
@media(max-width:575.98px){
  .captcha-card{grid-template-columns:1fr 58px;gap:10px}
  .captcha-card>div{grid-column:1/3}
  .captcha-card>label{text-align:right;font-size:21px}
  .quick-message-buttons{display:grid;grid-template-columns:1fr 1fr}
  .quick-message-buttons button{border-radius:11px;padding:10px 8px}
}


/* ===== Actualización 3.4: mapa a la derecha + propiedades a la izquierda ===== */
.catalog-grid.catalog-view-map{
  display:grid;
  grid-template-columns:minmax(390px,.86fr) minmax(0,1.34fr);
  gap:22px;
  align-items:start;
}
.catalog-grid.catalog-view-map .catalog-list{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  max-height:calc(100vh - var(--nav-small) - 36px);
  overflow-y:auto;
  overflow-x:hidden;
  padding:2px 8px 8px 2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(29,78,216,.35) #edf0f5;
}
.catalog-grid.catalog-view-map .catalog-list::-webkit-scrollbar{width:7px}
.catalog-grid.catalog-view-map .catalog-list::-webkit-scrollbar-track{background:#edf0f5;border-radius:10px}
.catalog-grid.catalog-view-map .catalog-list::-webkit-scrollbar-thumb{background:rgba(29,78,216,.38);border-radius:10px}
.catalog-grid.catalog-view-map .catalog-map-wrap{
  display:block;
  position:sticky;
  top:calc(var(--nav-small) + 16px);
  width:100%;
  height:calc(100vh - var(--nav-small) - 32px);
  min-height:620px;
  border-radius:24px;
}
.catalog-grid.catalog-view-map .property-card{min-height:500px}
.catalog-grid.catalog-view-map .property-card__image-wrap{height:220px}
.catalog-grid.catalog-view-map .empty-catalog-state{min-height:300px;display:grid;place-content:center}

@media(max-width:1199.98px){
  .catalog-grid.catalog-view-map{grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr)}
  .catalog-grid.catalog-view-map .catalog-map-wrap{min-height:590px}
}
@media(max-width:991.98px){
  .catalog-grid.catalog-view-map{grid-template-columns:1fr;gap:20px}
  .catalog-grid.catalog-view-map .catalog-list{
    max-height:none;overflow:visible;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .catalog-grid.catalog-view-map .catalog-map-wrap{
    position:relative;top:auto;height:560px;min-height:0;
  }
}
@media(max-width:767.98px){
  .catalog-grid.catalog-view-map .catalog-list{grid-template-columns:1fr}
  .catalog-grid.catalog-view-map .catalog-map-wrap{height:500px}
}

/* ===== Actualización 3.5: mapa principal, tarjetas laterales y correcciones visuales ===== */
.floating-socials{
  right:18px;
  top:62%;
  gap:8px;
}
.floating-socials a{
  width:38px;
  height:38px;
  font-size:15px;
  border-width:2px;
  box-shadow:0 7px 18px rgba(14,23,40,.18);
}

.catalog-grid.catalog-view-map{
  display:grid;
  grid-template-columns:minmax(520px,.96fr) minmax(0,1.04fr);
  grid-template-areas:"list map";
  gap:18px;
  align-items:start;
}
.catalog-grid.catalog-view-map .catalog-list{
  grid-area:list;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:13px;
  max-height:calc(100vh - var(--nav-small) - 30px);
  overflow-y:auto;
  overflow-x:hidden;
  padding:2px 6px 8px 2px;
}
.catalog-grid.catalog-view-map .catalog-map-wrap{
  grid-area:map;
  display:block;
  position:sticky;
  top:calc(var(--nav-small) + 14px);
  width:100%;
  height:calc(100vh - var(--nav-small) - 28px);
  min-height:680px;
  border-radius:19px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 3px 11px rgba(22,34,58,.075);
  overflow:hidden;
}
.catalog-grid.catalog-view-map .catalog-map{height:100%;min-height:100%}

/* Cards más compactos sólo dentro de la vista mapa, como panel lateral. */
.catalog-grid.catalog-view-map .property-card{
  min-height:430px;
  border-radius:15px;
  box-shadow:0 3px 10px rgba(22,34,58,.08);
}
.catalog-grid.catalog-view-map .property-card__image-wrap{height:145px}
.catalog-grid.catalog-view-map .property-badge{left:9px;top:9px;padding:5px 8px;font-size:9px}
.catalog-grid.catalog-view-map .favorite-btn{right:9px;top:9px;width:34px;height:34px;font-size:14px}
.catalog-grid.catalog-view-map .property-card__body{padding:12px 11px 10px}
.catalog-grid.catalog-view-map .property-card__title{font-size:14px;line-height:1.2;margin-bottom:5px}
.catalog-grid.catalog-view-map .property-card__location{font-size:9px;margin-bottom:9px;line-height:1.25}
.catalog-grid.catalog-view-map .property-card__prices{align-items:center;margin-bottom:8px}
.catalog-grid.catalog-view-map .property-card__prices strong{font-size:15px}
.catalog-grid.catalog-view-map .property-card__prices span{font-size:8px;max-width:48%}
.catalog-grid.catalog-view-map .property-card__description{font-size:10px;line-height:1.42;min-height:43px;margin-bottom:10px}
.catalog-grid.catalog-view-map .property-specs{gap:4px}
.catalog-grid.catalog-view-map .property-specs span{font-size:8px;padding:7px 2px;border-radius:7px;gap:3px}
.catalog-grid.catalog-view-map .property-card__footer{padding:9px 10px;gap:6px}
.catalog-grid.catalog-view-map .property-agent{font-size:8px;gap:4px}
.catalog-grid.catalog-view-map .mini-logo{width:20px;height:20px;border-radius:6px;font-size:10px}
.catalog-grid.catalog-view-map .property-card__footer .btn{min-height:29px;padding:0 10px;border-radius:7px;font-size:9px;white-space:nowrap}

/* Popup del marcador: botón corporativo rojo y texto blanco. */
.map-property-popup{width:230px;padding:1px}
.map-property-popup img{height:120px;width:100%;object-fit:cover;border-radius:11px}
.map-property-popup strong{font-size:14px;line-height:1.25;margin:9px 0 5px}
.map-property-popup .map-popup-location{display:flex;align-items:center;gap:5px;color:#536076;font-size:11px;line-height:1.35;margin-bottom:4px}
.map-property-popup .map-popup-location i{color:var(--brand)}
.map-property-popup .map-popup-price{display:block;color:var(--brand);font-size:15px;font-weight:800;margin-top:3px}
.map-property-popup .btn-brand,
.map-property-popup .btn-brand:visited,
.map-property-popup .btn-brand:hover,
.map-property-popup .btn-brand:focus{
  background:var(--brand)!important;
  border-color:var(--brand)!important;
  color:#fff!important;
  text-decoration:none!important;
}

/* Iconos válidos y visibles en la ficha de propiedad. */
.features-card h2{display:flex;align-items:center;gap:4px}
.features-card h2>i{color:var(--brand)!important;font-size:24px;flex:0 0 auto}
.feature-list li{display:flex;align-items:flex-start;gap:4px}
.feature-list li>i{color:var(--brand);margin-top:4px;flex:0 0 auto}

@media(max-width:1199.98px) and (min-width:992px){
  .catalog-grid.catalog-view-map{grid-template-columns:minmax(470px,.96fr) minmax(0,1.04fr)}
  .catalog-grid.catalog-view-map .catalog-list{gap:11px}
  .catalog-grid.catalog-view-map .property-card__image-wrap{height:135px}
}
@media(max-width:991.98px){
  .catalog-grid.catalog-view-map{
    grid-template-columns:1fr;
    grid-template-areas:"map" "list";
    gap:20px;
  }
  .catalog-grid.catalog-view-map .catalog-map-wrap{
    position:relative;
    top:auto;
    height:560px;
    min-height:0;
  }
  .catalog-grid.catalog-view-map .catalog-list{
    max-height:none;
    overflow:visible;
    padding:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .catalog-grid.catalog-view-map .property-card{min-height:455px}
  .catalog-grid.catalog-view-map .property-card__image-wrap{height:180px}
}
@media(max-width:767.98px){
  .catalog-grid.catalog-view-map .catalog-map-wrap{height:500px}
  .catalog-grid.catalog-view-map .catalog-list{grid-template-columns:1fr}
  .catalog-grid.catalog-view-map .property-card{min-height:500px}
  .catalog-grid.catalog-view-map .property-card__image-wrap{height:230px}
}

/* ===== Actualización 3.6: tarjetas del panel de mapa sin espacios vacíos ===== */
.catalog-grid.catalog-view-map .catalog-list{
  align-items:start;
  grid-auto-rows:max-content;
}
.catalog-grid.catalog-view-map .property-card{
  height:auto!important;
  min-height:0!important;
  align-self:start;
  border-radius:18px;
  overflow:hidden;
}
.catalog-grid.catalog-view-map .property-card__image-wrap{
  height:178px;
}
.catalog-grid.catalog-view-map .property-card__body{
  display:block;
  flex:0 0 auto;
  padding:15px 14px 14px;
}
.catalog-grid.catalog-view-map .property-card__title{
  font-size:17px;
  line-height:1.22;
  margin:0 0 6px;
  letter-spacing:-.2px;
}
.catalog-grid.catalog-view-map .property-card__location{
  font-size:10.5px;
  line-height:1.35;
  margin-bottom:12px;
  gap:5px;
}
.catalog-grid.catalog-view-map .property-card__prices{
  align-items:flex-end;
  margin-bottom:12px;
}
.catalog-grid.catalog-view-map .property-card__prices strong{
  font-size:18px;
  line-height:1;
}
.catalog-grid.catalog-view-map .property-card__prices span{
  font-size:9px;
  max-width:48%;
  line-height:1.25;
}
.catalog-grid.catalog-view-map .property-card__description{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:0!important;
  margin:0 0 13px;
  font-size:12px;
  line-height:1.48;
}
.catalog-grid.catalog-view-map .property-specs{
  margin-top:0!important;
  gap:6px;
}
.catalog-grid.catalog-view-map .property-specs span{
  min-height:34px;
  padding:8px 3px;
  border-radius:9px;
  font-size:9px;
  gap:4px;
}
.catalog-grid.catalog-view-map .property-card__footer{
  padding:11px 13px;
  gap:8px;
}
.catalog-grid.catalog-view-map .property-agent{
  font-size:9px;
  gap:5px;
}
.catalog-grid.catalog-view-map .mini-logo{
  width:23px;
  height:23px;
  border-radius:7px;
  font-size:11px;
}
.catalog-grid.catalog-view-map .property-card__footer .btn{
  min-height:33px;
  padding:0 13px;
  border-radius:8px;
  font-size:10px;
}
@media(max-width:1199.98px) and (min-width:992px){
  .catalog-grid.catalog-view-map .property-card__image-wrap{height:165px}
  .catalog-grid.catalog-view-map .property-card__title{font-size:16px}
}
@media(max-width:991.98px){
  .catalog-grid.catalog-view-map .property-card__image-wrap{height:210px}
  .catalog-grid.catalog-view-map .property-card__title{font-size:18px}
  .catalog-grid.catalog-view-map .property-card__location{font-size:11px}
  .catalog-grid.catalog-view-map .property-card__description{font-size:12.5px}
}
@media(max-width:767.98px){
  .catalog-grid.catalog-view-map .property-card__image-wrap{height:225px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.2 · Navbar/logo ampliado
   ========================================================= */
.site-navbar > .container-xl{
  height:100%;
  padding-top:0;
  padding-bottom:0;
}
.brand-lockup--official{
  flex:0 0 auto;
  width:310px;
  height:104px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
  margin-right:10px;
  padding-top:0!important;
  padding-bottom:0!important;
  transition:width .25s ease,height .25s ease,margin .25s ease;
}
.brand-logo-official{
  display:block;
  width:auto;
  height:100px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
  transition:height .25s ease,transform .25s ease;
}
.site-navbar.is-compact .brand-lockup--official{width:232px;height:76px;margin-right:8px}
.site-navbar.is-compact .brand-logo-official{height:72px}
@media(max-width:1199.98px){
  :root{--nav-height:104px;--nav-small:78px}
  .brand-lockup--official{width:270px;height:94px;margin-right:7px}
  .brand-logo-official{height:90px}
  .site-navbar.is-compact .brand-lockup--official{width:218px;height:72px}
  .site-navbar.is-compact .brand-logo-official{height:68px}
}
@media(max-width:991.98px){
  :root{--nav-height:94px;--nav-small:94px}
  .site-navbar{padding-top:1px!important;padding-bottom:1px!important}
  .brand-lockup--official,.site-navbar.is-compact .brand-lockup--official{width:224px;height:84px;margin-right:0}
  .brand-logo-official,.site-navbar.is-compact .brand-logo-official{height:80px}
}
@media(max-width:575.98px){
  :root{--nav-height:78px;--nav-small:78px}
  .site-navbar{padding-top:0!important;padding-bottom:0!important}
  .site-navbar>.container-xl{min-height:78px}
  .brand-lockup--official,.site-navbar.is-compact .brand-lockup--official{width:198px;height:66px;margin-right:0}
  .brand-logo-official,.site-navbar.is-compact .brand-logo-official{height:62px}
  .mobile-nav-toggle{width:44px;height:44px;font-size:24px;border-radius:12px}
}
@media(max-width:389.98px){
  :root{--nav-height:74px;--nav-small:74px}
  .site-navbar>.container-xl{min-height:74px}
  .brand-lockup--official,.site-navbar.is-compact .brand-lockup--official{width:182px;height:62px}
  .brand-logo-official,.site-navbar.is-compact .brand-logo-official{height:58px}
  .mobile-nav-toggle{width:42px;height:42px;font-size:23px}
}

/* =========================================================
   Altura Propiedades · Actualización 3.9
   Hero más compacto SOLO en celulares
   ========================================================= */
@media (max-width: 767.98px){
  /* Reduce únicamente la altura móvil para eliminar el exceso de cielo. */
  .hero-section .carousel-item{height:640px!important}
  .hero-content-wrap{
    align-items:flex-end;
    padding-top:18px;
    padding-bottom:92px!important;
  }
  .hero-image{
    object-position:center 48%!important;
  }
  .hero-eyebrow{margin-bottom:9px}
  .hero-content h1{margin-bottom:14px}
  .hero-content p{margin-bottom:17px}
  .hero-buttons{gap:10px}
  .search-floating{margin-top:-58px!important}
}
@media (max-width: 575.98px){
  .hero-section .carousel-item{height:620px!important}
  .hero-content-wrap{padding-bottom:82px!important}
  .hero-image{object-position:center 46%!important}
  .hero-content h1{font-size:40px;line-height:1.01}
  .search-floating{margin-top:-48px!important}
}
@media (max-width: 389.98px){
  .hero-section .carousel-item{height:600px!important}
  .hero-content-wrap{padding-bottom:76px!important}
  .hero-content h1{font-size:37px}
}

/* ===== Actualización 4.0: estados, compartir, reCAPTCHA y contacto premium ===== */
.property-state-ribbon{
  --ribbon-bg:#1D4ED8;--ribbon-text:#fff;
  position:absolute;z-index:5;right:-46px;top:24px;width:170px;
  padding:9px 12px;text-align:center;transform:rotate(45deg);
  background:var(--ribbon-bg);color:var(--ribbon-text);font-size:11px;font-weight:900;
  letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 12px rgba(16,26,45,.16);
  pointer-events:none
}
.property-state-ribbon + .favorite-btn{top:72px}
.property-state-ribbon--detail{right:-52px;top:31px;width:205px;padding:11px 16px;font-size:12px}
.detail-gallery-main{position:relative;overflow:hidden}

.share-action-grid{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.share-action-grid .btn{min-height:44px;border-radius:12px;font-weight:800;padding:0 16px}
.btn-facebook-share{background:#1877f2;border-color:#1877f2;color:#fff}.btn-facebook-share:hover{background:#1167d4;border-color:#1167d4;color:#fff}
.btn-whatsapp-share{background:var(--brand);border-color:var(--brand);color:#fff}.btn-whatsapp-share:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.btn-friend-share{background:#fff;border:1px solid rgba(29,78,216,.35);color:var(--brand)}.btn-friend-share:hover{background:var(--brand-soft);color:var(--brand)}
.share-friend-modal .modal-content,.sending-modal-content{border:0;border-radius:22px;box-shadow:0 20px 60px rgba(15,27,50,.18)}
.share-friend-modal .modal-header{border-bottom:1px solid var(--line);padding:21px 23px}.share-friend-modal .modal-body{padding:23px}

.quick-message-panel--detail{margin:0 0 18px;padding:15px;border:1px solid #e2e7ef;border-radius:15px;background:#f9fafc}
.contact-message-large{min-height:170px!important;resize:vertical;line-height:1.55}
.recaptcha-wrap,.captcha-card-google{margin-top:14px;padding:14px;border:1px solid #e1e6ee;border-radius:14px;background:#fbfcfe;overflow-x:auto}
.sending-modal-content{text-align:center;padding:35px 26px}.sending-spinner{width:54px;height:54px;border-width:5px;color:var(--brand);margin:0 auto 18px}.sending-modal-content h3{font-size:22px;font-weight:900;margin:0 0 6px}.sending-modal-content p{margin:0;color:var(--muted)}
.contact-success-alert{border:1px solid #b9e5ca;border-radius:13px;background:#edf9f2;color:#17683a;font-weight:800}

/* el mapa de ficha muestra perímetro sin revelar un punto exacto */
#detailMap .leaflet-interactive{stroke-linecap:round;stroke-linejoin:round}

@media(max-width:767.98px){
  .property-state-ribbon{right:-50px;top:23px;width:180px;font-size:10px;padding:8px 10px}
  .property-state-ribbon + .favorite-btn{top:66px}
  .property-state-ribbon--detail{right:-58px;top:27px;width:210px}
  .share-action-grid{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}
  .share-action-grid .btn{width:100%}.share-action-grid .btn-friend-share{grid-column:1/3}
  .contact-message-large{min-height:190px!important}
}
@media(max-width:420px){.share-action-grid{grid-template-columns:1fr}.share-action-grid .btn-friend-share{grid-column:auto}}
.sending-spinner .spinner-border{width:54px;height:54px;border-width:5px;color:var(--brand)}

/* ===== CMS público 4.1 ===== */
.cms-public-page{padding-top:150px}.cms-public-card{padding:42px;border:1px solid #e2e7ee;border-radius:22px;background:#fff;box-shadow:0 4px 16px rgba(31,45,70,.06)}.cms-public-card h1{font-size:clamp(2rem,4vw,3.4rem);margin:8px 0 24px}.cms-public-content{font-size:1.04rem;line-height:1.8;color:#3f4b61}.cms-public-content img{max-width:100%;height:auto;border-radius:16px}.cms-public-content h2,.cms-public-content h3{margin-top:1.6em}.cms-public-content a{color:#1D4ED8;font-weight:700}
@media(max-width:767px){.cms-public-page{padding-top:105px}.cms-public-card{padding:24px 19px;border-radius:17px}.cms-public-content{font-size:.98rem}}

/* ===== Actualización 4.2: favorito despejado de la huincha ===== */
.property-card__image-wrap .property-state-ribbon ~ .favorite-btn{
  top:92px!important;
  right:13px!important;
  z-index:6;
}
.catalog-grid.catalog-view-map .property-card__image-wrap .property-state-ribbon ~ .favorite-btn{
  top:82px!important;
  right:10px!important;
}
@media(max-width:767.98px){
  .property-card__image-wrap .property-state-ribbon ~ .favorite-btn{top:86px!important;right:12px!important}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.3 · Logo oficial en footer
   ========================================================= */
.site-footer--premium .footer-brand--official{
  display:inline-flex;
  width:min(100%,350px);
  max-width:350px;
  padding:0;
  margin:0 0 6px;
  border:0;
  color:inherit;
}
.site-footer--premium .footer-logo-panel{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:112px;
  padding:5px 8px 5px 5px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.site-footer--premium .footer-logo-official{
  display:block;
  width:100%;
  height:auto;
  max-height:108px;
  object-fit:contain;
  object-position:left center;
}
.site-footer--premium .footer-brand--official:hover .footer-logo-panel{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,0,0,.24);
}
.site-footer--premium .footer-logo-panel{
  transition:transform .2s ease,box-shadow .2s ease;
}
@media(max-width:1199.98px){
  .site-footer--premium .footer-brand--official{max-width:330px}
  .site-footer--premium .footer-logo-panel{min-height:106px}
  .site-footer--premium .footer-logo-official{max-height:102px}
}
@media(max-width:767.98px){
  .site-footer--premium .footer-brand--official{width:min(100%,320px);max-width:320px}
  .site-footer--premium .footer-logo-panel{min-height:102px;border-radius:16px}
  .site-footer--premium .footer-logo-official{max-height:98px}
}
@media(max-width:389.98px){
  .site-footer--premium .footer-brand--official{width:100%;max-width:290px}
  .site-footer--premium .footer-logo-panel{min-height:92px}
  .site-footer--premium .footer-logo-official{max-height:88px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.4 · Footer limpio
   ========================================================= */
.site-footer--premium .footer-main-row{
  position:relative;
  z-index:1;
  align-items:flex-start!important;
}
.site-footer--premium .footer-brand-column{
  padding-right:clamp(18px,3vw,52px);
}
.site-footer--premium .footer-brand--official{
  margin-bottom:18px;
}
.site-footer--premium .footer-copy{
  max-width:430px;
  margin:0;
  font-size:14px;
  line-height:1.75;
}
.site-footer--premium .footer-title{
  position:relative;
  margin:8px 0 20px;
  padding-bottom:12px;
  font-size:13px;
  font-weight:800;
  letter-spacing:1.45px;
  text-transform:uppercase;
}
.site-footer--premium .footer-title::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:30px;
  height:2px;
  border-radius:99px;
  background:#3B82F6;
}
.site-footer--premium .footer-links,
.site-footer--premium .footer-contact{
  margin-top:0;
}
.site-footer--premium .footer-links li{
  margin:0;
  padding:6px 0;
  font-size:14px;
  line-height:1.45;
}
.site-footer--premium .footer-sector-list li{
  color:#b9c2d2;
}
.site-footer--premium .footer-contact li{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:start;
  gap:9px;
  margin:0;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:14px;
  line-height:1.5;
}
.site-footer--premium .footer-contact li:last-child{
  border-bottom:0;
}
.site-footer--premium .footer-contact i{
  width:24px;
  margin-top:3px;
  text-align:center;
}
.site-footer--premium .footer-contact a,
.site-footer--premium .footer-contact span{
  min-width:0;
  overflow-wrap:anywhere;
}
.site-footer--premium .footer-bottom--clean{
  position:relative;
  z-index:1;
  align-items:center;
  margin-top:46px;
  padding-top:22px;
}
.site-footer--premium .footer-bottom--clean>a{
  white-space:nowrap;
}

@media(max-width:991.98px){
  .site-footer--premium .footer-brand-column{padding-right:12px}
  .site-footer--premium .footer-brand--official{margin-bottom:15px}
  .site-footer--premium .footer-title{margin-top:4px}
}
@media(max-width:767.98px){
  .site-footer.site-footer--premium{padding-top:44px}
  .site-footer--premium .footer-copy{max-width:100%;font-size:13.5px}
  .site-footer--premium .footer-title{margin-top:8px;margin-bottom:15px}
  .site-footer--premium .footer-bottom--clean{
    align-items:flex-start;
    margin-top:32px;
    gap:8px;
  }
  .site-footer--premium .footer-bottom--clean>a{white-space:normal}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.5
   CTA Agendar visita integrado al header
   ========================================================= */
.navbar-actions{
  flex:0 0 auto;
  white-space:nowrap;
}
.nav-visit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 17px;
  border:1px solid var(--brand);
  border-radius:12px;
  background:var(--brand);
  color:#fff!important;
  font-size:14px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 3px 9px rgba(29,78,216,.16);
  transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.nav-visit-btn:hover,.nav-visit-btn:focus{
  background:var(--brand-dark);
  border-color:var(--brand-dark);
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(29,78,216,.2);
}
.nav-visit-btn i{font-size:15px}
.site-navbar.is-compact .nav-visit-btn{min-height:40px;padding:0 14px;font-size:13px}

/* Entre 992 y 1199 px se reduce el CTA para reservar espacio al logo. */
@media (min-width:992px) and (max-width:1199.98px){
  .navbar-actions{gap:10px!important}
  .nav-visit-btn{min-height:40px;padding:0 12px;font-size:12.5px}
  .nav-visit-btn i{font-size:14px}
}

/* Dentro del menú móvil el CTA queda ordenado y nunca se superpone al logo. */
@media (max-width:991.98px){
  body{padding-top:var(--nav-height)!important}
  .navbar-actions{
    width:100%;
    margin-top:10px;
    padding-top:14px;
    border-top:1px solid var(--line);
    justify-content:flex-start;
    gap:16px!important;
  }
  .nav-visit-btn,.site-navbar.is-compact .nav-visit-btn{
    min-height:44px;
    padding:0 18px;
    font-size:14px;
  }
}

@media (max-width:575.98px){
  .navbar-actions{align-items:stretch!important}
  .nav-visit-btn,.site-navbar.is-compact .nav-visit-btn{min-width:145px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.6
   Jerarquía visual del header: marca primero, CTA secundario
   ========================================================= */
/* El logo no cede espacio frente a las acciones del extremo derecho. */
.brand-lockup--official{
  flex-shrink:0!important;
}
.navbar-actions{
  flex-shrink:0;
  gap:10px!important;
}

/* Agendar visita conserva aspecto de botón, pero deja de competir con la marca. */
.nav-visit-btn,
.site-navbar.is-compact .nav-visit-btn{
  min-width:0;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(29,78,216,.42);
  border-radius:10px;
  background:#fff;
  color:var(--brand)!important;
  font-size:13px;
  font-weight:800;
  box-shadow:none;
  transform:none;
}
.nav-visit-btn i{
  font-size:13px;
  color:var(--brand);
}
.nav-visit-btn:hover,
.nav-visit-btn:focus{
  background:rgba(29,78,216,.055);
  border-color:var(--brand);
  color:var(--brand-dark)!important;
  box-shadow:none;
  transform:none;
}

/* En anchos de notebook se libera espacio adicional para el logo. */
@media (min-width:1200px) and (max-width:1399.98px){
  .navbar-actions .nav-favorite span{display:none!important}
  .navbar-actions{gap:8px!important}
  .nav-favorite{width:34px;height:38px;justify-content:center}
  .nav-visit-btn,.site-navbar.is-compact .nav-visit-btn{
    min-height:38px;
    padding:0 10px;
    font-size:12.5px;
  }
}

@media (min-width:992px) and (max-width:1199.98px){
  .navbar-actions{gap:6px!important}
  .nav-favorite{width:32px;height:36px;justify-content:center}
  .nav-visit-btn,.site-navbar.is-compact .nav-visit-btn{
    min-height:36px;
    padding:0 9px;
    border-radius:9px;
    font-size:12px;
    gap:6px;
  }
  .nav-visit-btn i{font-size:12px}
}

/* En móvil sigue dentro del menú, pero con apariencia secundaria y limpia. */
@media (max-width:991.98px){
  .nav-visit-btn,.site-navbar.is-compact .nav-visit-btn{
    min-height:42px;
    padding:0 15px;
    background:#fff;
    color:var(--brand)!important;
    border-color:rgba(29,78,216,.4);
    box-shadow:none;
  }
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.7
   CTA Agendar visita refinado en rojo y dorado
   ========================================================= */
.nav-visit-btn--premium,
.site-navbar.is-compact .nav-visit-btn--premium{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:0 14px 0 10px;
  border:1px solid rgba(201,160,86,.62);
  border-radius:14px;
  background:linear-gradient(180deg,#F8FBFF 0%,#fff 100%);
  color:var(--brand)!important;
  box-shadow:0 5px 14px rgba(123,92,32,.08);
  position:relative;
  overflow:hidden;
}
.nav-visit-btn--premium::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#60A5FA 0%, #1E40AF 100%);
}
.nav-visit-btn--premium .nav-visit-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:linear-gradient(135deg,#1D4ED8 0%,#0B2F6B 100%);
  border:1px solid rgba(201,160,86,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.nav-visit-btn--premium .nav-visit-icon i{
  font-size:13px;
  color:#93C5FD;
}
.nav-visit-btn--premium .nav-visit-label{
  display:inline-block;
  color:var(--brand);
  font-size:13px;
  font-weight:800;
  line-height:1;
  letter-spacing:.01em;
  position:relative;
  top:0;
}
.nav-visit-btn--premium:hover,
.nav-visit-btn--premium:focus{
  background:linear-gradient(180deg,#F3F7FF 0%,#F7FAFF 100%);
  border-color:rgba(201,160,86,.88);
  color:var(--brand-dark)!important;
  box-shadow:0 7px 16px rgba(123,92,32,.12);
}
.nav-visit-btn--premium:hover .nav-visit-label,
.nav-visit-btn--premium:focus .nav-visit-label{
  color:var(--brand-dark);
}
.nav-visit-btn--premium:hover .nav-visit-icon,
.nav-visit-btn--premium:focus .nav-visit-icon{
  background:linear-gradient(135deg,#2563EB 0%,#174EA6 100%);
}

@media (min-width:1200px) and (max-width:1399.98px){
  .nav-visit-btn--premium,.site-navbar.is-compact .nav-visit-btn--premium{
    min-height:39px;
    padding:0 13px 0 9px;
    gap:9px;
  }
  .nav-visit-btn--premium .nav-visit-icon{
    width:27px;
    height:27px;
    flex-basis:27px;
  }
}

@media (min-width:992px) and (max-width:1199.98px){
  .nav-visit-btn--premium,.site-navbar.is-compact .nav-visit-btn--premium{
    min-height:37px;
    padding:0 10px 0 8px;
    gap:8px;
    border-radius:12px;
  }
  .nav-visit-btn--premium .nav-visit-icon{
    width:24px;
    height:24px;
    flex-basis:24px;
    border-radius:8px;
  }
  .nav-visit-btn--premium .nav-visit-icon i{font-size:12px}
  .nav-visit-btn--premium .nav-visit-label{font-size:12px}
}

@media (max-width:991.98px){
  .nav-visit-btn--premium,.site-navbar.is-compact .nav-visit-btn--premium{
    min-height:44px;
    padding:0 16px 0 11px;
    background:linear-gradient(180deg,#F7FAFF 0%,#fff 100%);
  }
  .nav-visit-btn--premium .nav-visit-icon{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.8
   Agendar visita: MISMO diseño y MISMA altura; solo cambia color
   ========================================================= */
.nav-visit-btn--same-design,
.site-navbar.is-compact .nav-visit-btn--same-design{
  width:208px;
  height:68px;
  min-height:68px;
  padding:0 14px 0 13px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  border:1px solid rgba(29,78,216,.26);
  border-left:3px solid var(--brand);
  border-radius:13px;
  background:#FBFDFF;
  box-shadow:0 5px 17px rgba(92,55,18,.07);
  color:var(--ink)!important;
  overflow:hidden;
  transform:none;
}
.nav-visit-btn--same-design::before{display:none!important}
.nav-visit-btn--same-design .nav-visit-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#EFF6FF;
  border:1px solid rgba(205,158,71,.48);
  box-shadow:none;
}
.nav-visit-btn--same-design .nav-visit-icon i{
  font-size:18px;
  color:var(--brand);
}
.nav-visit-btn--same-design .nav-visit-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  line-height:1;
}
.nav-visit-btn--same-design .nav-visit-copy strong{
  display:block;
  max-width:126px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:14px;
  font-weight:800;
  line-height:1.1;
  color:#2f2830;
}
.nav-visit-btn--same-design .nav-visit-copy small{
  display:block;
  max-width:126px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
  font-weight:500;
  line-height:1.1;
  color:#75666a;
}
.nav-visit-btn--same-design:hover,
.nav-visit-btn--same-design:focus{
  border-color:rgba(29,78,216,.42);
  border-left-color:#60A5FA;
  background:#F8FBFF;
  box-shadow:0 5px 17px rgba(92,55,18,.08);
  color:var(--ink)!important;
  transform:none;
}
.nav-visit-btn--same-design:hover .nav-visit-icon,
.nav-visit-btn--same-design:focus .nav-visit-icon{
  background:#EAF2FF;
  border-color:#60A5FA;
}
.nav-visit-btn--same-design:hover .nav-visit-icon i,
.nav-visit-btn--same-design:focus .nav-visit-icon i{color:var(--brand-dark)}

/* Se mantiene la altura y la composición; en notebook solo se ajusta el ancho para proteger el logo. */
@media (min-width:992px) and (max-width:1199.98px){
  .nav-visit-btn--same-design,
  .site-navbar.is-compact .nav-visit-btn--same-design{
    width:184px;
    height:68px;
    min-height:68px;
    padding-left:10px;
    gap:9px;
  }
  .nav-visit-btn--same-design .nav-visit-copy strong,
  .nav-visit-btn--same-design .nav-visit-copy small{max-width:108px}
}

@media (max-width:991.98px){
  .nav-visit-btn--same-design,
  .site-navbar.is-compact .nav-visit-btn--same-design{
    width:208px;
    height:68px;
    min-height:68px;
    padding:0 14px 0 13px;
  }
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.10
   Botón más cercano al menú y ligeramente más bajo
   ========================================================= */
@media (min-width:992px){
  /* Quita el gran margen automático del lado derecho del menú.
     El menú sigue separado del logotipo, pero Contacto queda cerca del CTA. */
  #mainNav .navbar-nav{
    margin-left:auto!important;
    margin-right:12px!important;
  }
  #mainNav .navbar-actions{
    margin-left:0!important;
  }

  .nav-visit-btn--same-design,
  .site-navbar.is-compact .nav-visit-btn--same-design{
    height:62px;
    min-height:62px;
  }
  .nav-visit-btn--same-design .nav-visit-icon{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:10px;
  }
  .nav-visit-btn--same-design .nav-visit-icon i{font-size:17px}
  .nav-visit-btn--same-design .nav-visit-copy{gap:3px}
}

@media (min-width:992px) and (max-width:1199.98px){
  #mainNav .navbar-nav{margin-right:8px!important}
  .nav-visit-btn--same-design,
  .site-navbar.is-compact .nav-visit-btn--same-design{
    height:60px;
    min-height:60px;
  }
  .nav-visit-btn--same-design .nav-visit-icon{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.11
   Menú acercado al logotipo, sin reducir la marca
   ========================================================= */
@media (min-width:992px){
  .brand-lockup--official{
    margin-right:32px!important;
    flex-shrink:0!important;
  }

  #mainNav{
    flex-grow:1;
  }

  #mainNav .navbar-nav{
    margin-left:0!important;
    margin-right:auto!important;
  }

  #mainNav .navbar-actions{
    margin-left:18px!important;
  }
}

@media (min-width:992px) and (max-width:1199.98px){
  .brand-lockup--official{margin-right:22px!important}
  #mainNav .navbar-actions{margin-left:10px!important}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.12
   Navegación: nueva opción Nuestros servicios
   ========================================================= */
@media (min-width:1200px) and (max-width:1399.98px){
  #mainNav .navbar-nav{gap:0!important}
  #mainNav .nav-link{font-size:14px;padding-left:5px!important;padding-right:5px!important}
  #mainNav .navbar-actions{margin-left:10px!important}
  .nav-visit-btn--same-design,.site-navbar.is-compact .nav-visit-btn--same-design{width:190px}
}
@media (min-width:992px) and (max-width:1199.98px){
  #mainNav .navbar-nav{gap:0!important}
  #mainNav .nav-link{font-size:12px;padding-left:4px!important;padding-right:4px!important}
  #mainNav .navbar-actions{margin-left:6px!important}
  .nav-visit-btn--same-design,.site-navbar.is-compact .nav-visit-btn--same-design{width:154px;padding-left:8px;gap:8px}
  .nav-visit-btn--same-design .nav-visit-copy small{display:none}
  .nav-visit-btn--same-design .nav-visit-copy strong{max-width:88px;font-size:12px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.14
   Sección Nosotros autoadministrable
   ========================================================= */
.about-section{scroll-margin-top:130px}
.about-editorial-card{
  display:grid;
  grid-template-columns:minmax(220px,.58fr) minmax(0,1.42fr);
  gap:48px;
  padding:44px 46px;
  margin-bottom:18px;
  border:1px solid rgba(190,155,88,.28);
  border-radius:22px;
  background:linear-gradient(135deg,#fff 0%,#FBFDFF 58%,#F4F7FC 100%);
  box-shadow:0 9px 28px rgba(50,38,17,.07);
  position:relative;
  overflow:hidden;
}
.about-editorial-card::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-95px;
  top:-95px;
  border-radius:50%;
  border:1px solid rgba(29,78,216,.08);
  box-shadow:0 0 0 24px rgba(190,155,88,.045);
  pointer-events:none;
}
.about-editorial-heading{position:relative;z-index:1;padding-right:10px}
.about-editorial-heading h2{
  margin:9px 0 18px;
  font-size:clamp(2rem,3.4vw,3rem);
  line-height:1.06;
  letter-spacing:-.035em;
  color:#0B1F3A;
}
.about-gold-line{display:block;width:76px;height:3px;border-radius:999px;background:linear-gradient(90deg,#1D4ED8 0 24%,#93C5FD 24% 100%)}
.about-editorial-content{position:relative;z-index:1;color:#4f596a;font-size:15.5px;line-height:1.78}
.about-editorial-content h2{font-size:25px;line-height:1.25;color:#0B1F3A;margin:0 0 16px}
.about-editorial-content h3{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#1D4ED8;margin:27px 0 10px;font-weight:900}
.about-editorial-content p{margin:0 0 14px}
.about-editorial-content ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;list-style:none;padding:0;margin:14px 0 0}
.about-editorial-content li{position:relative;padding:13px 14px 13px 34px;border:1px solid rgba(201,160,86,.22);border-radius:13px;background:rgba(255,255,255,.72);font-size:13px;line-height:1.55}
.about-editorial-content li::before{content:"";position:absolute;left:14px;top:19px;width:8px;height:8px;border-radius:50%;background:#1D4ED8;box-shadow:0 0 0 3px rgba(96,165,250,.18)}
.about-editorial-content li strong{color:#0B1F3A}
.about-benefits-card{border-color:rgba(190,155,88,.25)}
.about-benefits-card .benefit-item>i{color:#1D4ED8}
.about-benefits-card .benefit-item strong{color:#0B1F3A}

@media(max-width:991.98px){
  .about-section{scroll-margin-top:92px}
  .about-editorial-card{grid-template-columns:1fr;gap:24px;padding:34px 30px}
  .about-editorial-heading{padding-right:0}
  .about-editorial-content ul{grid-template-columns:1fr 1fr}
}
@media(max-width:767.98px){
  .about-editorial-card{padding:28px 22px;border-radius:18px;margin-bottom:14px}
  .about-editorial-heading h2{font-size:32px}
  .about-editorial-content{font-size:14.5px;line-height:1.7}
  .about-editorial-content h2{font-size:22px}
  .about-editorial-content ul{grid-template-columns:1fr}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.15
   Nosotros como página independiente
   ========================================================= */
.about-public-page .about-editorial-heading h1{
  margin:9px 0 18px;
  font-size:clamp(2rem,3.4vw,3rem);
  line-height:1.06;
  letter-spacing:-.035em;
  color:#0B1F3A;
}
.about-public-page .about-section{scroll-margin-top:0}
@media(max-width:767.98px){
  .about-public-page .about-editorial-heading h1{font-size:32px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.16
   Página Nosotros: breadcrumb y menor espacio superior
   ========================================================= */
.about-public-page{
  padding-top:92px;
}
.page-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}
.page-breadcrumb a{
  color:#1D4ED8;
  text-decoration:none;
}
.page-breadcrumb a:hover,.page-breadcrumb a:focus{
  color:#1D4ED8;
  text-decoration:underline;
}
.page-breadcrumb__sep{
  color:#93C5FD;
  font-weight:900;
}
.page-breadcrumb span[aria-current="page"]{
  color:#6b7280;
}
.about-public-page .about-editorial-card{
  margin-top:0;
}
@media(max-width:991.98px){
  .about-public-page{padding-top:80px}
  .page-breadcrumb{margin-bottom:15px}
}
@media(max-width:767.98px){
  .about-public-page{padding-top:68px}
  .page-breadcrumb{font-size:12px;gap:6px;margin-bottom:12px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.17
   Nosotros: espacio superior más compacto
   ========================================================= */
.about-public-page{
  padding-top:42px!important;
}
.about-public-page .page-breadcrumb{
  margin-bottom:14px;
}
@media(max-width:991.98px){
  .about-public-page{padding-top:36px!important}
}
@media(max-width:767.98px){
  .about-public-page{padding-top:28px!important}
  .about-public-page .page-breadcrumb{margin-bottom:10px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.18
   Nuestros servicios: breadcrumb y espacio superior compacto
   ========================================================= */
.services-public-page{
  padding-top:42px!important;
}
.services-public-page .page-breadcrumb{
  margin-bottom:14px;
}
.services-public-page .services-public-card{
  margin-top:0;
}
@media(max-width:991.98px){
  .services-public-page{padding-top:36px!important}
}
@media(max-width:767.98px){
  .services-public-page{padding-top:28px!important}
  .services-public-page .page-breadcrumb{margin-bottom:10px}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.30
   Mobile premium: menú, hero alto útil y buscador colapsable
   ========================================================= */
.mobile-search-toggle{display:none}

@media (max-width:991.98px){
  .site-navbar>.container-xl{position:relative;display:flex;align-items:center;justify-content:space-between}
  .mobile-nav-toggle{
    width:48px;height:48px;padding:0!important;border:1px solid #e2e6ed!important;border-radius:13px;
    display:inline-grid;place-items:center;background:#fff;color:#313a49;font-size:25px;box-shadow:0 3px 10px rgba(18,32,56,.06)
  }
  .mobile-nav-toggle:focus{box-shadow:0 0 0 4px rgba(29,78,216,.08)!important}
  .mobile-nav-toggle i{transition:transform .2s ease}
  .mobile-nav-toggle[aria-expanded="true"]{color:var(--brand);border-color:rgba(29,78,216,.25)!important}
  .mobile-nav-toggle[aria-expanded="true"] i{transform:rotate(90deg)}
  #mainNav{
    position:fixed;left:0;right:0;top:var(--nav-height);z-index:1040;
    max-height:calc(100dvh - var(--nav-height));overflow-y:auto;
    background:#fff;border-top:1px solid #e8ebf1;border-bottom:1px solid #e3e7ef;
    padding:12px 20px 22px;box-shadow:0 18px 36px rgba(18,32,56,.16)
  }
  #mainNav .navbar-nav{margin:0!important;gap:0!important}
  #mainNav .nav-link{padding:13px 4px!important;font-size:16px;border-bottom:1px solid #f0f2f5}
  #mainNav .dropdown-menu{position:static!important;transform:none!important;float:none;width:100%;box-shadow:none!important;border:0!important;padding:4px 0 8px 12px;margin:0;background:#fafbfc}
  #mainNav .navbar-actions{margin:14px 0 0!important;width:100%}
  #mainNav .nav-visit-btn--same-design,#mainNav .site-navbar.is-compact .nav-visit-btn--same-design{width:100%!important;max-width:none!important}
  body.mobile-nav-open{overflow:hidden}
  body.mobile-nav-open::before{content:"";position:fixed;inset:var(--nav-height) 0 0;background:rgba(11,18,31,.32);z-index:1020;backdrop-filter:blur(2px)}
}

@media (max-width:767.98px){
  /* Hero: menos cielo vacío, foto anclada abajo y contenido cerca del navbar. */
  .hero-section .carousel-item{height:565px!important}
  .hero-image{object-position:center bottom!important}
  .hero-shade{background:linear-gradient(180deg,rgba(255,250,246,.77) 0%,rgba(255,249,244,.62) 36%,rgba(255,249,244,.28) 68%,rgba(15,20,29,.18) 100%)!important}
  .hero-content-wrap{align-items:flex-start!important;padding-top:38px!important;padding-bottom:0!important}
  .hero-content{max-width:590px!important;padding:0!important}
  .hero-eyebrow{font-size:11px!important;margin-bottom:10px!important}
  .hero-content h1{font-size:42px!important;line-height:1.01!important;letter-spacing:-1.5px!important;margin:0 0 13px!important;max-width:540px}
  .hero-content p{font-size:15.5px!important;line-height:1.42!important;margin:0 0 16px!important;max-width:530px}
  .hero-buttons{gap:9px!important;max-width:520px}
  .hero-buttons .btn{min-height:50px!important;padding:0 18px!important;font-size:15px!important}
  .hero-indicators{bottom:16px!important;margin:0!important;justify-content:center!important}

  /* Buscador oculto por defecto: sólo se ve el control sándwich. */
  .home-search-section.search-floating{margin-top:-28px!important;z-index:12}
  .mobile-search-toggle{
    width:100%;min-height:60px;border:1px solid #e1e5ec;border-radius:17px;background:#fff;color:var(--brand);
    box-shadow:0 9px 24px rgba(18,32,56,.13);padding:0 18px;display:flex!important;align-items:center;justify-content:space-between;
    font-size:15px;font-weight:900;text-align:left
  }
  .mobile-search-toggle>span{display:flex;align-items:center;gap:10px}
  .mobile-search-toggle>span>i{font-size:20px}
  .mobile-search-chevron{transition:transform .22s ease}
  .mobile-search-toggle[aria-expanded="true"] .mobile-search-chevron{transform:rotate(180deg)}
  #homeSearchCollapse{margin-top:9px}
  #homeSearchCollapse .search-card{padding:17px!important;border-radius:18px!important;box-shadow:0 10px 25px rgba(18,32,56,.12)}
  #homeSearchCollapse .row{--bs-gutter-y:12px}
  #homeSearchCollapse .form-label{margin-bottom:6px}
  #homeSearchCollapse .form-select{min-height:47px}
  #homeSearchCollapse .search-submit{min-height:50px;width:100%}
  .properties-section:first-of-type{padding-top:48px}
}

@media (max-width:575.98px){
  .hero-section .carousel-item{height:545px!important}
  .hero-content-wrap{padding-top:30px!important}
  .hero-content h1{font-size:38px!important}
  .hero-content p{font-size:15px!important}
  .hero-buttons .btn{min-height:48px!important}
}

@media (max-width:389.98px){
  .hero-section .carousel-item{height:525px!important}
  .hero-content-wrap{padding-top:24px!important}
  .hero-content h1{font-size:35px!important}
  .hero-content p{font-size:14px!important}
  .hero-buttons .btn{font-size:14px!important;min-height:46px!important}
}

/* =========================================================
   Altura Propiedades · Actualización 4.2.33
   WhatsApp móvil circular, pequeño y alineado a la derecha
   sobre la acción "Solicitar asesoría".
   ========================================================= */
.mobile-whatsapp-above-bar{display:none}
@media(max-width:767.98px){
  body{padding-bottom:82px!important}
  .mobile-whatsapp-above-bar{
    position:fixed;
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    right:14px;
    left:auto;
    bottom:78px;
    border-radius:50%;
    background:#25d366;
    color:#fff!important;
    text-decoration:none;
    box-shadow:0 7px 20px rgba(18,140,75,.32);
    z-index:63;
    border:2px solid rgba(255,255,255,.94);
    padding:0;
    overflow:hidden;
  }
  .mobile-whatsapp-above-bar span{display:none!important}
  .mobile-whatsapp-above-bar i{
    font-size:22px;
    line-height:1;
    margin:0;
  }
  .mobile-whatsapp-above-bar:active{transform:scale(.95)}
  .scroll-top-button{bottom:136px!important;right:14px!important}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.35
   Video y PDF visibles en la ficha pública de la propiedad
   ========================================================= */
.property-media-card{margin-top:20px;padding:28px}
.property-media-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.property-media-heading h2{font-family:'Playfair Display',serif;font-size:27px;margin:2px 0 0}
.property-pdf-btn{flex:0 0 auto;white-space:nowrap}
.property-video-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#0d1118;box-shadow:0 8px 24px rgba(18,32,56,.12)}
.property-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.property-video-fallback{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8f9fb}
.property-video-fallback>i{font-size:34px;color:var(--brand)}
.property-video-fallback>div{display:flex;flex-direction:column;flex:1}
.property-video-fallback span{color:var(--muted);font-size:13px;margin-top:3px}
@media(max-width:767.98px){
  .property-media-card{padding:19px}
  .property-media-heading{align-items:flex-start;flex-direction:column;margin-bottom:14px}
  .property-media-heading h2{font-size:24px}
  .property-pdf-btn{width:100%}
  .property-video-wrap{border-radius:14px}
  .property-video-fallback{align-items:flex-start;flex-wrap:wrap}
  .property-video-fallback .btn{width:100%}
}


/* =========================================================
   Altura Propiedades · Actualización 4.2.37
   Separación multimedia + navbar/logo móvil ampliado
   ========================================================= */
.property-media-card{
  margin-top:34px!important;
}

@media(max-width:767.98px){
  .property-media-card{margin-top:28px!important}
}

@media(max-width:575.98px){
  :root{--nav-height:84px;--nav-small:84px}
  .site-navbar{
    height:84px!important;
    min-height:84px!important;
    padding:0!important;
    border-bottom:1px solid #e4e8ef!important;
    box-shadow:0 4px 12px rgba(20,31,50,.10)!important;
  }
  .site-navbar>.container-xl{
    height:84px!important;
    min-height:84px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    align-items:center!important;
  }
  .brand-lockup--official,
  .site-navbar.is-compact .brand-lockup--official{
    width:238px!important;
    height:76px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
  }
  .brand-logo-official,
  .site-navbar.is-compact .brand-logo-official{
    width:auto!important;
    height:72px!important;
    max-width:238px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .mobile-nav-toggle{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    margin-left:auto!important;
    align-self:center!important;
    font-size:24px!important;
  }
  #mainNav{top:84px!important;max-height:calc(100dvh - 84px)!important}
  body.mobile-nav-open::before{inset:84px 0 0!important}
}

@media(max-width:389.98px){
  :root{--nav-height:80px;--nav-small:80px}
  .site-navbar{height:80px!important;min-height:80px!important}
  .site-navbar>.container-xl{height:80px!important;min-height:80px!important}
  .brand-lockup--official,
  .site-navbar.is-compact .brand-lockup--official{width:218px!important;height:72px!important}
  .brand-logo-official,
  .site-navbar.is-compact .brand-logo-official{height:68px!important;max-width:218px!important}
  .mobile-nav-toggle{width:42px!important;height:42px!important;flex-basis:42px!important;font-size:23px!important}
  #mainNav{top:80px!important;max-height:calc(100dvh - 80px)!important}
  body.mobile-nav-open::before{inset:80px 0 0!important}
}


/* ALTURA PROPIEDADES · Catálogo 1.1 · Azul Premium */
:root{--brand:#1D4ED8;--brand-dark:#0B2F6B;--brand-soft:#EFF6FF;--ink:#0B1F3A;--page:#F4F7FC}
.coastal-banner{background:linear-gradient(135deg,#0B2E2B,#123B4A)}
.stats-strip{background:linear-gradient(90deg,#0B2F6B,#1D4ED8)}
.site-footer{background:#061A3A}


/* =========================================================
   ALTURA PROPIEDADES · Catálogo 1.1 · SKIN AZUL PREMIUM
   ========================================================= */
:root{
  --brand:#1D4ED8;
  --brand-dark:#0B2F6B;
  --brand-soft:#EFF6FF;
  --ink:#0B1F3A;
  --muted:#64748B;
  --line:#DCE5F2;
  --surface:#FFFFFF;
  --page:#F4F7FC;
  --shadow-xs:0 3px 10px rgba(15,43,91,.06);
  --shadow-sm:0 7px 20px rgba(15,43,91,.09);
  --shadow:0 18px 44px rgba(15,43,91,.12);
}
body{background:#fff;color:var(--ink)}
.site-navbar{border-bottom-color:#E2E8F0;box-shadow:0 4px 18px rgba(15,43,91,.06)}
.nav-link:hover,.nav-link.active,.section-kicker,.section-link,.property-card__prices strong,.property-card__location i,.benefit-item>i,.lifestyle-points i{color:var(--brand)!important}
.nav-link::after{background:linear-gradient(90deg,#2563EB,#60A5FA)}
.hero-content h1 em{color:#60A5FA!important}
.btn-brand{background:linear-gradient(135deg,#0B2F6B 0%,#1D4ED8 55%,#2F6FED 100%);border-color:#1D4ED8;box-shadow:0 10px 24px rgba(29,78,216,.20)}
.btn-brand:hover,.btn-brand:focus{background:linear-gradient(135deg,#08245A,#174EA6 55%,#2563EB);border-color:#174EA6;box-shadow:0 14px 28px rgba(29,78,216,.26)}
.btn-outline-brand{color:#1D4ED8;border-color:#B8CDF7}.btn-outline-brand:hover,.btn-outline-brand.active{background:#1D4ED8;border-color:#1D4ED8;color:#fff}
.form-control:focus,.form-select:focus{border-color:rgba(29,78,216,.48);box-shadow:0 0 0 4px rgba(29,78,216,.08)}
.search-card,.premium-card,.property-card,.testimonial-card{border-color:#DFE7F3}
.coastal-banner{background:linear-gradient(135deg,#061A3A,#0B2F6B 60%,#174EA6)}
.stats-strip{background:linear-gradient(90deg,#061A3A,#0B2F6B 45%,#1D4ED8)}
.site-footer,.site-footer--premium{background:#061A3A!important}
.site-footer--premium::before{background:linear-gradient(90deg,#2563EB,#60A5FA,#93C5FD,#60A5FA,#2563EB)!important}
.site-footer--premium .footer-brand .brand-icon{border-color:#60A5FA!important;color:#60A5FA!important}
.footer-credit-dot{background:#60A5FA!important}
.contact-page__head:after{background:linear-gradient(90deg,#0B2F6B,#2563EB,#60A5FA)!important}
.about-gold-line{background:linear-gradient(90deg,#1D4ED8 0 24%,#93C5FD 24% 100%)!important}
.about-editorial-content h3,.about-benefits-card .benefit-item>i{color:#1D4ED8!important}
.mobile-search-toggle{border-color:#D7E3F7!important}
.property-badge,.property-badge-static{box-shadow:0 6px 16px rgba(15,43,91,.15)}
.badge-red{background:#1D4ED8!important}.badge-blue{background:#2563EB!important}.badge-purple{background:#4F46E5!important}.badge-gold{background:#93C5FD!important;color:#0B1F3A!important}
