/* ==========================================================================
   MSD Buty — design system
   Paleta: kremowo-blush (agatawendorff.com) + subtelny akcent terakotowy
   Typografia: Cormorant Garamond (naglowki) + Jost (tekst)
   ========================================================================== */

:root{
	--msd-bg:        #ffffff;
	--msd-bg-alt:    #f6f6f5;
	--msd-card:      #ffffff;
	--msd-ink:       #2a2a2a;
	--msd-ink-soft:  #777777;
	--msd-line:      #ebebeb;
	--msd-accent:    #808080;
	--msd-accent-dk: #555555;
	--msd-accent-lt: #f1f1f1;
	--msd-white:     #ffffff;

	--msd-font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--msd-font-body:    "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--msd-radius: 2px;
	--msd-shadow: 0 18px 40px -22px rgba(42,42,42,.35);
}

/* szerokosc calej strony - Astra domyslnie tnie na 1200px, poszerzone dla bardziej "pelnoekranowego"
   wygladu na duzych monitorach; wewnetrzne bloki tekstu (np. .msd-hero__p, .msd-section__p)
   maja WLASNE, waskie max-width (nie zmieniane tutaj), zeby czytanie zostalo wygodne */
:root{
	--ast-container-width: 1560px !important;
	--ast-normal-container-width: 1560px !important;
	--wp--custom--ast-container-width: 1560px !important;
	--wp--custom--ast-content-width-size: 1560px !important;
	--wp--custom--ast-wide-width-size: 1560px !important;
}
.ast-container{ max-width: 1560px !important; }
.entry-content[data-ast-blocks-layout] > *{ max-width: 1560px !important; }

/* ---------- reset / bazowe ---------- */
body{
	background: var(--msd-bg) !important;
	color: var(--msd-ink);
	font-family: var(--msd-font-body);
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: .01em;
	font-weight: 300;
}
h1,h2,h3,h4,.site-title,.ast-site-title-wrap{
	font-family: var(--msd-font-display);
	font-weight: 500;
	color: var(--msd-ink);
	letter-spacing: .01em;
	line-height: 1.15;
}
h1{ font-weight: 600; }
a{ color: var(--msd-accent-dk); }
@media (hover:hover) and (pointer:fine){ a:hover{ color: var(--msd-accent); } }

/* nagłówek/stopka Astry — wyciszone */
.ast-primary-header-bar,
#masthead,
.site-footer{
	background: var(--msd-white) !important;
	border-color: var(--msd-line) !important;
}
.site-footer{ background: var(--msd-ink) !important; }
.site-footer, .site-footer a, .site-footer *{ color: #eeeeee !important; }
@media (hover:hover) and (pointer:fine){ .site-footer a:hover{ color: var(--msd-accent-lt) !important; } }

/* pasek copyright Astry (site-below-footer-wrap) siedzi POZA .site-footer - bez wlasnego tla dziedziczyl tlo strony (kremowe) z jasnym tekstem = nieczytelne */
.site-below-footer-wrap{ background: var(--msd-ink) !important; padding: 16px 0; }
.site-below-footer-wrap, .site-below-footer-wrap a, .site-below-footer-wrap *{ color: #b5b5b5 !important; }
.site-below-footer-wrap a{ text-decoration: underline; }
@media (hover:hover) and (pointer:fine){ .site-below-footer-wrap a:hover{ color: var(--msd-accent-lt) !important; } }
.ast-footer-copyright p{ font-size:12.5px; font-family: var(--msd-font-body); text-align:center; margin:0; }

/* stopka 4-kolumnowa (wzor suzana.pl) */
.msd-footer-cols{ background: var(--msd-white); border-top: 1px solid var(--msd-line); }
.msd-footer-cols__in{
	max-width: 1560px; margin: 0 auto; padding: 56px 6% 48px;
	display:grid; grid-template-columns: repeat(4, 1fr); gap: 40px;
}
.msd-footer-col h3{
	font-family: var(--msd-font-body); font-size:12px; letter-spacing:.12em; text-transform:uppercase;
	font-weight:600; color: var(--msd-ink); margin:0 0 18px;
}
.msd-footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.msd-footer-col a{
	font-family: var(--msd-font-body); font-size:13.5px; color: var(--msd-ink-soft); text-decoration:none;
}
@media (hover:hover) and (pointer:fine){ .msd-footer-col a:hover{ color: var(--msd-accent-dk); } }
.msd-footer-col p{
	font-family: var(--msd-font-body); font-size:13.5px; color: var(--msd-ink-soft);
	line-height:1.7; margin:0 0 16px;
}
.msd-footer-col p:last-child{ margin-bottom:0; }
.msd-footer-col p strong{ color: var(--msd-ink); font-weight:500; }
.msd-footer-col__accent{ color: var(--msd-accent-dk) !important; font-weight:500; }
@media (max-width: 900px){
	.msd-footer-cols__in{ grid-template-columns: repeat(2, 1fr); gap:36px 24px; }
}
@media (max-width: 540px){
	.msd-footer-cols__in{ grid-template-columns: 1fr; gap:32px; padding:44px 6%; }
}

.main-header-menu .menu-item > a{
	font-family: var(--msd-font-body);
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--msd-ink);
}
@media (hover:hover) and (pointer:fine){ .main-header-menu .menu-item > a:hover{ color: var(--msd-accent-dk); } }
.main-header-menu .current-menu-item > a,
.main-header-menu .current-menu-ancestor > a,
.main-header-menu .current_page_item > a{ color: var(--msd-accent-dk) !important; }

/* wszelkie domyslne niebieskie akcenty Astry (linki, focus, aktywne stany menu) - zamienione na kolory marki */
a, a:visited{ color: var(--msd-accent-dk); }
a:focus, button:focus, input:focus, .menu-item a:focus{ outline-color: var(--msd-accent) !important; }
:root{ --ast-global-color-0: var(--msd-ink) !important; --ast-global-color-1: var(--msd-accent-dk) !important; }

/* logo tekstowe */
.ast-site-title-wrap .site-title,
.ast-site-title-wrap .site-title a{
	font-family: var(--msd-font-display) !important;
	font-style: italic;
	font-weight: 600;
	font-size: 26px !important;
	letter-spacing: .01em;
	color: var(--msd-ink) !important;
}

/* front page: ukryj domyslny naglowek strony (dubluje sie z hero) */
body.home .entry-header,
body.home .page-header,
body.home .ast-archive-title,
body.home h1.entry-title{
	display: none !important;
}
body.home .ast-container > .ast-row,
body.home article > .entry-content{
	margin: 0 !important; padding: 0 !important; max-width: none !important;
}
body.home .site-content .ast-container{ padding: 0 !important; max-width: none !important; }

/* ---------- przyciski ---------- */
.ast-button,
button:not(.search-submit):not(.msd-slider__dots button):not(.msd-slider__arrow):not(.cky-btn):not(.cky-btn-revisit):not(.cky-btn-close):not(.cky-accordion-btn):not(.cky-banner-btn-close):not(.msd-filter-reset):not(.msd-cat-tree__toggle):not(.menu-toggle):not(.msd-price-filter__toggle),
input[type="submit"]:not(.search-submit),
input[type="button"],
.wp-block-button__link,
a.button,
.single_add_to_cart_button,
#place_order,
.checkout-button{
	background: var(--msd-ink) !important;
	color: var(--msd-white) !important;
	border: 1px solid var(--msd-ink) !important;
	border-radius: var(--msd-radius) !important;
	font-family: var(--msd-font-body) !important;
	font-size: 13px !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	padding: 14px 32px !important;
	transition: background-color .2s ease-out, border-color .2s ease-out, color .2s ease-out, transform .16s ease-out !important;
	box-shadow: none !important;
}
@media (hover:hover) and (pointer:fine){ .ast-button:hover, button:not(.search-submit):not(.msd-slider__dots button):not(.msd-slider__arrow):not(.cky-btn):not(.cky-btn-revisit):not(.cky-btn-close):not(.cky-accordion-btn):not(.cky-banner-btn-close):not(.msd-filter-reset):not(.msd-cat-tree__toggle):not(.menu-toggle):not(.msd-price-filter__toggle):hover, .wp-block-button__link:hover,
a.button:hover, .single_add_to_cart_button:hover, #place_order:hover{
	background: var(--msd-accent-dk) !important;
	border-color: var(--msd-accent-dk) !important;
	color: var(--msd-white) !important;
} }
.ast-button, .msd-btn--outline, a.button, .single_add_to_cart_button, #place_order, .checkout-button{
	text-decoration: none !important;
}

/* formularz wyszukiwania (404, ewentualnie header) - przywrocenie kompaktowego wygladu po resecie przyciskow */
.search-form{ max-width:420px; }
.search-form label{
	display:flex !important; align-items:center; width:100%; margin:0;
	border:1px solid var(--msd-line); border-radius:999px; background:#fff; overflow:hidden;
}
.search-form .search-field{
	flex:1 1 auto; min-width:0; border:none !important; background:transparent !important;
	font-family: var(--msd-font-body); font-size:14px; color: var(--msd-ink);
	padding:13px 6px 13px 20px !important;
}
.search-form .search-field:focus{ outline:none; box-shadow:none; }
.ast-search-submit, .search-form .search-submit{
	position:static !important; flex:0 0 auto;
	background: transparent !important; border:none !important; color: var(--msd-ink-soft) !important;
	padding:10px 16px !important; min-width:0 !important; font-size:16px !important; line-height:1 !important;
	display:inline-flex !important; align-items:center; justify-content:center; cursor:pointer;
}
.ast-search-submit svg{ width:16px !important; height:16px !important; fill: var(--msd-ink-soft) !important; }
.ast-search-submit svg path{ fill: var(--msd-ink-soft) !important; }
.search-form input[type="submit"].search-submit{ display:none !important; }

.msd-btn--outline{
	background: transparent !important;
	color: var(--msd-ink) !important;
	border: 1px solid var(--msd-ink) !important;
}
@media (hover:hover) and (pointer:fine){ .msd-btn--outline:hover{
	background: var(--msd-ink) !important;
	color: var(--msd-white) !important;
} }

/* ==========================================================================
   Sekcje homepage (shortcodes: msd_hero, msd_usp, msd_categories, msd_split)
   ========================================================================== */

.msd-hero{
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(420px, 62vw, 640px);
	background: var(--msd-bg-alt);
	overflow: hidden;
}
.msd-hero__bg{
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
}
.msd-hero__bg--video video{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.msd-hero__bg::after{
	content:"";
	position:absolute; inset:0;
	background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.55) 45%, rgba(255,255,255,.08) 78%);
}
.msd-hero__in{
	position: relative; z-index: 2;
	max-width: 1560px; width:100%; margin:0 auto;
	padding: 0 6%;
}
.msd-hero__eyebrow{
	display:inline-block; font-size: 12px; letter-spacing:.22em; text-transform:uppercase;
	color: var(--msd-accent-dk); margin-bottom: 18px; font-weight:500;
}
.msd-hero__h{
	font-size: clamp(38px, 5.2vw, 68px);
	font-style: italic;
	font-weight: 500;
	max-width: 620px;
	margin: 0 0 20px;
	text-wrap: balance;
}
.msd-hero__p{
	font-size: 17px; color: var(--msd-ink-soft); max-width: 460px; margin: 0 0 34px; line-height:1.7;
}

.msd-usp{
	display:flex; flex-wrap:wrap; justify-content:center; gap: 10px 30px;
	max-width: 1560px; margin: 0 auto; padding: 30px 4%;
	border-bottom: 1px solid var(--msd-line);
}
.msd-usp__item{
	display:flex; align-items:center; gap:8px; white-space:nowrap;
	font-size: 12px; letter-spacing:.06em; text-transform:uppercase; color: var(--msd-ink-soft); font-weight:500;
}
.msd-usp__item svg{ flex:none; width:18px; height:18px; stroke: var(--msd-accent-dk); }

.msd-section{ max-width: 1560px; margin: 0 auto; padding: 88px 6%; }
.msd-section--alt{ background: var(--msd-bg-alt); max-width: none; }
.msd-section--alt > .msd-section__in{ max-width: 1560px; margin: 0 auto; padding: 88px 6%; }
.msd-section__head{ text-align:center; max-width: 560px; margin: 0 auto 54px; }
.msd-section__eyebrow{ font-size: 12px; letter-spacing:.22em; text-transform:uppercase; color: var(--msd-accent-dk); font-weight:500; }
.msd-section__h{ font-size: clamp(30px, 3.4vw, 44px); font-style: italic; margin: 10px 0 14px; }
.msd-section__p{ color: var(--msd-ink-soft); font-size: 15.5px; line-height:1.75; }

.msd-cats{ display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.msd-cat{
	position:relative; display:block; aspect-ratio: 3/4; overflow:hidden;
	border-radius: var(--msd-radius); background: var(--msd-line);
	text-decoration:none;
}
.msd-cat img{ width:100%; height:100%; object-fit:cover; transition: transform .4s cubic-bezier(0.23,1,0.32,1); display:block; }
@media (hover:hover) and (pointer:fine){ .msd-cat:hover img{ transform: scale(1.045); } }
.msd-cat::after{
	content:""; position:absolute; inset:0;
	background: linear-gradient(180deg, rgba(42,42,42,0) 45%, rgba(42,42,42,.62) 100%);
}
.msd-cat__label{
	position:absolute; left:26px; right:26px; bottom:24px; z-index:2;
	color:#fff; font-family: var(--msd-font-display); font-size: 24px; font-style: italic;
}
.msd-cat__label span{
	display:block; font-family: var(--msd-font-body); font-style:normal; font-size:11px;
	letter-spacing:.16em; text-transform:uppercase; color: var(--msd-accent-lt); margin-top:4px;
}

.msd-split{
	display:grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items:center;
	max-width: 1560px; margin: 0 auto; padding: 56px 6%;
}
.msd-split__img{ aspect-ratio: 4/5; border-radius: var(--msd-radius); overflow:hidden; background: var(--msd-line); }
.msd-split__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.msd-split__body .msd-section__eyebrow{ display:block; margin-bottom:12px; }
.msd-split__body h2{ font-size: clamp(28px,3vw,38px); font-style:italic; margin:0 0 18px; }
.msd-split__body p{ color: var(--msd-ink-soft); font-size:15.5px; line-height:1.8; margin-bottom:28px; }

/* sekcja "filozofii" - duzy wysrodkowany cytat, celowo INNY uklad niz karty/split (przerywnik rytmu) */
.msd-quote{
	background: var(--msd-bg-alt); text-align:center; padding: 100px 6% 84px;
	max-width: none;
}
.msd-quote__mark{
	font-family: var(--msd-font-display); font-size: 90px; line-height:1; color: var(--msd-accent);
	opacity:.55; margin-bottom: 8px;
}
.msd-quote .msd-section__eyebrow{ display:block; margin-bottom: 22px; }
.msd-quote__text{
	font-family: var(--msd-font-display); font-style: italic; font-weight:500;
	font-size: clamp(26px, 3.4vw, 40px); line-height:1.35; color: var(--msd-ink);
	max-width: 760px; margin: 0 auto; text-wrap: balance;
}
.msd-quote__cite{
	margin-top: 28px; font-family: var(--msd-font-body); font-size:12.5px; letter-spacing:.14em;
	text-transform: uppercase; color: var(--msd-ink-soft);
}

.msd-cta-band{
	background: var(--msd-ink); color:#fff; text-align:center; padding: 76px 6%;
}
.msd-cta-band h2{ color:#fff; font-style:italic; font-size: clamp(28px,3.2vw,42px); margin:0 0 16px; }
.msd-cta-band p{ color:#c4c4c4; max-width:480px; margin:0 auto 30px; }
.msd-cta-band .msd-btn--outline{ color:#fff !important; border-color:#fff !important; }
@media (hover:hover) and (pointer:fine){ .msd-cta-band .msd-btn--outline:hover{ background:#fff !important; color:var(--msd-ink) !important; } }

@media (max-width: 782px){
	.msd-cats{ grid-template-columns: repeat(3,1fr); gap:10px; }
	.msd-split{ grid-template-columns: 1fr; gap: 32px; padding: 40px 6%; }
	.msd-usp{ gap: 10px 28px; }
	.msd-hero__bg::after{ background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.94) 82%); }
}
@media (max-width: 480px){
	.msd-cats{ grid-template-columns: 1fr; gap:14px; }
	.msd-cat{ aspect-ratio: 16/10; }
	.msd-cat__label{ left:22px; right:22px; bottom:18px; font-size:20px; }
	.msd-cat__label span{ font-size:10px; letter-spacing:.1em; }
}

/* ==========================================================================
   WooCommerce — sklep / kategoria / produkt / koszyk
   ========================================================================== */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price{
	font-family: var(--msd-font-body);
}
.woocommerce ul.products li.product{
	margin-bottom: 42px !important;
}
.woocommerce ul.products li.product a img{
	border-radius: var(--msd-radius);
	background: var(--msd-bg-alt);
	transition: opacity .3s ease;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size: 14.5px; font-weight:400; letter-spacing:.02em; color: var(--msd-ink);
	margin-top: 16px !important;
}
.woocommerce ul.products li.product .price{
	color: var(--msd-accent-dk); font-size: 14.5px;
}
.woocommerce ul.products li.product .price del{ color: var(--msd-ink-soft); opacity:.7; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{
	background: transparent !important; color: var(--msd-ink) !important;
	border: 1px solid var(--msd-line) !important; font-size:11px !important;
	padding: 10px 18px !important;
}
@media (hover:hover) and (pointer:fine){ .woocommerce ul.products li.product .button:hover{
	background: var(--msd-ink) !important; color:#fff !important; border-color: var(--msd-ink) !important;
} }
.woocommerce span.onsale{
	background: var(--msd-accent-dk) !important; font-family: var(--msd-font-body);
	font-size:10px !important; letter-spacing:.08em; font-weight:500; text-transform:uppercase;
	min-height:auto !important; min-width:auto !important; padding:6px 12px; border-radius: var(--msd-radius) !important;
	line-height:1 !important; top:14px !important; left:14px !important; right:auto !important;
}

/* slider hero (wzor kategorii/hero, wiele slajdow) */
.msd-slider{ position:relative; min-height: clamp(420px, 62vw, 640px); overflow:hidden; }
.msd-slider .msd-hero{
	position:absolute; inset:0; min-height:0; opacity:0; z-index:1;
	transition: opacity .8s ease;
}
.msd-slider .msd-hero.is-active{ opacity:1; z-index:2; }
.msd-slider__arrow{
	position:absolute !important; top:50% !important; transform:translateY(-50%) !important;
	z-index:6; width:42px !important; height:42px !important; min-width:0 !important;
	border-radius:50% !important; background: rgba(255,255,255,.85) !important;
	border:1px solid var(--msd-line) !important; color: var(--msd-ink) !important;
	display:flex !important; align-items:center; justify-content:center;
	padding:0 !important; cursor:pointer; transition: background .2s, border-color .2s;
}
@media (hover:hover) and (pointer:fine){ .msd-slider__arrow:hover{ background: var(--msd-white) !important; border-color: var(--msd-accent) !important; } }
.msd-slider__arrow svg{ width:18px; height:18px; }
.msd-slider__arrow--prev{ left:20px; }
.msd-slider__arrow--next{ right:20px; }
@media (max-width: 640px){
	.msd-slider__arrow{ width:34px !important; height:34px !important; }
	.msd-slider__arrow--prev{ left:10px; }
	.msd-slider__arrow--next{ right:10px; }
}
.msd-slider__dots{
	position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
	z-index:5; display:flex; gap:9px;
}
.msd-slider__dots button{
	width:8px !important; height:8px !important; min-width:0 !important; min-height:0 !important;
	border-radius:50% !important; background: rgba(42,42,42,.22) !important;
	border:none !important; padding:0 !important; margin:0; cursor:pointer; transition: background .2s;
	line-height:1 !important; font-size:0 !important; box-shadow:none !important;
}
.msd-slider__dots button.is-active{ background: var(--msd-accent-dk) !important; }

/* uklad sklepu z lewym drzewem kategorii (wzor suzana.pl) */
.msd-shop-layout{ display:flex; gap:48px; align-items:flex-start; }
.msd-shop-sidebar{ width:220px; flex:0 0 220px; }
.msd-shop-main{ flex:1; min-width:0; }
.msd-cat-tree{ border-right:1px solid var(--msd-line); padding-right:24px; }
.msd-cat-tree__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.msd-cat-tree__top{
	display:block; font-family: var(--msd-font-display); font-style:italic;
	font-size:21px; color: var(--msd-ink); margin-bottom:16px; text-decoration:none;
}
.msd-cat-tree__top.is-active{ color: var(--msd-accent-dk); }
.msd-cat-tree__toggle{
	display:none; padding:8px; margin-bottom:16px; cursor:pointer; flex:0 0 auto;
}
.msd-cat-tree__toggle,
.msd-cat-tree__toggle:hover,
.msd-cat-tree__toggle:focus,
.msd-cat-tree__toggle:active{
	background:none !important; border:none !important; box-shadow:none !important; color: var(--msd-ink) !important;
}
.msd-cat-tree__toggle:focus{ outline: none; }
.msd-cat-tree__toggle:focus-visible{ outline: 1px solid var(--msd-accent); outline-offset: 2px; }
.msd-cat-tree__toggle svg{ display:block; transition: transform .2s ease; }
.msd-cat-tree.is-open .msd-cat-tree__toggle svg{ transform: rotate(180deg); }
.msd-cat-tree ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.msd-cat-tree a{
	font-family: var(--msd-font-body); font-size:14px; color: var(--msd-ink-soft);
	text-decoration:none; padding:6px 0; display:block; border-bottom:1px solid transparent;
}
@media (hover:hover) and (pointer:fine){ .msd-cat-tree li a:hover{ color: var(--msd-accent-dk); } }
.msd-cat-tree li a.is-active{ color: var(--msd-ink); font-weight:500; box-shadow: inset 2px 0 0 var(--msd-ink); padding-left:12px; }
.msd-cat-tree__top.is-active{ color: var(--msd-ink); }
@media (max-width: 780px){
	.msd-shop-layout{ flex-direction:column; gap:24px; }
	.msd-shop-sidebar{ width:100%; flex:0 0 auto; }
	.msd-cat-tree{ border-right:none; padding-right:0; border-bottom:1px solid var(--msd-line); padding-bottom:16px; }
	.msd-cat-tree__toggle{ display:block; }
	.msd-cat-tree ul{ flex-direction:column; gap:2px; max-height:0; overflow:hidden; }
	.msd-cat-tree.is-open ul{ max-height:600px; }
}

/* pasek filtrow nad siatka produktow (wzor suzana.pl) */
.woocommerce .woocommerce-result-count{
	float:none !important; display:block; width:100%;
	font-family: var(--msd-font-body); font-size:13px; color: var(--msd-ink-soft); margin: 0 0 22px;
}
.msd-filterbar{
	clear:both; display:flex; flex-wrap:wrap; gap:10px; align-items:center;
	padding: 18px 0; margin-bottom: 34px; border-bottom: 1px solid var(--msd-line);
}
.msd-filter-reset{
	background:none; border:none; padding:10px 4px; margin-left:auto;
	font-family: var(--msd-font-body); font-size:14.5px; letter-spacing:.04em;
	color: var(--msd-ink-soft); text-decoration:underline; text-underline-offset:3px;
	cursor:pointer; flex:0 0 auto;
}
/* Astra ma wlasna globalna regule button:hover/button:focus (background/border/color na --ast-global-color-1,
   ktory u nas jest ustawiony na akcent) - dziala PER-WLASCIWOSC, wiec samo wykluczenie .msd-filter-reset z
   naszej reguly nie wystarczy (Astry nie edytujemy). Trzeba jawnie nadpisac te same wlasciwosci we wszystkich
   stanach, inaczej po tapnieciu na mobile (focus zostaje "przyklejony" - mobile nie ma prawdziwego hover)
   przycisk zostaje z akcentowym tlem/bialym tekstem. */
.msd-filter-reset,
.msd-filter-reset:hover,
.msd-filter-reset:focus,
.msd-filter-reset:active{
	background:none !important; border:none !important; box-shadow:none !important;
}
@media (hover:hover) and (pointer:fine){ .msd-filter-reset:hover{ color: var(--msd-accent-dk); } }
.msd-filter-reset:focus{ color: var(--msd-ink-soft); outline: none; }
.msd-filter-reset:focus-visible{ outline: 1px solid var(--msd-accent); outline-offset: 2px; }
#msd-ajax-results{ transition: opacity .2s ease-out, transform .2s ease-out; }
#msd-ajax-results.is-loading{ opacity: .4; transform: translateY(4px); pointer-events: none; }

.woocommerce-ordering{
	display:inline-block; float:right; clear:none; margin: 0 0 22px 12px;
}
.woocommerce-ordering select{
	appearance:none; -webkit-appearance:none;
	background: var(--msd-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23777777'/%3E%3C/svg%3E") no-repeat right 14px center;
	border:1px solid var(--msd-line); border-radius: 999px;
	font-family: var(--msd-font-body); font-size:12.5px; letter-spacing:.04em; color: var(--msd-ink);
	padding: 10px 34px 10px 18px; cursor:pointer;
}
@media (hover:hover) and (pointer:fine){ .woocommerce-ordering select:hover{ border-color: var(--msd-accent); } }

.msd-per-page{
	float:left; font-family: var(--msd-font-body); font-size:14px; color: var(--msd-ink-soft);
	margin: 0 0 22px; display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.msd-per-page a{
	color: var(--msd-ink-soft); text-decoration:none; font-weight:400;
}
@media (hover:hover) and (pointer:fine){ .msd-per-page a:hover{ color: var(--msd-accent-dk); } }
.msd-per-page a.is-active{
	color: var(--msd-ink); font-weight:700; text-decoration:underline; text-underline-offset:3px;
}
@media (max-width: 480px){
	.woocommerce-ordering{ float:none; display:block; width:100%; margin: 0 0 14px; }
	.msd-per-page{ float:none; display:flex; width:100%; margin: 0 0 14px; }
}

/* tekst SEO pod siatka produktow kategorii/podkategorii (Astra .ast-archive-description) -
   domyslnie Astra daje linie/padding od DOLU tekstu, ma byc od GORY (oddziela od siatki nad nim) */
.ast-archive-description{
	margin-bottom: 0; padding-bottom: 0; border-bottom: 0;
	padding-top: 1.33em;
	border-top: 1px solid var(--ast-border-color);
}
.msd-filterbar select{
	appearance:none; -webkit-appearance:none;
	background: var(--msd-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23777777'/%3E%3C/svg%3E") no-repeat right 14px center;
	border:1px solid var(--msd-line); border-radius: 999px;
	font-family: var(--msd-font-body); font-size:12.5px; letter-spacing:.04em; color: var(--msd-ink);
	padding: 10px 34px 10px 18px; cursor:pointer;
	width:auto; min-width:140px; max-width:220px; flex:0 0 auto;
}
@media (hover:hover) and (pointer:fine){ .msd-filterbar select:hover{ border-color: var(--msd-accent); } }

/* filtr ceny jako dropdown (jak reszta pigulek) - klik na przycisk otwiera panel z suwakiem
   (dwa nakladajace sie input[type=range], klasyczna technika: input ma pointer-events:none,
   przezroczysty dla kliknieć poza samym uchwytem, tylko ::thumb ma pointer-events:auto) */
.msd-price-filter{ position:relative; flex:0 0 auto; }
.msd-price-filter__toggle{
	appearance:none; -webkit-appearance:none; text-align:left;
	background: var(--msd-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23777777'/%3E%3C/svg%3E") no-repeat right 14px center;
	border:1px solid var(--msd-line); border-radius: 999px;
	font-family: var(--msd-font-body); font-size:12.5px; letter-spacing:.04em; color: var(--msd-ink);
	padding: 10px 34px 10px 18px; cursor:pointer;
	width:auto; min-width:220px; flex:0 0 auto;
}
@media (hover:hover) and (pointer:fine){ .msd-price-filter__toggle:hover{ border-color: var(--msd-accent); } }
.msd-price-filter.is-open .msd-price-filter__toggle{ border-color: var(--msd-accent); }
.msd-price-filter__panel{
	display:block; visibility:hidden; opacity:0; transform:scale(.97); transform-origin:top left; pointer-events:none;
	transition: opacity .15s ease-out, transform .15s ease-out, visibility 0s linear .15s;
	position:absolute; top:calc(100% + 8px); left:0; z-index:30;
	background: var(--msd-white); border:1px solid var(--msd-line); border-radius:14px;
	padding: 22px 24px; box-shadow: 0 10px 28px rgba(42,42,42,.1); min-width:260px;
}
.msd-price-filter.is-open .msd-price-filter__panel{ visibility:visible; opacity:1; transform:none; pointer-events:auto; transition-delay:0s; }
.msd-price-filter__label{
	margin-top:16px; display:flex; align-items:center; justify-content:center; gap:6px;
	font-family: var(--msd-font-body); font-size:13px; letter-spacing:.02em; color: var(--msd-ink);
	white-space:nowrap;
}
input.msd-price-filter__input[type="number"]{
	width:36px !important; min-width:0 !important; max-width:36px !important; flex:0 0 auto !important;
	border:none !important; background:none !important; padding:0 2px !important;
	font-family: var(--msd-font-body); font-size:12.5px; font-weight:500; color: var(--msd-accent-dk);
	text-align:center; -moz-appearance:textfield; box-shadow:none !important; border-radius:0 !important;
}
.msd-price-filter__input::-webkit-outer-spin-button,
.msd-price-filter__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.msd-price-filter__input:focus{ outline: none; border-bottom: 1px solid var(--msd-accent-dk); }
.msd-price-filter__track{ position:relative; width:100%; height:20px; flex:0 0 auto; }
.msd-price-filter__line{
	position:absolute; top:50%; left:0; width:100%; height:2px; margin-top:-1px;
	background: var(--msd-line); z-index:1; pointer-events:none;
}
.msd-price-filter__track input[type="range"]{
	position:absolute; top:50%; left:0; width:100%; height:20px; margin:0; transform:translateY(-50%);
	-webkit-appearance:none; appearance:none; background:none; pointer-events:none; z-index:2;
}
.msd-price-filter__track input[type="range"]::-webkit-slider-runnable-track{
	height:2px; background:transparent; border:none; box-shadow:none; outline:none;
}
.msd-price-filter__track input[type="range"]::-moz-range-track{
	height:2px; background:transparent; border:none; box-shadow:none; outline:none;
}
.msd-price-filter__track input[type="range"]::-moz-range-progress{ background:transparent; }
/* dwa suwaki na tym samym z-index - "max" jest pozniej w DOM i przy remisie wygrywa,
   wiec jego (teoretycznie przezroczysty) tor moze przykryc uchwyt "min" pod spodem w niektorych
   silnikach renderowania. Zamiast liczyc na 100% przezroczystosc toru, "min" ma po prostu wyzszy
   z-index na stale - jego uchwyt nigdy nie moze zostac przykryty. */
#msd-price-min{ z-index:3; }
#msd-price-max{ z-index:2; }
.msd-price-filter__track input[type="range"]::-webkit-slider-thumb{
	-webkit-appearance:none; pointer-events:auto; cursor:pointer;
	width:14px; height:14px; border-radius:50%; margin-top:-6px;
	background: var(--msd-accent-dk); border:2px solid var(--msd-white); box-shadow:0 0 0 1px var(--msd-accent-dk);
}
.msd-price-filter__track input[type="range"]::-moz-range-thumb{
	pointer-events:auto; cursor:pointer; width:14px; height:14px; border-radius:50%; border:2px solid var(--msd-white);
	background: var(--msd-accent-dk); box-shadow:0 0 0 1px var(--msd-accent-dk);
}
.msd-price-filter__track input[type="range"]:focus{ outline:none; }
.msd-price-filter__track input[type="range"]:focus-visible::-webkit-slider-thumb{ outline: 1px solid var(--msd-accent); outline-offset: 2px; }
@media (max-width: 600px){
	.msd-price-filter{ width:100%; }
	.msd-price-filter__toggle{ width:100%; min-width:0; }
	.msd-price-filter__panel{ left:0; right:0; width:auto; }
	/* wieksze uchwyty na mobile - latwiej zlapac palcem */
	.msd-price-filter__track{ height:28px; }
	.msd-price-filter__track input[type="range"]::-webkit-slider-thumb{
		width:26px; height:26px; margin-top:-13px;
	}
	.msd-price-filter__track input[type="range"]::-moz-range-thumb{
		width:26px; height:26px;
	}
}

.woocommerce nav.woocommerce-pagination ul li{ border-color: var(--msd-line) !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
	font-family: var(--msd-font-body); color: var(--msd-ink) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
	background: var(--msd-ink) !important; color:#fff !important;
}

/* karta produktu */
.woocommerce div.product .product_title{ font-style:italic; font-size: clamp(26px,3vw,36px); }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color: var(--msd-accent-dk); font-size:20px; }
.woocommerce div.product .woocommerce-product-details__short-description{ color: var(--msd-ink-soft); line-height:1.8; }
.woocommerce-tabs .tabs li{ font-family: var(--msd-font-body); }
.woocommerce div.product form.cart .quantity input{
	border:1px solid var(--msd-line); border-radius: var(--msd-radius); font-family: var(--msd-font-body);
}

/* lista atrybutow (Rozmiar, Kolor, Material...) pod opisem produktu */
.msd-product-attrs{
	margin: 22px 0; padding: 18px 0; border-top:1px solid var(--msd-line); border-bottom:1px solid var(--msd-line);
	display:flex; flex-direction:column; gap:8px;
}
.msd-product-attrs__row{ display:flex; gap:10px; font-family: var(--msd-font-body); font-size:14px; }
.msd-product-attrs__label{ min-width:140px; color: var(--msd-ink-soft); text-transform:uppercase; font-size:11.5px; letter-spacing:.08em; padding-top:2px; }
.msd-product-attrs__value{ color: var(--msd-ink); font-weight:500; }
.msd-product-warranty{ font-family: var(--msd-font-body); font-size:14px; color: var(--msd-ink-soft); margin: 0 0 18px; }
.msd-product-warranty strong{ color: var(--msd-ink); }

/* koszyk / checkout */
.woocommerce table.shop_table{ border-color: var(--msd-line) !important; }
.woocommerce table.shop_table th{ font-family: var(--msd-font-body); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color: var(--msd-ink-soft); }
.woocommerce #payment{ background: var(--msd-bg-alt) !important; border-radius: var(--msd-radius); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea{
	border:1px solid var(--msd-line); border-radius: var(--msd-radius); font-family: var(--msd-font-body); background:#fff;
}
.woocommerce-checkout #order_review, .woocommerce-cart-form{
	background:#fff; padding: 28px; border-radius: var(--msd-radius); box-shadow: var(--msd-shadow);
}

/* kontakt / formularz CF7 */
.msd-contact-wrap{
	max-width: 640px; margin: 0 auto; background:#fff; padding: 36px;
	border-radius: var(--msd-radius); box-shadow: var(--msd-shadow);
}
.msd-contact-wrap .wpcf7-form p{ margin: 0 0 18px; }
.msd-contact-wrap .wpcf7-form label{
	display:block; font-family: var(--msd-font-body); font-size:12px; letter-spacing:.08em;
	text-transform: uppercase; color: var(--msd-ink-soft); margin-bottom:6px;
}
.msd-contact-wrap .wpcf7-form input[type="text"],
.msd-contact-wrap .wpcf7-form input[type="email"],
.msd-contact-wrap .wpcf7-form textarea{
	width:100%; border:1px solid var(--msd-line); border-radius: var(--msd-radius);
	font-family: var(--msd-font-body); font-size:15px; padding:12px 14px; background: var(--msd-bg);
}
.msd-contact-wrap .wpcf7-form textarea{ min-height:140px; resize:vertical; }
.msd-contact-wrap .wpcf7-form input[type="submit"]{
	font-family: var(--msd-font-body); font-size:13px; letter-spacing:.08em; text-transform:uppercase;
	background: var(--msd-accent); color:#fff; border:none; border-radius: var(--msd-radius);
	padding:14px 32px; cursor:pointer; transition: background .2s;
}
@media (hover:hover) and (pointer:fine){ .msd-contact-wrap .wpcf7-form input[type="submit"]:hover{ background: var(--msd-accent-dk); } }
.msd-contact-wrap .wpcf7-form .wpcf7-acceptance{ display:block; margin-bottom:8px; }
.msd-contact-wrap .wpcf7-form .wpcf7-list-item{ margin:0; display:flex; align-items:flex-start; gap:8px; }
.msd-contact-wrap .wpcf7-form .wpcf7-list-item input[type="checkbox"]{ margin-top:4px; flex:none; }
.msd-contact-wrap .wpcf7-form .wpcf7-list-item-label{ font-size:13px; color: var(--msd-ink-soft); line-height:1.6; }
.msd-contact-wrap .wpcf7-form .wpcf7-list-item-label a{ color: var(--msd-accent-dk); }
.msd-contact-wrap .wpcf7-response-output{
	border-radius: var(--msd-radius) !important; font-family: var(--msd-font-body); font-size:14px;
}
.msd-contact-info{
	max-width:640px; margin:0 auto 28px; text-align:center; color: var(--msd-ink-soft); font-family: var(--msd-font-body);
}
.msd-contact-info a{ color: var(--msd-accent-dk); }

/* baner cookies (CookieYes) - dopasowanie do marki + fix CLS (fixed pozycja, znane z MDF) */
.cky-overlay, .cky-consent-container, .cky-modal, .cky-btn-revisit-wrapper{ position: fixed !important; }

.cky-consent-container .cky-consent-bar{
	border-radius: var(--msd-radius) !important; border-color: var(--msd-line) !important;
	box-shadow: var(--msd-shadow) !important;
}
.cky-notice .cky-title{
	font-family: var(--msd-font-display) !important; font-style: italic; font-weight: 600 !important;
	font-size: 20px !important; color: var(--msd-ink) !important;
}
.cky-notice-des, .cky-notice-des *{
	font-family: var(--msd-font-body) !important; color: var(--msd-ink-soft) !important;
}
.cky-notice-btn-wrapper{ flex-direction: column !important; margin-top: 18px !important; }
.cky-notice-btn-wrapper .cky-btn{
	width: 100% !important; margin: 8px 0 0 0 !important; flex: none !important;
	font-family: var(--msd-font-body) !important; font-size: 12.5px !important; letter-spacing: .1em !important;
	text-transform: uppercase !important; font-weight: 500 !important; padding: 13px 20px !important;
	border-radius: var(--msd-radius) !important; text-shadow: none !important; box-shadow: none !important;
	min-height: 0 !important; text-align: center !important;
}
.cky-notice-btn-wrapper .cky-btn-accept{
	order: 1; background: var(--msd-ink) !important; border-color: var(--msd-ink) !important; color: #fff !important;
}
.cky-notice-btn-wrapper .cky-btn-customize{
	order: 2; background: transparent !important; border-color: var(--msd-line) !important; color: var(--msd-ink) !important;
}
.cky-notice-btn-wrapper .cky-btn-reject{
	order: 3; background: transparent !important; border-color: var(--msd-line) !important; color: var(--msd-ink-soft) !important;
}
@media (hover:hover) and (pointer:fine){ .cky-notice-btn-wrapper .cky-btn:hover{ opacity: 1 !important; background: var(--msd-accent-dk) !important; border-color: var(--msd-accent-dk) !important; color:#fff !important; } }
.cky-notice-des a.cky-policy, .cky-notice-des button.cky-policy{ color: var(--msd-accent-dk) !important; }

.cky-modal, .cky-preference-center{ border-radius: var(--msd-radius) !important; }
.cky-preference-header .cky-preference-title{ font-family: var(--msd-font-display) !important; font-style: italic; color: var(--msd-ink) !important; }
.cky-accordion-header .cky-accordion-btn{ font-family: var(--msd-font-body) !important; color: var(--msd-ink) !important; }
.cky-accordion-header .cky-always-active{ color: var(--msd-accent-dk) !important; }
.cky-switch input[type="checkbox"]:checked{ background: var(--msd-accent) !important; }
.cky-prefrence-btn-wrapper .cky-btn{
	font-family: var(--msd-font-body) !important; font-size: 12.5px !important; letter-spacing: .1em !important;
	text-transform: uppercase !important; border-radius: var(--msd-radius) !important; box-shadow:none !important; text-shadow:none !important;
}
.cky-prefrence-btn-wrapper .cky-btn-accept{ background: var(--msd-ink) !important; border-color: var(--msd-ink) !important; color:#fff !important; }
.cky-prefrence-btn-wrapper .cky-btn-reject, .cky-prefrence-btn-wrapper .cky-btn-preferences{
	background: transparent !important; border-color: var(--msd-line) !important; color: var(--msd-ink) !important;
}
.cky-btn-revisit-wrapper{ background: var(--msd-ink) !important; }

/* przycisk "do gory" (Astra) - domyslnie niebieski, dopasowany do marki */
#ast-scroll-top{ background: var(--msd-ink) !important; }
@media (hover:hover) and (pointer:fine){ #ast-scroll-top:hover{ background: var(--msd-accent-dk) !important; } }
#ast-scroll-top .ast-scroll-top-icon{ color: #fff !important; fill: #fff !important; }

/* subtelny komunikat "brakuje X zl do darmowej dostawy" nad lista metod wysylki */
.msd-free-shipping-hint{
	font-family: var(--msd-font-body); font-size:14px; letter-spacing:.02em;
	color: var(--msd-ink-soft); margin: 0 0 10px; font-style: italic;
}

/* Hamburger glownego menu (mobile) - byl NIEWIDOCZNY: nasza generyczna regula CTA dawala mu ciemne
   tlo (--msd-ink), a ikona SVG Astry (fill:currentColor) dziedziczyla kolor z --ast-global-color-0,
   ktory TEZ ustawilismy na --msd-ink w :root - ink na ink, ikona znikala calkowicie. Wykluczony wyzej
   z generycznej reguly CTA (.button/.ast-button itd.), tu jawnie ustawiony spojny wyglad we wszystkich
   stanach (Astra ma wlasna regule hover/focus na --ast-global-color-1 = akcent, ktora bez tego
   "przykleja" sie po tapnieciu na mobile, tak jak przy filtrach/hamburgerze kategorii). */
.menu-toggle.main-header-menu-toggle,
.menu-toggle.main-header-menu-toggle:hover,
.menu-toggle.main-header-menu-toggle:focus,
.menu-toggle.main-header-menu-toggle:active{
	background:none !important; border:none !important; box-shadow:none !important; color: var(--msd-ink) !important;
}
.menu-toggle.main-header-menu-toggle:focus{ outline:none; }
.menu-toggle.main-header-menu-toggle:focus-visible{ outline: 1px solid var(--msd-accent); outline-offset: 2px; }

/* strony prawne (Regulamin/Zwroty/Dostawa/Platnosci/Polityka prywatnosci/Polityka cookies) - dziedziczyly
   pelna szerokosc kontenera (1560px, ustawiona globalnie dla strony glownej), na dlugim tekscie
   prawnym to nieczytelne (za dlugie linie) - zawezone tylko dla tych 6 stron do wygodnej szerokosci czytania */
.page-id-12 .entry-content,
.page-id-13 .entry-content,
.page-id-14 .entry-content,
.page-id-15 .entry-content,
.page-id-16 .entry-content,
.page-id-17 .entry-content{
	max-width: 760px; margin-left:auto; margin-right:auto;
}


/* ==========================================================================
   Dopracowanie interakcji (przeglad designu): stan :active, "Wiecej filtrow", reduced-motion, cookie
   ========================================================================== */
.ast-button:active, .msd-btn--outline:active, a.button:active, .single_add_to_cart_button:active,
#place_order:active, .checkout-button:active, .wp-block-button__link:active,
button:not(.msd-slider__arrow):not(.msd-slider__dots button):not(.cky-btn-revisit):not(.cky-accordion-btn):not(.menu-toggle):not(.cky-btn-close):not(.msd-cat-tree__toggle):not(.search-submit):active,
.msd-filterbar select:active, .msd-price-filter__toggle:active, .msd-cat:active{
	transform: scale(0.97);
}
.msd-cat{ transition: transform .16s ease-out; }

/* "Wiecej filtrow" - glowne 3 atrybuty + cena zawsze widoczne, reszta zwinieta */
.msd-filter-more-toggle{ min-width:0 !important; }
.msd-filterbar__more{
	display:none; order:10; flex:1 0 100%; flex-wrap:wrap; gap:10px; padding-top:6px;
}
.msd-filterbar__more.is-open{ display:flex; }
.msd-filter-reset{ order:5; }
.msd-price-filter{ order:2; }
.msd-filter-more-toggle{ order:4; }

/* tuszowy kontrast na stanach hover pigulek (szarosci) */
@media (hover:hover) and (pointer:fine){
	.msd-filterbar select:hover, .woocommerce-ordering select:hover, .msd-price-filter__toggle:hover{ border-color: var(--msd-ink-soft); }
}

/* baner cookies - mniejszy, nie zaslania pierwszego ekranu */
.cky-consent-container.cky-box-bottom-left{ max-width: 360px !important; width: calc(100% - 32px) !important; }
.cky-consent-container .cky-notice-des p{ font-size: 13px !important; line-height: 1.55 !important; margin: 0 !important; }
.cky-consent-container .cky-consent-bar{ padding: 18px 20px !important; }
.cky-notice-btn-wrapper{ flex-direction: row !important; flex-wrap: wrap; gap: 8px; margin-top: 14px !important; }
.cky-notice-btn-wrapper .cky-btn{ margin: 0 !important; padding: 11px 12px !important; width:auto !important; flex: 1 1 calc(50% - 8px) !important; }
.cky-notice-btn-wrapper .cky-btn-accept{ order: 1; flex: 1 1 100% !important; }
.cky-notice-btn-wrapper .cky-btn-customize{ order: 2; }
.cky-notice-btn-wrapper .cky-btn-reject{ order: 3; }

@media (prefers-reduced-motion: reduce){
	*, *::before, *::after{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.msd-slider .msd-hero{ transition: none !important; }
}

.msd-price-filter__toggle:focus,
.msd-price-filter__toggle:active,
.msd-filter-more-toggle:focus,
.msd-filter-more-toggle:active{
	background-color: var(--msd-white) !important; color: var(--msd-ink) !important;
	box-shadow:none !important; outline:none;
}
.msd-filter-more-toggle:focus-visible{ outline: 1px solid var(--msd-ink-soft); outline-offset:2px; }
.msd-price-filter__toggle{ min-width:140px; }
.cky-notice-btn-wrapper .cky-btn{ letter-spacing: .06em !important; white-space: nowrap !important; font-size: 12px !important; }
.msd-price-filter__toggle:hover,
.msd-filter-more-toggle:hover{
	background-color: var(--msd-white) !important; color: var(--msd-ink) !important; box-shadow:none !important;
}

/* baner cookies na mobile - kompaktowy, nie zjada polowy ekranu */
@media (max-width:600px){
	.cky-consent-container.cky-box-bottom-left{ left:12px !important; right:12px !important; bottom:12px !important; width:auto !important; max-width:none !important; }
	.cky-consent-container .cky-consent-bar{ padding:14px 16px !important; }
	.cky-consent-container .cky-notice .cky-title{ font-size:17px !important; margin-bottom:6px !important; }
	.cky-consent-container .cky-notice-des{ max-height:none !important; overflow:visible !important; }
	.cky-consent-container .cky-notice-des p{ font-size:12.5px !important; line-height:1.5 !important; }
	.cky-consent-container .cky-notice-btn-wrapper{ flex-direction:row !important; flex-wrap:wrap !important; gap:8px !important; margin-top:12px !important; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn{ width:auto !important; min-width:0 !important; flex:1 1 calc(50% - 4px) !important; padding:11px 6px !important; margin:0 !important; letter-spacing:.04em !important; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-accept{ flex:1 1 100% !important; }
}
@media (max-width:600px){
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn{ font-size:11px !important; letter-spacing:.02em !important; }
}


/* ==========================================================================
   Animacje (przeglad "find-animation-opportunities"): tylko transform/opacity, reduced-motion globalnie wyzej
   ========================================================================== */
/* 1. panel "Wiecej filtrow" */
.msd-filterbar__more{
	opacity:0; transform:translateY(-4px);
	transition: opacity .16s cubic-bezier(0.23,1,0.32,1), transform .16s cubic-bezier(0.23,1,0.32,1), display .16s allow-discrete;
}
.msd-filterbar__more.is-open{ opacity:1; transform:none; }
@starting-style{ .msd-filterbar__more.is-open{ opacity:0; transform:translateY(-4px); } }

/* 3. karty produktow po podmianie AJAX (klasa .msd-swapped ustawiana w JS, pierwsze wejscie na strone bez animacji) */
.msd-swapped ul.products li.product{ transition: opacity .24s cubic-bezier(0.23,1,0.32,1), transform .24s cubic-bezier(0.23,1,0.32,1); }
@starting-style{ .msd-swapped ul.products li.product{ opacity:0; transform:translateY(8px); } }
.msd-swapped ul.products li.product:nth-child(2){ transition-delay:30ms; }
.msd-swapped ul.products li.product:nth-child(3){ transition-delay:60ms; }
.msd-swapped ul.products li.product:nth-child(4){ transition-delay:90ms; }
.msd-swapped ul.products li.product:nth-child(5){ transition-delay:120ms; }
.msd-swapped ul.products li.product:nth-child(6){ transition-delay:150ms; }
.msd-swapped ul.products li.product:nth-child(7){ transition-delay:180ms; }
.msd-swapped ul.products li.product:nth-child(n+8){ transition-delay:210ms; }

/* 4. komunikaty WooCommerce */
.woocommerce-message, .woocommerce-error, .woocommerce-info{ transition: opacity .2s cubic-bezier(0.23,1,0.32,1), transform .2s cubic-bezier(0.23,1,0.32,1); }
@starting-style{ .woocommerce-message, .woocommerce-error, .woocommerce-info{ opacity:0; transform:translateY(-6px); } }

/* 5. wejscie hero na stronie glownej - startuje gdy skeleton zaczyna znikac */
@keyframes msd-rise{ from{ opacity:0; transform:translateY(10px); } }
#msd-skeleton:is(.msd-skeleton--fading,.msd-skeleton--hidden) ~ #page .msd-slider .msd-hero:first-child .msd-hero__eyebrow{ animation: msd-rise .4s cubic-bezier(0.23,1,0.32,1) both; }
#msd-skeleton:is(.msd-skeleton--fading,.msd-skeleton--hidden) ~ #page .msd-slider .msd-hero:first-child .msd-hero__h{ animation: msd-rise .4s cubic-bezier(0.23,1,0.32,1) 70ms both; }
#msd-skeleton:is(.msd-skeleton--fading,.msd-skeleton--hidden) ~ #page .msd-slider .msd-hero:first-child .msd-hero__p{ animation: msd-rise .4s cubic-bezier(0.23,1,0.32,1) 140ms both; }
#msd-skeleton:is(.msd-skeleton--fading,.msd-skeleton--hidden) ~ #page .msd-slider .msd-hero:first-child .ast-button{ animation: msd-rise .4s cubic-bezier(0.23,1,0.32,1) 210ms both; }

/* 6. baner cookies - wejscie z dolu */
@keyframes msd-cky-in{ from{ opacity:0; transform:translateY(16px); } }
.cky-consent-container:not(.cky-hide){ animation: msd-cky-in .3s cubic-bezier(0.32,0.72,0,1) both; }

/* 2. drzewo kategorii na mobile - plynne rozwijanie */
@media (max-width: 780px){
	.msd-cat-tree ul{ opacity:0; transition: max-height .26s cubic-bezier(0.77,0,0.175,1), opacity .2s ease-out; }
	.msd-cat-tree.is-open ul{ opacity:1; max-height:480px; }
}


/* animacja pojawiania przy scrollu (strona glowna) - klasy dodaje JS dopiero po zaladowaniu, bez JS tresc jest normalnie widoczna */
.msd-js-reveal .msd-r{ opacity:0; transform:translateY(18px); transition: opacity .55s cubic-bezier(0.23,1,0.32,1), transform .55s cubic-bezier(0.23,1,0.32,1); }
.msd-js-reveal .msd-r.is-in{ opacity:1; transform:none; }
