/* 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;
}

body {
	background-image:
		radial-gradient(ellipse at 20% 10%, rgba(216,69,107,0.04), transparent 50%),
		radial-gradient(ellipse at 90% 80%, rgba(74,74,74,0.05), transparent 60%);
	background-attachment: fixed;
}

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;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

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

.ninkd-nav-inner .wp-block-navigation { justify-self: start; }
.ninkd-nav-inner .ninkd-site-logo     { justify-self: center; }
.ninkd-nav-inner .ninkd-nav-actions   { justify-self: end; }

/* Override wp:group flex that conflicts with the grid */
.ninkd-nav .ninkd-nav-inner.wp-block-group { display: grid !important; }

.wp-block-navigation a {
	font-size: 14px;
	position: relative;
	padding: 4px 0;
	transition: color 0.2s;
}
.wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }


/* Search block — desktop pill */
.ninkd-search {
	display: flex;
	align-items: center;
}

.ninkd-search .wp-block-search__inside-wrapper {
	display: flex;
	align-items: center;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px 0 0 999px;
	padding: 0 14px;
	height: 38px;
	transition: border-color 0.2s;
}

.ninkd-search .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--ink);
}

.ninkd-search .wp-block-search__input {
	border: none !important;
	outline: none !important;
	background: transparent;
	font-family: var(--wp--preset--font-family--inter-tight);
	font-size: 14px;
	color: var(--wp--preset--color--ink);
	width: 180px;
	padding: 0 !important;
	box-shadow: none !important;
}

.ninkd-search .wp-block-search__input::placeholder { color: var(--wp--preset--color--muted); }

.ninkd-search .wp-block-search__button {
	height: 38px;
	width: 38px;
	flex-shrink: 0;
	border-radius: 0 999px 999px 0;
	border: 1px solid var(--wp--preset--color--ink);
	border-left: none;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bg);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, border-color 0.2s;
}

.ninkd-search .wp-block-search__button:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

.ninkd-search .wp-block-search__button svg { width: 16px; height: 16px; }

/* WooCommerce mini-cart pill */
.ninkd-cart-pill .wc-block-mini-cart__button {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px 8px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bg);
	font-size: 13px;
	font-family: var(--wp--preset--font-family--inter-tight);
	border: 0;
	cursor: pointer;
	transition: background 0.2s;
}
.ninkd-cart-pill .wc-block-mini-cart__button:hover {
	background: var(--wp--preset--color--accent);
}
.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-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-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;
}

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

.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);
}

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

.ninkd-card-info .wp-block-woocommerce-product-title h3,
.ninkd-card-info .wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 400;
	font-size: 18px;
	letter-spacing: -0.01em;
}

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

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

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

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

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

/* ── 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;
	transition: transform 0.3s ease;
	cursor: pointer;
}
.ninkd-cat-cover:hover { transform: translateY(-4px); }

.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(216,69,107,0.35);
	transform: rotate(-3deg);
}

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

.ninkd-review--3 .ninkd-review-inner::before {
	left: 50%;
	transform: translateX(-50%) rotate(1deg);
	background: rgba(216,69,107,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 ────────────────────────────────────────────────────── */

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

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

/* Product price */
.ninkd-detail-info .wc-block-components-product-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;
}

/* Add to cart button */
.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--ink);
	border-radius: 999px;
	padding: 4px;
}

.ninkd-detail-info .wp-block-button__link,
.ninkd-detail-info .wc-block-components-product-button__button {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bg);
	border-radius: 999px;
	padding: 18px 28px;
	font-size: 14px;
	font-weight: 500;
	transition: background 0.2s, transform 0.15s;
}

.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);
}

/* 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);
}

/* Accordion / tabs */
.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;
}

/* 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); }
}

/* ── Desktop: always show links, never show hamburger ──────────────────── */

@media (min-width: 1025px) {
	.ninkd-nav-links .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
	.ninkd-nav-links > .wp-block-navigation__container {
		display: flex !important;
	}


}

/* ── Burger breakpoint (1024px) ────────────────────────────────────────── */

@media (max-width: 1024px) {
	/* Symmetric grid: burger | logo | actions */
	.ninkd-nav-inner {
		grid-template-columns: 1fr auto 1fr;
		padding: 14px 20px;
	}
	.ninkd-nav-inner .ninkd-site-logo { justify-self: center; }

	/* Hide the desktop link list — all containers in this nav,
	   then re-show specifically the one inside the overlay */
	.ninkd-nav-links .wp-block-navigation__container {
		display: none !important;
	}
	.ninkd-nav-links .wp-block-navigation__responsive-container
	.wp-block-navigation__container {
		display: flex !important;
		flex-direction: column;
	}

	/* Show hamburger button */
	.ninkd-nav-links .wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center;
		justify-content: center;
		background: transparent;
		border: none;
		cursor: pointer;
		padding: 4px;
		color: var(--wp--preset--color--ink);
	}


	.wp-block-navigation__responsive-container-content {
		display: none !important;
	}

	/* Fullscreen overlay when open */
	.ninkd-nav-links .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		background: var(--wp--preset--color--ink) !important;
		color: var(--wp--preset--color--bg) !important;
		z-index: 9999 !important;
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.ninkd-nav-links .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content { text-align: center; }

	.ninkd-nav-links .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item a {
		font-family: var(--wp--preset--font-family--fraunces);
		font-size: clamp(28px, 6vw, 52px);
		font-style: italic;
		font-weight: 300;
		letter-spacing: -0.02em;
		color: var(--wp--preset--color--bg);
		padding: 12px 0;
		display: block;
		transition: color 0.2s;
	}

	.ninkd-nav-links .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item a:hover { color: var(--wp--preset--color--accent); }

	.ninkd-nav-links .wp-block-navigation__responsive-container-close {
		position: fixed;
		top: 20px;
		right: 20px;
		z-index: 10000;
		background: transparent;
		border: none;
		cursor: pointer;
		color: var(--wp--preset--color--bg);
		padding: 8px;
	}

	/* 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: #fff;
		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; }
}
