/*
 * Seminar theme "Lernraum": palette, event cards and small adjustments to the seminar pages.
 * The page sections (hero, promises, picture and text, quotes, FAQ, callout, footer) come from theme-base.
 */
.nw-seminar-theme {
  --theme-ink: #263b35;
  --theme-muted: #51655e;
  --theme-paper: #fcfdfb;
  --theme-radius: 16px;
  --theme-tile: #e4eee9;
  --theme-callout: #e4efe9;
  --theme-stars: #8a5a12;
  --nw-border: #bdcec6;
  --nw-field-border: #6a8075;
  --nw-focus: #29584d;
  --nw-attention: #6c491c;
  --nw-radius-control: 8px;
  --nw-space-lg: 1.5rem;
}
.nw-seminar-theme #header { background: var(--theme-paper); color: var(--theme-ink); }
.nw-seminar-theme :where(h1) { font-size: clamp(2.5rem, 5.5vw, 4.4rem); line-height: 1.04; }
.nw-seminar-theme h2 { margin: 0 0 1.25rem; }
.nw-seminar-theme h3 { font-family: var(--theme-body-font), sans-serif; font-weight: 600; font-size: 1.3rem; line-height: 1.35; letter-spacing: 0; }
.nw-seminar-theme small, .nw-seminar-small { font-size: .9375rem; line-height: 1.5; }
.nw-seminar-small { color: var(--theme-muted); }

/* Event cards like the shop's product cards: the picture carries the card, a tight text block below. */
.nw-seminar-events { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem 1.25rem; }
.nw-seminar-events > h1, .nw-seminar-events > h2, .nw-seminar-events > p { grid-column: 1 / -1; }
.nw-seminar-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.nw-seminar-card figure { line-height: 0; overflow: hidden; border-radius: var(--nw-radius-card); background: var(--theme-tile); }
.nw-seminar-card img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; transition: transform .45s ease; }
.nw-seminar-card:hover img { transform: scale(1.03); }
.nw-seminar-card-body { display: flex; flex-direction: column; gap: .2rem; padding-top: .85rem; flex: 1; }
.nw-seminar-card-body > * { margin: 0; }
.nw-seminar-date { color: var(--theme-muted); font-size: .875rem; }
.nw-seminar-card h3 { margin: .1rem 0 0; font-size: 1.2rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.nw-seminar-card h3 a { text-decoration: none; }
.nw-seminar-card h3 a::after { content: ""; position: absolute; inset: 0; }
.nw-seminar-card-body > p:not(.nw-seminar-date):not(.nw-seminar-seats) { color: var(--theme-muted); font-size: .9375rem; }
.nw-seminar-card-body strong { color: var(--theme-ink); font-size: 1.0625rem; }
.nw-seminar-seats { display: inline-flex; align-items: center; gap: .45rem; font-size: .875rem; font-weight: 600; }
.nw-seminar-seats::before { content: ""; width: .5rem; height: .5rem; border-radius: 999px; background: #2f7350; }
.nw-seminar-seats--full::before { background: var(--nw-attention); }
.nw-seminar-card .nw-button { position: relative; z-index: 1; margin-top: .9rem; min-height: 2.5rem; font-size: .9375rem; }

/* Voices: quote cards in the carousel, controls in one quiet row below. */
.nw-seminar-voices { --sc-gap: 1rem; }
.nw-seminar-voices .sc { --sc-control-bg: var(--nw-surface); --sc-control-fg: var(--theme-surface-ink); display: grid; grid-template-columns: 1fr auto 44px 44px; align-items: center; gap: .75rem; }
.nw-seminar-voices .sc-track { grid-column: 1 / -1; }
.nw-seminar-voices .sc-nav { position: static; inset: auto; translate: none; grid-row: 2; }
.nw-seminar-voices .sc-prev { grid-column: 3; }
.nw-seminar-voices .sc-next { grid-column: 4; }
.nw-seminar-voices .sc-dots { grid-row: 2; grid-column: 2; }
.nw-seminar-voices .sc-dot { width: 44px; height: 44px; }

/* Seminar pages */
.nw-seminar-theme .seminar-detail__box { background: var(--nw-surface); color: var(--theme-surface-ink); }
.nw-seminar-theme .seminar-detail h1 { font-size: clamp(2rem, 3.5vw, 3.2rem); }
.nw-seminar-theme .seminar-detail__layout { align-items: start; }
.nw-seminar-theme .seminar-detail__media img { border-radius: var(--nw-radius-card); }
.nw-seminar-theme .seminar-detail__box, .nw-seminar-theme .seminar-step__summary { border-radius: var(--nw-radius-card); }
.nw-seminar-theme .seminar-event__date-block { border-radius: 8px; }
.nw-seminar-theme .seminar-detail__availability, .nw-seminar-theme .seminar-alert { color: var(--theme-ink); }
.nw-seminar-theme .seminar-field textarea { max-width: 100%; }
.nw-seminar-theme .seminar-review { background: var(--nw-surface); color: var(--theme-surface-ink); }
.nw-seminar-gallery { margin-top: 3rem; }
.nw-seminar-gallery img { border-radius: var(--nw-radius-card); }
.nw-mobile-nav { display: grid; gap: .5rem; font-size: 1.4rem; }
.nw-mobile-nav a { padding: .5rem; text-decoration: none; }
.nw-mobile-nav a[aria-current] { text-decoration: underline; text-underline-offset: .2em; }
.nw-nojs-nav { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1rem 0; }
.nw-seminar-theme [data-nw-icon] { display: none !important; }

@media (prefers-reduced-motion: reduce) { .nw-seminar-card img { transition: none; } .nw-seminar-card:hover img { transform: none; } }
@media (max-width: 959px) { .nw-seminar-events { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .nw-seminar-theme .nw-brand img { max-width: min(180px, 100%); }
  .nw-seminar-theme .nw-header-actions .nw-button { min-height: 2.5rem; padding-inline: 1rem; font-size: .9375rem; }
}
@media (max-width: 599px) {
  .nw-seminar-events { grid-template-columns: 1fr; }
  .nw-seminar-theme .nw-header { gap: .6rem; }
}
@media (max-width: 359px) {
  .nw-seminar-theme .nw-header { gap: .375rem; }
  .nw-seminar-theme .nw-header-actions .nw-button { padding-inline: .75rem; }
}
