/* Scope every visible rule to this plugin to avoid Astra/Spectra collisions. */
.vrf-root { --vrf-navy:#0d2b43; --vrf-border:#c8d5e5; --vrf-text:#102a44; width:100%; box-sizing:border-box; background:transparent; padding:0; color:var(--vrf-text); font-family:inherit; }
.vrf-root *, .vrf-root *::before, .vrf-root *::after { box-sizing:border-box; }
.vrf-root .vrf-card { width:100%; max-width:449px; margin:0 auto; background:#fff; border:1px solid #e4e9f0; border-radius:8px; padding:33px 32px 31px; box-shadow:none; }
.vrf-root .vrf-form { padding:0; margin:0; }
.vrf-root .vrf-field { margin:0 0 12px; }
.vrf-root .vrf-label, .vrf-root .vrf-group-title { display:block; color:#0f2740; font-size:12px; font-weight:700; line-height:1.5; margin-bottom:7px; }
.vrf-root .vrf-field-radio .vrf-group-title { margin-bottom:8px; }
.vrf-root .vrf-control { display:block; width:100%; max-width:none; min-width:0; height:43px; line-height:1.35; margin:0; padding:10px 12px; border:1px solid var(--vrf-border); border-radius:5px; background:#fff; color:#0f2740; box-shadow:none; outline:none; font-size:13px; font-family:inherit; font-weight:400; }
.vrf-root .vrf-control::placeholder { color:#73839b; opacity:1; }
.vrf-root .vrf-control:focus, .vrf-root .vrf-choice:focus-within { border-color:#567a9c; box-shadow:0 0 0 2px rgba(56,106,151,.13); outline:none; }
.vrf-root select.vrf-control { appearance:auto; cursor:pointer; }
.vrf-root .vrf-textarea { height:104px; resize:vertical; }
.vrf-root .vrf-choices { display:flex; flex-direction:column; gap:6px; }
.vrf-root .vrf-choice { width:100%; min-height:43px; display:flex; align-items:center; gap:9px; margin:0; padding:9px 12px; border:1px solid var(--vrf-border); border-radius:5px; background:#fff; color:#142e46; font-size:12px; line-height:1.45; font-weight:400; cursor:pointer; }
.vrf-root .vrf-choice input { width:16px; height:16px; min-width:16px; padding:0; margin:0; accent-color:#0e2d45; cursor:pointer; }
.vrf-root .vrf-choice span { flex:1; }
.vrf-root .vrf-agree { display:flex; align-items:flex-start; gap:6px; margin:9px 0 16px; color:#546d89; font-size:11px; line-height:1.65; font-weight:400; cursor:pointer; }
.vrf-root .vrf-agree input { width:16px; height:16px; min-width:16px; padding:0; margin:0 0 0; accent-color:#0e2d45; cursor:pointer; }
.vrf-root .vrf-privacy-open { display:inline; appearance:none; border:0; padding:0; margin:0 0 0 2px; background:transparent; color:#446f96; font-size:inherit; line-height:inherit; font-weight:400; text-decoration:underline; cursor:pointer; }
.vrf-root .vrf-privacy-open:hover { color:#0e2d45; background:transparent; }
.vrf-root .vrf-submit { display:block; width:100%; min-height:46px; border:0; border-radius:4px; margin:0; padding:12px; background:var(--vrf-navy); color:#fff; text-align:center; font-family:inherit; font-weight:700; font-size:13px; line-height:1.5; cursor:pointer; transition:background .15s ease; }
.vrf-root .vrf-submit:hover, .vrf-root .vrf-submit:focus { background:#194461; color:#fff; }
.vrf-root .vrf-submit:disabled { cursor:wait; opacity:.75; }
.vrf-root .vrf-note { color:#8493a8; margin:12px 0 0; font-size:10px; line-height:1.6; font-weight:400; text-align:center; }
.vrf-root .vrf-result { display:none; margin:11px 0 0; padding:9px 11px; font-size:12px; text-align:center; border-radius:4px; line-height:1.5; }
.vrf-root .vrf-result.vrf-error { display:block; color:#9b2530; background:#fff0f1; }
.vrf-root .vrf-result.vrf-success { display:block; color:#216540; background:#edf8f1; }
.vrf-root .vrf-trap { position:absolute!important; left:-10000px!important; top:auto!important; height:1px!important; width:1px!important; opacity:0!important; }
.vrf-root .vrf-modal[hidden] { display:none!important; }
.vrf-root .vrf-modal { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:16px; }
.vrf-root .vrf-modal-shade { position:absolute; inset:0; background:rgba(8,22,34,.7); }
.vrf-root .vrf-modal-panel { position:relative; width:min(100%, 480px); max-height:85vh; overflow:auto; border-radius:8px; background:#fff; padding:24px; box-shadow:0 10px 50px rgba(0,0,0,.22); }
.vrf-root .vrf-modal-heading { font-weight:700; font-size:17px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.vrf-root .vrf-privacy-close { border:0; border-radius:4px; background:transparent; color:#0d2b43; cursor:pointer; }
.vrf-root .vrf-modal-heading .vrf-privacy-close { font-size:26px; line-height:1; }
.vrf-root .vrf-modal-body { font-size:13px; line-height:1.85; margin:20px 0; white-space:normal; }
.vrf-root .vrf-modal-confirm { display:block; width:100%; padding:10px; color:#fff; background:#0d2b43; }
.vrf-root .vrf-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
@media (max-width:520px) { .vrf-root { padding:0; } .vrf-root .vrf-card { padding:29px 21px 27px; } .vrf-root .vrf-choice { font-size:12px; } }
