		<style id="ff-header-css">
			/* --- Polish menu (zawsze) --- */
			.main-header-menu .menu-link{font-weight:500;letter-spacing:.01em;transition:color .18s ease;}
			/* Touch target minimum (WCAG 2.5.8) dla linkow menu glownego - byly 40px na mobile */
			.main-header-menu > .menu-item > .menu-link{display:inline-flex;align-items:center;min-height:44px;}
			.main-header-menu > .menu-item > .menu-link:hover{color:var(--ff-accent) !important;}
			.main-header-menu > .menu-item-has-children > .menu-link{gap:4px;}

			/* CTA „Projekt indywidualny" — mocny selektor bije regułę transparent-headera Astry */
			#masthead .main-header-menu .ff-menu-cta > .menu-link,
			#masthead .main-header-menu .ff-menu-cta > a{
				background-color:transparent !important;color:var(--ff-ink) !important;
				border:1.5px solid var(--ff-accent) !important;border-radius:999px;padding:6px 15px !important;margin-left:6px;
				font-weight:600;text-shadow:none !important;
			}
			#masthead .main-header-menu .ff-menu-cta > .menu-link:hover,
			#masthead .main-header-menu .ff-menu-cta > a:hover{background-color:#F7EAC7 !important;color:var(--ff-ink) !important;}

			/* Dropdown „Sklep" */
			.main-header-menu .sub-menu{
				border:1px solid var(--ff-border);border-radius:14px;padding:10px;background:#fff;
				box-shadow:0 14px 34px rgba(40,28,10,.14);
				min-width:220px;
			}
			.main-header-menu .sub-menu .menu-item{margin:1px 0;}
			.main-header-menu .sub-menu .menu-item > .menu-link{
				display:flex !important;align-items:center;min-height:44px;border-radius:10px;
				padding:0 14px !important;margin:0;position:relative;
				color:var(--ff-ink) !important;font-weight:600;
				transition:background .16s ease,color .16s ease;
			}
			.main-header-menu .sub-menu .menu-item > .menu-link::before{
				content:"";position:absolute;left:0;top:50%;width:3px;height:20px;
				transform:translateY(-50%) scaleY(0);border-radius:2px;background:var(--ff-accent);
				transition:transform .16s ease;
			}
			.main-header-menu .sub-menu .menu-item:hover > .menu-link,
			.main-header-menu .sub-menu .menu-item > .menu-link:hover,
			.main-header-menu .sub-menu .menu-item > .menu-link:focus-visible{
				background:#FAF3E4 !important;color:#8A6B12 !important;
			}
			.main-header-menu .sub-menu .menu-item:hover > .menu-link::before,
			.main-header-menu .sub-menu .menu-item > .menu-link:hover::before{
				transform:translateY(-50%) scaleY(1);
			}
			.main-header-menu .sub-menu .menu-item:last-child{
				margin-top:7px;padding-top:7px;border-top:1px solid #F0E6D4;
			}

			/* Touch target minimum (WCAG 2.5.8) for icon-only quick-action buttons on product cards */
			.ast-on-card-button.ast-select-options-trigger,
			a.ast-on-card-button{
				min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
			}

			/* Touch target minimum (WCAG 2.5.8) - ikona konta w headerze byla 23x23px */
			.ast-header-account-link{
				min-width:44px;min-height:44px;display:inline-flex !important;align-items:center;justify-content:center;
			}

			/* Touch target minimum (WCAG 2.5.8) - linki i ikony social w stopce */
			#astra-footer-menu .menu-link{
				min-height:44px;display:inline-flex;align-items:center;
			}
			.footer-social-item{
				min-width:44px !important;min-height:44px !important;display:inline-flex !important;
				align-items:center;justify-content:center;
			}

			/* Menu siedzi troche nizej, zeby nie bylo sklejone z gora ekranu (a przy wlaczonym
			   pasku promocji - z paskiem).

			   TYLKO od 921px. Dokladnie tam Astra przelacza `.ast-theme-transparent-header #masthead`
			   na `position:absolute` - naglowek lezy wtedy NA hero, wiec margines przesuwa sam
			   naglowek i nie robi miejsca w ukladzie: gradient hero zostaje pod nim nietkniety.
			   Ponizej 921px naglowek wraca do normalnego przeplywu i ten sam margines wycinalby
			   realna, biala szczeline miedzy paskiem promocji a menu.

			   Wylaczone w stanie sticky, bo tam naglowek jest `position:fixed; top:0` i margines
			   odsunalby go od krawedzi ekranu. */
			@media (min-width:921px){
				body:not(.ff-stuck) #masthead{margin-top:12px;}
			}

			/* --- Menu mobilne: ma wygladac jak desktopowe ------------------------------------
			   Astra generuje z Customizera inline regule `.ast-builder-menu-1 .main-header-menu`
			   z tlem rgb(137,108,65) i BEZ media query. Na desktopie przykrywa ja przezroczysty
			   naglowek (`min-width:922px`), wiec brazu nie widac wcale - wychodzi dopiero ponizej
			   921px, gdzie panel staje sie brazowa plachta z bialym tekstem.

			   Poprawiamy w CSS, a nie w Customizerze, bo ustawienia motywu siedza w bazie i nie
			   jada przez FTP - trzeba by je klikac osobno lokalnie i na produkcji.

			   `!important` jest tu konieczny: nadpisujemy regule inline o tej samej wadze,
			   ktora w kaskadzie stoi pozniej. */
			@media (max-width:921px){
				.ast-builder-menu-1 .main-header-menu,
				.ast-header-break-point .main-header-menu,
				.ast-header-break-point .main-header-menu .sub-menu{
					background-color:transparent !important;
				}
				/* Pozycje jak na desktopie: ciemny atrament na jasnym tle, bez bialego tekstu. */
				.ast-header-break-point .main-header-menu .menu-link,
				.ast-header-break-point .main-header-menu .menu-link:hover{
					color:var(--ff-ink) !important;
				}
				/* CTA ma zostac PIGULKA. Na wasko `.menu-link` jest blokiem na cala szerokosc,
				   wiec obramowanie o promieniu 999px rozciagalo sie od krawedzi do krawedzi
				   i zaokraglone konce byly przyciete przez kontener.

				   `.main-header-menu` w selektorze nie jest ozdoba: Astra ustawia
				   `.ast-header-break-point .main-header-menu .menu-link{display:flex}` (trzy klasy).
				   Bez tego czlonu nasza regula ma nizsza specyficznosc i przegrywa mimo
				   `!important` - oba deklaruja `!important`, wiec rozstrzyga specyficznosc. */
				.ast-header-break-point .main-header-menu .ff-menu-cta > a,
				.ast-header-break-point .main-header-menu .ff-menu-cta > .menu-link{
					/* `width:fit-content` zamiast `display:inline-flex`: Astra wymusza `display:flex`
					   regula, ktorej nie da sie przebic bez selektora z `#id`, a szerokosc ustepuje
					   normalnie. Efekt ten sam - pigulka obejmuje tekst zamiast ciagnac sie
					   na cala szerokosc panelu. */
					width:fit-content !important;
					max-width:calc(100% - 40px) !important;
					margin:10px 20px !important;
					justify-content:center;
				}
			}

			/* --- Sticky solidny pasek po scrollu (fixed reveal) --- */
			body.ff-stuck #masthead{
				position:fixed;top:0;left:0;right:0;z-index:999;
				background:var(--ff-cream) !important;
				box-shadow:0 2px 16px rgba(40,28,10,.10);
				animation:ffSlideDown .28s ease;
			}
			@keyframes ffSlideDown{from{transform:translateY(-100%);}to{transform:translateY(0);}}
			/* Offset pod pasek admina WP (żeby sticky nie chował się za nim dla zalogowanych) */
			.admin-bar.ff-stuck #masthead{top:32px;}
			@media screen and (max-width:782px){.admin-bar.ff-stuck #masthead{top:46px;}}
			body.ff-stuck #masthead .ast-primary-header-bar,
			body.ff-stuck #masthead .main-header-bar{background:transparent !important;}
			body.ff-stuck #masthead .main-header-menu .menu-link,
			body.ff-stuck #masthead .site-title a,
			body.ff-stuck #masthead .ast-header-woo-cart-wrap,
			body.ff-stuck #masthead .ast-cart-menu-wrap a,
			body.ff-stuck #masthead a{color:var(--ff-ink) !important;}
			body.ff-stuck #masthead .ff-menu-cta > a{color:var(--ff-ink) !important;}

			/* --- Home na hero (u góry): hero jest JASNY, więc ciemny tekst dla czytelności --- */
			.home:not(.ff-stuck) #masthead .main-header-menu .menu-link,
			.home:not(.ff-stuck) #masthead .site-title a,
			.home:not(.ff-stuck) #masthead .ast-cart-menu-wrap a,
			.home:not(.ff-stuck) #masthead a{
				color:var(--ff-ink) !important;
			}
			.home:not(.ff-stuck) #masthead .main-header-menu > .menu-item > .menu-link:hover{color:#8A6B12 !important;}

			/* --- Rozwijany panel koszyka (Astra cart drawer) - domyslnie czarno-bialy motyw Astry
			   (DM Sans, czarne przyciski) niezgodny z reszta strony; dopasowanie do systemu hero. --- */
			#astra-mobile-cart-drawer{background:var(--ff-cream);}
			#astra-mobile-cart-drawer .astra-cart-drawer-header{
				border-bottom:1px solid var(--ff-border);
			}
			#astra-mobile-cart-drawer .astra-cart-drawer-header h2,
			#astra-mobile-cart-drawer .astra-cart-drawer-header .cart-drawer-title{
				font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
				font-weight:700;color:var(--ff-ink);
			}
			#astra-mobile-cart-drawer .astra-cart-drawer-close{color:var(--ff-ink);transition:color .18s ease;}
			#astra-mobile-cart-drawer .astra-cart-drawer-close:hover{color:var(--ff-accent);}
			#astra-mobile-cart-drawer .woocommerce-mini-cart-item{border-color:var(--ff-border) !important;}
			#astra-mobile-cart-drawer .mini_cart_item a:not(.remove){color:var(--ff-ink) !important;}
			#astra-mobile-cart-drawer .mini_cart_item a:not(.remove):hover{color:#8A6B12 !important;}
			#astra-mobile-cart-drawer .mini_cart_item dl,
			#astra-mobile-cart-drawer .mini_cart_item dt,
			#astra-mobile-cart-drawer .mini_cart_item dd,
			#astra-mobile-cart-drawer .mini_cart_item p{color:var(--ff-body) !important;}
			#astra-mobile-cart-drawer .remove_from_cart_button{color:#8a7452 !important;transition:color .18s ease;}
			#astra-mobile-cart-drawer .remove_from_cart_button:hover{color:#b3261e !important;}
			#astra-mobile-cart-drawer .woocommerce-mini-cart__total{
				border-top:1px solid var(--ff-border) !important;color:var(--ff-ink) !important;font-weight:700;
			}
			#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons a.button{
				border-radius:999px !important;font-weight:600 !important;text-transform:none !important;
				transition:background .18s ease,color .18s ease,border-color .18s ease;
			}
			#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout){
				background:transparent !important;color:var(--ff-ink) !important;border:1.5px solid var(--ff-accent) !important;
			}
			#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover{
				background:#F7EAC7 !important;
			}
			#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons a.button.checkout{
				background:var(--ff-accent) !important;color:var(--ff-ink) !important;border:1.5px solid var(--ff-accent) !important;
			}
			#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons a.button.checkout:hover{
				background:var(--ff-accent-dark) !important;border-color:var(--ff-accent-dark) !important;
			}
