/*==============================================================
  Avior-Днепр — Custom Theme v5
  Cross-browser: Chrome, Firefox, Safari, Opera, Edge
==============================================================*/

/* ---- FONTS (original Axis) ---- */
:root {
  --default-font: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --heading-font: "Montserrat", sans-serif;
  --nav-font:     "Poppins", sans-serif;
  --accent-color:  #e8840a;
  --heading-color: #1b2d4a;
  --default-color: #555555;

  /* ── Фирменная палитра Avior ──────────────────────────────────── */
  --brand-teal:   #2db8c9; /* фирменный бирюзовый (логотип) */
  --brand-amber:  #cd9900; /* тёмно-жёлтый (логотип, акцент) */
  --brand-white:  #ffffff;
  --brand-dark:   #2c353d; /* графит — основной тёмный (header/dropdown) */
  --brand-darker: #2c3033; /* более глубокий графит */
  --brand-gray:   #e6e6e6; /* нейтральный светлый */
}

/* ---- HEADER ----
   Фирменные графитовые тона #2c353d / #2c3033 + едва заметная подсветка #2db8c9.
   Старт: «дышащий» полупрозрачный оранжевый бордер 5px (rgba 232,132,10,0.2).
   Скролл: уплотняется (5px → 3px), бордер становится насыщенным (alpha 1),
   появляется лёгкая тень и уменьшается padding — всё через мягкий transition 0.45s.
*/
.header {
  --background-color: rgba(44, 53, 61, 1);
  background-color: #2c353d !important;
  /* Двухслойный фон: бирюзовый радиальный «блик» поверх графитового linear-gradient */
  background-image:
    radial-gradient(120% 100% at 92% 0%, rgba(45, 184, 201, 0.12) 0%, rgba(45, 184, 201, 0) 55%),
    linear-gradient(135deg, #2c353d 0%, #2c3033 100%) !important;
  padding: 6px 0;
  border-bottom: 5px solid rgba(232, 132, 10, 0.2);
  -webkit-backdrop-filter: blur(0);
          backdrop-filter: blur(0);
  -webkit-transition:
    border-bottom-width .45s ease,
    border-bottom-color .45s ease,
    padding .45s ease,
    background-color .45s ease,
    -webkit-box-shadow .45s ease;
  transition:
    border-bottom-width .45s ease,
    border-bottom-color .45s ease,
    padding .45s ease,
    background-color .45s ease,
    box-shadow .45s ease;
}
.header .logo img    { max-height: 40px; }
.header .logo h1.sitename { color: #fff !important; font-weight: 700; font-size: 22px; }

/* Скролл-состояние */
.scrolled .header {
  background-color: #2c353d !important;
  background-image:
    radial-gradient(120% 100% at 92% 0%, rgba(45, 184, 201, 0.12) 0%, rgba(45, 184, 201, 0) 55%),
    linear-gradient(135deg, #2c353d 0%, #2c3033 100%) !important;
  border-bottom: 3px solid rgba(232, 132, 10, 1);
  padding: 3px 0;
  -webkit-box-shadow: 0 6px 24px rgba(0, 0, 0, 0.28);
          box-shadow: 0 6px 24px rgba(0, 0, 0, 0.28);
}
.scrolled .header::before {
  background: rgba(44, 53, 61, 0.97) !important;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

/* ---- NAVMENU ---- */
@media (min-width: 1200px) {
  .navmenu a, .navmenu a:focus {
    color: #d0dce8 !important;
    font-size: 14px;
    font-family: var(--nav-font);
  }
  .navmenu li:hover > a,
  .navmenu .active,
  .navmenu .active:focus { color: var(--brand-teal) !important; }

  .navmenu .dropdown ul {
    /* Фирменный графит + тонкий бирюзовый верхний кант */
    background: var(--brand-dark);
    background-image: linear-gradient(180deg, var(--brand-dark) 0%, var(--brand-darker) 100%);
    border-top: 2px solid var(--brand-teal);
    min-width: 200px;
    border-radius: 0 0 6px 6px;
    -webkit-box-shadow: 0 8px 20px rgba(0,0,0,0.30);
    box-shadow: 0 8px 20px rgba(0,0,0,0.30);
  }
  .navmenu .dropdown ul a { color: var(--brand-gray) !important; font-size: 13px; -webkit-transition: color .2s ease, background-color .2s ease; transition: color .2s ease, background-color .2s ease; }
  .navmenu .dropdown ul a:hover {
    color: var(--brand-teal) !important;
    background-color: rgba(45, 184, 201, 0.08);
  }

  /* Deep nested dropdown — flush right of parent */
  .navmenu .dropdown .dropdown ul {
    top: 0; left: 100%; right: auto;
    margin-left: 1px;
    background: var(--brand-darker);
    background-image: linear-gradient(180deg, var(--brand-darker) 0%, #232a30 100%);
    border-top: 2px solid var(--brand-teal);
    min-width: 230px;
  }
  .navmenu .dropdown .dropdown:nth-last-child(-n+3) ul {
    left: auto; right: 100%; margin-left: 0; margin-right: 1px;
  }
}

/* ---- HERO SLIDER — ПОЛНЫЙ АДАПТИВ ---- */
#hero.hero { padding: 0 !important; }
.hero-slider-wrap { position: relative; overflow: hidden; }

/* ── Высота слайдера по брейкпоинтам ── */
.hero-slider-wrap .swiper { width: 100%; height: 600px; }
@media (max-width: 1199px) { .hero-slider-wrap .swiper { height: 520px; } }
@media (max-width: 1024px) { .hero-slider-wrap .swiper { height: 480px; } }
@media (max-width: 900px)  { .hero-slider-wrap .swiper { height: 430px; } }
@media (max-width: 768px)  { .hero-slider-wrap .swiper { height: 380px; } }
@media (max-width: 600px)  { .hero-slider-wrap .swiper { height: 340px; } }
@media (max-width: 414px)  { .hero-slider-wrap .swiper { height: 310px; } }
@media (max-width: 375px)  { .hero-slider-wrap .swiper { height: 290px; } }
@media (max-width: 320px)  { .hero-slider-wrap .swiper { height: 270px; } }

/* ── Слайд — фон и выравнивание ── */
.hero-slide {
  position: relative;
  background-size: cover;
  background-position: center top;   /* показываем верхнюю часть — людей/лица */
  background-repeat: no-repeat;
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  -webkit-justify-content: flex-start; justify-content: flex-start;
}
/* Для слайда 3 (группа людей) — показываем полностью */
.hero-slide[style*="slide3.jpg"] {
  background-position: center center;
  background-size: cover;
}
@media (max-width: 768px) {
  .hero-slide {
    background-position: center top;
    background-size: cover;
  }
  .hero-slide[style*="slide3.jpg"] {
    background-position: 40% top;
  }
}

/* Градиент-затемнение */
.hero-slide::before {
  content: "";
  position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  background: -webkit-linear-gradient(left, rgba(10,22,40,.80) 0%, rgba(10,22,40,.50) 55%, rgba(10,22,40,.15) 100%);
  background:         linear-gradient(90deg, rgba(10,22,40,.80) 0%, rgba(10,22,40,.50) 55%, rgba(10,22,40,.15) 100%);
  z-index: 1;
}

/* ── Белая контент-карточка ── */
.hero-slide .slide-content {
  position: relative; z-index: 2;
  padding: 38px 46px;
  width: 100%;
  max-width: 560px;
  color: #1a1a1a;
  background: rgba(255,255,255,0.92);
  border-radius: 10px;
  border-left: 5px solid #e8840a;
  margin-left: 60px;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  -webkit-box-shadow: 0 8px 32px rgba(0,0,0,0.28);
          box-shadow: 0 8px 32px rgba(0,0,0,0.28);
  box-sizing: border-box;
}

/* iPad Pro / большие планшеты */
@media (max-width: 1199px) {
  .hero-slide .slide-content {
    max-width: 500px;
    margin-left: 32px;
    padding: 30px 32px;
  }
}

/* iPad Mini / iPad (768–1024) — полупрозрачный фон, стрелки не перекрываются */
@media (max-width: 1024px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 100px); /* отступ 50px с каждой стороны под стрелки */
    margin-left: auto;
    margin-right: auto;
    padding: 26px 28px;
    background: rgba(255,255,255,0.82);
  }
  .hero-slider-wrap .swiper-button-next,
  .hero-slider-wrap .swiper-button-prev {
    z-index: 10;
  }
}

/* Планшеты landscape-mobile */
@media (max-width: 900px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 90px);
    margin-left: auto;
    margin-right: auto;
    padding: 22px 24px;
    background: rgba(255,255,255,0.80);
  }
}

/* Мобильные широкие (Galaxy S, Pixel) */
@media (max-width: 768px) {
  .hero-slide {
    -webkit-align-items: center; align-items: center;
    -webkit-justify-content: center; justify-content: center;
  }
  .hero-slide .slide-content {
    max-width: calc(100% - 80px); /* оставляем место стрелкам по 40px */
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 16px 18px;
    border-radius: 8px;
    background: rgba(255,255,255,0.78);
  }
}

/* iPhone XR, iPhone 12 (414px) */
@media (max-width: 430px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 72px);
    width: calc(100% - 72px);
    margin: 0 auto;
    padding: 13px 14px;
    border-radius: 7px;
    background: rgba(255,255,255,0.75);
  }
}

/* iPhone SE, маленькие (375px и ниже) */
@media (max-width: 390px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 64px);
    width: calc(100% - 64px);
    margin: 0 auto;
    padding: 11px 12px;
    border-radius: 6px;
    background: rgba(255,255,255,0.75);
  }
}

/* ── Заголовок H2 ── */
.hero-slide .slide-content h2 {
  font-size: 2.4rem !important;
  font-weight: 300 !important;
  color: #1b2d4a !important;
  line-height: 1.18 !important;
  margin-bottom: 10px !important;
  text-shadow: none !important;
  letter-spacing: -0.5px !important;
}
@media (max-width: 1024px) { .hero-slide .slide-content h2 { font-size: 2rem !important; } }
@media (max-width: 900px)  { .hero-slide .slide-content h2 { font-size: 1.8rem !important; } }
@media (max-width: 768px)  { .hero-slide .slide-content h2 { font-size: 1.6rem !important; margin-bottom: 8px !important; } }
@media (max-width: 430px)  { .hero-slide .slide-content h2 { font-size: 1.35rem !important; margin-bottom: 6px !important; } }
@media (max-width: 375px)  { .hero-slide .slide-content h2 { font-size: 1.2rem !important; } }

/* ── Текст-описание ── */
.hero-slide .slide-content p {
  font-size: 14.5px !important;
  color: #2a2a2a !important;
  line-height: 1.68 !important;
  margin-bottom: 20px !important;
  font-weight: 400 !important;
  text-shadow: none !important;
}
@media (max-width: 900px)  { .hero-slide .slide-content p { font-size: 13.5px !important; margin-bottom: 16px !important; } }
@media (max-width: 768px)  { .hero-slide .slide-content p { font-size: 13px !important; line-height: 1.6 !important; margin-bottom: 14px !important; } }
@media (max-width: 430px)  { .hero-slide .slide-content p { font-size: 12px !important; line-height: 1.55 !important; margin-bottom: 12px !important; } }
@media (max-width: 375px)  { .hero-slide .slide-content p { font-size: 11.5px !important; margin-bottom: 10px !important; } }

/* ── Кнопки ── */
.hero-slide .slide-btns {
  display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  gap: 8px;
}
.hero-slide .slide-btns a {
  display: inline-block;
  padding: 10px 26px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  -webkit-transition: all .3s; transition: all .3s;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .hero-slide .slide-btns a { padding: 9px 20px; font-size: 13px; }
}
@media (max-width: 768px) {
  .hero-slide .slide-btns { gap: 7px; }
  .hero-slide .slide-btns a { padding: 8px 18px; font-size: 13px; }
}
@media (max-width: 430px) {
  .hero-slide .slide-btns { gap: 6px; }
  .hero-slide .slide-btns a {
    padding: 7px 14px;
    font-size: 12px;
    -webkit-flex: 1; flex: 1;
    text-align: center;
    min-width: 0;
  }
}
@media (max-width: 375px) {
  .hero-slide .slide-btns a { padding: 6px 10px; font-size: 11.5px; }
}

.btn-orange { background: #e8840a; color: #fff !important; border: 2px solid #e8840a; }
.btn-orange:hover { background: #cf7209 !important; border-color: #cf7209; }
.btn-outline-white { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,.7); }
.btn-outline-white:hover { background: rgba(255,255,255,.15) !important; border-color: #fff; }

/* ── Стрелки навигации ── */
.hero-slider-wrap .swiper-button-next,
.hero-slider-wrap .swiper-button-prev {
  color: #fff;
  background: rgba(232,132,10,.75);
  width: 44px; height: 44px;
  border-radius: 50%;
  -webkit-transition: background .3s; transition: background .3s;
}
@media (max-width: 768px) {
  .hero-slider-wrap .swiper-button-next,
  .hero-slider-wrap .swiper-button-prev {
    width: 34px; height: 34px;
  }
}
@media (max-width: 430px) {
  .hero-slider-wrap .swiper-button-next,
  .hero-slider-wrap .swiper-button-prev {
    width: 28px; height: 28px;
  }
}
.hero-slider-wrap .swiper-button-next:hover,
.hero-slider-wrap .swiper-button-prev:hover { background: #e8840a; }
.hero-slider-wrap .swiper-button-next::after,
.hero-slider-wrap .swiper-button-prev::after { font-size: 14px; font-weight: 900; }
@media (max-width: 430px) {
  .hero-slider-wrap .swiper-button-next::after,
  .hero-slider-wrap .swiper-button-prev::after { font-size: 11px; }
}

/* ── Пагинация ── */
.hero-slider-wrap .swiper-pagination-bullet { background: rgba(255,255,255,.6); opacity: 1; width: 10px; height: 10px; }
.hero-slider-wrap .swiper-pagination-bullet-active { background: #e8840a; width: 28px; border-radius: 5px; }
@media (max-width: 430px) {
  .hero-slider-wrap .swiper-pagination-bullet { width: 8px; height: 8px; }
  .hero-slider-wrap .swiper-pagination-bullet-active { width: 20px; }
}

/* ---- GLOBAL ACCENT ---- */
.btn-primary, a.btn-primary { background-color: #e8840a !important; border-color: #e8840a !important; color: #fff !important; }
.btn-outline, a.btn-outline { border-color: #e8840a !important; color: #e8840a !important; }
.btn-outline:hover { background: #e8840a !important; color: #fff !important; }

.section-title .subtitle { color: #e8840a !important; }
.section-title h2::after { background: #e8840a !important; }

.service-link { color: #e8840a !important; }
.service-item .service-icon { background: rgba(232,132,10,0.12) !important; }
.service-item .service-icon i { color: #e8840a !important; }
.service-item:hover { border-top-color: #e8840a !important; }

.feature-item .icon-wrapper { background: rgba(232,132,10,0.1) !important; }
.feature-item .icon-wrapper i { color: #e8840a !important; }

.detail-icon { color: #e8840a !important; }
.info-icon   { color: #e8840a !important; }
.submit-btn  { background: #e8840a !important; border-color: #e8840a !important; }
.submit-btn:hover { background: #cf7209 !important; }
.primary-action { background: #e8840a !important; border-color: #e8840a !important; color: #fff !important; }
.primary-action:hover { background: #cf7209 !important; }

/* ---- PORTFOLIO FILTER ---- */
.cat-filters {
  display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  gap: 8px; list-style: none; padding: 0; margin: 0 0 32px;
}
.cat-filters li {
  padding: 8px 20px; border-radius: 30px; cursor: pointer;
  background: #f0f4f8; border: 1px solid #dde3ea;
  color: #4a4a4a; font-size: 14px; font-weight: 500;
  -webkit-transition: all .25s; transition: all .25s;
  -webkit-user-select: none; -moz-user-select: none; user-select: none;
}
.cat-filters li:hover { background: #e8840a; color: #fff; border-color: #e8840a; }
.cat-filters li.filter-active { background: #e8840a !important; color: #fff !important; border-color: #e8840a !important; }

/* ---- CATEGORY CARDS ---- */
.cat-grid .col-lg-4, .cat-grid .col-md-6 { display: -webkit-flex; display: flex; }
.cat-card-link { display: -webkit-flex; display: flex; width: 100%; text-decoration: none; }

.cat-card {
  width: 100%; background: #fff;
  border-radius: 10px; overflow: hidden;
  -webkit-box-shadow: 0 2px 14px rgba(27,45,74,.08);
  box-shadow: 0 2px 14px rgba(27,45,74,.08);
  border: 1px solid #e5eaf0;
  -webkit-transition: all .3s; transition: all .3s;
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
}
.cat-card:hover {
  -webkit-box-shadow: 0 8px 28px rgba(27,45,74,.16);
  box-shadow: 0 8px 28px rgba(27,45,74,.16);
  -webkit-transform: translateY(-4px); -ms-transform: translateY(-4px); transform: translateY(-4px);
  border-color: #e8840a;
}

.cat-card-body { padding: 20px 22px 22px; -webkit-flex: 1; flex: 1; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; }
.cat-card-body h4 { font-size: 16px; font-weight: 700; color: #1b2d4a; margin-bottom: 10px; line-height: 1.3; font-family: var(--heading-font); }
.cat-card-body p  { font-size: 13.5px; color: #5a6a7a; line-height: 1.6; -webkit-flex: 1; flex: 1; margin-bottom: 14px; }
.cat-link { display: -webkit-inline-flex; display: inline-flex; -webkit-align-items: center; align-items: center; gap: 6px; color: #e8840a; font-size: 13px; font-weight: 600; -webkit-transition: gap .2s; transition: gap .2s; }
.cat-card:hover .cat-link { gap: 10px; }
.cat-item.hidden { display: none !important; }

/* ---- CLIENTS SLIDER ---- */
#clients { background: #f4f7fc; padding: 60px 0; }
.clients-swiper { padding-bottom: 44px !important; }

.clients-row {
  display: -webkit-flex; display: flex;
  gap: 16px;
  -webkit-justify-content: center; justify-content: center;
  -webkit-align-items: center; align-items: center;
}
.clients-row .client-item {
  -webkit-flex: 1; flex: 1; max-width: 190px;
  background: #fff;
  border: 1px solid #dde4ed;
  border-radius: 10px;
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  -webkit-justify-content: center; justify-content: center;
  padding: 18px 14px; height: 100px;
  -webkit-transition: all .3s; transition: all .3s;
  /* Full color, no blur, sharp */
  -webkit-filter: none; filter: none;
  opacity: 1;
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.clients-row .client-item:hover {
  -webkit-filter: none; filter: none; opacity: 1;
  -webkit-box-shadow: 0 6px 22px rgba(27,45,74,0.14); box-shadow: 0 6px 22px rgba(27,45,74,0.14);
  border-color: #e8840a;
  -webkit-transform: translateY(-4px); -ms-transform: translateY(-4px); transform: translateY(-4px);
}
.clients-row .client-item img {
  max-height: 60px;
  max-width: 130px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.clients-pagination { bottom: 0 !important; }
.clients-pagination .swiper-pagination-bullet { background: #c0ccd8; opacity: 1; }
.clients-pagination .swiper-pagination-bullet-active { background: #e8840a; }

@media (max-width: 767px) {
  .clients-row { -webkit-flex-wrap: wrap; flex-wrap: wrap; gap: 10px; }
  .clients-row .client-item { max-width: calc(33.33% - 8px); height: 70px; }
}

/* ---- FOOTER ---- */
.footer { background: #0f1e33 !important; }
.footer .sitename { color: #f7a832 !important; }
.footer .footer-about p { color: #9eb5cc; }
.footer .social-links a { background: rgba(232,132,10,.2) !important; color: #f7a832 !important; }
.footer .social-links a:hover { background: #e8840a !important; color: #fff !important; }
.footer .footer-links h4 { color: #f7a832 !important; }
.footer .footer-links h4::after { background: #e8840a !important; }
.footer .footer-links li a { color: #9eb5cc !important; }
.footer .footer-links li a:hover { color: #f7a832 !important; }
.footer .footer-contact h4 { color: #f7a832 !important; }
.footer .footer-contact p, .footer .footer-contact a { color: #9eb5cc !important; }
.footer .footer-contact a:hover { color: #f7a832 !important; }
.footer .copyright { border-top: 1px solid rgba(255,255,255,.07); padding-top: 18px; color: #6a8099; }
.footer .credits a { color: #e8840a !important; }

.footer-schedule { background: rgba(255,255,255,.05); border: 1px solid rgba(232,132,10,.3); border-radius: 6px; padding: 14px 18px; margin-top: 14px; }
.footer-schedule h5 { color: #f7a832; font-size: 13px; font-weight: 700; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .5px; }
.footer-schedule p { margin: 4px 0; font-size: 13px; color: #9eb5cc !important; }

/* ============================================================
   CROSS-BROWSER COMPATIBILITY PATCHES
   Chrome, Firefox, Safari, Opera, Edge
============================================================ */

/* Box sizing */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Smooth scroll — Safari needs JS fallback, others OK */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

/* Image rendering cross-browser */
img { -ms-interpolation-mode: bicubic; }

/* Flexbox cross-browser (IE11, older Safari) */
.d-flex { display: -webkit-flex !important; display: -ms-flexbox !important; display: flex !important; }
.align-items-center { -webkit-align-items: center !important; -ms-flex-align: center !important; align-items: center !important; }
.justify-content-between { -webkit-justify-content: space-between !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }

/* Swiper fix for Safari */
.swiper { -webkit-transform: translateZ(0); transform: translateZ(0); }

/* input/button reset for Safari */
input, button, textarea, select {
  font-family: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button { cursor: pointer; }

/* header stays fixed at top via Bootstrap fixed-top class — do NOT override with sticky */

/* Transition vendor prefixes */
a, button, .cat-card, .client-item, .lang-item, .cat-filters li {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}

/* Firefox — remove outline on buttons */
button::-moz-focus-inner { border: 0; padding: 0; }

/* ============================================================
   FONT RESTORATION — original Axis weights (screenshot match)
   Heading: Montserrat weight 300 (thin/light)
   Body:    Roboto weight 400 (regular)
   Nav:     Poppins weight 400
============================================================ */

/* Override any bold headings back to Axis originals */
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: -0.5px;
}

/* Section titles — exact Axis original */
.section-title h2 {
  font-size: 2.8rem !important;
  font-weight: 300 !important;
  letter-spacing: -1px !important;
  line-height: 1.2 !important;
  color: #1b2d4a !important;
}

/* Hero slider headline — font managed above in HERO SLIDER block */

/* About h2 */
.about .content h2,
.why-us .content h2 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 2.2rem !important;
}

/* Service & feature headings — slightly bolder but still clean */
.service-item h3,
.feature-content h3 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.1rem !important;
  letter-spacing: 0 !important;
}

/* Category card headings */
.cat-card-body h4 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500 !important;
}

/* Footer section headings */
.footer h4 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500 !important;
}

/* Body text — Roboto regular */
body,
p,
.cat-card-body p,
.service-item p,
.feature-content p {
  font-family: "Roboto", system-ui, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #555 !important;
}

/* Nav — Poppins 400 */
.navmenu a, .navmenu a:focus {
  font-family: "Poppins", sans-serif !important;
  font-weight: 400 !important;
}

/* sitename logo */
.header .logo h1.sitename {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 26px !important;
  letter-spacing: 1px !important;
}

/* ============================================================
   DROPDOWN FIX — товары/услуги: level-1 opens below, level-2 opens LEFT
============================================================ */
@media (min-width: 1200px) {

  /* Level-1: appears directly below nav link */
  .navmenu .dropdown ul {
    left: 0 !important;
    right: auto !important;
    top: 100% !important;
    margin: 0 !important;
    transition: opacity 0.15s ease, visibility 0.15s ease !important;
    transition-delay: 0s !important;
  }

  .navmenu .dropdown:hover > ul {
    transition-delay: 0s !important;
  }

  /* Level-2 (deep dropdown): ALWAYS opens to the LEFT of parent item */
  .navmenu .dropdown .dropdown > ul {
    top: 0 !important;
    left: auto !important;
    right: 100% !important;      /* <-- ЛІВОРУЧ */
    margin: 0 !important;
    transition: opacity 0.15s ease, visibility 0.15s ease !important;
    transition-delay: 0s !important;
  }

  .navmenu .dropdown .dropdown:hover > ul {
    top: 0 !important;
    left: auto !important;
    right: 100% !important;
    transition-delay: 0s !important;
  }

  /* Bridge to prevent menu disappearing when moving mouse */
  .navmenu .dropdown ul::before {
    content: '';
    position: absolute;
    top: -10px; left: 0; right: 0;
    height: 10px;
  }
  .navmenu .dropdown .dropdown > ul::before {
    content: '';
    position: absolute;
    top: 0; right: -12px; left: auto;
    width: 12px; height: 100%;
  }
}

/* ============================================================
   IMAGE ALIGNMENT FIXES (v8 user photos)
============================================================ */

/* 3. Category cards — all images same height, cover, no distortion */
.cat-card-img {
  height: 200px !important;
  overflow: hidden;
  background: #f4f6f8;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  border-radius: 10px 10px 0 0;
}

.cat-card-img img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  object-position: center center !important;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  display: block;
}

.cat-card:hover .cat-card-img img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

/* ============================================================
   FULL-HEIGHT IMAGE WRAPPERS (1 & 2)
============================================================ */
/* ---- ABOUT / WHY-US IMAGES — показывать полностью ---- */
.full-height-img-wrap {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  /* Адаптивная высота */
  min-height: 420px;
}

.full-height-img-wrap img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center top !important;
  display: block;
  border-radius: 12px;
}

/* На больших экранах — cover чтобы картинка заполняла всю высоту колонки */
@media (min-width: 992px) {
  .full-height-img-wrap {
    height: 100%;
    min-height: 460px;
  }
  .full-height-img-wrap img {
    position: absolute;
    top: 0; left: 0;
    /* contain вместо cover — гарантия что ноги/голова на картинке
       не обрежутся, если соседняя колонка короче (актуально для en). */
    object-fit: contain !important;
    object-position: center center !important;
    padding: 8px;
  }
}

/* Планшеты */
@media (max-width: 991px) {
  .full-height-img-wrap {
    min-height: 0;
    height: auto;
  }
  .full-height-img-wrap img {
    position: static !important;
    height: auto !important;
    max-height: 480px !important;
    object-fit: contain !important;
  }
}

/* Мобильные */
@media (max-width: 576px) {
  .full-height-img-wrap img {
    max-height: 320px !important;
  }
}

/* Stretch cols */
.about .row.align-items-center,
.why-us .row {
  -webkit-align-items: stretch !important;
  align-items: stretch !important;
}
.about .col-lg-6.d-flex,
.why-us .col-lg-6.d-flex {
  display: -webkit-flex !important;
  display: flex !important;
}

/* ============================================================
   LOGO — contain (show full, no stretch)
============================================================ */
/* Logo image — responsive, no broken-icon bleed */
.logo-img-contain {
  display: block !important;
  height: 44px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex-shrink: 0 !important;
}
@media (max-width: 1199px) {
  .logo-img-contain { height: 36px !important; max-width: 170px !important; }
}
@media (max-width: 767px) {
  .logo-img-contain { height: 30px !important; max-width: 140px !important; }
}
/* Hide browser's broken-image placeholder before onerror fires */
.logo-img-contain:-moz-broken { display: none !important; }
.header .logo { flex-shrink: 0 !important; min-width: 0 !important; overflow: hidden; }

/* ============================================================
   SLIDER — second button styled like first (outlined orange)
============================================================ */
.btn-orange-outline {
  background: transparent !important;
  color: #e8840a !important;
  border: 2px solid #e8840a !important;
  font-weight: 600 !important;
}
.btn-orange-outline:hover {
  background: #e8840a !important;
  color: #fff !important;
}

/* ============================================================
   GAP FIXES — remove white spaces (v11)
============================================================ */

/* Gap 1: Between fixed header and hero slider — zero */
/* Отступ под фиксированную шапку — чтобы она не перекрывала hero-слайдер */
.main {
  padding-top: var(--avior-header-h, 60px) !important;
  margin-top: 0 !important;
}

/* Hero section must start right after fixed header */
#hero.hero {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Fixed header offset — dynamically compensate for topbar */
body.index-page .main {
  padding-top: var(--avior-header-h, 60px) !important;
}

.about.section {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
  margin-top: 0 !important;
}

/* Ensure no gap from section default top-padding override */
section#about {
  padding-top: 60px !important;
}


/* ============================================================
   CONTACT INFO CARD — phones block
============================================================ */
.contact-info-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-info-block {
  background: #fff;
  border-radius: 10px;
  padding: 16px 20px;
  border: 1px solid #e5eaf0;
  box-shadow: 0 2px 10px rgba(27,45,74,0.06);
}

.contact-info-title {
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #1b2d4a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
}

.contact-info-title i { color: #e8840a; margin-right: 6px; }

.contact-phone-line {
  display: flex;
  flex-direction: column;
  padding: 8px 0;
  border-bottom: 1px solid #f0f4f8;
  text-decoration: none;
  transition: all 0.2s;
}

.contact-phone-line:last-of-type { border-bottom: none; }

.contact-phone-line:hover .phone-num { color: #e8840a; }

.phone-num {
  font-size: 16px;
  font-weight: 700;
  color: #1b2d4a;
  font-family: "Montserrat", sans-serif;
}

.phone-dept {
  font-size: 12px;
  color: #8a9ab0;
  margin-top: 2px;
}

.contact-info-value {
  font-size: 14px;
  color: #4a5a6a;
  line-height: 1.6;
  text-decoration: none;
  display: block;
}

a.contact-info-value:hover { color: #e8840a; }


/* ============================================================
   FIX 1: DESKTOP HEADER — nav не уходит вправо
   navmenu получает flex:1 и выравнивается по правому краю
============================================================ */
@media (min-width: 1200px) {
  #header .container-fluid,
  #header .container-xl {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }
  #header .logo {
    flex: 0 0 auto !important;
    max-width: 240px !important;
  }
  #header .navmenu {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    overflow: visible !important;
  }
  #header .navmenu > ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* language switcher li — inline */
  #header .navmenu > ul > li:last-child {
    position: static !important;
    margin-left: 8px !important;
  }
  #header .navmenu > ul > li:last-child > ul.nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    border-radius: 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #header .navmenu > ul > li:last-child > ul.nav li a {
    color: #d0dce8 !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-bottom: none !important;
  }
  #header .navmenu > ul > li:last-child > ul.nav li a:hover {
    color: #f7a832 !important;
  }
}

/* ============================================================
   FIX 2: MOBILE MENU — полноэкранная панель
   Весь экран, все пункты видны, товары раскрыты
============================================================ */
@media (max-width: 1199px) {

  /* Кнопка-гамбургер поверх всего */
  .mobile-nav-toggle {
    position: relative !important;
    z-index: 100020 !important;
    color: #fff !important;
    font-size: 26px !important;
    cursor: pointer !important;
  }

  /* Затемнение фона — занимает весь экран */
  .mobile-nav-active .navmenu {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.6) !important;
    z-index: 100000 !important;
    overflow: visible !important;
  }

  /* ======= ПАНЕЛЬ МЕНЮ — ПОЛНЫЙ ЭКРАН ======= */
  .mobile-nav-active .navmenu > ul {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    height: 100vh !important;
    border-radius: 0 !important;
    inset: unset !important;
    background: #ffffff !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 72px 0 40px 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    z-index: 100005 !important;
    border-left: none !important;
    border-top: 4px solid #e8840a !important;
  }

  /* Крестик (×) — фиксирован в правом верхнем углу */
  .mobile-nav-active .mobile-nav-toggle {
    position: fixed !important;
    top: 16px !important;
    right: 20px !important;
    z-index: 100025 !important;
    color: #1b2d4a !important;
    font-size: 32px !important;
    background: transparent !important;
    margin-right: 0 !important;
  }

  /* Заголовок «МЕНЮ» вверху панели */
  .mobile-nav-active .navmenu > ul::before {
    content: 'МЕНЮ';
    display: block;
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #e8840a;
    pointer-events: none;
  }

  /* Каждый пункт меню */
  .mobile-nav-active .navmenu > ul > li {
    border-bottom: 1px solid #f0f4f8 !important;
  }

  /* Ссылки главного уровня */
  .mobile-nav-active .navmenu a,
  .mobile-nav-active .navmenu a:focus {
    color: #1b2d4a !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    padding: 15px 28px !important;
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    letter-spacing: 0.2px !important;
  }

  /* Маркер ▸ перед пунктами */
  .mobile-nav-active .navmenu > ul > li > a::before {
    content: '▸';
    color: #e8840a;
    margin-right: 12px;
    font-size: 11px;
    flex-shrink: 0;
    line-height: 1;
  }

  /* Hover / active */
  .mobile-nav-active .navmenu a:hover,
  .mobile-nav-active .navmenu .active,
  .mobile-nav-active .navmenu .active:focus {
    color: #e8840a !important;
    background: rgba(232,132,10,0.05) !important;
  }

  /* Иконка шеврона */
  .mobile-nav-active .navmenu a i {
    background-color: rgba(232,132,10,0.1) !important;
    color: #e8840a !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
  }

  /* ======= ПОДМЕНЮ (dropdown) — всегда раскрыто в мобильном ======= */
  .mobile-nav-active .navmenu .dropdown > ul {
    display: block !important;
    position: static !important;
    background: #f8f9fc !important;
    border: none !important;
    border-left: 4px solid #e8840a !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  /* Пункты подменю */
  .mobile-nav-active .navmenu .dropdown ul li {
    border-bottom: none !important;
    min-width: 0 !important;
  }

  .mobile-nav-active .navmenu .dropdown ul a,
  .mobile-nav-active .navmenu .dropdown ul a:focus {
    font-size: 15px !important;
    font-weight: 400 !important;
    padding: 11px 28px 11px 32px !important;
    color: #3a5070 !important;
    border-bottom: 1px solid #eef1f6 !important;
    background: transparent !important;
  }

  .mobile-nav-active .navmenu .dropdown ul a::before {
    content: '›' !important;
    color: #e8840a !important;
    margin-right: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  .mobile-nav-active .navmenu .dropdown ul a:hover {
    color: #e8840a !important;
    background: rgba(232,132,10,0.06) !important;
  }

  /* Шеврон для dropdown — повёрнут (раскрыт) */
  .mobile-nav-active .navmenu .dropdown > a i {
    transform: rotate(180deg) !important;
    background-color: #e8840a !important;
    color: #fff !important;
  }

  /* Переключатель языка — внизу панели */
  .mobile-nav-active .navmenu > ul > li:last-child {
    padding: 20px 28px !important;
    border-top: 2px solid #e8840a !important;
    border-bottom: none !important;
    margin-top: 4px !important;
    background: #f8f9fc !important;
  }

  .mobile-nav-active .navmenu > ul > li:last-child a {
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-bottom: none !important;
    color: #1b2d4a !important;
    border-radius: 4px !important;
    border: 1px solid rgba(27,45,74,0.2) !important;
    display: inline-flex !important;
    justify-content: center !important;
    min-width: 44px !important;
  }

  .mobile-nav-active .navmenu > ul > li:last-child a::before {
    display: none !important;
  }

  .mobile-nav-active .navmenu > ul > li:last-child a:hover {
    background: #e8840a !important;
    color: #fff !important;
    border-color: #e8840a !important;
  }

  .mobile-nav-active .navmenu > ul > li:last-child > ul.nav {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* ============================================================
   CROSS-BROWSER COMPATIBILITY FIXES
   Safari < 14.1 (iOS 13), Firefox, Edge, Opera
============================================================ */

/* --- gap fallback для flex в Safari < 14.1 --- */
/* Кнопки слайдера */
.hero-slide .slide-btns a {
  margin-right: 8px;
  margin-bottom: 8px;
}
@supports (gap: 8px) {
  .hero-slide .slide-btns a { margin-right: 0; margin-bottom: 0; }
}

/* --- display: flex + webkit для Safari iOS 8-9 --- */
.hero-slide .slide-btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { -webkit-animation-duration: 0.01ms !important;
          animation-duration: 0.01ms !important;
      -webkit-transition-duration: 0.01ms !important;
              transition-duration: 0.01ms !important; }
}


/* --- IE Edge: устранение синей подсветки на tap --- */
a, button, [role="button"] { -ms-touch-action: manipulation; touch-action: manipulation; }

/* --- Safari iOS: убрать resize на textarea --- */
textarea { resize: vertical; }

/* --- Chrome/Safari: убрать автозаполнение фона --- */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-text-fill-color: #1b2d4a;
}

/* --- Firefox: скроллбар в мобильном меню --- */
.mobile-nav-active .navmenu > ul {
  scrollbar-width: thin;
  scrollbar-color: #e8840a #f0f4f8;
}
.mobile-nav-active .navmenu > ul::-webkit-scrollbar { width: 4px; }
.mobile-nav-active .navmenu > ul::-webkit-scrollbar-track { background: #f0f4f8; }
.mobile-nav-active .navmenu > ul::-webkit-scrollbar-thumb { background: #e8840a; border-radius: 2px; }

/* --- Safari: фикс fixed position на iOS --- */
@supports (-webkit-touch-callout: none) {
  .mobile-nav-active .navmenu > ul {
    /* iOS Safari иногда игнорирует height: 100vh — используем -webkit-fill-available */
    min-height: -webkit-fill-available;
  }
  .mobile-nav-active .mobile-nav-toggle {
    /* Фикс position:fixed внутри transformed элементов на iOS */
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}

/* --- Samsung Internet / old Android WebView: flex fallback --- */
@media (max-width: 768px) {
  .hero-slide {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
  }
}


/* ============================================================
   reCAPTCHA v3 (Invisible) — приватная подпись и badge
============================================================ */
.recaptcha-privacy {
  color: #8a9ab0;
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.4;
}
.recaptcha-privacy a {
  color: #e8840a;
  text-decoration: none;
  border-bottom: 1px dotted #e8840a;
}
.recaptcha-privacy a:hover {
  color: #cf7209;
  border-bottom-color: #cf7209;
}

/* reCAPTCHA v3 (Invisible) — бейдж полностью скрыт.
   По правилам Google это допустимо, если на странице есть подпись
   "Этот сайт защищён reCAPTCHA..." (она реализована классом .recaptcha-privacy). */
.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: fixed !important;
  z-index: -1 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* php-email-form: подсветить состояние спиннера/успеха */
.php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 12px;
  border: 1px solid #e5eaf0;
  border-radius: 6px;
  margin-bottom: 12px;
  color: #1b2d4a;
}
.php-email-form .loading::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: 0 8px -3px 0;
  border: 2px solid #e8840a;
  border-top-color: transparent;
  border-radius: 50%;
  animation: avior-spin 0.8s linear infinite;
}
@keyframes avior-spin {
  to { transform: rotate(360deg); }
}
.php-email-form .error-message {
  display: none;
  background: #fdecea;
  color: #b71c1c;
  padding: 10px 14px;
  border-left: 3px solid #b71c1c;
  border-radius: 4px;
  margin-bottom: 12px;
  font-size: 14px;
}
.php-email-form .sent-message {
  display: none;
  background: #e8f5e9;
  color: #1b5e20;
  padding: 10px 14px;
  border-left: 3px solid #1b5e20;
  border-radius: 4px;
  margin-bottom: 12px;
  font-size: 14px;
}
.php-email-form button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ============================================================
   SLIDER ARROWS — no overlap with .slide-content card (v6.1)
   Стрелки всегда у краёв слайдера, карточка отступает достаточно
   чтобы кнопки никогда не залезали на белый блок.
============================================================ */
.hero-slider-wrap .swiper-button-prev,
.hero-slider-wrap .swiper-button-next {
  z-index: 20 !important;          /* выше .slide-content (z:2) */
}
.hero-slider-wrap .swiper-button-prev { left: 12px !important; right: auto !important; }
.hero-slider-wrap .swiper-button-next { right: 12px !important; left: auto !important; }

/* Desktop ≥1200px: карточка слева, стрелка слева — отступ 80px (12+44+24 запас) */
@media (min-width: 1200px) {
  .hero-slide .slide-content {
    margin-left: 80px !important;
    max-width: 540px !important;
  }
}

/* ≤1199 — карточка чуть уже, отступ 70px */
@media (max-width: 1199px) {
  .hero-slide .slide-content {
    margin-left: 70px !important;
    margin-right: 70px !important;
    max-width: calc(100% - 140px) !important;
  }
}

/* ≤1024 — flex-center, по 60px с каждой стороны под стрелки 44px */
@media (max-width: 1024px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 130px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ≤900 — стрелки те же 44px, но плотнее, оставим 110px суммарно */
@media (max-width: 900px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 110px) !important;
  }
}

/* ≤768 — стрелки 34px (см. блок выше): нужно ≥ 2*(12+34+10) = 112px → берём 100px */
@media (max-width: 768px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 100px) !important;
    width: calc(100% - 100px) !important;
  }
  .hero-slider-wrap .swiper-button-prev { left: 8px !important; }
  .hero-slider-wrap .swiper-button-next { right: 8px !important; }
}

/* ≤430 — стрелки 28px: 2*(8+28+8) = 88px */
@media (max-width: 430px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 90px) !important;
    width: calc(100% - 90px) !important;
  }
  .hero-slider-wrap .swiper-button-prev { left: 6px !important; }
  .hero-slider-wrap .swiper-button-next { right: 6px !important; }
}

/* ≤375 */
@media (max-width: 375px) {
  .hero-slide .slide-content {
    max-width: calc(100% - 80px) !important;
    width: calc(100% - 80px) !important;
  }
}
/* /SLIDER ARROWS */




/* ============================================================
   Форма контактов — жёсткий flex для input-group (шаблон Axis
   ломает дефолтный Bootstrap-flex, поэтому усиливаем).
============================================================ */
.contact form.php-email-form .input-group {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  -webkit-align-items: stretch !important;
  align-items: stretch !important;
  width: 100% !important;
  position: relative;
}
.contact form.php-email-form .input-group-text {
  display: -webkit-inline-flex !important;
  display: inline-flex !important;
  -webkit-align-items: center; align-items: center;
  -webkit-justify-content: center; justify-content: center;
  background: #1b2d4a;
  color: #e8840a;
  border: 1px solid #d6dce5;
  border-right: 0;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  min-width: 46px;
  padding: 0 12px;
  white-space: nowrap;
}
.contact form.php-email-form .input-group .form-control {
  -webkit-flex: 1 1 auto !important;
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
  border-left: 0;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.contact form.php-email-form .input-group:focus-within .input-group-text {
  background: #14223a;
  border-color: #e8840a;
}
.contact form.php-email-form .input-group:focus-within .form-control {
  border-color: #e8840a;
  box-shadow: 0 0 0 0.15rem rgba(232,132,10,.18);
}
.contact form.php-email-form .input-group .input-group-text.align-items-start {
  -webkit-align-items: flex-start !important;
  align-items: flex-start !important;
  padding-top: 12px;
}
/* invalid-feedback внутри input-group — на новой строке под полем */
.contact form.php-email-form .input-group .invalid-feedback {
  -webkit-order: 99; order: 99;
  -webkit-flex: 0 0 100%; flex: 0 0 100%;
  width: 100%;
  margin-top: 4px;
}



/* Та же подсветка в мобильном меню */
.mobile-nav-active .navmenu .nav-pills .nav-link {
  color: #1b2d4a !important;
  background: transparent;
  border: 1px solid rgba(27,45,74,0.2) !important;
}
.mobile-nav-active .navmenu .nav-pills .nav-link.active,
.mobile-nav-active .navmenu .nav-pills .nav-link.active:hover {
  background: #e8840a !important;
  color: #fff !important;
  border-color: #e8840a !important;
}


/* Активный язык — фирменный оранжевый фон. Усиленная специфичность,
   чтобы перебить main.css и Bootstrap-стандарт. */
#header .navmenu ul.nav-pills .nav-link.active,
#header .navmenu li ul.nav-pills .nav-link.active,
#header .navmenu .nav-pills .nav-link.active,
#header .navmenu ul.nav-pills .nav-link.active:focus,
#header .navmenu ul.nav-pills .nav-link.active:hover,
#header .navmenu li ul.nav-pills .nav-link.active:hover {
  background-color: var(--accent-color, #e8840a) !important;
  color: #fff !important;
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.18);
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
}

/* Та же подсветка в мобильном меню */
.mobile-nav-active .navmenu ul.nav-pills .nav-link {
  color: var(--heading-color, #1b2d4a) !important;
  background-color: transparent !important;
  border: 1px solid rgba(27,45,74,0.2) !important;
}
.mobile-nav-active .navmenu ul.nav-pills .nav-link.active,
.mobile-nav-active .navmenu ul.nav-pills .nav-link.active:hover {
  background-color: var(--accent-color, #e8840a) !important;
  color: #fff !important;
  border-color: var(--accent-color, #e8840a) !important;
}

/* ============================================================
   Переключатель языков RU / UK / EN в шапке
   Селекторы усилены префиксом body.index-page и li > a
   для перебивания main.css (шаблон Axis).
============================================================ */
body.index-page #header .navmenu ul.nav-pills,
body #header .navmenu ul.nav-pills {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.22) !important;
}
body.index-page #header .navmenu ul.nav-pills li.nav-item > a.nav-link,
body #header .navmenu ul.nav-pills li > a.nav-link {
  color: #d0dce8 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px;
  padding: 4px 10px !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 3px;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
body.index-page #header .navmenu ul.nav-pills li.nav-item > a.nav-link:hover,
body #header .navmenu ul.nav-pills li > a.nav-link:hover {
  color: #fff !important;
  background: rgba(232,132,10,0.20) !important;
  background-color: rgba(232,132,10,0.20) !important;
}
/* Активный язык — фирменный оранжевый. Перебиваем шаблонный .navmenu .active */
body.index-page #header .navmenu ul.nav-pills li.nav-item > a.nav-link.active,
body.index-page #header .navmenu ul.nav-pills li.nav-item > a.nav-link.active:focus,
body.index-page #header .navmenu ul.nav-pills li.nav-item > a.nav-link.active:hover,
body #header .navmenu ul.nav-pills li > a.nav-link.active,
body #header .navmenu ul.nav-pills li > a.nav-link.active:focus,
body #header .navmenu ul.nav-pills li > a.nav-link.active:hover {
  background: var(--accent-color, #e8840a) !important;
  background-color: var(--accent-color, #e8840a) !important;
  color: #fff !important;
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.18);
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
}

/* Мобильное меню: тот же активный язык, но на светлом фоне */
.mobile-nav-active .navmenu ul.nav-pills li.nav-item > a.nav-link {
  color: var(--heading-color, #1b2d4a) !important;
  background: transparent !important;
  border: 1px solid rgba(27,45,74,0.2) !important;
}
.mobile-nav-active .navmenu ul.nav-pills li.nav-item > a.nav-link.active,
.mobile-nav-active .navmenu ul.nav-pills li.nav-item > a.nav-link.active:hover {
  background: var(--accent-color, #e8840a) !important;
  color: #fff !important;
  border-color: var(--accent-color, #e8840a) !important;
}


/* ============================================================
   Модалки категорий товаров: тёмная шапка, белый текст
============================================================ */
.modal[id^="avior-modal-"] .modal-header {
  background: var(--heading-color, #1b2d4a) !important;
  color: #ffffff !important;
  border-bottom: 0;
}
.modal[id^="avior-modal-"] .modal-header .modal-title {
  color: #ffffff !important;
  font-weight: 600;
}
.modal[id^="avior-modal-"] .modal-header .btn-close {
  filter: invert(1) grayscale(100%) brightness(2);
  opacity: 0.9;
}
.modal[id^="avior-modal-"] .modal-header .btn-close:hover { opacity: 1; }
.modal[id^="avior-modal-"] .modal-body ul { padding-left: 1.2rem; }
.modal[id^="avior-modal-"] .modal-body ul li { margin-bottom: 0.3rem; }
.modal[id^="avior-modal-"] .modal-footer .btn-orange {
  color: #fff !important;
  background: var(--accent-color, #e8840a) !important;
  border-color: var(--accent-color, #e8840a) !important;
}
.modal[id^="avior-modal-"] .modal-footer .btn-orange:hover {
  background: #cf7209 !important;
  border-color: #cf7209 !important;
}


/* ============================================================
   Модалки категорий: Hero-обложка
   Фото на всю ширину сверху + тёмный градиент к низу,
   поверх — крупный заголовок белым с оранжевой акцент-полосой.
============================================================ */
.avior-modal-hero .modal-content {
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(15, 25, 45, 0.35);
}
.avior-modal-hero .avior-modal-cover {
  position: relative;
  width: 100%;
  height: 260px;
  overflow: hidden;
  background: var(--heading-color, #1b2d4a);
  flex-shrink: 0;
}
.avior-modal-hero .avior-modal-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transform: scale(1.04);
  transition: transform 6s ease;
  will-change: transform;
}
/* Лёгкий ken-burns при открытии модалки */
.avior-modal-hero.show .avior-modal-cover-img { transform: scale(1); }

.avior-modal-hero .avior-modal-cover-overlay {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 24px 28px 22px;
  background: linear-gradient(180deg,
              rgba(15, 25, 45, 0) 0%,
              rgba(15, 25, 45, 0.55) 55%,
              rgba(15, 25, 45, 0.95) 100%);
  color: #fff;
  pointer-events: none;
}
.avior-modal-hero .avior-modal-cover-title {
  margin: 0;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.2px;
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.45);
}
.avior-modal-hero .avior-modal-cover-title::before {
  content: '';
  display: block;
  width: 46px;
  height: 3px;
  background: var(--accent-color, #e8840a);
  margin-bottom: 12px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.15);
}

/* Крестик закрытия — в правом верхнем углу обложки */
.avior-modal-hero .avior-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 38px;
  height: 38px;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.42) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  border-radius: 50%;
  border: 0;
  opacity: 1;
  transition: background-color .15s ease, transform .15s ease;
}
.avior-modal-hero .avior-modal-close:hover {
  background-color: rgba(0, 0, 0, 0.65) !important;
  transform: scale(1.05);
}
.avior-modal-hero .avior-modal-close:focus {
  box-shadow: 0 0 0 3px rgba(232, 132, 10, 0.45);
}

/* Тело модалки */
.avior-modal-hero .modal-body {
  padding: 22px 28px 18px;
}
.avior-modal-hero .modal-body > :first-child { margin-top: 0; }
.avior-modal-hero .modal-body p { color: #3d4654; line-height: 1.6; }
.avior-modal-hero .modal-body strong { color: var(--heading-color, #1b2d4a); }
.avior-modal-hero .modal-body ul { padding-left: 1.2rem; margin-bottom: .8rem; }
.avior-modal-hero .modal-body ul li { margin-bottom: 0.35rem; }

/* Footer */
.avior-modal-hero .modal-footer {
  padding: 14px 24px 18px;
  border-top: 1px solid #eef1f5;
  background: #fafbfc;
}

/* Адаптив */
@media (max-width: 767.98px) {
  .avior-modal-hero .avior-modal-cover { height: 200px; }
  .avior-modal-hero .avior-modal-cover-title { font-size: 1.35rem; }
  .avior-modal-hero .avior-modal-cover-overlay { padding: 18px 20px 16px; }
  .avior-modal-hero .modal-body { padding: 18px 20px 14px; }
}
@media (max-width: 374.98px) {
  .avior-modal-hero .avior-modal-cover { height: 170px; }
  .avior-modal-hero .avior-modal-cover-title { font-size: 1.2rem; }
}


/* ============================================================
   TRAINING SECTION — карточки международных курсов
   Стиль отличается от .service-item: тёмный «обложечный» хедер
   с бейджем программы (IOSH/OPITO/CompEx) поверх акцентной
   диагональной заливки. Тело карточки светлое.
============================================================ */
#training {
  background: linear-gradient(180deg, #f5f8fc 0%, #ffffff 100%);
}
#training .section-title h2 {
  color: var(--heading-color, #1b2d4a);
}
#training .section-title .subtitle {
  color: var(--accent-color, #e8840a);
  font-weight: 600;
}

/* Карточка курса */
.training-item {
  position: relative;
  display: -webkit-flex; display: flex;
  -webkit-flex-direction: column; flex-direction: column;
  height: 100%;
  background: #ffffff;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 14px rgba(15, 25, 45, 0.06);
          box-shadow: 0 4px 14px rgba(15, 25, 45, 0.06);
  -webkit-transition: -webkit-transform .25s ease, -webkit-box-shadow .25s ease, border-color .25s ease;
  transition:         transform .25s ease,         box-shadow .25s ease, border-color .25s ease;
}
.training-item:hover {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  border-color: var(--brand-teal, #2db8c9);
  -webkit-box-shadow: 0 16px 36px rgba(15, 25, 45, 0.14);
          box-shadow: 0 16px 36px rgba(15, 25, 45, 0.14);
}

/* Шапка с бейджем и тегом региона/направления */
.training-item .training-head {
  position: relative;
  padding: 22px 24px 18px;
  background:
    linear-gradient(135deg, var(--brand-dark, #2c353d) 0%, var(--brand-darker, #2c3033) 100%);
  color: #fff;
  overflow: hidden;
}
.training-item .training-head::after {
  content: "";
  position: absolute;
  top: -40%;
  right: -20%;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle at center, rgba(45, 184, 201, 0.25) 0%, rgba(45, 184, 201, 0) 60%);
  pointer-events: none;
}
.training-item .training-badge {
  display: inline-block;
  font-family: var(--heading-font, "Montserrat", sans-serif);
  font-size: 1.0rem;
  font-weight: 700;
  letter-spacing: 0.4px;
  line-height: 1;
  padding: 5px 9px;
  background: var(--accent-color, #e8840a);
  color: #fff;
  border-radius: 6px;
  -webkit-box-shadow: 0 4px 12px rgba(232, 132, 10, 0.35);
          box-shadow: 0 4px 12px rgba(232, 132, 10, 0.35);
  z-index: 1;
  position: relative;
}
.training-item .training-tag {
  display: inline-block;
  margin-left: 10px;
  padding: 5px 10px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.2px;
  color: var(--brand-teal, #2db8c9);
  background: rgba(45, 184, 201, 0.12);
  border: 1px solid rgba(45, 184, 201, 0.30);
  border-radius: 12px;
  vertical-align: middle;
  z-index: 1;
  position: relative;
}

/* Заголовок курса */
.training-item .training-title {
  margin: 18px 24px 8px;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--heading-color, #1b2d4a);
  line-height: 1.3;
}

/* Лид-параграф */
.training-item .training-lead {
  margin: 0 24px 14px;
  font-size: 0.92rem;
  color: #4a5564;
  line-height: 1.55;
  -webkit-flex: 1 1 auto; flex: 1 1 auto;
}

/* Маркер-список ключевых пунктов */
.training-item .training-points {
  list-style: none;
  margin: 0 24px 18px;
  padding: 0;
}
.training-item .training-points li {
  position: relative;
  padding: 6px 0 6px 26px;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #2c353d;
  border-top: 1px dashed #eef1f5;
}
.training-item .training-points li:first-child { border-top: 0; }
.training-item .training-points li i {
  position: absolute;
  left: 0;
  top: 8px;
  font-size: 1.05rem;
  color: var(--brand-teal, #2db8c9);
}

/* Подвал карточки: бейдж сертификата + CTA */
.training-item .training-footer {
  margin-top: auto;
  padding: 16px 24px 20px;
  background: #fafbfc;
  border-top: 1px solid #eef1f5;
}
.training-item .training-cert {
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--heading-color, #1b2d4a);
}
.training-item .training-cert i {
  color: var(--accent-color, #e8840a);
  font-size: 1.1rem;
}
.training-item .training-cta {
  display: -webkit-inline-flex; display: inline-flex;
  -webkit-align-items: center; align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 0.88rem;
  font-weight: 600;
  width: 100%;
  -webkit-justify-content: center; justify-content: center;
  background: var(--accent-color, #e8840a) !important;
  color: #fff !important;
  border: 2px solid var(--accent-color, #e8840a) !important;
  border-radius: 6px;
  -webkit-transition: background .2s ease, border-color .2s ease, -webkit-transform .15s ease;
  transition:         background .2s ease, border-color .2s ease,         transform .15s ease;
  cursor: pointer;
}
.training-item .training-cta:hover {
  background: #cf7209 !important;
  border-color: #cf7209 !important;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

/* Адаптив */
@media (max-width: 991.98px) {
  .training-item .training-head { padding: 18px 18px 14px; }
  .training-item .training-title,
  .training-item .training-lead,
  .training-item .training-points { margin-left: 18px; margin-right: 18px; }
  .training-item .training-footer { padding: 14px 18px 16px; }
}
@media (max-width: 575.98px) {
  .training-item .training-badge { font-size: 0.9rem;  padding: 4px 8px; }
  .training-item .training-tag { display: block; margin: 8px 0 0; }
}

/* ============================================================
   SERVICES: компенсация 4-в-ряд (col-lg-3)
   Уменьшаем gaps и шрифты, чтобы карточки не «давили» друг на друга.
============================================================ */
@media (min-width: 992px) {
  #services .service-item { padding: 22px 18px; }
  #services .service-item h3 { font-size: 1.02rem; }
  #services .service-item p { font-size: 0.88rem; line-height: 1.5; }
  #services .service-icon { width: 50px; height: 50px; }
  #services .service-icon i { font-size: 1.3rem; }
}


/* ============================================================
   CAT-CARD: серая заглушка, когда у категории ещё нет фото.
   Сохраняем те же пропорции, что у <img>, чтобы соседние
   карточки выравнивались по высоте.
============================================================ */
.cat-card-img-placeholder {
  display: -webkit-flex; display: flex;
  -webkit-align-items: center; align-items: center;
  -webkit-justify-content: center; justify-content: center;
  width: 100%;
  aspect-ratio: 16 / 10;          /* для современных браузеров */
  min-height: 180px;              /* fallback для старых */
  background:
    repeating-linear-gradient(
      45deg,
      #eef1f5 0 12px,
      #e6ebf0 12px 24px
    );
  color: #9aa6b2;
  border-bottom: 1px solid #e2e7ee;
}
.cat-card-img-placeholder i {
  font-size: 3.5rem;
  opacity: 0.6;
  -webkit-transition: -webkit-transform .25s ease, color .25s ease;
  transition:         transform .25s ease, color .25s ease;
}
.cat-card:hover .cat-card-img-placeholder i {
  color: var(--brand-teal, #2db8c9);
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}


/* ============================================================
   CONTACT FORM WRAPPER — оборачиваем форму в карточку
   с тем же стилем, что .contact-info-block (фон/бордер/тень),
   чтобы визуально левая и правая колонки секции #contact
   выглядели как единая пара.
============================================================ */
#contact .form-wrapper {
  background: #fff;
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  padding: 22px 26px;
  -webkit-box-shadow: 0 2px 10px rgba(27, 45, 74, 0.06);
          box-shadow: 0 2px 10px rgba(27, 45, 74, 0.06);
}
@media (max-width: 575.98px) {
  #contact .form-wrapper { padding: 16px 16px; }
}
