/* ---------------------------------------------------------------
   Four doors · detail pages
   Shared components for panda / wushu / qingcheng / dujiangyan.
   Same paper-and-ink rules as site.css: no shadows, no radius,
   no gradients — structure by hairline rules and white space.
   --------------------------------------------------------------- */

/* door switcher under the header */
.doorswitch{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.6vw,24px);
  padding-block:14px;border-bottom:1px solid var(--line);
  font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.doorswitch a{color:var(--muted);padding-bottom:2px;border-bottom:1px solid transparent}
.doorswitch a:hover{color:var(--green)}
.doorswitch a[aria-current="page"]{color:var(--green);border-bottom-color:var(--green)}
.doorswitch .sep{color:var(--line-2)}
.doorswitch .zh{letter-spacing:.02em;font-size:13px;color:var(--muted);opacity:.85}
.doorswitch a[aria-current="page"] .zh{color:var(--green);opacity:1}
a.lang{font-size:13px;letter-spacing:.06em;color:var(--muted)}

/* pull quote inside prose */
.quote{border-left:2px solid var(--green);padding:4px 0 4px 20px;margin:clamp(24px,3.6vh,38px) 0;
  font-family:var(--serif);font-size:clamp(1.08rem,1.85vw,1.45rem);line-height:1.5;color:var(--green)}
.quote cite{display:block;font-family:var(--sans);font-style:normal;font-size:13.5px;
  letter-spacing:.06em;color:var(--muted);margin-top:12px}

/* what-we-provide box */
.note{background:var(--paper);border:1px solid var(--line);padding:clamp(20px,3vw,30px);margin-top:clamp(22px,3.4vh,32px)}
.note h3{margin-bottom:10px}
.note ul{list-style:none}
.note li{font-size:15px;line-height:1.7;color:var(--body);padding-left:16px;position:relative;margin-bottom:8px}
.note li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:1px;background:var(--green)}

/* ---------- video ---------- */
.vid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.6vw,30px);margin-top:clamp(22px,3.4vh,34px)}
.vid figure{border:1px solid var(--line);background:var(--cream-2)}
.vid .frame{position:relative;padding-top:56.25%;background:#1D1C18}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vid figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:12px 14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.55}
.vid figcaption a{color:var(--green);border-bottom:1px solid var(--line-2);white-space:nowrap;flex:none}

/* ---------- gallery (10 images) ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.5vw,18px);margin-top:clamp(20px,3vh,30px)}
.gal figure{display:flex;flex-direction:column;margin:0}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--cream-2)}
.gal .tall img{aspect-ratio:3/4}
.gal .wide{grid-column:span 2}
.gal .wide img{aspect-ratio:2/1}
.gal figcaption{padding-top:8px;font-size:12.5px;line-height:1.5;color:var(--muted);letter-spacing:.02em}
.gal-note{margin-top:18px;font-size:13px;color:var(--muted);letter-spacing:.02em}

/* ---------- guest notes ---------- */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,38px);margin-top:clamp(20px,3vh,32px)}
.rev{border-top:1px solid var(--line-2);padding-top:16px}
.rev q{display:block;quotes:none;font-family:var(--serif);
  font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.62;color:var(--ink)}
.rev .who{margin-top:14px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rev .where{display:block;margin-top:3px;font-size:13px;letter-spacing:.02em;text-transform:none;color:var(--muted)}

/* ---------- keep going ---------- */
.next-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,28px);margin-top:clamp(22px,3.4vh,34px)}
.next-row a{border-top:1px solid var(--line-2);padding-top:14px;display:block;min-height:44px}
.next-row b{display:block;font-family:var(--serif);font-weight:400;font-size:1.1rem}
.next-row span{display:block;font-size:14px;color:var(--muted);margin-top:4px;line-height:1.6}

@media (max-width:1000px){.gal{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .vid,.revs,.next-row{grid-template-columns:1fr}
  .split{gap:clamp(20px,4vw,34px)}
  .trow{grid-template-columns:78px 1fr;row-gap:6px}
  .trow .d{grid-column:2}
}
@media (max-width:640px){
  .gal{grid-template-columns:repeat(2,1fr)}
  .gal .wide{grid-column:span 2}
  .gal .wide img{aspect-ratio:4/3}
  .doorswitch{font-size:11.5px;letter-spacing:.08em;gap:10px}
}
