﻿:root{
  --sb-text:#0b2b4b;
  --sb-muted:rgba(11,43,75,.72);
  --sb-line:rgba(11,43,75,.12);
  --sb-bg:#fff;
  --sb-soft:#f6f8fb;
  --sb-accent:#d9ad3c;
  --sb-accent-hover:#c89c2e;
  --sb-radius:22px;
}

/* ====== Bootstrap-like grid (lightweight) ====== */
.sb-container{ width:min(1160px,100%); margin:0 auto; padding:0 18px; }
.sb-row{ display:flex; flex-wrap:wrap; gap: var(--sb-gap, 18px); }
.sb-col{ flex: 0 0 auto; min-width: 0; }
.sb-col-12{ width:100%; }
.sb-col-6{ width:50%; }
.sb-col-4{ width:33.3333%; }
.sb-col-3{ width:25%; }

/* Responsive grid variants (project breakpoints) */
@media (max-width: 1000px){
  .sb-col-lg-12{ width:100%; }
  .sb-col-lg-6{ width:50%; }
  .sb-col-lg-4{ width:33.3333%; }
  .sb-col-lg-3{ width:25%; }
}
@media (max-width: 768px){
  .sb-col-md-12{ width:100%; }
  .sb-col-md-6{ width:50%; }
  .sb-col-md-4{ width:33.3333%; }
  .sb-col-md-3{ width:25%; }
}
@media (max-width: 560px){
  .sb-col-sm-12{ width:100%; }
  .sb-col-sm-6{ width:50%; }
  .sb-col-sm-4{ width:33.3333%; }
  .sb-col-sm-3{ width:25%; }
}

/* ====== Sections / Headings ====== */
.sb-section{ padding: clamp(34px,4.5vw,78px) 0; background: var(--sb-bg); }
.sb-head{ margin-bottom: clamp(18px,2.2vw,30px); max-width: 900px; }
.sb-head h2{
  color:var(--sb-text);
  font-size: clamp(24px,2.6vw,40px);
  line-height:1.15;
  margin:0 0 10px 0;
  letter-spacing:-0.01em;
}
.sb-head h2 i{ color: var(--sb-accent); margin-right: 10px; }
.sb-head p{ color:var(--sb-muted); margin:0; font-size: clamp(15px,1.15vw,18px); line-height:1.55; }
.sb-center{ display:flex; justify-content:center; margin-top: 22px; }

/* ====== Buttons ====== */
.sb-btn,
.sb-hero-split__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none !important;
  font-weight:800;
  border-radius:999px;
  transition: .18s ease;
  line-height: 1.05;
  border: 1px solid transparent;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  font-size: clamp(12px, 1.1vw, 16px);
}

.sb-btn{ padding: 14px 22px; }
.sb-hero-split__btn{ padding: 16px 26px; width: min(260px, 100%); }

.sb-btn--accent,
.sb-hero-split__btn{
  background:var(--sb-accent);
  color:#fff !important;
  border: none !important;
  box-shadow:0 14px 30px rgba(217,173,60,.25) !important;
}
.sb-btn--accent:hover,
.sb-hero-split__btn:hover{
  background:var(--sb-accent-hover);
  transform: translateY(-1px);
  box-shadow:0 18px 36px rgba(217,173,60,.32) !important;
}
.sb-btn--ghost{
  background:transparent;
  border-color: var(--sb-line);
  color: var(--sb-text) !important;
}
.sb-btn--ghost:hover{
  background: rgba(11,43,75,.04);
  transform: translateY(-1px);
}

/* REQUIRED: remove focus outline on buttons/links */
.sb-btn:focus,
.sb-btn:focus-visible,
.sb-hero-split__btn:focus,
.sb-hero-split__btn:focus-visible,
.sb-team__links a:focus,
.sb-team__links a:focus-visible{
  outline: none !important;
  box-shadow: none !important;
}

/* ====== HERO Split ====== */
.sb-hero-split{
  background:#fff;
  position:relative;
  overflow:hidden;

  /* Elementor gaps off */
  --e-column-gap: 0px !important;
  --e-container-padding-inline: 0px !important;
}
.sb-hero-split__inner{
  display:grid !important;
  grid-template-columns: 0.65fr .95fr;
  gap: 0 !important;
  align-items: stretch;
  min-height: 520px;
}
.sb-hero-split__content{
  padding: clamp(28px, 5vw, 72px) !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.sb-hero-split__content h1{
  color: var(--sb-text);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-size: clamp(26px, 3vw, 52px);
  margin: 0 0 14px 0;
}
.sb-hero-split__content p{
  color: var(--sb-muted);
  font-size: clamp(16px, 1.2vw, 22px);
  line-height: 1.55;
  margin: 0 0 22px 0;
  max-width: 640px;
}
.sb-hero-split__media{
  position:relative;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 520px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
.sb-hero-split__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg,
    rgba(255,255,255,.65) 0%,
    rgba(255,255,255,.25) 45%,
    rgba(255,255,255,.10) 100%);
  pointer-events:none;
  z-index: 1;
}
.sb-hero-split__media::before{
  content:"";
  position:absolute;
  left: -60px;
  top: -10%;
  width: 220px;
  height: 120%;
  background:#fff;
  border-top-right-radius: 260px 520px;
  border-bottom-right-radius: 260px 520px;
  z-index: 2;
  pointer-events:none;
}

/* ====== Grids / Cards / Lists ====== */
.sb-grid{ display:grid; gap: clamp(14px,2vw,22px); }
.sb-grid--3{ grid-template-columns: repeat(3, 1fr); }

.sb-card{
  background:#fff;
  border: 1px solid var(--sb-line);
  border-radius: var(--sb-radius);
  padding: 22px;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  position:relative;
  transition: transform .18s ease, box-shadow .18s ease;
}
.sb-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}
.sb-card h3{
  margin: 0 0 12px 0;
  color: var(--sb-text);
  font-size: 22px;
  display:flex;
  align-items:center;
  gap:10px;
}
.sb-card h3 i{ color: var(--sb-accent); }

.sb-card--soft{ background: var(--sb-soft); border-color: transparent; }
.sb-card--featured{
  border-color: rgba(217,173,60,.45);
  box-shadow: 0 16px 40px rgba(217,173,60,.12);
}

.sb-badge{
  position:absolute;
  top: 16px;
  right: 16px;
  background: rgba(217,173,60,.16);
  color: var(--sb-text);
  border: 1px solid rgba(217,173,60,.35);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  display:flex;
  align-items:center;
  gap:8px;
}

.sb-list{ margin: 0 0 16px 0; padding: 0; list-style:none; color: var(--sb-muted); line-height:1.55; }
.sb-list li{ display:flex; gap:10px; align-items:flex-start; padding: 6px 0; }
.sb-list li i{ color: rgba(11,43,75,.35); margin-top: 3px; }
.sb-note{ margin-top: 10px; font-size: 13px; color: var(--sb-muted); display:flex; gap:8px; align-items:center; }

/* ====== Trust strip ====== */
.sb-trust{ background: var(--sb-soft); }
.sb-strip{ display:grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.sb-strip__item{
  background:#fff;
  border:1px solid var(--sb-line);
  border-radius:18px;
  padding: 16px 18px;
  display:flex;
  gap:12px;
  align-items:center;
}
.sb-ico{
  width: 44px; height: 44px;
  border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(217,173,60,.16);
  border: 1px solid rgba(217,173,60,.35);
  flex: 0 0 auto;
}
.sb-ico i{ color: var(--sb-text); }
.sb-strip__title{ color: var(--sb-text); font-weight: 900; margin-bottom: 2px; }
.sb-strip__text{ color: var(--sb-muted); }

/* ====== Steps ====== */
.sb-steps{ display:grid; gap: 12px; }
.sb-step{
  display:flex; gap:14px; align-items:flex-start;
  border:1px solid var(--sb-line);
  border-radius:18px;
  padding:16px 18px;
  background:#fff;
}
.sb-step__num{
  width:34px; height:34px;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(217,173,60,.16);
  border:1px solid rgba(217,173,60,.35);
  font-weight: 900;
  color: var(--sb-text);
  flex: 0 0 auto;
}
.sb-step__body h3{
  margin:0 0 6px 0;
  font-size: 18px;
  color: var(--sb-text);
  display:flex; align-items:center; gap:10px;
}
.sb-step__body h3 i{ color: var(--sb-accent); }
.sb-step__body p{ margin:0; color: var(--sb-muted); line-height: 1.5; }

/* ====== Reviews ====== */
.sb-quote{
  border:1px solid var(--sb-line);
  border-radius: var(--sb-radius);
  padding: 18px;
  background:#fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
.sb-quote:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}
.sb-quote__top{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 12px;
}
.sb-quote__stars i{ color: var(--sb-accent); }
.sb-quote__badge{
  font-size: 12px;
  font-weight: 900;
  color: var(--sb-text);
  border:1px solid rgba(217,173,60,.35);
  background: rgba(217,173,60,.16);
  padding: 6px 10px;
  border-radius: 999px;
  display:flex; align-items:center; gap:8px;
}
.sb-quote p{ margin:0 0 14px 0; color: var(--sb-muted); line-height:1.55; }
.sb-quote__who{ color: rgba(11,43,75,.55); font-weight: 700; display:flex; gap:8px; align-items:center; }

/* ====== Two columns ====== */
.sb-two{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(14px, 2vw, 22px);
  align-items: start;
}

/* ====== Guides ====== */
.sb-products__placeholder{
  border: 1px dashed var(--sb-line);
  border-radius: 18px;
  padding: 22px;
  color: var(--sb-muted);
  background: #fff;
  display:flex;
  align-items:center;
  gap:10px;
}
.sb-guides .products{
  display:grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px !important;
}
.sb-guides .products .product{
  border: 1px solid var(--sb-line);
  border-radius: 18px;
  padding: 14px !important;
  background: #fff;
}

/* ====== FAQ ====== */
.sb-faq__items{ display:grid; gap: 12px; }
.sb-faq__item{
  border:1px solid var(--sb-line);
  border-radius:18px;
  padding: 14px 16px;
  background:#fff;
}
.sb-faq__item summary{
  cursor:pointer;
  font-weight: 900;
  color: var(--sb-text);
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
}
.sb-faq__item summary::-webkit-details-marker{ display:none; }
.sb-faq__item summary i{ color: rgba(11,43,75,.35); }
.sb-faq__content{ margin-top: 10px; color: var(--sb-muted); line-height: 1.55; }

/* ====== Final CTA ====== */
.sb-final{ background: var(--sb-soft); }
.sb-final__box{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: center;
  border: 1px solid var(--sb-line);
  border-radius: var(--sb-radius);
  background:#fff;
  padding: clamp(18px,2.4vw,28px);
}
.sb-form-placeholder{
  border:1px dashed var(--sb-line);
  border-radius:18px;
  padding:18px;
  color: var(--sb-muted);
  background: var(--sb-soft);
  display:flex;
  align-items:center;
  gap:10px;
}

/* ====== Animations (scroll-in) ====== */
/* Основные стили анимаций теперь в JS (динамически инжектятся) */
/* Здесь только fallback для случаев без JS */
.no-js .sb-anim__item,
noscript ~ .sb-anim__item {
  opacity: 1 !important;
  transform: none !important;
}

/* ====== Team section ====== */
.sb-team{
  position: relative;
  overflow: hidden;
  padding: clamp(44px, 5vw, 88px) 0;
}
.sb-team::before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(700px 420px at 12% 30%, rgba(217,173,60,.28), rgba(217,173,60,0) 70%),
    radial-gradient(680px 420px at 86% 20%, rgba(11,43,75,.10), rgba(11,43,75,0) 72%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
  pointer-events:none;
  z-index:0;
}
.sb-team .sb-container,
.sb-team .e-con-inner,
.sb-team .elementor-container{ position: relative; z-index: 1; }

.sb-team h2,
.sb-team .elementor-heading-title{
  color: var(--sb-text);
  font-size: clamp(26px, 2.8vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0 0 10px 0;
  text-align: center;
}
.sb-team .sb-team__sub,
.sb-team p{
  color: var(--sb-muted);
  margin: 0 auto 26px auto;
  max-width: 860px;
  text-align: center;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.55;
}
.sb-team__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 2vw, 22px);
  align-items: stretch;
}
.sb-team__card{
  background: rgba(255,255,255,.86);
  border: 1px solid var(--sb-line);
  border-radius: 26px;
  padding: 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.06);
  backdrop-filter: blur(6px);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex;
  flex-direction: column;
}
.sb-team__card:hover{
  transform: translateY(-3px);
  border-color: rgba(217,173,60,.35);
  box-shadow: 0 22px 52px rgba(0,0,0,.08);
}
.sb-team__photo img{
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 18px;
  display:block;
}
.sb-team__name{
  margin: 14px 0 6px 0;
  color: var(--sb-text);
  font-weight: 900;
  font-size: 18px;
  line-height: 1.2;
}
.sb-team__role{
  color: rgba(11,43,75,.62);
  font-weight: 700;
  margin: 0 0 10px 0;
}
.sb-team__meta{
  color: var(--sb-muted);
  line-height: 1.55;
  margin-top: auto;
}
.sb-team__links{
  display:flex;
  gap: 10px;
  margin-top: 12px;
}
.sb-team__links a{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 1px solid var(--sb-line);
  background: #fff;
  color: var(--sb-text);
  transition: .18s ease;
  text-decoration:none;
  font-size: 16px !important;
  -webkit-tap-highlight-color: transparent;
}
.sb-team__links a:hover{
  transform: translateY(-1px);
  border-color: rgba(217,173,60,.35);
  box-shadow: 0 10px 24px rgba(217,173,60,.18);
}

/* =========================
   ADAPTIVE (1000 -> 220)
   ========================= */

/* <= 1000 */
@media (max-width: 1000px){
  .sb-hero-split__inner{ grid-template-columns: 1fr 1fr; min-height: auto; }
  .sb-hero-split__media{ min-height: 420px; }

  .sb-grid--3{ grid-template-columns: 1fr; }
  .sb-strip{ grid-template-columns: 1fr; }
  .sb-two{ grid-template-columns: 1fr; }
  .sb-final__box{ grid-template-columns: 1fr; }

  .sb-team__grid{ grid-template-columns: repeat(2, 1fr); }
  .sb-team__photo img{ height: 280px; }

  .sb-guides .products{ grid-template-columns: 1fr 1fr; }
}

/* <= 768 */
@media (max-width: 768px){
  .sb-hero-split__inner{ grid-template-columns: 1fr; }
  .sb-hero-split__content{ padding: 26px 18px 18px !important; }
  .sb-hero-split__media{ min-height: 280px; }
  .sb-hero-split__media::before{ display:none; }

  .sb-btn,
  .sb-hero-split__btn{ width: 100%; }
}

/* <= 560 */
@media (max-width: 560px){
  .sb-guides .products{ grid-template-columns: 1fr; }
  .sb-team__grid{ grid-template-columns: 1fr; }
  .sb-team__photo img{ height: 260px; }
}

/* <= 420 */
@media (max-width: 420px){
  .sb-container{ padding: 0 14px; }
  .sb-hero-split__content{ padding: 22px 14px 14px !important; }
  .sb-hero-split__media{ min-height: 240px; }
  .sb-card{ padding: 18px; }
}

/* <= 320 */
@media (max-width: 320px){
  .sb-container{ padding: 0 12px; }
  .sb-hero-split__media{ min-height: 210px; }
  .sb-team__photo img{ height: 220px; }
}

/* <= 220 */
@media (max-width: 220px){
  .sb-container{ padding: 0 10px; }
  .sb-hero-split__media{ min-height: 180px; }
  .sb-team__photo img{ height: 180px; }
}
/* =====================================
   ШРИФТЫ И CSS ПЕРЕМЕННЫЕ
===================================== */
@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400..900&family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap');

:root {
	/* Основная цветовая палитра */
	--color-white: #0d0e2b;
	--color-black: #ffffff;
	--color-gray-dark: #333333;
	--color-gray-medium: #4d4a4a;
	--color-gray-light: #0e2246;
	
	/* Акцентные цвета */
	--color-blue-primary: #d9ad3c; /* как на макете */
	--color-blue-light: #c2dfff;
	--color-blue-hover: #1e49f3;
	
	/* Социальные сети */
	--color-vk: #1a72ca;
	--color-whatsapp: #2bbd29;
	--color-telegram: #27a7e7;
	--color-avito: #27a7e7;
	
	/* Навигация и меню */
	--color-nav-text: rgba(255, 255, 255, 0.65);
	--color-nav-hover: #aaaaaa;
	--color-menu-bg: #343744;
	--color-menu-text: #dfdfdf;
	--color-menu-hover: #ffc23a;
	
	/* Границы */
	--border-main: 1px solid var(--color-gray-medium);
	--border-social: 1px solid var(--color-gray-light);
	
	/* Тени */
	--shadow-menu: 0 2px 5px rgba(0, 0, 0, 0.2);
	--shadow-card: 0 4px 6px rgba(0, 0, 0, 0.1);
	
	/* Попапы */
	--color-popup-bg: #000000;
	--color-popup-text: #ffffff;
	--color-popup-close: #959595;
	--color-popup-close-hover: #ffffff;
	
	/* Анимации и переходы */
	--transition-fast: 0.2s ease-in-out;
	--transition-normal: 0.3s ease-in-out;
	--transition-slow: 0.4s ease-in-out;
	
	/* Кроссбраузерные линейные высоты */
	--line-height-tight: 1.1;
	--line-height-compact: 1.2;
	--line-height-normal: 1.5;
	
	/* Размеры и отступы */
	--container-as-width: 1920px;
	--container-as-width-num: 1920;
	--spacing-xs: 4px;
	--spacing-sm: 8px;
	--spacing-md: 16px;
	--spacing-lg: 24px;
	--spacing-xl: 32px;
	--spacing-xs-num: 4;
	--spacing-sm-num: 8;
	--spacing-md-num: 16;
	--spacing-lg-num: 24;
	--spacing-xl-num: 32;
	--size-2: 2px;
	--size-5: 5px;
	--size-6: 6px;
	--size-7: 7px;
	--size-9: 9px;
	--size-10: 10px;
	--size-11: 11px;
	--size-12: 12px;
	--size-13: 13px;
	--size-15: 15px;
	--size-16: 16px;
	--size-18: 18px;
	--size-20: 20px;
	--size-22: 22px;
	--size-39: 39px;
	--vw-0-3: 0.3vw;
	--vw-0-4: 0.4vw;
	--vw-0-6: 0.6vw;
	--vw-0-8: 0.8vw;
	--vw-1-0: 1vw;
	--vw-1-1: 1.1vw;
	--vw-1-2: 1.2vw;
	--vw-1-4: 1.4vw;
	--vw-1-6: 1.6vw;
	--vw-1-8: 1.8vw;
	--vw-2-0: 2vw;
	--vw-4-5: 4.5vw;
	--vw-4-8: 4.8vw;
	--vw-5-2: 5.2vw;
	--gap-none: 0;
	--top-inline-min-height-min: 18px;
	--top-inline-min-height-fluid: calc(22 * var(--adaptive-unit));
	--top-inline-min-height-max: 24px;
	--top-icon-size-min: 14px;
	--top-icon-size-fluid: calc(16 * var(--adaptive-unit));
	--top-icon-size-max: 18px;
	--phone-icon-size-min: 22px;
	--phone-icon-size-fluid: calc(28 * var(--adaptive-unit));
	--phone-icon-size-max: 32px;
	--phone-icon-padding-min: 3px;
	--phone-icon-padding-fluid: calc(5 * var(--adaptive-unit));
	--phone-icon-padding-max: 6px;
	--phone-icon-left-min: -35px;
	--phone-icon-left-fluid: calc(-32 * var(--adaptive-unit));
	--phone-icon-left-max: -28px;
	--phone-icon-wide-size-min: 26px;
	--phone-icon-wide-size-fluid: calc(30 * var(--adaptive-unit));
	--phone-icon-wide-size-max: 34px;
	--phone-icon-wide-padding-min: 6px;
	--phone-icon-wide-padding-fluid: calc(8 * var(--adaptive-unit));
	--phone-icon-wide-padding-max: 10px;
	--phone-icon-wide-left-min: -38px;
	--phone-icon-wide-left-fluid: calc(-35 * var(--adaptive-unit));
	--phone-icon-wide-left-max: -30px;
	--ripple-size: 2px;
	--phone-icon-fixed-size: 35px;
	--phone-icon-fixed-left: -41px;

	/* Универсальные коэффициенты для адаптивности */
	--adaptive-unit: calc(100vw / var(--container-as-width-num));
	--spacing-adaptive-xs: calc(var(--spacing-xs-num) * var(--adaptive-unit));
	--spacing-adaptive-sm: calc(var(--spacing-sm-num) * var(--adaptive-unit));
	--spacing-adaptive-md: calc(var(--spacing-md-num) * var(--adaptive-unit));
	--spacing-adaptive-lg: calc(var(--spacing-lg-num) * var(--adaptive-unit));
	--spacing-adaptive-xl: calc(var(--spacing-xl-num) * var(--adaptive-unit));
	--font-adaptive-xs: calc(var(--font-size-xs-num) * var(--adaptive-unit));
	--font-adaptive-sm: calc(var(--font-size-sm-num) * var(--adaptive-unit));
	--font-adaptive-base: calc(var(--font-size-base-num) * var(--adaptive-unit));
	--font-adaptive-lg: calc(var(--font-size-lg-num) * var(--adaptive-unit));
	--font-adaptive-xl: calc(var(--font-size-xl-num) * var(--adaptive-unit));
	
	/* Радиусы скругления */
	--radius-sm: 4px;
	--radius-md: 6px;
	--radius-lg: 8px;
	--radius-circle: 50%;
	
	/* Типография */
	--font-family-primary: "Golos Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font-family-secondary: "Montserrat", sans-serif;
	--font-size-0-25: 0.25em;
	--font-size-0-65: 0.65em;
	--font-size-0-88: 0.88em;
	--font-size-0-89: 0.89em;
	--font-size-0-9: 1.2em;
	--font-size-0-95: 0.95em;
	--font-size-xs: 0.75em;
	--font-size-sm: 0.85em;
	--font-size-base: 1em;
	--font-size-lg: 1.125em;
	--font-size-xl: 1.5em;
	--font-size-1-09: 1.09em;
	--font-size-1-4: 1.4em;
	--font-size-2-5: 2.5em;
	--font-size-xs-num: 0.75;
	--font-size-sm-num: 0.85;
	--font-size-base-num: 1;
	--font-size-lg-num: 1.125;
	--font-size-xl-num: 1.5;
}
/* =====================================
   БАЗОВЫЕ СТИЛИ КОМПОНЕНТА
===================================== */
.header-widget {
	font-family: var(--font-family-primary);
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: var(--font-size-sm);
	background-color: var(--color-black);
	color: var(--color-white);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;

}
.elementor-element:has(.elementor-widget-as_custom_header_widget) {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	.elementor-widget-as_custom_header_widget, 
	.elementor-widget-as_custom_header_widget > 
	.elementor-widget-container
 {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}


/* Безопасная модель коробки и кроссбраузерность */
.header-widget,
.header-widget *,
.header-widget *::before,
.header-widget *::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* =====================================
   КОНТЕЙНЕРЫ И ОБЁРТКИ
===================================== */
.header-widget__wrap-container {
	border-bottom: var(--border-main);
}

.header-widget__container {
	width: 100%;
	padding-left: clamp(var(--spacing-sm), var(--spacing-adaptive-lg), var(--spacing-xl));
	padding-right: clamp(var(--spacing-sm), var(--spacing-adaptive-lg), var(--spacing-xl));
	margin-left: auto;
	margin-right: auto;
	max-width: var(--container-as-width);
}

/* =====================================
   ВЕРХНЯЯ ПАНЕЛЬ (КОНТАКТЫ)
===================================== */
.header-widget__top {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding: clamp(var(--spacing-xs), var(--spacing-adaptive-sm), var(--spacing-md)) 0 0;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	width: 100%;
	overflow: visible;
	gap: var(--gap-none);
	min-height: clamp(calc(var(--spacing-xl) * 0.875), calc(var(--spacing-xl) * 1.125 * var(--adaptive-unit)), calc(var(--spacing-xl) * 1.25));
}

.header-widget__location {
	flex: 1 1 0;
	min-width: 0;
	font-weight: 400;
	font-size: clamp(var(--font-size-xs), var(--font-adaptive-sm), var(--font-size-base));
	padding-right: clamp(var(--spacing-sm), var(--spacing-adaptive-md), var(--spacing-lg));
	margin-top: 6px;
}

.header-widget__contacts {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-flex: 0;
	-webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	gap: clamp(var(--spacing-sm), var(--spacing-adaptive-md), var(--spacing-lg));
	min-width: 0;
	font-weight: 400;
	font-size: clamp(var(--font-size-xs), var(--font-adaptive-sm), var(--font-size-base));
}

/* Элементы верхней панели */
.header-widget__top .header-widget__contacts a,
.header-widget__top .header-widget__email,
.header-widget__top .header-widget__emergency,
.header-widget__top .header-widget__location > span {
	display: inline-flex;
	align-items: center;
	gap: clamp(var(--spacing-xs), var(--spacing-adaptive-sm), var(--spacing-sm));
	line-height: 1.1;
	min-height: clamp(var(--top-inline-min-height-min), var(--top-inline-min-height-fluid), var(--top-inline-min-height-max));
}

/* Иконки в верхней панели */
.header-widget__location .header-widget__icon,
.header-widget__contacts .header-widget__icon {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: clamp(var(--top-icon-size-min), var(--top-icon-size-fluid), var(--top-icon-size-max));
	height: clamp(var(--top-icon-size-min), var(--top-icon-size-fluid), var(--top-icon-size-max));
	line-height: 0;
	vertical-align: middle;
	-webkit-transition: var(--transition-normal);
	-moz-transition: var(--transition-normal);
	-o-transition: var(--transition-normal);
	transition: var(--transition-normal);
}

.header-widget__top .header-widget__icon svg {
	width: 100%;
	height: 100%;
	display: block;
	stroke-width: 2;
}

/* =====================================
   КОНТАКТНАЯ ИНФОРМАЦИЯ
===================================== */
/* Экстренный номер */
.header-widget__emergency {
	display: flex;
	align-items: center !important;
	color: var(--color-white);
	text-decoration: none !important;
	transition: var(--transition-slow) !important;
	flex: 0 0 auto;
	padding: 0 !important;
	border: none !important;
	gap: clamp(var(--spacing-xs), var(--vw-0-4), var(--spacing-sm)) !important;
}

/* Ховер эффекты контактов только для устройств с мышкой */
@media (hover: hover) and (pointer: fine) {
	.header-widget__emergency:hover {
		background-color: transparent !important;
		color: var(--color-blue-light) !important;
	}
	
	/* Состояния наведения */
	.header-widget__email:hover span,
	.header-widget__email:hover {
		color: var(--color-blue-primary);
	}

	.header-widget__emergency:hover span svg g path,
	.header-widget__phone:hover span svg path,
	.header-widget__phone:hover span svg,
	.header-widget__phone:hover span,
	.header-widget__phone:hover {
		fill: var(--color-blue-light);
		color: var(--color-blue-light);
		text-decoration: none !important;
		-webkit-transition: var(--transition-slow);
		-moz-transition: var(--transition-slow);
		-o-transition: var(--transition-slow);
		transition: var(--transition-slow);
	}

	.header-widget__email:hover .header-widget__email-address {
		border-bottom-color: transparent;
	}
}

/* Телефон и email */
.header-widget__phone,
.header-widget__email {
	display: flex;
	align-items: center;
	gap: clamp(var(--spacing-xs), var(--vw-0-3), var(--spacing-sm));
	color: var(--color-white);
	text-decoration: none;
	transition: var(--transition-slow);
	flex: 0 0 auto;
}

.header-widget__email {
	color: var(--color-blue-primary);
}

/* убран пустой блок .header-widget__phone-number, .header-widget__email-address */

.header-widget__email-address {
	border-bottom: 1px dashed currentColor;
}

/* Защита от переполнения текста */
.header-widget__email-address,
.header-widget__phone-number-text {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}

.header-widget__emergency span svg g path,
.header-widget__phone span svg,
.header-widget__phone span svg path {
	transition: var(--transition-slow) !important;
}

/* =====================================
   РАЗДЕЛИТЕЛИ
===================================== */
.elementor hr.header-widget__separator {
  border: 0;
  height: 1px;
  background-color: var(--color-gray-medium) !important;
  width: 100svw;
  margin: 8px calc(50% - 50svw) 0 !important;
}

/* =====================================
   ОСНОВНАЯ НАВИГАЦИОННАЯ ПАНЕЛЬ
===================================== */
.header-widget__nav {
	display: flex;
	align-items: center;
	margin: clamp(var(--spacing-sm), var(--vw-0-8), var(--size-18)) 0;
	margin-top: clamp(var(--size-10), var(--vw-1-4), var(--size-18));
	gap: clamp(var(--spacing-xs), var(--vw-0-8), var(--size-12));
	flex-wrap: nowrap;
	/* height: 72px; */
}

/* =====================================
   ЛОГОТИП И ОПИСАНИЕ
===================================== */
.header-widget__logo {
	flex: 0 1 auto;
	/* max-height: clamp(60px, 8vw, 120px); */
	min-width: 0;
	width: auto;
}

.header-widget__logo-img {
	display: block;
	max-height: 100%;
	height: auto;
	object-fit: cover;
	clip-path: inset(0px 8px);
	margin: 7px 0 0 -7px;
}

.header-widget__logo-link {
	display: flex;
	align-items: center;
	gap: clamp(var(--spacing-xs), var(--vw-0-6), var(--size-7));
	/* width: clamp(160px, 20vw, 240px); */
}

.header-widget_logo-text {
	/* font-weight: 300; */
	color: var(--color-white);
	margin: 0;
	line-height: 1.1;
	font-size: clamp(var(--spacing-sm), var(--vw-1-1), var(--size-12));
	white-space: nowrap;
	/* font-variation-settings: "wght" 30; */
	font-weight: 300;
	font-family: 'Montserrat',system-ui, sans-serif;
	}

.header-widget_logo-text span {
	font-size: var(--font-size-2-5);
	font-family: "Russo One", system-ui, sans-serif;
	font-weight: 400;
	letter-spacing: .02em;   /* подрегулируй по месту (0.01–0.06em) */
	text-transform: uppercase;
}

.header-widget__logo-description {
	display: flex;
	align-items: center;
	gap: clamp(var(--spacing-sm), var(--vw-1-2), var(--spacing-md));
	/* flex: 0 1 23%; */
	/* width: 23%; */
}

.header-widget__description {
	flex: 0 1 14em;
	/* margin: 0 0 0 auto; */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
}

.header-widget__text {
	font-size: clamp(var(--font-size-0-65), var(--vw-1-8), var(--font-size-sm));
	padding: 0;
	margin: 0;
	min-width: 0;
	word-break: break-word;
	line-height: 1.3;
	font-family: var(--font-family-secondary);
	font-weight: 300;
}
/* =====================================
   МЕНЮ И СОЦИАЛЬНЫЕ СЕТИ
===================================== */
.header-widget__menu-social {
	display: flex;
	align-items: center;
	gap: clamp(var(--spacing-sm), var(--vw-1-0), var(--size-20));
	flex-wrap: wrap;
	flex: 0 0 40%;
	justify-content: space-between;
}

/* Общий сброс для списков */
.rest-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Основное меню */
.menu__list {
	display: flex;
	align-items: center;
	gap: clamp(var(--size-6), var(--vw-1-0), var(--size-12));
	flex-wrap: wrap;
	min-width: 0;
}

.menu__item {
	position: relative;
	flex: 0 0 auto;
	overflow: visible;
	padding-right: var(--spacing-xs);
}

.menu__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: var(--color-nav-text);
	z-index: 1;
	padding: clamp(var(--spacing-sm), var(--vw-1-0), var(--size-10)) 2px;
	font-size: clamp(var(--font-size-0-9), var(--vw-1-1), var(--font-size-base));
	transition: var(--transition-slow);
}

/* Стрелки для подменю */
.menu__item--has-children .menu__link,
.menu__item--mega .menu__link {
	margin-right: var(--font-size-sm);
}

.menu__item--has-children .menu__link::after,
.menu__item--mega .menu__link::after {
	content: "";
	position: absolute;
	right: calc(-1 * var(--font-size-sm));
	top: 50%;
	height: 0.4em;
	width: 0.4em;
	transform: translateY(-50%) rotate(45deg);
	border-right: 2px solid;
	border-bottom: 2px solid;
	transition: var(--transition-slow);
}

/* Подменю */
.submenu {
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	padding: calc(var(--spacing-lg) * 0.7) calc(var(--spacing-xl) * 1.875) var(--spacing-xs) var(--spacing-md);
	border-radius: var(--radius-lg);
	height: 0;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition-slow);
	box-shadow: var(--shadow-menu);
	background: var(--color-menu-bg);
}

.submenu__item {
	margin-bottom: 10px;
	font-size: var(--font-size-0-9);
}

.submenu__link {
	display: block;
	width: 184px;
	white-space: nowrap;
	text-decoration: none !important;
	color: var(--color-menu-text) !important;
	transition: var(--transition-slow);
}

/* Мега-меню */
.mega-menu {
	position: absolute;
	top: 100%;
	left: 0;
	width: auto;
	padding: var(--spacing-lg);
	border-radius: var(--radius-lg);
	display: flex;
	gap: var(--spacing-lg);
	height: 0;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition-slow);
	box-shadow: var(--shadow-menu);
	background: var(--color-menu-bg);
}

.mega-menu__wrap {
	width: 70px;
	margin: 0 auto 14px auto;
}

.mega-menu__img {
	display: block;
	width: 100%;
	height: auto !important;
	max-width: unset !important;
	object-fit: contain;
}

.mega-menu__items {
	margin-bottom: 10px;
	font-size: var(--font-size-0-9);
	width: 184px;
	white-space: nowrap;
}

.mega-menu__title {
	font-size: var(--size-15);
	margin: 0 0 14px 0;
	padding: 0;
	width: 184px;
	white-space: nowrap;
}

/* Состояния наведения для меню только на десктопе */
@media (hover: hover) and (pointer: fine) {
	.menu__item:hover {
		overflow: visible;
	}

	.menu__item--has-children:hover .submenu,
	.menu__item--mega:hover .mega-menu {
		height: max-content;
		opacity: 1;
		visibility: visible;
		z-index: 3;
	}

	.menu__item.menu__item--has-children:hover .menu__link::after,
	.menu__item.menu__item--mega:hover .menu__link::after {
		transform: translateY(-50%) rotate(-135deg);
	}
}

/* Стили ссылок в меню */
.menu__link,
.mega-menu__link,
.mega-menu__title .mega-menu__title-link,
.menu__item--has-children .submenu__link {
	text-decoration: none !important;
	color: var(--color-menu-text) !important;
	transition: var(--transition-slow);
}

.menu__item .menu__link {
	color: #3e382a !important;
	font-size: var(--font-size-0-9);
}

/* Hover эффекты для ссылок меню только на десктопе */
@media (hover: hover) and (pointer: fine) {
	.menu__item:hover .menu__link {
		color: var(--color-nav-hover) !important;
	}

	.menu__item:hover .menu__link,
	.menu__item.menu__item--has-children:hover .submenu__link:hover,
	.menu__item.menu__item--mega:hover .mega-menu__link:hover,
	.menu__item.menu__item--mega:hover .mega-menu__title .mega-menu__title-link:hover {
		color: var(--color-menu-hover) !important;
		text-decoration: none !important;
	}
}
/* =====================================
   ГАМБУРГЕР МЕНЮ И МОБИЛЬНАЯ НАВИГАЦИЯ
===================================== */
.header-widget__burger{
	position: relative;
	height: 50px;
	width: 50px;
	border-radius: var(--radius-circle);
	cursor: pointer;
	z-index: 4;
	transition: var(--transition-slow);
	flex: 0 0 50px;
	background-color: transparent;
	display: none;
	order: 3;
}

.header-widget__burger-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 26px;
  height: 17px;
  transform: translate(-50%, -50%);
	pointer-events: none;
}



.header-widget__burger-wrap::before,
.header-widget__burger-wrap::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	transform: rotate(0deg);
}

.header-widget__burger-wrap::before {
	top: 0;
}

.header-widget__burger-wrap::after {
	bottom: 0;
}

.header-widget__burger-line {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%) rotate(0deg);
}

.header-widget__burger-line,
.header-widget__burger-wrap::before,
.header-widget__burger-wrap::after {
	width: 100%;
	height: 2px;
	background-color: var(--color-white);
	-webkit-transition: var(--transition-slow);
	-moz-transition: var(--transition-slow);
	-o-transition: var(--transition-slow);
	transition: var(--transition-slow);
}

/* Ховер (меню закрыто): тёмный круг и белые линии с X */
@media (hover:hover) and (pointer:fine) {
  /* закрытое состояние */
  .header-widget__burger:not(.active):hover { background-color:#fff; }
  .header-widget__burger:not(.active):hover .header-widget__burger-wrap::before,
  .header-widget__burger:not(.active):hover .header-widget__burger-line,
  .header-widget__burger:not(.active):hover .header-widget__burger-wrap::after {
    background-color:#262626;
  }

  

}
@media (hover: none) and (pointer: coarse) {
  /* бургер (закрыт) — белый круг при тапе, линии тёмные */
  .header-widget__burger:active {
    background-color: #ffffff;
  }
  .header-widget__burger:active .header-widget__burger-wrap::before,
  .header-widget__burger:active .header-widget__burger-line,
  .header-widget__burger:active .header-widget__burger-wrap::after {
    background-color: #262626;
  }

}

/* ===== СТИЛУС (точный указатель, но hover нет) ===== */
@media (hover: none) and (pointer: fine) {
  .header-widget__burger:active {
    background-color: #ffffff;
  }
  .header-widget__burger:active .header-widget__burger-wrap::before,
  .header-widget__burger:active .header-widget__burger-line,
  .header-widget__burger:active .header-widget__burger-wrap::after {
    background-color: #262626;
  }


 
}

/* Активные состояния для всех устройств */

.header-widget__burger.active {
	background-color: #e3e3e3;
}

.header-widget__burger.active .header-widget__burger-wrap::before,
.header-widget__burger.active .header-widget__burger-wrap::after,
.header-widget__burger.active .header-widget__burger-line {
	background-color: var(--color-white);
}

.header-widget__burger.active .header-widget__burger-wrap::after {
	display: none;
}

.header-widget__burger.active .header-widget__burger-wrap::before {
	top: 50%;
	left: 50%;
	transform-origin: center;
	transform: translate(-50%, -50%) rotate(-40deg);
}

.header-widget__burger.active .header-widget__burger-line {
	transform-origin: center;
	transform: rotate(40deg);
}



/* Мобильное меню */
body.header-widget-mob-body {
	overflow: hidden;
}

.header-widget-mob-overlay {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99909;
	/* opacity: 0; */
	width: 100vw;
	height: 100vh;
	/* background: hsl(0deg 0% 0% / 53%); */
	transition: var(--transition-slow);
}

.header-widget-mob-overlay.active {
	opacity: 1;
}

.header-widget-mob {
	background-color: var(--color-black);
	width: 100%;
	height: 100vh;
	overflow-y: auto;
	position: absolute;
	right: 0;
	top: 0;
	visibility: hidden;
	opacity: 0;
	transform: translateX(100%);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Кастомные скроллбары */
.header-widget-mob::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

.header-widget-mob::-webkit-scrollbar-thumb {
	background-color: #ccc;
	border-radius: var(--radius-sm);
}

/* Scrollbar hover только для десктопа */
@media (hover: hover) and (pointer: fine) {
	.header-widget-mob::-webkit-scrollbar-thumb:hover {
		background-color: #aaa;
	}
}

.header-widget-mob::-webkit-scrollbar-track {
	background-color: transparent;
}

.header-widget-mob-overlay.active .header-widget-mob {
	visibility: visible;
	transform: translateX(0);
	opacity: 1;
}

.header-widget-mob__wrap {
	padding: 75px 20px 32px;
	display: flex;
	flex-direction: column;
	gap: var(--size-18);
	position: relative;
	align-items: stretch;
	min-height: 100%;
}

.header-widget-mob__wrap .header-widget__burger {
	position: absolute;
	right: 21px;
	top: 77px;
}
.header-widget-mob__wrap .header-widget__burger-line,
.header-widget-mob__wrap .header-widget__burger-wrap::before,
.header-widget-mob__wrap .header-widget__burger-wrap::after { height: 1px; }

/* убрали принудительную перекраску линий внутри дроуэра */
/* =====================================
   СОЦИАЛЬНЫЕ СЕТИ
===================================== */
.header-widget__social {
	display: flex;
}

.header-widget__social-icons {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: var(--spacing-sm);
	/* margin-right: var(--spacing-sm); */
}

.header-widget__social-item {
	/* border: var(--border-social); */
	border-radius: var(--radius-circle);
	cursor: pointer;
	transition: var(--transition-slow);
	background-color: #f1d75b;
}

.header-widget__social-item a {
	display: block;
	width: 14px;
	margin: var(--spacing-xs);
}

.header-widget__social-item a svg {
	/* opacity: 0.5; */
}

.header-widget__social-item--vk a svg {
	fill: currentColor;
}

.header-widget__social-item--ws a svg {
	fill: currentColor;
}

/* Hover эффекты социальных иконок только для десктопа */
@media (hover: hover) and (pointer: fine) {
	.header-widget__social-item:hover,
	.header-widget__social-item:hover a svg {
		opacity: 1;
	}

	/* Цвета социальных сетей при наведении */
	.header-widget__social-item--av:hover {
		background: var(--color-avito);
	}

	.header-widget__social-item--vk:hover {
		background: var(--color-vk);
	}

	.header-widget__social-item--ws:hover {
		background: var(--color-whatsapp);
	}

	.header-widget__social-item--tg:hover {
		background: var(--color-telegram);
	}

	.header-widget__social-item--av:hover a,
	.header-widget__social-item--ws:hover a,
	.header-widget__social-item--tg:hover a,
	.header-widget__social-item--vk:hover a {
		color: var(--color-white) !important;
	}
}

.header-widget__social-item svg {
	width: 100%;
	height: auto;
	display: block;
}

/* Мобильная версия социальных сетей */
.header-widget__social--mob {
	width: 100%;
	display: flex !important;
	justify-content: center;
	margin-top: auto;
	padding: 14px 0 6px;
	border-top: 1px solid #eee;
}

.header-widget__social--mob .header-widget__social-item {
	border: none;
	background: #efc111;
}

.header-widget__social--mob .header-widget__social-item a {
	margin: var(--spacing-sm);
	width: 18px;
	color: var(--color-black);
}

.header-widget__social--mob .header-widget__social-item a svg {
	opacity: 1;
}



/* =====================================
   КНОПКИ И ДЕЙСТВИЯ
===================================== */
.header-widget__buttons {
	display: flex;
	align-items: center;
	gap: clamp(var(--spacing-sm), var(--vw-1-2), var(--size-20));
	flex: 0 1 auto;
	flex-wrap: nowrap;
	margin-left: auto;
	/* max-width: min(52vw, 760px); */
	max-width: none;
}

.header-widget__button {
	color: var(--color-white);
	border: var(--border-social);
	-webkit-border-radius: var(--radius-sm);
	-moz-border-radius: var(--radius-sm);
	border-radius: var(--radius-sm);
	padding: 10.9px var(--spacing-lg);
	font-size: var(--font-size-0-9);
	cursor: pointer;
	line-height: var(--line-height-tight);
	-webkit-transition: var(--transition-normal);
	-moz-transition: var(--transition-normal);
	-o-transition: var(--transition-normal);
	transition: var(--transition-normal);
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	
	/* Исправления для мобильных */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

/* Hover эффект кнопки только для десктопа */
@media (hover: hover) and (pointer: fine) {
	.header-widget__button:hover {
		background-color: var(--color-blue-primary);
		color: var(--color-white) !important;
		border: 1px solid transparent;
	}
}

/* =====================================
   ОБЁРТКА ТЕЛЕФОННЫХ НОМЕРОВ
===================================== */
.header-widget__phone-wrapper {
	display: flex;
	align-items: center;
	gap: clamp(var(--spacing-xs), var(--spacing-adaptive-sm), var(--spacing-md));
	flex-wrap: nowrap;
	transition: var(--transition-normal);
	position: relative;
}

/* Мобильная иконка по умолчанию скрыта */
.header-widget__phone-number-icon--mobile {
	display: none;
	width: clamp(var(--spacing-md), var(--spacing-adaptive-lg), var(--spacing-lg));
	height: clamp(var(--spacing-md), var(--spacing-adaptive-lg), var(--spacing-lg));
	opacity:1;	-webkit-transition: var(--transition-normal);
	-moz-transition: var(--transition-normal);
	-o-transition: var(--transition-normal);
	transition: var(--transition-normal);
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

/* Увеличенная иконка для больших экранов */
@media (max-width: 1604px) {
	.header-widget__phone-number-icon--mobile {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		width: clamp(var(--phone-icon-size-min), var(--phone-icon-size-fluid), var(--phone-icon-size-max));
		height: clamp(var(--phone-icon-size-min), var(--phone-icon-size-fluid), var(--phone-icon-size-max));
		padding: clamp(var(--phone-icon-padding-min), var(--phone-icon-padding-fluid), var(--phone-icon-padding-max));
		position: absolute;
		left: clamp(var(--phone-icon-left-min), var(--phone-icon-left-fluid), var(--phone-icon-left-max));
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		opacity: 1;
		background-color: rgba(255, 255, 255, 0.1);
		-webkit-border-radius: var(--radius-circle);
		-moz-border-radius: var(--radius-circle);
		border-radius: var(--radius-circle);
	}
}

.header-widget__phone-number-icon--mobile svg {
	width: 100%;
	height: 100%;
	fill: currentColor;
}


/* Телефонные номера */
.header-widget__buttons .header-widget__phone-number,
.header-widget__phone-number--mob {
	display: flex;
	align-items: center;
	margin: 0;
	gap: clamp(var(--spacing-xs), var(--spacing-adaptive-sm), var(--spacing-sm));
	text-decoration: none !important;
	color: var(--color-white) !important;
	line-height: var(--line-height-compact);
}

.header-widget__phone-number-wrap {
	border-radius: var(--radius-circle);
	/* padding: calc(var(--spacing-xs) * 1.1); */
	/* border: var(--border-social); */
}



.header-widget__buttons .header-widget__phone-number-icon svg,
.header-widget__phone-number--mob .header-widget__phone-number-icon svg {
	display: block;
	width: 100%;
	height: auto;
	fill: currentColor;
}

.header-widget__phone-number-text {
	font-weight: 400;
	font-size: clamp(var(--font-size-base), calc(var(--font-size-lg) * 100vw / var(--viewport-width)), var(--font-size-lg));
	line-height: var(--line-height-compact);
}

/* Мобильные стили для кнопок */
a.header-widget__phone-number--mob .header-widget__phone-number-text,
a.header-widget__phone-number--mob .header-widget__phone-number-icon {
	color: #2b2e32 !important;
	font-size: var(--size-16);
}

a.header-widget__phone-number--mob {
	display: flex !important;
}

a.header-widget__phone-number--mob .header-widget__phone-number-wrap {
	display: block !important;
	/* border: 1px solid var(--color-nav-hover); */
	width: 15px;
}

/* очищено: убраны пустые правила для .header-widget__phone-number-wrap */
.header-widget__phone-number--mob-wrapper {
	display: flex;
	align-items: center;
	gap: clamp(var(--spacing-xs), var(--spacing-adaptive-sm), var(--spacing-sm));
	flex-direction: column;
}
/* Мобильные номера в бургер-меню также могут использовать wrapper */
.header-widget-mob__wrap .header-widget__phone-wrapper--mobile {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	align-items: stretch;
	margin-bottom: var(--spacing-md);
}

.header-widget-mob__wrap .header-widget__phone-wrapper--mobile .header-widget__phone-number--mob {
	justify-content: flex-start;
	padding: var(--spacing-sm);
	border-radius: var(--radius-sm);
	border: var(--border-social);
	transition: var(--transition-normal);
}

.header-widget__callback-button--mob {
	background-color: var(--color-blue-primary) !important;
	width: 100%;
	overflow: hidden;
	max-width: 448px;
	padding: 12px 14px !important;
	border: none !important;
	display: block !important;
	position: relative;
	text-align: center;
	color: #fff !important;
	font-weight: 600;
	border-radius: 8px;
}

.header-widget__callback-button--mob::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 200%;
	background: rgba(255, 255, 255, 0.7);
	transform: rotate(20deg) translateY(-50%);
	animation: shine 3s infinite cubic-bezier(0.335, -0.065, 0.275, 0.960);
}

@keyframes shine {
	0% {
		left: -100%;
	}
	100% {
		left: 200%;
	}
}
/* =====================================
   МОБИЛЬНЫЕ СТИЛИ ЭЛЕМЕНТОВ
===================================== */
.header-widget__line--mob {
	width: 100%;
	height: 1px;
	background: #ddd;
	margin: 10px 0;
}

/* Крупный телефон и e-mail в мобильном drawer */
.header-widget-mob__wrap a.header-widget__phone-number--mob {
	width: 100%;
	font-size: clamp(var(--size-20), var(--vw-5-2), var(--size-22));
	font-weight: 600;
	gap: var(--size-10);
}
.header-widget-mob__wrap .header-widget__phone-number--mob .header-widget__phone-number-icon {
	width: 24px;
	height: 24px;
}
.header-widget-mob__wrap .header-widget__email {
	display: inline-flex;
	align-items: center;
	font-size: clamp(var(--size-16), var(--vw-4-5), var(--size-18));
	color: #0051bd;
}
.header-widget-mob__wrap .header-widget__email .header-widget__email-address {border-bottom: 1px dashed currentColor;font-size: var(--size-15);}

/* Пара строк адрес/время */
.header-widget__location--mob { color: #666; font-size: var(--size-16); }

.header-widget__location--mob .header-widget__icon-addres-ofese,
.header-widget__location--mob .header-widget__icon-clock-work {
	display: inline-flex !important;
	/* width: 18px; */
	/* height: 18px; */
	margin-right: 8px;
	font-size: var(--size-13);
}

.header-widget__location--mob {
	width: 100%;
	display: block !important;
}

/* Мобильное меню */
.menu__list--mob,
.submenu--mob {
	list-style: none;
	margin: 0;
	padding: 0;
}

.menu__link--mob,
.submenu__link--mob {
	display: block;
	text-decoration: none;
	color: #333;
	border: none;
	transition: var(--transition-slow);
}

.menu__link--mob { font-size: var(--font-size-1-4); }

.submenu__link--mob {
	font-size: var(--font-size-0-9);
}

.menu__item--mob,
.submenu__item--mob {
	margin: 0;
	background-color: #f9f9f9;
	cursor: pointer;
	transition: var(--transition-slow);
	padding: 10px 15px;
}

.menu__item--mob { border-bottom: 1px solid #ddd; }

/* Не показывать нижний бордер у открытого пункта аккордеона */
.menu__item--mob.menu__item--mob-has-children.open { border-bottom: none; }

/* И у последнего пункта в списке бордера быть не должно */
.menu__list--mob > .menu__item--mob:last-child { border-bottom: none; }

.submenu__item--mob:not(:last-child) {
	border-bottom: 1px solid #ddd;
}

.menu__item--mob.menu__item--mob-has-children,
.submenu__item--mob.menu__item--mob-has-children {
	padding: 0;
}

.menu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap,
.submenu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap {
	padding: 10px 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-lg);
}

.menu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap > .menu__link--mob,
.submenu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap > .submenu__link--mob {
	flex: 0 0 80%;
}

.menu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap span,
.submenu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap span {
	position: relative;
	width: 40px;
	height: 100%;
	flex: 0 0 40px;
}

.menu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap span::after,
.submenu__item--mob.menu__item--mob-has-children > .menu__item--mob-wrap span::after {
	content: "▼";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: var(--size-12);
	color: #666;
	pointer-events: none;
	transition: var(--transition-slow);
}

.menu__item--mob.menu__item--mob-has-children.open > .menu__item--mob-wrap span::after,
.submenu__item--mob.menu__item--mob-has-children.open > .menu__item--mob-wrap span::after {
	transform: translate(-50%, -50%) rotate(180deg);
}

.submenu--mob {
	max-height: 0;
	overflow: hidden;
	padding: 0 0;
	transition: var(--transition-slow);
}

.menu__item--mob-has-children.open > .submenu--mob {
	max-height: 1000px;
	padding: 10px 0;
}
/* =====================================
   ЭФФЕКТЫ И АНИМАЦИИ
===================================== */
.header-widget [animation] {
	position: relative;
	overflow: hidden;
}

/* Ripple эффект */
.header-widget .ripple {
	width: var(--ripple-size);
	height: var(--ripple-size);
	position: absolute;
	border-radius: var(--radius-circle);
	background-color: rgba(255, 255, 255, 0.5);
	animation: rippleEffect 1s ease-in-out;
}

@keyframes rippleEffect {
	0% {
		transform: scale(1);
	}
	100% {
		opacity: 0;
		transform: scale(var(--scale));
	}
}

/* =====================================
   ПОПАПЫ И ФОРМЫ
===================================== */
.contactform-content.my-popup {
	background-color: var(--color-popup-bg);
	max-width: 360px;
	padding: var(--spacing-lg);
	color: var(--color-popup-text);
}

.contactform-content.my-popup button.mfp-close {
	font-size: var(--size-39);
	width: 60px;
	font-family: none;
	height: 60px;
	opacity: 1;
	line-height: 60px;
	color: var(--color-popup-close);
	top: -58px;
	right: -20px;
	transition: var(--transition-slow);
}

/* Hover эффекты в popup только для десктопа */
@media (hover: hover) and (pointer: fine) {
	.contactform-content.my-popup button.mfp-close:hover {
		color: var(--color-popup-close-hover);
	}

	.contactform-content.my-popup .form-check-label a:hover {
		text-decoration: underline;
	}

	.contactform-content.my-popup .wpcf7-submit:hover {
		background: #0056b3;
	}

	.contactform-content.my-popup .custom-checkbox:hover {
		border: 1px solid var(--color-blue-primary);
	}
}

.contactform-content.my-popup .form-title {
	font-size: var(--font-size-xl) !important;
	line-height: 1.2 !important;
	text-align: center;
	margin: 0 0 var(--spacing-lg) 0;
	color: currentColor;
	font-weight: 700;
}

.contactform-content.my-popup .form-desc {
	font-weight: 400;
	line-height: 1.2 !important;
	margin: 0 14px var(--spacing-lg) 14px;
	text-align: center;
	font-size: var(--font-size-base);
}

.contactform-content.my-popup .form-label {
	position: relative;
	margin-bottom: var(--spacing-lg);
	background-color: #1e1d1d;
	border: 1px solid #4E4E4F;
	overflow: hidden;
	border-radius: var(--radius-md);
}

.contactform-content.my-popup .form-input-phone,
.contactform-content.my-popup .form-input-name {
	display: block;
	padding: 26px 10px 6px 10px;
	background: transparent;
	border-radius: 0;
	border: none;
	color: #bbbbbb;
}

.contactform-content.my-popup .form-name {
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	transition: var(--transition-slow);
	color: #979797;
	font-size: var(--font-size-0-88);
	pointer-events: none;
}

.contactform-content.my-popup .form-name sub,
.alert-mess {
	color: red;
	font-size: var(--font-size-base);
}

.alert-mess {
	font-size: var(--font-size-xs);
	margin-bottom: var(--spacing-lg);
}

.form-label:focus-within .form-name {
	top: 0;
	transform: translateY(6px);
}

.contactform-content.my-popup .wpcf7-form-control {
	width: 100%;
	padding: 10px 10px;
	font-size: var(--size-16);
	background: #2c2c2c;
	color: var(--color-white);
	border: 1px solid #444;
	border-radius: var(--radius-xs);
	outline: none;
	transition: border var(--transition-normal), background var(--transition-normal);
}

.contactform-content.my-popup .wpcf7-form-control:focus {
	border-color: #007bff;
	background: #333;
}

.contactform-content.my-popup .wpcf7-form-control:focus + .form-name,
.contactform-content.my-popup .wpcf7-form-control:not(:placeholder-shown) + .form-name {
	top: -10px;
	font-size: var(--size-12);
	color: #007bff;
}

.contactform-content.my-popup .form-check-wrap {
	margin-bottom: var(--spacing-lg);
	display: flex;
	gap: var(--size-11);
}

.contactform-content.my-popup .form-check-label {
	font-size: var(--size-12);
	line-height: 1.5;
	color: #d3d3d3;
	margin: 0;
	padding: 0;
	font-weight: 400;
}

.contactform-content.my-popup .form-check-label a {
	color: #007bff;
	text-decoration: none;
}

.contactform-content.my-popup .wpcf7-submit {
	display: block;
	width: 40%;
	padding: 12px var(--spacing-lg);
	font-size: var(--size-16);
	background: #007bff;
	color: var(--color-white);
	border: none;
	border-radius: var(--radius-sm);
	font-weight: 500;
	margin: 0 auto;
	cursor: pointer;
	transition: var(--transition-slow);
}

.contactform-content.my-popup .wpcf7-submit:disabled {
	color: #6c6c6c;
	background-color: #202020;
	cursor: not-allowed;
	pointer-events: none;
}

.contactform-content.my-popup .wpcf7-response-output {
	margin-top: var(--spacing-lg);
	padding: 10px;
	background: #222;
	border: 1px solid #444;
	color: var(--color-white);
	display: none;
}

.contactform-content.my-popup .wpcf7-response-output.wpcf7-validation-errors {
	border-color: #dc3545;
	color: #ffffff;
}

.contactform-content.my-popup .wpcf7-response-output.wpcf7-mail-sent-ok {
	border-color: #28a745;
	color: #ffffff;
}

.contactform-content.my-popup .custom-checkbox {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 24px;
	height: 24px;
	cursor: pointer;
	border: 1px solid #d9d7d7;
	padding: var(--spacing-xs);
	margin: 0;
	border-radius: var(--radius-sm);
	align-self: flex-start;
	flex: 0 0 auto;
	transition: var(--transition-slow);
}

.contactform-content.my-popup .custom-checkbox input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.contactform-content.my-popup .custom-checkbox svg {
	width: 100%;
	height: 100%;
	stroke: var(--color-blue-primary);
	stroke-dasharray: 50;
	stroke-dashoffset: 50;
	transition: stroke-dashoffset var(--transition-normal);
	fill: transparent;
	padding: 0;
	margin: 0;
}

.contactform-content.my-popup .custom-checkbox input:checked + svg {
	stroke-dashoffset: 0;
}
/* =====================================
   УТИЛИТЫ И ХЕЛПЕРЫ
===================================== */
/* Обеспечение минимальной ширины для flex-элементов */
.header-widget__top,
.header-widget__logo-description,
.header-widget__menu,
.header-widget__buttons,
.header-widget__contacts,
.header-widget__location,
.header-widget__nav,
.menu__list {
	min-width: 0;
}

/* Утилитарные классы для phone-wrapper */
.header-widget__phone-wrapper--compact {
	gap: var(--size-2);
}

.header-widget__phone-wrapper--compact .header-widget__phone-number-text {
	font-size: 0.75em;
	line-height: 1;
}

.header-widget ul {
	list-style: none;
}

.header-widget .elementor-icon-list-item {
	display: flex;
}

/* Отладочные хелперы (включаются добавлением класса debug) */
.header-widget.debug {
	position: relative;
}

.header-widget.debug *,
.header-widget.debug *::before,
.header-widget.debug *::after {
	outline: 1px dashed rgba(0, 128, 255, 0.25);
}

.header-widget.debug::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 9999;
	background-image:
		linear-gradient(rgba(255, 0, 0, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0, 255, 0, 0.08) 1px, transparent 1px);
	background-size: 8px 8px, 8px 8px;
}

/* =====================================
   ТОЧНАЯ НАСТРОЙКА АДАПТИВНОСТИ
===================================== */
/* Выравнивание верхней панели */
.header-widget__top,
.header-widget__location,
.header-widget__contacts {
	line-height: 1.1;
}

.header-widget__email {
	line-height: 1;
}

.header-widget__email-address {
	line-height: 1;
}

/* Размеры и отступы меню */
.menu__list {
	gap: clamp(var(--size-6), var(--vw-1-0), var(--size-12));
}


.menu__link {
	font-size: clamp(var(--font-size-0-9), var(--vw-1-1), var(--font-size-base));
	padding: clamp(var(--spacing-sm), var(--vw-1-0), var(--size-10)) var(--size-2);
}

.header-widget__phone-number-text {
	font-size: clamp(var(--font-size-0-95), var(--vw-1-8), var(--font-size-1-09));
	line-height: 1.2;
}


.header-widget__buttons .header-widget__phone-number,
.header-widget__phone-number--mob {
	gap: clamp(var(--size-6), var(--vw-1-0), var(--size-9));
	align-items: center;
}

.header-widget__button {
	padding: clamp(var(--size-9), var(--vw-1-2), var(--size-11)) clamp(var(--spacing-md), var(--vw-2-0), var(--size-20));
}


.elementor-section.elementor-top-section.elementor-element.elementor-section-full_width.elementor-section-content-middle.elementor-section-stretched.header-widget__wrap-container.elementor-section-height-default:has(.elementor-widget-AS_custom_header_widget){
  padding: 0 !important;
  --e-container-padding: 0 !important;
}


/* =====================================
   КРОССБРАУЗЕРНЫЕ ИСПРАВЛЕНИЯ
===================================== */
/* Исправления для IE11 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.header-widget__top,
	.header-widget__contacts {
		display: -ms-flexbox;
	}
}

/* Исправления для Safari */
@supports (-webkit-appearance: none) {
	.header-widget__button,
	.header-widget a {
		-webkit-appearance: none;
		appearance: none;
	}
}

/* Исправления для Firefox */
@supports (-moz-appearance: none) {
	.header-widget__button {
		-moz-appearance: none;
		appearance: none;
	}
}

/* Отключение ховер эффектов на touch устройствах */
@media (hover: none) and (pointer: coarse) {
	
	.header-widget__button:hover,
	.header-widget__social-item:hover,
	.header-widget__emergency:hover,
	.header-widget__phone:hover,
	.header-widget__email:hover,
	
	/* Меню */
	.menu__item:hover .menu__link,
	.menu__item:hover,
	.menu__item--has-children:hover .submenu,
	.menu__item--mega:hover .mega-menu,
	.menu__item--has-children:hover .submenu__link:hover,
	.menu__item--mega:hover .mega-menu__link:hover,
	.menu__item--mega:hover .mega-menu__title .mega-menu__title-link:hover,
	
	/* Социальные сети */
	.header-widget__social-item--av:hover,
	.header-widget__social-item--vk:hover,
	.header-widget__social-item--ws:hover,
	.header-widget__social-item--tg:hover,
	.header-widget__social-item:hover a svg,
	
	/* Контакты */
	.header-widget__email:hover span,
	.header-widget__emergency:hover span svg g path,
	.header-widget__phone:hover span svg path,
	.header-widget__phone:hover span svg,
	.header-widget__phone:hover span,
	.header-widget__email:hover .header-widget__email-address {
		background-color: initial !important;
		color: initial !important;
		border-color: initial !important;
		opacity: initial !important;
		fill: initial !important;
		border-bottom-color: initial !important;
		-webkit-transform: none !important;
		-moz-transform: none !important;
		-ms-transform: none !important;
		transform: none !important;
		text-decoration: initial !important;
		height: initial !important;
		visibility: initial !important;
	}
	
	/* Отключаем показ подменю при hover на touch */
	.menu__item--has-children:hover .submenu,
	.menu__item--mega:hover .mega-menu {
		height: 0 !important;
		opacity: 0 !important;
		visibility: hidden !important;
	}
	
	/* Отключаем анимацию стрелок */
	.menu__item--has-children:hover .menu__link::after,
	.menu__item--mega:hover .menu__link::after {
		-webkit-transform: translateY(-50%) rotate(45deg) !important;
		-moz-transform: translateY(-50%) rotate(45deg) !important;
		-ms-transform: translateY(-50%) rotate(45deg) !important;
		transform: translateY(-50%) rotate(45deg) !important;
	}
}
.header-widget__menu--mob{
	width: 100%;
}
/* Исправления для мобильных устройств */
@media screen and (max-width: 768px) {
	.header-widget {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
	
	.header-widget__button,
	.header-widget a {
		min-height: 10px; /* Минимальный размер для касания iOS */
	}
}

/* Активное состояние для touch устройств */
@media (hover: none) and (pointer: coarse) {
	
	.header-widget__button:active {
		background-color: var(--color-blue-primary) !important;
		color: var(--color-black) !important;
		border-color: transparent !important;
		-webkit-transform: scale(0.98);
		-moz-transform: scale(0.98);
		-ms-transform: scale(0.98);
		transform: scale(0.98);
	}
	
	/* Активное состояние социальных сетей */
	.header-widget__social-item:active {
		-webkit-transform: scale(0.95);
		-moz-transform: scale(0.95);
		-ms-transform: scale(0.95);
		transform: scale(0.95);
		opacity: 0.8;
	}
	
	.header-widget__social-item--av:active {
		background: var(--color-avito) !important;
	}
	
	.header-widget__social-item--vk:active {
		background: var(--color-vk) !important;
	}
	
	.header-widget__social-item--ws:active {
		background: var(--color-whatsapp) !important;
	}
	
	.header-widget__social-item--tg:active {
		background: var(--color-telegram) !important;
	}
	
	/* Активное состояние контактов */
	.header-widget__phone:active,
	.header-widget__emergency:active {
		color: var(--color-blue-light) !important;
	}
	
	.header-widget__email:active {
		color: var(--color-blue-primary) !important;
	}
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.header-widget {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

/* =====================================
   АДАПТИВНЫЕ МЕДИАЗАПРОСЫ
===================================== */
/* Контейнеры */

@media (max-width: 1604px) {
	.header-widget__phone-wrapper {
		/* width: 149px; */
		flex-flow: column;
		gap: var(--size-7);
		margin-left: 23px;
	}
	.header-widget__phone-number-wrap{
		display:none;
	}
	
	/* Показываем увеличенную мобильную иконку */
	.header-widget__phone-wrapper .header-widget__phone-number-icon--mobile {
		display: -webkit-box !important;
		display: -webkit-flex !important;
		display: -ms-flexbox !important;
		display: flex !important;
		width: clamp(var(--phone-icon-wide-size-min), var(--phone-icon-wide-size-fluid), var(--phone-icon-wide-size-max));
		height: clamp(var(--phone-icon-wide-size-min), var(--phone-icon-wide-size-fluid), var(--phone-icon-wide-size-max));
		position: absolute;
		left: clamp(var(--phone-icon-wide-left-min), var(--phone-icon-wide-left-fluid), var(--phone-icon-wide-left-max));
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		opacity: 1;
		-webkit-border-radius: var(--radius-circle);
		-moz-border-radius: var(--radius-circle);
		border-radius: var(--radius-circle);
		padding: clamp(var(--phone-icon-wide-padding-min), var(--phone-icon-wide-padding-fluid), var(--phone-icon-wide-padding-max));
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	}

		/* Белый цвет иконки */
	.header-widget__phone-wrapper .header-widget__phone-number-icon--mobile svg {
		fill: var(--color-white);
		color: var(--color-white);
	}

}


@media (max-width: 1402px) {
.header-widget__text{
	font-size: clamp(var(--font-size-0-25), var(--vw-1-0), var(--font-size-0-65));
}
.header-widget__description {
	flex: 0 1 11em;
}

.header-widget_logo-text {
   font-size: clamp(var(--spacing-sm), var(--vw-1-0), var(--size-10));
}

.header-widget__phone-number-text{
	font-size: clamp(var(--font-size-0-25), var(--vw-4-8), var(--font-size-1-09));
}
.menu__list {
    gap: clamp(3px, 1vw, 8px);
}
}
@media (max-width: 1400px) {
	.header-widget__container {
		max-width: 1403px;
	}
}
@media (max-width: 1149px) {
	.header-widget__phone-wrapper .header-widget__phone-number-icon--mobile {
		padding: clamp(var(--phone-icon-wide-padding-min), var(--phone-icon-wide-padding-fluid), var(--phone-icon-wide-padding-max));
		width: var(--phone-icon-fixed-size);
		height: var(--phone-icon-fixed-size);
		left: var(--phone-icon-fixed-left);
		}
}
@media (max-width: 1274px) {

.header-widget_logo-text {
	font-size: clamp(var(--spacing-sm), var(--vw-2-0), var(--size-10));
}

}
	
@media (max-width: 1200px) {
	.header-widget__container {
		max-width: 1200px;
	}
}

@media (max-width: 992px) {
	.header-widget__container {
		max-width: 960px;
	}
}

@media (max-width: 768px) {
	.header-widget__container {
		max-width: 768px;
	}
}

@media (max-width: 576px) {
	.header-widget__container {
		max-width: 540px;
	}
}

@media (max-width: 480px) {
	.header-widget__container {
		padding-right: var(--spacing-sm);
		padding-left: var(--spacing-sm);
	}
	
	.header-widget__wrap-container {
		padding: 0 !important;
	}
}

/* Переключение на мобильное меню */
@media (max-width: 1279px) {
	.header-widget__menu {
		display: none;
	}
	
	.header-widget__burger {
		display: block;
	}
}

/* Скрытие элементов на средних экранах */
@media (max-width: 1162px) {
	.header-widget__icon-addres-ofese {
		 display: none !important;
	}
	
	.header-widget__location {
		flex: 0 1 auto;
		width: 48%;
		padding-right: 0;
		margin-bottom: var(--spacing-xs);
		gap: var(--size-5);
	}
	
    .header-widget__contacts {
        flex: 0 1 auto;
    }
}


@media (max-width: 1149px) {
	.header-widget__description,
	.header-widget__social {
		display: none;
	}
}

@media (max-width: 1024px) {
	.header-widget-mob {
		width: 100%;
	}
}

@media (max-width: 830px) {
	.header-widget__contacts-link {
		display: none;
	}
	
	.header-widget__contacts > .header-widget__emergency {
		display: none;
	}
	
	/* Активируем вертикальный режим для номеров телефонов */
	.header-widget__phone-wrapper {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: end;
		-webkit-align-items: flex-end;
		-ms-flex-align: end;
		align-items: flex-end;
		gap: var(--spacing-xs);
		min-height: 0;
		position: relative;
	}
	
	

}

@media (max-width: 766px) {
	.header-widget__callback-button {
		display: none;
	}
	
	.header-widget__nav {
		gap: calc(var(--spacing-xs) * 2);
	}
	
	.header-widget__logo-link {
		width: clamp(12em, calc(14em * 100vw / 1440px), 14em);
	}
	
	/* Усиливаем вертикальный режим на малых экранах */
	.header-widget__phone-wrapper {
		min-height: 0;
		-webkit-box-pack: end;
		-webkit-justify-content: flex-end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
	
}


@media (max-width: 429px) {
	
	.header-widget .elementor img {
		width: calc(var(--spacing-xl) * 1.1);
	}
	
}

@media (max-width: 400px) {
.header-widget__emergency .header-widget__icon--phone{
	display: none !important;
}
}
@media (max-width: 393px) {
	.header-widget__location {
		display: none !important; 
	}
	.header-widget__contacts {
		margin: auto;

	}
}
@media (max-width: 377px) {
    .header-widget__phone-number-text {
        font-size: clamp(0.65em, 1.8vw, 0.89em);
    }
}
@media (max-width: 352px) {
	.header-widget__email-address {
		font-size: calc(var(--font-size-xs) * 0.75);
	}
}

@media (max-width: 340px) {

	.header-widget__phone-wrapper {
	display: none !important;
	}	
}

@media (max-width: 327px) {
	
	.header-widget__top {
		justify-content: start;
	}
}
.header-widget__location--mob{
	display: flex !important;
	flex-direction: column;
	gap: var(--size-13);
	align-items: flex-start;
	justify-content: flex-start;
}
.header-widget__location--mob .header-widget__icon-addres-ofese, .header-widget__location--mob .header-widget__icon-clock-work {
    display: flex !important;
}
.header-widget__location--mob {
    width: 100%;
}
/* ========== menu-checkbox.css ========== */
.image-upload {
	display: none;
}	

/* ========== Widget Responsive/Visibility Classes ========== */
/* Hide on mobile (< 768px) */
@media (max-width: 767px) {
  .cw-hide-mobile-yes,
  .elementor-widget.cw-hide-mobile-yes {
    display: none !important;
  }
}

/* Hide on tablet (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .cw-hide-tablet-yes,
  .elementor-widget.cw-hide-tablet-yes {
    display: none !important;
  }
}

/* Additional responsive grid for widgets */
@media (max-width: 1024px) {
  .sb-grid--3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .sb-team__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .sb-hero-split__inner {
    flex-direction: column;
  }
  .sb-hero-split__content,
  .sb-hero-split__media {
    width: 100% !important;
  }
  .sb-hero-split__media {
    min-height: 300px;
  }
  .sb-two {
    grid-template-columns: 1fr !important;
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .sb-grid--3 {
    grid-template-columns: 1fr !important;
  }
  .sb-team__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .sb-strip {
    flex-direction: column;
    gap: 16px;
  }
  .sb-steps {
    gap: 16px;
  }
  .sb-step {
    flex-direction: column;
    text-align: center;
  }
  .sb-step__num {
    margin-bottom: 10px;
  }
  .sb-final__box {
    flex-direction: column;
    gap: 20px;
  }
  .sb-head {
    text-align: center;
  }
}

@media (max-width: 480px) {
  .sb-team__grid {
    grid-template-columns: 1fr !important;
  }
  .sb-btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .sb-card {
    padding: 20px;
  }
  .sb-hero-split__media {
    min-height: 200px;
  }
}
