/* Condo building pages (condos.py, layout v2 from the approved mockup). Uses the site tokens from style.css. */

/* ---- hero + facts strip (full width, above the two columns) */
.cdo-hero{padding:clamp(8px,2vw,20px) 0 clamp(18px,2.5vw,30px)}
.cdo-hero h1{margin:.5rem 0 .7rem}
.cdo-hero .subhero-lede{margin:0;max-width:64ch}
.cdo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:1.4rem 0 0;background:var(--surface);
  border-top:1px solid var(--border);border-left:1px solid var(--border);border-radius:var(--r12);overflow:hidden;
  box-shadow:0 1px 2px rgba(28,33,39,.05),0 2px 6px rgba(28,33,39,.05)}
.cdo-strip>div{padding:.9rem 1.05rem;min-width:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.cdo-strip dt{font-size:.8125rem;color:var(--s500);margin:0 0 .2rem}
.cdo-strip dd{margin:0;font-family:var(--display);font-weight:700;font-size:1.15rem;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}
.cdo-src{display:block;margin-top:.3rem;font-size:.75rem;line-height:1.35;color:var(--s500)}
a.cdo-src{text-decoration:underline}

/* ---- two columns: main + sticky sidebar */
.cdo-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,3.5vw,44px);align-items:start;padding-bottom:clamp(40px,6vw,72px)}
.cdo-main{min-width:0}
.cdo-side{position:sticky;top:92px;display:grid;gap:16px;min-width:0}
.cdo-inline-alert{display:none}
.cdo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r12);
  box-shadow:0 1px 2px rgba(28,33,39,.05),0 2px 6px rgba(28,33,39,.05)}
.cdo-alert,.cdo-talk{padding:1.35rem}
.cdo-pad{padding:1.15rem 1.35rem}
.cdo-h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:.4rem 0 .5rem}
.cdo-h3{font-size:1.3rem;line-height:1.2;margin:.35rem 0 .6rem}
.cdo-sec{padding-top:clamp(32px,4.5vw,52px)}
.cdo-sub{margin:0 0 1.1rem;color:var(--s500);max-width:60ch}
.cdo-lead{margin:0 0 1rem;font-size:.9375rem;color:var(--s700)}
.cdo-note{margin:.9rem 0 0;color:var(--s700)}
.cdo-fine{font-size:.8125rem;line-height:1.55;color:var(--s500);margin:.75rem 0 0}
.cdo-more{margin-top:1.25rem}
.cdo-opt{font-weight:400;color:var(--s500);font-size:.8125rem}
.cdo-link{display:inline-block;margin-top:.8rem;font-size:.9375rem;text-decoration:underline}
.cdo-talk .btn{width:100%}

/* ---- video: a wide poster until it is played, so the page loads no third-party script */
.cdo-media{min-width:0}
.cdo-poster{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:var(--r20);overflow:hidden;
  cursor:pointer;text-align:left;color:#fff;background:linear-gradient(160deg,#2a1215,#5c2b2e 55%,#9A3412) center/cover no-repeat;
  box-shadow:0 18px 40px -20px rgba(28,33,39,.4)}
.cdo-poster:before{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(28,33,39,.88) 0,rgba(28,33,39,.3) 34%,rgba(28,33,39,.05) 62%,rgba(28,33,39,.22) 100%)}
.cdo-poster:focus-visible{outline:3px solid var(--ember);outline-offset:3px}
.cdo-poster-tag{position:absolute;top:1rem;left:1rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(0,0,0,.5);padding:.35rem .75rem;border-radius:var(--pill)}
.cdo-play{position:absolute;top:50%;left:50%;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;background:#fff;
  box-shadow:0 8px 30px rgba(0,0,0,.35)}
.cdo-play:after{content:"";position:absolute;left:31px;top:23px;border-left:23px solid var(--ember);border-top:16px solid transparent;border-bottom:16px solid transparent}
.cdo-poster-cap{position:absolute;left:1.25rem;right:1.25rem;bottom:1.1rem;display:flex;flex-direction:column;gap:.1rem}
.cdo-poster-cap b{font-family:var(--display);font-weight:700;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.1}
.cdo-poster-cap span{font-size:.9375rem;opacity:.92}
.cdo-stage{display:flex;justify-content:center;padding:1rem;border-radius:var(--r20);background:var(--ink)}
.cdo-stage iframe{display:block;width:min(100%,400px);height:min(78vh,740px);border:0;border-radius:var(--r12);background:#fff}
.cdo-stage--wide{padding:0;background:#000}
.cdo-stage--wide iframe{width:100%;height:auto;aspect-ratio:16/9}
.cdo-vlink{margin:.7rem 0 0;font-size:.9375rem}
.cdo-vlink a{text-decoration:underline}
.cdo-chap{display:flex;flex-wrap:wrap;gap:8px;margin:.8rem 0 0;padding:0;list-style:none}
.cdo-chap li{font-size:.8125rem;font-weight:600;color:var(--s700);background:var(--surface);border:1px solid var(--border);border-radius:var(--pill);padding:.4rem .8rem}
.cdo-credit{margin:.35rem 0 0;font-size:.75rem;line-height:1.45;color:var(--s500)}
.cdo-credit a{text-decoration:underline}

/* ---- signup form */
.cdo-f{margin:0 0 .8rem}
.cdo-f label{display:block;font-weight:600;color:var(--ink);margin-bottom:.3rem;font-size:.9375rem}
.cdo-f input{width:100%;min-height:48px;padding:.6rem .8rem;font:inherit;border:1px solid var(--s300);border-radius:var(--r8);background:#fff;color:var(--ink)}
.cdo-f input:focus-visible{outline:2px solid var(--ember);outline-offset:1px;border-color:var(--ember)}
.cdo-consent{display:flex;gap:.6rem;align-items:flex-start;margin:.2rem 0 1rem;font-size:.9375rem;line-height:1.45;color:var(--s700)}
.cdo-consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--rust)}
.cdo-alert-form .btn{width:100%}
.cdo-hp{position:absolute;left:-9999px;height:0;overflow:hidden}

/* ---- listings, amenities, lists, chips */
.cdo-empty{padding:1.25rem 1.4rem;border:1px dashed var(--s300);border-radius:var(--r12);background:var(--surface)}
.cdo-empty p{margin:0 0 .75rem}.cdo-empty p:last-child{margin:0}
.cdo-listings .idx-strip{margin:0}
.cdo-amens{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.cdo-amen{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r12)}
.cdo-amen b{font-family:var(--display);font-size:1.05rem;color:var(--ink)}.cdo-amen span{font-size:.9375rem;color:var(--s700)}
.cdo-list{margin:0;padding-left:1.25rem}.cdo-list li{margin:.45rem 0}
.cdo-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.cdo-chip{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 1.05rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r12);text-decoration:none;color:var(--ink)}
.cdo-chip:hover{border-color:var(--ember)}
.cdo-chip b{font-family:var(--display);font-weight:700}.cdo-chip span{color:var(--s500);font-size:.9375rem}
.cdo-main details.faq{margin:0}

/* ---- hub: filter pills and photo cards */
.cdo-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.4rem}
.cdo-filters button{font:600 .9375rem var(--sans);min-height:40px;padding:.45rem 1rem;border:1px solid var(--s300);border-radius:var(--pill);background:var(--surface);color:var(--ink);cursor:pointer}
.cdo-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.cdo-filters button:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.cdo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cdo-bcard{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:var(--ink)}
.cdo-bcard:hover{border-color:var(--ember)}
.cdo-bcard[hidden]{display:none}
.cdo-bcard-img{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#d9d7d0,#ecebe7) center/cover no-repeat}
.cdo-card-v{position:absolute;right:10px;bottom:10px;font-size:.75rem;font-weight:600;color:#fff;background:var(--ink);padding:.25rem .65rem;border-radius:var(--pill)}
.cdo-bcard-b{display:flex;flex-direction:column;gap:.1rem;padding:.95rem 1.1rem 1.05rem}
.cdo-bcard-b b{font-family:var(--display);font-weight:700;font-size:1.2rem}
.cdo-bcard-b span{color:var(--s500);font-size:.9375rem}

/* ---- narrower screens: the sidebar stacks, and the signup moves up under the video */
@media(max-width:980px){
  .cdo-cols{grid-template-columns:minmax(0,1fr)}
  .cdo-side{position:static}
  .cdo-side .cdo-alert{display:none}
  .cdo-inline-alert{display:block;margin-top:1.25rem}
}
@media(max-width:560px){
  .cdo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdo-play{width:64px;height:64px;margin:-32px 0 0 -32px}
  .cdo-play:after{left:25px;top:19px;border-left-width:19px;border-top-width:13px;border-bottom-width:13px}
}
.cdo-main details.faq{max-width:none;width:100%}
