@import url("./tpl-brand-system.css?v=20260805-d1");
@import url("./tpl-design-system.css?v=20260805-d2");
/* Estos nombres antes traian su propio azul (#123a63) y su propio ink, que
   pisaban los de tpl-foundation.css y dejaban esta pagina con otro tono de
   marca. Ahora son alias de los tokens canonicos. */
:root{
  --tpl-blue:var(--tpl-navy-800);
  --tpl-blue-deep:var(--tpl-navy-900);
  --tpl-yellow:var(--tpl-gold-500);
  --tpl-cream:var(--tpl-surface-warm);
  --tpl-ink:#14212e;
}
.tpl-brand-purpose{display:block;margin-top:.15rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(23,50,74,.68)}
.tpl-emotional-hero{--tpl-heading-color:#fff;position:relative;overflow:hidden;border-radius:28px;min-height:290px;margin:20px auto 28px;padding:clamp(28px,5vw,64px);display:flex;align-items:flex-end;isolation:isolate;background:linear-gradient(115deg,rgba(7,31,54,.90),rgba(18,58,99,.57) 55%,rgba(18,58,99,.20)),var(--tpl-hero-image,linear-gradient(135deg,#315d75,#91a98b));background-size:cover;background-position:center;box-shadow:0 20px 55px rgba(10,39,67,.14)}
.tpl-emotional-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(5,25,43,.35),transparent 55%)}
.tpl-emotional-hero--story::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--tpl-hero-photo-a),var(--tpl-hero-photo-b);background-size:58% 100%,48% 100%;background-position:left center,right center;background-repeat:no-repeat;filter:saturate(.9);transform:scale(1.015)}
.tpl-emotional-hero__content{max-width:720px;color:#fff}.tpl-emotional-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);backdrop-filter:blur(8px);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tpl-emotional-hero h1,.tpl-emotional-hero h2{margin:0 0 12px;max-width:680px;color:#fff;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.035em}.tpl-emotional-hero p{margin:0;max-width:620px;color:rgba(255,255,255,.9);font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.55}
.tpl-positive-strip{margin:20px auto 34px;padding:16px 20px;border:1px solid rgba(18,58,99,.09);border-radius:18px;background:linear-gradient(100deg,#fff,#f7f4ec);color:var(--tpl-ink);font-weight:650;text-align:center}.tpl-positive-strip strong{color:var(--tpl-blue)}

/* Filtros: feedback y significado visible */
#parcelas-filters .filter-btn{position:relative;display:flex;align-items:center;gap:9px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
#parcelas-filters .filter-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(10,39,67,.08)}
#parcelas-filters .filter-btn.active{box-shadow:0 0 0 2px rgba(18,58,99,.08),0 10px 24px rgba(10,39,67,.10)}
.tpl-filter-copy{flex:1}.tpl-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:rgba(18,58,99,.08);color:var(--tpl-blue);font-size:.68rem;font-weight:850}
.filter-btn.active .tpl-filter-count{background:rgba(255,255,255,.2);color:inherit}

/* Mapa moderno */
#map-layout.tpl-modern-map{border-radius:26px;overflow:hidden;background:#f4f7f9;border:1px solid rgba(18,58,99,.08);box-shadow:0 24px 60px rgba(10,39,67,.12)}
#map-layout.tpl-modern-map #map-container,.tpl-modern-map .leaflet-container{min-height:560px;background:#e9eef1;font-family:inherit}
.tpl-modern-map .leaflet-control-zoom{border:0!important;border-radius:14px!important;overflow:hidden;box-shadow:0 10px 25px rgba(10,39,67,.16)!important}
.tpl-modern-map .leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;border:0!important;color:#17324a!important;background:rgba(255,255,255,.96)!important}
.tpl-modern-map .leaflet-control-attribution{background:rgba(255,255,255,.8)!important;backdrop-filter:blur(7px);border-radius:9px 0 0 0}
.tpl-modern-map .leaflet-popup-content-wrapper{border-radius:20px!important;box-shadow:0 18px 45px rgba(10,39,67,.2)!important;overflow:hidden}.tpl-modern-map .leaflet-popup-content{margin:0!important;min-width:230px!important}.tpl-modern-map .tpl-map-popup-clean{padding:0!important;text-align:left!important}.tpl-modern-map .tpl-map-popup-clean img{height:150px!important;border-radius:0!important;margin:0 0 12px!important}.tpl-modern-map .tpl-map-popup-clean h3,.tpl-modern-map .tpl-map-popup-clean strong,.tpl-modern-map .tpl-map-popup-clean>div{margin-left:14px!important;margin-right:14px!important}.tpl-modern-map .tpl-map-popup-clean>div{margin-bottom:14px!important}
.tpl-modern-map .map-card-item{border:1px solid rgba(18,58,99,.08);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(10,39,67,.08);overflow:hidden;transition:.2s}.tpl-modern-map .map-card-item.active{border-color:rgba(244,197,66,.9);box-shadow:0 14px 32px rgba(10,39,67,.16)}
.tpl-modern-map .map-card-main img{border-radius:14px;object-fit:cover}.tpl-modern-map .tpl-cluster-marker{background:transparent!important}.tpl-modern-map .tpl-cluster-count{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(18,58,99,.94);color:#fff;border:4px solid rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(10,39,67,.25);font-weight:850}
.tpl-map-kicker{display:block;color:#758394;font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}

/* Ficha: primero recordar qué parcela interesó */
.tpl-parcel-interest{--tpl-selected-parcel-image:none;position:relative;isolation:isolate;overflow:hidden;min-height:430px;margin:0 0 30px;background:#17324a var(--tpl-selected-parcel-image) center/cover no-repeat;color:#fff}
.tpl-parcel-interest::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,28,48,.94) 0%,rgba(8,38,65,.75) 48%,rgba(8,38,65,.30) 100%)}.tpl-parcel-interest__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,25,43,.35),transparent 55%);z-index:-1}.tpl-parcel-interest__inner{max-width:1200px;margin:auto;padding:clamp(38px,7vw,86px) 24px}.tpl-parcel-interest__copy{max-width:760px}.tpl-parcel-interest__eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(9px);font-size:.72rem;font-weight:850;letter-spacing:.12em}.tpl-parcel-interest h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.98;letter-spacing:-.04em;margin:14px 0 12px;color:#fff}.tpl-parcel-interest__meta{font-size:1.12rem;margin:0 0 15px;color:rgba(255,255,255,.92)}.tpl-parcel-interest__meta strong{color:#ffe28a;font-size:1.28rem}.tpl-parcel-interest__description{max-width:680px;line-height:1.58;color:rgba(255,255,255,.87);font-size:1rem}.tpl-parcel-interest__chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tpl-parcel-interest__chips span{padding:8px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.10);backdrop-filter:blur(7px);font-size:.78rem;font-weight:750}.tpl-parcel-interest__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.tpl-parcel-interest__actions button{border:0;border-radius:999px;padding:12px 17px;font-weight:850;cursor:pointer;background:#fff;color:#163551;box-shadow:0 8px 18px rgba(0,0,0,.12)}.tpl-parcel-interest__actions button:nth-child(2){background:var(--tpl-yellow);color:#17324a}.tpl-parcel-interest__actions button:nth-child(3){background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(8px)}

/* Resultado parcela + casa: no volver a mostrar catálogo completo */
.tpl-own-house-choice{margin-top:18px;padding:13px 15px;border:1px solid rgba(18,58,99,.09);border-radius:15px;background:#f7f9fa;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#53677a;font-size:.85rem}.tpl-own-house-choice button{border:0;border-radius:999px;padding:9px 13px;background:#fff;color:var(--tpl-blue);font-weight:800;box-shadow:0 4px 12px rgba(10,39,67,.08);cursor:pointer}
#casas-section.tpl-combo-locked .casas-room-filter,#casas-section.tpl-combo-locked #casas-container,#casas-section.tpl-combo-locked .own-design-callout,#casas-section.tpl-combo-locked> .container > div[style*="text-align:center"]{display:none!important}
.tpl-selected-combo-summary{margin:8px auto 26px;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);overflow:hidden;border:1px solid rgba(18,58,99,.09);border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(10,39,67,.10)}.tpl-selected-combo-summary__media{display:grid;grid-template-columns:1fr 1fr;min-height:240px}.tpl-selected-combo-summary__media img{width:100%;height:100%;object-fit:cover}.tpl-selected-combo-summary__body{padding:28px;display:flex;flex-direction:column;justify-content:center}.tpl-selected-combo-summary__body>span{font-size:.7rem;letter-spacing:.12em;font-weight:850;color:#7b8996}.tpl-selected-combo-summary h3{margin:8px 0;color:var(--tpl-blue-deep);font-size:1.55rem}.tpl-selected-combo-summary p{color:#66778a;line-height:1.5}.tpl-selected-combo-summary__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.tpl-selected-combo-summary__actions button{border:1px solid rgba(18,58,99,.12);border-radius:999px;padding:10px 14px;background:#fff;color:var(--tpl-blue);font-weight:800;cursor:pointer}.tpl-selected-combo-summary__actions [data-go-quote]{background:var(--tpl-yellow);color:#17324a;border-color:transparent}

/* TPL en números */
.tpl-public-stats{max-width:1180px;margin:0 auto 38px;padding:0 18px}.tpl-public-stats__shell{display:grid;grid-template-columns:1.25fr repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(18,58,99,.09);border-radius:20px;background:rgba(18,58,99,.08);box-shadow:0 10px 30px rgba(10,39,67,.06)}.tpl-public-stats__intro,.tpl-public-stat{min-height:94px;background:rgba(255,255,255,.96)}.tpl-public-stats__intro{padding:20px 22px;display:flex;flex-direction:column;justify-content:center}.tpl-public-stats__intro small{display:block;margin-bottom:4px;color:#7a8794;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.tpl-public-stats__intro strong{color:var(--tpl-blue);font-size:1rem;line-height:1.25}.tpl-public-stat{padding:16px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:transform .2s ease,background .2s ease}.tpl-public-stat:hover{background:#fff;transform:translateY(-1px)}.tpl-public-stat__value{display:block;color:var(--tpl-blue-deep);font-size:clamp(1.35rem,2.3vw,2rem);font-weight:850;line-height:1;letter-spacing:-.04em}.tpl-public-stat__label{margin-top:7px;color:#66778a;font-size:.72rem;font-weight:750;letter-spacing:.03em}.tpl-public-stat__note{margin-top:10px;color:#8894a0;font-size:.66rem;text-align:center}

@media(max-width:900px){.tpl-public-stats__shell{grid-template-columns:repeat(3,1fr)}.tpl-public-stats__intro{grid-column:1/-1;min-height:auto}.tpl-selected-combo-summary{grid-template-columns:1fr}.tpl-selected-combo-summary__media{min-height:190px}}
@media(max-width:720px){.tpl-emotional-hero{min-height:260px;border-radius:20px;padding:28px 22px}.tpl-emotional-hero h1,.tpl-emotional-hero h2{font-size:2.25rem}.tpl-emotional-hero--story::before{background-size:100% 100%,100% 100%;background-position:center,center;opacity:.7}.tpl-parcel-interest{min-height:480px}.tpl-parcel-interest__inner{padding:48px 18px}.tpl-parcel-interest h1{font-size:2.35rem}.tpl-modern-map .leaflet-container,#map-layout.tpl-modern-map #map-container{min-height:480px}.tpl-own-house-choice{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.tpl-public-stats{padding:0 12px;margin-bottom:28px}.tpl-public-stats__shell{grid-template-columns:repeat(2,1fr);border-radius:16px}.tpl-public-stats__intro{grid-column:1/-1}.tpl-public-stat{min-height:82px}.tpl-selected-combo-summary__media{min-height:150px}.tpl-selected-combo-summary__body{padding:20px}.tpl-parcel-interest__actions button{width:100%}}
