/* ============================================================
   CreekWest — Models explorer + model detail pages
   ============================================================ */

/* ---------- explorer filter bar ---------- */
.ex-bar{
  display:flex;align-items:center;gap:clamp(20px,3vw,44px);flex-wrap:wrap;
  padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin-top:clamp(36px,5vw,56px);
}
.ex-group{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ex-lab{
  font-family:var(--display);font-size:10.5px;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint);
}
.ex-pill{
  font-family:var(--display);font-size:12px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brown);
  background:transparent;border:1px solid var(--line);
  padding:10px 18px;cursor:pointer;transition:all .3s var(--ease);
}
.ex-pill:hover{border-color:var(--terra);color:var(--terra)}
.ex-pill.on{background:var(--brown);border-color:var(--brown);color:var(--cream)}
.ex-sort{
  font-family:var(--display);font-size:12px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brown);
  background:transparent;border:1px solid var(--line);
  padding:10px 14px;cursor:pointer;outline:none;border-radius:0;
}
.ex-sort:focus{border-color:var(--terra)}
.ex-count{
  margin-left:auto;font-family:var(--display);font-size:11.5px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);
}

/* ---------- explorer grid ---------- */
.ex-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(36px,5vw,56px)}
.ex-grid .model-card{grid-column:span 4}
.ex-grid .model-card.hid{display:none}
.ex-empty{
  grid-column:1/-1;text-align:center;padding:clamp(48px,7vw,90px) 20px;
  border:1px dashed var(--line);
}
.ex-empty p{font-family:var(--display);font-size:clamp(17px,1.8vw,22px);letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px}

/* customizable band */
.ex-band{
  margin-top:clamp(56px,8vw,100px);background:var(--dark);color:var(--cream);
  padding:clamp(48px,6vw,80px) clamp(28px,4.5vw,72px);
  display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;
}
.ex-band h2{max-width:22ch;color:#fff}
.ex-band p{color:rgba(249,245,243,.65);max-width:52ch;margin-top:14px}
.ex-band .acts{display:flex;gap:16px;flex-wrap:wrap}

/* ---------- model detail : title bar ---------- */
.md-top{padding:calc(88px + clamp(44px,6vw,72px)) 0 0}
.md-back{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);font-size:12px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);
  transition:color .3s,gap .3s;
}
.md-back:hover{color:var(--terra);gap:15px}
.md-titlebar{
  display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;
  margin-top:26px;padding-bottom:28px;border-bottom:1px solid var(--line);
}
.md-titlebar h1{max-width:none}
.md-kind{
  font-family:var(--display);font-size:11.5px;font-weight:600;
  letter-spacing:.3em;text-transform:uppercase;color:var(--terra);
  display:block;margin-bottom:14px;
}
.md-price{
  font-family:var(--display);font-size:clamp(17px,1.9vw,24px);font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--terra);white-space:nowrap;
  padding-bottom:6px;
}
.md-specs{display:flex;gap:clamp(24px,3.5vw,56px);flex-wrap:wrap;padding:24px 0}
.md-specs .it b{font-family:var(--display);font-weight:600;font-size:clamp(20px,2vw,26px);letter-spacing:.03em;display:block}
.md-specs .it small{font-family:var(--display);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint)}

/* ---------- model detail : media ---------- */
.md-media{overflow:hidden;background:var(--stone)}
.md-media img,.md-media video{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.md-media.soft img{image-rendering:auto}

/* ---------- model detail : body ---------- */
.md-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(40px,6vw,96px);align-items:start}
.md-desc h2{margin:20px 0 26px}
.md-desc p{color:var(--ink-soft)}
.md-desc p+p{margin-top:1.25em}
.md-facts{
  position:sticky;top:112px;background:var(--dark);color:var(--cream);
  padding:clamp(30px,3.2vw,44px);
}
.md-facts .f-title{
  font-family:var(--display);font-size:11.5px;font-weight:600;
  letter-spacing:.3em;text-transform:uppercase;color:var(--stone);margin-bottom:24px;
}
.md-facts dl{margin:0}
.md-facts .row{
  display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding:13px 0;border-bottom:1px solid var(--line-cream);
}
.md-facts dt{font-family:var(--display);font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(203,193,189,.7)}
.md-facts dd{font-family:var(--display);font-size:15px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-align:right}
.md-facts .acts{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.md-facts .acts .btn{width:100%}
.md-facts .call{
  margin-top:22px;text-align:center;font-family:var(--display);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);
}
.md-facts .call a{color:#fff;border-bottom:1px solid var(--terra);padding-bottom:2px}
.md-facts .call a:hover{color:var(--terra)}

/* ---------- floor plan ---------- */
.sec-plan-img{background:var(--cream-soft)}
.md-plan{margin-top:clamp(36px,5vw,56px);background:#fff;border:1px solid var(--line);padding:clamp(20px,3vw,48px)}
.md-plan img{width:100%;height:auto;cursor:zoom-in}

/* ---------- gallery ---------- */
.md-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px);margin-top:clamp(36px,5vw,56px)}
.md-gallery a{display:block;overflow:hidden;background:var(--stone);aspect-ratio:4/3}
.md-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);cursor:zoom-in}
.md-gallery a:hover img{transform:scale(1.05)}

/* ---------- lightbox ---------- */
.lb{
  position:fixed;inset:0;z-index:300;background:rgba(19,26,24,.94);
  display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);
}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.lb-close,.lb-prev,.lb-next{
  position:absolute;background:none;border:0;color:var(--cream);cursor:pointer;
  font-family:var(--display);font-size:14px;letter-spacing:.2em;text-transform:uppercase;
  padding:14px;opacity:.75;transition:opacity .25s;
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{opacity:1}
.lb-close{top:18px;right:22px;font-size:26px;line-height:1}
.lb-prev{left:14px;top:50%;transform:translateY(-50%);font-size:32px}
.lb-next{right:14px;top:50%;transform:translateY(-50%);font-size:32px}
.lb-count{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  font-family:var(--display);font-size:11px;letter-spacing:.3em;color:var(--stone);
}

/* ---------- related ---------- */
.md-related{margin-top:0}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .ex-grid .model-card{grid-column:span 6}
  .md-grid{grid-template-columns:1fr}
  .md-facts{position:static}
}
@media (max-width:820px){
  .ex-count{margin-left:0;width:100%}
  .md-gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .ex-grid .model-card{grid-column:span 12}
  .md-titlebar{align-items:flex-start;flex-direction:column;gap:10px}
  .md-gallery{grid-template-columns:1fr}
  .md-specs{gap:22px}
}
