.ssw-form{--ssw-kleur:#1e9ad6;--ssw-donker:#0f2a3d;--ssw-licht:#eaf5fb;--ssw-radius:8px;max-width:960px;margin:0 auto;font-size:15px;color:#1d1d1f}
.ssw-form *{box-sizing:border-box}
.ssw-row{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
@media(max-width:640px){.ssw-row{grid-template-columns:1fr}}
.ssw-field{margin-bottom:20px;position:relative}
.ssw-field[hidden]{display:none}
.ssw-field label{display:block;font-weight:700;font-size:14px;margin-bottom:7px;color:var(--ssw-donker)}
.ssw-field label span{color:#e02424}
/* Thema's (Elementor, Hello, Astra) zetten vaak een vaste hoogte of line-height op selects; daarom hier expliciet overschreven. */
.ssw-form input[type=text],.ssw-form input[type=tel],.ssw-form input[type=email],.ssw-form input[type=date],.ssw-form select,.ssw-form textarea{display:block;width:100%!important;height:auto!important;min-height:52px!important;max-height:none!important;line-height:1.4!important;padding:13px 15px!important;margin:0!important;border:1px solid #dfe3e8!important;border-bottom:3px solid var(--ssw-kleur)!important;border-radius:var(--ssw-radius) var(--ssw-radius) 0 0!important;background-color:#fff!important;font-family:inherit!important;font-size:15px!important;font-weight:400!important;color:#1d1d1f!important;box-shadow:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;box-sizing:border-box!important;overflow:visible;text-overflow:ellipsis}
.ssw-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.6' fill='none'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:12px 8px!important;padding-right:40px!important;cursor:pointer;white-space:nowrap}
.ssw-form select::-ms-expand{display:none}
.ssw-form select option{color:#1d1d1f;background:#fff;font-size:15px}
.ssw-form input[type=date]{min-height:52px!important}
.ssw-form textarea{min-height:130px!important;resize:vertical;line-height:1.5!important}
.ssw-form input:focus,.ssw-form select:focus,.ssw-form textarea:focus{outline:none!important;border-color:var(--ssw-kleur)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ssw-kleur) 18%,transparent)!important}
.ssw-field.has-error input,.ssw-field.has-error select{border-color:#e02424!important;border-bottom-color:#e02424!important}
.ssw-error{color:#e02424;font-size:13px;margin-top:6px;font-weight:600}

/* ---------- Kenteken ---------- */
.ssw-kenteken-block{background:linear-gradient(135deg,var(--ssw-licht) 0%,#fff 100%);border:1px solid color-mix(in srgb,var(--ssw-kleur) 25%,#fff);border-radius:14px;padding:24px 24px 20px;margin:6px 0 26px;text-align:center}
.ssw-kenteken-intro strong{display:block;font-size:17px;color:var(--ssw-donker);margin-bottom:4px}
.ssw-kenteken-intro span{display:block;font-size:14px;color:#5b6b78;margin-bottom:16px}
.ssw-plate{display:inline-flex;align-items:stretch;max-width:100%;width:340px;height:68px;background:#f7c600;border:3px solid #111;border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.14),inset 0 -2px 0 rgba(0,0,0,.12);transition:box-shadow .2s,transform .2s}
.ssw-plate:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--ssw-kleur) 30%,transparent),0 6px 18px rgba(0,0,0,.14);transform:translateY(-1px)}
.ssw-plate.is-ok{border-color:#0a7a3a}
.ssw-plate.is-warn{border-color:#c77700}
.ssw-plate.is-error{border-color:#e02424}
.ssw-plate-eu{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#003399;color:#fff;font-weight:700;font-size:13px;width:44px;flex:0 0 44px;gap:2px}
.ssw-plate-stars{font-size:16px;color:#ffcc00;line-height:1}
.ssw-form .ssw-plate input[type=text]{flex:1;min-width:0;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif!important;font-weight:700!important;font-size:34px!important;line-height:1!important;letter-spacing:4px;text-transform:uppercase;text-align:center;color:#111!important;padding:0 6px!important}
.ssw-form .ssw-plate input[type=text]:focus{box-shadow:none!important}
.ssw-form .ssw-plate input::placeholder{color:#a08600;letter-spacing:3px;font-size:26px;font-weight:700}
.ssw-haalbreng .ssw-field input{min-height:52px!important}
.ssw-plate-btn{flex:0 0 56px;border:0;border-left:3px solid #111;background:var(--ssw-kleur);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:filter .15s}
.ssw-plate-btn:hover{filter:brightness(1.1)}
.ssw-plate-btn:disabled{opacity:.7;cursor:wait}
.ssw-kenteken-status{font-size:14px;margin-top:12px;min-height:20px;color:#5b6b78}
.ssw-kenteken-status.is-ok{color:#0a7a3a;font-weight:700}
.ssw-kenteken-status.is-warn{color:#c77700;font-weight:700}
.ssw-kenteken-status.is-error{color:#e02424;font-weight:600}
.ssw-kenteken-status.is-loading{font-style:italic}
.ssw-kenteken-status.is-loading::before{content:"";display:inline-block;width:12px;height:12px;border:2px solid #cfd8de;border-top-color:var(--ssw-kleur);border-radius:50%;margin-right:8px;vertical-align:-2px;animation:ssw-spin .7s linear infinite}

/* RDW kaart */
.ssw-rdw-card{margin-top:18px;background:#fff;border:1px solid #dfe8ee;border-top:4px solid var(--ssw-kleur);border-radius:10px;padding:16px 18px 18px;text-align:left;box-shadow:0 4px 14px rgba(15,42,61,.06)}
.ssw-rdw-card[hidden]{display:none}
.ssw-rdw-head{display:flex;align-items:center;gap:8px;color:#0a7a3a;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.ssw-rdw-clear{margin-left:auto;background:none;border:1px solid #dfe3e8;border-radius:6px;color:#5b6b78;cursor:pointer;font-size:12px;padding:4px 10px;text-transform:none;letter-spacing:0;font-weight:600}
.ssw-rdw-clear:hover{border-color:#e02424;color:#e02424}
.ssw-rdw-vehicle{font-size:21px;font-weight:800;color:var(--ssw-donker);line-height:1.2}
.ssw-rdw-sub{font-size:14px;color:#5b6b78;margin:3px 0 14px}
.ssw-rdw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px 16px}
.ssw-rdw-item{background:var(--ssw-licht);border-radius:6px;padding:8px 10px}
.ssw-rdw-item span{display:block;font-size:11px;color:#5b6b78;text-transform:uppercase;letter-spacing:.4px}
.ssw-rdw-item strong{font-size:14px;color:var(--ssw-donker)}
.ssw-rdw-note{margin-top:14px;font-size:13px;color:#5b6b78;background:#f7f9fb;border-left:3px solid #cfd8de;padding:10px 12px;border-radius:0 6px 6px 0}
.ssw-rdw-note.is-warn{color:#8a4b00;background:#fff6e6;border-left-color:#c77700;font-weight:600}
.ssw-rdw-note[hidden]{display:none}

/* ---------- Haal- en brengservice ---------- */
.ssw-haalbreng{border:1px solid #dfe8ee;border-radius:12px;padding:18px 20px;margin-bottom:22px;background:#fff}
.ssw-haalbreng-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;color:var(--ssw-kleur)}
.ssw-haalbreng-head strong{display:block;color:var(--ssw-donker);font-size:16px}
.ssw-haalbreng-head span{display:block;color:#5b6b78;font-size:14px;margin-top:2px}
.ssw-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px}
.ssw-choice-3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:820px){.ssw-choice-3{grid-template-columns:1fr}}
@media(max-width:640px){.ssw-choice{grid-template-columns:1fr}}
.ssw-choice-item{display:flex;align-items:center;gap:10px;border:2px solid #dfe3e8;border-radius:8px;padding:12px 14px;cursor:pointer;font-weight:600;font-size:14px;transition:border-color .15s,background .15s}
.ssw-choice-item input{accent-color:var(--ssw-kleur);width:18px;height:18px;margin:0}
.ssw-choice-item.is-active{border-color:var(--ssw-kleur);background:var(--ssw-licht)}
.ssw-haalbreng .ssw-field{margin:14px 0 0}

/* ---------- Overig ---------- */
.ssw-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.g-recaptcha{margin-bottom:18px}
.ssw-message{padding:16px 20px;border-radius:var(--ssw-radius);margin-bottom:18px;font-weight:600;font-size:15px}
.ssw-message[hidden]{display:none}
.ssw-message.is-success{background:#e6f6ec;color:#0a7a3a;border:1px solid #b9e3c8}
.ssw-message.is-error{background:#fdecec;color:#b91c1c;border:1px solid #f5c2c2}
.ssw-submit{text-align:center}
.ssw-btn{background:var(--ssw-kleur);color:#fff;border:0;border-radius:var(--ssw-radius);padding:16px 44px;font:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.6px;cursor:pointer;transition:filter .15s,transform .1s,box-shadow .15s;position:relative;box-shadow:0 6px 16px color-mix(in srgb,var(--ssw-kleur) 35%,transparent)}
.ssw-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.ssw-btn:active{transform:translateY(1px)}
.ssw-btn:disabled{opacity:.7;cursor:wait;transform:none}
.ssw-btn.is-loading span{visibility:hidden}
.ssw-btn.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ssw-spin .7s linear infinite}
@keyframes ssw-spin{to{transform:rotate(360deg)}}
.ssw-privacy{font-size:12px;color:#8a97a1;margin-top:12px}
