/* CTA-компонент (форма + Telegram) */
.cta-unified{max-width:400px;margin:0 auto;text-align:center;font-family:'Open Sans',sans-serif;}
.cta-unified .cta-row{display:flex;flex-direction:column;gap:10px;}
.cta-unified input[type=tel]{width:100%;min-height:50px;padding:12px 16px;font-size:16px;font-family:'Open Sans',sans-serif;border:1px solid #c2c8cf;border-radius:3px;box-sizing:border-box;}
.cta-unified input[type=tel]:focus{outline:none;border-color:#2F6075;box-shadow:0 0 0 3px rgba(47,96,117,.2);}
.cta-unified button[type=submit]{width:100%;min-height:50px;padding:12px 20px;font-size:16px;font-weight:600;letter-spacing:.1px;color:#fff;background:#2F6075;border:none;border-radius:3px;cursor:pointer;font-family:'Open Sans',sans-serif;white-space:nowrap;box-sizing:border-box;transition:color .15s ease;}
.cta-unified button[type=submit]:hover,.cta-unified button[type=submit]:focus-visible{color:#94e373;background:#2F6075;outline:none;}
.cta-unified button[type=submit]:disabled{background:#ccc;color:#fff;cursor:default;}
.cta-unified .cta-tg{display:flex;width:100%;align-items:center;justify-content:center;min-height:50px;margin-top:10px;padding:12px 20px;font-size:16px;font-weight:600;letter-spacing:.1px;color:#fff;background:#2F6075;border:1px solid #2F6075;border-radius:3px;text-decoration:none;font-family:'Open Sans',sans-serif;white-space:nowrap;box-sizing:border-box;transition:color .15s ease;}
.cta-unified .cta-tg:hover,.cta-unified .cta-tg:focus-visible{background:#2F6075;color:#94e373;outline:none;}
.cta-unified .cta-msg{margin-top:10px;font-weight:bold;}
.cta-unified .cta-msg:empty{display:none;margin:0;}
@media (max-width:480px){.cta-unified button[type=submit],.cta-unified .cta-tg{white-space:nowrap;font-size:14px;}}
/* Тач-зони меню (≥44px) на мобільному */
@media (max-width: 768px) {
 .main-nav { text-align: left !important; }
 .main-nav li a { min-height: 44px; display: flex; align-items: center; justify-content: flex-start; padding: 6px 16px; box-sizing: border-box; text-align: left; }
 .main-nav li.small-logo a { min-height: 0; padding: 4px 16px; justify-content: flex-start; }
 .main-nav-outer .old { line-height: 1 !important; }
 .main-nav-outer .old br { display: none; }
 .main-nav-outer .old > span { display: inline-flex; align-items: center; gap: 4px; }
 .main-nav-outer .old > span > span:first-child,
 .main-nav-outer .old a { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 44px; }
 .res-nav_click { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
}
/* Модал «Записатися» */
#signup-modal::backdrop{ background:rgba(0,0,0,.55); }
#signup-modal:focus{ outline:none; }
#signup-modal .cta-unified{ max-width:100%; }
#signup-modal .cta-tg{ white-space:normal !important; }
#close-signup-x:focus:not(:focus-visible){ outline:none; }
#close-signup-x:focus-visible{ outline:2px solid #2F6075; outline-offset:2px; border-radius:6px; }

/* Мобільне меню (уніфіковано): бургер ≤1170px, тогл через .is-open
   Перебиває bundle .main-nav{display:block !important} коректним !important. */
@media (max-width:1170px){
  #main-nav .main-nav{display:none !important;position:absolute;left:0;width:100%;top:100%;margin:0;padding:8px 0;background:#fff;box-shadow:0 8px 12px -6px rgba(0,0,0,.2);z-index:1001;}
  .res-nav_click{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
  #main-nav .main-nav.is-open{display:block !important;}
  #main-nav .main-nav li{display:block;}
  #main-nav .main-nav li.small-logo{display:none;}
}


/* Footer auto-hide на мобільному (JS у site-menu.php додає .footer-autohide) */
@media (max-width:768px){
  .footer{ transition:transform .3s ease; will-change:transform; }
  .footer.footer-autohide{ transform:translateY(115%); box-shadow:none; }
}

/* Перемикач мов на легасі-сторінках static.php (без .home-v2):
   робимо бар flex'ом — меню (flex:1, центроване) і перемикач (окремий
   елемент праворуч) фізично не накладаються за будь-якої ширини меню.
   Scoped на .main-nav-outer .container (контент-контейнери не зачіпає),
   на home-v2 не впливає (:not), на мобільному — теж (min-width:1171px).
   !important потрібний для .old > span, бо в розмітці є inline
   style="display:inline-block" з вищою специфічністю. */
@media (min-width:1171px){
  body:not(.home-v2) .main-nav-outer .container{ display:flex; align-items:center; }
  body:not(.home-v2) .main-nav-outer .main-nav{ order:1; flex:1 1 auto; margin:0; font-size:18px; }
  body:not(.home-v2) .main-nav-outer .main-nav li a{ text-transform:none; }
  body:not(.home-v2) .main-nav-outer .old{ order:2; position:static !important; transform:none !important; margin:0 0 0 28px !important; flex:0 0 auto; }
  body:not(.home-v2) .main-nav-outer .old br{ display:none !important; }
  body:not(.home-v2) .main-nav-outer .old > span{ display:inline-flex !important; align-items:center; gap:14px !important; line-height:1; }
  body:not(.home-v2) .main-nav-outer .old > span > a,
  body:not(.home-v2) .main-nav-outer .old > span > span{ display:inline-block; }
  body:not(.home-v2) .main-nav-outer .res-nav_click{ display:none !important; }
}
