/* WestClimate: общие цвета сайта (светлая и тёмная тема) и переключатель темы.
   Подключается на всех страницах (сниппет wc-design). Тёмная тема включается сама,
   если у посетителя тёмная тема в телефоне или компьютере; кнопка в шапке переключает вручную
   (выбор запоминается в браузере: html[data-theme="light"|"dark"]). */

:root{
  --navy:#333a4d; --navy-2:#2a3040;
  --teal:#0b7285; --cyan:#1cc8ec;
  --green:#1a6e3c; --green-2:#14592f;
  --bg:#ffffff; --soft:#f3f4f6; --card:#ffffff;
  --text:#333a4d; --head:#232838; --muted:#5b6377;
  --line:#e1e4ea; --field:#ffffff; --field-line:#cfd4dc;
  --ph:#e6e9ec; --check:#e6f3ea; --opt-on:#edf6f0;
  --band:#333a4d; --band-2:#2a3040; --band-text:#ffffff;
  --accent:#0b7285; --shadow:0 12px 28px rgba(20,28,45,.10);
  --logo-filter:none;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#11161f; --soft:#171d29; --card:#1c2332;
    --text:#d9dee7; --head:#f2f4f8; --muted:#a1a9b8;
    --line:#2a3244; --field:#161c27; --field-line:#3a4459;
    --ph:#222a39; --check:#173526; --opt-on:#173526;
    --band:#0c1018; --band-2:#080b11; --band-text:#eef1f5;
    --accent:#4fc3d6; --shadow:0 12px 28px rgba(0,0,0,.45);
    --logo-filter:invert(1) hue-rotate(180deg) brightness(1.15);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#11161f; --soft:#171d29; --card:#1c2332;
  --text:#d9dee7; --head:#f2f4f8; --muted:#a1a9b8;
  --line:#2a3244; --field:#161c27; --field-line:#3a4459;
  --ph:#222a39; --check:#173526; --opt-on:#173526;
  --band:#0c1018; --band-2:#080b11; --band-text:#eef1f5;
  --accent:#4fc3d6; --shadow:0 12px 28px rgba(0,0,0,.45);
  --logo-filter:invert(1) hue-rotate(180deg) brightness(1.15);
  color-scheme:dark;
}

html,body{background:var(--bg)}

/* переключатель темы */
.wc-theme-btn{
  display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;margin:0;
  border:1px solid var(--line);border-radius:3px;background:var(--card);color:var(--text);cursor:pointer;
  transition:border-color .2s,color .2s;
}
.wc-theme-btn:hover{border-color:var(--accent);color:var(--accent)}
.wc-theme-btn svg{width:20px;height:20px;display:block}
.wc-theme-btn .wc-i-sun{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .wc-theme-btn .wc-i-sun{display:block}
  :root:not([data-theme="light"]) .wc-theme-btn .wc-i-moon{display:none}
}
:root[data-theme="dark"] .wc-theme-btn .wc-i-sun{display:block}
:root[data-theme="dark"] .wc-theme-btn .wc-i-moon{display:none}

/* логотип (чёрные буквы) на тёмном фоне становится светлым, голубой знак остаётся голубым */
.wc-logo img,
.page .header .logo img{filter:var(--logo-filter)}

/* окна «Обратный звонок» и «Спасибо» (на всех страницах, включая главную) */
.modal .m-content{background:var(--card)!important;border-radius:8px;overflow:hidden}
.modal .m-content .c{background:transparent!important}
.modal .m-content .c :is(h3,.h3,h6){color:var(--head)!important;text-transform:none}
.modal .m-content .c .success_h3{color:var(--accent)!important}
.modal form :is(input[type=text],input[type=tel],input[type=email]){background-color:var(--field)!important;color:var(--text)!important;border:1px solid var(--field-line)!important;border-radius:3px!important}
.modal input.wpcf7-submit{border:0;border-radius:3px!important;background:var(--green)!important;color:#fff!important;box-shadow:none!important;font-weight:700;cursor:pointer}
.modal input.wpcf7-submit:hover{background:var(--green-2)!important}
.modal .m-content .c small,.modal .m-content .c small a{color:var(--muted)}
/* окна открываются через fancybox: его белая рамка тоже в цветах темы */
.fancybox-slide--html .fancybox-content{background:var(--card)!important;color:var(--text);border-radius:8px}
.fancybox-slide--html .fancybox-close-small{color:var(--muted)}
.fancybox-slide--html .fancybox-content .modal .m-content{border-radius:0}

/* ================= фон «схема вентиляции» (assets/images/wc-ducts.svg) =================
   Рисунок используется как маска, цвет и прозрачность берутся из темы.
   На светлых участках узор слабее у левого края, где текст. Плитка 1280×840 из четырёх разных схем. */
:root{--pat:#2c4a63;--pat-op:.13;--pat-band:#ffffff;--pat-band-op:.09;--pat-size:1120px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--pat:#9fb6cc;--pat-op:.08;--pat-band-op:.07}}
:root[data-theme="dark"]{--pat:#9fb6cc;--pat-op:.08;--pat-band-op:.07}

/* светлые участки */
.wc-hero,.wc-soft,
.page .breadcrumbs,.page > .header ~ .header,.page2 .main.newbg,.page .wc-404,
/* тёмные участки */
.wc-calc,.wc-footer,.page .get_calc,.page .footer,
.page2 .main.service_main .main_cont,.page2 .main.object_main .main_cont,.page2 .main.systems_main .main_cont{
  position:relative;isolation:isolate;
}
.wc-hero::before,.wc-soft::before,
.page .breadcrumbs::before,.page > .header ~ .header::before,.page2 .main.newbg::before,.page .wc-404::before,
.wc-calc::before,.wc-footer::before,.page .get_calc::before,.page .footer::before,
.page2 .main.service_main .main_cont::before,.page2 .main.object_main .main_cont::before,.page2 .main.systems_main .main_cont::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:var(--pat);opacity:var(--pat-op);
  -webkit-mask:url(../images/wc-ducts.svg) 0 0/var(--pat-size) auto repeat,linear-gradient(90deg,rgba(0,0,0,.25) 0%,#000 45%);
  -webkit-mask-composite:source-in;
  mask:url(../images/wc-ducts.svg) 0 0/var(--pat-size) auto repeat,linear-gradient(90deg,rgba(0,0,0,.25) 0%,#000 45%);
  mask-composite:intersect;
}
/* на тёмных полосах узор светлый и по всей ширине */
.wc-calc::before,.wc-footer::before,.page .get_calc::before,.page .footer::before,
.page2 .main.service_main .main_cont::before,.page2 .main.object_main .main_cont::before,.page2 .main.systems_main .main_cont::before{
  background:var(--pat-band);opacity:var(--pat-band-op);
  -webkit-mask:url(../images/wc-ducts.svg) 0 0/var(--pat-size) auto repeat;
  mask:url(../images/wc-ducts.svg) 0 0/var(--pat-size) auto repeat;
}
/* узкие полосы: узор мельче и спокойнее */
.page .breadcrumbs::before,.page .footer::before,.wc-footer::before{opacity:calc(var(--pat-op) * .8)}
@media (max-width:720px){:root{--pat-size:820px}}

/* ================= окна «Обратный звонок» и «Спасибо» (новое оформление, 22.10) ================= */
.fancybox-slide--html .fancybox-content.wc-modal,
.fancybox-slide--html .wc-modal{width:100%;max-width:460px;padding:0!important;border-radius:10px;box-shadow:0 24px 60px rgba(10,16,28,.35);overflow:hidden}
.wc-modal .m-content{max-width:none;border-radius:0!important}
.wc-modal .m-content .c{padding:40px 36px 30px!important;text-align:left;font-family:'Montserrat',Arial,sans-serif}
.wc-modal .wc-modal-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.wc-modal .wc-modal-eyebrow::before{content:"";width:22px;height:3px;background:var(--cyan)}
.wc-modal .m-content .c h3,.wc-modal .m-content .c .h3{margin:0 0 10px!important;padding:0!important;text-align:left;font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.01em;color:var(--head)!important}
.wc-modal .wc-modal-text{margin:0 0 22px;font-size:15px;line-height:1.55;color:var(--muted)}
.wc-modal form p{margin:0 0 12px!important;padding:0}
.wc-modal form br{display:none}
.wc-modal .wpcf7-form-control-wrap{display:block}
.wc-modal form :is(input[type=text],input[type=tel],input[type=email]){
  display:block;width:100%!important;max-width:none!important;height:54px;margin:0!important;padding:0 16px!important;
  border:1px solid var(--field-line)!important;border-radius:4px!important;background:var(--field)!important;color:var(--text)!important;
  font:400 16px 'Montserrat',Arial,sans-serif!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s;
}
.wc-modal form :is(input[type=text],input[type=tel],input[type=email]):focus{outline:0;border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(28,200,236,.18)!important}
.wc-modal .btn_b{margin:6px 0 0!important;padding:0;width:100%}
.wc-modal .btn_b p{margin:0!important}
.wc-modal input.wpcf7-submit{display:block;width:100%!important;min-width:0!important;height:56px;margin:0!important;padding:0 20px!important;font:700 16px/1 'Montserrat',Arial,sans-serif!important;border-radius:4px!important}
.wc-modal .wc-modal-note{margin:16px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.wc-modal .wc-modal-note a,.wc-modal h6 a{color:var(--accent);font-weight:600;white-space:nowrap}
/* «Спасибо» */
.wc-modal .wc-modal-ok{display:grid;place-items:center;width:56px;height:56px;margin:0 0 18px;border-radius:50%;background:var(--check);color:var(--green)}
.wc-modal .wc-modal-ok svg{width:28px;height:28px}
.wc-modal .m-content .c .success_h3{font-size:28px;color:var(--head)!important}
.wc-modal .m-content .c h6{margin:0!important;padding:0!important;text-align:left;font-size:16px;line-height:1.55;font-weight:400;color:var(--muted)!important}
.fancybox-slide--html .fancybox-close-small{top:10px;right:10px;width:40px;height:40px;padding:10px;color:var(--muted);opacity:1}
.fancybox-slide--html .fancybox-close-small:hover{color:var(--head)}
@media (max-width:520px){
  .wc-modal .m-content .c{padding:34px 22px 24px!important}
  .wc-modal .m-content .c h3,.wc-modal .m-content .c .h3,.wc-modal .m-content .c .success_h3{font-size:24px}
}

/* ================= сообщения форм (все формы Contact Form 7) ================= */
.wpcf7 form .wpcf7-not-valid-tip{display:block!important;margin:6px 0 0;font-size:13px;line-height:1.35;color:#d64545}
.wpcf7 form .wpcf7-not-valid{border-color:#d64545!important}
.wpcf7 form .wpcf7-response-output{margin:14px 0 0!important;padding:12px 14px!important;border:0!important;border-radius:4px;font-size:14px;line-height:1.45;background:var(--soft);color:var(--text)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{background:#fdecec;color:#a12f2f}
.wpcf7 form.sent .wpcf7-response-output{background:var(--check);color:var(--green)}
.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{background:#fff4e0;color:#8a5a00}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wpcf7 form.invalid .wpcf7-response-output{background:#3a1d1f;color:#ffb4b4}}
:root[data-theme="dark"] .wpcf7 form.invalid .wpcf7-response-output{background:#3a1d1f;color:#ffb4b4}
.wpcf7 form .wpcf7-spinner{display:none}
.wpcf7 form.submitting input.wpcf7-submit{opacity:.7;cursor:wait}

/* всплывающее окно Popup Maker (форма 145) в цветах сайта */
.pum-theme-hello-box .pum-container{background:var(--card)!important;border:0!important;border-radius:10px!important;box-shadow:0 24px 60px rgba(10,16,28,.35)!important;padding:34px!important}
.pum-theme-hello-box .pum-content{color:var(--text)!important;font-family:'Montserrat',Arial,sans-serif!important}
.pum-theme-hello-box :is(input[type=text],input[type=tel],input[type=email],textarea){width:100%;height:52px;padding:0 14px;border:1px solid var(--field-line)!important;border-radius:4px!important;background:var(--field)!important;color:var(--text)!important}
.pum-theme-hello-box input.wpcf7-submit{width:100%;height:54px;border:0;border-radius:4px;background:var(--green)!important;color:#fff!important;font-weight:700;cursor:pointer}
.pum-theme-hello-box .pum-close{background:transparent!important;color:var(--muted)!important;box-shadow:none!important}
/* окно: кнопка на всю ширину и без вылезания на телефоне */
#order_modal.wc-modal .btn_b,#order_modal.wc-modal .btn_b p,#order_modal.wc-modal form{display:block!important;width:100%!important;max-width:none!important}
#order_modal.wc-modal input.wpcf7-submit{width:100%!important;max-width:none!important}
.fancybox-slide--html .wc-modal,.wc-modal .m-content,.wc-modal .m-content .c{box-sizing:border-box!important}
.fancybox-slide--html .wc-modal{max-width:min(460px,calc(100vw - 24px))!important}
.fancybox-slide--html:has(.wc-modal){padding:12px!important}
/* окно Popup Maker 152 (форма 145): как «Обратный звонок» */
.pum-theme-hello-box .pum-container{width:calc(100vw - 24px)!important;max-width:460px!important;left:0!important;right:0!important;margin:0 auto!important;box-sizing:border-box;padding:40px 36px 30px!important}
.pum-theme-hello-box .pum-content::before{content:"Оставить заявку";display:block;margin:0 0 18px;font:700 28px/1.15 'Montserrat',Arial,sans-serif;color:var(--head)}
.pum-theme-hello-box .pum-content p,.pum-theme-hello-box .pum-content strong{margin:0;font-weight:400}
.pum-theme-hello-box label{display:block;margin:0 0 6px;font:600 14px/1.3 'Montserrat',Arial,sans-serif!important;color:var(--text)!important}
.pum-theme-hello-box .wpcf7-form-control-wrap{display:block;margin:0 0 14px}
.pum-theme-hello-box br{display:none}
.pum-theme-hello-box :is(input[type=text],input[type=tel],input[type=email]){height:54px!important;font:400 16px 'Montserrat',Arial,sans-serif!important;box-sizing:border-box}
.pum-theme-hello-box input.wpcf7-submit{height:56px!important;margin-top:6px;font:700 16px/1 'Montserrat',Arial,sans-serif!important}
@media (max-width:520px){.pum-theme-hello-box .pum-container{padding:34px 22px 24px!important}.pum-theme-hello-box .pum-content::before{font-size:24px}}

/* ссылка на политику в галочке согласия (все формы, все страницы) */
.wpcf7-acceptance .wpcf7-list-item-label a.wc-consent-link{color:var(--accent)!important;text-decoration:underline!important;text-underline-offset:2px;font-weight:600}
.wc-calc .wpcf7-acceptance .wpcf7-list-item-label a.wc-consent-link{color:var(--accent)!important}
/* галочку не даём «проскочить»: при ошибке она подсвечивается */
.wpcf7-acceptance input[type=checkbox]{accent-color:var(--green);cursor:pointer}
.wpcf7 form.unaccepted .wpcf7-acceptance input[type=checkbox]{outline:2px solid #d64545;outline-offset:2px}
