/* ==========================================================================
   Seminariepagina: de stijl van de Tikvathon-campagne.
   Donkergroen, goud, dubbele kaderlijn, sierlijke titels. Los van de hoofdsite.
   ========================================================================== */
.tk-sem {
	--groen: #0d3b2d;
	--groen-diep: #082a20;
	--groen-licht: #145040;
	--goud: #c9a85c;
	--goud-licht: #e8d7a6;
	--goud-donker: #9e8140;
	--room: #f6efe0;
	--sem-tekst: #d9e4de;
	--sem-gedempt: #9fb5aa;
	--t-sem-titel: clamp(2.6rem, 1.6rem + 5vw, 6.2rem);
	--focus: 0 0 0 3px var(--groen), 0 0 0 6px var(--goud);
	background: var(--groen);
	color: var(--sem-tekst);
}
.tk-sem h1, .tk-sem h2, .tk-sem h3 { color: var(--goud-licht); font-weight: 420; font-variation-settings: "SOFT" 0, "WONK" 1; }
.tk-sem a { color: var(--goud-licht); }
.tk-sem a:hover { color: var(--wit); }
.tk-sem .tk-btn, .tk-sem .tk-btn:hover { color: var(--k-tekst); }
.tk-sem__breed { width: 100%; max-width: calc(72rem + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.tk-sem__smal { max-width: calc(50rem + 2 * var(--gutter)); }
.tk-sem__sectie { padding-block: var(--r-5); position: relative; }
.tk-sem__sectie--licht { background: var(--groen-diep); }
.tk-sem__kop { font-size: var(--t-h2); display: flex; align-items: center; gap: 1rem; margin-bottom: var(--r-3); letter-spacing: 0.01em; }
.tk-sem__kop::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--goud) 0, rgb(201 168 92 / 0) 100%); }

/* Bovenbalk */
.tk-sem__top { position: sticky; top: 0; z-index: 20; background: rgb(13 59 45 / 92%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid rgb(201 168 92 / 25%); }
.tk-sem__top-binnen { display: flex; align-items: center; justify-content: space-between; gap: var(--r-2); min-height: 4rem; }
.tk-sem__merk { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; color: var(--goud-licht); font-size: 0.92rem; font-weight: 700; letter-spacing: 0.04em; }
.tk-sem__merk:hover { color: var(--wit); }
.tk-sem__logo { height: 2.2rem; width: auto; color: var(--goud); flex: none; }
.tk-sem__top-knop { white-space: nowrap; }
@media (max-width: 26em) { .tk-sem__merk span { display: none; } }

/* Hero met dubbel gouden kader */
.tk-sem__hero { position: relative; isolation: isolate; padding-block: var(--r-4) var(--r-5); overflow: hidden; }
.tk-sem__hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 50% 0%, rgb(201 168 92 / 18%), transparent 55%), radial-gradient(ellipse at 100% 100%, rgb(20 80 64 / 60%), transparent 50%); }
.tk-sem__hero-achter { position: absolute; inset: 0; z-index: -2; }
.tk-sem__hero-achter img { width: 100%; height: 100%; object-fit: cover; }
.tk-sem__hero-achter::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgb(13 59 45 / 70%), rgb(13 59 45 / 92%) 70%, var(--groen)); }
.tk-sem__kader { position: relative; padding: clamp(1.6rem, 1rem + 3vw, 4rem) clamp(1.2rem, 0.6rem + 3vw, 4rem); border: 1px solid var(--goud); text-align: center; }
.tk-sem__kader::before { content: ""; position: absolute; inset: 0.45rem; border: 1px solid rgb(201 168 92 / 55%); pointer-events: none; }
.tk-sem__kicker { margin: 0 0 var(--r-3); color: var(--goud); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.32em; text-transform: uppercase; }
.tk-sem__titel { font-size: var(--t-sem-titel); line-height: 1.02; letter-spacing: 0.01em; margin: 0 auto 0.3em; max-width: 14ch; font-style: italic; }
.tk-sem__sier { display: block; width: 7rem; height: 1.6rem; margin: 0 auto var(--r-3); background: radial-gradient(circle, var(--goud) 0 3px, transparent 3.5px) center / 100% 100% no-repeat, linear-gradient(90deg, transparent, var(--goud) 25%, var(--goud) 75%, transparent) center / 100% 1px no-repeat; }
.tk-sem__sub { font-family: var(--f-kop); font-variation-settings: "SOFT" 0, "WONK" 1; font-size: var(--t-lead); color: var(--goud-licht); max-width: 36ch; margin: 0 auto var(--r-3); line-height: 1.4; }
.tk-sem__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 2rem; margin: 0 0 var(--r-3); color: var(--room); font-weight: 700; letter-spacing: 0.06em; font-size: 0.95rem; text-transform: uppercase; }
.tk-sem__meta span { display: inline-flex; align-items: center; gap: 0.5rem; }
.tk-sem__meta .tk-icoon { color: var(--goud); }
.tk-sem__cta { margin: 0; }
.tk-sem .tk-ontbreekt { text-align: left; margin-top: var(--r-2); }
.tk-sem .tk-btn--goud { --k-bg: var(--goud); --k-tekst: var(--groen-diep); --k-rand: var(--goud); letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.95rem; }
.tk-sem .tk-btn--goud:hover { --k-bg: var(--goud-licht); --k-rand: var(--goud-licht); }
.tk-sem .tk-btn--groot { font-size: 1.05rem; }

/* Logo van het seminarie bovenaan het kader */
.tk-sem__embleem { width: min(21rem, 72%); margin: 0 auto var(--r-3); }
.tk-sem__embleem img { width: 100%; height: auto; filter: drop-shadow(0 10px 30px rgb(0 0 0 / 35%)); }
.tk-sem__met { margin: calc(-0.5 * var(--r-2)) auto var(--r-3); color: var(--goud); font-family: var(--f-kop); font-variation-settings: "SOFT" 0, "WONK" 1; font-style: italic; font-size: clamp(1.15rem, 1rem + 0.8vw, 1.5rem); }
.tk-sem__sessie-spreker { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem; margin: -0.1rem 0 0.8rem; color: var(--room); font-weight: 700; }
.tk-sem__sessie-spreker span { color: var(--goud); font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; }

/* Flyergegevens in de hero: slogan, datum | plaats | uur, prijsband */
.tk-sem__slogan { display: inline-block; margin: 0 auto var(--r-3); padding: 0.55rem 1.4rem; border-top: 1px solid var(--goud); border-bottom: 1px solid var(--goud); color: var(--room); font-size: 0.9rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.tk-sem__info { display: grid; grid-template-columns: repeat(3, auto); justify-content: center; margin: 0 auto var(--r-3); }
.tk-sem__info > div { padding: 0.2rem clamp(1rem, 0.5rem + 2vw, 2.5rem); }
.tk-sem__info > div + div { border-left: 1px solid rgb(201 168 92 / 60%); }
.tk-sem__info dt { color: var(--goud); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; margin-bottom: 0.3rem; }
.tk-sem__info dd { margin: 0; font-family: var(--f-kop); font-variation-settings: "SOFT" 0, "WONK" 1; color: var(--goud-licht); font-size: clamp(1.15rem, 1rem + 0.8vw, 1.6rem); line-height: 1.2; }
.tk-sem__info dd small { display: block; margin-top: 0.25rem; font-family: var(--f-tekst); font-size: 0.82rem; color: var(--sem-gedempt); }
@media (max-width: 40em) { .tk-sem__info { grid-template-columns: 1fr; gap: var(--r-2); } .tk-sem__info > div + div { border-left: 0; border-top: 1px solid rgb(201 168 92 / 40%); padding-top: var(--r-2); } }
.tk-sem__band { margin: 0 auto var(--r-3); padding: 0.75rem 1.2rem; max-width: 40rem; background: rgb(201 168 92 / 14%); border: 1px solid rgb(201 168 92 / 55%); color: var(--room); font-weight: 700; letter-spacing: 0.06em; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.3rem 0; }
.tk-sem__band span + span::before { content: "\00b7"; color: var(--goud); margin: 0 0.9rem; }
@media (max-width: 40em) { .tk-sem__band { flex-direction: column; } .tk-sem__band span + span::before { display: none; } }

/* Intro en lezingen */
.tk-sem__intro .tk-prose { font-size: var(--t-lead); line-height: 1.55; color: var(--room); }
.tk-sem .tk-prose p { color: inherit; }
.tk-sem__sessies { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--r-3); }
.tk-sem__sessie { display: grid; grid-template-columns: auto 1fr; gap: var(--r-3); padding: var(--r-3) 0; border-top: 1px solid rgb(201 168 92 / 30%); }
.tk-sem__sessie:last-child { border-bottom: 1px solid rgb(201 168 92 / 30%); }
.tk-sem__nr { font-family: var(--f-kop); font-variation-settings: "SOFT" 0, "WONK" 1; font-style: italic; font-size: clamp(2.2rem, 1.6rem + 3vw, 4rem); line-height: 1; color: var(--goud); min-width: 2.4em; }
.tk-sem__sessie-titel { font-size: var(--t-h2); margin-bottom: 0.4em; max-width: 24ch; }
.tk-sem__sessie-tekst { max-width: 60ch; font-size: 1.05rem; line-height: 1.6; color: var(--sem-tekst); }
.tk-sem__sessie-tekst p:last-child { margin-bottom: 0; }
@media (max-width: 40em) { .tk-sem__sessie { grid-template-columns: 1fr; gap: 0.5rem; } }

/* Sprekers */
.tk-sem__sprekers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: var(--r-3); justify-items: center; }
.tk-sem__spreker { text-align: center; max-width: 18rem; }
.tk-sem__portret { position: relative; width: 11rem; height: 11rem; margin: 0 auto var(--r-2); border-radius: 50%; padding: 0.35rem; border: 1px solid var(--goud); }
.tk-sem__portret img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.tk-sem__initialen { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: var(--groen-licht); color: var(--goud); font-family: var(--f-kop); font-style: italic; font-size: 3.4rem; }
.tk-sem__portret .tk-ontbreekt { position: absolute; left: 50%; top: 100%; transform: translateX(-50%); width: 16rem; font-size: 0.8rem; z-index: 2; }
.tk-sem__spreker-naam { font-size: 1.45rem; margin: 0 0 0.3rem; }
.tk-sem__spreker-rol { margin: 0; font-size: 0.95rem; color: var(--sem-gedempt); line-height: 1.45; }
.tk-sem__spreker--volgt { opacity: 0.7; }
.tk-sem__spreker--volgt .tk-sem__portret { border-style: dashed; }

/* Programma */
.tk-sem__programma { list-style: none; margin: 0; padding: 0; }
.tk-sem__programma li { display: grid; grid-template-columns: 5.5rem 1fr; gap: var(--r-2); padding: 0.9rem 0; border-top: 1px solid rgb(201 168 92 / 25%); }
.tk-sem__programma li:last-child { border-bottom: 1px solid rgb(201 168 92 / 25%); }
.tk-sem__uur { color: var(--goud); font-weight: 700; font-variant-numeric: tabular-nums; }
.tk-sem__onderdeel strong { color: var(--room); }
.tk-sem__onderdeel span { display: block; font-size: 0.92rem; color: var(--sem-gedempt); }
.tk-sem__pauze { opacity: 0.75; }

/* Praktisch en tickets */
.tk-sem__twee { display: grid; gap: var(--r-5); }
@media (min-width: 56em) { .tk-sem__twee { grid-template-columns: 1.2fr 1fr; } }
.tk-sem__gegevens { margin: 0; display: grid; gap: var(--r-2); }
.tk-sem__gegevens dt { color: var(--goud); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 0.2rem; }
.tk-sem__gegevens dd { margin: 0; color: var(--room); font-size: 1.05rem; }
.tk-sem__tickets { list-style: none; margin: 0 0 var(--r-2); padding: 0; display: grid; gap: 0.6rem; }
.tk-sem__tickets li { display: grid; grid-template-columns: 1fr auto; gap: 0.2rem 1rem; padding: 0.9rem 1rem; border: 1px solid rgb(201 168 92 / 40%); }
.tk-sem__ticket-naam { color: var(--room); font-weight: 700; }
.tk-sem__ticket-prijs { color: var(--goud-licht); font-family: var(--f-kop); font-size: 1.3rem; }
.tk-sem__ticket-info { grid-column: 1 / -1; font-size: 0.9rem; color: var(--sem-gedempt); }
.tk-sem__prijs { margin: 0; color: var(--room); font-size: 1.05rem; }

/* Registratie: lichte kaart op het groen, zodat de formuliervelden goed leesbaar zijn */
.tk-sem__registratie { background: var(--groen); }
.tk-sem__formkaart { background: var(--room); color: var(--inkt); padding: clamp(1.4rem, 1rem + 2.5vw, 3rem); border: 1px solid var(--goud); position: relative; }
.tk-sem__formkaart::before { content: ""; position: absolute; inset: 0.45rem; border: 1px solid rgb(201 168 92 / 45%); pointer-events: none; }
.tk-sem__formkaart .tk-sem__kop { color: var(--groen); }
.tk-sem__formkaart .tk-sem__kop::after { background: linear-gradient(90deg, var(--goud) 0, rgb(201 168 92 / 0) 100%); }
.tk-sem__reg-intro { margin: calc(-1 * var(--r-2)) 0 var(--r-3); color: var(--grijs); }
.tk-sem__formkaart .tk-form { position: relative; }
.tk-sem__formkaart .tk-form__uitleg { margin: 0 0 var(--r-2); font-size: 0.92rem; color: var(--grijs); }
.tk-sem__formkaart .tk-form input, .tk-sem__formkaart .tk-form textarea, .tk-sem__formkaart .tk-form select { background: var(--wit); border-color: #c9bd9f; }
.tk-sem__formkaart .tk-form input:focus-visible, .tk-sem__formkaart .tk-form textarea:focus-visible { border-color: var(--groen); box-shadow: 0 0 0 4px rgb(13 59 45 / 18%); }
.tk-sem__formkaart .tk-radio { border-color: #c9bd9f; color: var(--groen); }
.tk-sem__formkaart .tk-radio:hover { border-color: var(--groen); }
.tk-sem__formkaart .tk-radio:has(input:checked) { background: var(--groen); border-color: var(--groen); color: var(--wit); }
.tk-sem__formkaart .tk-field > label, .tk-sem__formkaart .tk-field legend { color: var(--groen); }
.tk-sem__formkaart .tk-field--smal input { max-width: 8rem; }
.tk-sem__formkaart .tk-form.is-bezig button[type="submit"]::after { border-color: var(--groen-diep); border-right-color: transparent; }
.tk-sem__formkaart :focus-visible { box-shadow: 0 0 0 3px var(--room), 0 0 0 6px var(--groen); }
.tk-sem__formkaart .tk-melding--info { background: #e9efe4; border-color: var(--groen); color: var(--groen); }

/* Voet */
.tk-sem__voet { background: var(--groen-diep); border-top: 1px solid rgb(201 168 92 / 30%); padding-block: var(--r-4); font-size: 0.95rem; }
.tk-sem__voet-binnen { display: grid; gap: var(--r-2); }
.tk-sem__voet-merk { display: flex; align-items: center; gap: 0.6rem; margin: 0; color: var(--goud-licht); font-family: var(--f-kop); font-size: 1.2rem; }
.tk-sem__voet-contact { margin: 0; display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; }
.tk-sem__voet-contact strong { color: var(--goud); }
.tk-sem__voet-links { margin: 0; display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; color: var(--sem-gedempt); }
@media (min-width: 56em) { .tk-sem__voet-binnen { grid-template-columns: auto 1fr auto; align-items: center; } .tk-sem__voet-contact { justify-content: center; } }

/* Zachte verschijning uit het hoofdthema uitzetten: alles meteen zichtbaar */
.tk-sem .tk-reveal { opacity: 1; transform: none; }
@media print { .tk-sem__top, .tk-sem__registratie { display: none !important; } .tk-sem { background: #fff; color: #000; } }
