/* ============================================================
   Schrup Mnie — wygląd w stylu nuts.com
   Biel, duże zdjęcia, czytelna cena, zielony "Do koszyka",
   złoty pas z bestsellerami, brązowy pas zaufania.
   ============================================================ */

:root {
	/* Turkus z logo (słoik) = kolor marki; złoto = ciepły akcent; brąz = tekst */
	/* #058C88 z logo ma kontrast 4,1:1 z bielą — dla tekstu na przyciskach bierzemy
	   odcień ciemniejszy (4,9:1, WCAG AA). Logo zostaje w oryginalnym kolorze. */
	--sm-turkus-logo:   #058C88;
	--sm-turkus:        #047A76;
	--sm-turkus-ciemny: #035E5B;
	--sm-morski:        #0A4A48;
	--sm-turkus-jasny:  #E4F3F2;
	--sm-akcent:        var(--sm-turkus);
	--sm-akcent-ciemny: var(--sm-turkus-ciemny);
	--sm-zloty:         #F2A93B;
	--sm-zloty-jasny:   #FCE7C2;
	--sm-braz:          #2B2118;
	--sm-braz-ciepl:    var(--sm-turkus);
	--sm-tekst:         #2B2118;
	--sm-tekst-jasny:   #6B5D4F;
	--sm-ramka:         #E9E1D6;
	--sm-tlo:           #FAF6F0;
	--sm-brzoskwinia:   var(--sm-turkus-jasny);
	--sm-zielony:       var(--sm-turkus);
	--sm-zielony-ciemny:var(--sm-turkus-ciemny);
	--sm-promien:       14px;
	--sm-szer:          1240px;

	--theme-font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body,
button,
input,
select,
textarea {
	font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* Biel jak na nuts.com — krem zostaje dla wyróżnionych sekcji */
html body,
html body #main-container,
html body .site-main { background-color: #fff; }

/* Z filtrami z boku: 3 kolumny produktów (4 byłyby za ciasne) */
@media (min-width: 1000px) {
	[data-sidebar] [data-products]:not(.sm-karuzela__tor) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

body h1,
body h2,
body .entry-title,
body .page-title,
body .product_title,
.sm-h {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--sm-tekst);
}

/* ============================================================
   Pasek ogłoszeń
   ============================================================ */

.sm-pasek {
	background: var(--sm-morski);
	color: #fff;
	font-size: 13.5px;
	line-height: 1.3;
}

.sm-pasek__wnetrze {
	max-width: var(--sm-szer);
	margin: 0 auto;
	padding: 9px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	position: relative;
}

.sm-pasek p { margin: 0; }
.sm-pasek strong { font-weight: 700; }
.sm-pasek__sep { opacity: .5; margin: 0 .35em; }

.sm-pasek__linki {
	position: absolute;
	right: 20px;
}

.sm-pasek a { color: #fff; text-decoration: none; font-weight: 600; }
.sm-pasek a:hover { color: var(--sm-zloty); }

/* ============================================================
   Nagłówek (Blocksy): logo | wyszukiwarka | konto + koszyk
   pod spodem menu kategorii
   ============================================================ */

#header [data-row*="middle"] {
	--height: 86px;
	background: #fff;
}

#header [data-row*="bottom"] {
	--height: 52px;
	background: #fff;
	border-top: 1px solid var(--sm-ramka);
	border-bottom: 1px solid var(--sm-ramka);
}

#header .site-title,
#header .site-title a {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 800;
	font-size: 30px;
	letter-spacing: -.02em;
	color: var(--sm-braz);
	text-transform: none;
}

#header .site-title a:hover { color: var(--sm-akcent); }

/* Logo-słoik: wysokie, więc pozwalamy mu wystawać nad wiersz nagłówka */
#header [data-id="logo"] .site-logo-container { --logo-max-height: 78px; }
#header [data-id="logo"] .site-logo-container img { height: 78px; width: auto; max-height: none; }
/* Nazwa jest na słoiku — tekst zostaje tylko dla czytników ekranu i Google */
#header [data-id="logo"]:has(.site-logo-container) .site-title-container {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
#header [data-row*="middle"] { --height: 100px; }

@media (max-width: 999.98px) {
	#header [data-id="logo"] .site-logo-container { --logo-max-height: 54px; }
	#header [data-id="logo"] .site-logo-container img { height: 54px; }
}

/* Wyszukiwarka zajmuje środek */
#header [data-row*="middle"] [data-column="middle"] { flex: 1 1 auto; justify-content: center; }
#header [data-id="text"] { width: 100%; max-width: 620px; }
@media (min-width: 1000px) {
	#header [data-device="desktop"] [data-row*="middle"] [data-id="text"] { width: min(580px, 42vw); }
}
.sm-szukaj__pole:focus,
.sm-szukaj__pole:focus-visible { outline: none !important; box-shadow: none !important; }
.sm-podpowiedz { min-width: min(400px, 92vw); }
#header [data-id="text"] .entry-content,
#header .ct-header-text { width: 100%; }

.sm-szukaj {
	display: flex;
	align-items: center;
	width: 100%;
	background: #F3EEE7;
	border: 2px solid transparent;
	border-radius: 999px;
	padding: 4px 4px 4px 20px;
	transition: border-color .15s ease, background .15s ease;
	margin: 0;
}

.sm-szukaj:focus-within {
	border-color: var(--sm-zloty);
	background: #fff;
}

.sm-szukaj__pole {
	flex: 1 1 auto;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	height: 40px;
	padding: 0 !important;
	font-size: 15px;
	color: var(--sm-tekst);
	min-width: 0;
}

.sm-szukaj__pole::placeholder { color: #9A8C7D; }

.sm-szukaj__przycisk {
	border: 0;
	background: var(--sm-zloty);
	color: var(--sm-braz);
	font-weight: 700;
	font-size: 14.5px;
	border-radius: 999px;
	padding: 0 22px;
	height: 40px;
	cursor: pointer;
	transition: background .15s ease;
}

.sm-szukaj__przycisk:hover { background: #E3962A; }

/* Podpowiedzi na żywo */
.sm-szukaj { position: relative; }

.sm-podpowiedz {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 1000;
	background: #fff;
	border: 1px solid var(--sm-ramka);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(43, 33, 24, .16);
	padding: 8px;
	text-align: left;
}

.sm-podpowiedz__el {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 7px 8px;
	border-radius: 10px;
	color: var(--sm-tekst);
	text-decoration: none;
	font-size: 14.5px;
}

.sm-podpowiedz__el:hover,
.sm-podpowiedz__el:focus { background: var(--sm-turkus-jasny); outline: none; color: var(--sm-tekst); }
.sm-podpowiedz__el img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; }
.sm-podpowiedz__nazwa { font-weight: 600; }
.sm-podpowiedz__cena { font-weight: 800; white-space: nowrap; font-size: 14px; }
.sm-podpowiedz__brak { margin: 8px; color: var(--sm-tekst-jasny); font-size: 14px; }

.sm-podpowiedz__wszystkie {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 10px;
	border: 0;
	border-top: 1px solid var(--sm-ramka);
	background: none;
	color: var(--sm-turkus-ciemny);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	text-align: center;
}

/* Konto (menu pomocnicze) z ikoną */
#header [data-id="menu-secondary"] .menu > li > a {
	font-size: 14.5px;
	font-weight: 600;
	text-transform: none;
	color: var(--sm-tekst);
	gap: 8px;
}

#header [data-id="menu-secondary"] .menu > li > a::before {
	content: '';
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='10' r='3.2'/%3E%3Cpath d='M6.2 18.5c1.4-2.2 3.4-3.3 5.8-3.3s4.4 1.1 5.8 3.3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='10' r='3.2'/%3E%3Cpath d='M6.2 18.5c1.4-2.2 3.4-3.3 5.8-3.3s4.4 1.1 5.8 3.3'/%3E%3C/svg%3E") center / contain no-repeat;
	flex: 0 0 auto;
}

#header [data-id="menu-secondary"] .menu > li > a:hover { color: var(--sm-akcent); }

#header [data-id="cart"] { --theme-icon-size: 24px; }
#header [data-id="cart"] .ct-label { font-weight: 600; font-size: 14.5px; text-transform: none; }

/* Menu kategorii */
#header [data-row*="bottom"] [data-id="menu"] .menu > li > a {
	font-size: 15.5px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	color: var(--sm-tekst);
	padding: 0 18px;
}

#header [data-row*="bottom"] [data-id="menu"] .menu > li > a:hover,
#header [data-row*="bottom"] [data-id="menu"] .menu > li.current-menu-item > a,
#header [data-row*="bottom"] [data-id="menu"] .menu > li.current-menu-ancestor > a {
	color: var(--sm-akcent);
}

#header [data-id="menu"] .sub-menu {
	border-radius: 12px;
	box-shadow: 0 14px 34px rgba(43, 33, 24, .14);
	padding: 8px 0;
	--dropdown-items-spacing: 10px;
}

#header [data-id="menu"] .sub-menu a { font-size: 14.5px; font-weight: 500; }

/* Telefon: wyszukiwarka pod logo na całą szerokość */
@media (max-width: 999.98px) {
	#header [data-row*="middle"] { --height: 64px; }
	#header [data-row*="bottom"] { --height: auto; border-top: 0; padding: 0 0 12px; }
	#header .site-title,
	#header .site-title a { font-size: 24px; }
	#header [data-id="text"] { max-width: none; }
	.sm-szukaj { padding-left: 16px; }
	.sm-szukaj__pole { height: 38px; font-size: 16px; }
	.sm-szukaj__przycisk { height: 38px; padding: 0 16px; }
	.sm-pasek { font-size: 12.5px; }
	.sm-pasek__linki { display: none; }
	.sm-pasek__wnetrze { padding: 8px 14px; }
}

/* ---------- Pasek skrótów pod menu (nuts.com: New · Greatest Hits · …) ---------- */

.sm-skroty {
	background: var(--sm-zloty-jasny);
	background: #FDF1DD;
	border-bottom: 1px solid var(--sm-ramka);
}

.sm-skroty ul {
	list-style: none;
	margin: 0 auto;
	padding: 0 16px;
	max-width: var(--sm-szer);
	display: flex;
	justify-content: center;
	align-items: center;
	overflow-x: auto;
	scrollbar-width: none;
	white-space: nowrap;
}

.sm-skroty ul::-webkit-scrollbar { display: none; }
.sm-skroty li + li { border-left: 1px solid #E5D3B7; }

.sm-skroty a {
	display: block;
	padding: 9px 16px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--sm-tekst);
	text-decoration: none;
}

.sm-skroty a:hover { color: var(--sm-akcent); }

@media (max-width: 999.98px) {
	.sm-skroty ul { justify-content: flex-start; }
	.sm-skroty a { padding: 8px 12px; font-size: 13px; }
}

/* ---------- Nagłówek przyklejony przy przewijaniu ---------- */

@keyframes sm-zjazd { from { transform: translateY(-100%); } to { transform: none; } }

body.sm-scroll #header [data-device="desktop"] [data-row*="middle"] {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	--height: 70px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .09);
	animation: sm-zjazd .22s ease-out;
}

body.sm-scroll #header [data-device="desktop"] [data-id="logo"] .site-logo-container img { height: 54px; }

body.sm-scroll #header [data-device="mobile"] {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background: #fff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .09);
	animation: sm-zjazd .22s ease-out;
}

/* ---------- Okruszki jako szare pigułki ---------- */

.ct-breadcrumbs {
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
}

.ct-breadcrumbs > span > a,
.ct-breadcrumbs > span > span > a,
.ct-breadcrumbs a {
	display: inline-block;
	background: #F1EEEA;
	color: var(--sm-tekst);
	border-radius: 999px;
	padding: 3px 12px;
	font-weight: 600;
	text-decoration: none;
}

.ct-breadcrumbs a:hover { background: var(--sm-turkus-jasny); color: var(--sm-turkus-ciemny); }
.ct-breadcrumbs .ct-separator { opacity: .4; margin: 0 4px; }

/* ============================================================
   Karty produktów (lista, kategorie, karuzele)
   ============================================================ */

[data-products] .product,
.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--sm-ramka);
	border-radius: var(--sm-promien);
	padding: 14px 14px 16px;
	display: flex;
	flex-direction: column;
	text-align: left;
	transition: box-shadow .2s ease;
	position: relative;
}

[data-products] .product:hover,
.woocommerce ul.products li.product:hover {
	box-shadow: 0 10px 30px rgba(43, 33, 24, .10);
	transform: none;
}

[data-products] .product figure,
[data-products] .product .ct-media-container {
	margin-bottom: 12px;
	border-radius: 10px;
	overflow: hidden;
}

[data-products] .product .ct-media-container img,
.woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	border-radius: 10px;
	margin: 0;
	transition: transform .35s ease;
}

[data-products] .product:hover .ct-media-container img { transform: scale(1.04); }

[data-products] .product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Figtree', system-ui, sans-serif;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sm-tekst);
	padding: 0;
	margin: 0 0 6px;
}

[data-products] .product .woocommerce-loop-product__title a { color: inherit; }
[data-products] .product .woocommerce-loop-product__title a:hover { color: var(--sm-akcent); }

[data-products] .product .price,
.woocommerce ul.products li.product .price {
	font-size: 19px;
	font-weight: 800;
	color: var(--sm-tekst);
	padding: 0;
	margin: 0;
}

/* Kolejność jak na nuts.com: zdjęcie, nazwa, cena, cena za kg, gramatury, przycisk */
[data-products] .product > figure { order: 1; }
[data-products] .product > .woocommerce-loop-product__title { order: 2; }
[data-products] .product > .price { order: 3; }
[data-products] .product > .sm-cena-kg-wrap { order: 4; }
[data-products] .product > .ct-woo-card-actions { order: 10; }
[data-products] .product > .entry-meta { display: none; }

.sm-od { font-size: .72em; font-weight: 600; color: var(--sm-tekst-jasny); }

.sm-cena-kg-wrap { padding: 0; margin: 2px 0 0; }
.sm-cena-kg { font-size: 12.5px; color: var(--sm-tekst-jasny); font-weight: 500; opacity: 1; }

[data-products] .product .ct-woo-card-actions,
.woocommerce ul.products li.product .ct-woo-card-actions {
	margin-top: auto;
	padding-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: stretch;
}

/* Pigułki gramatur */
.sm-gramatury {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.sm-gramatura {
	appearance: none;
	border: 1.5px solid var(--sm-ramka);
	background: #fff;
	color: var(--sm-tekst);
	border-radius: 999px;
	padding: 4px 8px;
	font-size: 12.5px;
	white-space: nowrap;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
	min-height: 0;
}

.sm-gramatura:hover { border-color: var(--sm-tekst-jasny); }

.sm-gramatura.is-active {
	border-color: var(--sm-braz);
	background: var(--sm-brzoskwinia);
}

.sm-gramatura:disabled { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
.sm-gramatura--wiecej { text-decoration: none; color: var(--sm-turkus-ciemny); border-style: dashed; }
.sm-gramatura--wiecej:hover { color: var(--sm-turkus-ciemny); background: var(--sm-turkus-jasny); }

.sm-za-ciezko { background: #FDF1DD; border-radius: 10px; padding: 12px 14px; font-size: 14.5px; line-height: 1.5; }

/* ---------- Menu wysuwane na telefonie — jasne, w barwach sklepu ---------- */
/* body + !important: dynamiczny CSS Blocksy (ciemne tło rgba(18,21,25), białe linki) ładuje się po naszym pliku */
body #offcanvas .ct-panel-inner,
body #offcanvas { --theme-text-color: var(--sm-tekst); --theme-link-initial-color: var(--sm-tekst); --theme-link-hover-color: var(--sm-turkus); --theme-icon-color: var(--sm-tekst); }
body #offcanvas .ct-panel-inner { background: #fff !important; }
body #offcanvas [data-id="mobile-menu"] { --theme-link-initial-color: var(--sm-tekst); --theme-link-hover-color: var(--sm-turkus); --theme-link-active-color: var(--sm-turkus); }
#offcanvas [data-id="mobile-menu"] .menu > li > a,
#offcanvas .mobile-menu a {
	color: var(--sm-tekst);
	font-family: 'Figtree', system-ui, sans-serif;
	font-weight: 700;
	font-size: 19px;
	padding-block: 12px;
	border-bottom: 1px solid var(--sm-ramka);
}
#offcanvas .mobile-menu a:hover { color: var(--sm-akcent); }
#offcanvas .ct-toggle-close { --theme-icon-color: var(--sm-tekst); border-color: var(--sm-ramka); }

/* Zielony "Do koszyka" jak na nuts.com */
[data-products] .product .button,
.woocommerce ul.products li.product .button {
	background: var(--sm-zielony);
	color: #fff;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	padding: 11px 16px;
	text-align: center;
	width: 100%;
	margin: 0;
	border: 0;
	min-height: 0;
	text-transform: none;
	letter-spacing: 0;
	transition: background .15s ease;
}

[data-products] .product .button:hover,
.woocommerce ul.products li.product .button:hover { background: var(--sm-zielony-ciemny); color: #fff; }

[data-products] .product .button.loading { opacity: .7; }
[data-products] .product .button.added::after { content: ' ✓'; }

[data-products] .product .added_to_cart,
[data-products] .product .ct-woo-card-actions .added_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	background: var(--sm-brzoskwinia);
	color: var(--sm-braz);
	border: 2px solid var(--sm-zielony);
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	padding: 9px 16px;
	min-height: 0;
	text-transform: none;
	letter-spacing: 0;
}

[data-products] .product .added_to_cart::before { content: '✓'; color: var(--sm-zielony); font-weight: 800; }
[data-products] .product .added_to_cart:hover { background: #fff; color: var(--sm-braz); }

[data-products] .product .ct-media-container { aspect-ratio: 1 / 1; }

/* Znaczki */
.sm-znaczek {
	position: absolute;
	top: 22px;
	left: 22px;
	z-index: 2;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
	pointer-events: none;
}

.sm-znaczek--hit { background: var(--sm-zloty); color: var(--sm-braz); }
.sm-znaczek--nowosc { background: var(--sm-zielony); color: #fff; }

.woocommerce span.onsale {
	background: var(--sm-akcent);
	border-radius: 999px;
	font-weight: 700;
}

/* ============================================================
   Karuzela produktów
   ============================================================ */

.sm-karuzela {
	position: relative;
	margin: 0 -6px;
}

.sm-karuzela__tor.products {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 20px) / 4);
	grid-template-columns: none !important;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 6px 6px 16px !important;
	margin: 0 !important;
	list-style: none;
}

.sm-karuzela__tor::-webkit-scrollbar { display: none; }
.sm-karuzela__tor > li { scroll-snap-align: start; width: auto !important; margin: 0 !important; }

.sm-karuzela__strzalka {
	position: absolute;
	top: 34%;
	z-index: 3;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: var(--sm-braz);
	font-size: 28px;
	line-height: 1;
	box-shadow: 0 4px 16px rgba(43, 33, 24, .18);
	cursor: pointer;
	padding: 0 0 4px;
}

.sm-karuzela__strzalka--lewo { left: -14px; }
.sm-karuzela__strzalka--prawo { right: -14px; }
.sm-karuzela__strzalka:hover { background: var(--sm-brzoskwinia); }

@media (max-width: 999.98px) {
	.sm-karuzela__tor.products { grid-auto-columns: 42%; gap: 14px; }
	.sm-karuzela__strzalka { display: none; }
}

@media (max-width: 599.98px) {
	.sm-karuzela__tor.products { grid-auto-columns: 68%; }
}

/* ============================================================
   Strona główna
   ============================================================ */

.home .hero-section,
.home .page-title,
.home .entry-header { display: none; }

.home .site-main > .ct-container-full,
.home article > .entry-content { padding-top: 0; }

.home .entry-content > * { margin-block: 0; }
.home .entry-content > .sm-pas { margin-top: 40px; }

.sm-wnetrze {
	max-width: var(--sm-szer);
	margin: 0 auto;
	padding: 0 20px;
}

.sm-sekcja { padding: 48px 0; }
.sm-sekcja--ciasna { padding: 28px 0 8px; }

.sm-naglowek {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.sm-naglowek h2 {
	font-size: clamp(26px, 3vw, 34px);
	margin: 0;
	line-height: 1.15;
}

.sm-naglowek a {
	font-weight: 700;
	color: var(--sm-tekst);
	text-decoration: underline;
	text-underline-offset: 4px;
	white-space: nowrap;
}

.sm-naglowek a:hover { color: var(--sm-akcent); }

/* Hero: 1 duży kafel + 2 mniejsze */
.sm-hero {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 18px;
	min-height: 470px;
	padding-top: 24px;
}

.sm-kafel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border-radius: 18px;
	overflow: hidden;
	padding: 30px 32px;
	color: #fff;
	text-decoration: none;
	background: var(--sm-braz-ciepl) center / cover no-repeat;
	isolation: isolate;
}

.sm-kafel::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(43, 33, 24, .2) 0%, rgba(43, 33, 24, .88) 75%);
}

.sm-kafel h3,
.sm-kafel p { text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }

.sm-kafel--duzy {
	grid-row: span 2;
	padding: 44px;
}

.sm-kafel--duzy::before {
	background: linear-gradient(90deg, rgba(43, 33, 24, .82) 0%, rgba(43, 33, 24, .45) 55%, rgba(43, 33, 24, .05) 100%);
}

.sm-kafel--duzy { justify-content: center; }

.sm-kafel__nad {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sm-zloty);
	margin: 0 0 10px;
}

.sm-kafel h2,
.sm-kafel h3 {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 800;
	color: #fff;
	margin: 0 0 10px;
	line-height: 1.05;
}

.sm-kafel h2 { font-size: clamp(34px, 4.4vw, 54px); max-width: 12ch; }
.sm-kafel h3 { font-size: clamp(24px, 2.4vw, 30px); }

.sm-kafel p {
	margin: 0 0 18px;
	font-size: 16.5px;
	line-height: 1.5;
	max-width: 38ch;
	color: rgba(255, 255, 255, .92);
}

.sm-kafel--maly p { margin-bottom: 0; font-size: 15px; }

.sm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	gap: 8px;
	background: #fff;
	color: var(--sm-braz);
	font-weight: 700;
	font-size: 16px;
	padding: 13px 28px;
	border-radius: 999px;
	text-decoration: none;
	transition: background .15s ease, transform .15s ease;
}

.sm-btn:hover { background: var(--sm-zloty); color: var(--sm-braz); }

.sm-btn--zloty { background: var(--sm-zloty); }
.sm-btn--zloty:hover { background: #fff; }

.sm-btn--ciemny { background: var(--sm-morski); color: #fff; }
.sm-btn--ciemny:hover { background: var(--sm-akcent); color: #fff; }

.sm-link {
	font-weight: 700;
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 4px;
	margin-top: 8px;
	display: inline-block;
}

.sm-kafel:hover .sm-link { color: var(--sm-zloty); }

.sm-kafel--hurt {
	background: var(--sm-braz-ciepl);
	background-image: radial-gradient(circle at 85% 20%, rgba(242, 169, 59, .35) 0, rgba(242, 169, 59, 0) 45%);
}

.sm-kafel--hurt::before { display: none; }

/* Okrągłe kategorie */
.sm-kolka {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
}

.sm-kolka__el {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--sm-tekst);
	font-weight: 700;
	font-size: 16px;
	text-align: center;
	line-height: 1.25;
}

.sm-kolka__img {
	display: block;
	width: 100%;
	max-width: 150px;
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	background: var(--sm-brzoskwinia);
	box-shadow: 0 0 0 0 var(--sm-zloty);
	transition: box-shadow .2s ease, transform .2s ease;
}

.sm-kolka__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sm-kolka__el:hover .sm-kolka__img { box-shadow: 0 0 0 4px var(--sm-zloty); transform: translateY(-3px); }
.sm-kolka__el:hover { color: var(--sm-akcent); }

/* Złoty pas z falą */
.sm-pas {
	position: relative;
	padding: 56px 0 44px;
	margin-top: 40px;
}

.sm-pas--zloty { background: var(--sm-zloty); }

.sm-pas--zloty::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -17px;
	height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'%3E%3Cpath d='M0 10 Q30 0 60 10 T120 10 V18 H0 Z' fill='%23F2A93B'/%3E%3C/svg%3E") repeat-x 0 1px / 240px 18px;
}

.sm-pas__intro {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 36px;
}

.sm-pas__intro img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 18px;
	display: block;
}

.sm-pas__nad {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sm-morski);
	margin: 0 0 6px;
}

.sm-pas h2 {
	font-size: clamp(30px, 3.6vw, 44px);
	color: var(--sm-morski);
	line-height: 1.08;
	margin: 0 0 14px;
}

.sm-pas p { color: var(--sm-braz); font-size: 17px; line-height: 1.55; max-width: 44ch; }
.sm-pas .sm-naglowek h2 { font-size: clamp(24px, 2.6vw, 30px); color: var(--sm-braz); margin: 0; }
.sm-pas .sm-naglowek a { color: var(--sm-braz); }

/* Brązowy pas zaufania */
.sm-zaufanie-pas {
	background: var(--sm-braz-ciepl);
	color: var(--sm-brzoskwinia);
	padding: 22px 20px;
}

.sm-zaufanie-pas ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: var(--sm-szer);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px 44px;
}

.sm-zaufanie-pas li {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 700;
	font-style: italic;
	font-size: 19px;
	letter-spacing: .01em;
	display: flex;
	align-items: center;
	gap: 10px;
}

.sm-zaufanie-pas li span { font-style: normal; font-size: 22px; }

/* Hurt — ciemny baner */
.sm-hurt {
	background: var(--sm-morski);
	color: #E7DED2;
	border-radius: 22px;
	padding: 48px;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 32px;
	align-items: center;
	background-image: radial-gradient(circle at 92% 10%, rgba(242, 169, 59, .28) 0, rgba(242, 169, 59, 0) 40%);
}

.sm-hurt h2 { color: #fff; font-size: clamp(28px, 3.2vw, 40px); margin: 0 0 12px; }
.sm-hurt p { margin: 0; font-size: 17px; line-height: 1.6; }

.sm-hurt ul {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: grid;
	gap: 10px;
	font-weight: 600;
	color: #fff;
}

.sm-hurt li::before { content: '✓'; color: var(--sm-zloty); font-weight: 800; margin-right: 10px; }

/* Zalety (pod hero / na dole) */
.sm-zalety {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.sm-zaleta {
	background: var(--sm-tlo);
	border-radius: var(--sm-promien);
	padding: 24px 22px;
}

.sm-zaleta__ikona { font-size: 30px; display: block; margin-bottom: 10px; }
.sm-zaleta__tytul { font-weight: 800; font-size: 17px; color: var(--sm-tekst); margin: 0 0 4px; }
.sm-zaleta p { margin: 0; color: var(--sm-tekst-jasny); font-size: 15px; line-height: 1.5; }

@media (max-width: 999.98px) {
	.sm-hero { grid-template-columns: 1fr; grid-template-rows: auto; min-height: 0; gap: 14px; }
	.sm-kafel--duzy { grid-row: auto; min-height: 380px; padding: 30px 24px; }
	.sm-kafel--maly { min-height: 190px; padding: 24px; }
	.sm-kolka { grid-template-columns: repeat(3, 1fr); gap: 22px 14px; }
	.sm-pas__intro { grid-template-columns: 1fr; gap: 22px; }
	.sm-hurt { grid-template-columns: 1fr; padding: 32px 24px; }
	.sm-zalety { grid-template-columns: repeat(2, 1fr); }
	.sm-sekcja { padding: 36px 0; }
}

@media (max-width: 599.98px) {
	.sm-kafel--duzy::before { background: linear-gradient(180deg, rgba(43, 33, 24, .25) 0%, rgba(43, 33, 24, .85) 100%); }
	.sm-kafel--duzy { justify-content: flex-end; }
	.sm-kolka__el { font-size: 14px; }
	.sm-zalety { grid-template-columns: 1fr; }
	.sm-zaufanie-pas li { font-size: 16px; }
	.sm-naglowek { flex-direction: column; gap: 4px; }
}

/* ============================================================
   Sklep / kategorie
   ============================================================ */

.woocommerce-products-header .page-title,
.post-type-archive-product .page-title,
.tax-product_cat .page-title {
	font-size: clamp(32px, 4vw, 46px);
}

.hero-section[data-type="type-2"] {
	background: var(--sm-brzoskwinia);
}

.woocommerce-result-count { color: var(--sm-tekst-jasny); font-size: 14px; }

.hero-section[data-type="type-2"] .entry-header { min-height: 180px; padding-block: 36px; }
.tax-product_cat .hero-section .page-description { max-width: 62ch; margin-inline: auto; color: var(--sm-tekst-jasny); font-size: 16px; line-height: 1.6; }

/* Kategoria ze zdjęciem w tle: przyciemnienie, biały tekst */
.hero-section[data-type="type-2"] > figure::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(43, 33, 24, .55), rgba(43, 33, 24, .72));
}
.hero-section[data-type="type-2"]:has(> figure) .page-title,
.hero-section[data-type="type-2"]:has(> figure) .page-description,
.hero-section[data-type="type-2"]:has(> figure) .page-description p { color: #fff; }
.hero-section[data-type="type-2"]:has(> figure) .page-title { text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }

/* Telefon: dwie kolumny jak w aplikacji nuts.com, ciaśniejsze karty */
@media (max-width: 689.98px) {
	.hero-section[data-type="type-2"] .entry-header { min-height: 0; padding-block: 22px; }
	.hero-section .page-title { font-size: 30px; }

	[data-products]:not(.sm-karuzela__tor) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	[data-products] .product { padding: 8px 8px 10px; border-radius: 12px; }
	[data-products] .product .woocommerce-loop-product__title { font-size: 14.5px; }
	[data-products] .product .price { font-size: 17px; }
	[data-products] .product .button { font-size: 14px; padding: 9px 10px; }
	.sm-gramatura { font-size: 11.5px; padding: 3px 7px; }
	.sm-znaczek { top: 14px; left: 14px; font-size: 10.5px; padding: 3px 8px; }
	.sm-pasek__dod { display: none; }
}

/* ---------- Kategoria w stylu nuts.com: tytuł po lewej, kółka, filtry z boku ---------- */

.tax-product_cat .site-main .hero-section[data-type="type-1"],
.post-type-archive-product .hero-section[data-type="type-1"] {
	text-align: left;
	margin-bottom: 12px;
}

.tax-product_cat .hero-section[data-type="type-1"] .page-title,
.post-type-archive-product .hero-section[data-type="type-1"] .page-title {
	font-size: clamp(34px, 4vw, 48px);
	margin: 6px 0 8px;
}

.tax-product_cat .hero-section[data-type="type-1"] .page-description {
	color: var(--sm-tekst-jasny);
	font-size: 16px;
	max-width: 70ch;
	margin: 0;
}

.sm-kolka--kat {
	display: flex;
	gap: 18px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 4px 2px 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--sm-ramka);
}

.sm-kolka--kat::-webkit-scrollbar { display: none; }
.sm-kolka--kat .sm-kolka__el { flex: 0 0 104px; font-size: 14px; gap: 8px; }
.sm-kolka--kat .sm-kolka__img { max-width: 92px; background: var(--sm-zloty); padding: 5px; }
.sm-kolka--kat .sm-kolka__img img { border-radius: 50%; }
.sm-kolka--kat .is-active .sm-kolka__img { box-shadow: 0 0 0 3px var(--sm-braz); }
.sm-kolka--kat .is-active { color: var(--sm-akcent); }

/* Filtry w panelu bocznym */
.ct-sidebar .widget { margin-bottom: 26px; }
.ct-sidebar .widget-title {
	font-size: 13px !important;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--sm-tekst);
	border-bottom: 1px solid var(--sm-ramka);
	padding-bottom: 10px;
	margin-bottom: 12px;
}
.ct-sidebar .woocommerce-product-search { display: flex; border: 1.5px solid var(--sm-ramka); border-radius: 999px; overflow: hidden; background: #fff; }
.ct-sidebar .woocommerce-product-search input[type="search"] { border: 0 !important; flex: 1; padding: 0 16px; height: 42px; min-width: 0; }
.ct-sidebar .woocommerce-product-search button { border: 0; background: var(--sm-zloty); color: var(--sm-braz); font-weight: 700; padding: 0 16px; border-radius: 0; }
.ct-sidebar .product-categories li,
.ct-sidebar .woocommerce-widget-layered-nav-list li { padding: 4px 0; font-size: 15px; }
.ct-sidebar .product-categories .children { margin: 4px 0 4px 14px; }
.ct-sidebar .product-categories .count,
.ct-sidebar .woocommerce-widget-layered-nav-list .count { color: var(--sm-tekst-jasny); font-size: 13px; }
.ct-sidebar .product-categories .current-cat > a { color: var(--sm-akcent); font-weight: 700; }
.ct-sidebar a { color: var(--sm-tekst); }
.ct-sidebar a:hover { color: var(--sm-akcent); }

/* ============================================================
   Strona produktu
   ============================================================ */

.single-product div.product .product_title {
	font-family: 'Figtree', system-ui, sans-serif;
	font-weight: 800;
	letter-spacing: -.01em;
}

.sm-znaczek-tytul {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: 4px 12px;
	border-radius: 999px;
	margin-bottom: 10px;
}

.sm-znaczek-tytul--hit { background: var(--sm-zloty); color: var(--sm-braz); }
.sm-znaczek-tytul--nowosc { background: var(--sm-turkus); color: #fff; }

.sm-wybrana { margin: 0 0 10px; font-size: 15px; color: var(--sm-tekst); }
.sm-wybrana__kg { color: var(--sm-tekst-jasny); font-size: 14px; }
.single-product form.cart .variations th.label,
.single-product form.cart .variations .label { display: none; }
.single-product form.cart .variations td,
.single-product form.cart .variations th { padding: 0; }
.single-product .woocommerce-variation-price { display: none !important; }

/* Kafelki gramatur */
.sm-gramatury--produkt {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.sm-gramatury--produkt .sm-kafel-gram { padding-top: 12px; }
.sm-gramatury--produkt .sm-kafel-gram:has(.sm-kafel-gram__taniej) .sm-kafel-gram__nazwa { padding-right: 44px; white-space: nowrap; }

.sm-gramatury--produkt .sm-kafel-gram {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	text-align: left;
	border: 1.5px solid var(--sm-ramka);
	border-radius: 10px;
	padding: 10px 12px;
	background: #fff;
	position: relative;
	white-space: normal;
}

.sm-kafel-gram__nazwa { font-size: 16px; font-weight: 800; color: var(--sm-tekst); }
.sm-kafel-gram__cena { font-size: 14px; font-weight: 600; color: var(--sm-tekst-jasny); }
.sm-kafel-gram__cena .woocommerce-Price-amount { color: inherit; }
.sm-kafel-gram__taniej {
	position: absolute;
	top: 8px;
	right: 8px;
	background: var(--sm-zloty);
	color: var(--sm-braz);
	font-size: 11px;
	font-weight: 800;
	border-radius: 999px;
	padding: 2px 7px;
}

.sm-gramatury--produkt .sm-kafel-gram.is-active {
	border: 2px solid var(--sm-braz);
	background: #fff;
	box-shadow: 0 2px 10px rgba(43, 33, 24, .08);
}

.single-product form.cart .variations,
.single-product form.cart .variations tbody,
.single-product form.cart .variations tr,
.single-product form.cart .variations td.value { display: block; width: 100%; }

.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart .ct-cart-actions { display: flex; gap: 10px; flex-wrap: nowrap; width: 100%; }
.single-product form.cart .single_add_to_cart_button { flex: 1 1 auto; }
.single-product .sm-cena-kg-wariant { display: none; }
.single-product .product_meta { display: none; }

/* Trzy ikony zaufania w rzędzie */
.sm-obietnice {
	grid-template-columns: repeat(3, 1fr);
	background: none;
	padding: 18px 0 0;
	margin: 18px 0 0;
	border-top: 1px solid var(--sm-ramka);
	border-radius: 0;
	gap: 10px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
}

.sm-obietnice li { display: flex; align-items: center; gap: 10px; }
.sm-obietnice li span { font-size: 26px; flex: 0 0 auto; }

/* Szczegóły produktu w kółkach */
.sm-szczegoly { margin-top: 22px; border-top: 1px solid var(--sm-ramka); padding-top: 16px; }
.sm-szczegoly__tytul { font-size: 20px; font-weight: 800; margin: 0 0 14px; color: var(--sm-tekst); }
.sm-szczegoly__tytul small { font-size: 13px; font-weight: 500; color: var(--sm-tekst-jasny); }
.sm-szczegoly ul { list-style: none; margin: 0; padding: 18px 14px; background: #F6F4F1; border-radius: 12px; display: flex; flex-wrap: wrap; gap: 14px 18px; }
.sm-szczegoly li { width: 88px; text-align: center; font-size: 13.5px; font-weight: 600; color: var(--sm-tekst); line-height: 1.25; }
.sm-szczegoly__kolko {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	margin: 0 auto 8px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid var(--sm-ramka);
	font-weight: 800;
	font-size: 14px;
}

@media (max-width: 599.98px) {
	.sm-gramatury--produkt { grid-template-columns: repeat(2, 1fr); }
	.sm-obietnice { font-size: 12px; }
	.sm-obietnice li { flex-direction: column; text-align: center; gap: 4px; }
}

.single-product div.product .product_title {
	font-size: clamp(30px, 3.4vw, 42px);
	line-height: 1.1;
	margin-bottom: 10px;
}

.single-product div.product p.price,
.single-product div.product span.price {
	font-size: 30px;
	font-weight: 800;
	color: var(--sm-tekst);
}

.single-product .woocommerce-product-details__short-description {
	font-size: 17px;
	line-height: 1.6;
	color: var(--sm-tekst-jasny);
}

.single-product .ct-product-gallery-container,
.single-product .woocommerce-product-gallery img { border-radius: 18px; }

.single-product form.cart .variations { margin-bottom: 8px; }
.single-product form.cart .variations th.label label,
.single-product form.cart .variations .label label {
	font-weight: 700;
	font-size: 15px;
	color: var(--sm-tekst);
}

.sm-ukryty-select { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.single-product .reset_variations { display: none !important; }

.sm-gramatury--produkt { gap: 8px; }

.sm-gramatury--produkt .sm-gramatura {
	font-size: 15.5px;
	padding: 9px 18px;
	border-width: 2px;
}

.single-product .woocommerce-variation-price .price { font-size: 26px; }

.single-product form.cart .single_add_to_cart_button {
	background: var(--sm-zielony);
	color: #fff;
	border-radius: 999px;
	font-weight: 700;
	font-size: 17px;
	padding: 0 38px;
	min-height: 54px;
	text-transform: none;
	letter-spacing: 0;
}

.single-product form.cart .single_add_to_cart_button:hover { background: var(--sm-zielony-ciemny); }
.single-product form.cart .quantity { --quantity-height: 54px; }
.single-product form.cart .quantity input { border-radius: 999px; }

.sm-obietnice {
	list-style: none;
	display: grid;
	color: var(--sm-tekst);
}

.single-product .woocommerce-tabs .tabs li a { font-weight: 700; text-transform: none; font-size: 16px; }

.sm-zywnosc th {
	width: 30%;
	vertical-align: top;
	color: var(--sm-tekst);
	font-weight: 700;
}

.sm-zywnosc td { color: var(--sm-tekst-jasny); line-height: 1.6; }

.sm-odzywcze { width: 100%; max-width: 420px; margin: 0; border-collapse: collapse; font-size: 15px; }
.sm-odzywcze td { padding: 5px 0; border-bottom: 1px solid var(--sm-ramka); color: var(--sm-tekst); }
.sm-odzywcze td:last-child { text-align: right; font-weight: 700; white-space: nowrap; padding-left: 16px; }
.sm-odzywcze tr:first-child td { font-weight: 800; }
.sm-odzywcze__pod td:first-child { padding-left: 16px; color: var(--sm-tekst-jasny); }
.sm-odzywcze__pod td:last-child { font-weight: 500; }

.woocommerce div.product .sm-netto {
	background: var(--sm-tlo);
	border: 1px solid var(--sm-ramka);
	border-radius: 6px;
	padding: .15em .5em;
	font-size: .55em;
	font-weight: 600;
	vertical-align: middle;
	margin-left: .4em;
	color: var(--sm-tekst-jasny);
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* ============================================================
   Przyciski WooCommerce ogólnie (koszyk, zamówienie)
   ============================================================ */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wc-block-components-button:not(.is-link) {
	border-radius: 999px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce a.checkout-button,
.woocommerce #place_order,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--sm-zielony) !important;
	color: #fff !important;
}

.woocommerce-message,
.woocommerce-info { border-top-color: var(--sm-akcent); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--sm-akcent); }

/* ---------- Pasek darmowej dostawy ---------- */

.sm-darmowa {
	background: var(--sm-turkus-jasny);
	border-radius: 12px;
	padding: 12px 16px 14px;
	margin: 0 0 18px;
	font-size: 15px;
	color: var(--sm-tekst);
}

.sm-darmowa p { margin: 0 0 8px; }
.sm-darmowa__tor { height: 8px; background: #fff; border-radius: 999px; overflow: hidden; }
.sm-darmowa__tor span { display: block; height: 100%; background: var(--sm-turkus); border-radius: 999px; transition: width .4s ease; }
.sm-darmowa.is-done { background: #FDF1DD; }
.sm-darmowa.is-done .sm-darmowa__tor span { background: var(--sm-zloty); }

/* ---------- Mini-koszyk (rozwijany z ikony) — jasny, w barwach sklepu ---------- */

#header [data-id="cart"] .ct-cart-content {
	--mini-cart-background-color: #fff;
	--theme-text-color: var(--sm-tekst);
	--theme-link-initial-color: var(--sm-tekst);
	--theme-link-hover-color: var(--sm-akcent);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(43, 33, 24, .16);
	border: 1px solid var(--sm-ramka);
	width: 360px;
	padding: 16px;
}

#header [data-id="cart"] .ct-cart-content .total { --theme-text-color: var(--sm-tekst); font-weight: 800; border-color: var(--sm-ramka); }
#header [data-id="cart"] .ct-cart-content .sm-darmowa { font-size: 13.5px; padding: 10px 12px 12px; }
#header [data-id="cart"] .ct-cart-content .woocommerce-mini-cart__buttons .button { border-radius: 999px; }
#header [data-id="cart"] .ct-cart-content .woocommerce-mini-cart__buttons .checkout { background: var(--sm-turkus); color: #fff; }
#header [data-id="cart"] .ct-cart-content .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: var(--sm-tekst); border: 1.5px solid var(--sm-ramka); }
#header [data-id="cart"] .ct-dynamic-count-cart { background: var(--sm-zloty); color: var(--sm-braz); font-weight: 800; }

/* "Zobacz koszyk" po dodaniu na stronie produktu — link pod przyciskiem, nie ściśnięty obok */
.single-product form.cart .ct-cart-actions { flex-wrap: wrap; }
.single-product form.cart .added_to_cart {
	order: 3;
	flex: 1 0 100%;
	text-align: center;
	background: none !important;
	color: var(--sm-turkus-ciemny) !important;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: 4px 0 0 !important;
	min-height: 0 !important;
	border: 0 !important;
}

/* ---------- Wysuwany koszyk ---------- */

html.sm-bez-przewijania { overflow: hidden; }

.sm-szuflada { position: fixed; inset: 0; z-index: 100000; pointer-events: none; }
.sm-szuflada__tlo { position: absolute; inset: 0; background: rgba(20, 16, 12, .45); opacity: 0; transition: opacity .25s ease; }

.sm-szuflada__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(420px, 100vw);
	background: #fff;
	box-shadow: -12px 0 40px rgba(0, 0, 0, .18);
	transform: translateX(100%);
	transition: transform .3s cubic-bezier(.2, .8, .2, 1);
	display: flex;
	flex-direction: column;
	padding: 18px 20px 20px;
	overflow-y: auto;
}

.sm-szuflada.is-open { pointer-events: auto; }
.sm-szuflada.is-open .sm-szuflada__tlo { opacity: 1; }
.sm-szuflada.is-open .sm-szuflada__panel { transform: none; }

.sm-szuflada__gora { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--sm-ramka); padding-bottom: 12px; margin-bottom: 14px; }
.sm-szuflada__tytul { margin: 0; font-size: 18px; font-weight: 800; color: var(--sm-tekst); }
.sm-szuflada__tytul span { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; background: var(--sm-turkus); color: #fff; align-items: center; justify-content: center; font-size: 14px; margin-right: 6px; }
.sm-szuflada__x { border: 0; background: none; font-size: 30px; line-height: 1; cursor: pointer; color: var(--sm-tekst); padding: 0 4px; }

.sm-szuflada .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.sm-szuflada .woocommerce-mini-cart-item { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--sm-ramka); position: relative; }
.sm-szuflada .woocommerce-mini-cart-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.sm-szuflada .woocommerce-mini-cart-item a:not(.remove) { color: var(--sm-tekst); font-weight: 700; text-decoration: none; display: contents; }
.sm-szuflada .woocommerce-mini-cart-item .quantity { grid-column: 2; font-size: 14px; color: var(--sm-tekst-jasny); }
.sm-szuflada .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 10px; color: var(--sm-tekst-jasny); text-decoration: none; font-size: 18px; }
.sm-szuflada .woocommerce-mini-cart__total { display: flex; justify-content: space-between; font-size: 17px; padding: 14px 0; margin: 0; }
.sm-szuflada .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.sm-szuflada .woocommerce-mini-cart__buttons .button { display: block; text-align: center; border-radius: 999px; padding: 13px; font-weight: 700; text-decoration: none; }
.sm-szuflada .woocommerce-mini-cart__buttons .checkout { background: var(--sm-turkus); color: #fff; order: -1; }
.sm-szuflada .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: var(--sm-tekst); border: 1.5px solid var(--sm-ramka); }
.sm-szuflada__dalej { margin-top: 12px; background: none; border: 0; color: var(--sm-turkus-ciemny); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 8px; }

/* ---------- Telefon: przyklejony pasek "Do koszyka" ---------- */

.sm-pasek-koszyk {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	display: none;
	align-items: center;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	box-shadow: 0 -6px 24px rgba(0, 0, 0, .12);
	transform: translateY(110%);
	transition: transform .25s ease;
}

@media (max-width: 999.98px) {
	.sm-pasek-koszyk { display: flex; }
	.sm-pasek-koszyk.is-on { transform: none; }
}

.sm-pasek-koszyk__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sm-pasek-koszyk__nazwa { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--sm-tekst-jasny); }
.sm-pasek-koszyk__cena { font-size: 17px; font-weight: 800; color: var(--sm-tekst); }
.sm-pasek-koszyk__cena .sm-od { font-size: 12px; }
.sm-pasek-koszyk__btn { border: 0; border-radius: 999px; background: var(--sm-turkus); color: #fff; font-weight: 700; font-size: 15px; padding: 12px 22px; cursor: pointer; }

/* ---------- "Zamów ponownie" w nagłówku (ikona) ---------- */
#header [data-id="menu-secondary"] .menu > li.sm-zamow-ponownie > a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7'/%3E%3Cpath d='M3 4v5h5'/%3E%3Cpath d='M9 12h6M12 9v6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7'/%3E%3Cpath d='M3 4v5h5'/%3E%3Cpath d='M9 12h6M12 9v6'/%3E%3C/svg%3E");
}

/* ---------- Poradnik: artykuły ---------- */

/* Zajawka pod tytułem z motywu dublowała ramkę "W skrócie" */
.single-post .hero-section .page-description { display: none; }

.sm-art-meta { color: var(--sm-tekst-jasny); font-size: 14px; font-weight: 600; margin-bottom: 18px !important; }

.sm-art-skrot {
	background: var(--sm-turkus-jasny);
	border-left: 4px solid var(--sm-turkus);
	border-radius: 0 12px 12px 0;
	padding: 14px 18px;
	margin-bottom: 22px !important;
}
.sm-art-skrot p { margin: 0; line-height: 1.6; }
.sm-art-skrot__tytul { font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: 12.5px; color: var(--sm-turkus-ciemny); margin-bottom: 4px !important; }

.sm-art-spis { background: #FDF1DD; border-radius: 12px; padding: 14px 20px; margin-bottom: 28px !important; }
.sm-art-spis__tytul { font-weight: 800; margin: 0 0 6px; }
.sm-art-spis ol { margin: 0; padding-left: 20px; }
.sm-art-spis li { margin: 4px 0; }
.sm-art-spis a { color: var(--sm-tekst); text-decoration: underline; text-underline-offset: 3px; }
.sm-art-spis a:hover { color: var(--sm-akcent); }

.single-post .entry-content h2[id] { scroll-margin-top: 110px; }

.sm-art-autor {
	display: flex;
	gap: 14px;
	align-items: center;
	border-top: 1px solid var(--sm-ramka);
	padding-top: 20px;
	margin-top: 36px !important;
}
.sm-art-autor img { width: 56px; height: 56px; object-fit: contain; flex: 0 0 auto; }
.sm-art-autor p { margin: 0; color: var(--sm-tekst-jasny); font-size: 14.5px; line-height: 1.5; }
.sm-art-autor strong { color: var(--sm-tekst); }

.single-post .entry-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.single-post .entry-content th,
.single-post .entry-content td { border-bottom: 1px solid var(--sm-ramka); padding: 8px 10px; text-align: left; }
.single-post .entry-content thead th { background: #F6F4F1; font-weight: 800; }

/* Lista artykułów (strona główna, poradnik) */
.sm-artykuly { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.sm-artykul { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--sm-tekst); }
.sm-artykul__img { display: block; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: var(--sm-tlo); margin-bottom: 6px; }
.sm-artykul__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.sm-artykul:hover .sm-artykul__img img { transform: scale(1.04); }
.sm-artykul__kat { font-size: 12.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--sm-turkus-ciemny); }
.sm-artykul__tytul { font-family: 'Fraunces', Georgia, serif; font-weight: 800; font-size: 21px; line-height: 1.2; }
.sm-artykul:hover .sm-artykul__tytul { color: var(--sm-akcent); }
.sm-artykul__czas { font-size: 13.5px; color: var(--sm-tekst-jasny); }

@media (max-width: 999.98px) { .sm-artykuly { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599.98px) { .sm-artykuly { grid-template-columns: 1fr; } }

/* ---------- FAQ (akordeony) i przepisy ---------- */

.sm-faq {
	border: 1px solid var(--sm-ramka);
	border-radius: 12px;
	padding: 0 18px;
	margin-top: 0 !important;
	margin-bottom: 10px !important;
	background: #fff;
}

.sm-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 16px 30px 16px 0;
	font-weight: 700;
	font-size: 17px;
	position: relative;
	color: var(--sm-tekst);
}

.sm-faq summary::-webkit-details-marker { display: none; }
.sm-faq:not([open]) { padding-bottom: 0 !important; }
.sm-faq summary { margin: 0 !important; }
.sm-faq summary::after { content: '+'; position: absolute; right: 0; top: 12px; font-size: 24px; color: var(--sm-turkus); }
.sm-faq[open] summary::after { content: '−'; }
.sm-faq p { margin: 0 0 16px; color: var(--sm-tekst-jasny); line-height: 1.6; }

.sm-przepis-meta {
	display: block;
	background: #FDF1DD;
	border-radius: 12px;
	padding: 10px 16px;
	font-weight: 700;
	font-size: 14px;
}

.single-post .entry-content ol li,
.single-post .entry-content ul li { margin-bottom: 8px; line-height: 1.6; }

.cross-sells > h2,
.related.products > h2,
.up-sells > h2 { font-size: clamp(24px, 2.6vw, 30px); }

/* ---------- Podpowiedzi na 404 i przy pustym wyszukiwaniu ---------- */

.sm-podpowiedzi { border-top: 1px solid var(--sm-ramka); }
.sm-podpowiedzi > .sm-h { font-size: clamp(26px, 3vw, 34px); text-align: center; margin: 0 0 28px; }
.sm-podpowiedzi .sm-naglowek { margin-top: 44px; }

/* ============================================================
   Stopka
   ============================================================ */

.sm-stopka-gora {
	background: var(--sm-morski);
	color: #CFE3E1;
	padding: 56px 20px 40px;
	font-size: 15px;
}

.sm-stopka-gora__wnetrze {
	max-width: var(--sm-szer);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 36px;
}

.sm-stopka-gora__logo {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 800;
	font-size: 28px;
	color: #fff;
	margin: 0 0 10px;
}

.sm-stopka-gora__marka p:not(.sm-stopka-gora__logo) { max-width: 30ch; line-height: 1.6; margin: 0; }

.sm-stopka-gora__tytul {
	font-weight: 800;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 13px;
	margin: 0 0 14px;
}

.sm-stopka-gora ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.sm-stopka-gora a { color: #CFE3E1; text-decoration: none; }
.sm-stopka-gora__logo img { height: 96px; width: auto; display: block; }
.sm-stopka-gora a:hover { color: var(--sm-zloty); }
.sm-stopka-gora__dostawa strong { color: var(--sm-zloty); }

@media (max-width: 999.98px) {
	.sm-stopka-gora__wnetrze { grid-template-columns: 1fr 1fr; }
	.sm-stopka-gora__marka { grid-column: 1 / -1; }
}

/* ============================================================
   Pasek ciasteczek w kolorach marki
   ============================================================ */

#cookie-notice { background: var(--sm-morski) !important; font-family: 'Figtree', system-ui, sans-serif !important; }
#cookie-notice .cookie-notice-container { padding: 14px 24px !important; }
#cookie-notice .cn-button:not(.cn-button-custom) { background: var(--sm-zloty) !important; color: var(--sm-braz) !important; border-radius: 999px !important; font-weight: 700 !important; }
#cookie-notice .cn-button:not(.cn-button-custom):hover { background: #fff !important; }

/* Produkt → artykuły z poradnika */
.sm-prod-poradnik{margin:32px 0;padding:20px 24px;border:1px solid #e3ecea;border-radius:16px;background:#f4faf9}
.sm-prod-poradnik h2{margin:0 0 10px;font-size:1.25rem}
.sm-prod-poradnik ul{margin:0;padding:0;list-style:none}
.sm-prod-poradnik li{padding:6px 0;border-top:1px solid #e3ecea}
.sm-prod-poradnik li:first-child{border-top:0}
.sm-prod-poradnik a{font-weight:600;color:var(--sm-turkus)}
.sm-prod-poradnik span{color:#6b7c7a;font-size:.85em;margin-left:6px}
/* Filtry na telefonie/tablecie: przycisk + panel z lewej (na komputerze sidebar jak dotąd) */
.sm-filtry-btn { display: none; }
@media (max-width: 999.98px) {
	.woo-listing-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
	.sm-filtry-btn {
		display: inline-flex; align-items: center; gap: 8px;
		padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--sm-turkus);
		background: #fff; color: var(--sm-turkus-ciemny); font-weight: 700; font-size: 15px; cursor: pointer;
	}
	.woo-listing-top .woocommerce-ordering { margin-left: auto; }
	body.sm-filtry #sidebar.ct-hidden-sm,
	body.sm-filtry #sidebar.ct-hidden-md {
		display: block !important; position: fixed; top: 0; bottom: 0; left: 0; z-index: 2147483001;
		width: min(88vw, 380px); overflow-y: auto; background: #fff; padding: 24px 20px 96px;
		box-shadow: 0 0 60px rgba(0,0,0,.3);
	}
	body.sm-filtry { overflow: hidden; }
	.sm-filtry-tlo { display: none; }
	body.sm-filtry .sm-filtry-tlo { display: block; position: fixed; inset: 0; z-index: 2147483000; background: rgba(10,30,30,.45); }
	.sm-filtry-zamknij {
		position: fixed; bottom: 16px; left: 20px; width: calc(min(88vw, 380px) - 40px);
		padding: 14px; border: 0; border-radius: 999px; z-index: 2147483002; background: var(--sm-turkus); color: #fff;
		font-weight: 700; font-size: 16px; cursor: pointer;
	}
}
@media (min-width: 1000px) { .sm-filtry-zamknij, .sm-filtry-tlo { display: none !important; } }
/* Mini logo (biały słoik) na przyciskach "Do koszyka" — karty, strona produktu, pasek na telefonie */
[data-products] .product .add_to_cart_button::before,
.woocommerce ul.products li.product .add_to_cart_button::before,
.single_add_to_cart_button::before,
.sm-pasek-koszyk__btn::before {
	content: "";
	display: inline-block;
	flex: none;
	width: 1.45em;
	height: 1.45em;
	margin-right: .45em;
	vertical-align: -.38em;
	background: url(logo-przycisk.png) center / contain no-repeat;
}
.single_add_to_cart_button,
.sm-pasek-koszyk__btn { display: inline-flex !important; align-items: center; justify-content: center; }
/* Gdy WooCommerce pokazuje kręciołek ładowania / ptaszek "dodano" — logo zostaje, nic się nie rozjeżdża */
[data-products] .product .add_to_cart_button.loading::before { opacity: .5; }[data-products] .product .add_to_cart_button,
.woocommerce ul.products li.product .add_to_cart_button { display: flex !important; align-items: center; justify-content: center; white-space: nowrap; }
@media (max-width: 689.98px) {
	[data-products] .product .add_to_cart_button,
	.woocommerce ul.products li.product .add_to_cart_button { padding-inline: 8px; font-size: 14.5px; }
	[data-products] .product .add_to_cart_button::before,
	.woocommerce ul.products li.product .add_to_cart_button::before { width: 1.3em; height: 1.3em; margin-right: .35em; }
}