/* Ninkd Custom CSS — design details beyond theme.json
   Festival-editorial aesthetic — jagua, natural ink, two weeks of courage
   ========================================================================= */

/* ── Reset & Base ──────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
@media screen and (max-width: 999px) {
.slbArrows button {
    background: #00000057;
}
}
body {
	background-color: #fcfcfc;
	background-image:
		radial-gradient(ellipse at 20% 10%, rgba(216,69,107,0.03), transparent 50%),
		radial-gradient(ellipse at 90% 80%, rgba(74,74,74,0.04), transparent 60%);
	background-attachment: fixed;
}

/* Paper grain overlay — matches prototype .grain */
/*  body::before {
	content: "";
	position: fixed; inset: 0;
	pointer-events: none; z-index: 9998;
	opacity: 0.35; mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.08  0 0 0 0 0.13  0 0 0 0 0.18  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
} */

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

/* ── Marquee ───────────────────────────────────────────────────────────── */

.ninkd-marquee {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bg);
	overflow: hidden;
	border-bottom: 1px solid var(--wp--preset--color--ink);
	position: relative;
	z-index: 60;
}

.ninkd-marquee-track {
	display: flex;
	gap: 48px;
	padding: 10px 0;
	animation: ninkd-marquee 40s linear infinite;
	white-space: nowrap;
	width: max-content;
}

.ninkd-marquee:hover .ninkd-marquee-track { animation-play-state: paused; }

.ninkd-marquee-item {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ninkd-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	flex-shrink: 0;
}

@keyframes ninkd-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ── Navigation ────────────────────────────────────────────────────────── */

.ninkd-nav {
	position: sticky;
	top: 0;
	z-index: 50;
	background-color: #fcfcfc;
	border-bottom: 1px solid rgba(74,74,74,0.12);
}

.ninkd-nav-inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 18px 32px;
	gap: 32px;
	max-width: 1640px;
	margin: 0 auto;
}

/* ── Nav links ── */
nav.ninkd-nav-links { justify-self: start; }
nav.ninkd-nav-links ul {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	gap: 28px;
	align-items: center;
}
nav.ninkd-nav-links a {
	font-size: 14px;
	font-family: var(--wp--preset--font-family--inter-tight);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	padding: 4px 0;
	transition: color 0.2s;
}
nav.ninkd-nav-links a:hover { color: var(--wp--preset--color--accent); }

/* ── Logo ── */
.ninkd-logo-link {
	justify-self: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.ninkd-logo-link img { height: 32px; width: auto; display: block; }
.ninkd-logo-sub {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 8px;
	letter-spacing: 0.3em;
	margin-top: 4px;
	color: var(--wp--preset--color--muted);
}

/* ── Nav actions ── */
.ninkd-nav-actions {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 18px;
}

.ninkd-icon-btn {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--wp--preset--color--ink);
	transition: background 0.2s, color 0.2s;
}
.ninkd-icon-btn:hover {
	background: var(--wp--preset--color--bg-alt);
	color: var(--wp--preset--color--accent);
}


/* Prevent WP global button styles from overriding search icon */
.ninkd-search button,
.ninkd-search .wp-element-button {
	background: #efefef !important;
	color: var(--wp--preset--color--ink) !important;
	border: none !important;
	padding: 8px !important;
	border-radius: 50% !important;
	transition: color 0.2s;
}
.ninkd-search button:hover,
.ninkd-search .wp-element-button:hover {
	color: var(--wp--preset--color--accent) !important;
}

/* Search block — icon only button */
.ninkd-search .wp-block-search__button {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: none !important;
	background: transparent !important;
	color: var(--wp--preset--color--ink) !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s;
	padding: 0 !important;
}
.ninkd-search .wp-block-search__button:hover {
	color: var(--wp--preset--color--accent) !important;
	background: transparent !important;
}
.ninkd-search .wp-block-search__button svg { width: 18px; height: 18px; }

/* WooCommerce mini-cart pill */
.ninkd-cart-pill .wc-block-mini-cart__button,
.ninkd-cart-pill button.wc-block-mini-cart__button {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 8px 14px 8px 12px !important;
	border-radius: 999px !important;
	background: var(--wp--preset--color--ink) !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-family: var(--wp--preset--font-family--inter-tight) !important;
	border: 0 !important;
	cursor: pointer !important;
	transition: background 0.2s;
}
.ninkd-cart-pill .wc-block-mini-cart__button:hover,
.ninkd-cart-pill button.wc-block-mini-cart__button:hover {
	background: var(--wp--preset--color--accent) !important;
}
/* "Warenkorb" label via CSS */
.ninkd-cart-pill .wc-block-mini-cart__button::after {
	content: "Warenkorb";
	font-size: 13px;
	font-family: var(--wp--preset--font-family--inter-tight);
	font-weight: 500;
}
.ninkd-cart-pill .wc-block-mini-cart__icon {
	width: 14px !important;
	height: 14px !important;
	flex-shrink: 0;
}
/* Count badge */
.ninkd-cart-pill .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--accent) !important;
	color: white !important;
	font-family: var(--wp--preset--font-family--jetbrains-mono) !important;
	font-size: 10px !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	display: grid !important;
	place-items: center !important;
}
.ninkd-cart-pill .wc-block-mini-cart__quantity-badge {
	background: var(--wp--preset--color--accent);
	color: white;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: grid;
	place-items: center;
}

/* ── Section utilities ─────────────────────────────────────────────────── */

.ninkd-section {
	padding: 100px 32px;
	position: relative;
}

.ninkd-section-head {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 32px;
	margin-bottom: 48px;
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-bottom: 24px;
}

.ninkd-section-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--wp--preset--color--ink);
	transition: color 0.2s, border-color 0.2s;
	white-space: nowrap;
}
.ninkd-section-link:hover {
	color: var(--wp--preset--color--accent);
	border-bottom-color: var(--wp--preset--color--accent);
}

.ninkd-section-kicker {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.ninkd-section-kicker--light {
	color: rgba(255, 255, 255, 0.6);
}

.ninkd-num {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--paper);
	font-size: 10px;
	padding: 3px 8px;
	border-radius: 2px;
}

.ninkd-section-title {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 300;
	font-style: italic;
	font-size: clamp(48px, 6vw, 88px);
	line-height: 0.95;
	letter-spacing: -0.035em;
}

.ninkd-section-title em {
	font-style: normal;
	font-weight: 500;
}

.ninkd-section-link a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--wp--preset--color--ink);
	transition: color 0.2s, border-color 0.2s;
}
.ninkd-section-link a:hover {
	color: var(--wp--preset--color--accent);
	border-bottom-color: var(--wp--preset--color--accent);
}

/* ── Hero ──────────────────────────────────────────────────────────────── */

.ninkd-hero {
	padding: 24px 32px 32px;
}

.ninkd-hero-grid {
	display: grid !important;
	grid-template-columns: 1.05fr 1fr;
	gap: 32px;
	align-items: stretch;
	flex-wrap: unset !important;
}

/* WP adds flex-basis inline — override so grid takes control */
.ninkd-hero-grid > .wp-block-column {
	flex-basis: unset !important;
	flex-grow: unset !important;
	min-width: 0;
}

/* Hero image placeholder */
.ninkd-hero-img {
	position: relative;
	height: 78vh;
	min-height: 620px;
	border-radius: 4px;
	overflow: hidden;
	background: var(--wp--preset--color--bg-alt);
}

.ninkd-ph-stripes {
	position: absolute; inset: 0;
	background: repeating-linear-gradient(45deg, transparent 0 20px, rgba(74,74,74,0.04) 20px 21px);
}

.ninkd-ph-label {
	position: absolute; top: 16px; left: 16px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	background: var(--wp--preset--color--paper);
	padding: 4px 8px;
	border-radius: 2px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.ninkd-ph-center {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 12px;
	color: var(--wp--preset--color--muted);
	text-align: center;
	padding: 32px;
	letter-spacing: 0.1em;
	line-height: 1.6;
}

/* change breakpoint fromn 600 to 1000px for navigation to burger */

/* copy of wp default css to a 1000px media query */
@media (min-width: 1000px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
        background-color: inherit;
    }
}

/* neutralize the wp default for 600px */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}


/* Float tags */
.ninkd-float-tag {
	position: absolute;
	background: var(--wp--preset--color--paper);
	padding: 12px 16px;
	border-radius: 4px;
	box-shadow: 0 12px 30px rgba(74,74,74,0.18);
	display: flex; align-items: center; gap: 12px;
	font-size: 13px;
	font-family: var(--wp--preset--font-family--inter-tight);
}
.ninkd-float-t1 { bottom: 32px; left: 32px; transform: rotate(-2deg); }
.ninkd-float-t2 { top: 32px; right: 32px; transform: rotate(3deg); }

.ninkd-swatch {
	width: 32px; height: 32px;
	border-radius: 2px;
	flex-shrink: 0;
}

.ninkd-float-meta { line-height: 1.2; }
.ninkd-float-meta b { font-weight: 600; display: block; font-size: 13px; }
.ninkd-float-meta span {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	color: var(--wp--preset--color--muted);
}

.ninkd-hero-text-col {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px 0;
}
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px 0;
}

/* Eyebrow: "SOMMER-DROP · 26 ────── 42 NEUE MOTIVE" */
.ninkd-hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.ninkd-hero-eyebrow .hero-line,
.ninkd-hero-eyebrow span:nth-child(2) {
	flex: 1;
	height: 1px;
	background: var(--wp--preset--color--ink);
	opacity: 0.2;
	display: block;
}

.ninkd-hero-grid .wp-block-column:first-child {
	min-height: 620px;
}

.ninkd-hero-photo img {
	height: 78vh;
	min-height: 620px;
	object-fit: cover;
	width: 100%;
}

.ninkd-hero-headline em {
	font-style: normal;
	font-weight: 500;
}

.ninkd-scribble {
	display: inline-block;
	position: relative;
}

.ninkd-scribble::after {
	content: "";
	position: absolute;
	left: -4%;
	right: -4%;
	bottom: 8%;
	height: 14%;
	background: var(--wp--preset--color--accent);
	opacity: 0.85;
	z-index: -1;
	border-radius: 60% 40% 50% 50% / 60% 50% 70% 40%;
	transform: rotate(-1deg);
}

/* ── Buttons ───────────────────────────────────────────────────────────── */

.ninkd-btn .wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link {
	transition: transform 0.2s, background-color 0.2s;
}

.ninkd-btn .wp-block-button__link:hover {
	transform: translateY(-2px);
	background-color: var(--wp--preset--color--accent) !important;
}

.ninkd-btn-ghost .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--wp--preset--color--ink);
}

.ninkd-btn-ghost .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--bg) !important;
}

/* ── Product Cards ─────────────────────────────────────────────────────── */

.ninkd-card {
	position: relative;
	display: flex;
	flex-direction: column;
}

/* Image wrapper — force 4:5 */
.ninkd-card .wp-block-woocommerce-product-image,
.ninkd-card .wc-block-components-product-image,
.ninkd-card .wc-block-components-product-image--aspect-ratio-auto {
	position: relative;
	aspect-ratio: 4 / 5 !important;
	border-radius: 3px;
	overflow: hidden;
	background: var(--wp--preset--color--bg-alt);
	margin-bottom: 14px;
}

/* WC sets aspect-ratio:auto on img when --aspect-ratio-auto class is present — kill it */
.ninkd-card .wc-block-components-product-image--aspect-ratio-auto img {
	height: 100% !important;
	aspect-ratio: unset !important;
}

.ninkd-card .wp-block-woocommerce-product-image img,
.ninkd-card .wc-block-components-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.ninkd-card:hover .wp-block-woocommerce-product-image img,
.ninkd-card:hover .wc-block-components-product-image img {
	transform: scale(1.03);
}

/* Card-add "+" button on hover */
.ninkd-card .wp-block-woocommerce-product-image::after,
.ninkd-card .wc-block-components-product-image::after {
	content: "+";
	position: absolute;
	bottom: 14px; right: 14px;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	display: grid;
	place-items: center;
	font-size: 22px;
	font-weight: 300;
	box-shadow: 0 8px 18px rgba(74,74,74,0.15);
	transform: translateY(8px);
	opacity: 0;
	transition: transform 0.25s, opacity 0.25s, background 0.2s, color 0.2s;
	pointer-events: none;
	z-index: 3;
}
.ninkd-card:hover .wp-block-woocommerce-product-image::after,
.ninkd-card:hover .wc-block-components-product-image::after {
	transform: translateY(0);
	opacity: 1;
}

.ninkd-card-info {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 12px;
	align-items: baseline;
}

/* Product title — target all WC selectors */
.ninkd-card-info .wp-block-post-title,
.ninkd-card-info .wp-block-post-title a,
.ninkd-card-info .wp-block-woocommerce-product-title,
.ninkd-card-info .wp-block-woocommerce-product-title h3,
.ninkd-card-info .wc-block-components-product-name,
.ninkd-card-info .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--fraunces) !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	letter-spacing: -0.01em !important;
	line-height: 1.2 !important;
	grid-column: 1;
	display: block !important;
	visibility: visible !important;
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none !important;
	margin: 0 !important;
}

.ninkd-card-info .wc-block-components-product-price,
.ninkd-card-info .wp-block-woocommerce-product-price {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 13px;
	grid-row: 1;
	grid-column: 2;
	white-space: nowrap;
}

/* Category / meta row */
.ninkd-card-info .wp-block-post-terms,
.ninkd-card-info .taxonomy-product_cat {
	grid-column: 1 / -1;
	font-family: var(--wp--preset--font-family--jetbrains-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted) !important;
	margin: 0 !important;
}
.ninkd-card-info .wp-block-post-terms a,
.ninkd-card-info .taxonomy-product_cat a {
	color: inherit !important;
	text-decoration: none !important;
}

/* WooCommerce sale badge */
.wc-block-components-sale-badge,
.wc-block-components-product-sale-badge .wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--accent) !important;
	color: white !important;
	font-family: var(--wp--preset--font-family--jetbrains-mono) !important;
	font-size: 9px !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 4px 8px !important;
	border-radius: 2px !important;
	position: absolute;
	top: 12px; left: 12px;
	z-index: 2;
}

/* ── Product Grid Layouts ──────────────────────────────────────────────── */

/* WP renders ul.wc-block-product-template — reset list styles */
ul.wc-block-product-template {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ninkd-products .wc-block-product-template,
.ninkd-products ul.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px 20px !important;
}

.ninkd-listing-main .ninkd-products .wc-block-product-template,
.ninkd-listing-main .ninkd-products ul.wc-block-product-template {
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 32px 24px !important;
}

/* ── MWSB Product Showcase — ninkd overrides ──────────────────────────── */

/* Reset MWSB root vars to our palette */
.ninkd-bestsellers {
	--mwsb-text:      var(--wp--preset--color--ink);
	--mwsb-text-muted: var(--wp--preset--color--muted);
	--mwsb-bg:        var(--wp--preset--color--bg);
	--mwsb-bg-alt:    var(--wp--preset--color--bg-alt);
	--mwsb-border:    var(--wp--preset--color--line);
	--mwsb-primary:   var(--wp--preset--color--ink);
	--mwsb-primary-dark: var(--wp--preset--color--accent);
	--mwsb-radius:    0px;
	--mwsb-radius-sm: 0px;
	--mwsb-shadow: none;
	--mwsb-shadow-md: none;
	--mwsb-gap: 20px;
	--mwsb-cols-desktop: 4;
	--mwsb-cols-tablet: 2;
	--mwsb-cols-mobile: 1;
}

/* Card reset — no hover lift, no border, no radius */
.ninkd-bestsellers .mwsb-product-card {
	background: transparent;
	border-radius: 0 !important;
	overflow: visible;
}
.ninkd-bestsellers .mwsb-product-card:hover {
	transform: none;
	box-shadow: none;
}
.ninkd-bestsellers .mwsb-product-card.mwsb-preset-minimal {
	border-bottom: none;
}

/* Image: force 4:5 aspect-ratio, img zoom on hover */
.ninkd-bestsellers .mwsb-product-card__image {
	aspect-ratio: 4 / 5 !important;
	border-radius: 3px;
	overflow: hidden;
	background: var(--wp--preset--color--bg-alt);
	position: relative;
}
.ninkd-bestsellers .mwsb-product-card:hover .mwsb-product-card__image img {
	transform: scale(1.03);
}

/* Sale badge — accent color */
.ninkd-bestsellers .mwsb-badge--sale {
	background: var(--wp--preset--color--accent) !important;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 9px !important;
	letter-spacing: 0.12em;
	border-radius: 2px;
	top: 12px; left: 12px;
}

/* Card body padding */
.ninkd-bestsellers .mwsb-product-card__body {
	padding: 14px 0 0 !important;
}

/* Title — fraunces, 18px, weight 400 */
.ninkd-bestsellers .mwsb-product-card__title {
	font-family: var(--wp--preset--font-family--fraunces) !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	letter-spacing: -0.01em !important;
	line-height: 1.2 !important;
	margin-bottom: 4px !important;
	color: var(--wp--preset--color--ink) !important;
}
.ninkd-bestsellers .mwsb-product-card__title a {
	color: inherit !important;
	text-decoration: none !important;
}
.ninkd-bestsellers .mwsb-product-card__title a:hover {
	color: var(--wp--preset--color--ink) !important;
}

/* Price — jetbrains-mono, 13px, weight 400 */
.ninkd-bestsellers .mwsb-product-card__price {
	font-family: var(--wp--preset--font-family--jetbrains-mono) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--wp--preset--color--ink) !important;
	margin-bottom: 0 !important;
}
.ninkd-bestsellers .mwsb-product-card__price del {
	color: var(--wp--preset--color--muted);
}

/* Add-to-cart: circular 44px button, hidden → appears on image hover */
.ninkd-bestsellers .mwsb-product-card__image-wrap {
	position: relative;
}
.ninkd-bestsellers .mwsb-product-card__actions {
	position: absolute;
	bottom: 14px;
	right: 14px;
	margin: 0;
	z-index: 3;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.25s, transform 0.25s;
	pointer-events: none;
}
.ninkd-bestsellers .mwsb-product-card:hover .mwsb-product-card__actions {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.ninkd-bestsellers .mwsb-btn--cart {
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	flex: none !important;
	border-radius: 50% !important;
	background: var(--wp--preset--color--paper) !important;
	color: var(--wp--preset--color--ink) !important;
	box-shadow: 0 8px 18px rgba(74,74,74,0.15);
	font-size: 0 !important;
	transition: background 0.2s, color 0.2s;
}
.ninkd-bestsellers .mwsb-btn--cart::before {
	content: "+";
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
}
.ninkd-bestsellers .mwsb-btn--cart svg { display: none !important; }
.ninkd-bestsellers .mwsb-btn--cart:hover:not(:disabled) {
	background: var(--wp--preset--color--accent) !important;
	color: #fff !important;
}

/* ── Category Cards ────────────────────────────────────────────────────── */


.ninkd-cats-grid .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
}

.ninkd-cats-grid .wp-block-column {
	flex: none;
	flex-basis: auto !important;
	width: auto;
}

.ninkd-cat-cover {
	aspect-ratio: 3 / 4 !important;
	transition: transform 0.3s ease;
	cursor: pointer;
	overflow: hidden;
	border-radius: 3px;
	position: relative;
}
.ninkd-cat-cover:hover { transform: translateY(-4px); }

/* Prototype-accurate gradient: dark at bottom, fades to transparent */
.ninkd-cat-cover::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.55), transparent 50%);
	z-index: 1;
	pointer-events: none;
}

/* WP cover background dim — keep it subtle, our ::before handles the gradient */
.ninkd-cat-cover .wp-block-cover__background {
	opacity: 0 !important;
}

/* Text inside cover sits above our gradient */
.ninkd-cat-cover .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}

.ninkd-cat-name {
	text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.ninkd-cat-count {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.ninkd-cat-count::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	flex-shrink: 0;
}

/* ── How It Works ──────────────────────────────────────────────────────── */

.ninkd-how {
	position: relative;
	overflow: hidden;
	max-width: 1576px;
	margin: 0 auto;
}

.ninkd-how::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 8px;
	background: var(--wp--preset--color--accent);
}

.ninkd-how-steps {
	position: relative;
}

.ninkd-how-steps::before {
	content: "";
	position: absolute;
	top: 32px;
	left: 5%;
	right: 5%;
	height: 1px;
	background: repeating-linear-gradient(
		to right,
		rgba(255,255,255,0.3) 0 8px,
		transparent 8px 16px
	);
}

.ninkd-step-num {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp--preset--color--bg);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-size: 28px;
	font-weight: 500;
	display: grid;
	place-items: center;
	margin-bottom: 24px;
	position: relative;
	z-index: 2;
	flex-shrink: 0;
}

/* Override inline paragraph styles for step-num */
p.ninkd-step-num {
	margin: 0 0 24px;
	line-height: 1;
}

.ninkd-step-time {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	border-top: 1px solid rgba(255,255,255,0.2);
	padding-top: 12px;
	margin-top: 16px;
}

/* ── Reviews ───────────────────────────────────────────────────────────── */

.ninkd-review--2 .ninkd-review-inner { transform: translateY(20px) rotate(-0.5deg); }
.ninkd-review--3 .ninkd-review-inner { transform: rotate(0.5deg); }

.ninkd-review-inner { position: relative; }

.ninkd-review-inner::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 24px;
	width: 70px;
	height: 22px;
	background: rgba(232,82,60,0.35);
	transform: rotate(-3deg);
}

.ninkd-review--2 .ninkd-review-inner::before {
	left: auto;
	right: 24px;
	transform: rotate(3deg);
	background: rgba(61,61,61,0.18);
}

.ninkd-review--3 .ninkd-review-inner::before {
	left: 50%;
	transform: translateX(-50%) rotate(1deg);
	background: rgba(232,82,60,0.2);
}

.ninkd-review-quote::before {
	content: "„";
	font-size: 36px;
	line-height: 0;
	vertical-align: -10px;
	color: var(--wp--preset--color--accent);
}

p.ninkd-review-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	margin: 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-size: 16px;
	color: var(--wp--preset--color--muted);
	background-color: var(--wp--preset--color--bg-alt);
}

.ninkd-review-location {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin: 0;
}

/* ── Newsletter ────────────────────────────────────────────────────────── */

.ninkd-newsletter {
	position: relative;
	overflow: hidden;
	max-width: 1576px;
	margin: 0 auto;
}

.ninkd-newsletter::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 90% 110%, rgba(74,74,74,0.25), transparent 50%),
		repeating-linear-gradient(45deg, transparent 0 30px, rgba(255,255,255,0.04) 30px 31px);
	pointer-events: none;
}

.ninkd-newsletter > * { position: relative; z-index: 1; }

/* Newsletter form */
.ninkd-nl-input {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--wp--preset--color--ink);
	padding-bottom: 8px;
	gap: 8px;
}

.ninkd-nl-input input[type="email"] {
	flex: 1;
	border: 0;
	background: none;
	font-family: var(--wp--preset--font-family--inter-tight);
	font-size: 16px;
	padding: 8px 0;
	outline: none;
	color: var(--wp--preset--color--ink);
}

.ninkd-nl-input input[type="email"]::placeholder { color: var(--wp--preset--color--muted); }

.ninkd-nl-input button {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	font-weight: 600;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: opacity 0.2s;
}
.ninkd-nl-input button:hover { opacity: 0.75; }

p.ninkd-nl-discount {
	display: inline-block;
	margin: 0 0 16px;
}

/* ── Footer ────────────────────────────────────────────────────────────── */

.ninkd-footer { position: relative; }

.ninkd-footer-top { gap: 64px; }

.ninkd-footer-list { list-style: none; padding: 0; }
.ninkd-footer-list li a {
	font-size: 14px;
	color: rgba(255,255,255,0.85);
	transition: color 0.2s;
}
.ninkd-footer-list li a:hover { color: var(--wp--preset--color--accent); }

.ninkd-footer-mega {
	overflow: hidden;
	white-space: nowrap;
	text-align: center;
}

.ninkd-footer-mega em {
	font-style: normal;
	font-weight: 500;
	color: var(--wp--preset--color--accent);
}

.ninkd-footer-bot a {
	color: rgba(255,255,255,0.5);
	transition: color 0.2s;
}
.ninkd-footer-bot a:hover { color: var(--wp--preset--color--accent); }

/* ── Listing Page ──────────────────────────────────────────────────────── */

.ninkd-listing-head h1 {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 300;
	line-height: 0.9;
	letter-spacing: -0.04em;
}

.ninkd-listing-head h1 em { font-style: normal; font-weight: 500; }

.ninkd-listing-layout {
	align-items: start;
}

.ninkd-filter-rail {
	position: sticky;
	top: 80px;
	align-self: start;
	max-height: calc(100vh - 100px);
	overflow-y: auto;
}

/* WooCommerce filter styles */
.ninkd-filter-block {
	margin-bottom: 32px;
}

.ninkd-filter-block .wc-block-components-filter-wrapper h3,
.ninkd-filter-block .wc-block-product-filter__header {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	padding-bottom: 10px;
	border-bottom: 1px solid var(--wp--preset--color--line);
	margin-bottom: 12px;
}

.ninkd-filter-block .wc-block-checkbox-list__item,
.ninkd-filter-block .wc-block-components-filter-checkbox-list__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	font-size: 14px;
	cursor: pointer;
	transition: color 0.15s;
}

.ninkd-filter-block .wc-block-checkbox-list__item:hover,
.ninkd-filter-block .wc-block-components-filter-checkbox-list__item:hover {
	color: var(--wp--preset--color--accent);
}

.wc-block-components-product-results-count { color: var(--wp--preset--color--muted); }

/* ── Single Product ────────────────────────────────────────────────────── */

/* Gallery – vertical thumb strip on the left */
.ninkd-detail-gallery .woocommerce-product-gallery {
	display: flex;
	flex-direction: row-reverse;
	gap: 12px;
}
.ninkd-detail-gallery .woocommerce-product-gallery__wrapper {
	flex: 1;
	border-radius: 3px;
	overflow: hidden;
}
.ninkd-detail-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
	width: 100%;
	display: block;
	aspect-ratio: 4/5;
	object-fit: cover;
}
/* Thumbnails strip */
.ninkd-detail-gallery .flex-control-thumbs {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 64px;
	flex-shrink: 0;
	list-style: none;
	margin: 0; padding: 0;
}
.ninkd-detail-gallery .flex-control-thumbs li { margin: 0; }
.ninkd-detail-gallery .flex-control-thumbs img {
	width: 64px;
	height: 80px;
	object-fit: cover;
	border-radius: 2px;
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.2s;
	border: 1px solid transparent;
}
.ninkd-detail-gallery .flex-control-thumbs img.flex-active,
.ninkd-detail-gallery .flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--wp--preset--color--ink);
}
/* Fullscreen trigger hide */
.ninkd-detail-gallery .woocommerce-product-gallery__trigger { display: none; }

/* Thumb number label */
.ninkd-detail-gallery .flex-control-thumbs li {
	position: relative;
}
.ninkd-thumb-num {
	position: absolute;
	bottom: 5px;
	left: 6px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 9px;
	letter-spacing: 0.08em;
	color: #fff;
	line-height: 1;
	pointer-events: none;
	z-index: 2;
	opacity: 0.7;
}

/* Main image slide counter */
.ninkd-detail-gallery .woocommerce-product-gallery__wrapper {
	position: relative;
}
.ninkd-img-counter {
	position: absolute;
	top: 14px;
	right: 16px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.75);
	background: rgba(0,0,0,0.22);
	backdrop-filter: blur(4px);
	border-radius: 999px;
	padding: 4px 10px;
	z-index: 10;
	pointer-events: none;
}

.ninkd-detail-gallery .wc-block-components-product-image {
	border-radius: 3px;
	overflow: hidden;
}

.ninkd-detail-info { padding-top: 24px; }

/* Product price — sale states */
.ninkd-detail-info .wp-block-woocommerce-product-price .price,
.ninkd-detail-info .wc-block-components-product-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
}
.ninkd-detail-info .wc-block-components-product-price ins,
.ninkd-detail-info .wp-block-woocommerce-product-price .price ins {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 500;
	font-size: 48px;
	letter-spacing: -0.02em;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.ninkd-detail-info .wc-block-components-product-price del,
.ninkd-detail-info .wp-block-woocommerce-product-price .price del {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 400;
	font-size: 28px;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--muted);
	opacity: 1;
}
/* Regular (non-sale) price */
.ninkd-detail-info .wc-block-components-product-price .woocommerce-Price-amount,
.ninkd-detail-info .wp-block-woocommerce-product-price .price > .woocommerce-Price-amount {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 500;
	font-size: 48px;
	letter-spacing: -0.02em;
}
/* Sale badge injected via onsale span */
.ninkd-detail-info .woocommerce-badge--onsale,
.onsale {
	display: inline-flex;
	align-items: center;
	background: var(--wp--preset--color--accent);
	color: #fff;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 4px 10px;
	margin-left: 4px;
}

/* ── Quantity stepper ── */
.ninkd-detail-info .wc-block-components-quantity-selector,
.ninkd-detail-info .wp-block-woocommerce-add-to-cart-form .wc-block-components-quantity-selector {
	display: flex;
	align-items: center;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 4px 8px;
	gap: 0;
	height: 56px;
	width: fit-content;
}
.ninkd-detail-info .wc-block-components-quantity-selector input[type=number] {
	width: 40px;
	text-align: center;
	border: none;
	background: transparent;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 15px;
	font-weight: 500;
	color: var(--wp--preset--color--ink);
	-moz-appearance: textfield;
}
.ninkd-detail-info .wc-block-components-quantity-selector input[type=number]::-webkit-outer-spin-button,
.ninkd-detail-info .wc-block-components-quantity-selector input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; }
.ninkd-detail-info .wc-block-components-quantity-selector__button {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	background: transparent;
	font-size: 18px;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s;
}
.ninkd-detail-info .wc-block-components-quantity-selector__button:hover {
	background: var(--wp--preset--color--bg-alt);
}

/* ── Add-to-cart row layout ── */
.ninkd-detail-info .wp-block-add-to-cart-with-options .wp-block-group,
.wp-block-add-to-cart-with-options .wp-block-group {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* ── Add to cart button ── */
.ninkd-detail-info .wp-block-button__link,
.ninkd-detail-info .wc-block-components-product-button__button {
	flex: 1;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bg);
	border-radius: 999px;
	padding: 18px 28px;
	font-family: var(--wp--preset--font-family--inter-tight);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.02em;
	border: none;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
/* Arrow decoration */
.ninkd-detail-info .wc-block-components-product-button__button::after {
	content: "→";
	font-size: 16px;
	display: inline-block;
	transition: transform 0.2s;
}
.ninkd-detail-info .wp-block-button__link:hover,
.ninkd-detail-info .wc-block-components-product-button__button:hover {
	background: var(--wp--preset--color--accent);
	transform: translateY(-2px);
}
.ninkd-detail-info .wc-block-components-product-button__button:hover::after {
	transform: translateX(4px);
}

/* ── Variation pills (variable products) ── */
.wc-block-add-to-cart-with-options__variation-selectors .wc-block-add-to-cart-with-options__variation-selector {
	margin-bottom: 20px;
}
/* Label row */
.wc-block-add-to-cart-with-options__variation-selectors label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 10px;
}
/* Convert select → pill strip if select is hidden by block */
.wc-block-add-to-cart-with-options__variation-selector-chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.wc-block-add-to-cart-with-options__variation-selector-chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
	background: transparent;
	color: var(--wp--preset--color--ink);
}
.wc-block-add-to-cart-with-options__variation-selector-chip:hover {
	border-color: var(--wp--preset--color--ink);
}
.wc-block-add-to-cart-with-options__variation-selector-chip[aria-checked="true"],
.wc-block-add-to-cart-with-options__variation-selector-chip.is-selected {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--ink);
}
.wc-block-add-to-cart-with-options__variation-selector-chip[disabled],
.wc-block-add-to-cart-with-options__variation-selector-chip.is-disabled {
	opacity: 0.3;
	pointer-events: none;
}
/* Handle native selects in older WC */
.ninkd-detail-info .variations select {
	appearance: none;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 10px 20px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

/* ── Product details (WC tabs styled as accordion) ── */
.ninkd-detail-info .woocommerce-tabs .tabs.wc-tabs {
	display: none; /* hide tab nav */
}
.ninkd-detail-info .woocommerce-tabs .woocommerce-Tabs-panel {
	display: block !important; /* force all panels visible */
	border: none;
	padding: 0;
}
.ninkd-detail-info .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: -0.01em;
	padding: 18px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	cursor: pointer;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ninkd-detail-info .woocommerce-tabs .woocommerce-Tabs-panel h2::after {
	content: "+";
	font-style: normal;
	font-size: 16px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
}
.ninkd-detail-info .woocommerce-tabs .woocommerce-Tabs-panel > *:not(h2) {
	font-size: 14px;
	line-height: 1.65;
	color: var(--wp--preset--color--ink-soft);
	padding: 12px 0 20px;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
/* wc-block accordion (if product-details renders as block accordion) */
.ninkd-detail-info .wc-block-accordion .wc-block-accordion__panel {
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.ninkd-detail-info .wc-block-accordion__panel-title {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-weight: 400;
	font-size: 18px;
	padding: 18px 0;
}

/* ── Perks grid ── */
.ninkd-detail-perks { align-items: start; }

p.ninkd-benefit-star { margin: 0 0 8px; }

/* ── Benefits Band ─────────────────────────────────────────────────────── */

.ninkd-benefits .wp-block-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px 80px;
}

.ninkd-benefits .wp-block-column {
	flex-basis: auto !important;
}

/* ── WooCommerce General ───────────────────────────────────────────────── */

.woocommerce-notices-wrapper,
.wc-block-store-notices { margin-bottom: 24px; }

/* Star rating */
.wc-block-components-product-rating .wc-block-components-product-rating__stars,
.woocommerce-product-rating .star-rating {
	color: var(--wp--preset--color--accent);
}

/* Breadcrumbs */
.wc-block-breadcrumbs {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 24px;
}
.wc-block-breadcrumbs a { color: var(--wp--preset--color--muted); }
.wc-block-breadcrumbs a:hover { color: var(--wp--preset--color--accent); }

/* ── Related Products ──────────────────────────────────────────────────── */

.wc-block-related-products .wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px 20px;
}

/* ── Typography Details ────────────────────────────────────────────────── */

.wp-block-post-content em,
em {
	font-style: italic;
}

.ninkd-section-title em,
.ninkd-hero-headline em,
.ninkd-how-title em,
.ninkd-footer-mega em {
	font-style: normal;
	font-weight: 500;
}

/* Mono tag utility */
.ninkd-mono {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* ── Pagination ────────────────────────────────────────────────────────── */

.wp-block-query-pagination {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 12px;
	transition: background 0.15s, border-color 0.15s;
}

.wp-block-query-pagination-numbers .page-numbers.current,
.wp-block-query-pagination-numbers .page-numbers:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bg);
	border-color: var(--wp--preset--color--ink);
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 1100px) {

	.ninkd-hero-grid { flex-direction: column; }
	.ninkd-hero-photo img { height: 60vh; }

	.ninkd-cats-grid .wp-block-columns {
		grid-template-columns: repeat(3, 1fr);
	}

	.ninkd-how-steps .wp-block-columns {
		flex-wrap: wrap;
	}
	.ninkd-how-steps .wp-block-column { flex-basis: calc(50% - 16px) !important; }

	.ninkd-reviews .wp-block-columns { flex-direction: column; }
	.ninkd-newsletter .wp-block-columns { flex-direction: column; }

	.ninkd-footer-top { flex-wrap: wrap; }

	.ninkd-listing-layout { flex-direction: column; }
	.ninkd-filter-rail { position: static; max-height: none; flex-basis: auto !important; }

	.ninkd-detail-layout { flex-direction: column; }

	.ninkd-benefits .wp-block-columns {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.ninkd-products .wc-block-product-template { grid-template-columns: repeat(2, 1fr); }
}


	/* Search: icon only, tap to expand */
	.ninkd-search .wp-block-search__inside-wrapper { display: none; }

	.ninkd-search.is-open .wp-block-search__inside-wrapper {
		display: flex;
		position: fixed;
		top: 60px;
		left: 0;
		right: 0;
		width: 100%;
		border-radius: 0;
		border: none;
		border-bottom: 1px solid var(--wp--preset--color--line);
		padding: 14px 20px;
		background: #fcfcfc;
		z-index: 200;
		box-shadow: 0 8px 24px rgba(74,74,74,0.1);
	}

	.ninkd-search.is-open .wp-block-search__input { width: 100%; font-size: 18px; }

	.ninkd-search .wp-block-search__button {
		width: 40px !important;
		height: 40px !important;
		border-radius: 50% !important;
		border: 1px solid var(--wp--preset--color--line) !important;
		border-left: 1px solid var(--wp--preset--color--line) !important;
		background: transparent !important;
		color: var(--wp--preset--color--ink) !important;
	}

	.ninkd-search .wp-block-search__button:hover {
		background: var(--wp--preset--color--ink) !important;
		color: var(--wp--preset--color--bg) !important;
		border-color: var(--wp--preset--color--ink) !important;
	}
}

/* ── 768px: layout ─────────────────────────────────────────────────────── */

@media (max-width: 768px) {
	.ninkd-how { padding: 64px 32px; }
	.ninkd-newsletter { padding: 64px 32px; }

	.ninkd-cats-grid .wp-block-columns {
		grid-template-columns: repeat(2, 1fr);
	}

	.wc-block-related-products .wc-block-product-template,
	.ninkd-products .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.ninkd-cats-grid .wp-block-columns {
		grid-template-columns: 1fr 1fr;
	}
	.ninkd-products .wc-block-product-template { grid-template-columns: 1fr; }
}

/* ── WooCommerce Classic Single Product ────────────────────────────────────── */
/* Overrides for classic PHP template output (pre-block WooCommerce or fallback) */

/* 2-column layout ----------------------------------------------------------- */
.woocommerce .single-product div.product {
	display: grid !important;
	grid-template-columns: 1.15fr 1fr;
	column-gap: 80px;
	row-gap: 64px;
	align-items: start;
	float: none !important;
}

.woocommerce .single-product div.product > .woocommerce-product-gallery,
.woocommerce .single-product div.product > .summary.entry-summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce .single-product div.product > .woocommerce-tabs,
.woocommerce .single-product div.product > .up-sells {
	grid-column: 1 / -1;
}

/* Gallery ------------------------------------------------------------------- */
.single-product .woocommerce-product-gallery {
	position: sticky;
	top: 80px;
}

.single-product .woocommerce-product-gallery__trigger { display: none; }

/* Main image: natural size, clean crop */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a img,
.single-product .woocommerce-product-gallery .flex-viewport img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 3px;
}

/* Thumbnail strip */
.single-product .flex-control-nav.flex-control-thumbs {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	padding: 0;
	list-style: none;
	overflow-x: auto;
}

.single-product .flex-control-thumbs li { list-style: none; }

.single-product .flex-control-thumbs li img {
	width: 72px;
	height: 90px;
	object-fit: cover;
	border-radius: 2px;
	opacity: 0.55;
	cursor: pointer;
	transition: opacity 0.2s;
	display: block;
}

.single-product .flex-control-thumbs li.flex-active img,
.single-product .flex-control-thumbs li img:hover { opacity: 1; }

/* Summary / Info column ----------------------------------------------------- */
.single-product .summary.entry-summary { display: flex; flex-direction: column; }

/* Breadcrumb */
.woocommerce-breadcrumb {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 20px;
}

.woocommerce-breadcrumb a { color: var(--wp--preset--color--muted); }
.woocommerce-breadcrumb a:hover { color: var(--wp--preset--color--accent); }

/* SKU + category meta */
.single-product .sku_wrapper,
.single-product .posted_in {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	display: block;
	margin-bottom: 6px;
}

/* Product title */
.single-product h1.product_title {
	font-family: var(--wp--preset--font-family--fraunces) !important;
	font-weight: 300 !important;
	font-style: italic;
	font-size: clamp(40px, 4.5vw, 72px) !important;
	line-height: 0.95;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--ink);
	margin: 0 0 16px !important;
}

/* Rating */
.single-product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

.single-product .woocommerce-product-rating .star-rating { color: var(--wp--preset--color--accent); }

.single-product .woocommerce-review-link {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

/* Price */
.single-product p.price,
.single-product span.price {
	font-family: var(--wp--preset--font-family--fraunces) !important;
	font-style: italic;
	font-size: 48px !important;
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1;
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 20px 0;
	margin: 20px 0 !important;
	display: flex;
	align-items: baseline;
	gap: 16px;
}

.single-product p.price del,
.single-product span.price del { font-size: 24px; opacity: 0.4; text-decoration: line-through; }
.single-product p.price ins,
.single-product span.price ins { text-decoration: none; }

/* Short description */
.single-product .woocommerce-product-details__short-description {
	font-size: 15px;
	line-height: 1.6;
	opacity: 0.75;
	margin-bottom: 24px;
}

/* Variations */
.single-product .variations { width: 100%; border: none; margin-bottom: 20px; }
.single-product .variations td,
.single-product .variations th { padding: 0 0 12px; vertical-align: middle; }
.single-product .variations .label { padding-right: 16px; white-space: nowrap; width: 1px; }

.single-product .variations .label label {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--muted);
	font-weight: 500;
}

.single-product .variations .value select {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid rgba(74,74,74,0.3);
	border-radius: 999px;
	padding: 10px 20px;
	font-family: var(--wp--preset--font-family--inter-tight);
	font-size: 14px;
	cursor: pointer;
	background: transparent;
	color: var(--wp--preset--color--ink);
	transition: border-color 0.2s;
	min-width: 160px;
}

.single-product .variations .value select:hover { border-color: var(--wp--preset--color--ink); }
.single-product .variations .value select:focus { outline: none; border-color: var(--wp--preset--color--accent); }

.single-product .reset_variations {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--muted);
	display: inline-block;
	margin-top: 8px;
}

/* Cart form: qty + button */
.single-product form.cart {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 24px 0;
}

.single-product form.cart .quantity {
	display: flex;
	align-items: center;
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 999px;
	padding: 6px;
	gap: 4px;
	flex-shrink: 0;
}

.single-product form.cart .qty {
	width: 40px;
	text-align: center;
	border: 0;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 14px;
	background: none;
	color: var(--wp--preset--color--ink);
	-moz-appearance: textfield;
}

.single-product form.cart .qty::-webkit-outer-spin-button,
.single-product form.cart .qty::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Add to cart button */
.single-product button.single_add_to_cart_button {
	flex: 1;
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--bg) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 18px 28px !important;
	font-family: var(--wp--preset--font-family--inter-tight) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.single-product button.single_add_to_cart_button:hover {
	background: var(--wp--preset--color--accent) !important;
	transform: translateY(-2px);
}

/* Perks row (injected via PHP hook) */
.ninkd-classic-perks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	padding-top: 28px;
	margin-top: 4px;
	border-top: 1px solid var(--wp--preset--color--line);
}

.ninkd-classic-perk { display: flex; align-items: flex-start; gap: 10px; }

.ninkd-classic-perk-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	flex-shrink: 0;
	margin-top: 4px;
}

.ninkd-classic-perk strong {
	display: block;
	font-family: var(--wp--preset--font-family--inter-tight);
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 3px;
	color: var(--wp--preset--color--ink);
}

.ninkd-classic-perk span {
	display: block;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

/* Tabs ---------------------------------------------------------------------- */
.woocommerce-tabs {
	border-top: 1px solid var(--wp--preset--color--line);
	margin-top: 0;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0;
	list-style: none;
	padding: 0 !important;
	margin: 0 0 0 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: none !important;
}

.woocommerce-tabs ul.tabs::before { display: none !important; }

.woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	border: 0 !important;
	padding: 0 !important;
	background: none !important;
	border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 16px 24px;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color 0.2s, border-color 0.2s;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--wp--preset--color--ink);
	border-bottom-color: var(--wp--preset--color--accent);
	background: none !important;
}

.woocommerce-tabs ul.tabs li a:hover { color: var(--wp--preset--color--ink); }

.woocommerce-tabs .woocommerce-Tabs-panel {
	padding: 32px 0 !important;
	border: none !important;
	background: none !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel h2 { display: none; }

.woocommerce-tabs .woocommerce-Tabs-panel p {
	font-size: 15px;
	line-height: 1.65;
	max-width: 680px;
}

/* Related & upsells --------------------------------------------------------- */
.related.products,
.up-sells.products {
	margin-top: 80px;
	padding-top: 64px;
	border-top: 1px solid var(--wp--preset--color--line);
	clear: both;
}

.related.products > h2,
.up-sells.products > h2 {
	font-family: var(--wp--preset--font-family--fraunces) !important;
	font-weight: 300 !important;
	font-style: italic;
	font-size: clamp(36px, 4vw, 60px) !important;
	line-height: 0.95;
	letter-spacing: -0.03em;
	margin-bottom: 40px !important;
}

.related.products ul.products,
.up-sells.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px 20px !important;
	list-style: none;
	padding: 0;
	margin: 0;
}

.related.products ul.products li.product,
.up-sells.products ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	clear: none !important;
	overflow: hidden;
}

.related.products ul.products li.product a img,
.up-sells.products ul.products li.product a img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	border-radius: 3px;
	margin-bottom: 14px;
	transition: transform 0.4s ease;
	display: block;
}

.related.products ul.products li.product:hover a img,
.up-sells.products ul.products li.product:hover a img { transform: scale(1.03); }

.related.products ul.products .woocommerce-loop-product__title,
.up-sells.products ul.products .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 18px;
	font-weight: 400;
	font-style: italic;
	letter-spacing: -0.01em;
	padding: 0 !important;
	margin-bottom: 6px !important;
}

.related.products ul.products li.product .price,
.up-sells.products ul.products li.product .price {
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 13px;
	font-style: normal !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block;
}

.related.products ul.products li.product .button,
.up-sells.products ul.products li.product .button { display: none; }

/* Classic page responsive --------------------------------------------------- */
@media (max-width: 1100px) {
	.woocommerce .single-product div.product {
		grid-template-columns: 1fr !important;
		column-gap: 0;
		row-gap: 40px;
	}

	.single-product .woocommerce-product-gallery { position: static; }

	.related.products ul.products,
	.up-sells.products ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.single-product form.cart { flex-wrap: wrap; }

	.ninkd-classic-perks { grid-template-columns: 1fr; gap: 16px; }

	.single-product p.price,
	.single-product span.price { font-size: 36px !important; }
}

/* ── Header layout ───────────────────────────────────────────────────────── */

.ninkd-header {
	position: sticky;
	top: 0;
	z-index: 999;
	width: 100%;
	background: var(--wp--preset--color--paper);
	box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.08);
}

.ninkd-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 100%;
	padding-inline: 32px;
	gap: 16px;
}

.ninkd-header__inner .wp-block-ninkd-nav {
	justify-self: start;
}

.ninkd-header__inner .wp-block-ninkd-logo {
	justify-self: center;
}

.ninkd-header__inner .ninkd-header__right {
	justify-self: end;
}

.ninkd-header__right {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ninkd-header--scrolled {
	box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.12);
}

@media (max-width: 768px) {
	.ninkd-header__inner {
		padding-inline: 16px;
		gap: 8px;
	}
}
