/* ==========================================================================
   SANTA CLARA · POBLADO CAMPESTRE — identidad de producto
   Marino · Azul lago · Sol · Arena  |  Montserrat
   ========================================================================== */
.tema-sc{
  --sc-marino:#1B2A45; --sc-marino-2:#243659; --sc-anil:#2F2C86; --sc-lago:#1670B8; --sc-lago-2:#0F5C9A;
  --sc-sol:#F4A62A; --sc-sol-2:#E58E1A; --sc-arena:#F6F4EF; --sc-arena-2:#ECE7DC; --sc-blanco:#FFFFFF;
  --sc-tinta:#1B2A45; --sc-tinta-2:#56617A; --sc-linea:#DAD4C6;
  --pasto:#DCE5CB; --calle:#F4EEE1; --lote:#C9E2A2; --lote-borde:#6E9A4C; --lote-hover:#A9D179;
  --vend:#E9B9A5; --vend-borde:#B5705A; --prox:#E7EADF; --agua:#A8CFE6; --agua-borde:#6FA5CB;
  --display:"Montserrat","Segoe UI",system-ui,sans-serif;
  background:var(--sc-arena);color:var(--sc-tinta);
}
.tema-sc h1,.tema-sc h2,.tema-sc h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em}
.tema-sc h1 em,.tema-sc h2 em{color:var(--sc-sol)}
.tema-sc h1{font-size:clamp(34px,6.4vw,84px);line-height:1.05}
.tema-sc h2{font-size:clamp(28px,3.8vw,46px);line-height:1.1}
.tema-sc h3{font-size:clamp(21px,2vw,26px);line-height:1.2}
.tema-sc :focus-visible{outline-color:var(--sc-lago)}
.tema-sc .eyebrow{color:var(--sc-lago)}
.tema-sc .btn{--b-bg:var(--sc-marino);--b-fg:#fff;--b-bd:var(--sc-marino)}
.tema-sc .btn:hover{--b-bg:var(--sc-lago);--b-bd:var(--sc-lago)}
.tema-sc .btn--sol{--b-bg:var(--sc-sol);--b-fg:var(--sc-marino);--b-bd:var(--sc-sol)}
.tema-sc .btn--sol:hover{--b-bg:#FFC15A;--b-bd:#FFC15A}
.tema-sc .btn--ghost-w{--b-bg:transparent;--b-fg:#fff;--b-bd:rgba(255,255,255,.5)}
.tema-sc .btn--ghost-w:hover{--b-bg:rgba(255,255,255,.12);--b-bd:#fff}
.tema-sc .btn--line{--b-bg:transparent;--b-fg:var(--sc-marino);--b-bd:rgba(27,42,69,.3)}
.tema-sc .btn--line:hover{--b-bg:rgba(27,42,69,.05);--b-bd:var(--sc-marino)}
.tema-sc .btn--wa{--b-bg:#1F7A4D;--b-fg:#fff;--b-bd:#1F7A4D}
.tema-sc .btn--wa:hover{--b-bg:#166A41;--b-bd:#166A41}

/* Header claro */
.tema-sc .header{background:rgba(246,244,239,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--sc-linea)}
.tema-sc .header.is-scrolled,.tema-sc.menu-open .header{background:rgba(246,244,239,.97);border-color:var(--sc-linea)}
.sc-brand{display:flex;align-items:center;gap:16px;text-decoration:none}
.sc-brand > img{height:56px;width:auto}
.sc-brand .by{display:flex;align-items:center;gap:8px;padding-left:16px;border-left:1px solid var(--sc-linea);font-size:10.5px;line-height:1.25;letter-spacing:.08em;color:var(--sc-tinta-2)}
.sc-brand .by img{width:26px;filter:none}
.sc-brand .by{white-space:nowrap}
@media (max-width:1240px) and (min-width:981px){.sc-brand .by{display:none}}
@media (max-width:640px){.sc-brand .by{display:none}.sc-brand > img{height:50px}}
.tema-sc .nav a{color:var(--sc-tinta-2)}
.tema-sc .nav a:hover{color:var(--sc-lago)}
.tema-sc .nav .btn{color:#fff}
.tema-sc .menu-toggle span{background:var(--sc-marino)}
@media (max-width:980px){
  .tema-sc .nav{background:var(--sc-arena)}
  .tema-sc .nav a{color:var(--sc-marino);border-color:var(--sc-linea);font-family:var(--display);font-size:22px}
  .tema-sc .nav .btn{font-family:var(--sans);font-size:15px}
}

/* Hero */
.sc-hero{position:relative;margin-top:var(--header-h);min-height:min(calc(100svh - var(--header-h)),860px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;background:var(--sc-marino)}
.sc-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.sc-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(27,42,69,.35) 0%,rgba(27,42,69,.05) 35%,rgba(27,42,69,.55) 68%,rgba(18,28,48,.95) 100%),linear-gradient(90deg,rgba(18,28,48,.55),rgba(18,28,48,0) 60%)}
.sc-hero .wrap{width:100%;padding-top:80px;padding-bottom:clamp(36px,5vw,64px);display:grid;gap:26px}
.sc-hero .eyebrow{color:var(--sc-sol)}
.sc-hero .lede{color:#E4E9F2}
.sc-hero__facts{display:flex;flex-wrap:wrap;gap:clamp(22px,5vw,64px);padding-top:24px;margin-top:10px;border-top:1px solid rgba(255,255,255,.2)}
.sc-hero__facts div{display:grid;gap:2px}
.sc-hero__facts b{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(26px,3vw,38px);line-height:1.05}
.sc-hero__facts span{font-size:12px;color:#C9D3E3;letter-spacing:.04em}
.sc-hero .tag-media{color:#C9D3E3;margin-left:auto;align-self:end}

/* Secciones */
.sc-sec{padding:clamp(44px,5vw,72px) 0}
.sc-sec--blanco{background:#fff}
.sc-sec--marino{background:var(--sc-marino);color:#fff}
.sc-sec--marino .eyebrow{color:var(--sc-sol)}
.sc-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:22px 64px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.sc-head .eyebrow{grid-column:1/-1}
.sc-head p{color:var(--sc-tinta-2)}
.sc-sec--marino .sc-head p{color:#C9D3E3}
@media (max-width:860px){.sc-head{grid-template-columns:1fr}}

/* Proyecto */
.sc-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:900px){.sc-intro{grid-template-columns:1fr}}
.sc-facts{margin:0;display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--sc-linea)}
.sc-facts dt,.sc-facts dd{padding:16px 0;border-bottom:1px solid var(--sc-linea);margin:0}
.sc-facts dt{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-tinta-2);padding-right:28px}
.sc-facts dd{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.amen{margin-top:clamp(40px,5vw,64px)}
.amen__top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.amen__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--sc-linea);border:1px solid var(--sc-linea)}
@media (max-width:900px){.amen__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.amen__list li{background:var(--sc-arena)}
.amen__list button{all:unset;box-sizing:border-box;display:grid;gap:8px;width:100%;height:100%;padding:22px 20px;cursor:pointer;transition:background .25s}
.amen__list button:hover{background:#fff}
.amen__list button:focus-visible{outline:2px solid var(--sc-lago);outline-offset:-2px}
.amen__list b{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:21px}
.amen__ico{width:40px;height:40px;padding:9px;border-radius:50%;background:#fff;border:1.5px solid var(--sc-sol);color:var(--sc-marino);margin-bottom:6px}
.amen__ico.nat{border-color:var(--sc-lago)}
.amen__list small{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-sol-2)}
.amen__list small.nat{color:var(--sc-lago)}
.amen__list span{font-size:12.5px;color:var(--sc-tinta-2)}

/* ---------------- EXPLORADOR ---------------- */
.expl{background:#fff;padding:clamp(36px,4vw,56px) 0 0}
.expl .sc-head{margin-bottom:28px}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--sc-tinta-2)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:14px;height:14px;border:1px solid;border-radius:2px}
.lg-d{background:var(--lote);border-color:var(--lote-borde)}
.lg-v{background:var(--vend);border-color:var(--vend-borde)}
.lg-p{background:var(--prox);border-color:#AEB5A2;border-style:dashed!important}
.lg-t{background:repeating-linear-gradient(45deg,#C9CBC0 0 3px,#E7E8E1 3px 6px);border-color:#9EA293}

.toolbar{position:sticky;top:var(--header-h);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--sc-linea);border-bottom:1px solid var(--sc-linea)}
.toolbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-top:12px;padding-bottom:12px}
.search{position:relative;flex:1 1 200px;max-width:260px}
.search input{width:100%;min-height:44px;padding:0 14px 0 40px;border:1px solid var(--sc-linea);border-radius:2px;background:var(--sc-arena);font:inherit;font-size:14px;color:var(--sc-marino)}
.search input:focus{outline:2px solid var(--sc-lago);outline-offset:-1px;background:#fff}
.search svg{position:absolute;left:13px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--sc-tinta-2)}
.fgroup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fgroup > span{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sc-tinta-2);margin-right:2px}
.chip{min-height:36px;padding:0 12px;border:1px solid var(--sc-linea);background:#fff;border-radius:999px;font-size:13px;font-weight:600;color:var(--sc-tinta-2);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;transition:all .2s}
.chip:hover{border-color:var(--sc-marino);color:var(--sc-marino)}
.chip[aria-pressed="true"]{background:var(--sc-marino);border-color:var(--sc-marino);color:#fff}
.select{min-height:36px;padding:0 30px 0 12px;border:1px solid var(--sc-linea);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231B2A45' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none;font:inherit;font-size:13px;font-weight:600;color:var(--sc-marino);cursor:pointer}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--sc-marino);cursor:pointer;user-select:none}
.switch input{appearance:none;-webkit-appearance:none;width:36px;height:20px;border-radius:999px;background:var(--sc-linea);position:relative;cursor:pointer;transition:background .2s;margin:0}
.switch input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch input:checked{background:var(--disponible)}
.switch input:checked::after{transform:translateX(16px)}
.count{margin-left:auto;font-size:13px;color:var(--sc-tinta-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.count b{color:var(--sc-marino)}
.filters-toggle{display:none}
@media (max-width:1100px){
  .filters-toggle{display:inline-flex;align-items:center}
  .toolbar .fgroup,.toolbar .switch{display:none}
  .toolbar.is-open .fgroup,.toolbar.is-open .switch{display:flex}
  .toolbar.is-open .wrap{padding-bottom:16px}
  .count{margin-left:0}
}

.expl__body{display:grid;grid-template-columns:minmax(0,1fr) 420px;height:min(calc(100svh - var(--header-h) - 70px),900px);min-height:560px;border-bottom:1px solid var(--sc-linea)}
@media (max-width:1100px){.expl__body{grid-template-columns:1fr;height:auto;min-height:0}.expl__body[data-vista-activa="plano"] .panel:not(.has-lot){display:none}.expl__body[data-vista-activa="lista"] .map{display:none}.expl__body[data-vista-activa="lista"] .panel__scroll{max-height:min(74svh,640px);overflow-y:auto}}

/* Mapa */
.map{position:relative;overflow:hidden;background:#93B36B;touch-action:none;cursor:grab;min-height:420px}
@media (max-width:1100px){.map{height:min(74svh,640px)}}
.map.is-dragging{cursor:grabbing}
.map svg{width:100%;height:100%;user-select:none;-webkit-user-select:none}
.map .site{fill:#E6DCC3;stroke:#C9B892;stroke-width:2}
.map .green{fill:#7FAA52;stroke:#6C9744;stroke-width:1}
.map .shore{fill:none;stroke:#D8C9A0;stroke-width:9;stroke-linejoin:round}
.map .water{fill:url(#agua);stroke:#1C5A7E;stroke-width:1.2}
.map .waves{fill:url(#olas);stroke:none;pointer-events:none}
.map .glint{fill:url(#brillo);stroke:none;pointer-events:none}
.map .lot{fill:var(--lote);stroke:#FDFBF4;stroke-width:1.6;cursor:pointer;transition:fill .15s,opacity .25s,stroke .15s}
.map .lot:hover{fill:var(--lote-hover)}
.map .lot.vendido{fill:var(--vend);stroke:#FDFBF4}
.map .lot.vendido:hover{fill:#D8A08A}
.map .lot.proximamente{fill:var(--prox);stroke:#AEB5A2;stroke-dasharray:4 3}
.map .lot.tecnico{fill:url(#hatch);stroke:#9EA293;cursor:default}
/* Filtro: lo que no cumple queda tachado en gris; lo que cumple, con borde dorado */
.map .lot.is-dim,.map .lot.vendido.is-dim,.map .lot.reservado.is-dim,.map .lot.proximamente.is-dim{fill:url(#tachado);stroke:#fff;stroke-dasharray:none;opacity:.95;cursor:not-allowed}
.map .lot.is-dim:hover{fill:url(#tachado)}
.map .lnum.is-dim{opacity:.35;animation:none}
.map.filtrando .lot.is-match{stroke:#F4A62A;stroke-width:3}
.map.filtrando .lot.is-match.disponible{fill:#B9E08E}
.chip--limpiar{background:#1B2A45;color:#fff;border-color:#1B2A45}
.map .lot.is-sel{stroke:var(--sc-marino);stroke-width:3.2;fill:var(--sc-sol)}
.map .lot.is-hit{stroke:var(--sc-lago);stroke-width:2.6}
.map .lnum{font-family:Montserrat,sans-serif;font-size:12px;font-weight:800;fill:#24401A;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:2.4px;stroke-linejoin:round}
.map .lnum.v{fill:#7A3F2D}
.map.z2 .lnum{font-size:11px}
.map .mzb{pointer-events:none}
.map .mzb circle{fill:#fff;stroke:var(--sc-marino);stroke-width:1.4}
.map .mzl{font-family:Manrope,sans-serif;font-weight:800;font-size:12px;fill:var(--sc-marino);text-anchor:middle;dominant-baseline:central}
.map .poi{pointer-events:none}
.map.z0 .poi text,.map.z0 .acceso{display:none}
.map .poi__bg{fill:#fff;stroke:var(--sc-sol);stroke-width:2;filter:drop-shadow(0 2px 3px rgba(20,30,20,.35))}
.map .poi__ico{color:var(--sc-marino)}
.map .poi.nat .poi__bg{stroke:var(--sc-lago)}
.map .poi text{font-family:Manrope,sans-serif;text-anchor:middle;paint-order:stroke;stroke:rgba(255,255,255,.95);stroke-width:4px;stroke-linejoin:round}
.map .poi .t{font-size:12.5px;font-weight:800;fill:var(--sc-marino)}
.map .poi .s{font-size:8px;font-weight:800;fill:#B86E08;letter-spacing:.12em}
.map .poi.nat .s{fill:var(--sc-lago-2)}
.map .acceso text{font-family:Manrope,sans-serif;font-size:12px;font-weight:800;fill:#fff;paint-order:stroke;stroke:#3A3E41;stroke-width:4px;stroke-linejoin:round}
.map-ctrl{position:absolute;right:14px;top:14px;display:grid;gap:6px;z-index:2}
.map-ctrl button{width:42px;height:42px;display:grid;place-items:center;background:#fff;border:1px solid var(--sc-linea);border-radius:2px;cursor:pointer;color:var(--sc-marino);box-shadow:0 2px 8px rgba(27,42,69,.08)}
.map-ctrl button:hover{background:var(--sc-arena)}
.map-ctrl svg{width:18px;height:18px}
.map-hint{position:absolute;left:14px;bottom:14px;z-index:2;font-size:12px;color:var(--sc-tinta-2);background:rgba(255,255,255,.9);padding:6px 10px;border-radius:2px;pointer-events:none}
.map-legend{position:absolute;left:14px;top:14px;z-index:2;background:rgba(255,255,255,.94);padding:10px 12px;border-radius:2px;border:1px solid var(--sc-linea)}
.map-legend .legend{flex-direction:column;gap:6px;font-size:12px}
@media (max-width:640px){.map-legend{display:none}}
.tip{position:absolute;z-index:3;pointer-events:none;background:var(--sc-marino);color:#fff;padding:8px 11px;border-radius:2px;font-size:12.5px;line-height:1.35;white-space:nowrap;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 6px 18px rgba(27,42,69,.25)}
.tip b{display:block;font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:15px}
.tip .st{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-sol)}

/* Panel */
.panel{background:var(--sc-arena);border-left:1px solid var(--sc-linea);display:flex;flex-direction:column;min-height:0}
.panel__scroll{overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}
@media (max-width:1100px){
  .panel{border-left:0;border-top:1px solid var(--sc-linea)}
  .panel__scroll{max-height:none;overflow:visible}
  /* en celular y tableta el lote se abre en un panel lateral a la derecha, a toda la altura */
  .panel.has-lot{position:fixed;top:0;right:0;bottom:0;left:auto;z-index:60;width:min(92vw,440px);max-height:none;border-top:0;border-left:1px solid var(--sc-linea);box-shadow:-16px 0 40px rgba(27,42,69,.3);border-radius:16px 0 0 16px;animation:lateral .3s var(--ease)}
  .panel.has-lot .panel__scroll{overflow-y:auto}
  .panel.has-lot::before{display:none}
  .panel.has-lot .list-view{display:none}
  body.sheet-open{overflow:hidden}
  .sheet-backdrop{position:fixed;inset:0;z-index:55;background:rgba(18,28,48,.45)}
}
@keyframes sheet{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
@keyframes lateral{from{transform:translateX(40px);opacity:.6}to{transform:none;opacity:1}}
.list-view{padding:22px 24px 28px}
.list-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.list-top h3{font-size:22px}
.lotlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--sc-linea)}
.lotlist button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:62px 1fr auto;gap:4px 12px;align-items:center;width:100%;padding:14px 4px;border-bottom:1px solid var(--sc-linea);cursor:pointer}
.lotlist button:hover{background:#fff}
.lotlist button:focus-visible{outline:2px solid var(--sc-lago);outline-offset:-2px}
.lotlist .id{font-family:var(--display);font-size:20px;grid-row:span 2}
.lotlist .a{font-size:13px;color:var(--sc-tinta-2)}
.lotlist .p{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.lotlist .c{font-size:12px;color:var(--disponible);text-align:right;font-variant-numeric:tabular-nums;grid-column:3}
.more{margin-top:14px;width:100%}
.empty{padding:28px 0;color:var(--sc-tinta-2);font-size:14px}

/* Ficha */
.ficha{padding:18px 24px 28px;display:grid;gap:18px}
.ficha__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ficha__close{flex:none;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--sc-linea);background:#fff;border-radius:50%;cursor:pointer;color:var(--sc-marino)}
.ficha__close svg{width:16px;height:16px}
.ficha .kicker{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--disponible)}
.ficha .kicker.v{color:var(--vendido)}.ficha .kicker.p,.ficha .kicker.t{color:var(--sc-tinta-2)}
.ficha h3{font-size:clamp(30px,3vw,38px);line-height:1.05;margin-top:6px}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:#fff;border:1px solid var(--sc-linea);color:var(--sc-tinta-2)}
.pill.ok{background:#E4F0DC;border-color:#BFD9AE;color:#2F6121}
.pill.no{background:#F6E2DA;border-color:#E6BFB0;color:#8C3A22}
.price{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:16px 0;border-top:1px solid var(--sc-linea);border-bottom:1px solid var(--sc-linea)}
.price span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sc-tinta-2)}
.price b{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(30px,3vw,36px);font-variant-numeric:tabular-nums;line-height:1}
.kv{margin:0;display:grid;grid-template-columns:auto 1fr;font-size:14px}
.kv dt{color:var(--sc-tinta-2);padding:7px 0}
.kv dd{margin:0;text-align:right;font-weight:600;padding:7px 0;font-variant-numeric:tabular-nums}
.simbox{background:#fff;border:1px solid var(--sc-linea);padding:18px;display:grid;gap:14px}
.simbox h4{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-lago);margin:0}
.simrow{display:grid;gap:8px}
.simrow > span{font-size:12px;font-weight:600;color:var(--sc-tinta-2)}
.simrow .chip{min-height:38px;border-radius:2px}
.plazo-select{min-height:44px;width:100%;border-radius:2px;font-size:15px}
.plazo-note{font-size:12px;color:var(--sc-tinta-2)}
.cuota{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:14px;border-top:1px solid var(--sc-linea)}
.cuota span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sc-tinta-2)}
.cuota b{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(34px,3.6vw,44px);color:var(--sc-lago-2);font-variant-numeric:tabular-nums;line-height:1}
.proj-table summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--sc-marino);list-style:none;display:flex;justify-content:space-between;align-items:center;padding:4px 0}
.proj-table summary::-webkit-details-marker{display:none}
.proj-table summary::after{content:"+";font-size:18px;font-weight:400}
.proj-table[open] summary::after{content:"–"}
.tbl-wrap{max-height:280px;overflow:auto;margin-top:10px;border:1px solid var(--sc-linea)}
.proj-table table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.proj-table th{position:sticky;top:0;background:var(--sc-arena);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-tinta-2);text-align:right;padding:8px 10px;font-weight:700}
.proj-table th:first-child,.proj-table td:first-child{text-align:left}
.proj-table td{padding:7px 10px;text-align:right;border-top:1px solid #EFEBE2}
.proj-table tr.ini td{background:#FBF6EA;font-weight:600}
.actions{display:grid;gap:8px}
.actions .btn{width:100%;min-height:50px}
.actions .row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.actions .row2 .btn{font-size:13.5px;padding:0 10px;white-space:normal;text-align:center}
.share{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--sc-lago);justify-self:center;padding:6px}
.share:focus-visible{outline:2px solid var(--sc-lago)}
.ficha .aviso{color:var(--sc-tinta-2);font-size:12px}
.similar{display:grid;gap:8px}
.similar h4{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-tinta-2);margin:0}

/* Financiación */
.reglas{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.reglas th,.reglas td{text-align:left;padding:18px 12px 18px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.reglas th{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#9FB0CC}
.reglas td{font-size:16px}
.reglas td b{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:26px}
.formula{display:grid;gap:14px;margin-top:8px}
.formula div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:15px;color:#DCE3EE}
.formula span{border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:2px}
.formula i{font-style:normal;color:var(--sc-sol);font-size:18px}
.fin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px)}
@media (max-width:900px){.fin-grid{grid-template-columns:1fr}}

/* Galería */
.gal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.gal figure{margin:0;position:relative;overflow:hidden;background:var(--sc-marino)}
.gal figure.v1{grid-column:span 7;aspect-ratio:16/10}
.gal figure.v2{grid-column:span 5;aspect-ratio:auto}
.gal figure.ph{grid-column:span 4;aspect-ratio:4/3;background:var(--sc-arena-2);display:grid;place-items:center;text-align:center;padding:20px;border:1px dashed #CFC6B2}
.gal figure.ph span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sc-tinta-2)}
.gal video{width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:14px;bottom:12px;display:flex;gap:8px;align-items:center;color:#fff;font-size:12px}
.gal .play{position:absolute;inset:0;display:grid;place-items:center;background:none;border:0;cursor:pointer}
.gal .play span{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--sc-marino);transition:transform .3s var(--ease)}
.gal .play:hover span{transform:scale(1.06)}
.gal .play svg{width:22px;height:22px;margin-left:3px}
.gal .is-playing .play{opacity:0}
@media (max-width:760px){.gal figure.v1,.gal figure.v2{grid-column:1/-1}.gal figure.v2{aspect-ratio:9/12}.gal figure.ph{grid-column:span 6}}

/* YouTube */
.yt-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.yt{margin:0;position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;border-radius:6px}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85}
.yt iframe{width:100%;height:100%;border:0}
.yt .play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55));border:0;cursor:pointer}
.yt .play span{width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--sc-marino);transition:transform .3s var(--ease)}
.yt .play:hover span{transform:scale(1.06)}
.yt .play svg{width:24px;height:24px;margin-left:3px}
.yt figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px;pointer-events:none}
.yt__tag{background:#E0262B;color:#fff;font-size:11px;padding:3px 8px;border-radius:3px}

/* 360 */
.tour{position:relative;overflow:hidden;min-height:280px;display:grid;place-items:center;text-align:center;background:radial-gradient(70% 90% at 50% 0%,#2E4470,transparent 70%),var(--sc-marino);color:#fff;padding:clamp(44px,6vw,72px) var(--pad)}
.tour > div{position:relative;display:grid;gap:16px;justify-items:center;max-width:560px}
.tour .eyebrow{color:var(--sc-sol)}
.tour p{color:#C9D3E3}

/* Ubicación */
.ubi{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,5vw,72px);align-items:stretch}
@media (max-width:900px){.ubi{grid-template-columns:1fr}}
.ubi iframe{width:100%;height:100%;min-height:420px;border:0;filter:saturate(.85)}

/* Contacto */
.contacto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:900px){.contacto{grid-template-columns:1fr}}
.form{display:grid;gap:14px;background:#fff;padding:clamp(22px,3.5vw,36px);border:1px solid var(--sc-linea)}
.form label{display:grid;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--sc-tinta-2)}
.form input[type=text],.form select{min-height:48px;padding:0 14px;border:1px solid var(--sc-linea);border-radius:2px;background:var(--sc-arena);font:inherit;font-size:15px;color:var(--sc-marino);letter-spacing:0;font-weight:500}
.form select{-webkit-appearance:none;appearance:none;background:var(--sc-arena) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231B2A45' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center}
.form input:focus,.form select:focus{outline:2px solid var(--sc-lago);outline-offset:-1px;background-color:#fff}
.form .check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-weight:500;letter-spacing:0;font-size:13px;line-height:1.5}
.form .check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--sc-marino)}
.form .err{font-size:13px;color:var(--vendido);font-weight:600;letter-spacing:0}
.redes{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.redes a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--sc-linea);border-radius:999px;text-decoration:none;font-size:13px;font-weight:600;background:#fff}
.redes a:hover{border-color:var(--sc-marino)}
.redes svg{width:16px;height:16px}

/* Footer SC */
.sc-footer{background:var(--sc-marino);color:#C9D3E3;padding:48px 0 56px;font-size:14px}
.sc-footer .grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px}
@media (max-width:860px){.sc-footer .grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.sc-footer .grid{grid-template-columns:1fr}}
.sc-footer h4{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-sol);margin:0 0 14px}
.sc-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sc-footer a{color:#C9D3E3;text-decoration:none}
.sc-footer a:hover{color:#fff}
.sc-footer .endorse{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.sc-footer .endorse img{width:38px}
.sc-footer .endorse .nm{width:150px}
.sc-footer .legal{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#9FB0CC}
.tema-sc .dock{background:rgba(246,244,239,.95);border-color:var(--sc-linea)}

/* ==========================================================================
   Ronda 4 · Santa Clara minimalista
   ========================================================================== */
.sc-hero h1{max-width:15ch}
.sc-hero h1.rule::before{background:#fff}
.sc-hero__sub{font-size:clamp(15px,1.4vw,18px);font-weight:500;color:#E4E9F2;margin-top:-10px}
.sc-hero__facts b{font-weight:700}

/* Proyecto: video + cifras */
.proyecto{background:var(--sc-arena)}
.proyecto__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(36px,6vw,88px);align-items:center}
@media (max-width:900px){.proyecto__grid{grid-template-columns:1fr}}
.reel{position:relative;aspect-ratio:9/16;width:100%;max-width:400px;justify-self:center;border-radius:22px;overflow:hidden;background:var(--sc-marino);box-shadow:0 40px 80px -40px rgba(27,42,69,.55)}
@media (max-width:900px){.reel{max-width:340px}}
.reel video{width:100%;height:100%;object-fit:cover}
.proyecto__body{display:grid;gap:18px}
.proyecto__lead{color:var(--sc-tinta-2);font-size:17px;max-width:48ch}
.cifras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}
.cifra{display:grid;gap:4px;padding:20px 20px 18px;background:#fff;border:1px solid var(--sc-linea);border-radius:16px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.cifra:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(27,42,69,.35)}
.cifra span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sc-tinta-2)}
.cifra b{font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.02em;color:var(--sc-marino);font-variant-numeric:tabular-nums;line-height:1.15}
.cifra small{font-size:13px;color:var(--sc-tinta-2)}
.cifra--sol{background:var(--sc-marino);border-color:var(--sc-marino)}
.cifra--sol span,.cifra--sol small{color:#C9D3E3}
.cifra--sol b{color:var(--sc-sol)}
@media (max-width:420px){.cifra{padding:16px 14px}.cifra b{font-size:18px}}
.amen-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0 6px;scrollbar-width:none;scroll-snap-type:x proximity}
.amen-strip::-webkit-scrollbar{display:none}
.amen-strip button{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 6px;border-radius:999px;border:1px solid var(--sc-linea);background:#fff;color:var(--sc-marino);font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}
.amen-strip button:hover{border-color:var(--sc-sol);background:#FFF8EC}
.amen-strip svg{width:28px;height:28px;padding:6px;border-radius:50%;background:var(--sc-arena);color:var(--sc-marino);flex:none}
.amen-strip .nat svg{color:var(--sc-lago)}
.proyecto__note{font-size:12.5px;color:var(--sc-tinta-2)}

/* Explorador */
.expl{padding-top:clamp(36px,4vw,56px)}
.expl__head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 32px;flex-wrap:wrap;margin-bottom:26px}
.expl__head h2{margin-top:12px;max-width:18ch}
.pills-fin{display:flex;flex-wrap:wrap;gap:8px}
.pills-fin span{font-size:13px;font-weight:600;color:var(--sc-marino);background:var(--sc-arena);border:1px solid var(--sc-linea);padding:8px 13px;border-radius:999px}
.pills-fin span:first-child{background:var(--sc-sol);border-color:var(--sc-sol)}
.vista{display:none;background:var(--sc-arena);border:1px solid var(--sc-linea);border-radius:999px;padding:3px}
.vista button{border:0;background:transparent;min-height:36px;padding:0 14px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--sc-tinta-2);cursor:pointer}
.vista button[aria-selected="true"]{background:var(--sc-marino);color:#fff}
.vista button span{font-weight:600;opacity:.8}
@media (max-width:1100px){.vista{display:inline-flex}.toolbar .search{flex:1 1 140px}}
.list-sentinel{height:1px}
.lotlist li{animation:msgIn .3s var(--ease) both}
.map-hint{font-weight:600}

/* Videos */
.videos{padding-bottom:clamp(44px,5vw,68px)}
.videos__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px}
.videos__head h2{margin-top:12px}
.carrusel__nav{display:flex;gap:8px}
.carrusel__nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--sc-linea);background:#fff;color:var(--sc-marino);display:grid;place-items:center;cursor:pointer}
.carrusel__nav button:hover{border-color:var(--sc-marino)}
.carrusel__nav svg{width:18px;height:18px}
.carrusel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad))) 8px;scrollbar-width:none}
.carrusel::-webkit-scrollbar{display:none}
.carrusel__yt{display:contents}
.ytc{flex:0 0 min(860px,88vw);scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);background:#fff;border:1px solid var(--sc-linea);border-radius:20px;overflow:hidden}
@media (max-width:760px){.ytc{grid-template-columns:1fr}}
.ytc__media{position:relative;aspect-ratio:16/9;background:#000}
.ytc__media img{width:100%;height:100%;object-fit:cover}
.ytc__media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytc .play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.45));border:0;cursor:pointer}
.ytc .play span{width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--sc-marino);box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .3s var(--ease)}
.ytc .play:hover span{transform:scale(1.07)}
.ytc .play svg{width:26px;height:26px;margin-left:4px}
.ytc__info{padding:clamp(20px,3vw,32px);display:grid;gap:12px;align-content:center;justify-items:start}
.ytc__info h3{font-size:clamp(19px,1.8vw,24px);line-height:1.25}
.ytc__info p{color:var(--sc-tinta-2);font-size:15px}
.ytc__info a{font-weight:700;color:var(--sc-lago);text-decoration:none}
.clip--link{flex:0 0 260px;scroll-snap-align:start;display:grid;align-content:center;justify-items:start;gap:10px;padding:28px;border-radius:20px;background:var(--sc-marino);color:#fff;text-decoration:none}
.clip--link b{font-size:20px;line-height:1.25}
.clip--link > span:last-child{color:var(--sc-sol);font-weight:700;font-size:14px}
.clip__yt{width:52px;height:52px;border-radius:14px;background:#E0262B;display:grid;place-items:center}
.clip__yt svg{width:26px;height:26px}

/* Olimpo en Santa Clara */
#preguntas{padding-bottom:clamp(40px,5vw,72px)}

/* Contacto sobre marino */
.sc-sec--marino h2{color:#fff}
.sc-sec--marino .form{border-color:transparent;border-radius:18px}
.pronto{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#C9D3E3;font-size:14.5px}
.pronto span{font-size:11.5px;font-weight:700;color:var(--sc-marino);background:var(--sc-sol);padding:4px 10px;border-radius:999px}
.sc-sec--marino .redes a{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.sc-sec--marino .redes a:hover{border-color:#fff}
.form{border-radius:18px}
.form input[type=text],.form select{border-radius:12px}
.sc-footer .endorse{text-decoration:none;color:inherit}

/* ==========================================================================
   Ronda 5 · Santa Clara: cercanía, video compacto, números que brillan
   ========================================================================== */
/* video comercial más pequeño */
.proyecto__grid{grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr)}
.reel{max-width:300px;border-radius:20px}
@media (max-width:900px){.proyecto__grid{grid-template-columns:1fr}.reel{max-width:250px}}
.proyecto h2 em{color:var(--sc-lago)}

/* palabras que se iluminan sobre fondo claro */
.tema-sc .words .w{color:rgba(27,42,69,.2)}
.tema-sc .words .w.on{color:var(--sc-tinta-2)}
.tema-sc .words .w--key.on{color:var(--sc-marino);font-weight:700;text-shadow:none}
.tema-sc .sc-sec--marino .words .w{color:rgba(255,255,255,.2)}

/* cercanía */
.cerca{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cerca--hero li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(18,28,48,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);color:#E4E9F2;font-size:14px}
.cerca--hero li b{color:#fff}
.cerca--hero svg{width:18px;height:18px;color:var(--sc-sol);flex:none}
.cerca--ubi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 4px}
@media (max-width:560px){.cerca--ubi{grid-template-columns:1fr}}
.cerca--ubi li{display:grid;gap:2px;padding:16px;border-radius:16px;background:var(--sc-arena);border:1px solid var(--sc-linea)}
.cerca--ubi b{font-size:clamp(28px,3vw,38px);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--sc-marino)}
.cerca--ubi span{font-size:13.5px;color:var(--sc-tinta-2);line-height:1.35}

/* números de lotes disponibles que brillan en ola */
.map .lnum.d{animation:numBrillo 5s ease-in-out infinite}
@keyframes numBrillo{
  0%,70%,100%{fill:#24401A;stroke:rgba(255,255,255,.85);stroke-width:2.4px}
  80%{fill:#FFFFFF;stroke:#F4A62A;stroke-width:6px}
  86%{fill:#1B2A45;stroke:#FFE3A1;stroke-width:4px}
}
.map .lot.is-sel + .lnum,.map .lnum.is-sel{fill:#1B2A45}
.expl__head h2 em{color:var(--sc-lago)}
.words em{font-style:normal}

/* ---------- Ronda 6 · Ubicación compacta ---------- */
#ubicacion{padding:clamp(44px,5vw,68px) 0}
.ubi{align-items:center}
.ubi__mapa{position:relative;aspect-ratio:16/10;max-height:380px;width:100%;border-radius:20px;overflow:hidden;background:var(--sc-marino);box-shadow:0 30px 60px -40px rgba(27,42,69,.5)}
.ubi__mapa img{width:100%;height:100%;object-fit:cover}
.ubi__mapa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,28,48,0) 45%,rgba(18,28,48,.7) 100%);pointer-events:none}
.ubi__mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;min-height:0}
.ubi__mapa.is-mapa::after{display:none}
.ubi__pin{position:absolute;left:46%;top:58%;width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--sc-sol);transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,.35);z-index:1}
.ubi__pin::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(244,166,42,.7);animation:pulse 2s ease-out infinite}
.ubi__tag{position:absolute;left:16px;bottom:16px;z-index:1;color:#fff;font-weight:700;font-size:15px}
.ubi__ver{position:absolute;right:14px;bottom:12px;z-index:1;min-height:40px;padding:0 16px;border-radius:999px;border:0;background:#fff;color:var(--sc-marino);font-weight:700;font-size:13.5px;cursor:pointer}
.ubi__ver:hover{background:var(--sc-sol)}
@media (max-width:560px){.ubi__tag{bottom:60px}.ubi__ver{left:14px;right:14px}}
.cerca--ubi li{padding:14px}

/* Lotes reservados (hoja de la empresa): se ven como vendidos, no como disponibles */
.map .lot.reservado{fill:var(--vend);stroke:#FDFBF4}
.map .lot.reservado:hover{fill:#D8A08A}

/* Nota de cierre del plan de pagos (cuotas cerradas y última cuota) */
.ficha .cierre-nota{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--sc-tinta-2)}

/* Forma de pago en la ficha del lote: Financiado / De contado */
.ficha .modos{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 0;background:var(--sc-arena-2);padding:4px;border-radius:999px}
.ficha .modos button{font:inherit;font-size:13.5px;font-weight:600;color:var(--sc-tinta-2);background:transparent;border:0;border-radius:999px;padding:9px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.ficha .modos button i{font-style:normal;font-size:11.5px;font-weight:700;color:#1F7A4D;background:#E4F0DC;border-radius:999px;padding:2px 7px}
.ficha .modos button[aria-selected="true"]{background:var(--sc-blanco);color:var(--sc-marino);box-shadow:0 1px 4px rgba(27,42,69,.14)}
.ficha .modos button:hover{color:var(--sc-marino)}
.ficha .contadobox{margin-top:14px;border:1px solid var(--sc-linea);border-radius:4px;padding:14px;background:var(--sc-blanco)}
.ficha .contadobox h4{margin:0 0 10px}
.ficha .cuota--contado{background:#E4F0DC;border-color:#BFD9AE}
.ficha .cuota--contado b{color:#1F5E2E}

/* El dock flotante del celular necesita aire al final del pie */
@media (max-width:860px){.sc-footer{padding-bottom:104px}}

/* Un solo camino en la ficha: botón grande y formulario corto para el asesor */
.ficha .btn--grande{min-height:54px;font-size:15.5px;width:100%}
.ficha .lead{display:grid;gap:12px;background:var(--sc-arena);border:1px solid var(--sc-linea);border-radius:4px;padding:16px}
.ficha .lead h4{margin:0;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-lago)}
.ficha .lead label{display:grid;gap:5px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sc-tinta-2)}
.ficha .lead input[type=text],.ficha .lead input[type=tel]{min-height:46px;padding:0 13px;border:1px solid var(--sc-linea);border-radius:3px;background:#fff;font:inherit;font-size:15px;font-weight:500;letter-spacing:0;color:var(--sc-marino)}
.ficha .lead input:focus{outline:2px solid var(--sc-lago);outline-offset:-1px}
.ficha .lead .check{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.45;color:var(--sc-tinta-2)}
.ficha .lead .check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--sc-marino)}
.ficha .lead .err{margin:0;font-size:13px;font-weight:600;color:#9C3B22}

/* Nombres de las calles (se leen al acercar el plano) */
.map .calle{font-family:Montserrat,sans-serif;font-size:7.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;fill:#6A5530;paint-order:stroke;stroke:rgba(253,251,244,.9);stroke-width:2px;stroke-linejoin:round;pointer-events:none;dominant-baseline:central}
.map.z0 .calles{display:none}
.map.z2 .calle{font-size:6.5px}
/* Zonas comunes con su forma real del plano */
.map .green--zona{fill:#86B35A;stroke:#6C9744;stroke-width:1.2}

/* Títulos sin la raya delante y con brillo suave, en el color de cada sección */
.tema-sc .eyebrow::before{display:none}
.tema-sc .eyebrow{font-weight:800;letter-spacing:.2em;text-shadow:0 0 16px rgba(22,112,184,.35)}
.tema-sc h2 em,.tema-sc h1 em{text-shadow:0 0 24px rgba(22,112,184,.35)}
.tema-sc .sc-hero .eyebrow,.tema-sc .sc-sec--marino .eyebrow,.tema-sc .tour .eyebrow{text-shadow:0 0 16px rgba(244,166,42,.55)}
.tema-sc .sc-hero h1 em,.tema-sc .sc-sec--marino h2 em,.tema-sc .tour h2 em{text-shadow:0 0 26px rgba(244,166,42,.55)}

/* Panel del lote en computador: más ancho, con scroll propio y cifras que no se cortan */
@media (min-width:1101px){
  .expl__body{grid-template-columns:minmax(0,1fr) clamp(380px,30vw,470px)}
  .panel{overflow:hidden}
  .ficha{padding:18px 22px 26px}
}
.price b{font-size:clamp(26px,2.3vw,34px);white-space:nowrap}
.cuota b{font-size:clamp(28px,2.6vw,40px);white-space:nowrap}
.ficha h3{font-size:clamp(26px,2.4vw,34px)}
.kv dd{overflow-wrap:anywhere}
.count .vend{color:#B5462B}
.map .kiosco{pointer-events:none}

/* Panel del lote: nada se sale por la derecha ni se mueve de lado; cifras que caben */
.panel,.panel__scroll{overflow-x:hidden}
.panel__scroll{scrollbar-gutter:stable}
.ficha,.ficha > *,.simbox,.simbox > *,.actions,.kv{min-width:0;max-width:100%}
.price,.cuota{flex-wrap:wrap;row-gap:4px}
.price b{font-size:clamp(24px,2vw,30px)}
.cuota b{font-size:clamp(26px,2.2vw,34px)}
.ficha h3{font-size:clamp(24px,2vw,30px)}
.actions .btn{white-space:normal;text-align:center;line-height:1.25;padding:10px 14px;height:auto}
.ficha{padding-bottom:96px}   /* que el botón de Olimpo no tape los botones del final */
.map .kiosco{filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
@media (max-width:1100px){
  .panel.has-lot .ficha{padding:18px 18px 110px}
}

/* Frente y fondo del lote */
.tip__med{display:block;margin-top:2px;font-size:11.5px;color:#F4C24A;font-weight:600}
.pill--med{background:#1B2A45;border-color:#1B2A45;color:#fff;text-transform:none;letter-spacing:.02em}
.med-linea{margin:-8px 0 0;font-size:13.5px;color:var(--sc-tinta-2)}
.med-linea b{color:var(--sc-marino)}

/* Contador de disponibles y vendidos, junto a "Solo disponibles" y bien visible */
.toolbar .count{margin-left:0;font-size:13.5px;background:#F3F6EE;border:1px solid #D9E4CB;border-radius:999px;padding:6px 12px}
.toolbar .count b{font-size:14.5px}
.chip--limpiar{margin-left:auto}

/* ---------- Mi selección: cotizar dos o más lotes ---------- */
.btn--sel{width:100%;min-height:50px;border:2px dashed var(--sc-lago);background:#EEF5FB;color:var(--sc-marino);font-weight:700;display:grid;place-items:center;gap:0;line-height:1.25;padding:8px 12px;cursor:pointer;border-radius:999px}
.btn--sel small{font-size:12px;font-weight:600;color:var(--sc-tinta-2)}
.btn--sel.is-on{border-style:solid;border-color:#2E7D4F;background:#E5F2EA;color:#1F5E3A}
.sel-mas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sel-mas .btn{font-size:13.5px;min-height:44px;white-space:normal;text-align:center;padding:6px 10px}
.map .lot.is-pick{stroke:#1670B8;stroke-width:3.4;stroke-dasharray:none}
.map .lot.is-pick.disponible{fill:#9FD0F2}
.map-hint.is-aviso{background:#1670B8;color:#fff;font-weight:700}
.sel-barra{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:12px;max-width:calc(100% - 24px);padding:10px 16px 10px 10px;border:0;border-radius:999px;background:#1B2A45;color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 12px 30px -10px rgba(27,42,69,.55)}
.sel-barra:hover{background:#22345A}
.sel-barra__ic{width:34px;height:34px;flex:none;border-radius:50%;background:#F4A62A;color:#1B2A45;display:grid;place-items:center;font-weight:800;font-size:18px}
.sel-barra__t{display:grid;line-height:1.25;min-width:0}
.sel-barra__t b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sel-barra__t small{font-size:12px;color:#C8D2E4}
.sel-barra__ir{font-size:13px;font-weight:700;color:#F4C24A;white-space:nowrap}
@media (max-width:520px){.sel-barra__ir{display:none}}
.sel-lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--sc-linea)}
.sel-lista li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--sc-linea)}
.sel-ir{all:unset;cursor:pointer;display:grid;gap:2px;min-width:0}
.sel-ir b{font-family:var(--display);font-size:18px;color:var(--sc-marino)}
.sel-ir span{font-size:12.5px;color:var(--sc-tinta-2)}
.sel-ir:focus-visible{outline:2px solid var(--sc-lago);outline-offset:2px}
.sel-lista strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.sel-quitar{width:30px;height:30px;border-radius:50%;border:1px solid var(--sc-linea);background:#fff;color:#8C3A22;cursor:pointer}
.sel-totales dd{font-weight:800}
.sel-vaciar{all:unset;cursor:pointer;justify-self:center;font-size:12.5px;color:var(--sc-tinta-2);text-decoration:underline;padding:4px}
.sel-zona{display:grid;gap:8px}
.sel-totales{grid-template-columns:minmax(0,1fr) auto}
.sel-totales dd{white-space:nowrap;overflow-wrap:normal}
.sel-mas .btn{white-space:nowrap;font-size:13px;padding:6px 8px}
.sel-barra{left:auto;right:14px;transform:none;max-width:min(460px,calc(100% - 28px))}
@media (max-width:700px){.sel-barra{right:12px;left:12px;max-width:none;bottom:58px}}

/* Ficha del lote: encabezado claro y la opción de varios lotes pequeña, al final */
.ficha__sub{margin:4px 0 0;font-size:14px;color:var(--sc-tinta-2)}
.sel-pie{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;border-top:1px dashed var(--sc-linea);padding-top:10px}
.sel-link{all:unset;cursor:pointer;font-size:13px;font-weight:700;color:var(--sc-lago);padding:4px 2px}
.sel-link:hover{text-decoration:underline}
.sel-link:focus-visible{outline:2px solid var(--sc-lago);outline-offset:2px}
/* En computador, el botón de Olimpo no tapa el panel del lote: se corre a la izquierda del panel */
@media (min-width:1101px){
  body.panel-abierto .olimpo-fab{right:calc(clamp(380px,30vw,470px) + 18px)}
}
.sel-link[hidden]{display:none}
