/* Profile side menu (block-side-menu.html), ?????????? ?? accounts/delete/main.css */

.account-aside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 50vh;
  height: 100%;
  width: calc(25% - 1rem);
}

.account-aside-other {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
  text-align: center;
}

.account-aside-other-link {
  color: var(--accent);
  font-size: 75%;
}

.account-nav {
  border-radius: var(--border-radius);
  background-color: var(--Base-White-40, rgba(255, 255, 255, 0.4));
  padding: 1.6rem;
  margin-bottom: var(--gap);
}

.account-nav-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
  background-color: var(--light-bg);
  padding: 1.6rem;
  border-radius: var(--border-radius);
  /* ????????? ????? ?? ???????; ??????? ?????? ????? margin-top ? section ? base.css */
  margin-bottom: var(--gap);
}

.account-nav-tabs .notifications-container {
  width: 2.4rem;
  height: 2.4rem;
  position: relative;
}

.account-nav-tabs .notifications-container img {
  width: 100%;
  height: 100%;
  display: block;
}

.account-nav-btn {
  width: 100%;
  height: 5.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.8rem;
  padding: 1.6rem 4rem;
  font-size: var(--small-font-size);
  font-weight: 600;
  color: var(--accent-dark);
  border-radius: var(--border-radius-small);
}

/* inline img ???? ???????? ?? baseline; ??????? ??????????? ?????? ? ??????? */
.account-nav-btn-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 0;
}

.account-nav-btn:hover {
  background-color: var(--extra-light-card);
}

.account-nav-btn img {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.account-nav-text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.15;
  /* ??????????? ?????? ??????: ??? ??? ??????? ????????? ????? ???? ???????? ?????? */
  padding-top: 0.2rem;
}

.account-nav-btn.support {
  margin-top: 4rem;
}

.account-nav-btn.active {
  pointer-events: none;
  background-color: var(--extra-light-card);
}

.account-suggest {
  /* base.css: section { margin-top: var(--section-margin) } ? ??????? ??? ??????????? ????? ? ???? */
  margin-top: 0;
  background-color: var(--extra-light-card);
  border-radius: var(--border-radius);
  padding: 2.4rem 3.2rem;
  text-align: center;
}

.account-suggest h4 {
  margin-top: 0;
  color: var(--grey);
}

.account-suggest p {
  color: var(--grey);
}

.account-suggest .btn--primary {
  margin-top: var(--gap);
  width: 100%;
}



/* ===== block-content.html (from accounts/delete/main.css) ===== */
.category-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: var(--border-radius);
  border: 1px solid var(--Base-Black-30, rgba(20, 22, 21, 0.3));
  background-color: var(--Base-Black-1, rgba(20, 22, 21, 0.01));
  grid-column: span 5;
  padding: var(--block-padding);
  background-image: url("../icons/card-background.svg");
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-color: var(--light-bg);
  -webkit-transition: var(--quad);
  transition: var(--quad);
  -webkit-transition-property: all !important;
  transition-property: all !important;
}

.category-item:nth-of-type(2n - 1):has(+ .category-item.accent) {
  grid-column: span 4;
}

.category-item.accent {
  background-color: var(--accent-dark);
  grid-column: span 6;
}

.category-item.accent .category-tag {
  background-color: rgba(255, 255, 255, 0.1019607843);
}

.category-item.accent .category-tag,
.category-item.accent h3 {
  color: var(--light-bg);
}

.category-item.accent p {
  color: rgba(255, 255, 255, 0.6980392157);
}

.category-item.accent:nth-of-type(2n) + .category-item {
  grid-column: span 5;
}

.category-item.accent:nth-of-type(2n - 1) + .category-item {
  grid-column: span 4;
}

.category-item:hover {
  background-position: 120% 0;
}

.category-tag {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.6rem 1.2rem;
  margin-bottom: 2.4rem;
  border-radius: 6rem;
  background-color: rgba(20, 22, 21, 0.03);
  font-size: var(--small-font-size);
}

.account {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--gap);
  max-width: 170rem;
  margin: 0 auto;
  width: calc(100% - 3.2rem);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /* Don't create a clipping/scroll container (keeps focus rings & shadows visible) */
  overflow: visible;
}

.account-tabs {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: calc(75% - 1rem);
  /* Swiper sets inline overflow:hidden; allow focus rings/shadows */
  overflow: visible !important;
}

.account-tabs.swiper {
  overflow: visible !important;
}

.account-tabs .swiper-wrapper {
  width: 100%;
  overflow: visible !important;
}

.account-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: unset;
  transition: unset;
  padding-bottom: 4rem;
}

.account-tab.swiper-slide-active {
  visibility: visible;
  opacity: 1;
}

.account-notification-head {
  position: relative;
  padding: 2.4rem 4.8rem;
  background-color: var(--extra-light-card);
  border-radius: var(--border-radius);
  font-weight: 600;
  color: var(--grey);
  -webkit-transition: var(--quad);
  transition: var(--quad);
  margin-bottom: var(--gap);
}

.account-notification-head .accent {
  color: var(--blue);
}

.account-notification-head a.accent:hover {
  opacity: 0.7;
}

.account-notification-head-close {
  width: 2.8rem;
  height: 2.8rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.account-notification-head-close:hover {
  opacity: 0.7;
}

.account-notification-head-close svg {
  width: 80%;
  height: 80%;
}

.account-notification-head.closed {
  height: 0;
  visibility: hidden;
  opacity: 0;
  padding: 0 !important;
  margin-bottom: 0;
}

.account-notification-head--yellow {
  background-color: #ffeccf;
}

.account-notification-head--yellow .account-notification-head-close svg path {
  fill: #bd5c0a;
}

.account-notification-head--red {
  background-color: #ffd9e2;
}

.account-notification-head--red .account-notification-head-close svg path {
  fill: #bd0935;
}

.account-status {
  padding: 3.2rem;
  border-radius: var(--border-radius);
  background-color: var(--light-bg);
  margin-bottom: var(--gap);
}

.account-status-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
}

.account-status h2 {
  font-size: var(--h4-font-size);
  color: rgba(20, 22, 21, 0.2);
  margin-bottom: var(--gap);
}

.account-status h4 {
  font-size: var(--p1-font-size);
  margin-bottom: 0.8rem;
  color: var(--grey);
}

.account-status p {
  color: rgba(20, 22, 21, 0.3);
  font-size: var(--small-font-size);
}

.account-status-item {
  width: 100%;
  border: 1px solid rgba(20, 22, 21, 0.1);
  border-radius: var(--border-radius);
  padding: 2.4rem;
  text-align: left;
  background-color: var(--light-bg);
}

.account-status-item.accent {
  background-color: var(--extra-light-card);
}

.account-status-item.accent .status {
  background-color: var(--hover-color);
  color: var(--light-bg);
}

.account-status-item:hover {
  border-radius: 24px;
  -webkit-box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.08);
}

/* Premium policy dashboard card (Stripe / Linear–style) */
.account-status-item.policy-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  text-align: left;
  font-family: inherit;
  cursor: pointer;
  padding: 2.8rem 3rem 2.6rem;
  border-radius: 1.8rem;
  border: 1px solid rgba(20, 22, 21, 0.06);
  background-color: #ffffff;
  -webkit-box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04),
          0 4px 16px rgba(15, 23, 42, 0.06);
          box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04),
          0 4px 16px rgba(15, 23, 42, 0.06);
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease, -webkit-transform 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease, -webkit-transform 0.2s ease;
  -o-transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, -webkit-box-shadow 0.2s ease, -webkit-transform 0.2s ease;
}

.account-status-item.policy-card:hover {
  border-radius: 1.8rem;
  border-color: rgba(20, 22, 21, 0.09);
  -webkit-transform: translateY(-2px);
      -ms-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 2px 4px rgba(15, 23, 42, 0.05),
          0 12px 28px rgba(15, 23, 42, 0.1);
          box-shadow: 0 2px 4px rgba(15, 23, 42, 0.05),
          0 12px 28px rgba(15, 23, 42, 0.1);
}

.account-status-item.policy-card:active {
  -webkit-transform: translateY(-1px);
      -ms-transform: translateY(-1px);
          transform: translateY(-1px);
}

.account-status-item.policy-card.policy-card--non-interactive {
  cursor: default;
}

.account-status-item.policy-card.policy-card--non-interactive:hover {
  border-color: rgba(20, 22, 21, 0.06);
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04),
          0 4px 16px rgba(15, 23, 42, 0.06);
          box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04),
          0 4px 16px rgba(15, 23, 42, 0.06);
}

.account-status-item.policy-card.policy-card--non-interactive:active {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

/* Policy section wrapper (premium SaaS surface around cards) */
.policy-section {
  margin: 0 0 4.2rem;
}

.policy-section:first-of-type {
  margin-top: 2.4rem;
}

.policy-section__surface {
  padding: clamp(2.2rem, 2vw + 1.4rem, 3.2rem);
  border-radius: clamp(1.8rem, 1.5rem + 0.8vw, 2.6rem);
  border: 1px solid rgba(20, 22, 21, 0.045);
  background-color: #fcfcfd;
  -webkit-box-shadow: 0 1px 1px rgba(15, 23, 42, 0.02),
          0 10px 34px rgba(15, 23, 42, 0.05);
          box-shadow: 0 1px 1px rgba(15, 23, 42, 0.02),
          0 10px 34px rgba(15, 23, 42, 0.05);
}

.policy-section__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2rem;
}

.policy-section__title {
  margin: 0;
  font-size: clamp(2.3rem, 1.9rem + 0.8vw, 2.9rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(20, 22, 21, 0.24);
}

.policy-section__divider {
  height: 1px;
  margin: 1.8rem calc(clamp(2.2rem, 2vw + 1.4rem, 3.2rem) * -1) 1.8rem;
  background-color: rgba(20, 22, 21, 0.07);
}

.policy-section__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.8rem;
}

.policy-section__eyebrow {
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(20, 22, 21, 0.34);
}

.policy-section__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.8rem;
}

.account-status-item.policy-card.accent {
  background-color: #ffffff;
}

.policy-card__meta {
  margin: 0 0 2rem;
  padding: 0;
  font-size: 1.3rem;
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: rgba(20, 22, 21, 0.42);
}

.policy-card__meta-sep {
  margin: 0 0.35em;
}

.policy-card__title {
  margin: 0 0 1rem;
  padding: 0;
  font-size: clamp(1.7rem, 1.4rem + 0.35vw, 2.05rem);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.02em;
  color: #141615;
}

.policy-card__company {
  margin: 0 0 2.4rem;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.45;
  font-weight: 400;
  color: rgba(20, 22, 21, 0.48);
}

.policy-card__company--pending-review {
  font-size: 1.3rem;
  line-height: 1.5;
  color: rgba(20, 22, 21, 0.55);
}

.policy-card__divider {
  height: 1px;
  margin: 0 0 2rem;
  background: rgba(20, 22, 21, 0.07);
  border: 0;
}

.policy-card__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.2rem;
  margin-top: auto;
}

.policy-card__badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.01em;
  border-radius: 999px;
  border: none;
}

.policy-card__badge--neutral {
  background-color: #f1f3f5;
  color: #5c6570;
}

.policy-card__badge--amber {
  background-color: #faf5eb;
  color: #8a6d3e;
}

.policy-card__badge--rose {
  background-color: #fdf2f4;
  color: #9a3548;
}

.policy-card__badge--badge-open {
  background-color: #eef2ff;
  color: #3f51b5;
}

.policy-card__badge--badge-requires-contact {
  background-color: #fff4e5;
  color: #ad6800;
}

.policy-card__badge--badge-pending-selection {
  background-color: #f3e8ff;
  color: #7a3fb0;
}

.policy-card__badge--badge-being-issued {
  background-color: #fff7d6;
  color: #9a6a00;
}

.policy-card__badge--badge-completed,
.policy-card__badge--badge-active {
  background-color: #e9f9ee;
  color: #1f7a3f;
}

.policy-card__badge--badge-cancelled {
  background-color: #fdf2f4;
  color: #9a3548;
}

.policy-card__badge--badge-warning {
  background-color: #fff7d6;
  color: #9a6a00;
}

.policy-card__badge--badge-closed {
  background-color: #f1f3f5;
  color: #5c6570;
}

.policy-card__chevron {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: rgba(20, 22, 21, 0.22);
}

.policy-card__chevron svg {
  display: block;
}

.account-status.expired .policy-card__badge--neutral {
  background-color: #ffffff;
  color: var(--grey);
  -webkit-box-shadow: inset 0 0 0 1px rgba(20, 22, 21, 0.08);
          box-shadow: inset 0 0 0 1px rgba(20, 22, 21, 0.08);
}

.account-status-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.2rem;
}

.account-status-head > * {
  font-size: 1.3rem;
  color: rgba(20, 22, 21, 0.4);
}

.account-status.expired .account-status-item {
  opacity: 0.7;
}

.account-status.expired .status {
  background-color: var(--light-bg);
  color: var(--grey);
  border: 1px solid rgba(20, 22, 21, 0.1);
}

.account-other {
  border-radius: var(--border-radius);
  background: #f8f8f8;
  padding: 3.2rem;
  position: relative;
  overflow: hidden;
  margin-bottom: var(--gap);
}

.account-other h2 {
  font-size: var(--h4-font-size);
  color: rgba(20, 22, 21, 0.6);
  margin-bottom: var(--gap);
  color: var(--grey);
}

.account-other h3 {
  font-size: var(--p1-font-size);
  margin-bottom: 1.5rem;
  color: var(--grey);
}

.account-other p {
  font-size: 1.3rem;
  color: var(--grey);
}

.account-other .category-item {
  pointer-events: all !important;
}

.account-other-content::after {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  right: 0;
  height: 100%;
  width: 3.2rem;
  z-index: 2;
  pointer-events: none;
  background: -webkit-gradient(linear, right top, left top, color-stop(30%, #f8f8f8), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(270deg, #f8f8f8 30%, rgba(255, 255, 255, 0) 100%);
}

.account-other-content::before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  height: 100%;
  width: 3.2rem;
  z-index: 2;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, right top, color-stop(30%, #f8f8f8), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, #f8f8f8 30%, rgba(255, 255, 255, 0) 100%);
}

.account-other .swiper-slide {
  height: auto;
  width: 41rem;
  background-color: var(--light-bg);
  -webkit-box-shadow: 0 5px 12px 0 rgba(92, 92, 92, 0.08);
          box-shadow: 0 5px 12px 0 rgba(92, 92, 92, 0.08);
  border: none;
  background-image: url("../icons/card-background.svg");
  background-size: 50% auto;
}

/* ======================================================================
   Profile premium card — block-user-profile.html (.account-card)
   Corporate / insurance-grade UI; blue-forward palette; no HTML deps.
   ====================================================================== */

.account-card {
  --ac-ink: #141e40;
  --ac-ink-2: rgba(20, 30, 64, 0.78);
  --ac-ink-muted: rgba(20, 30, 64, 0.55);
  --ac-ink-subtle: rgba(20, 30, 64, 0.4);
  --ac-surface: #f6f8fc;
  --ac-card: #ffffff;
  --ac-line: rgba(20, 30, 64, 0.1);
  --ac-line-strong: rgba(20, 30, 64, 0.16);
  --ac-blue: var(--blue, #7b8fd9);
  --ac-blue-deep: var(--accent-dark, #141e40);
  --ac-blue-fill: rgba(20, 30, 64, 0.92);
  --ac-blue-soft: rgba(123, 143, 217, 0.14);
  --ac-blue-softer: rgba(123, 143, 217, 0.08);
  --ac-focus: rgba(123, 143, 217, 0.45);
  --ac-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 1px 2px rgba(20, 30, 64, 0.045),
    0 14px 44px rgba(20, 30, 64, 0.07);
  --ac-radius: clamp(1.4rem, 1.2vw, 2rem);
  --ac-radius-sm: 1rem;
  --ac-pad-x: clamp(2rem, 3.2vw, 3.6rem);
  --ac-pad-y: clamp(2.4rem, 3vw, 3.6rem);
  --ac-gap-lg: clamp(2rem, 2.8vw, 3.2rem);
  --ac-gap: clamp(1.4rem, 2vw, 2rem);
  --ac-gap-sm: clamp(1rem, 1.4vw, 1.4rem);
  --ac-control-h: 4.8rem;
  --ac-label: clamp(1.25rem, 1.15vw, 1.4rem);
  --ac-input-text: clamp(1.4rem, 1.25vw, 1.55rem);

  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: var(--ac-pad-y) var(--ac-pad-x);
  background: var(--ac-card);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow);
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  /* Allow focus rings to render outside the card */
  overflow: visible;
}

.account-card *,
.account-card *::before,
.account-card *::after {
  box-sizing: border-box;
}

/* ----- Account header ----- */

.account-card__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ac-gap);
  padding-top: 0;
  margin-top: 0;
  padding-bottom: var(--ac-gap-lg);
  margin-bottom: var(--ac-gap-lg);
  border-bottom: 1px solid var(--ac-line);
}

.account-card__identity {
  display: flex;
  align-items: flex-start;
  gap: clamp(1.4rem, 2vw, 2rem);
  min-width: 0;
  flex: 1 1 min(0, 42rem);
}

.account-card__avatar {
  flex-shrink: 0;
  width: clamp(4.8rem, 5vw, 5.6rem);
  height: clamp(4.8rem, 5vw, 5.6rem);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.6rem, 1.5vw, 1.9rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ac-blue-deep);
  background: linear-gradient(
    145deg,
    var(--ac-blue-soft) 0%,
    rgba(255, 255, 255, 0.95) 100%
  );
  border: 1px solid var(--ac-line);
  box-shadow: 0 1px 2px rgba(20, 30, 64, 0.06);
}

.account-card__summary {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ac-gap-sm);
}

.account-card__eyebrow {
  margin: 0;
  font-size: clamp(1.05rem, 0.95vw, 1.15rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ac-ink-subtle);
  line-height: 1.3;
}

.account-card__title {
  margin: 0;
  font-size: clamp(2rem, 2.2vw, 2.6rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: var(--ac-ink);
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

/* ----- Header actions (edit icon / save) ----- */

.account-card__actions {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.2rem;
}

.account-card__edit-icon {
  appearance: none;
  margin: 0;
  padding: 0;
  width: var(--ac-control-h);
  height: var(--ac-control-h);
  border-radius: var(--ac-radius-sm);
  border: none;
  background: var(--ac-card);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.18s ease, border-color 0.18s ease,
    box-shadow 0.18s ease, transform 0.12s ease;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.account-card__edit-icon img {
  width: 2.1rem;
  height: 2.1rem;
  display: block;
  opacity: 0.92;
}

.account-card__edit-icon:hover {
  background: var(--ac-surface);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.account-card__edit-icon:active {
  transform: translateY(0.5px);
  background: rgba(123, 143, 217, 0.1);
}

.account-card__edit-icon:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--ac-card), 0 0 0 4px var(--ac-focus);
}

.account-card__save {
  appearance: none;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--ac-control-h);
  padding: 0 1.8rem;
  font-family: inherit;
  font-size: clamp(1.3rem, 1.1vw, 1.4rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #f6f8ff;
  background: var(--ac-blue-fill);
  border: 1px solid rgba(20, 30, 64, 0.35);
  border-radius: var(--ac-radius-sm);
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease,
    box-shadow 0.18s ease, transform 0.12s ease;
  box-shadow: 0 1px 2px rgba(20, 30, 64, 0.1);
}

.account-card__save:hover {
  background: #101a36;
  border-color: rgba(20, 30, 64, 0.45);
}

.account-card__save:active {
  transform: translateY(0.5px);
}

.account-card__save:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--ac-card), 0 0 0 4px var(--ac-focus);
}

/* State switch: icon in view-mode, Save in edit-mode */
.account-card:not(.editing) .account-card__save {
  display: none;
}

.account-card:not(.editing) .account-card__cancel {
  display: none;
}

.account-card.editing .account-card__edit-icon {
  display: none;
}

.account-card__cancel {
  appearance: none;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--ac-control-h);
  padding: 0 1.8rem;
  font-family: inherit;
  font-size: clamp(1.3rem, 1.1vw, 1.4rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--ac-blue-deep);
  background: var(--ac-card);
  border: 1px solid rgba(20, 30, 64, 0.12);
  border-radius: var(--ac-radius-sm);
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease,
    box-shadow 0.18s ease, transform 0.12s ease;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.account-card__cancel:hover {
  background: var(--ac-surface);
  border-color: rgba(20, 30, 64, 0.18);
}

.account-card__cancel:active {
  transform: translateY(0.5px);
  background: rgba(123, 143, 217, 0.08);
}

.account-card__cancel:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--ac-card), 0 0 0 4px var(--ac-focus);
}

/* ----- Sections ----- */

.account-section {
  /* base.css sets section { overflow:hidden } which clips focus rings/shadows */
  overflow: visible !important;
  padding-top: var(--ac-gap-lg);
  margin-top: var(--ac-gap-lg);
  border-top: 1px solid var(--ac-line);
}

.account-section:first-of-type {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}

.account-section__head {
  margin-bottom: var(--ac-gap);
  max-width: 56rem;
}

.account-section__head h3 {
  margin: 0 0 0.55rem 0;
  font-size: clamp(1.45rem, 1.35vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--ac-ink);
}

.account-section__head p {
  margin: 0;
  font-size: clamp(1.3rem, 1.15vw, 1.42rem);
  line-height: 1.55;
  font-weight: 400;
  color: var(--ac-ink-muted);
}

/* ----- Grids ----- */

.account-grid {
  display: grid;
  width: 100%;
  max-width: 100%;
  gap: var(--ac-gap) var(--ac-gap);
  min-width: 0;
}

.account-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-grid--2 .account-grid__item--full {
  grid-column: 1 / -1;
}

/* Street + unit row, then city | state | ZIP */
.account-grid--2-1 {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr) minmax(0, 0.55fr) minmax(
      9.5rem,
      12rem
    );
  grid-template-rows: auto auto;
  column-gap: var(--ac-gap);
  row-gap: var(--ac-gap);
}

.account-grid--2-1 > .form-group.account-grid__item--wide {
  grid-column: 1 / 4;
  grid-row: 1;
  min-width: 0;
}

.account-grid--2-1 > .form-group:nth-child(2) {
  grid-column: 4;
  grid-row: 1;
  min-width: 0;
}

.account-grid--2-1 > .form-group:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}

.account-grid--2-1 > .form-group:nth-child(4) {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
}

.account-grid--2-1 > .form-group:nth-child(5) {
  grid-column: 3 / 5;
  grid-row: 2;
  min-width: 0;
}

/* ----- Form groups & labels ----- */

.account-card .form-group {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.55rem;
  min-width: 0;
  width: 100%;
}

.account-card .form-group:focus-within {
  z-index: 10;
}

.account-card .form-label {
  margin: 0;
  font-size: var(--ac-label);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--ac-ink-2);
  line-height: 1.35;
}

/* ----- Inputs (Django widgets use .form-input) ----- */

.account-card .form-input,
.account-card input.form-input,
.account-card select.form-input,
.account-card textarea.form-input {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: var(--ac-control-h);
  margin: 0;
  padding: 0 1.35rem;
  font-family: inherit;
  font-size: var(--ac-input-text);
  font-weight: 400;
  line-height: 1.3;
  color: var(--ac-ink);
  background-color: #fbfcfe;
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-sm);
  transition: border-color 0.18s ease, background-color 0.18s ease,
    box-shadow 0.18s ease;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

.account-card textarea.form-input {
  height: auto;
  min-height: 10rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.account-card .form-input::placeholder {
  color: var(--ac-ink-subtle);
  font-weight: 400;
}

/* Date of birth: calendar icon + premium datepicker */
.account-card .date-input {
  padding-right: 4.2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 2.75c.414 0 .75.336.75.75V5h8.5V3.5a.75.75 0 0 1 1.5 0V5H20a2.75 2.75 0 0 1 2.75 2.75V20A2.75 2.75 0 0 1 20 22.75H4A2.75 2.75 0 0 1 1.25 20V7.75A2.75 2.75 0 0 1 4 5h1.25V3.5c0-.414.336-.75.75-.75Zm13 6.5H3.75V20c0 .69.56 1.25 1.25 1.25h15c.69 0 1.25-.56 1.25-1.25V9.25ZM4 6.5c-.69 0-1.25.56-1.25 1.25v.0h18.5V7.75c0-.69-.56-1.25-1.25-1.25H4Z' fill='%23141e40' fill-opacity='0.35'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.35rem center;
  background-size: 1.9rem 1.9rem;
}

.flatpickr-calendar {
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(20, 30, 64, 0.14);
  border: 1px solid var(--ac-line);
  overflow: hidden;
  font-family: var(--font);
}

.flatpickr-months {
  padding: 0.35rem 0.25rem;
  background: #fff;
}

.flatpickr-current-month {
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--ac-ink);
}

.flatpickr-weekdays {
  background: #fff;
}

.flatpickr-weekday {
  color: var(--ac-ink-subtle);
  font-weight: 600;
}

.flatpickr-day {
  border-radius: 10px;
}

.flatpickr-day:hover {
  background: #eef2ff;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #2a6df4;
  border-color: #2a6df4;
  color: #fff;
}

.account-card .form-input:hover:not(:disabled):not(:focus) {
  border-color: var(--ac-line-strong);
  background-color: #fff;
}

.account-card .form-input:focus {
  outline: none;
}

.account-card .form-input:focus-visible {
  z-index: 1;
  border-color: rgba(123, 143, 217, 0.55);
  background-color: #fff;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--ac-focus);
}

.account-section,
.account-grid {
  position: relative;
  isolation: isolate;
}

/* ----- US phone visual prefix "+1 |" (non-editable) ----- */
/* Phone input: fixed country prefix + number field */
.account-card .phone-input {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: var(--ac-control-h);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-sm);
  background: #fbfcfe;
  transition: border-color 0.18s ease, box-shadow 0.18s ease,
    background-color 0.18s ease;
  overflow: hidden;
}

.account-card .phone-input:focus-within {
  border-color: rgba(123, 143, 217, 0.55);
  background-color: #fff;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--ac-focus);
}

.account-card .phone-prefix {
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding: 0 1.2rem;
  font-size: var(--ac-input-text);
  font-weight: 500;
  color: var(--ac-ink-muted);
  background: rgba(20, 30, 64, 0.04);
  border-right: 1px solid rgba(20, 30, 64, 0.09);
  user-select: none;
  -webkit-user-select: none;
}

.account-card .phone-number.form-input {
  border: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  height: 100%;
  background: transparent;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 1.2rem;
}

.account-card .phone-number::placeholder {
  color: var(--ac-ink-subtle);
  font-weight: 400;
}

.account-card .phone-number:focus-visible {
  /* focus is handled by .phone-input:focus-within */
  box-shadow: none;
}

.account-card .form-input:active:not(:disabled) {
  border-color: rgba(20, 30, 64, 0.22);
}

.account-card .form-input:disabled {
  color: var(--ac-ink-muted);
  background: var(--ac-surface);
  border-color: var(--ac-line);
  cursor: not-allowed;
  opacity: 0.92;
}

/* ----- Segmented control (sex) ----- */

.segmented-control {
  display: flex;
  width: 100%;
  max-width: min(100%, 32rem);
  min-height: var(--ac-control-h);
  padding: 0.35rem;
  gap: 0.35rem;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-sm);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.segmented-control__item {
  position: relative;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  min-height: calc(var(--ac-control-h) - 0.7rem);
  padding: 0 0.75rem;
  border-radius: calc(var(--ac-radius-sm) - 0.25rem);
  cursor: pointer;
  font-size: clamp(1.3rem, 1.15vw, 1.42rem);
  font-weight: 600;
  color: var(--ac-ink-muted);
  transition: background-color 0.16s ease, color 0.16s ease,
    box-shadow 0.16s ease;
  user-select: none;
}

.segmented-control__item span {
  pointer-events: none;
  position: relative;
  z-index: 0;
  line-height: 1.25;
  text-align: center;
}

.segmented-control__item input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.segmented-control__item:hover {
  background: rgba(255, 255, 255, 0.75);
  color: var(--ac-ink-2);
}

.segmented-control__item:has(input:checked) {
  background: var(--ac-blue-fill);
  color: #f5f7ff;
  box-shadow: 0 1px 3px rgba(20, 30, 64, 0.12);
}

.segmented-control__item:has(input:checked):hover {
  background: #101a38;
  color: #fff;
}

.segmented-control__item:has(input:focus-visible) {
  z-index: 1;
  box-shadow: 0 0 0 2px var(--ac-focus);
}

.segmented-control__item:has(input:disabled) {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ----- Footer actions ----- */

.account-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ac-gap-sm) var(--ac-gap);
  margin-top: var(--ac-gap-lg);
  padding-top: var(--ac-gap-lg);
  border-top: 1px solid var(--ac-line);
}

.account-card .btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--ac-control-h);
  padding: 0 clamp(1.6rem, 2vw, 2.2rem);
  font-family: inherit;
  font-size: clamp(1.3rem, 1.15vw, 1.42rem);
  font-weight: 600;
  letter-spacing: 0.015em;
  border-radius: var(--ac-radius-sm);
  cursor: pointer;
  border: 1px solid transparent;
  transition: background-color 0.18s ease, color 0.18s ease,
    border-color 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
}

.account-card .btn--ghost {
  color: var(--ac-ink-2);
  background: var(--ac-card);
  border-color: var(--ac-line-strong);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.account-card .btn--ghost:hover {
  background: var(--ac-surface);
  border-color: rgba(20, 30, 64, 0.22);
  color: var(--ac-ink);
}

.account-card .btn--ghost:active {
  transform: translateY(0.5px);
  background: var(--ac-blue-softer);
}

.account-card .btn--ghost:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--ac-card), 0 0 0 4px var(--ac-focus);
}

.account-card .btn--ghost:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.account-card .btn--primary {
  color: #f6f8ff;
  background: var(--ac-blue-fill);
  border-color: rgba(20, 30, 64, 0.35);
  box-shadow: 0 1px 2px rgba(20, 30, 64, 0.1);
}

.account-card .btn--primary:hover {
  background: #101a36;
  border-color: rgba(20, 30, 64, 0.45);
}

.account-card .btn--primary:active {
  transform: translateY(0.5px);
}

.account-card .btn--primary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--ac-card), 0 0 0 4px var(--ac-focus);
}

.account-card .btn--primary:disabled {
  background: rgba(20, 30, 64, 0.2);
  color: rgba(255, 255, 255, 0.75);
  cursor: not-allowed;
  border-color: transparent;
}

/* ----- Django / template errors ----- */

.account-card .errorlist,
.account-card ul.errorlist {
  margin: 0.35rem 0 0 0;
  padding: 0;
  list-style: none;
  font-size: 1.25rem;
  line-height: 1.45;
  color: rgba(160, 48, 48, 0.92);
}

.account-card .field-errors,
.account-card .form-errors {
  margin-top: 0.35rem;
  font-size: 1.25rem;
  line-height: 1.45;
  color: rgba(160, 48, 48, 0.92);
}

.account-card .form-input.error,
.account-card .form-group.has-error .form-input {
  border-color: rgba(180, 60, 60, 0.45);
  background-color: #fffafb;
}

.account-card .form-input.error:focus-visible,
.account-card .form-group.has-error .form-input:focus-visible {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(200, 80, 80, 0.28);
}

/* ----- Loading overlay (optional JS) ----- */

.account-card.loading {
  pointer-events: none;
}

.account-card.loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.55);
  z-index: 4;
}

/* ----- Health form: submit overlay & button spinner ----- */

@keyframes spin {
  to { transform: rotate(360deg); }
}

.popup-form-overlay {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.82);
  border-radius: inherit;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  pointer-events: all;
}

.popup-form-overlay.active {
  display: flex;
}

.popup-form-overlay .popup-form-spinner {
  width: 4.8rem;
  height: 4.8rem;
  animation: spin 0.9s linear infinite;
  stroke: var(--accent);
}

.popup-form-overlay-text {
  font-size: 1.5rem;
  color: var(--text);
  font-weight: 500;
  text-align: center;
  max-width: 28rem;
}

.btn--primary .btn-spinner {
  display: none;
  width: 1.8rem;
  height: 1.8rem;
  stroke: currentColor;
  animation: spin 0.9s linear infinite;
}

.btn--primary.is-loading .btn-label {
  display: none;
}

.btn--primary.is-loading .btn-spinner {
  display: inline-block;
}

.btn--primary.is-loading {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.75;
}

/* ----- Legacy edit shell (if .account-info still used elsewhere) ----- */

.account-info {
  padding: 3.2rem;
  background-color: var(--light-bg);
  border-radius: var(--border-radius);
}

@media (max-width: 1024px) {
  .account-grid--2-1 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }

  .account-grid--2-1 > .form-group.account-grid__item--wide {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .account-grid--2-1 > .form-group:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .account-grid--2-1 > .form-group:nth-child(3),
  .account-grid--2-1 > .form-group:nth-child(4) {
    grid-column: span 1;
    grid-row: auto;
  }

  .account-grid--2-1 > .form-group:nth-child(5) {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

.account-notification {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}

.account-notification-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--gap);
}

.account-notification-block {
  padding: 3.2rem;
  border-radius: var(--border-radius);
  background-color: var(--light-bg);
}

.account-notification-block h2 {
  font-size: var(--h4-font-size);
  color: rgba(20, 22, 21, 0.2);
  margin-bottom: var(--gap);
}

.account-notification-block.old .account-notification-item {
  background-color: rgba(20, 22, 21, 0.03);
}

.account-notification-item {
  position: relative;
  padding: 2.4rem 4.8rem;
  background-color: var(--extra-light-card);
  border-radius: var(--border-radius);
  font-weight: 400;
  font-size: var(--small-font-size);
  color: var(--grey);
  -webkit-transition: var(--quad);
  transition: var(--quad);
  margin-bottom: var(--gap);
}

.account-notification-item:last-of-type {
  margin-bottom: 0;
}

.account-notification-item.closed {
  height: 0;
  visibility: hidden;
  opacity: 0;
  padding: 0;
  margin-bottom: 0;
}

.account-notification-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.account-notification-item.green {
  background-color: rgba(129, 237, 153, 0.2392156863);
}

.account-notification-item.green .account-notification-close svg path {
  fill: #237836;
}

.account-notification-item.blue {
  background-color: #dcecff;
}

.account-notification-item.blue .account-notification-close svg path {
  fill: #0b5dbd;
}

.account-notification-item.yellow {
  background-color: #ffeccf;
}

.account-notification-item.yellow .account-notification-close svg path {
  fill: #bd5c0a;
}

.account-notification-item.red {
  background-color: #ffd9e2;
}

.account-notification-item.red .account-notification-close svg path {
  fill: #bd0935;
}

.account-notification-close {
  width: 2.8rem;
  height: 2.8rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.account-notification-close:hover {
  opacity: 0.7;
}

.account-notification-close svg {
  width: 80%;
  height: 80%;
}

.account-notification-banner {
  padding: 3.2rem;
  border-radius: var(--border-radius);
  background-color: var(--accent);
  background-image: url("../icons/card-background-banner.svg");
  background-repeat: no-repeat;
  background-size: 50% auto;
  background-position: right top;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}

.account-notification-banner-btn {
  width: 100%;
}

.account-notification-banner-container {
  width: 42%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.account-notification-banner h4 {
  color: var(--light-bg);
}

.account-notification-banner-body {
  position: relative;
  padding: 4.8rem;
  overflow: hidden;
  background-color: var(--light-bg);
  border-radius: var(--border-radius);
}

.account-notification-banner-body h3 {
  color: var(--accent);
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}

.account-notification-banner-body img {
  position: absolute;
  right: 0;
  top: 0;
  width: 19rem;
}

.status {
  margin-top: 1.2rem;
  padding: 0.3rem 1rem;
  font-size: var(--small-font-size);
  border-radius: 0.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #e9edf0;
  color: #556575;
}

.status.yellow {
  background-color: #ffeccf;
  color: #bd5c0a;
}

.status.red {
  background-color: #ffd9e2;
  color: #bd0935;
}

.policy-intervention-note {
  margin: 0.8rem 0;
  padding: 1rem 1.2rem;
  border-radius: 0.8rem;
  border: 1px solid #f1c40f;
  background-color: #fff9db;
  color: #8a6a00;
  font-size: 1.3rem;
  line-height: 1.5;
}

.policy-cancel-note {
  margin: 0.8rem 0;
  padding: 1rem 1.2rem;
  border-radius: 0.8rem;
  border: 1px solid #f4a2b3;
  background-color: #fff3f6;
  color: #a4314f;
  font-size: 1.3rem;
  line-height: 1.5;
}

/* ===== modal-profile.html (from accounts/delete/main.css) ===== */

.popup-tabs {
  padding: 11rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
}

.popup-tab {
  display: none;
  position: relative;
  margin: auto;
  /* Don't clip focus rings / shadows inside tabs */
  overflow: visible;
}

.popup-tab.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.product-main {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
  width: 102rem;
}

.product-main-item {
  position: relative;
  background-color: var(--light-bg);
  border-radius: var(--border-radius-small);
  overflow: hidden;
  padding: var(--block-padding);
}

.product-main-item img {
  position: absolute;
  right: 0;
  top: 0;
  width: 23rem;
  height: auto;
}

.product-main-item .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
  margin-bottom: 1.2rem;
}

.product-main-item h3 {
  margin-bottom: 3.2rem;
  color: var(--accent);
  font-weight: 700;
  max-width: 41rem;
}

.product-main-item p {
  font-size: var(--p1-font-size);
  color: var(--grey);
  max-width: 56rem;
}

.product-main-item-btns {
  margin-top: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: var(--gap);
}

.tag {
  position: relative;
  background-color: #fff;
  padding: 0.6rem 1.2rem;
  border-radius: 6rem;
  background-color: rgba(20, 22, 21, 0.03);
  font-size: var(--small-font-size);
  color: var(--grey);
}

.product-subcategory {
  width: 131rem;
}

.product-subcategory h3 {
  font-size: var(--h4-font-size);
}

.category-content {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: var(--gap);
}

.product-subcategory .category-item {
  height: auto;
}

.category-item--span-full {
  grid-column: span 10 !important;
}

.category-item--span-half {
  grid-column: span 5 !important;
}

[data-product-tab="health_insurance"] .category-content {
  grid-template-rows: repeat(2, 1fr);
  min-height: 58rem;
}

.category-links {
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--gap);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.product-subcategory .category-item .category-links {
  margin-top: auto;
}

.product-subcategory .category-item p {
  margin-bottom: 4rem;
}

.simple-form {
  max-width: 131rem;
  background-color: var(--light-bg);
  border-radius: var(--border-radius);
  padding: 2.4rem;
  border: 1px solid var(--Base-Black-20, rgba(20, 22, 21, 0.2));
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 4rem;
}

.simple-form-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.simple-form-left .login-soc {
  margin-top: auto;
  margin-bottom: 0;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.simple-form-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
}

.simple-form .form-group {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}

.simple-form .form-group:nth-of-type(3),
.simple-form .form-group:nth-of-type(4),
.simple-form .form-group:nth-of-type(5) {
  grid-column: span 2;
}

.simple-form .form-group .form-label {
  height: 2.2rem;
  font-size: var(--small-font-size);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.simple-form-btn {
  margin-left: auto;
  grid-column: span 2;
  margin-top: 4.8rem;
}

/* ===== modal-form-other-insurance.html â€” premium lead form (US / enterprise) ===== */

.other-insurance-tab.popup-tab.product-subcategory {
  width: 100%;
  max-width: min(78rem, calc((100vw - 4.8rem) * 0.75));
  margin-left: auto;
  margin-right: auto;
}

.other-insurance-form.popup-container {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.other-insurance-form {
  --oif-surface: #f4f4f2;
  --oif-card: #fdfdfc;
  --oif-ink: #1a1d21;
  --oif-ink-muted: rgba(26, 29, 33, 0.58);
  --oif-ink-subtle: rgba(26, 29, 33, 0.4);
  --oif-border: rgba(26, 29, 33, 0.09);
  --oif-border-strong: rgba(26, 29, 33, 0.14);
  --oif-accent: #3d4a5c;
  --oif-accent-hover: #323d4d;
  --oif-accent-active: #2a333f;
  --oif-focus: rgba(61, 74, 92, 0.28);
  --oif-error: rgba(180, 60, 60, 0.85);
  --oif-radius: 1.2rem;
  --oif-radius-sm: 0.9rem;
  --oif-pad-x: clamp(2rem, 4vw, 4.8rem);
  --oif-pad-y: clamp(2.4rem, 4vw, 4rem);
  --oif-gap: clamp(2rem, 3vw, 3.2rem);
}

.oif-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(2rem, 3vw, 3.2rem);
  padding: var(--oif-pad-y) var(--oif-pad-x);
  background-color: var(--oif-card);
  border: 1px solid var(--oif-border);
  border-radius: var(--oif-radius);
  -webkit-box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 1px 2px rgba(26, 29, 33, 0.04),
    0 16px 48px rgba(26, 29, 33, 0.05);
          box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 1px 2px rgba(26, 29, 33, 0.04),
    0 16px 48px rgba(26, 29, 33, 0.05);
}

.other-insurance-form .oif-card {
  /* row-gap отключён — отступы вокруг линии задаёт padding у .oif-rule */
  gap: 0;
  padding-top: 0;
  padding-bottom: clamp(1.8rem, 3vw, 2.8rem);
  padding-left: var(--oif-pad-x);
  padding-right: var(--oif-pad-x);
}

.other-insurance-form .oif-rule {
  /* padding вместо margin: при height:0 нижний margin у <hr> в flex-колонке часто не даёт зазор под линией */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 1rem 0;
  border: none;
  border-top: 1px solid rgba(26, 29, 33, 0.07);
  height: auto;
  min-height: 0;
  background-color: transparent;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch;
}

.other-insurance-form .oif-main {
  gap: 0.65rem;
}

.other-insurance-form .oif-form-feedback--inline {
  margin: 0;
  min-height: 0;
}

.other-insurance-form .oif-actions {
  padding-top: 0;
}

.oif-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.4rem;
  min-width: 0;
}

.oif-badge {
  margin: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--oif-ink-subtle);
}

.other-insurance-form .other-insurance-form-title {
  margin: 0;
  font-size: clamp(2rem, 2.4vw, 2.6rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--oif-ink);
}

.oif-lead {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.62;
  font-weight: 400;
  color: var(--oif-ink-muted);
  max-width: min(52rem, 100%);
}

.oif-main {
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
}

.oif-fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--oif-gap);
}

.oif-field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6rem 2rem;
}

.oif-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
}

.oif-label {
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--oif-ink-subtle);
  letter-spacing: 0.01em;
  line-height: 1.35;
}

.oif-label-hint {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--oif-ink-subtle);
  letter-spacing: 0;
  text-transform: none;
}

/* Номер телефона в модалке — как в block-user-profile.html (+1 и маска в JS) */
.other-insurance-form .phone-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 4.6rem;
  min-height: 4.6rem;
  padding: 0;
  margin: 0;
  border: 1px solid var(--oif-border);
  border-radius: var(--oif-radius-sm);
  background-color: #fff;
  overflow: hidden;
  -webkit-transition: border-color 0.18s ease, background-color 0.18s ease,
    -webkit-box-shadow 0.18s ease;
  transition: border-color 0.18s ease, background-color 0.18s ease,
    -webkit-box-shadow 0.18s ease;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease,
    -webkit-box-shadow 0.18s ease;
}

.other-insurance-form .phone-input:focus-within {
  border-color: rgba(61, 74, 92, 0.45);
  background-color: #fff;
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
}

.other-insurance-form .phone-prefix {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch;
  margin: 0;
  padding: 0 1.2rem;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1;
  color: var(--oif-ink-muted);
  background-color: rgba(26, 29, 33, 0.06);
  border: none;
  border-right: 1px solid var(--oif-border);
  border-radius: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.other-insurance-form .phone-number.form-input {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: auto;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch;
  margin: 0;
  padding: 0 1.2rem;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: normal;
  color: var(--oif-ink);
  background: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.other-insurance-form .phone-number::-webkit-input-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .phone-number::-moz-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .phone-number:-ms-input-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .phone-number::-ms-input-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .phone-number::placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .phone-number:focus-visible {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.other-insurance-form .oif-control {
  width: 100%;
  min-height: 4.6rem;
  padding: 0 1.45rem;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--oif-ink);
  background-color: #fff;
  border: 1px solid var(--oif-border);
  border-radius: var(--oif-radius-sm);
  -webkit-transition: border-color 0.18s ease, -webkit-box-shadow 0.18s ease;
  transition: border-color 0.18s ease, -webkit-box-shadow 0.18s ease;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, -webkit-box-shadow 0.18s ease;
}

.other-insurance-form .oif-control:hover:not(:disabled):not(:focus) {
  border-color: var(--oif-border-strong);
}

.other-insurance-form .oif-control:focus {
  outline: none;
}

.other-insurance-form .oif-control:focus-visible {
  border-color: rgba(61, 74, 92, 0.45);
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
}

.other-insurance-form .oif-control:active {
  border-color: rgba(61, 74, 92, 0.35);
}

.other-insurance-form .oif-control::-webkit-input-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .oif-control::-moz-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .oif-control:-ms-input-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .oif-control::-ms-input-placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .oif-control::placeholder {
  color: rgba(26, 29, 33, 0.32);
  font-weight: 400;
}

.other-insurance-form .oif-control:user-invalid:not(:focus) {
  border-color: rgba(180, 60, 60, 0.35);
}

/* Красная рамка у блока телефона (как у .oif-control) — рамка на .phone-input, а не на input */
.other-insurance-form .phone-input:has(.phone-number:user-invalid):not(:focus-within) {
  border-color: rgba(180, 60, 60, 0.35);
}

/* После неудачной отправки без нативного reportValidity() — подсветка по :invalid */
.other-insurance-form.oif-was-validated .phone-input:has(.phone-number:invalid):not(:focus-within) {
  border-color: rgba(180, 60, 60, 0.35);
}

.other-insurance-form.oif-was-validated select.oif-control:invalid:not(:focus) {
  border-color: rgba(180, 60, 60, 0.35);
}

.other-insurance-form .oif-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 3.8rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231a1d21' stroke-opacity='0.45' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.35rem center;
  background-color: #fff;
}

.other-insurance-form .oif-textarea {
  min-height: 14rem;
  padding: 1.25rem 1.45rem;
  resize: vertical;
  line-height: 1.55;
}

.oif-fieldset {
  margin: 0;
  padding: 0;
  border: none;
  min-width: 0;
  width: 100%;
}

.oif-legend {
  padding: 0;
  margin: 0 0 0.85rem 0;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--oif-ink-subtle);
  letter-spacing: 0.01em;
}

@media (min-width: 769px) {
  .oif-label,
  .oif-legend {
    font-size: 1.4rem;
  }
}

.oif-segmented {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: var(--oif-radius-sm);
  border: 1px solid var(--oif-border);
  background-color: #fff;
  overflow: hidden;
}

.oif-segment {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  padding: 1.15rem 1rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: background-color 0.16s ease, color 0.16s ease;
  transition: background-color 0.16s ease, color 0.16s ease;
}

.oif-segment + .oif-segment {
  border-left: 1px solid var(--oif-border);
}

.oif-segment:hover {
  background-color: rgba(26, 29, 33, 0.02);
}

.oif-segment-input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.oif-segment-text {
  position: relative;
  z-index: 0;
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--oif-ink-muted);
  pointer-events: none;
}

.oif-segment:has(.oif-segment-input:checked) {
  background-color: rgba(61, 74, 92, 0.07);
}

.oif-segment:has(.oif-segment-input:checked) .oif-segment-text {
  color: var(--oif-ink);
}

.oif-segment:has(.oif-segment-input:focus-visible) {
  z-index: 1;
  -webkit-box-shadow: inset 0 0 0 2px var(--oif-focus);
          box-shadow: inset 0 0 0 2px var(--oif-focus);
}

.oif-consent {
  padding-top: 0.2rem;
}

.oif-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.15rem;
  cursor: pointer;
}

.oif-checkbox-native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.oif-checkbox-box {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.85rem;
  height: 1.85rem;
  margin-top: 0.15rem;
  border-radius: 0.45rem;
  border: 1px solid var(--oif-border-strong);
  background-color: #fff;
  -webkit-transition: border-color 0.16s ease, background-color 0.16s ease, -webkit-box-shadow 0.16s ease;
  transition: border-color 0.16s ease, background-color 0.16s ease, -webkit-box-shadow 0.16s ease;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, -webkit-box-shadow 0.16s ease;
  position: relative;
}

.oif-checkbox-box::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.55rem;
  height: 0.9rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  margin-top: -0.05rem;
  -webkit-transform: translate(-50%, -55%) rotate(45deg) scale(0);
          transform: translate(-50%, -55%) rotate(45deg) scale(0);
  opacity: 0;
  -webkit-transition: opacity 0.14s ease, -webkit-transform 0.14s ease;
  transition: opacity 0.14s ease, -webkit-transform 0.14s ease;
  transition: transform 0.14s ease, opacity 0.14s ease;
  transition: transform 0.14s ease, opacity 0.14s ease, -webkit-transform 0.14s ease;
}

.oif-checkbox-native:checked + .oif-checkbox-box {
  background-color: var(--oif-accent);
  border-color: var(--oif-accent);
}

.oif-checkbox-native:checked + .oif-checkbox-box::after {
  opacity: 1;
  -webkit-transform: translate(-50%, -55%) rotate(45deg) scale(1);
          transform: translate(-50%, -55%) rotate(45deg) scale(1);
}

.oif-checkbox-native:focus-visible + .oif-checkbox-box {
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
}

.oif-checkbox-text {
  font-size: 1.3rem;
  line-height: 1.5;
  color: var(--oif-ink-muted);
  font-weight: 400;
}

/* Сообщения об ошибках под формой */
.other-insurance-form .oif-form-feedback--inline {
  margin: 0.75rem 0 0;
  min-height: 1.25rem;
  font-size: 0.9rem;
  line-height: 1.35;
  color: var(--account-text-muted, #5c6570);
}

/* Успех: тост внизу экрана (пилюля, как системные уведомления) */
.oif-form-feedback.oif-form-feedback--toast {
  position: fixed;
  left: 50%;
  bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
  z-index: 10050;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.125rem;
  max-width: min(27rem, calc(100vw - 1.5rem));
  margin: 0;
  padding: 1.425rem 2.25rem 1.425rem 1.725rem;
  font-family: inherit;
  font-size: clamp(0.9rem, 2.1vw, 1.425rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: #1f2933;
  border-radius: 9999px;
  -webkit-box-shadow: 0 5px 20px rgba(15, 23, 42, 0.14), 0 2px 5px rgba(15, 23, 42, 0.08);
          box-shadow: 0 5px 20px rgba(15, 23, 42, 0.14), 0 2px 5px rgba(15, 23, 42, 0.08);
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translate3d(-50%, calc(100% + 1.5rem), 0);
          transform: translate3d(-50%, calc(100% + 1.5rem), 0);
  -webkit-transition: opacity 0.28s ease, -webkit-transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.28s ease, -webkit-transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.oif-form-feedback.oif-form-feedback--toast.is-visible {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
}

.oif-form-feedback.oif-form-feedback--toast-success {
  background-color: #d4f0e3;
  border: 2px solid rgba(34, 139, 87, 0.22);
}

.oif-form-feedback__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: #1d6f4a;
}

.oif-form-feedback__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.oif-form-feedback__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

@media (prefers-reduced-motion: reduce) {
  .oif-form-feedback.oif-form-feedback--toast {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }

  .oif-form-feedback.oif-form-feedback--toast:not(.is-visible) {
    opacity: 0;
  }
}

.oif-actions {
  padding-top: 0.4rem;
}

.other-insurance-form .oif-submit {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 4.8rem;
  padding: 1.35rem 2rem;
  margin: 0;
  font-family: inherit;
  font-size: 1.45rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #fafaf9;
  background-color: var(--oif-accent);
  border: none;
  border-radius: var(--oif-radius-sm);
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background-color 0.18s ease, color 0.18s ease, opacity 0.18s ease, -webkit-transform 0.12s ease;
  transition: background-color 0.18s ease, color 0.18s ease, opacity 0.18s ease, -webkit-transform 0.12s ease;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.12s ease, opacity 0.18s ease;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.12s ease, opacity 0.18s ease, -webkit-transform 0.12s ease;
}

.other-insurance-form .oif-submit:hover:not(:disabled) {
  background-color: var(--oif-accent-hover);
}

.other-insurance-form .oif-submit:active:not(:disabled) {
  background-color: var(--oif-accent-active);
  -webkit-transform: translateY(0.5px);
          transform: translateY(0.5px);
}

.other-insurance-form .oif-submit:focus-visible {
  outline: none;
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--oif-focus);
}

.other-insurance-form .oif-submit:disabled {
  color: rgba(26, 29, 33, 0.38);
  background-color: rgba(26, 29, 33, 0.06);
  border-color: var(--oif-border);
  cursor: not-allowed;
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

.oif-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 768px) {
  .account-nav {
    padding: 0;
  }

  .account-nav-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap);
    margin-bottom: 1.2rem;
  }

  .account-nav-text {
    display: none;
  }

  .account-nav-btn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
  }

  .account-nav-btn.support {
    margin-top: 0;
    grid-column: span 3;
  }

  .account-aside {
    width: 100%;
    min-height: unset;
  }

  .account {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .account-tabs {
    width: 100%;
  }

  .account-status-content {
    grid-template-columns: 1fr;
  }

  .account-notification-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .account-info-content {
    grid-template-columns: 1fr;
  }

  .account-info-content:last-of-type {
    grid-template-columns: 1fr;
  }

  .account-info-content:last-of-type .form-group {
    grid-column: span 1;
  }

  .account-status {
    padding: 1.6rem;
    margin-bottom: 2.8rem;
  }

  .account-status h2 {
    margin-bottom: 1.2rem;
  }

  .account-status-item.policy-card {
    padding: 2.2rem 2.2rem 2rem;
  }

  .policy-section {
    margin-bottom: 3.2rem;
  }

  .policy-section:first-of-type {
    margin-top: 1.6rem;
  }

  .policy-section__title {
    font-size: clamp(1.95rem, 1.7rem + 1.1vw, 2.25rem);
    font-weight: 700;
  }

  .policy-section__surface {
    padding: 1.6rem;
    border-radius: 1.8rem;
  }

  .policy-section__divider {
    margin: 1.4rem -1.6rem 1.4rem;
  }

  .policy-section__meta {
    margin-bottom: 1.4rem;
  }

  .policy-section__grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .account .account-notification-head {
    padding: 1.6rem;
    padding-right: 4rem;
  }

  .account-other {
    border-radius: 0;
    padding: 0;
    background-color: transparent;
    margin-bottom: 3.2rem;
  }

  .account-other h2 {
    margin-bottom: 1.2rem;
  }

  .category-item {
    background-color: var(--light-bg);
    border: none;
    background-size: 50% auto;
    -webkit-transition-property: opacity, height, -webkit-transform !important;
    transition-property: opacity, height, -webkit-transform !important;
    transition-property: transform, opacity, height !important;
    transition-property: transform, opacity, height, -webkit-transform !important;
  }

  .category-item.accent {
    -webkit-box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.08);
            box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.08);
  }

  .category-tag {
    font-size: var(--p1-font-size);
    margin-bottom: 4.8rem;
  }

  .account-other-content::before,
  .account-other-content::after {
    content: none;
  }

  .account-info-content.second {
    grid-template-columns: 1fr;
  }

  .account-info {
    padding: var(--block-padding);
    margin-bottom: 3.2rem;
  }

  .account-card {
    padding: var(--block-padding) clamp(1.2rem, 4vw, 1.8rem);
    margin-bottom: 3.2rem;
  }

  .account-card__header {
    flex-direction: column;
    align-items: stretch;
    gap: var(--ac-gap);
  }

  /* Иконка редактирования — в правый верх угла шапки (не строка под email) */
  .account-card:not(.editing) .account-card__header {
    position: relative;
  }

  .account-card:not(.editing) .account-card__actions {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    margin: 0;
    width: auto;
  }

  .account-card:not(.editing) .account-card__identity {
    padding-right: calc(var(--ac-control-h) + 1.2rem);
  }

  .account-card.editing .account-card__actions {
    position: static;
    width: 100%;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .account-card__identity {
    flex: 1 1 auto;
  }

  .account-card__edit {
    width: 100%;
    margin-left: 0;
    align-self: stretch;
  }

  .account-grid--2 {
    grid-template-columns: 1fr;
  }

  .account-grid--2-1 {
    grid-template-columns: 1fr;
  }

  .account-grid--2-1 > .form-group,
  .account-grid--2-1 > .form-group.account-grid__item--wide {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .segmented-control {
    max-width: 100%;
  }

  .account-card__footer {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: var(--ac-gap-sm);
  }

  .account-card .btn {
    width: 100%;
  }

  .account-info .account-info-head {
    margin-bottom: var(--gap);
  }

  .account-notification-banner {
    max-width: unset;
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .account-notification-banner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: unset;
  }

  .account-notification-block h2 {
    margin-bottom: 1.2rem;
  }

  .account-notification-block {
    padding: var(--block-padding);
  }

  .account-notification-item {
    padding: var(--block-padding);
    padding-right: 4rem;
  }

  .account-notification {
    gap: 3.2rem;
  }

  .account-aside-other {
    display: none;
  }

  /* Как у центрированных модалок: сверху виден фон — намёк, что лист можно смахнуть вниз */
  .popup.products {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: clamp(4.8rem, 11vh, 10rem);
    -webkit-transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      background-color 0.35s ease;
    transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      background-color 0.35s ease;
  }

  .popup .popup-tabs {
    /* Avoid nested scrollbars and shadow clipping */
    max-height: none;
    overflow: visible;
    position: relative;
    width: 100%;
    margin-top: auto;
    margin-bottom: 0;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
  }

  .popup .popup-tabs::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 1rem;
    width: 4rem;
    height: 3px;
    background-color: var(--accent);
    border-radius: 5px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }

  .popup.products .popup-tabs {
    min-height: unset;
    margin: 0;
    margin-top: auto;
    padding: 2.4rem;
    background-color: #fff;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    -webkit-transition: -webkit-transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
    transition: -webkit-transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
    transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
    transition:
      transform 0.42s cubic-bezier(0.32, 0.72, 0, 1),
      -webkit-transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
    will-change: transform;
  }

  .popup.products.active .popup-tabs {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }

  @media (prefers-reduced-motion: reduce) {
    .popup.products,
    .popup.products .popup-tabs,
    .popup.products.active .popup-tabs {
      -webkit-transition-duration: 0.01ms !important;
              transition-duration: 0.01ms !important;
    }
  }

  .product-main-item {
    border: 1px solid rgba(20, 22, 21, 0.3019607843);
  }

  .product-main-item * {
    position: relative;
    z-index: 1;
  }

  .product-main-item img {
    z-index: 0;
  }

  .product-subcategory .category-content,
  .product-subcategory .points-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--gap);
  }

  .simple-form {
    grid-template-columns: 1fr;
  }

  .simple-form .login-soc {
    display: none;
  }

  .simple-form .form-group {
    grid-column: span 2;
  }

  .simple-form-btn {
    width: 100%;
  }

  .other-insurance-tab.popup-tab.product-subcategory {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .oif-card {
    gap: 2rem;
    padding: 2.4rem 1.6rem;
    border-radius: var(--border-radius-small);
  }

  .other-insurance-form .oif-card {
    gap: 0;
    padding-top: 0;
    padding-bottom: 2.2rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }

  .oif-field-row {
    grid-template-columns: 1fr;
    gap: var(--oif-gap);
  }

  .oif-segmented {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: none;
  }

  .oif-segment + .oif-segment {
    border-left: none;
    border-top: 1px solid var(--oif-border);
  }

  .oif-segment {
    padding: 1.25rem 1.2rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  .oif-segment-text {
    font-size: 1.4rem;
  }

  .popup .category-item {
    border: 1px solid rgba(20, 22, 21, 0.3019607843);
    -webkit-transition: var(--quad);
    transition: var(--quad);
    -webkit-transition-property: all !important;
    transition-property: all !important;
  }
}

/* ===== modal-health-insurance.html form styles (from accounts/delete/main.css) ===== */
.popup-form {
  padding: var(--block-padding);
  background-color: var(--light-bg);
  border-radius: var(--border-radius);
  width: 80rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* ── Степпер шагов медицинской формы ───────────────────────────────────── */
.popup-form .popup-form-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0;
  margin-bottom: 3.6rem;
}

/* Тонкая линия-разделитель между шагами */
.popup-form .hf-sep {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  min-width: 1.2rem;
  background-color: #dce2ea;
  -ms-flex-negative: 0;
      flex-shrink: 1;
}

/* Базовый шаг */
.popup-form .hf-step {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: color 0.22s ease;
  transition: color 0.22s ease;
  color: #9aa5b1;
  font-size: var(--small-font-size);
}

/* Круглый бейдж с номером шага / галочкой */
.popup-form .hf-step__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background-color: #dce2ea;
  color: #7a8a99;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: background-color 0.22s ease, color 0.22s ease;
  transition: background-color 0.22s ease, color 0.22s ease;
}

/* SVG-галочка внутри бейджа */
.popup-form .hf-step__check {
  width: 1.1rem;
  height: 1.1rem;
  display: block;
}

/* Текст шага */
.popup-form .hf-step__label {
  font-weight: 500;
  -webkit-transition: color 0.22s ease;
  transition: color 0.22s ease;
}

/* ── Выполненный шаг ── */
.popup-form .hf-step--done {
  color: var(--accent);
  opacity: 0.7;
}
.popup-form .hf-step--done .hf-step__badge {
  background-color: var(--accent);
  color: var(--light-bg);
}

/* ── Активный шаг ── */
.popup-form .hf-step--active {
  color: var(--accent);
}
.popup-form .hf-step--active .hf-step__badge {
  background-color: var(--accent);
  color: var(--light-bg);
  -webkit-box-shadow: 0 0 0 3px rgba(79, 90, 129, 0.18);
          box-shadow: 0 0 0 3px rgba(79, 90, 129, 0.18);
}
.popup-form .hf-step--active .hf-step__label {
  font-weight: 600;
}

/* Разделитель после выполненного шага тоже акцентный */
.popup-form .hf-step--done + .hf-sep {
  background-color: var(--accent);
  opacity: 0.25;
}

.popup-form .help {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: help;
  line-height: 0;
  pointer-events: auto;
}

.popup-form .help img {
  display: block;
  width: 2rem;
  height: 2rem;
}

.popup-form .popup-form-promo {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: var(--border-radius-small);
  border: 1px solid var(--Base-Black-30, rgba(20, 22, 21, 0.3));
  background: transparent;
  padding: 3.2rem;
  padding-bottom: 4.5rem;
  margin-bottom: 1.2rem;
}

.popup-form .popup-form-promo h3 {
  margin-top: 3rem;
  z-index: 1;
}

.popup-form .popup-form-promo .tag {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
}

.popup-form .popup-form-promo img {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
}

.popup-form.accent .popup-form-promo {
  background-color: var(--accent-dark);
  border: none;
}

.popup-form.accent .popup-form-promo h3 {
  color: var(--light-bg);
}

.popup-form.accent .popup-form-promo .tag {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--light-bg);
}

.popup-form-page {
  position: relative;
  z-index: -1;
}

.popup-form-page.swiper-slide-active {
  z-index: 1;
}

.popup-form-page h2 {
  font-size: var(--h4-font-size);
  color: rgba(20, 22, 21, 0.2);
  margin-bottom: 0;
}

.popup-form-page .form-group .form-input {
  pointer-events: all;
  border-color: rgba(20, 22, 21, 0.1);
  color: var(--grey);
}

#popup-form-1 .form-input--readonly-account {
  background-color: rgba(20, 22, 21, 0.045);
  color: rgba(20, 22, 21, 0.72);
  cursor: default;
}

#popup-form-1 .form-input--readonly-account:focus {
  outline: none;
}

#popup-form-1 .form-input--readonly-account:focus-visible {
  border-color: rgba(20, 22, 21, 0.14);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.popup-form-page-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: var(--gap);
}

.popup-form-page-head h2 {
  margin-bottom: 1.5rem;
}

.popup-form-page-head p {
  font-size: var(--small-font-size);
}

.popup-form-page-edit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  visibility: visible;
  opacity: 1;
  -webkit-transition: var(--quad);
  transition: var(--quad);
}

.popup-form-page-edit:hover {
  opacity: 0.7;
}

.popup-form-page-edit-submit {
  padding: 1.4rem 2.4rem;
  border-radius: var(--border-radius-small);
  background-color: var(--accent);
  color: var(--light-bg);
}

.popup-form-page-edit-submit:hover {
  background-color: var(--hover-color);
}

.popup-form-page-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
  margin: var(--gap) 0;
  margin-bottom: 4rem;
}

.popup-form-page-content.full-width {
  grid-template-columns: 1fr;
}

.popup-form-page-content.second {
  grid-template-columns: repeat(6, 1fr);
}

.popup-form-page-content.second .form-group {
  grid-column: span 3;
}

.popup-form-page-content.second .form-group:nth-child(n+3) {
  grid-column: span 2;
}

.popup-form-page .form-group {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}

.popup-form-page .form-group .form-label {
  height: 2.2rem;
  font-size: var(--small-font-size);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.popup-form-page .form-group .radio-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.popup-form-page .form-group .radio-group .radio-option {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 1.6rem;
  border-radius: var(--border-radius-small);
  border: 1px solid var(--hover-color);
  background-color: var(--light-bg);
  -webkit-transition: var(--quad);
  transition: var(--quad);
  font-size: var(--small-font-size);
  font-weight: 600;
}

.popup-form-page .form-group .radio-group .radio-option * {
  cursor: inherit;
  pointer-events: none;
}

.popup-form-page .form-group .radio-group .radio-option input {
  display: none;
}

.popup-form-page .form-group .radio-group .radio-option:has(input:checked) {
  color: var(--light-bg);
  background-color: var(--hover-color);
}

.popup-form-page .form-group .custom-select {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  padding: 1.6rem;
  font-size: var(--small-font-size);
  border: 1px solid rgba(20, 22, 21, 0.1);
  border-radius: var(--border-radius-small);
  background: #fff;
  color: var(--grey);
}

.popup-form-page .form-group .custom-select .select-value {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: var(--placeholder-color);
}

.popup-form-page .form-group .custom-select.filled .select-value {
  color: var(--grey);
}

.popup-form-page .form-group .custom-select:focus-within {
  border-color: var(--grey);
  -webkit-box-shadow: 0 0 0 3px rgba(20, 22, 21, 0.08);
          box-shadow: 0 0 0 3px rgba(20, 22, 21, 0.08);
}

.popup-form-page .form-group .select-arrow {
  font-size: 12px;
  color: #8a8f94;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}

.popup-form-page .form-group .custom-select.open .select-arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.popup-form-page .form-group .select-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  max-height: 15rem;
  overflow: auto;
  background: #ffffff;
  border: 1px solid rgba(20, 22, 21, 0.1);
  border-radius: var(--border-radius-small);
  -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: var(--quad);
  transition: var(--quad);
}

.popup-form-page .form-group .custom-select.open .select-dropdown {
  opacity: 1;
  visibility: visible;
}

.popup-form-page .form-group .select-option {
  padding: 1.6rem;
  cursor: pointer;
  -webkit-transition: background 0.1s;
  transition: background 0.1s;
  font-size: var(--small-font-size);
  color: #1f2329;
}

.popup-form-page .form-group .select-option:hover {
  background-color: #f2f4f7;
}

.popup-form-page .form-group.full-width {
  grid-column: span 2;
}

.popup-form .swiper-button-disabled {
  display: none;
}

.popup-form .popup-form-page-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 4rem;
}

.popup-form .popup-form-page-controls:has(.swiper-button-disabled) .popup-form-page-next {
  margin-left: auto;
  margin-right: auto;
}

.popup-form .custom-radio-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  font-size: 1.6rem;
}

.popup-form .custom-radio-group .custom-radio {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  cursor: pointer;
}

.popup-form .custom-radio-group .custom-radio * {
  cursor: inherit;
  pointer-events: none;
}

.popup-form .custom-radio-group .custom-radio .radio-custom {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid rgba(20, 22, 21, 0.1);
  background-color: transparent;
  -webkit-transition: var(--quad);
  transition: var(--quad);
}

.popup-form .custom-radio-group .custom-radio .radio-custom::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: 0;
  border-radius: 50%;
  background-color: var(--accent);
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity var(--quad), visibility var(--quad);
  transition: opacity var(--quad), visibility var(--quad);
}

.popup-form .custom-radio-group .custom-radio input {
  display: none;
}

.popup-form .custom-radio-group .custom-radio input:checked + .radio-custom::before {
  visibility: visible;
  opacity: 1;
}

.popup-form .upload-simple {
  height: 25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px dashed rgba(20, 22, 21, 0.2);
  border-radius: var(--border-radius-small);
  background: var(--light-bg);
  -webkit-transition: var(--quad);
  transition: var(--quad);
  cursor: pointer;
  position: relative;
  margin-top: 0.6rem;
}

.popup-form .upload-simple.drag-over,
.popup-form .upload-simple:hover,
.popup-form .upload-simple.has-file {
  border-color: #141615;
}

.popup-form .upload-simple.drag-over {
  background: #f0f2f5;
}

.popup-form .upload-simple.has-file {
  background: #f8f9fc;
}

.popup-form .upload-simple.has-file-list {
  height: 12rem;
}

.popup-form .upload-simple-content {
  padding: 28px 24px;
  text-align: center;
}

.popup-form .upload-title {
  color: var(--grey);
  font-size: var(--small-font-size);
  font-weight: 600;
  line-height: 110%;
  margin-bottom: 1.4rem;
}

.popup-form .upload-action {
  color: var(--accent);
  text-align: center;
  font-size: var(--small-font-size);
  font-weight: 400;
  line-height: 110%;
}

.popup-form .upload-action:hover {
  color: var(--pressed-color);
}

.popup-form .upload-hint {
  display: none;
  font-size: 11px;
  color: #bdc1c6;
}

.popup-form .upload-simple-input {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
}

.form-hidden {
  visibility: hidden;
  opacity: 0;
  height: 0rem;
  -webkit-transition: var(--quad);
  transition: var(--quad);
}

.form-hidden:not(.active) {
  margin: 0rem;
}

.form-hidden.active {
  visibility: visible;
  opacity: 1;
  height: auto;
}

/*
 * Ошибки ACA (#popup-form-1): только рамка контролов, без подложки и без вертикали слева.
 */
#popup-form-1 {
  --hi-err-border: #c62828;
  --hi-err-border-soft: rgba(198, 40, 40, 0.88);
  --hi-err-focus: rgba(61, 74, 92, 0.28);
}

#popup-form-1 .form-group.has-error .form-input {
  border-color: var(--hi-err-border);
  border-width: 1.5px;
  background-color: #fff;
}

#popup-form-1 .form-group.has-error .form-input:focus-visible {
  outline: none;
  border-color: rgba(61, 74, 92, 0.45);
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--hi-err-focus);
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--hi-err-focus);
}

#popup-form-1 .form-group.has-error .custom-select {
  border-color: var(--hi-err-border);
  border-width: 1.5px;
  background-color: #fff;
}

#popup-form-1 .form-group.has-error .custom-select:focus-within {
  border-color: rgba(61, 74, 92, 0.45);
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--hi-err-focus);
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--hi-err-focus);
}

#popup-form-1 .form-group.has-error .upload-simple {
  border-style: dashed;
  border-width: 1.5px;
  border-color: var(--hi-err-border-soft);
  background-color: #fff;
}

#popup-form-1 .form-group.has-error .upload-simple:hover,
#popup-form-1 .form-group.has-error .upload-simple.has-file {
  border-color: var(--hi-err-border);
}

/* ---- Список загруженных файлов под зоной ---- */
.popup-form .upload-file-list {
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.4rem;
}

.popup-form .upload-file-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  padding: 0.7rem 1rem;
  background: var(--light-bg);
  border: 1px solid rgba(20, 22, 21, 0.1);
  border-radius: var(--border-radius-small);
}

.popup-form .upload-file-name {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: var(--small-font-size);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--dark);
}

.popup-form .upload-file-size {
  font-size: 1.1rem;
  color: var(--grey);
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.popup-form .upload-file-remove {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: none;
  border: none;
  padding: 0.2rem 0.4rem;
  font-size: 1.6rem;
  line-height: 1;
  color: #bdc1c6;
  cursor: pointer;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
}

.popup-form .upload-file-remove:hover {
  color: #c62828;
}

.popup-form .upload-count {
  font-size: 1.1rem;
  color: #bdc1c6;
  margin-top: 0.4rem;
  min-height: 1.4rem;
}

#popup-form-1 .form-group.has-error .radio-group .radio-option {
  border-color: var(--hi-err-border);
  border-width: 1.5px;
  background-color: #fff;
}

#popup-form-1 .form-group.has-error .radio-group .radio-option:has(input:checked) {
  border-color: rgba(61, 74, 92, 0.35);
  background-color: var(--hover-color);
  color: var(--light-bg);
}

/* Квалифицирующие события: группа чекбоксов без .form-input */
#popup-form-1 .form-group.has-error .custom-checkbox-group {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1.5px solid var(--hi-err-border);
  border-radius: 0.95rem;
  padding: 1rem 1.2rem 1.2rem;
}

#popup-form-1 .form-group.has-error .custom-checkbox .checkbox-custom {
  border-color: var(--hi-err-border);
  border-width: 1.5px;
}

.popup-form-page-content .popup-form-page-content,
.popup-form-page-content .popup-form-page-head {
  margin: 0;
  grid-column: span 2;
}

.popup-form-page-content:has(.form-count-generate:not(.active)) ~ .form-count-generated {
  display: none;
}

.custom-checkbox-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}

.custom-checkbox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  cursor: pointer;
}

.custom-checkbox * {
  cursor: inherit;
  pointer-events: none;
}

.custom-checkbox .checkbox-custom {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 0.5rem;
  border: 1px solid rgba(20, 22, 21, 0.1);
  background-color: transparent;
  -webkit-transition: var(--quad);
  transition: var(--quad);
}

.custom-checkbox .checkbox-custom::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='100%' height='100%' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' stroke='%23333'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cpath d='M4 12.6111L8.92308 17.5L20 6.5' stroke='%23000000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-position: center;
  display: block;
  width: 10px;
  height: 10px;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: var(--quad);
  transition: var(--quad);
}

.custom-checkbox input {
  display: none;
}

.custom-checkbox input:checked + .checkbox-custom::before {
  visibility: visible;
  opacity: 1;
}

.popup-form-page .form-group h2.form-label {
  font-size: var(--h4-font-size);
  height: auto;
  color: var(--grey);
  margin-bottom: var(--gap);
}

.popup-form-page-final-block {
  display: grid;
  grid-template-columns: 3fr 7fr;
  gap: 3rem;
}

.popup-form-page-final-value {
  margin: 0;
  font-weight: 400;
  line-height: 1.5;
  color: var(--grey);
}

.popup-form-page-final {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  font-size: var(--small-font-size);
}

.popup-form-page-final h5 {
  font-weight: 600;
  font-size: var(--small-font-size);
}

.popup.catalog.catalog-admin.catalog-client .catalog-price-note {
  font-size: 2.5rem;
}

.popup-form-page-final-persons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.8rem;
}

.popup-form-page-final-persons-item {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 1rem;
}

.popup-form-page-final-persons-title {
  grid-column: span 2;
}

.popup-form-page-final-name {
  color: rgba(20, 22, 21, 0.4);
}

.popup-form-page-final-incomes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}

.popup-form-page-final-incomes-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.popup-form-page-final-incomes .popup-form-page-final-name {
  font-weight: 500;
  color: rgba(20, 22, 21, 0.4);
}

.form-final .popup-form-promo {
  background-color: var(--accent);
  height: 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-repeat: no-repeat;
  background-size: 130% auto;
  background-position: right bottom;
}

.form-final .popup-form-promo img {
  position: absolute;
  right: 0;
  top: 0;
  width: 20rem;
  -o-object-fit: contain;
     object-fit: contain;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.form-final .popup-form-promo h3 {
  color: var(--light-bg);
}

.form-final .form-final-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: rgba(20, 22, 21, 0.4);
  font-size: var(--small-font-size);
  margin-bottom: 2rem;
}

.form-final .form-final-steps-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 4rem;
  font-size: var(--small-font-size);
  color: rgba(20, 22, 21, 0.2);
}

.form-final .form-final-steps-tab svg {
  margin-right: 0.4rem;
}

.form-final .form-final-steps-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background-color: rgba(20, 22, 21, 0.031372549);
  border-radius: var(--border-radius-small);
  margin-bottom: 4rem;
  overflow: hidden;
}

.form-final .form-final-steps-tab.active {
  background-color: var(--accent);
  color: var(--light-bg);
}

.form-final-steps {
  margin-bottom: 4rem;
}

.form-final-steps-item {
  position: relative;
  margin-bottom: var(--gap);
  padding-left: 2.4rem;
  overflow: hidden;
}

.form-final-steps-item h4 {
  margin-bottom: 0.4rem;
}

.form-final-steps-item ul {
  padding-left: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8rem;
}

.form-final-steps-item ul li {
  color: rgba(20, 22, 21, 0.5019607843);
  font-size: var(--p1-font-size);
}

.form-final-steps-item-decoration {
  position: absolute;
  left: 0;
  top: 1rem;
  width: 1.6rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.form-final-steps-item-decoration-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 1.6rem;
  border-radius: 50%;
  border: 1px solid rgba(20, 22, 21, 0.1019607843);
}

.form-final-steps-item-decoration::after {
  content: "";
  width: 1px;
  height: calc(100% - 2.4rem);
  position: absolute;
  background-color: rgba(20, 22, 21, 0.1019607843);
  bottom: 0;
}

.form-final-steps-item:first-of-type .form-final-steps-item-decoration-circle::before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 80%;
  height: 80%;
  border-radius: 50%;
  background-color: var(--accent);
}

.form-final-steps-item:last-of-type .form-final-steps-item-decoration::after {
  content: none;
}

.form-final-steps p {
  color: rgba(20, 22, 21, 0.3019607843);
}

.form-final-steps p a {
  color: var(--accent);
}

.form-final-other {
  margin-bottom: 4rem;
}

.form-final-other-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
}

.form-final-other-content .category-item {
  grid-column: span 1;
  padding: 3.2rem;
  height: 25rem;
  -webkit-box-shadow: 0 5px 12px 0 rgba(92, 92, 92, 0.08);
          box-shadow: 0 5px 12px 0 rgba(92, 92, 92, 0.08);
  border: none;
  background-image: url(../img/icons/account/card-bg.svg);
  background-size: 50% auto;
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.form-final-other-content .category-item h5 {
  font-size: 2.4rem;
  font-weight: 700;
}

.form-final-other-content .category-item:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: 0 12px 24px 0 rgba(92, 92, 92, 0.14);
          box-shadow: 0 12px 24px 0 rgba(92, 92, 92, 0.14);
}

.form-final-other-content .category-item p {
  margin-top: auto;
  color: var(--grey);
}

.form-final-faq {
  margin-bottom: 2rem;
}

.form-final-faq-item {
  margin-bottom: 1.6rem;
}

.form-final-faq-item h5 {
  font-weight: 700;
  font-size: var(--h4-font-size);
  color: rgba(20, 22, 21, 0.5019607843);
  margin-bottom: 0.8rem;
}

.form-final-faq-item p {
  color: rgba(20, 22, 21, 0.5019607843);
}

.form-final-faq-item:last-of-type {
  margin-bottom: 0;
}

.form-final-btn {
  margin: 0 auto;
}

@media (max-width: 768px) {
  .form-final-other-content {
    grid-template-columns: 1fr;
  }

  .form-final-other-content .category-item {
    border: none;
    height: auto;
  }

  .form-final-other-content .category-item .category-tag {
    margin-bottom: 2rem;
  }

  .form-final-other-content .category-item p {
    margin-top: 1rem;
  }

  .form-final-steps-item ul {
    padding-left: 3rem;
  }
}
