/*
Theme Name: StylePlus
Description: Дополнительные стили для плагина ProFunctions
Version: 2.1.1
*/

/* vvv Cтили для ссылок в футере */
/*
* Условия использования
* Политика компании по защите персональных данных
*/
.widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)) {
    color: #ffffff !important;
}
.footer-widget-area.content-align-left {
    margin-left: 0px !important;
}
/* ^^^ Cтили для ссылок в футере */


/* vvv Cтили для интеграции Contact Form 7 + Kadence */
/* ===== CF7 ? Kadence: базовая область формы ===== */
.wpcf7 form,
.wpcf7-form {
  background: transparent !important; /* фон формы прозрачный */
}

.wpcf7-form * {
  box-sizing: border-box;
}

/* ===== Типографика и цвета ===== */
.wpcf7-form label {
  display: inline-block;
  margin-top: 0px;
  margin-bottom: 0px;
  color: #FAF7F6;
  font-weight: 500;
  vertical-align: middle; /* чтобы выровнять по высоте с input */
}

/* Текст в полях (full width) */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form textarea {
  width: 100%;                      /* ширина полей по всей ширине контейнера */
  max-width: 100%;
  background: #FAF7F6;              /* фон в полях ввода */
  color: #3E3732;                   /* цвет текста в полях */
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 6px;
  padding: 12px 14px;
  line-height: 1.4;
  margin-bottom: 0px;               /* расстояние между полем и следующим <label>: 5px */
}

/* Интерактивные состояния полей */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: #007CBA;
  box-shadow: 0 0 0 3px rgba(0,124,186,0.15);
}

/* ===== International Telephone Input for CF7 ===== */
.intl-tel-input {                  /* контейнер плагина */
  width: 100%;
}
.intl-tel-input input[type="tel"] {
  width: 100% !important;
  background: #FAF7F6;
  color: #3E3732;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 6px;
  padding: 12px 14px 12px 52px;     /* место под флаг/код страны */
}

/* ===== Чекбоксы ===== */
/* Группа чекбоксов — чтобы выдержать отступ до следующего блока */
.wpcf7-form .checkboxes {
  margin-bottom: 0px;               /* как и для других полей */
}

/* Текст чекбоксов (#FAF7F6). CF7 рендерит label вокруг input при use_label_element */
.wpcf7-form label:has(> input[type="checkbox"]) {
  color: #FAF7F6;                   /* цвет текста чекбоксов */
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  line-height: 1.35;
  margin-bottom: 8px;
}

/* Фоллбэк: красим сам текст внутри CF7-обёртки на случай, если наследование где-то собьётся */
/* текст чекбоксов ТОЛЬКО для обычных форм (не модальных) */
.wpcf7-custom-form:not(.wpcf7-modal-gutenberg) .wpcf7-list-item-label {
  color: #FAF7F6;
}


/* Стилизуем сам чекбокс */
.wpcf7-form input[type="checkbox"].kb-checkbox {
  accent-color: #007CBA;            /* современный способ задать цвет индикатора */
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: 0 0 auto;
}
/* Стилизуем сообщение при снятии флага "Please fill out this field." */
.wpcf7-not-valid-tip {
    background: #FAF7F6; /* цвет фона сообщения */
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
    padding-left: 38px;
}

/* Стилизуем сообщение при незаполненных полях "One or more fields have an error. Please check and try again." */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    background: #FAF7F6;
    color: #dc3232;
}

/* Стилизуем сообщение об отправке "Thank you for your message. It has been sent." */
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    background: #FAF7F6;
    color: #3E3732;
}	

/* ===== Кнопка отправки (стандартный [submit]) ===== */
.wpcf7-form input[type="submit"] {
  background: #007CBA;              /* цвет кнопки */
  color: #FAF7F6;                   /* цвет текста на кнопке */
  border: none;
  border-radius: 6px;
  padding: 18px 16px;
  font-weight: 600;
  line-height: 1;
  width: auto;                      /* ширина по содержимому */
  display: block;                   /* для центрирования margin:auto */
  margin: 14px auto 0;              /* центрирование относительно формы */
  cursor: pointer;
  transition: transform .05s ease, opacity .2s ease;
}
.wpcf7-form input[type="submit"]:hover {
  opacity: .95;
}
.wpcf7-form input[type="submit"]:active {
  transform: translateY(1px);
}

/* ===== Доступность и мелочи ===== */
.wpcf7-form .required {
  color: #FAF7F6;
  margin-left: 4px;
}

/* Текст только для скринридеров */
.wpcf7-form .screen-reader-text {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Настройка спиннера CF7 */
/* Центрируем сам <p> внутри контейнера формы */
#send-button-block {
  text-align: center;      /* выравнивает содержимое по центру */
  margin-top: 14px;        /* внешний отступ сверху */
}

/* Настройка внутреннего p */
#send-button-block > p {
  display: inline-flex;    /* превращаем в строчно-гибкий контейнер */
  align-items: center;     /* центрирует спиннер и кнопку по вертикали */
  justify-content: center; /* горизонтальное выравнивание внутри самого блока */
  gap: 0px;               /* расстояние между кнопкой и спиннером */
  margin-left: -25px;     /* убираем стандартный отступ <p> */
}

.wpcf7-spinner {
 order: -1;
 top: 8px;
 left: -15px;
 margin: 0;
 background-color: #A5A5A5;
}

/* Когда форма в процессе отправки — показываем спиннер */
.wpcf7 form.submitting .wpcf7-spinner {
  opacity: 1;
}

/* Красная рамка для невалидных "your-name"/"your-email"/"your-phone/чекбокы" */
/***************************************************************************/
/* Прячем текстовые подсказки */
.wpcf7-not-valid-tip {
  display: none !important;
}

/* Телефон: красная рамка, если поле пустое (нет ни одной цифры) */
.wpcf7 .intl-tel-input.tel-error {
  outline: none !important;   /* на всякий случай снимаем возможный outline */
}

/* Красная рамка для невалидных "your-name"/"your-email"/"your-phone" */
.wpcf7 form .is-error input[type="text"],
.wpcf7 form .is-error input[type="email"],
.wpcf7 .intl-tel-input.tel-error input[type="tel"] {
  border: 2px solid #dc3232 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(220, 50, 50, 0.15) !important;
  border-radius: 6px;
}

/* Красная рамка для невалидных чекбоксов внутри группы */
.wpcf7 form .is-error input[type="checkbox"],
.wpcf7 form .is-error input[type="radio"] {
  outline: 2px solid #dc3232 !important;
  outline-offset: 2px;
}

/* Ваши системные сообщения — без изменений */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffb900;
  background: #FAF7F6;
  color: #dc3232;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450;
  background: #FAF7F6;
  color: #3E3732;
}
/* ^^^ Cтили для интеграции Contact Form 7 + Kadence */


/* vvv Modal for Contact Form 7 */
/* === CF7 Modal: success-only === */
/* Hide CF7's default response under forms */
.wpcf7 form .wpcf7-response-output { 
  display: none !important; 
}

/* Screen-reader response: keep accessible but off-screen */
.wpcf7 form .screen-reader-response { 
  position: absolute !important; 
  left: -99999px !important; 
  width: 1px !important; 
  height: 1px !important; 
  overflow: hidden !important; 
}

/* Hide inline field tips; keep your own field highlighting */
.wpcf7-not-valid-tip { 
  display: none !important; 
}

/* Modal styles */
.cf7-modal{position:fixed;inset:0;display:none;z-index:99999;}
.cf7-modal.is-open{display:block;}
.cf7-modal__overlay{position:absolute;inset:0;background:rgba(17,24,39,.55);backdrop-filter:saturate(120%) blur(2px);}
.cf7-modal__dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:560px;width:calc(100% - 32px);background:#fff;color:#111827;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:22px 20px;}
.cf7-modal__title{margin:0 0 8px;font-size:20px;line-height:1.3;font-weight:700;}
.cf7-modal__text{margin:0 0 16px;font-size:16px;line-height:1.6;}
.cf7-modal__actions{display:flex;justify-content:flex-end;gap:10px;}
.cf7-modal__btn{appearance:none;border:0;border-radius:10px;cursor:pointer;padding:10px 16px;font-weight:600;background:#111827;color:#fff;}
.cf7-modal__btn:focus{outline:2px solid #2563eb;outline-offset:2px;}
body.cf7-modal-open{overflow:hidden;}

/* ^^^ Modal for Contact Form 7 */


/* vvv CF7 forms inside Gutenberg Modal (new template, wpcf7-modal-gutenberg) */

/* Базовая нормализация только внутри новой формы */
.wpcf7-modal-gutenberg * {
  box-sizing: border-box;
}

/* Обёртка формы в модальном окне */
.wpcf7-modal-gutenberg {
  max-width: 480px;
  margin: 0 auto;
}

.wpcf7-modal-gutenberg > div {
  margin-bottom: 14px;
}

/* Labels (заголовки полей и чекбоксов) */
.wpcf7-modal-gutenberg label {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
  color: #007CBA;
  font-weight: 500;
  font-size: 14px;
  vertical-align: middle;
}

/* Красная звёздочка "обязательно" только внутри этой формы */
.wpcf7-modal-gutenberg .required {
  color: #dc2626;
  margin-left: 4px;
}

/* Layout для чекбоксов (лейбл, внутри которого input[type=checkbox]) */
.wpcf7-modal-gutenberg label:has(> input[type="checkbox"]) {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.35;
  margin-bottom: 8px;
  font-size: 13px;
}

/* Текст описания чекбоксов */
.wpcf7-modal-gutenberg .wpcf7-list-item-label {
  color: #007CBA;
}

/* Текстовые поля и textarea */
.wpcf7-modal-gutenberg input[type="text"],
.wpcf7-modal-gutenberg input[type="email"],
.wpcf7-modal-gutenberg input[type="url"],
.wpcf7-modal-gutenberg input[type="tel"],
.wpcf7-modal-gutenberg input[type="number"],
.wpcf7-modal-gutenberg input[type="date"],
.wpcf7-modal-gutenberg textarea {
  width: 100%;
  max-width: 100%;
  background: #ffffff;
  color: #111827;
  border: 1px solid rgba(15,23,42,0.15);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 0;
}

/* Состояние фокуса для полей */
.wpcf7-modal-gutenberg input[type="text"]:focus,
.wpcf7-modal-gutenberg input[type="email"]:focus,
.wpcf7-modal-gutenberg input[type="url"]:focus,
.wpcf7-modal-gutenberg input[type="tel"]:focus,
.wpcf7-modal-gutenberg input[type="number"]:focus,
.wpcf7-modal-gutenberg input[type="date"]:focus,
.wpcf7-modal-gutenberg textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37,99,235,0.15);
}

/* intl-tel-input только внутри модалки Gutenberg */
.wpcf7-modal-gutenberg .intl-tel-input {
  width: 100%;
}

.wpcf7-modal-gutenberg .intl-tel-input input[type="tel"] {
  width: 100% !important;
  background: #ffffff;
  color: #111827;
  border: 1px solid rgba(15,23,42,0.15);
  border-radius: 8px;
  padding: 10px 12px 10px 52px; /* место под флаг и код страны */
}

/* Группа чекбоксов */
.wpcf7-modal-gutenberg .checkboxes {
  margin-top: 4px;
  margin-bottom: 10px;
}

.wpcf7-modal-gutenberg .wpcf7-list-item {
  margin: 0 0 6px 0;
}

/* Визуальный стиль чекбокса */
.wpcf7-modal-gutenberg input[type="checkbox"].kb-checkbox {
  accent-color: #007CBA;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex: 0 0 auto;
}

/* Прячем подсказки об ошибках и системный ответ ТОЛЬКО в этой форме модалки,
   чтобы визуально оставить только красную рамку вокруг полей */
.wpcf7-modal-gutenberg .wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7-modal-gutenberg .wpcf7-response-output {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Базовые цвета для ответов (если вдруг захочешь включить вывод обратно) */
.wpcf7-modal-gutenberg form.invalid .wpcf7-response-output,
.wpcf7-modal-gutenberg form.unaccepted .wpcf7-response-output,
.wpcf7-modal-gutenberg form.payment-required .wpcf7-response-output {
  border-color: #ffb900;
  background: #FAF7F6;
  color: #dc3232;
}

.wpcf7-modal-gutenberg form.sent .wpcf7-response-output {
  border-color: #46b450;
  background: #FAF7F6;
  color: #3E3732;
}

/* Кнопка отправки */
.wpcf7-modal-gutenberg #send-button-block {
  text-align: center;
  margin-top: 10px;
}

.wpcf7-modal-gutenberg #send-button-block > p {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-left: 0;
}

/* Сама кнопка */
.wpcf7-modal-gutenberg input[type="submit"] {
  background: #007CBA;
  color: #FAF7F6;
  border: none;
  border-radius: 6px;
  padding: 18px 16px;
  font-weight: 600;
  line-height: 1;
  width: auto;
  display: block;
  margin: 14px auto 0;
  cursor: pointer;
  transition: transform .05s ease, opacity .2s ease;
}

.wpcf7-modal-gutenberg input[type="submit"]:hover {
  opacity: .95;
}

.wpcf7-modal-gutenberg input[type="submit"]:active {
  transform: translateY(1px);
}

/* Текст только для скринридеров — внутри формы модалки */
.wpcf7-modal-gutenberg .screen-reader-text {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Спиннер CF7 в модальном окне */
.wpcf7-modal-gutenberg .wpcf7-spinner {
  order: -1;
  top: 8px;
  left: -15px;
  margin: 0;
  background-color: #A5A5A5;
}

/* Показывать спиннер при отправке конкретно этой формы */
.wpcf7-modal-gutenberg form.submitting .wpcf7-spinner {
  opacity: 1;
}

/* Ошибочные состояния только внутри этой формы (красные рамки) */
.wpcf7-modal-gutenberg .intl-tel-input.tel-error {
  outline: none !important;
}

.wpcf7-modal-gutenberg form .is-error input[type="text"],
.wpcf7-modal-gutenberg form .is-error input[type="email"],
.wpcf7-modal-gutenberg .intl-tel-input.tel-error input[type="tel"] {
  border: 2px solid #dc3232 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(220,50,50,0.15) !important;
  border-radius: 6px;
}

.wpcf7-modal-gutenberg form .is-error input[type="checkbox"],
.wpcf7-modal-gutenberg form .is-error input[type="radio"] {
  outline: 2px solid #dc3232 !important;
  outline-offset: 2px;
}

@media (max-width: 1100px) {
.has-text-align-center {
    margin: 0 0 0 0;
	}
.wpcf7-modal-gutenberg * {
    margin: 0 0 0 0;
	}	
.wpcf7-modal-gutenberg #send-button-block > p {
    margin-left: 0;
    margin: 0px 0 0 0;
	}
.wpcf7-modal-gutenberg input[type="text"],
.wpcf7-modal-gutenberg input[type="email"],
.wpcf7-modal-gutenberg input[type="url"], 
.wpcf7-modal-gutenberg input[type="tel"],
.wpcf7-modal-gutenberg input[type="number"],
.wpcf7-modal-gutenberg input[type="date"],
.wpcf7-modal-gutenberg textarea {
    margin-bottom: -10px;
  }	
  
}
/* ^^^ CF7 forms inside Gutenberg Modal (new template, wpcf7-modal-gutenberg) */

