/* Aanvraagformulier (shortcode [pv_aanvraagformulier]). Kleuren van het Provisual-thema. */
.pv-aq { --ink:#101828; --soft:#3E4757; --muted:#6B7385; --line:#DCE4F2; --accent:#0B84FF; --accent-strong:#0A6FDB; --tint:#EEF3FC;
  max-width: 640px; margin: 0 auto; color: var(--ink); font: inherit; }
.pv-aq *, .pv-aq *::before, .pv-aq *::after { box-sizing: border-box; }
.pv-aq [hidden] { display: none !important; }
.pv-aq h2 { margin: 0 0 6px; font-size: 1.5rem; line-height: 1.25; }
.pv-aq p { margin: 0 0 12px; }
.pv-aq .pv-aq-sub { color: var(--soft); margin-bottom: 16px; }
.pv-aq-bar { height: 6px; background: var(--tint); border-radius: 3px; overflow: hidden; margin-bottom: 22px; }
.pv-aq-bar i { display: block; height: 100%; width: 25%; background: linear-gradient(90deg, #0B84FF, #22C55E); transition: width .25s; }
.pv-aq-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pv-aq-tile, .pv-aq-opt { font: inherit; color: inherit; cursor: pointer; background: #fff; border: 2px solid var(--line); text-align: left; }
.pv-aq-tile { border-radius: 14px; padding: 14px 14px; min-height: 58px; font-weight: 600; }
.pv-aq-opt { border-radius: 999px; padding: 10px 18px; min-height: 44px; }
.pv-aq-tile:hover, .pv-aq-opt:hover { border-color: var(--accent); }
.pv-aq-tile[aria-pressed="true"], .pv-aq-opt[aria-pressed="true"] { border-color: var(--accent); background: var(--tint); }
.pv-aq-tile:focus-visible, .pv-aq-opt:focus-visible, .pv-aq-btn:focus-visible, .pv-aq input:focus-visible, .pv-aq textarea:focus-visible { outline: 3px solid rgba(11,132,255,.35); outline-offset: 2px; }
.pv-aq-label, .pv-aq label { display: block; font-weight: 600; margin: 16px 0 6px; }
.pv-aq-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.pv-aq input[type=text], .pv-aq input[type=email], .pv-aq input[type=tel], .pv-aq textarea {
  width: 100%; min-height: 48px; padding: 10px 14px; border: 2px solid var(--line); border-radius: 12px; font: inherit; color: inherit; background: #fff; }
.pv-aq textarea { min-height: 120px; resize: vertical; }
.pv-aq-nav { display: flex; gap: 10px; margin-top: 24px; }
.pv-aq-btn { flex: 1; min-height: 52px; border: 0; border-radius: 12px; font: inherit; font-weight: 700; cursor: pointer; color: #fff; background: linear-gradient(135deg, #0B84FF, #22C55E); }
.pv-aq-btn:hover { filter: brightness(.96); }
.pv-aq-btn.sec { flex: 0 0 auto; background: var(--tint); color: var(--ink); padding: 0 20px; }
.pv-aq-btn[disabled] { opacity: .6; cursor: wait; }
.pv-aq-err { color: #B9282A; margin-top: 12px; min-height: 1.4em; font-weight: 600; }
.pv-aq-promise { color: var(--muted); font-size: .9rem; margin-top: 10px; }
.pv-aq-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 380px) { .pv-aq-tiles { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .pv-aq-bar i { transition: none; } }
