/*
Theme Name: Prestizh Vorota
Theme URI: https://prestizh-vorota.kyiv.ua/
Author: Dmitriy & ChatGPT
Description: Лёгкая корпоративная тема WordPress для «Престиж Ворота». Оптимизирована под мобильные устройства, локальное SEO и двухъязычный сайт (RU/UA).
Version: 1.0.18
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: prestizh-vorota
*/

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background-color: #f3f4f6;
  color: #111827;
  line-height: 1.6;
}

:root {
  --pv-mobile-nav-h: 60px;
  --pv-safe-bottom: env(safe-area-inset-bottom, 0px);
  --vv-gap: 0px;
  --pv-bg: #f3f4f6;
  --pv-bg-soft: #ffffff;
  --pv-primary: #004b91;
  --pv-primary-soft: #e0f2ff;
  --pv-accent: #f97316;
  --pv-text: #111827;
  --pv-text-muted: #6b7280;
  --pv-border: #e5e7eb;
  --pv-radius-lg: 16px;
  --pv-radius-md: 12px;
  --pv-shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.06);
}

a { color: var(--pv-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

.site { min-height: 100vh; display: flex; flex-direction: column; }

/* ===== Header ===== */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background-color: #fff; border-bottom: 1px solid var(--pv-border);
}
.header-inner {
  max-width: 1200px; margin: 0 auto; padding: 8px 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: nowrap;
}
.logo-area { display: flex; align-items: center; gap: 10px; }
.logo-link { display: flex; align-items: center; gap: 10px; color: var(--pv-text); }
.logo-img { width: 40px; height: 40px; border-radius: 12px; object-fit: contain; display: block; }
.logo-text { display: flex; flex-direction: column; }
.logo-title { font-weight: 700; font-size: 18px; }
.logo-subtitle { font-size: 12px; color: var(--pv-text-muted); }
/* no underline on hover over logo */
.logo-area .logo-link:hover, .logo-area .logo-link:focus { text-decoration: none; }

.header-contacts { display: flex; align-items: center; gap: 18px; font-size: 14px; white-space: nowrap; flex-wrap: nowrap; }
.contacts-block { display: flex; flex-direction: column; gap: 2px; }
.contacts-label { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--pv-text-muted); }
.contacts-phone, .contacts-email { font-weight: 600; color: var(--pv-text); white-space: nowrap; }
.contacts-phone:hover, .contacts-email:hover { color: var(--pv-primary); }
.phones-inline { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.phones-sep { color: var(--pv-border); }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: 14px;
  border: none; cursor: pointer; text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.btn-primary { background: linear-gradient(135deg, var(--pv-primary), #0369a1); color: #fff; box-shadow: 0 10px 25px rgba(37, 99, 235, .35); }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(37, 99, 235, .45); }
.btn-outline { background:#fff; color:var(--pv-primary); border:1px solid #cfe8ff; box-shadow: none; }
.btn-full { width: 100%; }

/* Lang switcher */
.header-lang-switcher { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.header-lang-switcher a { color: var(--pv-text-muted); font-weight: 600; }
.header-lang-switcher a:hover { color: var(--pv-primary); }
.header-lang-switcher .lang-current, .header-lang-switcher .current-lang { color: var(--pv-primary); }
.header-lang-switcher .lang-sep { color: var(--pv-border); font-size: 12px; }
.header-lang-switcher ul { list-style:none; margin:0; padding:0; display:flex; gap:6px; }
.header-lang-switcher li { margin:0; }

/* Mobile header */
.header-mobile { display:flex; align-items:center; justify-content:flex-end; flex:1; gap:12px; }
.mobile-menu-toggle { border:1px solid var(--pv-border); background:#fff; border-radius:999px; padding:6px 10px; display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.menu-icon { width:18px; height:2px; background:#111827; position:relative; border-radius:999px; }
.menu-icon::before, .menu-icon::after { content:""; position:absolute; left:0; width:18px; height:2px; background:#111827; border-radius:999px; }
.menu-icon::before { top:-6px; } .menu-icon::after { top:6px; }
.menu-label { font-size: 13px; font-weight: 600; }

.mobile-menu { display:none; background:#fff; border-bottom:1px solid var(--pv-border); box-shadow: 0 16px 40px rgba(15,23,42,.15); }
.mobile-menu.is-open { display:block; }
.mobile-menu-inner { max-width:1200px; margin:0 auto; padding:12px 16px 16px; display:grid; gap:16px; }
.mobile-contacts { display:grid; gap:4px; font-size:14px; }
.mobile-nav-list { list-style:none; margin:0; padding:0; }
.mobile-nav-list li { border-top:1px solid var(--pv-border); }
.mobile-nav-list li:last-child { border-bottom:1px solid var(--pv-border); }
.mobile-nav-list a { display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:var(--pv-text); }
.mobile-lang-switcher { font-size:13px; }

/* ===== Layout ===== */
.site-main-wrapper { flex:1; background: radial-gradient(circle at top left, #e0f2ff 0, #f3f4f6 45%, #ffffff 100%); }
.layout { max-width:1200px; margin:16px auto 32px; padding:0 16px; display:flex; gap:24px; }

.sidebar-primary { width:260px; flex-shrink:0; align-self:flex-start; position:sticky; top:90px; }
.sidebar-card { background:#fff; border-radius:var(--pv-radius-lg); box-shadow:var(--pv-shadow-soft); padding:16px 16px 18px; border:1px solid rgba(148,163,184,.35); }
.sidebar-title { margin:0 0 10px; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--pv-text-muted); }

.sidebar-nav { list-style:none; margin:0; padding:0; }
.sidebar-nav li { margin-bottom:4px; }
.sidebar-nav a { display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:999px; font-size:14px; color:var(--pv-text); }
.sidebar-nav a::before { content:""; width:8px; height:8px; border-radius:999px; border:2px solid var(--pv-primary-soft); background:#fff; }
.sidebar-nav a:hover { background:var(--pv-primary-soft); color:var(--pv-primary); }
.sidebar-nav .current-menu-item > a, .sidebar-nav .current_page_item > a { background:var(--pv-primary); color:#fff; }
.sidebar-nav .current-menu-item > a::before, .sidebar-nav .current_page_item > a::before { background:#fff; border-color: rgba(255,255,255,.7); }

.sidebar-widgets { margin-top:16px; }
.widget { margin-bottom:16px; font-size:14px; }
.widget-title { margin:0 0 6px; font-size:14px; font-weight:600; color:var(--pv-text-muted); }

.content-primary { flex:1; min-width:0; }
.page-header { margin-bottom:16px; }
.page-title { margin:0 0 12px; font-size:26px; }
.page-subtitle { margin:0; font-size:15px; color:var(--pv-text-muted); }

.card { background:#fff; border-radius:var(--pv-radius-lg); box-shadow:var(--pv-shadow-soft); padding:18px 18px 20px; border:1px solid rgba(148,163,184,.35); }

/* Hero (cover) */
.hero-cover{ position: relative; border-radius: 18px; overflow: hidden; min-height: 480px; background-position: center; background-size: cover; box-shadow: var(--pv-shadow-soft); border: 1px solid rgba(148,163,184,.35); }
.hero-mask{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(2,6,23,.35), rgba(2,6,23,.55)); }
.hero-content{ position: relative; z-index: 2; display: grid; gap: 10px; padding: 28px; color: #fff; max-width: 720px; }
.hero-content h1{ margin: 0; font-size: 34px; line-height: 1.1; }
.hero-content p{ margin: 0; font-size: 16px; color: #e5e7eb; }
@media (max-width: 640px){ .hero-content{ padding: 18px; } .hero-content h1{ font-size: 26px; } }

/* Hero overlay form (vertical, half width, left) */
.hero-form{ margin-top: 10px; justify-self:start; align-self:start; }
.hero-form-card{
  background: rgba(255,255,255,.32);
  border: 1px solid rgba(255,255,255,.40);
  border-radius: 14px;
  padding: 12px;
  color:#0f172a;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(2,6,23,.15);
  width: 100%;
  max-width: 600px;
}
@media (min-width: 821px){
  .hero-form-card{ width: 66.6667%; }

}
.hero-form-title{ margin:0 0 8px; font-size:16px; font-weight:700; color:#334155; }
.hero-form-grid{ display:grid; grid-template-columns: 1fr; gap:8px; }
.hero-form-card .form-field label{ font-size:12px; color:#64748b; }
.hero-form-card .form-input{ padding:10px 12px; border-radius:12px; border:1px solid var(--pv-border); outline:none; }
.hero-form-card .form-input:focus{ border-color:#93c5fd; box-shadow:0 0 0 3px rgba(147,197,253,.35); }

/* Calc form under cover (KRISPOL) */
.price-form{ margin-top: 14px; }
.form-card{ background:#fff; border:1px solid rgba(148,163,184,.35); border-radius:16px; padding:14px; box-shadow: var(--pv-shadow-soft); }
.form-card .form-title{ margin:0 0 10px; font-size:18px; font-weight:700; color:#0f172a; }
.form-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
@media (max-width: 900px){ .form-row{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px){ .form-row{ grid-template-columns: 1fr; } }
.form-field{ display:grid; gap:6px; font-size:14px; }
.form-field label{ color:var(--pv-text-muted); font-size:12px; }
.form-input{ padding:10px 12px; border-radius:12px; border:1px solid var(--pv-border); outline:none; }
.form-input:focus{ border-color:#93c5fd; box-shadow:0 0 0 3px rgba(147,197,253,.35); }
.form-btn{ align-self:end; }

/* Quick cards */
.quick-cards{ display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-top:14px; }
@media (max-width: 900px){ .quick-cards{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px){ .quick-cards{ grid-template-columns: 1fr; } }
.qcard{
  background: #f9fafb; display:block;    padding:12px 14px; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; color:var(--pv-text);    border:1px solid rgba(0,0,0,.06); border-radius:16px;
}
.qcard:hover{ transform:translateY(-2px); border-color:#bfdbfe; text-decoration:none; box-shadow:0 12px 24px rgba(2,6,23,.06); }
.qcard-title{ font-weight:700; margin:0 0 4px; display:flex; align-items:center; gap:8px; }
.qcard-sub{ color:var(--pv-text-muted); font-size:13px; margin:8px 0 0; }
.qcard-img{ margin-top:8px; border-radius:12px; border:1px solid var(--pv-border); background:#f1f5f9; height:140px; overflow:hidden; }
.qcard-img img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width: 520px){ .qcard-img{ height:160px; } }

/* Sections */
.section{ margin-top:18px; }
.section-card{ background:#fff; border:1px solid rgba(148,163,184,.35); border-radius:16px; padding:16px; box-shadow:var(--pv-shadow-soft); }
.section-title{ margin:0 0 8px; font-size:22px; }
.section-text{ margin:0 0 12px; color:var(--pv-text-muted); }
.bullets{ display:grid; grid-template-columns: repeat(2,1fr); gap:10px; }
@media (max-width: 700px){ .bullets{ grid-template-columns:1fr; } }
.bullet{ display:flex; gap:10px; align-items:flex-start; background:#f9fafb; border:1px dashed var(--pv-border); border-radius:12px; padding:10px 12px; font-size:14px; }
.bullet i{ color:#0ea5e9; margin-top:2px; }
.quick3{ display:grid; gap:10px; grid-template-columns: repeat(3,1fr); }
@media (max-width: 820px){ .quick3{ grid-template-columns:1fr; } }

/* CTA banner + modal */
.cta-banner{ margin-top:16px; border-radius:16px; padding:16px; background: linear-gradient(135deg,#e0f2ff,#f5faff); border:1px solid #cfe8ff; display:flex; align-items:center; justify-content:space-between; gap:12px; }
@media (max-width: 720px){ .cta-banner{ flex-direction:column; align-items:flex-start; } }
.cta-text{ font-size:18px; color:#0f172a; font-weight:700; margin:0; }
.modal{ position: fixed; inset:0; background: rgba(2,6,23,.55); display:none; align-items:center; justify-content:center; z-index:2000; padding:14px; }
.modal.is-open{ display:flex; }
.modal-card{ background:#fff; border-radius:16px; border:1px solid rgba(148,163,184,.35); box-shadow:0 20px 60px rgba(2,6,23,.45); width:100%; max-width:460px; padding:16px; }
.modal-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.modal-title{ margin:0; font-size:18px; }
.modal-close{ border:none; background:#f1f5f9; border-radius:10px; width:32px; height:32px; cursor:pointer; }
.modal-form .form-field{ margin-top:8px; }
.modal-actions{ margin-top:12px; display:flex; gap:10px; }

/* Order service in CTA style */
.order-service{ margin-top:18px; }
.order-card{ display:flex; align-items:center; justify-content:space-between; gap:12px; background: linear-gradient(135deg,#e0f2ff,#f5faff); border:1px solid #cfe8ff; border-radius:16px; padding:16px; box-shadow:var(--pv-shadow-soft); }
.order-title{ margin:0; font-size:18px; }
@media (max-width: 720px){ .order-card{ flex-direction:column; align-items:flex-start; } }

/* Brands portfolio */
.brands-portfolio{ margin-top:18px; }
.brand-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; }
@media (max-width: 900px){ .brand-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px){ .brand-grid{ grid-template-columns: 1fr; } }
.brand-card{ background:#fff; border:1px solid rgba(148,163,184,.35); border-radius:14px; padding:16px; display:flex; align-items:center; justify-content:center; min-height:84px; box-shadow: var(--pv-shadow-soft); }
.brand-logo{ font-weight:800; font-size:20px; letter-spacing:.02em; color:#0f172a; }

/* Footer */
.site-footer { background:#020617; color:#e5e7eb; padding:18px 16px 22px; }
.footer-inner { max-width:1200px; margin:0 auto; display:grid; gap:8px; align-items:center; font-size:13px; }
.footer-top { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-copy{ color:#9ca3af; }
.footer-meta{ display:flex; flex-wrap:wrap; gap:12px; color:#6b7280; }
.footer-meta span{ white-space:nowrap; }

/* Bottom nav (mobile) */
.mobile-bottom-nav { position:fixed; left:0; right:0; bottom: calc(0px - var(--vv-gap)); background:#fff; border-top:1px solid var(--pv-border); box-shadow:0 -6px 20px rgba(15,23,42,.12); z-index: 999; 
  padding-bottom: max(8px, var(--pv-safe-bottom));}
.bottom-nav-list{ list-style:none; margin:0; padding:0; display:flex; }
.bottom-nav-list li{ flex:1; }
.bottom-nav-list a{ display:flex; flex-direction:column; align-items:center; justify-content:center; padding:6px 4px 7px; font-size:11px; color:var(--pv-text-muted); }
.bottom-nav-label{ margin-top:2px; }
.bottom-nav-list .current-menu-item > a, .bottom-nav-list .current_page_item > a { color:var(--pv-primary); font-weight:600; border-top:2px solid var(--pv-primary); }

/* Visibility helpers */
.desktop-only { display:none; }
.mobile-only { display:block; }

@media (min-width: 1025px) {
  .desktop-only { display:block; }
  .mobile-only { display:none !important; }
  .header-inner { flex-wrap: nowrap; }
  .logo-area { flex: 0 0 auto; }
  .header-contacts { flex: 1 1 auto; justify-content: flex-end; gap: 18px; white-space: nowrap; flex-wrap: nowrap; }
  .header-contacts > * { flex: 0 0 auto; }
}

@media (max-width: 1024px) {
  .layout { flex-direction: column; margin: 8px auto 72px; }
  .sidebar-primary { display:none; }
  .header-inner { padding-block:10px; }
  .site-footer { display:none; }
}

@media (max-width: 640px) {
  .header-inner { padding-inline: 12px; }
  .layout { padding-inline: 12px; }
  .page-title { font-size: 22px; }
  .card { padding: 14px 12px 16px; }
}

/* v1.0.16 — Header one-line enforcement on desktop */
@media (min-width: 1025px){
  .header-inner{ flex-wrap: nowrap !important; column-gap:12px; }
  .header-contacts{
    display:flex; align-items:center; justify-content:flex-end;
    gap:12px; white-space:nowrap; flex-wrap: nowrap !important;
    flex:1 1 auto;
  }
  .header-contacts > *{ flex:0 0 auto; }
  .contacts-phone, .contacts-email{ white-space:nowrap; }
  .phones-inline{ display:flex; align-items:center; gap:8px; white-space:nowrap; }
}



/* Header contacts: no underline on hover */
.site-header .header-contacts a,
.site-header .header-contacts a:hover { text-decoration: none; }

/* Buttons: never underline text on hover */
a.btn, .btn, a.btn:hover, .btn:hover, a.btn:focus, .btn:focus { text-decoration: none; }

/* Form card background like CTA banner */
.form-card{ background: var(--pv-primary-soft); }


/* Non-cropping images inside qcards */
.qcard-img.fit-contain{ background:#fff; }
.qcard-img.fit-contain img{ display:block; width:100%; height:auto; max-height:100%; object-fit:contain; padding:8px; }


/* Section cover images */
.qcard-img.qcover{ height:auto; background:#fff; }
.qcard-img.qcover img{ display:block; width:100%; height:auto; object-fit:contain; }


/* Section long description under cover image */
.section-desc{ margin-top:12px; color:#2a2a2a; }
.section-desc p{ margin:0 0 10px; }



/* Card wrapper for WHY US */
.section-card.why-us{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  padding:16px;
}


/* === ПОЧЕМУ ВЫБИРАЮТ НАС === */
.why-us .why-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  background:var(--pv-primary-soft, #e0f2ff);
  border-radius:16px;
  padding:16px;
  margin-top:8px;
}
.why-us .stat{ text-align:center; padding:12px 8px; }
.why-us .stat-num{ font-weight:800; font-size:clamp(24px, 3vw, 36px); line-height:1; }
.why-us .stat-label{ font-size:14px; opacity:.8; }

.why-us .why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:16px 0 8px; }
.why-us .why-card{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:18px; display:flex; flex-direction:column; gap:8px; }
.why-us .why-card i{ font-size:28px; color:var(--pv-primary, #0ea5e9); }
.why-us .why-card h3{ font-size:18px; margin:0; }
.why-us .why-card p{ margin:0; color:#555; }
.why-us .why-cta{ margin-top:12px; border-radius:16px; }

@media (max-width: 1024px){
  .why-us .why-grid{ grid-template-columns:repeat(2,1fr); }
  .why-us .why-stats{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 600px){
  .why-us .why-grid{ grid-template-columns:1fr; }
  .why-us .why-stats{ grid-template-columns:1fr 1fr; }
}


/* Sidebar links: no underline on hover */
.sidebar-card .sidebar-nav a{
  text-decoration: none;
}
.sidebar-card .sidebar-nav a:hover,
.sidebar-card .sidebar-nav a:focus,
.sidebar-card .sidebar-nav a:active{
  text-decoration: none;
}


/* Compact left sidebar as single block */
.sidebar-primary .sidebar-card{
  padding: 12px;
  border-radius: 12px;
  margin: 0; /* remove extra gap if any */
}
.sidebar-primary .sidebar-title{
  font-size: 16px;
  margin: 6px 0 8px;
  
}
.sidebar-primary .sidebar-nav{
  margin: 0;
  padding: 0;
}
.sidebar-primary .sidebar-nav li{
  margin: 2px 0;
}
.sidebar-primary .sidebar-nav a{
  display: block;
  padding: 6px 8px;
}


/* Sidebar nav: remove blue bullet/stripe */
.sidebar-primary .sidebar-nav{ list-style: none; padding-left: 0; }
.sidebar-primary .sidebar-nav li{ position: static; border-left: none !important; }
.sidebar-primary .sidebar-nav li::before{ content: none !important; display: none !important; background: none !important; }
.sidebar-primary .sidebar-nav a{ border-left: none !important; }


/* Divider for sidebar sections */
.sidebar-sep{
  height: 1px;
  background: #e5e7eb; /* neutral gray */
  margin: 8px 0;
}

/* Remove blue left stripe/bullet from sidebar items */
.sidebar-primary .sidebar-nav{ list-style: none; padding-left: 0; }
.sidebar-primary .sidebar-nav li,
.sidebar-primary .sidebar-nav a{
  border-left: none !important;
  box-shadow: none !important;
  background-image: none !important;
}
.sidebar-primary .sidebar-nav li::before,
.sidebar-primary .sidebar-nav li::after,
.sidebar-primary .sidebar-nav a::before,
.sidebar-primary .sidebar-nav a::after{
  content: none !important;
  display: none !important;
  background: none !important;
  border: none !important;
}
.sidebar-primary .sidebar-nav li::marker{ content: ""; }


/* Mobile header cleanup: only logo + title + menu button */
@media (max-width: 1024px){
  .header-inner .header-contacts,
  .header-inner .header-lang-switcher{ display: none !important; }
  nav#mobile-menu[aria-hidden="true"]{ display: none; }
  nav#mobile-menu[aria-hidden="false"]{ display: block; }
}

/* Ensure logo size on desktop */
.logo-area .logo-img{ width:50px; height:50px; }


/* Mobile tweaks: black MENU text and button spacing */
@media (max-width: 1024px){
  .mobile-menu-toggle{ color:#000 !important; }
  nav#mobile-menu .btn.btn-primary{ margin-top: 10px; }
}


/* Hide site tagline under logo on mobile/tablet */
@media (max-width: 1024px){
  .logo-subtitle{ display:none !important; }
}


/* Mobile/tablet: align MENU button to the right edge */
@media (max-width: 1024px){
  .header-mobile .header-row{
    display: flex;
    align-items: center;
  }
  .header-mobile .mobile-menu-toggle{
    margin-left: auto;
  }
}


/* Mobile/tablet: stick MENU button to the right edge */
@media (max-width: 1024px){
  .header-mobile .header-row{ position: relative; }
  .header-mobile .mobile-menu-toggle{
    position: absolute;
    right: 8px;           /* distance to container edge */
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
  }
  /* keep space so text doesn't overlap the button */
  .header-mobile .logo-area{ padding-right: 70px; }
}


/* Mobile bottom nav: icons + no underline */
.mobile-bottom-nav .bottom-nav-list a{
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.mobile-bottom-nav .bottom-nav-list i{
  font-size: 18px;
  line-height: 1;
}
.mobile-bottom-nav .bottom-nav-label{
  text-decoration: none;
}
.mobile-bottom-nav .bottom-nav-list a:hover .bottom-nav-label{
  text-decoration: none;
}
/* Full width consult buttons on mobile/tablet */
@media (max-width: 1024px){
  .btn.btn-primary.js-open-consult{
    width: 100%;
    display: block;
  }
  .cta-banner .cta-actions,
  .why-cta .cta-actions{
    width: 100%;
  }
}


/* Mobile header: pin MENU button, don't shift on open */
@media (max-width: 1024px){
  .header-mobile .header-row{ position: relative; min-height: 56px; }
  .header-mobile .mobile-menu-toggle{
    position: absolute;
    right: 8px;
    top: 18px;  /* constant */
    transform: none;
    margin: 0;
    z-index: 5;
  }
  .header-mobile .logo-area{ padding-right: 70px; }
}



/* Full width for consult buttons across sections on mobile/tablet */
@media (max-width: 1024px){
  .cta-banner .btn.btn-primary,
  .why-cta .btn.btn-primary,
  nav#mobile-menu .btn.btn-primary{
    width: 100%;
    display: block;
  }
}



/* Bottom nav: stick to bottom without gap */
@media (max-width: 1024px){
  .mobile-bottom-nav{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    z-index: 1000;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  /* reserve space so content isn't overlapped */
  body{ padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)); }
}



/* Center text in mobile consult buttons and make full width */
@media (max-width: 1024px){
  .btn.btn-primary.js-open-consult{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
/* Bottom nav zero-gap fix incl. iOS safe area */
@media (max-width: 1024px){
  .mobile-bottom-nav{ position: fixed; left:0; right:0; bottom:0; margin:0; padding-bottom: env(safe-area-inset-bottom, 0); }
  body{ padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)); }
}


/* === Mobile/tablet tweaks R4 === */
/* 1) Center 'Обратная связь' in mobile menu and full-width */
@media (max-width: 1024px){
  nav#mobile-menu .btn.btn-primary{
    width: 100%;
    display: grid;
    place-items: center;  /* perfect centering */
    text-align: center;
  }
}

/* 2) Ensure all 'Получить консультацию' buttons spread full width when class is present */
@media (max-width: 1024px){
  .btn.btn-primary.js-open-consult{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}

/* 3) Bottom nav: no gap; fixed height + safe-area padding */
:root{ --mbnav-h: 64px; }
@media (max-width: 1024px){
  .mobile-bottom-nav{
    position: fixed; left:0; right:0; bottom:0;
    height: var(--mbnav-h);
    margin: 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
    transform: translateZ(0); backface-visibility: hidden;
  }
  body{ padding-bottom: calc(var(--mbnav-h) + env(safe-area-inset-bottom, 0)); }
}
