/* NH button contrast override — yellow buttons must have dark text, not white */

/* Primary add-to-cart / buy-now buttons */
.woocommerce .button,
.shopwell-button,
.shopwell-button--color-primary,
.button.alt,
.single_add_to_cart_button,
.shopwell-buy-now,
.wp-block-button__link {
	color: #1d2128 !important; /* dark text on yellow */
	font-weight: 600;
}

.woocommerce .button:hover,
.shopwell-button:hover,
.shopwell-button--color-primary:hover,
.button.alt:hover,
.single_add_to_cart_button:hover,
.shopwell-buy-now:hover,
.wp-block-button__link:hover {
	color: #000 !important;
}

/* Wishlist / compare (dark secondary buttons) — keep white */
.shopwell-wishlist-button,
.shopwell-compare-button,
.shopwell-button--color-dark {
	color: #fff !important;
}

/* ─── Product page: yellow/gold buttons must always have dark text ─── */
/* Covers any button variant where the theme paints a golden background
   but still uses the faded-white text from primary CSS. */
.single-product .button,
.single-product .shopwell-button,
.single-product .single_add_to_cart_button,
.single-product .shopwell-buy-now,
.single-product .yith-wcwl-add-to-wishlist a,
.single-product .yith-wcwl-add-button a,
.single-product a.add_to_wishlist,
.single-product .compare.button,
.single-product .shopwell-quick-view,
.woocommerce .single_add_to_cart_button.button,
.woocommerce button.single_add_to_cart_button {
	color: #1d2128 !important;
	font-weight: 600 !important;
}
.single-product .button *,
.single-product .shopwell-button *,
.single-product .single_add_to_cart_button * {
	color: inherit !important;
}

/* Quantity label "Ilość / Количество" on product page — was near-invisible */
.single-product .quantity-label,
.single-product .quantity > label,
.single-product form.cart > label,
.woocommerce div.product form.cart .quantity label {
	color: #f0ead6 !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}

/* Quantity input itself — readable on dark */
.single-product .quantity input.qty,
.woocommerce div.product form.cart .quantity input.qty {
	background: rgba(255, 255, 255, 0.06) !important;
	color: #f0ead6 !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
.single-product .quantity .plus,
.single-product .quantity .minus {
	color: #f0ead6 !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
.single-product .quantity .plus:hover,
.single-product .quantity .minus:hover {
	color: #1d2128 !important;
	background: #e3c882 !important;
	border-color: #e3c882 !important;
}

/* Product short description / excerpt */
.single-product .woocommerce-product-details__short-description,
.single-product .shopwell-product-short-description,
.single-product [class*="short-description"] {
	color: #cfcabc !important;
}
.single-product .woocommerce-product-details__short-description p,
.single-product .shopwell-product-short-description p {
	color: #cfcabc !important;
}

/* ─── My-account login / register form: dim links and labels ─── */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-form-login,
.woocommerce-form-register {
	color: #e0d9c4 !important;
}
.woocommerce-form-login label,
.woocommerce-form-register label,
.woocommerce-form__label-for-checkbox,
.woocommerce-form-login-toggle,
.woocommerce-form__label {
	color: #e0d9c4 !important;
	opacity: 1 !important;
}
.woocommerce-form-login .lost_password a,
.woocommerce-form-login a,
.woocommerce-form-register a,
.woocommerce-account a.showlogin,
.woocommerce-account a.showcoupon,
.shopwell-create-account a,
.woocommerce-account .lost_password a {
	color: #e3c882 !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(227, 200, 130, 0.5) !important;
	text-underline-offset: 3px;
}
.woocommerce-form-login .lost_password a:hover,
.woocommerce-form-login a:hover,
.woocommerce-form-register a:hover,
.shopwell-create-account a:hover {
	color: #fff !important;
	text-decoration-color: #fff !important;
}

/* Inputs on login form — readable text */
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="email"],
.woocommerce-form-register input[type="password"] {
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	color: #f0ead6 !important;
}

/* Section headings on product page ("Opis", "Краткое описание", tabs) */
.single-product .woocommerce-tabs .panel h2,
.single-product .product_meta,
.single-product .product-title,
.single-product h1.product_title {
	color: #f0ead6 !important;
}

/* ─── Калькулятор вагонки v3 — premium grid, disabled states, compliance panel ─── */
.nh-calc-vagonka-v2 {
	background: linear-gradient( 180deg, rgba( 191, 163, 96, 0.04 ), rgba( 255, 255, 255, 0.02 ) );
	border: 1px solid rgba( 191, 163, 96, 0.3 );
	border-radius: 16px;
	padding: 36px 40px;
	color: #e0d9c4;
	max-width: 1080px;
	margin: 0 auto;
}
.nh-calc-vagonka-v2 h3 {
	color: #f0ead6;
	font-size: 30px;
	font-weight: 500;
	margin: 0 0 8px;
	letter-spacing: -0.01em;
}
.nh-calc-v2-lead {
	color: #b8b1a0;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 28px;
	max-width: 100%;
	hyphens: none;
	-webkit-hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
}

/* Uniform grid — fixed rows, auto-flow columns; chips never wrap below their
   own label, so FR/DE long words stay in the same horizontal track on every
   language. */
.nh-calc-v2-grid {
	display: grid;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	gap: 20px 24px;
	margin-bottom: 22px;
}
@media (max-width: 980px) {
	.nh-calc-v2-grid { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
}
@media (max-width: 640px) {
	.nh-calc-v2-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}
.nh-calc-v2-group { min-width: 0; }
.nh-calc-v2-group label {
	color: #e3c882;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	display: block;
	margin-bottom: 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.nh-calc-v2-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.nh-calc-v2-chips button {
	flex: 0 0 auto;
	background: rgba( 255, 255, 255, 0.05 );
	color: #f0ead6;
	border: 1px solid rgba( 255, 255, 255, 0.15 );
	border-radius: 8px;
	padding: 9px 13px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
	white-space: nowrap;
	font-family: inherit;
	line-height: 1;
}
.nh-calc-v2-chips button:hover:not(.is-disabled) { border-color: rgba( 227, 200, 130, 0.6 ); }
.nh-calc-v2-chips button.is-active {
	background: #e3c882 !important;
	color: #1d2128 !important;
	border-color: #e3c882 !important;
}
.nh-calc-v2-chips button.is-disabled {
	opacity: 0.28;
	cursor: not-allowed;
	text-decoration: line-through;
}
.nh-calc-v2-area {
	background: rgba( 255, 255, 255, 0.05 ) !important;
	color: #f0ead6 !important;
	border: 1px solid rgba( 255, 255, 255, 0.18 ) !important;
	border-radius: 8px;
	padding: 10px 14px !important;
	font-size: 16px;
	width: 100%;
	box-sizing: border-box;
	font-family: inherit;
}

.nh-calc-v2-validity-hint {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	margin: -6px 0 18px;
	background: rgba( 227, 200, 130, 0.08 );
	border-left: 3px solid #e3c882;
	border-radius: 0 8px 8px 0;
	color: #e0d9c4;
	font-size: 13px;
}
.nh-calc-v2-validity-hint svg { color: #e3c882; flex-shrink: 0; }

.nh-calc-v2-result {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	padding: 22px 28px;
	margin: 8px 0 16px;
	background: rgba( 227, 200, 130, 0.06 );
	border: 1px solid rgba( 227, 200, 130, 0.25 );
	border-radius: 10px;
}
.nh-calc-v2-result-col { display: flex; flex-direction: column; min-width: 0; }
.nh-calc-v2-result > div:last-child { text-align: right; align-items: flex-end; }
.nh-calc-v2-cap { display: block; font-size: 11px; color: #b8b1a0; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 6px; }
.nh-calc-v2-price-m2, .nh-calc-v2-price-total {
	color: #f0ead6;
	font-size: 24px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	line-height: 1.15;
	display: block;
}
.nh-calc-v2-price-total { color: #e3c882; font-size: 32px; }
.nh-calc-v2-price-line {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}
.nh-calc-v2-result > div:last-child .nh-calc-v2-price-line { justify-content: flex-end; }
.nh-calc-v2-price-tag {
	font-size: 11px;
	color: rgba( 227, 200, 130, 0.85 );
	background: rgba( 227, 200, 130, 0.12 );
	border: 1px solid rgba( 227, 200, 130, 0.35 );
	padding: 2px 8px;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
	white-space: nowrap;
}
.nh-calc-v2-price-sub {
	font-size: 12px;
	color: #b8b1a0;
	margin-top: 3px;
	display: block;
	font-variant-numeric: tabular-nums;
}
.nh-calc-v2-vat-label { color: #e3c882; font-weight: 500; }
.nh-calc-v2-price-net {
	font-size: 12px;
	color: #8a8578;
	margin-top: 6px;
	display: block;
	font-variant-numeric: tabular-nums;
	padding-top: 6px;
	border-top: 1px dashed rgba( 255, 255, 255, 0.08 );
}
.nh-calc-v2-result > div:last-child .nh-calc-v2-price-net { width: 100%; }
@media (max-width: 560px) {
	.nh-calc-v2-result { grid-template-columns: 1fr; }
	.nh-calc-v2-result > div:last-child { text-align: left; align-items: flex-start; }
}

/* Delivery/note block */
.nh-calc-v2-note {
	background: rgba( 255, 255, 255, 0.02 );
	border-left: 3px solid rgba( 191, 163, 96, 0.4 );
	padding: 12px 16px;
	border-radius: 0 8px 8px 0;
	color: #b8b1a0;
	font-size: 13px;
	line-height: 1.6;
}
.nh-calc-v2-note strong { color: #e3c882; font-weight: 600; margin-right: 4px; }
.nh-calc-v2-note { margin-bottom: 22px; }
.nh-calc-v2-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }
.nh-calc-v2-actions .nh-btn {
	flex: 1 1 260px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
}
.nh-calc-v2-buy[disabled] { opacity: 0.5; cursor: not-allowed; }

/* ─── Compliance panel ─── */
.nh-calc-v2-compliance {
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid rgba( 255, 255, 255, 0.08 );
}
.nh-calc-v2-compliance-head {
	color: #e3c882;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 12px;
}
.nh-calc-v2-badges {
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 180px, 1fr ) );
	gap: 10px;
}
.nh-calc-v2-badges li {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 10px 14px;
	background: rgba( 255, 255, 255, 0.03 );
	border: 1px solid rgba( 255, 255, 255, 0.08 );
	border-radius: 8px;
}
.nh-calc-v2-badges li strong {
	color: #f0ead6;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.nh-calc-v2-badges li span {
	color: #8a8578;
	font-size: 11px;
	line-height: 1.4;
}
.nh-calc-v2-compliance-note {
	color: #8a8578;
	font-size: 12px;
	font-style: italic;
	margin: 8px 0 0;
	line-height: 1.5;
}

/* Width × Thickness validity matrix — visual proof we follow EN 14519 */
.nh-calc-v2-matrix {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid rgba( 255, 255, 255, 0.06 );
}
.nh-calc-v2-matrix-head {
	margin-bottom: 14px;
}
.nh-calc-v2-matrix-head strong {
	display: block;
	color: #f0ead6;
	font-size: 14px;
	letter-spacing: 0.02em;
	margin-bottom: 4px;
}
.nh-calc-v2-matrix-head span {
	color: #8a8578;
	font-size: 12px;
	line-height: 1.5;
}
.nh-calc-v2-matrix-scroll {
	overflow-x: auto;
	margin: 0 -4px;
}
.nh-calc-v2-matrix-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 480px;
	font-size: 13px;
}
.nh-calc-v2-matrix-table th,
.nh-calc-v2-matrix-table td {
	padding: 10px 14px;
	text-align: center;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.06 );
}
.nh-calc-v2-matrix-table thead th {
	color: #e3c882;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600;
	border-bottom-color: rgba( 191, 163, 96, 0.25 );
}
.nh-calc-v2-matrix-table thead th:first-child {
	text-align: left;
	white-space: nowrap;
}
.nh-calc-v2-matrix-table tbody th {
	color: #f0ead6;
	font-weight: 500;
	text-align: left;
	white-space: nowrap;
	background: rgba( 255, 255, 255, 0.02 );
}
.nh-calc-v2-matrix-table td.is-ok {
	color: #7ec982;
	background: rgba( 126, 201, 130, 0.06 );
}
.nh-calc-v2-matrix-table td.is-no {
	color: #5a544a;
	background: transparent;
}
.nh-calc-v2-matrix-table td svg { display: inline-block; vertical-align: -2px; }
.nh-calc-v2-matrix-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 12px 0 0;
	font-size: 12px;
	color: #8a8578;
}
.nh-calc-v2-legend-ok { color: #7ec982; display: inline-flex; align-items: center; gap: 6px; }
.nh-calc-v2-legend-no { color: #8a8578; }

/* ─── Single product page — clean variable selector & dark-theme gallery ─── */

/* Transparent PNG product photos sit directly on the dark site background
   (no white card, no shadow, no borders). */
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image img,
body.single-product .product-images,
body.single-product .product-thumbnails,
body.single-product .product-thumbnails__item,
body.single-product .shopwell-product-gallery,
body.single-product .shopwell-product-gallery__thumbnails,
body.single-product .shopwell-product-gallery__thumb,
body.single-product [class*="product-gallery"] {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Kill gallery "card" white backgrounds more aggressively */
body.single-product .woocommerce-product-gallery > *,
body.single-product .woocommerce-product-gallery > * > *,
body.single-product .woocommerce-product-gallery__image > *,
body.single-product .product-images > *,
body.single-product .shopwell-product-images > *,
body.single-product .elementor-widget-shopwell-wc-product-images,
body.single-product .elementor-widget-shopwell-wc-product-images > *,
body.single-product .product-gallery-summary,
body.single-product .product-gallery-summary > *,
body.single-product .shopwell-product-gallery > *,
body.single-product .shopwell-product-gallery .flex-viewport,
body.single-product .flex-viewport,
body.single-product .flex-control-thumbs,
body.single-product .flex-control-thumbs li,
body.single-product .flex-control-thumbs li > * {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

/* Disable the giant zoom preview on hover (PhotoSwipe / WC zoom) */
body.single-product .woocommerce-product-gallery__trigger,
body.single-product .zoomImg,
body.single-product .woocommerce-product-gallery img.zoomImg {
	display: none !important;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery__image img:hover {
	transform: none !important;
	cursor: default !important;
}

/* Thumbnails: only show if there's more than 1 gallery image, smaller */
body.single-product .flex-control-thumbs,
body.single-product .woocommerce-product-gallery .flex-control-thumbs {
	margin-top: 14px !important;
	gap: 8px !important;
	display: flex !important;
	flex-wrap: wrap !important;
}
body.single-product .flex-control-thumbs li {
	flex: 0 0 80px !important;
	max-width: 80px !important;
	opacity: 0.7;
	transition: opacity 0.2s ease;
}
body.single-product .flex-control-thumbs li:hover,
body.single-product .flex-control-thumbs li img.flex-active {
	opacity: 1 !important;
}

/* Remove duplicated attribute selector: shopwell renders its own swatches
   AND standard WC <select>. Hide the plain WC table row, keep chip swatches. */
body.single-product table.variations tr,
body.single-product table.variations td.value select,
body.single-product table.variations td.label,
body.single-product form.variations_form table.variations {
	display: none !important;
}
/* Keep the reset link and action row visible (WC injects these outside the table) */
body.single-product form.variations_form .reset_variations,
body.single-product form.variations_form .woocommerce-variation,
body.single-product form.variations_form .single_variation_wrap,
body.single-product form.variations_form .woocommerce-variation-add-to-cart {
	display: block !important;
}
body.single-product form.variations_form .woocommerce-variation-add-to-cart {
	display: flex !important;
}

/* Show shopwell's own chip/button swatches (they're the attractive ones
   in the screenshot — "2 м | 3 м | 4 м") */
body.single-product .shopwell-product-attributes,
body.single-product .shopwell-variation-swatch,
body.single-product [class*="variation-swatch"] {
	display: block !important;
}

/* Label chip labels clearer: add "Выберите:" prefix via data-attr or simply
   style the attribute group heading */
body.single-product .shopwell-product-attributes__label,
body.single-product .variations-label,
body.single-product .variations .label label {
	color: #e3c882 !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600 !important;
	margin-bottom: 10px !important;
	display: block;
}

/* Hint block we'll inject via hook */
.nh-variation-hint {
	background: rgba(227, 200, 130, 0.08);
	border-left: 3px solid #e3c882;
	padding: 12px 16px;
	margin: 18px 0 24px;
	color: #cfcabc;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 0 8px 8px 0;
}
.nh-variation-hint strong { color: #f0ead6; }

/* ─── /sklep/ premium hero (replaces the old 2-card landing) ─── */
.nh-shop-hero {
	position: relative;
	padding: 70px 0 50px;
	background:
		radial-gradient(ellipse at top right, rgba(191,163,96,0.10), transparent 60%),
		radial-gradient(ellipse at bottom left, rgba(191,163,96,0.06), transparent 50%),
		#0a0a0a;
	border-bottom: 1px solid rgba(191,163,96,0.18);
	overflow: hidden;
}
.nh-shop-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(to right, rgba(227,200,130,0.04) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(227,200,130,0.04) 1px, transparent 1px);
	background-size: 60px 60px;
	mask-image: linear-gradient(180deg, black 0%, transparent 85%);
	-webkit-mask-image: linear-gradient(180deg, black 0%, transparent 85%);
	pointer-events: none;
}
.nh-shop-hero-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
	position: relative;
	z-index: 1;
}
.nh-shop-hero-label {
	display: inline-block;
	color: #e3c882;
	font-size: 12px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	font-weight: 600;
	padding: 6px 14px;
	border: 1px solid rgba(227,200,130,0.35);
	border-radius: 999px;
	background: rgba(227,200,130,0.06);
	margin-bottom: 22px;
}
.nh-shop-hero-title {
	color: #f0ead6;
	font-family: "Playfair Display", ui-serif, Georgia, serif;
	font-size: clamp(36px, 6vw, 68px);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 20px;
	max-width: 900px;
}
.nh-shop-hero-sub {
	color: #b8b1a0;
	font-size: clamp(15px, 1.4vw, 17px);
	line-height: 1.6;
	max-width: 720px;
	margin: 0 0 30px;
}
.nh-shop-hero-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.nh-shop-hero-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.10);
	color: #e0d9c4;
	font-size: 13px;
	padding: 8px 14px;
	border-radius: 10px;
	backdrop-filter: blur(4px);
}
.nh-shop-body {
	padding: 50px 0 80px;
	background: #0a0a0a;
}

/* ─── /sklep/ landing — two entry cards (legacy, kept for reference, no longer rendered) ─── */
.nh-shop-landing {
	padding: 60px 0 80px;
	min-height: 70vh;
}
.nh-shop-landing-head {
	max-width: 820px;
	margin: 0 auto 56px;
	text-align: center;
}
.nh-shop-landing-head .nh-section-label {
	color: #e3c882;
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	display: block;
	margin-bottom: 12px;
}
.nh-shop-landing-head h1 {
	color: #f0ead6;
	font-size: clamp(32px, 5vw, 56px);
	font-weight: 500;
	margin: 0 0 20px;
	letter-spacing: -0.01em;
}
.nh-shop-landing-lead {
	color: #b8b1a0;
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}
.nh-shop-landing-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
	gap: 28px;
	max-width: 1100px;
	margin: 0 auto;
}
.nh-shop-landing-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 36px 32px 32px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	text-decoration: none !important;
	transition: border-color 0.25s ease, transform 0.25s ease, background 0.25s ease;
	overflow: hidden;
}
.nh-shop-landing-card:hover {
	border-color: rgba(191, 163, 96, 0.6);
	background: rgba(191, 163, 96, 0.04);
	transform: translateY(-3px);
}
.nh-shop-landing-card--primary {
	background: linear-gradient(180deg, rgba(191, 163, 96, 0.08), rgba(191, 163, 96, 0.02));
	border-color: rgba(191, 163, 96, 0.3);
}
.nh-shop-landing-card--primary:hover {
	border-color: #e3c882;
	background: linear-gradient(180deg, rgba(191, 163, 96, 0.14), rgba(191, 163, 96, 0.04));
}
.nh-shop-landing-card-icon {
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(227, 200, 130, 0.12);
	color: #e3c882;
	border-radius: 12px;
	margin-bottom: 22px;
}
.nh-shop-landing-card h2 {
	color: #f0ead6 !important;
	font-size: 26px;
	font-weight: 600;
	margin: 0 0 14px;
	letter-spacing: -0.005em;
}
.nh-shop-landing-card-desc {
	color: #cfcabc;
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 22px;
	flex: 1 0 auto;
}
.nh-shop-landing-card-list {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
}
.nh-shop-landing-card-list li {
	position: relative;
	padding: 6px 12px 6px 26px;
	font-size: 13px;
	color: #e0d9c4;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}
.nh-shop-landing-card-list li::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #e3c882;
	transform: translateY(-50%);
}
.nh-shop-landing-card-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #e3c882;
	font-weight: 600;
	font-size: 15px;
	padding-top: 4px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	margin-top: auto;
	padding: 16px 0 0;
}
.nh-shop-landing-card:hover .nh-shop-landing-card-cta {
	color: #fff;
}
.nh-shop-landing-card-cta svg {
	transition: transform 0.2s ease;
}
.nh-shop-landing-card:hover .nh-shop-landing-card-cta svg {
	transform: translateX(4px);
}
.nh-shop-landing-card-meta {
	position: absolute;
	top: 20px;
	right: 24px;
	font-size: 12px;
	color: rgba(227, 200, 130, 0.75);
	background: rgba(0, 0, 0, 0.3);
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid rgba(191, 163, 96, 0.25);
}
.nh-shop-landing-note {
	text-align: center;
	margin: 56px auto 0;
	color: #8a8578;
	font-size: 14px;
	max-width: 600px;
}
.nh-shop-landing-note a {
	color: #e3c882;
	text-decoration: underline;
	text-underline-offset: 3px;
	margin-left: 6px;
}
.nh-shop-landing-note a:hover { color: #fff; }

/* Product category chips — DOM:
   .shopwell-product-category-box__items > .__item > .__item-box (← визуальная плашка) > .__content > a.__cat-name
   Без иконок белый .__item-box выглядит сломанным. Делаем сам .__item-box чипом без высоты. */
.shopwell-product-category-box,
.shopwell-product-category-box__inner,
.shopwell-product-category-box__items,
.shopwell-product-category-box__item,
.shopwell-product-category-box__content {
	background: transparent !important;
	box-shadow: none !important;
}

/* Скрыть картинку/thumbnail блоки если пустые */
.shopwell-product-category-box__img,
.shopwell-product-category-box__image,
.shopwell-product-category-box__thumbnail,
.shopwell-product-category-box__image-wrap {
	display: none !important;
}

/* Грид плиток */
.shopwell-product-category-box__items {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: center;
	padding: 0 !important;
}

/* Сам чип */
.shopwell-product-category-box__item {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
}
.shopwell-product-category-box__item-box {
	position: relative;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(191, 163, 96, 0.35) !important;
	border-radius: 999px !important;
	padding: 0.7em 1.8em !important; /* шире по горизонтали, чтоб текст не упирался в бордер */
	height: auto !important;
	min-height: 0 !important;
	min-width: 0 !important;
	max-width: none !important;
	width: auto !important;
	aspect-ratio: unset !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	overflow: visible !important;
	box-sizing: border-box !important;
}
.shopwell-product-category-box__item-box:hover {
	background: rgba(191, 163, 96, 0.18) !important;
	border-color: rgba(191, 163, 96, 0.8) !important;
	transform: translateY(-1px);
}

/* Текст внутри */
.shopwell-product-category-box__content {
	position: static !important;
	transform: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.shopwell-product-category-box__cat-name {
	color: #e3c882 !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	white-space: nowrap;
	text-decoration: none;
	display: inline-block;
}
.shopwell-product-category-box__item-box:hover .shopwell-product-category-box__cat-name {
	color: #fff !important;
}

/* Overlay link — делаем полноразмерным поверх плашки, но прозрачным */
.shopwell-product-category-box__button-link {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	background: transparent !important;
	color: transparent !important;
	border: 0 !important;
}

/* ─────────── Product cards под тёмную тему ─────────── */

/* Карточка */
.nh-dark-theme .product-inner,
.nh-dark-theme li.product,
.nh-dark-theme .products .product {
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 10px;
	overflow: hidden;
	transition: all 0.25s ease;
}
.nh-dark-theme .product-inner:hover,
.nh-dark-theme li.product:hover {
	border-color: rgba(191, 163, 96, 0.5) !important;
	transform: translateY(-2px);
}

/* Заголовок товара — светлый и читаемый на тёмной карточке */
.nh-dark-theme .woocommerce-loop-product__title,
.nh-dark-theme .product-title,
.nh-dark-theme .products .product h2,
.nh-dark-theme .products .product h3,
.nh-dark-theme .products .product .woocommerce-loop-product__title,
.nh-dark-theme .products li.product .woocommerce-loop-product__title,
.nh-dark-theme .shopwell-product-title,
.nh-dark-theme .shopwell-product-title a,
.nh-dark-theme .products .product a {
	color: #f0ead6 !important;
	font-weight: 500 !important;
}
.nh-dark-theme .products .product a:hover .woocommerce-loop-product__title,
.nh-dark-theme .products .product a:hover,
.nh-dark-theme .products .product:hover .woocommerce-loop-product__title {
	color: #e3c882 !important;
}

/* Категория над заголовком (Materiały ścierne / Gadżety warsztatowe) */
.nh-dark-theme .product-category-name,
.nh-dark-theme .shopwell-product-category-tag,
.nh-dark-theme .woocommerce-loop-category__title {
	color: rgba(227, 200, 130, 0.7) !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Цена */
.nh-dark-theme .woocommerce ul.products li.product .price,
.nh-dark-theme .products .product .price,
.nh-dark-theme .products .price {
	color: #e3c882 !important;
	font-weight: 600 !important;
}
.nh-dark-theme .products .price del,
.nh-dark-theme .products .price .woocommerce-Price-amount.amount del {
	color: rgba(255, 255, 255, 0.35) !important;
	font-weight: 400;
}
.nh-dark-theme .products .price ins {
	color: #e3c882 !important;
	text-decoration: none;
	background: transparent;
}

/* Изображение — убрать белый фон */
.nh-dark-theme .product-inner .product-image,
.nh-dark-theme .woocommerce-loop-product__link,
.nh-dark-theme .products .product img {
	background: #0f0f0f !important;
}

/* Бейджи (Новый / -46%) — оставим как есть; но если фон белый вокруг — делаем прозрачным */
.nh-dark-theme .shopwell-badges__wrapper {
	background: transparent !important;
}

/* Sidebar фильтр — заголовки в тёмный */
.nh-dark-theme .widget_price_filter,
.nh-dark-theme .shopwell-widget,
.nh-dark-theme aside.widget {
	background: transparent !important;
	color: #e0e0e0;
}
.nh-dark-theme .widget-title,
.nh-dark-theme .widgettitle,
.nh-dark-theme .shopwell-widget__title {
	color: #f0ead6 !important;
}

/* Chips в фильтрах (Żółty/Niebieski и т.д.) — тёмный стиль */
.nh-dark-theme .shopwell-widget__attribute-label,
.nh-dark-theme .widget_layered_nav ul li a {
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color: #e0e0e0 !important;
	padding: 4px 10px !important;
	border-radius: 4px;
}
.nh-dark-theme .shopwell-widget__attribute-label:hover,
.nh-dark-theme .widget_layered_nav ul li a:hover {
	border-color: rgba(191, 163, 96, 0.7) !important;
	color: #e3c882 !important;
}

/* Search field */
.nh-dark-theme input[type="search"],
.nh-dark-theme input[type="text"].search,
.nh-dark-theme .shopwell-widget input[type="text"] {
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color: #f0ead6 !important;
}

/* ─────────── Cart page (Koszyk) под тёмную тему ─────────── */
.nh-dark-theme.woocommerce-cart .woocommerce,
.nh-dark-theme.woocommerce-checkout .woocommerce {
	color: #e0e0e0;
}

/* Контейнер страницы */
.nh-dark-theme.woocommerce-cart .cart-collaterals,
.nh-dark-theme.woocommerce-cart .woocommerce-cart-form {
	background: transparent !important;
}

/* Таблица товаров в корзине */
.nh-dark-theme.woocommerce-cart .shop_table,
.nh-dark-theme.woocommerce-cart table.cart {
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 10px;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
}
.nh-dark-theme.woocommerce-cart table.cart thead th,
.nh-dark-theme.woocommerce-cart .shop_table thead th {
	background: rgba(255, 255, 255, 0.05) !important;
	color: #f0ead6 !important;
	border-bottom: 1px solid rgba(191, 163, 96, 0.3) !important;
	font-weight: 500 !important;
}
.nh-dark-theme.woocommerce-cart table.cart td,
.nh-dark-theme.woocommerce-cart .shop_table td {
	background: transparent !important;
	color: #cfcabc !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
.nh-dark-theme.woocommerce-cart table.cart tr:last-child td {
	border-bottom: none !important;
}
.nh-dark-theme.woocommerce-cart .product-name a,
.nh-dark-theme.woocommerce-cart .cart_item a {
	color: #e3c882 !important;
}

/* Quantity input / remove */
.nh-dark-theme.woocommerce-cart .qty,
.nh-dark-theme.woocommerce-cart input.qty,
.nh-dark-theme .quantity input.qty {
	background: rgba(255, 255, 255, 0.05) !important;
	color: #f0ead6 !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.nh-dark-theme.woocommerce-cart .product-remove .remove {
	color: #e3c882 !important;
}

/* Cart totals — правая колонка с итогами */
.nh-dark-theme.woocommerce-cart .cart_totals,
.nh-dark-theme.woocommerce-cart .cart-collaterals .cart_totals {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(191, 163, 96, 0.25) !important;
	border-radius: 10px;
	padding: 24px !important;
	color: #f0ead6 !important;
}
.nh-dark-theme.woocommerce-cart .cart_totals h2,
.nh-dark-theme.woocommerce-cart .cart_totals .cart-collaterals-title {
	color: #f0ead6 !important;
	margin-top: 0 !important;
}
.nh-dark-theme.woocommerce-cart .cart_totals table {
	background: transparent !important;
	border: none !important;
}
.nh-dark-theme.woocommerce-cart .cart_totals table th,
.nh-dark-theme.woocommerce-cart .cart_totals table td {
	background: transparent !important;
	color: #cfcabc !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	padding: 10px 0 !important;
}
.nh-dark-theme.woocommerce-cart .cart_totals .order-total .amount {
	color: #e3c882 !important;
	font-size: 20px;
	font-weight: 600;
}

/* Убираем задублированный заголовок Podsumowanie */
.nh-dark-theme.woocommerce-cart .cart_totals h2 + h2,
.nh-dark-theme.woocommerce-cart .cart_totals .shop_table_responsive caption + caption,
.nh-dark-theme.woocommerce-cart .cart-subtotal > th:empty,
.nh-dark-theme.woocommerce-cart .cart-collaterals .cart_totals > h2:nth-of-type(n+2) {
	display: none !important;
}

/* Кнопка "Proceed to checkout" / "Przejdź do płatności" */
.nh-dark-theme.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.nh-dark-theme.woocommerce-cart .checkout-button {
	padding: 14px 20px !important;
	font-size: 15px !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	text-align: center !important;
	display: block;
	width: 100% !important;
}

/* "Zaktualizuj koszyk" / "Wyczyść koszyk" */
.nh-dark-theme.woocommerce-cart .cart-collaterals .shipping-calculator-button,
.nh-dark-theme.woocommerce-cart .return-to-shop a {
	color: #e3c882 !important;
}

/* ─────────── Cart page (Koszyk) — единый стиль для classic и Block cart ─────────── */

/* Скрыть глобальный CTA «Gotów do rozpoczęcia…» на cart/checkout/account */
body.woocommerce-cart .nh-footer-cta,
body.woocommerce-checkout .nh-footer-cta,
body.woocommerce-account .nh-footer-cta {
	display: none !important;
}

/* Компактный header страницы корзины — вместо огромного пустого баннера */
body.woocommerce-cart .nh-page-header,
body.woocommerce-checkout .nh-page-header,
body.woocommerce-account .nh-page-header {
	padding: 40px 0 20px !important;
	min-height: 0 !important;
	background: transparent !important;
}
body.woocommerce-cart .nh-page-header h1,
body.woocommerce-checkout .nh-page-header h1,
body.woocommerce-account .nh-page-header h1 {
	font-size: 2.2rem !important;
	margin: 0 !important;
	text-align: left;
}

/* ЛИНЕЙНЫЙ layout: товары на всю ширину, итоги под ними — никаких float/grid, никаких наложений. */
body.woocommerce-cart .woocommrece-cart-content,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-cart .wc-block-cart {
	display: block !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .wp-block-woocommerce-cart-items-block {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 0 30px 0 !important;
}
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: static !important;
}
body.woocommerce-cart .cart_totals {
	width: 100% !important;
	max-width: 680px;
	margin: 0 auto !important;
	float: none !important;
}

/* Style для Block Cart (если активен) */
body.woocommerce-cart table.wc-block-cart-items {
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 10px;
}
body.woocommerce-cart table.wc-block-cart-items th,
body.woocommerce-cart table.wc-block-cart-items td {
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.08) !important;
	color: #cfcabc !important;
}
body.woocommerce-cart .wc-block-components-product-name {
	color: #f0ead6 !important;
}
body.woocommerce-cart .wc-block-components-product-price {
	color: #e3c882 !important;
}
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value {
	color: #cfcabc !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: #e3c882 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector input {
	background: rgba(255, 255, 255, 0.05) !important;
	color: #f0ead6 !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Cart qty +/- видимые на тёмном фоне (в таблице корзины) */
body.woocommerce-cart .product-quantity .quantity,
body.woocommerce-cart td.product-quantity .quantity {
	display: inline-flex !important;
	align-items: stretch;
	gap: 4px;
	background: transparent !important;
}
body.woocommerce-cart .product-quantity .quantity input.qty,
body.woocommerce-cart td.product-quantity input.qty {
	background: rgba(255, 255, 255, 0.06) !important;
	color: #f0ead6 !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	width: 56px !important;
	text-align: center;
	height: 36px;
	padding: 0 !important;
}
body.woocommerce-cart .product-quantity .quantity .plus,
body.woocommerce-cart .product-quantity .quantity .minus,
body.woocommerce-cart .product-quantity .quantity button.plus,
body.woocommerce-cart .product-quantity .quantity button.minus,
body.woocommerce-cart .product-quantity .quantity .qib-button {
	background: rgba(255, 255, 255, 0.06) !important;
	color: #f0ead6 !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	width: 36px !important;
	height: 36px !important;
	font-size: 18px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
}
body.woocommerce-cart .product-quantity .quantity .plus:hover,
body.woocommerce-cart .product-quantity .quantity .minus:hover {
	background: rgba(191, 163, 96, 0.25) !important;
	color: #fff !important;
	border-color: rgba(191, 163, 96, 0.6) !important;
}

/* Native SELECT dropdown — опции читаемые (OS рендерит их) */
body.woocommerce-cart select,
body.woocommerce-checkout select,
body.woocommerce-account select,
body.woocommerce select:not(.wc-enhanced-select) {
	background: #1a1d22 !important;
	color: #f0ead6 !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	padding: 10px 14px !important;
	border-radius: 6px;
	height: auto;
	font-size: 14px;
}
body.woocommerce-cart select option,
body.woocommerce-checkout select option,
body.woocommerce-account select option,
body.woocommerce select option {
	background: #1a1d22 !important;
	color: #f0ead6 !important;
	padding: 8px !important;
}
body.woocommerce-cart select option:checked,
body.woocommerce-checkout select option:checked {
	background: rgba(191, 163, 96, 0.3) !important;
	color: #fff !important;
}

/* Select2 (если WC использует enhanced select) */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	color: #f0ead6 !important;
	min-height: 42px !important;
}
.select2-container--default .select2-selection__rendered {
	color: #f0ead6 !important;
	line-height: 42px !important;
}
.select2-dropdown,
.select2-results__option {
	background: #1a1d22 !important;
	color: #f0ead6 !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
	background: rgba(191, 163, 96, 0.2) !important;
	color: #fff !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: rgba(191, 163, 96, 0.35) !important;
	color: #fff !important;
}
.select2-search--dropdown .select2-search__field {
	background: rgba(255, 255, 255, 0.06) !important;
	color: #f0ead6 !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* ─────────── NH Shop SEO block ─────────── */
.nh-shop-seo {
	margin: 60px 0 40px;
	padding: 40px 0;
	border-top: 1px solid rgba(191, 163, 96, 0.15);
}
.nh-shop-seo__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
	color: #cfcabc;
	line-height: 1.65;
	font-size: 15px;
}
.nh-shop-seo__inner h2 {
	color: #f0ead6;
	font-size: 28px;
	font-weight: 500;
	margin: 30px 0 14px;
	letter-spacing: -0.01em;
}
.nh-shop-seo__inner h2:first-child {
	margin-top: 0;
}
.nh-shop-seo__inner h3 {
	color: #e3c882;
	font-size: 17px;
	font-weight: 600;
	margin: 0 0 10px;
}
.nh-shop-seo__inner strong {
	color: #f0ead6;
}
.nh-shop-seo__inner a {
	color: #e3c882;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(227, 200, 130, 0.4);
}
.nh-shop-seo__inner a:hover {
	color: #fff;
	text-decoration-color: #fff;
}
.nh-seo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 18px;
	margin: 24px 0 36px;
}
.nh-seo-cell {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	padding: 22px 20px;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.nh-seo-cell:hover {
	border-color: rgba(191, 163, 96, 0.45);
	transform: translateY(-2px);
}
.nh-seo-cell p {
	margin: 0;
	color: #b8b1a0;
	font-size: 14px;
}
.nh-seo-cats {
	list-style: none;
	padding: 0;
	margin: 16px 0 30px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 10px;
}
.nh-seo-cats li {
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.02);
	border-left: 3px solid rgba(191, 163, 96, 0.5);
	border-radius: 0 6px 6px 0;
	transition: all 0.2s ease;
}
.nh-seo-cats li:hover {
	background: rgba(191, 163, 96, 0.08);
	border-left-color: #e3c882;
}
.nh-seo-cats li a {
	text-decoration: none;
}
.nh-seo-cats li strong {
	color: #e3c882;
	font-weight: 600;
}
.nh-seo-cta {
	margin-top: 36px;
	padding: 18px 22px;
	background: linear-gradient(135deg, rgba(191, 163, 96, 0.08), rgba(191, 163, 96, 0.02));
	border: 1px solid rgba(191, 163, 96, 0.3);
	border-radius: 10px;
	text-align: center;
	font-size: 16px;
}
