.tceb-rfs,
.tceb-rfs * {
  box-sizing: border-box;
}

.tceb-rfs {
  --tceb-rfs-panel-bg: #ffffff;
  --tceb-rfs-title-color: #30333a;
  --tceb-rfs-body-color: #60646c;
  --tceb-rfs-select-text: #30333a;
  --tceb-rfs-select-bg: #f8f9fb;
  --tceb-rfs-select-border: #d8dbe1;
  --tceb-rfs-focus: #4d79ff;
  --tceb-rfs-progress-track: #dedede;
  --tceb-rfs-progress-start: #005bea;
  --tceb-rfs-progress-end: #f4c95a;
  --tceb-rfs-result-bg: #edf4ff;
  --tceb-rfs-result-text: #30333a;
  --tceb-rfs-button-bg: #005bea;
  --tceb-rfs-button-text: #ffffff;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  color: var(--tceb-rfs-title-color);
  font-family: inherit;
  line-height: 1.5;
}

.tceb-rfs [hidden] {
  display: none !important;
}

.tceb-rfs__panel {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: clamp(32px, 3.2vw, 44px) clamp(24px, 3.4vw, 44px) clamp(48px, 4.5vw, 72px);
  overflow: visible;
  border: 0;
  border-radius: 18px;
  background: var(--tceb-rfs-panel-bg);
  box-shadow: 0 16px 44px rgba(20, 34, 68, 0.12);
}

.tceb-rfs__progress {
  width: 100%;
  height: 6px;
  margin: 0 0 clamp(34px, 3vw, 44px);
  overflow: hidden;
  border-radius: 999px;
  background: var(--tceb-rfs-progress-track);
}

.tceb-rfs__progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--tceb-rfs-progress-start), var(--tceb-rfs-progress-end));
  transition: width 0.28s ease;
}

.tceb-rfs__form {
  width: 100%;
  margin: 0;
  padding: 0;
}

.tceb-rfs__field {
  width: 100%;
  min-width: 0;
  margin: 0 0 26px;
}


.tceb-rfs__field:last-child {
  margin-bottom: 0;
}

.tceb-rfs__field label {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  color: var(--tceb-rfs-title-color);
  font-size: clamp(18px, 1.4vw, 21px);
  font-weight: 700;
  line-height: 1.35;
}

.tceb-rfs__field p {
  display: block;
  margin: 0 0 16px;
  padding: 0;
  color: var(--tceb-rfs-body-color);
  font-size: clamp(15px, 1.15vw, 17px);
  font-weight: 400;
  line-height: 1.55;
}

.tceb-rfs select {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 66px;
  margin: 0;
  padding: 0 52px 0 24px;
  border: 2px solid var(--tceb-rfs-select-border);
  border-radius: 10px;
  outline: 0;
  background-color: var(--tceb-rfs-select-bg);
  color: var(--tceb-rfs-select-text);
  font: inherit;
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.25;
  box-shadow: none;
  appearance: auto;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.tceb-rfs select:hover {
  border-color: var(--tceb-rfs-focus);
}

.tceb-rfs select:focus,
.tceb-rfs select:focus-visible {
  border-color: var(--tceb-rfs-focus);
  outline: none;
  box-shadow: 0 0 0 3px rgba(77, 121, 255, 0.18);
}

.tceb-rfs__result {
  width: 100%;
  margin: 30px 0 0;
  padding: clamp(24px, 2.6vw, 34px);
  border: 1px solid rgba(77, 121, 255, 0.24);
  border-radius: 14px;
  background: var(--tceb-rfs-result-bg);
  color: var(--tceb-rfs-result-text);
  text-align: left;
}

.tceb-rfs__result h3 {
  margin: 0 0 10px;
  padding: 0;
  color: var(--tceb-rfs-result-text);
  font-size: clamp(20px, 1.55vw, 24px);
  font-weight: 700;
  line-height: 1.35;
}

.tceb-rfs__result p {
  margin: 0 0 22px;
  padding: 0;
  color: var(--tceb-rfs-result-text);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.6;
}

.tceb-rfs__result a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin: 0;
  padding: 13px 26px;
  border: 0;
  border-radius: 8px;
  background: var(--tceb-rfs-button-bg);
  color: var(--tceb-rfs-button-text);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.tceb-rfs__result a:hover,
.tceb-rfs__result a:focus-visible {
  color: var(--tceb-rfs-button-text);
  text-decoration: none;
  opacity: 0.92;
  transform: translateY(-1px);
}

@keyframes tceb-rfs-fade {
  from {
    opacity: 0;
    transform: translateY(7px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .tceb-rfs__panel {
    padding: 25px 18px 28px;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(20, 34, 68, 0.11);
  }

  .tceb-rfs__progress {
    margin-bottom: 28px;
  }

  .tceb-rfs__field {
    margin-bottom: 22px;
  }

  .tceb-rfs__field label {
    margin-bottom: 8px;
    font-size: 18px;
  }

  .tceb-rfs__field p {
    margin-bottom: 14px;
    font-size: 15px;
  }

  .tceb-rfs select {
    min-height: 54px;
    padding-right: 44px;
    padding-left: 16px;
    border-radius: 8px;
    font-size: 16px;
  }

  .tceb-rfs__result {
    margin-top: 24px;
    padding: 22px 18px;
  }

  .tceb-rfs__result a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tceb-rfs__progress span,
  .tceb-rfs__result a {
    animation: none;
    transition: none;
  }
}
