/**
 * Единый стиль полей ввода и кнопок на светлом фоне (блог, виджеты, WooCommerce, комментарии).
 *
 * @package ThemeVSS
 */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* --- Поля ввода --- */
.sidebar input[type="text"],
.sidebar input[type="search"],
.sidebar input[type="email"],
.sidebar input[type="tel"],
.sidebar input[type="url"],
.sidebar input[type="password"],
.sidebar textarea,
.sidebar select,
.search-form input[type="search"],
.search-form input.search-field,
.themevss-search-form input[type="search"],
.widget_search input[type="search"],
.widget_search input[type="text"],
.widget input[type="text"],
.widget input[type="search"],
.widget input[type="email"],
.widget textarea,
.widget select,
.woocommerce form .input-text,
.woocommerce form textarea,
.woocommerce form select,
.themevss-catalog-toolbar select,
.page-store__woocommerce .themevss-catalog-toolbar select,
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea,
.wp-block-search__input,
.form-control {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100%;
  background-color: #fff;
  border: 1px solid #d2d2d2;
  color: #333;
  font-family: GolosUI, serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  padding: 12px 18px;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
  -webkit-transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -o-transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sidebar input[type="search"]::-webkit-input-placeholder,
.search-form input[type="search"]::-webkit-input-placeholder,
.themevss-search-form input[type="search"]::-webkit-input-placeholder,
.woocommerce form .input-text::-webkit-input-placeholder,
.form-control::-webkit-input-placeholder {
  color: #747474;
}

.sidebar input[type="search"]::-moz-placeholder,
.search-form input[type="search"]::-moz-placeholder,
.themevss-search-form input[type="search"]::-moz-placeholder,
.woocommerce form .input-text::-moz-placeholder,
.form-control::-moz-placeholder {
  color: #747474;
}

.sidebar input[type="search"]::placeholder,
.search-form input[type="search"]::placeholder,
.themevss-search-form input[type="search"]::placeholder,
.woocommerce form .input-text::placeholder,
.form-control::placeholder {
  color: #747474;
}

.sidebar input[type="text"]:focus,
.sidebar input[type="search"]:focus,
.sidebar input[type="email"]:focus,
.sidebar input[type="tel"]:focus,
.sidebar textarea:focus,
.sidebar select:focus,
.search-form input[type="search"]:focus,
.search-form input.search-field:focus,
.themevss-search-form input[type="search"]:focus,
.widget_search input:focus,
.widget input:focus,
.woocommerce form .input-text:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus,
.themevss-catalog-toolbar select:focus,
.page-store__woocommerce .themevss-catalog-toolbar select:focus,
#commentform input:focus,
#commentform textarea:focus,
.wp-block-search__input:focus,
.form-control:focus {
  border-color: #1a305a;
  outline: none;
  -webkit-box-shadow: 0 0 0 2px rgba(26, 48, 90, 0.12);
  box-shadow: 0 0 0 2px rgba(26, 48, 90, 0.12);
}

.form-control.is-invalid {
  border-color: #dc3545;
}

.form-control.is-valid {
  border-color: #28a745;
}

/* Количество в корзине / карточке товара — компактное поле */
.woocommerce .quantity .qty {
  width: 3.5em;
  min-width: 3.5em;
  padding: 8px 10px;
  text-align: center;
}

/* --- Кнопки отправки и WooCommerce --- */
input[type="submit"]:not(.form__input):not(.form-header__input),
.search-form .search-submit,
.themevss-search-form .search-submit,
.widget_search input[type="submit"],
#commentform input[type="submit"],
#respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.wp-block-search__button {
  display: inline-block;
  background-color: #1a305a;
  color: #fff;
  border: none;
  font-size: 14px;
  font-family: GolosUI, serif;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.3;
  padding: 12px 24px;
  cursor: pointer;
  border-radius: 0;
  -webkit-transition: background-color 0.3s, -webkit-box-shadow 0.3s;
  transition: background-color 0.3s, box-shadow 0.3s;
  transition: background-color 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
}

input[type="submit"]:not(.form__input):not(.form-header__input):hover,
.search-form .search-submit:hover,
.themevss-search-form .search-submit:hover,
.widget_search input[type="submit"]:hover,
#commentform input[type="submit"]:hover,
#respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wp-block-search__button:hover {
  background-color: #0e2146;
  color: #fff;
  -webkit-box-shadow: inset 0 -4px 5px #041026;
  box-shadow: inset 0 -4px 5px #041026;
}

input[type="submit"]:not(.form__input):not(.form-header__input):active,
.search-form .search-submit:active,
.themevss-search-form .search-submit:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active {
  background-color: #1a305a;
  -webkit-box-shadow: inset 0 0 5.8px 0.2px rgba(5, 19, 47, 0.6);
  box-shadow: inset 0 0 5.8px 0.2px rgba(5, 19, 47, 0.6);
}

/* Поиск: поле и кнопка в одну строку */
.search-form,
.themevss-search-form,
.widget_search form,
.woocommerce-product-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.search-form label,
.themevss-search-form .search-form__label,
.widget_search form label {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 180px;
  flex: 1 1 180px;
  margin: 0;
  min-width: 0;
}

.search-form .search-field,
.themevss-search-form .search-field,
.widget_search input[type="search"] {
  width: 100%;
}

.search-form .search-submit,
.themevss-search-form .search-submit,
.widget_search input[type="submit"],
.woocommerce-product-search button[type="submit"] {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.woocommerce-product-search .search-field {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 180px;
  flex: 1 1 180px;
  min-width: 0;
}

/* Блок «Оставить заявку» (.manager) — светлый фон, контрастные поля */
.manager .manager__form .form__input:not([type=submit]),
.manager .manager__form textarea.form__input {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  background-color: #fff;
  border: 1px solid #d2d2d2;
  color: #333;
  font-family: GolosUI, serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  padding: 12px 48px 12px 16px;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
  -webkit-transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -o-transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.manager .manager__form textarea.form__input {
  padding: 12px 16px;
  min-height: 110px;
  resize: vertical;
}

.manager .manager__form .form__input:not([type=submit])::-webkit-input-placeholder,
.manager .manager__form textarea.form__input::-webkit-input-placeholder {
  color: #747474;
}

.manager .manager__form .form__input:not([type=submit])::-moz-placeholder,
.manager .manager__form textarea.form__input::-moz-placeholder {
  color: #747474;
}

.manager .manager__form .form__input:not([type=submit])::placeholder,
.manager .manager__form textarea.form__input::placeholder {
  color: #747474;
}

.manager .manager__form .form__input:not([type=submit]):focus,
.manager .manager__form textarea.form__input:focus {
  border-color: #1a305a;
  outline: none;
  -webkit-box-shadow: 0 0 0 2px rgba(26, 48, 90, 0.12);
  box-shadow: 0 0 0 2px rgba(26, 48, 90, 0.12);
}

.manager .manager__form .form__input:not([type=submit]):invalid:focus,
.manager .manager__form textarea.form__input:invalid:focus {
  border-color: #dc3545;
  -webkit-box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15);
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15);
}

.manager .manager__form .form__img {
  opacity: 0.5;
  pointer-events: none;
}

.manager .manager__form .form-check-privacy .form-check-label {
  color: #495057;
  font-size: 13px;
  line-height: 1.45;
}

.manager .manager__form:not(.was-validated) .invalid-feedback {
  display: none;
}

.manager .manager__form.was-validated .form-check-input:invalid ~ .invalid-feedback {
  display: block;
}
