/* Workshop cover appears only on the plain workshop entry, never inside a workspace. */
.workshop-hero { display:none; }
html.workshop-cover-entry:not(.course-embedded) .workshop-hero { display:block; }
.workshop-hero { position:relative; isolation:isolate; min-height:clamp(540px,70vh,680px); overflow:hidden; background:#14263b; color:#fff; }
.workshop-hero-photo { position:absolute; inset:0; z-index:-3; opacity:0; transition:opacity .55s ease; pointer-events:none; }
.workshop-hero-photo.is-active { opacity:1; }
.workshop-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 65%; }
.workshop-hero-shade { position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(6,19,36,.88),rgba(6,19,36,.57) 43%,rgba(6,19,36,.12) 100%),linear-gradient(0deg,rgba(5,17,32,.62),transparent 45%); }
.workshop-hero-inner { position:static; box-sizing:border-box; width:min(100%,1480px); margin:auto; padding:90px 72px 100px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); align-items:center; gap:60px; }
.workshop-hero-eyebrow { color:rgba(255,255,255,.74); font-size:11px; font-weight:600; letter-spacing:.2em; }
.workshop-hero h1 { margin:24px 0 18px; color:#fff; font-size:clamp(46px,4.8vw,72px); font-weight:650; line-height:1.15; letter-spacing:-.035em; }
.workshop-hero .workshop-hero-tagline { margin:0; color:rgba(255,255,255,.93); font-size:clamp(22px,2vw,28px); line-height:1.6; }
.workshop-hero .workshop-hero-description { max-width:410px; margin:18px 0 0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.9; }
.workshop-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.workshop-hero-actions a { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; box-sizing:border-box; padding:12px 24px; border:1px solid transparent; border-radius:8px; font-size:14px; line-height:1.5; font-weight:500; text-decoration:none; color:#fff; }
.workshop-hero-actions .workshop-hero-primary { background:#2c60e9; border-color:#2c60e9; }
.workshop-hero-actions .workshop-hero-primary:hover { background:#2354d4; border-color:#2354d4; }
.workshop-hero-actions .workshop-hero-secondary { border-color:rgba(255,255,255,.42); background:rgba(255,255,255,.06); }
.workshop-hero-actions .workshop-hero-secondary:hover { background:rgba(255,255,255,.15); }
.workshop-hero-photo-switch { display:flex; gap:8px; }
.workshop-hero-photo-switch button { min-height:40px; padding:9px 14px; border:1px solid rgba(255,255,255,.24); border-radius:7px; background:rgba(9,23,40,.25); color:rgba(255,255,255,.72); font:inherit; font-size:12px; cursor:pointer; }
.workshop-hero-photo-switch button[aria-pressed="true"] { background:rgba(255,255,255,.17); border-color:rgba(255,255,255,.58); color:#fff; }
.workshop-hero :is(a,button):focus-visible { outline:2px solid #d0e2ff; outline-offset:4px; }
.workshop-hero-copy { min-width:0; }
.workshop-venue-card { position:absolute; right:clamp(24px,5vw,80px); bottom:32px; box-sizing:border-box; align-self:end; width:100%; max-width:300px; margin-left:auto; padding:0; border:0; border-radius:0; background:transparent; backdrop-filter:none; box-shadow:none; color:#fff; text-shadow:none; }
.workshop-hero .workshop-venue-title { margin:0 0 4px; color:rgba(255,255,255,.6); font-size:11px; font-weight:400; line-height:1.5; letter-spacing:.16em; }
.workshop-hero .workshop-venue-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.workshop-venue-card .workshop-hero-photo-switch { position:relative; gap:24px; margin:0; padding:0; border-bottom:0; }
.workshop-venue-card .workshop-hero-photo-switch::after { content:""; position:absolute; left:0; bottom:0; width:86%; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.08) 65%,transparent); pointer-events:none; }
.workshop-venue-card .workshop-hero-photo-switch button { position:relative; flex:none; min-height:34px; margin:0; padding:0 0 5px; border:0; border-radius:0; background:transparent; color:rgba(255,255,255,.68); font-size:19px; font-weight:500; letter-spacing:.025em; text-shadow:0 1px 8px rgba(0,0,0,.18); }
.workshop-venue-card .workshop-hero-photo-switch button:hover { color:rgba(255,255,255,.88); }
.workshop-venue-card .workshop-hero-photo-switch button[aria-pressed="true"] { background:transparent; color:rgba(255,255,255,.92); font-weight:500; }
.workshop-venue-card .workshop-hero-photo-switch button[aria-pressed="true"]::after { content:none; }
.workshop-venue-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:4px; }
.workshop-hero .workshop-venue-type { margin:0; color:rgba(255,255,255,.58); font-size:13px; font-weight:400; line-height:1.7; }
.workshop-venue-meta button { flex:none; min-height:28px; padding:0; border:0; border-radius:0; background:transparent; color:rgba(255,255,255,.72); font:inherit; font-size:13px; cursor:pointer; }
.workshop-venue-meta button:hover { color:#fff; }
.workshop-venue-dialog { box-sizing:border-box; width:min(1180px,94vw); max-height:94dvh; margin:auto; padding:22px; border:1px solid #dce4ef; border-radius:14px; background:#fff; color:#233952; }
.workshop-venue-dialog::backdrop { background:rgba(9,20,34,.72); }
.workshop-venue-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:16px; }
.workshop-venue-dialog-head h2 { margin:0; color:#233952; font-size:18px; line-height:1.6; }
.workshop-venue-dialog-head button { flex:none; min-height:40px; padding:8px 12px; border:1px solid #dce4ef; border-radius:7px; background:#f6f8fc; color:#526781; font:inherit; cursor:pointer; }
.workshop-venue-dialog>img { display:block; width:100%; max-height:70dvh; object-fit:contain; }
.workshop-venue-dialog>p { margin:16px 0 0; color:#687b92; font-size:14px; line-height:1.8; }
@media(max-width:950px) {
  .workshop-hero-inner { padding:72px 36px; grid-template-columns:1fr; gap:36px; }
  .workshop-venue-card { position:static; width:min(100%,280px); margin-left:auto; }
  .workshop-hero-photo img { object-position:60% 65%; }
}
@media(max-width:600px) {
  .workshop-hero { min-height:590px; }
  .workshop-hero-inner { padding:64px 22px 40px; gap:32px; }
  .workshop-hero h1 { font-size:46px; margin-top:20px; }
  .workshop-hero .workshop-hero-description { max-width:310px; font-size:14px; }
  .workshop-hero-actions { gap:10px; margin-top:28px; }
  .workshop-hero-actions a { padding:12px 17px; font-size:13px; }
  .workshop-hero-photo img { object-position:61% 62%; }
  .workshop-hero-shade { background:linear-gradient(90deg,rgba(6,19,36,.83),rgba(6,19,36,.38)),linear-gradient(0deg,rgba(5,17,32,.7),transparent 65%); }
}
@media(prefers-reduced-motion:reduce) { .workshop-hero-photo { transition:none; } }

@media(max-width:600px) { .workshop-venue-card { max-width:280px; padding:0; } .workshop-venue-dialog { padding:14px; } .workshop-venue-dialog-head h2 { font-size:15px; } }
