/* Scoped to #app — match site typography & colors (Webflow tokens) */
#app{
  --blue:var(--_primitives---blue--100,#428dff);
  --blue-l:#e9f2ff;
  --blue-m:var(--_primitives---blue--40,#a0c4f8);
  --blue-d:var(--_primitives---blue--70,#5495f2);
  --text:var(--color-scheme-1--text,#141414);
  --sub:var(--_primitives---neutrals--dark-grey,#6f6f6f);
  --hint:var(--_primitives---neutrals--grey-2,#999);
  --border:var(--_primitives---neutrals--grey,#cacaca);
  --surface:#fafafa;
  --white:var(--_primitives---neutrals--white,#fff);
  --yellow:var(--_primitives---brand--yellow,#fcbd49);
  --green:#16A34A;
  --green-l:#DCFCE7;
  font-family:var(--_typography---font-styles--body,"Opensans Variablefont Wdth Wght",Arial,sans-serif);
  color:var(--text);
  background:var(--surface);
}
#app,
#app *,
#app *::before,
#app *::after{
  box-sizing:border-box;
}

/* ── HERO ── */
.hero{
  background:var(--surface);
  padding:56px 24px 52px;
  text-align:center;
}
.hero-heading-wrap{
  margin-bottom:14px;
  line-height:1.2;
}
.hero .is-inline{position:relative;}
.hero .vector{
  width:100%;
  max-width:none;
  position:absolute;
  inset:118% 0% auto;
}
.hero-sub{
  font-size:1.125rem;
  color:var(--fd-grey,#8d8d8d);
  line-height:1.6;
  max-width:500px;
  margin:0 auto 32px;
}
.hero-stats{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  flex-wrap:wrap;
}
.hero-stat{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 24px;
  border-right:1px solid var(--border);
}
.hero-stat:last-child{border-right:none;}
.hero-stat-v{
  font-size:1.125rem;
  font-weight:700;
  color:var(--blue);
  letter-spacing:normal;
}
.hero-stat-l{
  font-size:1rem;
  color:var(--sub);
  font-weight:500;
}

/* ── MAIN ── */
.main{max-width:820px;margin:0 auto;padding:48px 24px 80px;}

/* ── STEP PANELS ── */
.review-us-form .ru-form-panel{display:none;}
.review-us-form .ru-form-panel.active{display:block;}
.review-us-form .ru-step-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-top:4px;
  margin-bottom:24px;
}
.step-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:inherit;
  font-size:1rem;
  font-weight:600;
  padding:.75rem 1.5rem;
  border-radius:14px;
  cursor:pointer;
  border:1px solid var(--border);
  background:var(--white);
  color:var(--sub);
  transition:all .27s;
}
.step-btn:hover{
  border-color:var(--blue-m);
  background:var(--blue-l);
  color:var(--text);
}
.step-btn-primary{
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
  border:1px solid #e9f2ff;
  color:var(--white);
  box-shadow:inset 0 -4px 8px #034bb780;
}
.step-btn-primary:hover{
  background-image:linear-gradient(45deg,var(--blue) 38%,var(--blue-m));
  border-color:#e9f2ff;
  color:var(--white);
}
.step-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.step-btn:disabled:hover{
  border-color:var(--border);
  background:var(--white);
  color:var(--sub);
}
.finput.error,.fselect.error,.ftextarea.error{
  border-color:#e23939 !important;
  box-shadow:0 0 0 3px rgba(226,57,57,.1);
}
.review-us-form .field-error{
  display:none;
  font-size:.875rem;
  font-weight:600;
  color:#e23939;
  margin-top:6px;
  line-height:1.4;
}
.review-us-form .exp-options.error,
.review-us-form #starsWrap.error,
.review-us-form .rec-options.error{
  outline:2px solid #e23939;
  border-radius:12px;
  padding:4px;
}
.review-us-form .ru-phone-field{
  display:flex;
  gap:10px;
  align-items:stretch;
  width:100%;
}
.review-us-form .ru-phone-code-wrap{
  flex:0 0 155px;
  min-width:155px;
}
.review-us-form .ru-phone-number-wrap{
  flex:1;
  min-width:0;
}
.review-us-form .ru-phone-code-wrap .select2-container{width:100% !important;}
.review-us-form .select2-container--default .select2-selection--single{
  height:2.75rem !important;
  min-height:2.75rem !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
  background-color:#f5f5f5 !important;
  display:flex !important;
  align-items:center !important;
}
.review-us-form .select2-container--default .select2-selection--single .select2-selection__rendered{
  display:flex !important;
  align-items:center !important;
  height:100% !important;
  line-height:1.6 !important;
  padding-left:.75rem !important;
  padding-right:28px !important;
  font-size:1rem !important;
  font-weight:400 !important;
  color:var(--text) !important;
}
.review-us-form .select2-container--default .select2-selection--single .select2-selection__rendered .country-option{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.review-us-form .select2-container--default .select2-selection--single .select2-selection__rendered .country-flag{
  width:18px;
  height:13px;
  object-fit:cover;
  flex-shrink:0;
  border-radius:2px;
}
.review-us-form .select2-container--default .select2-selection--single .select2-selection__rendered .country-code-text{
  font-size:1rem;
  font-weight:400;
  color:var(--text);
  line-height:1.6;
}
.review-us-form .select2-container--default .select2-selection--single .select2-selection__rendered .country-iso-text,
.review-us-form .select2-results__option .country-iso-text{
  font-size:1rem;
  font-weight:400;
  color:var(--text);
  line-height:1.6;
}
.review-us-form .select2-container--default .select2-selection--single .select2-selection__arrow{height:2.75rem !important;}
.review-us-form .select2-results__option .country-code-text{font-size:1rem;font-weight:400;}
.review-us-form .ru-phone-code-wrap.error .select2-container--default .select2-selection--single{
  border-color:#e23939 !important;
  box-shadow:0 0 0 3px rgba(226,57,57,.1) !important;
}

/* ── STEP PROGRESS ── */
.review-us-form .ru-steps-wrap{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:28px;
}
.review-us-form .ru-steps{display:flex !important;width:100%;}
.review-us-form .ru-step{
  flex:1;
  display:block !important;
  padding:14px 10px;
  text-align:center;
  border-right:1px solid var(--border);
  position:relative;
  transition:background .2s,color .2s;
  background:var(--white);
  cursor:default;
  min-height:56px;
}
.review-us-form .ru-step:last-child{border-right:none;}
.review-us-form .ru-step.done{background:var(--blue-l);cursor:pointer;}
.review-us-form .ru-step.active{
  background:var(--blue);
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
}
.review-us-form .ru-step-num{
  display:block !important;
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  margin:0 0 3px !important;
  padding:0 !important;
  box-shadow:none !important;
  border:none !important;
  background:transparent !important;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--hint);
  line-height:1.2;
}
.review-us-form .ru-step.done .ru-step-num{color:var(--blue);}
.review-us-form .ru-step.active .ru-step-num{color:rgba(255,255,255,.85);}
.review-us-form .ru-step-lbl{
  display:block;
  font-size:.875rem;
  font-weight:600;
  color:var(--sub);
  line-height:1.3;
}
.review-us-form .ru-step.done .ru-step-lbl{color:var(--text);}
.review-us-form .ru-step.active .ru-step-lbl{color:#fff;}
.review-us-form .ru-step.done::after{
  content:'✓';
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  font-size:.75rem;
  color:var(--blue);
  font-weight:700;
  line-height:1;
  background:none;
  border:none;
  width:auto;
  height:auto;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.review-us-form .ru-step.active::after,
.review-us-form .ru-step:not(.done):not(.active)::after{content:none;}

/* ── SECTION CARDS ── */
.sec-card{
  background:var(--white);
  border:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  border-radius:14px;
  padding:28px;
  margin-bottom:20px;
  box-shadow:0 4px 6px -2px #00000008;
}
.sec-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
.sec-num{
  width:30px;
  height:30px;
  border-radius:8px;
  background:var(--blue);
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
  color:#fff;
  font-family:var(--_typography---font-styles--body);
  font-size:.875rem;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.sec-title{
  font-family:var(--_typography---font-styles--heading,Shipporiantique,Arial,sans-serif);
  font-size:1.25rem;
  font-weight:400;
  color:var(--text);
  letter-spacing:normal;
  line-height:1.4;
}
.sec-sub{
  font-size:.875rem;
  color:var(--hint);
  margin-left:auto;
}

/* ── FORM ELEMENTS ── */
.review-us-form .frow{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
  width:100%;
}
.review-us-form .frow.full{grid-template-columns:1fr;}
.review-us-form .sec-card .frow:last-child{margin-bottom:0;}
.review-us-form .fgroup{
  display:flex !important;
  flex-direction:column;
  min-width:0;
  width:100%;
}
.review-us-form .finput,
.review-us-form .fselect,
.review-us-form .ftextarea{
  width:100% !important;
  max-width:100%;
  box-sizing:border-box;
}
.flabel{
  font-size:1rem;
  font-weight:600;
  color:var(--text);
  margin-bottom:.75rem;
  letter-spacing:normal;
}
.flabel .req{color:var(--blue);}

.finput,.fselect,.ftextarea{
  width:100%;
  border:1px solid transparent;
  border-radius:12px;
  padding:.5rem .75rem;
  font-family:inherit;
  font-size:1rem;
  line-height:1.6;
  color:var(--text);
  background-color:#f5f5f5;
  transition:border-color .15s,box-shadow .15s;
  outline:none;
}
.finput,.fselect{min-height:2.75rem;height:auto;}
.finput::placeholder,.ftextarea::placeholder{color:#c4c4c4;}
.fselect{
  color:var(--text);
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}

/* Force course dropdown text to render in caps (UI only; option values remain unchanged). */
.review-us-form #courseTaken,
.review-us-form #courseTaken option{
  text-transform:uppercase;
}
.finput:focus,.fselect:focus,.ftextarea:focus{
  border-color:var(--hint);
  box-shadow:none;
}
.ftextarea{padding:.75rem;min-height:11.25rem;resize:none;}
.fchar{font-size:.75rem;color:var(--hint);text-align:right;margin-top:4px;}

/* ── EXPERIENCE OPTIONS ── */
.exp-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px;}
.exp-opt{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 10px;
  text-align:center;
  cursor:pointer;
  transition:all .2s;
  background:var(--white);
}
.exp-opt:hover{border-color:var(--blue-m);background:var(--blue-l);}
.exp-opt.active{border-color:var(--blue);background:var(--blue-l);}
.exp-opt-icon{font-size:22px;margin-bottom:5px;display:block;}
.exp-opt-lbl{font-size:.875rem;font-weight:600;color:var(--sub);}
.exp-opt.active .exp-opt-lbl{color:var(--text);}

/* ── STAR RATING ── */
.stars-wrap{display:flex;gap:8px;margin-top:6px;}
.star{
  font-size:1.75rem;
  cursor:pointer;
  color:var(--border);
  transition:color .15s,transform .15s;
  line-height:1;
}
.star.filled{color:var(--yellow);}
.star:hover{transform:scale(1.1);}

/* ── NPS SLIDER ── */
.nps-labels{
  display:flex;
  justify-content:space-between;
  font-size:.75rem;
  color:var(--hint);
  font-weight:600;
  margin-top:8px;
  margin-bottom:6px;
}
.nps-track-wrap{position:relative;margin-bottom:6px;}
.nps-slider{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:8px;
  border-radius:99px;
  background:linear-gradient(to right,#e23939,var(--yellow) 50%,var(--blue));
  outline:none;
  cursor:pointer;
}
.nps-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--white);
  border:2.5px solid var(--blue);
  cursor:pointer;
  transition:border-color .15s,transform .15s;
}
.nps-slider::-webkit-slider-thumb:hover{transform:scale(1.1);}
.nps-val{
  font-size:1.125rem;
  font-weight:700;
  color:var(--blue);
  text-align:center;
  letter-spacing:normal;
}
.nps-val span{font-size:1rem;font-weight:600;color:var(--hint);}

/* ── RECOMMEND TOGGLE ── */
.rec-options{display:flex;gap:12px;margin-top:8px;}
.rec-btn{
  display:flex;
  align-items:center;
  gap:8px;
  padding:.75rem 1.25rem;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--white);
  font-family:inherit;
  font-size:1rem;
  font-weight:600;
  cursor:pointer;
  color:var(--sub);
  transition:all .2s;
}
.rec-btn:hover{border-color:var(--blue-m);background:var(--blue-l);color:var(--text);}
.rec-btn.active-yes{border-color:var(--green);background:var(--green-l);color:var(--green);}
.rec-btn.active-no{border-color:#e23939;background:#fef2f2;color:#e23939;}

/* ── SUBMIT ── */
.submit-section{
  background:var(--white);
  border:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  border-radius:14px;
  padding:28px;
  text-align:center;
  box-shadow:0 4px 6px -2px #00000008;
}
.submit-title{
  font-family:var(--_typography---font-styles--heading,Shipporiantique,Arial,sans-serif);
  font-size:1.25rem;
  font-weight:400;
  color:var(--text);
  margin-bottom:6px;
  letter-spacing:normal;
  line-height:1.4;
}
.submit-sub{
  font-size:1rem;
  color:var(--fd-grey,#8d8d8d);
  line-height:1.6;
  margin-bottom:24px;
}
.submit-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background-image:linear-gradient(45deg,var(--blue-d) 38%,var(--blue-m));
  color:var(--white);
  font-size:1rem;
  font-weight:600;
  padding:.75rem 2rem;
  border-radius:14px;
  border:1px solid #e9f2ff;
  cursor:pointer;
  font-family:inherit;
  transition:all .27s;
  letter-spacing:normal;
  box-shadow:inset 0 -4px 8px #034bb780;
}
.submit-btn:hover{
  background-image:linear-gradient(45deg,var(--blue) 38%,var(--blue-m));
  transform:translateY(-1px);
}
.submit-note{
  font-size:.875rem;
  color:var(--hint);
  margin-top:10px;
  font-style:italic;
}
.review-success{
  display:none;
  background:var(--white);
  border:1px solid var(--_primitives---neutrals--light-grey,#f0f0f0);
  border-radius:14px;
  padding:40px 28px;
  text-align:center;
  margin-bottom:20px;
  box-shadow:0 4px 6px -2px #00000008;
}
.review-success h3{
  font-family:var(--_typography---font-styles--heading,Shipporiantique,Arial,sans-serif);
  font-size:1.5rem;
  font-weight:400;
  color:var(--text);
  margin-bottom:10px;
  line-height:1.3;
}
.review-success p{
  font-size:1rem;
  color:var(--fd-grey,#8d8d8d);
  line-height:1.6;
  margin-bottom:8px;
}
.review-success .thankyou-icon{margin:0 auto 20px;width:72px;height:72px;}
.review-success .thankyou-icon .checkmark{
  width:72px;
  height:72px;
  background:var(--green) !important;
  padding:12px !important;
  box-shadow:none !important;
  border-radius:50%;
  stroke:#fff;
  stroke-width:4;
}
.review-success .thankyou-icon .checkmark-circle{
  stroke:rgba(255,255,255,.9);
  stroke-width:3;
}
.review-success .thankyou-icon .checkmark-check{
  stroke:#fff;
  stroke-width:4;
}
#googleRedirectBlock{display:none;margin-top:4px;}
#googleRedirectBlock p{margin-bottom:0;}
.ru-loading-dots{display:flex;justify-content:center;gap:8px;margin:16px 0;}
.ru-loading-dots span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--blue);
  animation:ru-dot-bounce 1.4s infinite ease-in-out both;
}
.ru-loading-dots span:nth-child(1){animation-delay:-.32s;}
.ru-loading-dots span:nth-child(2){animation-delay:-.16s;}
@keyframes ru-dot-bounce{
  0%,80%,100%{transform:scale(0);opacity:.5;}
  40%{transform:scale(1);opacity:1;}
}
.ru-redirect-fallback{font-size:1rem;color:var(--sub);margin-top:8px;}
.ru-redirect-link{color:var(--blue);font-weight:600;text-decoration:underline;}
.ru-redirect-link:hover{color:var(--blue-d);}
#lowRatingMsg{display:none;margin-top:8px;}
#otherTrainerWrap{margin-top:-8px;margin-bottom:16px;}
#otherTrainerWrap.ru-hidden{display:none !important;}

/* ── RESPONSIVE ── */
@media(max-width:640px){
  .hero{padding:40px 16px 36px;}
  .hero-stats{gap:8px;}
  .main{padding:32px 16px 60px;}
  .review-us-form .ru-steps{flex-wrap:wrap;}
  .review-us-form .ru-step{min-width:50%;border-bottom:1px solid var(--border);}
  .review-us-form .ru-step:nth-child(even){border-right:none;}
  .sec-card{padding:20px 18px;}
  .review-us-form .frow{grid-template-columns:1fr;}
  .exp-options{grid-template-columns:repeat(2,1fr);}
  .rec-options{flex-direction:column;}
  .sec-sub{display:none;}
}
@media(max-width:480px){
  .hero .vector{top:103%;}
  .sec-title{font-size:1.125rem;}
  .review-us-form .ru-step-lbl{font-size:.8125rem;}
  .stars-wrap .star{font-size:1.5rem;}
}
