/* Форма обратной связи. Компактные поля, без анимаций, меняющих высоту (ничего не «прыгает»). */
.sdw-form{--sdw-line:color-mix(in oklab,currentColor 28%,transparent);--sdw-line-h:color-mix(in oklab,currentColor 55%,transparent);--sdw-bg:color-mix(in oklab,currentColor 4%,transparent);--sdw-err:#d93025;--sdw-ok:#1e8e3e;
	display:grid;gap:14px;width:100%;max-width:720px;font-size:16px;line-height:1.4;position:relative}
.sdw-form *,.sdw-form *::before,.sdw-form *::after{box-sizing:border-box}
.sdw-form{--sdw-fg:#111;--sdw-on:#fff}
.dark .sdw-form,.dark.sdw-form{--sdw-err:#ff6b61;--sdw-ok:#5fd382;--sdw-fg:#fff;--sdw-on:#111}

.sdw-form__msgs{display:none!important}
.sdw-form__trap{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.sdw-form__group{border:0;margin:0;padding:0;min-width:0}
.sdw-form__label{display:block;padding:0;margin:0 0 8px;font-size:14px;font-weight:500;line-height:1.3}
.sdw-form__label b{color:var(--sdw-err);font-weight:500}
.sdw-form__opt{font-weight:400;opacity:.55}

/* Варианты услуг: небольшие «таблетки» */
.sdw-chips{display:flex;flex-wrap:wrap;gap:8px}
.sdw-chip{display:inline-flex;cursor:pointer;position:relative}
.sdw-chip input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.sdw-chip span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--sdw-line);border-radius:999px;font-size:14px;line-height:1;background:transparent;transition:background-color .15s,border-color .15s}
.sdw-chip input:not(:checked) + span:hover{border-color:var(--sdw-line-h);background:var(--sdw-bg)}
.sdw-chip input:checked + span{background:var(--sdw-fg);border-color:var(--sdw-fg);color:var(--sdw-on)}
.sdw-chip input:focus-visible + span{outline:2px solid #ffd60a;outline-offset:2px}

.sdw-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sdw-field{min-width:0;display:flex;flex-direction:column}

/* Поля: высота 44px, фон и рамка */
.sdw-input{display:block;width:100%;height:44px;padding:0 14px;margin:0;border:1px solid var(--sdw-line);border-radius:10px;background:var(--sdw-bg);color:inherit;font:inherit;font-size:16px;line-height:1.3;outline:0;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.sdw-input--area{height:auto;min-height:88px;max-height:240px;padding:10px 14px;resize:vertical}
.sdw-input::placeholder{opacity:.45}
.sdw-input:hover{border-color:var(--sdw-line-h)}
.sdw-input:focus{border-color:currentColor;box-shadow:0 0 0 3px color-mix(in oklab,currentColor 12%,transparent)}
.sdw-input.is-invalid{border-color:var(--sdw-err)}

/* Место под текст ошибки зарезервировано заранее — форма не двигается */
.sdw-field__err{display:block;min-height:16px;margin-top:3px;font-size:13px;line-height:16px;color:var(--sdw-err)}

.sdw-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.45}
.sdw-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:currentColor;cursor:pointer}
.sdw-check a{text-decoration:underline;text-underline-offset:3px;font-weight:500}
.sdw-check.is-invalid{color:var(--sdw-err)}

.sdw-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.sdw-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:160px;height:48px;padding:0 28px;border:0;border-radius:999px;background:var(--sdw-fg);color:var(--sdw-on);cursor:pointer;font:inherit;font-size:16px;font-weight:500;transition:opacity .15s,transform .1s}
.sdw-btn:hover{opacity:.88}
.sdw-btn:active{transform:scale(.98)}
.sdw-btn:focus-visible{outline:2px solid #ffd60a;outline-offset:3px}
.sdw-btn[disabled]{cursor:progress;opacity:.7}
.sdw-btn__spin{display:none;position:absolute;right:14px;width:16px;height:16px;border-radius:50%;border:2px solid var(--sdw-on);border-right-color:transparent;animation:sdw-spin .7s linear infinite}
.sdw-form.is-loading .sdw-btn__spin{display:block}
@keyframes sdw-spin{to{transform:rotate(360deg)}}

.sdw-form__status{margin:0;flex:1 1 220px;min-height:22px;font-size:15px;line-height:22px}
.sdw-form__status.is-ok{color:var(--sdw-ok)}
.sdw-form__status.is-error{color:var(--sdw-err)}

@media (max-width:640px){
	.sdw-form{gap:12px}
	.sdw-form__status{min-height:44px}
	.sdw-form__row{grid-template-columns:1fr;gap:16px}
	.sdw-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.sdw-btn__spin{animation-duration:1.6s}}

/* Созвон: блок появляется по галочке */
.sdw-call{display:grid;gap:12px;padding:16px;border:1px solid var(--sdw-line);border-radius:14px;background:var(--sdw-bg)}
.sdw-call[hidden]{display:none}
.sdw-call__tz{margin:0;font-size:14px;line-height:1.45}
.sdw-call__tz b{font-weight:500}
.sdw-call__note{margin:0;font-size:13px;line-height:1.4;opacity:.6}
.sdw-input[type=date],.sdw-input[type=time]{min-width:0;color-scheme:light}
.dark .sdw-input[type=date],.dark .sdw-input[type=time],.dark.sdw-form .sdw-input[type=date],.dark.sdw-form .sdw-input[type=time]{color-scheme:dark}
.sdw-input[type=date]::-webkit-date-and-time-value,.sdw-input[type=time]::-webkit-date-and-time-value{text-align:left}

/* Почта: знак @ — векторная иконка */
.sdw-mail-text{white-space:nowrap}
.sdw-at{display:inline-block;width:.85em;height:.85em;margin:0 .12em;vertical-align:-.1em}
