/* ==========================================================================
   HEDORE — system wizualny
   Zasady: typografia systemowa (SF na Apple), dużo powietrza, jeden akcent
   (żółty „//” z logo), ruch krótki i przerywalny, tylko transform/opacity.
   ========================================================================== */

:root {
	--hd-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--hd-ink: #1d1d1f;
	--hd-ink-2: #424245;
	--hd-muted: #6e6e73;
	--hd-faint: #86868b;
	--hd-line: rgba(0, 0, 0, 0.08);
	--hd-line-strong: rgba(0, 0, 0, 0.16);
	--hd-bg: #ffffff;
	--hd-surface: #f5f5f7;
	--hd-surface-2: #ebebef;
	--hd-brand: #fcc900;
	--hd-brand-soft: #fff6cc;
	--hd-sale: #d70015;
	--hd-good: #1a7f37;
	--hd-focus: #0071e3;

	--hd-r-sm: 10px;
	--hd-r: 14px;
	--hd-r-lg: 22px;
	--hd-r-xl: 30px;

	--hd-gutter: clamp(16px, 4vw, 40px);
	--hd-max: 1320px;
	--hd-header-h: 60px;

	--hd-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--hd-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
	--hd-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);

	--hd-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.04);
	--hd-shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.12), 0 2px 10px rgba(0, 0, 0, 0.06);
}

/* --------------------------------------------------------------------------
   Reset & baza
   -------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--hd-header-h) + 16px); }
body {
	margin: 0;
	background: var(--hd-bg);
	color: var(--hd-ink);
	font: 400 17px/1.47 var(--hd-font);
	letter-spacing: -0.022em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-optical-sizing: auto;
}
body.hd-locked { overflow: hidden; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p, ul, ol, figure, dl, dd { margin: 0; }
:where(ul[role="list"], ol[role="list"]) { list-style: none; padding: 0; }
:focus-visible { outline: 2px solid var(--hd-focus); outline-offset: 2px; border-radius: 6px; }
::selection { background: var(--hd-brand); color: var(--hd-ink); }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.hd-skip { position: absolute; left: 16px; top: -100px; z-index: 100; padding: 10px 16px; background: var(--hd-ink); color: #fff; border-radius: 999px; }
.hd-skip:focus { top: 12px; }

.hd-wrap { width: 100%; max-width: var(--hd-max); margin-inline: auto; padding-inline: var(--hd-gutter); }
.hd-main { min-height: 60vh; }

/* Typografia — tracking zależny od rozmiaru */
.hd-display { font-size: clamp(2.4rem, 5.6vw, 4.5rem); line-height: 1.04; letter-spacing: -0.035em; font-weight: 700; text-wrap: balance; }
.hd-h1 { font-size: clamp(1.9rem, 3.6vw, 2.75rem); line-height: 1.08; letter-spacing: -0.03em; font-weight: 700; text-wrap: balance; }
.hd-h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.12; letter-spacing: -0.025em; font-weight: 700; text-wrap: balance; }
.hd-lead { font-size: clamp(1.06rem, 1.5vw, 1.25rem); line-height: 1.45; color: var(--hd-muted); letter-spacing: -0.015em; }
.hd-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 0.8rem; line-height: 1.2; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--hd-muted);
}
.hd-eyebrow::before { content: "//"; color: var(--hd-brand); font-weight: 800; letter-spacing: -0.08em; font-style: italic; }

.hd-link { color: var(--hd-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; text-decoration-color: var(--hd-line-strong); background: none; border: 0; padding: 0; font-size: inherit; }
.hd-link--arrow { display: inline-flex; align-items: center; gap: 2px; text-decoration: none; font-weight: 500; font-size: 0.95rem; }
@media (hover: hover) and (pointer: fine) {
	.hd-link:hover { text-decoration-color: currentColor; }
	.hd-link--arrow .hd-icon { transition: transform 200ms var(--hd-ease-out); }
	.hd-link--arrow:hover .hd-icon { transform: translateX(3px); }
}

/* --------------------------------------------------------------------------
   Przyciski i chipy
   -------------------------------------------------------------------------- */

.hd-btn,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.single_add_to_cart_button,
#place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 24px;
	border: 1px solid transparent; border-radius: 999px;
	background: var(--hd-surface); color: var(--hd-ink);
	font-size: 1rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1; text-decoration: none; white-space: nowrap;
	cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
	transition: transform 160ms var(--hd-ease-out), background-color 200ms ease, color 200ms ease, opacity 200ms ease;
}
.hd-btn:active, .woocommerce .button:active, .single_add_to_cart_button:active, #place_order:active { transform: scale(0.97); }
.hd-btn--primary, .single_add_to_cart_button, #place_order, .woocommerce a.button.checkout, .woocommerce a.checkout-button, .woocommerce .button.alt {
	background: var(--hd-ink); color: #fff;
}
.hd-btn--ghost { background: transparent; border-color: var(--hd-line-strong); }
.hd-btn--lg { min-height: 54px; padding: 0 30px; font-size: 1.05rem; }
.hd-btn--pill { min-height: 40px; padding: 0 16px; font-size: 0.95rem; font-weight: 500; background: var(--hd-surface); }
.hd-btn[disabled], .single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { opacity: 0.35; cursor: not-allowed; }
@media (hover: hover) and (pointer: fine) {
	.hd-btn--primary:hover, .single_add_to_cart_button:hover, #place_order:hover, .woocommerce .button.alt:hover, .woocommerce a.checkout-button:hover { background: #000; }
	.hd-btn--ghost:hover, .hd-btn--pill:hover, .woocommerce .button:not(.alt):not(.checkout):not(.checkout-button):hover { background: var(--hd-surface-2); }
}
.single_add_to_cart_button.is-loading { opacity: 0.7; pointer-events: none; }

.hd-count-pill { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--hd-ink); color: #fff; font-size: 0.72rem; font-weight: 700; }

.hd-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hd-chips--scroll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--hd-gutter) * -1); padding: 2px var(--hd-gutter); scroll-padding-inline: var(--hd-gutter); }
.hd-chips--scroll::-webkit-scrollbar { display: none; }
.hd-chip {
	display: inline-flex; align-items: center; gap: 6px; flex: none;
	min-height: 36px; padding: 0 14px; border-radius: 999px;
	background: var(--hd-surface); color: var(--hd-ink); font-size: 0.9rem; font-weight: 500;
	transition: transform 160ms var(--hd-ease-out), background-color 200ms ease;
}
.hd-chip:active { transform: scale(0.97); }
.hd-chip.is-on { background: var(--hd-ink); color: #fff; }
@media (hover: hover) and (pointer: fine) { .hd-chip:not(.is-on):hover { background: var(--hd-surface-2); } }

.hd-icon-btn {
	position: relative; display: inline-grid; place-items: center;
	width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--hd-ink);
	-webkit-tap-highlight-color: transparent;
	transition: transform 160ms var(--hd-ease-out), background-color 200ms ease;
}
.hd-icon-btn:active { transform: scale(0.94); }
@media (hover: hover) and (pointer: fine) { .hd-icon-btn:hover { background: rgba(0, 0, 0, 0.05); } }

/* --------------------------------------------------------------------------
   Pasek informacyjny
   -------------------------------------------------------------------------- */

.hd-ticker { background: var(--hd-ink); color: #fff; font-size: 0.8rem; font-weight: 500; letter-spacing: -0.005em; }
.hd-ticker__list { display: grid; margin: 0 auto; max-width: var(--hd-max); padding: 0 var(--hd-gutter); height: 36px; list-style: none; }
.hd-ticker__list li { grid-area: 1 / 1; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(6px); transition: opacity 400ms var(--hd-ease-out), transform 400ms var(--hd-ease-out); }
.hd-ticker__list li.is-active { opacity: 1; transform: none; }
.hd-ticker__list li::before { content: "//"; color: var(--hd-brand); font-weight: 800; font-style: italic; margin-right: 8px; letter-spacing: -0.08em; }
@media (min-width: 1024px) {
	.hd-ticker__list { display: flex; justify-content: space-between; }
	.hd-ticker__list li { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   Nagłówek — przezroczysty materiał, treść przewija się pod spodem
   -------------------------------------------------------------------------- */

.hd-header {
	position: sticky; top: 0; z-index: 40;
	background: rgba(255, 255, 255, 0.78);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 1px 0 transparent;
	transition: box-shadow 200ms ease;
}
.hd-header.is-scrolled { box-shadow: 0 1px 0 var(--hd-line); }
.hd-header__inner { display: flex; align-items: center; gap: 8px; height: var(--hd-header-h); }
.hd-header__menu { margin-left: -10px; }
.hd-logo { display: inline-flex; align-items: center; color: var(--hd-ink); padding: 8px 0; }
.hd-logo svg { width: 120px; height: auto; }
.custom-logo-link img { max-height: 32px; width: auto; }
.hd-header__actions { display: flex; align-items: center; gap: 0; margin-left: auto; margin-right: -10px; }
.hd-header__account { display: none; }
.hd-cart-count {
	position: absolute; top: 4px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px;
	display: grid; place-items: center; border-radius: 999px;
	background: var(--hd-brand); color: var(--hd-ink); font-size: 0.68rem; font-weight: 700; letter-spacing: 0;
	transition: transform 300ms var(--hd-ease-out), opacity 200ms ease;
}
.hd-cart-count.is-empty { opacity: 0; transform: scale(0.6); }
.hd-cart-count.is-bump { animation: hd-bump 420ms var(--hd-ease-out); }
@keyframes hd-bump { 0% { transform: scale(1); } 35% { transform: scale(1.3); } 100% { transform: scale(1); } }

.hd-nav { display: none; }

@media (min-width: 1024px) {
	:root { --hd-header-h: 64px; }
	.hd-header__menu { display: none; }
	.hd-header__account { display: inline-grid; }
	.hd-logo svg { width: 132px; }
	.hd-nav { display: block; margin-left: 40px; }
	.hd-nav__list { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
	.hd-nav__list > li > a {
		display: inline-flex; align-items: center; height: var(--hd-header-h); padding: 0 12px;
		font-size: 0.92rem; font-weight: 500; color: var(--hd-ink-2); letter-spacing: -0.01em;
		transition: color 200ms ease;
	}
	.hd-nav__list > li > a:hover,
	.hd-nav__list > li:focus-within > a,
	.hd-nav__list > .current-menu-item > a,
	.hd-nav__list > .current-menu-ancestor > a { color: var(--hd-ink); }
	.hd-nav__list > li > a[href*="wyprzedaz"] { color: var(--hd-sale); }

	/* Mega menu: panel pod nagłówkiem, pojawia się z opóźnieniem, znika natychmiast */
	.hd-nav__list > li > .sub-menu {
		position: absolute; left: 0; right: 0; top: 100%;
		display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px 40px;
		padding: 32px max(var(--hd-gutter), calc((100vw - var(--hd-max)) / 2 + var(--hd-gutter))) 40px;
		margin: 0; list-style: none;
		background: rgba(255, 255, 255, 0.985);
		-webkit-backdrop-filter: saturate(180%) blur(30px);
		backdrop-filter: saturate(180%) blur(30px);
		box-shadow: 0 1px 0 var(--hd-line), 0 24px 40px -24px rgba(0, 0, 0, 0.18);
		opacity: 0; visibility: hidden; transform: translateY(-6px);
		transition: opacity 150ms ease, transform 150ms var(--hd-ease-out), visibility 0s linear 150ms;
	}
	.hd-nav__list > li:hover > .sub-menu,
	.hd-nav__list > li:focus-within > .sub-menu {
		opacity: 1; visibility: visible; transform: none;
		transition: opacity 220ms ease 90ms, transform 260ms var(--hd-ease-out) 90ms, visibility 0s linear 90ms;
	}
	.hd-nav .sub-menu a { display: block; padding: 5px 0; font-size: 0.92rem; color: var(--hd-ink-2); }
	.hd-nav .sub-menu a:hover { color: var(--hd-ink); }
	.hd-nav .sub-menu > li > a { font-weight: 600; color: var(--hd-ink); font-size: 0.95rem; }
	.hd-nav .sub-menu .sub-menu { list-style: none; margin: 4px 0 12px; padding: 0; }
	.hd-nav .sub-menu .sub-menu a { font-weight: 400; color: var(--hd-muted); font-size: 0.88rem; padding: 4px 0; }
}

/* Mega menu kolekcji: Dla kogo · Marki · karta ze zdjęciem */
@media (min-width: 1024px) {
	.hd-nav__list > li > .hd-mega { grid-template-columns: 200px 200px 1fr; gap: 0 48px; align-items: start; }
	.hd-mega ul { list-style: none; margin: 0; padding: 0; }
	.hd-mega__title { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--hd-faint); margin-bottom: 10px; }
	.hd-nav .hd-mega a { font-weight: 500; font-size: 0.95rem; color: var(--hd-ink); }
	.hd-nav .hd-mega .hd-mega__col a { padding: 6px 0; }
	.hd-mega__card { justify-self: end; display: grid !important; grid-template-columns: 96px auto; gap: 16px; align-items: center; padding: 10px 20px 10px 10px !important; border-radius: var(--hd-r); background: var(--hd-surface); transition: background-color 200ms ease; }
	.hd-mega__card:hover { background: var(--hd-surface-2); }
	.hd-mega__card img { width: 96px; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: var(--hd-r-sm); mix-blend-mode: multiply; }
	.hd-mega__card span { display: grid; font-size: 0.85rem; color: var(--hd-muted); font-weight: 400; }
	.hd-mega__card strong { font-size: 1.1rem; color: var(--hd-ink); letter-spacing: -0.02em; }
	.hd-nav__list > li.is-sale > a { color: var(--hd-sale); }
}
.hd-mnav .is-sale > a { color: var(--hd-sale); }
.hd-mnav__list > li > a { font-size: 1.3rem; letter-spacing: -0.025em; }
.hd-mnav__info { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 2px; }
.hd-mnav__info a { font-size: 0.95rem; font-weight: 400; color: var(--hd-muted); padding: 8px 0; }
.hd-search__chips { margin-bottom: 20px; }

/* Kolekcje w listingu */
.hd-archive .hd-collections { margin-bottom: 12px; }
.hd-segment { display: inline-flex; gap: 2px; padding: 3px; margin-bottom: 16px; border-radius: 999px; background: var(--hd-surface); }
.hd-segment a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 16px; border-radius: 999px; font-size: 0.9rem; font-weight: 500; color: var(--hd-ink-2); transition: background-color 200ms ease, box-shadow 200ms ease; }
.hd-segment a[aria-current="true"] { background: var(--hd-bg); color: var(--hd-ink); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 0.5px rgba(0, 0, 0, 0.04); }
.hd-rail__genders { display: none; gap: 6px; }
@media (min-width: 640px) { .hd-rail__genders { display: flex; } }
.hd-rail__genders .hd-chip { min-height: 32px; padding: 0 12px; font-size: 0.85rem; }

/* --------------------------------------------------------------------------
   Arkusze (szuflady): koszyk/filtry z prawej, menu z lewej, szukanie z góry
   -------------------------------------------------------------------------- */

.hd-sheet { position: fixed; inset: 0; z-index: 90; }
.hd-sheet[hidden] { display: none; }
.hd-sheet__backdrop {
	position: absolute; inset: 0; background: rgba(0, 0, 0, 0.32);
	opacity: 0; transition: opacity 300ms ease;
}
.hd-sheet.is-open .hd-sheet__backdrop { opacity: 1; }
.hd-sheet__panel {
	position: absolute; top: 0; bottom: 0; right: 0;
	display: flex; flex-direction: column;
	width: min(440px, 100%); background: var(--hd-bg);
	box-shadow: var(--hd-shadow-lg);
	transform: translateX(100%);
	transition: transform 420ms var(--hd-ease-drawer);
	touch-action: pan-y;
}
.hd-sheet.is-open .hd-sheet__panel { transform: none; }
.hd-sheet.is-dragging .hd-sheet__panel { transition: none; }
.hd-sheet--nav .hd-sheet__panel { right: auto; left: 0; transform: translateX(-100%); width: min(400px, 88vw); }
.hd-sheet--search .hd-sheet__panel { bottom: auto; left: 0; width: 100%; height: auto; padding: 16px 0 28px; border-radius: 0 0 var(--hd-r-lg) var(--hd-r-lg); transform: translateY(-100%); }
.hd-sheet.is-open.hd-sheet--nav .hd-sheet__panel,
.hd-sheet.is-open.hd-sheet--search .hd-sheet__panel { transform: none; }

.hd-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 12px 24px; min-height: 64px; }
.hd-sheet__head h2 { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; display: flex; align-items: center; gap: 8px; }
.hd-drawer-count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; background: var(--hd-surface); font-size: 0.8rem; }
.hd-sheet__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 0 24px 24px; }
.hd-sheet__foot { display: flex; gap: 10px; padding: 16px 24px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--hd-line); }
.hd-sheet__foot .hd-btn { flex: 1; }
.hd-sheet__progress { display: grid; gap: 10px; padding: 0 24px 16px; }
.hd-sheet__progress:empty { display: none; }

@media (prefers-reduced-motion: reduce) {
	.hd-sheet__panel { transition: opacity 200ms ease; transform: none !important; opacity: 0; }
	.hd-sheet.is-open .hd-sheet__panel { opacity: 1; }
}
@media (prefers-reduced-transparency: reduce) {
	.hd-header, .hd-nav__list > li > .sub-menu { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* Wyszukiwarka */
.hd-search { display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 16px; margin-bottom: 20px; border-radius: var(--hd-r); background: var(--hd-surface); }
.hd-search .hd-icon { color: var(--hd-muted); flex: none; }
.hd-search input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; font-size: 1.1rem; outline: none; }
.hd-search input::-webkit-search-cancel-button { display: none; }
.hd-sheet--search .hd-eyebrow { margin-bottom: 12px; }

/* Menu mobilne */
.hd-mnav ul { list-style: none; margin: 0; padding: 0; }
.hd-mnav__list > li { border-bottom: 1px solid var(--hd-line); }
.hd-mnav li { position: relative; }
.hd-mnav a { display: block; padding: 14px 44px 14px 0; font-size: 1.1rem; font-weight: 600; letter-spacing: -0.02em; }
.hd-mnav .sub-menu { display: none; padding-bottom: 10px; }
.hd-mnav li.is-open > .sub-menu { display: block; }
.hd-mnav .sub-menu a { padding: 9px 44px 9px 14px; font-size: 1rem; font-weight: 500; color: var(--hd-ink-2); }
.hd-mnav .sub-menu .sub-menu a { padding-left: 28px; font-weight: 400; color: var(--hd-muted); }
.hd-mnav__toggle { position: absolute; right: -8px; top: 4px; }
.hd-mnav__toggle .hd-icon { transition: transform 250ms var(--hd-ease-out); }
.hd-mnav li.is-open > .hd-mnav__toggle .hd-icon { transform: rotate(180deg); }
.hd-mnav .sub-menu .hd-mnav__toggle { top: -2px; }

/* Toast */
.hd-toast {
	position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 100;
	max-width: calc(100vw - 32px); padding: 12px 18px; border-radius: 999px;
	background: var(--hd-ink); color: #fff; font-size: 0.92rem; font-weight: 500; box-shadow: var(--hd-shadow-lg);
	opacity: 0; transform: translate(-50%, 16px); pointer-events: none;
	transition: opacity 250ms ease, transform 350ms var(--hd-ease-out);
}
.hd-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* --------------------------------------------------------------------------
   Sekcje strony głównej
   -------------------------------------------------------------------------- */

/* Odstępy między sekcjami: 25% pierwotnych (decyzja 29.09) */
.hd-section { padding-block: clamp(10px, 1.5vw, 20px); }
.hd-section--tight { padding-block: 2px clamp(4px, 0.75vw, 8px); }
.hd-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: clamp(20px, 3vw, 32px); }
.hd-section__head .hd-eyebrow { margin-bottom: 8px; }

/* Strona główna: przełącznik Damskie / Męskie */
.hd-home[data-gender="kobieta"] [data-panel="mezczyzna"],
.hd-home[data-gender="mezczyzna"] [data-panel="kobieta"] { display: none; }
.hd-home__panel.is-entering { animation: hd-panel-in 420ms var(--hd-ease-out); }
@keyframes hd-panel-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.hd-home__switch {
	position: sticky; top: calc(var(--hd-header-h) + 10px); z-index: 30;
	display: flex; justify-content: center; align-items: flex-start; padding: 16px 0 12px; pointer-events: none;
}
.hd-home .hd-hero { padding-top: 8px; }
.hd-switch {
	position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; padding: 4px;
	border-radius: 999px; pointer-events: auto;
	background: rgba(235, 235, 240, 0.78);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 6px 24px -8px rgba(0, 0, 0, 0.18);
}
.hd-switch__opt {
	position: relative; z-index: 1; display: grid; place-items: center;
	min-width: 118px; height: 40px; padding: 0 20px; border-radius: 999px;
	font-size: 0.95rem; font-weight: 600; letter-spacing: -0.01em; color: var(--hd-ink-2);
	-webkit-tap-highlight-color: transparent; transition: color 250ms ease, transform 160ms var(--hd-ease-out);
}
.hd-switch__opt:active { transform: scale(0.96); }
.hd-switch__opt[aria-selected="true"] { color: var(--hd-ink); }
.hd-switch__thumb {
	position: absolute; top: 4px; left: 4px; width: calc(50% - 4px); height: calc(100% - 8px);
	border-radius: 999px; background: var(--hd-bg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(0, 0, 0, 0.04);
	transition: transform 380ms var(--hd-ease-drawer);
}
.hd-home[data-gender="mezczyzna"] .hd-switch__thumb { transform: translateX(100%); }
@media (prefers-reduced-transparency: reduce) { .hd-switch { background: var(--hd-surface-2); -webkit-backdrop-filter: none; backdrop-filter: none; } }
@media (prefers-reduced-motion: reduce) { .hd-home__panel.is-entering { animation: hd-fade 200ms ease; } }
@keyframes hd-fade { from { opacity: 0; } to { opacity: 1; } }

.hd-hero { padding-top: clamp(16px, 3vw, 32px); }
.hd-hero__grid { display: grid; gap: 28px; }
.hd-hero__copy { display: grid; gap: 18px; align-content: center; }
.hd-hero__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.hd-hero__stats { display: flex; gap: clamp(20px, 4vw, 44px); margin-top: 14px; padding-top: 20px; border-top: 1px solid var(--hd-line); }
.hd-hero__stats dt { font-size: 0.78rem; color: var(--hd-muted); }
.hd-hero__stats dd { font-size: 1.3rem; font-weight: 700; letter-spacing: -0.02em; }
.hd-hero__media { position: relative; overflow: hidden; border-radius: var(--hd-r-xl); background: var(--hd-surface); aspect-ratio: 4 / 5; }
.hd-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hd-hero__media::after {
	content: ""; position: absolute; left: 24px; bottom: 24px; width: 64px; height: 36px;
	background: linear-gradient(115deg, transparent 0 20%, var(--hd-brand) 20% 42%, transparent 42% 58%, var(--hd-brand) 58% 80%, transparent 80%);
}
.hd-hero__media img { position: absolute; inset: 0; object-position: var(--hd-focus-pos, center 30%); }
@media (min-width: 900px) {
	.hd-hero__grid { grid-template-columns: 1fr 1.08fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
	/* Stała wysokość kadru — każde zdjęcie hero (damskie/męskie) ma identyczny rozmiar */
	.hd-hero__media { aspect-ratio: auto; height: clamp(480px, 68vh, 620px); }
}
.hd-switch__opt:focus-visible { outline-offset: -3px; }

/* Rabat pakietowy */
.hd-tiers { border-radius: var(--hd-r-lg); background: var(--hd-surface); padding: 18px; }
.hd-tiers__head { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; margin-bottom: 14px; }
.hd-tiers__icon { grid-row: span 2; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 999px; background: var(--hd-brand); }
.hd-tiers__title { font-weight: 700; font-size: 1rem; letter-spacing: -0.015em; }
.hd-tiers__note { font-size: 0.82rem; color: var(--hd-muted); }
.hd-tiers__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; list-style: none; margin: 0; padding: 0; }
.hd-tier {
	position: relative; display: grid; gap: 2px; padding: 12px 12px 11px; border-radius: var(--hd-r);
	background: var(--hd-bg); box-shadow: inset 0 0 0 1px var(--hd-line);
	transition: box-shadow 200ms ease, background-color 200ms ease;
}
.hd-tier__pct { font-size: 1.35rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
.hd-tier__min { font-size: 0.82rem; color: var(--hd-muted); }
.hd-tier.is-next { background: var(--hd-ink); color: #fff; box-shadow: none; }
.hd-tier.is-next .hd-tier__min { color: rgba(255, 255, 255, 0.7); }
.hd-tier.is-next::after { content: "następna"; position: absolute; top: 9px; right: 10px; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--hd-brand); }

.hd-tiers--home { display: grid; gap: 18px; padding: clamp(20px, 3vw, 32px); background: var(--hd-ink); color: #fff; border-radius: var(--hd-r-xl); overflow: hidden; position: relative; }
.hd-tiers--home .hd-tiers__head { margin: 0; }
.hd-tiers--home .hd-tiers__title { font-size: clamp(1.4rem, 2.6vw, 2rem); letter-spacing: -0.03em; }
.hd-tiers--home .hd-tiers__note { color: rgba(255, 255, 255, 0.64); font-size: 0.95rem; }
.hd-tiers--home .hd-tiers__icon { width: 44px; height: 44px; color: var(--hd-ink); }
.hd-tiers--home .hd-tier { background: rgba(255, 255, 255, 0.08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1); padding: 16px 18px; }
.hd-tiers--home .hd-tier__pct { font-size: clamp(1.8rem, 4vw, 2.8rem); color: var(--hd-brand); }
.hd-tiers--home .hd-tier__min { color: rgba(255, 255, 255, 0.72); font-size: 0.92rem; }
@media (min-width: 900px) {
	.hd-tiers--home { grid-template-columns: 1fr 1.4fr; align-items: center; padding: 36px 40px; }
}
@media (max-width: 480px) {
	.hd-tiers--home .hd-tier { padding: 12px 10px; min-width: 0; }
	.hd-tiers--home .hd-tier__pct { font-size: 1.55rem; }
	.hd-tiers--home .hd-tier__min { font-size: 0.8rem; }
	.hd-tiers__list { gap: 6px; }
}

/* Postęp rabatu i dostawy */
.hd-tier-progress { padding: 14px 16px 30px; border-radius: var(--hd-r); background: var(--hd-surface); }
.hd-tier-progress[hidden] { display: none; }
.hd-tier-progress__msg { font-size: 0.9rem; margin-bottom: 12px; }
.hd-tier-progress__msg strong { font-weight: 700; }
.hd-tier-progress__track { position: relative; height: 6px; border-radius: 999px; background: var(--hd-surface-2); margin-right: 14px; }
.hd-tier-progress__fill { position: absolute; inset: 0; border-radius: inherit; background: var(--hd-ink); transform-origin: left center; transition: transform 500ms var(--hd-ease-out); }
.hd-tier-progress.is-active .hd-tier-progress__fill { background: linear-gradient(90deg, var(--hd-ink), #3a3a3c); }
.hd-tier-progress__stop { position: absolute; top: 50%; width: 14px; height: 14px; margin-left: -7px; margin-top: -7px; border-radius: 999px; background: var(--hd-bg); box-shadow: inset 0 0 0 2px var(--hd-surface-2); transition: box-shadow 300ms ease, background-color 300ms ease; }
.hd-tier-progress__stop.is-reached { background: var(--hd-brand); box-shadow: inset 0 0 0 2px var(--hd-ink); }
.hd-tier-progress__stop span { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); font-size: 0.72rem; font-weight: 700; color: var(--hd-muted); white-space: nowrap; }
.hd-tier-progress__stop.is-reached span { color: var(--hd-ink); }
.hd-ship-progress { display: flex; align-items: center; gap: 10px; font-size: 0.88rem; color: var(--hd-ink-2); padding: 0 4px; }
.hd-ship-progress[hidden] { display: none; }
.hd-ship-progress.is-done { color: var(--hd-good); }

/* Kafle kategorii */
.hd-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.hd-tile { position: relative; display: block; overflow: hidden; border-radius: var(--hd-r-lg); aspect-ratio: 3 / 4; background: var(--hd-surface); isolation: isolate; }
.hd-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--hd-ease-out); }
.hd-tile::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(0, 0, 0, 0.55)); z-index: 0; }
.hd-tile__label { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 1; display: grid; color: #fff; }
.hd-tile__label strong { font-size: clamp(1.15rem, 2vw, 1.5rem); letter-spacing: -0.025em; }
.hd-tile__label span { font-size: 0.82rem; opacity: 0.85; }
.hd-tile:active { transform: scale(0.985); transition: transform 160ms var(--hd-ease-out); }
@media (hover: hover) and (pointer: fine) { .hd-tile:hover img { transform: scale(1.04); } }
@media (min-width: 900px) { .hd-tiles { grid-template-columns: repeat(4, 1fr); gap: 16px; } }

/* Marki — typograficznie */
.hd-brands__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--hd-line); border-radius: var(--hd-r-lg); overflow: hidden; list-style: none; margin: 0; padding: 0; }
.hd-brands__list a { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 22px 20px; background: var(--hd-bg); font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 700; letter-spacing: -0.025em; transition: background-color 200ms ease; }
.hd-brands__list small { font-size: 0.78rem; font-weight: 500; color: var(--hd-faint); letter-spacing: 0; }
@media (hover: hover) and (pointer: fine) { .hd-brands__list a:hover { background: var(--hd-brand-soft); } }
@media (min-width: 768px) { .hd-brands__list { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .hd-brands__list { grid-template-columns: repeat(4, 1fr); } }

.hd-values { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.hd-values li { padding: 28px; border-radius: var(--hd-r-lg); background: var(--hd-surface); display: grid; gap: 10px; }
.hd-values h3 { font-size: 1.15rem; letter-spacing: -0.02em; }
.hd-values p { color: var(--hd-muted); font-size: 0.95rem; }
@media (min-width: 900px) { .hd-values { grid-template-columns: repeat(3, 1fr); gap: 16px; } }

/* --------------------------------------------------------------------------
   Siatka produktów i kafelek
   -------------------------------------------------------------------------- */

ul.products, .hd-grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 10px;
	list-style: none; margin: 0; padding: 0;
}
@media (min-width: 768px) { ul.products, .hd-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 16px; } }
@media (min-width: 1100px) { ul.products, .hd-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Rzędy na stronie głównej: przewijanie ze snapem na każdej szerokości */
.hd-grid.hd-grid--rail {
	display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
	margin-inline: calc(var(--hd-gutter) * -1); padding-inline: var(--hd-gutter); scroll-padding-inline: var(--hd-gutter);
}
.hd-grid--rail::-webkit-scrollbar { display: none; }
.hd-grid--rail > li { flex: 0 0 62%; scroll-snap-align: start; }
@media (min-width: 768px) { .hd-grid.hd-grid--rail { gap: 16px; } .hd-grid--rail > li { flex-basis: calc((100% - 32px) / 3.2); } }
@media (min-width: 1100px) { .hd-grid--rail > li { flex-basis: calc((100% - 48px) / 4); } }
.hd-rail__nav { display: none; gap: 8px; }
@media (hover: hover) and (pointer: fine) and (min-width: 768px) { .hd-rail__nav { display: flex; } }
.hd-rail__nav .hd-icon-btn { background: var(--hd-surface); width: 36px; height: 36px; }
.hd-rail__nav .hd-icon-btn[disabled] { opacity: 0.35; cursor: default; }
.hd-rail__nav [data-dir="-1"] .hd-icon { transform: rotate(180deg); }
.hd-section__actions { display: flex; align-items: center; gap: 16px; }

.hd-card { position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.hd-card__media {
	position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 4;
	border-radius: var(--hd-r); background: var(--hd-surface);
}
.hd-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
@media (hover: hover) and (pointer: fine) {
}
.hd-card__body { display: grid; gap: 4px; padding-inline: 2px; }
.hd-card__brand { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--hd-muted); }
.hd-card__title { font-size: 0.92rem; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hd-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.hd-card__price { margin-top: 2px; }
.hd-card__sizes { font-size: 0.78rem; color: var(--hd-muted); letter-spacing: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hd-card .hedore-lowest-price { display: none; }

/* Kropki kolorów — nad linkiem kafelka */
.hd-dots { position: relative; z-index: 2; display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.hd-dot { width: 14px; height: 14px; border-radius: 999px; background: var(--dot); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14); transition: transform 160ms var(--hd-ease-out); }
.hd-dot.is-current { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14), 0 0 0 2px var(--hd-bg), 0 0 0 3px var(--hd-ink); }
.hd-dot:active { transform: scale(0.9); }
.hd-dots__more { font-size: 0.75rem; color: var(--hd-muted); }

/* Etykiety — ukośne, jak „//” w logo */
.hd-badges { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; pointer-events: none; }
.hd-badge {
	display: inline-flex; align-items: center; height: 24px; padding: 0 10px;
	font-size: 0.75rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1;
	border-radius: 6px; transform: skewX(-12deg);
}
.hd-badge > * , .hd-badge { font-style: normal; }
.hd-badge--sale { background: var(--hd-brand); color: var(--hd-ink); font-size: 0.8rem; }
.hd-badge--low { background: var(--hd-sale); color: #fff; }
.hd-badge--new { background: var(--hd-ink); color: #fff; }
.hd-badge--out { background: rgba(255, 255, 255, 0.9); color: var(--hd-ink); }

/* Ceny */
.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-weight: 600; font-size: 0.98rem; letter-spacing: -0.015em; }
.price del { order: 2; color: var(--hd-faint); font-weight: 400; font-size: 0.86em; text-decoration-thickness: 1px; }
.price ins { order: 1; color: var(--hd-sale); text-decoration: none; }
.price .screen-reader-text { order: 3; }
.woocommerce-Price-currencySymbol { margin-left: 1px; }

/* --------------------------------------------------------------------------
   Listing
   -------------------------------------------------------------------------- */

.hd-archive { padding-block: 16px 64px; }
.hd-archive__head { display: grid; gap: 6px; margin-bottom: 18px; }
.hd-archive__head .hd-crumbs { margin-bottom: 6px; }
.hd-archive__count { color: var(--hd-muted); font-size: 0.92rem; }
.hd-archive__desc { color: var(--hd-muted); max-width: 64ch; font-size: 0.95rem; margin-top: 6px; }
.hd-archive .hd-chips--scroll { margin-bottom: 16px; }

.hd-promo-strip {
	display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 12px 16px;
	border-radius: var(--hd-r); background: var(--hd-brand-soft); font-size: 0.9rem; line-height: 1.35;
}
.hd-promo-strip .hd-icon { flex: none; }
.hd-promo-strip b { font-weight: 800; }

.hd-toolbar {
	position: sticky; top: var(--hd-header-h); z-index: 20;
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	margin-inline: calc(var(--hd-gutter) * -1); padding: 10px var(--hd-gutter);
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	margin-bottom: 16px;
}
.woocommerce-ordering { margin: 0; }
.hd-toolbar .woocommerce-ordering select, .hd-select {
	width: auto; min-height: 40px; box-shadow: none;
	appearance: none; -webkit-appearance: none;
	height: 40px; padding: 0 36px 0 16px; border: 0; border-radius: 999px;
	background: var(--hd-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%231d1d1f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E") no-repeat right 14px center;
	font-size: 0.95rem; font-weight: 500; cursor: pointer;
}
.woocommerce-result-count { display: none; }

.hd-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; }
.hd-active-filters .hd-link { font-size: 0.9rem; margin-left: 4px; }

.hd-filter { border: 0; padding: 20px 0; margin: 0; border-bottom: 1px solid var(--hd-line); }
.hd-filter:last-of-type { border-bottom: 0; }
.hd-filter legend { font-weight: 700; font-size: 1rem; padding: 0; margin-bottom: 14px; float: left; width: 100%; }
.hd-filter__options { clear: both; display: flex; flex-wrap: wrap; gap: 8px; }
.hd-filter__opt { position: relative; cursor: pointer; }
.hd-filter__opt input { position: absolute; opacity: 0; pointer-events: none; }
.hd-filter__name { display: inline-flex; align-items: center; min-height: 40px; min-width: 48px; justify-content: center; padding: 0 14px; border-radius: var(--hd-r-sm); box-shadow: inset 0 0 0 1px var(--hd-line-strong); font-size: 0.92rem; font-weight: 500; transition: background-color 150ms ease, box-shadow 150ms ease, color 150ms ease; }
.hd-filter__opt input:checked ~ .hd-filter__name { background: var(--hd-ink); color: #fff; box-shadow: none; }
.hd-filter__opt input:focus-visible ~ .hd-filter__name { outline: 2px solid var(--hd-focus); outline-offset: 2px; }
.hd-filter--swatches .hd-filter__opt { display: inline-flex; align-items: center; }
.hd-filter--swatches .hd-filter__name { padding-left: 36px; }
.hd-filter__swatch { position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 999px; background: var(--dot); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.16); z-index: 1; }
.hd-filter--list .hd-filter__options { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.hd-filter--list .hd-filter__name { justify-content: flex-start; width: 100%; }

/* Paginacja */
.woocommerce-pagination { margin-top: 48px; }
.woocommerce-pagination ul { display: flex; justify-content: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border-radius: 999px; font-weight: 500; font-size: 0.95rem; }
.woocommerce-pagination .current { background: var(--hd-ink); color: #fff; }
.woocommerce-pagination a:hover { background: var(--hd-surface); }
.woocommerce-pagination .prev .hd-icon { transform: rotate(180deg); }

/* Okruszki */
.hd-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 0.82rem; color: var(--hd-muted); }
.hd-crumbs a:hover { color: var(--hd-ink); }
.hd-crumbs__sep { color: var(--hd-faint); }

/* --------------------------------------------------------------------------
   Karta produktu
   -------------------------------------------------------------------------- */

.hd-product { padding-block: 8px 64px; }
.hd-product__grid { display: grid; gap: 20px; }
.hd-product__summary { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.hd-product__summary > .hd-crumbs { display: none; }

@media (min-width: 1024px) {
	.hd-product { padding-top: 24px; }
	.hd-product__grid { grid-template-columns: minmax(0, 1.35fr) minmax(360px, 1fr); gap: 56px; align-items: start; }
	.hd-product__summary { position: sticky; top: calc(var(--hd-header-h) + 24px); }
	.hd-product__summary > .hd-crumbs { display: flex; }
}

/* Galeria: przewijanie ze snapem (mobile), siatka 2 kolumn (desktop) */
.hd-gallery { position: relative; margin-inline: calc(var(--hd-gutter) * -1); }
.hd-gallery__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.hd-gallery__track::-webkit-scrollbar { display: none; }
.hd-gallery__item { flex: 0 0 100%; scroll-snap-align: center; aspect-ratio: 3 / 4; background: var(--hd-surface); }
.hd-gallery__item img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.hd-gallery__dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.hd-gallery__dots span { width: 6px; height: 6px; border-radius: 999px; background: rgba(0, 0, 0, 0.22); transition: transform 250ms var(--hd-ease-out), background-color 250ms ease; }
.hd-gallery__dots span.is-active { background: var(--hd-ink); transform: scale(1.25); }
.hd-gallery .hd-badges { left: calc(var(--hd-gutter) + 2px); top: 14px; }
@media (min-width: 1024px) {
	.hd-gallery { margin: 0; }
	.hd-gallery .hd-badges { left: 16px; top: 16px; }
	.hd-gallery__track { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; overflow: visible; }
	.hd-gallery__item { border-radius: var(--hd-r); overflow: hidden; }
	.hd-gallery__item:first-child { grid-column: span 2; aspect-ratio: 4 / 5; }
	.hd-gallery__dots { display: none; }
}

.hd-summary__brand { display: inline-block; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--hd-muted); margin-bottom: -12px; }
.hd-summary__title { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.15; letter-spacing: -0.028em; font-weight: 700; text-wrap: balance; }
.hd-summary__price { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.hd-summary__price .price { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.025em; }
.hd-summary__price .price del { font-size: 0.72em; }
.hd-summary__price .hedore-lowest-price { flex-basis: 100%; order: 5; }
.hd-save { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; background: var(--hd-brand-soft); font-size: 0.82rem; font-weight: 700; }
.hedore-lowest-price { font-size: 0.8rem; color: var(--hd-muted); font-weight: 400; letter-spacing: 0; }

.hd-option-label { display: flex; align-items: baseline; gap: 6px; font-size: 0.92rem; color: var(--hd-muted); margin-bottom: 10px; }
.hd-option-label strong { color: var(--hd-ink); font-weight: 600; }
.hd-option-label__meta { margin-left: auto; font-size: 0.82rem; color: var(--hd-faint); }

/* Przełącznik kolorów — zdjęcia produktów w innych kolorach */
.hd-colors__list { display: flex; flex-wrap: wrap; gap: 8px; }
.hd-color {
	position: relative; display: block; width: 64px; aspect-ratio: 3 / 4; overflow: hidden;
	border-radius: var(--hd-r-sm); background: var(--hd-surface);
	box-shadow: inset 0 0 0 1px var(--hd-line);
	transition: transform 160ms var(--hd-ease-out);
}
.hd-color img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.hd-color::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 2px transparent; transition: box-shadow 200ms ease; pointer-events: none; }
.hd-color.is-current::after { box-shadow: inset 0 0 0 2px var(--hd-ink); }
.hd-color:active { transform: scale(0.96); }
.hd-color.is-out img { opacity: 0.45; }
.hd-color.is-out::before { content: ""; position: absolute; left: 50%; top: -10%; bottom: -10%; width: 1.5px; background: rgba(0, 0, 0, 0.35); transform: rotate(35deg); z-index: 1; }
@media (hover: hover) and (pointer: fine) { a.hd-color:hover::after { box-shadow: inset 0 0 0 2px var(--hd-line-strong); } }

/* Warianty */
.variations_form .variations { width: 100%; border-collapse: collapse; margin: 0; }
.variations_form .variations tr { display: block; margin-bottom: 18px; }
.variations_form .variations th, .variations_form .variations td { display: block; padding: 0; text-align: left; }
.variations_form .variations th.label { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; font-size: 0.92rem; font-weight: 400; color: var(--hd-muted); }
.variations_form .variations th.label label { font-weight: 400; }
.variations_form .variations th.label .hd-chosen { color: var(--hd-ink); font-weight: 600; }
.hd-size-guide { display: inline-flex; align-items: center; gap: 6px; font-size: 0.85rem; color: var(--hd-ink); }
.hd-variation-select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hd-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.hd-swatch {
	position: relative; min-width: 56px; height: 48px; padding: 0 14px; border: 0; border-radius: var(--hd-r-sm);
	background: var(--hd-bg); box-shadow: inset 0 0 0 1px var(--hd-line-strong);
	font-size: 0.95rem; font-weight: 500;
	transition: transform 160ms var(--hd-ease-out), box-shadow 150ms ease, background-color 150ms ease, color 150ms ease;
}
.hd-swatch:active { transform: scale(0.96); }
.hd-swatch[aria-checked="true"] { background: var(--hd-ink); color: #fff; box-shadow: none; }
.hd-swatch.is-disabled { color: var(--hd-faint); background: repeating-linear-gradient(135deg, transparent 0 6px, rgba(0, 0, 0, 0.04) 6px 7px); box-shadow: inset 0 0 0 1px var(--hd-line); }
.hd-swatch.is-disabled[aria-checked="true"] { background: var(--hd-faint); color: #fff; }
@media (hover: hover) and (pointer: fine) { .hd-swatch:not([aria-checked="true"]):not(.is-disabled):hover { box-shadow: inset 0 0 0 1.5px var(--hd-ink); } }
.hd-swatch.is-notify { cursor: pointer; }
.hd-swatch.is-notify::after {
	content: ""; position: absolute; top: 5px; right: 5px; width: 6px; height: 6px; border-radius: 999px; background: var(--hd-brand);
}
@media (hover: hover) and (pointer: fine) { .hd-swatch.is-notify:not([aria-checked="true"]):hover { box-shadow: inset 0 0 0 1.5px var(--hd-faint); } }

/* Wyprzedany wariant: zamiast „Dodaj do koszyka” — formularz powiadomienia o dostępności */
.single_variation_wrap .single_add_to_cart_button.wc-variation-is-unavailable { display: none; }
.cwginstock-subscribe-form { margin: 4px 0 14px; padding: 18px; border-radius: var(--hd-r-lg); background: var(--hd-brand-soft); font-size: 0.9rem; }
.cwginstock-subscribe-form .panel, .cwginstock-subscribe-form .row, .cwginstock-subscribe-form [class*="col-"] { all: unset; display: block; }
.cwginstock-subscribe-form .panel-heading h4 { margin: 0 0 4px !important; text-align: left !important; font-size: 1rem; font-weight: 700; letter-spacing: -0.015em; color: var(--hd-ink); }
.cwginstock-subscribe-form .panel-heading::after { content: "Wpisz e-mail — napiszemy, gdy ten rozmiar wróci."; display: block; margin-bottom: 12px; color: var(--hd-ink-2); font-size: 0.88rem; }
.cwginstock-subscribe-form .form-group { margin: 0 0 10px; }
.cwginstock-subscribe-form input[type="email"] {
	width: 100% !important; min-height: 50px; padding: 12px 16px; border: 0; border-radius: var(--hd-r-sm);
	background: var(--hd-bg); box-shadow: inset 0 0 0 1px var(--hd-line-strong); text-align: left !important; font-size: 1rem;
}
.cwginstock-subscribe-form input[type="email"]:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--hd-ink); }
.cwginstock-subscribe-form .cwg_iagree_checkbox { margin: 0 0 12px; font-size: 0.74rem; line-height: 1.45; color: var(--hd-muted); }
.cwginstock-subscribe-form .cwg_iagree_checkbox label { display: block; position: relative; padding-left: 26px; }
.cwginstock-subscribe-form .cwg_iagree_checkbox input { position: absolute; left: 0; top: 1px; margin: 0; accent-color: var(--hd-ink); width: 16px; height: 16px; }
.cwginstock-subscribe-form .cwg_iagree_checkbox a { text-decoration: underline; }
.cwginstock-subscribe-form .form-group[style*="center"] { text-align: left !important; }
.cwginstock-subscribe-form .cwgstock_button {
	width: 100%; min-height: 52px; border: 0; border-radius: 999px; background: var(--hd-ink); color: #fff;
	font-size: 1rem; font-weight: 600; cursor: pointer; transition: transform 160ms var(--hd-ease-out);
}
.cwginstock-subscribe-form .cwgstock_button:active { transform: scale(0.97); }
.cwgstock_output:empty { display: none; }
.cwgstock_output { margin-top: 10px; font-size: 0.88rem; }
.cwgstock_output .cwginstocksuccess { color: var(--hd-good); }
.cwgstock_output .cwginstockerror { color: var(--hd-sale); }

.hd-swatch--image { width: 64px; height: auto; aspect-ratio: 3 / 4; padding: 0; overflow: hidden; background: var(--hd-surface); }
.hd-swatch--image img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.hd-swatch--image[aria-checked="true"] { background: var(--hd-surface); box-shadow: inset 0 0 0 2px var(--hd-ink); }
.hd-swatch--image.is-disabled img { opacity: 0.4; }

.single_variation_wrap .woocommerce-variation { margin-bottom: 12px; }
.single_variation_wrap .woocommerce-variation-price .price { font-size: 1.1rem; }
.woocommerce-variation-availability p, .stock { font-size: 0.88rem; margin: 0 0 12px; color: var(--hd-good); display: flex; align-items: center; gap: 6px; }
.stock::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: currentColor; }
.stock.out-of-stock { color: var(--hd-sale); }

form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display: flex; gap: 10px; }
form.cart .quantity { display: none !important; }
.single_variation_wrap .woocommerce-variation-price { display: none; }
.woocommerce-variation-description { font-size: 0.88rem; color: var(--hd-muted); margin-bottom: 6px; }
.woocommerce-variation-description p { margin: 0 !important; font-size: inherit !important; }
.woocommerce-variation-description strong { color: var(--hd-ink); font-weight: 600; }
.stock.in-stock:is([class]) { color: var(--hd-good); }
.single_add_to_cart_button { flex: 1; min-height: 56px; font-size: 1.05rem; }
.hd-product__summary form.cart { margin: 0; }

/* Akordeon */
.hd-accordion { border-top: 1px solid var(--hd-line); }
.hd-accordion__item { border-bottom: 1px solid var(--hd-line); }
.hd-accordion__item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0; font-weight: 600; cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; }
.hd-accordion__item summary::-webkit-details-marker { display: none; }
.hd-accordion__item summary .hd-icon { flex: none; transition: transform 250ms var(--hd-ease-out); }
.hd-accordion__item[open] summary .hd-icon { transform: rotate(45deg); }
.hd-accordion__body { padding-bottom: 20px; font-size: 0.95rem; color: var(--hd-ink-2); }
.hd-accordion__body > * + * { margin-top: 12px; }
.hd-accordion__body ul { padding-left: 1.1em; }
.hd-accordion__body table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.hd-accordion__body th, .hd-accordion__body td { padding: 10px 8px; border-bottom: 1px solid var(--hd-line); text-align: left; vertical-align: top; }
.hd-accordion__body th { font-weight: 600; color: var(--hd-ink); }
.hd-accordion__body .woocommerce-product-attributes-item__value p { margin: 0; }
.hd-accordion__body > div[style*="overflow"], .hd-accordion__body .table-wrap { overflow-x: auto; }

/* Zaufanie */
.hd-trust { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.hd-trust li { display: flex; gap: 12px; align-items: flex-start; font-size: 0.88rem; color: var(--hd-muted); line-height: 1.35; }
.hd-trust li .hd-icon { flex: none; color: var(--hd-ink); margin-top: 1px; }
.hd-trust strong { display: block; color: var(--hd-ink); font-weight: 600; font-size: 0.92rem; }

/* Po podsumowaniu */
.hd-product__after { margin-top: clamp(48px, 7vw, 96px); display: grid; gap: clamp(48px, 7vw, 80px); }
.hd-product__after > section > h2, .upsells > h2, .related > h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); letter-spacing: -0.025em; margin-bottom: 24px; }

/* Przyklejony pasek zakupu na telefonie */
.hd-sticky-buy {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
	display: flex; align-items: center; gap: 12px; padding: 10px var(--hd-gutter) calc(10px + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 -1px 0 var(--hd-line);
	transform: translateY(110%); transition: transform 350ms var(--hd-ease-drawer);
}
.hd-sticky-buy.is-visible { transform: none; }
.hd-sticky-buy__price { display: grid; font-size: 0.8rem; color: var(--hd-muted); line-height: 1.2; min-width: 0; }
.hd-sticky-buy__price .price { font-size: 1.05rem; color: var(--hd-ink); }
.hd-sticky-buy .hd-btn { margin-left: auto; flex: 0 0 auto; min-width: 48%; }
@media (min-width: 1024px) { .hd-sticky-buy { display: none; } }

/* --------------------------------------------------------------------------
   Mini koszyk (szuflada)
   -------------------------------------------------------------------------- */

.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart-item {
	position: relative; display: grid; grid-template-columns: 76px 1fr; column-gap: 14px; row-gap: 2px;
	padding: 14px 32px 14px 0; border-bottom: 1px solid var(--hd-line); font-size: 0.92rem;
}
.woocommerce-mini-cart-item > a:not(.remove) { display: contents; font-weight: 500; line-height: 1.3; }
.woocommerce-mini-cart-item img { grid-row: 1 / span 3; width: 76px; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: var(--hd-r-sm); background: var(--hd-surface); mix-blend-mode: multiply; }
.woocommerce-mini-cart-item .hd-mini__meta { display: block; font-size: 0.82rem; color: var(--hd-muted); }
.woocommerce-mini-cart-item .quantity { grid-column: 2; font-size: 0.88rem; color: var(--hd-muted); }
.woocommerce-mini-cart-item .quantity .amount { color: var(--hd-ink); font-weight: 600; }
.woocommerce-mini-cart-item .variation { display: none; }
.woocommerce-mini-cart-item .remove { position: absolute; top: 12px; right: 0; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; font-size: 1.2rem; line-height: 1; color: var(--hd-muted); }
.woocommerce-mini-cart-item .remove:hover { background: var(--hd-surface); color: var(--hd-ink); }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 18px 0 14px; font-size: 1rem; margin: 0; }
.woocommerce-mini-cart__total strong { font-weight: 500; color: var(--hd-muted); }
.woocommerce-mini-cart__total .amount { font-weight: 700; }
.woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; position: sticky; bottom: 0; padding: 12px 0 calc(4px + env(safe-area-inset-bottom)); background: var(--hd-bg); }
.woocommerce-mini-cart__buttons .button { width: 100%; }
.woocommerce-mini-cart__empty-message { padding: 48px 0; text-align: center; color: var(--hd-muted); }
.widget_shopping_cart_content .blockUI.blockOverlay { background: rgba(255, 255, 255, 0.6) !important; }

/* --------------------------------------------------------------------------
   Strony: koszyk, zamówienie, konto, treści
   -------------------------------------------------------------------------- */

.hd-page { padding-block: clamp(24px, 4vw, 48px) 80px; }
.hd-page__head { margin-bottom: clamp(20px, 3vw, 36px); }
.hd-page--text .hd-prose { max-width: 72ch; }
.hd-prose { font-size: 1rem; line-height: 1.6; color: var(--hd-ink-2); }
.hd-prose > * + * { margin-top: 1em; }
.hd-prose h2 { font-size: 1.5rem; letter-spacing: -0.02em; color: var(--hd-ink); margin-top: 1.6em; }
.hd-prose h3 { font-size: 1.2rem; color: var(--hd-ink); margin-top: 1.4em; }
.hd-page--text .hd-prose a:not(.button):not(.hd-btn) { text-decoration: underline; text-underline-offset: 3px; }
.hd-prose--wide { max-width: none; color: var(--hd-ink); }
.hd-empty { text-align: center; padding-block: 64px; display: grid; gap: 14px; justify-items: center; }
.hd-empty p { color: var(--hd-muted); max-width: 48ch; }

/* Formularze */
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 0.85rem; color: var(--hd-muted); }
.woocommerce form .form-row .required { color: var(--hd-sale); text-decoration: none; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; }
@media (min-width: 640px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 6px); display: inline-block; vertical-align: top; }
	.woocommerce form .form-row-first { margin-right: 8px; }
}
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select,
.woocommerce form .select2-container .select2-selection--single,
.wpcf7 input[type="email"], .wpcf7 input[type="text"], .wpcf7 textarea, .hd-input {
	width: 100%; min-height: 50px; padding: 12px 16px; border: 0; border-radius: var(--hd-r-sm);
	background: var(--hd-surface); box-shadow: inset 0 0 0 1px transparent; font-size: 1rem;
	transition: box-shadow 150ms ease, background-color 150ms ease;
}
.woocommerce input.input-text:focus, .woocommerce textarea:focus, .woocommerce select:focus, .wpcf7 input:focus {
	outline: none; background: var(--hd-bg); box-shadow: inset 0 0 0 1.5px var(--hd-ink);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text { box-shadow: inset 0 0 0 1.5px var(--hd-sale); }
.select2-container .select2-selection--single { height: 50px !important; display: flex !important; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px !important; right: 10px !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.2 !important; padding-left: 0 !important; }
.select2-dropdown { border: 0 !important; border-radius: var(--hd-r-sm) !important; box-shadow: var(--hd-shadow-lg); overflow: hidden; }
.woocommerce input[type="checkbox"], .woocommerce input[type="radio"] { accent-color: var(--hd-ink); width: 18px; height: 18px; vertical-align: -3px; }

/* Komunikaty */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; list-style: none;
	margin: 0 0 20px; padding: 14px 18px; border-radius: var(--hd-r); background: var(--hd-surface); font-size: 0.95rem;
}
.woocommerce-message { background: #eaf6ec; }
.woocommerce-error { background: #fdecee; flex-direction: column; align-items: flex-start; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; min-height: 38px; padding: 0 16px; font-size: 0.9rem; background: var(--hd-bg); }

/* Koszyk */
.woocommerce-cart .hd-tier-progress { margin-bottom: 24px; }
.woocommerce-cart-form { margin-bottom: 32px; }
table.shop_table { width: 100%; border-collapse: collapse; }
table.shop_table th { font-size: 0.8rem; font-weight: 600; color: var(--hd-muted); text-align: left; padding: 0 8px 12px; text-transform: uppercase; letter-spacing: 0.02em; }
table.shop_table td { padding: 16px 8px; border-top: 1px solid var(--hd-line); vertical-align: middle; }
table.cart .product-thumbnail img { width: 84px; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: var(--hd-r-sm); background: var(--hd-surface); mix-blend-mode: multiply; }
table.cart .product-name a { font-weight: 600; }
table.cart .product-name dl.variation { display: flex; gap: 4px; margin-top: 4px; font-size: 0.85rem; color: var(--hd-muted); }
table.cart .product-name dl.variation dd, table.cart .product-name dl.variation p { margin: 0; }
table.cart .product-remove a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; font-size: 1.3rem; color: var(--hd-muted); }
table.cart .product-remove a:hover { background: var(--hd-surface); color: var(--hd-ink); }
table.cart td.actions { padding-top: 20px; }
table.cart td.actions .coupon { display: inline-flex; gap: 8px; flex-wrap: wrap; }
table.cart td.actions .coupon label { display: none; }
table.cart td.actions .coupon input { width: 200px; min-height: 48px; }
table.cart td.actions > .button { float: right; }
.quantity input.qty { width: 72px; min-height: 44px; text-align: center; border: 0; border-radius: var(--hd-r-sm); background: var(--hd-surface); font-weight: 600; }
.cart-collaterals { display: grid; }
.cart_totals { width: 100%; max-width: 460px; margin-left: auto; padding: 24px; border-radius: var(--hd-r-lg); background: var(--hd-surface); }
.cart_totals h2 { font-size: 1.25rem; margin-bottom: 12px; letter-spacing: -0.02em; }
.cart_totals table th, .cart_totals table td { padding: 10px 0; border-top: 1px solid var(--hd-line); font-size: 0.95rem; }
.cart_totals table th { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--hd-ink-2); font-size: 0.95rem; }
.cart_totals tr.cart-discount td, .cart_totals tr.cart-discount th { color: var(--hd-sale); font-weight: 600; }
.cart_totals .order-total .amount { font-size: 1.25rem; font-weight: 700; }
.wc-proceed-to-checkout { margin-top: 16px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; }
.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-shipping-methods li { margin-bottom: 6px; }

@media (max-width: 767px) {
	table.cart thead { display: none; }
	table.cart tr.cart_item { display: grid; grid-template-columns: 84px 1fr auto; column-gap: 14px; padding: 16px 0; border-top: 1px solid var(--hd-line); }
	table.cart tr.cart_item td { border: 0; padding: 0; }
	table.cart .product-thumbnail { grid-row: 1 / span 4; }
	table.cart .product-remove { grid-column: 3; grid-row: 1; }
	table.cart .product-name { grid-column: 2; grid-row: 1; }
	table.cart .product-price { display: none; }
	table.cart .product-quantity { grid-column: 2; margin-top: 8px; }
	table.cart .product-subtotal { grid-column: 2; font-weight: 700; margin-top: 6px; }
	table.cart td.actions { display: block; }
	table.cart td.actions > .button { float: none; width: 100%; margin-top: 10px; }
	table.cart td.actions .coupon { display: flex; }
	table.cart td.actions .coupon input { flex: 1; width: auto; }
}

/* Zamówienie */
.woocommerce-checkout .hd-tier-progress { margin-bottom: 24px; }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { background: var(--hd-surface); }
form.checkout_coupon { display: flex; gap: 8px; margin-bottom: 20px; }
form.checkout_coupon p { margin: 0; }
form.checkout_coupon .form-row-first { flex: 1; width: auto; }
form.checkout { display: grid; gap: 32px; }
form.checkout h3 { font-size: 1.25rem; letter-spacing: -0.02em; margin: 8px 0 16px; }
#order_review { padding: 24px; border-radius: var(--hd-r-lg); background: var(--hd-surface); }
#order_review table.shop_table td, #order_review table.shop_table th { padding-inline: 0; font-size: 0.93rem; }
#order_review .cart-discount th, #order_review .cart-discount td { color: var(--hd-sale); font-weight: 600; }
#order_review .order-total .amount { font-size: 1.2rem; font-weight: 700; }
#payment ul.payment_methods { list-style: none; margin: 16px 0; padding: 0; display: grid; gap: 8px; }
#payment ul.payment_methods > li { padding: 14px 16px; border-radius: var(--hd-r); background: var(--hd-bg); }
#payment .payment_box { font-size: 0.88rem; color: var(--hd-muted); padding-top: 8px; }
#payment .place-order { margin-top: 12px; }
#place_order { width: 100%; min-height: 56px; }
.woocommerce-terms-and-conditions-wrapper { font-size: 0.85rem; color: var(--hd-muted); }
@media (min-width: 1024px) {
	form.checkout { grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr); align-items: start; column-gap: 56px; }
	form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	form.checkout > #order_review_heading { grid-column: 2; }
	form.checkout > #order_review { grid-column: 2; position: sticky; top: calc(var(--hd-header-h) + 24px); }
}
.col2-set .col-1, .col2-set .col-2 { width: 100%; }

/* Konto */
.woocommerce-account .woocommerce { display: grid; gap: 32px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-MyAccount-navigation a { display: inline-flex; min-height: 38px; align-items: center; padding: 0 14px; border-radius: 999px; background: var(--hd-surface); font-size: 0.92rem; font-weight: 500; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--hd-ink); color: #fff; }
@media (min-width: 900px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 240px 1fr; }
	.woocommerce-MyAccount-navigation ul { flex-direction: column; }
	.woocommerce-MyAccount-navigation a { width: 100%; }
}
.woocommerce-account .u-columns { display: grid; gap: 32px; }
@media (min-width: 900px) { .woocommerce-account .u-columns { grid-template-columns: 1fr 1fr; } }
.woocommerce-form-login, .woocommerce-form-register { padding: 28px; border-radius: var(--hd-r-lg); background: var(--hd-surface); }
.woocommerce-form-login .input-text, .woocommerce-form-register .input-text { background: var(--hd-bg) !important; }

/* --------------------------------------------------------------------------
   Stopka
   -------------------------------------------------------------------------- */

.hd-footer { margin-top: clamp(40px, 6vw, 80px); background: var(--hd-surface); color: var(--hd-ink-2); font-size: 0.9rem; }
.hd-footer__signup { display: grid; gap: 20px; padding-block: 40px; border-bottom: 1px solid var(--hd-line); }
.hd-footer__signup h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); letter-spacing: -0.03em; color: var(--hd-ink); margin: 8px 0; }
.hd-footer__signup p { color: var(--hd-muted); max-width: 46ch; }
.hd-footer__form .pierwszy-zakup { max-width: none !important; padding: 0 !important; background: transparent !important; text-align: left !important; }
.hd-footer__form .pierwszy-zakup::before, .hd-footer__form .pierwszy-zakup h3, .hd-footer__form .pierwszy-zakup > p:first-of-type { display: none !important; }
.hd-footer__form input[type="email"] { background: var(--hd-bg) !important; border: 0 !important; border-radius: var(--hd-r-sm) !important; }
.hd-footer__form input[type="submit"] { background: var(--hd-ink) !important; color: #fff !important; border-radius: 999px !important; min-height: 50px; border: 0; padding: 0 24px; font-weight: 600; cursor: pointer; }
@media (min-width: 900px) { .hd-footer__signup { grid-template-columns: 1fr 1fr; align-items: center; } }
.hd-footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 24px; padding-block: 40px; }
.hd-footer__brand { grid-column: 1 / -1; display: grid; gap: 10px; }
.hd-footer__brand p { color: var(--hd-muted); }
.hd-footer h3 { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: var(--hd-ink); margin-bottom: 14px; }
.hd-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.hd-footer a:hover { color: var(--hd-ink); }
.hd-footer__trust li { display: flex; align-items: center; gap: 10px; }
@media (min-width: 900px) {
	.hd-footer__cols { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; }
	.hd-footer__brand { grid-column: auto; align-content: start; }
}
.hd-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-block: 20px 32px; border-top: 1px solid var(--hd-line); color: var(--hd-muted); font-size: 0.82rem; }

/* Blog */
.hd-posts { display: grid; gap: 32px 20px; }
@media (min-width: 768px) { .hd-posts { grid-template-columns: repeat(3, 1fr); } }
.hd-post-card { display: grid; gap: 10px; }
.hd-post-card__media img { border-radius: var(--hd-r); aspect-ratio: 4 / 3; object-fit: cover; }
.hd-post-card h2 { font-size: 1.15rem; letter-spacing: -0.02em; }
.hd-post-card p { color: var(--hd-muted); font-size: 0.95rem; }

/* Ruch ograniczony */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
	.hd-sheet__backdrop, .hd-sheet__panel, .hd-toast, .hd-ticker__list li { transition-duration: 200ms !important; }
}

/* ==========================================================================
   Strony informacyjne (Kontakt, Płatność i dostawa, Zwroty, O nas, dokumenty)
   ========================================================================== */

.hd-page--info { padding-top: 16px; }
.hd-info-nav { margin-bottom: clamp(24px, 4vw, 40px); }
.hd-prose--info { max-width: none; color: var(--hd-ink-2); }
/* Strony informacyjne: karty na pełną szerokość, tekst ciągły w czytelnej długości wiersza */
.hd-prose--info .hd-info-hero,
.hd-prose--info .hd-info-section > p,
.hd-prose--info .hd-info-section > ul:not([role]),
.hd-prose--info .hd-info-section > ol:not([role]):not(.hd-steps),
.hd-prose--info .hd-info-section > h3,
.hd-prose--info .hd-info-section > .hd-address,
.hd-prose--info .hd-summary-box,
.hd-prose--info .hd-steps,
.hd-prose--info .hd-info-form .wpcf7 { max-width: 760px; }
.hd-prose--info .hd-values { margin-top: 32px; }
.hd-prose--info > * + * { margin-top: clamp(28px, 4vw, 44px); }
.hd-info-hero { display: grid; gap: 14px; max-width: 720px; }
.hd-info-hero .hd-h1 { color: var(--hd-ink); }
.hd-info-section > * + * { margin-top: 14px; }
.hd-info-section h3 { font-size: 1.1rem; letter-spacing: -0.015em; color: var(--hd-ink); margin-top: 28px; }
.hd-info-section ul:not([role]) { padding-left: 1.2em; }
.hd-info-section ul:not([role]) li + li, .hd-info-section ol:not(.hd-steps) li + li { margin-top: 6px; }
.hd-prose--info .hd-values { margin-top: 32px; }

.hd-summary-box { padding: 22px 24px; border-radius: var(--hd-r-lg); background: var(--hd-brand-soft); }
.hd-summary-box h2 { font-size: 1rem; font-weight: 700; margin-bottom: 10px; color: var(--hd-ink); }
.hd-summary-box ul { margin: 0; padding-left: 1.2em; display: grid; gap: 6px; }

.hd-steps { list-style: none; counter-reset: step; padding: 0; display: grid; gap: 10px; }
.hd-steps li { counter-increment: step; position: relative; padding: 14px 16px 14px 56px; border-radius: var(--hd-r); background: var(--hd-surface); color: var(--hd-ink); }
.hd-steps li::before { content: counter(step); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--hd-ink); color: #fff; font-size: 0.85rem; font-weight: 700; }
.hd-doc-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.hd-address { font-style: normal; line-height: 1.6; color: var(--hd-ink); }

.hd-ships { list-style: none; padding: 0; display: grid; gap: 10px; }
.hd-ship { display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 14px; padding: 16px 18px; border-radius: var(--hd-r); background: var(--hd-surface); color: var(--hd-ink); }
.hd-ship .hd-icon { grid-row: span 2; color: var(--hd-ink); }
.hd-ship__name { font-weight: 600; }
.hd-ship__price { font-weight: 700; font-variant-numeric: tabular-nums; }
.hd-ship__free { grid-column: 2 / -1; font-size: 0.85rem; color: var(--hd-good); font-weight: 500; }
.hd-pay-list { list-style: none; padding: 0; }
.hd-pay-list .hd-chip { background: var(--hd-surface); }

.hd-contact-cards { display: grid; gap: 10px; }
@media (min-width: 640px) { .hd-contact-cards { grid-template-columns: 1fr 1fr; } }
.hd-contact-card { display: grid; gap: 2px; padding: 20px; border-radius: var(--hd-r-lg); background: var(--hd-surface); color: var(--hd-ink-2); font-size: 0.9rem; transition: background-color 200ms ease, transform 160ms var(--hd-ease-out); }
a.hd-contact-card:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) { a.hd-contact-card:hover { background: var(--hd-surface-2); } }
.hd-contact-card__label { font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em; color: var(--hd-faint); }
.hd-contact-card strong { font-size: 1.15rem; letter-spacing: -0.02em; color: var(--hd-ink); overflow-wrap: anywhere; }

.hd-reviews { list-style: none; padding: 0; display: grid; gap: 10px; }
@media (min-width: 700px) { .hd-reviews { grid-template-columns: repeat(3, 1fr); } }
.hd-reviews li { display: grid; gap: 10px; align-content: space-between; padding: 20px; border-radius: var(--hd-r-lg); background: var(--hd-surface); }
.hd-reviews blockquote { margin: 0; font-size: 1rem; line-height: 1.45; color: var(--hd-ink); }
.hd-reviews blockquote::before { content: "★★★★★"; display: block; margin-bottom: 8px; color: var(--hd-brand); letter-spacing: 2px; font-size: 0.85rem; }
.hd-reviews cite { font-style: normal; font-size: 0.82rem; color: var(--hd-muted); }

/* Formularze CF7 (kontakt, zwrot, reklamacja) */
.wpcf7 form { display: grid; gap: 12px; max-width: 640px; }
.wpcf7 form p { margin: 0; }
.wpcf7 label { display: grid; gap: 6px; font-size: 0.85rem; color: var(--hd-muted); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
	width: 100%; min-height: 50px; padding: 12px 16px; border: 0; border-radius: var(--hd-r-sm); background: var(--hd-surface); font-size: 1rem;
}
.wpcf7 textarea { min-height: 140px; resize: vertical; }
.wpcf7 input[type="submit"] { justify-self: start; min-height: 50px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--hd-ink); color: #fff; font-weight: 600; cursor: pointer; }
.wpcf7-not-valid-tip { font-size: 0.8rem; color: var(--hd-sale); margin-top: 4px; }
.wpcf7-response-output { margin: 8px 0 0 !important; padding: 12px 14px !important; border-radius: var(--hd-r-sm); border: 0 !important; background: var(--hd-surface); font-size: 0.9rem; }
.wpcf7-spinner { display: none; }

/* Spis treści dokumentów */
.hd-toc { margin-bottom: 32px; padding: 18px 22px; border-radius: var(--hd-r-lg); background: var(--hd-surface); }
.hd-toc summary { font-weight: 700; cursor: pointer; }
.hd-toc ol { margin: 12px 0 0; padding-left: 1.3em; display: grid; gap: 4px; font-size: 0.92rem; }
.hd-toc a { text-decoration: none !important; }

/* Nagłówek: Kontakt */
.hd-header__contact { display: none; min-height: 36px; padding: 0 14px; margin-right: 6px; font-size: 0.88rem; background: var(--hd-brand); }
@media (min-width: 1024px) { .hd-header__contact { display: inline-flex; } }
@media (hover: hover) and (pointer: fine) { .hd-header__contact:hover { background: #f0bf00 !important; } }

/* Stopka: dokumenty i kontakt */
.hd-footer__contact { line-height: 1.7; }
.hd-footer__contact a:hover { text-decoration: underline; }
.hd-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-block: 18px; border-top: 1px solid var(--hd-line); font-size: 0.85rem; }
.hd-footer__legal a { color: var(--hd-ink-2); }

/* Podpowiedzi wyszukiwania */
.hd-search__results { margin: -8px 0 20px; }
.hd-search__results.is-loading { opacity: 0.6; transition: opacity 150ms ease; }
.hd-search__list { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 2px; }
.hd-search__list a { display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: center; padding: 8px; border-radius: var(--hd-r-sm); transition: background-color 150ms ease; }
.hd-search__list a:hover, .hd-search__list a:focus-visible { background: var(--hd-surface); }
.hd-search__list img { width: 48px; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: 8px; background: var(--hd-surface); mix-blend-mode: multiply; }
.hd-search__list span { display: grid; gap: 2px; min-width: 0; }
.hd-search__list strong { font-size: 0.92rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hd-search__list em { font-style: normal; font-size: 0.85rem; font-weight: 600; }
.hd-search__list em.is-sale { color: var(--hd-sale); }
.hd-search__empty { color: var(--hd-muted); font-size: 0.92rem; padding: 8px 0; }
.hd-sheet--search .hd-sheet__panel { max-height: 90vh; overflow-y: auto; }

/* iOS Safari: nic nie może poszerzać strony (playbook pkt 10) */
html, body { overflow-x: clip; }
.hd-grid > li, .hd-product__grid > *, .hd-hero__grid > *, .hd-footer__cols > * { min-width: 0; }

/* Długie adresy w dokumentach nie mogą poszerzać strony */
.hd-prose a, .hd-prose td { overflow-wrap: anywhere; }
.hd-prose table { display: block; max-width: 100%; overflow-x: auto; }
.wpcf7 .hidden-fields-container { display: none; }
.woocommerce-cart .hd-ship-progress { margin: -12px 0 24px; }
.hd-search__list em s { color: var(--hd-faint); font-weight: 400; margin-left: 4px; }

/* ==========================================================================
   Promocja „Kup więcej, zapłać mniej” — podpowiedź, rabat przy pozycji
   ========================================================================== */

.hd-tier-nudge {
	display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: var(--hd-r);
	background: var(--hd-brand-soft); color: var(--hd-ink); font-size: 0.95rem; line-height: 1.35;
}
.hd-tier-nudge[hidden] { display: none; }
.hd-tier-nudge .hd-icon { flex: none; }
.hd-tier-nudge strong { font-weight: 800; }
.hd-tier-progress__save { font-size: 0.85rem; color: var(--hd-good); margin: -6px 0 12px; }
.hd-tier-progress__save strong { font-weight: 700; }
.hd-tiers__note a { text-decoration: underline; text-underline-offset: 2px; color: inherit; }

.hd-line-deal {
	display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 3px 8px; border-radius: 6px;
	background: var(--hd-brand-soft); color: var(--hd-ink); font-size: 0.78rem; font-weight: 500; white-space: nowrap;
}
.hd-line-deal strong { font-weight: 700; color: var(--hd-good); }
.product-subtotal .hd-line-deal { display: flex; width: fit-content; }
.woocommerce-mini-cart-item .hd-line-deal { grid-column: 2; justify-self: start; }

/* Ilość: +/− w szufladzie i w koszyku */
.hd-mini__row { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.hd-mini__price { font-weight: 600; font-size: 0.95rem; }
.hd-qty { display: inline-flex; align-items: center; height: 36px; border-radius: 999px; background: var(--hd-surface); }
.hd-qty.is-busy { opacity: 0.55; pointer-events: none; }
.hd-qty__btn {
	display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 999px; background: transparent;
	color: var(--hd-ink); font-size: 1.1rem; line-height: 1; transition: transform 160ms var(--hd-ease-out), background-color 150ms ease;
}
.hd-qty__btn:active { transform: scale(0.9); }
.hd-qty__btn[disabled] { opacity: 0.3; cursor: not-allowed; }
@media (hover: hover) and (pointer: fine) { .hd-qty__btn:not([disabled]):hover { background: var(--hd-surface-2); } }
.hd-qty__val { min-width: 22px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }
.hd-qty--cart { display: inline-flex !important; height: 44px; }
.hd-qty--cart input.qty { width: 44px !important; min-height: 44px; background: transparent !important; padding: 0; -moz-appearance: textfield; }
.hd-qty--cart input.qty::-webkit-outer-spin-button, .hd-qty--cart input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hd-qty--cart .hd-qty__btn { width: 40px; height: 44px; }
.woocommerce-cart-form [name="update_cart"] { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Przyciski szuflady koszyka */
.woocommerce-mini-cart__buttons .hd-btn { width: 100%; min-height: 52px; }

/* Tabela rozmiarów — arkusz od dołu na telefonie, okno na komputerze */
.hd-sheet--sizes .hd-sheet__panel {
	top: auto; left: 0; right: 0; bottom: 0; width: 100%; max-height: 88vh;
	border-radius: var(--hd-r-xl) var(--hd-r-xl) 0 0; transform: translateY(100%);
}
.hd-sheet--sizes.is-open .hd-sheet__panel { transform: none; }
.hd-sheet--sizes .hd-sheet__body { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
.hd-sheet--sizes table { width: 100%; border-collapse: collapse; font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.hd-sheet--sizes th, .hd-sheet--sizes td { padding: 10px 8px; border-bottom: 1px solid var(--hd-line); text-align: left; }
.hd-sheet--sizes th { font-weight: 600; color: var(--hd-ink); background: var(--hd-surface); }
@media (min-width: 768px) {
	.hd-sheet--sizes .hd-sheet__panel {
		top: 50%; bottom: auto; left: 50%; right: auto; width: min(640px, calc(100vw - 48px)); max-height: 80vh;
		border-radius: var(--hd-r-xl); transform: translate(-50%, -46%) scale(0.98); opacity: 0;
		transition: transform 280ms var(--hd-ease-out), opacity 200ms ease;
	}
	.hd-sheet--sizes.is-open .hd-sheet__panel { transform: translate(-50%, -50%); opacity: 1; }
}
.hd-sheet--sizes .hd-sheet__body table { display: table; width: 100%; }
.hd-sheet--sizes .hd-sheet__body > p:last-child { margin-top: 14px; font-size: 0.85rem; color: var(--hd-muted); }
.woocommerce-mini-cart__total { display: block; }
.hd-mini-sum { display: grid; gap: 6px; width: 100%; }
.hd-mini-sum > span { display: flex; justify-content: space-between; gap: 12px; font-size: 0.95rem; color: var(--hd-ink-2); }
.hd-mini-sum__deal { color: var(--hd-good) !important; font-weight: 600; }
.hd-mini-sum__total { padding-top: 6px; border-top: 1px solid var(--hd-line); color: var(--hd-ink) !important; font-size: 1.1rem !important; }
.hd-mini-sum__note { font-size: 0.8rem !important; color: var(--hd-faint) !important; }
.hd-mini-sum__total strong { color: var(--hd-ink) !important; font-weight: 700 !important; }
#order_review tfoot th, .cart_totals th { text-transform: none; letter-spacing: 0; font-size: 0.93rem; color: var(--hd-ink-2); }
.hd-prose--wide table.shop_table, .hd-prose--wide table.woocommerce-table { display: table; }
.woocommerce-cart-form [name="update_cart"] { width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; border: 0 !important; }
@media (min-width: 900px) { .hd-ships { grid-template-columns: repeat(3, minmax(0, 1fr)); } .hd-ship { align-content: center; } }

/* Formularz kontaktowy: karta, siatka pól, zgoda RODO */
.wpcf7 form.init .wpcf7-response-output,
.wpcf7-response-output:empty { display: none !important; }
.hd-prose--info .hd-info-form {
	display: grid; gap: 8px 48px; padding: clamp(20px, 3vw, 36px); border-radius: var(--hd-r-xl); background: var(--hd-surface);
}
.hd-prose--info .hd-info-form > * + * { margin-top: 0; }
.hd-prose--info .hd-info-form .wpcf7 { max-width: none; }
.hd-info-form .wpcf7 input[type="text"], .hd-info-form .wpcf7 input[type="email"], .hd-info-form .wpcf7 textarea { background: var(--hd-bg); }
.hd-info-form .wpcf7 input:focus, .hd-info-form .wpcf7 textarea:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--hd-ink); }
@media (min-width: 900px) {
	.hd-prose--info .hd-info-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); grid-template-rows: auto auto 1fr; align-items: start; }
	.hd-info-form > h2, .hd-info-form > p { grid-column: 1; }
	.hd-info-form > .wpcf7 { grid-column: 2; grid-row: 1 / span 3; }
}
.hd-form-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .hd-form-grid { grid-template-columns: 1fr 1fr; } }
.hd-form-grid > p { display: contents; }
.hd-form-grid br { display: none; }
.hd-field--full { grid-column: 1 / -1; }
.hd-field { display: grid; gap: 6px; font-size: 0.85rem; color: var(--hd-muted); }
.hd-form-grid textarea { min-height: 140px; }
.hd-consent { font-size: 0.85rem; color: var(--hd-ink-2); line-height: 1.45; }
.hd-consent .wpcf7-list-item { margin: 0; display: block; }
.hd-consent label { display: block; position: relative; padding-left: 28px; cursor: pointer; }
.hd-consent input[type="checkbox"] { position: absolute; left: 0; top: 1px; width: 18px; height: 18px; margin: 0; accent-color: var(--hd-ink); }
.hd-consent a { text-decoration: underline; text-underline-offset: 2px; }
.hd-rodo { margin: 0; font-size: 0.75rem; line-height: 1.45; color: var(--hd-faint); }
.hd-form-grid input[type="submit"] { min-height: 52px; padding: 0 32px; }
.hd-form-grid input[type="submit"]:disabled { opacity: 0.4; cursor: not-allowed; }
.hd-prose--info .hd-info-form > h2 { margin-top: 0; }
.hd-rodo p, .hd-consent p { max-width: none !important; margin: 0 !important; line-height: 1.45 !important; font-size: inherit !important; color: inherit; }
.hd-rodo { width: 100%; }
.hd-archive .hd-chips--wrap { margin-bottom: 20px; gap: 8px; }

/* Dostawa w zakładce karty produktu: jedna metoda pod drugą, bez wcięcia listy */
.hd-accordion__body .hd-ships { grid-template-columns: 1fr !important; gap: 8px; padding-left: 0; margin: 0; }
.hd-accordion__body .hd-ship { padding: 12px 14px; column-gap: 12px; font-size: 0.9rem; }
.hd-accordion__body .hd-ship__name { font-weight: 500; }
/* Obwódka fokusu tylko przy obsłudze klawiaturą (po kliknięciu myszą Chrome też ją pokazywał) */
.hd-accordion__item summary:focus { outline: none; }
.hd-accordion__item summary:focus-visible:not(:hover) { outline: 2px solid var(--hd-focus); outline-offset: 2px; border-radius: 10px; }
.hd-summary-box h2 { margin-top: 0 !important; }

/* Dokumenty: treść + panel „Na tej stronie” (na komputerze przyklejony po prawej) */
.hd-doc { display: grid; gap: 20px; margin-top: clamp(24px, 3vw, 40px); }
.hd-doc__main { min-width: 0; }
.hd-doc__main > * + * { margin-top: clamp(28px, 4vw, 44px); }
.hd-prose--info .hd-doc__main .hd-info-section > p,
.hd-prose--info .hd-doc__main .hd-info-section > ul:not([role]),
.hd-prose--info .hd-doc__main .hd-info-section > ol:not([role]):not(.hd-steps),
.hd-prose--info .hd-doc__main .hd-summary-box,
.hd-prose--info .hd-doc__main .hd-steps { max-width: none; }
.hd-doc__label { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--hd-faint); margin: 0 0 10px; }
.hd-doc__toc { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.hd-doc__toc::-webkit-scrollbar { display: none; }
.hd-doc__toc a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 999px; background: var(--hd-surface); color: var(--hd-ink); font-size: 0.88rem; white-space: nowrap; text-decoration: none !important; }
.hd-doc__help { display: none; }
@media (min-width: 1024px) {
	.hd-doc { grid-template-columns: minmax(0, 1fr) 280px; gap: 64px; align-items: start; }
	.hd-doc__aside { grid-column: 2; grid-row: 1; }
	.hd-doc__main { grid-column: 1; grid-row: 1; }
	.hd-doc__sticky { position: sticky; top: calc(var(--hd-header-h) + 24px); padding: 20px; border-radius: var(--hd-r-lg); background: var(--hd-surface); }
	.hd-doc__toc { flex-direction: column; gap: 2px; overflow: visible; }
	.hd-doc__toc a { display: block; min-height: 0; padding: 7px 10px; margin: 0 -10px; border-radius: var(--hd-r-sm); background: transparent; white-space: normal; font-size: 0.9rem; line-height: 1.35; color: var(--hd-ink-2); transition: background-color 150ms ease, color 150ms ease; }
	.hd-doc__toc a:hover, .hd-doc__toc a.is-active { background: var(--hd-bg); color: var(--hd-ink); }
	.hd-doc__help { display: grid; gap: 2px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hd-line); font-size: 0.88rem; }
	.hd-doc__help p { margin: 0 0 4px !important; font-weight: 600; color: var(--hd-ink); }
	.hd-doc__help a { color: var(--hd-ink); text-decoration: none !important; }
	.hd-doc__help span { color: var(--hd-muted); font-size: 0.82rem; }
}
.hd-doc__main h2[id] { scroll-margin-top: calc(var(--hd-header-h) + 24px); }
/* Stary spis treści (details) zastąpiony panelem */
.hd-toc { display: none; }

/* ==========================================================================
   Koszyk: produkty po lewej, podsumowanie przyklejone po prawej
   ========================================================================== */
.woocommerce-cart .hd-cart-grid { display: grid; gap: 28px; align-items: start; }
.woocommerce-cart .woocommerce-cart-form { margin: 0; min-width: 0; }
.woocommerce-cart .cart-collaterals { min-width: 0; }
.woocommerce-cart .cart_totals { max-width: none; margin: 0; padding: 24px; }
@media (min-width: 1024px) {
	.woocommerce-cart .hd-cart-grid { grid-template-columns: minmax(0, 1fr) 380px; column-gap: 40px; }
	.woocommerce-cart .cart-collaterals { position: sticky; top: calc(var(--hd-header-h) + 24px); }
}

/* Tabela produktów: lżejsza, bez kolumny ceny jednostkowej na węższych ekranach */
.woocommerce-cart table.cart thead th { font-size: 0.72rem; }
.woocommerce-cart table.cart td { padding-block: 18px; }
.woocommerce-cart table.cart .product-name a { font-weight: 600; font-size: 0.98rem; line-height: 1.35; }
.woocommerce-cart table.cart td.actions { border-top: 1px solid var(--hd-line); }
.woocommerce-cart table.cart td.actions .coupon input { background: var(--hd-surface); }
@media (min-width: 768px) and (max-width: 1279px) { .woocommerce-cart table.cart .product-price { display: none; } }

/* Podsumowanie: czytelne wiersze */
.cart_totals h2 { font-size: 1.15rem !important; margin: 0 0 8px !important; }
.cart_totals table.shop_table { display: table !important; }
.cart_totals table th, .cart_totals table td { padding: 12px 0; vertical-align: top; }
.cart_totals table td { text-align: right; }
.cart_totals .order-total th, .cart_totals .order-total td { padding-top: 16px; border-top: 1px solid var(--hd-line-strong); }
.cart_totals tr.cart-discount th { font-weight: 600; }

/* Wybór dostawy jako lista */
.cart_totals tr.woocommerce-shipping-totals th { display: none; }
.cart_totals tr.woocommerce-shipping-totals td { text-align: left; }
.cart_totals tr.woocommerce-shipping-totals td::before { content: "Dostawa"; display: block; margin-bottom: 8px; font-weight: 500; color: var(--hd-ink-2); font-size: 0.93rem; }
#shipping_method { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
#shipping_method li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; padding: 10px 12px; border-radius: var(--hd-r-sm); background: var(--hd-bg); font-size: 0.9rem; line-height: 1.3; }
#shipping_method li input { margin: 0; flex: none; accent-color: var(--hd-ink); width: 18px; height: 18px; }
#shipping_method li label { flex: 1; min-width: 0; cursor: pointer; }
#shipping_method li img { max-height: 22px; width: auto; display: inline-block; vertical-align: middle; margin-left: 4px; border-radius: 4px; }
#shipping_method li .amount { font-weight: 600; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { margin: 8px 0 0; font-size: 0.8rem; color: var(--hd-muted); }
.woocommerce-shipping-calculator .shipping-calculator-button { color: var(--hd-muted); text-decoration: underline; }
.cart_totals .order-total th { font-weight: 700; color: var(--hd-ink); }

/* „Dobierz do kompletu”: 4 kolumny, cena jako kolejna rzecz */
.cross-sells { margin-top: clamp(32px, 5vw, 56px); }
.cross-sells > h2 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); letter-spacing: -0.025em; margin: 0 0 20px; }
.hd-card__deal { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 4px 0 0; padding: 6px 10px; border-radius: 8px; background: var(--hd-brand-soft); font-size: 0.82rem; line-height: 1.3; width: fit-content; }
.hd-card__deal span { color: var(--hd-ink-2); }
.hd-card__deal strong { font-weight: 800; color: var(--hd-ink); }
.hd-card__deal em { font-style: normal; font-weight: 600; color: var(--hd-good); }
.cart_totals table th { width: auto; padding-right: 16px; }
.cart_totals table td, .cart_totals .amount, table.cart .product-price, table.cart .product-subtotal .amount { white-space: nowrap; }
.cart_totals tr.woocommerce-shipping-totals, .cart_totals tr.woocommerce-shipping-totals td { display: block; width: 100%; white-space: normal; }
.cart_totals tr.woocommerce-shipping-totals td { border-top: 1px solid var(--hd-line); }
#shipping_method li label { white-space: normal; }
#shipping_method { width: 100%; }
@media (max-width: 1023px) { .hd-doc { grid-template-columns: minmax(0, 1fr); } }
.hd-doc > * { min-width: 0; }
.woocommerce-pagination ul { flex-wrap: wrap; row-gap: 6px; }
@media (max-width: 480px) { .woocommerce-pagination a, .woocommerce-pagination span { min-width: 38px; height: 38px; padding: 0 6px; } }
.hd-tier.is-next::after { position: static; order: -1; display: block; margin-bottom: 2px; }

/* ==========================================================================
   Kasa: podsumowanie zamówienia jako lista, nie tabela w dwóch kolumnach
   ========================================================================== */
#order_review { padding: 20px 22px 24px; }
form.checkout > #order_review_heading { margin: 0; }
@media (min-width: 1024px) { form.checkout { grid-template-rows: auto 1fr; row-gap: 16px; } }
#order_review table.hd-review, #order_review table.hd-review tbody, #order_review table.hd-review tfoot { display: block; width: 100%; }
#order_review table.hd-review tr { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
#order_review table.hd-review th, #order_review table.hd-review td { display: block; padding: 0; border: 0; font-size: 0.93rem; text-transform: none; letter-spacing: 0; }
#order_review table.hd-review th { font-weight: 500; color: var(--hd-ink-2); text-align: left; }
#order_review table.hd-review td { text-align: right; white-space: nowrap; }

/* Pozycje */
#order_review .hd-review tr.cart_item { align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--hd-line); }
#order_review .hd-review tr.cart_item:first-child { padding-top: 4px; }
#order_review .hd-review td.product-name { display: flex; gap: 12px; flex: 1; min-width: 0; text-align: left; white-space: normal; }
.hd-review__thumb { flex: none; width: 56px; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; background: var(--hd-bg); }
.hd-review__thumb img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.hd-review__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hd-review__name { font-weight: 600; line-height: 1.3; color: var(--hd-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hd-review__meta { display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: 0.82rem; color: var(--hd-muted); }
.hd-review__meta .product-quantity { font-weight: 500; color: var(--hd-muted); }
#order_review .hd-review td.product-total { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font-weight: 600; }
#order_review .hd-review td.product-total .hd-line-deal { font-weight: 500; font-size: 0.75rem; }

/* Sumy */
#order_review .hd-review tfoot { padding-top: 10px; }
#order_review .hd-review tfoot tr { padding: 7px 0; }
#order_review .hd-review tr.cart-discount th, #order_review .hd-review tr.cart-discount td { color: var(--hd-good); font-weight: 600; }
#order_review .hd-review tr.order-total { margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--hd-line-strong); align-items: center; }
#order_review .hd-review tr.order-total th { font-weight: 700; color: var(--hd-ink); font-size: 1rem; }
#order_review .hd-review tr.order-total td { font-size: 1rem; }
#order_review .hd-review tr.order-total .amount { font-size: 1.35rem; font-weight: 700; letter-spacing: -0.02em; }
#order_review .hd-review tr.order-total small { display: block; font-size: 0.75rem; font-weight: 400; color: var(--hd-muted); }

/* Dostawa: etykieta nad listą, opcje na całą szerokość */
#order_review .hd-review tr.woocommerce-shipping-totals { display: block; margin-top: 6px; padding: 12px 0 4px; border-top: 1px solid var(--hd-line); }
#order_review .hd-review tr.woocommerce-shipping-totals th { margin-bottom: 8px; }
#order_review .hd-review tr.woocommerce-shipping-totals td { text-align: left; white-space: normal; }
#order_review #shipping_method li { padding: 12px 14px; border: 1px solid transparent; transition: border-color 160ms ease; }
#order_review #shipping_method li:has(input:checked) { border-color: var(--hd-ink); }
#order_review #shipping_method li label { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#order_review #shipping_method li img { margin-left: auto; order: 2; }

/* InPost: wybór paczkomatu pod listą dostaw */
#order_review .hd-review tr.easypack-parcel-machine { display: block; padding: 4px 0 8px; }
#order_review .hd-review tr.easypack-parcel-machine th { display: none; }
#order_review .hd-review tr.easypack-parcel-machine td { text-align: left; white-space: normal; }
#order_review .easypack_show_geowidget { display: flex !important; align-items: center; justify-content: center; width: 100% !important; max-width: none !important; min-height: 48px; margin: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 999px !important; background: var(--hd-brand) !important; color: var(--hd-ink) !important; font: 600 0.95rem/1.2 var(--hd-font) !important; box-shadow: none !important; text-transform: none !important; cursor: pointer; transition: transform 160ms var(--hd-ease-out), background-color 160ms ease; }
#order_review .easypack_show_geowidget:hover { background: #f0bf00 !important; }
#order_review .easypack_show_geowidget:active { transform: scale(0.97); }
#order_review #selected-parcel-machine:not(.hidden-paczkomat-data) { margin-top: 10px; padding: 12px 14px; border-radius: var(--hd-r-sm); background: var(--hd-bg); font-size: 0.88rem; line-height: 1.4; }

/* Płatność i zgody */
#order_review #payment { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--hd-line); }
#payment ul.payment_methods { margin-top: 0; }
#payment ul.payment_methods > li { border: 1px solid transparent; }
#payment ul.payment_methods > li:has(input:checked) { border-color: var(--hd-ink); }
#payment ul.payment_methods > li > label { font-weight: 600; cursor: pointer; }
.woocommerce-privacy-policy-text p { margin: 0 0 10px; font-size: 0.8rem; line-height: 1.5; color: var(--hd-muted); }
.woocommerce-terms-and-conditions-wrapper a, .woocommerce-privacy-policy-text a { color: var(--hd-ink); text-decoration: underline; text-underline-offset: 2px; }
.woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; }
.woocommerce-terms-and-conditions-wrapper label.checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: 0.88rem; color: var(--hd-ink-2); cursor: pointer; }
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--hd-ink); }

/* „Wysłać na inny adres?” jako zwykła opcja, nie nagłówek */
#ship-to-different-address { font-size: 1rem !important; font-weight: 600; letter-spacing: 0 !important; margin: 16px 0 !important; }
#ship-to-different-address label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
#ship-to-different-address input { width: 18px; height: 18px; margin: 0; accent-color: var(--hd-ink); }

/* Podpowiedź promocji na karcie produktu: druga linia z ceną jako kolejna rzecz */
.hd-tier-nudge__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hd-tier-nudge__deal { font-size: 0.88rem; color: var(--hd-ink-2); }
.hd-tier-nudge__deal[hidden] { display: none; }
.hd-tier-nudge__deal strong { font-weight: 800; color: var(--hd-ink); }
.hd-tier-nudge__deal s { color: var(--hd-muted); margin-left: 2px; }
/* Karta zamówienia bywa wyższa niż ekran — bez przyklejania, żeby przycisk „Kupuję i płacę” zawsze był osiągalny */
@media (min-width: 1024px) { form.checkout > #order_review { position: static; } }
#order_review #shipping_method .amount { white-space: nowrap; }
@media (max-width: 599px) {
	/* Telefon: pełna nazwa produktu, cena i rabat w linii pod nią */
	#order_review .hd-review tr.cart_item { flex-wrap: wrap; row-gap: 8px; }
	#order_review .hd-review td.product-name { flex-basis: 100%; }
	#order_review .hd-review td.product-total { flex-direction: row-reverse; justify-content: space-between; align-items: center; width: 100%; padding-left: 68px; }
	#order_review .hd-review td.product-total .hd-line-deal { margin: 0; }
	#order_review { padding: 16px 16px 20px; }
}

/* ==========================================================================
   Newsletter w stopce (CF7 „Pierwsze zakupy”) — pełny styl w motywie,
   niezależny od starego snippetu WPCode „Wyglad rabat”
   ========================================================================== */
.hd-footer__form .pierwszy-zakup { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; max-width: 560px; margin: 0; padding: 0; background: none; text-align: left; }
.hd-footer__form .pierwszy-zakup::before, .hd-footer__form .pierwszy-zakup > h3, .hd-footer__form .pierwszy-zakup > p:first-of-type { display: none !important; }
.hd-footer__form .pierwszy-zakup > p { margin: 0 !important; }
.hd-footer__form .pierwszy-zakup br { display: none; }
.hd-footer__form .pierwszy-zakup > p:nth-of-type(2) { grid-column: 1; grid-row: 1; }
.hd-footer__form .pierwszy-zakup > p:nth-of-type(4) { grid-column: 2; grid-row: 1; }
.hd-footer__form .pierwszy-zakup > p:nth-of-type(3) { grid-column: 1 / -1; grid-row: 2; }
.hd-footer__form .wpcf7-form-control-wrap { display: block; }
.hd-footer__form input[type="email"] { width: 100%; min-height: 52px; padding: 0 18px; border: 1px solid transparent !important; border-radius: 999px !important; background: var(--hd-bg) !important; font: inherit; font-size: 1rem; color: var(--hd-ink); box-shadow: none; transition: border-color 160ms ease; }
.hd-footer__form input[type="email"]:focus { border-color: var(--hd-ink) !important; outline: none; }
.hd-footer__form input[type="submit"] { min-height: 52px; padding: 0 24px; border: 0; border-radius: 999px !important; background: var(--hd-brand) !important; color: var(--hd-ink) !important; font: 700 0.95rem/1 var(--hd-font); letter-spacing: 0; text-transform: none; white-space: nowrap; cursor: pointer; transition: transform 160ms var(--hd-ease-out), background-color 160ms ease; }
.hd-footer__form input[type="submit"]:hover { background: #f0bf00 !important; }
.hd-footer__form input[type="submit"]:active { transform: scale(0.97); }
.hd-footer__form .wpcf7-acceptance .wpcf7-list-item { display: block; margin: 0; }
.hd-footer__form .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 10px; font-size: 0.82rem; line-height: 1.45; color: var(--hd-muted); cursor: pointer; text-align: left; }
.hd-footer__form .wpcf7-acceptance input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--hd-ink); }
.hd-footer__form .wpcf7-spinner { position: absolute; margin: 16px 0 0 8px; }
.hd-footer__form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 0.8rem; color: var(--hd-sale); }
.hd-footer__form .wpcf7-response-output { margin: 12px 0 0 !important; padding: 10px 14px !important; border: 0 !important; border-radius: var(--hd-r-sm); background: var(--hd-bg); font-size: 0.85rem; }
.hd-footer__form .wpcf7-response-output:empty { display: none; }
.hd-footer__form form.sent .wpcf7-response-output { background: #eaf6ec; color: var(--hd-good); }
@media (max-width: 520px) {
	.hd-footer__form .pierwszy-zakup { grid-template-columns: 1fr; }
	.hd-footer__form .pierwszy-zakup > p:nth-of-type(4) { grid-column: 1; grid-row: 3; }
	.hd-footer__form input[type="submit"] { width: 100%; }
}

/* Spis „Na tej stronie” jedzie razem z czytaniem:
   komputer — panel przyklejony pod nagłówkiem (długi spis przewija się w środku),
   telefon — pasek z sekcjami przyklejony pod nagłówkiem. */
@media (min-width: 1024px) {
	.hd-doc { grid-template-columns: minmax(0, 1fr) 300px; }
	.hd-doc__aside { align-self: stretch; }
	.hd-doc__sticky { max-height: calc(100vh - var(--hd-header-h) - 48px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
}
@media (max-width: 1023px) {
	.hd-doc__aside { position: sticky; top: var(--hd-header-h); z-index: 5; margin-inline: calc(var(--hd-gutter) * -1); padding: 10px var(--hd-gutter); background: rgba(255, 255, 255, 0.86); -webkit-backdrop-filter: saturate(180%) blur(16px); backdrop-filter: saturate(180%) blur(16px); }
	.hd-doc__aside .hd-doc__label { display: none; }
	.hd-doc__toc a.is-active { background: var(--hd-ink); color: #fff; }
	.hd-doc__main h2[id] { scroll-margin-top: calc(var(--hd-header-h) + 72px); }
}

/* Tabele w dokumentach (np. Polityka prywatności): lekkie linie, przewijanie w poziomie na telefonie */
.hd-doc__main table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; border: 0 !important; font-size: 0.88rem; line-height: 1.45; }
.hd-doc__main table td, .hd-doc__main table th { min-width: 140px; padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--hd-line) !important; vertical-align: top; text-align: left; }
.hd-doc__main table tr:first-child td, .hd-doc__main table th { font-weight: 600; color: var(--hd-ink); background: var(--hd-surface); }

/* ==========================================================================
   Zdjęcia poziome (np. buty z boku) — w całości, bez przycinania do pionu
   ========================================================================== */
.hd-card__media.is-wide img { inset: 50% 0 auto; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transform: translateY(-50%); }
.hd-gallery__item.is-wide img { object-fit: contain; }
/* Galeria z poziomym pierwszym zdjęciem: kwadratowe slajdy na telefonie, pionowe zdjęcia też w całości */
.hd-gallery.is-wide-first .hd-gallery__item { aspect-ratio: 1 / 1; }
.hd-gallery.is-wide-first .hd-gallery__item img { object-fit: contain; }
@media (min-width: 900px) {
	.hd-gallery.is-wide-first .hd-gallery__item { aspect-ratio: 1 / 1; }
	.hd-gallery.is-wide-first .hd-gallery__item:first-child { aspect-ratio: 3 / 2; }
}

/* Powiększenie: przezroczysty przycisk na zdjęciu */
.hd-gallery__item { position: relative; }
.hd-gallery__zoom { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.hd-gallery__zoom:focus-visible { outline: 2px solid var(--hd-focus); outline-offset: -4px; border-radius: inherit; }

/* Lightbox */
.hd-lightbox { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: #fff; color: var(--hd-ink); overflow: hidden; }
.hd-lightbox::backdrop { background: rgba(0, 0, 0, 0.4); }
.hd-lightbox[open] { animation: hd-lb-in 220ms var(--hd-ease-out); }
@keyframes hd-lb-in { from { opacity: 0; transform: scale(0.98); } to { opacity: 1; transform: none; } }
.hd-lightbox__track { display: flex; width: 100%; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior: contain; }
.hd-lightbox__track::-webkit-scrollbar { display: none; }
.hd-lightbox__slide { flex: 0 0 100%; height: 100%; display: grid; place-items: center; padding: 64px 16px 72px; scroll-snap-align: center; touch-action: pan-x pinch-zoom; }
.hd-lightbox__slide img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.hd-lightbox__bar { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; pointer-events: none; }
.hd-lightbox__count { font-size: 0.9rem; font-weight: 600; color: var(--hd-muted); font-variant-numeric: tabular-nums; }
.hd-lightbox__btn { pointer-events: auto; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 999px; background: var(--hd-surface); color: var(--hd-ink); cursor: pointer; transition: transform 160ms var(--hd-ease-out), background-color 160ms ease; }
.hd-lightbox__btn:hover { background: var(--hd-surface-2); }
.hd-lightbox__btn:active { transform: scale(0.94); }
.hd-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); }
.hd-lightbox__nav:active { transform: translateY(-50%) scale(0.94); }
.hd-lightbox__nav[data-dir="-1"] { left: 16px; }
.hd-lightbox__nav[data-dir="1"] { right: 16px; }
.hd-lightbox__nav[disabled] { opacity: 0; pointer-events: none; }
@media (hover: none) { .hd-lightbox__nav { display: none; } }
@media (prefers-reduced-motion: reduce) { .hd-lightbox[open] { animation: hd-fade 150ms ease; } }

/* ==========================================================================
   Karta produktu: ocena sklepu, termin dostawy, płatności, opinie
   ========================================================================== */
.hd-rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: -4px 0 16px; font-size: 0.88rem; color: var(--hd-ink-2); text-decoration: none; }
.hd-rating__star { color: #f5a623; font-size: 1rem; line-height: 1; }
.hd-rating strong { color: var(--hd-ink); font-weight: 700; }
.hd-rating__count { color: var(--hd-muted); text-decoration: underline; text-underline-offset: 2px; }
.hd-rating:hover .hd-rating__count { color: var(--hd-ink); }

.hd-delivery { display: flex; align-items: flex-start; gap: 12px; margin: 14px 0 0; padding: 12px 14px; border-radius: var(--hd-r); background: #eaf6ec; color: var(--hd-ink); }
.hd-delivery .hd-icon { flex: none; color: var(--hd-good); margin-top: 1px; }
.hd-delivery p { display: grid; gap: 2px; margin: 0; font-size: 0.92rem; line-height: 1.35; }
.hd-delivery strong { font-weight: 700; }
.hd-delivery span { color: var(--hd-ink-2); font-size: 0.86rem; }
.hd-delivery em { font-style: normal; font-weight: 700; color: var(--hd-good); font-variant-numeric: tabular-nums; }

.hd-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 12px 0 0; font-size: 0.8rem; color: var(--hd-muted); }
.hd-pay ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.hd-pay li { padding: 3px 8px; border: 1px solid var(--hd-line-strong); border-radius: 6px; color: var(--hd-ink-2); font-weight: 600; font-size: 0.76rem; line-height: 1.3; }

.hd-opinions { margin-top: clamp(32px, 5vw, 56px); scroll-margin-top: calc(var(--hd-header-h) + 16px); }
.hd-opinions__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.hd-opinions__head p { margin: 6px 0 0; color: var(--hd-muted); }
.hd-opinions__platforms { display: grid; gap: 10px; margin-bottom: 16px; }
@media (min-width: 700px) { .hd-opinions__platforms { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
.hd-opinions__platform { display: grid; gap: 4px; padding: 16px 18px; border-radius: var(--hd-r-lg); background: var(--hd-surface); color: var(--hd-ink); text-decoration: none; transition: background-color 160ms ease; }
.hd-opinions__platform:hover { background: var(--hd-surface-2); }
.hd-opinions__name { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--hd-muted); }
.hd-opinions__score { font-size: 1.6rem; font-weight: 800; letter-spacing: -0.02em; }
.hd-opinions__score small { font-size: 0.9rem; font-weight: 500; letter-spacing: 0; color: var(--hd-ink-2); }
.hd-opinions__detail { font-size: 0.84rem; color: var(--hd-ink-2); }
.hd-opinions__link { margin-top: 6px; font-size: 0.85rem; font-weight: 600; }
.hd-opinions__list { display: flex; gap: 10px; margin: 0; padding: 2px 0 6px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.hd-opinions__list::-webkit-scrollbar { display: none; }
.hd-review-card { flex: 0 0 min(78%, 300px); display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border: 1px solid var(--hd-line); border-radius: var(--hd-r-lg); background: var(--hd-bg); scroll-snap-align: start; }
.hd-review-card__text { margin: 0; font-size: 0.95rem; line-height: 1.45; color: var(--hd-ink); flex: 1; }
.hd-review-card__meta { margin: 0; font-size: 0.8rem; color: var(--hd-muted); }
.hd-review-card__meta strong { color: var(--hd-ink-2); }
.hd-review-card__verified { display: flex; align-items: center; gap: 4px; margin: 0; font-size: 0.75rem; font-weight: 600; color: var(--hd-good); }
.hd-opinions__note { margin: 12px 0 0; font-size: 0.75rem; line-height: 1.5; color: var(--hd-muted); max-width: 80ch; }

@media (min-width: 900px) { .hd-review-card { flex-basis: calc((100% - 30px) / 4); } }
.hd-opinions__list:focus-visible { outline: 2px solid var(--hd-focus); outline-offset: 4px; border-radius: var(--hd-r); }

/* Ikonka ustawień cookies (Cookiebot) wyżej — nie zasłania ceny ani paska „Dodaj do koszyka” */
@media (max-width: 1023px) {
	#CookiebotWidget { bottom: 96px !important; }
}
/* Sekcje pod kartą produktu nie mogą rozpychać strony zawartością przewijanego rzędu */
.hd-product__after > * { min-width: 0; }
@media (min-width: 900px) { .hd-opinions__platforms { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ==========================================================================
   Strona /opinie/
   ========================================================================== */
.hd-opinie { padding-block: clamp(24px, 4vw, 48px) clamp(40px, 6vw, 72px); }
.hd-opinie__head { max-width: 760px; margin-bottom: 24px; }
.hd-opinie__lead { margin: 10px 0 0; font-size: 1.05rem; color: var(--hd-ink-2); }
.hd-opinie__filters { margin: 22px 0 18px; }
.hd-opinie__filters .hd-chip { cursor: pointer; }
.hd-opinie__n { margin-left: 4px; font-weight: 500; color: var(--hd-muted); font-variant-numeric: tabular-nums; }
.hd-opinie__filters .hd-chip.is-on .hd-opinie__n { color: inherit; opacity: 0.75; }
.hd-opinie__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .hd-opinie__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .hd-opinie__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hd-opinia { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border: 1px solid var(--hd-line); border-radius: var(--hd-r-lg); background: var(--hd-bg); }
.hd-opinia[hidden] { display: none; }
.hd-opinia__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.hd-opinia__rate { display: inline-flex; align-items: center; gap: 5px; font-size: 0.85rem; font-weight: 700; color: var(--hd-good); }
.hd-opinia.is-negative .hd-opinia__rate { color: var(--hd-sale); }
.hd-opinia__stars { color: #f5a623; letter-spacing: 1px; }
.hd-opinia__meta { font-size: 0.8rem; color: var(--hd-muted); }
.hd-opinia__text { margin: 0; font-size: 0.97rem; line-height: 1.45; color: var(--hd-ink); }
.hd-opinia__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.hd-opinia__tags li { padding: 3px 9px; border-radius: 999px; background: var(--hd-surface); font-size: 0.78rem; color: var(--hd-ink-2); }
.hd-opinia__product { margin: 0; font-size: 0.82rem; color: var(--hd-ink-2); }
.hd-opinia__who { margin: auto 0 0; font-size: 0.76rem; color: var(--hd-muted); }
.hd-opinie__more-wrap { margin: 24px 0 8px; text-align: center; }
.hd-opinie__more-wrap [hidden] { display: none; }
.hd-opinions__more { margin: 14px 0 0; }
.hd-opinie__filters { padding-inline: 0; margin-inline: 0; }

/* Omnibus: przekreślona = najniższa cena z 30 dni przed obniżką (napis bez przekreślenia: inline-block nie dziedziczy text-decoration). */
.price del::before {
	content: "Najniższa cena z 30 dni";
	display: inline-block;
	margin-right: 5px;
	text-decoration: none;
	font-size: 0.86em;
	letter-spacing: 0;
}
.hd-summary__price .price del::before { font-size: 0.8em; }
.hd-card .price del::before { content: "Najniższa z 30 dni"; }
.hd-sticky-buy__price .price del::before { content: none; }

/* ==========================================================================
   Cookiebot w stylu Hedore — okno na środku ekranu, przyciemnione tło.
   „Zezwól na wszystkie” w kolorze marki; „Zezwól na wybór” i „Odmowa” tej samej wielkości.
   ========================================================================== */
#CybotCookiebotDialog {
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	transform: translate(-50%, -50%) !important;
	width: min(calc(100vw - 32px), 520px) !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	max-height: min(calc(100dvh - 32px), 720px) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 24px !important;
	background: #fff !important;
	color: var(--hd-ink, #1d1d1f) !important;
	font-family: inherit !important;
	letter-spacing: 0 !important;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28) !important;
	animation: hd-cb-in 240ms cubic-bezier(0.23, 1, 0.32, 1) both;
}
@keyframes hd-cb-in {
	from { opacity: 0; transform: translate(-50%, -48%) scale(0.97); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
#CybotCookiebotDialog * { font-family: inherit !important; }
#CybotCookiebotDialog { flex-direction: column !important; }
#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper {
	flex-direction: column !important;
	max-height: inherit !important;
}
/* Na szerokim ekranie Cookiebot układa elementy obok siebie — wymuszamy jedną kolumnę. */
#CybotCookiebotDialog .CybotCookiebotDialogContentWrapper,
#CybotCookiebotDialog #CybotCookiebotDialogHeader,
#CybotCookiebotDialog #CybotCookiebotDialogTabContent,
#CybotCookiebotDialog #CybotCookiebotDialogBody,
#CybotCookiebotDialog #CybotCookiebotDialogBodyContent,
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelWrapper,
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons,
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper,
#CybotCookiebotDialog #CybotCookiebotDialogFooter .CybotCookiebotScrollArea,
#CybotCookiebotDialog #CybotCookiebotDialogBody .CybotCookiebotScrollContainer {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	left: auto !important;
}
#CybotCookiebotDialog #CybotCookiebotDialogTabContent,
#CybotCookiebotDialog #CybotCookiebotDialogBody { padding: 0 !important; margin: 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtons,
#CybotCookiebotDialog #CybotCookiebotDialogFooter .CybotCookiebotScrollArea { display: block !important; }
#CybotCookiebotDialog #CybotCookiebotDialogFooter { position: static !important; top: auto !important; left: auto !important; }
#CybotCookiebotDialog .CybotCookiebotDialogBodyBottomWrapper { flex-direction: column !important; align-items: stretch !important; flex-wrap: nowrap !important; }
/* Nagłówek: znak Hedore zamiast logo Cookiebot. */
#CybotCookiebotDialog #CybotCookiebotDialogHeader {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px;
	min-height: 0 !important;
	padding: 20px 24px 4px !important;
	border: 0 !important;
}
#CybotCookiebotDialog #CybotCookiebotDialogHeaderLogosWrapper { display: none !important; }
#CybotCookiebotDialog #CybotCookiebotDialogHeader::before {
	content: "//";
	color: var(--hd-brand, #fcc900);
	font-weight: 800;
	font-style: italic;
	font-size: 20px;
	letter-spacing: -0.08em;
}
#CybotCookiebotDialog #CybotCookiebotDialogHeader::after {
	content: "HEDORE";
	font-weight: 800;
	font-size: 18px;
	letter-spacing: -0.02em;
}
/* Treść */
#CybotCookiebotDialog #CybotCookiebotDialogBodyContent { padding: 8px 24px 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle {
	font-size: 19px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 6px !important;
	color: var(--hd-ink, #1d1d1f) !important;
}
#CybotCookiebotDialog #CybotCookiebotDialogBody .CybotCookiebotScrollContainer { max-height: 150px !important; min-height: 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyContent .CybotCookiebotFader { display: none !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText * { letter-spacing: 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText {
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: #6e6e73 !important;
}
#CybotCookiebotDialog .CybotCookiebotScrollContainer { border: 0 !important; }
#CybotCookiebotDialog a { color: var(--hd-ink, #1d1d1f) !important; text-decoration: underline !important; }
/* Kategorie: kafelki 2×2 */
#CybotCookiebotDialog .CybotCookiebotDialogBodyBottomWrapper { margin: 0 !important; padding: 12px 24px 0 !important; border: 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelWrapper { margin: 0 !important; padding: 0 !important; border: 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyFieldsetInnerContainer {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
#CybotCookiebotDialog #CybotCookiebotDialogBodyFieldsetInnerContainer .CybotCookiebotDialogBodyLevelButtonWrapper {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px;
	margin: 0 !important;
	min-width: 0;
	padding: 10px 10px 10px 12px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: #f5f5f7 !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDescription { font-size: 13.5px !important; font-weight: 600 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyFieldsetInnerContainer .CybotCookiebotDialogBodyLevelButtonSliderWrapper { zoom: 0.72; flex-shrink: 0; }
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider { background-color: #d2d2d7 !important; }
#CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider { background-color: var(--hd-ink, #1d1d1f) !important; }
#CybotCookiebotDialog input:disabled:checked + .CybotCookiebotDialogBodyLevelButtonSlider { opacity: 0.45; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyEdgeMoreDetails { margin: 10px 0 0 !important; justify-content: flex-start !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyEdgeMoreDetailsLink { font-size: 14px !important; font-weight: 600 !important; }
/* Przyciski */
#CybotCookiebotDialog #CybotCookiebotDialogFooter { width: 100% !important; padding: 16px 24px 24px !important; border: 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogFooter .CybotCookiebotScrollArea { padding: 0 !important; }
#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper { display: flex !important; flex-direction: column !important; gap: 8px !important; }
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1.5px solid var(--hd-ink, #1d1d1f) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--hd-ink, #1d1d1f) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
	transition: transform 160ms ease-out, background-color 160ms ease !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton:hover { background: #f5f5f7 !important; }
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton:active { transform: scale(0.97); }
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
	background: var(--hd-brand, #fcc900) !important;
	border-color: var(--hd-brand, #fcc900) !important;
	color: var(--hd-ink, #1d1d1f) !important;
}
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover { background: #f2c100 !important; }
/* Szczegóły (druga warstwa): zakładki i przełączniki w kolorach Hedore */
#CybotCookiebotDialog #CybotCookiebotDialogNav { border-color: #e5e5ea !important; }
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
	color: var(--hd-ink, #1d1d1f) !important;
	border-bottom-color: var(--hd-brand, #fcc900) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink:hover { color: var(--hd-ink, #1d1d1f) !important; }
@media (min-width: 600px) {
	#CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper { flex-direction: row-reverse !important; }
	#CybotCookiebotDialog .CybotCookiebotDialogBodyButton { flex: 1 1 0 !important; padding: 0 10px !important; font-size: 14px !important; }
}
@media (prefers-reduced-motion: reduce) {
	#CybotCookiebotDialog { animation: none; }
	#CybotCookiebotDialog .CybotCookiebotDialogBodyButton { transition: none !important; }
}
/* Przyciemnione tło — element #hd-cb-scrim dodaje inc/consent.php na czas wyświetlania okna. */
#hd-cb-scrim {
	position: fixed;
	inset: 0;
	z-index: 2147483630;
	background: rgba(17, 17, 17, 0.45);
	pointer-events: none;
	animation: hd-cb-fade 240ms ease-out both;
}
@keyframes hd-cb-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { #hd-cb-scrim { animation: none; } }
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink { text-decoration: none !important; }

/* ==========================================================================
   Strona podziękowania (zamówienie otrzymane)
   ========================================================================== */
.hd-ty { max-width: 760px; margin: 0 auto; padding: clamp(8px, 3vw, 32px) 0 48px; }
.hd-ty__hero { text-align: center; padding: 8px 0 28px; }
.hd-ty__check {
	display: inline-grid; place-items: center; width: 64px; height: 64px; margin-bottom: 16px;
	border-radius: 50%; background: var(--hd-brand); color: var(--hd-ink);
	animation: hd-ty-pop 420ms var(--hd-ease-out) both;
}
.hd-ty__check svg { stroke-width: 2.4; }
@keyframes hd-ty-pop { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } }
.hd-ty__hero .hd-eyebrow { justify-content: center; }
.hd-ty__title { margin: 6px 0 10px; font-size: clamp(1.9rem, 5vw, 2.75rem); line-height: 1.08; letter-spacing: -0.03em; font-weight: 700; text-wrap: balance; }
.hd-ty__lead { max-width: 520px; margin: 0 auto; color: var(--hd-muted); font-size: 1rem; line-height: 1.55; text-wrap: pretty; }
.hd-ty__lead strong { color: var(--hd-ink); font-weight: 600; }
.hd-ty__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.hd-ty__facts li { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 14px 16px; border-radius: var(--hd-r); background: var(--hd-surface); }
.hd-ty__facts span { font-size: 0.78rem; color: var(--hd-muted); }
.hd-ty__facts strong { font-size: 1rem; font-weight: 600; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.hd-ty__steps { padding: 22px 22px 18px; border-radius: var(--hd-r-lg); background: var(--hd-brand-soft); margin-bottom: 16px; }
.hd-ty__h2 { margin: 0 0 14px; font-size: 1.15rem; font-weight: 700; letter-spacing: -0.015em; }
.hd-ty__timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.hd-ty__timeline li { position: relative; display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding-bottom: 16px; }
.hd-ty__timeline li:not(:last-child)::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 2px; width: 2px; border-radius: 1px; background: rgba(29, 29, 31, 0.14); }
.hd-ty__dot { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; color: var(--hd-ink); font-size: 0.82rem; font-weight: 700; box-shadow: inset 0 0 0 1.5px rgba(29, 29, 31, 0.2); }
.hd-ty__timeline li.is-done .hd-ty__dot { background: var(--hd-ink); color: var(--hd-brand); box-shadow: none; }
.hd-ty__timeline strong { display: block; padding-top: 3px; font-size: 0.98rem; font-weight: 600; }
.hd-ty__timeline p { margin: 2px 0 0; font-size: 0.9rem; color: #3a3a3c; line-height: 1.5; }
.hd-ty__perks { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 4px 0 0; padding: 14px 0 0; list-style: none; border-top: 1px solid rgba(29, 29, 31, 0.1); font-size: 0.86rem; font-weight: 500; }
.hd-ty__perks li { display: inline-flex; align-items: center; gap: 6px; }
.hd-ty__method-note:empty { display: none; }
.hd-ty__method-note { margin: 0 0 16px; font-size: 0.9rem; color: var(--hd-muted); text-align: center; }
.hd-ty__method-note p { margin: 0; }
/* Szczegóły zamówienia i adresy jako karty */
.hd-ty .woocommerce-order-details,
.hd-ty .woocommerce-customer-details { margin: 0 0 16px; padding: 22px; border: 1px solid var(--hd-line); border-radius: var(--hd-r-lg); }
.hd-ty .woocommerce-order-details__title,
.hd-ty .woocommerce-column__title { margin: 0 0 12px; font-size: 1.15rem; font-weight: 700; letter-spacing: -0.015em; }
.hd-ty table.woocommerce-table--order-details { margin: 0; }
.hd-ty table.woocommerce-table--order-details thead { display: none; }
.hd-ty table.woocommerce-table--order-details td,
.hd-ty table.woocommerce-table--order-details th { padding: 12px 0; font-size: 0.94rem; text-transform: none; letter-spacing: 0; color: var(--hd-ink); font-weight: 400; border-top: 1px solid var(--hd-line); vertical-align: top; }
.hd-ty table.woocommerce-table--order-details tbody tr:first-child td { border-top: 0; }
.hd-ty table.woocommerce-table--order-details td:last-child,
.hd-ty table.woocommerce-table--order-details tfoot td { text-align: right; }
.hd-ty table.woocommerce-table--order-details tfoot th { color: var(--hd-muted); }
.hd-ty table.woocommerce-table--order-details tfoot tr:last-child th,
.hd-ty table.woocommerce-table--order-details tfoot tr:nth-last-child(2) th,
.hd-ty table.woocommerce-table--order-details tfoot tr:nth-last-child(2) td { color: var(--hd-ink); font-weight: 700; font-size: 1.02rem; }
.hd-ty .product-name a { color: var(--hd-ink); font-weight: 600; text-decoration: none; }
.hd-ty .product-quantity { font-weight: 500; color: var(--hd-muted); }
.hd-ty .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hd-ty .woocommerce-customer-details address { padding: 0; border: 0; font-style: normal; line-height: 1.6; color: #3a3a3c; font-size: 0.94rem; }
.hd-ty .woocommerce-customer-details--phone,
.hd-ty .woocommerce-customer-details--email { margin: 4px 0 0; }
.hd-ty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px 0 0; }
@media (max-width: 720px) {
	.hd-ty__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hd-ty .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr; }
	.hd-ty .woocommerce-order-details, .hd-ty .woocommerce-customer-details, .hd-ty__steps { padding: 18px; }
	.hd-ty__actions--end .hd-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .hd-ty__check { animation: none; } }
.hd-ty .hd-ty__check { display: grid; margin: 0 auto 16px; }
.hd-ty .hd-ty__hero .hd-eyebrow { display: inline-flex; margin: 0; }
.hd-ty .hd-ty__facts strong .amount, .hd-ty .hd-ty__facts strong bdi { font-size: inherit; font-weight: inherit; }
.hd-ty .hd-ty__h2, .hd-ty .hd-ty__title, .hd-ty .woocommerce-order-details__title, .hd-ty .woocommerce-column__title { margin-top: 0; }
.hd-ty .hd-ty__facts strong, .hd-ty .hd-ty__facts strong * { color: var(--hd-ink); }

/* ==========================================================================
   Opinie o produkcie (WooCommerce) — lista i formularz z linku z maila
   ========================================================================== */
.hd-previews { margin: 40px 0 8px; padding: 28px; border-radius: var(--hd-r-xl); background: var(--hd-surface); }
.hd-previews__head { margin-bottom: 16px; }
.hd-previews__head .hd-h2 { margin: 0 0 6px; }
.hd-previews__summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0; color: var(--hd-muted); }
.hd-previews__summary strong { color: var(--hd-ink); font-size: 1.1rem; }
.hd-previews__stars, .hd-review-stars { color: #f5b400; letter-spacing: 2px; font-size: 1.05rem; }
.hd-previews__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hd-previews__list li { margin: 0; padding: 0; list-style: none; }
.hd-previews__list .comment_container { padding: 16px 18px; border-radius: var(--hd-r); background: #fff; }
.hd-previews__list .avatar { display: none; }
.hd-previews__list .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.hd-previews__list .meta { margin: 6px 0 4px; font-size: 0.85rem; color: var(--hd-muted); }
.hd-previews__list .meta strong { color: var(--hd-ink); font-weight: 600; }
.hd-previews__list .woocommerce-review__verified { color: var(--hd-good); font-style: normal; }
.hd-previews__list .description p { margin: 0; line-height: 1.55; }
.hd-previews__form { margin-top: 16px; padding: 22px; border-radius: var(--hd-r-lg); background: #fff; scroll-margin-top: calc(var(--hd-header-h) + 16px); }
.hd-previews__form-title { margin: 0 0 14px; font-size: 1.25rem; font-weight: 700; letter-spacing: -0.015em; }
.hd-previews__form label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 0.92rem; }
.hd-previews__form .comment-form-rating { margin-bottom: 14px; }
.hd-previews__form textarea,
.hd-previews__form input[type="text"],
.hd-previews__form input[type="email"] { width: 100%; padding: 12px 14px; border: 1px solid var(--hd-line-strong); border-radius: var(--hd-r-sm); font: inherit; background: #fff; }
.hd-previews__form textarea { min-height: 120px; resize: vertical; }
.hd-previews__form p { margin: 0 0 12px; }
.hd-previews__note { font-size: 0.82rem; color: var(--hd-muted); }
.hd-previews__form .form-submit { margin: 4px 0 0; }
.hd-stars-input { display: flex; align-items: center; gap: 2px; }
.hd-stars-input button { padding: 0 2px; border: 0; background: none; font-size: 2.1rem; line-height: 1; color: #d2d2d7; cursor: pointer; transition: transform 140ms var(--hd-ease-out), color 140ms ease; }
.hd-stars-input button.is-on { color: #f5b400; }
.hd-stars-input button:active { transform: scale(0.9); }
.hd-stars-input__caption { margin-left: 10px; font-size: 0.9rem; font-weight: 600; color: var(--hd-muted); }
@media (max-width: 720px) { .hd-previews { padding: 20px 16px; border-radius: var(--hd-r-lg); } .hd-previews__form { padding: 18px; } }
@media (prefers-reduced-motion: reduce) { .hd-stars-input button { transition: none; } }
.hd-previews__verify { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; font-size: 0.84rem; line-height: 1.5; color: var(--hd-muted); }
.hd-previews__verify svg { flex-shrink: 0; margin-top: 2px; color: var(--hd-good); }
.hd-optout { padding: clamp(32px, 8vw, 96px) 0; }
.hd-optout__card { max-width: 560px; margin: 0 auto; padding: 32px; border-radius: var(--hd-r-xl); background: var(--hd-surface); text-align: center; }
.hd-optout__card .hd-eyebrow { justify-content: center; }
.hd-optout__card .hd-h2 { margin: 6px 0 10px; }
.hd-optout__card p { color: var(--hd-muted); line-height: 1.55; }
.hd-optout__card form, .hd-optout__card p:last-child { margin: 18px 0 0; }
