/* ==================================================================
   Адаптивні фікси, 03.09.2026.

   Файл підключається в head.blade.php ПІСЛЯ styles.css, тому перебиває
   його без !important. Правила НЕ дублюються в resources/sass/ — там
   лишається початковий код; це свідомо, щоб не чіпати мініфікований
   public/css/styles.css (491 КБ) і не запускати npm run prod на деві.
   ================================================================== */

/* ---- 1. Сітка послуг вилазила на 320px ----------------------------
   У irbis-home.scss рядок ~1373 задає `@media (max-width: 430px)
   { repeat(2, 1fr) }`, і він іде ПІСЛЯ правил «≤600px → 1fr», тобто
   перебиває їх. На 320px дві колонки давали треки 166+14+149 = 329px
   при доступних 292px — документ ставав 343px і зʼявлявся
   горизонтальний скрол.

   Дві колонки на 360–430px лишаємо (так і було задумано, вони влазять),
   а нижче 360px згортаємо в одну: інакше на текст лишається 95px. */
@media (max-width: 359px) {
    .irbis-services__grid { grid-template-columns: 1fr; }
}

/* Картка була content-box, тож padding 20/22px додавався ПОВЕРХ ширини
   колонки — саме через це min-content треку виходив ширшим за сітку. */
.irbis-service-card { box-sizing: border-box; }

/* ---- 2. Колонки футера на мобілці --------------------------------
   footer_style.scss (рядок ~321, у @media max-width:1023px) ставить
   `.footer-contacts { text-align: center }`, а заголовкам колонок —
   `left`. Короткі посилання шрink-wrap'ляться і виглядають ліворуч,
   а єдине довге («Мережа представництв») переноситься на два рядки
   й центрується — колонка виглядає розсипаною.

   Вирівнюємо вміст колонок ліворуч, як заголовки. Соцмережі не чіпаємо:
   вони в .footer-contacts-socnet-* і центруються тим самим правилом. */
@media screen and (max-width: 1023px) {
    .footer-content .footer-contacts-cities { text-align: left; }
}

/* ---- 3. Списки категорій у мобільному меню ------------------------
   Той самий діагноз, що й у футері: контейнер #myLinks має
   `text-align: center`, а всі пункти — shrink-wrap'нуті <a>, притиснуті
   ліворуч. Видно це лише на пункті, який переноситься у два рядки
   («Підшипники і підшипникова продукція») — його другий рядок
   центрується, і пункт випадає зі списку.

   Ціляємо тільки у випадайки категорій. Кнопки «Онлайн каталог» /
   «B2B кабінет» лежать в іншій гілці (.header__links-topline__prices)
   і лишаються центрованими. */
@media (max-width: 1023px) {
    #myLinks .category-mobile-menu .botline-drop__menu { text-align: left; }
}

/* ---- 4. Шапка вилазила за екран на вузьких телефонах --------------
   `.header__menu-wrapper` має `width: 100%` (=320px) І `padding: 0 12px
   0 16px` при `box-sizing: content-box` — разом 348px у viewport 320px.
   Блок висував по 14px з кожного боку, і оскільки він обрізається
   (а не скролиться), телефон і перемикач мов просто зникали за краєм.

   Той самий діагноз, що в .irbis-service-card вище: content-box + padding. */
.header__menu-wrapper { box-sizing: border-box; }

/* ---- 5. Дві філії у мобільному меню випадали зі списку ------------
   Перший (Харків) і останній (Львів) `li.branch-button` рахуються
   `display: block`, а решта 12 — `display: flex` з `flex-direction:
   column; align-items: center`. Через це 12 пунктів центровані, а ці два
   течуть ліворуч: у block-контексті flex-властивості не діють.

   Вирівнюємо всі 14 однаково — по більшості, тобто flex+center. */
@media (max-width: 1023px) {
    /* !important тут потрібен: ці два — рівно :first-child і :last-child
       свого <ul>, і їх перебиває позиційне правило з вищою специфічністю
       у styles.css. Перевірено: без !important правило не застосовується. */
    #myLinks .branch-button { display: flex !important; align-items: flex-start !important; }
}

/* ---- 6. Щілина між шапкою і відкритим меню -----------------------
   `.topnav` (контейнер мобільного меню) позиціонується абсолютно від
   шапки з захардкодженим `top: 114px`, а шапка на мобілці має висоту
   лише 72px — звідси смуга 42px між нею і меню. Значення 114px, судячи
   з усього, лишилось від старішої, вищої шапки.

   `top: 100%` = висота шапки, тобто щілина зникає і значення більше
   не треба правити руками, якщо висота шапки колись зміниться. */
@media (max-width: 1023px) {
    .header .header__mobile-burger .topnav { top: 100%; }
}

/* ---- 7. Нижній ряд меню (телефон + перемикач мов) ховався ---------
   Симптом: щойно розкрити хоч один список у меню, вміст росте до ~4700px,
   і рядок з телефоном та перемикачем мов іде за нижню межу. Дістатись
   до нього не можна: body під час відкритого меню має `no-scroll`.

   ⛔ ГРАБЛІ (наступив 03.09.2026): не задавати `.topnav { height }`.
   При ЗАКРИТОМУ меню `.topnav` має висоту 0 — вона обчислюється з вмісту,
   а `#myLinks` тоді `display: none`. Щойно поставити явну `height`,
   `.topnav` (білий, absolute, z-index 10) розтягується на весь екран
   і закриває сторінку білим полотном. Саме це й сталось: на мобілці
   головна стала повністю біла.
   Тому тут ТІЛЬКИ `max-height` — на порожньому боксі вона не діє.

   `100%` у calc — висота шапки (вона ж containing block для .topnav),
   тож значення саме підлаштується під будь-який брейкпоінт.
   `dvh` враховує згортання адресного рядка на телефоні. */
@media (max-width: 1023px) {
    .header .header__mobile-burger .topnav {
        max-height: calc(100vh - 100%);
        overflow-y: auto;
    }
    /* щоб внутрішній скрол справді працював, меню не має перевищувати
       обрізаний контейнер; власний `overflow-y: auto` у #myLinks уже є */
    #myLinks { height: auto; max-height: 100%; }
}
@supports (height: 100dvh) {
    @media (max-width: 1023px) {
        .header .header__mobile-burger .topnav { max-height: calc(100dvh - 100%); }
    }
}

/* ---- 8. Іконки біля карти не центрувались по тексту ---------------
   `irbis-home.scss` ставить `.irbis-map__facts li { align-items:
   flex-start }`. Рядок має висоту іконки (38px), а текст — 15px
   (один рядок) або 30px (два) і притискався до верху: візуально текст
   виявлявся вище центру кола.

   `center` вирівнює іконку по середині тексту незалежно від того,
   один там рядок чи два — як у макеті презентації. */
.irbis-map__facts li { align-items: center; }

/* ==================================================================
   10. ЄДИНА ТИПОГРАФІЧНА ДРАБИНА 320px — 4K, 03.09.2026

   Було три різні проблеми, усі заміряні на деві:

   1) `.irbis-distribution__title` (заголовок карти) відсутній у переліку
      блоку `@media (min-width: 2560px)` в irbis-home.scss (рядок 1041) —
      тому він застигав на 28px, коли всі сусідні h2 йшли в 40px.
   2) На 1024–1919px заголовки розʼїхались на дві величини: продукція
      й карта 28px, сервіси й клієнти 32px.
   3) Кнопка (14px), картка сервісу (16px), плитка продукції (15px),
      факти карти (15px) і футер (16px) не змінювались ВЗАГАЛІ від 390
      до 3840. На 4K це давало заголовок 40px поруч з кнопкою 14px.

   Драбина нижче тримає ті самі опорні значення, які вже були в дизайні,
   і лише доводить її до кінця: додає крок на 1920 і піднімає основний
   текст на 2K/4K. Корінь = 10px, тому 3.6rem = 36px.
   ================================================================== */

/* --- заголовки секцій: одна величина на всіх блоках --- */
@media (min-width: 1024px) {
    .irbis-stats__title, .irbis-products__title, .irbis-distribution__title,
    .irbis-services__title, .irbis-clients__title, .irbis-certs__title,
    .irbis-distribution__wrapper--map .irbis-distribution__title {
        font-size: 3.2rem;
    }
}
@media (min-width: 1920px) {
    .irbis-stats__title, .irbis-products__title, .irbis-distribution__title,
    .irbis-services__title, .irbis-clients__title, .irbis-certs__title,
    .irbis-distribution__wrapper--map .irbis-distribution__title {
        font-size: 3.6rem;
    }
    .irbis-intro__lead { font-size: 2.2rem; }
}
@media (min-width: 2560px) {
    /* ключова правка: заголовок карти. Його перебиває правило зі
       специфічністю (0,2,0) — .irbis-distribution__wrapper--map
       .irbis-distribution__title — тому просто класу не досить,
       порядок підключення тут не допомагає. Перевірено: з коротким
       селектором лишалось 28px. */
    .irbis-stats__title, .irbis-products__title, .irbis-distribution__title,
    .irbis-services__title, .irbis-clients__title, .irbis-certs__title,
    .irbis-distribution__wrapper--map .irbis-distribution__title {
        font-size: 4rem;
    }
    .irbis-intro__lead { font-size: 2.4rem; }
}

/* --- основний текст, плитки, кнопки: раніше не росли взагалі --- */
@media (min-width: 1920px) {
    .irbis-map__facts li,
    .irbis-map__fact-text          { font-size: 1.6rem; }
    .irbis-product-tile__title     { font-size: 1.6rem; }
    .irbis-service-card span       { font-size: 1.7rem; }
    .irbis-distribution__btn       { font-size: 1.6rem; }
    .irbis-stat__label             { font-size: 1.7rem; }
    .irbis-stat__value             { font-size: 4.4rem; }
}
@media (min-width: 2560px) {
    .irbis-map__facts li,
    .irbis-map__fact-text          { font-size: 1.7rem; }
    .irbis-product-tile__title     { font-size: 1.7rem; }
    .irbis-service-card span       { font-size: 1.8rem; }
    .irbis-distribution__btn       { font-size: 1.7rem; }
    .irbis-stat__label             { font-size: 1.8rem; }
    .irbis-stat__value             { font-size: 4.8rem; }
    .footer-content .footer-contacts-cities a { font-size: 1.7rem; }
}

/* На мобілці заголовок карти теж випадав: 24px проти 21px у сусідів.
   Селектор із тією ж специфічністю (0,2,0), що й правило, яке його тримає. */
@media (max-width: 430px) {
    .irbis-distribution__wrapper--map .irbis-distribution__title { font-size: 2.1rem; }
}
