/* ==========================================================================
   Przypięty szczyt strony: pasek zapowiedzi + nagłówek + pasek kategorii.

   Sticky obejmuje wszystkie trzy elementy naraz, a nie każdy z osobna — inaczej
   przy przewijaniu rozjeżdżałyby się względem siebie. Pamiętać: `position:sticky`
   przestaje działać, gdy któryś przodek dostanie `overflow` inny niż `visible`.
   ========================================================================== */
.avm-szczyt{
  position:sticky;top:0;z-index:100;
  background:#fff;
  box-shadow:0 1px 0 rgba(11,16,32,.06);
}
/* Pasek administratora WordPressa też jest przypięty — schodzimy pod niego. */
.admin-bar .avm-szczyt{top:32px}
@media (max-width:782px){ .admin-bar .avm-szczyt{top:46px} }

/* ==========================================================================
   Nagłówek i stopka — obecne na każdej podstronie.
   ========================================================================== */

/* ——— pasek zapowiedzi ——— */
.avm-top{background:var(--avm-tx);color:#fff;font-size:13px}
.avm-top__in{display:flex;justify-content:space-between;gap:20px;padding:9px 0;flex-wrap:wrap}
.avm-top a{color:var(--avm-zo);font-weight:700}
.avm-top a:hover{color:#fff}
/* Bez zapowiedzi zostaje sam kontakt — przy prawej krawędzi, jak obok zapowiedzi. */
.avm-top--kontakt .avm-top__in{justify-content:flex-end}

/* ——— nagłówek ——— */
.avm-hdr{background:#fff;border-bottom:1px solid var(--avm-lin)}
.avm-hdr__in{display:flex;align-items:center;gap:24px;padding:14px 0}

.avm-hdr__znak{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.avm-hdr__znak img{height:46px;width:auto}
.avm-hdr__znak b{font-size:17px;letter-spacing:.045em;white-space:nowrap}
.avm-hdr__znak:hover{color:inherit}

/* Wyszukiwarka zajmuje całą wolną szerokość — w katalogu z kilkuset pozycjami
   to ona jest głównym narzędziem nawigacji, nie menu. */
.avm-szukaj{flex:1 1 auto;display:flex;border:2px solid var(--avm-ko);border-radius:9px;overflow:hidden;min-width:0}
.avm-szukaj input[type="search"]{flex:1 1 auto;border:0;padding:12px 15px;outline:0;min-width:0}
.avm-szukaj button{border:0;background:var(--avm-ko);color:#fff;padding:0 24px;font-weight:700;font-size:14.5px;cursor:pointer}
.avm-szukaj button:hover{background:var(--avm-ko-d)}

.avm-hdr__akcje{display:flex;gap:22px;flex:0 0 auto}
.avm-hdr__akcja{position:relative;text-align:center;font-size:13px;white-space:nowrap}
.avm-hdr__akcja b{display:block;font-size:12.5px;color:var(--avm-mut);font-weight:500}
.avm-hdr__akcja span{font-weight:700;font-size:14px}
.avm-hdr__licznik{
  position:absolute;top:-6px;right:-12px;min-width:19px;height:19px;padding:0 5px;
  display:flex;align-items:center;justify-content:center;
  background:var(--avm-cz);color:#fff;border-radius:999px;
  font-size:11px;font-weight:800;font-style:normal;
}

/* przycisk menu — widoczny dopiero na wąskich ekranach */
.avm-hdr__menu-btn{display:none;flex-direction:column;gap:4px;background:0;border:0;padding:8px;cursor:pointer}
.avm-hdr__menu-btn span{display:block;width:22px;height:2px;background:var(--avm-tx);border-radius:2px}

/* ——— pasek kategorii ——— */
/* Pasek przewija się w bok, gdy kategorii jest więcej niż mieści ekran.
   Gradient przy prawej krawędzi pokazuje, że lista się nie kończy —
   bez niego wyglądało to na ucięty tekst. */
.avm-pasek{position:relative;background:#fff;border-bottom:1px solid var(--avm-lin)}
.avm-pasek::after{content:"";position:absolute;right:0;top:0;bottom:1px;width:56px;
  background:linear-gradient(90deg,rgba(255,255,255,0),#fff 70%);pointer-events:none;z-index:2}
.avm-pasek__in{overflow-x:auto;scrollbar-width:none}
.avm-pasek::-webkit-scrollbar{display:none}
.avm-pasek__in{display:flex;gap:6px;padding:9px 0}
.avm-pasek__in::-webkit-scrollbar{display:none}
.avm-pasek__poz{
  flex:0 0 auto;display:flex;align-items:center;gap:9px;
  padding:8px 14px;border-radius:7px;font-size:13.5px;font-weight:600;white-space:nowrap;
}
.avm-pasek__poz:hover{background:var(--avm-bg);color:var(--avm-ko)}
.avm-pasek__poz img{width:26px;height:26px;object-fit:contain;mix-blend-mode:multiply}

/* ——— stopka ——— */
.avm-stopka{background:var(--avm-tx);color:rgba(255,255,255,.72);padding:44px 0 22px;font-size:13.5px;margin-top:16px}
.avm-stopka__siatka{
  display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:26px;
  padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.15);
}
.avm-stopka h4{margin:0 0 11px;color:#fff;font-size:14px}
.avm-stopka a{display:block;padding:2px 0}
.avm-stopka a:hover{color:#fff}
.avm-stopka__znak{background:#fff;border-radius:9px;padding:5px;margin-bottom:12px}
.avm-stopka__marka p{margin:0;max-width:38ch;line-height:1.6}
.avm-stopka__dol{
  padding-top:18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;
}
.avm-stopka__dol a{display:inline}
/* „Ustawienia cookies" to przycisk (tego wymaga Complianz), ale w kolumnie ma
   wyglądać jak sąsiednie odnośniki. */
.avm-stopka__zgoda{
  display:block;padding:2px 0;border:0;background:none;color:inherit;
  font:inherit;text-align:left;cursor:pointer;
}
.avm-stopka__zgoda:hover{color:#fff}
.avm-stopka__social{display:flex;gap:8px;list-style:none;margin:16px 0 0;padding:0}
.avm-stopka .avm-stopka__social a{
  display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;
  border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:16px;
  transition:background .2s ease;
}
.avm-stopka .avm-stopka__social a:hover{background:var(--avm-ko);color:#fff}

/* Poniżej 1100 px nawigacja poziomia ustępuje miejsca przyciskowi menu,
   a wyszukiwarka przenosi się do własnego wiersza pod logo. */
@media (max-width:1100px){
  .avm-hdr__in{flex-wrap:wrap;gap:14px}
  .avm-szukaj{order:3;flex-basis:100%}
  .avm-hdr__akcje{margin-left:auto}
  .avm-hdr__menu-btn{display:flex;order:2}
  .avm-stopka__siatka{grid-template-columns:repeat(2,1fr)}
  /* Cztery kolumny linków po dwie w rzędzie — opis firmy nad nimi, bez dziury w siatce. */
  .avm-stopka__marka{grid-column:1 / -1}
}

@media (max-width:640px){
  .avm-top__kontakt{display:none}
  /* Sam kontakt jest tu ukryty — pusty ciemny pasek tylko zabierałby wysokość. */
  .avm-top--kontakt{display:none}
  .avm-hdr__znak b{display:none}
  .avm-hdr__znak img{height:38px}
  .avm-hdr__in{gap:10px;padding:10px 0}

  /* Na telefonie zostają same wartości: „Zaloguj" i kwota koszyka.
     Podpisy „Konto"/„Koszyk" zabierały drugi wiersz i wypychały akcje
     poza ekran razem z przyciskiem menu. */
  .avm-hdr__akcje{gap:10px}
  .avm-hdr__akcja{padding:0}
  .avm-hdr__akcja b{display:none}
  .avm-hdr__akcja span{font-size:13px;font-weight:700;white-space:nowrap}

  .avm-szukaj input[type="search"]{padding:10px 12px;font-size:15px}
  .avm-szukaj button{padding:0 16px;font-size:14px}

  .avm-stopka__siatka{grid-template-columns:1fr}
}

/* Bardzo wąskie ekrany: kwota koszyka schodzi do samej ikony licznika. */
@media (max-width:380px){
  .avm-hdr__akcja--koszyk span{display:none}
}

/* ——— panel mobilny ———
   Pozycje z podmenu to akordeony `<details>` — zamknięte mieszczą się na jednym
   ekranie razem z kontaktem. Panel przewija się sam w sobie, bo cały szczyt
   strony jest przypięty i dłuższa lista wychodziłaby poza ekran. */
.avm-menu-mob{
  display:none;background:#fff;border-bottom:1px solid var(--avm-lin);
  max-height:max(320px, calc(100dvh - 210px));overflow-y:auto;overscroll-behavior:contain;
}
.avm-menu-mob[hidden]{display:none}
body.avm-menu-otwarte .avm-menu-mob{display:block}

.avm-menu-mob__lista{list-style:none;margin:0;padding:4px 16px}
.avm-menu-mob__lista > li{border-bottom:1px solid var(--avm-lin)}
.avm-menu-mob__lista > li:last-child{border-bottom:0}
.avm-menu-mob__link,
.avm-menu-mob__grupa > summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:54px;padding:0 4px;list-style:none;cursor:pointer;
  font-size:16px;font-weight:700;color:var(--avm-tx);
}
.avm-menu-mob__grupa > summary::-webkit-details-marker{display:none}
.avm-menu-mob__link i,
.avm-menu-mob__grupa > summary i{font-size:13px;color:var(--avm-mut);transition:transform .2s ease}
.avm-menu-mob__grupa[open] > summary,
.avm-menu-mob__grupa[open] > summary i{color:var(--avm-ko)}
.avm-menu-mob__grupa[open] > summary i{transform:rotate(180deg)}
.avm-menu-mob__panel{padding:0 0 16px}

/* Kategorie: dwie kolumny z miniaturą — jedna kolumna dawała trzydzieści wierszy. */
.avm-menu-mob__kategorie{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.avm-menu-mob__kat{
  display:flex;align-items:center;gap:9px;min-height:52px;padding:8px 10px;
  border-radius:10px;background:var(--avm-bg);
  font-size:13.5px;font-weight:600;line-height:1.25;color:var(--avm-tx);
}
.avm-menu-mob__kat img{flex:0 0 40px;width:40px;height:40px;padding:2px;border-radius:7px;object-fit:contain;mix-blend-mode:multiply}
.avm-menu-mob__kat img.avm-nawi__foto{padding:0;object-fit:cover;mix-blend-mode:normal}
.avm-menu-mob__kat i{flex:0 0 40px;text-align:center;color:var(--avm-mut)}

/* Programy i rozwiązania: wiersz ze zdjęciem i kwotą, jak kafle w panelu na komputerze. */
.avm-menu-mob__kafle{display:flex;flex-direction:column;gap:8px}
.avm-menu-mob__kafel{
  display:flex;align-items:center;gap:12px;padding:8px;
  border:1px solid var(--avm-lin);border-radius:12px;color:var(--avm-tx);
}
.avm-menu-mob__foto{
  flex:0 0 68px;height:54px;border-radius:8px;
  background:#1e3a8a center/cover no-repeat;
}
.avm-menu-mob__opis{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.avm-menu-mob__opis b{font-size:14.5px;font-weight:700;line-height:1.25}
.avm-menu-mob__opis small{font-size:12.5px;color:var(--avm-mut);line-height:1.3}
.avm-menu-mob__opis small.avm-menu-mob__kwota{
  background:var(--avm-zo);color:#3a2a00;border-radius:999px;
  padding:2px 9px;font-size:11.5px;font-weight:800;
}

.avm-menu-mob__wszystko{
  display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;margin-top:10px;border-radius:10px;border:1.5px solid var(--avm-ko);
  font-size:14.5px;font-weight:700;color:var(--avm-ko);
}

.avm-menu-mob__kontakt{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px 18px;background:var(--avm-bg)}
.avm-menu-mob__kontakt a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;border-radius:10px;font-size:14.5px;font-weight:700;
}
.avm-menu-mob__tel{background:#fff;color:var(--avm-tx);border:1px solid var(--avm-lin)}
.avm-menu-mob__napisz,
.avm-menu-mob__napisz:hover{background:var(--avm-ko);color:#fff}

@media (max-width:1100px){
  .avm-nawi{display:none}
}

/* ==========================================================================
   Nawigacja główna — w wierszu z logo.

   Nie zajmuje własnego paska, żeby pod nagłówkiem został tylko pasek kategorii
   z ikonami. Wyszukiwarka schodzi przez to do drugiego wiersza i dostaje pełną
   szerokość, a konto i koszyk stoją przy prawej krawędzi.
   ========================================================================== */
.avm-hdr__in{flex-wrap:wrap;row-gap:12px}
.avm-nawi{flex:0 1 auto;min-width:0}
.avm-nawi__lista{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.avm-nawi__poz{position:relative}
.avm-nawi__link{
  display:flex;align-items:center;gap:6px;white-space:nowrap;
  padding:9px 12px;border-radius:8px;
  font-size:14.5px;font-weight:600;color:var(--avm-tx);
}
.avm-nawi__link i{font-size:10px;color:var(--avm-mut);transition:transform .15s ease}
.avm-nawi__poz:hover > .avm-nawi__link{background:var(--avm-bg);color:var(--avm-ko)}
.avm-nawi__poz:hover > .avm-nawi__link i{transform:rotate(180deg)}

/* Konto i koszyk dociśnięte do prawej krawędzi wiersza. */
.avm-hdr__akcje{margin-left:auto}

/* Wyszukiwarka w osobnym wierszu, na pełną szerokość. */
.avm-szukaj{order:5;flex-basis:100%}

/* Panel wychodzi spod menu i przykrywa wyszukiwarkę — stąd wysoki z-index.
   `visibility` zamiast `display:none`, żeby dało się go przejść tabem. */
.avm-nawi__panel{
  position:absolute;left:0;top:calc(100% + 6px);z-index:60;
  min-width:560px;max-width:min(900px,92vw);
  background:#fff;border:1px solid var(--avm-lin);border-radius:12px;
  box-shadow:0 20px 44px -22px rgba(11,16,32,.45);
  padding:16px;opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.avm-nawi__poz:hover > .avm-nawi__panel,
.avm-nawi__poz:focus-within > .avm-nawi__panel{opacity:1;visibility:visible;transform:none}

.avm-nawi__siatka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.avm-nawi__karta{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:9px;font-size:14px}
.avm-nawi__karta:hover{background:var(--avm-bg);color:var(--avm-tx)}
/* Miniatura 46 px z pliku 150 px — przy 30 px zdjęcia produktów zlewały się
   w nieczytelne plamki. Zdjęcia sytuacyjne (strony, np. „Biurka szkolne")
   wypełniają kafel, produkty na białym tle zostają widoczne w całości. */
.avm-nawi__karta img{flex:0 0 auto;width:46px;height:46px;padding:3px;border-radius:8px;object-fit:contain;mix-blend-mode:multiply}
.avm-nawi__karta img.avm-nawi__foto{padding:0;object-fit:cover;mix-blend-mode:normal}
.avm-nawi__karta > i{flex:0 0 auto;width:46px;text-align:center;color:var(--avm-lin)}
.avm-nawi__karta span{display:flex;flex-direction:column;min-width:0}
.avm-nawi__karta b{font-weight:600;line-height:1.3}
.avm-nawi__karta i{font-style:normal;font-size:12px;color:var(--avm-mut)}

/* Na węższych ekranach menu poziome ustępuje przyciskowi z panelem. */
@media (max-width:1240px){
  .avm-nawi{display:none}
}

/* ==========================================================================
   Panel „Oferta" — programy ze zdjęciami, katalog i polecane produkty.
   Pozostałe pozycje menu zachowują zwykłą siatkę kategorii.
   ========================================================================== */
.avm-nawi__panel--duzy{min-width:min(1100px,94vw);max-width:min(1100px,94vw);padding:20px}

.avm-nawi__naglowek{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  margin:18px 0 12px;
}
.avm-nawi__naglowek:first-child{margin-top:2px}
.avm-nawi__naglowek h4{
  margin:0;font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--avm-mut);
}
.avm-nawi__naglowek a{font-size:13px;font-weight:700;color:var(--avm-ko);white-space:nowrap}

/* Programy: zdjęcie sytuacyjne w tle, przyciemnienie pod tekst. */
.avm-nawi__programy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.avm-nawi__program{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  height:132px;padding:14px;border-radius:12px;overflow:hidden;
  background-size:cover;background-position:center;color:#fff;
}
.avm-nawi__program::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,16,32,.12),rgba(11,16,32,.84));
  transition:background .2s ease;
}
.avm-nawi__program > *{position:relative;z-index:1}
.avm-nawi__program:hover{color:#fff}
.avm-nawi__program:hover::after{background:linear-gradient(180deg,rgba(37,99,235,.28),rgba(11,16,32,.86))}
.avm-nawi__kwota{
  align-self:flex-start;margin-bottom:8px;
  background:var(--avm-zo);color:#3a2a00;border-radius:999px;
  padding:3px 10px;font-size:11px;font-weight:800;
}
.avm-nawi__program b{font-size:15px;font-weight:800;line-height:1.25}

/* Katalog w panelu „Oferta" jest szerszy — cztery kolumny zamiast trzech. */
.avm-nawi__panel--duzy .avm-nawi__siatka{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Polecane produkty: kafel ze zdjęciem, nazwą i ceną. */
.avm-nawi__polecane{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.avm-nawi__produkt{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--avm-lin);border-radius:11px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.avm-nawi__produkt:hover{border-color:var(--avm-ko);box-shadow:var(--avm-cien)}
.avm-nawi__produkt-foto{
  display:flex;align-items:center;justify-content:center;
  height:92px;padding:10px;background:#fff;
}
.avm-nawi__produkt-foto img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;mix-blend-mode:multiply;
}
.avm-nawi__produkt b{
  padding:0 12px;font-size:12.5px;font-weight:600;line-height:1.35;
  min-height:34px;color:var(--avm-tx);
}
.avm-nawi__produkt-cena{
  padding:6px 12px 12px;font-size:14.5px;font-weight:800;color:var(--avm-ko);
}
.avm-nawi__produkt-cena .woocommerce-Price-amount{font-size:inherit;font-weight:inherit;color:inherit}

@media (max-width:1240px){
  .avm-nawi__panel--duzy{min-width:0;max-width:92vw}
  .avm-nawi__programy,.avm-nawi__polecane{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ==========================================================================
   Mega menu — wspólne położenie dużych paneli.

   Panel liczony od pozycji menu wystawał za prawą krawędź ekranu, gdy
   rozwijała się pozycja dalej od logo („Dla szkoły" przy 1300–1400 px).
   Duże panele liczymy więc od całego wiersza nagłówka i centrujemy — każda
   pozycja otwiera panel w tym samym miejscu. Pozycja menu jest `static`, żeby
   odniesieniem był wiersz; panel zostaje jej dzieckiem, więc `:hover` działa.
   `top` = górny padding wiersza (14) + wysokość logo (46) + odstęp.
   ========================================================================== */
@media (min-width:1241px){
  .avm-hdr__in{position:relative}
  .avm-nawi__poz--mega{position:static}
  .avm-nawi__panel--duzy{
    left:0;right:0;top:66px;margin-inline:auto;
    width:min(1200px,100%);min-width:0;max-width:none;padding:22px;
  }
  /* Most nad szczeliną między pozycją a panelem — bez niego kursor
     w drodze do panelu na chwilę „wypadał" z menu i panel mrugał. */
  .avm-nawi__panel--duzy::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
}

/* ——— panel programów (Dofinansowania) ——— */
.avm-nawi__progkarty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.avm-nawi__progkarta{
  display:flex;flex-direction:column;overflow:hidden;background:#fff;
  border:1px solid var(--avm-lin);border-radius:12px;color:var(--avm-tx);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.avm-nawi__progkarta:hover{border-color:var(--avm-ko);box-shadow:var(--avm-cien);transform:translateY(-2px);color:var(--avm-tx)}
.avm-nawi__progfoto{
  position:relative;display:flex;align-items:flex-end;height:124px;padding:12px;
  background:#1e3a8a center/cover no-repeat;
}
.avm-nawi__progfoto::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,16,32,0) 40%,rgba(11,16,32,.5));
}
.avm-nawi__progfoto .avm-nawi__kwota{position:relative;z-index:1;margin:0}
.avm-nawi__progtresc{display:flex;flex-direction:column;align-items:flex-start;gap:7px;flex:1 1 auto;padding:14px 14px 16px}
.avm-nawi__progtresc > b{font-size:15.5px;font-weight:800;line-height:1.25;letter-spacing:-.01em}
.avm-nawi__progtresc > small{
  font-size:12px;line-height:1.4;color:var(--avm-mut);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
/* Zaokrąglenie 8 px, nie pigułka — etykiety naboru bywają dwuwierszowe
   („Nabór roczny — zwykle I kw. (per województwo)") i pigułka robiła z nich owal. */
.avm-nawi__stan{
  display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:4px 10px;
  font-size:11.5px;font-weight:700;line-height:1.3;background:var(--avm-bg);color:var(--avm-mut);
}
.avm-nawi__stan--open{background:#dcfce7;color:#14532d}
.avm-nawi__liczby{
  align-self:stretch;margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;
  padding-top:12px;border-top:1px solid var(--avm-lin);
}
.avm-nawi__liczby > span{display:flex;flex-direction:column;font-size:13px;font-weight:700;line-height:1.3}
.avm-nawi__liczby em{
  margin-bottom:3px;font-style:normal;font-size:10.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--avm-mut);
}

/* Pasek konsultacji — gradient wpisany wprost: Critical CSS LiteSpeeda gubi var() w gradientach. */
.avm-nawi__cta{
  display:flex;align-items:center;gap:16px;margin-top:16px;padding:14px 16px 14px 14px;
  border-radius:12px;color:#fff;background:linear-gradient(90deg,#0b1020,#1e3a8a);
}
.avm-nawi__cta-ikona{
  flex:0 0 44px;height:44px;display:flex;align-items:center;justify-content:center;
  border-radius:11px;background:rgba(255,255,255,.12);color:var(--avm-zo);font-size:18px;
}
.avm-nawi__cta p{flex:1 1 auto;margin:0;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.78)}
.avm-nawi__cta p b{display:block;color:#fff;font-size:14.5px}
.avm-nawi__cta-tel,.avm-nawi__cta-btn{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  height:42px;padding:0 18px;border-radius:9px;font-size:14px;font-weight:700;
}
.avm-nawi__cta-tel{color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.avm-nawi__cta-tel:hover{color:#fff;border-color:#fff}
.avm-nawi__cta-btn{background:var(--avm-zo);color:#3a2a00}
.avm-nawi__cta-btn:hover{background:#eab308;color:#3a2a00}

/* ——— panel „Dla szkoły": programy + rozwiązania + atuty ——— */
.avm-nawi__szkola{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:26px}
.avm-nawi__szkola--same-programy{grid-template-columns:minmax(0,1fr)}
.avm-nawi__programy--szkola{grid-template-columns:repeat(3,minmax(0,1fr))}
.avm-nawi__programy--szkola .avm-nawi__program{height:116px}
.avm-nawi__szkola--same-programy .avm-nawi__programy--szkola{grid-template-columns:repeat(4,minmax(0,1fr))}
/* Kafel bez zdjęcia nie może zostać białym tekstem na białym tle. */
.avm-nawi__program{background-color:#1e3a8a}

.avm-nawi__rozw{display:flex;flex-direction:column;gap:9px}
.avm-nawi__rozwkarta{
  display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;
  border:1px solid var(--avm-lin);border-radius:12px;color:var(--avm-tx);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.avm-nawi__rozwkarta:hover{border-color:var(--avm-ko);box-shadow:var(--avm-cien);color:var(--avm-tx)}
.avm-nawi__rozwfoto{flex:0 0 76px;height:58px;border-radius:8px;background:var(--avm-bg) center/cover no-repeat}
.avm-nawi__rozwkarta > span:not(.avm-nawi__rozwfoto){display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}
.avm-nawi__rozwkarta b{font-size:14.5px;font-weight:700;line-height:1.3}
.avm-nawi__rozwkarta small{font-size:12.5px;color:var(--avm-mut)}
.avm-nawi__rozwkarta > i{font-size:12px;color:var(--avm-lin);transition:color .15s ease, transform .15s ease}
.avm-nawi__rozwkarta:hover > i{color:var(--avm-ko);transform:translateX(3px)}

.avm-nawi__atuty{
  list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--avm-lin);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;
}
.avm-nawi__atuty li{display:flex;align-items:flex-start;gap:11px;font-size:12.5px;line-height:1.4;color:var(--avm-mut)}
.avm-nawi__atuty li > i{
  flex:0 0 36px;height:36px;display:flex;align-items:center;justify-content:center;
  border-radius:10px;background:#eff6ff;color:var(--avm-ko);font-size:15px;
}
.avm-nawi__atuty b{display:block;margin-bottom:1px;font-size:13.5px;font-weight:700;color:var(--avm-tx)}

/* ——— stopka na telefonie ——— */
/* Linki w stopce stały co ~25 px — za gęsto na palec. Większe cele dotyku
   w jednej kolumnie robiły ze stopki kilka ekranów przewijania, więc kolumny
   linków idą po dwie, a opis firmy zajmuje cały wiersz nad nimi. */
@media (max-width:640px){
  .avm-stopka{padding-top:32px}
  .avm-stopka__siatka{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
  .avm-stopka__marka{grid-column:1 / -1}
  .avm-stopka a,.avm-stopka__zgoda{padding:6px 0;line-height:1.35}
  .avm-stopka__dol a{padding:0}
  .avm-stopka .avm-stopka__social a{width:44px;height:44px;font-size:18px}
}
