/* =========================================================
   UkrTek — style.css
   Figma: 1440px canvas, sections as rounded cards on #FAFAFA
   ========================================================= */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; overflow-y: scroll; }
body { font-family: 'Roboto', sans-serif; background: #FAFAFA; color: #333; padding: 16px; }
img { display: block; max-width: 100%; }
a  { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* ── page wrapper ── */
/* div.page (а не .page) — щоб не конфліктувати з body-класом "page",
   який WordPress додає на сторінках типу Page */
div.page {
  max-width: 1408px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── section base ── */
.section {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

/* ══════════════════════════════════════════════════════════
   SECTION HEADLINE  (connect-line + h2)
   ══════════════════════════════════════════════════════════ */
.sec-headline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.sec-headline h2 {
  font-size: 32px;
  font-weight: 500;
  color: #AB2525;
  text-transform: uppercase;
  white-space: nowrap;
  font-family: 'Roboto', sans-serif;
}

/* right-aligned headline: h2 first, then line */
.sec-headline--right { justify-content: flex-start; }
.sec-headline--right h2 { order: -1; }

/* centered headline: line | h2 | line */
.sec-headline--center { justify-content: center; }

/* ── connect-line decoration ── */
/* Fixed-width variant (left-side headings) */
.cline {
  width: 147px;
  height: 13px;
  flex-shrink: 0;
  position: relative;
}
.cline::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 8px;
  height: 1px;
  background: #bbb;
  transform: translateY(-50%);
}
.cline::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #bbb;
  transform: translateY(-50%);
}

/* Flex-grow variant (stretches to fill remaining space) */
.cline--flex {
  width: auto;
  flex: 1;
  min-width: 40px;
}

/* Flipped variant (dot on left, line on right) */
.cline--flip::before { left: 8px; right: 0; }
.cline--flip::after  { left: 0; right: auto; }

/* ══════════════════════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════════════════════ */
.header {
  background: #AB2525;
  border-radius: 8px;
  height: 100px;
  display: flex;
  align-items: center;
  padding: 0 48px;
  gap: 24px;
  position: sticky;
  top: 16px;
  z-index: 100;
}
.logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  text-decoration: none;
}
.logo__img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.logo__name {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
.nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-left:  1px solid rgba(255,255,255,0.5);
  border-right: 1px solid rgba(255,255,255,0.5);
  padding: 10px 16px;
  align-self: stretch;
}
.nav a,
.nav .is-active,
.nav .nav__parent {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.04em;
  padding: 10px;
  white-space: nowrap;
  transition: opacity .15s;
}
.nav .nav__parent { cursor: default; }
.nav-has-dropdown:hover .nav__parent { opacity: .7; }
.nav a:hover { opacity: .7; }
.nav .is-active {
  font-weight: 700;
  cursor: default;
  text-decoration: none;
}

/* ── Дропдаун «Продукція» (десктоп) ── */
.nav-has-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 240px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 60;
}
.nav-dropdown::before {          /* прозорий місток, щоб курсор не «зривався» */
  content: '';
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
}
.nav-has-dropdown:hover .nav-dropdown,
.nav-has-dropdown:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown li { margin: 0; }
.nav-dropdown a {
  display: block;
  padding: 10px 20px;
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
  transition: background .15s;
}
.nav-dropdown a:hover { background: #f2f4f7; opacity: 1; }
.hdr-contacts {
  display: flex;
  gap: 32px;
  flex-shrink: 0;
}
.hdr-contacts__col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hdr-contacts__col--right { align-items: flex-end; }
.contact-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  line-height: 1.45;
}
.contact-row svg { flex-shrink: 0; }

/* ══════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════ */
.hero {
  position: relative;
  height: 640px;
  border-radius: 8px;
  overflow: hidden;
  background: #1c1c1c;
}
.hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 211.36%;
  object-fit: cover;
  top: -66.09%;
  left: 0;
  pointer-events: none;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(40,40,40,0.85);
  backdrop-filter: blur(7.5px);
  -webkit-backdrop-filter: blur(7.5px);
}
.hero__shape {
  position: absolute;
  left: 1107px;
  top: 68px;
  width: 250px;
  height: 495px;
  object-fit: contain;
  pointer-events: none;
  z-index: 2;
}
.hero__product {
  position: absolute;
  width: 553px;
  height: 529px;
  left: calc(50% + 359px - 553px / 2);
  top: calc(50% - 4.71px - 529px / 2);
  object-fit: contain;
  transform: rotate(1.27deg);
  opacity: .85;
  filter: drop-shadow(-50px 50px 65px rgba(0,0,0,.35));
  pointer-events: none;
  z-index: 3;
}
.hero__content {
  position: absolute;
  left: 157px;
  top: 0;
  z-index: 4;
  width: 667px;
  max-width: calc(100% - 314px);
}
/* Головна (десктоп): контент вертикально по центру — відступ зверху = відступ знизу */
@media (min-width: 769px) {
  .hero:not(.hero--short) .hero__content {
    top: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
  }
}
.hero__title {
  font-size: clamp(32px, 3.9vw, 54px);
  font-weight: 500;
  line-height: 1.25;
  color: #fff;
}
.hero__subtitle {
  font-size: 20px;
  font-weight: 300;
  color: #fff;
  line-height: 1.4;
}
.hero__btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #AB2525;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
  padding: 20px 32px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: opacity .15s;
  white-space: nowrap;
}
.hero__btn:hover { opacity: .88; }

/* ══════════════════════════════════════════════════════════
   КАТЕГОРІЇ ТОВАРІВ
   ══════════════════════════════════════════════════════════ */
.section--categories {
  padding: 64px 16px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.cat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
  padding: 0 44px;
}
.cat-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-decoration: none;
}
.cat-card__img {
  width: 100%;
  height: 296px;
  background: #f1f1f1;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.cat-card__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.cat-card__title {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.32px;
  text-align: center;
  padding: 8px;
  line-height: 1.3;
}
.cat-card:hover .cat-card__img { border-color: #AB2525; }

/* ══════════════════════════════════════════════════════════
   АРХІВ КАТЕГОРІЇ — уніфіковані картки (підкатегорії або продукти)
   Однаковий розмір; при малій кількості — зліва направо, без розтягування
   ══════════════════════════════════════════════════════════ */
.section--tax { padding: 56px 44px 64px; }
.tax-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 40px;
}
.tax-card {
  flex: 0 0 300px;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-decoration: none;
}
.tax-card__img {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #f1f1f1;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.tax-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.tax-card__title {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.32px;
  text-align: center;
  line-height: 1.3;
}
.tax-card:hover .tax-card__img { border-color: #AB2525; }

/* ══════════════════════════════════════════════════════════
   ПРО КОМПАНІЮ
   ══════════════════════════════════════════════════════════ */
.section--about {
  padding: 64px 16px;
}
.about__inner {
  display: flex;
  gap: 24px;
  align-items: stretch;
  padding-left: 44px;
}
.about__photo {
  width: 648px;
  flex-shrink: 0;
  align-self: stretch;   /* фото тягнеться на висоту тексту (перебиває дубль .about__inner) */
  border-radius: 8px;
  overflow: hidden;
  min-height: 420px;
}
.about__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
.about__content {
  flex: 1;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 48px;
  min-width: 0;
}
.about__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.about__text p {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 22px;
  margin: 0;
}
.about__text ul,
.about__text ol { margin: 0; padding-left: 20px; }
.about__text a { color: #AB2525; }
.about__link {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  font-size: 16px;
  font-weight: 400;
  color: #AB2525;
  text-decoration: none;
  align-self: flex-end;
}
.about__link-arrow { flex-shrink: 0; width: 26px; height: 26px; color: #AB2525; }

/* ══════════════════════════════════════════════════════════
   НАШІ ПЕРЕВАГИ
   ══════════════════════════════════════════════════════════ */
.section--adv {
  padding: 64px 16px;
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
.adv__headline {
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
}
.adv__headline h2 {
  font-size: 32px;
  font-weight: 500;
  color: #AB2525;
  text-transform: uppercase;
  white-space: nowrap;
  font-family: 'Roboto', sans-serif;
}
.adv__cards {
  flex: 1;
  display: flex;
  gap: 24px;
  padding: 0 44px;
}
.adv-card {
  width: 244.8px;
  height: 296px;
  flex-shrink: 0;
  background: #282828;
  border-radius: 8px;
  position: relative;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.adv-card__icon {
  width: 52px;
  height: 52px;
  object-fit: contain;
  flex-shrink: 0;
}
.adv-card__bottom {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.adv-card__number {
  font-size: 64px;
  font-weight: 500;
  color: #D74747;
  line-height: 1;
  font-family: 'Roboto', sans-serif;
}
.adv-card__desc {
  font-size: 16px;
  font-weight: 300;
  color: #fff;
  line-height: 22px;
  max-width: 180px;
}

/* ══════════════════════════════════════════════════════════
   НАШІ ПАРТНЕРИ
   ══════════════════════════════════════════════════════════ */
.section--partners {
  background: #f0f0f0;
  padding: 0 16px 64px;
}
.partners__wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.section--partners .sec-headline--center {
  width: 100%;
  padding: 48px 11px 0;
  gap: 10px;
}
.partners__grid {
  width: 100%;
  max-width: 1100px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.partner-logo {
  height: 110px;
  background: #e2e2e2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 16px;
}
.partner-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.partners__btn-row {
  margin-top: 48px;
}
.btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #333;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
  padding: 14px 32px;
  border-radius: 8px;
  text-decoration: none;
  transition: opacity .15s;
}
.btn-dark:hover { opacity: .8; }

/* ══════════════════════════════════════════════════════════
   ЗВ'ЯЗАТИСЯ З НАМИ
   ══════════════════════════════════════════════════════════ */
.section--contact {
  padding: 0;
  overflow: hidden;
}
.contact__hero {
  position: relative;
  height: 607px;
  overflow: hidden;
  border-radius: 8px;
}
.contact__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.contact__gradient {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.contact__card {
  position: absolute;
  left: 737px;
  top: 48px;
  width: 515px;
  height: 504px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 32px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}
.contact__logo-overlay {
  position: absolute;
  top: calc(50% - 324px);
  right: -60px;
  width: 208px;
  height: 208px;
  object-fit: cover;
  opacity: 0.75;
  pointer-events: none;
}
.contact__title {
  font-size: 24px;
  font-weight: 500;
  color: #AB2525;
  text-transform: uppercase;
  text-align: center;
  line-height: 30px;
  position: relative;
  z-index: 1;
}
.contact__sub {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  text-align: center;
  line-height: 22px;
  position: relative;
  z-index: 1;
}
.contact__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
}
/* Contact Form 7 (блок контактів + попап) — під наш дизайн */
.contact__form .wpcf7 { width: 100%; }
.contact__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  width: 100%;
}
.contact__form .wpcf7-form .form-field .wpcf7-form-control-wrap { display: block; width: 100%; }
.contact__form .wpcf7-form .form-field input { width: 100%; box-sizing: border-box; }
.contact__form .wpcf7-form .wpcf7-submit { cursor: pointer; }
.contact__form .wpcf7-spinner { margin: 8px auto 0; }
.contact__form .wpcf7-response-output {
  margin: 4px auto 0 !important;
  width: 337px;
  max-width: 100%;
  font-size: 13px;
  line-height: 1.4;
  padding: 8px 12px;
  border-radius: 8px;
}
.form-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 337px;
}
.form-field label {
  font-size: 12px;
  font-weight: 300;
  color: #333;
  padding: 0 16px;
  line-height: 22px;
}
.form-field .req { color: #AB2525; }
.form-field input {
  width: 337px;
  background: #FAFAFA;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 300;
  font-family: 'Roboto', sans-serif;
  color: #333;
  outline: none;
  transition: border-color .15s;
}
.form-field input::placeholder { color: #969696; }
.form-field input:focus { border-color: #AB2525; }
.btn-red {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #AB2525;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
  width: 184px;
  height: 50px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: opacity .15s;
  text-decoration: none;
}
.btn-red:hover { opacity: .88; }

/* ══════════════════════════════════════════════════════════
   POPUP / MODAL — форма заявки (спільна для всіх CTA-кнопок)
   ══════════════════════════════════════════════════════════ */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.modal.is-open { display: flex; }
.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(40, 40, 40, 0.6);
}
.modal__dialog {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 460px;
  padding: 44px 32px 40px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}
.modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: none;
  background: none;
  font-size: 26px;
  line-height: 1;
  color: #999;
  cursor: pointer;
  transition: color .15s;
}
.modal__close:hover { color: #AB2525; }
.modal .contact__form,
.modal .form-field,
.modal .form-field input { width: 100%; }

/* ══════════════════════════════════════════════════════════
   СТОРІНКА ПОДЯКИ
   ══════════════════════════════════════════════════════════ */
.section--thanks {
  padding: 96px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
  min-height: 420px;
  justify-content: center;
}
.thanks__icon svg { width: 80px; height: 80px; display: block; }
.thanks__title { font-size: 40px; font-weight: 700; color: #AB2525; line-height: 1.2; }
.thanks__text { font-size: 18px; font-weight: 300; color: #333; line-height: 1.5; max-width: 520px; }
.thanks__btn { margin-top: 12px; padding: 0 40px; }

/* ══════════════════════════════════════════════════════════
   НОВИНИ
   ══════════════════════════════════════════════════════════ */
.section--news {
  padding: 50px 44px 64px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.news-row {
  display: flex;
  gap: 24px;
  padding: 0;
}
.news-card {
  flex: 1;
  background: #f8f8f8;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 24px;
  text-decoration: none;
  transition: box-shadow .15s;
}
.news-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.news-card__img {
  height: 240px;
  overflow: hidden;
  border-radius: 8px;
  flex-shrink: 0;
}
.news-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.news-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 24px;
}
.news-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}
.news-badge {
  background: #ebe2e2;
  border-radius: 16px;
  padding: 2px 10px;
  font-size: 14px;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  color: #333;
  flex-shrink: 0;
}
.news-date {
  flex: 1;
  text-align: right;
  font-size: 14px;
  font-weight: 600;
  color: #AB2525;
  line-height: 20px;
}
.news-card__heading {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.news-card__heading h3 {
  flex: 1;
  font-size: 24px;
  font-weight: 600;
  color: #333;
  line-height: 32px;
}
.news-arrow {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 4px;
}
.news-card__excerpt {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 22px;
}

/* ══════════════════════════════════════════════════════════
   ТЕКСТОВИЙ БЛОК
   ══════════════════════════════════════════════════════════ */
.section--text {
  padding: 64px 60px;
}
.text-section__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 1096px;
  margin: 0 auto;
  width: 100%;
}
.text-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.text-block__title {
  font-size: 24px;
  font-weight: 600;
  color: #AB2525;
  line-height: 32px;
}
.text-block__body {
  font-size: 14px;
  font-weight: 300;
  color: #333;
  line-height: 17.5px;
}
.text-block__body--lg {
  font-size: 16px;
  line-height: 22px;
}

/* ══════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════ */
.footer {
  background: #AB2525;
  border-radius: 8px;
  padding: 16px 48px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.footer__contacts {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-shrink: 0;
}
.footer .contact-row {
  flex-shrink: 0;
}
.footer__nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  align-self: stretch;
  padding: 0 16px;
  border-left:  1px solid rgba(255,255,255,0.5);
  border-right: 1px solid rgba(255,255,255,0.5);
}
.footer__nav-row {
  display: flex;
  gap: 10px;
}
.footer__nav-row a,
.footer__nav-row .is-active,
.footer__nav-row .nav__parent {
  display: flex;
  align-items: center;
  padding: 10px;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.56px;
  text-decoration: none;
  transition: opacity .15s;
}
.footer__nav-row .nav__parent { cursor: default; }
.footer__nav-row a:hover { opacity: .7; }
.footer__nav-row .is-active {
  font-weight: 700;
  cursor: default;
}
.footer__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ══════════════════════════════════════════════════════════
   HERO — short variant (category / subpages)
   ══════════════════════════════════════════════════════════ */
.hero--short {
  min-height: 288px;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  padding: 44px 157px;
}
.hero--short .hero__bg-img {
  height: 222%; /* ≈ 640px / 288px — shows top portion of bg */
  top: 0;
}
.hero--short .hero__shape {
  left: 1023px;
  top: -104px;
}
/* Категорії (hero--short): крихти зверху, заголовок нижче — у потоці, без перекриття; крихти клікабельні */
@media (min-width: 769px) {
  .hero--short .hero__breadcrumbs {
    position: relative;
    left: auto;
    top: auto;
    z-index: 3;
  }
  .hero--short .hero__content {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: 100%;
    height: auto;
    z-index: 3;
  }
}
.hero--short .hero__title {
  white-space: normal;
  width: auto;
  font-size: clamp(28px, 3.6vw, 56px);
  line-height: 1.2;
}

/* ══════════════════════════════════════════════════════════
   ТОВАРИ КАТЕГОРІЇ — великі картки підкатегорій
   ══════════════════════════════════════════════════════════ */
.section--prod-cards {
  padding: 64px 16px;
  min-height: 750px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.prod-cards-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 48px;
  padding: 0 44px;
  width: 100%;
}
.prod-card {
  display: flex;
  flex-direction: column;
  gap: 12.5px;
  align-items: center;
  text-decoration: none;
  max-width: 426px;
  justify-self: center;
  width: 100%;
}
.prod-card__img {
  width: 100%;
  height: 463px;
  background: #f1f1f1;
  border: 1.5px solid #eee;
  border-radius: 12.5px;
  padding: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: border-color .15s, box-shadow .15s;
}
.prod-card__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.prod-card:hover .prod-card__img {
  border-color: #AB2525;
  box-shadow: 0 39px 39px -39px rgba(0,0,0,0.25);
}
.prod-card__title {
  font-size: 25px;
  font-weight: 500;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  padding: 12px;
  line-height: 1.3;
  width: 100%;
}

/* ── text section without top padding ── */
.section--text-no-top {
  padding-top: 0;
}

/* ══════════════════════════════════════════════════════════
   BREADCRUMBS (inside short hero)
   ══════════════════════════════════════════════════════════ */
.hero__breadcrumbs {
  position: absolute;
  left: 157px;
  top: 53px;
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 4;
}
.hero__breadcrumbs img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: block;
}
.hero__breadcrumbs a {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.8);
  white-space: nowrap;
  text-decoration: none;
  transition: opacity .15s;
}
.hero__breadcrumbs a:hover { opacity: .7; }
.hero__breadcrumbs span {
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════
   ПІДКАТЕГОРІЇ — 4-колонна сітка малих карток
   ══════════════════════════════════════════════════════════ */
.section--subcats {
  padding: 64px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.subcats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  justify-items: center;
  gap: 36px;
  padding: 0 44px;
  width: 100%;
}
.subcats-row .cat-card {
  flex: 0 0 244.8px;
  width: 244.8px;
}

/* ── footer lang row ── */
.contact-row--lang { opacity: 0.8; }
.lang-alt { opacity: 0.5; }

/* Перемикач мов (Polylang) — активна мова яскрава, інша приглушена й клікабельна */
.lang-switch { display: inline-flex; align-items: center; gap: 4px; color: inherit; white-space: nowrap; }
.lang-switch__item { color: inherit; text-decoration: none; }
.lang-switch a.lang-switch__item { opacity: 0.5; transition: opacity .15s; }
.lang-switch a.lang-switch__item:hover { opacity: 1; }
.lang-switch__item.is-active { opacity: 1; cursor: default; }
.lang-switch__sep { opacity: 0.5; }

/* ══════════════════════════════════════════════════════════
   КАРТКА ТОВАРУ — product card + sticky photo
   overflow: hidden НЕ застосовується (ламає sticky)
   ══════════════════════════════════════════════════════════ */
.section--product-card {
  background: #fff;
  border-radius: 8px;
  padding: 49px 60px 64px;
}
.product-card__inner {
  display: flex;
  gap: 70px;
  align-items: flex-start;
}
.product__photo {
  width: 602px;
  height: 468px;
  background: #d9d9d9;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  position: sticky;
  top: 132px; /* header 100px + body padding 16px + gap 16px */
}
.product__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Плейсхолдер для незавантаженого зображення (ACF) */
.img-ph {
  width: 100%;
  height: 100%;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px;
  box-sizing: border-box;
  background: repeating-linear-gradient(45deg, #ececec, #ececec 12px, #e3e3e3 12px, #e3e3e3 24px);
  color: #8a8a8a;
  font-size: 14px;
  line-height: 1.4;
}
.product__info {
  flex: 1;
  padding-top: 15px;
  display: flex;
  flex-direction: column;
  gap: 35px;
  min-width: 0;
}
.product__title {
  font-size: 30px;
  font-weight: 500;
  color: #AB2525;
  line-height: 40px;
}
/* ── Рядки специфікацій (гнучкий список) ── */
.product__specs {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.spec-row {
  display: flex;
  gap: 8px;
  align-items: flex-end;
}
.spec-row__bullet {
  width: 8px;
  height: 16px;
  flex-shrink: 0;
  object-fit: contain;
  margin-bottom: 3px;
}
.spec-row__label {
  width: 200px;
  flex-shrink: 0;
  display: flex;
  gap: 8px;
  align-items: flex-end;
}
.spec-row__key {
  font-size: 16px;
  font-weight: 400;
  color: #333;
  line-height: 22px;
  white-space: nowrap;
  flex-shrink: 0;
}
.spec-row__dots {
  flex: 1;
  border-bottom: 1px dashed #ccc;
  margin-bottom: 4px;
}
.spec-row__val {
  flex: 1;
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 22px;
  min-width: 0;
}
.spec-row__manufacturer {
  display: flex;
  align-items: center;
  gap: 5px;
}
.spec-row__flag {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}
.product__order-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #AB2525;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
  padding: 0 32px;
  height: 50px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: opacity .15s;
  text-decoration: none;
  white-space: nowrap;
  align-self: flex-start;
}
.product__order-btn:hover { opacity: .88; }

/* ══════════════════════════════════════════════════════════
   ТЕХНІЧНІ ХАРАКТЕРИСТИКИ
   ══════════════════════════════════════════════════════════ */
.section--tech-specs {
  padding: 48px 16px 64px;
  position: relative;
}
.tech-specs__desc {
  margin-top: 18px;
  margin-left: 156px;
  max-width: 1096px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 40px;
}
.tech-specs__desc p {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.tech-specs__sublist {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
}
.tech-specs__sublist li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.tech-specs__sublist li img {
  width: 8px;
  min-width: 8px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 4px;
  object-fit: contain;
  display: block;
}
/* ── Таблиця (справжня <table> з rowspan) ── */
.product__table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 1246px; /* 6 колонок 1176px + 7×10px border-spacing = 1246px */
  margin: 0 auto;    /* центруємо обгортку, а не саму таблицю */
}
.product__table {
  border-collapse: separate;
  border-spacing: 10px;
  table-layout: fixed; /* фіксує точні ширини колонок */
}
.product__table colgroup col:nth-child(1) { width: 215px; }
.product__table colgroup col:nth-child(2) { width: 175px; }
.product__table colgroup col:nth-child(3) { width: 185px; }
.product__table colgroup col:nth-child(4) { width: 185px; }
.product__table colgroup col:nth-child(5) { width: 208px; }
.product__table colgroup col:nth-child(6) { width: 208px; }
.product__table th {
  background: #333;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10px;
  border-radius: 6px;
  text-align: center;
  vertical-align: middle;
  height: 93px;
  line-height: 1.3;
}
.product__table td {
  background: #f0f0f0;
  font-size: 16px;
  font-weight: 400;
  color: #060115;
  padding: 10px 16px;
  border-radius: 6px;
  vertical-align: middle;
  height: 52px;
  line-height: 24px;
  white-space: nowrap;
}
.product__table td.col-type {
  background: #ebebeb;
  font-weight: 500;
}

/* Таблиця в тілі «Технічні характеристики» (генерована редактором — будь-який розмір) */
.tech-specs__body { overflow-x: auto; }
.tech-specs__body table {
  border-collapse: separate;
  border-spacing: 10px;
  margin: 16px auto 0;
}
.tech-specs__body th {
  background: #333;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10px;
  border-radius: 6px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.3;
}
.tech-specs__body td {
  background: #f0f0f0;
  color: #060115;
  font-size: 16px;
  font-weight: 400;
  padding: 10px 16px;
  border-radius: 6px;
  vertical-align: middle;
  line-height: 24px;
}
.tech-specs__body td:first-child {
  background: #ebebeb;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════
   DESKTOP-ONLY: приховати мобільні елементи
   ══════════════════════════════════════════════════════════ */
.header__mobile-center,
.header__burger,
.mobile-nav { display: none; }

/* ══════════════════════════════════════════════════════════
   ПРО КОМПАНІЮ — текстовий блок (no overflow:hidden — sticky фото)
   ══════════════════════════════════════════════════════════ */
.section--about-text {
  background: #fff;
  border-radius: 8px;
  padding: 64px 16px 64px;
}
.about__inner {
  display: flex;
  gap: 75px;
  align-items: flex-start;
  padding: 0 44px; /* разом з 16px section = 60px від краю як в макеті */
  margin-top: 50px;
}
.about__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.about__text {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.about__subblock {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.about__subblock-title {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.about__sublist {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
}
.about__sublist li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.about__sublist li img {
  width: 8px;
  min-width: 8px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 4px;
  object-fit: contain;
  display: block;
}

/* ══════════════════════════════════════════════════════════
   ЦІННОСТІ  (Побудовані на цінностях)
   ══════════════════════════════════════════════════════════ */
.section--values {
  padding: 48px 16px 64px;
}
.values__cards {
  display: flex;
  gap: 24px;
  margin-top: 40px;
  padding: 0 32px;
}
.value-card {
  flex: 1;
  min-width: 0;
  background: rgba(240, 240, 240, 0.4);
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.value-card__header {
  display: flex;
  gap: 16px;
  align-items: center;
}
.value-card__icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  background: #AB2525;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.value-card__icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.value-card__title {
  font-size: 20px;
  font-weight: 500;
  color: #333;
  text-transform: uppercase;
  line-height: 26px;
}
.value-card__divider {
  height: 1px;
  background: #DBD8D8;
  flex-shrink: 0;
}
.value-card__text {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 22px;
}
.value-card__text p { margin: 0 0 12px; }
.value-card__text p:last-child { margin-bottom: 0; }
.value-card__text a { color: #AB2525; }

/* ══════════════════════════════════════════════════════════
   ПЕРЕВАГИ  (Наші переваги)
   ══════════════════════════════════════════════════════════ */
.section--advantages {
  padding: 48px 16px 64px;
}
.advantages__inner {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
.advantages__cards {
  flex: 1;
  min-width: 0;
  display: flex;
  gap: 24px;
  padding: 0 44px;
}
.adv-card {
  flex: 0 0 244.8px;
  width: 244.8px;
  background: #282828;
  border-radius: 8px;
  height: 296px;
  position: relative;
  overflow: hidden;
}
.adv-card__icon {
  position: absolute;
  top: 32px;
  left: 32px;
  width: 52px;
  height: 52px;
  object-fit: contain;
  display: block;
}
.adv-card__body {
  position: absolute;
  bottom: 32px;
  left: 32px;
  right: 24px;
}
.adv-card__number {
  display: block;
  font-size: 64px;
  font-weight: 500;
  color: #D74747;
  line-height: 1;
  font-family: 'Roboto', sans-serif;
}
.adv-card__label {
  font-size: 16px;
  font-weight: 300;
  color: #fff;
  line-height: 22px;
  margin-top: 4px;
  min-height: 44px; /* 2 рядки — щоб числа в усіх картках були на одній лінії */
}

/* ══════════════════════════════════════════════════════════
   FAQ — Часті питання / Оплата / Обмін (акордеон-стиль)
   ══════════════════════════════════════════════════════════ */
.section--faq {
  padding: 55px 16px 64px;
  display: flex;
  justify-content: center;
}
.faq__inner {
  width: 1096px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.faq__group-title {
  font-size: 32px;
  font-weight: 700;
  color: #AB2525;
  line-height: 40px;
  text-transform: uppercase;
}
.faq__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 10px;
}
.faq__item {
  border-bottom: 1px solid rgba(228, 222, 222, 0.5);
}
.faq__row {
  display: flex;
  gap: 23px;
  align-items: flex-start;
  padding-bottom: 16px;
  cursor: pointer;
  user-select: none;
}
.faq__num {
  font-size: 24px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
  padding-top: 4px;
  flex-shrink: 0;
  min-width: 36px;
}
.faq__question {
  font-size: 20px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
  flex: 1;
  min-width: 0;
}
.faq__toggle {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: block;
  object-fit: contain;
  transition: transform .25s ease;
}
/* Accordion: розкриття відповіді + поворот «+» у «×» */
.faq__item.is-open .faq__toggle { transform: rotate(45deg); }
.faq__answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height .35s ease;
}
.faq__item.is-open .faq__answer { max-height: 600px; }
.faq__answer p {
  margin: 0;
  padding: 2px 0 16px 59px;
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}

/* ══════════════════════════════════════════════════════════
   ОПЛАТА І ДОСТАВКА / ОБМІН — контент з заголовком + текстом
   ══════════════════════════════════════════════════════════ */
.section--text-content {
  padding: 0 16px 64px;
}
.text-content__inner {
  display: flex;
  flex-direction: column;
}
.text-content__block {
  padding-top: 64px;
}
.text-content__block + .text-content__block {
  margin-top: 37px;
}
.sec-headline {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 67px;
}
.sec-headline__title {
  font-size: 32px;
  font-weight: 500;
  color: #AB2525;
  text-transform: uppercase;
  line-height: normal;
}
.text-content__body {
  padding-left: 37px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.tc-paragraph {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.tc-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tc-list__heading {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.tc-bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tc-bullet {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.tc-bullet__icon {
  width: 8px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 4px;
  display: block;
  object-fit: contain;
}
.tc-bullet__text {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}

/* ── Універсальний вивід візуального редактора (ACF WYSIWYG) ───────── */
.rte > :first-child { margin-top: 0; }
.rte > :last-child { margin-bottom: 0; }
.rte p {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
  margin: 0 0 16px;
}
.rte ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rte ul li {
  position: relative;
  padding-left: 16px;
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}
.rte ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 1.5px;
  background: #AB2525;
}
.rte ol { margin: 0 0 16px; padding-left: 20px; }
.rte ol li { font-size: 16px; font-weight: 300; color: #333; line-height: 24px; }
.rte h2, .rte h3, .rte h4 { color: #1c1c1c; margin: 0 0 12px; line-height: 1.3; }
.rte h2 { font-size: 24px; font-weight: 600; }
.rte h3 { font-size: 20px; font-weight: 600; }
.rte h4 { font-size: 18px; font-weight: 500; }
.rte strong { font-weight: 700; }
.rte a { color: #AB2525; text-decoration: underline; }
/* нормалізуємо шрифт у вставленому контенті (перебиваємо inline font-family з Word тощо) */
.rte, .rte * { font-family: 'Roboto', sans-serif !important; }
/* коли .rte всередині flex-контейнера — відступи задають margin'и .rte */
.text-content__body.rte { gap: 0; }
.about__text.rte { gap: 0; }
/* збереження типографіки текстових блоків «Покупцю» */
.text-block__body.rte p { font-size: 14px; line-height: 17.5px; }
.text-block__body.rte ul li,
.text-block__body.rte ol li { font-size: 14px; line-height: 17.5px; }
.text-block__body--lg.rte p { font-size: 16px; line-height: 22px; }
.text-block__body--lg.rte ul li,
.text-block__body--lg.rte ol li { font-size: 16px; line-height: 22px; }

/* ══════════════════════════════════════════════════════════
   КОНТАКТИ — блок з картою і інфо
   ══════════════════════════════════════════════════════════ */
.section--contacts-info {
  padding: 50px 64px;
}
.contacts-info__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.contacts-card {
  background: rgba(240, 240, 240, 0.4);
  border-radius: 8px;
  width: 449px;
  min-height: 317px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 32px 0;
}
.contacts-card__title {
  font-size: 20px;
  font-weight: 500;
  color: #333;
  text-transform: uppercase;
  line-height: 28px;
  text-align: center;
}
.contacts-card__divider-wrap {
  width: 100%;
  padding: 0 24px;
}
.contacts-card__divider {
  height: 1px;
  background: #dbd8d8;
  border-radius: 105px;
  width: 100%;
}
.contacts-card__rows {
  display: flex;
  flex-direction: column;
  gap: 29px;
  padding: 0 25px;
  width: 100%;
}
.contacts-card__row {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}
.contacts-card__icon {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  display: block;
}
.contacts-card__text {
  font-size: 18px;
  font-weight: 400;
  color: #333;
  line-height: 24px;
}
.contacts-map {
  width: 822px;
  height: 339px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  flex: 1;
  max-width: 822px;
}
.contacts-map__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.contacts-map__frame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.contacts-map__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  color: #999;
  font-size: 14px;
  background: #f1f1f1;
  background-image: repeating-linear-gradient(45deg, #eaeaea 0 10px, #f1f1f1 10px 20px);
}

/* ══════════════════════════════════════════════════════════
   ПОКУПЦЮ — три картки послуг (Часті питання / Доставка / Обмін)
   ══════════════════════════════════════════════════════════ */
.section--buyer-cards {
  padding: 64px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.buyer-cards__inner {
  display: flex;
  gap: 36px;
  justify-content: center;
  padding: 0 44px;
  width: 100%;
}
.buyer-card-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 244.8px;
  flex-shrink: 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.buyer-icon-card {
  width: 100%;
  height: 296px;
  background: #f1f1f1;
  border: 1px solid #eee;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 24px;
  transition: border-color .2s, box-shadow .2s;
}
/* Підсвітка картки: наведення на десктопі, тап на мобільному */
@media (hover: hover) {
  .buyer-card-col:hover .buyer-icon-card {
    border-color: #AB2525;
    box-shadow: 0 39px 39px -39px rgba(0,0,0,0.25);
  }
  .buyer-card-col:hover .buyer-card__title { color: #AB2525; }
}
.buyer-card-col:active .buyer-icon-card {
  border-color: #AB2525;
  box-shadow: 0 39px 39px -39px rgba(0,0,0,0.25);
}
.buyer-card-col:active .buyer-card__title { color: #AB2525; }
.buyer-icon-card img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.buyer-card__title {
  padding-top: 31px;
  font-size: 16px;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.32px;
  text-align: center;
  line-height: 1.3;
  width: 243px;
}

/* ══════════════════════════════════════════════════════════
   СТАТТЯ — article page
   ══════════════════════════════════════════════════════════ */

/* Article hero title — larger and bold vs standard short hero */
.hero__title--article {
  font-size: 44px;
  font-weight: 700;
  line-height: 50px;
  width: 886px;
}

/* Article content section */
.section--article {
  padding: 48px 0 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.article__img {
  width: 1096px;
  max-width: 100%;
  height: 432px;
  background: #d9d9d9;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.article__img-placeholder {
  width: 182px;
  height: 176px;
  object-fit: contain;
}
.article__content {
  width: 1096px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.article__h2 {
  font-size: 32px;
  font-weight: 700;
  color: #AB2525;
  line-height: 40px;
}
.article__p {
  font-size: 16px;
  font-weight: 300;
  color: #333;
  line-height: 24px;
}

/* ── Вміст статті (the_content нативного допису) ──────────────── */
.article__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.article__content > :first-child { margin-top: 0; }
.article__content > :last-child { margin-bottom: 0; }
.article__content p { font-size: 16px; font-weight: 300; color: #333; line-height: 24px; margin: 0; }
.article__content h2 { font-size: 32px; font-weight: 700; color: #AB2525; line-height: 40px; margin: 0; }
.article__content h3 { font-size: 24px; font-weight: 600; color: #1c1c1c; line-height: 1.3; margin: 0; }
.article__content ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.article__content ul li { display: flex; gap: 8px; align-items: flex-start; font-size: 16px; font-weight: 300; color: #333; line-height: 24px; }
.article__content ul li::before { content: ''; flex-shrink: 0; width: 8px; height: 8px; border-radius: 1.5px; background: #AB2525; margin-top: 7px; }
.article__content ol { margin: 0; padding-left: 20px; }
.article__content a { color: #AB2525; text-decoration: underline; }
.article__content strong { font-weight: 700; }
.article__content img { max-width: 100%; height: auto; border-radius: 8px; }
.article__content table { border-collapse: collapse; width: 100%; }
.article__content th, .article__content td { border: 1px solid #ddd; padding: 8px 12px; text-align: left; }
.article__content th { background: #f0f0f0; font-weight: 600; }

/* ── Сітка новин (сторінка «Новини») + пагінація ─────────────── */
.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.news-pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.news-pagination .page-numbers {
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #eee;
  border-radius: 8px;
  color: #333;
  text-decoration: none;
  font-size: 16px;
}
.news-pagination .page-numbers.current {
  background: #AB2525;
  border-color: #AB2525;
  color: #fff;
}
.news-pagination a.page-numbers:hover { border-color: #AB2525; color: #AB2525; }

/* ══════════════════════════════════════════════════════════
   MOBILE  (≤ 768px)
   Desktop styles NOT modified — all overrides isolated here
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── base ─────────────────────────────────────────────── */
  body { padding: 12px 16.5px; }
  div.page { gap: 12px; }

  /* ── section headlines ────────────────────────────────── */
  .sec-headline h2 { font-size: 24px; white-space: normal; }
  .cline { width: 36px; }

  /* ── HEADER ───────────────────────────────────────────── */
  .header {
    height: auto;
    padding: 12px 16px;
    top: 12px;
    justify-content: space-between;
    gap: 0;
  }
  .logo { flex-direction: column; gap: 5px; width: 60px; align-items: center; }
  .logo__img { width: 29px; height: 29px; }
  .logo__name { font-size: 5.7px; }
  .nav { display: none; }
  .hdr-contacts { display: none; }

  /* Mobile-only header elements */
  .header__mobile-center {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
    flex: 1;
    padding: 0 12px;
  }
  .header__mobile-phone {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    line-height: 1.4;
  }
  .header__mobile-phone svg { flex-shrink: 0; }
  .header__lang {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
  }
  .header__lang-alt { opacity: 0.5; }
  .header__burger {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
  }

  /* ── MOBILE NAV panel ─────────────────────────────────── */
  .mobile-nav {
    display: none;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    justify-content: center;
    background: #AB2525;
    border-radius: 8px;
    overflow: hidden;
    padding: 16px;
  }
  .mobile-nav.is-open {
    display: flex;
  }
  .mobile-nav__close {
    display: none;
  }
  .mobile-nav__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;      /* пункти по лівому краю, під текстом адреси */
    gap: 0;
    padding: 10px 16px 10px 42px; /* 42 + 10 (паддінг лінка) = 52px, як текст контактів */
  }
  .mobile-nav__link,
  .mnav-parent {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    padding: 10px;
    letter-spacing: 0.64px;
    text-decoration: none;
    transition: opacity .15s;
  }
  .mnav-parent { cursor: pointer; }
  .mobile-nav__link--active,
  .mobile-nav__link.is-active,
  .mnav-parent.is-active { font-weight: 700; }
  .mobile-nav__link:hover { opacity: .7; }
  .mnav-row:active .mnav-parent { opacity: .7; }
  .mnav-has-dropdown {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .mnav-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
  }
  .mnav-toggle {
    border: none;
    background: none;
    padding: 6px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: transform .2s ease;
  }
  .mnav-has-dropdown.is-open .mnav-toggle { transform: rotate(180deg); }
  .mnav-dropdown {
    list-style: none;
    margin: 0;
    padding: 0 0 0 22px;           /* невеликий відступ — категорії під «Продукція» */
    display: none;                 /* сховано, поки не тапнули каретку */
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    overflow: hidden;
  }
  .mnav-has-dropdown.is-open .mnav-dropdown {
    display: flex;
    margin: 8px 0 10px;
  }
  .mnav-dropdown a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 15px;
    text-decoration: none;
    transition: opacity .15s;
  }
  .mnav-dropdown a:hover { opacity: .6; }
  .mobile-nav__contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    width: 100%;
    padding: 0 16px;
  }
  .mobile-nav__contact-row {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    line-height: 1.45;
  }
  .mobile-nav__contact-row svg { flex-shrink: 0; }

  /* ── HERO ─────────────────────────────────────────────── */
  .hero { height: 742px; padding: 24px 16px 0; }
  .hero__shape {
    left: auto;
    right: -10px;
    top: 430px;
    width: 133px;
    height: 263px;
  }
  .hero__product {
    width: 288px;
    height: 275px;
    left: 50%;
    top: 421px;
    transform: translateX(calc(-50% - 4.57px)) rotate(1.27deg);
  }
  .hero__content {
    left: 16px;
    top: 24px;
    width: 331px;
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .hero__title {
    position: relative;
    top: 0;
    left: 0;
    z-index: 4;
    font-size: 36px;
    line-height: 1.3;
    width: 100%;
    margin-bottom: 16px;
  }
  .hero__subtitle {
    position: relative;
    top: 0;
    left: 0;
    z-index: 4;
    font-size: 16px;
    font-weight: 300;
    width: 100%;
    margin-bottom: 24px;
  }
  .hero__btn {
    position: relative;
    top: 0;
    left: 0;
    z-index: 4;
    width: 245px;
    height: 46px;
    font-size: 16px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* ── CATEGORIES ───────────────────────────────────────── */
  .section--categories { padding: 32px 16px; gap: 24px; }
  .cat-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    padding: 0;
  }
  .cat-card { gap: 5.7px; }
  .cat-card__img { height: 210px; padding: 17px; }
  .cat-card__title { font-size: 11.4px; letter-spacing: 0.23px; padding: 5.7px; }

  /* ── ABOUT ────────────────────────────────────────────── */
  .section--about { padding: 32px 16px; }
  .about__inner {
    flex-direction: column;
    padding-left: 0;
    gap: 24px;
  }
  .about__photo { width: 100%; height: 232px; min-height: 0; }
  .about__content { padding: 0; gap: 24px; }
  .sec-headline--right { justify-content: flex-end; }
  .section--about .about__link { font-size: 16px; }
  .section--about .about__link-arrow { width: 20px; height: 20px; }

  /* ── ADVANTAGES ───────────────────────────────────────── */
  .section--adv {
    flex-direction: column;
    padding: 32px 16px;
    gap: 24px;
  }
  .adv__cards {
    flex-direction: column;
    padding: 0;
    gap: 12px;
    width: 100%;
  }
  .adv-card {
    width: 100%;
    height: auto;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px 32px;
  }
  .adv-card__number { font-size: 48px; }
  .adv-card__icon { width: 48px; height: 48px; }

  /* ── PARTNERS ─────────────────────────────────────────── */
  .section--partners { padding: 32px 16px; }
  .section--partners .sec-headline--center { padding: 24px 16px 0; width: 100%; }
  .partners__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 32px;
    max-width: 100%;
  }
  .partner-logo { height: 88px; }
  .partners__btn-row { margin-top: 24px; }
  .btn-dark { font-size: 16px; height: 50px; padding: 0 32px; }

  /* ── CONTACT ──────────────────────────────────────────── */
  .contact__hero { height: 552px; }
  .contact__card {
    left: 4.48%;
    right: 4.48%;
    top: 24px;
    width: auto;
    height: 504px;
  }
  .contact__title { font-size: 20px; }
  .form-field { width: 100%; }
  .form-field input { width: 100%; }

  /* ── NEWS ─────────────────────────────────────────────── */
  .section--news { padding: 32px 16px; gap: 16px; }
  .news-row {
    flex-direction: column;
    padding: 0;
    gap: 16px;
  }
  .news-card__heading h3 { font-size: 18px; line-height: 1.3; }

  /* ── TEXT SECTION ─────────────────────────────────────── */
  .section--text { padding: 0 16px 32px; }
  .text-block__title { font-size: 20px; }
  .text-section__inner { gap: 12px; }

  /* ── SHORT HERO ──────────────────────────────────────── */
  .hero--short {
    height: auto;
    min-height: 149px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding: 24px 16px;
  }
  .hero--short .hero__bg-img { height: 400%; top: 0; }
  .hero--short .hero__breadcrumbs { position: relative; z-index: 2; left: auto; top: auto; max-width: 100%; flex-wrap: wrap; row-gap: 4px; }
  .hero--short .hero__content { position: relative; z-index: 2; left: auto; top: auto; width: 100%; }
  .hero--short .hero__title { position: static; font-size: 36px; line-height: 1.3; width: 100%; white-space: normal; }
  .hero--short .hero__shape { left: auto; right: -10px; top: -30px; width: 100px; height: 200px; }
  .hero__breadcrumbs a, .hero__breadcrumbs span { font-size: 12px; white-space: normal; }
  .hero__breadcrumbs img { width: 16px; height: 16px; }

  /* ── PRODUCT CARDS ────────────────────────────────────── */
  .section--prod-cards { min-height: 0; padding: 32px 16px; }
  .prod-cards-row { flex-direction: row; gap: 12px; padding: 0; align-items: stretch; justify-content: center; }
  .prod-card { flex: 1 1 0; max-width: none; min-width: 0; gap: 10px; }
  .prod-card__img { height: 160px; padding: 16px; }
  .prod-card__title { font-size: 13px; text-align: center; letter-spacing: 0.3px; }

  /* ── SUBCATEGORY PRODUCT GRID ────────────────────────── */
  .section--subcats { padding: 32px 16px; }
  .subcats-row { flex-wrap: wrap; gap: 12px; padding: 0; }
  .subcats-row .cat-card { flex: 0 0 calc(50% - 6px); width: calc(50% - 6px); }
  .subcats-row .cat-card__img { height: 150px; }

  /* ── АРХІВ КАТЕГОРІЇ (уніфіковані картки) ─────────────── */
  .section--tax { padding: 24px 16px 32px; }
  .tax-grid { gap: 12px; }
  .tax-card { flex: 0 0 calc(50% - 6px); max-width: calc(50% - 6px); gap: 10px; }
  .tax-card__img { padding: 16px; }
  .tax-card__title { font-size: 13px; letter-spacing: 0.3px; }

  /* ── PRODUCT CARD ────────────────────────────────────── */
  .section--product-card { padding: 32px 16px; }
  .product-card__inner { flex-direction: column; gap: 24px; }
  .product__photo { width: 100%; height: 240px; position: static; border-radius: 8px; }
  .product__info { padding-top: 0; }
  .product__title { font-size: 22px; line-height: 30px; }
  .spec-row__label { width: auto; flex: 1; }
  .spec-row__val { flex: 0 1 auto; text-align: right; }
  .product__order-btn { align-self: stretch; justify-content: center; width: 100%; }

  /* ── TECH SPECS ───────────────────────────────────────── */
  .section--tech-specs { padding: 32px 16px; }
  .tech-specs__desc { margin-left: 0; }

  /* ── ABOUT TEXT ───────────────────────────────────────── */
  .section--about-text { padding: 32px 16px; background: transparent; border-radius: 0; }
  .section--about-text .sec-headline .cline { display: none; }
  .about__inner { flex-direction: column; gap: 24px; padding: 0; margin-top: 24px; }
  .about__inner .product__photo { width: 100%; height: 277px; position: static; border-radius: 10px; }

  /* ── VALUES ───────────────────────────────────────────── */
  .section--values { padding: 32px 16px; }
  .values__cards { flex-direction: column; padding: 0; gap: 12px; }
  .value-card { padding: 24px; }
  .value-card__icon { width: 48px; height: 48px; min-width: 48px; }
  .value-card__title { font-size: 18px; }

  /* ── ADVANTAGES ───────────────────────────────────────── */
  .section--advantages { padding: 32px 16px; }
  .advantages__inner { flex-direction: column; gap: 24px; }
  .section--advantages .advantages__cards {
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 0;
    gap: 12px;
  }
  .section--advantages .adv-card {
    width: 100%;
    flex: none;
    height: auto;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 32px;
  }
  .section--advantages .adv-card__icon {
    position: static;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
  }
  .section--advantages .adv-card__body {
    position: static;
    width: 167px;
  }
  .section--advantages .adv-card__number { font-size: 48px; }
  .section--advantages .adv-card__label { margin-top: 4px; min-height: 0; }

  /* ── BUYER CARDS ─────────────────────────────────────── */
  .section--buyer-cards { padding: 32px 16px; }
  .buyer-cards__inner { flex-direction: column; padding: 0; gap: 16px; flex-wrap: nowrap; }
  .buyer-card-col { width: 100%; }
  .buyer-icon-card { height: 200px; }
  .buyer-card__title { padding-top: 16px; width: 100%; text-align: center; }

  /* ── FAQ ──────────────────────────────────────────────── */
  .section--faq { padding: 32px 16px; }
  .faq__inner { width: 100%; gap: 32px; }
  .faq__group-title { font-size: 24px; line-height: 1.2; margin-bottom: 20px; }
  .faq__list { padding: 0; gap: 16px; }
  .faq__row { gap: 12px; padding-bottom: 14px; }
  .faq__num { font-size: 16px; line-height: 22px; min-width: 26px; padding-top: 2px; }
  .faq__question { font-size: 15px; line-height: 22px; }
  .faq__toggle { width: 22px; height: 22px; }
  .faq__answer p { padding: 0 0 14px 38px; font-size: 15px; line-height: 22px; }

  /* ── TEXT CONTENT (Доставка / Обмін) ──────────────────── */
  .section--text-content { padding: 0 16px 32px; background: transparent; border-radius: 0; }
  .text-content__block { padding-top: 32px; }
  .text-content__block + .text-content__block { margin-top: 24px; }
  .section--text-content .sec-headline__title { font-size: 24px; }
  .text-content__body { padding-left: 0; }

  /* ── CONTACTS INFO + MAP ──────────────────────────────── */
  .section--contacts-info { padding: 32px 16px; }
  .contacts-info__inner { flex-direction: column; align-items: stretch; gap: 16px; }
  .contacts-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 16px;
  }
  .contacts-card__title { text-align: center; text-transform: uppercase; }
  .contacts-card__icon { fill: #AB2525; }
  .contacts-map { width: 100%; height: 220px; }

  /* ── ARTICLE ──────────────────────────────────────────── */
  .hero--short .hero__title--article { font-size: 32px; line-height: 1.25; }
  .section--article { padding: 32px 16px; }
  .article__img { height: 200px; }
  .article__img-placeholder { width: 56px; height: auto; opacity: 0.5; }
  .article__h2 { font-size: 20px; line-height: 1.3; }

  /* ── THANKS ───────────────────────────────────────────── */
  .section--thanks { padding: 56px 16px; min-height: 0; gap: 16px; }
  .thanks__icon svg { width: 64px; height: 64px; }
  .thanks__title { font-size: 28px; }
  .thanks__text { font-size: 16px; }

  /* ── FOOTER ───────────────────────────────────────────── */
  .footer {
    flex-direction: column;
    align-items: center;
    padding: 24px 16px;
    gap: 24px;
  }
  .footer__logo { order: -1; }
  .footer__logo .logo__img { width: 86px; height: 86px; }
  .footer__contacts {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: auto;
  }
  .footer__nav {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 44px;
    padding: 4px 28px;
  }
  .footer__nav-row {
    flex-direction: column;
    width: auto;
    gap: 2px;
  }
  .footer__nav-row a { width: auto; padding: 8px 0; }

} /* end @media mobile */

/* ══════════════════════════════════════════════════════════
   СЕРТИФІКАТИ — сітка мініатюр + лайтбокс із зумом
   ══════════════════════════════════════════════════════════ */
.section--certs { padding: 56px 44px 72px; }
.certs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 32px;
  align-items: start;
}
.cert-card {
  border: none;
  margin: 0;
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  cursor: zoom-in;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cert-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}
.cert-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* Лайтбокс */
.cert-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background: rgba(0, 0, 0, 0.86);
}
.cert-lightbox.is-open { display: flex; }
.cert-lightbox__stage {
  max-width: 100%;
  max-height: 100%;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-overflow-scrolling: touch;
}
.cert-lightbox__img {
  display: block;
  max-width: 88vw;
  max-height: 88vh;
  object-fit: contain;
  cursor: zoom-in;
  transition: max-width .25s ease, max-height .25s ease;
}
.cert-lightbox__img.is-zoomed {
  max-width: none;
  max-height: none;
  width: auto;
  cursor: zoom-out;
}
.cert-lightbox__close {
  position: fixed;
  top: 18px;
  right: 26px;
  z-index: 2001;
  width: 44px;
  height: 44px;
  border: none;
  background: none;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  opacity: .85;
  transition: opacity .15s;
}
.cert-lightbox__close:hover { opacity: 1; }

@media (max-width: 768px) {
  .section--certs { padding: 32px 16px 48px; }
  .certs-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; }
  .cert-card { padding: 8px; }
  .cert-lightbox { padding: 16px; }
  .cert-lightbox__img { max-width: 92vw; max-height: 92vh; }
  .cert-lightbox__close { top: 10px; right: 14px; }
}
