/* ── WORKSHOPS PAGE ── */

/* Hero */
.ws-hero { padding: 5rem 2.5rem 4rem; max-width: 800px; }
.ws-hero h1 { font-family: var(--serif); font-size: clamp(42px, 6vw, 64px); font-weight: 500; color: var(--navy); margin-bottom: 0.5rem; letter-spacing: -0.5px; }
.ws-hero-tagline { font-family: var(--serif); font-size: 24px; font-style: italic; color: var(--green); margin-bottom: 1.25rem; font-weight: 400; }
.ws-hero-sub { font-size: 16px; color: var(--text-muted); line-height: 1.8; max-width: 600px; margin-bottom: 2rem; }
.ws-hero-meta { display: flex; flex-wrap: wrap; gap: 1rem; }
.ws-hero-meta span { font-size: 13px; color: var(--text-muted); background: #fff; border: 0.5px solid var(--border); border-radius: 6px; padding: 6px 12px; }

/* Format grid */
.ws-format-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.ws-format-card { background: #fff; border: 0.5px solid var(--border); border-radius: var(--radius); padding: 1.5rem; }
.ws-format-icon { font-size: 24px; margin-bottom: 0.75rem; }
.ws-format-card h3 { font-family: var(--serif); font-size: 20px; font-weight: 500; color: var(--navy); margin-bottom: 0.35rem; }
.ws-format-card p { font-size: 13px; color: var(--text-muted); line-height: 1.65; }

/* Session header */
.session-header { display: grid; grid-template-columns: 1fr 260px; gap: 3rem; align-items: start; margin-bottom: 3rem; }
.session-badge { display: inline-block; font-size: 11px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; margin-bottom: 0.5rem; }
.session-badge-live { background: var(--green-light); color: #3B6D11; }
.session-badge-soon { background: rgba(27,42,74,0.08); color: var(--text-muted); }

/* Price card */
.session-price-card { background: var(--cream); border: 1.5px solid var(--green); border-radius: var(--radius); padding: 1.75rem; position: sticky; top: 80px; }
.session-price-label { font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.25rem; }
.session-price { font-family: var(--serif); font-size: 48px; font-weight: 500; color: var(--green); letter-spacing: -0.5px; line-height: 1; margin-bottom: 0.25rem; }
.session-price-note { font-size: 12px; color: var(--text-muted); margin-bottom: 1rem; }
.session-price-divider { height: 0.5px; background: var(--border); margin: 1rem 0; }
.session-price-regular { font-family: var(--serif); font-size: 32px; font-weight: 500; color: var(--navy); letter-spacing: -0.3px; }

/* Syllabus */
.syllabus { margin-bottom: 2.5rem; }
.syllabus-label { font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 1.5rem; }
.syllabus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 0.5px solid var(--border); border-radius: var(--radius); overflow: hidden; background: #fff; }
.syllabus-item { display: flex; gap: 1.25rem; padding: 1.5rem; border-bottom: 0.5px solid var(--border); border-right: 0.5px solid var(--border); }
.syllabus-item:nth-child(even) { border-right: none; }
.syllabus-item:nth-last-child(-n+2) { border-bottom: none; }
.syllabus-num { font-size: 11px; font-weight: 500; color: var(--green); letter-spacing: 0.06em; flex-shrink: 0; padding-top: 2px; }
.syllabus-title { font-size: 15px; font-weight: 500; color: var(--navy); margin-bottom: 0.35rem; }
.syllabus-desc { font-size: 13px; color: var(--text-muted); line-height: 1.65; }

/* Takeaway box */
.takeaway-box { background: var(--green-light); border-radius: var(--radius); padding: 1.75rem; margin-bottom: 2rem; }
.takeaway-label { font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green); margin-bottom: 1rem; }
.takeaway-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.takeaway-item { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--navy); }
.takeaway-check { color: var(--green); font-weight: 500; flex-shrink: 0; }

/* Who it's for */
.who-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.who-card { background: #fff; border: 0.5px solid var(--border); border-radius: var(--radius); padding: 1.5rem; }
.who-title { font-family: var(--serif); font-size: 18px; font-weight: 500; margin-bottom: 1rem; }
.who-yes .who-title { color: var(--green); }
.who-no .who-title { color: var(--text-muted); }
.who-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.who-list li { font-size: 13px; color: var(--text-muted); line-height: 1.55; padding-left: 1rem; position: relative; }
.who-list li::before { content: '—'; position: absolute; left: 0; color: var(--text-faint); }

/* Coming soon sessions */
.coming-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.coming-card { background: #fff; border: 0.5px solid var(--border); border-radius: var(--radius); padding: 1.75rem; }
.coming-num { font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 0.5rem; }
.coming-card h3 { font-family: var(--serif); font-size: 22px; font-weight: 500; color: var(--navy); margin-bottom: 0.5rem; }
.coming-card p { font-size: 14px; color: var(--text-muted); line-height: 1.7; margin-bottom: 1rem; }
.coming-topics { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.coming-topics span { font-size: 12px; color: var(--text-muted); background: var(--cream); border: 0.5px solid var(--border); border-radius: 20px; padding: 3px 10px; }

/* Digital coming soon */
.digital-coming { background: var(--cream); border: 0.5px solid var(--border); border-radius: var(--radius); padding: 2rem; display: flex; gap: 1.5rem; align-items: flex-start; }
.digital-icon { font-size: 32px; flex-shrink: 0; }
.digital-title { font-family: var(--serif); font-size: 22px; font-weight: 500; color: var(--navy); margin-bottom: 0.35rem; }
.digital-desc { font-size: 14px; color: var(--text-muted); line-height: 1.7; }

/* Instructor */
.instructor-grid { display: grid; grid-template-columns: 220px 1fr; gap: 3rem; align-items: start; }

/* CTA strip */
.ws-cta { background: var(--navy); padding: 4rem 2.5rem; text-align: center; }
.ws-cta h2 { font-family: var(--serif); font-size: 32px; font-weight: 500; color: #fff; margin-bottom: 0.75rem; }
.ws-cta p { font-size: 15px; color: rgba(255,255,255,0.6); margin-bottom: 2rem; }
.btn-white { background: #fff; color: var(--navy); font-size: 14px; font-weight: 500; padding: 12px 28px; border-radius: 6px; border: none; cursor: pointer; font-family: var(--sans); display: inline-block; }
.btn-white:hover { background: var(--cream); }

/* Responsive */
@media (max-width: 900px) {
  .ws-format-grid { grid-template-columns: repeat(2, 1fr); }
  .session-header { grid-template-columns: 1fr; }
  .session-price-card { position: static; }
  .syllabus-grid { grid-template-columns: 1fr; }
  .syllabus-item { border-right: none !important; }
  .syllabus-item:nth-last-child(-n+2) { border-bottom: 0.5px solid var(--border); }
  .syllabus-item:last-child { border-bottom: none; }
  .takeaway-grid { grid-template-columns: 1fr; }
  .who-grid { grid-template-columns: 1fr; }
  .coming-grid { grid-template-columns: 1fr; }
  .instructor-grid { grid-template-columns: 1fr; }
  .digital-coming { flex-direction: column; }
}

@media (max-width: 640px) {
  .ws-hero { padding: 3rem 1.25rem; }
  .ws-format-grid { grid-template-columns: 1fr; }
  .ws-hero-meta { gap: 0.5rem; }
}
