.sucr {
  --sucr-accent: var(--accent, #FF7A35);
  --sucr-accent-hover: var(--accent-bright, #FF9A60);
  --sucr-accent-soft: var(--accent-pastel, #FFEEE3);
  --sucr-ink: var(--ink, #303E47);
  --sucr-ink-soft: var(--ink-soft, #56646D);
  --sucr-ink-faint: var(--ink-faint, #8C979D);
  --sucr-line: var(--line, #E1E6E9);
  --sucr-soft: var(--navy-soft, #EDF1F2);
  --sucr-ok: #2E9E5B;
  --sucr-danger: var(--danger, #D64545);
  --sucr-display: var(--font-display, Georgia, serif);
  --sucr-body: var(--font-body, -apple-system, 'Segoe UI', Roboto, sans-serif);
  font-family: var(--sucr-body);
  color: var(--sucr-ink);
}
.sucr *, .sucr *::before, .sucr *::after { box-sizing: border-box; }
.sucr [hidden] { display: none !important; }

/* Hero */
.sucr-hero {
  position: relative;
  background-color: #1F2A31;
  background-image: linear-gradient(100deg, rgba(20, 30, 38, 0.92) 0%, rgba(20, 30, 38, 0.72) 42%, rgba(20, 30, 38, 0.35) 100%), var(--sucr-hero-img);
  background-size: cover;
  background-position: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0;
}
.sucr-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.sucr-hero-title {
  font-family: var(--sucr-display);
  color: #FFFFFF;
  font-size: clamp(2rem, 4.2vw, 3.1rem);
  line-height: 1.12;
  font-weight: 700;
  margin: 0;
}
.sucr-hero-rule { display: block; width: 120px; height: 5px; border-radius: 3px; background: var(--sucr-accent); margin: 1.4rem 0 1.8rem; }
.sucr-features { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.sucr-features li { display: flex; align-items: center; gap: 1rem; color: #FFFFFF; font-size: 1.15rem; font-weight: 600; }
.sucr-feature-icon {
  flex: 0 0 46px; height: 46px; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.85);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.1rem; color: #FFFFFF;
}

/* Card */
.sucr-card {
  background: #FFFFFF;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(10, 18, 24, 0.35);
  padding: clamp(1.4rem, 3vw, 2.25rem);
  min-width: 0;
}
.sucr-stepper { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); position: relative; }
.sucr-stepper-item { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; position: relative; text-align: center; }
.sucr-stepper-item:not(:last-child)::after {
  content: ""; position: absolute; top: 17px; left: calc(50% + 22px); right: calc(-50% + 22px);
  height: 4px; border-radius: 2px; background: var(--sucr-line);
}
.sucr-stepper-item.is-done:not(:last-child)::after { background: var(--sucr-ok); }
.sucr-stepper-dot {
  width: 36px; height: 36px; border-radius: 50%;
  background: #B9C2C7; color: #FFFFFF; font-weight: 700; font-size: 0.95rem;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 5px var(--sucr-line);
}
.sucr-stepper-dot .sucr-stepper-check { display: none; }
.sucr-stepper-item.is-active .sucr-stepper-dot { background: var(--sucr-accent); box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 5px var(--sucr-accent); }
.sucr-stepper-item.is-done .sucr-stepper-dot { background: var(--sucr-ok); box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 5px var(--sucr-ok); }
.sucr-stepper-item.is-done .sucr-stepper-num { display: none; }
.sucr-stepper-item.is-done .sucr-stepper-dot .sucr-stepper-check { display: inline-block; }
.sucr-stepper-label { font-size: 0.85rem; color: var(--sucr-ink-soft); font-weight: 500; }
.sucr-stepper-item.is-active .sucr-stepper-label { color: var(--sucr-accent); font-weight: 700; }

.sucr-title { font-family: var(--sucr-display); font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.2; text-align: center; margin: 0 0 0.6rem; color: var(--sucr-ink); }
.sucr-sub { text-align: center; color: var(--sucr-ink-soft); font-size: 1rem; line-height: 1.55; margin: 0 0 1.4rem; }
.sucr-label { display: block; font-weight: 700; font-size: 0.95rem; margin: 0 0 0.45rem; color: var(--sucr-ink); }
.sucr-req { color: var(--sucr-danger); }

.sucr-input {
  width: 100%; font: inherit; font-size: 1rem; color: var(--sucr-ink);
  border: 1px solid #CDD5DA; border-radius: 8px; padding: 0.8rem 0.95rem; background: #FFFFFF;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.sucr-input:focus { outline: none; border-color: var(--sucr-accent); box-shadow: 0 0 0 3px var(--sucr-accent-soft); }
.sucr-input.is-invalid { border-color: var(--sucr-danger); }
.sucr-input-locked { background: var(--sucr-soft); border-color: var(--sucr-soft); color: var(--sucr-ink-soft); }
.sucr-search { position: relative; margin-bottom: 1.2rem; }
.sucr-search i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--sucr-ink-soft); font-size: 1.05rem; }
.sucr-search .sucr-input { padding-left: 2.8rem; }
.sucr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sucr-turnstile { display: flex; justify-content: center; margin: 0 0 1.2rem; min-height: 65px; }

.sucr-btn {
  display: flex; align-items: center; justify-content: center; gap: 0.7rem;
  width: 100%; font: inherit; font-weight: 700; font-size: 1.05rem;
  border-radius: 8px; padding: 0.95rem 1.4rem; cursor: pointer; text-decoration: none;
  border: 2px solid transparent; transition: background 0.15s, color 0.15s, opacity 0.15s;
}
.sucr-btn-primary { background: var(--sucr-accent); color: #FFFFFF; }
.sucr-btn-primary:hover { background: var(--sucr-accent-hover); color: #FFFFFF; }
.sucr-btn-outline { background: #FFFFFF; border-color: var(--sucr-ink); color: var(--sucr-ink); }
.sucr-btn-outline:hover { background: var(--sucr-ink); color: #FFFFFF; }
.sucr-btn[disabled], .sucr-btn.is-busy { opacity: 0.65; cursor: progress; }
.sucr-panel-1 .sucr-btn { max-width: 300px; margin: 0 auto; }

.sucr-link { background: none; border: 0; padding: 0; font: inherit; color: var(--sucr-accent); text-decoration: underline; cursor: pointer; }
.sucr-link[disabled] { color: var(--sucr-ink-faint); cursor: default; }
.sucr-restart { display: block; margin: 0.9rem auto 0; font-size: 0.875rem; color: var(--sucr-ink-soft); }

.sucr-alert { border-radius: 8px; padding: 0.8rem 1rem; margin: 0 0 1.2rem; font-size: 0.95rem; line-height: 1.5; background: #FDECEC; color: #A12B2B; border: 1px solid #F5C6C6; }
.sucr-alert.is-info { background: #EAF6EF; color: #22704A; border-color: #BFE3CD; }

/* Step 2 */
.sucr-email-box { display: flex; align-items: center; gap: 1rem; background: #EEF3FB; border-radius: 10px; padding: 0.9rem 1.2rem; margin: 0 0 1.4rem; }
.sucr-email-box i { font-size: 1.3rem; color: var(--sucr-ink); }
.sucr-email-label { display: block; font-weight: 700; }
.sucr-masked-email { word-break: break-all; }
.sucr-otp { display: flex; gap: 0.6rem; margin: 0 0 1rem; }
.sucr-otp-input {
  width: 100%; max-width: 56px; aspect-ratio: 1 / 1.05; text-align: center;
  font: inherit; font-size: 1.5rem; font-weight: 600; color: var(--sucr-ink);
  border: 1px solid #CDD5DA; border-radius: 8px; background: #FFFFFF; padding: 0;
}
.sucr-otp-input:focus { outline: none; border-color: var(--sucr-accent); box-shadow: 0 0 0 3px var(--sucr-accent-soft); }
.sucr-otp.is-invalid .sucr-otp-input { border-color: var(--sucr-danger); }
.sucr-resend { text-align: center; font-size: 0.9rem; color: var(--sucr-ink-soft); margin: 0 0 1.2rem; }

/* Step 3 */
.sucr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.2rem; margin: 0 0 1.4rem; }
.sucr-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.sucr-field-error { display: block; color: var(--sucr-danger); font-size: 0.8rem; margin-top: 0.3rem; min-height: 0; }
.sucr-radios { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1.4rem; }
.sucr-radios .sucr-label { width: 100%; padding: 0; }
.sucr-radio { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 1rem; cursor: pointer; }
.sucr-radio input { width: 18px; height: 18px; accent-color: var(--sucr-accent); }

/* Done */
.sucr-done-icon { width: 76px; height: 76px; border-radius: 50%; background: var(--sucr-ok); color: #FFFFFF; font-size: 2.2rem; display: flex; align-items: center; justify-content: center; margin: 0.5rem auto 1rem; }
.sucr-done-title { color: #1F7A45; }
.sucr-done-lead { font-size: 1.1rem; color: var(--sucr-ink); margin-bottom: 0.8rem; }
.sucr-reg-id { display: flex; align-items: center; gap: 1rem; background: var(--sucr-soft); border-radius: 10px; padding: 1rem 1.3rem; margin: 0 0 1.4rem; }
.sucr-reg-id i { font-size: 1.6rem; color: var(--sucr-ok); }
.sucr-reg-id span { display: block; font-size: 0.9rem; color: var(--sucr-ink-soft); }
.sucr-reg-id strong { font-size: 1.35rem; letter-spacing: 0.02em; }

/* How it works */
.sucr-how { background: #FFFFFF; padding: clamp(2.5rem, 5vw, 4rem) 0; }
.sucr-how-inner { max-width: 1200px; margin: 0 auto; padding-inline: clamp(1rem, 4vw, 2.5rem); display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.sucr-how-item { border: 1px solid var(--sucr-line); border-radius: 12px; padding: 1.6rem; }
.sucr-how-num { display: inline-flex; width: 38px; height: 38px; border-radius: 50%; background: var(--sucr-accent-soft); color: var(--sucr-accent); font-weight: 700; align-items: center; justify-content: center; margin-bottom: 0.9rem; }
.sucr-how-item h3 { font-family: var(--sucr-display); font-size: 1.25rem; margin: 0 0 0.5rem; color: var(--sucr-ink); }
.sucr-how-item p { margin: 0; color: var(--sucr-ink-soft); line-height: 1.6; font-size: 0.975rem; }

@media (max-width: 960px) {
  .sucr-hero-inner { grid-template-columns: 1fr; }
  .sucr-hero-copy { text-align: left; }
  .sucr-features { grid-template-columns: 1fr 1fr; }
  .sucr-how-inner { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .sucr-features { grid-template-columns: 1fr; }
  .sucr-features li { font-size: 1rem; }
  .sucr-grid { grid-template-columns: 1fr; }
  .sucr-stepper-label { font-size: 0.72rem; }
  .sucr-otp { gap: 0.4rem; }
  .sucr-otp-input { font-size: 1.25rem; }
  .sucr-card { border-radius: 12px; }
}

/* Elementor-built page: card placed via [speedup_carrier_registration_form] */
.sucr-form-only { width: 100%; }
.sucr-form-only .sucr-card { max-width: 560px; margin-left: auto; }
@media (max-width: 1024px) { .sucr-form-only .sucr-card { margin: 0 auto; } }

/* Elementor Icon List with class "sucr-el-features": circled icons like the design */
.sucr-el-features .elementor-icon-list-icon {
  flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.85);
  display: inline-flex !important; align-items: center; justify-content: center;
}
.sucr-el-features .elementor-icon-list-icon { padding: 0 !important; margin: 0 !important; text-align: center !important; }
.sucr-el-features .elementor-icon-list-icon i,
.sucr-el-features .elementor-icon-list-icon svg { margin: 0 !important; padding: 0 !important; width: auto !important; min-width: 0 !important; line-height: 1 !important; text-align: center !important; display: block !important; position: static !important; top: auto !important; transform: none !important; }
.sucr-el-features .elementor-icon-list-text { padding-left: 16px !important; }
/* Elementor Divider with class "sucr-el-rule": rounded accent bar */
.sucr-el-rule .elementor-divider-separator { border-radius: 3px; }
/* Elementor Icon Box cards with class "sucr-el-howcard" */
.elementor-widget.sucr-el-howcard { width: 100%; box-sizing: border-box; border: 1px solid #E1E6E9; border-radius: 12px; padding: 1.6rem; background: #FFFFFF; height: 100%; }
.sucr-el-howcard .elementor-icon-box-title { margin-bottom: 0.5rem; }
.sucr-el-howcard .elementor-icon { background: #FFEEE3; border-radius: 50%; padding: 12px; }

/* Step 2: spam-folder notice */
.sucr-spam-note { display: flex; align-items: flex-start; gap: 0.75rem; background: #FFF6E5; border: 1px solid #F6D79A; color: #6B4A06; border-radius: 10px; padding: 0.8rem 1rem; margin: -0.6rem 0 1.4rem; font-size: 0.9rem; line-height: 1.5; }
.sucr-spam-note i { color: #D98A00; font-size: 1.05rem; margin-top: 0.15rem; }
.sucr-spam-note strong { color: #4F3604; }
