/* Формы заявок темы (inc/forms.php). Вместо стилей Contact Form 7. Один селектор — одна строка. */
.spkform{display:flex;flex-direction:column;gap:12px;font-size:14px;}
.spkform__fields{display:grid;gap:10px;}
.spkform--inline .spkform__fields{grid-template-columns:1fr 1fr 1fr;}
.spkform__row{display:block;margin:0;}
.spkform input:not([type=checkbox]),.spkform select,.spkform textarea{width:100%;height:46px;border-radius:16px;border:1px solid transparent;padding:0 20px;font:inherit;font-size:14px;color:#1e1e1e;background:#fff;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;}
.spkform textarea{height:96px;padding:14px 20px;resize:none;display:block;}
.spkform select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23448882' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer;}
.spkform input::placeholder,.spkform textarea::placeholder{color:#8a8f94;}
.spkform input:focus,.spkform select:focus,.spkform textarea:focus{outline:none;border-color:var(--color-green);box-shadow:0 0 0 3px rgba(68,136,130,.25);}
.spkform input:user-invalid,.spkform textarea:user-invalid{border-color:#ff8a8a;}
.spkform__consent{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;cursor:pointer;margin:4px 0 0;font-size:13px;line-height:1.5;color:rgba(255,255,255,.72);user-select:none;}
.spkform__consent input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:1px 0 0;border:2px solid rgba(255,255,255,.35);border-radius:5px;background:transparent;cursor:pointer;transition:.2s;box-sizing:border-box;}
.spkform__consent:hover input{border-color:rgba(255,255,255,.6);}
.spkform__consent input:checked{background:var(--color-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/60% no-repeat;border-color:var(--color-green);}
.spkform__consent input:focus-visible{outline:2px solid var(--color-green);outline-offset:2px;}
.spkform__consent a{color:var(--color-green);text-decoration:underline;text-underline-offset:3px;}
.spkform__consent a:hover{color:#5aa59e;}
.spkform__trap{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.spkform__bottom{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px;}
.spkform__btn{background:var(--color-green);color:#fff;border:none;padding:13.5px 40px;border-radius:12px;font:inherit;font-weight:500;font-size:16px;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 8px 20px rgba(68,136,130,.25);}
.spkform__btn:hover{background:#3d7a75;transform:translateY(-1px);}
.spkform__btn:active{transform:translateY(0);}
.spkform__btn:disabled{opacity:.6;cursor:wait;transform:none;}
.spkform__note{font-size:13px;line-height:1.4;color:rgba(255,255,255,.7);max-width:320px;}
.spkform__msg{display:none;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.4;}
.spkform__msg.is-shown{display:block;}
.spkform__msg.is-ok{background:rgba(68,136,130,.18);color:#c9ebe7;border:1px solid rgba(68,136,130,.5);}
.spkform__msg.is-err{background:rgba(255,120,120,.12);color:#ffc4c4;border:1px solid rgba(255,120,120,.4);}
@media (max-width:991px){.spkform--inline .spkform__fields{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.spkform--inline .spkform__fields{grid-template-columns:1fr;}.spkform__bottom{flex-direction:column;align-items:stretch;}.spkform__btn{width:100%;}.spkform__note{max-width:none;}}
/* Форма в тёмной модалке: поля в один столбец, без белой заливки-«кирпича» */
.modal .spkform input:not([type=checkbox]),.modal .spkform select,.modal .spkform textarea{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff;border-radius:12px;}
.modal .spkform input::placeholder{color:rgba(255,255,255,.45);}
.modal .spkform input:focus{background:rgba(255,255,255,.1);}
.modal .spkform__btn{width:100%;}
/* Доступное скрытие подписи */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* Форма первого экрана: старые правила .first-step-form label ломают сетку согласия */
.first-step-form .spkform__consent{display:grid;align-items:start;}
.first-step-form .spkform textarea{margin:0;}
