/* ==========================================================================
   Elite Food Sp. z o.o. – arkusz stylów
   --------------------------------------------------------------------------
   1. Fonty (Poppins – krój z plakatów targowych, hostowany lokalnie)
   2. Zmienne (kolory, typografia, odstępy, animacje)
   3. Reset i baza
   4. Elementy wspólne (kontener, przyciski, nagłówki sekcji)
   5. Header i nawigacja
   5b. Promocja marki Tayyib (pierwszy ekran)
   6. Hero
   7. O firmie
   8. Historia – timeline
   8b. Zintegrowana produkcja – obieg produkcyjny
   9. Produkty – slider
   9b. Marki – Tayyib
   10. Kontakt
   11. Stopka
   12. Animacje wejścia
   13. Ograniczenie ruchu
   ========================================================================== */


/* 1. Fonty
   ========================================================================== */

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/poppins-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/poppins-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/poppins-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/poppins-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/poppins-600-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/poppins-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/poppins-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/poppins-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* 2. Zmienne
   ========================================================================== */

:root {
  /* Kolory marki – odczytane z plakatów i logo */
  --color-ink: #121418;          /* ciemne tło łupka (plakaty 2 i 3) */
  --color-ink-soft: #1b1e23;     /* jaśniejszy odcień łupka */
  --color-red: #cf2029;          /* czerwień „FOOD” z logo */
  --color-red-dark: #a9171f;
  --color-maroon: #711313;       /* bordowy pas z plakatu 3 */
  --color-maroon-dark: #5a0f0f;
  --color-yellow: #ecb035;       /* żółty pas z plakatu 2 */
  --color-white: #ffffff;
  --color-paper: #f5f2ec;        /* ciepła biel dla jasnych sekcji */

  /* Marka Tayyib – odczytane z opakowań i logo Tayyib (plakat 1) */
  --color-tayyib-green: #00302b;
  --color-tayyib-green-light: #0b4a40;
  --color-tayyib-green-dark: #00211d;
  --color-tayyib-gold: #c2a05c;
  --color-tayyib-gold-light: #d8bb7e;

  /* Tekst */
  --color-text: #1b1d21;
  --color-text-muted: #55585e;
  --color-text-inverse: #f2f0ec;
  --color-text-inverse-muted: #b0b2b7;
  --color-line: rgba(18, 20, 24, 0.14);
  --color-line-inverse: rgba(255, 255, 255, 0.14);

  /* Kolory opakowań (pasek zgrzewu) – akcenty w sliderze */
  --pack-wings: #e5021d;
  --pack-strips: #f6ce00;
  --pack-slices: #f19195;
  --pack-tex-mex-kebab: #abd200;
  --pack-kebab: #f8600e;
  --pack-tex-mex-wings: #f9b100;
  --pack-nuggets: #e40991;
  --pack-burgers: #8d5dca;

  /* Typografia */
  --font-base: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fs-sm: 0.875rem;
  --fs-base: 1.0625rem;
  --fs-lead: clamp(1.125rem, 1rem + 0.45vw, 1.3125rem);
  --fs-h3: clamp(1.125rem, 1.05rem + 0.3vw, 1.3125rem);
  --fs-h2: clamp(1.875rem, 1.35rem + 2.1vw, 3rem);
  --fs-h1: clamp(2.25rem, 1.4rem + 3.6vw, 4rem);
  --lh-tight: 1.15;
  --lh-base: 1.65;

  /* Layout i odstępy */
  --container: 1200px;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4.5rem;
  --section-y: clamp(4.5rem, 3rem + 6vw, 8rem);
  --header-h: 76px;
  --header-h-compact: 62px;

  /* Promienie */
  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-pill: 999px;

  /* Animacje */
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 700ms;
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);

  /* Fokus – nadpisywany w ciemnych sekcjach */
  --focus-color: var(--color-ink);
}


/* 3. Reset i baza
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  /* Jedyny odstęp na przypięty nagłówek – nie dublować scroll-margin w sekcjach */
  scroll-padding-top: var(--header-h-compact);
}

body {
  margin: 0;
  font-family: var(--font-base);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  color: var(--color-text);
  background: var(--color-ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

h1, h2, h3, p, ul, ol, address {
  margin: 0;
}

ul, ol {
  padding: 0;
  list-style: none;
}

address {
  font-style: normal;
}

a {
  color: inherit;
}

button {
  font: inherit;
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--focus-color);
  outline-offset: 3px;
  border-radius: 2px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  top: var(--space-1);
  left: var(--space-1);
  z-index: 100;
  padding: 0.75rem 1.25rem;
  background: var(--color-yellow);
  color: var(--color-ink);
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--radius-sm);
  transform: translateY(-150%);
  transition: transform var(--dur-fast) var(--ease-out);
}

.skip-link:focus {
  transform: none;
}


/* 4. Elementy wspólne
   ========================================================================== */

.container {
  width: 100%;
  max-width: calc(var(--container) + 2 * var(--gutter));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section {
  padding-block: var(--section-y);
}

.section--paper {
  background: var(--color-paper);
  color: var(--color-text);
}

.section--ink {
  --focus-color: var(--color-yellow);
  background: var(--color-ink);
  color: var(--color-text-inverse);
}

.eyebrow {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: var(--space-2);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-maroon);
}

.eyebrow::before {
  content: "";
  flex-shrink: 0;
  margin-top: calc(0.825em - 1.5px);
  width: 28px;
  height: 3px;
  background: var(--color-red);
  border-radius: 2px;
}

.eyebrow--light {
  color: var(--color-yellow);
}

.eyebrow--gold {
  color: var(--color-tayyib-gold);
}

.eyebrow--gold::before {
  background: var(--color-tayyib-gold);
}

.eyebrow--light::before {
  background: var(--color-yellow);
}

.section-title {
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: var(--lh-tight);
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.section-intro {
  margin-top: var(--space-3);
  max-width: 60ch;
  font-size: var(--fs-lead);
  color: var(--color-text-muted);
}

.section--ink .section-intro {
  color: var(--color-text-inverse-muted);
}

.section-head--center {
  text-align: center;
}

.section-head--center .eyebrow {
  justify-content: center;
}

.section-head--center .section-intro {
  margin-inline: auto;
}

/* Przyciski */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 52px;
  padding: 0.8rem 1.6rem;
  border: 2px solid transparent;
  border-radius: var(--radius-pill);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color var(--dur-fast) var(--ease-out),
    border-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out),
    transform var(--dur-fast) var(--ease-out);
}

.btn:hover {
  transform: translateY(-2px);
}

.btn:active {
  transform: translateY(0);
}

.btn--sm {
  min-height: 44px;
  padding: 0.6rem 1.25rem;
  font-size: 0.9375rem;
}

.btn--primary {
  background: var(--color-red);
  color: var(--color-white);
}

.btn--primary:hover {
  background: var(--color-red-dark);
}

.btn--ghost {
  border-color: rgba(255, 255, 255, 0.55);
  color: var(--color-white);
}

.btn--ghost:hover {
  border-color: var(--color-white);
  background: rgba(255, 255, 255, 0.08);
}

.btn--dark {
  background: var(--color-ink);
  color: var(--color-white);
}

.btn--dark:hover {
  background: var(--color-maroon);
}


/* 5. Header i nawigacja
   ========================================================================== */

.site-header {
  --focus-color: var(--color-yellow);
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  color: var(--color-white);
  background: linear-gradient(180deg, rgba(18, 20, 24, 0.75), rgba(18, 20, 24, 0));
  transition: background-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}

.site-header.is-scrolled,
.site-header.is-open {
  background: var(--color-ink);
  box-shadow: 0 1px 0 var(--color-line-inverse);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: var(--header-h);
  transition: min-height var(--dur-base) var(--ease-out);
}

.site-header.is-scrolled .site-header__inner {
  min-height: var(--header-h-compact);
}

.site-header__logo {
  flex-shrink: 0;
  display: block;
  margin-right: auto;
}

.site-header__logo img {
  width: auto;
  height: 62px;
  transition: transform var(--dur-base) var(--ease-out);
  transform-origin: left center;
}

.site-header.is-scrolled .site-header__logo img {
  transform: scale(0.84);
}

/* Bez JS: nawigacja widoczna zawsze, przycisk menu ukryty */
.nav-toggle {
  display: none;
}

.site-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-1) var(--space-3);
}

.site-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.25rem;
}

/* Przełącznik języka */
.lang-switch {
  display: inline-flex;
  flex-shrink: 0;
  padding: 3px;
  border: 1px solid var(--color-line-inverse);
  border-radius: var(--radius-pill);
}

.lang-switch[hidden] {
  display: none;
}

.lang-switch button {
  min-width: 40px;
  min-height: 36px;
  padding: 0 0.6rem;
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-text-inverse-muted);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.lang-switch button:hover {
  color: var(--color-white);
}

.lang-switch button[aria-pressed="true"] {
  background: var(--color-yellow);
  color: var(--color-ink);
}

.site-nav__list a {
  position: relative;
  display: inline-block;
  padding-block: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-text-inverse);
  transition: color var(--dur-fast) var(--ease-out);
}

.site-nav__list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.2rem;
  height: 2px;
  background: var(--color-yellow);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-base) var(--ease-out);
}

.site-nav__list a:hover,
.site-nav__list a[aria-current="true"] {
  color: var(--color-white);
}

.site-nav__list a:hover::after,
.site-nav__list a[aria-current="true"]::after {
  transform: scaleX(1);
}

/* Mobile i tablet – rozwijane menu (tylko z JS) */
@media (max-width: 1199px) {
  .js .nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 44px;
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--color-line-inverse);
    border-radius: var(--radius-pill);
    background: transparent;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
  }

  .nav-toggle__bars,
  .nav-toggle__bars::before,
  .nav-toggle__bars::after {
    display: block;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-fast);
  }

  .nav-toggle__bars {
    position: relative;
  }

  @media (max-width: 479px) {
    .js .nav-toggle {
      padding-inline: 0.8rem;
    }

    .nav-toggle__label {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
    }

    .site-header__inner {
      gap: 0.75rem;
    }
  }

  .nav-toggle__bars::before,
  .nav-toggle__bars::after {
    content: "";
    position: absolute;
    left: 0;
  }

  .nav-toggle__bars::before { top: -6px; }
  .nav-toggle__bars::after { top: 6px; }

  .nav-toggle[aria-expanded="true"] .nav-toggle__bars {
    background: transparent;
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::before {
    transform: translateY(6px) rotate(45deg);
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::after {
    transform: translateY(-6px) rotate(-45deg);
  }

  .js .site-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
    padding: var(--space-2) var(--gutter) var(--space-4);
    background: var(--color-ink);
    border-bottom: 1px solid var(--color-line-inverse);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition:
      opacity var(--dur-base) var(--ease-out),
      transform var(--dur-base) var(--ease-out),
      visibility 0s linear var(--dur-base);
  }

  .js .site-header.is-open .site-nav {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }

  .js .site-nav__list {
    flex-direction: column;
  }

  .js .site-nav__list a {
    display: block;
    padding-block: 0.9rem;
    font-size: 1.125rem;
    border-bottom: 1px solid var(--color-line-inverse);
  }

  .js .site-nav__list a::after {
    display: none;
  }

  .site-nav__cta {
    align-self: flex-start;
  }

  /* Bez JS na wąskich ekranach – logo nad nawigacją */
  html:not(.js) .site-header {
    position: relative;
    background: var(--color-ink);
  }

  html:not(.js) .hero__inner {
    padding-top: var(--space-5);
  }

  html:not(.js) .site-header__inner {
    flex-direction: column;
    align-items: flex-start;
    padding-block: var(--space-2);
  }

  html:not(.js) .site-nav {
    justify-content: flex-start;
  }
}


/* 5b. Promocja marki Tayyib – pierwszy ekran
   --------------------------------------------------------------------------
   Tło i wnętrze łuku: kafelki wzoru wycięte z ulotki (okres 434 px).
   Warstwy opakowania: li (pozycja + paralaksa) > picture (wejście) > img
   (lewitacja). --px/--py ustawia JS (ruch opakowań za kursorem), --d to
   głębokość warstwy. Tło, łuk z tekstami, odznaka i pieczątka stoją w miejscu.
   ========================================================================== */

.promo {
  --focus-color: var(--color-tayyib-gold);
  --px: 0;
  --py: 0;
  --arch-w: clamp(420px, 40vw, 600px);
  position: relative;
  min-height: max(680px, min(100svh, 940px));
  overflow: hidden;
  isolation: isolate;
  color: var(--color-tayyib-green);
  background-color: var(--color-tayyib-green);
  background-image:
    radial-gradient(ellipse 75% 70% at 50% 45%, rgba(0, 33, 29, 0) 35%, rgba(0, 24, 21, 0.78) 100%),
    url("../assets/images/tayyib/flyer-tile-green.png");
  background-image:
    radial-gradient(ellipse 75% 70% at 50% 45%, rgba(0, 33, 29, 0) 35%, rgba(0, 24, 21, 0.78) 100%),
    image-set(url("../assets/images/tayyib/flyer-tile-green.webp") type("image/webp"), url("../assets/images/tayyib/flyer-tile-green.png") type("image/png"));
  background-size: auto, 260px 260px;
  background-position: center, 50% 50%;
}

/* Złota poświata za łukiem */
.promo__glow {
  position: absolute;
  left: 50%;
  top: 8%;
  z-index: -1;
  width: min(1100px, 130vw);
  aspect-ratio: 1.4;
  background: radial-gradient(closest-side, rgba(216, 187, 126, 0.42), rgba(194, 160, 92, 0.12) 55%, rgba(194, 160, 92, 0) 100%);
  translate: -50% 0;
  animation: promo-fade 1.6s var(--ease-out) both;
}

.promo__stage {
  position: absolute;
  inset: 0;
}

/* Łuk z ulotki: kremowy wzór w masce w kształcie łuku + złoty obrys */
.promo__arch {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  width: var(--arch-w);
  height: calc(100% - var(--header-h) - 1.25rem);
  translate: -50% 0;
  animation: promo-rise 1s 0.1s var(--ease-out) both;
}

/* Kształt łuku: clipPath osadzony w HTML (skaluje się z elementem i działa
   także przy otwieraniu strony z dysku, bez pobierania maski) */
.promo__clip {
  position: absolute;
}

.promo__arch-fill {
  position: absolute;
  inset: 0;
  background-color: #fdfbf6;
  background-image:
    radial-gradient(ellipse 70% 55% at 50% 50%, rgba(253, 251, 246, 0.9) 0%, rgba(253, 251, 246, 0) 75%),
    url("../assets/images/tayyib/flyer-tile-cream.png");
  background-image:
    radial-gradient(ellipse 70% 55% at 50% 50%, rgba(253, 251, 246, 0.9) 0%, rgba(253, 251, 246, 0) 75%),
    image-set(url("../assets/images/tayyib/flyer-tile-cream.webp") type("image/webp"), url("../assets/images/tayyib/flyer-tile-cream.png") type("image/png"));
  background-size: auto, 200px 200px;
  background-position: center, center top;
  clip-path: url("#promo-arch-clip");
}

.promo__arch-line {
  position: absolute;
  top: -3px;
  left: -3px;
  width: calc(100% + 6px);
  height: calc(100% + 3px);
  pointer-events: none;
  animation: promo-draw 1.5s 0.45s var(--ease-out) both;
}

.promo__content {
  --focus-color: var(--color-tayyib-green);
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  justify-content: safe flex-end;
  padding: 0 11% clamp(1.5rem, 6vh, 4.5rem);
  text-align: center;
}

/* Odstęp od szczytu łuku liczony od jego wysokości – treść nigdy nie
   wchodzi w wąską część kopuły, niezależnie od długości tłumaczenia */
.promo__content::before {
  content: "";
  flex: 0 1 24%;
  min-height: 20%;
}

/* Elementy treści nie mogą się kurczyć – inaczej przy niskim oknie logo
   (z overflow: hidden dla błysku) byłoby ścinane i chowało się pod tytułem.
   Zamiast tego rozmiary niżej skalują się według wysokości okna. */
.promo__content > * {
  flex-shrink: 0;
}

.promo__content > * {
  animation: promo-up 0.8s var(--ease-out) both;
}

.promo__eyebrow {
  max-width: calc(var(--arch-w) * 0.4);
  text-wrap: balance;
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a6a2c;
  animation-delay: 0.7s;
}

/* Logo z jednorazowym „błyskiem” światła ograniczonym do kształtu logo */
.promo__logo {
  position: relative;
  width: clamp(96px, min(15vw, 21vh), 230px);
  margin: clamp(0.5rem, 1.8vh, 1rem) 0 clamp(0.75rem, 2.6vh, 1.5rem);
  animation-name: promo-logo;
  animation-delay: 0.85s;
}

.promo__logo img {
  width: 100%;
  height: auto;
}

/* Przesuwający się błysk – mieszanie kolorów rozjaśnia złote logo,
   a na kremowym tle jest praktycznie niewidoczne */
.promo__logo {
  overflow: hidden;
  isolation: isolate;
}

.promo__logo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 40%, rgba(255, 252, 235, 0.95) 50%, rgba(255, 255, 255, 0) 60%) 150% 0 / 300% 100% no-repeat;
  mix-blend-mode: soft-light;
  pointer-events: none;
  animation: promo-shine 1.4s 1.7s ease-in-out both;
}

/* Ponowny błysk po najechaniu myszą (klasy nadaje JS – initLogoShine):
   po pierwszym błysku animacja jest zerowana, a .is-shining uruchamia ją
   od nowa i jest zdejmowana po jej zakończeniu */
.promo__logo.is-shine-ready::after {
  animation: none;
}

.promo__logo.is-shining::after {
  animation: promo-shine 1.2s ease-in-out;
}

.promo__title {
  max-width: 18ch;
  font-size: clamp(1.375rem, min(1.1rem + 1.9vw, 4.8vh), 2.75rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.01em;
  text-wrap: balance;
  animation-delay: 1s;
}

.promo__lead {
  max-width: 40ch;
  margin-top: clamp(0.5rem, 1.8vh, 1rem);
  color: #3f5652;
  animation-delay: 1.1s;
}

.promo__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: clamp(1rem, 3.6vh, 2rem);
  animation-delay: 1.2s;
}

.btn--tayyib {
  background: var(--color-tayyib-green);
  color: #fdfbf6;
}

.btn--tayyib:hover {
  background: var(--color-tayyib-green-light);
}

.btn--tayyib-ghost {
  border-color: rgba(0, 48, 43, 0.35);
  color: var(--color-tayyib-green);
}

.btn--tayyib-ghost:hover {
  border-color: var(--color-tayyib-green);
  background: rgba(0, 48, 43, 0.06);
}

/* Odznaka ACHAHADA – jak na ulotce, przy prawym ramieniu łuku */
.promo__badge {
  position: absolute;
  z-index: 4;
  left: calc(50% + var(--arch-w) * 0.24);
  top: calc(var(--header-h) + 3%);
  width: clamp(110px, 10vw, 160px);
}

.promo__badge picture {
  display: block;
  animation: promo-badge 1s 1.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.promo__badge img {
  position: relative;
  width: 100%;
  height: auto;
  animation: promo-float 6.5s -2s ease-in-out infinite;
}

/* Cienie jako rozmyte owale (radial-gradient) zamiast filtra cienia –
   filtr na animowanych elementach powodował gubienie klatek w Firefoksie */
.promo__badge::after,
.promo-pack::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0));
  pointer-events: none;
}

.promo__badge::after {
  left: 8%;
  right: 8%;
  top: 78%;
  height: 26%;
}

/* Pieczątka „Poznaj nową markę” – podwójna ramka, tusz z filtrem SVG,
   jednorazowe „przybicie” po wejściu opakowań */
.promo__stamp {
  position: absolute;
  z-index: 5;
  /* lustrzanie do odznaki ACHAHADA po drugiej stronie szczytu łuku */
  right: calc(50% + var(--arch-w) * 0.24);
  top: calc(var(--header-h) + 3% + 0.5rem);
  display: block;
  padding: 4px;
  border: 5px solid currentColor;
  border-radius: 12px;
  background: rgba(0, 24, 21, 0.45);
  color: #ff4a50;
  text-decoration: none;
  rotate: -12deg;
  filter: url("#promo-stamp-ink");
  animation: promo-stamp 0.55s 1.9s cubic-bezier(0.2, 0.9, 0.3, 1.25) both;
  transition: scale var(--dur-base) var(--ease-out), rotate var(--dur-base) var(--ease-out);
}

.promo__stamp span {
  display: block;
  width: max-content;
  max-width: 11.8em; /* border-box: obejmuje też wewnętrzny odstęp */
  text-wrap: balance;
  padding: 0.45em 0.8em;
  border: 2px solid currentColor;
  border-radius: 7px;
  font-size: clamp(1.125rem, 0.85rem + 0.9vw, 1.75rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.promo__stamp:hover {
  scale: 1.06;
  rotate: -8deg;
}

.promo__stamp:focus-visible {
  outline-offset: 6px;
}

@keyframes promo-stamp {
  0% { opacity: 0; transform: scale(2.4); }
  60% { opacity: 1; transform: scale(0.94); }
  100% { opacity: 1; transform: none; }
}

/* Lewitujące wycinki opakowań */
.promo__packs {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.promo-pack {
  --d: 0.6;
  --r: 0deg;
  --from: -160px;
  position: absolute;
  width: var(--w, 14vw);
  pointer-events: auto;
  translate: calc(var(--px) * var(--d) * -1px) calc(var(--py) * var(--d) * -1px);
  rotate: var(--r);
}

.promo-pack::after {
  left: 6%;
  right: 6%;
  top: 84%;
  height: 20%;
}

.promo-pack picture {
  display: block;
  animation: promo-pack-in 1.1s var(--delay, 0.6s) cubic-bezier(0.22, 1, 0.36, 1) both;
}

.promo-pack img {
  width: 100%;
  height: auto;
  animation: promo-float var(--float, 6s) var(--float-delay, 0s) ease-in-out infinite;
  transition: scale 0.5s var(--ease-out), rotate 0.5s var(--ease-out);
  cursor: default;
}

.promo-pack:hover img {
  scale: 1.08;
  rotate: calc(var(--r) * -1);
}

/* Rozmieszczenie – lewa strona (1–4), prawa strona (5–8) */
.promo-pack--1 { --w: clamp(130px, 14vw, 220px); --d: 0.5;  --r: -9deg;  --delay: 0.55s; --float: 6.2s; --float-delay: -1s;   left: 3%;  top: 15%; }
.promo-pack--2 { --w: clamp(150px, 17vw, 270px); --d: 1;    --r: 7deg;   --delay: 0.7s;  --float: 7s;   --float-delay: -3s;   left: 16%; top: 36%; z-index: 2; }
.promo-pack--3 { --w: clamp(120px, 13vw, 210px); --d: 0.7;  --r: -5deg;  --delay: 0.85s; --float: 5.6s; --float-delay: -2s;   left: 2%;  top: 58%; }
.promo-pack--4 { --w: clamp(110px, 12vw, 190px); --d: 0.35; --r: 11deg;  --delay: 1s;    --float: 6.8s; --float-delay: -4.5s; left: 17%; top: 73%; z-index: -1; }
.promo-pack--5 { --w: clamp(130px, 14vw, 220px); --d: 0.5;  --r: 8deg;   --delay: 0.6s;  --float: 6.6s; --float-delay: -2.5s; right: 3%; top: 17%; --from: 160px; }
.promo-pack--6 { --w: clamp(150px, 17vw, 270px); --d: 1;    --r: -7deg;  --delay: 0.75s; --float: 7.2s; --float-delay: -0.5s; right: 16%; top: 38%; z-index: 2; --from: 160px; }
.promo-pack--7 { --w: clamp(120px, 13vw, 210px); --d: 0.7;  --r: 6deg;   --delay: 0.9s;  --float: 5.8s; --float-delay: -3.5s; right: 2%; top: 60%; --from: 160px; }
.promo-pack--8 { --w: clamp(110px, 12vw, 190px); --d: 0.35; --r: -11deg; --delay: 1.05s; --float: 6.4s; --float-delay: -1.5s; right: 17%; top: 74%; z-index: -1; --from: 160px; }

/* Przejście do sekcji Elite Food */
.promo__next {
  position: absolute;
  left: var(--gutter);
  bottom: var(--space-3);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 44px;
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-tayyib-gold-light);
  animation: promo-fade 1s 1.6s var(--ease-out) both;
}

.promo__next:hover svg {
  translate: 0 3px;
}

.promo__next svg {
  transition: translate var(--dur-base) var(--ease-out);
}

/* Paralaksa wyłączona dla urządzeń bez kursora (sterowana przez JS) */
/* Lewitacja wstrzymana poza ekranem i na czas przewijania (płynność) */
.promo.is-paused .promo-pack img,
.promo.is-paused .promo__badge img,
.promo.is-scrolling .promo-pack img,
.promo.is-scrolling .promo__badge img {
  animation-play-state: paused;
}

@keyframes promo-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes promo-rise {
  from { opacity: 0; transform: translateY(70px); }
  to { opacity: 1; transform: none; }
}

@keyframes promo-draw {
  from { clip-path: inset(100% 0 0 0); }
  to { clip-path: inset(0 0 0 0); }
}

@keyframes promo-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

@keyframes promo-logo {
  from { opacity: 0; transform: scale(0.82); }
  to { opacity: 1; transform: none; }
}

@keyframes promo-shine {
  from { background-position: 150% 0; }
  to { background-position: -50% 0; }
}

@keyframes promo-badge {
  from { opacity: 0; transform: scale(0.3) rotate(-35deg); }
  to { opacity: 1; transform: none; }
}

@keyframes promo-pack-in {
  from { opacity: 0; transform: translateX(var(--from)) rotate(-14deg) scale(0.85); }
  to { opacity: 1; transform: none; }
}

@keyframes promo-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-16px) rotate(1.6deg); }
}

/* Bardzo niskie okna (np. laptop z paskami przeglądarki): bez opisu,
   aby logo i tytuł zawsze się mieściły */
@media (min-width: 700px) and (max-height: 760px) {
  .promo__lead {
    display: none;
  }
}

/* Tablet: łuk szerszy, cztery opakowania po bokach */
@media (max-width: 1099px) {
  .promo {
    --arch-w: 56vw;
  }

  .promo-pack--3,
  .promo-pack--7 {
    display: none;
  }

  .promo-pack--1 { --w: 20vw; left: 1%; top: 14%; }
  .promo-pack--2 { --w: 22vw; left: 4%; top: 46%; }
  .promo-pack--4 { --w: 17vw; left: 2%; top: 76%; z-index: 1; }
  .promo-pack--5 { --w: 20vw; right: 1%; top: 16%; }
  .promo-pack--6 { --w: 22vw; right: 4%; top: 48%; }
  .promo-pack--8 { --w: 17vw; right: 2%; top: 77%; z-index: 1; }

  .promo__badge {
    left: calc(50% + var(--arch-w) * 0.2);
  }

  .promo__stamp {
    right: calc(50% + var(--arch-w) * 0.2);
  }

  .promo__stamp span {
    font-size: 1rem;
  }
}

/* Telefon: łuk na całą szerokość, trzy opakowania w wachlarzu u dołu */
@media (max-width: 699px) {
  .promo {
    --arch-w: calc(100vw - 1.5rem);
    min-height: max(790px, 100svh);
  }


  .promo__arch {
    height: calc(100% - var(--header-h) - 0.5rem);
  }

  .promo__content {
    justify-content: flex-start;
    padding: 0 9% 0;
  }

  .promo__content::before {
    flex-basis: 19%;
  }

  .promo__eyebrow {
    max-width: 75%;
  }

  .promo__title {
    font-size: 1.625rem;
  }

  /* Na telefonie jeden przycisk – strona marki jest dostępna w sekcji „Marki” */
  .btn--tayyib-ghost {
    display: none;
  }

  .promo__logo {
    width: 140px;
    margin: var(--space-1) 0 var(--space-2);
  }

  .promo__lead {
    font-size: 0.9375rem;
  }

  .promo__actions {
    margin-top: var(--space-3);
  }

  .promo-pack--1,
  .promo-pack--3,
  .promo-pack--5,
  .promo-pack--7 {
    display: none;
  }

  .promo-pack--2 { --w: 31vw; --r: -12deg; left: 4%;  top: auto; bottom: -1%; z-index: 1; }
  .promo-pack--4 { --w: 35vw; --r: 0deg;   left: 32.5%; top: auto; bottom: 1%; z-index: 2; --from: 0px; }
  .promo-pack--6 { --w: 31vw; --r: 12deg;  right: 4%; top: auto; bottom: -1%; z-index: 1; }
  .promo-pack--8 { display: none; }

  .promo__badge {
    left: auto;
    right: 4%;
    top: calc(var(--header-h) + 0.75rem);
    width: 92px;
  }

  .promo__next {
    display: none;
  }

  .promo__stamp {
    right: auto;
    left: 3%;
    top: calc(var(--header-h) + 1rem);
    border-width: 3px;
    rotate: -10deg;
  }

  .promo__stamp span {
    font-size: 0.8125rem;
  }

  @media (max-width: 379px) {
    .promo__stamp {
      left: 2%;
      border-width: 2px;
      padding: 3px;
    }

    .promo__stamp span {
      font-size: 0.6875rem;
      padding: 0.35em 0.6em;
    }

    .promo__badge {
      width: 76px;
    }
  }
}


/* 6. Hero
   ========================================================================== */

.hero {
  --focus-color: var(--color-yellow);
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: min(100svh, 900px);
  color: var(--color-white);
  background: var(--color-ink);
  isolation: isolate;
}

.hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 70%;
}

/* Przyciemnienie pod tekst – na mobile od dołu, na desktopie od lewej */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(18, 20, 24, 0.55) 0%, rgba(18, 20, 24, 0.35) 30%, rgba(18, 20, 24, 0.9) 68%, var(--color-ink) 100%);
}

.hero__inner {
  flex: 1;
  display: flex;
  align-items: flex-end;
  padding-top: calc(var(--header-h) + var(--space-6));
  padding-bottom: var(--space-5);
}

.hero__content {
  max-width: 640px;
  animation: hero-in 900ms var(--ease-out) both;
}

.hero__title {
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.hero__title-accent {
  color: var(--color-yellow);
}

.hero__lead {
  margin-top: var(--space-3);
  max-width: 52ch;
  font-size: var(--fs-lead);
  color: rgba(255, 255, 255, 0.86);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

/* Bordowy pas – nawiązanie do plakatu 3 */
.hero__band {
  background: var(--color-maroon);
}

.hero__band-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-1) var(--space-3);
  min-height: 64px;
  padding-block: var(--space-2);
  font-size: clamp(0.8125rem, 0.7rem + 0.4vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero__band-sep {
  width: 2px;
  height: 1.6em;
  background: rgba(255, 255, 255, 0.85);
}

@media (max-width: 559px) {
  .hero__band-inner {
    flex-direction: column;
    gap: 0.15rem;
  }

  .hero__band-sep {
    display: none;
  }
}

@media (min-width: 900px) {
  .hero::before {
    background:
      linear-gradient(90deg, rgba(18, 20, 24, 0.94) 0%, rgba(18, 20, 24, 0.8) 34%, rgba(18, 20, 24, 0.2) 66%, rgba(18, 20, 24, 0.05) 100%),
      linear-gradient(180deg, rgba(18, 20, 24, 0.6) 0%, rgba(18, 20, 24, 0) 22%);
  }

  .hero__inner {
    align-items: center;
    padding-bottom: var(--space-6);
  }

  .hero__media img {
    object-position: 70% 60%;
  }
}

@keyframes hero-in {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}


/* 7. O firmie
   ========================================================================== */

.about__grid {
  display: grid;
  gap: var(--space-4);
}

.about__text {
  display: grid;
  gap: var(--space-3);
  max-width: 62ch;
  color: var(--color-text-muted);
}

.about__lead {
  font-size: var(--fs-lead);
  font-weight: 500;
  color: var(--color-text);
}

.facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: var(--space-4) var(--space-4);
  margin-top: var(--space-6);
}

.fact {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-top: var(--space-3);
  border-top: 2px solid var(--color-line);
}

.fact__value {
  font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-red);
}

.fact__value--text {
  font-size: clamp(1.6rem, 1.35rem + 0.9vw, 2.125rem);
  color: var(--color-maroon);
}

.fact__label {
  max-width: 28ch;
  color: var(--color-text-muted);
}

@media (min-width: 900px) {
  .about__grid {
    grid-template-columns: 5fr 6fr;
    gap: var(--space-6);
    align-items: start;
  }
}


/* 8. Historia – timeline
   ========================================================================== */

.history {
  position: relative;
  overflow: hidden;
}

.timeline {
  --tl-axis: 11px;       /* pozycja osi na mobile */
  --tl-dot: 16px;
  position: relative;
  margin-top: var(--space-6);
}

.timeline__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--tl-axis);
  width: 2px;
  margin-left: -1px;
  background: var(--color-line-inverse);
  border-radius: 2px;
  overflow: hidden;
}

.timeline__progress {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--color-yellow), var(--color-red));
  transform-origin: top;
  transform: scaleY(1);
  will-change: transform;
}

.js .timeline__progress {
  transform: scaleY(0);
}

.timeline__list {
  position: relative;
  display: grid;
  gap: var(--space-5);
}

.tl-item {
  position: relative;
  padding-left: calc(var(--tl-axis) + 2rem);
}

/* Znacznik na osi – zapala się z pulsem, gdy dotrze do niego rysowana linia
   (klasa is-reached ustawiana w JS); bez JS kropki są od razu wypełnione */
.tl-item::before {
  content: "";
  position: absolute;
  top: 0.95rem;
  left: var(--tl-axis);
  z-index: 1;
  width: var(--tl-dot);
  height: var(--tl-dot);
  margin-left: calc(var(--tl-dot) / -2);
  border: 2px solid var(--color-yellow);
  border-radius: 50%;
  background: var(--color-ink);
  transition: background-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}

.tl-item.is-reached::before,
html:not(.js) .tl-item::before {
  background: var(--color-yellow);
}

.tl-item.is-reached::before {
  animation: tl-dot-pulse 0.8s var(--ease-out);
}

/* Bieżący rok – czerwona kropka z delikatnym, stałym pulsem „teraz” */
.tl-item--current::before {
  border-color: var(--color-red);
}

.tl-item--current.is-reached::before,
html:not(.js) .tl-item--current::before {
  background: var(--color-red);
  transform: scale(1.3);
}

.tl-item--current.is-reached::before {
  animation:
    tl-dot-pulse-current 0.8s var(--ease-out),
    tl-dot-live 2.4s 0.8s ease-out infinite;
}

@keyframes tl-dot-pulse {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(236, 176, 53, 0.7); }
  35% { transform: scale(1.8); }
  100% { transform: scale(1); box-shadow: 0 0 0 18px rgba(236, 176, 53, 0); }
}

@keyframes tl-dot-pulse-current {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(207, 32, 41, 0.75); }
  35% { transform: scale(2); }
  100% { transform: scale(1.3); box-shadow: 0 0 0 20px rgba(207, 32, 41, 0); }
}

@keyframes tl-dot-live {
  0% { box-shadow: 0 0 0 0 rgba(207, 32, 41, 0.55); }
  100% { box-shadow: 0 0 0 14px rgba(207, 32, 41, 0); }
}

.tl-item__card {
  max-width: 34rem;
}

.tl-item__date {
  display: block;
  font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-yellow);
  font-variant-numeric: tabular-nums;
}

.tl-item__title {
  margin-top: 0.35rem;
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-white);
}

.tl-item__card p {
  margin-top: 0.5rem;
  color: var(--color-text-inverse-muted);
}

/* Desktop – wydarzenia naprzemiennie po obu stronach osi */
@media (min-width: 900px) {
  .timeline {
    --tl-axis: 50%;
  }

  .timeline__list {
    gap: 0;
  }

  .tl-item {
    width: 50%;
    padding-left: 0;
    padding-right: var(--space-6);
    text-align: right;
  }

  .tl-item + .tl-item {
    margin-top: -1.5rem;
  }

  .tl-item:nth-child(odd)::before {
    left: 100%;
  }

  .tl-item:nth-child(even) {
    margin-left: 50%;
    padding-right: 0;
    padding-left: var(--space-6);
    text-align: left;
  }

  .tl-item:nth-child(even)::before {
    left: 0;
  }

  .tl-item:nth-child(odd) .tl-item__card {
    margin-left: auto;
  }

  /* Łącznik od znacznika do treści */
  .tl-item::after {
    content: "";
    position: absolute;
    top: calc(0.95rem + var(--tl-dot) / 2 - 1px);
    width: calc(var(--space-6) - var(--tl-dot) / 2 - 0.75rem);
    height: 2px;
    background: var(--color-line-inverse);
  }

  .tl-item:nth-child(odd)::after {
    right: calc(var(--tl-dot) / 2);
  }

  .tl-item:nth-child(even)::after {
    left: calc(var(--tl-dot) / 2);
  }
}


/* 8b. Zintegrowana produkcja – obieg produkcyjny
   ========================================================================== */

.section--white {
  background: var(--color-white);
  color: var(--color-text);
}

.integrated__grid {
  display: grid;
  gap: var(--space-6);
  align-items: center;
}

.integrated__text > p {
  max-width: 54ch;
  margin-top: var(--space-3);
  color: var(--color-text-muted);
}

.integrated__text > .integrated__lead {
  margin-top: var(--space-4);
  font-size: var(--fs-lead);
  font-weight: 500;
  color: var(--color-text);
}

.integrated__points {
  display: grid;
  gap: 0.75rem;
  margin-top: var(--space-4);
}

.integrated__points li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 600;
}

.integrated__points li::before {
  content: "";
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat,
    var(--color-red);
}

.cycle {
  width: 100%;
  max-width: 540px;
  margin-inline: auto;
}

.cycle__stage {
  --node: clamp(54px, 16cqw, 86px);
  --radius: 38cqw;
  position: relative;
  aspect-ratio: 1;
  margin-bottom: var(--space-4);
  container-type: inline-size;
}

.cycle__ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.cycle__track {
  fill: none;
  stroke: rgba(18, 20, 24, 0.22);
  stroke-width: 0.5;
  stroke-dasharray: 1.2 1.4;
}

.cycle__arc {
  fill: none;
  stroke: var(--color-red);
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-dasharray: 60 300;
  transform-origin: 50px 50px;
  transform: rotate(-150deg);
  transition: transform 900ms var(--ease-out);
}

.cycle__arrows path {
  fill: none;
  stroke: var(--color-maroon);
  stroke-width: 0.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cycle__center {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 36%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--color-ink);
  transform: translate(-50%, -50%);
}

.cycle__center img {
  width: 44%;
  height: auto;
}

.cycle__nodes li {
  --a: 0deg;
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--node);
  height: var(--node);
  transform:
    translate(-50%, -50%)
    rotate(var(--a))
    translateY(calc(-1 * var(--radius)))
    rotate(calc(-1 * var(--a)));
}

.cycle__nodes li:nth-child(2) { --a: 60deg; }
.cycle__nodes li:nth-child(3) { --a: 120deg; }
.cycle__nodes li:nth-child(4) { --a: 180deg; }
.cycle__nodes li:nth-child(5) { --a: 240deg; }
.cycle__nodes li:nth-child(6) { --a: 300deg; }

.cycle__node {
  --node-bg: var(--color-white);
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 2px solid rgba(18, 20, 24, 0.16);
  border-radius: 50%;
  background: var(--node-bg);
  color: var(--color-ink);
  cursor: pointer;
  transition:
    background-color var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out),
    color var(--dur-base) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out),
    transform var(--dur-base) var(--ease-out);
}

.cycle__node:hover {
  border-color: var(--color-ink);
}

.cycle__node svg {
  width: 58%;
  height: 58%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

.cycle__node .fill {
  fill: currentColor;
  stroke: none;
}

.cycle__node .cycle__wheel {
  fill: var(--node-bg);
}

.cycle__node.is-active {
  --node-bg: var(--color-red);
  border-color: var(--color-red);
  color: var(--color-white);
  box-shadow: 0 0 0 7px rgba(207, 32, 41, 0.14);
  transform: scale(1.1);
}

.cycle__label {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(0.75rem, 0.7rem + 0.3vw, 0.875rem);
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--color-text);
  transition: color var(--dur-base) var(--ease-out);
}

.cycle__node.is-active .cycle__label {
  color: var(--color-red);
}

/* Ciężarówka „rusza” raz po aktywacji etapu – bez ciągłego ruchu */
.cycle__speed {
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-out);
}

.cycle__node.is-active .cycle__speed {
  opacity: 1;
}

.cycle__node.is-active .cycle__truck {
  animation: truck-drive 900ms var(--ease-out);
}

@keyframes truck-drive {
  from { transform: translateX(-6px); }
  to { transform: none; }
}

/* Opisy etapów – bez JS wszystkie widoczne jako lista */
.cycle__panels {
  display: grid;
  gap: var(--space-3);
}

.cycle__step {
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-maroon);
}

.cycle__title {
  margin-top: 0.25rem;
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.3;
}

.cycle__panel p:last-child {
  margin-top: 0.35rem;
  color: var(--color-text-muted);
}

.js .cycle__panels {
  text-align: center;
}

.js .cycle__panel {
  grid-area: 1 / 1;
  max-width: 40ch;
  margin-inline: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity var(--dur-base) var(--ease-out),
    transform var(--dur-base) var(--ease-out),
    visibility 0s linear var(--dur-base);
}

.js .cycle__panel.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}

@media (min-width: 900px) {
  .integrated__grid {
    grid-template-columns: 5fr 6fr;
  }
}


/* 9. Produkty – slider
   ========================================================================== */

.products {
  overflow: hidden;
}

.products__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3);
}

.slider-controls {
  display: flex;
  gap: 0.75rem;
}

.slider-controls[hidden] {
  display: none;
}

.slider-btn {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 2px solid var(--color-ink);
  border-radius: 50%;
  background: transparent;
  color: var(--color-ink);
  cursor: pointer;
  transition:
    background-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out),
    opacity var(--dur-fast) var(--ease-out),
    transform var(--dur-fast) var(--ease-out);
}

.slider-btn:hover:not(:disabled) {
  background: var(--color-ink);
  color: var(--color-white);
}

.slider-btn:active:not(:disabled) {
  transform: scale(0.94);
}

.slider-btn:disabled {
  opacity: 0.3;
  cursor: default;
}

.slider {
  --slider-gap: clamp(1.25rem, 2.2vw, 2rem);
  --slider-pad: max(var(--gutter), calc((100% - var(--container)) / 2));
  --slide-w: 78vw;
  position: relative;
  margin-top: var(--space-5);
}

/* Bez JS: natywne przewijanie z przyciąganiem (przeciąganie dotykiem) */
.slider__track {
  display: flex;
  gap: var(--slider-gap);
  padding: var(--space-2) var(--slider-pad) var(--space-3);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--slider-pad);
  scrollbar-width: none;
}

.slider__track::-webkit-scrollbar {
  display: none;
}

/* Z JS: ciągła taśma przesuwana z prawej do lewej (transform w rAF) */
.js .slider {
  overflow: hidden;
  touch-action: pan-y;
  cursor: grab;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent 100%);
}

.js .slider:focus-visible {
  outline-offset: -3px;
}

.js .slider.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.js .slider__track {
  width: max-content;
  overflow: visible;
  scroll-snap-type: none;
  will-change: transform;
}

.product {
  --pack: var(--color-red);
  flex: 0 0 var(--slide-w);
  scroll-snap-align: start;
}

.product--wings { --pack: var(--pack-wings); }
.product--strips { --pack: var(--pack-strips); }
.product--slices { --pack: var(--pack-slices); }
.product--tex-mex-kebab { --pack: var(--pack-tex-mex-kebab); }
.product--kebab { --pack: var(--pack-kebab); }
.product--tex-mex-wings { --pack: var(--pack-tex-mex-wings); }
.product--nuggets { --pack: var(--pack-nuggets); }
.product--burgers { --pack: var(--pack-burgers); }

.product__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.product__link:hover .product__name {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.product__media {
  position: relative;
  aspect-ratio: 10 / 11;
  padding: 9% 7% 11%;
  border-radius: var(--radius-md);
  background: var(--color-ink);
  overflow: hidden;
}

/* Kolorowy pas u dołu – jak żółty pas z plakatu 2, w kolorze opakowania */
.product__media::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32%;
  background: var(--pack);
}

.product__media picture,
.product__media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.product__media img {
  object-fit: contain;
  transition: transform var(--dur-slow) var(--ease-out);
}

.product:hover .product__media img {
  transform: translateY(-6px) scale(1.02);
}

.product__name {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: var(--space-3);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.3;
}

.product__name::before {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--pack);
}

.product__desc {
  margin-top: 0.15rem;
  padding-left: calc(10px + 0.6rem);
  color: var(--color-text-muted);
}

/* Panel „produkty na zamówienie” pod taśmą */
.custom {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-5);
  padding: clamp(1.75rem, 4vw, 3rem);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}

.custom__title {
  font-size: clamp(1.375rem, 1.15rem + 0.9vw, 1.875rem);
  font-weight: 700;
  line-height: 1.25;
  text-wrap: balance;
}

.custom__text p {
  max-width: 58ch;
  margin-top: var(--space-2);
  color: var(--color-text-muted);
}

.custom__action {
  display: flex;
}

.custom__options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  gap: 0.75rem;
  align-content: center;
}

.custom__options li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--color-white);
  font-weight: 600;
  line-height: 1.3;
}

.custom__options li::before {
  content: "";
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat,
    var(--color-red);
}

.custom__options li:last-child {
  color: var(--color-text-muted);
}

.custom__options li:last-child::before {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7v10M7 12h10' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% no-repeat,
    var(--color-maroon);
}

@media (min-width: 900px) {
  .custom {
    grid-template-columns: 6fr 5fr;
    grid-template-areas:
      "text options"
      "action options";
    gap: var(--space-4) var(--space-5);
    align-items: center;
  }

  .custom__text { grid-area: text; }
  .custom__options { grid-area: options; }
  .custom__action { grid-area: action; align-self: start; }
}

@media (min-width: 700px) {
  .slider {
    --slide-w: 42vw;
  }
}

@media (min-width: 1100px) {
  .slider {
    --slide-w: clamp(320px, 26vw, 390px);
  }
}

/* Przycisk pauzy/wznowienia ruchu */
.slider-btn--play .icon-play,
.slider-btn--play.is-paused .icon-pause {
  display: none;
}

.slider-btn--play.is-paused .icon-play {
  display: block;
}


/* 9b. Marki – Tayyib
   ========================================================================== */

.brands {
  --focus-color: var(--color-tayyib-gold);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%, var(--color-tayyib-green-light) 0%, rgba(11, 74, 64, 0) 100%),
    linear-gradient(180deg, var(--color-tayyib-green) 0%, var(--color-tayyib-green-dark) 100%);
  color: var(--color-text-inverse);
}

/* Wzór geometryczny z opakowań, wygaszany ku krawędziom */
.brands::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("../assets/images/tayyib/pattern.svg") center top / 80px 80px repeat;
  opacity: 0.14;
}

/* Wygaszenie wzoru ku górze i dołowi (nakładka zamiast mask-image, która
   spowalniała przewijanie w Firefoksie) + złoty pas u dołu jak na plakacie */
.brands::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(194, 160, 92, 0), rgba(194, 160, 92, 0.7) 20%, rgba(194, 160, 92, 0.7) 80%, rgba(194, 160, 92, 0)) left bottom / 100% 6px no-repeat,
    linear-gradient(180deg, rgba(7, 64, 56, 0.85) 0%, rgba(7, 64, 56, 0) 30%, rgba(0, 33, 29, 0) 70%, rgba(0, 33, 29, 0.88) 100%);
}

.brands__head {
  max-width: 760px;
  margin-inline: auto;
  padding-top: var(--space-2);
  text-align: center;
}

/* Łuk z opakowań Tayyib obejmujący logo i nagłówek */
.brands__arch {
  position: relative;
  max-width: 640px;
  margin: var(--space-3) auto 0;
  padding: clamp(4.5rem, 12vw, 6.5rem) clamp(1.75rem, 8vw, 4.5rem) var(--space-4);
}

.brands__arch::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("../assets/images/tayyib/arch.svg") center top / 100% 100% no-repeat;
  opacity: 0.85;
}

.brands__head .eyebrow {
  justify-content: center;
}

.brands__logo {
  display: block;
  width: clamp(130px, 20vw, 200px);
  margin: 0 auto var(--space-3);
  transition: transform var(--dur-base) var(--ease-out);
}

.brands__logo:hover {
  transform: scale(1.04);
}

/* Ten sam błysk co w nagłówku. Tło sekcji jest ciemne, więc błysk jest
   przycięty do kształtu logo maską (osadzona jako data: – zewnętrzny plik
   maski nie zadziała przy otwieraniu strony z dysku) */
.brands__logo {
  position: relative;
}

.brands__logo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 40%, rgba(255, 252, 235, 0.95) 50%, rgba(255, 255, 255, 0) 60%) 150% 0 / 300% 100% no-repeat;
  mix-blend-mode: soft-light;
  -webkit-mask: url("data:image/png;base64,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") center / 100% 100% no-repeat;
  mask: url("data:image/png;base64,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") center / 100% 100% no-repeat;
  pointer-events: none;
}

.brands__logo.is-shining::after {
  animation: promo-shine 1.2s ease-in-out;
}

.brands__logo img {
  width: 100%;
  height: auto;
}

.brands__title {
  color: var(--color-white);
}

.brands .section-intro {
  margin-inline: auto;
  color: rgba(255, 255, 255, 0.78);
}

.brands__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2.5rem);
  margin-top: var(--space-6);
}

.brand-pack__link {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: var(--color-tayyib-gold);
}

/* Delikatna „podłoga” pod opakowaniem */
.brand-pack__link::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 78%;
  height: 18%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(194, 160, 92, 0.35), rgba(194, 160, 92, 0));
  opacity: 0.5;
  transition: opacity var(--dur-base) var(--ease-out);
}

.brand-pack__link picture {
  position: relative;
  display: block;
  transition: transform var(--dur-base) var(--ease-out);
}

.brand-pack__link img {
  width: 100%;
  height: auto;
}

.brand-pack__link:hover picture,
.brand-pack__link:focus-visible picture {
  transform: translateY(-10px) rotate(-1.5deg);
}

.brand-pack__link:hover::before,
.brand-pack__link:focus-visible::before {
  opacity: 1;
}

.brand-pack__name {
  position: relative;
  display: block;
  margin-top: var(--space-1);
  font-size: clamp(0.8125rem, 0.75rem + 0.25vw, 0.9375rem);
  font-weight: 600;
  line-height: 1.35;
}

.brands__foot {
  display: flex;
  justify-content: center;
  margin-top: var(--space-5);
}

.btn--gold {
  background: var(--color-tayyib-gold);
  color: var(--color-tayyib-green-dark);
}

.btn--gold:hover {
  background: var(--color-tayyib-gold-light);
}

/* Kolejne opakowania pojawiają się z niewielkim przesunięciem w czasie */
.js .brand-pack:nth-child(4n + 2) { transition-delay: 80ms; }
.js .brand-pack:nth-child(4n + 3) { transition-delay: 160ms; }
.js .brand-pack:nth-child(4n + 4) { transition-delay: 240ms; }

@media (min-width: 700px) {
  .brands__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}


/* Strona tymczasowa marki (tayyib.html) */
.brand-page {
  --tz-base: var(--color-tayyib-green);
  --tz-dark: var(--color-tayyib-green-dark);
  --tz-hi: var(--color-tayyib-gold-light);
  --tz-line: rgba(216, 187, 126, 0.6);
  --tz-hover: rgba(216, 187, 126, 0.12);
  --tz-toggle: rgba(0, 33, 29, 0.7);
  background: var(--tz-dark);
}

/* Nagłówek strony marki – zieleń Tayyib zamiast grafitu Elite Food */
.brand-page .site-header.is-scrolled,
.brand-page .site-header.is-open {
  background: var(--tz-dark);
}

/* Hero strony marki: tekst + orbita opakowań */
.tz-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100svh;
  padding-block: calc(var(--header-h) + var(--space-4)) var(--space-5);
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--tz-base);
  background-image:
    radial-gradient(ellipse 60% 70% at 70% 50%, rgba(216, 187, 126, 0.3), rgba(0, 33, 29, 0) 70%),
    linear-gradient(90deg, rgba(0, 24, 21, 0.86), rgba(0, 24, 21, 0.45)),
    image-set(url("../assets/images/tayyib/flyer-tile-green.webp") type("image/webp"), url("../assets/images/tayyib/flyer-tile-green.png") type("image/png"));
  background-size: auto, auto, 260px 260px;
}

.tz-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-4);
  width: 100%;
}

.tz-hero__text > * {
  animation: promo-up 0.8s var(--ease-out) both;
}

.tz-hero__logo {
  display: block;
  width: clamp(140px, min(18vw, 26vh), 250px);
  height: auto;
  margin-block: var(--space-3);
  animation-delay: 0.1s;
}

.tz-hero__title {
  max-width: 16ch;
  font-size: clamp(2rem, min(1.2rem + 3vw, 7vh), 3.75rem);
  font-weight: 700;
  line-height: 1.12;
  text-wrap: balance;
  animation-delay: 0.25s;
}

.tz-hero__lead {
  max-width: 44ch;
  margin-top: var(--space-3);
  color: rgba(255, 255, 255, 0.82);
  animation-delay: 0.4s;
}

.tz-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-4);
  animation-delay: 0.55s;
}

.tz-btn-ghost {
  border-color: var(--tz-line);
  color: var(--tz-hi);
}

.tz-btn-ghost:hover {
  border-color: var(--tz-hi);
  background: var(--tz-hover);
}

.tz-header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.tz-orbit-wrap {
  position: relative;
  height: clamp(380px, 68vh, 680px);
  animation: promo-fade 1.2s 0.3s var(--ease-out) both;
}

/* Bez JS opakowania układają się w zwykłą siatkę */
.tz-orbit {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.js .tz-orbit {
  position: absolute;
  inset: 0;
  display: block;
}

.js .tz-orbit__item {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(150px, min(20vw, 34vh), 300px);
  margin-left: calc(clamp(150px, min(20vw, 34vh), 300px) / -2);
  margin-top: calc(clamp(150px, min(20vw, 34vh), 300px) / -2);
}

.tz-orbit__item a {
  display: block;
  transition: scale var(--dur-base) var(--ease-out);
}

.tz-orbit__item a:hover,
.tz-orbit__item a:focus-visible {
  scale: 1.07;
}

.tz-orbit__item img {
  width: 100%;
  height: auto;
}

.tz-orbit-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 0;
  width: clamp(90px, 11vw, 150px);
  height: auto;
  translate: -50% -50%;
}

.tz-orbit-toggle {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--tz-line);
  border-radius: 50%;
  background: var(--tz-toggle);
  cursor: pointer;
}

.tz-orbit-toggle[hidden],
html:not(.js) .tz-orbit-badge {
  display: none;
}

/* Ikona pauzy; przy zatrzymanej orbicie zmienia się w trójkąt */
.tz-orbit-toggle span {
  display: block;
  width: 12px;
  height: 14px;
  border-inline: 4px solid var(--tz-hi);
}

.tz-orbit-toggle[data-paused] span {
  width: 0;
  height: 0;
  border-block: 8px solid transparent;
  border-inline: 13px solid transparent;
  border-inline-start-color: var(--tz-hi);
  border-inline-end-width: 0;
}

/* Pasek faktów */
.tz-facts {
  position: relative;
  z-index: 1;
  border-block: 1px solid var(--tz-line);
  background: var(--tz-base);
  color: var(--color-white);
}

.tz-facts__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-block: 0;
  padding-block: var(--space-4);
  list-style: none;
  text-align: center;
}

.tz-facts strong {
  display: block;
  font-size: clamp(1.375rem, 1rem + 1.5vw, 2.25rem);
  line-height: 1.2;
  color: var(--tz-hi);
}

.tz-facts span {
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.8);
}

/* Sceny produktowe */
.tz-products {
  position: relative;
  isolation: isolate;
  padding-top: var(--section-y);
  color: var(--color-white);
  background-color: var(--tz-dark);
  background-image:
    linear-gradient(rgba(0, 33, 29, 0.8), rgba(0, 33, 29, 0.8)),
    image-set(url("../assets/images/tayyib/flyer-tile-green.webp") type("image/webp"), url("../assets/images/tayyib/flyer-tile-green.png") type("image/png"));
  background-size: auto, 260px 260px;
}

.tz-products__head {
  text-align: center;
}

.tz-products__head .eyebrow {
  justify-content: center;
}

.tz-products__title {
  font-size: clamp(1.875rem, 1.2rem + 3vw, 3.5rem);
  font-weight: 700;
  line-height: 1.15;
  text-wrap: balance;
}

.tz-scene {
  --accent: var(--tz-hi);
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100svh;
  padding-block: var(--space-6);
  overflow: hidden;
  overflow: clip;
}

.tz-scene--tex-mex-wings { --accent: #f7931e; }
.tz-scene--crispy-wings { --accent: #ef3340; }
.tz-scene--fillet-slices { --accent: #f5c3d8; }
.tz-scene--nuggets { --accent: #ee2a93; }
.tz-scene--kebab-tex-mex { --accent: #b5b52e; }
.tz-scene--kebab { --accent: #f0603f; }
.tz-scene--strips { --accent: #f7c21b; }
.tz-scene--burgers { --accent: #bd5be0; }
.tz-scene--elite-burgers { --accent: #8b5be6; }

/* Poświata w kolorze opakowania – wyłącznie opacity, bez przemalowywania */
.tz-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse 55% 65% at 28% 50%, var(--accent), transparent);
  opacity: 0;
  transition: opacity 1s var(--ease-out);
  pointer-events: none;
}

.tz-scene--flip::before {
  background: radial-gradient(ellipse 55% 65% at 72% 50%, var(--accent), transparent);
}

.tz-scene.is-active::before,
html:not(.js) .tz-scene::before {
  opacity: 0.5;
}

.tz-scene__ghost {
  position: absolute;
  left: 50%;
  top: 6%;
  z-index: -1;
  font-size: clamp(5rem, 19vw, 19rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px var(--accent);
  opacity: 0.5;
  translate: -50% 0;
  pointer-events: none;
}

.tz-scene__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
  width: 100%;
}

.tz-scene--flip .tz-scene__media {
  order: 2;
}

.tz-scene__media {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1.08;
  max-height: 82vh;
  margin-inline: auto;
  width: 100%;
  max-width: 640px;
}

.tz-arch {
  position: absolute;
  left: 1%;
  right: 1%;
  top: 0;
  bottom: 0;
}

.tz-arch__fill {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 74, 64, 0.85), rgba(0, 33, 29, 0.6));
  background: linear-gradient(180deg, rgba(11, 74, 64, 0.85) 25%, color-mix(in srgb, var(--accent) 60%, transparent));
  clip-path: url("#tz-arch-clip");
}

.tz-arch img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tz-pack {
  position: relative;
  width: 76%;
  margin-top: 19%;
  transition:
    opacity 0.9s var(--ease-out),
    transform 1.1s cubic-bezier(0.2, 0.8, 0.25, 1.08);
}

/* Cień jako zwykły owal – tani przy lewitacji (bez filtra) */
.tz-pack::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 92%;
  z-index: -1;
  height: 13%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
}

.tz-pack__tilt {
  transform: perspective(900px) rotateX(calc(var(--rx, 0) * 1deg)) rotateY(calc(var(--ry, 0) * 1deg));
  transition: transform 0.35s var(--ease-out);
}

.tz-pack__float {
  position: relative;
  overflow: hidden;
  animation: tz-float 6.5s ease-in-out infinite;
}

.tz-scene:nth-of-type(even) .tz-pack__float {
  animation-duration: 7.4s;
  animation-direction: reverse;
}

.js .tz-scene:not(.is-active) .tz-pack__float {
  animation-play-state: paused;
}

.tz-pack__float img {
  width: 100%;
  height: auto;
}

/* Jednorazowy błysk przy wejściu sceny */
.tz-pack__float::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 40%, rgba(255, 252, 235, 0.24) 50%, rgba(255, 255, 255, 0) 60%) 150% 0 / 300% 100% no-repeat;
  pointer-events: none;
}

.tz-scene.is-in .tz-pack__float::after {
  animation: promo-shine 1.5s 0.5s ease-in-out both;
}

/* Wejście sceny (tylko z JS – bez JS wszystko jest widoczne) */
.js .tz-scene:not(.is-in) .tz-pack {
  opacity: 0;
  transform: translateX(-90px) rotate(-7deg) scale(0.86);
}

.js .tz-scene--flip:not(.is-in) .tz-pack {
  transform: translateX(90px) rotate(7deg) scale(0.86);
}

.js .tz-scene__text > * {
  transition:
    opacity 0.7s var(--ease-out),
    transform 0.7s var(--ease-out);
}

.js .tz-scene:not(.is-in) .tz-scene__text > * {
  opacity: 0;
  transform: translateY(24px);
}

.js .tz-scene__text > :nth-child(2) { transition-delay: 90ms; }
.js .tz-scene__text > :nth-child(3) { transition-delay: 180ms; }
.js .tz-scene__text > :nth-child(4) { transition-delay: 270ms; }
.js .tz-scene__text > :nth-child(5) { transition-delay: 360ms; }

.tz-scene__num {
  font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  font-weight: 700;
  color: var(--accent);
}

.tz-scene__num span {
  font-size: 0.65em;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
}

.tz-scene__num--brand {
  font-size: var(--fs-sm);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tz-scene__title {
  margin-top: var(--space-2);
  font-size: clamp(1.75rem, 1.2rem + 2.3vw, 3.125rem);
  font-weight: 700;
  line-height: 1.14;
  text-wrap: balance;
}

.tz-scene__desc {
  max-width: 52ch;
  margin-top: var(--space-3);
  color: rgba(255, 255, 255, 0.85);
}

.tz-spec {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2) var(--space-3);
  max-width: 460px;
  margin: var(--space-4) 0;
}

.tz-spec div {
  padding-left: var(--space-2);
  border-left: 2px solid var(--accent);
}

.tz-spec dt {
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.65);
}

.tz-spec dd {
  margin: 0;
  font-weight: 600;
}

/* Kropki nawigacji po produktach */
.tz-dots {
  position: fixed;
  right: 18px;
  top: 50%;
  z-index: 40;
  display: none;
  translate: 0 -50%;
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-out);
}

.tz-dots.is-visible {
  opacity: 1;
}

.tz-dots ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tz-dots a {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
}

.tz-dots a::before {
  content: "";
  width: 10px;
  height: 10px;
  border: 2px solid var(--tz-hi);
  border-radius: 50%;
  transition: background-color var(--dur-fast) var(--ease-out), scale var(--dur-fast) var(--ease-out);
}

.tz-dots a[aria-current]::before {
  background: var(--tz-hi);
  scale: 1.3;
}

/* Zamknięcie strony */
.tz-custom {
  padding-block: var(--section-y);
  background: var(--tz-base);
  color: var(--color-white);
  text-align: center;
}

.tz-custom__inner {
  display: grid;
  justify-items: center;
  gap: var(--space-3);
  max-width: 760px;
}

.tz-custom p {
  color: rgba(255, 255, 255, 0.85);
}

.tz-footer {
  padding-block: var(--space-3);
  background: var(--tz-dark);
  font-size: var(--fs-sm);
  text-align: center;
  color: rgba(255, 255, 255, 0.65);
}

/* Strona produktów (produkty.html): te same sceny w barwach Elite Food –
   łupek jak na opakowaniach, zamiast łuku krąg talerza. Akcenty scen mają
   wyższą specyficzność, bo nazwy części wariantów są wspólne z Tayyib. */
.brand-page--elite {
  --tz-base: var(--color-ink-soft);
  --tz-dark: var(--color-ink);
  --tz-hi: var(--color-yellow);
  --tz-line: rgba(236, 176, 53, 0.5);
  --tz-hover: rgba(236, 176, 53, 0.12);
  --tz-toggle: rgba(18, 20, 24, 0.7);
}

.brand-page--elite .tz-scene--wings { --accent: #ef1c2e; }
.brand-page--elite .tz-scene--strips { --accent: #f6ce00; }
.brand-page--elite .tz-scene--slices { --accent: #f19195; }
.brand-page--elite .tz-scene--tex-mex-kebab { --accent: #a4d21c; }
.brand-page--elite .tz-scene--kebab { --accent: #f47a1c; }
.brand-page--elite .tz-scene--tex-mex-wings { --accent: #fbab18; }
.brand-page--elite .tz-scene--nuggets { --accent: #ec1f9a; }
.brand-page--elite .tz-scene--burgers { --accent: #9a6be0; }

.brand-page--elite .tz-hero {
  background-image:
    radial-gradient(ellipse 60% 70% at 70% 50%, rgba(207, 32, 41, 0.42), rgba(18, 20, 24, 0) 70%),
    linear-gradient(120deg, var(--color-ink), var(--color-ink-soft));
  background-size: auto;
}

.brand-page--elite .tz-products {
  background-image: linear-gradient(180deg, var(--color-ink), var(--color-ink-soft) 50%, var(--color-ink));
  background-size: auto;
}

.brand-page--elite .tz-facts {
  border-color: rgba(207, 32, 41, 0.7);
}

.brand-page--elite .tz-orbit-badge {
  width: clamp(70px, 8vw, 110px);
}

.brand-page--elite .btn--gold {
  background: var(--color-red);
  color: var(--color-white);
}

.brand-page--elite .btn--gold:hover {
  background: var(--color-red-dark);
}

.brand-page--elite .tz-scene__num span {
  color: rgba(255, 255, 255, 0.6);
}

.brand-page--elite .tz-arch {
  left: 3%;
  right: 3%;
  top: auto;
  bottom: 4%;
  aspect-ratio: 1;
  border: 2px solid var(--color-tayyib-gold);
  border-radius: 50%;
}

.brand-page--elite .tz-arch__fill {
  inset: 4%;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--accent) 55%, transparent), rgba(18, 20, 24, 0.4));
  clip-path: none;
}

.brand-page--elite .tz-pack {
  margin-top: 0;
}

/* Strona certyfikatów (certyfikaty.html): sceny Elite Food w oprawie złota –
   dokument w złotej ramie, pieczęć z wynikiem, podgląd pełnoekranowy */
.brand-page--certs {
  --tz-hi: var(--color-tayyib-gold-light);
  --tz-line: rgba(216, 187, 126, 0.55);
}

.brand-page--certs .tz-scene--ifs { --accent: #d8bb7e; }
.brand-page--certs .tz-scene--brc { --accent: #ecb035; }
.brand-page--certs .tz-scene--module-11 { --accent: #ecb035; }
.brand-page--certs .tz-scene--halal-elite-food { --accent: #5fc08c; }
.brand-page--certs .tz-scene--halal-elite-poultry { --accent: #5fc08c; }

.brand-page--certs .btn--gold {
  background: var(--color-tayyib-gold);
  color: var(--color-ink);
}

.brand-page--certs .btn--gold:hover {
  background: var(--color-tayyib-gold-light);
}

.brand-page--certs .tz-hero {
  background-image:
    radial-gradient(ellipse 60% 75% at 72% 50%, rgba(216, 187, 126, 0.3), rgba(18, 20, 24, 0) 70%),
    linear-gradient(120deg, var(--color-ink), var(--color-ink-soft));
}

.brand-page--certs .tz-hero__title {
  max-width: 14ch;
}

.brand-page--certs .tz-facts {
  border-color: var(--tz-line);
}

.brand-page--certs .tz-scene.is-active::before {
  opacity: 0.3;
}

.brand-page--certs .tz-pack {
  width: 62%;
}

.brand-page--certs .tz-pack__float {
  overflow: visible;
  animation-name: cz-float;
}

.brand-page--certs .tz-pack__float::after {
  display: none;
}

.cz-fan {
  position: relative;
  height: clamp(340px, 66vh, 640px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.cz-fan__item {
  --r: 0deg;
  --x: 0%;
  --y: 0%;
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(150px, min(17vw, 40vh), 270px);
  transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r));
  transition: transform var(--dur-base) var(--ease-out);
  animation: cz-fan 1.1s cubic-bezier(0.2, 0.8, 0.25, 1.05) both;
}

.cz-fan__item--1 { --r: -20deg; --x: -70%; --y: 7%; animation-delay: 0.15s; z-index: 1; }
.cz-fan__item--2 { --r: -10deg; --x: -36%; --y: 1%; animation-delay: 0.25s; z-index: 2; }
.cz-fan__item--3 { --r: 0deg; --x: 0%; --y: -2%; animation-delay: 0.35s; z-index: 3; }
.cz-fan__item--4 { --r: 10deg; --x: 36%; --y: 1%; animation-delay: 0.45s; z-index: 2; }
.cz-fan__item--5 { --r: 20deg; --x: 70%; --y: 7%; animation-delay: 0.55s; z-index: 1; }

.cz-fan__item:hover,
.cz-fan__item:focus-within {
  z-index: 6;
  transform: translate(calc(-50% + var(--x)), calc(-54% + var(--y))) rotate(var(--r)) scale(1.05);
}

.cz-fan__item a,
.cz-sheet {
  display: block;
  padding: 6px;
  background: linear-gradient(135deg, #f3e2b4, var(--color-tayyib-gold) 45%, #8a6a2c 75%, #e4cd93);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
}

.cz-fan__item img,
.cz-sheet img {
  display: block;
  width: 100%;
  height: auto;
}

.cz-sheet {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}

/* Błysk na ramie i dokumencie przy wejściu sceny */
.cz-sheet::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 40%, rgba(255, 252, 235, 0.42) 50%, rgba(255, 255, 255, 0) 60%) 150% 0 / 300% 100% no-repeat;
  pointer-events: none;
}

.tz-scene.is-in .cz-sheet::after {
  animation: promo-shine 1.6s 0.6s ease-in-out both;
}

.cz-seal {
  position: absolute;
  right: -11%;
  bottom: 9%;
  display: grid;
  place-items: center;
  width: clamp(76px, 9vw, 116px);
  aspect-ratio: 1;
  border: 3px solid #f3e2b4;
  border-radius: 50%;
  outline: 1px solid #f3e2b4;
  outline-offset: -8px;
  background: radial-gradient(circle at 35% 30%, #e4cd93, var(--color-tayyib-gold) 55%, #8a6a2c);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
  font-size: clamp(0.8125rem, 0.6rem + 0.5vw, 1.0625rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--color-ink);
  rotate: -10deg;
}

.tz-scene--flip .cz-seal {
  right: auto;
  left: -11%;
  rotate: 10deg;
}

.tz-scene.is-in .cz-seal {
  animation: cz-seal 0.6s 0.8s cubic-bezier(0.2, 0.9, 0.3, 1.3) both;
}

.js .tz-scene:not(.is-in) .cz-seal {
  opacity: 0;
}

.cz-sub {
  margin-top: var(--space-1);
  font-weight: 600;
  color: var(--accent);
}

.cz-company {
  margin-top: var(--space-2);
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.72);
}

.cz-spec {
  max-width: 520px;
}

.cz-spec dd {
  overflow-wrap: anywhere;
}

.cz-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.js .tz-scene__text > :nth-child(6) { transition-delay: 450ms; }
.js .tz-scene__text > :nth-child(7) { transition-delay: 540ms; }

.cz-viewer {
  width: min(960px, 100vw);
  max-width: 100vw;
  max-height: 100dvh;
  padding: 0;
  border: 0;
  background: var(--color-ink);
  color: var(--color-white);
}

.cz-viewer::backdrop {
  background: rgba(8, 9, 11, 0.9);
}

.cz-viewer__bar {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  background: var(--color-ink);
}

.cz-viewer__page {
  margin-right: auto;
  font-size: var(--fs-sm);
}

.cz-viewer__btn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--tz-line);
  border-radius: 50%;
  background: transparent;
  font-size: 1.375rem;
  line-height: 1;
  color: var(--tz-hi);
  cursor: pointer;
}

.cz-viewer__btn[hidden] {
  display: none;
}

.cz-viewer__img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 899px) {
  .cz-fan {
    height: clamp(260px, 74vw, 460px);
  }

  .cz-fan__item {
    width: 34vw;
  }

  .brand-page--certs .tz-pack {
    width: 66%;
  }

  .cz-seal,
  .tz-scene--flip .cz-seal {
    right: -8%;
    left: auto;
  }
}

@keyframes cz-float {
  0%, 100% { transform: translateY(-7px) rotate(-0.5deg); }
  50% { transform: translateY(8px) rotate(0.5deg); }
}

@keyframes cz-fan {
  from { opacity: 0; transform: translate(-50%, -38%) rotate(0deg) scale(0.9); }
}

@keyframes cz-seal {
  from { opacity: 0; transform: scale(2.2); }
  to { opacity: 1; transform: none; }
}

@keyframes tz-float {
  0%, 100% { transform: translateY(-10px) rotate(-1.2deg); }
  50% { transform: translateY(12px) rotate(1.2deg); }
}

@media (min-width: 1200px) {
  .tz-dots {
    display: block;
  }
}

@media (max-width: 899px) {
  .tz-hero {
    padding-top: calc(var(--header-h) + var(--space-3));
    background-size: auto, auto, 200px 200px;
  }

  .tz-hero__inner,
  .tz-scene__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .tz-hero__text {
    text-align: center;
  }

  .tz-hero__text .eyebrow,
  .tz-hero__actions {
    justify-content: center;
  }

  .tz-hero__logo,
  .tz-hero__title,
  .tz-hero__lead {
    margin-inline: auto;
  }

  .tz-orbit-wrap {
    height: clamp(280px, 80vw, 460px);
  }

  .js .tz-orbit__item {
    width: 38vw;
    margin-left: -19vw;
    margin-top: -19vw;
  }

  .tz-facts__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tz-scene {
    min-height: 0;
    padding-block: var(--space-5);
  }

  .tz-scene--flip .tz-scene__media {
    order: 0;
  }

  .tz-scene__media {
    max-width: min(460px, 86vw);
  }

  .tz-scene::before,
  .tz-scene--flip::before {
    background: radial-gradient(ellipse 80% 45% at 50% 32%, var(--accent), transparent);
  }
}

@media (max-width: 559px) {
  .tz-header-cta {
    display: none;
  }
}


/* 10. Kontakt
   ========================================================================== */

.contact {
  --focus-color: var(--color-yellow);
  padding-block: var(--section-y);
  background: var(--color-maroon);
  color: var(--color-white);
}

.contact__inner {
  display: grid;
  gap: var(--space-5);
}

.contact__intro p:last-child {
  margin-top: var(--space-3);
  max-width: 44ch;
  font-size: var(--fs-lead);
  color: rgba(255, 255, 255, 0.85);
}

.contact__list {
  display: grid;
}

.contact__list li {
  display: grid;
  gap: 0.25rem;
  padding-block: var(--space-3);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.contact__list li:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.contact__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-yellow);
}

.contact__value {
  font-size: clamp(1.25rem, 1.05rem + 0.9vw, 1.75rem);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
}

a.contact__value {
  justify-self: start;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
  transition: background-size var(--dur-base) var(--ease-out);
}

a.contact__value:hover {
  background-size: 100% 2px;
}

.contact__value--address {
  font-style: normal;
}

@media (min-width: 900px) {
  .contact__inner {
    grid-template-columns: 5fr 6fr;
    gap: var(--space-6);
    align-items: center;
  }
}


/* 11. Stopka
   ========================================================================== */

.site-footer {
  --focus-color: var(--color-yellow);
  padding-top: var(--space-6);
  background: var(--color-ink);
  color: var(--color-text-inverse-muted);
  font-size: 0.9375rem;
}

/* Pasek „projekty współfinansowane z UE” – jasne tło wymagane
   dla czytelności logotypów UE i PROW */
.funding {
  --focus-color: var(--color-ink);
  margin-top: calc(-1 * var(--space-6));
  margin-bottom: var(--space-6);
  padding-block: var(--space-4);
  background: var(--color-white);
  color: var(--color-text);
}

.funding__head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-2) var(--space-3);
  align-items: center;
}

.funding__eu {
  width: 72px;
  height: auto;
}

.funding__prow {
  grid-column: 1 / -1;
  width: 120px;
  height: auto;
}

.funding__title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

.funding__slogan {
  margin-top: 0.25rem;
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}

.funding__projects {
  display: grid;
  gap: var(--space-1) var(--space-3);
  margin-top: var(--space-3);
}

.funding__project {
  border-top: 1px solid var(--color-line);
}

.funding__project summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  min-height: 48px;
  padding-block: 0.6rem;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.funding__project summary::-webkit-details-marker {
  display: none;
}

.funding__project summary::after {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  margin-right: 4px;
  border-right: 2px solid var(--color-maroon);
  border-bottom: 2px solid var(--color-maroon);
  transform: translateY(-3px) rotate(45deg);
  transition: transform var(--dur-base) var(--ease-out);
}

.funding__project[open] summary::after {
  transform: translateY(2px) rotate(-135deg);
}

.funding__project summary:hover {
  color: var(--color-maroon);
}

.funding__body {
  display: grid;
  gap: 0.5rem;
  padding-bottom: var(--space-2);
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--color-text-muted);
}

.funding__measure {
  font-weight: 600;
  color: var(--color-text);
}

@media (min-width: 700px) {
  .funding__head {
    grid-template-columns: auto 1fr auto;
    gap: var(--space-4);
  }

  .funding__eu {
    width: 90px;
  }

  .funding__prow {
    grid-column: auto;
    width: 130px;
  }

  .funding__projects {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.site-footer__grid {
  display: grid;
  gap: var(--space-5);
  padding-bottom: var(--space-5);
}

.site-footer__brand img {
  width: 120px;
  height: auto;
}

.site-footer__brand p {
  margin-top: var(--space-3);
  max-width: 34ch;
}

.site-footer__title {
  margin-bottom: var(--space-2);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-white);
}

.site-footer__col ul {
  display: grid;
  gap: 0.35rem;
}

.site-footer a {
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}

.site-footer a:hover {
  color: var(--color-yellow);
}

.site-footer address {
  line-height: 1.9;
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-1) var(--space-3);
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-line-inverse);
  font-size: var(--fs-sm);
}

.site-footer__bottom a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (min-width: 700px) {
  .site-footer__grid {
    grid-template-columns: 1.4fr 1fr 1.2fr;
  }
}


/* 12. Animacje wejścia (aktywne tylko z JS – bez JS treść jest widoczna)
   ========================================================================== */

.js .reveal {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity var(--dur-slow) var(--ease-out),
    transform var(--dur-slow) var(--ease-out);
}

.js .reveal.is-visible {
  opacity: 1;
  transform: none;
}

.js .tl-item__card {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity var(--dur-slow) var(--ease-out),
    transform var(--dur-slow) var(--ease-out);
}

.js .tl-item.is-visible .tl-item__card {
  opacity: 1;
  transform: none;
}

@media (min-width: 900px) {
  .js .tl-item:nth-child(odd) .tl-item__card {
    transform: translateX(-28px);
  }

  .js .tl-item:nth-child(even) .tl-item__card {
    transform: translateX(28px);
  }

  .js .tl-item.is-visible .tl-item__card {
    transform: none;
  }
}


/* 13. Ograniczenie ruchu
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .cz-fan__item:hover,
  .cz-fan__item:focus-within {
    transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r));
  }

  .tz-pack__float {
    animation: none;
  }

  .tz-orbit__item a:hover,
  .tz-orbit__item a:focus-visible {
    scale: 1;
  }

  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    transition-delay: 0s !important;
    animation-delay: 0s !important;
  }

  .js .reveal,
  .js .tl-item__card,
  .js .tl-item:nth-child(n) .tl-item__card {
    opacity: 1;
    transform: none;
  }

  .js .timeline__progress {
    transform: scaleY(1);
  }

  .promo-pack:hover img {
    scale: none;
    rotate: none;
  }

  .promo__stamp:hover {
    scale: none;
  }

  .btn:hover,
  .brand-pack__link:hover picture,
  .product:hover .product__media img {
    transform: none;
  }
}
