/* ── Reset ── */
.vg-form-wrap *{box-sizing:border-box;margin:0;padding:0}
.vg-form-wrap,
.vg-form-wrap div,
.vg-form-wrap p,
.vg-form-wrap span,
.vg-form-wrap label,
.vg-form-wrap input,
.vg-form-wrap select,
.vg-form-wrap textarea,
.vg-form-wrap button{font-family:'DM Sans',sans-serif}

/* ── Wrapper ── */
.vg-form-wrap{color:#1a1a1a;max-width:780px;margin:0 auto;padding:0 1.5rem 3rem}

/* ── Header ── */
.vg-header{padding:1.25rem 0 2rem;border-bottom:1px solid #e8e8e5;margin-bottom:2.5rem;display:flex;align-items:center;gap:12px}
.vg-logo-mark svg{width:28px;height:28px;fill:#1a1a1a}
.vg-logo-name{font-family:'Playfair Display',serif;font-size:16px;font-weight:500;color:#1a1a1a}
.vg-logo-sub{font-size:11px;color:#888;letter-spacing:0.03em}

/* ── Hero ── */
.vg-eyebrow{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#888;margin-bottom:0.75rem}
.vg-page-title{font-family:'Playfair Display',serif;font-size:clamp(24px,4vw,36px);font-weight:400;line-height:1.2;margin-bottom:0.75rem;color:#1a1a1a}
.vg-page-title em{font-style:italic;color:#888}
.vg-page-sub{font-size:15px;color:#666;line-height:1.7;max-width:540px;margin-bottom:2.5rem}

/* ── Card ── */
.vg-card{background:#fff;border:1px solid #e8e8e5;border-radius:12px;padding:2rem}

/* ── Steps ── */
.vg-step{display:none}
.vg-step.vg-active{display:block}
.vg-step-indicator{display:flex;align-items:center;margin-bottom:2rem}
.vg-step-dot{display:flex;align-items:center;gap:8px}
.vg-step-circle{width:26px;height:26px;border-radius:50%;border:1px solid #ccc;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#888;flex-shrink:0;transition:all 0.2s}
.vg-step-circle.vg-done{background:#22c55e;border-color:#22c55e;color:#fff}
.vg-step-circle.vg-active-dot{background:#1a1a1a;border-color:#1a1a1a;color:#fff}
.vg-step-lbl{font-size:12px;color:#888;white-space:nowrap}
.vg-step-lbl.vg-active-lbl{color:#1a1a1a;font-weight:500}
.vg-step-line{flex:1;height:1px;background:#e8e8e5;margin:0 8px}

/* ── Step titles ── */
.vg-step-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:400;margin-bottom:0.4rem;color:#1a1a1a}
.vg-step-sub{font-size:13px;color:#666;line-height:1.6;margin-bottom:1.75rem}

/* ── Form grid ── */
.vg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.vg-full{grid-column:1/-1}
.vg-field{display:flex;flex-direction:column;gap:5px}
.vg-field label{font-size:12px;color:#666;letter-spacing:0.02em}
.vg-field input,
.vg-field select,
.vg-field textarea{height:36px;padding:0 10px;background:#fff;border:1px solid #ccc;border-radius:8px;font-size:14px;color:#1a1a1a;outline:none;width:100%;font-family:'DM Sans',sans-serif}
.vg-field input:focus,
.vg-field select:focus,
.vg-field textarea:focus{border-color:#888}
.vg-field textarea{height:80px;padding:8px 10px;resize:vertical}
.vg-req{color:#dc2626}

/* ── Contact preference ── */
.vg-pref-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.vg-pref-group input[type=radio]{position:absolute;opacity:0;width:0;height:0}
.vg-pref-lbl{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border:1px solid #ccc;border-radius:8px;font-size:13px;color:#666;cursor:pointer;transition:all 0.15s;user-select:none;background:#fff;font-family:'DM Sans',sans-serif}
.vg-pref-lbl:hover{border-color:#888;color:#1a1a1a;background:#f5f5f3}
.vg-pref-group input[type=radio]:checked+.vg-pref-lbl{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:500}

/* ── Service options ── */
.vg-svc-group{margin-bottom:1.5rem}
.vg-svc-group-name{font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid #e8e8e5}
.vg-svc-options{display:flex;flex-direction:column;gap:6px}
.vg-svc-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e8e8e5;border-radius:8px;cursor:pointer;transition:border-color 0.15s,background 0.15s}
.vg-svc-option:hover{border-color:#ccc;background:#f5f5f3}
.vg-svc-option.vg-selected{border-color:#2563eb;background:#eff6ff}
.vg-svc-option input[type=checkbox]{width:15px;height:15px;flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:#2563eb}
.vg-svc-name{font-size:13px;font-weight:500;color:#1a1a1a}
.vg-svc-option.vg-selected .vg-svc-name{color:#1d4ed8}
.vg-svc-desc{font-size:12px;color:#666;margin-top:2px;line-height:1.5}
.vg-svc-option.vg-selected .vg-svc-desc{color:#1d4ed8}
.vg-svc-price{font-size:11px;font-weight:500;color:#aaa;margin-top:3px}
.vg-svc-option.vg-selected .vg-svc-price{color:#1d4ed8}

/* ── Summary ── */
.vg-summary{background:#f5f5f3;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}
.vg-summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:13px}
.vg-summary-row:not(:last-child){border-bottom:1px solid #e8e8e5}
.vg-summary-lbl{color:#666}
.vg-summary-val{color:#1a1a1a;font-weight:500;text-align:right;max-width:60%}
.vg-summary-svcs{display:flex;flex-direction:column;gap:4px;margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid #e8e8e5}
.vg-summary-svc-item{font-size:12px;display:flex;align-items:center;gap:6px;color:#666}
.vg-svc-dot{width:6px;height:6px;border-radius:50%;background:#2563eb;flex-shrink:0}

/* ── Buttons ── */
.vg-btn-row{display:flex;align-items:center;justify-content:space-between;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid #e8e8e5}
.vg-btn-back{background:none;border:1px solid #ccc;border-radius:8px;padding:9px 18px;font-size:14px;color:#666;cursor:pointer;transition:all 0.15s;font-family:'DM Sans',sans-serif}
.vg-btn-back:hover{border-color:#888;color:#1a1a1a}
.vg-btn-next{background:#1a1a1a;color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity 0.15s;display:inline-flex;align-items:center;gap:6px;font-family:'DM Sans',sans-serif}
.vg-btn-next:hover{opacity:0.85}
.vg-btn-next:disabled{opacity:0.35;cursor:not-allowed}

/* ── Consent ── */
.vg-consent-label{font-size:13px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;color:#666;line-height:1.6}
.vg-consent-label input{width:15px;height:15px;flex-shrink:0;margin-top:2px;accent-color:#2563eb}

/* ── Success ── */
.vg-success-wrap{text-align:center;padding:2rem 1rem}
.vg-success-icon{width:52px;height:52px;border-radius:50%;background:#f0fdf4;border:1px solid #86efac;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
.vg-success-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:400;margin-bottom:0.75rem;color:#1a1a1a}
.vg-success-body{font-size:14px;color:#666;line-height:1.7;margin-bottom:1.5rem}
.vg-success-phone{font-size:15px;font-weight:500;color:#1a1a1a}
.vg-success-contact{font-size:13px;color:#aaa;margin-top:6px}
.vg-success-contact a{color:#666;text-decoration:none}
.vg-success-contact a:hover{text-decoration:underline}

/* ── Footer ── */
.vg-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid #e8e8e5;text-align:center}
.vg-footer p{font-size:12px;color:#aaa;line-height:1.8}
.vg-footer a{color:#888;text-decoration:none}
.vg-footer a:hover{text-decoration:underline}

/* ── Responsive ── */
@media(max-width:520px){
  .vg-grid{grid-template-columns:1fr}
  .vg-step-lbl{display:none}
}
