.vf-plan-registration {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 24px;
  border: 0;
  box-sizing: border-box;
  background: transparent;
  overflow-y: auto;
  overflow-x: clip;
  overscroll-behavior: contain;
  color: var(--text-dark);
  font-family: var(--font-main);
}
.vf-plan-registration[open] { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; }
.vf-plan-registration::backdrop { background: rgba(15, 30, 24, 0.5); }
.vf-plan-registration .vf-account-cta {
  container-type: inline-size;
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: min(1408px, 73.333333vw);
  margin: auto;
  padding: 0;
  border-radius: 40px;
  background: var(--accent-color);
  animation: vf-registration-rise 360ms cubic-bezier(0.22, 1, 0.36, 1);
}
.vf-plan-registration .vf-account-cta__shape {
  height: 46.662cqw;
  min-height: 0;
  border-radius: inherit;
}
.vf-plan-registration .vf-account-cta__content {
  width: 64cqw;
  max-width: none;
  padding-top: 11.22cqw;
  box-sizing: border-box;
}
.vf-plan-registration .vf-account-cta__title { width: 100%; font-size: 4.6875cqw; line-height: 0.94; }
.vf-plan-registration .vf-account-cta__text { width: 100%; max-width: none; margin-top: 3.409cqw; font-size: 1.5625cqw; line-height: 1.08; }
.vf-plan-registration .vf-account-form { width: min(620px, calc(100cqw - 48px)); margin-top: 3.977cqw; }
.vf-plan-registration .vf-account-form__submit { white-space: nowrap; }
.vf-plan-registration .vf-account-cta__decor--left { display: block; width: 20.313cqw; }
.vf-plan-registration .vf-account-cta__decor--right { display: block; width: 25.355cqw; }
.vf-plan-registration__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 60;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-dark);
  font: 32px/1 var(--font-main);
  cursor: pointer;
}
.vf-plan-registration__close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.vf-plan-registration [data-registration-content] { border-radius: inherit; }
.vf-plan-registration__loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 32px;
  box-sizing: border-box;
  text-align: center;
}
.vf-plan-registration__spinner { width: 36px; height: 36px; border: 3px solid rgba(20,71,15,0.2); border-top-color: var(--text-dark); border-radius: 50%; animation: vf-registration-spin 800ms linear infinite; }
.vf-plan-registration__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@keyframes vf-registration-spin { to { transform: rotate(360deg); } }
@keyframes vf-registration-rise { from { transform: translateY(60vh); } to { transform: translateY(0); } }
@keyframes vf-registration-dim { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
  .vf-plan-registration { padding: 24px 12px 0; }
  .vf-plan-registration[open]::backdrop { animation: vf-registration-dim 250ms ease-out both; }
  .vf-plan-registration[open] { align-items: end; }
  .vf-plan-registration .vf-account-cta { width: 100%; max-width: 390px; margin: auto 0 0; justify-self: center; border-radius: 36px 36px 0 0; }
  .vf-plan-registration .vf-account-cta__shape { height: 626px; }
  .vf-plan-registration .vf-account-cta__content { width: 100%; padding: 56px 16px 0; }
  .vf-plan-registration .vf-account-cta__title { font-size: 31px; line-height: 1.08; }
  .vf-plan-registration .vf-account-cta__text { font-size: 16px; line-height: 1.12; margin-top: 20px; }
  .vf-plan-registration .vf-account-form { width: 320px; max-width: 100%; min-height: 0; grid-template-columns: minmax(0, 1fr); border-radius: 24px; padding: 8px; gap: 8px; margin-top: 24px; }
  .vf-plan-registration .vf-account-form__phone { min-height: 48px; }
  .vf-plan-registration .vf-account-form__submit { min-height: 48px; font-size: 14px; }
  .vf-plan-registration .vf-account-form__status { position: static; grid-row: 3; }
  .vf-plan-registration .vf-account-cta__decor--left { width: 100px; }
  .vf-plan-registration .vf-account-cta__decor--right { width: 190px; }
  .vf-plan-registration .vf-account-form__phone .viva-phone__dropdown { top: auto; bottom: calc(100% + 12px); max-height: 240px; }
  .vf-plan-registration .viva-phone__list { max-height: 160px !important; }
}
@media (max-width: 389px) {
  .vf-plan-registration .vf-account-cta { width: 366px; max-width: none; }
  .vf-plan-registration__close { right: max(12px, calc((366px - 100vw) / 2 + 8px)); }
}
@media (prefers-reduced-motion: reduce) {
  .vf-plan-registration .vf-account-cta { animation: none; }
  .vf-plan-registration[open]::backdrop { animation: none; }
}
