/* Страница „Кандидатстване“: форма в Material 3 */
[hidden] { display: none !important; }

.apply-hero { position: relative; overflow: hidden; text-align: center; padding-block: clamp(32px, 6vw, 72px) clamp(24px, 4vw, 40px); }
.apply-hero .container { position: relative; z-index: 1; }
.apply-hero h1 { margin-top: 20px; }
.apply-hero p { margin: 20px auto 0; }

.apply-wrap { width: min(920px, 100% - var(--gutter) * 2); margin-inline: auto; }
.apply-section { padding-bottom: clamp(56px, 8vw, 112px); position: relative; }

.apply-card { --tf-bg: var(--md-surface-container-lowest); background: var(--md-surface-container-lowest); border: 1px solid var(--md-outline-variant); border-radius: var(--r-2xl); padding: clamp(20px, 4vw, 44px); box-shadow: var(--elev-1); position: relative; }
.apply-card > .banner { margin-bottom: 24px; }
.apply-head { margin-bottom: 32px; }
.apply-head p { margin-top: 8px; }
.req { color: var(--md-error); margin-left: 2px; }

#loanApplicationForm { display: grid; gap: 24px; }
.form-grid { display: grid; gap: 24px 20px; }
@media (min-width: 720px) { .form-grid--2 { grid-template-columns: 1fr 1fr; align-items: start; } }
.form-group { min-width: 0; }

/* Радио бутони в контур, като другите полета */
.tf--choice .tf__box { min-height: 56px; border: 1px solid var(--md-outline); border-radius: var(--r-xs); display: flex; align-items: center; flex-wrap: wrap; gap: 0 24px; padding: 0 16px; transition: border-color var(--dur-s); }
.tf--choice:hover .tf__box { border-color: var(--md-on-surface); }
.tf--choice .tf__label { transform: translateY(-26px) scale(0.75); }
.tf--choice.is-error .tf__box { border-color: var(--md-error); box-shadow: inset 0 0 0 1px var(--md-error); }

.same-address { margin-bottom: 8px; }
#idCardAddressGroup { display: grid; gap: 4px; }
#idCardAddressField[hidden] { display: none !important; }

/* Сума: плъзгач в тонален контейнер */
.slider-field { background: var(--md-surface-container-low); border-radius: var(--r-xl); padding: 16px 20px 12px; border: 1px solid transparent; }
.slider-field.is-error { border-color: var(--md-error); }
.slider-field__label { display: block; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.02em; color: var(--md-on-surface-variant); }
.range-value-display { display: block; width: 100%; padding: 0; margin: 4px 0 0; border: 0; background: transparent; color: var(--md-primary); font: 700 clamp(1.75rem, 1.3rem + 1.4vw, 2.25rem)/1.2 var(--font); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; outline: 0; }
.slider-field .m3-range { margin-top: 4px; }

.form-submit { margin-top: 8px; }
.terms { text-align: center; color: var(--md-on-surface-variant); font-size: 0.875rem; line-height: 1.6; }
.terms a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.error-message { animation: errorShake 0.4s var(--ease-emph); }
@keyframes errorShake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

/* Информация за стойности от калкулатора */
.banner--info { background: var(--md-secondary-container); color: var(--md-on-secondary-container); }
.banner--info .ms { color: var(--md-primary); }
.banner__title { font-weight: 700; font-size: 0.9375rem; }
.banner__vals { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 8px; font-size: 0.9375rem; }
.banner__vals b { color: var(--md-primary); margin-right: 6px; }

/* Успешно изпратена заявка */
.success-card { text-align: center; padding: clamp(32px, 6vw, 64px) clamp(20px, 5vw, 56px); border-radius: var(--r-2xl); background: var(--md-primary-container); color: var(--md-on-primary-container); position: relative; overflow: hidden; }
.success-card > * { position: relative; z-index: 1; }
.success-card .icon-badge { margin: 0 auto 24px; width: 88px; height: 88px; background: var(--md-primary); color: var(--md-on-primary); }
.success-card .icon-badge .ms { font-size: 44px; }
.success-card p { max-width: 36em; margin: 16px auto 0; }
.success-card .btn { margin-top: 32px; }

/* Дългите етикети се събират в рамката и след намаляването им */
.tf--select .tf__label, .tf--choice .tf__label,
.tf__control:focus ~ .tf__label, .tf__control:not(:placeholder-shown) ~ .tf__label { max-width: calc((100% - 24px) / 0.75); }

/* Избор на квартал: меню под полето */
.area-menu { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); max-height: min(336px, 50vh); overflow-y: auto; margin: 0; padding: 8px 0; list-style: none; background: var(--md-surface-container); border-radius: var(--r-xs); box-shadow: var(--elev-2); }
.area-menu li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 0 16px; color: var(--md-on-surface); cursor: pointer; }
.area-menu li:hover, .area-menu li[aria-selected="true"] { background: color-mix(in srgb, var(--md-on-surface) 8%, transparent); }
.area-menu__hint { font-size: 0.875rem; color: var(--md-on-surface-variant); }
.area-menu .area-menu__empty { padding: 12px 16px; color: var(--md-on-surface-variant); cursor: default; line-height: 1.5; }
.area-menu .area-menu__empty:hover { background: none; }
