/* Greenex One Keuzewijzer 0.2.2 - all styles scoped to the widget. */
.gxkw-widget {
  --gxkw-primary: #244b6b; --gxkw-accent: #d97706; --gxkw-bg: #f8fafc;
  --gxkw-text: #192b37; --gxkw-on-primary: #fff; --gxkw-radius: 20px;
  --gxkw-border: #e2e6e9;
  color: var(--gxkw-text); font-family: inherit; font-size: 16px;
  max-width: 1120px; width: 100%; margin: 0 auto; line-height: 1.55;
}
.gxkw-widget * { box-sizing: border-box; }
.gxkw-widget .gxkw-mount { padding: 12px 0 20px; background: transparent; }
.gxkw-widget .gxkw-hero {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: clamp(26px, 5vw, 54px) clamp(14px, 3vw, 30px) 8px;
}
.gxkw-widget .gxkw-icon { width: 32px; height: 32px; display: block; flex: none; }
.gxkw-widget .gxkw-hero-icon { color: var(--gxkw-primary); width: 40px; height: 40px; margin-bottom: 15px; }
.gxkw-widget .gxkw-logo { object-fit: contain; width: auto; height: auto; max-width: 240px; max-height: 90px; margin-bottom: 18px; }
.gxkw-widget .gxkw-hero-title { color: var(--gxkw-text); margin: 0 0 10px; padding: 0; font-size: clamp(27px, 3vw, 35px); line-height: 1.24; font-weight: 750; letter-spacing: -.025em; }
.gxkw-widget .gxkw-hero-text { color: #5f6970; margin: 0; font-size: clamp(17px, 2.1vw, 22px); line-height: 1.45; max-width: 790px; white-space: pre-line; }
.gxkw-widget .gxkw-connector { display:flex; flex-direction:column; align-items:center; justify-content:center; height:74px; color: #8d969d; }
.gxkw-widget .gxkw-connector-line { display:block; height:31px; border-left:1px solid #d5dadd; }
.gxkw-widget .gxkw-connector svg { width:23px; height:23px; margin-top:5px; }
.gxkw-widget .gxkw-panel {
  border: 1px solid var(--gxkw-border); background: var(--gxkw-bg); border-radius:var(--gxkw-radius);
  padding:clamp(28px,4.2vw,49px) clamp(18px,4.2vw,50px);
  text-align:center; box-shadow: 0 2px 8px rgba(17,38,52,.018);
}
.gxkw-widget .gxkw-eyebrow { margin:0 0 10px; color:var(--gxkw-primary); font-size:11px; font-weight:760; letter-spacing:.16em; text-transform:uppercase; }
.gxkw-widget .gxkw-title { color:var(--gxkw-text); font-size:clamp(23px,3vw,31px); line-height:1.25; font-weight:750; letter-spacing:-.018em; margin:0 0 16px; padding:0; outline:none; }
.gxkw-widget .gxkw-description { font-size:17px; color:#5e6770; margin:0 auto 25px; max-width:740px; white-space:pre-line; }
.gxkw-widget .gxkw-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr)); gap:16px; margin:26px 0 0; }
.gxkw-widget .gxkw-choice {
  font:inherit; cursor:pointer; appearance:none; display:flex; flex-direction:column; justify-content:center; align-items:center;
  gap:14px; min-height:166px; background: #fff; padding: 23px 16px;
  border:1.5px solid #dbe1e4; border-radius:calc(var(--gxkw-radius) - 5px);
  color:var(--gxkw-text); text-align:center; transition:border-color .18s,box-shadow .18s,transform .18s,background-color .18s;
}
.gxkw-widget .gxkw-choice-icon { color:var(--gxkw-primary); width:36px; height:36px; }
.gxkw-widget .gxkw-choice-label {font-size:clamp(17px,2vw,20px); line-height:1.35;font-weight:550; overflow-wrap:anywhere;}
.gxkw-widget .gxkw-choice:hover,.gxkw-widget .gxkw-choice:focus-visible {
  border-color:var(--gxkw-primary); box-shadow: 0 7px 22px rgba(21,40,51,.11); transform:translateY(-2px);
}
.gxkw-widget .gxkw-choice:focus-visible,.gxkw-widget .gxkw-btn:focus-visible,.gxkw-widget .gxkw-link:focus-visible { outline: 3px solid var(--gxkw-accent); outline-offset:3px; }
.gxkw-widget .gxkw-choice-selected { border-color: var(--gxkw-primary); background:color-mix(in srgb,var(--gxkw-primary) 7%,white); box-shadow:inset 0 0 0 1px var(--gxkw-primary); }
.gxkw-widget .gxkw-selected-label {font-size:11px; font-weight:700; letter-spacing:.04em; color:var(--gxkw-primary); text-transform:uppercase; }
.gxkw-widget .gxkw-step-tools {margin:22px 0 -15px;}
.gxkw-widget .gxkw-btn,.gxkw-widget .gxkw-link {font:inherit;cursor:pointer;text-decoration:none;}
.gxkw-widget .gxkw-actions {display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px;}
.gxkw-widget .gxkw-btn {min-height:51px; padding:13px 24px; font-size:15px; font-weight:700; border-radius:10px; border:2px solid var(--gxkw-primary); transition:filter .16s,transform .16s;}
.gxkw-widget .gxkw-btn:hover {transform:translateY(-1px);}
.gxkw-widget .gxkw-btn:disabled {opacity:.54;cursor:wait;transform:none;}
.gxkw-widget .gxkw-primary {background:var(--gxkw-primary);color:var(--gxkw-on-primary);}
.gxkw-widget .gxkw-primary:hover {filter:brightness(1.08);color:var(--gxkw-on-primary);}
.gxkw-widget .gxkw-outline {color:var(--gxkw-primary);background:transparent;}
.gxkw-widget .gxkw-outline:hover {background:white;color:var(--gxkw-primary);}
.gxkw-widget .gxkw-link {color:var(--gxkw-primary);background:transparent;border:0;padding:8px 6px;font-size:14px;text-decoration:underline;text-underline-offset:4px;}
.gxkw-widget .gxkw-footer {padding:18px 15px;text-align:center;}
.gxkw-widget .gxkw-result {background:color-mix(in srgb,var(--gxkw-primary) 5%,white);border-color:color-mix(in srgb,var(--gxkw-primary) 24%,white);}
.gxkw-widget .gxkw-result-positive {border-top:4px solid var(--gxkw-primary);}
.gxkw-widget .gxkw-result-warning {border-top:4px solid var(--gxkw-accent);}
.gxkw-widget .gxkw-price {display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin:8px auto 24px;color:var(--gxkw-primary);}
.gxkw-widget .gxkw-price-value {font-size:clamp(34px,4.5vw,49px);font-weight:800;letter-spacing:-.025em;line-height:1.15;}
.gxkw-widget .gxkw-price-suffix {font-size:16px;font-weight:600;color:var(--gxkw-text);}
.gxkw-widget .gxkw-result-note {color:#58656c;font-size:13px; margin:0 auto 15px;max-width:660px;}
.gxkw-widget .gxkw-stats-consent,.gxkw-widget .gxkw-privacy {display:flex;align-items:flex-start;justify-content:center;gap:10px;font-size:13px;line-height:1.5;color:#52616b;cursor:pointer;}
.gxkw-widget .gxkw-stats-consent {margin-top:25px;}
.gxkw-widget .gxkw-stats-consent input,.gxkw-widget .gxkw-privacy input {width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:var(--gxkw-primary);}
.gxkw-widget .gxkw-consent-help {font-size:12px;color:#71808a;line-height:1.55;margin:6px 0 0;}
.gxkw-widget .gxkw-form-panel {background:#fff;text-align:left;}
.gxkw-widget .gxkw-form-panel .gxkw-title,.gxkw-widget .gxkw-form-panel .gxkw-eyebrow,.gxkw-widget .gxkw-form-panel .gxkw-description {text-align:left;margin-left:0;}
.gxkw-widget .gxkw-context {color:var(--gxkw-primary);font-size:14px;font-weight:650;margin:5px 0 25px;}
.gxkw-widget .gxkw-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:17px;}
.gxkw-widget .gxkw-form-wide {grid-column:1/-1;}
.gxkw-widget .gxkw-form-group {display:flex;flex-direction:column;gap:6px;}
.gxkw-widget .gxkw-form-group label {color:var(--gxkw-text);font-size:14px;font-weight:690;}
.gxkw-widget .gxkw-input {box-sizing:border-box;font:inherit;font-size:16px;min-height:46px;width:100%;padding:11px 13px;color:var(--gxkw-text);background:#fff;border:1px solid #b8c4cc;border-radius:9px;outline:none;}
.gxkw-widget textarea.gxkw-input {min-height:112px;resize:vertical;}
.gxkw-widget .gxkw-input:focus {border-color:var(--gxkw-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--gxkw-primary) 17%,white);}
.gxkw-widget .gxkw-privacy {justify-content:flex-start;margin:17px 0 0;}
.gxkw-widget .gxkw-privacy a {color:var(--gxkw-primary);text-decoration:underline;}
.gxkw-widget .gxkw-disclaimer {font-size:13px;line-height:1.5;color:#52616b;background:var(--gxkw-bg);padding:14px 16px;border-left:3px solid var(--gxkw-accent);border-radius:5px;margin:22px 0 15px;}
.gxkw-widget .gxkw-error {color:#ae2430;font-weight:680;font-size:14px;min-height:16px;}
.gxkw-widget .gxkw-form-panel .gxkw-actions {justify-content:flex-start;}
.gxkw-widget .gxkw-success {background:var(--gxkw-bg);}
.gxkw-widget .gxkw-trap {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
@media(max-width:640px) {
  .gxkw-widget .gxkw-mount {padding-top:0;}
  .gxkw-widget .gxkw-hero {padding:26px 8px 0;}
  .gxkw-widget .gxkw-hero-title {font-size:27px;}
  .gxkw-widget .gxkw-hero-text {font-size:17px;}
  .gxkw-widget .gxkw-connector {height:53px;}
  .gxkw-widget .gxkw-connector-line {height:18px;}
  .gxkw-widget .gxkw-panel {padding:24px 16px;}
  .gxkw-widget .gxkw-choices {grid-template-columns:1fr;gap:10px;margin-top:19px;}
  .gxkw-widget .gxkw-choice {min-height:96px;flex-direction:row;justify-content:flex-start;text-align:left;gap:18px;padding:16px 19px;}
  .gxkw-widget .gxkw-choice-icon {width:28px;height:28px;}
  .gxkw-widget .gxkw-choice-label {font-size:17px;}
  .gxkw-widget .gxkw-selected-label {margin-left:auto;}
  .gxkw-widget .gxkw-form-grid {grid-template-columns:1fr;}
  .gxkw-widget .gxkw-form-wide {grid-column:auto;}
  .gxkw-widget .gxkw-actions {align-items:stretch;flex-direction:column;}
  .gxkw-widget .gxkw-btn {width:100%;}
  .gxkw-widget .gxkw-stats-consent {text-align:left;}
}
@media(prefers-reduced-motion:reduce){.gxkw-widget .gxkw-choice,.gxkw-widget .gxkw-btn{transition:none}}

/* v0.3.0 - compact, readable results with pricing on the right. */
.gxkw-widget .gxkw-result{background:color-mix(in srgb,var(--gxkw-primary) 3%,white);text-align:left;max-width:100%}
.gxkw-widget .gxkw-result .gxkw-title,.gxkw-widget .gxkw-result .gxkw-eyebrow{text-align:left;margin-left:0}
.gxkw-widget .gxkw-result .gxkw-title{margin-bottom:10px;font-size:clamp(25px,3vw,32px);max-width:880px}
.gxkw-widget .gxkw-result-intro{font-size:17px;color:#4f5b64;max-width:850px;margin:12px 0 26px;line-height:1.65;white-space:pre-line}
.gxkw-widget .gxkw-result-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:30px;align-items:start;margin:23px 0 23px}
.gxkw-widget .gxkw-result-layout.gxkw-no-price{grid-template-columns:1fr}
.gxkw-widget .gxkw-benefit-label{font-size:14px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 14px;color:var(--gxkw-primary);font-weight:800}
.gxkw-widget .gxkw-benefit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.gxkw-widget .gxkw-benefit-item{display:flex;align-items:flex-start;gap:12px;text-align:left;color:var(--gxkw-text);font-size:16px;line-height:1.55;margin:0;padding:0}
.gxkw-widget .gxkw-benefit-icon{width:20px;height:20px;flex:none;color:var(--gxkw-primary);margin-top:2px}
.gxkw-widget .gxkw-result-details{margin:22px 0 0;padding:15px 18px;background:#fff;border-left:3px solid var(--gxkw-accent);border-radius:4px;font-size:14px;line-height:1.7;color:#55616b;white-space:pre-line}
.gxkw-widget .gxkw-pricing-card{border:1px solid color-mix(in srgb,var(--gxkw-primary) 23%,white);background:white;border-radius:calc(var(--gxkw-radius) - 4px);padding:25px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;box-shadow:0 7px 18px rgba(20,40,50,.035);min-width:0}
.gxkw-widget .gxkw-pricing-label,.gxkw-widget .gxkw-indication-label{letter-spacing:.1em;color:var(--gxkw-primary);font-size:11px;font-weight:800;margin-bottom:5px}
.gxkw-widget .gxkw-pricing-card .gxkw-price-value{display:block;color:var(--gxkw-primary);font-size:clamp(32px,3.4vw,41px);font-weight:800;line-height:1.2;letter-spacing:-.035em}
.gxkw-widget .gxkw-pricing-card .gxkw-price-suffix{display:block;font-size:13px;color:#52616b;font-weight:550}
.gxkw-widget .gxkw-pricing-question{font-size:15px;font-weight:740;color:var(--gxkw-text);margin-top:7px}
.gxkw-widget .gxkw-pricing-input-row{display:flex;align-items:center;gap:8px;max-width:100%;width:100%}
.gxkw-widget .gxkw-pricing-input{flex:1;min-width:0}
.gxkw-widget .gxkw-pricing-unit{white-space:nowrap;font-weight:750;color:#52616b}
.gxkw-widget .gxkw-pricing-unknown{display:flex;gap:9px;align-items:center;line-height:1.35;font-size:13px;color:#52616b;cursor:pointer;margin:2px 0 6px}
.gxkw-widget .gxkw-pricing-unknown input{accent-color:var(--gxkw-primary);height:17px;width:17px}
.gxkw-widget .gxkw-pricing-output{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:54px;border-top:1px solid #e8edf0;padding-top:16px;width:100%}
.gxkw-widget .gxkw-price-help{color:#5a6974;font-size:13px;line-height:1.5;margin:0}
.gxkw-widget .gxkw-tier-cap{font-size:12px;color:#71808a;margin-top:3px}
.gxkw-widget .gxkw-result-note{font-size:13px;text-align:left;margin:22px 0 16px;max-width:none}
.gxkw-widget .gxkw-result .gxkw-actions{justify-content:flex-start;margin-top:20px}
.gxkw-widget .gxkw-form-price-summary{color:var(--gxkw-primary);font-weight:700;font-size:14px;margin:0 0 20px}
@media(max-width:800px){.gxkw-widget .gxkw-result-layout{grid-template-columns:1fr;gap:22px}.gxkw-widget .gxkw-pricing-card{max-width:440px;width:100%}}
@media(max-width:640px){.gxkw-widget .gxkw-benefit-item{font-size:15px}.gxkw-widget .gxkw-pricing-card{padding:20px 18px}.gxkw-widget .gxkw-result-layout{margin:15px 0}.gxkw-widget .gxkw-result .gxkw-title{font-size:24px}}
/* v0.4.0: eigen pictogrammen en keuzevelden zonder extra analyse-checkbox. */
.gxkw-widget .gxkw-custom-choice-icon{object-fit:contain;background:transparent;border:0}
.gxkw-widget .gxkw-form-radios{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:3px}
.gxkw-widget .gxkw-form-radio{display:flex;align-items:center;gap:9px;border:1px solid #c6d1d7;border-radius:9px;padding:12px 14px;cursor:pointer;color:var(--gxkw-text);font-weight:550;background:#fff}
.gxkw-widget .gxkw-form-radio input{margin:0;width:18px;height:18px;accent-color:var(--gxkw-primary)}
.gxkw-widget .gxkw-form-radio:has(input:checked){border-color:var(--gxkw-primary);background:color-mix(in srgb,var(--gxkw-primary) 5%,white)}
@media(max-width:640px){.gxkw-widget .gxkw-form-radios{grid-template-columns:1fr}}
.gxkw-widget{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
/* Greenex One Keuzewijzer v0.6.0: postcode- en servicekostmodule. */
.gxkw-widget .gxkw-postcode-service{display:flex;flex-direction:column;gap:5px;width:100%;border-bottom:1px solid #e8edf0;padding-bottom:16px;margin-bottom:10px}
.gxkw-widget .gxkw-postcode-service>small{color:#586977;font-size:13px;font-weight:700}
.gxkw-widget .gxkw-postcode-input{width:100%;max-width:230px}
.gxkw-widget .gxkw-postcode-output{margin-top:6px;gap:12px}
.gxkw-widget .gxkw-postcode-area{max-width:100%;width:100%;min-width:0}
.gxkw-widget .gxkw-postcode-travel{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%}
.gxkw-widget .gxkw-postcode-travel .gxkw-price-value{font-size:clamp(29px,3vw,37px)}
.gxkw-widget a.gxkw-btn{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;text-align:center}

/* Samengesteld basistarief: vaste vergoeding en verplaatsing incl. btw */
.gxkw-postcode-total{padding:16px 0 8px;margin:13px 0 0;border-top:1px solid rgba(19,56,46,.2);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px}
.gxkw-postcode-total .gxkw-price-value{font-size:clamp(1.55rem,3vw,2.1rem);font-weight:800}
.gxkw-postcode-total .gxkw-indication-label{font-weight:700}

/* 0.6.2: Conditionele formulieronderdelen zijn ook echt verborgen in page builders. */
.gxkw-widget .gxkw-form-group[hidden],.gxkw-widget .gxkw-postcode-variant-group[hidden]{display:none!important}
.gxkw-widget .gxkw-postcode-variant-group{padding:14px;background:#f3f7f7;border-radius:12px}
/* v0.7.0: accessible, customer-facing confirmation screen. */
.gxkw-widget .gxkw-success{background:var(--gxkw-bg);max-width:100%;padding-block:clamp(36px,6vw,75px)}
.gxkw-widget .gxkw-success .gxkw-eyebrow{color:var(--gxkw-primary)}
.gxkw-widget .gxkw-success .gxkw-title{max-width:830px;margin-inline:auto}
.gxkw-widget .gxkw-success .gxkw-description{max-width:720px;margin-inline:auto}
.gxkw-widget .gxkw-success .gxkw-disclaimer{max-width:720px;margin:24px auto;color:#52616b}
.gxkw-widget .gxkw-success-actions{justify-content:center}
.gxkw-widget .gxkw-success-actions .gxkw-btn{max-width:400px}
