.kfs-tool{max-width:960px;margin:40px auto;padding:28px;border-radius:28px;background:var(--kfs-tool-bg,#fff8ef);box-shadow:0 20px 60px rgba(0,0,0,.08);font-family:inherit;color:var(--kfs-card-text,#2b2b2b)}
.kfs-hero{text-align:center;margin-bottom:28px}.kfs-eyebrow{display:inline-block;padding:6px 12px;border-radius:999px;background:#ffe2b8;font-weight:700;margin:0 0 10px;color:var(--kfs-accent,#9a5800)}.kfs-hero h2{margin:0 0 10px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;color:var(--kfs-card-text,#2b2b2b)}.kfs-hero p{max-width:620px;margin:0 auto;font-size:1.05rem}
.kfs-form{background:var(--kfs-form-bg,#fff);padding:28px;border-radius:24px}.kfs-step-count{font-weight:800;color:var(--kfs-accent,#9a5800);margin-bottom:14px}.kfs-question-front{margin:0 0 24px}.kfs-question-front h3{font-weight:800;font-size:1.55rem;margin:0 0 14px;color:var(--kfs-card-text,#2b2b2b)}.kfs-answer-select{width:100%;border:2px solid var(--kfs-input-border,#ead7bf);border-radius:18px;padding:16px 18px;background:#fff;cursor:pointer;font-weight:700;font-size:1.05rem;color:var(--kfs-card-text,#222);box-shadow:none}.kfs-answer-select:focus{outline:0;border-color:var(--kfs-accent,#9a5800)}.kfs-answer-select.kfs-missing{border-color:#c0392b;background:#fff7f5}.kfs-step-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.kfs-next,.kfs-prev,.kfs-submit,.kfs-final-add{border:0;border-radius:999px;padding:14px 28px;font-weight:800;cursor:pointer;background:var(--kfs-cart-bg,#27ae60);color:var(--kfs-cart-text,#fff);line-height:1.1;display:inline-flex;align-items:center;justify-content:center;min-width:150px;white-space:nowrap;overflow:visible;text-indent:0}.kfs-prev{background:var(--kfs-view-bg,#222);color:var(--kfs-view-text,#fff)}.kfs-submit{background:#d97706;color:#fff;margin-top:0}.kfs-submit:disabled,.kfs-final-add:disabled{opacity:.45;cursor:not-allowed}
.kfs-results{margin-top:28px}.kfs-results h3{font-size:2rem;margin:0 0 6px;color:var(--kfs-card-text,#2b2b2b)}.kfs-result-intro{margin:0 0 18px}.kfs-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.kfs-card{background:var(--kfs-card-bg,#fff);color:var(--kfs-card-text,#222);border-radius:20px;padding:20px;border:1px solid #f0ddc4;box-shadow:none}.kfs-card>img{display:block;width:100%;height:180px;object-fit:cover;border-radius:16px;background:var(--kfs-panel-bg,#f7ead9);margin:0 0 14px}.kfs-card h3{margin:0 0 8px;font-size:1.2rem;color:var(--kfs-card-text,#222)}.kfs-price{font-weight:800;margin:0 0 10px}.kfs-tags,.kfs-score{display:block;margin-bottom:10px;color:#777;font-size:.92em}.kfs-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.kfs-view,.kfs-cart-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer;line-height:1.1}.kfs-view{background:var(--kfs-view-bg,#111);color:var(--kfs-view-text,#fff)}.kfs-cart-toggle{background:var(--kfs-cart-bg,#27ae60);color:var(--kfs-cart-text,#fff)}
.kfs-cart-panel{display:none;margin-top:18px;padding:18px;border-radius:20px;border:1px solid #f0ddc4;background:var(--kfs-panel-bg,#fff8ef)}.kfs-cart-panel.open{display:block}.kfs-field,.kfp-field-row{margin:0 0 14px}.kfs-field label,.kfp-field-row label{display:block;font-weight:800;margin-bottom:8px}.kfs-field label span,.kfs-field .required,.kfp-field-row .required{color:var(--kfs-accent,#9a5800)}.kfs-field input,.kfs-field textarea,.kfs-field select,.kfp-fields input,.kfp-fields textarea,.kfp-fields select{width:100%;border:2px solid var(--kfs-input-border,#ead7bf);border-radius:14px;padding:12px 14px;background:#fff;color:var(--kfs-card-text,#2b2b2b);font:inherit}.kfs-field textarea,.kfp-fields textarea{min-height:110px}.kfs-field small,.kfp-field-row small{display:block;margin-top:6px;color:#777}.kfs-field.is-missing input,.kfs-field.is-missing textarea,.kfs-field.is-missing select{border-color:#c0392b}.kfs-message{margin-top:12px;font-weight:700}.kfs-error{color:#c0392b}.kfs-success{color:#1b7f37}.kfs-empty{grid-column:1/-1;padding:18px;border:1px dashed #ccc;border-radius:16px;background:#fff}.kfs-final-add{margin-top:4px}
.kfp-fields{margin:28px 0;padding:28px;border:1px solid #f0ddc4;border-radius:22px;background:var(--kfs-panel-bg,#fff8ef)}.kfp-fields h3{font-size:1.6rem;margin:0 0 18px}.kfp-field-row input[type=file]{padding:14px;background:#fff}.kfs-required-checklist{font-weight:700;color:#777}
@media(max-width:760px){.kfs-tool{margin:20px 12px;padding:18px}.kfs-results-grid{grid-template-columns:1fr}.kfs-form{padding:18px}}@media(max-width:560px){.kfs-actions{display:grid}.kfs-view,.kfs-cart-toggle{width:100%}}
.kfs-match-label{display:inline-block;margin:0 0 12px;font-weight:700;color:var(--kfs-accent);}
.kfs-prev{background:var(--kfs-secondary-bg)!important;color:var(--kfs-secondary-text)!important;}
.kfs-next,.kfs-submit{background:var(--kfs-submit-bg)!important;color:var(--kfs-submit-text)!important;}
/* v1.4 verbeteringen: compactere productpagina en live verplichte-velden status */
.kfp-fields{margin-top:14px!important;margin-bottom:24px!important;}
.summary .kfp-fields,.woocommerce div.product form.cart .kfp-fields{margin-top:12px!important;}
.kfs-final-add:disabled,.single_add_to_cart_button.kfs-disabled,.single_add_to_cart_button:disabled{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(.25);}
.kfs-required-checklist{display:block;margin:12px 0 16px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--kfs-input-border,#ead7bf);font-weight:700;color:var(--kfs-card-text,#2b2b2b)}
.kfs-required-checklist ul{margin:6px 0 0 18px;padding:0}.kfs-required-checklist li{margin:2px 0}.kfs-required-checklist.is-ready{border-color:var(--kfs-cart-bg,#2f8f46);color:var(--kfs-cart-bg,#2f8f46);background:#f3fff6}.kfs-checklist-title{font-weight:800}.kfs-field.is-missing input,.kfs-field.is-missing textarea,.kfs-field.is-missing select,.kfp-field-row.is-missing input,.kfp-field-row.is-missing textarea,.kfp-field-row.is-missing select{border-color:#c0392b!important;background:#fff8f6;}

.kfs-next:empty::before{content:"Volgende";}
.kfs-submit:empty::before{content:"Toon mijn Kadoformule";}
.kfs-message.kfs-success{font-weight:800;margin-top:12px;}

/* v1.6: harde knopfix + cache-buster. Sommige thema's overschrijven button padding/tekst. */
.kfs-step-actions .kfs-next,.kfs-step-actions .kfs-submit,.kfs-step-actions .kfs-prev{min-width:165px!important;width:auto!important;max-width:none!important;padding:16px 30px!important;text-indent:0!important;font-size:1rem!important;letter-spacing:0!important;white-space:nowrap!important;overflow:visible!important;line-height:1.15!important;opacity:1!important;visibility:visible!important;appearance:none!important;-webkit-appearance:none!important;}
.kfs-step-actions .kfs-next .kfs-btn-text,.kfs-step-actions .kfs-submit .kfs-btn-text,.kfs-step-actions .kfs-prev .kfs-btn-text{display:inline-block!important;opacity:1!important;visibility:visible!important;color:inherit!important;text-indent:0!important;line-height:1.15!important;}
.kfs-step-actions .kfs-next:empty::before{content:"Volgende"!important;color:var(--kfs-submit-text,#fff)!important;}
.kfs-step-actions .kfs-submit:empty::before{content:"Toon mijn Kadoformule"!important;color:var(--kfs-submit-text,#fff)!important;}


/* v1.8: rankinglabels gekoppeld aan productpositie */
.kfs-card.kfs-highlight-best{border-color:var(--kfs-accent,#cc8a00)!important;box-shadow:0 14px 40px rgba(204,138,0,.14)}
.kfs-card[data-rank="1"] .kfs-match-label{font-size:.95rem;letter-spacing:.01em}
.kfs-card[data-rank="2"] .kfs-match-label{opacity:.95}
.kfs-card[data-rank="3"] .kfs-match-label,.kfs-card.kfs-rank-other .kfs-match-label{opacity:.88}


/* v1.9: rankingbadge boven de productfoto */
.kfs-match-label{display:inline-flex;align-items:center;justify-content:center;margin:0 0 14px;font-weight:800;color:var(--kfs-accent,#cc8a00);}
.kfs-match-label.kfs-match-badge{padding:7px 14px;border-radius:999px;line-height:1.1;font-size:.95rem;align-self:flex-start;}
.kfs-card[data-rank="1"] .kfs-match-badge{background:var(--kfs-label-best-bg,#f6d7a8);color:var(--kfs-label-best-color,#cc8a00);}
.kfs-card[data-rank="2"] .kfs-match-badge{background:var(--kfs-label-second-bg,#222222);color:var(--kfs-label-second-color,#ffffff);}
.kfs-card[data-rank="3"] .kfs-match-badge,.kfs-card.kfs-rank-other .kfs-match-badge{background:var(--kfs-label-other-bg,#f1f1f1);color:var(--kfs-label-other-color,#444444);}
.kfs-card>img{margin-top:0;}
