/* ===========================================================
   Marriage Breakthrough — Strategy Call form (front-end)
   ALL selectors are scoped to .scl-wrap to prevent the
   generic class names (.form-shell, .section, .field, .btn,
   .pill, .stepper, etc.) from clashing with the host theme.
   =========================================================== */

.scl-wrap{
  --scl-red-900:#6E0F1F;
  --scl-red-700:#9E1B2E;
  --scl-red-600:#B31F35;
  --scl-red-50:#FBEEF0;
  --scl-ink-900:#1A1A1A;
  --scl-ink-700:#3A3A3A;
  --scl-ink-500:#6B6B6B;
  --scl-ink-300:#C9C9C9;
  --scl-line:#E5E5E5;
  --scl-card:#FFFFFF;
  --scl-success:#1F8A55;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--scl-ink-900);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.scl-wrap *,.scl-wrap *::before,.scl-wrap *::after{box-sizing:border-box;}
.scl-wrap h1,.scl-wrap h2,.scl-wrap h3,.scl-wrap h4{font-family:'Playfair Display',Georgia,serif;font-weight:700;letter-spacing:-.01em;margin:0;}
.scl-wrap p{margin:0;}
.scl-wrap a{color:var(--scl-red-700);text-decoration:none;}
.scl-wrap a:hover{text-decoration:underline;}
.scl-wrap .symbol-text{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}

/* ---------- Form shell ---------- */
.scl-wrap .form-shell{
  background:var(--scl-card);border-radius:18px;border:1px solid var(--scl-line);
  box-shadow:0 20px 50px rgba(20,20,20,.12);overflow:hidden;max-width:760px;margin:0 auto;
}
.scl-wrap .form-header{
  padding:26px 32px 22px;border-bottom:1px solid var(--scl-line);
  background:linear-gradient(180deg,#FAFAF8 0%,#FFFFFF 100%);
}
.scl-wrap .form-kicker{font-size:12px;letter-spacing:.2em;color:var(--scl-red-700);text-transform:uppercase;font-weight:700;}
.scl-wrap .form-header h2{font-size:26px;margin-top:8px;}
.scl-wrap .form-header p.sub{color:var(--scl-ink-500);font-size:14px;margin-top:6px;}

/* ---------- Stepper ---------- */
.scl-wrap .stepper{display:flex;gap:10px;margin-top:22px;align-items:stretch;}
.scl-wrap .stepper-item{flex:1;display:flex;flex-direction:column;gap:6px;text-align:left;background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--scl-ink-500);}
.scl-wrap .stepper-item .bar{height:4px;border-radius:2px;background:#ECECEC;transition:background .25s;}
.scl-wrap .stepper-item .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:inherit;line-height:1.2;}
.scl-wrap .stepper-item .num-line{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--scl-ink-500);font-weight:700;}
.scl-wrap .stepper-item.active{color:var(--scl-red-700);}
.scl-wrap .stepper-item.active .bar{background:var(--scl-red-700);}
.scl-wrap .stepper-item.done .bar{background:#B7CBB1;}
.scl-wrap .stepper-item.locked{cursor:not-allowed;opacity:.65;}
.scl-wrap .step-meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:12px;color:var(--scl-ink-500);letter-spacing:.06em;text-transform:uppercase;font-weight:600;}
.scl-wrap .step-meta .pct{color:var(--scl-red-700);}

.scl-wrap .form-body{padding:8px 32px 8px;}

/* ---------- Sections (steps) ---------- */
.scl-wrap .section{padding:26px 0;display:none;animation:sclFade .28s ease-out;}
.scl-wrap .section.active{display:block;}
@keyframes sclFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

.scl-wrap .section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.scl-wrap .section-num{width:26px;height:26px;border-radius:6px;background:var(--scl-red-50);color:var(--scl-red-700);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;}
.scl-wrap .section-title{font-family:'Playfair Display',serif;font-size:22px;color:var(--scl-ink-900);font-weight:700;}
.scl-wrap .section-sub{font-size:13px;color:var(--scl-ink-500);margin-top:2px;}

/* ---------- Field grids ---------- */
.scl-wrap .grid-2{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:16px;}
@media (max-width:560px){.scl-wrap .grid-2{grid-template-columns:1fr;}}

.scl-wrap .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.scl-wrap .field label,.scl-wrap .field .lbl{font-size:13px;font-weight:600;color:var(--scl-ink-900);display:flex;align-items:center;gap:6px;}
.scl-wrap .field .req{color:var(--scl-red-700);}
.scl-wrap .field .hint{font-size:12px;color:var(--scl-ink-500);font-weight:400;margin-top:-2px;}
.scl-wrap .field input[type="text"],
.scl-wrap .field input[type="email"],
.scl-wrap .field input[type="tel"],
.scl-wrap .field input[type="number"],
.scl-wrap .field textarea{
  width:100%;border:1px solid #D5D3CE;background:#FDFCFB;border-radius:8px;
  padding:12px 14px;font:inherit;color:var(--scl-ink-900);
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.scl-wrap .field input:focus,.scl-wrap .field textarea:focus{
  outline:none;border-color:var(--scl-red-700);background:#fff;
  box-shadow:0 0 0 3px rgba(158,27,46,.12);
}
.scl-wrap .field textarea{min-height:120px;resize:vertical;}
.scl-wrap .sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

/* Error state */
.scl-wrap .field.err input,.scl-wrap .field.err textarea{border-color:#C0392B;background:#FDF6F5;}
.scl-wrap .field .err-msg{display:none;font-size:12px;color:#C0392B;margin-top:4px;}
.scl-wrap .field.err .err-msg{display:block;}

/* ---------- Pills (radio buttons styled as pills) ---------- */
.scl-wrap .pill-group{display:flex;flex-wrap:wrap;gap:8px;}
.scl-wrap .pill{position:relative;cursor:pointer;}
.scl-wrap .pill input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.scl-wrap .pill-inner{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #D5D3CE;border-radius:999px;background:#FDFCFB;font-size:14px;font-weight:500;color:var(--scl-ink-700);transition:all .15s;}
.scl-wrap .pill input:focus-visible + .pill-inner{box-shadow:0 0 0 3px rgba(158,27,46,.15);}
.scl-wrap .pill input:checked + .pill-inner{background:var(--scl-red-700);color:#fff;border-color:var(--scl-red-700);}
.scl-wrap .pill-inner::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid #B5B2AC;background:#fff;transition:all .15s;}
.scl-wrap .pill input:checked + .pill-inner::before{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 3px var(--scl-red-700);}

/* ---------- Stack cards (radios) ---------- */
.scl-wrap .stack-group{display:flex;flex-direction:column;gap:8px;}
.scl-wrap .card-opt{position:relative;cursor:pointer;border:1px solid #D5D3CE;border-radius:10px;padding:12px 14px 12px 42px;background:#FDFCFB;transition:all .15s;font-size:14px;color:var(--scl-ink-700);}
.scl-wrap .card-opt input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.scl-wrap .card-opt::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;border:1.5px solid #B5B2AC;background:#fff;}
.scl-wrap .card-opt:has(input:checked){border-color:var(--scl-red-700);background:var(--scl-red-50);color:var(--scl-ink-900);font-weight:500;}
.scl-wrap .card-opt:has(input:checked)::before{border-color:var(--scl-red-700);background:#fff;box-shadow:inset 0 0 0 4px var(--scl-red-700);}
.scl-wrap .card-opt:hover{border-color:#B39498;}
.scl-wrap .yesno{display:flex;gap:10px;}
.scl-wrap .yesno .card-opt{flex:1;text-align:center;font-weight:600;padding-left:42px;}

/* ---------- 1-10 Scale ---------- */
.scl-wrap .scale-group{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;max-width:520px;}
.scl-wrap .scale-btn{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border:1px solid #D5D3CE;border-radius:8px;cursor:pointer;font-weight:600;color:var(--scl-ink-700);background:#FDFCFB;transition:all .12s;font-size:14px;}
.scl-wrap .scale-btn input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.scl-wrap .scale-btn:hover{border-color:var(--scl-red-700);color:var(--scl-red-700);}
.scl-wrap .scale-btn:has(input:checked){background:var(--scl-red-700);color:#fff;border-color:var(--scl-red-700);}
.scl-wrap .scale-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--scl-ink-500);margin-top:8px;max-width:520px;letter-spacing:.02em;}

/* ---------- Sensitive / commit blocks ---------- */
.scl-wrap .sensitive{background:#FBF8F3;border:1px solid #ECE2D0;border-radius:10px;padding:16px 18px;}
.scl-wrap .sensitive .note{font-size:12px;color:var(--scl-ink-500);margin-bottom:10px;}
.scl-wrap .commit-box{background:linear-gradient(135deg,#FBEEF0 0%,#F7E0E4 100%);border:1px solid #ECC8CE;border-radius:12px;padding:18px 20px;}
.scl-wrap .commit-box .quote-sentence{font-family:'Playfair Display',serif;font-style:italic;color:var(--scl-red-900);font-size:16px;background:#fff;border:1px dashed #D9B6BB;border-radius:8px;padding:12px 14px;margin:12px 0;}

/* ---------- Reassure / caption ---------- */
.scl-wrap .submit-reassure{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--scl-ink-500);margin-top:10px;padding-top:10px;border-top:1px dashed var(--scl-line);}
.scl-wrap .submit-reassure span{display:inline-flex;align-items:center;gap:6px;}
.scl-wrap .submit-reassure svg{width:14px;height:14px;flex-shrink:0;color:var(--scl-success);}
.scl-wrap .caption{font-size:12px;color:var(--scl-ink-500);line-height:1.5;margin-top:8px;}

/* ---------- Step navigation ---------- */
.scl-wrap .step-nav{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:22px 32px 28px;background:linear-gradient(180deg,#FFFFFF 0%,#FAFAF8 100%);
  border-top:1px solid var(--scl-line);align-items:center;
}
.scl-wrap .btn{
  border:none;cursor:pointer;font:inherit;font-weight:600;font-size:15px;
  padding:14px 22px;border-radius:10px;transition:all .15s;display:inline-flex;align-items:center;gap:8px;
}
.scl-wrap .btn-secondary{background:#fff;color:var(--scl-ink-700);border:1px solid #D5D3CE;}
.scl-wrap .btn-secondary:hover{background:#F3F1EC;color:var(--scl-ink-900);}
.scl-wrap .btn-secondary[disabled]{opacity:.45;cursor:not-allowed;}
.scl-wrap .btn-primary{background:var(--scl-red-700);color:#fff;box-shadow:0 6px 14px rgba(158,27,46,.25);}
.scl-wrap .btn-primary:hover{background:var(--scl-red-900);}
.scl-wrap .btn-primary:active{transform:translateY(1px);}
.scl-wrap .btn-primary:disabled{opacity:.65;cursor:wait;}
.scl-wrap .btn-primary.final{padding:16px 26px;font-size:16px;}
.scl-wrap .step-nav .spacer{flex:1;}
.scl-wrap .step-count{font-size:12px;color:var(--scl-ink-500);letter-spacing:.06em;text-transform:uppercase;font-weight:600;}
.scl-wrap .step-count strong{color:var(--scl-red-700);font-weight:700;}

/* ---------- Success view ---------- */
.scl-wrap .success-view{display:none;padding:48px 40px;text-align:center;}
.scl-wrap .success-view.active{display:block;}
.scl-wrap .success-view .tick{width:72px;height:72px;border-radius:50%;background:var(--scl-success);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:40px;}
.scl-wrap .success-view h3{font-size:28px;margin-bottom:10px;}
.scl-wrap .success-view p{color:var(--scl-ink-700);max-width:420px;margin:0 auto 10px;font-size:15px;}

/* ---------- Form-level error banner ---------- */
.scl-wrap .form-error{background:#FDF6F5;border:1px solid #F0CEC9;color:#9E1B2E;padding:10px 14px;border-radius:8px;font-size:13px;margin:12px 0;}

/* ---------- Mobile ---------- */
@media (max-width:720px){
  .scl-wrap .stepper-item .lbl{display:none;}
  .scl-wrap .stepper-item .num-line{justify-content:center;}
  .scl-wrap .step-nav{padding:18px 20px 22px;}
  .scl-wrap .form-header,.scl-wrap .form-body{padding-left:20px;padding-right:20px;}
  .scl-wrap .btn{padding:12px 16px;font-size:14px;}
}
.error-view {
    /* inherits the same layout as .success-view; add only what differs */
}

.tick.error {
    background: #c0392b;          /* red */
    color: #fff;
}

/* Or if .tick uses border/colour rather than background, override accordingly: */
/*
.tick.error {
    border-color: #c0392b;
    color: #c0392b;
}
*/

/* ---------- Error view ---------- */
.scl-wrap .error-view{display:none;padding:48px 40px;text-align:center;}
.scl-wrap .error-view.active{display:block;}
.scl-wrap .error-view .tick{width:72px;height:72px;border-radius:50%;background:var(--scl-red-600);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:40px;}
.scl-wrap .error-view h3{font-size:28px;margin-bottom:10px;}
.scl-wrap .error-view p{color:var(--scl-ink-700);max-width:420px;margin:0 auto 10px;font-size:15px;}
