/* =========================================================
   MK Protect — własne style (BEM)
   Doprecyzowują wygląd layoutu zbudowanego na Bootstrap 5.
   ========================================================= */

:root {
  --color-gold:        #ab926b;
  --color-gold-dark:   #8e7a5d;
  --color-dark:        #2c2b2f;
  --color-dark-2:      #34333a;   /* tło karty kontaktowej */
  --color-cream:       #f9f9f9;
  --color-gray:        #f2f1f2;   /* sekcja partnerów */
  --color-text:        #2c2b2f;
  --color-muted:       #6e6e72;
  --color-muted-light: #c9c9cc;   /* tekst na ciemnym tle */

  --font-display: "Poppins", system-ui, sans-serif;
  --font-body:    "Inter", system-ui, sans-serif;

  --section-y: 96px;             /* pionowe odstępy sekcji */
}

/* ---------- Bazowa typografia ---------- */
body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-dark);
  line-height: 1.6;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
}

a { text-decoration: none; }

/* =========================================================
   PRELOADER
   ========================================================= */
.preloader {
  position: fixed;
  inset: 0;
  z-index: 2000;                       /* nad wszystkim, także sticky navbarem */
  display: grid;
  place-items: center;
  background: var(--color-dark);
  transition: opacity .5s ease, visibility .5s ease;
}
.preloader--hidden {                   /* stan po załadowaniu — płynne zniknięcie */
  opacity: 0;
  visibility: hidden;
}
.preloader__spinner {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 3px solid rgba(197, 168, 125, .25);   /* przygaszone złoto */
  border-top-color: var(--color-gold);          /* akcent, który "biegnie" */
  animation: preloader-spin .8s linear infinite;
}
@keyframes preloader-spin {
  to { transform: rotate(360deg); }
}

/* =========================================================
   PRZYCISKI (wariant marki)
   ========================================================= */
.btn-gold {
  --bs-btn-color:        #fff;
  --bs-btn-bg:           var(--color-gold);
  --bs-btn-border-color: var(--color-gold);
  --bs-btn-hover-color:  #fff;
  --bs-btn-hover-bg:     var(--color-gold-dark);
  --bs-btn-hover-border-color: var(--color-gold-dark);
  --bs-btn-active-bg:    var(--color-gold-dark);
  --bs-btn-active-border-color: var(--color-gold-dark);
  border-radius: 2px;
  padding: .72rem 1.5rem;
  font-weight: 500;
}

.btn-outline-light {
  border-radius: 2px;
  padding: .72rem 1.5rem;
  font-weight: 500;
}

/* =========================================================
   NAGŁÓWKI SEKCJI (reużywalny blok)
   ========================================================= */
.section-head {
  margin-bottom: 3rem;
}
.section-head--left { text-align: left; }

.section-head__eyebrow {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: .75rem;
}

.section-head__title {
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--color-text);
  margin: 0;
}

/* =========================================================
   MARKA / LOGO
   ========================================================= */
.brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
}
.brand__mark {
  width: 44px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 2px solid var(--color-gold);
  border-radius: 6px 6px 14px 14px;
  color: var(--color-gold);
}
.brand__mark-text {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .02em;
}
.brand__name { display: flex; flex-direction: column; line-height: 1.1; }
.brand__name-top {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.15rem;
  color: #fff;
  letter-spacing: .04em;
}
.brand__name-top strong { font-weight: 700; }
.brand__name-sub {
  font-size: .6rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--color-gold);
}

/* Logo SVG w .navbar-brand (nagłówek) */
.brand__logo {
  display: block;
  height: 48px;
  width: auto;
  transition: height .3s ease;   /* zgrane ze zwijaniem sticky navbara */
}
/* mniejsze, gdy navbar zwinięty po przewinięciu */
.site-header--scrolled .brand__logo { height: 38px; }
/* logo w stopce */
.site-footer__brand .brand__logo { height: 46px; }

/* =========================================================
   HEADER / NAVBAR
   ========================================================= */
.site-header {
  background: var(--color-dark);
  position: sticky;
  top: 0;
  z-index: 1030;            /* nad treścią, zgodnie z warstwą navbara w Bootstrapie */
}

.site-nav {
  padding-top: 1rem;
  padding-bottom: 1rem;
  transition: padding .3s ease;   /* płynne zmniejszanie po przewinięciu */
}

/* Stan po przewinięciu strony (już o 1px) — mniejszy padding + lekki cień */
.site-header--scrolled {
  box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
}
.site-header--scrolled .site-nav {
  padding-top: .35rem;
  padding-bottom: .35rem;
}

.site-nav__menu { gap: .25rem; }

.site-nav__link {
  color: #e7e7ea !important;
  font-size: .95rem;
  padding: .4rem .9rem !important;
  transition: color .2s ease;
}
.site-nav__link:hover,
.site-nav__link.active { color: var(--color-gold) !important; }

.site-nav__cta { white-space: nowrap; }

/* Hamburger: bez obwódki i tła, sam przycisk to kontener na 3 kreski */
.site-nav__toggler {
  border: 0;
  padding: .25rem;
  background: transparent;
  box-shadow: none !important;   /* gasi domyślny pierścień Bootstrapa */
  line-height: 0;
}
/* Delikatny ślad fokusu tylko dla nawigacji klawiaturą (dostępność) */
.site-nav__toggler:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 3px;
}

.site-nav__burger {
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  width: 26px;
  height: 18px;
}
.site-nav__bar {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: #ffffff;
  transform-origin: center;
  transition: transform .3s ease, opacity .2s ease, background-color .2s ease;
}

/* Hover oraz stan rozwinięty -> kolor złoty */
.site-nav__toggler:hover .site-nav__bar,
.site-nav__toggler[aria-expanded="true"] .site-nav__bar {
  background: var(--color-gold);
}

/* Rozwinięcie: górna i dolna kreska składają się w X, środkowa znika */
.site-nav__toggler[aria-expanded="true"] .site-nav__bar:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.site-nav__toggler[aria-expanded="true"] .site-nav__bar:nth-child(2) {
  opacity: 0;
}
.site-nav__toggler[aria-expanded="true"] .site-nav__bar:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* =========================================================
   HERO
   ========================================================= */
.hero {
  position: relative;
  background-color: var(--color-dark);   /* fallback, zanim wczyta się obraz */
  background-image: url("header.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
  overflow: hidden;
}

.hero > .container { position: relative; z-index: 2; }   /* treść nad nakładką */

/* =========================================================
   PARALLAX (generyczny — działa na każdym .parallax z tłem)
   Użycie: <section class="parallax" data-speed="0.8"> + tło w CSS
   ========================================================= */
.parallax { position: relative; }
.parallax__layer {
  position: absolute;
  left: 0;
  right: 0;
  top: -15%;            /* warstwa wyższa od sekcji (130%) => brak luk przy ruchu */
  bottom: -15%;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  will-change: transform;
}
/* Warstwa przyciemnienia — narasta przy przewijaniu (nad obrazem, pod treścią) */
.parallax__dim {
  position: absolute;
  inset: 0;
  z-index: 0;           /* późniejszy sibling => maluje się nad obrazem */
  background: #000;
  opacity: 0;
  pointer-events: none;
  will-change: opacity;
}
.hero__content { padding: 90px 0; }

.hero__title {
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 2.9rem);
  line-height: 1.15;
  margin-bottom: 1.25rem;
}
.hero__title-accent {
  display: block;
  color: var(--color-gold);
  font-weight: 600;
}
.hero__text {
  color: var(--color-muted-light);
  max-width: 40rem;
  margin-bottom: 2rem;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.hero__media { position: relative; align-self: stretch; }
.hero__image {
  height: 100%;
  min-height: 440px;
  margin-left: 2rem;
}

/* =========================================================
   HERO — wariant podstrony (.hero--page)
   ========================================================= */
.hero--page .hero__inner { padding: 50px 0; }   /* niższy hero */
/* jednolite przyciemnienie (tytuł wyśrodkowany czyta się na całej szerokości) */
.hero--page::after {
  background: linear-gradient(180deg,
              rgba(44, 43, 47, .80) 0%,
              rgba(44, 43, 47, .62) 100%);
}
.hero--page .hero__title { margin-bottom: 0; }

/* okruszki nawigacyjne */
.hero__crumbs {
  font-size: .85rem;
  letter-spacing: .02em;
  margin-bottom: .75rem;
  color: var(--color-muted-light);
}
.hero__crumbs a { color: var(--color-muted-light); }
.hero__crumbs a:hover { color: var(--color-gold); }
.hero__crumbs span { margin: 0 .5rem; }
.hero__crumbs-current { color: var(--color-gold); }
.hero__crumbs span.hero__crumbs-current { margin: 0; }

/* =========================================================
   TREŚĆ PODSTRONY (.page)
   ========================================================= */
.page {
  background: var(--color-cream);
  padding: var(--section-y) 0;
}

/* Akapit treści — klasa ręczna LUB zwykły <p> z edytora w .page__content */
.page__text,
.page__content p {
  color: var(--color-muted);
  margin-bottom: 1rem;
}
.products { margin-top: 2.5rem; }
/* Nagłówek sekcji — klasa ręczna LUB <h2> z edytora */
.page__heading,
.page__content h2 {
  font-weight: 600;
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
  color: var(--color-text);
  margin: 2.5rem 0 1rem;
}

/* Lista punktów — klasa ręczna LUB <ul> z edytora */
.page__list,
.page__content ul {
  color: var(--color-muted);
  padding-left: 1.2rem;
  margin-bottom: 1rem;
}
.page__list li,
.page__content ul li { margin-bottom: .5rem; }

/* Wprowadzenie (lead) — pozostaje klasą; wyższa specyficzność,
   by wygrać z regułą .page__content p wewnątrz treści edytora */
.page__lead,
.page__content p.page__lead {
  font-size: 1.2rem;
  line-height: 1.65;
  color: var(--color-text);
  margin-bottom: 2rem;
}

.page__cta { margin-top: 2.5rem; }

/* =========================================================
   PLACEHOLDERY GRAFIK
   ========================================================= */
.image-placeholder {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #d9d4cc 0%, #b8b1a6 100%);
  color: #4a463f;
  border-radius: 4px;
  min-height: 180px;
}
.image-placeholder__label {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .18em;
  opacity: .8;
}

.logo-placeholder {
  display: inline-grid;
  place-items: center;
  min-width: 120px;
  height: 46px;
  padding: 0 1rem;
  background: #fff;
  border: 1px solid #e2dfd9;
  border-radius: 4px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .1em;
  color: #8a857c;
}

/* =========================================================
   USŁUGI
   ========================================================= */
.services {
  background: var(--color-cream);
  padding: var(--section-y) 0;
}
.services__card { padding: 1rem .5rem; }
.services__icon {
  display: inline-block;
  max-height: 70px;
  width: auto;
  margin-bottom: 1.1rem;
}
/* Wariant karty z delikatną, zaokrągloną ramką — np. pojedynczy produkt w ofercie */
.services__card--border {
  padding: 2rem 1.25rem;              /* trochę więcej oddechu niż karta bazowa */
  background: #fff;
  border: 1px solid #e6e3dd;          /* delikatna, jasna ramka */
  border-radius: 12px;                /* zaokrąglenie narożników */
  transition: border-color .2s ease, box-shadow .2s ease;
}
.services__card--border:hover {
  border-color: var(--color-gold);    /* na hover ramka w kolorze marki */
  box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
.services__name {
  font-weight: 600;
  font-size: 1rem;
  color: var(--color-text);
  margin: 0;
}

.services__name a { color: var(--color-text); }
.services__name a:hover { color: var(--color-gold); }

/* =========================================================
   LOGOTYPY (klikalne kafelki SVG) — single-cpt_company.php
   ========================================================= */
.logos { margin-top: 2.5rem; }

.logo-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid #e6e3dd;
  border-radius: 12px;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
a.logo-tile { text-decoration: none; }
a.logo-tile:hover {
  border-color: var(--color-gold);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
  transform: translateY(-2px);
}

.logo-tile__img {
  max-width: 100%;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  /* logotypy ładniej wyglądają w skali szarości; pełny kolor na hover */
  filter: grayscale(1);
  opacity: .8;
  transition: filter .2s ease, opacity .2s ease;
}
a.logo-tile:hover .logo-tile__img {
  filter: grayscale(0);
  opacity: 1;
}

.logo-tile__text {
  font-weight: 600;
  font-size: .95rem;
  color: var(--color-text);
  text-align: center;
}

/* =========================================================
   DLACZEGO MY + SZYBKI KONTAKT
   ========================================================= */
.why {
  background: var(--color-dark);
  color: #fff;
  padding: var(--section-y) 0;
}
.why__title {
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin: .5rem 0 2.25rem;
}
.why__list { list-style: none; margin: 0; padding: 0; }
.why__item {
  display: flex;
  gap: 1.1rem;
  margin-bottom: 1.75rem;
}
.why__item:last-child { margin-bottom: 0; }
.why__icon {
  flex: 0 0 auto;
  font-size: 1.7rem;
  color: var(--color-gold);
  line-height: 1;
  margin-top: .15rem;
}
.why__item-title {
  font-weight: 600;
  font-size: 1.05rem;
  color: #fff;
  margin: 0 0 .35rem;
}
.why__item-text {
  color: var(--color-muted-light);
  font-size: .92rem;
  margin: 0;
}

/* Karta kontaktowa */
.contact-card {
  border: 1px solid var(--color-gold);
  background: var(--color-dark-2);
  padding: 2.5rem;
}
.contact-card__eyebrow {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 1.75rem;
}
.contact-card__row {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin-bottom: 1.5rem;
}
.contact-card__icon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(189,154,95,.45);
  color: var(--color-gold);
  font-size: 1.2rem;
}
.contact-card__value {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.35rem;
  color: #fff;
}
.contact-card__value:hover { color: var(--color-gold); }
.contact-card__person {
  display: block;
  font-size: .85rem;
  color: var(--color-muted-light);
}
.contact-card__btn { margin-top: .5rem; }

/* =========================================================
   STRONA KONTAKTOWA (page-kontakt.php)
   ========================================================= */
.contact-page__grid { margin-top: 2.5rem; }

.contact-page__title {
  font-weight: 600;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  color: var(--color-text);
  margin: .4rem 0 1.5rem;
}

/* Tekst (np. adres) wewnątrz ciemnej karty kontaktowej */
.contact-card__text {
  color: var(--color-muted-light);
  font-size: .95rem;
  line-height: 1.55;
}

/* Formularz — spójny z motywem (złoty focus, akcenty) */
form .form-label {
  font-weight: 500;
  font-size: .9rem;
  color: var(--color-text);
  margin-bottom: .35rem;
}
.form__optional { color: var(--color-muted); font-weight: 400; }
form .form-control {
  border-radius: 4px;
  border-color: #ddd9d2;
  padding: 5px;
}
form input.form-control { min-height: 50px; }
form textarea.form-control { resize: none; }
form .form-control:focus,
form .form-check-input:focus {
  border-color: var(--color-gold);
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(171, 146, 107, .35);   /* złota obwódka zamiast niebieskiej */
}
form .form-check-input:checked {
  background-color: var(--color-gold);
  border-color: var(--color-gold);
}
.form__consent { font-size: .85rem; color: var(--color-muted); }
form .btn-gold { margin-top: .5rem; }

/* Wyrównanie checkboxa zgody z tekstem (także przy zawijaniu na kilka linii) */
form .form-check {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding-left: 0;          /* znosi domyślny padding Bootstrapa pod float */
  margin-bottom: 0;
}
form .form-check .form-check-input {
  float: none;
  flex: 0 0 auto;
  margin: .2rem 0 0;        /* delikatne dosunięcie do pierwszej linii tekstu */
}
form .form-check .form-check-label {
  margin: 0;
}

.wpcf7-response-output {
  border-radius: 4px;
}

.wpcf7-form.invalid .wpcf7-response-output {
    margin 10px 0;
    padding: 10px 15px;
    background-color: #8b0000;
    color: #ffffff;
    border: 0;
}

.wpcf7-form.sent .wpcf7-response-output {
    padding: 10px 15px;
    background-color: #008b21;
    color: #ffffff;
    border: 0;
}

span .wpcf7-not-valid {
    border: 1px solid #8b0000 !important;
}

span.wpcf7-not-valid-tip {
    color: #8b0000 !important;
}

/* Zgoda (acceptance) w Contact Form 7 — równe wyrównanie */
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .85rem;
  color: var(--color-muted);
}
.wpcf7-acceptance .wpcf7-list-item input[type="checkbox"] {
  flex: 0 0 auto;
  margin: .15rem 0 0;
}

/* Nieaktywny przycisk wysyłki w CF7 (do czasu zaznaczenia zgody) */
.wpcf7-submit:disabled,
.wpcf7-submit[disabled] {
  -webkit-appearance: none;
          appearance: none;                 /* usuwa natywny, brzydki wygląd */
  background-color: #d8d3ca;                 /* przygaszony beż — spójny ze złotem */
  border: 1px solid #d8d3ca;
  color: #fff;
  cursor: not-allowed;
  opacity: 1;                                /* wygląd kontrolujemy kolorem, nie przezroczystością */
  box-shadow: none;
}

/* w stanie nieaktywnym przycisk nie reaguje na hover */
.wpcf7-submit:disabled:hover,
.wpcf7-submit[disabled]:hover {
  background-color: #d8d3ca;
  border-color: #d8d3ca;
}
/* Mapa */
.contact-page__map {
  margin-top: 2.5rem;
  border-radius: 8px;
  overflow: hidden;
}
.contact-page__map .image-placeholder { min-height: 360px; }
.contact-page__map iframe { display: block; width: 100%; height: 360px; border: 0; }

/* =========================================================
   FAQ + O NAS
   ========================================================= */
.info {
  background: var(--color-cream);
  padding: var(--section-y) 0;
}

.faq__accordion { margin-top: 1.5rem; }
.faq__item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e0ddd6;
}
.faq__item:last-child {
  border-bottom: none;
}
.faq__btn {
  background: transparent;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 1rem;
  color: var(--color-text);
  padding: 1.1rem .25rem;
  box-shadow: none !important;
}
.faq__btn:not(.collapsed) { color: var(--color-gold); background: transparent; }
.faq__btn::after {
  background-image: none;
  content: "+";
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
  width: auto;
  height: auto;
  transform: none;
  color: var(--color-gold);
}
.faq__btn:not(.collapsed)::after { content: "–"; transform: none; background-image: none; }
.faq__answer {
  color: var(--color-muted);
  font-size: .92rem;
  padding: 0 .25rem 1.1rem;
}

.info__btn { margin-top: 2rem; }

.about__title {
  font-weight: 600;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  margin: .4rem 0 1.25rem;
}
.about__text {
  color: var(--color-muted);
  font-size: .95rem;
  margin-bottom: 1rem;
  max-width: 30rem;
}

/* =========================================================
   BLOG
   ========================================================= */
.blog {
  background: var(--color-cream);
  padding: 0 0 var(--section-y);
}
.blog-2 {
  background: var(--color-cream);
  padding: var(--section-y) 0;
}
.blog__card {
  background: #fff;
  border: 1px solid #ece9e3;
  height: 100%;
}
.blog__image { min-height: 200px; border-radius: 0; }
.blog__body { padding: 1.5rem; }
.blog__date {
  display: block;
  font-size: .8rem;
  color: var(--color-gold);
  margin-bottom: .6rem;
}
.blog__post-title {
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--color-text);
  margin-bottom: .75rem;
}
.blog__excerpt {
  color: var(--color-muted);
  font-size: .9rem;
  margin-bottom: 1.1rem;
}
.blog__more {
  font-size: .85rem;
  font-weight: 500;
  color: var(--color-gold);
}
.blog__post-title a { color: var(--color-text); }
.blog__more:hover, .blog__post-title a:hover { color: var(--color-gold-dark); }

img.blog__image {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}

/* =========================================================
   PARTNERZY
   ========================================================= */
.partners {
  background: var(--color-gray);
  padding: 2.5rem 0;
}
.partners__label {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--color-gold);
}
/* Okno taśmy — ukrywa nadmiar i wygasza krawędzie maską */
.partners__marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

/* Taśma: dwa identyczne zestawy logotypów, przesuwane w lewo.
   Przesunięcie o -50% = dokładnie jeden zestaw => pętla jest bezszwowa. */
.partners__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: partners-scroll 30s linear infinite;
}

/* Pauza, gdy użytkownik najedzie kursorem */
.partners__marquee:hover .partners__track {
  animation-play-state: paused;
}

/* Każdy logotyp niesie własny odstęp z prawej — gwarantuje równe luki
   także na styku obu zestawów (kluczowe dla płynnej pętli). */
.partners__track .logo-placeholder {
  flex: 0 0 auto;
  margin-right: 1.5rem;
}
/* Realne logotypy partnerów (z ACF) w taśmie */
.partners__track .partners__logo {
  flex: 0 0 auto;
  height: 46px;
  width: auto;
  margin-right: 1.5rem;
  object-fit: contain;
}

@keyframes partners-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer {
  background: var(--color-dark);
  color: var(--color-muted-light);
  padding-top: 64px;
}
.site-footer__brand { display: inline-block; margin-bottom: 1.25rem; }
.site-footer__tagline {
  font-size: .9rem;
  color: var(--color-muted-light);
  margin-bottom: 1.25rem;
}
.site-footer__social { display: flex; gap: 1rem; font-size: 1.05rem; justify-content: center; }
.site-footer__social a { color: #e7e7ea; }
.site-footer__social a:hover { color: var(--color-gold); }

.site-footer__heading {
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 1.25rem;
}
.site-footer__list { list-style: none; margin: 0; padding: 0; }
.site-footer__list li { margin-bottom: .65rem; }
.site-footer__list a {
  color: var(--color-muted-light);
  font-size: .9rem;
}
.site-footer__list a:hover { color: var(--color-gold); }

.site-footer__contact { list-style: none; margin: 0; padding: 0; }
.site-footer__contact li {
  display: flex;
  gap: .75rem;
  margin-bottom: 1rem;
  font-size: .9rem;
  justify-content: center;
}
.site-footer__contact i { color: var(--color-gold); margin-top: .02rem; }

.site-footer__bar {
  margin-top: 56px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1.25rem 0;
  font-size: .82rem;
}
.site-footer__bar a { color: var(--color-muted-light); }
.site-footer__bar a:hover { color: var(--color-gold); }

.site-footer__legal { display: inline-flex; gap: 1.5rem; }

/* =========================================================
   RESPONSYWNOŚĆ
   ========================================================= */

/* Stopka: od lg wzwyż wyrównaj social i kontakt do lewej.
   Poniżej lg pozostają wyśrodkowane (ustawione w regułach bazowych).
   Odpowiednik utili text-center / text-lg-start, ale dla flexa. */
@media (min-width: 992px) {

  .hero { background-image: url(../images/header.jpg); }
  .hero__content { padding: 150px 0; }

  /* Menu dosunięte do przycisku — odstęp do "Skontaktuj się"
     taki sam jak gap między pozycjami menu (.25rem). */
  .site-nav__cta { margin-left: 1.1rem; }
}

@media (min-width: 768px) {
  .site-footer__social { justify-content: flex-start; }
  .site-footer__contact li { justify-content: flex-start; }
}

/* Tablet i niżej */
@media (max-width: 991.98px) {
  :root { --section-y: 64px; }

  .site-nav__menu { margin: 1rem 0; }
  .site-nav__cta { display: block; margin-left: auto; margin-right: auto; margin-bottom: .5rem; }
/* Ciemna nakładka — utrzymuje czytelność tekstu na zdjęciu */
  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg,
                rgba(44, 43, 47, .92) 0%,
                rgba(44, 43, 47, .78) 45%,
                rgba(44, 43, 47, .45) 100%);
  }
  .hero { background-image: url(../images/header_small.jpg); }
  .hero__content { padding: 56px 0; }
  .hero__image { margin-left: 0; min-height: 280px; margin-bottom: 56px; }

  .why__title { max-width: none; }
  .partners__label { margin-bottom: 1rem; }
}

/* Telefon */
@media (max-width: 575.98px) {
  .hero__actions .btn { width: 100%; }
  .contact-card { padding: 1.75rem; }
  .contact-card__value { font-size: 1.15rem; }
  .site-footer__bar-inner { justify-content: center; text-align: center; }
}

/* Dostępność: redukcja ruchu */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
