.connection-form__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.connection-form__submit { width: 100%; height: 48px; min-height: 48px; font-size: 16px; font-weight: 500; line-height: 24px; }
.connection-form .connection-form__input {
    font-size: 16px;
    line-height: 24px;
    font-feature-settings: "lnum" 1, "tnum" 1;
    caret-color: #7700ff;
    text-overflow: ellipsis;
}
.connection-form__input::placeholder { color: rgba(16,24,40,.7); opacity: 1; }
.connection-form__input:disabled::placeholder { color: rgba(16,24,40,.25); }
.connection-form__input:disabled { -webkit-text-fill-color: rgba(16,24,40,.25); }
.connection-form__label {
    position: absolute;
    left: 12px;
    top: 4px;
    right: 40px;
    color: rgba(16,24,40,.5);
    font-size: 12px;
    line-height: 16px;
    pointer-events: none;
    opacity: 0;
}
.connection-form--inline input.connection-form__input:is(:focus, :not(:placeholder-shown), [aria-invalid="true"]) { padding: 20px 40px 4px 12px; }
.connection-form--inline .connection-form__input:is(:focus, :not(:placeholder-shown), [aria-invalid="true"]) ~ .connection-form__label { opacity: 1; }
.connection-form--inline .connection-form__input:is(:focus, [aria-invalid="true"])::placeholder { color: transparent; }
.connection-form--inline .connection-form__input:focus ~ .connection-form__label { color: #7700ff; }
.connection-form--inline .connection-form__input[aria-invalid="true"] ~ .connection-form__label { color: rgba(255,12,12,.8); }
.connection-form [aria-invalid="true"] { outline: none; }
.connection-form__error:empty { display: none; }
.connection-form--inline .connection-form__error { padding: 0 12px; }
.connection-form__city-icon, .connection-form__city-icon img { display: block; flex: none; }
.connection-form .connection-form__select select {
    appearance: none;
    padding-right: 36px;
    background-image: url('../../images/rt-forms/chevron.svg');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 20px 20px;
    cursor: pointer;
}
.connection-form__summary { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.connection-form .lead-form__clear {
    position: absolute;
    top: 12px;
    right: 8px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent url('../../images/rt-forms/close-small.svg') center / 24px 24px no-repeat;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
}
.connection-form .lead-form__clear[hidden] { display: none !important; }
.connection-form__field:has(.lead-form__suggestions:not([hidden]):not(:empty)) { z-index: 20; }
.connection-form .lead-form__suggestions {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 30;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 0;
    border: 0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 0 32px rgba(28,41,61,.05), 0 32px 32px rgba(28,41,61,.06);
    scrollbar-width: thin;
    scrollbar-color: #b5b7c0 rgba(16,24,40,.1);
}
.connection-form .lead-form__suggestions:empty, .connection-form .lead-form__suggestions[hidden] { display: none !important; }
.connection-form .lead-form__suggestions[style*="max-height: 280px"] { max-height: 276px !important; }
.connection-form .lead-form__suggestions:not([style*="top: auto"]) { top: 50px !important; bottom: auto !important; }
.connection-form .lead-form__suggestions[style*="top: auto"] { top: auto !important; bottom: 50px !important; }
.connection-form .address-item, .connection-form .lead-form__suggestions .loading, .connection-form .lead-form__suggestions .no-results {
    padding: 8px 20px;
    color: #101828;
    font-size: 14px;
    line-height: 20px;
    cursor: pointer;
}
.connection-form .address-item > div { color: inherit; font-size: inherit; line-height: inherit; }
.connection-form .address-item .district-name { color: rgba(16,24,40,.5); font-size: 12px; line-height: 16px; }
.connection-form .address-item b { color: inherit; font-size: inherit; line-height: inherit; font-weight: 400; }
.connection-form .lead-form__suggestions .loading, .connection-form .lead-form__suggestions .no-results { color: rgba(16,24,40,.5); cursor: default; }
.connection-form .address-item:is(:hover, :focus, .focused) { color: #7700ff; outline: none; }
.connection-form .address-item:is(:hover, :focus, .focused) .district-name { color: rgba(119,0,255,.5); }
.popup-app, .popup-tariff { align-items: center; align-items: safe center; justify-content: center; padding: 16px; }
.popup-app__wrapper, .popup-tariff__wrapper { position: relative; top: auto; left: auto; transform: none; flex: 0 0 auto; max-width: 100%; max-height: none; overflow: visible; }
.popup-app .connection-form__body, .popup-tariff .connection-form__body { gap: 24px; padding: 12px 20px 16px; border-radius: 8px; background: #f8f8f8; }
.popup-app .connection-form__city, .popup-tariff .connection-form__city, .popup-app .connection-form__label, .popup-tariff .connection-form__label { display: none; }
.popup-app .connection-form__address, .popup-tariff .connection-form__address { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.popup-app .connection-form__details, .popup-tariff .connection-form__details { gap: 20px; }
.popup-app .connection-form__input, .popup-tariff .connection-form__input { height: 32px; padding: 6px 32px 6px 0; font-size: 14px; line-height: 20px; }
.popup-app .connection-form__input:focus, .popup-tariff .connection-form__input:focus { box-shadow: 0 2px 0 #7700ff; }
.popup-app .connection-form__input[aria-invalid="true"], .popup-tariff .connection-form__input[aria-invalid="true"] { box-shadow: 0 2px 0 rgba(255,12,12,.8); }
.popup-app .connection-form__input:disabled::placeholder, .popup-tariff .connection-form__input:disabled::placeholder { color: rgba(16,24,40,.1); }
.popup-app .connection-form__input:disabled, .popup-tariff .connection-form__input:disabled { -webkit-text-fill-color: rgba(16,24,40,.1); }
.popup-app .lead-form__clear, .popup-tariff .lead-form__clear { top: 4px; right: 0; }
.popup-app .lead-form__suggestions:not([style*="top: auto"]), .popup-tariff .lead-form__suggestions:not([style*="top: auto"]) { top: 34px !important; }
.popup-app .lead-form__suggestions[style*="top: auto"], .popup-tariff .lead-form__suggestions[style*="top: auto"] { bottom: 34px !important; }
.popup-app .btn-close, .popup-tariff .btn-close { width: 24px; height: 24px; padding: 0; opacity: 1; background: transparent url('../../images/rt-forms/close.svg') center / 24px 24px no-repeat; }
.connection-form__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 100%; }
.connection-form__price-row { display: flex; align-items: center; gap: 12px; width: 100%; }
.connection-form__price { display: flex; align-items: center; gap: 4px; }
.connection-form__price strong { font-size: 32px; line-height: 1.2; font-weight: 700; }
.connection-form__price-unit { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; color: rgba(16,24,40,.7); font-size: 12px; line-height: 1.2; }
.connection-form__price-unit img { display: block; }
.connection-form__price-note { color: rgba(16,24,40,.7); font-size: 12px; line-height: 1.2; }
.popup-app .connection-form__submit, .popup-tariff .connection-form__submit { width: 172px; height: 44px; min-height: 44px; padding: 12px 40px; font-size: 16px; font-weight: 500; line-height: 20px; }
@media (max-width: 576px) {
    .connection-form__body { gap: 8px; }
    .connection-form__city { padding-top: 4px; padding-bottom: 4px; background: rgba(255,255,255,.8); font-size: 14px; line-height: 20px; }
    .popup-app__wrapper, .popup-tariff__wrapper { width: 100%; }
    .popup-app .connection-form__body, .popup-tariff .connection-form__body { padding-left: 12px; padding-right: 12px; gap: 20px; }
    .popup-app .connection-form__address, .popup-tariff .connection-form__address { grid-template-columns: 1fr; gap: 20px; }
    .popup-app .connection-form__select, .popup-tariff .connection-form__select { width: 140px; }
    .popup-app .connection-form__submit, .popup-tariff .connection-form__submit { width: 100%; }
    .connection-form__price-row { justify-content: space-between; }
}
