:root{
  --cms-blue:#0b57d0;
  --cms-blue-dark:#0842a0;
  --cms-orange:#ff7a00;
  --cms-ink:#202124;
  --cms-muted:#5f6368;
  --cms-line:#e3e7ee;
  --cms-surface:#ffffff;
  --cms-soft:#f6f8fc;
  --cms-shadow:0 12px 34px rgba(32,33,36,.10);
  --cms-shadow-soft:0 5px 18px rgba(32,33,36,.08);
}
html{scroll-behavior:smooth}
body{font-family:"Roboto",sans-serif;font-weight:400;color:var(--cms-ink);background:#fff}
body strong,body b{font-weight:500}
.app-main{padding-top:78px}
.app-navbar{min-height:78px;border-bottom:1px solid rgba(227,231,238,.85);box-shadow:0 2px 12px rgba(32,33,36,.06);transition:min-height .25s ease,box-shadow .25s ease}
.app-navbar.navbar-scrolled{min-height:66px;box-shadow:0 5px 20px rgba(32,33,36,.10)}
.premium-brand{display:flex;align-items:center;gap:10px;padding:0;text-decoration:none}
.premium-brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#ff9800,#ff6200);color:#fff;font-size:1.25rem;box-shadow:0 10px 24px rgba(255,122,0,.28);transform:rotate(-3deg)}
.premium-brand-copy{display:flex;flex-direction:column;line-height:1.02;color:#15171a}
.premium-brand-copy>span{font-size:1.22rem;font-weight:500;letter-spacing:-.025em}
.premium-brand-copy small{font-size:.54rem;letter-spacing:.14em;color:#68707d;margin-top:5px;font-weight:500}
.premium-brand-version{align-self:flex-start;margin-top:1px;background:#e8f0fe;color:#0b57d0;border-radius:7px;padding:3px 6px;font-size:.64rem;font-weight:500}
.premium-nav{gap:3px}
.premium-nav .nav-link{display:flex;align-items:center;gap:8px;color:#4b515b;border-radius:12px;padding:.68rem .83rem;font-size:.9rem;font-weight:400;transition:.2s}
.premium-nav .nav-link i{font-size:.83rem;color:#7b8492}
.premium-nav .nav-link:hover{background:#f4f7fc;color:#0b57d0}
.premium-nav .nav-link.active{background:#e8f0fe;color:#0b57d0;box-shadow:inset 0 0 0 1px #d7e4fb}
.premium-nav .nav-link.active i{color:#0b57d0}
.premium-nav-actions .btn{border-radius:12px;font-weight:500;padding:.66rem .92rem}
.premium-nav-actions .btn-light{background:#f6f8fc;border-color:#edf0f5;color:#3c4043}
.premium-nav-actions .btn-primary{background:#0b57d0;border-color:#0b57d0;box-shadow:0 7px 17px rgba(11,87,208,.18)}
.premium-stores-btn{display:none}

.premium-hero{position:relative;overflow:hidden;min-height:570px;background-image:var(--hero-image);background-size:cover;background-position:center;isolation:isolate}
.premium-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,248,255,.98) 0%,rgba(245,248,255,.94) 38%,rgba(245,248,255,.60) 63%,rgba(245,248,255,.20) 100%);z-index:-1}
.premium-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));z-index:-1}
.premium-hero-inner{min-height:570px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.72fr);align-items:center;gap:58px;padding-top:48px;padding-bottom:48px}
.premium-hero-copy{max-width:720px}
.premium-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;background:rgba(255,255,255,.88);border:1px solid rgba(214,224,241,.92);border-radius:999px;color:#0b57d0;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 6px 20px rgba(32,33,36,.06)}
.premium-hero-copy h1{max-width:720px;margin:23px 0 17px;font-size:clamp(2.65rem,4.9vw,4.75rem);line-height:1.02;letter-spacing:-.055em;font-weight:500;color:#202124;text-wrap:balance}
.premium-hero-copy p{max-width:690px;font-size:1.08rem;line-height:1.65;color:#5f6368;margin:0}
.hero-trust-row{display:flex;flex-wrap:wrap;gap:12px 21px;margin-top:27px;color:#48505d;font-size:.85rem}
.hero-trust-row span{display:flex;align-items:center;gap:7px}
.hero-trust-row i{color:#0b57d0}
.premium-search-card{background:rgba(255,255,255,.96);border:1px solid rgba(222,228,237,.94);border-radius:26px;padding:25px;box-shadow:0 28px 70px rgba(32,33,36,.22);backdrop-filter:blur(10px)}
.search-card-title{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.search-card-title>span{width:47px;height:47px;display:grid;place-items:center;border-radius:15px;background:#e8f0fe;color:#0b57d0;font-size:1.05rem}
.search-card-title small{display:block;font-size:.65rem;letter-spacing:.12em;color:#0b57d0;margin-bottom:3px}
.search-card-title strong{display:block;font-size:1.16rem;color:#202124}
.premium-search-card label{display:block;margin:0 0 7px;color:#545b66;font-size:.76rem;font-weight:500}
.premium-search-input,.premium-select{height:54px;display:flex;align-items:center;gap:10px;border:1px solid #dce2eb;border-radius:14px;background:#fff;padding:0 15px;transition:.2s;margin-bottom:16px}
.premium-search-input:focus-within,.premium-select:focus-within{border-color:#0b57d0;box-shadow:0 0 0 3px rgba(11,87,208,.10)}
.premium-search-input i,.premium-select i{color:#0b57d0;width:20px;text-align:center}
.premium-search-input input,.premium-select select{width:100%;height:100%;border:0;outline:0;background:transparent;color:#34383f;font-size:.91rem}
.premium-search-card .btn{border-radius:14px;min-height:54px;font-weight:500;background:#0b57d0;border-color:#0b57d0;box-shadow:0 10px 22px rgba(11,87,208,.20)}
.search-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;color:#68707d;font-size:.76rem}
.search-card-foot i{color:#ff7a00}
.search-card-foot a{color:#0b57d0;font-weight:500}

.section-selector-wrap{position:relative;margin-top:-34px;z-index:4}
.section-selector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;background:#fff;border:1px solid #e4e8ef;border-radius:22px;padding:13px;box-shadow:0 18px 46px rgba(32,33,36,.12)}
.section-selector-card{position:relative;display:grid;grid-template-columns:47px 1fr auto;align-items:center;gap:11px;min-height:86px;padding:13px;border:1px solid transparent;border-radius:16px;color:#34383f;text-decoration:none;overflow:hidden;transition:.22s}
.section-selector-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.88)),var(--section-thumb);background-size:cover;background-position:center;opacity:0;transition:.22s;z-index:-1}
.section-selector-card:hover,.section-selector-card.active{border-color:#d4e1f6;transform:translateY(-2px);box-shadow:0 10px 23px rgba(32,33,36,.08)}
.section-selector-card:hover:before,.section-selector-card.active:before{opacity:1}
.section-selector-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eef3fc;color:#0b57d0}
.section-selector-card.active .section-selector-icon{background:#0b57d0;color:#fff}
.section-selector-copy{min-width:0}
.section-selector-copy strong,.section-selector-copy small{display:block}
.section-selector-copy strong{font-size:.91rem;color:#25282d}
.section-selector-copy small{font-size:.72rem;color:#7a828e;margin-top:4px;line-height:1.25}
.section-selector-count{text-align:right;color:#0b57d0;font-size:1rem;font-weight:500}
.section-selector-count small{display:block;color:#8a919c;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}

.premium-section-heading{align-items:end}
.premium-section-heading h2{font-weight:500;letter-spacing:-.025em}
.premium-section-heading>a{font-size:.82rem;color:#0b57d0;text-decoration:none}
.premium-featured-track .featured-card{border-radius:17px;border:1px solid #e3e7ee;box-shadow:0 7px 20px rgba(32,33,36,.07);overflow:hidden;background:#fff;transition:.2s}
.premium-featured-track .featured-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(32,33,36,.13)}
.premium-featured-track .featured-card img{aspect-ratio:1.45/1;object-fit:cover}

.premium-filter-card{border:1px solid #e1e6ee;border-radius:20px;box-shadow:0 10px 28px rgba(32,33,36,.07);background:#fff}
.filter-title{display:flex;align-items:center;gap:11px;margin-bottom:19px}
.filter-title>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e8f0fe;color:#0b57d0}
.filter-title small{font-size:.61rem;color:#0b57d0;letter-spacing:.1em}
.filter-title h3{font-size:1.08rem;font-weight:500;margin:2px 0 0}
.premium-filter-card label{font-weight:400;color:#5f6368}
.premium-filter-card .form-control,.premium-filter-card .form-select{border-radius:12px;border-color:#dfe4ec;min-height:45px}
.premium-filter-card .btn{border-radius:12px;min-height:46px;font-weight:500}
.clear-filters{display:block;text-align:center;margin-top:14px;font-size:.77rem;color:#6b7280;text-decoration:none}
.clear-filters:hover{color:#0b57d0}
.premium-list-header p{margin:5px 0 0;color:#7a828d;font-size:.84rem}
.premium-list-header h2{font-weight:500}
.premium-list-header .btn{border-radius:12px}
.premium-ad-card{border:1px solid #e2e6ed!important;border-radius:19px!important;box-shadow:0 6px 20px rgba(32,33,36,.065)!important;overflow:hidden;transition:.2s;background:#fff}
.premium-ad-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(32,33,36,.12)!important;border-color:#d1dceb!important}
.premium-ad-card h3{font-weight:500;letter-spacing:-.01em}
.premium-ad-card .ad-row-image img{object-fit:cover}
.premium-ad-card .ad-row-side strong{font-weight:500;color:#202124}
.premium-ad-card .btn-light{background:#f4f7fc;border-color:#edf1f6;color:#0b57d0;border-radius:11px}

.premium-category-cloud{background:linear-gradient(180deg,#f8faff,#f4f7fc)}
.premium-category-tile{min-height:90px;border:1px solid #e1e6ee;border-radius:17px;background:#fff;box-shadow:0 5px 16px rgba(32,33,36,.055);transition:.2s}
.premium-category-tile:hover{transform:translateY(-3px);border-color:#cbdaf2;box-shadow:0 13px 28px rgba(32,33,36,.10)}
.premium-category-tile>span{background:#eef3fc;color:#0b57d0}
.premium-category-tile strong{font-weight:500}
.site-footer .brand-mark{background:linear-gradient(135deg,#ff9800,#ff6200)!important}

@media(max-width:1199.98px){
  .premium-hero-inner{grid-template-columns:1fr minmax(390px,.72fr);gap:35px}
  .premium-brand-copy small{display:none}
  .premium-nav{margin-top:18px;margin-bottom:16px}
  .premium-nav .nav-link{padding:.8rem}
  .premium-nav-actions{padding-bottom:17px}
  .premium-stores-btn{display:inline-block}
}
@media(max-width:991.98px){
  .app-main{padding-top:72px}
  .app-navbar{min-height:72px}
  .premium-hero{min-height:auto}
  .premium-hero:after{background:linear-gradient(180deg,rgba(245,248,255,.98),rgba(245,248,255,.90))}
  .premium-hero-inner{min-height:auto;grid-template-columns:1fr;padding-top:55px;padding-bottom:78px}
  .premium-hero-copy{max-width:760px}
  .premium-hero-copy h1{font-size:clamp(2.5rem,8vw,4rem)}
  .premium-search-card{max-width:720px}
  .section-selector-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767.98px){
  .premium-brand-mark{width:42px;height:42px;border-radius:13px}
  .premium-brand-copy>span{font-size:1.08rem}
  .premium-brand-version{display:none}
  .premium-hero-inner{padding:39px 16px 66px;gap:30px}
  .premium-hero-copy h1{font-size:2.45rem;line-height:1.04;margin-top:18px}
  .premium-hero-copy p{font-size:.98rem}
  .hero-trust-row{display:grid;gap:9px;margin-top:20px}
  .premium-search-card{padding:19px;border-radius:21px}
  .search-card-foot{align-items:flex-start;flex-direction:column}
  .section-selector-wrap{margin-top:-28px;padding-left:11px;padding-right:11px}
  .section-selector-grid{grid-template-columns:1fr 1fr;padding:8px;border-radius:18px;gap:7px}
  .section-selector-card{grid-template-columns:42px 1fr;min-height:80px;padding:10px;gap:8px}
  .section-selector-icon{width:40px;height:40px;border-radius:12px}
  .section-selector-count{display:none}
  .section-selector-copy strong{font-size:.82rem}
  .section-selector-copy small{font-size:.65rem}
  .premium-ad-card{border-radius:17px!important}
}
@media(max-width:480px){
  .premium-brand-copy small{display:none}
  .premium-hero-copy h1{font-size:2.13rem}
  .premium-eyebrow{font-size:.65rem}
  .section-selector-grid{grid-template-columns:1fr}
  .section-selector-card{grid-template-columns:42px 1fr auto}
  .section-selector-count{display:block;font-size:.83rem}
}
.footer-premium-brand{display:inline-flex!important;color:#202124!important;text-decoration:none}.footer-premium-brand .premium-brand-copy small{display:block}

/* =========================================================
   Actualización 4.0.2: carrusel, WhatsApp y geolocalización
   ========================================================= */
.featured-premium-section{overflow:hidden}
.cms-featured-carousel{position:relative;padding:3px 50px 13px}
.cms-featured-carousel .carousel-inner{overflow:hidden;border-radius:18px}
.featured-slide-grid{display:flex;align-items:stretch;gap:16px;min-height:202px}
.featured-slide-grid .featured-card{flex:0 0 calc((100% - 48px)/4);min-width:0;height:auto;text-decoration:none}
.featured-slide-grid .featured-card img{width:100%;height:150px;object-fit:cover;display:block}
.featured-slide-grid .featured-card span{color:#30343a;min-height:31px;line-height:1.35}
.featured-slide-grid .featured-card strong{font-size:1rem}
.cms-carousel-control{width:39px;height:39px;top:50%;bottom:auto;transform:translateY(-50%);opacity:1;background:transparent}
.cms-carousel-control.carousel-control-prev{left:0}
.cms-carousel-control.carousel-control-next{right:0}
.cms-carousel-control>span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b57d0;border:1px solid #dfe5ee;box-shadow:0 8px 22px rgba(32,33,36,.16)}
.cms-carousel-control:hover>span{background:#0b57d0;color:#fff;border-color:#0b57d0}

.whatsapp-contact-btn{width:100%;min-height:60px;margin-top:16px;padding:10px 16px;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#25d366,#16b957);color:#fff!important;text-decoration:none;box-shadow:0 12px 25px rgba(37,211,102,.27);transition:transform .2s,box-shadow .2s,filter .2s}
.whatsapp-contact-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(37,211,102,.34);filter:brightness(.98)}
.whatsapp-contact-btn>i{font-size:1.75rem}
.whatsapp-contact-btn span,.whatsapp-contact-btn strong,.whatsapp-contact-btn small{display:block}
.whatsapp-contact-btn strong{font-size:.94rem;font-weight:500;line-height:1.15}
.whatsapp-contact-btn small{font-size:.68rem;color:rgba(255,255,255,.88);margin-top:4px}

.property-map-editor{margin-top:22px;border:1px solid #dce4ef;border-radius:19px;padding:18px;background:linear-gradient(180deg,#f9fbff,#f4f8fe);box-shadow:0 8px 23px rgba(32,33,36,.06)}
.property-map-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.property-map-heading>div:first-child{display:flex;align-items:flex-start;gap:12px}
.property-map-heading>div:first-child>span,.property-location-heading>div>span{width:46px;height:46px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;background:#e8f0fe;color:#0b57d0;font-size:1.05rem}
.property-map-heading small,.property-location-heading small{display:block;color:#0b57d0;font-size:.62rem;letter-spacing:.11em;margin-bottom:4px}
.property-map-heading h3{font-size:1.05rem;font-weight:500;color:#202124;margin:0 0 5px}
.property-map-heading p{max-width:680px;margin:0;color:#6f7782;font-size:.76rem;line-height:1.5}
.property-map-actions{display:flex;gap:8px;flex:0 0 auto}
.property-map-actions .btn{border-radius:11px;font-size:.75rem;white-space:nowrap}
.map-search-status{display:flex;align-items:center;gap:8px;margin-bottom:11px;padding:10px 12px;border-radius:11px;background:#e8f0fe;color:#315d99;font-size:.74rem}
.map-search-status.success{background:#e6f4ea;color:#137333}.map-search-status.warning{background:#fef7e0;color:#9a5b00}.map-search-status.danger{background:#fce8e6;color:#c5221f}
.property-editor-map{height:430px;border-radius:15px;border:1px solid #d6dee9;overflow:hidden;background:#e9eef5;z-index:1}
.property-editor-map .leaflet-control-container,.property-detail-map .leaflet-control-container{font-family:Roboto,sans-serif}
.property-location-section{margin-top:8px;border-top:1px solid #e5e9ef}
.property-location-heading>div{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}
.property-location-heading h2{margin:0 0 6px;font-weight:500}
.property-location-heading p{margin:0;color:#6b7280;font-size:.82rem}
.property-detail-map{height:420px;border:1px solid #dfe5ed;border-radius:17px;overflow:hidden;box-shadow:0 8px 24px rgba(32,33,36,.08);z-index:1}
.property-map-privacy{display:flex;align-items:center;gap:8px;margin:10px 0 0;color:#7a828d;font-size:.72rem}
.property-map-privacy i{color:#0b57d0}

@media(max-width:1199.98px){
  .featured-slide-grid .featured-card{flex-basis:calc((100% - 16px)/2)}
}
@media(max-width:767.98px){
  .cms-featured-carousel{padding:2px 0 50px}
  .featured-slide-grid{gap:0;min-height:0}
  .featured-slide-grid .featured-card{flex-basis:100%;width:100%;border-radius:18px}
  .featured-slide-grid .featured-card img{height:225px}
  .cms-carousel-control{top:auto;bottom:0;transform:none}
  .cms-carousel-control.carousel-control-prev{left:calc(50% - 48px)}
  .cms-carousel-control.carousel-control-next{right:calc(50% - 48px)}
  .property-map-heading{flex-direction:column}
  .property-map-actions{width:100%}
  .property-map-actions .btn{flex:1}
  .property-editor-map,.property-detail-map{height:330px}
  .whatsapp-contact-btn{min-height:64px;border-radius:14px}
  .seller-contact-card{padding:17px}
}
@media(max-width:420px){
  .featured-slide-grid .featured-card img{height:205px}
  .property-map-actions{flex-direction:column}
  .property-map-actions .btn{width:100%}
}
