/* ============================================================
   ARTVAN GROUP — виправлення адаптації (v3.3 → v3.4)
   Підключається ПІСЛЯ style.css. Нічого не переписує «з нуля» —
   тільки перекриває конкретні місця, знайдені в аудиті.
   ============================================================ */

/* ── E-01 · Бічний скрол ─────────────────────────────────────
   Джерело — інлайновий grid у секції «Контакти» (див. E-02).
   Тут страховка на майбутнє: clip, а не hidden, бо hidden
   створює контейнер прокрутки і ламає position:sticky. */
html { overflow-x: clip; }
/* на body overflow-x ламає position:sticky у дочірніх елементах
   (бічний зміст на сторінках документів), тому лишаємо лише на html */
body { overflow-x: visible; }

/* ── E-02 · Контакти: сітка 1.4fr / 1fr не згорталась ────────
   Була інлайновим style="" у розмітці — медіазапити її не бачили.
   Класи contact-split / contact-panel / contact-aside замінили
   інлайн у index.php та index-en.php. */
.contact-split {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 2px;
  margin-top: 2px;
}
.contact-split > * { min-width: 0; }
.contact-panel {
  background: var(--bg-card);
  border: 1px solid var(--brd);
  padding: 48px;
}
.contact-aside {
  background: var(--bg-mid);
  border: 1px solid var(--brd);
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 900px) { .contact-split { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .contact-panel, .contact-aside { padding: 32px 24px; } }
@media (max-width: 400px) { .contact-panel, .contact-aside { padding: 26px 20px; } }

/* ── E-03 · «СуботаЗа домовленістю» — злипались колонки ────── */
.hrs-r { gap: 18px; }
.hrs-r span { text-align: right; }
.ftr-hours div { gap: 18px; }
@media (max-width: 420px) {
  .hrs-r, .ftr-hours div { flex-direction: column; align-items: flex-start; gap: 2px; }
  .hrs-r span, .ftr-hours span { text-align: left; }
}

/* ── E-04 · iOS зумив сторінку при фокусі в полі ─────────────
   Safari збільшує масштаб, якщо шрифт поля < 16px. */
@media (max-width: 900px) {
  .fg input, .fg select, .fg textarea { font-size: 16px; padding: 13px 14px; }
}

/* ── T-01 · Зони натискання ─────────────────────────────────
   Мінімум 44×44 px за рекомендацією Apple HIG. */
@media (max-width: 900px) {
  .burger { padding: 11px 10px; margin-right: -10px; }

  .soc { width: 44px; height: 44px; }
  .socials { gap: 10px; }

  /* крапки слайдера були 2 px заввишки — потрапити пальцем неможливо */
  .dots { gap: 2px; }
  .dot {
    width: 40px; height: 26px; background: transparent;
    display: flex; align-items: center; padding: 0 3px;
  }
  .dot::before {
    content: ''; display: block; width: 100%; height: 2px;
    background: rgba(255, 255, 255, .2); transition: background .3s;
  }
  .dot.on { width: 64px; background: transparent; }
  .dot.on::before { background: var(--red); }

  .flt-btn { min-height: 42px; }
  .fchk input { width: 20px; height: 20px; margin-top: 1px; }

  .ftr-col ul li a,
  .ftr-lnks a,
  .ftr-cinfo a { display: inline-block; padding: 7px 0; }
  .bc a { display: inline-block; padding: 6px 0; }
  .srv-textlink { padding: 10px 0; }
  .partner-link { padding: 9px 4px; }
}

/* ── T-02 · Занадто дрібний текст ───────────────────────────
   Мітки капслоком по 9–10 px на телефоні не читаються. */
@media (max-width: 900px) {
  .ey            { font-size: .72rem; }
  .bc            { font-size: .72rem; }
  .slide-num     { font-size: .72rem; }
  .srv-tag       { font-size: .68rem; }
  .gallery-tag   { font-size: .68rem; }
  .partners-lbl  { font-size: .7rem; }
  .flt-btn       { font-size: .7rem; }
  .role          { font-size: .68rem; }
  .ci-lbl        { font-size: .7rem; }
  .fg label      { font-size: .73rem; }
  .fchk label    { font-size: .82rem; }
  .ftr-copy, .ftr-dv { font-size: .76rem; }
}

/* ── T-03 · Внутрішні відступи блоків ───────────────────────
   60 px по боках всередині картки на екрані 375 px лишали
   вузьку колонку тексту. */
@media (max-width: 768px) {
  .about-txt { padding: 44px 24px; }
  .srv-text  { padding: 32px 24px; }
  .modal-box { padding: 28px 20px; }
}
@media (max-width: 400px) {
  .about-txt { padding: 36px 20px; }
  .srv-text  { padding: 28px 20px; }
}

/* ── T-04 · Довгі рядки без пробілів ────────────────────────
   Email та IBAN у вузькій колонці виходили за межі картки. */
.contact-card a,
.ftr-cinfo a,
.legal-body a { overflow-wrap: anywhere; }

/* ── T-05 · Сторінки документів на телефоні ─────────────────
   Липкий зміст перекривався фіксованим хедером. */
@media (max-width: 900px) {
  .legal-sec { scroll-margin-top: 76px; }
}

/* ── T-02b · Другий прохід по дрібних мітках ────────────────
   Знайдено повторним аудитом після першої правки. */
@media (max-width: 900px) {
  .role                { font-size: .7rem; }
  .fcl                 { font-size: .7rem; }
  .ftr-col h5          { font-size: .72rem; }
  .contact-card h4     { font-size: .76rem; }
  .intlb               { font-size: .7rem; }
  .team-c span,
  .lead-role           { font-size: .7rem; }
  .btn                 { font-size: .76rem; }
  .fsub button         { font-size: .8rem; }
  .ftr-lnks a          { font-size: .78rem; }
  h4                   { font-size: .8rem; }
}

/* ── T-01b · Партнери в бігучому рядку ──────────────────────
   inline-елемент не реагував на вертикальний padding. */
@media (max-width: 900px) {
  .partner-link, .mq-item {
    display: inline-flex; align-items: center;
    min-height: 44px; padding: 0 8px;
  }
  .ftr-col ul li a, .ftr-cinfo a, .fcv a { display: inline-block; padding: 10px 0; }
  .ftr-dv { padding: 8px 0; }
}
