.vip-wrap{max-width:980px;margin:24px auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;}
.vip-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.07);padding:22px;position:relative}
.vip-header h2{margin:0 0 6px 0;font-size:24px;line-height:1.2;}
.vip-header p{margin:0 0 18px 0;opacity:.75;}
.vip-headline{display:flex;align-items:start;justify-content:space-between;gap:10px}
.vip-badge{display:inline-flex;align-items:start;gap:6px;font-weight:800;font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(17,17,17,.06);border:1px solid rgba(0,0,0,.08)}
.vip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.vip-grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:900px){.vip-grid{grid-template-columns:1fr}.vip-grid-2{grid-template-columns:1fr}}
.vip-field{position:relative}
.vip-field label{display:block;font-weight:700;font-size:13px;margin:0 0 6px 0;}
.vip-field input,.vip-field select,.vip-field textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;outline:none;}
.vip-field textarea{resize:vertical}
.vip-field small{display:block;margin-top:6px;opacity:.7}
.vip-divider{height:1px;background:rgba(0,0,0,.08);margin:18px 0;}
.vip-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.vip-btn{flex:1 1 240px;padding:12px 14px;border-radius:14px;border:0;font-weight:900;cursor:pointer}
.vip-btn-primary{background:#111;color:#fff}
.vip-btn-secondary{background:#f3f3f3;color:#111;border:1px solid rgba(0,0,0,.12)}
.vip-result{margin-top:16px;background:#0b12201a;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:18px}
.vip-error{background:#ff00000d}
.vip-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vip-pill{font-weight:800;font-size:12px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.10)}
.vip-range{display:flex;align-items:baseline;gap:10px;margin:10px 0 0 0}
.vip-euro{font-size:28px;font-weight:950}
.vip-sep{opacity:.5}
.vip-note{margin:8px 0 0 0;opacity:.75}
.vip-h3{margin:0 0 6px 0}
.vip-muted{margin:0 0 10px 0;opacity:.75}
.vip-missing{margin-top:8px}
.vip-linkbtn{background:transparent;border:0;padding:0;color:#0b5cff;font-weight:800;cursor:pointer;text-decoration:underline}
.vip-check{display:flex;align-items:center;gap:10px;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:10px 12px}
.vip-check input{width:auto}
.vip-loading{display:none;position:absolute;right:10px;top:34px;width:18px;height:18px}
.vip-loading:before{content:"";display:block;width:18px;height:18px;border-radius:999px;border:2px solid rgba(0,0,0,.15);border-top-color:rgba(0,0,0,.55);animation:vipspin .8s linear infinite}
.vip-loading.is-on{display:block}
@keyframes vipspin{to{transform:rotate(360deg)}}
.vip-searchbox{margin:0 0 8px 0}
.vip-searchbox input{padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.12);width:100%}
.vip-progress{height:10px;border-radius:999px;background:rgba(0,0,0,.06);overflow:hidden;margin:14px 0 8px 0}
.vip-progress-bar{height:100%;width:0%;background:#111;border-radius:999px;transition:width .25s ease}
.vip-progress-label{font-size:12px;font-weight:800;opacity:.75}
.vip-contact-panel{background:rgba(17,17,17,.03);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px}

/* Privacy */
.vip-privacy{margin-top:12px}
.vip-privacy-check{align-items:flex-start}
.vip-privacy-link{margin-left:10px;font-weight:900;color:#0b5cff;text-decoration:underline}


/* Step-by-step wizard (Ultra Pro) */
.vip-stepper{margin:18px 0 8px}
.vip-stepper-track{position:relative;height:6px;background:#eef2f7;border-radius:999px;overflow:hidden}
.vip-stepper-progress{position:absolute;left:0;top:0;height:100%;width:0;background:#111827;border-radius:999px;transition:width .25s ease}
.vip-stepper-steps{display:flex;justify-content:space-between;gap:8px;list-style:none;padding:0;margin:10px 0 0}
.vip-stepper-step{display:flex;align-items:center;gap:10px;color:#6b7280}
.vip-stepper-step span{width:28px;height:28px;border-radius:999px;border:1px solid #d1d5db;display:inline-flex;align-items:center;justify-content:center;font-weight:700;background:#fff}
.vip-stepper-step em{font-style:normal;font-weight:600}
.vip-stepper-step.is-active{color:#111827}
.vip-stepper-step.is-active span{border-color:#111827}
.vip-stepper-step.is-done{color:#111827}
.vip-stepper-step.is-done span{background:#111827;color:#fff;border-color:#111827}
.vip-step{margin-top:8px}
.vip-step[hidden]{display:none !important}
.vip-step-title{margin:4px 0 2px}
.vip-muted{color:#6b7280;margin:0 0 10px}
.vip-form-errors{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.vip-step-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.vip-step-actions-split{justify-content:space-between;align-items:center}
.vip-step-actions-right{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}



/* =========================
   LUXURY THEME (ICON)
   ========================= */
.vip-wrap{
  max-width:1040px;
  padding:0 18px;
  color:#0b1220;
  background: radial-gradient(1200px 700px at 10% -10%, rgba(214,174,92,.20), transparent 60%),
              radial-gradient(900px 600px at 90% 10%, rgba(17,24,39,.08), transparent 55%),
              linear-gradient(180deg, rgba(250,250,250,1), rgba(245,247,250,1));
  border-radius:22px;
}
.vip-card{
  border-radius:22px;
  border:1px solid rgba(15,23,42,.10);
  box-shadow: 0 24px 60px rgba(2,6,23,.10);
  padding:26px;
  backdrop-filter: blur(10px);
}
.vip-header h2{font-size:28px; letter-spacing:-.02em}
.vip-badge{
  background: linear-gradient(135deg, rgba(214,174,92,.18), rgba(214,174,92,.06));
  border:1px solid rgba(214,174,92,.35);
  color:#7a5a18;
}
.vip-field input,.vip-field select,.vip-field textarea{
  border:1px solid rgba(15,23,42,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
  transition: box-shadow .2s ease, border-color .2s ease, transform .06s ease;
}
.vip-field input:focus,.vip-field select:focus,.vip-field textarea:focus{
  border-color: rgba(214,174,92,.75);
  box-shadow: 0 0 0 4px rgba(214,174,92,.18);
}
.vip-btn{
  border-radius:16px;
  font-weight:900;
  letter-spacing:.01em;
}
.vip-btn-primary{
  background: linear-gradient(135deg, #0b1220, #111827);
  box-shadow: 0 16px 28px rgba(2,6,23,.18);
}
.vip-btn-primary:hover{transform: translateY(-1px)}
.vip-btn-secondary{
  background: linear-gradient(135deg, rgba(255,255,255,1), rgba(248,250,252,1));
  border:1px solid rgba(15,23,42,.14);
  box-shadow: 0 10px 18px rgba(2,6,23,.06);
}
.vip-btn-secondary:hover{transform: translateY(-1px)}
.vip-result{
  background: linear-gradient(135deg, rgba(214,174,92,.12), rgba(17,24,39,.03));
  border:1px solid rgba(214,174,92,.26);
}
.vip-pill{
  border:1px solid rgba(214,174,92,.35);
}
.vip-linkbtn{color:#7a5a18}
.vip-linkbtn:hover{opacity:.95}
.vip-privacy-link{color:#7a5a18}
/* Stepper luxury */
.vip-stepper-track{background: rgba(15,23,42,.08)}
.vip-stepper-progress{
  background: linear-gradient(90deg, rgba(214,174,92,.95), rgba(214,174,92,.55));
}
.vip-stepper-step span{
  border:1px solid rgba(214,174,92,.45);
  color:#7a5a18;
}
.vip-stepper-step.is-active span{border-color: rgba(214,174,92,.85)}
.vip-stepper-step.is-done span{
  background: linear-gradient(135deg, rgba(214,174,92,.95), rgba(214,174,92,.55));
  border-color: rgba(214,174,92,.85);
  color:#0b1220;
}
/* Smooth step transitions */
.vip-step.vip-anim-in{animation: vipFadeUp .28s ease both}
@keyframes vipFadeUp{
  from{opacity:0; transform: translateY(6px)}
  to{opacity:1; transform: translateY(0)}
}



/* =========================
   IAD-LIKE LUXURY LAYOUT
   ========================= */
.vip-iadlike .vip-card{padding:28px}
.vip-iadlike .vip-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.vip-iadlike .vip-header .vip-titlewrap{max-width:680px}
.vip-iadlike .vip-header h2{margin-top:2px}
.vip-iadlike .vip-header p{max-width:64ch}

/* Desktop two-column: form + sidebar */
@media (min-width: 980px){
  .vip-iadlike .vip-card{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    column-gap: 22px;
    align-items:start;
  }
  .vip-iadlike .vip-header,
  .vip-iadlike .vip-stepper,
  .vip-iadlike .vip-step{grid-column:1}
  .vip-iadlike .vip-side{grid-column:2; grid-row:1 / span 999; position:sticky; top:18px}
}

/* Sidebar blocks */
.vip-side{margin-top:18px}
@media (min-width: 980px){ .vip-side{margin-top:0} }
.vip-side-card{
  border-radius:20px;
  border:1px solid rgba(15,23,42,.10);
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,250,252,.92));
  box-shadow: 0 18px 40px rgba(2,6,23,.08);
  padding:18px 18px 16px;
}
.vip-side-card + .vip-side-card{margin-top:12px}
.vip-side-title{font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:#6b7280;margin:0 0 10px}
.vip-kpi{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  padding:10px 12px; border-radius:16px;
  border:1px solid rgba(214,174,92,.22);
  background: linear-gradient(135deg, rgba(214,174,92,.10), rgba(17,24,39,.02));
}
.vip-kpi strong{font-size:18px}
.vip-kpi span{color:#6b7280; font-weight:700}
.vip-summary-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
.vip-summary-item{
  display:flex;justify-content:space-between;gap:12px;
  padding:8px 10px;border-radius:14px;
  background: rgba(15,23,42,.03);
  border:1px solid rgba(15,23,42,.07);
}
.vip-summary-item b{color:#111827}
.vip-summary-item em{font-style:normal;color:#6b7280}

/* Reassurance */
.vip-points{display:grid;gap:10px;margin-top:10px}
.vip-point{
  display:flex;gap:10px;align-items:flex-start;
  padding:10px 12px;border-radius:16px;
  background: rgba(15,23,42,.03);
  border:1px solid rgba(15,23,42,.07);
}
.vip-dot{
  width:10px;height:10px;border-radius:999px;margin-top:6px;
  background: linear-gradient(135deg, rgba(214,174,92,.95), rgba(214,174,92,.55));
  flex:none;
}
.vip-point h4{margin:0;font-size:14px}
.vip-point p{margin:2px 0 0;color:#6b7280;font-size:12px;line-height:1.45}

/* Stepper tweak */
.vip-iadlike .vip-stepper-steps{gap:18px}
.vip-iadlike .vip-stepper-step em{font-size:13px}
.vip-iadlike .vip-stepper-step span{width:30px;height:30px}

/* Buttons area tighter */
.vip-iadlike .vip-step-actions{margin-top:16px}


/* Remove searchable input fields - keep only select dropdowns */
.vip-search{display:none !important;}
.vip-field.vip-searchable input[type="text"]{display:none !important;}


/* Force contact fields only in step 3 */
.vip-grid-2{display:none;}
.vip-step-3 .vip-grid-2{display:grid !important;}



/* =========================
   SUPER IAD-LIKE LUXURY HERO
   ========================= */
.vip-hero{
  margin:-6px 0 18px;
  border-radius:22px;
  border:1px solid rgba(15,23,42,.10);
  background:
    radial-gradient(1100px 600px at 10% 0%, rgba(214,174,92,.20), transparent 55%),
    radial-gradient(900px 600px at 90% 10%, rgba(17,24,39,.10), transparent 55%),
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(248,250,252,.95));
  box-shadow: 0 20px 55px rgba(2,6,23,.08);
  padding:20px 22px;
}
.vip-hero-eyebrow{
  display:inline-block;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:11px;
  color:#7a5a18;
  background: rgba(214,174,92,.14);
  border:1px solid rgba(214,174,92,.28);
  padding:6px 10px;
  border-radius:999px;
}
.vip-hero-title{
  margin:10px 0 6px;
  font-size:26px;
  letter-spacing:-.02em;
  line-height:1.12;
}
.vip-hero-sub{margin:0;color:#6b7280;max-width:70ch}
.vip-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.vip-trust-badge{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.75);
}
.vip-trust-badge b{font-size:13px}
.vip-trust-badge em{font-style:normal;color:#6b7280;font-size:12px}
.vip-trust-dot{
  width:10px;height:10px;border-radius:999px;
  background: linear-gradient(135deg, rgba(214,174,92,.95), rgba(214,174,92,.55));
  box-shadow: 0 6px 14px rgba(214,174,92,.25);
}

/* Bigger, more onboarding-like step titles */
.vip-step-title{font-size:18px}
.vip-stepper{margin-top:6px}
.vip-stepper-steps{margin-top:12px}
.vip-stepper-step em{font-size:13px}
.vip-stepper-step span{font-size:13px}


/* =========================
   CONTACT STEP FIX (v0.7.1)
   ========================= */
/* Ensure custom fields grids are visible */
.vip-grid-2{display:grid !important;}
/* Contact fields only on step 3 */
.vip-contact-grid{display:none;}
.vip-step-3 .vip-contact-grid{display:grid !important;}


/* Super IAD-like Hero */
.vip-hero{margin:14px 0 16px}
.vip-hero-inner{
  border-radius:22px;
  border:1px solid rgba(214,174,92,.26);
  background: linear-gradient(135deg, rgba(214,174,92,.12), rgba(17,24,39,.02));
  padding:18px 18px 16px;
}
.vip-hero-kicker{font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#7a5a18;font-size:12px}
.vip-hero-title{margin:6px 0 6px;font-size:18px;letter-spacing:-.01em}
.vip-hero-sub{margin:0;color:#6b7280;max-width:70ch}
.vip-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.vip-hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(214,174,92,.26);
  background: rgba(255,255,255,.7);
  color:#7a5a18;font-weight:900;font-size:12px;
}


/* Result banner prominent at top */
#vip_result_anchor .vip-result{
  margin:14px 0 18px;
  position:relative;
}
#vip_result_anchor .vip-result:before{
  content:'';
  position:absolute; left:0; top:-1px; bottom:-1px; width:6px;
  border-radius:22px 0 0 22px;
  background: linear-gradient(180deg, rgba(214,174,92,.95), rgba(214,174,92,.55));
}
#vip_result_anchor .vip-result{
  padding-left:18px;
}

/* Prevent clicking stepper to skip validation */
.vip-stepper-step{pointer-events:none;}

.vip-contact-grid{margin-top:0}

/* Contacts hidden until Step 3 */
#vip_contact_fields{display:none;}
.vip-wizard-step-3 #vip_contact_fields{display:block;}

/* Custom fields hidden until Step 2 */
#vip_custom_fields_wrap{display:none;}
.vip-step-2 #vip_custom_fields_wrap, .vip-step-3 #vip_custom_fields_wrap{display:block;}

/* ===== Completion state (after successful valuation) ===== */
.vip-form.vip-complete .vip-step{display:none !important;}
.vip-form.vip-complete .vip-actions{display:none !important;}
.vip-complete-panel{margin-top:18px;padding:18px;border-radius:18px;border:1px solid rgba(15,23,42,.10);
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,1));
  box-shadow: 0 12px 30px rgba(2,6,23,.06);
}
.vip-complete-inner{max-width:820px}
.vip-complete-actions{margin-top:14px;display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap}

/* Completion state (works both server-side and JS) */
.vip-card.vip-complete .vip-stepper,
.vip-card.vip-complete .vip-step,
.vip-card.vip-complete .vip-actions,
.vip-card.vip-complete .vip-divider,
.vip-card.vip-complete #vip_contact_fields{display:none !important;}
.vip-card.vip-complete ~ #vip_complete_panel{display:block !important;}

#vip_complete_panel[hidden]{display:none !important;}

/* v0.9.0 keep summary visible and readable on completion */
.vip-complete .vip-side{display:block !important;}
.vip-complete .vip-side-card{opacity:1 !important;}

.vip-privacy-title{font-weight:600; margin:8px 0 4px; color:#111827;}
.vip-privacy-desc{font-size:13px; color:#6b7280; margin-bottom:10px;}
.vip-privacy-link{color:inherit; text-decoration:underline; font-weight:600;}

/* Premium mode: hide any numeric precision chips if present */
#vip_precision{display:none !important;}

/* Premium: softer pill without numeric percentages */
.vip-pill{letter-spacing:.2px;}

/* Premium: hide % symbols are removed; keep bar only */

#vip_progress_label{display:none !important;}

.vip-contact-row{display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-bottom:1px solid rgba(0,0,0,.06);}
.vip-contact-row:last-child{border-bottom:none;}
.vip-contact-label{color:#6b7280; font-size:12px;}
.vip-contact-socials{margin-top:10px; font-size:13px; color:#6b7280;}
.vip-contact-socials a{color:inherit; text-decoration:underline;}

.vip-legal-note{margin-top:18px;font-size:13px;line-height:1.5;color:#666;}

/* Ultra-robust step visibility: hide all steps unless active (beats theme overrides) */
.vip-step{display:none !important;}
.vip-step.vip-active{display:block !important;}

/* Hide submit unless final step */
button[name="vip_submit"]{display:none !important;}
.vip-wizard-step-3 button[name="vip_submit"]{display:inline-flex !important;}

.vip-wizard-step-1 #vip_back_2, .vip-wizard-step-1 #vip_back_3{display:none !important;}

/* Wizard visibility: show only active step */
.vip-step{display:none !important;}
.vip-step.vip-active{display:block !important;}

/* Wizard nav */
.vip-nav{margin-top:18px;}
.vip-nav-row{display:flex; justify-content:space-between; gap:12px; align-items:center;}
.vip-btn.vip-btn-ghost{background:transparent; border:1px solid rgba(0,0,0,.18);}

/* VIP success box (missing comune) */
.vip-success-box{ margin-top:14px; padding:16px; border:1px solid rgba(0,0,0,.08); border-radius:14px; background:#fff; }
.vip-success-title{ font-weight:700; margin-bottom:6px; }
.vip-success-text{ margin-bottom:12px; }


/* Indirizzo full width on step 1 */
.vip-address-field{
  grid-column: 1 / -1;
}
.vip-address-field input{
  width: 100%;
}


/* Premium analysis box */
.vip-analysis-box{
  margin-top:16px;
  background:linear-gradient(180deg,#ffffff 0%, #fafbfc 100%);
  border:1px solid rgba(17,17,17,.10);
  border-radius:20px;
  padding:22px 22px 18px;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}
.vip-analysis-head{margin-bottom:14px}
.vip-analysis-kicker{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:6px;
}
.vip-analysis-head h3{
  margin:0 0 6px 0;
  font-size:28px;
  line-height:1.1;
}
.vip-analysis-head p{
  margin:0;
  color:#6b7280;
  font-size:15px;
}
.vip-analysis-progress{
  height:8px;
  border-radius:999px;
  background:rgba(17,17,17,.08);
  overflow:hidden;
  margin:14px 0 16px;
}
.vip-analysis-progress-bar{
  height:100%;
  width:0%;
  background:#111;
  border-radius:999px;
  transition:width .28s ease;
}
.vip-analysis-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.vip-analysis-list li{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:14px;
  background:#fff;
  color:#374151;
  opacity:.68;
  transform:translateY(2px);
  transition:opacity .22s ease, transform .22s ease, border-color .22s ease, background .22s ease;
}
.vip-analysis-list li.is-on{
  opacity:1;
  transform:translateY(0);
  border-color:rgba(17,17,17,.14);
  background:#fcfcfd;
}
.vip-analysis-check{
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:900;
  flex:0 0 22px;
}
.vip-analysis-foot{
  margin-top:14px;
  font-size:13px;
  color:#6b7280;
}
.vip-btn.is-loading{
  opacity:.85;
  pointer-events:none;
}


/* Premium final result */
.vip-result-premium{
  background:#fff;
  border:1px solid #e9eef3;
  border-radius:24px;
  padding:40px;
  box-shadow:0 10px 30px rgba(16,24,40,.06);
}
.vip-result-top{text-align:center}
.vip-result-success{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#101828;
  font-weight:700;
  font-size:14px;
  margin-bottom:18px;
}
.vip-result-check{
  width:56px;height:56px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#ecfdf3;color:#16a34a;font-weight:900;font-size:28px;
  flex:0 0 56px;
}
.vip-result-head-premium{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin-bottom:0;
}
.vip-result-head-premium h3{
  margin:0;
  font-size:30px;
  line-height:1.2;
  color:#101828;
  font-weight:700;
  max-width:760px;
}
.vip-pill-blue{
  display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;
  border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#344054;
  font-size:14px;font-weight:600;
}
.vip-pill-dot{width:8px;height:8px;border-radius:999px;background:#f59e0b;display:inline-block}
.vip-price-block{text-align:center;margin-top:34px}
.vip-price-kicker{
  font-size:14px;line-height:20px;text-transform:uppercase;letter-spacing:.06em;
  font-weight:700;color:#667085;margin-bottom:18px;
}
.vip-range-premium-vertical{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  margin:0;
}
.vip-result-premium .vip-euro{
  font-size:48px;line-height:1.05;color:#101828;font-weight:800;
}
.vip-sep-premium{width:64px;height:2px;background:#d0d5dd;border-radius:999px;display:block;margin:2px 0}
.vip-note-premium{
  margin:18px auto 0;
  font-size:16px;line-height:24px;color:#475467;max-width:720px;
}
.vip-result-divider{margin:32px 0 28px;border-top:1px solid #eaecf0}
.vip-summary-card{margin:0}
.vip-summary-card-title{
  font-size:22px;line-height:30px;font-weight:700;color:#101828;margin-bottom:22px;
}
.vip-summary-card-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;
}
.vip-summary-row{
  display:flex;align-items:flex-start;gap:14px;padding:14px 16px;
  background:#fcfcfd;border:1px solid #f2f4f7;border-radius:16px;
}
.vip-summary-ico{
  width:36px;height:36px;border-radius:10px;background:#f2f4f7;position:relative;flex:0 0 36px;
}
.vip-summary-ico:before,.vip-summary-ico:after{content:'';position:absolute;box-sizing:border-box}
.vip-summary-ico-place:before{left:11px;top:7px;width:14px;height:14px;border:2px solid #344054;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.vip-summary-ico-place:after{left:15px;top:11px;width:6px;height:6px;background:#344054;border-radius:50%}
.vip-summary-ico-address:before{left:9px;top:17px;width:18px;height:2px;background:#344054;box-shadow:0 -6px 0 #344054,0 6px 0 #344054}
.vip-summary-ico-address:after{left:9px;top:8px;width:12px;height:12px;border:2px solid #344054;border-radius:3px;background:transparent}
.vip-summary-ico-home:before{left:8px;top:15px;width:20px;height:13px;border:2px solid #344054;border-top:none;border-radius:0 0 3px 3px}
.vip-summary-ico-home:after{left:9px;top:8px;width:18px;height:18px;border-left:2px solid #344054;border-top:2px solid #344054;transform:rotate(45deg)}
.vip-summary-ico-size:before{left:8px;top:17px;width:20px;height:2px;background:#344054}
.vip-summary-ico-size:after{left:16px;top:9px;width:4px;height:20px;background:#344054;box-shadow:-8px 8px 0 -1px #344054,8px -8px 0 -1px #344054}
.vip-summary-text{display:flex;flex-direction:column;gap:2px}
.vip-summary-label{font-size:13px;line-height:18px;font-weight:600;color:#667085}
.vip-summary-row strong{font-size:16px;line-height:24px;font-weight:700;color:#101828}
.vip-disclaimer-box{
  margin-top:28px;padding:18px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;
  color:#475467;font-size:13px;line-height:21px;
}
.vip-disclaimer-box p{margin:0 0 10px}
.vip-disclaimer-box p:last-child{margin-bottom:0}
.vip-result-cta{
  display:flex;align-items:flex-start;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px;
}
.vip-result-cta > *{align-self:flex-start}
.vip-cta-primary-wrap{
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.vip-btn-blue{
  background:#101828;color:#fff;min-height:48px;padding:0 22px;border-radius:12px;
  font-size:15px;font-weight:700;box-shadow:0 6px 18px rgba(16,24,40,.12);border:0;
}
.vip-btn-blue:hover{background:#101828;transform:translateY(-1px);box-shadow:0 10px 24px rgba(16,24,40,.16)}
.vip-cta-copy{font-size:14px;line-height:20px;color:#667085;text-align:center;max-width:320px}
.vip-btn-outline{
  background:#fff;color:#344054;border:1px solid #d0d5dd;min-height:48px;padding:0 22px;
  border-radius:12px;font-size:15px;font-weight:600;
}
@media (max-width: 767px){
  .vip-result-premium{padding:22px}
  .vip-result-head-premium h3{font-size:24px}
  .vip-result-premium .vip-euro{font-size:34px;line-height:1.08}
  .vip-summary-card-grid{grid-template-columns:1fr;gap:14px}
  .vip-result-cta{flex-direction:column;align-items:stretch}
  .vip-cta-primary-wrap{align-items:stretch}
  .vip-btn-blue,.vip-btn-outline{width:100%}
  .vip-cta-copy{max-width:none}
}


.vip-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:20px;
}
.vip-modal-card{
  width:100%;
  max-width:500px;
  background:#fff;
  border-radius:22px;
  box-shadow:0 24px 80px rgba(15,23,42,.22);
  padding:24px;
  position:relative;
}
.vip-modal-close{
  position:absolute;
  right:14px;
  top:12px;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  color:#64748b;
}
.vip-modal-title{
  font-size:26px;
  line-height:1.15;
  color:#1e3a5f;
  font-weight:900;
  margin-bottom:8px;
}
.vip-modal-subtitle{
  color:#64748b;
  margin-bottom:18px;
  font-size:15px;
}
.vip-modal-field{margin-bottom:12px;}
.vip-modal-field label{
  display:block;
  margin-bottom:6px;
  font-weight:700;
  color:#334155;
}
.vip-modal-field input{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border:1px solid rgba(31,78,121,.18);
  border-radius:14px;
  padding:12px 14px;
  font-size:15px;
}
.vip-modal-actions{margin-top:14px;}
.vip-modal-note{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  font-size:14px;
}
.vip-modal-success{background:#ecfdf3;color:#157347;}
.vip-modal-error{background:#fff1f2;color:#b42318;}


/* Complete state: full-width result + premium agency contacts */
.vip-card.vip-complete{
  max-width:1120px;
  width:100%;
  margin:0 auto;
}
.vip-card.vip-complete > :not(#vip_result_anchor):not(#vip_complete_summary):not(.vip-side){display:none !important}
.vip-card.vip-complete #vip_result_anchor{display:block !important;width:100%;grid-column:1 / -1}
.vip-card.vip-complete #vip_result_anchor .vip-result{margin:0;width:100%;max-width:none}
.vip-card.vip-complete .vip-side{
  display:block !important;grid-column:1 / -1 !important;grid-row:auto !important;width:100%;
  margin-top:28px;position:static !important;
}
.vip-card.vip-complete .vip-side > :not(.vip-side-contact){display:none !important}
.vip-card.vip-complete .vip-side .vip-side-contact{
  display:block !important;width:100%;max-width:none;background:#fff;border:1px solid #e9eef3;
  border-radius:24px;padding:28px 32px;box-shadow:0 10px 30px rgba(16,24,40,.04)
}
.vip-card.vip-complete .vip-side .vip-side-title{
  font-size:24px;line-height:30px;font-weight:700;color:#101828;margin:0;text-transform:none;letter-spacing:0;
}
.vip-card.vip-complete .vip-side .vip-side-subtitle{
  margin:8px 0 20px;font-size:16px;line-height:24px;color:#475467;max-width:760px;
}
.vip-card.vip-complete .vip-side .vip-contact-list{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
}
.vip-card.vip-complete .vip-side .vip-contact-row{
  display:block;padding:18px 20px;border-radius:16px;background:#fcfcfd;border:1px solid #f2f4f7;
}
.vip-card.vip-complete .vip-side .vip-contact-label{
  display:block;font-size:13px;font-weight:600;color:#667085;margin-bottom:6px;
}
.vip-card.vip-complete .vip-side .vip-contact-row a,
.vip-card.vip-complete .vip-side .vip-contact-row .vip-contact-value,
.vip-card.vip-complete .vip-side .vip-contact-row .vip-contact-multi{
  font-size:17px;line-height:24px;font-weight:700;color:#101828;text-decoration:none;word-break:break-word;
}
.vip-card.vip-complete .vip-side .vip-contact-socials{
  margin-top:16px;padding:18px 20px;border-radius:16px;background:#fcfcfd;border:1px solid #f2f4f7;
}
.vip-card.vip-complete .vip-side .vip-contact-socials .vip-contact-label{margin-bottom:8px}
.vip-card.vip-complete .vip-side .vip-contact-socials a{color:#344054;text-decoration:none;font-weight:600}
#vip_complete_panel,.vip-card.vip-complete ~ #vip_complete_panel{display:none !important}
.vip-result-thanks-only{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.vip-result-thanks-only .vip-result-success{justify-content:center;width:100%;margin-bottom:0}
.vip-result-thanks-only .vip-result-head-premium h3{font-size:34px}
.vip-thanks-copy{max-width:760px;font-size:18px;line-height:1.6;color:#475467}
.vip-result-cta-single{width:100%;max-width:360px;margin-left:auto;margin-right:auto}
.vip-result-cta-single .vip-btn{width:100%}
@media (max-width: 767px){
  .vip-card.vip-complete{max-width:100%}
  .vip-card.vip-complete .vip-side .vip-side-contact{padding:22px}
  .vip-card.vip-complete .vip-side .vip-contact-list{grid-template-columns:1fr}
  .vip-thanks-copy{font-size:16px}
  .vip-result-thanks-only .vip-result-head-premium h3{font-size:26px}
}


/* === Final result alignment + CTA sizing fix on premium layout === */
.vip-card.vip-complete,
.vip-card.vip-complete #vip_result_anchor,
.vip-card.vip-complete .vip-side{min-width:0;}
.vip-card.vip-complete #vip_result_anchor .vip-result,
.vip-card.vip-complete .vip-side .vip-side-contact{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.vip-card.vip-complete #vip_result_anchor .vip-result{overflow:hidden;}

.vip-result-cta{
  flex-direction:row;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.vip-result-cta .vip-btn,
.vip-result-cta .vip-btn-blue,
.vip-result-cta .vip-btn-outline{
  flex:0 0 auto;
  width:auto;
  min-height:48px;
  height:48px;
  padding:0 22px;
  font-size:15px;
  line-height:1;
  border-radius:12px;
}
.vip-result-cta .vip-btn-blue{box-shadow:0 6px 18px rgba(16,24,40,.12);}
.vip-result-cta .vip-btn-outline{box-shadow:none;}

@media (max-width: 767px){
  .vip-result-cta{flex-direction:column;align-items:stretch;}
  .vip-result-cta .vip-btn,
  .vip-result-cta .vip-btn-blue,
  .vip-result-cta .vip-btn-outline{width:100%;}
}


/* === 1.3.72 Commercial premium balance for wizard steps === */
.vip-card{
  border-radius:24px;
  border:1px solid #e7ebf0;
  box-shadow:0 12px 34px rgba(16,24,40,.06);
  background:#fff;
}
.vip-hero{
  border-radius:24px;
  border:1px solid #e7ebf0;
  box-shadow:0 12px 34px rgba(16,24,40,.06);
  padding:18px 20px;
}
.vip-header h2,.vip-titlewrap h2{
  font-size:28px;
  line-height:1.18;
  font-weight:800;
  color:#101828;
  letter-spacing:-.02em;
}
.vip-header p,.vip-titlewrap p{
  font-size:16px;
  line-height:1.55;
  color:#475467;
}
.vip-stepper{margin:14px 0 10px}
.vip-stepper-track{height:8px;background:#eef2f6}
.vip-stepper-progress{background:linear-gradient(90deg,#101828,#344054)}
.vip-stepper-steps{margin-top:14px;gap:14px}
.vip-stepper-step{gap:8px;color:#667085}
.vip-stepper-step em{font-size:13px;font-weight:700;color:inherit}
.vip-stepper-step span{
  width:30px;height:30px;
  border-radius:999px;
  border:1px solid #d0d5dd;
  background:#fff;
  color:#344054;
  font-size:13px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.vip-stepper-step.is-active{color:#101828}
.vip-stepper-step.is-active span{
  background:#101828;
  color:#fff;
  border-color:#101828;
  box-shadow:0 6px 14px rgba(16,24,40,.18);
}
.vip-stepper-step.is-done{color:#101828}
.vip-stepper-step.is-done span{
  background:#ecfdf3;
  color:#16a34a;
  border-color:#b7ebc6;
  box-shadow:none;
}
.vip-step{
  margin-top:10px;
  border:1px solid #e7ebf0;
  border-radius:20px;
  background:#fff;
  padding:26px;
  box-shadow:0 8px 22px rgba(16,24,40,.035);
}
.vip-step-title,.vip-h3{
  font-size:20px;
  line-height:1.35;
  font-weight:800;
  color:#101828;
  margin:0 0 4px;
}
.vip-muted{
  font-size:14px;
  line-height:1.55;
  color:#667085;
}
.vip-divider{margin:18px 0;border-top:1px solid #eef2f6}
.vip-grid{gap:16px}
.vip-grid-2{gap:16px}
.vip-field label{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  color:#475467;
}
.vip-field small{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
  color:#667085;
}
.vip-field input,
.vip-field select,
.vip-field textarea{
  min-height:50px;
  width:100%;
  box-sizing:border-box;
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
  color:#101828;
  font-size:15px;
  line-height:1.4;
  padding:0 16px;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.vip-field textarea{
  min-height:112px;
  padding:14px 16px;
  resize:vertical;
}
.vip-field input::placeholder,
.vip-field textarea::placeholder{color:#98a2b3}
.vip-field input:focus,
.vip-field select:focus,
.vip-field textarea:focus{
  outline:none;
  border-color:#101828;
  box-shadow:0 0 0 4px rgba(16,24,40,.08);
}
.vip-field input:hover,
.vip-field select:hover,
.vip-field textarea:hover{border-color:#98a2b3}
.vip-progress{height:8px;margin:14px 0 6px;background:#eef2f6}
.vip-progress-bar{background:linear-gradient(90deg,#101828,#344054)}
.vip-progress-label{
  font-size:12px;
  font-weight:700;
  color:#667085;
  letter-spacing:.01em;
}
#vip_custom_fields_wrap{
  border:1px solid #e7ebf0;
  border-radius:18px;
  background:#fcfcfd;
  padding:18px;
}
.vip-check{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  margin:0;
  padding:12px 14px;
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.vip-check input{
  width:18px;
  height:18px;
  min-height:18px;
  margin:0;
  flex:0 0 18px;
  padding:0;
  accent-color:#101828;
  box-shadow:none;
}
.vip-check span{
  display:block;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
  color:#344054;
}
.vip-check:hover{
  border-color:#98a2b3;
  background:#fcfcfd;
}
.vip-check:has(input:checked){
  border-color:#101828;
  background:#f8fafc;
  box-shadow:0 0 0 3px rgba(16,24,40,.04);
}
.vip-privacy{
  border:1px solid #e7ebf0;
  border-radius:18px;
  background:#fcfcfd;
  padding:16px 18px;
}
.vip-privacy-title{
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  color:#344054;
  text-transform:uppercase;
}
.vip-privacy-desc{
  margin:4px 0 12px;
  font-size:13px;
  line-height:1.5;
  color:#667085;
}
.vip-step-actions,.vip-actions{margin-top:16px}
.vip-btn,
.vip-btn-primary,
.vip-btn-secondary{
  min-height:50px;
  padding:0 22px;
  border-radius:12px;
  font-size:15px;
  line-height:1;
  font-weight:700;
}
.vip-btn-primary{
  background:#101828;
  box-shadow:0 10px 22px rgba(16,24,40,.14);
}
.vip-btn-secondary{
  background:#fff;
  border:1px solid #d0d5dd;
  box-shadow:none;
}
.vip-btn-primary:hover,.vip-btn-secondary:hover{transform:translateY(-1px)}
.vip-loading{right:14px;top:44px}
.vip-captcha-field input{max-width:220px}
.vip-modal-card{max-width:480px}
.vip-modal-field input{padding:11px 13px;min-height:46px;border-radius:12px}
@media (max-width: 767px){
  .vip-card{border-radius:20px}
  .vip-hero{padding:16px}
  .vip-header h2,.vip-titlewrap h2{font-size:24px}
  .vip-header p,.vip-titlewrap p{font-size:15px}
  .vip-step{padding:18px;border-radius:18px}
  .vip-grid,.vip-grid-2{gap:14px}
  .vip-stepper-steps{gap:10px}
  .vip-stepper-step em{font-size:12px}
}


/* =========================
   ULTRA PREMIUM REFINEMENT v1.3.73
   ========================= */
:root{
  --vip-ink:#101828;
  --vip-text:#344054;
  --vip-muted:#667085;
  --vip-border:#e7ebf0;
  --vip-border-strong:#d0d5dd;
  --vip-surface:#ffffff;
  --vip-surface-soft:#f8fafc;
}

/* Remove gold accents and gradients for a cleaner premium look */
.vip-wrap{
  background:linear-gradient(180deg,#f8fafc 0%,#f3f6f9 100%);
  border-radius:22px;
}
.vip-badge,
.vip-hero-eyebrow,
.vip-hero-kicker,
.vip-hero-badge,
.vip-linkbtn,
.vip-privacy-link{
  color:var(--vip-ink);
}
.vip-badge,
.vip-hero-eyebrow,
.vip-hero-badge,
.vip-pill{
  background:#fff;
  border-color:var(--vip-border);
  box-shadow:none;
}
.vip-result,
.vip-hero,
.vip-hero-inner,
.vip-kpi{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  border-color:var(--vip-border);
}
#vip_result_anchor .vip-result:before,
.vip-stepper-progress,
.vip-dot,
.vip-trust-dot{
  background:linear-gradient(180deg,#101828,#344054);
  box-shadow:none;
}
.vip-stepper-step span{
  border-color:var(--vip-border-strong);
  color:var(--vip-muted);
}
.vip-stepper-step.is-active span,
.vip-stepper-step.is-done span{
  border-color:var(--vip-ink);
}
.vip-stepper-step.is-done span{
  background:var(--vip-ink);
  color:#fff;
}

/* Tighter, more precise fields */
.vip-field label{
  color:var(--vip-text);
  margin-bottom:6px;
}
.vip-field input,.vip-field select,.vip-field textarea,
.vip-modal-field input{
  min-height:46px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--vip-border-strong);
  background:#fff;
  color:var(--vip-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.vip-field textarea{padding:12px 14px; min-height:100px;}
.vip-field input:hover,.vip-field select:hover,.vip-field textarea:hover,
.vip-modal-field input:hover{border-color:#98a2b3;}
.vip-field input:focus,.vip-field select:focus,.vip-field textarea:focus,
.vip-modal-field input:focus{
  border-color:var(--vip-ink);
  box-shadow:0 0 0 2px rgba(16,24,40,.06);
}

/* Better checkbox alignment */
.vip-check{
  min-height:46px;
  padding:10px 12px;
  align-items:center;
}
.vip-check span{line-height:1.3;}

/* Buttons: true optical centering */
.vip-btn,
.vip-btn-primary,
.vip-btn-secondary,
button[name="vip_submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  line-height:1;
  text-align:center;
  vertical-align:middle;
  box-sizing:border-box;
}
.vip-btn-primary{
  background:var(--vip-ink);
  box-shadow:0 10px 22px rgba(16,24,40,.12);
}
.vip-btn-secondary{
  background:#fff;
  border:1px solid var(--vip-border-strong);
}
.vip-btn-primary:hover,.vip-btn-secondary:hover,button[name="vip_submit"]:hover{
  transform:translateY(-1px);
}

/* Commercial premium but restrained cards */
.vip-card, .vip-side-card, .vip-analysis-box, .vip-complete-panel{
  box-shadow:0 14px 32px rgba(2,6,23,.07);
}
.vip-contact-panel, #vip_custom_fields_wrap, .vip-privacy{
  background:#fcfcfd;
  border-color:var(--vip-border);
}

/* Popup fields slightly narrower to avoid visual overflow */
.vip-modal-card{max-width:460px;}
.vip-modal-field{margin-bottom:12px;}
.vip-modal-field input, .vip-modal-field textarea, .vip-modal-field select{width:100%; box-sizing:border-box;}

/* Smooth, subtle transitions */
.vip-card,.vip-side-card,.vip-analysis-box,.vip-check,.vip-btn,.vip-field input,.vip-field select,.vip-field textarea{
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}

/* Keep final CTA groups aligned cleanly */
.vip-final-actions, .vip-complete-actions{align-items:flex-start;}


/* =========================
   v1.3.74 polish: tighter checks + refined agency sidebar
   ========================= */

/* Custom checkbox options: less vertical padding, label aligned on the same row */
#vip_custom_fields_wrap .vip-check{
  min-height:42px;
  padding:8px 12px;
  border-radius:11px;
  gap:9px;
  align-items:center;
}
#vip_custom_fields_wrap .vip-check input{
  width:16px;
  height:16px;
  min-height:16px;
  flex:0 0 16px;
}
#vip_custom_fields_wrap .vip-check span{
  display:inline-flex;
  align-items:center;
  font-size:13px;
  line-height:1.2;
  font-weight:600;
  color:#344054;
  margin:0;
}
#vip_custom_fields_wrap .vip-grid,
#vip_custom_fields_wrap .vip-grid-2{
  gap:12px;
}

/* Agency sidebar: better visual hierarchy and more balanced typography */
.vip-side-card{
  padding:20px 20px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  border:1px solid #e7ebf0;
  box-shadow:0 10px 24px rgba(16,24,40,.05);
}
.vip-side-title{
  margin:0 0 12px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#667085;
  font-weight:800;
}
.vip-kpi{
  padding:12px 14px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #e7ebf0;
}
.vip-kpi strong{
  font-size:20px;
  line-height:1.15;
  color:#101828;
  font-weight:800;
}
.vip-kpi span{
  font-size:11px;
  line-height:1.2;
  color:#667085;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.vip-summary-list{
  gap:10px;
  margin-top:12px;
}
.vip-summary-item{
  padding:10px 12px;
  border-radius:12px;
  background:#fcfcfd;
  border:1px solid #eef2f6;
  align-items:center;
}
.vip-summary-item em{
  font-size:12px;
  line-height:1.25;
  color:#667085;
  font-style:normal;
  font-weight:600;
}
.vip-summary-item b{
  font-size:14px;
  line-height:1.3;
  color:#101828;
  font-weight:700;
}
.vip-points{
  gap:8px;
  margin-top:12px;
}
.vip-point{
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:#fcfcfd;
  border:1px solid #eef2f6;
}
.vip-point h4{
  margin:0 0 3px;
  font-size:13px;
  line-height:1.25;
  color:#101828;
  font-weight:700;
}
.vip-point p{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:#667085;
}
.vip-contact-panel{
  background:#fcfcfd;
  border:1px solid #eef2f6;
  border-radius:14px;
  padding:14px 16px;
}
.vip-contact-row{
  padding:8px 0;
}
.vip-contact-label{
  font-size:11px;
  line-height:1.2;
  color:#667085;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.vip-contact-row a,
.vip-contact-row .vip-contact-value,
.vip-contact-row .vip-contact-multi{
  font-size:14px;
  line-height:1.4;
  color:#101828;
  font-weight:700;
}
.vip-contact-socials{
  margin-top:12px;
  font-size:12px;
  line-height:1.5;
  color:#667085;
}


/* =========================
   v1.3.75 refinement: aligned step 1 + tighter checks + premium sidebar
   ========================= */

/* Step 1 field alignment */
.vip-step-1 .vip-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.vip-step-1 .vip-grid > .vip-field{
  min-width:0;
}
.vip-step-1 .vip-grid > .vip-field .vip-loading{
  margin-bottom:0;
}
.vip-step-1 .vip-grid > .vip-field label{
  min-height:18px;
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:7px;
}
.vip-label-note{
  display:inline-block;
  font-size:11px;
  line-height:1;
  font-weight:700;
  color:#667085;
  letter-spacing:.01em;
}
.vip-zone-help{
  margin-top:5px;
  font-size:11px;
  line-height:1.35;
  color:#667085;
  max-width:100%;
}
@media (max-width: 979px){
  .vip-step-1 .vip-grid{grid-template-columns:1fr;}
  .vip-step-1 .vip-grid > .vip-field label{min-height:auto;}
}

/* Missing comune link: more aligned and polished */
.vip-missing{
  margin-top:10px;
  display:flex;
  align-items:center;
}
.vip-linkbtn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0;
  color:#344054;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.vip-linkbtn:hover{color:#101828; opacity:1;}
.vip-linkbtn-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#101828;
  flex:0 0 8px;
  opacity:.72;
}
.vip-missing .vip-linkbtn span:last-child{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Checkbox cards: top/bottom padding balanced, more space before "Seleziona" */
#vip_custom_fields_wrap .vip-check{
  min-height:40px;
  padding:7px 12px 6px;
  gap:12px;
  align-items:center;
}
#vip_custom_fields_wrap .vip-check input{
  margin-right:2px;
}
#vip_custom_fields_wrap .vip-check span{
  line-height:1.2;
  transform:translateY(-1px);
}

/* Agency sidebar: stronger type hierarchy and cleaner rhythm */
.vip-side-card{
  padding:22px 22px 20px;
}
.vip-side-summary .vip-side-title,
.vip-side-points .vip-side-title{
  font-size:10px;
  letter-spacing:.11em;
  margin-bottom:14px;
}
.vip-kpi{
  padding:14px 16px;
  border-radius:16px;
  margin-bottom:12px;
}
.vip-kpi strong{
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.02em;
}
.vip-kpi span{
  font-size:10px;
  letter-spacing:.08em;
}
.vip-summary-list{gap:8px; margin-top:0;}
.vip-summary-item{
  align-items:flex-start;
  padding:11px 12px;
  gap:10px;
}
.vip-summary-item b{
  font-size:11px;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#667085;
  font-weight:800;
}
.vip-summary-item em{
  font-size:14px;
  line-height:1.35;
  color:#101828;
  font-weight:700;
  text-align:right;
}
.vip-points{gap:8px; margin-top:0;}
.vip-point{
  padding:11px 12px;
  border-radius:14px;
  gap:11px;
}
.vip-dot{
  width:8px;
  height:8px;
  margin-top:7px;
  background:#101828;
  opacity:.75;
}
.vip-point h4{
  font-size:13px;
  line-height:1.2;
  color:#101828;
  font-weight:700;
}
.vip-point p{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:#667085;
}

/* Final agency contact card remains premium but slightly more balanced */
.vip-card.vip-complete .vip-side .vip-side-title{
  font-size:23px;
  line-height:1.25;
}
.vip-card.vip-complete .vip-side .vip-side-subtitle{
  font-size:15px;
  line-height:1.55;
}


/* =========================
   v1.3.76 - Step 1 smart three-column alignment
   ========================= */
@media (min-width: 980px){
  .vip-step-1 .vip-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field){
    display:grid;
    grid-template-columns:100px minmax(210px, 286px) minmax(125px, 180px);
    align-items:center;
    column-gap:8px;
    row-gap:0;
    max-width:100%;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) label{
    grid-column:1;
    min-height:46px;
    margin:0;
    padding:0;
    line-height:1.25;
    justify-content:flex-start;
    display:flex;
    align-items:center;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) select,
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) input{
    grid-column:2;
    margin:0;
    align-self:center;
  }

  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-searchbox,
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-missing,
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-zone-help{
    margin:0;
    align-self:center;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-loading{
    right:auto;
    left:calc(100px + min(286px, 100%) - 30px);
    top:50%;
    transform:translateY(-50%);
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-missing,
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-zone-help{
    grid-column:3;
    min-height:46px;
    display:flex;
    align-items:center;
    padding:0;
  }

  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-zone-help{
    line-height:1.35;
    max-width:180px;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-missing .vip-linkbtn{
    padding-top:0;
  }
  .vip-step-1 .vip-grid > .vip-address-field{
    margin-top:2px;
  }
}

.vip-step-1 .vip-grid > .vip-field:not(.vip-address-field){
  min-width:0;
}
.vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) select{
  min-width:0;
  min-height:46px;
}
.vip-zone-help{
  font-size:12px;
  line-height:1.45;
  color:#667085;
}
.vip-missing{
  margin-top:0;
}
.vip-linkbtn{
  gap:8px;
  font-size:12.5px;
  font-weight:700;
  color:#475467;
}
.vip-linkbtn-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  opacity:.62;
}
.vip-missing .vip-linkbtn span:last-child{
  text-decoration:none;
  border-bottom:1px solid rgba(71,84,103,.35);
  line-height:1.2;
  padding-bottom:1px;
}
.vip-linkbtn:hover{
  color:#101828;
}
.vip-linkbtn:hover .vip-linkbtn-dot{
  opacity:.82;
}

/* Custom checkbox cards: tighter and cleaner */
#vip_custom_fields_wrap .vip-check{
  min-height:38px;
  padding:6px 12px 5px;
  gap:14px;
}
#vip_custom_fields_wrap .vip-check input{
  margin-right:4px;
}
#vip_custom_fields_wrap .vip-check span{
  line-height:1.15;
  transform:none;
}

/* Sidebar agency card: more refined typography */
.vip-side-contact .vip-side-title{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#667085;
  margin-bottom:10px;
}
.vip-side-contact .vip-side-subtitle{
  font-size:14px;
  line-height:1.6;
  color:#475467;
  margin-bottom:16px;
}
.vip-contact-list{
  display:grid;
  gap:10px;
}
.vip-contact-row,
.vip-contact-socials{
  padding:11px 12px;
  border-radius:14px;
  background:rgba(15,23,42,.03);
  border:1px solid rgba(15,23,42,.06);
}
.vip-contact-label{
  display:block;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#667085;
  font-weight:800;
  margin-bottom:6px;
}
.vip-contact-row a,
.vip-contact-value,
.vip-contact-multi{
  display:block;
  font-size:14px;
  line-height:1.5;
  color:#101828;
  font-weight:700;
  text-decoration:none;
}
.vip-contact-row a:hover,
.vip-contact-multi a:hover{
  color:#344054;
}
.vip-contact-multi{
  font-size:13px;
  font-weight:600;
  color:#475467;
}
.vip-contact-multi a{
  color:#475467;
  text-decoration:none;
  border-bottom:1px solid rgba(71,84,103,.28);
}

@media (max-width: 979px){
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field){
    display:block;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-missing,
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-zone-help{
    margin-top:7px;
  }
}


/* =========================
   v1.3.79 - Step 1 alignment hard-fix (without changing field names/logic)
   ========================= */
@media (min-width: 980px){
  .vip-step-1 .vip-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field){
    display:grid !important;
    grid-template-columns:92px minmax(220px, 280px) minmax(132px, 168px) !important;
    align-items:center !important;
    column-gap:10px !important;
    row-gap:0 !important;
    max-width:100% !important;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) label{
    grid-column:1 !important;
    min-height:46px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    line-height:1.2 !important;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-searchbox{
    display:none !important;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) select,
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) input{
    grid-column:2 !important;
    align-self:center !important;
    margin:0 !important;
    min-height:46px !important;
    height:46px !important;
    width:100% !important;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-missing,
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-zone-help{
    grid-column:3 !important;
    min-height:46px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-zone-help{
    max-width:168px !important;
    font-size:12px !important;
    line-height:1.3 !important;
  }
  .vip-step-1 .vip-grid > .vip-field:not(.vip-address-field) .vip-loading{
    top:50% !important;
    left:calc(92px + 280px - 28px) !important;
    right:auto !important;
    transform:translateY(-50%) !important;
  }
}


/* === 1.3.83 Conversion balanced === */
.vip-result-note-copy{
  margin:12px auto 0;
  max-width:680px;
  font-size:14px;
  line-height:1.65;
  color:#475467;
  text-align:center;
}
.vip-social-proof,
.vip-trust-line{
  flex:0 0 100%;
  text-align:center;
}
.vip-social-proof{
  margin:0 0 2px;
  font-size:14px;
  line-height:1.55;
  color:#667085;
}
.vip-trust-line{
  margin-top:2px;
  font-size:13px;
  line-height:1.5;
  color:#98A2B3;
}
.vip-thanks-subcopy{
  display:inline-block;
  margin-top:8px;
  color:#475467;
  font-size:14px;
  line-height:1.55;
}
.vip-modal-field select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border:1px solid rgba(16,24,40,.10);
  border-radius:12px;
  padding:11px 13px;
  min-height:46px;
  background:#fff;
  color:#101828;
  font-size:15px;
}
.vip-modal-field select:hover{border-color:#98a2b3;}
.vip-modal-field select:focus{
  outline:none;
  border-color:#101828;
  box-shadow:0 0 0 2px rgba(16,24,40,.06);
}
@media (max-width: 767px){
  .vip-result-note-copy{max-width:none;}
}


/* =========================
   v1.3.89 frontend polish: hybrid A+B
   ========================= */

/* Make the journey feel a bit more premium without becoming aggressive */
.vip-card,
.vip-side-card,
.vip-analysis-box,
.vip-check,
.vip-btn,
.vip-field input,
.vip-field select,
.vip-field textarea,
.vip-modal-card,
#vip_result_anchor .vip-result,
.vip-summary-row,
.vip-contact-panel,
.vip-point,
.vip-summary-item{
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease, background-color .22s ease, opacity .22s ease;
}

/* Stepper: cleaner, more premium, no warm/gold feel */
.vip-stepper-track{background:rgba(15,23,42,.07) !important;}
.vip-stepper-progress{background:#101828 !important;}
.vip-stepper-step{color:#667085;}
.vip-stepper-step span{
  border-color:#d0d5dd;
  color:#667085;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.vip-stepper-step.is-active{color:#101828;}
.vip-stepper-step.is-active span{border-color:#101828 !important;color:#101828;box-shadow:0 0 0 3px rgba(16,24,40,.05);}
.vip-stepper-step.is-done span{background:#101828 !important;border-color:#101828 !important;color:#fff;}

/* Form cards and headings */
.vip-card{
  border-radius:22px;
  box-shadow:0 12px 34px rgba(16,24,40,.07);
}
.vip-card h1,
.vip-card h2,
.vip-card h3,
.vip-step-title{
  letter-spacing:-.01em;
}
.vip-step-title{font-size:19px;color:#101828;margin-bottom:4px;}
.vip-step-subtitle,
.vip-card p,
.vip-side-subtitle{color:#667085;}

/* Fields: cleaner, a bit tighter, more software-like */
.vip-field label{color:#475467;font-weight:600;}
.vip-field input,
.vip-field select,
.vip-field textarea,
.vip-modal-field input,
.vip-modal-field select,
.vip-modal-field textarea{
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
  color:#101828;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.vip-field input,
.vip-field select,
.vip-modal-field input,
.vip-modal-field select{min-height:48px;}
.vip-field textarea,
.vip-modal-field textarea{min-height:120px;}
.vip-field input:focus,
.vip-field select:focus,
.vip-field textarea:focus,
.vip-modal-field input:focus,
.vip-modal-field select:focus,
.vip-modal-field textarea:focus{
  border-color:#101828;
  box-shadow:0 0 0 3px rgba(16,24,40,.06);
  outline:none;
}
.vip-field input:hover,
.vip-field select:hover,
.vip-field textarea:hover,
.vip-modal-field input:hover,
.vip-modal-field select:hover,
.vip-modal-field textarea:hover{border-color:#98a2b3;}

/* CTA: slightly stronger but still elegant */
.vip-btn-blue,
button[name="vip_submit"],
.vip-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  box-shadow:0 8px 20px rgba(16,24,40,.12);
}
.vip-btn-blue:hover,
button[name="vip_submit"]:hover,
.vip-btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(16,24,40,.16);
}
.vip-btn-outline,
.vip-btn-secondary{
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.vip-btn-outline:hover,
.vip-btn-secondary:hover{
  border-color:#98a2b3;
  background:#fff;
}

/* Final result: a touch more hero */
.vip-result-premium{
  border-radius:26px;
  box-shadow:0 18px 40px rgba(16,24,40,.08);
}
.vip-result-head-premium h3{font-size:32px;}
.vip-result-premium .vip-euro{font-size:52px;letter-spacing:-.025em;}
.vip-price-kicker{margin-bottom:16px;}
.vip-note-premium{max-width:760px;}
.vip-result-divider{margin:34px 0 30px;}
.vip-summary-row:hover,
.vip-summary-item:hover,
.vip-point:hover,
.vip-contact-panel:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(16,24,40,.05);}

/* Agency sidebar: more balanced hierarchy */
.vip-side-card{
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  border:1px solid #e8edf2;
  box-shadow:0 12px 26px rgba(16,24,40,.06);
}
.vip-side-title{
  font-size:10px;
  line-height:1.2;
  letter-spacing:.12em;
  color:#667085;
  font-weight:800;
}
.vip-kpi{
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #edf1f5;
}
.vip-kpi strong{font-size:24px;letter-spacing:-.03em;}
.vip-kpi span{font-size:10px;letter-spacing:.09em;}
.vip-summary-item,
.vip-point,
.vip-contact-panel{
  background:#fff;
  border:1px solid #eef2f6;
}
.vip-contact-label{font-size:10px;letter-spacing:.08em;}
.vip-contact-row a,
.vip-contact-row .vip-contact-value,
.vip-contact-row .vip-contact-multi{font-size:15px;line-height:1.45;}

/* Modal keeps the same visual language */
.vip-modal-card{
  border:1px solid #eef2f6;
  box-shadow:0 28px 70px rgba(15,23,42,.22);
}
.vip-modal-title{letter-spacing:-.01em;color:#101828;}

/* Mobile tune */
@media (max-width: 767px){
  .vip-result-head-premium h3{font-size:26px;}
  .vip-result-premium .vip-euro{font-size:38px;}
  .vip-card{border-radius:18px;}
  .vip-side-card{border-radius:18px;}
}


/* v1.3.90b: stepper + checkbox alignment fix */
.vip-stepper-step.is-active span{
  background:#101828 !important;
  border-color:#101828 !important;
  color:#fff !important;
  box-shadow:0 0 0 3px rgba(16,24,40,.05);
}
.vip-stepper-step.is-done span{
  background:#101828 !important;
  border-color:#101828 !important;
  color:#fff !important;
}
@media (max-width: 767px){
  .vip-stepper,
  .vip-stepper-mobile{display:none !important;}
}
#vip_custom_fields_wrap .vip-check{
  min-height:42px !important;
  padding:8px 12px !important;
  gap:10px !important;
  align-items:center !important;
}
#vip_custom_fields_wrap .vip-check input{
  width:16px !important;
  height:16px !important;
  min-height:16px !important;
  margin:0 !important;
  flex:0 0 16px !important;
}
#vip_custom_fields_wrap .vip-check span{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1.2 !important;
  transform:none !important;
  margin:0 !important;
}


/* v1.3.90c: reliable desktop stepper + balanced checkbox cards */
.vip-stepper-step span{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;}
.vip-stepper-step.is-active span,.vip-stepper-step.is-done span{background:#101828 !important;border-color:#101828 !important;color:#fff !important;box-shadow:none !important;}
#vip_custom_fields_wrap .vip-check{min-height:44px !important;padding:8px 12px !important;display:flex !important;align-items:center !important;gap:12px !important;box-sizing:border-box !important;}
#vip_custom_fields_wrap .vip-check input{margin:0 4px 0 0 !important;width:16px !important;height:16px !important;flex:0 0 16px !important;align-self:center !important;transform:translateY(1px) !important;}
#vip_custom_fields_wrap .vip-check span{display:inline-flex !important;align-items:center !important;line-height:1.2 !important;margin:0 !important;transform:translateY(1px) !important;}
@media (max-width: 767px){.vip-stepper,.vip-stepper-mobile{display:none !important;}}
