/* Форма заявки (views/constructor/formfeedback.php): compact — полоса, full — карточка, featured — фото + преимущества. */

/* ---- Поля ---- */
.cb-form {display: flex; flex-direction: column; gap: 14px; margin: 0}
.cb-form__fields {display: grid; gap: 14px}
.cb-form__field {display: flex; flex-direction: column; gap: 6px; min-width: 0}
.cb-form__label {color: var(--cb-heading); font-size: 14px; font-weight: 600; line-height: 1.3}
.cb-form__req {margin-left: 3px; color: var(--cb-accent)}
.cb .cb-form__input {width: 100%; min-height: 52px; padding: 13px 16px; border: 1px solid var(--cb-input-border); border-radius: var(--cb-radius-sm); background: var(--cb-input-bg); color: var(--cb-heading); font: inherit; font-size: 16px; line-height: 1.4; outline: none; transition: border-color var(--cb-transition), box-shadow var(--cb-transition)}
.cb textarea.cb-form__input {min-height: 110px; resize: vertical}
.cb .cb-form__input::placeholder {color: var(--cb-fg-muted); opacity: .9}
.cb .cb-form__input:focus {border-color: var(--cb-primary); box-shadow: 0 0 0 3px var(--cb-accent-soft)}
.cb .cb-form__input[aria-invalid="true"] {border-color: var(--cb-danger); box-shadow: 0 0 0 3px rgba(214, 69, 69, .15)}
.cb-form__error {margin: 0; color: var(--cb-danger); font-size: 13px; line-height: 1.35}
.cb-tone--dark .cb-form__error, .cb-on-dark .cb-form__error {color: var(--cb-danger-on-dark)}
.cb-on-light .cb-form__error {color: var(--cb-danger)}
.cb-form__trap {position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden}
.cb-form__consent {display: flex; align-items: flex-start; gap: 10px; margin: 0; color: var(--cb-fg); font-size: 13px; font-weight: 400; line-height: 1.45; cursor: pointer}
.cb-form__consent input {flex-shrink: 0; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--cb-primary); appearance: auto; -webkit-appearance: auto}
.cb-form__consent a {color: inherit; text-decoration: underline; text-underline-offset: 2px}
.cb-form__consent-wrap {display: flex; flex-direction: column; gap: 4px}
.cb-form__status {margin: 0; font-size: 14px; line-height: 1.45}
.cb-form__status:empty {display: none}
.cb-form__status--error {color: var(--cb-danger)}
.cb-tone--dark .cb-form__status--error {color: var(--cb-danger-on-dark)}
.cb-on-light .cb-form__status--error {color: var(--cb-danger)}
.cb-form__submit[disabled] {opacity: .7; cursor: progress; transform: none !important}
.cb .cb-form__title {margin: 0 0 6px; color: var(--cb-heading); font-size: 22px; font-weight: 700; line-height: 1.25}
.cb .cb-form__lead {margin: 0 0 18px; color: var(--cb-fg); font-size: 15px; line-height: 1.55}

/* Успешная отправка */
.cb-form__success {display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 28px 12px; text-align: center; color: var(--cb-heading); font-size: 17px; font-weight: 600; line-height: 1.45}
.cb-form__success::before {content: ""; width: 56px; height: 56px; border-radius: 50%; background: var(--cb-primary) no-repeat center / 26px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5 9.5 18 20 6.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* ---- Компактная полоса: заголовок слева, поля и кнопка в строку ---- */
.cb-form-box--compact {display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(20px, 4vw, 56px); align-items: center}
.cb-form-box--compact .cb-title {margin-bottom: 0}
.cb-form-box--compact .cb-title__h {font-size: clamp(26px, 2.6vw, 36px)}
.cb-form--inline .cb-form__fields {grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); align-items: start}
.cb-form--inline .cb-form__submit {min-height: 52px; white-space: nowrap}
.cb-form--inline .cb-form__field--message {grid-column: 1 / -1}

/* ---- Расширенная: заголовок сверху, форма-карточка ---- */
.cb-form-box--full {max-width: 720px; margin-inline: auto}
.cb-form-box--full.cb-form-box--left {margin-inline: 0}
.cb-form-box--full .cb-form-box__body {padding: clamp(22px, 3vw, 36px); border: 1px solid var(--cb-card-border); border-radius: calc(var(--cb-radius) * 1.4); background: var(--cb-card-bg); box-shadow: var(--cb-card-shadow)}
.cb-form-box--full .cb-form-box__head .cb-title {margin-bottom: clamp(22px, 3vw, 34px)}
.cb-form-box--full .cb-form__fields {grid-template-columns: repeat(2, minmax(0, 1fr))}
.cb-form-box--full .cb-form__field--message, .cb-form-box--full .cb-form__field--email {grid-column: 1 / -1}

/* ---- С фоном и преимуществами ---- */
.cb--formfeedback.cb-view--featured {overflow: hidden}
.cb-form-featured {position: relative; isolation: isolate}
.cb-form-featured--image {margin-block: calc(-1 * var(--cb-section-py)); padding-block: var(--cb-section-py)}
.cb-space--compact .cb-form-featured--image {margin-block: calc(-1 * var(--cb-section-py-compact)); padding-block: var(--cb-section-py-compact)}
.cb-space--none .cb-form-featured--image {margin-block: 0; padding-block: clamp(48px, 6vw, 88px)}
.cb-form-featured__media {position: absolute; inset: 0; z-index: -1; background: var(--cb-darkbg)}
.cb-form-featured__media picture, .cb .cb-form-featured__img {display: block; width: 100%; height: 100%; object-fit: cover}
.cb-form-featured__media::after {content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 18, 26, calc(var(--cb-overlay) + .08)), rgba(10, 18, 26, calc(var(--cb-overlay) - .1)))}
.cb-form-featured__wrap {display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 460px); gap: clamp(28px, 5vw, 72px); align-items: center}
.cb-form-featured__info .cb-title {margin-bottom: 24px}
.cb-form-featured__info-title {margin: 0 0 8px; color: var(--cb-heading); font-size: 20px; font-weight: 700}
.cb .cb-form-featured__info-text {margin: 0 0 22px; color: var(--cb-fg); line-height: 1.6}
.cb-form-featured__features {display: grid; gap: 16px; margin: 0; padding: 0; list-style: none}
.cb-form-featured__features li {display: flex; gap: 14px; align-items: flex-start}
.cb-form-featured__features .cb-icon-box {width: 46px; height: 46px; border-radius: 12px; font-size: 22px}
.cb-form-featured__features b {display: block; margin-bottom: 2px; color: var(--cb-heading); font-size: 16px}
.cb-form-featured__features span > span {display: block; color: var(--cb-fg); font-size: 15px; line-height: 1.5}
.cb-form-featured__card {padding: clamp(22px, 3vw, 36px); border-radius: calc(var(--cb-radius) * 1.4); background: #fff; box-shadow: 0 30px 70px rgba(10, 18, 26, .28)}

@media (max-width: 991px) {
    .cb-form-box--compact, .cb-form-featured__wrap {grid-template-columns: 1fr}
}
@media (max-width: 575px) {
    .cb-form-box--full .cb-form__fields {grid-template-columns: 1fr}
    .cb-form--inline .cb-form__fields {grid-template-columns: 1fr}
    .cb-form-featured__card {padding: 20px 16px}
}

.cb .cb-form__interest {margin: 0; padding: 8px 12px; border-radius: var(--cb-radius-sm); background: var(--cb-accent-soft); color: var(--cb-heading); font-size: 14px; font-weight: 600}
