/* Compact, agenda-first detail layout; the workshop directory is unchanged. */
.workshop-detail-page .workshop-opening { padding:1.5rem 0 0; }
.workshop-detail-page .breadcrumbs { margin-bottom:1rem; }
.workshop-masthead { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); overflow:hidden; border:1px solid var(--surface-border); border-radius:var(--radius-md); background:var(--ink-900); }
.workshop-masthead-copy { padding:clamp(1.25rem,2.6vw,2rem); }
.workshop-masthead-copy .eyebrow { margin-bottom:.7rem; font-size:.73rem; }
.workshop-detail-page h1 { margin:0 0 1rem; font-size:clamp(2rem,3.3vw,2.85rem); line-height:1.1; letter-spacing:-.035em; max-width:22ch; }
.workshop-date { margin:0; color:var(--lime); font-size:clamp(1.05rem,1.7vw,1.3rem); font-weight:800; }
.workshop-time { margin:.25rem 0 .8rem; font-size:.95rem; color:var(--white); }
.workshop-intro { max-width:55ch; font-size:.96rem; margin:0; }
.workshop-jump-links { display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin-top:1rem; font-size:.88rem; font-weight:750; }
.workshop-jump-links a { color:var(--lime); text-decoration:underline; text-underline-offset:.2em; }
.workshop-masthead-visual { position:relative; overflow:hidden; min-height:20rem; background:var(--ink-950); }
/* Reframe the existing banner's right-hand demo scene, retaining its watermark.
   The source asset and its archived originals are unchanged. */
.workshop-masthead-visual img { position:absolute; top:0; left:0; display:block; width:200%; max-width:none; height:100%; object-fit:cover; object-position:right bottom; transform:translateX(-50%); }
.workshop-logistics { display:flex; flex-wrap:wrap; gap:.5rem 1.6rem; list-style:none; padding:.9rem 0; margin:0; border-bottom:1px solid var(--surface-border); font-size:.85rem; color:var(--white); font-weight:650; }
.workshop-logistics li { margin:0; }
.workshop-audience { max-width:100ch; margin:1rem 0 0; font-size:.91rem; }
.workshop-detail-page .workshop-compact-section { padding:2rem 0; scroll-margin-top:7rem; }
.workshop-detail-page h2 { font-size:clamp(1.45rem,2.3vw,1.9rem); line-height:1.25; margin:0 0 1rem; }
.workshop-detail-page h3 { font-size:1.08rem; line-height:1.35; }
.workshop-detail-page h2 span { color:var(--lime); }
.workshop-agenda-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(15rem,1fr); gap:1.5rem; align-items:start; }
.workshop-detail-agenda { min-width:0; table-layout:fixed; }
.workshop-detail-agenda thead th:first-child { width:20%; }
.workshop-detail-agenda thead th:nth-child(2) { width:30%; }
.workshop-detail-agenda th,.workshop-detail-agenda td { padding:.9rem; font-size:.86rem; }
.workshop-detail-agenda tbody th { min-width:0; font-size:.85rem; white-space:nowrap; }
.workshop-detail-agenda strong { color:var(--white); font-weight:700; }
.workshop-lunch { background:rgba(255,255,255,.025); }
.workshop-trainer { padding:1.3rem; background:var(--ink-800); border:1px solid var(--surface-border); border-radius:var(--radius-md); }
.workshop-trainer .eyebrow { margin-bottom:.5rem; font-size:.7rem; }
.workshop-trainer h2 { font-size:1.4rem; }
.workshop-trainer p { font-size:.9rem; }
.workshop-trainer p:last-of-type { margin-bottom:1rem; }
.workshop-preparation { background:var(--ink-900); border-block:1px solid var(--surface-border); }
.workshop-learning-line { counter-reset:workshop-step; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; padding:0; margin:0; }
.workshop-learning-line li { counter-increment:workshop-step; position:relative; padding-left:2.2rem; }
.workshop-learning-line li::before { content:counter(workshop-step,decimal-leading-zero); position:absolute; left:0; top:.1rem; color:var(--lime); font-size:.85rem; font-weight:800; }
.workshop-learning-line h3 { margin:0 0 .4rem; }
.workshop-learning-line p { margin:0; font-size:.9rem; }
.workshop-detail-page .workshop-note { margin:.8rem 0; }
.workshop-bring { font-size:.88rem; margin:1rem 0 0; }
.workshop-price-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.workshop-price-heading .eyebrow { margin-bottom:.5rem; font-size:.73rem; }
.workshop-price-heading > p { font-size:.9rem; margin:0 0 1rem; }
.workshop-rate-status { display:flex; flex-wrap:wrap; gap:.5rem 2rem; padding:.8rem 1rem; margin-bottom:1rem; border:1px dashed var(--surface-border); border-radius:var(--radius-sm); }
.workshop-rate-status p { margin:0; font-size:.8rem; }
.workshop-rate-status strong { display:inline-block; color:var(--white); margin-right:.6rem; }
.workshop-rate-status span { color:var(--text-muted); }
.workshop-detail-pricing { min-width:0; table-layout:fixed; }
.workshop-detail-pricing th,.workshop-detail-pricing td { padding:1rem 1.15rem; }
.workshop-detail-pricing th span { display:block; font-weight:400; margin-top:.25rem; }
.workshop-detail-pricing tbody th { min-width:0; font-size:.95rem; }
.workshop-detail-pricing strong { font-size:1.55rem; }
.workshop-detail-pricing .workshop-cell-note { margin-top:.3rem; }
.workshop-booking-line { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding-top:1.2rem; }
.workshop-booking-line h3 { margin:0 0 .4rem; }
.workshop-booking-line p { max-width:86ch; font-size:.88rem; margin:0; }
.workshop-booking-line .button { flex-shrink:0; }
.workshop-email { font-size:.85rem; margin:.75rem 0 1.5rem; }
.workshop-practical { border-block:1px solid var(--surface-border); font-size:.88rem; }
.workshop-practical summary { padding:1rem 0; color:var(--white); font-weight:750; cursor:pointer; }
.workshop-practical > div { padding:0 0 .5rem; max-width:100ch; }
.workshop-practical li { margin-bottom:.7rem; }
.workshop-private { font-size:.88rem; margin:1rem 0 0; }
@media(max-width:1000px) {
 .workshop-agenda-layout { grid-template-columns:1fr; }
 .workshop-trainer { display:block; }
 .workshop-trainer p { display:inline; margin:0; }
 .workshop-trainer a { display:inline-block; margin-left:.5rem; }
 .workshop-masthead { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
}
@media(max-width:680px) {
 .workshop-detail-page .workshop-opening { padding-top:1rem; }
 .workshop-masthead { grid-template-columns:1fr; }
 .workshop-masthead-visual { min-height:0; height:11rem; }
 .workshop-detail-page h1 { font-size:2rem; }
 .workshop-masthead-copy { padding:1.2rem; }
 .workshop-logistics { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; font-size:.78rem; }
 .workshop-detail-page .workshop-compact-section { padding:1.5rem 0; }
 .workshop-learning-line { grid-template-columns:1fr; gap:1rem; }
 .workshop-price-heading,.workshop-booking-line { display:block; }
 .workshop-booking-line .button { margin-top:1rem; }
 .workshop-detail-agenda,.workshop-detail-agenda tbody,.workshop-detail-agenda tr { display:block; }
 .workshop-detail-agenda thead,.workshop-detail-pricing thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .workshop-detail-agenda tbody th,.workshop-detail-agenda td { display:block; padding:.5rem 1rem; border-top:0; }
 .workshop-detail-agenda tbody th { padding-top:.9rem; color:var(--lime); }
 .workshop-detail-agenda td:last-child { padding-bottom:1rem; }
 .workshop-detail-agenda tr+tr { border-top:1px solid var(--surface-border); }
 .workshop-detail-pricing,.workshop-detail-pricing tbody { display:block; }
 .workshop-detail-pricing tr { display:grid; grid-template-columns:1fr 1fr; }
 .workshop-detail-pricing tbody th { grid-column:1/-1; padding:.8rem 1rem; }
 .workshop-detail-pricing td { padding:.8rem 1rem; }
 .workshop-detail-pricing td::before { content:attr(data-label); display:block; font-size:.72rem; line-height:1.4; font-weight:650; color:var(--white); margin-bottom:.5rem; }
 .workshop-detail-pricing caption { display:block; }
 .workshop-detail-pricing tr+tr { border-top:2px solid var(--surface-border); }
}
