/* TrouwFilmFotograaf keuzehulp: styles limited to shortcode root. */
.tff-kw, .tff-kw * { box-sizing: border-box; }
.tff-kw { --tff-ink:#172c2b; --tff-dark:#1d302f; --tff-gold:#c8906e; --tff-stone:#f8f4ef; --tff-line:#e0d2c4; background:#1c2d2c; color:#fff; font-family:Arial,Helvetica,sans-serif; width:100%; overflow:hidden; isolation:isolate; }
.tff-kw__layout { max-width:1480px; margin:0 auto; display:grid; grid-template-columns: 1fr 1.05fr; gap:clamp(35px,7vw,106px); align-items:center; min-height:540px; padding:40px clamp(24px,4.7vw,68px); }
.tff-kw__intro { max-width:550px; padding:10px 0; }
.tff-kw__eyebrow { font-size:11px; letter-spacing:.26em; color:var(--tff-gold); font-weight:700; margin-bottom:19px; }
.tff-kw__intro h2 { font-family:Georgia,'Times New Roman',serif; color:#fff!important; font-size:clamp(48px,5.2vw,81px); font-weight:400; line-height:1.04; letter-spacing:-.05em; margin:0 0 22px; }
.tff-kw__intro h2 em { display:block; color:var(--tff-gold); font-style:italic; letter-spacing:-.055em; }
.tff-kw__intro>p { font-size:14px; line-height:2; color:#e2e9e7; max-width:460px; margin:0; }
.tff-kw__bars { display:flex; gap:10px; margin-top:31px; }
.tff-kw__bars span { width:84px; height:4px; background:#526663; border-radius:5px; transition:background .2s; }
.tff-kw__bars span.is-filled { background:#c69a7e; }
.tff-kw__intro .tff-kw__footnote { margin-top:24px; color:#aec0bc; letter-spacing:.13em; font-size:10px; font-weight:600; }
.tff-kw__card { background:var(--tff-stone); color:var(--tff-ink); border-radius:25px; padding:clamp(24px,3.4vw,46px); box-shadow:0 30px 60px rgba(0,0,0,.11); min-width:0; }
.tff-kw__top { display:flex; align-items:center; justify-content:space-between; margin:0 0 13px; color:#bb7d57; font-size:10px; font-weight:700; letter-spacing:.23em; }
.tff-kw__top-right { color:#9d978f; }
.tff-kw__progress { display:flex; gap:6px; margin-bottom:19px; }
.tff-kw__progress span { flex:1; height:3px; border-radius:6px; background:#e4d9cf; transition:background .15s ease; }
.tff-kw__progress span.is-filled { background:#b9805e; }
.tff-kw__panel h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.035em; line-height:1.12; font-size:clamp(30px,3vw,48px); color:#152322!important; margin:0 0 10px; }
.tff-kw__sub { margin:0 0 23px; font-size:13px; line-height:1.65; color:#77736e; }
.tff-kw__choices { display:flex; flex-direction:column; gap:11px; }
.tff-kw__choices button { appearance:none; background:#fff; border:1px solid var(--tff-line); color:#172826; border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:17px 20px; text-align:left; font-family:Arial,Helvetica,sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.045em; cursor:pointer; transition:background .17s,border-color .17s,box-shadow .17s; }
.tff-kw__choices button:hover, .tff-kw__choices button:focus-visible { background:#fffcfa; border-color:#c28e6c; outline:none; }
.tff-kw__choices button.is-selected { border-color:#bc855f; box-shadow:inset 0 0 0 1px #bc855f; background:#fff8f2; }
.tff-kw__choices button.is-selected span { color:#a56842; }
.tff-kw__choices button span { font-size:19px; color:#c4b6aa; line-height:1; }
.tff-kw__actions { display:flex; align-items:center; gap:15px; margin-top:24px; }
.tff-kw__actions[hidden], .tff-kw__panel[hidden], .tff-kw__error[hidden], .tff-kw__back[hidden], .tff-kw__next[hidden], .tff-kw__submit[hidden] { display:none!important; }
.tff-kw__next,.tff-kw__submit { display:flex; align-items:center; justify-content:space-between; gap:16px; background:#1c302e; color:white; border:1px solid #1c302e; border-radius:10px; min-height:46px; padding:12px 20px; margin-left:auto; cursor:pointer; font-weight:600; letter-spacing:.02em; font-size:13px; }
.tff-kw__next:disabled,.tff-kw__submit:disabled { opacity:.48; cursor:not-allowed; }
.tff-kw__back,.tff-kw__restart { border:none; padding:9px 0; background:transparent; color:#716c67; font-size:13px; cursor:pointer; }
.tff-kw__back:hover,.tff-kw__restart:hover { color:#1c302e; text-decoration:underline; }
.tff-kw__card-footer { color:#a39b94; font-size:9px; font-weight:600; letter-spacing:.12em; margin-top:19px; }
.tff-kw__field { display:block; color:#1c302e; font-weight:600; font-size:12px; margin-bottom:14px; }
.tff-kw__field>span { color:#8b8783; font-weight:400; }
.tff-kw__field input,.tff-kw__field textarea { display:block; width:100%; margin-top:6px; border:1px solid #dfd4c9!important; border-radius:9px!important; background:#fff!important; color:#1c302e!important; padding:11px 12px!important; min-height:43px; font-family:Arial,Helvetica,sans-serif; font-size:13px; line-height:1.3; box-shadow:none!important; max-width:100%; }
.tff-kw__field input:focus,.tff-kw__field textarea:focus { border-color:#b7805c!important; outline:2px solid #e8d3c5!important; outline-offset:1px; }
.tff-kw__field input:disabled { opacity:.48; }
.tff-kw__field textarea { resize:vertical; }
.tff-kw__checkbox { color:#5f6059; font-size:12px; display:flex; gap:9px; align-items:flex-start; cursor:pointer; line-height:1.6; margin:3px 0 15px; }
.tff-kw__checkbox input { margin:3px 0 0; width:16px; height:16px; accent-color:#a46c4b; flex-shrink:0; }
.tff-kw__two-col { display:grid; grid-template-columns:1fr 1fr; column-gap:12px; }
.tff-kw__summary { display:grid; gap:7px; padding:14px 17px; background:#ede8e2; border-radius:10px; margin:0 0 19px; font-size:12px; }
.tff-kw__summary div { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.tff-kw__summary strong { color:#595b55; font-size:11px; font-weight:600; }
.tff-kw__summary span { text-align:right; color:#1e302e; font-weight:600; }
.tff-kw__privacy { margin-top:2px; }
.tff-kw__error { margin:17px 0 0; font-size:12px; border:1px solid #e8b9a7; background:#fff1eb; border-radius:8px; padding:11px 13px; color:#823c23; }
.tff-kw__done-icon { height:55px; width:55px; border-radius:50%; color:#fff; background:#577565; display:flex; align-items:center; justify-content:center; font-size:23px; margin:15px 0 21px; }
.tff-kw__done-note { font-size:12px; color:#77716b; margin:10px 0; }
.tff-kw__honey { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.tff-kw button:focus-visible { outline:2px solid #c99473; outline-offset:2px; }
@media(max-width:920px){.tff-kw__layout { grid-template-columns:1fr; gap:26px; padding:45px 24px; max-width:720px; }.tff-kw__intro h2{font-size:clamp(45px,8vw,64px)}.tff-kw__intro h2 em{display:inline}.tff-kw__intro .tff-kw__footnote{display:none}.tff-kw__card{padding:27px}.tff-kw__bars{margin-top:19px}}
@media(max-width:520px){.tff-kw__layout{padding:29px 15px 40px}.tff-kw__intro h2{font-size:44px}.tff-kw__intro>p{font-size:13px;line-height:1.7}.tff-kw__card{border-radius:18px;padding:24px 20px}.tff-kw__panel h3{font-size:34px}.tff-kw__two-col{grid-template-columns:1fr;gap:0}.tff-kw__summary{padding:12px}.tff-kw__choices button{font-size:12px;padding:15px}.tff-kw__card-footer{letter-spacing:.07em}}
@media(prefers-reduced-motion:reduce){.tff-kw * {transition:none!important;}}

/* Loading notice only appears when the JavaScript has not initialized. */
.tff-kw__needs-js { color:#755037; background:#fff5e9; border:1px solid #edc9a3; border-radius:8px; font-size:12px; padding:9px 12px; margin-bottom:14px; }
.tff-kw__needs-js[hidden] { display:none!important; }

/* 1.2.0: compact 4-options layout / prijsindicatie */
.tff-kw__indicatie { color:#746d64; font-size:11px; line-height:1.5; margin:-10px 0 20px; }
.tff-kw[data-tff-auto="1"]{ width:100%;max-width:none; margin:0 auto; }
.tff-kw__choices button:active { transform: translateY(1px); }
