/* ═══════════════════════════════════════════════════════════
   AI-scan tool — gedeelde styling
   Gebruikt door template-parts/scan-form.php op de homepage (hero)
   én op /ai-scan/. Eén bron, geen duplicaten meer.
   Vars (--rose/--amber/--mint/--accent/--border/...) komen uit style.css.
   ═══════════════════════════════════════════════════════════ */

/* ── Kaart ── */
.scan-tool-card{max-width:760px;margin:0 auto;background:linear-gradient(160deg,rgba(8,20,48,0.96),rgba(10,18,42,0.90));border:1px solid rgba(43,127,255,0.22);border-radius:var(--r-lg);padding:48px;position:relative;overflow:hidden}
.scan-tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#00c6ff,#0072ff)}

/* ── Formulier ── */
.scan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.scan-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.scan-field label{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-3)}
.scan-opt{font-size:10px;color:var(--text-4);text-transform:none;letter-spacing:0;margin-left:4px}
.scan-input,.scan-select{background:rgba(255,255,255,0.04);border:1px solid var(--border-md);border-radius:var(--r-sm);color:var(--text-1);font-family:'Cabinet Grotesk',sans-serif;font-size:14px;padding:12px 16px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;-webkit-appearance:none}
.scan-input::placeholder{color:var(--text-3)}
.scan-input:focus,.scan-select:focus{border-color:rgba(0,114,255,0.50);box-shadow:0 0 0 3px rgba(0,114,255,0.08);background:rgba(255,255,255,0.06)}
.scan-select option{background:#071426}
.scan-start-btn{width:100%;background:linear-gradient(90deg,#00c6ff,#0072ff);border:none;border-radius:var(--r-sm);color:#fff;font-family:'Cabinet Grotesk',sans-serif;font-size:16px;font-weight:600;padding:17px 28px;cursor:pointer;transition:all .2s;box-shadow:0 4px 22px rgba(0,114,255,0.30);display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}
.scan-start-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.10),transparent);pointer-events:none}
.scan-start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 36px rgba(0,114,255,0.50)}
.scan-start-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.scan-disclaimer{font-size:11px;color:var(--text-4);text-align:center;margin-top:12px}
.scan-field-error{color:var(--rose);font-size:12px;font-family:'JetBrains Mono',monospace;margin-top:10px;text-align:center}

/* ── Loading ── */
.scan-loading-header{display:flex;align-items:center;gap:20px;margin-bottom:28px}
.scan-loading-spinner{position:relative;width:52px;height:52px;flex-shrink:0}
.spinner-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(43,127,255,0.12);border-top-color:var(--accent);animation:spin 1s linear infinite}
.spinner-ring-2{position:absolute;top:8px;left:8px;right:8px;bottom:8px;border-radius:50%;border:2px solid rgba(6,182,212,0.10);border-bottom-color:var(--teal);animation:spin 1.6s linear infinite reverse}
.spinner-dot{position:absolute;top:50%;left:50%;width:6px;height:6px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px var(--accent)}
@keyframes spin{to{transform:rotate(360deg)}}
.scan-loading-titel{font-size:17px;font-weight:600;color:var(--text-1);margin-bottom:4px}
.scan-loading-domain{font-size:13px;color:var(--text-3);font-family:'JetBrains Mono',monospace}
.scan-stappen{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.scan-stap{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r-sm);border:1px solid transparent;font-size:13px;color:var(--text-3);transition:all .3s}
.scan-stap.actief{background:rgba(43,127,255,0.07);border-color:rgba(43,127,255,0.18);color:var(--text-1)}
.scan-stap.klaar{color:var(--mint)}
.stap-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stap-idle{width:5px;height:5px;border-radius:50%;background:var(--text-4)}
.stap-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(43,127,255,0.2);border-top-color:var(--accent);animation:spin .8s linear infinite}
.stap-check{font-size:13px;color:var(--mint)}
.scan-progress-wrap{height:3px;background:rgba(43,127,255,0.10);border-radius:2px;overflow:hidden}
.scan-progress-bar{height:100%;background:linear-gradient(90deg,#00c6ff,#0072ff);border-radius:2px;width:0%;transition:width .6s ease;box-shadow:0 0 8px rgba(0,114,255,0.5)}
.scan-progress-pct{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-3);text-align:right;margin-top:5px}

/* ── Resultaten ── */
.scan-score-rij{display:flex;align-items:center;gap:24px;background:rgba(7,17,40,0.8);border:1px solid var(--border-md);border-radius:var(--r);padding:22px 24px;margin-bottom:16px}
.score-ring-wrap{position:relative;width:80px;height:80px;flex-shrink:0}
.score-ring-wrap svg{transform:rotate(-90deg)}
.score-ring-tekst{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Cabinet Grotesk',sans-serif;font-size:24px;font-weight:600;line-height:1}
.score-ring-tekst span{font-size:11px;color:var(--text-3);font-weight:400;font-family:'Cabinet Grotesk',sans-serif}
.score-details{flex:1}
.score-label-mono{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-3);margin-bottom:5px}
.score-verdict{font-size:18px;font-weight:600;color:var(--text-1);margin-bottom:5px;letter-spacing:-0.3px}
.score-desc{font-size:13px;color:var(--text-2);line-height:1.55}
.score-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;margin-top:8px}
.pill-low{background:rgba(248,113,113,0.10);color:var(--rose);border:1px solid rgba(248,113,113,0.20)}
.pill-mid{background:rgba(245,158,11,0.10);color:var(--amber);border:1px solid rgba(245,158,11,0.20)}
.pill-high{background:rgba(52,211,153,0.10);color:var(--mint);border:1px solid rgba(52,211,153,0.20)}
.scan-sectie-label{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-3);margin:16px 0 10px}
.scan-vraag-lijst{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}
.scan-vraag-item{background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 15px;display:flex;align-items:flex-start;gap:12px}
.sv-tekst{font-size:13px;color:var(--text-2);line-height:1.5;flex:1}
.sv-status{flex-shrink:0;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}
.st-no{background:rgba(248,113,113,0.10);color:var(--rose);border:1px solid rgba(248,113,113,0.15)}
.st-yes{background:rgba(52,211,153,0.10);color:var(--mint);border:1px solid rgba(52,211,153,0.15)}
.st-part{background:rgba(245,158,11,0.10);color:var(--amber);border:1px solid rgba(245,158,11,0.15)}
.scan-inzichten{display:flex;flex-direction:column;gap:10px}
.scan-inzicht{background:rgba(255,255,255,0.02);border:1px solid var(--border);border-left:3px solid transparent;border-radius:0 var(--r-sm) var(--r-sm) 0;padding:13px 15px}
.scan-inzicht.info{border-left-color:var(--accent)}
.scan-inzicht.warn{border-left-color:var(--amber)}
.scan-inzicht.opp{border-left-color:var(--mint);background:rgba(52,211,153,0.03)}
.inzicht-tag{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px}
.inzicht-tag.t-info{color:var(--accent-light)}
.inzicht-tag.t-warn{color:var(--amber)}
.inzicht-tag.t-opp{color:var(--mint)}
.inzicht-tekst{font-size:13px;color:var(--text-2);line-height:1.6}
.inzicht-tekst strong{color:var(--text-1);font-weight:600}
.scan-cta-rij{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.scan-scenario-box{width:100%;border-radius:10px;padding:14px 16px;margin-bottom:12px;font-size:13px;line-height:1.65}
.scan-scenario-goed{background:rgba(52,211,153,0.07);border:1px solid rgba(52,211,153,0.18);color:var(--text-2)}
.scan-scenario-box strong{color:var(--text-1);font-weight:600}

/* Blur overlay op vervolg-inzichten */
.scan-inzicht-blur-wrap{position:relative}
.scan-inzicht-blur-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,17,40,0.82),rgba(10,20,50,0.90));border:1px solid rgba(43,127,255,0.20);border-radius:0 var(--r-sm) var(--r-sm) 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12px}
.blur-unlock-tekst{font-size:13px;font-weight:600;color:var(--text-1);letter-spacing:-0.2px}
.blur-pijl{font-size:11px;color:var(--accent-light);font-family:'JetBrains Mono',monospace}

/* E-mailkaart */
.scan-email-kaart{margin-top:20px;background:linear-gradient(160deg,rgba(0,114,255,0.07),rgba(0,198,255,0.04));border:1px solid rgba(43,127,255,0.28);border-radius:var(--r-sm);padding:22px 20px}
.scan-email-titel{font-size:14px;font-weight:600;color:var(--text-1);margin-bottom:14px;letter-spacing:-0.2px}
.scan-email-rij{display:flex;gap:10px}
.scan-email-rij .scan-input{flex:1}
.scan-email-btn{background:linear-gradient(90deg,#00c6ff,#0072ff);border:none;border-radius:var(--r-sm);color:#fff;font-family:'Cabinet Grotesk',sans-serif;font-size:14px;font-weight:600;padding:12px 20px;cursor:pointer;white-space:nowrap;transition:all .2s;box-shadow:0 4px 16px rgba(0,114,255,0.25)}
.scan-email-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(0,114,255,0.40)}
.scan-email-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.scan-email-feedback{margin-top:10px;font-size:12px;font-family:'JetBrains Mono',monospace}
.scan-email-feedback.ok{color:var(--mint)}
.scan-email-feedback.err{color:var(--rose)}

/* Responsive */
@media(max-width:768px){
  .scan-tool-card{padding:28px 20px}
  .scan-form-grid{grid-template-columns:1fr}
  .scan-score-rij{flex-direction:column;align-items:flex-start;gap:16px}
  .scan-cta-rij{flex-direction:column}
  .scan-cta-rij .btn{width:100%;justify-content:center}
  .scan-email-rij{flex-direction:column}
  .scan-email-btn{width:100%}
}
