/* Public workshop directory and individual workshop pages. */
.workshop-page .page-hero-inner { padding-bottom:clamp(2.5rem,5vw,4rem); }
.workshop-page .page-hero h1 { max-width:24ch; font-size:clamp(2.2rem,4.6vw,3.8rem); line-height:1.1; }
.workshop-list-page .page-hero h1 { max-width:none; }
.workshop-page .page-hero .lead { max-width:65ch; }
.workshop-page .button-row { margin-top:1.5rem; }
.workshop-section-heading { max-width:76ch; margin-bottom:1.8rem; }
.workshop-section-heading h2 { margin-bottom:.8rem; }
.workshop-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(20rem,.9fr); gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.workshop-hero-copy { min-width:0; }
.workshop-booking-card { padding:clamp(1.4rem,3vw,2rem); border:1px solid var(--lime); border-radius:var(--radius-md); background:var(--ink-800); box-shadow:var(--shadow-lg); }
.workshop-booking-card h2 { font-size:1.45rem; }
.workshop-booking-card .button { display:flex; width:100%; text-align:center; }
.workshop-booking-card .feature-list { margin-block:1.3rem; color:var(--text-secondary); }
.workshop-page .workshop-price { margin:.8rem 0 .1rem; color:var(--lime); font-size:clamp(2.6rem,5vw,3.5rem); line-height:1.1; font-weight:850; letter-spacing:-.04em; }
.workshop-page .price-detail { margin:.6rem 0; font-size:1rem; color:var(--white); }
.workshop-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:1.6rem 0 0; gap:0 1.5rem; }
.workshop-fact { min-width:0; padding:1rem 0; border-top:1px solid var(--surface-border); }
.workshop-fact dt { color:var(--text-muted); text-transform:uppercase; font-size:.72rem; letter-spacing:.09em; font-weight:750; }
.workshop-fact dd { margin:.25rem 0 0; color:var(--white); font-size:1rem; font-weight:650; }
.workshop-note { margin-top:1rem; font-size:.85rem; line-height:1.6; color:var(--text-muted); }
.workshop-draft-offer { margin:1.8rem 0; padding:1.5rem; border:1px dashed var(--orange); border-radius:var(--radius-sm); background:var(--ink-900); scroll-margin-top:7rem; }
.workshop-draft-offer .eyebrow { color:var(--orange); }
.workshop-draft-offer h3 { margin:.5rem 0; font-size:1.25rem; }
.workshop-draft-offer p:last-child { margin-bottom:0; }
.workshop-table-scroll { width:100%; max-width:100%; overflow-x:auto; border:1px solid var(--surface-border); border-radius:var(--radius-md); background:var(--ink-900); }
.workshop-table-scroll:focus-visible { outline-offset:5px; }
.workshop-list,.workshop-agenda { width:100%; border-collapse:collapse; text-align:left; line-height:1.5; }
.workshop-list caption,.workshop-agenda caption { padding:1rem 1.15rem; color:var(--text-muted); text-align:left; font-size:.82rem; }
.workshop-list thead,.workshop-agenda thead { background:var(--ink-800); color:var(--white); }
.workshop-list th,.workshop-list td,.workshop-agenda th,.workshop-agenda td { padding:1.15rem .85rem; vertical-align:top; border-top:1px solid var(--surface-border); }
.workshop-list thead th,.workshop-agenda thead th { font-size:.76rem; letter-spacing:.025em; font-weight:750; }
.workshop-list tbody th { width:27%; min-width:15rem; font-weight:400; }
.workshop-list tbody td { font-size:.88rem; }
.workshop-list tbody tr:hover { background:var(--ink-800); }
.workshop-title-link { display:block; margin-bottom:.5rem; color:var(--white); font-weight:800; font-size:1.25rem; line-height:1.3; text-decoration:none; }
.workshop-title-link:hover { color:var(--lime); text-decoration:underline; }
.workshop-cell-note { display:block; margin-top:.45rem; font-size:.8rem; font-weight:400; color:var(--text-muted); }
.workshop-list .text-link { display:inline-block; margin-top:.8rem; font-size:.82rem; }
.workshop-table-price { color:var(--lime); font-size:1.25rem; white-space:nowrap; }
.workshop-seat-count { color:var(--lime); font-size:1.5rem; }
.workshop-agenda { min-width:36rem; }
.workshop-agenda tbody th { min-width:8rem; color:var(--white); }
.workshop-agenda td { font-size:.94rem; }
.workshop-page .two-column { align-items:start; }
@media (max-width:1000px) {
  .workshop-hero-grid { grid-template-columns:1fr; }
  .workshop-booking-card { max-width:42rem; }
  .workshop-list { font-size:.9rem; }
  .workshop-list th,.workshop-list td { padding:1rem .65rem; }
}
@media (max-width:760px) {
  .workshop-list { display:block; }
  .workshop-list caption { display:block; }
  .workshop-list thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .workshop-list tbody { display:block; }
  .workshop-list tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workshop-list tbody th { width:auto; min-width:0; grid-column:1/-1; }
  .workshop-list th,.workshop-list td { display:block; min-width:0; padding:1rem; }
  .workshop-list td::before { display:block; margin-bottom:.5rem; content:attr(data-label); color:var(--white); font-weight:750; font-size:.73rem; text-transform:uppercase; letter-spacing:.025em; }
  .workshop-title-link { font-size:1.35rem; }
  .workshop-table-price { font-size:1.35rem; }
  .workshop-list tbody tr+tr { border-top:3px solid var(--surface-border); }
  .workshop-page .page-hero h1 { font-size:clamp(2rem,8vw,3rem); overflow-wrap:normal; }
  .workshop-facts { gap:0 1rem; }
  .workshop-draft-offer { padding:1.1rem; }
}
@media (max-width:380px) {
  .workshop-facts { grid-template-columns:1fr; }
  .workshop-list th,.workshop-list td { padding:.85rem; }
}

/* Keep the directory's comparison table close to the opening. */
.workshop-list-page .page-hero-inner { padding-top:1.5rem; padding-bottom:2rem; }
.workshop-list-page .breadcrumbs { margin-bottom:1.3rem; }
.workshop-list-page .page-hero h1 { margin-bottom:1rem; font-size:clamp(2.2rem,4vw,3.2rem); }
.workshop-list-page .page-hero .lead { max-width:72ch; font-size:1.1rem; }
.workshop-list-page .workshop-directory { padding-top:2rem; padding-bottom:3rem; }
.workshop-list-page .workshop-directory .workshop-section-heading { max-width:none; margin-bottom:1rem; }
.workshop-list-page .workshop-directory h2 { max-width:none; font-size:clamp(1.6rem,3vw,2rem); }

/* Direct-booking price clarity and reused Eventbrite banner. */
.workshop-overseas-price { display:block; margin-top:.9rem; color:var(--white); font-size:1rem; line-height:1.4; }
.workshop-direct-prices { margin-top:2rem; }
.workshop-payment-steps { margin-top:2rem; max-width:78ch; }
.workshop-payment-steps li { margin-bottom:1rem; padding-left:.3rem; }
.workshop-pricing { min-width:49rem; }
.workshop-pricing strong { color:var(--lime); font-size:1.15rem; white-space:nowrap; }
.workshop-banner-section { padding-top:0; padding-bottom:1rem; }
.workshop-banner { margin:0; overflow:hidden; border:1px solid var(--surface-border); border-radius:var(--radius-md); }
.workshop-banner img { width:100%; height:auto; }
.workshop-list .workshop-title-link:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
