/* ==========================================================================
   Auto-Hit - SYSTEM WIZUALNY (audyt UX 06.10.2026): jeden system na cala strone wg karty produktu
   (wzorzec Shopify Dawn): biel, czarny tekst, ramki 1 px, promien 8-12, przyciski bez wersalikow,
   Poppins 600/700 tylko naglowki, Lato 400 tekst. Pomarancz #FF8A00 tylko jako tlo/akcent z CZARNYM
   tekstem (8,9:1) albo na czerni; tekst akcentowy na bieli #B35F00 (4,6:1). Skala pisma 14/16/18/22/28/36/48.
   Ciemne sekcje marki (klasa .ah-ciemna) na tych samych komponentach.
   ========================================================================== */
[hidden] { display: none !important; }

:root {
	--pom: #ff8a00;
	--pom-t: #b35f00;
	--tekst: #111;
	--szary-t: #595959;
	--linia: #e5e5e5;
	--tlo2: #f5f5f5;
	--cz: #000;
	--bi: #fff;
	--szary: #404040;
	--p: 'Poppins', Arial, sans-serif;
	--l: 'Lato', Arial, sans-serif;
	--a: 'Lato', Arial, sans-serif;
	--wrap: 1200px;
	--r: 8px;
	--r2: 12px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 16px; }
html.ah-bez-scrolla { overflow: hidden; }
body { margin: 0; background: #fff; color: var(--tekst); font: 400 16px/1.6 var(--l); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, h4, p, ul, figure, blockquote { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
p, li, dd, dt, label, summary, figcaption, blockquote { text-wrap: pretty; }
ul { padding: 0; list-style: none; }
.nw { white-space: nowrap; }
.o { color: var(--pom-t); }
.ah-ciemna .o, .ah-ciemna strong.o { color: var(--pom); }
.c { color: #000; }
.ah-center { text-align: center; }
.ah-wrap { width: min(var(--wrap), calc(100% - 48px)); margin: 0 auto; }
.ah-i { width: 1em; height: 1em; display: inline-block; vertical-align: middle; flex: none; }
.screen-reader-text, .ah-skip:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ah-skip:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; background: #fff; color: #000; padding: 8px 12px; }
:focus-visible { outline: 2px solid var(--pom-t); outline-offset: 2px; }
.ah-ciemna :focus-visible { outline-color: var(--pom); }

/* Przyciski: glowny (pomarancz, czarny tekst), drugorzedny (obrys), maly; jak „Dodaj do koszyka” na karcie produktu */
.ah-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 10px;
	background: var(--pom); color: #000; font: 600 16px/1.2 var(--p); letter-spacing: 0; text-decoration: none; border: 0; text-align: center; cursor: pointer; }
.ah-btn:hover { background: #ff9d2e; }
.ah-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000; }
.ah-btn .ah-i { width: 18px; height: 18px; }
.ah-btn--obrys { background: transparent; color: #000; box-shadow: inset 0 0 0 1.5px #000; }
.ah-btn--obrys:hover { background: rgba(0, 0, 0, .05); }
.ah-ciemna .ah-btn--obrys, .ah-btn--obrys-jasny { color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
.ah-ciemna .ah-btn--obrys:hover { background: rgba(255, 255, 255, .1); }
.ah-btn--maly { min-height: 40px; padding: 0 16px; font-size: 15px; }
.ah-btn--duzy { min-height: 52px; padding: 0 28px; }
.ah-btn--blok { display: flex; width: 100%; }
.ah-btn--bialy { background: #fff; color: #000; }

/* Naglowki i tekst sekcji */
.ah-sek-h { font: 700 36px/1.2 var(--p); letter-spacing: -.5px; color: #000; }
.ah-ciemna .ah-sek-h { color: #fff; }
.ah-sek-p { font: 400 18px/1.6 var(--l); color: #333; margin-top: 14px; max-width: 68ch; }
.ah-ciemna .ah-sek-p { color: #d9d9d9; }
.ah-sek-p strong { font-weight: 700; color: #000; }
.ah-ciemna .ah-sek-p strong { color: #fff; }
.ah-h2 { font: 700 36px/1.2 var(--p); color: #fff; }

/* Pasek przewijany na telefonie (wzorzec Przystani): siatka na komputerze, karta 82% + przewijanie na telefonie */
@media (max-width: 759px) {
	.ah-pasek { display: flex !important; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; padding: 4px 16px 12px; margin-left: -16px; margin-right: -16px; scrollbar-width: none; }
	.ah-pasek::-webkit-scrollbar { display: none; }
	.ah-pasek > * { flex: 0 0 82%; scroll-snap-align: start; }
}

/* Ocena Google (inc/opinie.php) */
.ah-og { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px 10px 12px; background: #fff; border: 1px solid var(--linia); border-radius: var(--r2); color: #000; text-decoration: none; }
.ah-og:hover { border-color: #000; }
.ah-og__n { font: 700 28px/1 var(--p); }
.ah-og__t { display: flex; flex-direction: column; gap: 2px; font: 400 14px/1.3 var(--l); color: #333; }
.ah-gw { display: inline-flex; gap: 1px; vertical-align: -2px; }
.ah-g { flex: none; }

/* Kafelek produktu (lista sklepu i karuzela na glownej) - cena „od”, rozmiar arkusza, odcien i VLT */
.ah-k__info { display: block; margin-top: 4px; font: 400 14px/1.4 var(--l); color: var(--szary-t); }
.ah-k__cena { display: block; margin-top: 8px; font: 700 18px/1.3 var(--l); color: #000; }
.ah-k__cena del { margin-right: 4px; font-weight: 400; font-size: 15px; color: #6b6b6b; }
.ah-k__od { font-weight: 400; font-size: 15px; }
.ah-k__m2 { display: block; margin-top: 2px; font: 400 14px/1.4 var(--l); color: var(--szary-t); }
.ah-k__omnibus { display: block; margin-top: 4px; font: 400 13px/1.4 var(--l); color: var(--szary-t); }
.ah-k__omnibus .wc-price-history { display: inline; font: inherit; color: inherit; }

/* --------------------------------------------------------------------------
   NAGLOWEK
   -------------------------------------------------------------------------- */
.ah-header { background: #000; position: relative; z-index: 50; }
.ah-header__in { width: min(var(--wrap), calc(100% - 48px)); margin: 0 auto; height: 84px; display: flex; align-items: center; gap: 8px; }
.ah-header__logo { flex: none; margin-right: 24px; }
.ah-header__logo img { width: 96px; height: auto; }
.ah-nav { display: flex; align-items: center; gap: 4px; }
.ah-nav__a { position: relative; display: block; padding: 0 12px; font: 600 16px/44px var(--p); color: #fff; text-decoration: none; white-space: nowrap; }
.ah-nav__a::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 2px; background: var(--pom); transform: scaleX(0); transition: transform .2s; }
.ah-nav__a:hover { color: var(--pom); }
.ah-nav__a.is-active::after, .ah-nav__a:hover::after { transform: scaleX(1); }
.ah-nav__a.is-active { color: #fff; }
.ah-header__cta { margin-left: auto; }
.ah-koszyk { position: relative; margin-left: 6px; color: #fff; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.ah-koszyk .ah-i { width: 26px; height: 26px; }
.ah-koszyk.is-pusty { display: none; }
.ah-koszyk__n { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; border-radius: 9px; background: var(--pom); color: #000; font: 700 11px/18px var(--p); text-align: center; padding: 0 4px; }
.ah-burger { display: none; background: none; border: 0; color: #fff; width: 44px; height: 44px; padding: 8px; }
.ah-burger .ah-i { width: 28px; height: 28px; }
@media (max-width: 1100px) and (min-width: 1000px) { .ah-nav__a { padding: 0 9px; font-size: 15px; } .ah-header__logo { margin-right: 12px; } }

.ah-menu-mobile { position: fixed; inset: 0; background: #000; z-index: 100; overflow-y: auto; padding: 0 20px 32px; color: #fff; }
.ah-menu-mobile__gora { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.ah-menu-mobile__logo img { width: 72px; height: auto; }
.ah-menu-mobile__x { background: none; border: 0; color: #fff; width: 48px; height: 48px; margin-right: -8px; }
.ah-menu-mobile__x .ah-i { width: 28px; height: 28px; }
.ah-menu-mobile__nav { display: flex; flex-direction: column; margin: 8px 0 20px; }
.ah-menu-mobile__nav a { display: flex; align-items: center; min-height: 54px; border-bottom: 1px solid #262626; color: #fff; font: 600 19px/1.2 var(--p); text-decoration: none; }
.ah-menu-mobile__nav a.is-active { color: var(--pom); }
.ah-menu-mobile__tel { display: grid; gap: 8px; margin-top: 20px; }
.ah-menu-mobile__tel a, .ah-footer__tel a { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 14px; border: 1px solid #333; border-radius: var(--r2); color: #fff; text-decoration: none; font: 700 17px/1.2 var(--l); }
.ah-menu-mobile__tel .ah-i, .ah-footer__tel .ah-i { width: 20px; height: 20px; color: var(--pom); }
.ah-menu-mobile__tel small, .ah-footer__tel small { display: block; font: 400 13px/1.3 var(--l); color: #bdbdbd; }
.ah-menu-mobile__godz { margin-top: 18px; font: 400 15px/1.6 var(--l); color: #bdbdbd; }

/* --------------------------------------------------------------------------
   STRONA GLOWNA
   -------------------------------------------------------------------------- */
.ah-hero { background: #000; color: #fff; }
.ah-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); grid-template-areas: "h foto" "p foto" "akcje foto" "tel foto"; grid-template-rows: auto auto auto 1fr; column-gap: 56px; padding: 56px 0 64px; align-items: start; }
.ah-hero__h { grid-area: h; font-weight: 700; }
.ah-hero__h1, .ah-hero__h2 { display: block; font: 700 48px/1.1 var(--p); letter-spacing: -1px; }
.ah-hero__h2 { color: var(--pom); }
.ah-hero__p { grid-area: p; margin-top: 18px; font: 400 18px/1.6 var(--l); color: #d9d9d9; max-width: 56ch; }
.ah-hero__p strong { color: #fff; font-weight: 700; }
.ah-hero__akcje { grid-area: akcje; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ah-hero__tel { grid-area: tel; margin-top: 16px; font: 400 16px/1.5 var(--l); color: #d9d9d9; }
.ah-hero__tel a { color: #fff; font-weight: 700; text-underline-offset: 3px; }
.ah-hero__foto { grid-area: foto; position: relative; align-self: center; }
.ah-hero__foto > img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; object-position: 30% center; border-radius: var(--r2); }
.ah-og--na-zdjeciu { position: absolute; left: 16px; bottom: 16px; box-shadow: 0 4px 18px rgba(0, 0, 0, .25); border: 0; }

.ah-liczby { background: var(--pom); color: #000; }
.ah-liczby__in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 28px 0; }
.ah-liczba { display: flex; flex-direction: column; gap: 4px; color: #000; text-decoration: none; }
.ah-liczba__n { display: inline-flex; align-items: center; gap: 8px; font: 700 30px/1.15 var(--p); }
.ah-liczba__t { font: 400 15px/1.4 var(--l); }
.ah-liczba--g .ah-g { background: #fff; border-radius: 50%; padding: 3px; width: 32px; height: 32px; }
.ah-liczba--g:hover .ah-liczba__t { text-decoration: underline; }

.ah-uslugi { padding: 80px 0; }
.ah-uslugi__siatka { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.ah-usluga { display: flex; flex-direction: column; padding: 24px; background: var(--tlo2); border-radius: var(--r2); }
.ah-usluga__h { font: 700 22px/1.25 var(--p); color: #000; }
.ah-usluga__p { flex: 1; margin-top: 10px; font: 400 16px/1.55 var(--l); color: #333; }
.ah-usluga__dol { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.ah-usluga__tel { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; font: 700 16px/1.2 var(--l); color: #000; text-underline-offset: 3px; }

.ah-sklep-pas { background: #000; padding: 80px 0 72px; }
.ah-sklep-pas__in { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }
.ah-sklep-pas__txt { max-width: 720px; }

.ah-karuzela { position: relative; margin-top: 36px; }
.ah-karuzela__tor { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 max(24px, calc((100% - var(--wrap)) / 2)); scroll-padding-inline: max(24px, calc((100% - var(--wrap)) / 2)); scrollbar-width: none; }
.ah-karuzela__tor::-webkit-scrollbar { display: none; }
.ah-karuzela__el { flex: 0 0 248px; scroll-snap-align: start; }
.ah-karuzela__el a { display: block; text-decoration: none; color: #fff; }
.ah-karuzela__foto, .ah-k__foto { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: #f2f2f2; border-radius: var(--r2); }
.ah-karuzela__foto img, .ah-k__foto img { width: 100%; height: 100%; object-fit: cover; transition: opacity .35s; }
.ah-karuzela__foto2, .ah-k__foto2 { position: absolute; inset: 0; opacity: 0; }
a:hover .ah-karuzela__foto2, a:hover .ah-k__foto2 { opacity: 1; }
.ah-karuzela__nazwa { display: block; margin-top: 12px; font: 600 16px/1.3 var(--p); color: #fff; }
.ah-karuzela .ah-k__info { color: #bdbdbd; }
.ah-karuzela .ah-k__cena, .ah-karuzela .ah-k__od { color: #fff; }
.ah-karuzela .ah-k__m2 { color: #bdbdbd; }
.ah-karuzela__str { position: absolute; top: 102px; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; border: 0; color: #000; padding: 0; z-index: 2; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.ah-karuzela__str .ah-i { width: 22px; height: 22px; stroke-width: 2; }
.ah-karuzela__str--l { left: max(12px, calc((100% - var(--wrap)) / 2 - 24px)); }
.ah-karuzela__str--p { right: max(12px, calc((100% - var(--wrap)) / 2 - 24px)); }
.ah-k__wstazka { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 8px; border-radius: 4px; background: var(--pom); color: #000; font: 700 12px/1.2 var(--l); letter-spacing: .03em; text-transform: uppercase; }

.ah-pas--7 { background: var(--pom) center / cover no-repeat; color: #000; padding: 48px 0; }
.ah-7__in { display: flex; flex-direction: column; align-items: center; text-align: center; }
.ah-7__a { font: 600 22px/1.3 var(--p); max-width: 30ch; }
.ah-7__b { margin-top: 4px; font: 700 52px/1.1 var(--p); letter-spacing: -1px; }
.ah-7__c { margin-top: 12px; font: 400 14px/1.4 var(--l); color: #000; max-width: 100%; }

.ah-karty-sek { background: #000; padding: 80px 0; }
.ah-karty { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.ah-karta { display: flex; flex-direction: column; overflow: hidden; background: #161616; border-radius: var(--r2); color: #fff; }
.ah-karta img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ah-karta__t { padding: 20px 22px 24px; }
.ah-karta h3 { font: 700 21px/1.3 var(--p); }
.ah-karta p { margin-top: 10px; font: 400 16px/1.6 var(--l); color: #d9d9d9; }
.ah-karta p strong { color: #fff; font-weight: 700; }

.ah-pas--opinia { background: var(--pom) center / cover no-repeat; color: #000; padding: 56px 0; text-align: center; }
.ah-opinia__h { font: 700 32px/1.3 var(--p); max-width: 34ch; margin: 0 auto; }
.ah-opinia__a { margin-top: 14px; font: 400 16px/1.4 var(--l); }

.ah-raz { background: #000; color: #fff; padding: 80px 0; }
.ah-raz__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.ah-raz__lista h3 { margin-top: 28px; font: 700 20px/1.3 var(--p); color: var(--pom); }
.ah-raz__lista p:not(.ah-sek-p) { margin-top: 8px; font: 400 16px/1.6 var(--l); color: #d9d9d9; }
.ah-raz__lista strong { font-weight: 700; }
.ah-raz__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r2); }

.ah-kroki { background: #fff; padding: 80px 0; }
.ah-kroki__lista { list-style: none; padding: 0; margin: 32px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ah-krok__n { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--pom); color: #000; font: 700 22px/1 var(--p); }
.ah-krok__h { margin-top: 14px; font: 700 20px/1.3 var(--p); color: #000; }
.ah-krok__p { margin-top: 8px; font: 400 16px/1.6 var(--l); color: #333; }
.ah-krok__p a { color: var(--pom-t); font-weight: 700; }
.ah-kroki__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }

.ah-opinie { background: var(--tlo2); padding: 80px 0; }
.ah-opinie__gora { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.ah-opinie__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.ah-opinia-k { display: flex; flex-direction: column; padding: 24px; background: #fff; border-radius: var(--r2); border: 1px solid var(--linia); }
.ah-opinia-k__ico { width: 30px; height: 24px; color: var(--pom); }
.ah-opinia-k blockquote { flex: 1; margin-top: 12px; font: 400 17px/1.6 var(--l); color: #222; }
.ah-opinia-k figcaption { display: flex; align-items: center; gap: 8px; margin-top: 16px; font: 400 15px/1.4 var(--l); color: #444; }
.ah-opinia-k figcaption strong { color: #000; }
.ah-opinie__wiecej { margin-top: 28px; }

.ah-zespol { background: #000; color: #fff; padding: 80px 0 0; overflow: hidden; }
.ah-zespol__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: end; }
.ah-zespol__txt { padding-bottom: 80px; align-self: center; }
.ah-zespol__foto { width: 100%; height: auto; }

.ah-faq { background: #fff; padding: 80px 0; }
.ah-faq__in { width: min(900px, calc(100% - 48px)); }
.ah-faq__q { border-bottom: 1px solid var(--linia); }
.ah-sek-h + .ah-faq__q { margin-top: 24px; border-top: 1px solid var(--linia); }
.ah-faq__q summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 14px 0; cursor: pointer; }
.ah-faq__q summary::-webkit-details-marker { display: none; }
.ah-faq__q summary h3 { font: 600 18px/1.4 var(--p); color: #000; }
.ah-faq__q summary .ah-i { width: 20px; height: 20px; transition: transform .2s; stroke-width: 2; }
.ah-faq__q[open] summary .ah-i { transform: rotate(180deg); }
.ah-faq__a { font: 400 16px/1.6 var(--l); color: #333; padding: 0 36px 20px 0; }
.ah-faq__wiecej { margin-top: 24px; }

.ah-kontakt-dom { background: var(--tlo2); padding: 80px 0; }
.ah-pytanie__h { font: 700 36px/1.2 var(--p); color: #000; text-align: center; }
.ah-pytanie__sub { font: 400 18px/1.6 var(--l); color: #333; text-align: center; margin: 14px auto 0; max-width: 60ch; }
.ah-pytanie__sub a { color: var(--pom-t); font-weight: 700; }
.ah-pytanie__tel { margin-top: 18px; text-align: center; }

.ah-dolny-pasek { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #ddd; box-shadow: 0 -4px 16px rgba(0, 0, 0, .08); }
@media (min-width: 760px) { .ah-dolny-pasek { display: none !important; } }

/* Pas z przyciskami na koncu /o-nas/ i /galeria/ */
.ah-pas-cta { background: var(--pom); color: #000; padding: 64px 0; }
.ah-pas-cta__h { font: 700 36px/1.2 var(--p); }
.ah-pas-cta__p { font: 400 18px/1.6 var(--l); margin-top: 12px; }
.ah-pas-cta__przyciski { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ah-pas-cta .ah-btn { background: #000; color: #fff; }
.ah-pas-cta .ah-btn:hover { background: #222; }
.ah-pas-cta .ah-btn--obrys { background: transparent; color: #000; box-shadow: inset 0 0 0 1.5px #000; }
.ah-pas-cta .ah-btn--obrys:hover { background: rgba(0, 0, 0, .08); }

/* --------------------------------------------------------------------------
   FORMULARZE (jak pola kasy i karty produktu: etykieta czarna, pole z ramka 48 px)
   -------------------------------------------------------------------------- */
.ah-form { width: min(640px, 100%); margin: 32px auto 0; padding: 28px; background: #fff; border-radius: var(--r2); border: 1px solid var(--linia); }
.ah-form__rzad { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.ah-pole { margin: 0 0 18px; }
.ah-pole label { display: block; margin-bottom: 6px; font: 600 15px/1.4 var(--l); color: #000; }
.ah-pole label span { color: var(--pom-t); }
.ah-pole input, .ah-pole textarea { display: block; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #8a8a8a; border-radius: var(--r); background: #fff; font: 400 16px/1.4 var(--l); color: #000; }
.ah-pole textarea { resize: vertical; min-height: 120px; }
.ah-pole input:focus, .ah-pole textarea:focus { outline: none; border-color: #000; box-shadow: 0 0 0 1px #000; }
.ah-pole input::placeholder, .ah-pole textarea::placeholder { color: #757575; }
.ah-form__info { margin: 4px 0 18px; font: 400 14px/1.55 var(--l); color: var(--szary-t); }
.ah-form__info a { color: #000; text-decoration: underline; text-underline-offset: 2px; }
.ah-form__btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; border: 0; border-radius: 10px; background: var(--pom); color: #000; font: 600 16px/1.2 var(--p); }
.ah-form__btn:hover { background: #ff9d2e; }
.ah-form__btn:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000; }
.ah-form__ok, .ah-form__blad { margin-top: 16px; padding: 12px 14px; border-radius: var(--r); font: 400 15px/1.5 var(--l); }
.ah-form__ok { background: #eaf7ee; color: #14632f; }
.ah-form__blad { background: #fdecec; color: #9b1c1c; }
.ah-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* --------------------------------------------------------------------------
   STOPKA
   -------------------------------------------------------------------------- */
.ah-footer { background: #000; color: #fff; }
.ah-footer__in { width: min(var(--wrap), calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1.2fr 1fr 1fr; gap: 40px; padding: 64px 0 40px; }
.ah-footer__logo img { width: 140px; height: auto; }
.ah-footer__adres, .ah-footer__godz { margin-top: 18px; font: 400 15px/1.6 var(--l); color: #d9d9d9; }
.ah-footer__godz strong { color: #fff; }
.ah-footer__social { display: flex; gap: 4px; margin-top: 14px; margin-left: -10px; }
.ah-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; }
.ah-footer__social a:hover { background: #1f1f1f; }
.ah-footer__social img { width: 24px; height: 24px; }
.ah-footer__h { margin-bottom: 14px; font: 600 17px/1.3 var(--p); color: #fff; }
.ah-footer__tel { display: grid; gap: 8px; }
.ah-footer__tel a { font-size: 16px; }
.ah-footer__tel a:hover { border-color: var(--pom); }
.ah-footer__menu { display: grid; gap: 2px; }
.ah-footer__menu a { display: inline-flex; align-items: center; min-height: 40px; font: 400 16px/1.3 var(--l); color: #e6e6e6; text-decoration: none; }
.ah-footer__menu a:hover { color: var(--pom); text-decoration: underline; text-underline-offset: 3px; }
.ah-footer__dol { width: min(var(--wrap), calc(100% - 48px)); margin: 0 auto; border-top: 1px solid #262626; padding: 18px 0 28px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font: 400 14px/1.5 var(--l); color: #bdbdbd; }
.ah-footer__dol a { color: #e6e6e6; text-decoration: none; }
.ah-footer__dol a:hover { color: var(--pom); }
.ah-footer__dol a strong { color: #fff; }
.ah-nowrap { white-space: nowrap; }

/* --------------------------------------------------------------------------
   GLOWNA, NAGLOWEK, STOPKA - tablet i telefon
   -------------------------------------------------------------------------- */
@media (max-width: 999px) {
	.ah-header__in { height: 64px; width: calc(100% - 32px); }
	.ah-header__logo img { width: 72px; }
	.ah-nav, .ah-header__cta { display: none; }
	.ah-koszyk { margin-left: auto; }
	.ah-burger { display: inline-flex; margin-right: -8px; }
	.ah-koszyk.is-pusty + .ah-burger { margin-left: auto; }
	.ah-hero__in { column-gap: 32px; padding: 44px 0 52px; }
	.ah-hero__h1, .ah-hero__h2 { font-size: 38px; }
	.ah-liczby__in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ah-uslugi__siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ah-kroki__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ah-karty, .ah-opinie__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ah-raz__in, .ah-zespol__in { gap: 32px; }
	.ah-footer__in { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 759px) {
	.ah-wrap, .ah-faq__in { width: calc(100% - 32px); }
	.ah-sek-h, .ah-h2, .ah-pytanie__h, .ah-pas-cta__h { font-size: 28px; }
	.ah-sek-p, .ah-pytanie__sub { font-size: 16px; }
	.ah-hero__in { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "h" "foto" "p" "akcje" "tel"; grid-template-rows: none; padding: 24px 0 36px; }
	.ah-hero__h1, .ah-hero__h2 { font-size: 32px; letter-spacing: -.5px; }
	.ah-hero__foto { margin: 18px -16px 0; }
	.ah-hero__foto > img { border-radius: 0; aspect-ratio: 16 / 10; }
	.ah-og--na-zdjeciu { left: 16px; bottom: -22px; padding: 8px 12px; }
	.ah-og--na-zdjeciu .ah-og__n { font-size: 24px; }
	.ah-hero__p { margin-top: 36px; font-size: 16px; }
	.ah-hero__akcje { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
	.ah-hero__akcje .ah-btn { padding: 0 10px; font-size: 15px; }
	.ah-liczby__in { gap: 18px 16px; padding: 24px 0; }
	.ah-liczba__n { font-size: 24px; }
	.ah-liczba__t { font-size: 14px; }
	.ah-uslugi, .ah-sklep-pas, .ah-karty-sek, .ah-raz, .ah-kroki, .ah-opinie, .ah-faq, .ah-kontakt-dom { padding: 56px 0; }
	.ah-zespol { padding-top: 56px; }
	.ah-usluga { padding: 20px; }
	.ah-sklep-pas__in { flex-direction: column; align-items: flex-start; gap: 20px; }
	.ah-karuzela { margin-top: 24px; }
	.ah-karuzela__tor { gap: 12px; padding: 0 16px; scroll-padding-inline: 16px; }
	.ah-karuzela__el { flex-basis: 62%; }
	.ah-karuzela__str { display: none; }
	.ah-pas--7 { padding: 40px 0; }
	.ah-7__a { font-size: 19px; }
	.ah-7__b { font-size: 38px; }
	.ah-pas--opinia { padding: 44px 0; }
	.ah-opinia__h { font-size: 22px; }
	.ah-raz__in, .ah-zespol__in { grid-template-columns: minmax(0, 1fr); }
	.ah-raz__foto { margin: 0 -16px; }
	.ah-raz__foto img { border-radius: 0; }
	.ah-zespol__txt { padding-bottom: 0; }
	.ah-kroki__lista { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.ah-krok { display: grid; grid-template-columns: 48px 1fr; column-gap: 16px; }
	.ah-krok__n { grid-row: span 2; }
	.ah-krok__h { margin-top: 0; font-size: 18px; }
	.ah-kroki__cta .ah-btn { flex: 1 1 100%; }
	.ah-opinie__gora { flex-direction: column; align-items: flex-start; }
	.ah-faq__q summary h3 { font-size: 17px; }
	.ah-form { padding: 20px 16px; }
	.ah-form__rzad { grid-template-columns: 1fr; }
	body.ah-z-dolnym { padding-bottom: 72px; }
	.ah-footer__in { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding: 44px 0 28px; }
	.ah-footer__kol--marka, .ah-footer__kol--kontakt { grid-column: 1 / -1; }
	.ah-footer__logo img { width: 120px; }
	.ah-footer__dol { width: calc(100% - 32px); flex-direction: column; }
}

/* --------------------------------------------------------------------------
   SKLEP
   -------------------------------------------------------------------------- */
.ah-sklep-top { padding: 48px 0 12px; }
.ah-sklep-top .ah-okruszki { margin-bottom: 10px; }
.ah-sklep-top__h { font: 700 40px/1.15 var(--p); color: #000; }
.ah-sklep-top__p { margin-top: 12px; max-width: 70ch; font: 400 17px/1.6 var(--l); color: #333; }
.ah-sklep-top__p--mala { font-size: 15px; color: var(--szary-t); }
.ah-sklep-top__p a { color: #000; font-weight: 700; }
.ah-sklep { padding: 16px 0 72px; }
.ah-sklep__pasek { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; padding: 16px 0; border-bottom: 1px solid var(--linia); }
.ah-zakladki { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.ah-zakladki::-webkit-scrollbar { display: none; }
.ah-zakladki a { flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid #c9c9c9; border-radius: 999px; font: 600 15px/1 var(--p); color: #000; text-decoration: none; white-space: nowrap; }
.ah-zakladki a:hover { border-color: #000; }
.ah-zakladki a.is-on { background: #000; border-color: #000; color: #fff; }
.ah-sklep__sort .woocommerce-ordering { margin: 0; float: none; }
.ah-sklep__sort select { min-width: 210px; height: 44px; border: 1px solid #8a8a8a; border-radius: var(--r); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 18px; appearance: none; padding: 0 40px 0 14px; font: 400 16px var(--l); color: #000; }
.ah-sklep__vat { margin: 14px 0 24px; font: 400 14px/1.5 var(--l); color: var(--szary-t); }
.ah-siatka { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; }
.ah-k__a { display: block; text-decoration: none; color: inherit; }
.ah-k__nazwa { margin-top: 12px; font: 600 16px/1.35 var(--p); color: #000; }
.ah-k__a:hover .ah-k__nazwa { text-decoration: underline; text-underline-offset: 3px; }
.ah-sklep__pusto { font: 400 18px/1.6 var(--l); padding: 30px 0; }
.woocommerce-pagination ul { display: flex; gap: 8px; justify-content: center; margin-top: 30px; }
.woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid #c9c9c9; border-radius: var(--r); text-decoration: none; font-family: var(--l); }
.woocommerce-pagination .current { background: #000; color: #fff; border-color: #000; }

.ah-zalety { padding: 72px 0; background: var(--tlo2); }
.ah-zalety__siatka { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.ah-zaleta { padding: 22px 24px; background: #fff; border-radius: var(--r2); border: 1px solid var(--linia); }
.ah-zaleta__n { font: 700 30px/1.1 var(--p); color: var(--pom-t); margin-bottom: 6px; }
.ah-zaleta h3 { font: 700 19px/1.3 var(--p); color: #000; }
.ah-zaleta p:not(.ah-zaleta__n) { margin-top: 8px; font: 400 16px/1.55 var(--l); color: #333; }
@media (max-width: 1099px) { .ah-siatka { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 759px) {
	.ah-sklep-top { padding: 28px 0 4px; }
	.ah-sklep-top__h { font-size: 28px; }
	.ah-sklep-top__p { font-size: 16px; }
	.ah-sklep__pasek { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
	.ah-sklep__pasek > * { min-width: 0; }
	.ah-zakladki { margin: 0 -16px; padding: 0 16px; }
	.ah-sklep__sort select { width: 100%; }
	.ah-siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
	.ah-k__nazwa { font-size: 15px; }
	.ah-zalety { padding: 52px 0; }
}

/* --------------------------------------------------------------------------
   KARTA PRODUKTU
   -------------------------------------------------------------------------- */
.ah-produkt { width: min(890px, calc(100% - 32px)); margin: 0 auto; padding: 64px 0 90px; }
.ah-produkt__gora { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ah-okruszki { font: 400 15px/1.5 var(--l); color: var(--szary-t); }
.ah-okruszki a { color: #000; text-decoration: none; }
.ah-okruszki a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ah-produkt__nawig { display: flex; align-items: center; gap: 10px; font: 400 16px/24px var(--p); white-space: nowrap; }
.ah-produkt__nawig a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.ah-produkt__nawig .ah-i { width: 16px; height: 16px; stroke-width: 1.4; }
.ah-produkt__nawig .sep { width: 1px; height: 18px; background: #000; }
.ah-produkt__siatka { display: grid; grid-template-columns: 500px 355px; column-gap: 35px; margin-top: 60px; align-items: start; }
.ah-galeria--produkt .ah-galeria__duze { aspect-ratio: 4 / 3; border: 1px solid #ddd; }
.ah-galeria--produkt .ah-galeria__duze img { width: 100%; height: 100%; object-fit: cover; }
.ah-galeria__film { position: absolute; inset: 0; background: #000; }
.ah-galeria__film[hidden] { display: none; }
.ah-galeria__film video { display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.ah-galeria__min-film { position: relative; }
.ah-galeria__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .35); }
.ah-galeria__play::after { content: ""; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #fff; margin-left: 3px; }
.ah-galeria--produkt .ah-galeria__miniatury { gap: 6px; margin-top: 14px; }
.ah-galeria--produkt .ah-galeria__miniatury button { flex: 0 0 45px; width: 45px; height: 45px; }
.ah-galeria--produkt .ah-galeria__str { color: #fff; filter: drop-shadow(0 0 2px rgba(0, 0, 0, .6)); }
.ah-produkt__opis, .ah-produkt__opis.ah-tresc { font: 300 16px/24px var(--l); margin-top: 22px; color: #000; }
.ah-produkt__opis p { margin: 0 0 24px; }
.ah-produkt__opis strong { font-weight: 700; }
.ah-produkt__opis ul { list-style: disc; padding-left: 22px; margin: 0 0 24px; }
.ah-produkt__h { font: 300 40px/48px var(--p); color: var(--pom); }
.ah-produkt__cena { font: 700 40px/50px var(--l); margin-top: 40px; }
.ah-produkt__cena .woocommerce-Price-currencySymbol { font: inherit; }
/* Promocja (etap 7): stara cena przekreslona mniejsza, nowa pogrubiona, pod spodem najnizsza cena z 30 dni (Omnibus). */
.ah-produkt__cena del { display: inline-block; margin-right: 12px; font: 300 24px/30px var(--l); color: #6b6b6b; vertical-align: 6px; }
.ah-produkt__cena ins { text-decoration: none; }
.ah-produkt__cena .wc-price-history.lowest { display: block; margin-top: 6px; font: 300 14px/18px var(--l); color: #444; }
.ah-produkt__cena .wc-price-history.prior-price-value { display: inline; font: inherit; }
.ah-produkt__cena .wc-price-history .woocommerce-Price-amount { font-weight: 700; }
.ah-produkt__m2 { font: 300 14px/17px var(--l); margin-top: 5px; }
.ah-produkt__podatek { font: 300 14px/17px var(--l); margin-top: 8px; }
.ah-kup { margin-top: 20px; }
.ah-kup__et { display: block; font: 300 14px/17px var(--l); margin-bottom: 8px; }
.ah-kup__pole { margin-bottom: 16px; }
.ah-kup__select select { width: 100%; height: 35px; border: 1px solid rgba(0, 0, 0, .6); border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 16px; appearance: none; padding: 0 34px 0 12px; font: 300 14px var(--l); color: #444; }
.ah-rozmiary { width: 100%; border-collapse: collapse; margin: 0 0 18px; font: 300 14px/1.3 var(--l); }
.ah-rozmiary th, .ah-rozmiary td { padding: 7px 8px; border-bottom: 1px solid #e3e3e3; text-align: left; }
.ah-rozmiary thead th { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .3px; border-bottom: 1px solid #000; }
.ah-rozmiary td:nth-child(2), .ah-rozmiary td:nth-child(3), .ah-rozmiary thead th:nth-child(2), .ah-rozmiary thead th:nth-child(3) { text-align: right; }
.ah-rozmiary tbody th { font-weight: 300; }
.ah-rozmiary tbody tr { cursor: pointer; }
.ah-rozmiary tbody tr:hover { background: #fff5ea; }
.ah-rozmiary tbody tr.is-on { background: #fff1e0; box-shadow: inset 3px 0 0 var(--pom); }
.ah-rozmiary tbody tr.is-on th { font-weight: 700; }
.ah-rozmiary tbody tr:last-child td:nth-child(3) { color: #b35f00; font-weight: 700; }
.single_variation_wrap .woocommerce-variation-price, .single_variation_wrap .woocommerce-variation-description:empty { display: none; }
.woocommerce-variation-availability { font: 300 14px var(--l); margin-bottom: 10px; }
.ah-kup__przyciski { display: grid; grid-template-columns: 1fr; gap: 12px; }
.ah-kup__pole--ilosc { margin-bottom: 8px; }
.ah-ilosc { display: inline-flex; align-items: center; border: 1px solid rgba(0, 0, 0, .6); height: 36px; }
.ah-ilosc button { width: 30px; height: 34px; border: 0; background: none; color: #000; display: flex; align-items: center; justify-content: center; }
.ah-ilosc button .ah-i { width: 14px; height: 14px; }
.ah-ilosc .quantity { margin: 0; }
.ah-ilosc input { width: 32px; height: 34px; border: 0; text-align: center; font: 300 14px var(--l); -moz-appearance: textfield; appearance: textfield; padding: 0; }
.ah-ilosc input::-webkit-inner-spin-button, .ah-ilosc input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ah-kup__dodaj, .ah-kup__teraz { width: 100%; height: 42px; border: 0; border-radius: 0; font: 300 16px/1 var(--l); color: #fff; }
.ah-kup__dodaj { background: #666; }
.ah-kup__dodaj:hover { background: #555; }
.ah-kup__teraz { background: #000; height: 40px; }
.ah-kup__teraz:hover { background: #222; }
.ah-kup button.disabled { opacity: .55; cursor: not-allowed; }
/* Woo (woocommerce.css) nadaje .button.alt fiolet - przywracamy kolory z Wixa */
.woocommerce .ah-kup .button.ah-kup__dodaj, .ah-kup .ah-kup__dodaj { background: #666 !important; color: #fff !important; border-radius: 0 !important; padding: 0 !important; font: 300 16px/1 var(--l) !important; }
.woocommerce .ah-kup .button.ah-kup__dodaj:hover { background: #555 !important; }
.woocommerce .ah-kup .button.ah-kup__teraz, .ah-kup .ah-kup__teraz { background: #000 !important; color: #fff !important; border-radius: 0 !important; padding: 0 !important; font: 300 16px/1 var(--l) !important; }
.woocommerce .ah-kup .button.ah-kup__teraz:hover { background: #222 !important; }
.woocommerce .ah-kup .button.disabled { opacity: .55 !important; }
.ah-minimum { margin-top: 22px; font: 300 14px/21px var(--l); border-left: 3px solid var(--pom); padding: 2px 0 2px 12px; }
.ah-minimum p + p { margin-top: 8px; }
.ah-minimum a { color: #000; }
.ah-produkt__udostepnij { display: flex; gap: 16px; margin-top: 28px; }
.ah-produkt__udostepnij a { width: 22px; height: 22px; display: inline-flex; }
.ah-produkt__udostepnij .ah-i { width: 22px; height: 22px; }
.ah-produkt__udostepnij .fb { color: #fff; background: #1877f2; border-radius: 50%; padding: 3px; }
.ah-produkt__udostepnij .wa { color: #25d366; }
.ah-spec { width: 100%; border-collapse: collapse; margin-top: 34px; font: 300 14px/1.35 var(--l); border: 1px solid #e0e0e0; }
.ah-spec caption { background: #231f20; color: #fff; text-align: left; font: 400 13px/1 var(--l); letter-spacing: .6px; padding: 9px 10px; }
.ah-spec th, .ah-spec td { padding: 8px 10px; border-bottom: 1px solid #e0e0e0; text-align: left; vertical-align: top; }
.ah-spec th { font-weight: 300; background: #f3f3f3; width: 52%; }
.ah-zastrzezenie { margin-top: 16px; font: 300 13px/1.5 var(--l); }
.ah-zastrzezenie strong { font-weight: 700; }
.ah-zastrzezenie a { color: #000; }
.ah-produkt__brak { font: 300 16px/1.5 var(--l); margin-top: 20px; }
.woocommerce-notices-wrapper:not(:empty), .ah-produkt .woocommerce-message, .ah-produkt .woocommerce-error, .ah-produkt .woocommerce-info { margin-top: 20px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; padding: 14px 16px; border-left: 4px solid var(--pom); background: #fff5ea; font: 300 15px/1.5 var(--l); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.woocommerce-error { border-left-color: #c00; background: #fdecec; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; background: #000; color: #fff; padding: 8px 14px; text-decoration: none; font: 300 14px var(--l); }

/* Galeria (strona /galeria i karta produktu) */
.ah-galeria { min-width: 0; }
.ah-galeria__duze { position: relative; overflow: hidden; background: #f2f2f2; }
.ah-galeria__str { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 64px; background: none; border: 0; color: #fff; padding: 0; z-index: 2; }
.ah-galeria__str .ah-i { width: 28px; height: 46px; stroke-width: 1.1; }
.ah-galeria__str--l { left: 12px; }
.ah-galeria__str--p { right: 12px; }
.ah-galeria__miniatury { display: flex; gap: 18px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.ah-galeria__miniatury button { flex: 0 0 120px; height: 120px; padding: 0; border: 0; background: none; opacity: .75; }
.ah-galeria__miniatury button.is-on { opacity: 1; outline: 2px solid var(--pom); outline-offset: -2px; }
.ah-galeria__miniatury button:first-child.is-on { opacity: .55; outline: 0; }
.ah-galeria__miniatury img { width: 100%; height: 100%; object-fit: cover; }

.ah-galeria-sek { padding: 92px 0 70px; }
.ah-galeria-sek--2 { padding-top: 77px; }
.ah-galeria-sek .ah-wrap { width: min(965px, calc(100% - 32px)); }
.ah-galeria-sek__h { font: 700 44px/52.8px var(--p); color: var(--pom); text-align: center; }
.ah-galeria-sek__h--duzy { font-size: 54px; line-height: 64.8px; }
.ah-galeria-sek__p { font: 300 20px/36px var(--l); color: var(--szary); text-align: center; margin: 22px auto 0; max-width: 920px; }
.ah-galeria-sek__p + .ah-galeria-sek__p { margin-top: 37px; }
.ah-galeria-sek__p strong { font-weight: 700; }
.ah-galeria-sek .ah-galeria { margin-top: 50px; }
.ah-galeria-sek .ah-galeria__duze { height: 492px; }
.ah-galeria-sek .ah-galeria__duze img { width: 100%; height: 100%; object-fit: cover; }
.ah-galeria-sek .ah-galeria__miniatury { margin-top: 18px; padding: 0 9px 4px; }

/* --------------------------------------------------------------------------
   O NAS
   -------------------------------------------------------------------------- */
.ah-onas-top, .ah-onas-rzad { display: grid; grid-template-columns: 1fr 1fr; }
.ah-onas-top { min-height: 651px; }
.ah-pol--foto img { width: 100%; height: 100%; object-fit: cover; }
.ah-pol--czarne { background: #000; color: #fff; }
.ah-pol--txt { display: flex; align-items: flex-start; }
.ah-onas-top .ah-pol__in { width: 432px; margin-left: 142px; padding: 108px 0 60px; font: 300 20px/28px var(--l); }
.ah-onas-top .ah-pol__in p + p { margin-top: 28px; }
.ah-onas-top strong { font-weight: 700; }
.ah-onas__h1 { font: 700 54px/75.6px var(--p); color: var(--pom); margin-bottom: 30px; }
.ah-onas-cytat { background: var(--pom); min-height: 156px; display: flex; align-items: center; justify-content: center; padding: 20px 16px; }
.ah-onas-cytat p { font: 700 40px/56px var(--p); color: #fff; text-align: center; }
.ah-onas-rzad { min-height: 600px; }
.ah-onas-rzad:nth-of-type(3) { min-height: 775px; }
.ah-onas-rzad .ah-pol__in { width: 463px; margin-left: 125px; padding: 97px 0 60px; }
.ah-onas-rzad--odwr .ah-pol__in { margin-left: 125px; padding-top: 66px; }
.ah-onas-rzad:last-of-type .ah-pol__in { margin-left: 133px; width: 453px; padding-top: 105px; }
.ah-onas__h2 { font: 700 54px/64.8px var(--p); color: var(--pom); }
.ah-just { font: 300 20px/36px var(--l); color: #242323; text-align: justify; margin-top: 37px; }
.ah-just strong { font-weight: 700; }
.ah-btn-ramka { display: inline-flex; align-items: center; justify-content: center; width: 150px; height: 50px; border: 1px solid #000; color: #000; font: 300 12px var(--l); text-decoration: none; margin-top: 47px; }
.ah-btn-ramka:hover { background: #000; color: #fff; }
.ah-onas-wyzwania { padding-top: 65px; }
.ah-onas-wyzwania__h { font: 700 54px/75.6px var(--p); text-align: center; }
.ah-onas-wyzwania__foto { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 43px; }
.ah-onas-wyzwania__foto img { width: 100%; aspect-ratio: 360 / 548; object-fit: cover; }

/* --------------------------------------------------------------------------
   KONTAKT
   -------------------------------------------------------------------------- */
.ah-kontakt-top { background: #000; color: #fff; padding: 90px 0 70px; }
.ah-kontakt-top__h { font: 700 54px/64.8px var(--p); color: var(--pom); }
.ah-kontakt-top__p { font: 300 20px/36px var(--l); margin-top: 40px; }
.ah-kontakt__in { width: min(1163px, calc(100% - 32px)); margin: 0 auto; display: grid; grid-template-columns: 589px 1px 1fr; padding: 51px 0 70px 0; }
.ah-kontakt__dane { display: grid; grid-template-columns: 243px 1fr; align-content: start; font: 300 18px/32.4px var(--l); }
.ah-kontakt__kol p { margin-top: 16px; }
.ah-kontakt__kol a { color: #000; text-decoration: none; }
.ah-kontakt__kol--pelna { grid-column: 1 / -1; margin-top: 150px; }
.ah-kontakt__h { display: flex; align-items: center; gap: 8px; font: 600 24px/33.6px var(--p); color: var(--pom); }
.ah-kontakt__h .ah-i { width: 22px; height: 22px; }
.ah-kontakt__h--bez { margin-top: 30px; }
.ah-kontakt__godz { font-size: 20px; line-height: 36px; margin-top: 12px !important; }
.ah-kontakt__linia { background: #000; height: 385px; margin-top: 116px; }
.ah-kontakt__form { padding-left: 187px; }
.ah-kontakt__form .ah-form { margin: 18px 0 0; width: 386px; }
.ah-kontakt__social { display: flex; gap: 5px; margin: 80px 0 0 111px; }
.ah-kontakt__social a { color: #000; width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; }
.ah-kontakt__social .ah-i { width: 40px; height: 40px; }
.ah-mapa iframe { display: block; width: 100%; height: 632px; border: 0; }
.ah-mapa__zaslepka { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; height: 632px; padding: 24px 16px; text-align: center;
	background: #111 radial-gradient(circle at 50% 42%, rgba(255, 138, 0, .16), rgba(255, 138, 0, 0) 60%); color: #fff; }
.ah-mapa__h { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; font: 600 24px/1.35 var(--p); color: var(--pom); }
.ah-mapa__h .ah-i { width: 24px; height: 24px; flex: none; }
.ah-mapa__btn { min-width: 200px; height: 48px; padding: 0 28px; font-size: 14px; cursor: pointer; }
.ah-mapa__btn:hover { background: #ff9d2e; }
.ah-mapa__info { max-width: 460px; font: 300 14px/1.55 var(--l); color: #d9d9d9; }
.ah-mapa__info a, .ah-mapa__link a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ah-mapa__link { font: 700 15px/1.4 var(--l); }
.ah-mapa__link a:hover, .ah-mapa__info a:hover { color: var(--pom); }
.ah-montaz { padding: 90px 0 0; }
.ah-montaz .ah-wrap { width: min(1047px, calc(100% - 32px)); }
.ah-montaz__h { font: 700 54px/64.8px var(--p); }
.ah-montaz__p { font: 300 20px/36px var(--l); margin-top: 34px; }
.ah-marki { display: flex; justify-content: space-around; align-items: center; flex-wrap: wrap; gap: 20px; padding: 120px 20px 60px; }
.ah-marki img { height: auto; max-height: 81px; width: auto; }

/* --------------------------------------------------------------------------
   VOUCHER
   -------------------------------------------------------------------------- */
/* Voucher (audyt UX 06.10, V1-V5): biel jak karta produktu - kafle kwot, pola z ramka, jeden pomaranczowy przycisk z kwota */
.ah-voucher { background: #fff; color: var(--tekst); padding: 48px 0 72px; }
.ah-voucher__h { max-width: 22ch; font: 700 40px/1.2 var(--p); color: #000; }
.ah-voucher__lead { max-width: 62ch; margin-top: 14px; font: 400 18px/1.6 var(--l); color: #333; }
.ah-voucher__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 56px; margin-top: 40px; align-items: start; }
.ah-voucher__lewa-in { position: sticky; top: 24px; }
.ah-voucher__foto img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r2); }
.ah-voucher__podsum { margin-top: 20px; padding: 20px 22px; border: 1px solid var(--linia); border-radius: var(--r2); background: var(--tlo2); }
.ah-voucher__podsum-h { font: 700 18px/1.3 var(--p); color: #000; margin-bottom: 10px; }
.ah-voucher__podsum dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; border-bottom: 1px solid var(--linia); font: 400 16px/1.4 var(--l); }
.ah-voucher__podsum dt { color: var(--szary-t); }
.ah-voucher__podsum dd { color: #000; font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.ah-voucher__podsum-razem { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; font: 400 16px var(--l); }
.ah-voucher__podsum-razem strong { font: 700 26px/1.2 var(--p); color: #000; }
.ah-voucher__nazwa { font: 700 24px/1.3 var(--p); color: #000; }
.ah-voucher__cena { margin-top: 6px; font: 700 30px/1.2 var(--p); color: #000; }
.ah-voucher__opis { margin-top: 14px; font: 400 16px/1.6 var(--l); color: #333; }
.ah-voucher__kroki { display: grid; gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; }
.ah-voucher__kroki li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; align-items: start; font: 400 15px/1.5 var(--l); color: #333; }
.ah-voucher__kroki b { display: block; font: 600 16px/1.35 var(--p); color: #000; }
.ah-voucher__kn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--pom); color: #000; font: 700 15px/1 var(--p); }
.ah-voucher__zasady { margin-top: 14px; padding: 12px 14px; border-radius: var(--r); background: var(--tlo2); font: 400 15px/1.5 var(--l); color: #333; }
.ah-voucher fieldset { border: 0; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.ah-voucher legend { font: 600 16px/1.4 var(--p); color: #000; padding: 0; margin-bottom: 10px; }
.ah-voucher__kwoty label, .ah-voucher__dla label, .ah-voucher__format label { position: relative; cursor: pointer; }
.ah-voucher__kwoty input, .ah-voucher__dla input, .ah-voucher__format input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ah-voucher__kwoty span, .ah-voucher__dla span, .ah-voucher__format span { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 16px; background: #fff; border: 1px solid #b5b5b5; border-radius: var(--r); font: 600 16px/1.2 var(--l); color: #000; transition: border-color .15s; }
.ah-voucher__kwoty span { min-width: 84px; }
.ah-voucher__kwoty label:hover span, .ah-voucher__dla label:hover span, .ah-voucher__format label:hover span { border-color: #000; }
.ah-voucher__kwoty input:checked + span, .ah-voucher__dla input:checked + span, .ah-voucher__format input:checked + span { border: 2px solid #000; background: #fff5ea; padding: 0 15px; }
.ah-voucher__kwoty input:focus-visible + span, .ah-voucher__dla input:focus-visible + span, .ah-voucher__format input:focus-visible + span { outline: 2px solid #000; outline-offset: 2px; }
.ah-voucher__dla label { flex: 1 1 180px; }
.ah-voucher__dla span { width: 100%; }
.ah-voucher__inna { width: 100%; margin-top: 6px; }
.ah-voucher__inna label { display: block; font: 600 15px/1.4 var(--l); color: #000; margin-bottom: 6px; }
.ah-voucher__inna input { width: 200px; }
.ah-voucher__pole { margin-top: 20px; }
.ah-voucher__et { display: block; font: 600 16px/1.4 var(--p); color: #000; margin-bottom: 8px; }
.ah-voucher__pole input, .ah-voucher__pole textarea, .ah-voucher__inna input { width: 100%; min-height: 48px; border: 1px solid #8a8a8a; border-radius: var(--r); background: #fff; color: #000; padding: 10px 14px; font: 400 16px/1.4 var(--l); }
.ah-voucher__inna input { width: 200px; }
.ah-voucher__pole textarea { min-height: 96px; resize: vertical; }
.ah-voucher__pole input:focus, .ah-voucher__pole textarea:focus, .ah-voucher__inna input:focus { outline: none; border-color: #000; box-shadow: 0 0 0 1px #000; }
.ah-voucher .ah-ilosc { display: inline-flex; align-items: center; height: 48px; border: 1px solid #8a8a8a; border-radius: var(--r); background: #fff; }
.ah-voucher .ah-ilosc button { width: 44px; height: 46px; color: #000; background: none; border: 0; }
.ah-voucher .ah-ilosc input { width: 48px; height: 46px; border: 0; background: transparent; color: #000; text-align: center; font: 600 16px var(--l); -moz-appearance: textfield; }
.ah-voucher__format .ah-voucher__op { width: 100%; margin-top: 2px; }
.ah-voucher__op { display: block; margin-top: 6px; font: 400 14px/1.45 var(--l); color: var(--szary-t); }
.ah-voucher__wygasa { margin-top: 12px; }
.ah-voucher__kup { margin-top: 32px; font-size: 17px; }
.ah-voucher .ah-pl { margin-top: 16px; }
@media (max-width: 999px) {
	.ah-voucher { padding: 28px 0 56px; }
	.ah-voucher__h { font-size: 30px; }
	.ah-voucher__lead { font-size: 17px; }
	.ah-voucher__in { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 24px; max-width: 600px; }
	.ah-voucher__lewa-in { position: static; }
	.ah-voucher__podsum { display: none; }
}
.ah-pytanie { background: var(--tlo2); padding: 56px 0 72px; }
.ah-pytanie .ah-pytanie__sub { max-width: 430px; }
.ah-form--pytanie { width: min(684px, 100%); margin-top: 28px; }
.ah-form--pytanie .ah-pole--dluga textarea { min-height: 150px; }

/* --------------------------------------------------------------------------
   STRONY ZWYKLE, KOSZYK, KASA (bloki Woo w barwach marki)
   -------------------------------------------------------------------------- */
.ah-strona { padding: 80px 0 100px; }
.ah-strona__h { font: 700 44px/52.8px var(--p); color: var(--pom); margin-bottom: 40px; }
.ah-tresc { font: 300 17px/1.75 var(--l); color: #222; }
.ah-tresc h2, .ah-tresc h3 { font-family: var(--p); font-weight: 700; color: #000; margin: 36px 0 12px; line-height: 1.3; }
.ah-tresc h2 { font-size: 26px; }
.ah-tresc h3 { font-size: 20px; }
.ah-tresc p, .ah-tresc ul, .ah-tresc ol { margin: 0 0 16px; }
.ah-tresc ul { list-style: disc; padding-left: 24px; }
.ah-tresc strong { font-weight: 700; }
.ah-tresc a { color: #b35f00; }
.ah-strona--sklep .ah-wrap { width: min(1100px, calc(100% - 32px)); }
.ah-strona--sklep .ah-tresc { font-size: 16px; line-height: 1.5; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .ah-strona--sklep a.button, .ah-strona--sklep button.button {
	background: var(--pom) !important; color: #000 !important; border: 0 !important; border-radius: 15px !important; font-family: var(--p) !important; font-weight: 700 !important; text-decoration: none; }
.wc-block-components-button:not(.is-link):hover { background: #ff9d2e !important; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--l); }
.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__totals-title { font-family: var(--p) !important; font-weight: 600 !important; }
.wc-block-components-product-name { color: var(--pom) !important; font-family: var(--p); text-decoration: none; }
.wc-block-components-text-input input:focus, .wc-block-components-select select:focus, .wc-block-components-textarea:focus { border-color: var(--pom) !important; box-shadow: 0 0 0 1px var(--pom) !important; }
.ah-lista-wpisow li { margin-bottom: 10px; font: 300 18px var(--l); }
.ah-404 p { font: 300 18px/1.6 var(--l); margin-bottom: 20px; }

/* ==========================================================================
   SZEROKOSCI POSREDNIE (1000-1240): uklady desktopowe sciskaja sie bez wystawania
   ========================================================================== */
@media (max-width: 1240px) and (min-width: 1000px) {
	.ah-onas-top .ah-pol__in, .ah-onas-rzad .ah-pol__in, .ah-onas-rzad:last-of-type .ah-pol__in, .ah-onas-rzad--odwr .ah-pol__in { width: auto; margin-left: 9%; margin-right: 7%; }
	.ah-kontakt__in { grid-template-columns: 1fr 1px 1fr; }
	.ah-kontakt__form { padding-left: 12%; }
	.ah-kontakt__social { margin-left: 60px; }
}

/* tablet i telefon (< 1000 px) - strony poza glowna (stare reguly z Wixa, do przejrzenia w kolejnych partiach) */
@media (max-width: 999px) {

	.ah-produkt { padding: 30px 0 60px; }
	.ah-produkt__gora { flex-wrap: wrap; }
	.ah-okruszki { font-size: 14px; }
	.ah-produkt__siatka { grid-template-columns: minmax(0, 1fr); margin-top: 24px; }
	.ah-produkt__siatka > *, .ah-galeria--produkt { min-width: 0; }
	.ah-produkt__lewa { display: contents; }
	.ah-galeria--produkt { order: 1; }
	.ah-produkt__prawa { order: 2; margin-top: 26px; }
	.ah-produkt__opis { order: 3; margin-top: 36px; }
	.ah-produkt__h { font-size: 30px; line-height: 38px; }
	.ah-produkt__cena { margin-top: 20px; font-size: 34px; }

	.ah-galeria-sek { padding: 50px 0 40px; }
	.ah-galeria-sek__h, .ah-galeria-sek__h--duzy { font-size: 32px; line-height: 40px; }
	.ah-galeria-sek__p { font-size: 17px; line-height: 30px; }
	.ah-galeria-sek .ah-galeria__duze { height: auto; aspect-ratio: 4 / 3; }
	.ah-galeria__miniatury button { flex-basis: 80px; height: 80px; }

	.ah-onas-top, .ah-onas-rzad { grid-template-columns: 1fr; min-height: 0 !important; }
	.ah-onas-rzad .ah-pol--txt { order: -1; }
	.ah-onas-rzad--odwr .ah-pol--txt { order: 0; }
	.ah-onas-top .ah-pol__in, .ah-onas-rzad .ah-pol__in, .ah-onas-rzad:last-of-type .ah-pol__in, .ah-onas-rzad--odwr .ah-pol__in { width: auto; max-width: 600px; margin: 0 auto; padding: 50px 20px; }
	.ah-pol--foto img { aspect-ratio: 4 / 3; height: auto; }
	.ah-onas__h1 { font-size: 44px; line-height: 56px; }
	.ah-onas__h2 { font-size: 34px; line-height: 42px; }
	.ah-just { font-size: 17px; line-height: 30px; margin-top: 20px; }
	.ah-onas-cytat p { font-size: 26px; line-height: 36px; }
	.ah-onas-wyzwania__h { font-size: 34px; line-height: 44px; }
	.ah-onas-wyzwania__foto { grid-template-columns: repeat(2, 1fr); }

	.ah-kontakt-top { padding: 50px 0 40px; }
	.ah-kontakt-top__h { font-size: 32px; line-height: 40px; }
	.ah-kontakt-top__p { font-size: 17px; line-height: 30px; margin-top: 20px; }
	.ah-kontakt-top__p br { display: none; }
	.ah-kontakt__in { grid-template-columns: 1fr; padding: 40px 0; max-width: 600px; }
	.ah-kontakt__dane { grid-template-columns: 1fr 1fr; column-gap: 20px; }
	.ah-kontakt__kol--pelna { margin-top: 40px; }
	.ah-kontakt__linia { display: none; }
	.ah-kontakt__form { padding: 40px 0 0; }
	.ah-kontakt__form .ah-form { width: 100%; }
	.ah-kontakt__social { margin: 40px 0 0; justify-content: center; }
	.ah-mapa iframe, .ah-mapa__zaslepka { height: 380px; }
	.ah-mapa__h { font-size: 19px; }
	.ah-montaz { padding-top: 50px; }
	.ah-montaz__h { font-size: 32px; line-height: 40px; }
	.ah-montaz__p { font-size: 17px; line-height: 30px; }
	.ah-marki { padding-top: 50px; }
	.ah-marki img { max-width: 40%; }


	.ah-strona { padding: 50px 0 70px; }
	.ah-strona__h { font-size: 32px; line-height: 40px; margin-bottom: 28px; }
}

@media (max-width: 560px) {
	.ah-kontakt__dane { grid-template-columns: 1fr; }
	.ah-kontakt__dane .ah-kontakt__kol + .ah-kontakt__kol { margin-top: 30px; }
	.ah-kontakt__kol--pelna { margin-top: 30px; }
	.ah-produkt__nawig { width: 100%; justify-content: flex-end; }
	.ah-rozmiary th, .ah-rozmiary td { padding: 7px 5px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}

/* Kasa: nazwa metody Autopay pod logo (wtyczka Autopay 5.0.5 chowa ja w kasie blokowej - display:none). Etap 2c, 30.09.
   Logo zostaje w pierwszym wierszu (przy nim niebieska linia wtyczki), nazwa pod logo, pasek znakow bezpieczenstwa pod nazwa. */
body label[for=radio-control-wc-payment-method-options-bluemedia] #radio-control-wc-payment-method-options-bluemedia__label { display: flex; flex-wrap: wrap; align-items: center; row-gap: 6px; padding-bottom: 28px; }
body label[for=radio-control-wc-payment-method-options-bluemedia] #radio-control-wc-payment-method-options-bluemedia__label img { order: -1; max-width: 100%; height: auto; }
body label[for=radio-control-wc-payment-method-options-bluemedia] #radio-control-wc-payment-method-options-bluemedia__label .wc-block-components-payment-method-label { display: block; flex: 1 1 100%; font-weight: 600; }
/* 06.10: style blokow „Gdzie można zamontować” i „Którą folię wybrać?” usuniete razem z blokami (decyzja klienta). */

/* --- Voucher w koszyku i kasie (assets/js/voucher-kasa.js, 06.10.2026) --- */
.ah-vk, .wc-block-components-totals-wrapper.slot-wrapper > * > .ah-vk { padding: 10px 16px 16px; font: 400 15px/1.45 var(--l); } /* Woo daje slotom padding 16px 0 (wyzsza specyficznosc) */
.ah-vk__otworz { background: none; border: 0; padding: 4px 0; color: #000; text-decoration: underline; font: 600 15px/1.4 var(--l); }
.ah-vk__otworz:hover { color: #b35f00; }
.ah-vk__et { display: block; margin: 4px 0 6px; font: 600 14px/1.3 var(--l); }
.ah-vk__wiersz { display: flex; gap: 8px; }
.ah-vk__pole { flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #8a8a8a; border-radius: 4px; font: 600 15px/1 var(--l); letter-spacing: .5px; text-transform: uppercase; background: #fff; color: #000; }
.ah-vk__pole::placeholder { text-transform: none; letter-spacing: 0; color: #757575; font-weight: 400; }
.ah-vk__pole:focus { outline: 2px solid var(--pom); outline-offset: 1px; border-color: #000; }
.ah-vk__uzyj { flex: 0 0 auto; height: 44px; padding: 0 18px; border: 0; border-radius: 4px; background: #000; color: #fff; font: 600 15px/1 var(--l); }
.ah-vk__uzyj:disabled, .ah-vk__usun:disabled { opacity: .6; cursor: default; }
.ah-vk__lista { margin: 0 0 8px; }
.ah-vk__poz { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 10px 12px; margin-bottom: 6px; background: #fff5ea; border-left: 4px solid var(--pom); border-radius: 4px; }
.ah-vk__kod { font: 700 15px/1.3 var(--l); letter-spacing: .5px; }
.ah-vk__opis { grid-column: 1; font-size: 14px; color: #333; }
.ah-vk__usun { grid-column: 2; grid-row: 1 / span 2; align-self: center; background: none; border: 0; padding: 4px; text-decoration: underline; color: #000; font: 600 14px/1 var(--l); }
.ah-vk__kom { margin: 8px 0 0; font-size: 14px; }
.ah-vk__kom--blad { color: #b00020; }
.ah-vk__kom--ok { color: #1e6b2b; }
.ah-voucher-info { margin: 0 0 24px; padding: 14px 16px; background: #fff5ea; border-left: 4px solid var(--pom); font: 400 16px/1.5 var(--l); }

/* ==========================================================================
   KARTA PRODUKTU OD NOWA (06.10.2026) - wzorzec: strona produktu Shopify Dawn (main-product):
   galeria po lewej (przyklejona), zwarty box zakupu po prawej, pod spodem opis i parametry w 2 kolumnach.
   Barwy i kroje Auto-Hit. Stare klasy .ah-produkt__* zostaja tylko dla nawigacji Wróć/Dalej.
   ========================================================================== */
.ah-p { width: min(1200px, calc(100% - 48px)); margin: 0 auto; padding: 32px 0 80px; }
.ah-p__gora { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.ah-p__gora .ah-produkt__nawig a { color: #000; }
.ah-p__siatka { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 20px; }
.ah-p .ah-galeria--produkt .ah-galeria__duze { aspect-ratio: 4 / 3; border: 0; border-radius: 8px; overflow: hidden; background: #f3f3f3; }
.ah-p .ah-galeria--produkt .ah-galeria__miniatury { display: flex; flex-wrap: nowrap; gap: 8px; margin-top: 10px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.ah-p .ah-galeria--produkt .ah-galeria__miniatury button { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 6px; overflow: hidden; border: 2px solid transparent; padding: 0; }
.ah-p .ah-galeria--produkt .ah-galeria__miniatury button.is-on { border-color: #000; }
.ah-p .ah-galeria--produkt .ah-galeria__miniatury img { width: 100%; height: 100%; object-fit: cover; }
.ah-p__kat { margin: 0; }
.ah-p__kat a { font: 600 12px/1.2 var(--p); letter-spacing: .08em; text-transform: uppercase; color: #8a4b00; text-decoration: none; }
.ah-p__h { font: 600 26px/1.25 var(--p); color: #000; margin-top: 8px; text-wrap: balance; }
.ah-p__cena { margin-top: 14px; }
.ah-p__suma { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; font: 700 34px/1.15 var(--l); color: #000; }
.ah-p__suma del { font: 400 20px/1.2 var(--l); color: #6b6b6b; }
.ah-p__jedn { min-height: 21px; margin-top: 4px; font: 400 15px/1.4 var(--l); color: #444; }
.ah-p__omnibus:empty { display: none; }
.ah-p__omnibus .wc-price-history { display: block; margin-top: 4px; font: 400 14px/1.4 var(--l); color: #444; }
.ah-p__omnibus .wc-price-history .woocommerce-Price-amount { font-weight: 700; }
.ah-p__vat { margin-top: 2px; font: 400 13px/1.4 var(--l); color: #6b6b6b; }
.ah-p__form { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e5e5e5; }
.ah-p__ukryte { display: none !important; }
.ah-p__et { display: block; margin: 0 0 10px; padding: 0; font: 400 15px/1.4 var(--l); color: #000; }
.ah-p__et b { font-weight: 700; }
.ah-p__rozm { border: 0; padding: 0; margin: 0; min-width: 0; }
.ah-p__rozm-nag { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 12px; padding: 0 15px 6px; font: 400 12px/1.2 var(--l); color: #6b6b6b; }
.ah-p__rozm-nag span { grid-column: 3; text-align: right; }
.ah-p__rozm-nag span + span { display: none; }
.ah-p__opcje { display: grid; gap: 8px; }
.ah-p__opcja { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; grid-template-areas: "r n c" "r n m"; column-gap: 12px; align-items: center; padding: 11px 14px; border: 1px solid #c9c9c9; border-radius: 8px; background: #fff; cursor: pointer; font: 400 15px/1.3 var(--l); color: #000; }
.ah-p__opcja:hover { border-color: #000; }
.ah-p__opcja.is-on { border: 2px solid #000; padding: 10px 13px; background: #fff8f0; }
.ah-p__opcja:focus-within { outline: 2px solid var(--pom); outline-offset: 2px; }
.ah-p__opcja input { grid-area: r; width: 18px; height: 18px; margin: 0; accent-color: #000; }
.ah-p__opcja-nazwa { grid-area: n; font-weight: 700; }
.ah-p__opcja-nazwa small { display: block; font: 400 13px/1.3 var(--l); color: #555; }
.ah-p__opcja-nazwa small + em { margin-left: 0; }
.ah-p__opcja-nazwa em { display: inline-block; margin: 5px 0 0 8px; padding: 3px 6px; border-radius: 4px; background: var(--pom); color: #000; font: 700 11px/1.2 var(--l); font-style: normal; letter-spacing: .03em; text-transform: uppercase; }
.ah-p__opcja-cena { grid-area: c; text-align: right; font-weight: 700; white-space: nowrap; }
.ah-p__opcja-cena del { margin-right: 4px; font-weight: 400; font-size: 13px; color: #6b6b6b; }
.ah-p__opcja-m2 { grid-area: m; text-align: right; font-size: 13px; color: #555; white-space: nowrap; }
@media (max-width: 479px) { .ah-p__opcja-m2:not(:empty)::after { content: " / m²"; } }
.ah-p__min { margin-top: 12px; font: 400 14px/1.5 var(--l); color: #333; }
.ah-p__min a { color: #000; }
.ah-p__podpowiedz { margin-top: 12px; padding: 10px 12px; border-left: 3px solid var(--pom); background: #fff5ea; font: 400 14px/1.5 var(--l); color: #000; }
.ah-p__podp-btn { padding: 0; border: 0; background: none; color: #000; font: 700 14px/1.5 var(--l); text-decoration: underline; cursor: pointer; }
.ah-p__kup { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 20px; }
.ah-p__ilosc { display: flex; align-items: center; gap: 14px; }
.ah-p__ilosc .ah-p__et { margin: 0; }
.ah-p__ilosc .ah-ilosc { height: 46px; border: 1px solid #8a8a8a; border-radius: 6px; overflow: hidden; }
.ah-p__ilosc .ah-ilosc button { width: 40px; height: 44px; }
.ah-p__ilosc .ah-ilosc input { width: 40px; height: 44px; font: 400 16px var(--l); }
.woocommerce .ah-p .button.ah-p__dodaj, .ah-p .ah-p__dodaj { width: 100%; height: 52px; padding: 0 14px !important; border: 0 !important; border-radius: 6px !important; background: var(--pom) !important; color: #000 !important; font: 700 16px/1.2 var(--p) !important; }
.woocommerce .ah-p .button.ah-p__dodaj:hover, .ah-p .ah-p__dodaj:hover { background: #ff9d2e !important; }
.ah-p__dodaj-suma { font-weight: 400; white-space: nowrap; }
.woocommerce .ah-p .button.ah-p__teraz, .ah-p .ah-p__teraz { grid-column: 1 / -1; width: 100%; height: 46px; padding: 0 14px !important; border: 1.5px solid #000 !important; border-radius: 6px !important; background: #fff !important; color: #000 !important; font: 600 15px/1 var(--p) !important; }
.woocommerce .ah-p .button.ah-p__teraz:hover, .ah-p .ah-p__teraz:hover { background: #f3f3f3 !important; }
.ah-p .single_variation_wrap .woocommerce-variation { display: none !important; }
.ah-p__korzysci { display: grid; gap: 12px; margin-top: 20px; padding: 16px; border-radius: 8px; background: #f5f5f5; }
.ah-p__korzysci li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; font: 400 14px/1.45 var(--l); color: #222; }
.ah-p__korzysci .ah-i { width: 22px; height: 22px; stroke-width: 1.6; color: #000; }
.ah-p__korzysci b { font-weight: 700; color: #000; }
.ah-p__korzysci a { color: #000; }
.ah-p__udostepnij { display: flex; align-items: center; gap: 10px; margin-top: 16px; font: 400 13px/1 var(--l); color: #6b6b6b; }
.ah-p__udostepnij span { margin-right: 2px; }
/* Oba przyciski w tej samej geometrii: okrag 36 px, ikona 18 px na srodku, jeden styl (bez mieszania wypelnionego i obrysowego). */
.ah-p__udostepnij a { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border: 1px solid #cfcfcf; border-radius: 50%; background: #fff; color: #000; transition: border-color .15s, color .15s, background .15s; }
.ah-p__udostepnij a .ah-i { display: block; width: 18px; height: 18px; }
.ah-p__udostepnij a.fb, .ah-p__udostepnij a.wa { padding: 0; background: #fff; color: #000; }
.ah-p__udostepnij a.fb:hover, .ah-p__udostepnij a.fb:focus-visible { border-color: #1877f2; background: #1877f2; color: #fff; }
.ah-p__udostepnij a.wa:hover, .ah-p__udostepnij a.wa:focus-visible { border-color: #128c7e; background: #128c7e; color: #fff; }
.ah-p__info { display: grid; gap: 40px; margin-top: 48px; padding-top: 36px; border-top: 1px solid #e5e5e5; }
.ah-p__h2 { margin: 0 0 14px; font: 600 22px/1.3 var(--p); color: #000; }
.ah-p__opis .ah-tresc { max-width: 68ch; font: 400 17px/1.65 var(--l); color: #222; }
.ah-p__opis .ah-tresc p { margin: 0 0 16px; }
.ah-p__opis .ah-tresc strong { font-weight: 700; color: #000; }
.ah-p__opis .ah-tresc ul { list-style: disc; padding-left: 22px; margin: 0 0 16px; }
.ah-p__h3 { margin: 28px 0 10px; font: 600 18px/1.3 var(--p); color: #000; }
.ah-p__ile { max-width: 68ch; }
.ah-p__ile p { margin: 0 0 12px; font: 400 16px/1.6 var(--l); color: #222; }
.ah-p__ile a { color: #000; }
.ah-p__param .ah-spec { margin-top: 0; border: 0; font: 400 15px/1.4 var(--l); }
.ah-p__param .ah-spec caption { padding: 0 0 12px; background: none; color: #000; text-align: left; font: 600 22px/1.3 var(--p); letter-spacing: 0; }
.ah-p__param .ah-spec th, .ah-p__param .ah-spec td { padding: 10px 0; border-bottom: 1px solid #e5e5e5; background: none; vertical-align: top; }
.ah-p__param .ah-spec th { width: 52%; padding-right: 12px; font-weight: 400; color: #555; }
.ah-p__param .ah-spec td { color: #000; }
.ah-p__param .ah-zastrzezenie { font: 400 14px/1.6 var(--l); color: #333; }
.ah-p__param .ah-zastrzezenie { margin-top: 20px; }
.ah-p__pasek { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: 14px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #ddd; box-shadow: 0 -4px 16px rgba(0, 0, 0, .08); }
.ah-p__pasek-suma { display: flex; flex-direction: column; line-height: 1.2; }
.ah-p__pasek-et { font: 400 12px var(--l); color: #6b6b6b; }
.ah-p__pasek-suma strong { font: 700 18px var(--l); white-space: nowrap; }
.ah-p__pasek-btn { flex: 1 1 auto; height: 48px; border: 0; border-radius: 6px; background: var(--pom); color: #000; font: 700 15px/1 var(--p); }
body.ah-z-paskiem { padding-bottom: 72px; }
@media (min-width: 480px) {
	.ah-p__opcja { grid-template-columns: 18px minmax(0, 1fr) auto auto; grid-template-areas: "r n c m"; }
	.ah-p__rozm-nag { grid-template-columns: 18px minmax(0, 1fr) auto 112px; }
	.ah-p__rozm-nag span + span { display: block; grid-column: 4; }
	.ah-p__opcja-m2 { width: 112px; font-size: 14px; }
}
@media (min-width: 860px) {
	.ah-p { width: min(1200px, calc(100% - 64px)); padding-top: 40px; }
	.ah-p__siatka { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: start; margin-top: 24px; }
	.ah-p__galeria-in { position: sticky; top: 24px; }
	/* miniatury na komputerze w siatce (bez przewijania) - wszystkie widac, kolumna galerii nie jest pusta pod zdjeciem */
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: visible; gap: 8px; }
	/* 01.11: przy wielu zdjeciach (do ~190 na produkt) siatka miniatur ma stala wysokosc ok. 3 rzedow i przewija sie w pionie */
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury.ah-galeria__miniatury--duzo { position: relative; max-height: 330px; overflow-y: auto; overscroll-behavior: contain; align-content: start; padding-right: 4px; scrollbar-width: thin; }
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury button { width: auto; height: auto; aspect-ratio: 1; }
	.ah-p__h { font-size: 28px; }
	.ah-p__info { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; margin-top: 64px; }
	.ah-p__info--jedna { grid-template-columns: minmax(0, 1fr); }
	.ah-p__pasek { display: none !important; }
}
@media (min-width: 1200px) {
	.ah-p__siatka, .ah-p__info { gap: 64px; }
	.ah-p__h { font-size: 30px; }
}
@media (max-width: 859px) {
	.ah-p { width: calc(100% - 32px); padding-top: 20px; }
	.ah-p__gora .ah-produkt__nawig { width: auto; }
	.ah-okruszki { font-size: 14px; }
}

/* Rowna cena za m² we wszystkich rozmiarach: bez kolumny „za m²” (cena za m² jest pod cena glowna). */
.ah-p__rozm.is-rowne-m2 .ah-p__opcja-m2, .ah-p__rozm.is-rowne-m2 .ah-p__rozm-nag span + span { display: none !important; }
.ah-p__rozm.is-rowne-m2 .ah-p__opcja { grid-template-columns: 18px minmax(0, 1fr) auto !important; grid-template-areas: "r n c" !important; }
.ah-p__rozm.is-rowne-m2 .ah-p__rozm-nag { grid-template-columns: 18px minmax(0, 1fr) auto !important; }

/* --- Pasek platnosci z logotypami (inc/platnosci-loga.php, 06.10.2026) --- */
.ah-pl__zd { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; font: 400 14px/1.5 var(--l); }
.ah-pl__ico { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; color: var(--pom); }
.ah-pl__siatka { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.ah-pl__kafel { display: flex; align-items: center; justify-content: center; height: 52px; padding: 6px; background: #fff; border-radius: 8px; border: 1px solid #e3e3e3; }
.ah-pl__kafel img { display: block; max-width: 100%; height: auto; object-fit: contain; }
.ah-pl__zd--dost { margin-top: 18px; }
.ah-pl__siatka--dost { grid-template-columns: repeat(auto-fill, minmax(92px, 120px)); }
.ah-footer__platnosci { width: min(1238px, calc(100% - 64px)); margin: 0 auto; padding: 0 0 30px; }
.ah-footer__platnosci .ah-pl__zd { color: #e6e6e6; }
.ah-footer__platnosci .ah-pl__kafel { border-color: #fff; }
@media (min-width: 900px) { .ah-footer__platnosci .ah-pl__siatka:not(.ah-pl__siatka--dost) { grid-template-columns: repeat(10, minmax(0, 1fr)); } }
.ah-pl--kompakt { margin-top: 16px; }
.ah-pl--kompakt .ah-pl__zd { margin-bottom: 10px; font-size: 13px; color: #444; }
.ah-pl--kompakt .ah-pl__siatka { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 420px; }
.ah-pl--kompakt .ah-pl__kafel { height: 44px; }
.ah-pl-pod-blokiem { width: min(1100px, calc(100% - 32px)); margin: 8px auto 40px; }
.ah-pl--online { margin-top: 22px; }
.ah-pl--online .ah-pl__zd { color: #e6e6e6; }
.ah-pl--online .ah-pl__siatka { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ah-pl--online .ah-pl__kafel { height: 46px; border-color: #fff; }
@media (max-width: 759px) {
	/* 10 kafli = 2 rowne rzedy po 5 (bez sierot w ostatnim rzedzie); dostawa w tej samej siatce */
	.ah-footer__platnosci { width: calc(100% - 32px); }
	.ah-pl__siatka, .ah-pl--online .ah-pl__siatka, .ah-pl__siatka--dost { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
	.ah-pl__kafel, .ah-pl--online .ah-pl__kafel { height: 44px; padding: 5px; border-radius: 6px; }
	.ah-pl--kompakt .ah-pl__siatka { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* --- Karta produktu: poprawki z audytu UX 06.10 (P3, P5, P8, P10) --- */
.ah-p__jedn:empty { display: none; }
.ah-p__ocena { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font: 400 14px/1.4 var(--l); color: #333; text-decoration: none; }
.ah-p__ocena:hover span { text-decoration: underline; text-underline-offset: 3px; }
.ah-p__ocena b { color: #000; }
.ah-p__param .ah-zastrzezenie { position: relative; padding: 16px 18px 16px 52px; background: var(--tlo2); border-radius: var(--r2); font-size: 15px; }
.ah-p__param .ah-zastrzezenie strong { font-weight: 400; }
.ah-zastrzezenie__i { position: absolute; left: 16px; top: 16px; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #000; color: #fff; font: 700 14px/1 var(--p); }
.ah-p__opinie { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--linia); }
.ah-p__opinie-gora { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.ah-p__opinie-sr { display: inline-flex; align-items: center; gap: 8px; font: 400 15px/1.4 var(--l); }
.ah-p__opinie-lista { display: grid; gap: 12px; margin-top: 16px; }
.ah-opinia-p { padding: 16px 18px; border: 1px solid var(--linia); border-radius: var(--r2); }
.ah-opinia-p__t { margin-top: 6px; font: 700 16px/1.4 var(--l); color: #000; }
.ah-opinia-p__tresc { margin-top: 4px; font: 400 16px/1.55 var(--l); color: #222; }
.ah-opinia-p__kto { margin-top: 6px; font: 400 14px/1.4 var(--l); color: var(--szary-t); }
.ah-p__opinie-zrodlo { margin-top: 10px; font: 400 13px/1.4 var(--l); color: var(--szary-t); }
.ah-p__pasek-et { font-size: 13px !important; color: #444 !important; }
@media (max-width: 759px) {
	.ah-p__gora .ah-produkt__nawig { display: none; }
	.ah-p__gora .ah-okruszki { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }
}


/* Audyt UX 06.10 partia 3: drobne etykiety karty produktu nie mniejsze niz 13 px */
.ah-p__kat a, .ah-p__rozm-nag { font-size: 13px; }
.ah-p__opcja-nazwa em { font-size: 12px; }

/* ==========================================================================
   AUDYT UX 06.10 - PARTIA 4: panel po dodaniu do koszyka, koszyk, kasa
   ========================================================================== */
/* Panel „Dodano do koszyka” (assets/js/produkt.js) */
.ah-sz { position: fixed; inset: 0; z-index: 1000; }
.ah-sz[hidden] { display: none; }
.ah-sz__tlo { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); opacity: 0; transition: opacity .2s; }
.ah-sz__okno { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100%); overflow-y: auto; background: #fff; padding: 20px 24px 28px; box-shadow: -8px 0 32px rgba(0, 0, 0, .18); transform: translateX(100%); transition: transform .25s ease; display: flex; flex-direction: column; gap: 18px; }
.ah-sz.is-open .ah-sz__tlo { opacity: 1; }
.ah-sz.is-open .ah-sz__okno { transform: none; }
html.ah-szuflada-otwarta { overflow: hidden; }
.ah-sz__gora { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--linia); }
.ah-sz__h { display: flex; align-items: center; gap: 10px; font: 700 20px/1.3 var(--p); color: #000; outline: none; }
.ah-sz__h .ah-i { width: 26px; height: 26px; padding: 4px; border-radius: 50%; background: #1e7b34; color: #fff; flex: none; }
.ah-sz__x { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -10px; border: 0; background: none; border-radius: 50%; color: #000; cursor: pointer; }
.ah-sz__x:hover { background: var(--tlo2); }
.ah-sz__x .ah-i { width: 22px; height: 22px; }
.ah-sz__poz { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 14px; align-items: start; }
.ah-sz__poz img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--r); background: var(--tlo2); }
.ah-sz__nazwa { font: 600 16px/1.35 var(--p); color: #000; }
.ah-sz__det { margin-top: 4px; font: 400 15px/1.45 var(--l); color: #333; }
.ah-sz__det b { color: #000; }
.ah-sz__suma { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 14px 16px; border-radius: var(--r); background: var(--tlo2); font: 400 15px/1.4 var(--l); color: #333; }
.ah-sz__suma b { color: #000; font-weight: 700; }
.ah-sz__dost { margin-top: -8px; font: 400 14px/1.5 var(--l); color: var(--szary-t); }
.ah-sz__akcje { display: grid; gap: 10px; }
.ah-sz__dalej { min-height: 44px; border: 0; background: none; font: 600 15px/1 var(--l); color: #000; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ah-sz__sug { padding-top: 16px; border-top: 1px solid var(--linia); }
.ah-sz__sug-h { font: 700 16px/1.3 var(--p); color: #000; margin-bottom: 10px; }
.ah-sz__sug-w { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.ah-sz__sug-w img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--r); }
.ah-sz__sug-w a { font: 600 15px/1.35 var(--p); color: #000; text-decoration: none; }
.ah-sz__sug-w a:hover { text-decoration: underline; }
.ah-sz__sug-w small { display: block; margin-top: 2px; font: 400 14px/1.4 var(--l); color: var(--szary-t); }
.ah-sz__sug-w b { display: block; margin-top: 4px; font: 700 15px/1 var(--l); color: #000; }
.ah-sz__sug-ok { display: flex; align-items: center; gap: 8px; font: 600 15px/1.4 var(--l); color: #1e7b34; }
.ah-sz__sug-ok .ah-i { width: 20px; height: 20px; flex: none; }
@media (max-width: 599px) {
	.ah-sz__okno { top: auto; left: 0; width: 100%; max-height: 88vh; border-radius: 16px 16px 0 0; transform: translateY(100%); padding: 16px 16px calc(20px + env(safe-area-inset-bottom)); }
}
.ah-p__dodaj.is-laduje { opacity: .7; cursor: progress; }

/* Koszyk (KO2, KO3) */
.wc-block-cart__totals-title { text-transform: none !important; font: 700 20px/1.3 var(--p) !important; color: #000 !important; letter-spacing: 0 !important; }
.wc-block-components-product-name { color: #000 !important; font: 600 15px/1.35 var(--p) !important; }
a.wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.wc-block-cart .wc-block-components-product-metadata__description, .wc-block-checkout .wc-block-components-product-metadata__description { display: none; }
.wc-block-components-product-metadata, .wc-block-components-product-details { font: 400 14px/1.45 var(--l) !important; color: #444 !important; }
table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 96px minmax(0, 1fr) !important; }
.wc-block-cart-item__image img { width: 96px !important; height: 96px; object-fit: cover; border-radius: var(--r); }
.wc-block-components-quantity-selector { height: 44px !important; min-width: 130px; border-radius: var(--r) !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-width: 44px !important; font-size: 18px !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { font: 600 16px var(--l) !important; }
.wc-block-cart-item__remove-link { font-size: 14px !important; color: #444 !important; }
.wc-block-components-totals-item__label, .wc-block-components-totals-item__value { font-family: var(--l); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 700 20px/1.3 var(--p) !important; color: #000; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { min-height: 52px !important; font-size: 17px !important; border-radius: 10px !important; }
.wc-block-components-button:not(.is-link) { border-radius: 10px !important; }
/* kwota w przycisku zamowienia (kasa.js ustawia data-ah-kwota) */
.wc-block-components-checkout-place-order-button .wc-block-components-button__text[data-ah-kwota]::after { content: "\00a0·\00a0" attr(data-ah-kwota); }
.wc-block-components-checkout-place-order-button .wc-block-components-button__text[data-ah-kwota] { white-space: nowrap; font-size: clamp(15px, 4.3vw, 17px); }

/* Kasa: naglowki czarne, kroki numerowane (KA8), podsumowanie przyklejone (KA6) */
.ah-strona__h { color: #000; font-size: 40px; line-height: 1.2; }
@media (max-width: 999px) { .ah-strona__h { font-size: 30px; margin-bottom: 24px; } }
.wc-block-checkout__form { counter-reset: ahkrok; }
.wc-block-checkout__form .wc-block-components-checkout-step__title { color: #000 !important; font: 700 20px/1.3 var(--p) !important; }
.wc-block-checkout__form > .wc-block-components-checkout-step:not([hidden]) .wc-block-components-checkout-step__title::before { counter-increment: ahkrok; content: counter(ahkrok) ". "; }
@media (min-width: 1000px) {
	.wc-block-checkout__sidebar.is-sticky, .wc-block-checkout__sidebar { position: sticky; top: 24px; align-self: flex-start; }
}
.ah-kasa-pobranie { margin: 0 0 12px; font: 400 15px/1.45 var(--l); color: #333; }
/* Odbior osobisty bez faktury: bez pol adresu (kasa.js + inc/kasa.php) */
body.ah-kasa-bez-adresu .wc-block-checkout__billing-fields :is(.wc-block-components-address-form__country, .wc-block-components-address-form__address_1, .wc-block-components-address-form__address_2, .wc-block-components-address-form__address_2-toggle, .wc-block-components-address-form__postcode, .wc-block-components-address-form__city, .wc-block-components-address-form__state) { display: none !important; }
/* Autopay: bez znakow kart (SSL / 3D Secure / MasterCard / VISA) i niebieskiej linii - kartą zapłacić się nie da (KA1) */
body label[for=radio-control-wc-payment-method-options-bluemedia] #radio-control-wc-payment-method-options-bluemedia__label::before,
body label[for=radio-control-wc-payment-method-options-bluemedia] #radio-control-wc-payment-method-options-bluemedia__label::after { content: none !important; display: none !important; }
body label[for=radio-control-wc-payment-method-options-bluemedia] #radio-control-wc-payment-method-options-bluemedia__label { padding-bottom: 0; }
body label[for=radio-control-wc-payment-method-options-bluemedia] #radio-control-wc-payment-method-options-bluemedia__label img { height: 26px; width: auto; }
.wc-block-components-radio-control__label, .wc-block-components-payment-method-label { font-family: var(--l); }

/* Pasek platnosci pod koszykiem/kasa: na komputerze pod kolumna podsumowania (KO7) */
@media (min-width: 1000px) {
	.woocommerce-cart .ah-pl-pod-blokiem, .woocommerce-checkout .ah-pl-pod-blokiem { padding-left: calc(100% - 360px); }
}
/* Pusty koszyk (KO5) */
.ah-pusty { padding: 8px 0 24px; }
.ah-pusty__h { font: 700 28px/1.25 var(--p); color: #000; }
.ah-pusty__p { margin: 10px 0 20px; max-width: 60ch; font: 400 17px/1.6 var(--l); color: #333; }
.ah-pusty__h3 { margin: 44px 0 16px; font: 700 20px/1.3 var(--p); color: #000; }
.ah-dalej-zakupy { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-bottom: 12px; font: 600 15px/1 var(--l); color: #000; text-decoration: underline; text-underline-offset: 3px; }
.ah-dalej-zakupy .ah-i { width: 16px; height: 16px; }
.wc-block-cart-items td.wc-block-cart-item__image { width: 96px !important; }
.wc-block-cart-item__image img { max-width: none !important; }
.ah-pusty .ah-siatka, .ah-pusty .ah-siatka > li { list-style: none; margin-left: 0; padding-left: 0; }
.ah-pusty .ah-siatka > li::marker { content: none; }
.ah-pusty .ah-pusty__h3 { margin-top: 44px !important; }
.ah-pusty a.ah-btn { color: #000 !important; text-decoration: none !important; }

/* ==========================================================================
   AUDYT UX 06.10 - PARTIA 5: kontakt, o nas, galeria, prawne, 404, wyszukiwanie
   ========================================================================== */
/* Kontakt (KT1-KT4, KT6) */
.ah-kt-top { padding: 48px 0 8px; }
.ah-kt-top__h { font: 700 40px/1.2 var(--p); color: #000; }
.ah-kt-top__p { max-width: 62ch; margin-top: 14px; font: 400 18px/1.6 var(--l); color: #333; }
.ah-kt { padding: 32px 0 56px; }
.ah-kt__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.ah-kt__h { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; font: 700 24px/1.3 var(--p); color: #000; }
.ah-kt__h .ah-i { width: 24px; height: 24px; }
.ah-kt__tel { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ah-kt__tel a { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 10px 16px; border: 1px solid #b5b5b5; border-radius: var(--r2); color: #000; text-decoration: none; font: 700 19px/1.25 var(--p); transition: border-color .15s, background .15s; }
.ah-kt__tel a:hover { border-color: #000; background: var(--tlo2); }
.ah-kt__tel .ah-i { width: 22px; height: 22px; flex: none; color: var(--pom-t); }
.ah-kt__tel small { display: block; font: 400 14px/1.3 var(--l); color: var(--szary-t); }
.ah-kt__karty { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.ah-kt__karta { padding: 18px 20px; border-radius: var(--r2); background: var(--tlo2); font: 400 16px/1.6 var(--l); color: #222; }
.ah-kt__karta--pelna { grid-column: 1 / -1; }
.ah-kt__karta p + p { margin-top: 8px; }
.ah-kt__h3 { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font: 700 17px/1.3 var(--p); color: #000; }
.ah-kt__h3 .ah-i { width: 20px; height: 20px; color: var(--pom-t); }
.ah-kt__konto { white-space: nowrap; font-weight: 600; }
.ah-kt__social { display: flex; gap: 8px; margin-top: 20px; }
.ah-kt__social a { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid #cfcfcf; border-radius: 50%; color: #000; }
.ah-kt__social a:hover { border-color: #000; }
.ah-kt__social .ah-i { width: 22px; height: 22px; }
.ah-kt__form .ah-form { margin: 0; width: 100%; }
.ah-mapa { width: min(var(--wrap), calc(100% - 48px)); margin: 0 auto; border-radius: var(--r2); overflow: hidden; }
.ah-mapa iframe { height: 420px; }
.ah-mapa__zaslepka { height: 320px !important; background: var(--tlo2) !important; color: #000 !important; border: 1px solid var(--linia); border-radius: var(--r2); }
.ah-mapa__h { color: #000 !important; font-size: 20px !important; }
.ah-mapa__h .ah-i { color: var(--pom-t); }
.ah-mapa__info { color: #444 !important; font-weight: 400 !important; }
.ah-mapa__info a, .ah-mapa__link a { color: #000 !important; }
.ah-mapa__btn { font-size: 16px !important; }
.ah-montaz { padding: 64px 0 0 !important; }
.ah-montaz .ah-center { text-align: left; }
.ah-montaz__h { font: 700 32px/1.25 var(--p) !important; color: #000; }
.ah-montaz__p { max-width: 70ch; margin-top: 14px !important; font: 400 18px/1.65 var(--l) !important; color: #333; }
.ah-marki { padding: 48px 20px 64px !important; }
.ah-footer__in:not(:has(.ah-footer__kol--kontakt)) { grid-template-columns: 1.2fr 1fr 1fr; }
@media (max-width: 999px) {
	.ah-kt-top { padding: 28px 0 0; }
	.ah-kt-top__h { font-size: 30px; }
	.ah-kt-top__p { font-size: 17px; }
	.ah-kt__in { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.ah-mapa { width: calc(100% - 32px); }
	.ah-montaz__h { font-size: 26px !important; }
	.ah-montaz__p { font-size: 17px !important; }
}
@media (max-width: 480px) { .ah-kt__karty { grid-template-columns: 1fr; } }
/* O nas (O1, O3-O5): tekst do lewej Lato 400 18 px, naglowki czarne, cytat czarny na pomaranczu, bloki wysrodkowane w pionie */
.ah-onas-top { min-height: 0; }
.ah-onas-top .ah-pol__in { font: 400 18px/1.65 var(--l); padding: 72px 0 56px; }
.ah-onas__h1 { font-size: 44px; line-height: 1.2; }
.ah-onas-cytat { min-height: 0; padding: 36px 16px; }
.ah-onas-cytat p { color: #000; font-size: 32px; line-height: 1.35; max-width: 30ch; }
.ah-onas-rzad, .ah-onas-rzad:nth-of-type(3) { min-height: 0; }
.ah-pol--txt { align-items: center; }
.ah-onas-rzad .ah-pol__in, .ah-onas-rzad--odwr .ah-pol__in, .ah-onas-rzad:last-of-type .ah-pol__in { padding-top: 56px; padding-bottom: 56px; }
.ah-onas__h2 { font-size: 36px; line-height: 1.25; color: #000; }
.ah-just { font: 400 18px/1.65 var(--l); color: #222; text-align: left; margin-top: 18px; }
.ah-onas-btn { margin-top: 24px; }
.ah-onas-wyzwania { padding-top: 64px; }
.ah-onas-wyzwania__h { font-size: 36px; line-height: 1.25; color: #000; }
@media (max-width: 999px) {
	.ah-onas__h1 { font-size: 32px; line-height: 1.2; }
	.ah-onas__h2, .ah-onas-wyzwania__h { font-size: 28px; line-height: 1.25; }
	.ah-just { font-size: 17px; line-height: 1.65; }
	.ah-onas-cytat p { font-size: 24px; }
	.ah-onas-top .ah-pol__in, .ah-onas-rzad .ah-pol__in, .ah-onas-rzad:last-of-type .ah-pol__in, .ah-onas-rzad--odwr .ah-pol__in { padding: 36px 16px; }
}
/* Galeria (GA1, GA3): naglowki czarne, tekst do lewej 65ch, siatka 3/2 kolumny, podglad na caly ekran */
.ah-galeria-sek { padding: 56px 0 40px; }
.ah-galeria-sek--2 { padding-top: 40px; }
.ah-galeria-sek .ah-wrap { width: min(var(--wrap), calc(100% - 48px)); }
.ah-galeria-sek__h, .ah-galeria-sek__h--duzy { font: 700 40px/1.2 var(--p); color: #000; text-align: left; }
.ah-galeria-sek--2 .ah-galeria-sek__h { font-size: 32px; }
.ah-galeria-sek__p { max-width: 65ch; margin: 14px 0 0; font: 400 18px/1.65 var(--l); color: #333; text-align: left; }
.ah-galeria-sek__p + .ah-galeria-sek__p { margin-top: 12px; }
.ah-siatka-zdj { margin-top: 28px; }
.ah-siatka-zdj__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ah-siatka-zdj__lista li[hidden] { display: none; }
.ah-siatka-zdj__lista a { display: block; overflow: hidden; border-radius: var(--r); background: var(--tlo2); }
.ah-siatka-zdj__lista img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; transition: transform .3s; }
.ah-siatka-zdj__lista a:hover img { transform: scale(1.03); }
.ah-siatka-zdj__lista a:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.ah-siatka-zdj__wiecej { margin-top: 20px; text-align: center; }
.ah-lb { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .92); padding: 56px 64px; }
.ah-lb[hidden] { display: none; }
.ah-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 4px; }
.ah-lb__x, .ah-lb__str { position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer; }
.ah-lb__x:hover, .ah-lb__str:hover { background: rgba(255, 255, 255, .25); }
.ah-lb__x { top: 12px; right: 12px; }
.ah-lb__str--l { left: 8px; top: 50%; transform: translateY(-50%); }
.ah-lb__str--p { right: 8px; top: 50%; transform: translateY(-50%); }
.ah-lb .ah-i { width: 24px; height: 24px; }
.ah-lb__licz { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; font: 400 15px var(--l); color: #ddd; }
@media (max-width: 759px) {
	.ah-galeria-sek { padding: 32px 0 24px; }
	.ah-galeria-sek__h, .ah-galeria-sek__h--duzy { font-size: 30px; }
	.ah-galeria-sek--2 .ah-galeria-sek__h { font-size: 26px; }
	.ah-galeria-sek__p { font-size: 17px; }
	.ah-galeria-sek .ah-wrap { width: calc(100% - 32px); }
	.ah-siatka-zdj__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.ah-lb { padding: 56px 8px; }
	.ah-lb__str { top: auto; bottom: 8px; transform: none; }
}
/* Regulamin i polityka (R2, R3) */
.ah-strona--prawna .ah-strona__h { margin-bottom: 28px; }
.ah-prawna { display: grid; grid-template-columns: 300px minmax(0, 72ch); gap: 56px; align-items: start; }
.ah-prawna__spis-in { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; padding: 18px 18px 18px 20px; border-radius: var(--r2); background: var(--tlo2); }
.ah-prawna__spis h2 { margin: 0 0 10px !important; font: 700 17px/1.3 var(--p) !important; color: #000; }
.ah-prawna__spis ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ah-prawna__spis li { margin: 0; }
.ah-prawna__spis a { display: block; padding: 6px 0; font: 400 14px/1.4 var(--l); color: #222; text-decoration: none; }
.ah-prawna__spis a:hover { color: #000; text-decoration: underline; text-underline-offset: 3px; }
.ah-strona--prawna .ah-tresc { font: 400 17px/1.65 var(--l); color: #222; }
.ah-strona--prawna .ah-tresc h2[id], .ah-strona--prawna .ah-tresc h3[id], .ah-strona--prawna [id^="p"] { scroll-margin-top: 16px; }
.ah-strona--prawna .ah-tresc ol, .ah-strona--prawna .ah-tresc ul { padding-left: 22px; }
.ah-strona--prawna .ah-tresc li { margin-bottom: 6px; }
.ah-strona--prawna .ah-tresc h2 { font-size: 22px; margin-top: 40px; }
.ah-prawna__wroc { position: fixed; right: 16px; bottom: 16px; z-index: 80; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border-radius: 999px; background: #000; color: #fff; font: 600 15px/1 var(--l); text-decoration: none; box-shadow: 0 4px 16px rgba(0, 0, 0, .2); }
.ah-prawna__wroc[hidden] { display: none; }
.ah-prawna__wroc .ah-i { width: 16px; height: 16px; transform: rotate(180deg); }
@media (max-width: 999px) {
	.ah-prawna { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.ah-prawna__spis-in { position: static; max-height: none; }
	.ah-strona--prawna .ah-tresc { font-size: 16px; }
}
@media (min-width: 1000px) { .ah-prawna__wroc { display: none !important; } }
/* 404 (E1) */
.ah-404__p { max-width: 62ch; font: 400 18px/1.6 var(--l) !important; color: #333; }
.ah-404__p a { color: #000; font-weight: 700; }
.ah-404__akcje { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0 !important; }
.ah-404__h2 { margin: 48px 0 16px; font: 700 24px/1.3 var(--p); color: #000; }
.ah-404 .ah-siatka { list-style: none; padding: 0; }
.ah-voucher .ah-pl--online .ah-pl__zd { color: #444; }
.ah-voucher .ah-pl--online .ah-pl__kafel { border-color: var(--linia); }
.ah-voucher .ah-pl--online .ah-pl__zd { color: #444; }
.ah-voucher .ah-pl--online .ah-pl__kafel { border-color: var(--linia); }
.ah-montaz .ah-wrap { width: min(var(--wrap), calc(100% - 48px)); }
@media (max-width: 999px) { .ah-montaz .ah-wrap { width: calc(100% - 32px); } }
.wc-block-components-checkout-place-order-button .wc-block-components-button__text[data-ah-kwota] > div { display: inline; }
/* Polityka: tabela plikow cookies (na telefonie karty z etykietami) */
.ah-tabela-cookies { width: 100%; margin: 12px 0 8px; border-collapse: collapse; font: 400 15px/1.45 var(--l); }
.ah-tabela-cookies th, .ah-tabela-cookies td { padding: 9px 10px; border-bottom: 1px solid var(--linia); text-align: left; vertical-align: top; }
.ah-tabela-cookies th { font: 700 14px/1.3 var(--p); color: #000; background: var(--tlo2); }
.ah-tabela-cookies td:first-child { font-weight: 700; color: #000; overflow-wrap: anywhere; }
@media (max-width: 759px) {
	.ah-tabela-cookies thead { display: none; }
	.ah-tabela-cookies tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--linia); }
	.ah-tabela-cookies td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; padding: 3px 0; border: 0; }
	.ah-tabela-cookies td::before { font: 600 13px/1.45 var(--l); color: var(--szary-t); }
	.ah-tabela-cookies td:nth-child(1)::before { content: "Nazwa"; }
	.ah-tabela-cookies td:nth-child(2)::before { content: "Rodzaj"; }
	.ah-tabela-cookies td:nth-child(3)::before { content: "Po co"; }
	.ah-tabela-cookies td:nth-child(4)::before { content: "Jak długo"; }
}
/* Baner zgody na cookies (inc/pomiar.php, assets/js/pomiar.js) */
.ah-zgoda { position: fixed; left: 16px; bottom: 16px; z-index: 1200; width: min(460px, calc(100% - 32px)); padding: 20px 22px; border-radius: var(--r2); background: #fff; color: #111; box-shadow: 0 10px 40px rgba(0, 0, 0, .25); border: 1px solid var(--linia); }
.ah-zgoda[hidden] { display: none; }
.ah-zgoda__h { font: 700 18px/1.3 var(--p); color: #000; }
.ah-zgoda__p { margin-top: 8px; font: 400 15px/1.5 var(--l); color: #222; }
.ah-zgoda__p a { color: #000; font-weight: 700; text-decoration: underline; }
.ah-zgoda__opcje { display: grid; gap: 8px; margin-top: 14px; }
.ah-zgoda__opcje[hidden] { display: none; }
.ah-zgoda__opcja { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px 12px; border: 1px solid var(--linia); border-radius: var(--r); font: 400 14px/1.45 var(--l); color: #333; cursor: pointer; }
.ah-zgoda__opcja input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #000; }
.ah-zgoda__opcja b { display: block; font: 700 15px/1.3 var(--p); color: #000; }
.ah-zgoda__opcja.is-stala { cursor: default; background: var(--tlo2); }
.ah-zgoda__przyciski { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; align-items: center; }
.ah-zgoda__przyciski .ah-btn { flex: 1 1 160px; min-height: 46px; }
.ah-zgoda__wybor { min-height: 44px; padding: 0 6px; border: 0; background: none; font: 600 15px/1 var(--l); color: #000; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ah-footer__cookies { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 599px) { .ah-zgoda { left: 8px; right: 8px; bottom: 8px; width: auto; padding: 16px; } }

/* ==========================================================================
   FILMY TIKTOK (inc/tiktok.php, assets/js/tiktok.js) - lokalne okladki 9:16, odtwarzacz TikTok po kliknieciu
   ========================================================================== */
.ah-tt { padding: 64px 0; background: #fff; }
.ah-tt__gora { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin-bottom: 24px; }
.ah-tt__gora .ah-sek-p { margin-top: 10px; max-width: 62ch; }
.ah-tt__obserwuj .ah-i { width: 18px; height: 18px; }
.ah-tt__lista { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ah-tt__lista--8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.ah-tt__lista--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ah-tt__lista--produkt { grid-template-columns: repeat(2, minmax(0, 180px)); }
.ah-tt__el { min-width: 0; }
.ah-tt__karta { position: relative; display: block; aspect-ratio: 9 / 16; overflow: hidden; border-radius: var(--r2); background: #111; color: #fff; text-decoration: none; }
.ah-tt__karta img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.ah-tt__karta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, 0) 38%); pointer-events: none; }
.ah-tt__karta:hover img { transform: scale(1.04); }
.ah-tt__karta:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
.ah-tt__play { position: absolute; top: 50%; left: 50%; z-index: 1; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: rgba(255, 138, 0, .95); color: #000; box-shadow: 0 4px 16px rgba(0, 0, 0, .35); }
.ah-tt__play svg { margin-left: 3px; }
.ah-tt__licz { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 1; display: flex; align-items: center; gap: 4px; font: 700 14px/1.2 var(--l); color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
.ah-tt__info { margin-top: 14px; font: 400 13px/1.5 var(--l); color: var(--szary-t); }
.ah-tt__info a { color: #000; }
.ah-tt--produkt { padding: 28px 0 0; background: none; }
.ah-tt--galeria { background: var(--tlo2); }
/* 760-1199: jeden rzad przewijany w poziomie (karty nie rosna do 400+ px wysokosci) */
@media (max-width: 1199px) and (min-width: 760px) {
	.ah-tt__lista--8, .ah-tt__lista--6 { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 8px; }
	.ah-tt__lista--8 > *, .ah-tt__lista--6 > * { flex: 0 0 calc((100% - 48px) / 5.3); scroll-snap-align: start; }
}
@media (max-width: 759px) {
	.ah-tt { padding: 48px 0; }
	.ah-tt__lista.ah-pasek > * { flex: 0 0 44%; }
	.ah-tt__lista--produkt.ah-pasek > * { flex: 0 0 46%; }
	.ah-tt__gora { align-items: flex-start; }
}
/* okno z odtwarzaczem */
.ah-ttm { position: fixed; inset: 0; z-index: 1150; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(0, 0, 0, .88); }
.ah-ttm[hidden] { display: none; }
.ah-ttm__okno { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; height: min(88vh, 860px); aspect-ratio: 9 / 17.2; max-width: 100%; }
.ah-ttm__ramka { flex: 1 1 auto; width: 100%; border-radius: var(--r2); overflow: hidden; background: #000; }
.ah-ttm__ramka iframe { display: block; width: 100%; height: 100%; border: 0; }
.ah-ttm__x { position: absolute; top: -6px; right: -60px; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .15); color: #fff; cursor: pointer; }
.ah-ttm__x:hover { background: rgba(255, 255, 255, .3); }
.ah-ttm__x:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ah-ttm__link { font: 600 15px/1 var(--l); color: #fff; text-decoration: underline; text-underline-offset: 3px; min-height: 24px; }
@media (max-width: 599px) {
	.ah-ttm { padding: 0; }
	.ah-ttm__okno { width: 100%; height: 100%; aspect-ratio: auto; padding: 56px 0 12px; }
	.ah-ttm__ramka { border-radius: 0; }
	.ah-ttm__x { top: 4px; right: 8px; }
}
/* Formularz wyceny (06.10 noc) */
.ah-pole select { display: block; width: 100%; min-height: 48px; padding: 10px 40px 10px 14px; border: 1px solid #8a8a8a; border-radius: var(--r); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 18px; appearance: none; font: 400 16px/1.4 var(--l); color: #000; }
.ah-pole select:focus { outline: none; border-color: #000; box-shadow: 0 0 0 1px #000; }
.ah-pole label small { font-weight: 400; color: var(--szary-t); }
.ah-pole__op { display: block; margin-top: 4px; font: 400 14px/1.4 var(--l); color: var(--szary-t); }
.ah-form__zdj { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: center; margin-bottom: 18px; padding: 10px; border-radius: var(--r); background: var(--tlo2); font: 400 15px/1.45 var(--l); }
.ah-form__zdj img { width: 120px; height: 90px; object-fit: cover; border-radius: 6px; }
.ah-form__ok a { color: inherit; font-weight: 700; }
/* Voucher (06.10 noc, punkt G) */
.ah-voucher__foto figcaption { margin-top: 8px; font: 600 15px/1.4 var(--l); color: #333; }
.ah-voucher__dla .ah-voucher__op { width: 100%; }
.ah-voucher__wiecej { margin-top: 20px; border-top: 1px solid var(--linia); padding-top: 12px; }
.ah-voucher__wiecej summary { min-height: 44px; display: flex; align-items: center; font: 600 16px/1.3 var(--p); color: #000; cursor: pointer; list-style: none; }
.ah-voucher__wiecej summary::-webkit-details-marker { display: none; }
.ah-voucher__wiecej summary::after { content: "+"; margin-left: auto; font-size: 22px; font-weight: 400; }
.ah-voucher__wiecej[open] summary::after { content: "-"; }
.ah-voucher__wiecej .ah-voucher__format { margin-top: 8px; }
[data-ah-odbiorca] .ah-voucher__wiecej { border-top: 0; padding-top: 0; margin-top: 12px; }

/* ==========================================================================
   DRUGI AUDYT (06.10 noc): hero ze sciezkami, uslugi ze zdjeciem, realizacje, 4 folie, cena, voucher, formularz + dojazd
   ========================================================================== */
.ah-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); grid-template-areas: "txt foto"; grid-template-rows: auto; column-gap: 48px; align-items: center; padding: 40px 0 48px; }
.ah-hero__txt { grid-area: txt; }
.ah-hero__foto { grid-area: foto; }
.ah-hero__p { margin-top: 14px; font-size: 18px; color: #e6e6e6; }
.ah-hero__sciezki { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.ah-sciezka { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 76px; padding: 12px 18px; border-radius: var(--r2); background: var(--pom); color: #000; text-decoration: none; transition: background .15s; }
.ah-sciezka:hover { background: #ff9d2e; }
.ah-sciezka:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ah-sciezka__k { font: 600 13px/1.2 var(--l); text-transform: uppercase; letter-spacing: .06em; }
.ah-sciezka__t { font: 700 18px/1.2 var(--p); }
.ah-sciezka--obrys { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
.ah-sciezka--obrys:hover { background: rgba(255, 255, 255, .1); }
.ah-hero__tel { margin-top: 14px; }
.ah-og--hero { margin-top: 18px; border: 0; }
.ah-hero__foto > img { aspect-ratio: 4 / 3; }
@media (max-width: 999px) and (min-width: 760px) { .ah-hero__sciezki { grid-template-columns: 1fr; } }
@media (max-width: 759px) {
	.ah-hero__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "txt" "foto"; padding: 20px 0 0; }
	.ah-hero__p { margin-top: 10px; font-size: 16px; }
	.ah-hero__sciezki { gap: 8px; margin-top: 16px; }
	.ah-sciezka { min-height: 70px; padding: 10px 12px; }
	.ah-sciezka__k { font-size: 11px; }
	.ah-sciezka__t { font-size: 16px; }
	.ah-og--hero { margin-top: 14px; padding: 8px 12px; }
	.ah-og--hero .ah-og__n { font-size: 22px; }
	.ah-hero__foto { margin: 18px -16px 0; }
	.ah-hero__foto > img { aspect-ratio: 16 / 10; border-radius: 0; }
}
/* uslugi */
.ah-uslugi__siatka--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.ah-usluga { padding: 0; overflow: hidden; }
.ah-usluga__foto { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ah-usluga__in { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.ah-usluga--bez-foto .ah-usluga__ikona { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; background: #1a1a1a; color: var(--pom); }
.ah-usluga--bez-foto .ah-usluga__ikona svg { width: 64px; height: 64px; }
.ah-usluga__tel { text-align: center; }
/* realizacje */
.ah-realizacje { padding: 64px 0; background: var(--tlo2); }
.ah-realizacje__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ah-realizacja { position: relative; overflow: hidden; border-radius: var(--r2); }
.ah-realizacja img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ah-realizacja__zap, .ah-siatka-zdj__zap { position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: #000; font: 600 14px/1 var(--l); text-decoration: none; box-shadow: 0 2px 10px rgba(0, 0, 0, .2); }
.ah-realizacja__zap:hover, .ah-siatka-zdj__zap:hover { background: var(--pom); }
.ah-siatka-zdj__lista li { position: relative; }
.ah-lb__zap { position: absolute; top: 12px; left: 12px; z-index: 2; }
/* 4 folie */
.ah-folie-dom { padding: 64px 0; }
.ah-folie-dom__siatka { grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; }
.ah-folie-dom__siatka > li { list-style: none; }
/* od czego zalezy cena */
.ah-cena { padding: 64px 0; background: var(--tlo2); }
.ah-cena__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.ah-cena__el { padding: 20px 22px; border-radius: var(--r2); background: #fff; border: 1px solid var(--linia); }
.ah-cena__el h3 { margin-top: 10px; font: 700 19px/1.3 var(--p); color: #000; }
.ah-cena__el p { margin-top: 6px; font: 400 16px/1.55 var(--l); color: #333; }
.ah-cena__n { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--pom); color: #000; font: 700 15px/1 var(--p); }
.ah-cena__cta { margin-top: 24px; }
/* voucher pas */
.ah-voucher-pas { padding: 40px 0; background: var(--pom); color: #000; }
.ah-voucher-pas__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.ah-voucher-pas__h { font: 700 26px/1.25 var(--p); color: #000; }
.ah-voucher-pas p { margin-top: 6px; max-width: 62ch; font: 400 16px/1.55 var(--l); }
.ah-voucher-pas .ah-btn--obrys { box-shadow: inset 0 0 0 1.5px #000; color: #000; }
/* formularz + dojazd */
.ah-kontakt-dom__in { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.ah-kontakt-dom .ah-pytanie__h, .ah-kontakt-dom .ah-pytanie__sub { text-align: left; }
.ah-kontakt-dom .ah-pytanie__sub { margin-left: 0; }
.ah-kontakt-dom .ah-form { margin: 20px 0 0; width: 100%; }
.ah-dojazd { padding: 22px; border-radius: var(--r2); background: #fff; border: 1px solid var(--linia); font: 400 16px/1.55 var(--l); color: #222; }
.ah-dojazd__h { display: flex; align-items: center; gap: 8px; font: 700 20px/1.3 var(--p); color: #000; }
.ah-dojazd__h .ah-i { width: 22px; height: 22px; color: var(--pom-t); }
.ah-dojazd p { margin-top: 10px; }
.ah-kt__lead { margin: -6px 0 16px; font: 400 16px/1.55 var(--l); color: #333; }
.ah-tt__folia { display: inline-block; margin-top: 6px; font: 600 14px/1.35 var(--l); color: #000; text-underline-offset: 3px; }
/* baner zgody: zawsze w obrebie ekranu, przewijany (punkt I) */
.ah-zgoda { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 599px) { .ah-zgoda { max-height: calc(100dvh - 16px); } }
@media (max-width: 999px) {
	.ah-kontakt-dom__in { grid-template-columns: minmax(0, 1fr); }
	.ah-folie-dom__siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 759px) {
	.ah-uslugi__siatka--3 { display: flex !important; }
	.ah-realizacje, .ah-folie-dom, .ah-cena { padding: 48px 0; }
	.ah-realizacje__lista.ah-pasek > *, .ah-cena__lista.ah-pasek > * { flex: 0 0 78%; }
	.ah-folie-dom__siatka.ah-pasek > * { flex: 0 0 62%; }
	.ah-voucher-pas__h { font-size: 22px; }
}
@media (min-width: 760px) { .ah-404__p { min-height: 4.9em; } } /* mniej skoku przy wczytaniu kroju */
@media (max-width: 759px) { .ah-siatka-zdj__zap, .ah-realizacja__zap { left: 6px; bottom: 6px; min-height: 32px; padding: 0 9px; font-size: 13px; white-space: nowrap; } }

/* ==========================================================================
   DOBIERZ FOLIĘ DO SWOJEGO AUTA (etap 3, 18.10.2026; inc/dobierz.php, page-dobierz-folie.php, assets/js/dobierz.js)
   Wzorzec: LLumar Window Tint Simulator (pasek wyboru u gory, wynik pod spodem) + probki lakieru z konfiguratorow aut.
   ========================================================================== */
.ah-d { padding: 48px 0 72px; }
.ah-d__h1 { font: 700 40px/1.2 var(--p); color: #000; letter-spacing: -.5px; }
.ah-d__lead { max-width: 62ch; margin-top: 12px; font: 400 18px/1.6 var(--l); color: #333; }
.ah-d__lead strong { color: #000; }
.ah-d__et { margin-top: 26px; font: 600 13px/1.2 var(--p); letter-spacing: .08em; text-transform: uppercase; color: #595959; }
.ah-d__probki { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.ah-d__probka { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 6px 16px 6px 7px; border: 1.5px solid #d9d9d9; border-radius: 999px; background: #fff; color: #000; font: 600 15px/1.2 var(--l); text-decoration: none; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.ah-d__probka:hover { border-color: #000; }
.ah-d__probka.is-on { border-color: #000; box-shadow: inset 0 0 0 1.5px #000; }
.ah-d__probka:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000; }
.ah-d__kolko { flex: none; width: 30px; height: 30px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
.ah-d__probka.is-on .ah-d__kolko { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18), 0 0 0 2px #fff, 0 0 0 3.5px var(--pom); }
.ah-d__pn { padding: 2px 8px; border-radius: 999px; background: var(--tlo2); font: 600 13px/1.2 var(--l); color: #333; }
.ah-d__wyniki { margin-top: 28px; border-top: 1px solid var(--linia); }
.ah-d__folia { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 28px; padding: 26px 0; border-bottom: 1px solid var(--linia); align-items: start; }
.ah-d__h { font: 600 22px/1.25 var(--p); color: #000; text-wrap: balance; }
.ah-d__h a { text-decoration: none; }
.ah-d__h a:hover { text-decoration: underline; }
.ah-d__pod { display: block; margin-top: 4px; font: 400 15px/1.4 var(--l); color: var(--szary-t); }
.ah-d__cena { margin-top: 10px; font: 700 20px/1.3 var(--l); color: #000; }
.ah-d__od { font-weight: 400; font-size: 16px; }
.ah-d__za { font: 400 14px/1.4 var(--l); color: var(--szary-t); }
.ah-d__akcje { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ah-d__akcje .ah-btn { white-space: nowrap; }
.ah-d__zdjecia { display: flex; gap: 10px; margin: 0; padding: 0 0 6px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #c8c8c8 transparent; }
.ah-d__zdjecia li { flex: 0 0 220px; scroll-snap-align: start; }
.ah-d__zdjecia a { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r); background: var(--tlo2); }
.ah-d__zdjecia img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.ah-d__zdjecia a:hover img { transform: scale(1.03); }
.ah-d__zdjecia a:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.ah-d__zdjecia.is-wiecej { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 72px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 72px), transparent); }
.ah-d__brak { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 22px 0 6px; font: 400 16px/1.5 var(--l); color: #333; }
.ah-d__chip { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border: 1.5px solid #d9d9d9; border-radius: 999px; color: #000; font: 600 14px/1 var(--l); text-decoration: none; }
.ah-d__chip:hover { border-color: #000; }
.ah-d__tel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 32px; padding: 20px 24px; border-radius: var(--r2); background: var(--tlo2); font: 400 18px/1.5 var(--l); color: #333; }
.ah-d__tel strong { color: #000; }
/* podglad zdjecia: pasek z nazwa folii i przyciskami */
.ah-d-lb { padding: 56px 64px 92px; }
.ah-d-lb__licz { top: 22px; bottom: auto; left: 20px; right: auto; }
.ah-d-lb__pasek { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 14px 20px; background: rgba(0, 0, 0, .55); color: #fff; }
.ah-d-lb__nazwa { display: flex; flex-direction: column; gap: 2px; font: 400 14px/1.3 var(--l); color: #d9d9d9; }
.ah-d-lb__nazwa b { font: 600 18px/1.25 var(--p); color: #fff; }
.ah-d-lb__akcje { display: flex; gap: 8px; }
/* karta produktu (za flaga): „Ta folia na autach” */
.ah-d-p { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--linia); }
.ah-d-p__h { font: 600 13px/1.2 var(--p); letter-spacing: .08em; text-transform: uppercase; color: #595959; }
.ah-d-p__probki { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ah-d-p .ah-d__probka { min-height: 38px; padding: 4px 12px 4px 5px; font-size: 14px; }
.ah-d-p .ah-d__kolko { width: 26px; height: 26px; }
.ah-d-p__link { margin-top: 10px; font: 400 15px/1.4 var(--l); }
.ah-d-p__link a { color: #000; }
.ah-galeria__miniatury button.is-poza { opacity: .25; }
/* glowna (za flaga): link pod sciezkami */
.ah-hero__dobierz { margin-top: 12px; font: 600 16px/1.4 var(--l); }
.ah-hero__dobierz a { color: var(--pom); text-decoration: none; }
.ah-hero__dobierz a:hover { text-decoration: underline; }
@media (max-width: 1099px) and (min-width: 760px) {
	.ah-d__folia { grid-template-columns: 250px minmax(0, 1fr); gap: 20px; }
	.ah-d__zdjecia li { flex-basis: 200px; }
}
@media (max-width: 759px) {
	.ah-d { padding: 28px 0 48px; }
	.ah-d__h1 { font-size: 30px; }
	.ah-d__lead { margin-top: 10px; font-size: 17px; }
	.ah-d__et { margin-top: 20px; }
	.ah-d__probki { flex-wrap: nowrap; overflow-x: auto; margin: 10px -16px 0; padding: 2px 16px 8px; scroll-snap-type: x proximity; scrollbar-width: none; }
	.ah-d__probki::-webkit-scrollbar { display: none; }
	.ah-d__probka { flex: none; min-height: 42px; scroll-snap-align: start; font-size: 14px; }
	.ah-d__kolko { width: 26px; height: 26px; }
	.ah-d__wyniki { margin-top: 20px; }
	.ah-d__folia { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 0; }
	.ah-d__h { font-size: 19px; }
	.ah-d__cena { margin-top: 6px; font-size: 18px; }
	.ah-d__akcje { margin-top: 10px; flex-wrap: nowrap; }
	.ah-d__akcje .ah-btn { flex: 1 1 0; min-width: 0; padding: 0 10px; font-size: 14px; }
	.ah-d__zdjecia { margin: 0 -16px; padding: 0 16px 4px; scroll-padding-inline: 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.ah-d__zdjecia::-webkit-scrollbar { display: none; }
	.ah-d__zdjecia li { flex-basis: 64vw; }
	.ah-d__brak { padding-top: 18px; font-size: 15px; }
	.ah-d__tel { margin-top: 24px; padding: 16px; font-size: 16px; }
	.ah-d__tel .ah-btn { width: 100%; }
	.ah-d-lb { padding: 56px 8px 118px; }
	.ah-d-lb .ah-lb__str { top: 50%; bottom: auto; transform: translateY(-50%); }
	.ah-d-lb__pasek { padding: 12px 14px; }
	.ah-d-lb__akcje { width: 100%; }
	.ah-d-lb__akcje .ah-btn { flex: 1 1 0; padding: 0 10px; font-size: 14px; }
}
@media (max-width: 759px) { .ah-d .ah-wrap { width: calc(100% - 32px); } }

/* ================= VOUCHER - NOWY UKLAD (18.10.2026, template-parts/voucher-nowy.php, wlaczany flaga AH_VOUCHER_UKLAD_NOWY) =================
   Wzorzec: e-karty Apple Gift Card / Douglas - duzy podglad karty po lewej (przyklejony), konfiguracja krokami po prawej.
   Podglad .ah-vkp = PDF A5 (210 x 148 mm) z inc/voucher-pdf.php: wymiary w mm przez --mm (1 mm = 100cqw / 210), stopnie pt * 0.3528 mm. */
.ah-vn { background: #fff; color: var(--tekst); padding: 40px 0 64px; }
.ah-vn__glowa { grid-area: glowa; padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid var(--linia); }
.ah-vn__nad { font: 600 14px/1.3 var(--p); letter-spacing: .12em; text-transform: uppercase; color: var(--szary-t); }
.ah-vn__h { margin-top: 8px; font: 700 36px/1.18 var(--p); color: #000; }
.ah-vn__lead { margin-top: 10px; font: 400 17px/1.55 var(--l); color: #333; }
.ah-vn__lead strong { color: #000; }
.ah-vn__in { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); grid-template-areas: "scena glowa" "scena form"; grid-template-rows: auto 1fr; column-gap: 48px; align-items: start; }
.ah-vn__scena { grid-area: scena; position: sticky; top: 24px; background: #ececec; border-radius: var(--r2); }
.ah-vn__form { grid-area: form; }
.ah-vn__scena-in { padding: 44px 40px 28px; }
.ah-vn__karta { container-type: inline-size; transform: rotate(-1.5deg); }
.ah-vn__karta.is-zmiana .ah-vkp { animation: ah-vk-puls .35s ease-out; }
@keyframes ah-vk-puls { 0% { transform: scale(.975); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .ah-vn__karta { transform: none; } .ah-vn__karta.is-zmiana .ah-vkp { animation: none; } }
/* karta = CZARNY PDF A5 (ah_voucher_pdf_cz_a5): karta 198 x 136,5 mm, 1 mm = 100cqw / 198; top = linia bazowa z PDF - 0,8 x stopien */
.ah-vkp { --mm: calc(100cqw / 198); position: relative; aspect-ratio: 198 / 136.5; background: #0b0b0b; color: #d9d9d9; border-radius: calc(var(--mm) * 1.2);
	box-shadow: 0 22px 44px rgba(0, 0, 0, .35), 0 4px 10px rgba(0, 0, 0, .2); overflow: hidden; font-family: var(--l); line-height: 1.2; }
.ah-vkp b, .ah-vkp i { font-style: normal; }
.ah-vkp > * { position: absolute; }
.ah-vkp__ramka { inset: calc(var(--mm) * 5); border: max(1px, calc(var(--mm) * .35)) solid var(--pom); }
.ah-vkp__logo { left: calc(var(--mm) * 15); top: calc(var(--mm) * 13); width: calc(var(--mm) * 38); color: var(--pom); }
.ah-vkp__logo svg { display: block; width: 100%; height: auto; }
.ah-vkp__tyt { right: calc(var(--mm) * 35); top: calc(var(--mm) * 18.3); display: flex; flex-direction: column; align-items: flex-end; color: var(--pom); }
.ah-vkp__tyt b { font: 700 calc(var(--mm) * 12.7) / 1 var(--p); letter-spacing: .01em; }
.ah-vkp__tyt i { margin-top: calc(var(--mm) * .4); font: 700 calc(var(--mm) * 5.7) / 1 var(--p); }
.ah-vkp__kokardka { left: calc(var(--mm) * 171.6); top: calc(var(--mm) * 4.7); width: calc(var(--mm) * 18.9); height: auto; color: var(--pom); }
.ah-vkp__lewa { left: calc(var(--mm) * 15); top: calc(var(--mm) * 46); width: calc(var(--mm) * 92); max-height: calc(var(--mm) * 56); overflow: hidden; display: flex; flex-direction: column; }
.ah-vkp__wart { font: 400 calc(var(--mm) * 3.35) / 1.2 var(--l); color: #a6a6a6; }
.ah-vkp__kwota { margin-top: calc(var(--mm) * 2.2); font: 700 calc(var(--mm) * 13.4) / 1 var(--p); color: #fff; white-space: nowrap; }
.ah-vkp__opis { margin-top: calc(var(--mm) * 2.8); font: 400 calc(var(--mm) * 3.1) / calc(var(--mm) * 4.1) var(--l); color: #d9d9d9; }
.ah-vkp__dl { position: static; display: flex; align-items: baseline; gap: calc(var(--mm) * 2); margin-top: calc(var(--mm) * 2); min-width: 0; }
.ah-vkp__dl + .ah-vkp__dl { margin-top: calc(var(--mm) * .9); }
.ah-vkp__dl i { flex: none; width: calc(var(--mm) * 8); font: 400 calc(var(--mm) * 3.35) / 1.2 var(--l); color: #a6a6a6; }
.ah-vkp__dl b { font: 700 calc(var(--mm) * 3.88) / 1.2 var(--l); color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ah-vkp__wiad { margin-top: calc(var(--mm) * 2.2); font: italic 400 calc(var(--mm) * 3.25) / calc(var(--mm) * 4.1) var(--l); color: #d9d9d9;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.ah-vkp__kod { left: calc(var(--mm) * 15); top: calc(var(--mm) * 103.5); width: calc(var(--mm) * 93); height: calc(var(--mm) * 18.5); box-sizing: border-box;
	padding: calc(var(--mm) * 4.6) calc(var(--mm) * 4.5) 0; background: #161616; border: max(1px, calc(var(--mm) * .45)) solid var(--pom); border-radius: calc(var(--mm) * 1.2); }
.ah-vkp__kod-g { display: flex; justify-content: space-between; align-items: baseline; font-size: 0; line-height: 1; }
.ah-vkp__kod .ah-vkp__et { margin: 0; }
.ah-vkp__et { display: block; font: 600 calc(var(--mm) * 2.3) / 1 var(--p); letter-spacing: .14em; text-transform: uppercase; color: var(--pom); }
.ah-vkp__nr { font: 600 calc(var(--mm) * 2.2) / 1 var(--p); letter-spacing: .05em; color: #a6a6a6; }
.ah-vkp__kod b { display: block; margin-top: calc(var(--mm) * 3); font: 700 calc(var(--mm) * 5.1) / 1 var(--p); letter-spacing: .03em; color: #fff; white-space: nowrap; }
.ah-vkp__prawa { left: calc(var(--mm) * 120); top: calc(var(--mm) * 46.6); width: calc(var(--mm) * 63); display: flex; flex-direction: column; }
.ah-vkp__prawa .ah-vkp__et { font-size: calc(var(--mm) * 2.47); }
.ah-vkp__data { margin-top: calc(var(--mm) * 2.4); font: 700 calc(var(--mm) * 4.94) / 1 var(--p); color: #fff; }
.ah-vkp__jak { margin-top: calc(var(--mm) * 6.2); font: 700 calc(var(--mm) * 3.35) / 1.1 var(--p); color: #fff; }
.ah-vkp__jak-h { margin-top: calc(var(--mm) * 2.6); font: 700 calc(var(--mm) * 3) / 1.15 var(--l); color: var(--pom); }
.ah-vkp__mal { margin-top: calc(var(--mm) * .9); font: 400 calc(var(--mm) * 2.75) / calc(var(--mm) * 3.6) var(--l); color: #d9d9d9; }
.ah-vkp__war { margin-top: calc(var(--mm) * 3); font: 400 calc(var(--mm) * 2.26) / calc(var(--mm) * 3) var(--l); color: #a6a6a6; }
.ah-vn__fakty { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 36px 0 0; padding: 20px 0 0; list-style: none; border-top: 1px solid #d0d0d0; }
.ah-vn__fakty li { display: flex; gap: 10px; align-items: flex-start; font: 400 14px/1.4 var(--l); color: #444; }
.ah-vn__fakty b { display: block; font: 600 15px/1.3 var(--p); color: #000; }
.ah-vn__fakty .ah-i { width: 22px; height: 22px; margin-top: 1px; color: #000; }
/* konfiguracja */
.ah-vn__form { min-width: 0; }
.ah-vn__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; }
.ah-vn__krok { border: 0; margin: 0; padding: 0 0 28px; min-width: 0; }
.ah-vn__krok + .ah-vn__krok { padding-top: 26px; border-top: 1px solid var(--linia); }
.ah-vn__kh { float: left; width: 100%; display: flex; align-items: center; gap: 12px; padding: 0; margin-bottom: 16px; font: 700 20px/1.3 var(--p); color: #000; }
.ah-vn__kh + * { clear: both; }
.ah-vn__nr { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #000; color: #fff; font: 700 14px/1 var(--p); flex: none; }
.ah-vn__kwoty { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ah-vn__kafel { position: relative; cursor: pointer; }
.ah-vn__kafel--inna { grid-column: span 2; }
.ah-vn__kafel input, .ah-vn__seg input, .ah-vn__format input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ah-vn__kafel span { display: flex; align-items: baseline; justify-content: center; gap: 4px; min-height: 68px; padding: 18px 10px 0; box-sizing: border-box; background: #fff; border: 1px solid #b5b5b5; border-radius: 10px;
	font: 600 16px/1.2 var(--l); color: #000; transition: border-color .15s, background-color .15s, color .15s; }
.ah-vn__kafel b { font: 700 26px/1 var(--p); }
.ah-vn__kafel--inna span { align-items: center; padding-top: 0; font: 600 17px/1.2 var(--p); }
.ah-vn__kafel:hover span { border-color: #000; }
.ah-vn__kafel input:checked + span { background: #000; border-color: #000; color: #fff; }
.ah-vn__kafel input:focus-visible + span, .ah-vn__seg input:focus-visible + span, .ah-vn__format input:focus-visible + span { outline: 2px solid #000; outline-offset: 3px; }
.ah-vn__inna { margin-top: 14px; }
.ah-vn__inna label { display: block; font: 600 15px/1.4 var(--l); color: #000; margin-bottom: 6px; }
.ah-vn__inna-pole { display: inline-flex; align-items: center; gap: 8px; font: 600 18px var(--p); color: #000; }
.ah-vn__inna input { width: 180px; min-height: 52px; border: 1px solid #8a8a8a; border-radius: var(--r); padding: 10px 14px; font: 700 20px/1.2 var(--p); color: #000; background: #fff; }
.ah-vn__ilosc { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; }
.ah-vn__ilosc-et { font: 600 16px/1.3 var(--l); color: #000; }
.ah-vn .ah-ilosc { display: inline-flex; align-items: center; height: 48px; border: 1px solid #8a8a8a; border-radius: var(--r); background: #fff; }
.ah-vn .ah-ilosc button { width: 44px; height: 46px; color: #000; background: none; border: 0; cursor: pointer; }
.ah-vn .ah-ilosc input { width: 44px; height: 46px; border: 0; background: transparent; color: #000; text-align: center; font: 600 16px var(--l); -moz-appearance: textfield; }
.ah-vn__seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border: 1px solid #b5b5b5; border-radius: 12px; background: #fff; }
.ah-vn__seg label { position: relative; cursor: pointer; }
.ah-vn__seg span { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 10px; border-radius: 8px; font: 600 16px/1.2 var(--p); color: #000; text-align: center; transition: background-color .15s, color .15s; }
.ah-vn__seg label:hover span { background: #f2f2f2; }
.ah-vn__seg input:checked + span { background: #000; color: #fff; }
.ah-vn__op { display: block; margin-top: 10px; font: 400 15px/1.5 var(--l); color: var(--szary-t); }
.ah-vn__op b { color: #000; }
.ah-vn__odb { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; margin-top: 18px; }
.ah-vn__odb[hidden] { display: none; }
.ah-vn__pole { margin: 0; min-width: 0; }
.ah-vn__pole--szer { grid-column: 1 / -1; }
.ah-vn__pole label { display: block; font: 600 15px/1.4 var(--l); color: #000; margin-bottom: 6px; }
.ah-vn__pole input, .ah-vn__pole textarea { width: 100%; box-sizing: border-box; min-height: 48px; border: 1px solid #8a8a8a; border-radius: var(--r); background: #fff; color: #000; padding: 10px 14px; font: 400 16px/1.4 var(--l); }
.ah-vn__pole textarea { min-height: 88px; resize: vertical; margin-top: 10px; }
.ah-vn__pole input:focus, .ah-vn__pole textarea:focus, .ah-vn__inna input:focus { outline: none; border-color: #000; box-shadow: 0 0 0 1px #000; }
.ah-vn__pole .ah-vn__op { margin-top: 6px; font-size: 14px; }
.ah-vn__chipy { display: flex; flex-wrap: wrap; gap: 8px; }
.ah-vn__chip { min-height: 40px; padding: 0 14px; border: 1px solid #b5b5b5; border-radius: 999px; background: #fff; color: #000; font: 400 15px/1.2 var(--l); cursor: pointer; white-space: nowrap; }
.ah-vn__chip:hover { border-color: #000; }
.ah-vn__chip[aria-pressed="true"] { border-color: #000; background: #000; color: #fff; }
.ah-vn__chip:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.ah-vn__wiecej { border-top: 1px solid var(--linia); padding: 6px 0; }
.ah-vn__wiecej summary { min-height: 48px; display: flex; align-items: center; font: 600 16px/1.3 var(--p); color: #000; cursor: pointer; list-style: none; }
.ah-vn__wiecej summary::-webkit-details-marker { display: none; }
.ah-vn__wiecej summary::after { content: "+"; margin-left: auto; padding-left: 12px; font-size: 22px; font-weight: 400; }
.ah-vn__wiecej[open] summary::after { content: "-"; }
.ah-vn__wiecej summary:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.ah-vn__format { display: flex; flex-wrap: wrap; gap: 8px; border: 0; margin: 4px 0 10px; padding: 0; min-width: 0; }
.ah-vn__format label { position: relative; cursor: pointer; }
.ah-vn__format span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid #b5b5b5; border-radius: var(--r); font: 600 15px/1.2 var(--l); color: #000; background: #fff; }
.ah-vn__format input:checked + span { border: 2px solid #000; padding: 0 13px; }
.ah-vn__format .ah-vn__op { width: 100%; margin-top: 4px; }
.ah-vn__suma { border-top: 1px solid var(--linia); padding-top: 18px; }
.ah-vn__razem { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; font: 400 17px var(--l); color: #333; }
.ah-vn__razem strong { font: 700 30px/1.1 var(--p); color: #000; }
.ah-vn__kup { font-size: 17px; }
.ah-vn .ah-pl { margin-top: 16px; }
.ah-vn .ah-pl--online .ah-pl__zd { color: #444; }
.ah-vn .ah-pl--online .ah-pl__kafel { border-color: var(--linia); }
/* jak to dziala - czarny pas */
.ah-vn-sek__h { font: 700 28px/1.25 var(--p); color: #000; }
.ah-vn-jak { background: #0e0e0e; color: #fff; padding: 40px 0; }
.ah-vn-jak .ah-wrap { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; align-items: center; }
.ah-vn-jak .ah-vn-sek__h { color: #fff; }
.ah-vn-jak__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: k; }
.ah-vn-jak__lista li { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 0 28px; border-left: 1px solid rgba(255, 255, 255, .16); }
.ah-vn-jak__ico { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: none; border-radius: 50%; border: 1.5px solid var(--pom); color: var(--pom); }
.ah-vn-jak__ico .ah-i { width: 22px; height: 22px; }
.ah-vn-jak__lista b { display: block; font: 600 17px/1.3 var(--p); color: #fff; }
.ah-vn-jak__lista span:not(.ah-vn-jak__ico) { display: block; margin-top: 4px; font: 400 15px/1.5 var(--l); color: #d6d6d6; }
.ah-vn-jak__lista strong { color: #fff; }
/* na co wykorzystac - 2 kafle ze zdjeciami z realizacji */
.ah-vn-gdzie { padding: 56px 0 64px; background: #fff; }
.ah-vn-gdzie__siatka { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.ah-vn-gdzie__kafel { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); min-height: 240px; border: 1px solid var(--linia); border-radius: var(--r2); overflow: hidden; color: #333; text-decoration: none; background: #fff; transition: border-color .15s; }
.ah-vn-gdzie__kafel:hover { border-color: #000; }
.ah-vn-gdzie__kafel:focus-visible { outline: 2px solid #000; outline-offset: 3px; }
.ah-vn-gdzie__kafel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ah-vn-gdzie__kafel img.ah-vn-gdzie__img-sklep { object-position: 30% 70%; }
.ah-vn-gdzie__tx { display: flex; flex-direction: column; gap: 8px; padding: 24px; font: 400 16px/1.55 var(--l); }
.ah-vn-gdzie__tx b { font: 700 20px/1.3 var(--p); color: #000; }
.ah-vn-gdzie__tx strong { color: #000; }
.ah-vn-gdzie__link { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font: 600 15px/1.3 var(--p); color: #000; text-decoration: underline; text-underline-offset: 3px; }
.ah-vn-gdzie__link .ah-i { width: 18px; height: 18px; }
@media (max-width: 1100px) {
	.ah-vn__in { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); column-gap: 32px; }
	.ah-vn__h { font-size: 30px; }
	.ah-vn__scena-in { padding: 32px 22px 24px; }
	.ah-vn__fakty { gap: 12px; margin-top: 28px; }
	.ah-vn__fakty li { flex-direction: column; gap: 6px; font-size: 13px; }
	.ah-vn-jak .ah-wrap { grid-template-columns: 1fr; gap: 20px; }
	.ah-vn-jak__lista li:first-child { border-left: 0; padding-left: 0; }
	.ah-vn-gdzie__kafel { grid-template-columns: minmax(0, 38%) minmax(0, 1fr); }
}
@media (max-width: 859px) {
	.ah-vn { padding: 18px 0 40px; }
	.ah-vn__glowa { padding-bottom: 0; margin-bottom: 16px; border-bottom: 0; }
	.ah-vn__nad { font-size: 12px; }
	.ah-vn__h { margin-top: 4px; font-size: 25px; line-height: 1.2; }
	.ah-vn__lead { font-size: 15px; margin-top: 6px; }
	.ah-vn__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "glowa" "scena" "form"; grid-template-rows: auto; }
	.ah-vn__scena { position: static; margin-bottom: 22px; }
	.ah-vn__scena { width: 100vw; margin-left: calc(50% - 50vw); border-radius: 0; }
	.ah-vn__scena-in { padding: 18px max(16px, calc(50vw - 50%)) 20px; }
	.ah-vn__karta { transform: none; max-width: 480px; margin: 0 auto; }
	.ah-vn__fakty { display: none; }
	.ah-vn__kafel span { min-height: 60px; padding-top: 16px; }
	.ah-vn__kafel b { font-size: 23px; }
	.ah-vn__kh { font-size: 18px; margin-bottom: 14px; }
	.ah-vn__odb { grid-template-columns: 1fr; gap: 14px; }
	.ah-vn__seg span { font-size: 15px; padding: 0 6px; }
	.ah-vn__chipy { flex-wrap: nowrap; overflow-x: auto; width: 100vw; margin-left: calc(50% - 50vw); padding: 2px calc(50vw - 50%) 4px; box-sizing: border-box; scrollbar-width: none; }
	.ah-vn__chipy::-webkit-scrollbar { display: none; }
	.ah-vn-sek__h { font-size: 22px; }
	.ah-vn-jak { padding: 28px 0; }
	.ah-vn-jak__lista { grid-template-columns: 1fr; gap: 18px; }
	.ah-vn-jak__lista li { padding: 0; border-left: 0; }
	.ah-vn-jak__lista li + li::before { content: ""; position: absolute; left: 23px; top: -18px; height: 18px; border-left: 1px dashed rgba(255, 255, 255, .3); }
	.ah-vn-jak__ico { width: 46px; height: 46px; }
	.ah-vn-gdzie { padding: 32px 0 40px; }
	.ah-vn-gdzie__siatka { grid-template-columns: 1fr; gap: 12px; margin-top: 16px; }
	.ah-vn-gdzie__kafel { grid-template-columns: 112px minmax(0, 1fr); min-height: 0; }
	.ah-vn-gdzie__tx { padding: 14px 16px; gap: 4px; font-size: 15px; line-height: 1.45; }
	.ah-vn-gdzie__tx b { font-size: 17px; }
	.ah-vn-gdzie__link { margin-top: 6px; font-size: 14px; }
}

/* ================= NAGLOWKI STRON - NOWY SYSTEM (18.10.2026, inc/naglowki.php, flaga AH_NAGLOWKI_NOWE) =================
   Wzorzec: Shopify Dawn „Collection banner” + naglowki firm uslugowych ze zdjeciem obok tekstu.
   A: tytul + zdanie | zdjecie / kolaz / karta faktow (niski, pierwszy ekran pokazuje tresc); B: ciemny pas; C: jasny niski pas z krokami. */
.ah-ng { color: var(--tekst); }
.ah-ng__in { display: grid; align-items: center; }
.ah-ng__tx { min-width: 0; }
.ah-ng .ah-okruszki { margin-bottom: 10px; }
.ah-ng__nad { font: 600 13px/1.3 var(--p); letter-spacing: .12em; text-transform: uppercase; color: var(--szary-t); margin-bottom: 6px; }
.ah-ng__h { font: 700 40px/1.15 var(--p); color: #000; text-wrap: balance; }
.ah-ng__p { margin-top: 12px; max-width: 54ch; font: 400 18px/1.55 var(--l); color: #333; }
.ah-ng__p strong { color: #000; }
.ah-ng__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font: 600 16px/1.3 var(--p); color: #000; text-decoration: underline; text-underline-offset: 3px; }
.ah-ng__link .ah-i { width: 18px; height: 18px; }
/* A */
.ah-ng--a { padding: 32px 0 28px; }
.ah-ng--a .ah-ng__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.ah-ng__media { min-width: 0; }
.ah-ng__foto { display: block; width: 100%; height: 280px; object-fit: cover; border-radius: var(--r2); }
.ah-ng__kolaz { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; height: 280px; }
.ah-ng__kolaz img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--r2); display: block; min-height: 0; }
.ah-ng__kolaz img:first-child { grid-row: 1 / 3; }
.ah-ng__fakty { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; padding: 0; list-style: none; background: #333; border-radius: var(--r2); overflow: hidden; }
.ah-ng__fakty--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ah-ng__fakty li { display: flex; flex-direction: column; gap: 4px; padding: 20px 22px; background: #0e0e0e; }
.ah-ng__fakty b { font: 700 26px/1.15 var(--p); color: #fff; white-space: nowrap; }
.ah-ng__fakty span { font: 400 15px/1.4 var(--l); color: #d6d6d6; }
.ah-ng__karta { padding: 20px 22px 14px; border: 1px solid var(--linia); border-radius: var(--r2); background: var(--tlo2); }
.ah-ng--dobierz { padding: 0 0 8px; }
.ah-ng--dobierz .ah-ng__karta .ah-d__et { margin-top: 0; }
/* B */
.ah-ng--b { padding: 36px 0; background: #0e0e0e; color: #fff; }
.ah-ng--b .ah-ng__in { grid-template-columns: minmax(0, 1fr) auto; gap: 16px 40px; }
.ah-ng--b .ah-ng__h { color: #fff; font-size: 36px; }
.ah-ng--b .ah-ng__p { margin-top: 8px; color: #d6d6d6; font-size: 17px; }
.ah-ng--b .ah-ng__p strong { color: #fff; }
.ah-ng__prawa { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.ah-ng__dok { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 10px; background: transparent; color: #fff; font: 600 15px/1.2 var(--p); text-decoration: none; cursor: pointer; }
.ah-ng__dok:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.ah-ng__dok:focus-visible, .ah-ng--b .ah-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ah-ng__dok .ah-i { width: 18px; height: 18px; }
/* C */
.ah-ng--c { padding: 22px 0; background: var(--tlo2); border-bottom: 1px solid var(--linia); }
.ah-ng--c .ah-ng__in { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 32px; }
.ah-ng--c .ah-ng__h { font-size: 30px; }
.ah-ng__kroki { display: flex; gap: 22px; margin: 0; padding: 0; list-style: none; }
.ah-ng__kroki li { display: flex; align-items: center; gap: 8px; font: 400 15px/1.3 var(--l); color: var(--szary-t); white-space: nowrap; }
.ah-ng__kroki span { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #8a8a8a; font: 700 13px/1 var(--p); color: #333; }
.ah-ng__kroki li.is-on { color: #000; font-weight: 700; }
.ah-ng__kroki li.is-on span { background: #000; border-color: #000; color: #fff; }
.ah-ng__kroki li.is-za span { background: #fff; border-color: #000; color: #000; }
/* tresc pod nowym naglowkiem: mniejsze odstepy (stare naglowki byly czescia tych sekcji) */
.ah-ng-on .ah-strona { padding-top: 40px; }
.ah-ng-on .ah-strona--sklep { padding-top: 28px; }
.ah-ng-on .ah-galeria-sek--1 { padding-top: 48px; }
.ah-ng-on .ah-kt { padding-top: 32px; }
.ah-ng-on .ah-sklep__rolka { display: block; margin-top: 4px; }
.ah-ng-on .ah-sklep__rolka a { color: #000; font-weight: 700; }
@media (max-width: 1100px) {
	.ah-ng__h { font-size: 31px; }
	.ah-ng--a .ah-ng__in { gap: 32px; }
	.ah-ng__foto, .ah-ng__kolaz { height: 240px; }
	.ah-ng__fakty li { padding: 16px 16px; }
	.ah-ng__fakty b { font-size: 22px; }
	.ah-ng__fakty span { font-size: 14px; }
}
@media (max-width: 859px) {
	.ah-ng--a { padding: 20px 0 18px; }
	.ah-ng--a .ah-ng__in, .ah-ng--b .ah-ng__in, .ah-ng--c .ah-ng__in { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.ah-ng__h { font-size: 27px; line-height: 1.2; }
	.ah-ng__p { margin-top: 8px; font-size: 16px; }
	.ah-ng__foto { height: auto; aspect-ratio: 3 / 1.15; }
	.ah-ng__kolaz { height: auto; aspect-ratio: 3 / 1.25; gap: 6px; }
	.ah-ng__kolaz img { border-radius: 8px; }
	.ah-ng__fakty, .ah-ng__fakty--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ah-ng__fakty--3 li:first-child { grid-column: 1 / -1; }
	.ah-ng__fakty li { padding: 11px 14px; gap: 2px; }
	.ah-ng__fakty b { font-size: 19px; }
	.ah-ng__fakty span { font-size: 13px; line-height: 1.35; }
	.ah-ng__karta { padding: 14px 14px 8px; }
	.ah-ng--b { padding: 24px 0; }
	.ah-ng--b .ah-ng__h { font-size: 27px; }
	.ah-ng__prawa { justify-content: flex-start; }
	.ah-ng--b .ah-ng__prawa .ah-btn { flex: 1 1 140px; padding: 0 12px; }
	.ah-ng--c { padding: 16px 0; }
	.ah-ng--c .ah-ng__h { font-size: 24px; }
	.ah-ng__kroki { gap: 12px; }
	.ah-ng__kroki li { font-size: 13px; white-space: normal; }
	.ah-ng__kroki li:not(.is-on) { font-size: 0; gap: 0; }
	.ah-ng__kroki li:not(.is-on) span { font-size: 13px; }
	.ah-ng-on .ah-strona { padding-top: 24px; }
	.ah-ng-on .ah-strona--sklep { padding-top: 16px; }
	.ah-ng-on .ah-galeria-sek--1 { padding-top: 32px; }
	.ah-ng-on .ah-kt { padding-top: 16px; }
}

/* --- Menu mobilne ZWARTE (18.10.2026, Danusia: „menu hamburger za wysokie”): wiersze 46 px, telefony jednym rzedem przyciskow bez numerow,
   godziny w jednej linii - calosc miesci sie na 390x844 bez przewijania (header.php) --- */
.ah-menu-mobile { padding: 0 16px 20px; }
.ah-menu-mobile__nav { margin: 4px 0 16px; }
.ah-menu-mobile__nav a { min-height: 46px; font-size: 18px; }
.ah-menu-mobile__et { margin-top: 18px; font: 600 13px/1.2 var(--l); letter-spacing: .06em; text-transform: uppercase; color: #bdbdbd; }
.ah-menu-mobile__tel { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-top: 8px; }
.ah-menu-mobile__tel a { justify-content: center; gap: 6px; min-height: 46px; padding: 0 6px; font: 600 14px/1.2 var(--p); white-space: nowrap; }
.ah-menu-mobile__tel a .ah-i { width: 16px; height: 16px; }
.ah-menu-mobile__godz { margin-top: 14px; font: 400 13px/1.5 var(--l); }
/* 19.10: po dodaniu „Dobierz folię” (8 pozycji) - niskie ekrany (360x640) bez przewijania menu */
@media (max-height: 700px) { .ah-menu-mobile__nav a { min-height: 42px; } .ah-menu-mobile__et { margin-top: 14px; } }

/* Sieroty i szewcy (18.10.2026): text-wrap: pretty takze w kafelkach, etykietach i podpisach (nie tylko p/li) - :where = zero specyficznosci,
   wiec naglowki dalej maja balance, a kazda regula komponentu wygrywa. */
:where(body *) { text-wrap-style: pretty; } /* tylko styl (nie tryb) - nie psuje white-space: nowrap dziedziczonego z rodzica */
:where(h1, h2, h3) { text-wrap-style: balance; }
/* Mobile (18.10.2026, przeglad ekran po ekranie): przyciski bez lamania na 2 linie - sciezki w hero jedna pod druga do 480 px,
   dolny pasek telefonu z krotszym odstepem i bez zawijania */
@media (max-width: 480px) {
	.ah-hero__sciezki { grid-template-columns: 1fr; }
	.ah-sciezka { min-height: 60px; flex-direction: row; flex-wrap: wrap; align-items: baseline; align-content: center; justify-content: flex-start; column-gap: 10px; }
}
.ah-dolny-pasek .ah-btn { padding: 0 10px; font-size: 15px; white-space: nowrap; }
@media (max-width: 379px) { .ah-vn__seg span { font-size: 14px; padding: 0 4px; } }

/* --- Formularz wyceny + Dojazd (18.10.2026, Danusia: „popraw układ”): jedna karta formularza (bez ramki w ramce), pola ciasniej,
   prawa kolumna tej samej wysokosci - zdjecie warsztatu (elastyczne) + zwarty blok dojazdu z „Wyznacz trasę” i „Zadzwoń” (bez numeru w przycisku) --- */
.ah-kontakt-dom__in { align-items: stretch; }
.ah-kontakt-dom__form { padding: 32px; border-radius: var(--r2); background: #fff; border: 1px solid var(--linia); }
.ah-kontakt-dom .ah-form, .ah-kt__form .ah-form { padding: 0; border: 0; border-radius: 0; background: none; }
.ah-kt__form { padding: 32px; border-radius: var(--r2); background: #fff; border: 1px solid var(--linia); }
@media (max-width: 759px) { .ah-kt__form { padding: 22px 16px; } }
@media (max-width: 999px) and (min-width: 760px) { .ah-dojazd { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .ah-dojazd__foto { min-height: 240px; } }
.ah-form__rzad--2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ah-form__rzad--3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); }
.ah-form--wycena .ah-pole { margin-bottom: 14px; }
.ah-form--wycena .ah-pole textarea { min-height: 96px; }
.ah-form--wycena .ah-form__btn { margin-top: 4px; }
.ah-form--wycena .ah-form__info { margin: 12px 0 0; font-size: 13px; line-height: 1.5; }
.ah-dojazd { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.ah-dojazd__foto { position: relative; display: block; flex: 1 1 auto; min-height: 200px; }
.ah-dojazd__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.ah-dojazd__in { padding: 22px 24px 24px; }
.ah-dojazd__in p { margin-top: 10px; }
.ah-dojazd__akcje { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.ah-dojazd__akcje .ah-btn { white-space: nowrap; padding: 0 12px; }
@media (max-width: 999px) and (min-width: 760px) { .ah-form__rzad--3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .ah-form__rzad--3 .ah-pole:first-child { grid-column: 1 / -1; } }
@media (max-width: 759px) {
	.ah-kontakt-dom__in { grid-template-columns: minmax(0, 1fr); }
	.ah-kontakt-dom__form { padding: 22px 16px; }
	.ah-form__rzad--2, .ah-form__rzad--3 { grid-template-columns: minmax(0, 1fr); }
	.ah-dojazd__foto { flex: none; min-height: 0; aspect-ratio: 16 / 9; }
}
/* /kontakt/ (18.10): karta formularza tej samej wysokosci co lewa kolumna - nadwyzke bierze pole „Dodatkowe informacje” (bez pustego dolu) */
@media (min-width: 1000px) {
	.ah-kt__in { align-items: stretch; }
	.ah-kt__form { display: flex; flex-direction: column; }
	.ah-kt__form .ah-form { flex: 1 1 auto; display: flex; flex-direction: column; }
	.ah-kt__form .ah-pole--dluga { flex: 1 1 auto; display: flex; flex-direction: column; }
	.ah-kt__form .ah-pole--dluga textarea { flex: 1 1 auto; }
}
/* Wlasne ikony Auto-Hit (18.10.2026, inc/ikony.php za flaga AH_IKONY_WLASNE): linia w kolorze tekstu, akcent pomaranczowy z ikony;
   na pomaranczowym tle (przyciski) akcent przechodzi w kolor tekstu, zeby nie znikal */
svg.ah-i--w { color: inherit !important; }
.ah-btn:not(.ah-btn--obrys) .ah-i--w [fill="#FF8A00"], .ah-sciezka:not(.ah-sciezka--obrys) .ah-i--w [fill="#FF8A00"], .ah-zg__b--tak .ah-i--w [fill="#FF8A00"] { fill: currentColor; }
.ah-btn:not(.ah-btn--obrys) .ah-i--w [stroke="#FF8A00"] { stroke: currentColor; }
.ah-usluga__ikona .ah-i--w { width: 40px; height: 40px; }

/* Galeria: Folie PPF Glass (19.10) - podtytuly 15% / 35%; na telefonie (2 kolumny) pierwsze (najlepsze) zdjecie przy nieparzystej liczbie na cala szerokosc - bez pustej polowy */
.ah-ppf-h { margin-top: 36px; font: 700 22px/1.3 var(--p); color: #000; }
.ah-ppf-h + .ah-siatka-zdj { margin-top: 14px; }
@media (max-width: 759px) {
	.ah-ppf-h { margin-top: 28px; font-size: 20px; }
	.ah-galeria-sek--ppf .ah-siatka-zdj__lista li:first-child:nth-last-child(odd) { grid-column: 1 / -1; }
}

/* --- Czym się zajmujemy (19.10.2026, Danusia: „słabo i krzywo i za dużo CTA”): karty równej wysokości, ten sam układ w środku,
   jeden link tekstowy przyklejony do dołu (margin-top:auto - ta sama linia we wszystkich kartach), cała karta klikalna (link rozciągnięty),
   jeden wspólny przycisk pod siatką --- */
.ah-usluga { position: relative; }
.ah-usluga__foto--pion { object-position: 50% 62%; } /* zdjęcie pionowe (VW z Chameleonem) - kadr na szybę i przód auta */
.ah-usluga__p { flex: 0 1 auto; margin-bottom: 10px; }
.ah-usluga__link { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; min-height: 44px;
	font: 600 16px/1 var(--p); color: var(--pom); text-decoration: none; }
.ah-usluga__link span { transition: transform .2s; }
.ah-usluga__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* cała karta klikalna */
.ah-usluga:hover .ah-usluga__link span { transform: translateX(4px); }
.ah-usluga__link:focus-visible { outline: none; }
.ah-usluga:has(.ah-usluga__link:focus-visible) { outline: 2px solid var(--pom); outline-offset: 3px; }
.ah-usluga__p + .ah-usluga__link { margin-top: auto; }
.ah-uslugi__cta { display: flex; justify-content: center; margin-top: 32px; }
@media (max-width: 759px) {
	.ah-uslugi__siatka--3.ah-pasek > * { flex: 0 0 80%; }
	.ah-uslugi__cta { margin-top: 20px; }
	.ah-uslugi__cta .ah-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .ah-usluga__link span { transition: none; } }
body:not(.ah-wow) .ah-usluga__link { color: #000; text-decoration: underline; text-underline-offset: 4px; }
/* Płatności (19.10): jeden rząd małych kafli - Autopay, BLIK, DPD, GLS (stopka), Autopay, BLIK (voucher) */
.ah-pl--pelny .ah-pl__siatka, .ah-pl--online .ah-pl__siatka { display: flex; flex-wrap: wrap; gap: 8px; }
.ah-pl--pelny .ah-pl__kafel, .ah-pl--online .ah-pl__kafel { width: 92px; height: 44px; padding: 6px 8px; border-radius: 8px; }
.ah-pl--pelny .ah-pl__zd { align-items: center; margin-bottom: 10px; font-size: 14px; }
.ah-pl--online .ah-pl__zd { align-items: center; }
.ah-pl--pelny .ah-pl__ico, .ah-pl--online .ah-pl__ico { margin-top: 0; }
@media (max-width: 759px) { .ah-pl--pelny .ah-pl__kafel, .ah-pl--online .ah-pl__kafel { width: calc((100% - 24px) / 4); max-width: 92px; } }

/* --- Galeria BEZ PRZYCINANIA (19.10.2026, Danusia: „ucięte zdjęcia słabo… wszędzie ucięte”; wzorzec: justified gallery Flickr / Zdjęcia Google):
   wiersze równej wysokości, każde zdjęcie w naturalnych proporcjach (flex-grow = proporcja, podstawa = proporcja x wysokość wiersza),
   ostatni wiersz nie rozciąga się (wypełniacz ::after). „Zapytaj o podobny efekt”: komputer - po najechaniu/fokusie w prawym górnym rogu,
   telefon - tylko w podglądzie pełnoekranowym. --- */
.ah-siatka-zdj__lista { display: flex; flex-wrap: wrap; gap: 10px; --ah-wiersz: 250px; }
.ah-siatka-zdj__lista::after { content: ""; flex: .6 1 0; } /* ostatni rząd prawie pełny, pojedyncze zdjęcie nie rośnie do całej szerokości */
.ah-siatka-zdj__lista > li { position: relative; flex: var(--r, 1.333) 1 calc(var(--r, 1.333) * var(--ah-wiersz)); min-width: 0; }
.ah-siatka-zdj__lista > li[hidden] { display: none; }
.ah-siatka-zdj__lista img { aspect-ratio: auto; height: auto; object-fit: contain; }
.ah-siatka-zdj__lista .ah-siatka-zdj__zap, .ah-realizacje .ah-realizacja__zap { display: inline-flex; align-items: center; justify-content: center; gap: 6px; overflow: visible; left: auto; right: 8px; top: 8px; bottom: auto;
	min-height: 32px; padding: 0 12px; border-radius: 999px; font: 600 13px/1 var(--l); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) {
	.ah-siatka-zdj__lista .ah-siatka-zdj__zap, .ah-realizacje .ah-realizacja__zap { opacity: 0; transform: translateY(-4px); transition: opacity .18s, transform .18s; pointer-events: none; }
	.ah-siatka-zdj__lista > li:hover .ah-siatka-zdj__zap, .ah-siatka-zdj__lista > li:focus-within .ah-siatka-zdj__zap,
	.ah-realizacje li:hover .ah-realizacja__zap, .ah-realizacje li:focus-within .ah-realizacja__zap { opacity: 1; transform: none; pointer-events: auto; }
}
@media (hover: none), (pointer: coarse) { .ah-siatka-zdj__lista .ah-siatka-zdj__zap, .ah-realizacje .ah-realizacja__zap { display: none; } }
@media (max-width: 759px) { .ah-siatka-zdj__lista { gap: 6px; --ah-wiersz: 130px; } }
@media (prefers-reduced-motion: reduce) { .ah-siatka-zdj__lista .ah-siatka-zdj__zap { transition: none; } }
/* Pigułki: tekst optycznie w środku (19.10, pomiar wysokości wersalików: różnica góra/dół < 1 px) */
.ah-p__opcja-nazwa em { padding: 3.5px 6px 2.5px; }
.ah-d__probki > .ah-d__probka .ah-d__pnazwa { position: relative; top: -.6px; }
/* wysokość wiersza z szerokości siatki: 3 zdjęcia 4:3 w rzędzie (telefon 2) wypełniają rząd - także ostatni rząd bez dziury z prawej */
.ah-siatka-zdj { container-type: inline-size; }
@supports (width: 1cqw) {
	.ah-siatka-zdj__lista { --ah-wiersz: calc((100cqw - 21px) / 3 / 1.3334); }
	@media (max-width: 759px) { .ah-siatka-zdj__lista { --ah-wiersz: calc((100cqw - 7px) / 2 / 1.3334); } }
}
.ah-footer__platnosci { width: min(var(--wrap), calc(100% - 48px)); } /* 19.10: wyrównane do kolumn stopki */
@media (max-width: 999px) { .ah-footer__platnosci { width: calc(100% - 32px); } }

/* 19.10: social w menu mobilnym (TikTok wyrozniony - z niego slyna). Kompaktowo, zeby menu dalej miescilo sie bez przewijania. */
.ah-menu-mobile__social { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.ah-menu-mobile__social a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; height: 44px; padding: 0 10px; border: 1px solid #333; border-radius: 999px; color: #fff; text-decoration: none; font: 700 15px/1 var(--l); }
.ah-menu-mobile__social a:first-child { padding: 0 16px 0 12px; }
.ah-menu-mobile__social img { width: 22px; height: 22px; }
@media (max-height: 700px) { .ah-menu-mobile__social { margin-top: 8px; } .ah-menu-mobile__social a { height: 40px; min-width: 40px; } }
/* 19.10 (Danusia: „w ramkach poziomych zdjęcia poziome, rozmyte tło w ostateczności”): ramki dopasowane do zdjęć zamiast rozmytego tła */
.ah-d__zdjecia li { flex: 0 0 auto; }
.ah-d__zdjecia a { aspect-ratio: auto; height: 165px; }
.ah-d__zdjecia img { width: auto; height: 100%; max-width: none; object-fit: cover; }
@media (max-width: 759px) { .ah-d__zdjecia li { flex-basis: auto; } .ah-d__zdjecia a { height: 52vw; max-height: 240px; } }
.ah-onas-wyzwania__foto img { aspect-ratio: 3 / 4; }
.ah-raz__foto img { aspect-ratio: auto; height: auto; }
@media (max-width: 759px) { .ah-ng__foto { height: auto; aspect-ratio: auto; } }
.ah-ng__kolaz { grid-template-columns: 2fr 1fr; height: auto; aspect-ratio: 2 / 1; } /* 19.10: komórki ~4:3 jak zdjęcia - bez rozmytego tła */
@media (max-width: 759px) { .ah-ng__kolaz { aspect-ratio: 2 / 1; } }
/* Korzyści (19.10, Danusia: „tu autorskie ikony”): nasze ikony zamiast zdjęć - pomarańczowa ikona w kole z obrysem */
.ah-karta__ikona { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 64px; height: 64px; margin: 24px 22px 0; border: 1.5px solid var(--pom); border-radius: 50%; color: var(--pom); background: rgba(255, 138, 0, .06); }
.ah-karta__ikona .ah-i { width: 34px; height: 34px; }
.ah-karta__ikona + .ah-karta__t { padding-top: 16px; }
@media (max-width: 759px) {
	.ah-karty-sek .ah-karty { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 10px; overflow: visible; margin: 20px 0 0; padding: 0; }
	.ah-karty-sek .ah-karty > * { flex: none; }
	.ah-karty-sek .ah-karta { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px; }
	.ah-karty-sek .ah-karta__ikona { width: 52px; height: 52px; margin: 0; }
	.ah-karty-sek .ah-karta__ikona .ah-i { width: 28px; height: 28px; }
	.ah-karty-sek .ah-karta__ikona + .ah-karta__t { padding: 0; }
	.ah-karty-sek .ah-karta h3 { font-size: 18px; }
	.ah-karty-sek .ah-karta p { margin-top: 6px; font-size: 16px; }
}
/* „Chcesz przyjechać na montaż?” + producenci (19.10): tekst | zdjęcie warsztatu; pas logotypów na białym na całą szerokość */
.ah-montaz__in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.ah-montaz__foto { display: block; width: 100%; height: auto; border-radius: var(--r2); }
.ah-montaz .ah-marki { margin-top: 56px; background: #fff; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 28px 56px; padding: 36px 24px !important; }
.ah-montaz .ah-marki img { max-width: none; max-height: none; height: auto; }
@media (max-width: 759px) {
	.ah-montaz__in { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.ah-montaz .ah-marki { margin-top: 36px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: center; gap: 24px 16px; padding: 28px 16px !important; }
	.ah-montaz .ah-marki img { max-width: 100%; }
}
/* 19.10 wieczór: ikony social w górnym pasku menu mobilnego (obok logo i X) - menu bez przewijania na 360x640 */
.ah-menu-mobile__gora { gap: 8px; }
.ah-menu-mobile__gora .ah-menu-mobile__social { margin: 0 0 0 auto; gap: 6px; }
.ah-menu-mobile__gora .ah-menu-mobile__social a { height: 40px; min-width: 40px; padding: 0 9px; }
.ah-menu-mobile__gora .ah-menu-mobile__social a:first-child { padding: 0 12px 0 10px; }
.ah-menu-mobile__gora .ah-menu-mobile__social img { width: 20px; height: 20px; }
.ah-menu-mobile__gora .ah-menu-mobile__x { margin-left: 0; }
@media (max-width: 359px) { .ah-menu-mobile__gora .ah-menu-mobile__social a:first-child span { display: none; } .ah-menu-mobile__gora .ah-menu-mobile__social a:first-child { padding: 0 9px; } }
/* 20.10 „Co daje folia Chameleon na szybie” (Danusia: „brak ikon”): ikona nad tytulem w kazdym kaflu, rowna wysokosc kafli */
.ah-zalety__siatka { align-items: stretch; }
.ah-zaleta { display: flex; flex-direction: column; }
.ah-zaleta p { text-wrap: wrap; } /* bez „pretty” - tekst plynie rowno, bez wczesnych lamań */
.ah-zaleta__i { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 14px; border-radius: 12px; background: rgba(255, 138, 0, .14); color: var(--pom); }
.ah-zaleta__i .ah-i { width: 28px; height: 28px; }
body:not(.ah-wow) .ah-zaleta__i, .ah-wow-jasna .ah-zaleta__i { color: var(--pom-t); }
@media (max-width: 759px) { .ah-zaleta__i { width: 40px; height: 40px; margin-bottom: 10px; } .ah-zaleta__i .ah-i { width: 24px; height: 24px; } }

/* ==========================================================================
   SIATKA PRODUKTOW v2 (20.10.2026, Danusia: „w sklepie jeszcze układ produktów dopracuj”; wzorzec: Apple Store / Shopify Dawn).
   Kafel .ah-k2: ramka 4:3 (zdjecie w calosci), nazwa 2 linie stalej wysokosci, odcien 1 linia, chipy, cena, przycisk na dole.
   Rowne wysokosci w rzedzie, 4 kolumny od 1200 px, 3 od 760 px, 2 na telefonie.
   ========================================================================== */
.ah-siatka { align-items: stretch; }
.ah-siatka > .ah-k2 { display: flex; }
.ah-k2 { position: relative; overflow: hidden; border-radius: 16px; }
.ah-k2 .ah-k__a { display: flex; flex-direction: column; width: 100%; height: 100%; }
.ah-k2 .ah-k__a:focus-visible { outline: 2px solid var(--pom); outline-offset: 3px; border-radius: 16px; }
.ah-k2 .ah-k__foto { aspect-ratio: 4 / 3; border-radius: 0; background: #1a1a1a; }
.ah-k2 .ah-k__foto img { width: 100%; height: 100%; object-fit: contain; }
.ah-k2 .ah-k__wstazka { top: 10px; left: 10px; }
.ah-k2 .ah-k__tx { display: flex; flex-direction: column; flex: 1; padding: 14px 16px 16px; }
.ah-k2 .ah-k__nazwa { margin: 0; font: 600 16px/1.3 var(--p); min-height: 2.6em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.ah-k2 .ah-k__a:hover .ah-k__nazwa { text-decoration: none; }
.ah-k2 .ah-k__odcien { display: block; min-height: 1.4em; margin-top: 4px; font: 400 13px/1.4 var(--l); color: #a6a6a6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ah-k2 .ah-k__chipy { display: flex; flex-wrap: wrap; gap: 6px; min-height: 24px; margin-top: 10px; }
.ah-k2 .ah-k__chipy span { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(255, 255, 255, .05); font: 600 12px/1 var(--p); color: #e6e6e6; white-space: nowrap; }
.ah-k2 .ah-k__cenablok { display: block; margin-top: 12px; }
.ah-k2 .ah-k__cena { margin-top: 0; font: 700 21px/1.2 var(--p); color: #fff; }
.ah-k2 .ah-k__od { font: 400 14px/1 var(--l); color: #cfcfcf; }
.ah-k2 .ah-k__m2 { margin-top: 4px; font: 400 13px/1.4 var(--l); color: #a6a6a6; }
.ah-k2 .ah-k__btn { display: flex; align-items: center; justify-content: center; min-height: 40px; margin-top: auto; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22);
	background: linear-gradient(rgba(255, 255, 255, .10), rgba(255, 255, 255, .04)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14); color: #fff; font: 600 14px/1 var(--p); white-space: nowrap; transition: background-color .2s, border-color .2s, color .2s; }
.ah-k2 .ah-k__cenablok + .ah-k__btn { margin-top: 16px; }
.ah-k2 .ah-k__tx > .ah-k__btn { margin-top: auto; }
.ah-k2 .ah-k__cenablok { margin-bottom: 16px; }
.ah-k2 .ah-k__a:hover .ah-k__btn, .ah-k2 .ah-k__a:focus-visible .ah-k__btn { background: var(--pom); border-color: var(--pom); color: #000; }
body.ah-wow .ah-k2 { background: linear-gradient(rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)), #141414; border: 1px solid #262626; }
body.ah-wow .ah-k2:hover { border-color: rgba(255, 255, 255, .22); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 18px 40px rgba(0, 0, 0, .45); }
.ah-wow-jasna .ah-k2 { background: #fff; border: 1px solid #e3e3e3; }
.ah-wow-jasna .ah-k2 .ah-k__foto { background: #f3f3f3; }
.ah-wow-jasna .ah-k2 .ah-k__cena { color: #000; } .ah-wow-jasna .ah-k2 .ah-k__od { color: #444; } .ah-wow-jasna .ah-k2 .ah-k__m2, .ah-wow-jasna .ah-k2 .ah-k__odcien { color: #595959; }
.ah-wow-jasna .ah-k2 .ah-k__chipy span { border-color: #d9d9d9; background: #f5f5f5; color: #222; }
.ah-wow-jasna .ah-k2 .ah-k__btn { border-color: #111; background: transparent; box-shadow: none; color: #111; }
@media (min-width: 1200px) { .ah-sklep .ah-siatka { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 760px) and (max-width: 1199px) { .ah-sklep .ah-siatka { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 759px) {
	.ah-siatka:not(.ah-pasek) { gap: 12px 10px !important; }
	.ah-k2 { border-radius: 14px; }
	.ah-k2 .ah-k__tx { padding: 10px 10px 12px; }
	.ah-k2 .ah-k__nazwa { font-size: 15px !important; }
	.ah-k2 .ah-k__odcien { font-size: 12.5px; }
	.ah-k2 .ah-k__chipy { gap: 4px; margin-top: 8px; }
	.ah-k2 .ah-k__chipy span { height: 22px; padding: 0 7px; font-size: 11.5px; }
	.ah-k2 .ah-k__cena { font-size: 18px; }
	.ah-k2 .ah-k__m2 { font-size: 12px; }
	.ah-k2 .ah-k__cenablok { margin-bottom: 12px; }
	.ah-k2 .ah-k__btn { min-height: 38px; font-size: 13px; padding: 0 8px; }
}
@media (prefers-reduced-motion: reduce) { .ah-k2 .ah-k__btn { transition: none; } }
@media (max-width: 420px) { .ah-k2 .ah-k__chipy span + span { display: none; } } /* waski telefon: sam VLT (szerokosc 152 cm jest wspolna i stoi w linii faktow nad siatka) */

/* ==========================================================================
   KARTA PRODUKTU v3 (20.10.2026): filtr kolorow „Ta folia na autach”, galeria na komputerze (przyklejona, jedna linia rownych miniatur),
   ciasniejszy rytm bloku zakupu, „Ile folii potrzebujesz” jako dwie rowne karty.
   ========================================================================== */
/* --- filtr kolorow --- */
.ah-d-p2 { margin-top: 14px; padding-top: 12px; }
.ah-d-p2 .ah-d-p__gora { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; }
.ah-d-p2 .ah-d-p__h { font: 600 14px/1.3 var(--p); letter-spacing: 0; text-transform: none; }
.ah-d-p2 .ah-d-p__link { margin: 0; font: 600 14px/1.3 var(--p); text-decoration: none; color: var(--pom) !important; }
.ah-d-p2 .ah-d-p__link[hidden] { display: none; }
.ah-d-p2 .ah-d-p__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.ah-d-p2 .ah-d-p__probki { flex-wrap: nowrap; gap: 6px; margin-top: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 1px 4px; }
.ah-d-p2 .ah-d-p__probki::-webkit-scrollbar { display: none; }
.ah-d-p2 .ah-d__probka { flex: none; display: inline-flex; align-items: center; gap: 7px; min-height: 36px !important; padding: 0 12px 0 9px !important; border: 1px solid rgba(255, 255, 255, .18) !important; border-radius: 999px;
	background: linear-gradient(rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); font: 600 13px/1 var(--p) !important; color: #e6e6e6; }
.ah-d-p2 .ah-d__probka.is-on { border-color: var(--pom) !important; background: rgba(255, 138, 0, .16); color: #fff; box-shadow: inset 0 0 0 1px var(--pom); }
.ah-d-p2 .ah-d__kolko { width: 16px !important; height: 16px !important; flex: none; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255, 255, 255, .45); }
.ah-d-p2 .ah-d__kolko--wszystkie { background: conic-gradient(#1b1b1b 0 25%, #d9d9d9 0 50%, #2f6fd6 0 75%, #4a9a5a 0); }
.ah-d-p2 .ah-d__pn { min-width: 0; height: auto; padding: 0; background: none !important; font: 400 13px/1 var(--l); color: #a6a6a6; }
.ah-d-p2 .ah-d__pn::before { content: "· "; }
.ah-wow-jasna .ah-d-p2 .ah-d__probka, body:not(.ah-wow) .ah-d-p2 .ah-d__probka { background: #fff; border-color: #d0d0d0 !important; color: #111; box-shadow: none; }
@media (max-width: 759px) {
	.ah-d-p2 .ah-d-p__probki { margin-right: calc(-1 * var(--ah-gutter, 20px)); padding-right: var(--ah-gutter, 20px);
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent); }
}
/* --- galeria na komputerze --- */
@media (min-width: 860px) {
	.ah-p__galeria { align-self: stretch; } /* kolumna rowna blokowi zakupu - dzieki temu przyklejenie dziala */
	.ah-p__galeria-in { position: sticky; top: 100px; } /* pod przyklejonym naglowkiem (84 px) */
	.ah-p .ah-galeria--produkt .ah-galeria__duze { aspect-ratio: 4 / 3; border-radius: 14px; background: #111 !important; border: 1px solid #222 !important; }
	.ah-p .ah-galeria--produkt .ah-galeria__duze img { object-fit: contain; }
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury { display: flex !important; flex-wrap: nowrap !important; gap: 8px; margin-top: 10px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 6px; }
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury button { flex: 0 0 88px !important; width: 88px !important; height: 66px !important; aspect-ratio: auto; border-radius: 8px; border: 1px solid #2a2a2a !important; background: #111; opacity: .8; outline: 0; }
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury button.is-on { opacity: 1; border-color: var(--pom) !important; box-shadow: inset 0 0 0 1px var(--pom); }
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury button.is-poza { opacity: .25; }
	.ah-p .ah-galeria--produkt .ah-galeria__miniatury img { width: 100%; height: 100%; object-fit: contain !important; }
	.ah-p .ah-galeria--produkt .ah-galeria__min-film img { object-fit: cover !important; }
	/* blok zakupu: ciasniejszy rytm */
	.ah-p__zakup .ah-p__h { margin-top: 4px; }
}
/* --- Ile folii potrzebujesz --- */
.ah-p__ile2 { max-width: none; }
.ah-ile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.ah-ile__k { display: flex; flex-direction: column; padding: 18px; border: 1px solid #262626; border-radius: 14px; background: linear-gradient(rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)), #141414; }
.ah-ile__i { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 10px; border-radius: 10px; background: rgba(255, 138, 0, .14); color: var(--pom); }
.ah-ile__i .ah-i { width: 24px; height: 24px; }
.ah-ile__et { margin: 0; font: 400 13px/1.3 var(--l); color: #a6a6a6; }
.ah-ile__w { margin: 2px 0 0; font: 700 20px/1.25 var(--p); color: #fff; }
.ah-ile__p { margin: 8px 0 0 !important; font: 400 15px/1.55 var(--l) !important; color: #d9d9d9 !important; text-wrap: wrap; }
.ah-ile__p strong { color: #fff; }
.ah-ile__btn { align-self: flex-start; margin-top: auto; min-height: 38px; }
.ah-ile__k .ah-ile__p + .ah-ile__btn { margin-top: 14px; }
.ah-wow-jasna .ah-ile__k, body:not(.ah-wow) .ah-ile__k { background: #fafafa; border-color: #e3e3e3; }
.ah-wow-jasna .ah-ile__w, body:not(.ah-wow) .ah-ile__w { color: #111; } .ah-wow-jasna .ah-ile__p, body:not(.ah-wow) .ah-ile__p { color: #333 !important; }
@media (max-width: 599px) { .ah-ile { grid-template-columns: 1fr; } }
.ah-p__ile .ah-ile__et { margin: 0; font: 400 13px/1.3 var(--l); color: #a6a6a6; }
.ah-p__ile .ah-ile__w { margin: 2px 0 0; font: 700 21px/1.25 var(--p); color: #fff; }
body.ah-wow .ah-p__ile .ah-ile__et { color: #a6a6a6; } body.ah-wow .ah-p__ile .ah-ile__w { color: #fff; }
.ah-d-p2 .ah-d-p__probki { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); padding-right: 24px; }
/* 20.10 poprawki z iPhone'a Danusi: dokladnie jeden aktywny chip (bez pomaranczowych pierscieni przy probkach z dawnych regul,
   bez „przyklejonego” hover na dotyku), widoczne wygaszenie prawej krawedzi paska chipow, pasek zdjec aut pod chipami (telefon) */
.ah-d-p2 .ah-d__probka .ah-d__kolko, body.ah-wow .ah-d-p2 .ah-d__probka.is-on .ah-d__kolko, .ah-d-p2 .ah-d__probka.is-on .ah-d__kolko { box-shadow: 0 0 0 1px rgba(255, 255, 255, .45) !important; }
.ah-d-p2 .ah-d__probka:not(.is-on), body.ah-wow .ah-d-p2 .ah-d__probka:not(.is-on):hover, .ah-d-p2 .ah-d__probka:not(.is-on):focus { border-color: rgba(255, 255, 255, .18) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1) !important; background: linear-gradient(rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)) !important; }
@media (hover: hover) { .ah-d-p2 .ah-d__probka:not(.is-on):hover { border-color: rgba(255, 255, 255, .4) !important; } }
.ah-d-p2 .ah-d__probka.is-on { border-color: var(--pom) !important; box-shadow: inset 0 0 0 1px var(--pom) !important; background: rgba(255, 138, 0, .16) !important; }
.ah-d-p2 .ah-d__probka:focus { outline: none; }
.ah-d-p2 .ah-d__probka:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ah-d-p2 .ah-d__probka { -webkit-tap-highlight-color: transparent; }
/* wygaszenie krawedzi: nakladka zamiast maski (maska na przewijanym elemencie bywa pomijana w Safari) */
.ah-d-p__ramka { position: relative; }
.ah-d-p2 .ah-d-p__probki { -webkit-mask-image: none !important; mask-image: none !important; padding-right: 36px !important; }
.ah-d-p__ramka::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 44px; pointer-events: none; background: linear-gradient(to right, rgba(11, 11, 11, 0), #0b0b0b 85%); }
.ah-wow-jasna .ah-d-p__ramka::after, body:not(.ah-wow) .ah-d-p__ramka::after { background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff 85%); }
@media (max-width: 759px) { .ah-d-p__ramka { margin-right: calc(-1 * var(--ah-gutter, 20px)); } .ah-d-p2 .ah-d-p__probki { margin-right: 0 !important; } }
/* pasek zdjec aut (telefon i tablet; na komputerze filtruja sie miniatury galerii) */
.ah-d-p__zdj { display: flex; gap: 8px; margin: 10px 0 0; padding: 0 0 6px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.ah-d-p__zdj::-webkit-scrollbar { display: none; }
.ah-d-p__zdj li { flex: none; scroll-snap-align: start; }
.ah-d-p__zdj li[hidden] { display: none; }
.ah-d-p__zdj button { display: block; width: 160px; height: 120px; padding: 0; border: 1px solid #2a2a2a; border-radius: 10px; overflow: hidden; background: #111; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ah-d-p__zdj button:focus-visible { outline: 2px solid var(--pom); outline-offset: 2px; }
.ah-d-p__zdj img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 759px) { .ah-d-p__zdj { margin-right: calc(-1 * var(--ah-gutter, 20px)); padding-right: var(--ah-gutter, 20px); } }
@media (min-width: 860px) { .ah-d-p__zdj { display: none; } }
/* 20.10 („Filmy nie działają”, iPhone): ogolna regula ramek zdjec „.ah-d__zdjecia a” (4:3 / 165 px, tlo) trafiala tez w przezroczysty link nad filmem
   w pasku „Dobierz folię” - czarny prostokat, a film wystawal pod nim. Link nad filmem wraca do pelnej ramki filmu, ramka filmu ma wysokosc paska. */
.ah-d__zdjecia .ah-wvk__a { aspect-ratio: auto !important; height: auto !important; background: transparent !important; border-radius: 0; inset: 0; }
.ah-d__zdjecia .ah-d__film { flex: 0 0 auto !important; }
.ah-d__zdjecia .ah-d__film .ah-wvk { height: 165px; width: auto; aspect-ratio: 9 / 16; border-radius: var(--r); overflow: hidden; } /* wysokosc = wysokosc zdjec w pasku (165 px / telefon 52vw, max 240) */
@media (max-width: 759px) { .ah-d__zdjecia .ah-d__film .ah-wvk { height: 52vw; max-height: 240px; } }
.ah-d__zdjecia .ah-d__film .ah-wv, .ah-d__zdjecia .ah-d__film .ah-wv__v { width: 100%; height: 100%; object-fit: cover; }
/* 20.10 voucher z iPhone'a (Danusia: „Krzywo i nie widać liczby”): rowna siatka kwot 3 + 3 (100/200/300/500/1000/Inna), tresc kafla wysrodkowana,
   kwota i „zł” na jednej linii bazowej, „Inna kwota” w tej samej wadze; liczba w „Ilość voucherów” biala (Safari brał szary kolor pola) */
.ah-vn__kwoty { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ah-vn__kafel--inna { grid-column: auto; }
.ah-vn__kafel span { display: flex !important; align-items: center !important; justify-content: center; min-height: 64px; padding: 0 6px !important; }
.ah-vn__k-in { display: inline-block; font-style: normal; font: 600 15px/1 var(--l); white-space: nowrap; }
.ah-vn__k-in b { font: 700 25px/1 var(--p); margin-right: 3px; }
.ah-vn__kafel--inna .ah-vn__k-in b { font-size: 21px; }
@media (max-width: 380px) { .ah-vn__k-in b { font-size: 22px; } .ah-vn__kafel--inna .ah-vn__k-in b { font-size: 18px; } .ah-vn__k-in { font-size: 13.5px; } }
body.ah-wow .ah-vn .ah-ilosc input, body.ah-wow .ah-vn .ah-ilosc input:disabled, body.ah-wow .ah-vn .ah-ilosc input[readonly] { color: #fff !important; -webkit-text-fill-color: #fff; opacity: 1; background: transparent !important; }
body.ah-wow .ah-vn .ah-ilosc button { color: #fff; }
.ah-p__ilosc .ah-ilosc input, .ah-ilosc input { -webkit-text-fill-color: currentColor; opacity: 1; }
/* „Do mnie / Obdarowanej osobie” - rowne polowy, tekst w jednej linii na 360 */
.ah-vn__seg { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 380px) { .ah-vn__seg span { font-size: 13.5px; padding: 0 4px; white-space: nowrap; } }

/* 01.11 (spotkanie 30.10): na glownej zamiast formularza karta z przyciskiem do Kontaktu - tresc wysrodkowana w pionie obok karty Dojazd */
.ah-kontakt-dom__form--link { display: flex; flex-direction: column; justify-content: center; }
.ah-kontakt-dom__form--link .ah-kontakt-dom__akcje { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
/* 01.11: /kontakt/ na 360 - wiersze telefonow wystawaly o 6 px (ta sama poprawka co w podgladzie mobile-nowe) */
.ah-kt__tel, .ah-kt__tel li { min-width: 0; }
.ah-kt__tel a { min-width: 0; max-width: 100%; }
.ah-kt__tel a > span { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 420px) { .ah-kt__tel a[href^="mailto"] { font-size: 16px; } }
