/* seminar.css — uitgebreide seminaruitnodiging op actueel.html (Jochem 29 okt: Workx x IDFA). Opbouw in kennis.js
   (.kn-sem-groot): beeld links, uitnodiging rechts met programma, 'Lees de hele uitnodiging' (uitklap.js) en aanmelden. */
.kn-sem-groot { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: 24px clamp(32px, 5vw, 80px); padding: clamp(28px, 3vw, 40px) 0; }
.kn-sem-groot .kn-sem-beeld { grid-column: 1; grid-row: 1 / span 4; display: block; border-radius: 6px; overflow: hidden; background: var(--wit); }
.kn-sem-groot .kn-sem-beeld img { display: block; width: 100%; height: auto; transition: transform .8s var(--ease); }
@media (hover: hover) { .kn-sem-groot:hover .kn-sem-beeld img { transform: scale(1.025); } }
.kn-sem-groot > .kn-sem-inhoud, .kn-sem-groot > .kn-knop, .kn-sem-groot > .kn-sem-form, .kn-sem-groot > .kn-sem-melding { grid-column: 2; }
.kn-sem-groot > .kn-knop { justify-self: start; }
.kn-sem-etiket { display: block; margin: 0 0 12px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--zacht); }
.kn-sem-groot h3 { margin: 0 0 10px; font-size: clamp(20px, 2.1vw, 26px); line-height: 1.25; font-weight: 500; text-wrap: balance; }
.kn-sem-groot .kn-sem-wanneer { margin: 0 0 18px; font-size: 15px; color: var(--grijs); }
.kn-sem-groot .kn-sem-intro { margin: 0 0 24px; max-width: 58ch; font-size: 17px; line-height: 1.6; color: var(--tekst); }
.kn-sem-prog { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 20px; margin: 0 0 22px; padding: 16px 0; border-top: 1px solid var(--lijn); border-bottom: 1px solid var(--lijn); }
.kn-sem-prog dt { margin: 0 0 4px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--zacht); }
.kn-sem-prog dd { margin: 0; font-size: 16px; color: var(--inkt); }
.kn-sem-meer { margin: 0 0 6px; }
.kn-sem-meer summary { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; list-style: none; font-size: 16px; color: var(--inkt); }
.kn-sem-meer summary::-webkit-details-marker { display: none; }
.kn-sem-meer summary::after { content: ""; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .35s var(--ease); }
.kn-sem-meer[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.kn-sem-meer summary span, .kn-sem-meer summary { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: var(--lijn); transition: text-decoration-color .3s; }
.kn-sem-meer summary:hover, .kn-sem-meer summary:focus-visible { text-decoration-color: currentColor; }
.kn-sem-meer p { margin: 0 0 14px; max-width: 62ch; font-size: 16px; line-height: 1.65; color: var(--grijs); }
.kn-sem-meer p:first-of-type { margin-top: 10px; }
@media (max-width: 860px) {
  .kn-sem-groot { grid-template-columns: minmax(0, 1fr); }
  .kn-sem-groot .kn-sem-beeld { grid-row: auto; }
  .kn-sem-groot > .kn-sem-inhoud, .kn-sem-groot > .kn-knop, .kn-sem-groot > .kn-sem-form, .kn-sem-groot > .kn-sem-melding { grid-column: 1; }
}
@media (max-width: 560px) { .kn-sem-prog { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .kn-sem-groot .kn-sem-beeld img, .kn-sem-meer summary::after { transition: none; } }
