/* Формы заявок. Оформление своё — Contact Form 7 снят вместе со своими
   стилями, которые грузились на каждой странице сайта. */

.skform {display: grid; gap: 14px;}
.skform__title {font-size: 22px; font-weight: 800; line-height: 1.25; color: var(--kp-ink, #1c2410);}
.skform__lead {margin: -6px 0 0; font-size: 15px; line-height: 1.5; color: var(--kp-text, #3a4232);}

.skform__row {display: grid; gap: 7px;}
.skform label {font-size: 14px; font-weight: 600; color: var(--kp-ink, #1c2410);}
.skform .req {color: #c0392b;}

.skform input[type="text"], .skform input[type="tel"], .skform textarea {width: 100%; padding: 14px 16px; border: 1.5px solid var(--kp-line, #e7ece0); border-radius: var(--kp-r-md, 12px); background: #fff; color: var(--kp-ink, #1c2410); font: inherit; font-size: 16px; line-height: 1.4;}
.skform textarea {resize: vertical; min-height: 84px;}
.skform input::placeholder, .skform textarea::placeholder {color: #9aa48c;}
.skform input:focus, .skform textarea:focus {outline: none; border-color: var(--kp-lime, #a4d020); box-shadow: 0 0 0 3px rgba(164, 208, 32, .18);}
.skform input:user-invalid {border-color: #e0a0a0;}

.skform__consent {display: flex; align-items: flex-start; gap: 10px; font-size: 13px; font-weight: 400; line-height: 1.45; color: var(--kp-muted, #7c8571); cursor: pointer;}
/* appearance возвращаем явно: style.css темы сбрасывает его у всех чекбоксов,
   и галочка становится белым квадратом на белом фоне — отметить нечего. */
.skform__consent input {flex: none; width: 18px; height: 18px; margin: 1px 0 0; -webkit-appearance: auto; appearance: auto; accent-color: var(--kp-green, #4d9b42); cursor: pointer;}
.skform__consent a {color: var(--kp-green, #4d9b42); text-decoration: underline;}

/* Приманка для роботов: человек её не видит и не наводит на неё курсор.
   display:none некоторые боты распознают, поэтому уводим за пределы экрана. */
.skform__trap {position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden;}

.skform__btn {padding: 16px 30px; border: 0; border-radius: 999px; background: var(--kp-grad, linear-gradient(135deg, #a6d120, #2b8750)); color: #fff; font-size: 16px; font-weight: 700; line-height: 1; cursor: pointer; transition: transform .15s, filter .15s;}
.skform__btn:hover:not(:disabled) {transform: translateY(-1px); filter: brightness(1.06);}
.skform__btn:disabled {opacity: .65; cursor: default;}

.skform__msg {display: none; padding: 13px 16px; border-radius: var(--kp-r-md, 12px); font-size: 14.5px; line-height: 1.5;}
.skform__msg.is-shown {display: block;}
.skform__msg.is-ok {background: rgba(164, 208, 32, .16); color: #35601a;}
.skform__msg.is-err {background: #fdeceb; color: #a33228;}

/* В баннере на лендинге форма стоит на тёмной подложке. */
.skform--dark .skform__title {color: #fff;}
.skform--dark .skform__lead {color: rgba(255, 255, 255, .85);}
.skform--dark label {color: #fff;}
.skform--dark .skform__consent {color: rgba(255, 255, 255, .75);}
.skform--dark .skform__consent a {color: var(--kp-lime, #a4d020);}

@media (max-width: 640px) {
	.skform {gap: 12px;}
	.skform__title {font-size: 19px;}
	.skform input[type="text"], .skform input[type="tel"], .skform textarea {padding: 13px 14px;}
	.skform__btn {width: 100%; padding: 15px 20px;}
}
