/* MSP Advisory – STP Readiness Check
   All rules are scoped under .mspa-stp so the app can't leak into (or be broken by) the theme.
   Colours and fonts read the Elementor kit's global variables first, with brand fallbacks. */

.mspa-stp{
  --s-magenta:var(--msp-magenta,#EB008B);
  --s-magenta-dark:var(--msp-magenta-dark,#8B008B);
  --s-ink:var(--msp-ink,#1C1420);
  --s-grey:var(--msp-grey,#4D4D4F);
  --s-tint:var(--msp-tint,#F9EFF9);
  --s-rule:var(--msp-rule,#D9A8D9);
  --s-light:var(--msp-light,#F5F5F5);
  --s-border:#E6DDE6;
  --s-red:#B42318; --s-red-bg:#FDECEA;
  --s-amber:#9A6200; --s-amber-bg:#FDF3E1;
  --s-green:#1E7A46; --s-green-bg:#E7F5ED;
  --s-font-head:var(--msp-font-heading,"Mulish"),"Mulish","Segoe UI",Arial,sans-serif;
  --s-font-body:var(--msp-font-body,"Open Sans"),"Open Sans","Segoe UI",Arial,sans-serif;
  font-family:var(--s-font-body);
  color:var(--s-ink);
  line-height:1.6;
  max-width:880px;
  margin:0 auto;
  scroll-margin-top:110px;
  text-align:left;
}
.mspa-stp *,.mspa-stp *::before,.mspa-stp *::after{box-sizing:border-box;}
.mspa-stp a{color:var(--s-magenta-dark);text-decoration:underline;text-underline-offset:2px;}
.mspa-stp p{margin:0 0 14px;font-size:15px;color:var(--s-ink);}
.mspa-stp .ms-muted{color:var(--s-grey);font-size:13.5px;}
.mspa-stp h2,.mspa-stp h3,.mspa-stp h4{font-family:var(--s-font-head);color:var(--s-ink);line-height:1.25;}
.mspa-stp .ms-title{font-size:24px;font-weight:800;margin:0 0 12px;letter-spacing:-0.01em;}
.mspa-stp .ms-title.sm{font-size:20px;}
.mspa-stp .ms-kicker{display:block;font-family:var(--s-font-head);font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--s-magenta);margin:0 0 6px;}

/* When placed in an Elementor flex container, make the widget holding the app take the full width
   (a flex row would otherwise shrink it to nothing). */
.elementor-widget:has(.mspa-stp){width:100%;max-width:100%;flex:1 1 100%;align-self:stretch;}

/* Card */
.mspa-stp .ms-card{background:#fff;border:1px solid var(--s-border);border-top:4px solid var(--s-magenta);border-radius:4px;padding:36px;margin-top:24px;box-shadow:0 1px 2px rgba(28,20,32,.04);}
@media (max-width:600px){.mspa-stp .ms-card{padding:24px 20px;}}

.mspa-stp .ms-note{background:var(--s-tint);border-left:4px solid var(--s-magenta);border-radius:2px;padding:12px 16px;font-size:13.5px;color:var(--s-ink);margin:0 0 18px;}
.mspa-stp .ms-anon-note{background:var(--s-light);border:1px dashed var(--s-rule);border-radius:4px;padding:12px 16px;font-size:13.5px;color:var(--s-grey);margin-top:10px;}
.mspa-stp ul.ms-points{margin:0 0 16px;padding-left:20px;}
.mspa-stp ul.ms-points li{font-size:14.5px;margin-bottom:8px;}

.mspa-stp .ms-dims-label{margin:6px 0 6px;font-size:14.5px;}
.mspa-stp ul.ms-dims{margin:0 0 16px;padding-left:20px;columns:2;column-gap:28px;}
.mspa-stp ul.ms-dims li{font-size:14.5px;margin:0 0 4px;break-inside:avoid;}
@media (max-width:600px){.mspa-stp ul.ms-dims{columns:1;}}

.mspa-stp .ms-promo{background:#fff;border:2px solid var(--s-magenta);border-radius:4px;padding:14px 18px;margin:0 0 18px;text-align:left;}
.mspa-stp .ms-promo p{margin:0 0 6px;font-size:14.5px;color:var(--s-ink);}
.mspa-stp .ms-promo p:last-child{margin-bottom:0;}
.mspa-stp .ms-promo strong{color:var(--s-magenta-dark);}
.mspa-stp .ms-promo .ms-promo-meta{font-size:12.5px;color:var(--s-grey);}
.mspa-stp .ms-cta .ms-promo{margin:0 auto 20px;max-width:620px;}
.mspa-stp .ms-cta .ms-promo p{color:var(--s-ink);margin:0 0 6px;max-width:none;font-size:14.5px;}
.mspa-stp .ms-cta .ms-promo p.ms-promo-meta{color:var(--s-grey);font-size:12.5px;margin:0;}

/* Buttons */
.mspa-stp .ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--s-font-head);background:var(--s-magenta);color:#fff;border:2px solid var(--s-magenta);padding:12px 26px;border-radius:2px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2;transition:background .15s,border-color .15s,color .15s;}
.mspa-stp .ms-btn:hover,.mspa-stp .ms-btn:focus-visible{background:var(--s-magenta-dark);border-color:var(--s-magenta-dark);color:#fff;}
.mspa-stp .ms-btn:focus-visible{outline:3px solid var(--s-rule);outline-offset:2px;}
.mspa-stp .ms-btn:disabled{background:#CFC6CF;border-color:#CFC6CF;cursor:not-allowed;}
.mspa-stp .ms-btn.secondary{background:#fff;color:var(--s-magenta-dark);border-color:var(--s-magenta-dark);}
.mspa-stp .ms-btn.secondary:hover{background:var(--s-tint);color:var(--s-magenta-dark);}
.mspa-stp .ms-btn.light{background:#fff;color:var(--s-magenta-dark);border-color:#fff;}
.mspa-stp .ms-btn.light:hover{background:var(--s-tint);border-color:var(--s-tint);}
.mspa-stp .ms-btn.outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.8);}
.mspa-stp .ms-btn.outline:hover{background:rgba(255,255,255,.12);}
.mspa-stp .ms-btn[aria-busy="true"]{opacity:.7;cursor:progress;}
.mspa-stp .ms-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap;}

/* Progress */
.mspa-stp .ms-progress{margin-top:8px;}
.mspa-stp .ms-progress-track{background:var(--s-tint);height:6px;border-radius:3px;overflow:hidden;}
.mspa-stp .ms-progress-fill{background:linear-gradient(90deg,var(--s-magenta-dark),var(--s-magenta));height:100%;transition:width .3s ease;}
.mspa-stp .ms-progress-label{font-size:12.5px;color:var(--s-grey);margin-top:6px;display:flex;justify-content:space-between;gap:12px;}

/* Options */
.mspa-stp .ms-options{display:grid;gap:10px;margin:0;padding:0;border:0;}
.mspa-stp .ms-option{text-transform:none;letter-spacing:normal;white-space:normal;height:auto;min-height:0;box-shadow:none;text-decoration:none;display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--s-border);border-radius:4px;padding:14px 16px;cursor:pointer;font-family:var(--s-font-body);font-size:15px;color:var(--s-ink);line-height:1.5;transition:border-color .15s,background .15s;}
.mspa-stp .ms-option:hover,.mspa-stp .ms-option:focus{border-color:var(--s-magenta);background:var(--s-tint);color:var(--s-ink);}
.mspa-stp .ms-option:focus-visible{outline:3px solid var(--s-rule);outline-offset:1px;}
.mspa-stp .ms-option[aria-checked="true"],.mspa-stp .ms-option[aria-checked="true"]:hover{border-color:var(--s-magenta-dark);background:var(--s-tint);color:var(--s-ink);font-weight:600;}
.mspa-stp .ms-option .ms-num{flex:0 0 22px;height:22px;border-radius:50%;border:1.5px solid var(--s-rule);text-align:center;line-height:19px;font-size:11.5px;color:var(--s-grey);margin-top:1px;font-weight:700;}
.mspa-stp .ms-option[aria-checked="true"] .ms-num{border-color:var(--s-magenta-dark);background:var(--s-magenta-dark);color:#fff;}

/* Bands */
.mspa-stp .ms-badge{display:inline-block;padding:5px 14px;border-radius:20px;font-size:12.5px;font-weight:700;margin-bottom:14px;}
.mspa-stp .band-low{background:var(--s-red-bg);color:var(--s-red);}
.mspa-stp .band-mid{background:var(--s-amber-bg);color:var(--s-amber);}
.mspa-stp .band-high{background:var(--s-green-bg);color:var(--s-green);}
.mspa-stp .ms-legend{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px;}
.mspa-stp .ms-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--s-grey);padding:4px 10px;border-radius:20px;background:var(--s-light);border:1px solid var(--s-border);}
.mspa-stp .ms-chip i{width:8px;height:8px;border-radius:50%;display:inline-block;}
.mspa-stp .ms-chip.low i{background:var(--s-red);} .mspa-stp .ms-chip.mid i{background:var(--s-amber);} .mspa-stp .ms-chip.high i{background:var(--s-green);}

/* Form */
.mspa-stp .ms-field{margin-bottom:16px;}
.mspa-stp .ms-label{display:block;font-family:var(--s-font-head);font-size:13.5px;font-weight:700;color:var(--s-ink);margin-bottom:6px;}
.mspa-stp .ms-opt{font-weight:400;color:var(--s-grey);}
.mspa-stp input[type="text"],.mspa-stp input[type="email"],.mspa-stp select{width:100%;padding:11px 12px;border:1.5px solid var(--s-border);border-radius:2px;font-size:15px;font-family:var(--s-font-body);color:var(--s-ink);background:#fff;min-height:46px;}
.mspa-stp input:focus,.mspa-stp select:focus{outline:none;border-color:var(--s-magenta);box-shadow:0 0 0 3px rgba(235,0,139,.15);}
.mspa-stp .ms-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:600px){.mspa-stp .ms-two{grid-template-columns:1fr;}}
.mspa-stp .ms-section{font-family:var(--s-font-head);font-size:15px;font-weight:800;color:var(--s-ink);margin:26px 0 10px;padding-top:18px;border-top:1px solid var(--s-border);}
.mspa-stp .ms-section.first{border-top:none;padding-top:0;margin-top:6px;}
.mspa-stp .ms-radio,.mspa-stp .ms-checks{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;}
.mspa-stp .ms-radio label,.mspa-stp .ms-checks label,.mspa-stp .ms-check{display:inline-flex;align-items:center;gap:8px;font-weight:400;font-size:14.5px;color:var(--s-ink);cursor:pointer;margin:0;}
.mspa-stp .ms-check{align-items:flex-start;}
.mspa-stp input[type="radio"],.mspa-stp input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:var(--s-magenta-dark);flex:0 0 auto;}
.mspa-stp .ms-check input{margin-top:3px;}
.mspa-stp .ms-error{color:var(--s-red);font-size:13.5px;margin:4px 0 0;display:none;}
.mspa-stp .ms-error.show{display:block;}
.mspa-stp .ms-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;}

/* Results */
.mspa-stp .ms-overall{text-align:center;padding:26px 20px;background:var(--s-tint);border-radius:4px;margin-bottom:26px;}
.mspa-stp .ms-overall .ms-band-name{font-family:var(--s-font-head);font-size:30px;font-weight:800;color:var(--s-magenta-dark);margin-bottom:4px;line-height:1.2;}
.mspa-stp .ms-overall .ms-band-score{font-size:13.5px;color:var(--s-grey);}
.mspa-stp .ms-overall p{max-width:580px;margin:12px auto 0;}
.mspa-stp .ms-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;}
@media (max-width:720px){.mspa-stp .ms-results-grid{grid-template-columns:1fr;}}
.mspa-stp .ms-chart svg{overflow:visible;width:100%;height:auto;display:block;margin:0 auto;}
.mspa-stp .ms-h3{font-family:var(--s-font-head);font-size:13px;font-weight:800;color:var(--s-magenta-dark);text-transform:uppercase;letter-spacing:0.08em;margin:0 0 8px;}
.mspa-stp .ms-axis-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--s-border);font-size:14.5px;}
.mspa-stp .ms-axis-row:last-child{border-bottom:none;}
.mspa-stp .ms-pill{min-width:46px;text-align:center;padding:3px 8px;border-radius:20px;font-weight:700;font-size:13px;}
.mspa-stp .ms-priority{border:1px solid var(--s-border);border-left:5px solid var(--s-red);border-radius:4px;padding:18px 20px;margin-bottom:16px;}
.mspa-stp .ms-priority.rank-2,.mspa-stp .ms-priority.rank-3{border-left-color:var(--s-amber);}
.mspa-stp .ms-priority h4,.mspa-stp .ms-strength h4{margin:0 0 6px;font-size:16.5px;font-weight:800;}
.mspa-stp .ms-offer{display:inline-flex;align-items:center;gap:6px;font-family:var(--s-font-head);font-size:13px;font-weight:700;color:var(--s-magenta-dark);text-decoration:none!important;margin-top:4px;}
.mspa-stp .ms-offer:hover{color:var(--s-magenta);}
.mspa-stp .ms-strength{border:1px solid var(--s-border);border-left:5px solid var(--s-green);border-radius:4px;padding:14px 18px;margin-bottom:12px;}
.mspa-stp .ms-strength p{margin:0;font-size:14.5px;}

/* CTA */
.mspa-stp .ms-cta{background:linear-gradient(100deg,var(--s-ink) 0%,#3a1240 55%,var(--s-magenta-dark) 100%);color:#fff;border-radius:4px;padding:32px;margin-top:28px;text-align:center;}
.mspa-stp .ms-cta h3{color:#fff;margin:0 0 8px;font-size:22px;font-weight:800;}
.mspa-stp .ms-cta p{color:rgba(255,255,255,.88);margin:0 auto 20px;font-size:15px;max-width:620px;}
.mspa-stp .ms-cta a:not(.ms-btn){color:#fff;}
.mspa-stp .ms-cta.soft{background:var(--s-tint);color:var(--s-ink);}
.mspa-stp .ms-cta.soft h3{color:var(--s-ink);}
.mspa-stp .ms-cta.soft p{color:var(--s-grey);}
.mspa-stp .ms-cta.soft a:not(.ms-btn){color:var(--s-magenta-dark);}
.mspa-stp .ms-cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.mspa-stp .ms-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* Print / Save as PDF: only the copy of the results in #mspa-stp-print is printed */
#mspa-stp-print{display:none;}
@media print{
  @page{size:A4;margin:12mm;}
  html,body{background:#fff!important;}
  body.mspa-stp-printing > *:not(#mspa-stp-print){display:none!important;}
  body.mspa-stp-printing{margin:0!important;padding:0!important;}
  #mspa-stp-print{display:block!important;position:static;max-width:none;width:100%;margin:0;}
  #mspa-stp-print .no-print{display:none!important;}
  #mspa-stp-print .ms-card{border:none;border-top:3px solid var(--s-magenta);box-shadow:none;padding:10px 0 4px;margin-top:14px;break-inside:auto;}
  #mspa-stp-print .ms-card:first-child{margin-top:0;}
  #mspa-stp-print .ms-results-grid{grid-template-columns:1fr 1fr;gap:20px;}
  #mspa-stp-print .ms-overall,#mspa-stp-print .ms-chart,#mspa-stp-print .ms-priority,#mspa-stp-print .ms-strength,#mspa-stp-print .ms-axis-row,#mspa-stp-print h3{break-inside:avoid;}
  #mspa-stp-print h3,#mspa-stp-print .ms-h3{break-after:avoid;}
  #mspa-stp-print .ms-print-head{display:block!important;margin-bottom:6px;}
  #mspa-stp-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}
.mspa-stp .ms-print-head{display:none;font-family:var(--s-font-head);font-weight:800;font-size:18px;color:var(--s-magenta-dark);}
