/* WOOM style — shared base. Every colour, radius and font comes from the concept file's variables. */

/* ---------- Fonts (self-hosted; a browser only downloads the ones a concept uses) ---------- */
@font-face { font-family: "Inter"; font-weight: 100 900; font-display: swap; src: url("fonts/inter-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-weight: 100 900; font-display: swap; src: url("fonts/inter-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-weight: 200 800; font-display: swap; src: url("fonts/jakarta-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-weight: 200 800; font-display: swap; src: url("fonts/jakarta-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fraunces"; font-weight: 100 900; font-display: swap; src: url("fonts/fraunces-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces"; font-weight: 100 900; font-display: swap; src: url("fonts/fraunces-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- Defaults (concepts override) ---------- */
:root {
	--w-font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--w-font-head: var(--w-font-body);
	--w-head-weight: 650;
	--w-head-tracking: -0.02em;
	--w-page-bg: #ffffff;
	--w-ink: #141414;
	--w-text: #4a4a4a;
	--w-muted: #6e6e6e;
	--w-line: #e8e8e4;
	--w-line-strong: #d4d4ce;
	--w-surface: #f4f4f1;
	--w-card-bg: transparent;
	--w-card-border: transparent;
	--w-card-shadow: none;
	--w-card-shadow-hover: none;
	--w-card-pad: 0px;
	--w-radius-card: 18px;
	--w-radius-img: 18px;
	--w-radius-btn: 999px;
	--w-radius-input: 12px;
	--w-btn-bg: #141414;
	--w-btn-fg: #ffffff;
	--w-btn-hover-bg: #000000;
	--w-btn-hover-fg: #ffffff;
	--w-accent: #dc9814;
	--w-accent-text: #9a6200;
	--w-accent-soft: rgba(220, 152, 20, .16);
	--w-price: #141414;
	--w-header-bg: rgba(255, 255, 255, .86);
	--w-footer-bg: #141414;
	--w-footer-fg: #d6d6d2;
	--w-chip-bg: transparent;
	--w-chip-fg: #5a5a5a;
	--w-chip-border: #dcdcd6;
	--w-chip-active-bg: #141414;
	--w-chip-active-fg: #ffffff;
	--w-title-size: 15px;
	--w-title-weight: 500;
	--w-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
html body,
html body button, html body input, html body select, html body textarea,
html body .nm-font-family {
	font-family: var(--w-font-body);
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1-size, html body .h2-size, html body .h3-size,
html body .product_title, html body .woocommerce-loop-product__title {
	font-family: var(--w-font-head);
}
html body,
html body .nm-page-overflow,
html body .nm-page-wrap,
html body .nm-page-wrap-inner,
html body #nm-shop,
html body .nm-shop-header,
html body .nm-shop-menu {
	background-color: var(--w-page-bg);
}
html body {
	color: var(--w-text);
	font-size: 15px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1-size, html body .h2-size, html body .h3-size {
	color: var(--w-ink);
	font-weight: var(--w-head-weight);
	letter-spacing: var(--w-head-tracking);
}
html body strong, html body b { color: var(--w-ink); font-weight: 600; }
html body a { transition: color .15s var(--w-ease), opacity .15s var(--w-ease), background-color .15s var(--w-ease); }
::selection { background: var(--w-accent-soft); color: var(--w-ink); }

html body a:focus-visible, html body button:focus-visible, html body input:focus-visible,
html body select:focus-visible, html body textarea:focus-visible, html body .button:focus-visible {
	outline: 2px solid var(--w-accent);
	outline-offset: 3px;
	border-radius: 8px;
}

html body .woocommerce-info a, html body .woocommerce-form-login-toggle a, html body .woocommerce-form-coupon-toggle a,
html body .woocommerce-privacy-policy-text a, html body .woocommerce-terms-and-conditions-link,
html body .entry-content a:not(.button), html body .nm-shop-notice a {
	color: var(--w-accent-text);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* ---------- Header: frosted and sticky ---------- */
html body #nm-header,
html body .nm-header,
html body .nm-header.fixed {
	background: var(--w-header-bg) !important;
	-webkit-backdrop-filter: saturate(180%) blur(16px);
	backdrop-filter: saturate(180%) blur(16px);
	border-bottom: 1px solid var(--w-line) !important;
}
html body .nm-menu li a,
html body .nm-main-menu > li > a,
html body .nm-right-menu > li > a {
	color: var(--w-ink);
	opacity: .78;
	font-weight: 500;
	font-size: 15px;
}
html body .nm-menu li a:hover { opacity: 1; color: var(--w-ink); }
html body .nm-menu-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	margin-left: 4px;
	border-radius: 999px;
	background: var(--w-btn-bg);
	color: var(--w-btn-fg) !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	vertical-align: 2px;
}
html body .nm-menu-cart-count.nm-count-zero { background: var(--w-line); color: var(--w-muted) !important; }

/* ---------- Hero slider ---------- */
html body .nm-banner-slider { border-radius: var(--w-radius-card); overflow: hidden; }
html body .slick-dots li button { transition: transform .2s var(--w-ease); }
html body .slick-dots li.slick-active button { transform: scale(1.2); }

/* ---------- Category chips ---------- */
html body .nm-shop-categories { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
html body .nm-shop-categories li { margin: 0 !important; padding: 0 !important; float: none !important; }
html body .nm-shop-categories li::after,
html body .nm-shop-categories li::before { display: none !important; content: none !important; }
html body .nm-shop-categories li a {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid var(--w-chip-border);
	background: var(--w-chip-bg);
	color: var(--w-chip-fg) !important;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
}
html body .nm-shop-categories li a:hover { border-color: var(--w-ink); color: var(--w-ink) !important; }
html body .nm-shop-categories li.current-cat a,
html body .nm-shop-categories li.active a {
	background: var(--w-chip-active-bg);
	border-color: var(--w-chip-active-bg);
	color: var(--w-chip-active-fg) !important;
}
html body .nm-shop-filter-menu li a { color: var(--w-ink) !important; font-weight: 500; }

/* ---------- Product grid: real grid, equal-height cards, buttons on one line ---------- */
html body ul.products,
html body .nm-products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 24px;
	margin-left: 0 !important;
	margin-right: 0 !important;
	align-items: stretch;
}
html body ul.products::before,
html body ul.products::after { display: none !important; content: none !important; }
html body ul.products > li.product {
	float: none !important;
	width: auto !important;
	clear: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	height: auto !important;
}
html body .nm-shop-loop-product-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: var(--w-card-pad) !important;
	background: var(--w-card-bg);
	border: 1px solid var(--w-card-border);
	border-radius: var(--w-radius-card);
	box-shadow: var(--w-card-shadow);
	transition: box-shadow .3s var(--w-ease), transform .3s var(--w-ease), border-color .3s var(--w-ease);
}
html body .nm-shop-loop-product-wrap:hover { box-shadow: var(--w-card-shadow-hover); }
html body .nm-shop-loop-thumbnail {
	background: var(--w-surface);
	border-radius: var(--w-radius-img);
	overflow: hidden;
	isolation: isolate;
	aspect-ratio: 1 / 1;
}
html body .nm-shop-loop-thumbnail a,
html body .nm-shop-loop-thumbnail img { display: block; width: 100%; height: 100%; }
html body .nm-shop-loop-thumbnail img {
	object-fit: cover;
	mix-blend-mode: multiply;
	transition: transform .6s var(--w-ease);
}
html body .nm-shop-loop-product-wrap:hover .nm-shop-loop-thumbnail img { transform: scale(1.04); }
html body .nm-shop-loop-details {
	position: static !important;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	margin: 0 !important;
	padding: 16px 2px 2px !important;
}
html body .nm-shop-loop-title-price { flex: 1 1 auto; display: flex; flex-direction: column; gap: 8px; padding-right: 0 !important; }
html body .woocommerce-loop-product__title,
html body .woocommerce-loop-product__title a,
html body .nm-shop-loop-title-link {
	color: var(--w-ink) !important;
	font-size: var(--w-title-size) !important;
	font-weight: var(--w-title-weight) !important;
	line-height: 1.4 !important;
	letter-spacing: -0.005em;
}
html body .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.8em;
	margin: 0 !important;
}
html body ul.products .price {
	color: var(--w-price) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.01em;
	margin-top: auto;
}
html body .price del { color: var(--w-muted) !important; font-weight: 400; opacity: .8; }
html body .price ins { text-decoration: none; }

/* Wishlist heart floats on the photo */
html body .nm-shop-loop-product-wrap .nm-wishlist-button {
	position: absolute !important;
	top: calc(var(--w-card-pad) + 12px);
	right: calc(var(--w-card-pad) + 12px);
	left: auto !important;
	z-index: 3;
	display: grid !important;
	place-items: center;
	width: 38px;
	height: 38px;
	margin: 0 !important;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
	color: var(--w-ink) !important;
	opacity: 1 !important;
	transition: transform .2s var(--w-ease), background .2s var(--w-ease);
}
html body .nm-shop-loop-product-wrap .nm-wishlist-button i { font-size: 16px; line-height: 1; color: inherit; }
html body .nm-shop-loop-product-wrap .nm-wishlist-button:hover { transform: scale(1.08); background: #fff; }
html body .nm-shop-loop-product-wrap .nm-wishlist-button.added i { color: #dc2626; }

/* Actions pinned to the bottom: every button in a row lines up */
html body .nm-shop-loop-actions {
	margin-top: 14px !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
}
html body .nm-shop-loop-actions .button,
html body ul.products .add_to_cart_button {
	flex: 1 1 auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 46px !important;
	min-height: 46px;
	margin: 0 !important;
	padding: 0 16px !important;
	background: var(--w-btn-bg) !important;
	color: var(--w-btn-fg) !important;
	border: 1px solid var(--w-btn-bg) !important;
	border-radius: var(--w-radius-btn) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: .005em;
	text-align: center;
	white-space: nowrap;
	transition: background .2s var(--w-ease), color .2s var(--w-ease), border-color .2s var(--w-ease), transform .2s var(--w-ease);
}
html body .nm-shop-loop-actions .button:hover,
html body ul.products .add_to_cart_button:hover {
	background: var(--w-btn-hover-bg) !important;
	border-color: var(--w-btn-hover-bg) !important;
	color: var(--w-btn-hover-fg) !important;
}
html body .nm-shop-loop-actions .button.loading { opacity: .6; }
html body .nm-shop-loop-actions .added_to_cart {
	flex: 0 0 auto;
	color: var(--w-accent-text);
	font-weight: 600;
	font-size: 13px;
	padding: 0 !important;
}
html body ul.products li.outofstock .nm-shop-loop-thumbnail img { opacity: .55; }
html body .nm-shop-loop-thumbnail .nm-label-itsnew,
html body .onsale,
html body .nm-shop-loop-thumbnail [class*="badge"],
html body .nm-shop-loop-thumbnail .outofstock-badge {
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 6px 10px !important;
	line-height: 1 !important;
	background: var(--w-ink) !important;
	color: #fff !important;
}

/* ---------- Buttons ---------- */
html body .button, html body button.button, html body input[type="submit"],
html body .woocommerce-button, html body #place_order, html body .checkout-button,
html body .single_add_to_cart_button, html body .wc-proceed-to-checkout .button {
	border-radius: var(--w-radius-btn) !important;
	font-weight: 600 !important;
	transition: background .2s var(--w-ease), color .2s var(--w-ease), box-shadow .2s var(--w-ease), transform .2s var(--w-ease);
}
html body .single_add_to_cart_button, html body #place_order,
html body .wc-proceed-to-checkout .button, html body .checkout-button {
	background: var(--w-btn-bg) !important;
	color: var(--w-btn-fg) !important;
	min-height: 54px;
	font-size: 16px !important;
}
html body .single_add_to_cart_button:hover, html body #place_order:hover,
html body .wc-proceed-to-checkout .button:hover, html body .checkout-button:hover {
	background: var(--w-btn-hover-bg) !important;
	color: var(--w-btn-hover-fg) !important;
	transform: translateY(-1px);
}
html body .woocommerce-cart-form .actions .button,
html body .button.border {
	background: transparent !important;
	color: var(--w-ink) !important;
	border: 1px solid var(--w-line-strong) !important;
}
html body .woocommerce-cart-form .actions .button:hover,
html body .button.border:hover { border-color: var(--w-ink) !important; }

/* ---------- Product page ---------- */
html body .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
html body .nm-product-slider .slick-slide,
html body .woocommerce-product-gallery .flex-viewport {
	background: var(--w-surface);
	border-radius: var(--w-radius-card);
	overflow: hidden;
}
html body .woocommerce-product-gallery img { mix-blend-mode: multiply; }
html body .flex-control-thumbs img, html body .nm-product-thumbnails-col img { border-radius: 12px; }
html body .summary .product_title {
	color: var(--w-ink);
	font-weight: var(--w-head-weight);
	letter-spacing: var(--w-head-tracking);
	line-height: 1.15;
}
html body .summary .price { color: var(--w-price) !important; font-weight: 700; font-variant-numeric: tabular-nums; }
/* Quantity: one rounded stepper beside the button area (Savoy draws its own box around it) */
html body .nm-quantity-wrap {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	height: 54px;
	margin: 0 0 12px !important;
	padding: 0 6px !important;
	border: 1px solid var(--w-line-strong) !important;
	border-radius: var(--w-radius-btn) !important;
	background: #fff;
}
html body .nm-quantity-wrap .quantity { border: 0 !important; background: transparent; min-height: 0; display: inline-flex; align-items: center; }
html body .nm-quantity-wrap .nm-qty-minus,
html body .nm-quantity-wrap .nm-qty-plus { width: 40px; height: 40px; display: inline-grid !important; place-items: center; border-radius: 10px; color: var(--w-ink); font-size: 11px; }
html body .nm-quantity-wrap .nm-qty-minus:hover,
html body .nm-quantity-wrap .nm-qty-plus:hover { background: var(--w-surface); }
html body .nm-quantity-wrap input.qty { border: 0 !important; box-shadow: none !important; min-height: 0 !important; width: 44px !important; padding: 0 !important; text-align: center; font-weight: 600; background: transparent !important; }
html body .nm-quantity-wrap .nm-qty-label-abbrev { display: none; }
html body form.cart .single_add_to_cart_button { width: 100%; }
html body .summary .price, html body .summary .price .amount, html body .summary .price bdi { color: var(--w-price) !important; }

/* ---------- Forms ---------- */
html body input[type="text"], html body input[type="email"], html body input[type="tel"],
html body input[type="password"], html body input[type="search"], html body input[type="number"],
html body input[type="url"], html body select, html body textarea,
html body .select2-container .select2-selection--single {
	background: #fff !important;
	border: 1px solid var(--w-line-strong) !important;
	border-radius: var(--w-radius-input) !important;
	color: var(--w-ink);
	font-size: 15px;
	min-height: 50px;
	padding-left: 16px;
	padding-right: 16px;
	transition: border-color .15s var(--w-ease), box-shadow .15s var(--w-ease);
}
html body textarea { padding-top: 14px; padding-bottom: 14px; min-height: 110px; }
html body input:hover, html body select:hover, html body textarea:hover { border-color: var(--w-muted) !important; }
html body input[type="text"]:focus, html body input[type="email"]:focus, html body input[type="tel"]:focus,
html body input[type="password"]:focus, html body input[type="search"]:focus, html body input[type="number"]:focus,
html body select:focus, html body textarea:focus {
	border-color: var(--w-accent) !important;
	box-shadow: 0 0 0 4px var(--w-accent-soft) !important;
	outline: none;
}
html body ::placeholder { color: #9b9b95; opacity: 1; }
html body .form-row label, html body .woocommerce-form-row label { color: var(--w-ink); font-weight: 500; font-size: 14px; }
html body .form-row .required { color: #c2410c; text-decoration: none; }
html body input[type="checkbox"], html body input[type="radio"] { accent-color: var(--w-btn-bg); width: 18px; height: 18px; vertical-align: -3px; }

/* ---------- Cart & checkout ---------- */
html body .cart_totals table, html body #order_review .shop_table {
	background: var(--w-card-bg-solid, var(--w-surface)) !important;
	border: 1px solid var(--w-line) !important;
	border-radius: var(--w-radius-card) !important;
	border-collapse: separate !important;
	overflow: hidden;
}
html body .cart_totals table th, html body .cart_totals table td,
html body #order_review .shop_table th, html body #order_review .shop_table td { border-color: var(--w-line) !important; }
html body .cart_totals .order-total th, html body .cart_totals .order-total td,
html body #order_review .order-total th, html body #order_review .order-total td { color: var(--w-ink); font-weight: 700; font-size: 18px; }
html body .woocommerce-cart-form__cart-item .product-thumbnail img,
html body .woocommerce-checkout-review-order-table img { border-radius: 12px; background: var(--w-surface); }
html body .woocommerce-cart-form__cart-item .product-name a { color: var(--w-ink); font-weight: 500; }
html body #payment, html body .woocommerce-checkout-payment {
	background: var(--w-card-bg-solid, #fff) !important;
	border: 1px solid var(--w-line) !important;
	border-radius: var(--w-radius-card) !important;
}
html body #payment .payment_methods > li { border-color: var(--w-line) !important; }
html body #payment .payment_box { background: var(--w-surface) !important; border-radius: 12px; color: var(--w-text); }
html body #payment .payment_box::before { display: none; }
html body .nm-shop-notice, html body .woocommerce-message, html body .woocommerce-info,
html body .woocommerce-error, html body .woocommerce-notice { border-radius: 14px; }
html body .woocommerce-order-overview, html body ul.order_details {
	background: var(--w-surface) !important;
	border-radius: var(--w-radius-card);
	border: 0 !important;
}

/* ---------- Footer ---------- */
html body .nm-footer-bar { background: var(--w-footer-bg) !important; }
html body .nm-footer-bar, html body .nm-footer-bar-inner { color: var(--w-footer-fg); }
html body .nm-footer-bar .menu li a, html body #nm-footer-bar-menu li a {
	color: var(--w-footer-fg) !important;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .06em;
	opacity: .85;
}
html body .nm-footer-bar .menu li a:hover, html body #nm-footer-bar-menu li a:hover { opacity: 1; }
html body .nm-footer-bar-social a {
	display: inline-grid; place-items: center;
	width: 38px; height: 38px;
	border-radius: 999px;
	border: 1px solid rgba(127, 127, 127, .35);
	color: var(--w-footer-fg) !important;
	transition: background .2s var(--w-ease);
}
html body .nm-footer-bar-social a:hover { background: rgba(127, 127, 127, .18); }

/* ---------- Cookie bar ---------- */
html body #cookie-law-info-bar {
	border-radius: 20px !important;
	box-shadow: 0 24px 64px rgba(0, 0, 0, .16) !important;
	border: 1px solid var(--w-line) !important;
	color: var(--w-text) !important;
	font-family: var(--w-font-body);
	padding: 22px 24px !important;
	line-height: 1.55;
}
html body #cookie-law-info-bar .cli-plugin-button, html body #cookie-law-info-bar .cli_settings_button {
	border-radius: var(--w-radius-btn) !important;
	font-weight: 600 !important;
	padding: 11px 18px !important;
	font-size: 14px !important;
	margin-top: 8px;
}
html body #cookie-law-info-bar .wt-cli-accept-all-btn { background: var(--w-btn-bg) !important; color: var(--w-btn-fg) !important; }
html body #cookie-law-info-bar .cli_settings_button { background: transparent !important; color: var(--w-ink) !important; border: 1px solid var(--w-line-strong) !important; }

@media (prefers-reduced-motion: reduce) {
	html body *, html body *::before, html body *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---------- Tablet / phone ---------- */
@media (max-width: 1023px) {
	html body ul.products, html body .nm-products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 18px; }
}
@media (max-width: 767px) {
	html body ul.products, html body .nm-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
	html body .nm-shop-loop-details { padding-top: 12px !important; }
	html body .woocommerce-loop-product__title, html body .woocommerce-loop-product__title a,
	html body .nm-shop-loop-title-link { font-size: 13.5px !important; }
	html body ul.products .price { font-size: 15px !important; }
	html body .nm-shop-loop-actions { min-height: 42px; margin-top: 12px !important; }
	html body .nm-shop-loop-actions .button, html body ul.products .add_to_cart_button {
		height: 42px !important; min-height: 42px; padding: 0 10px !important; font-size: 13px !important;
	}
	html body .nm-shop-loop-product-wrap .nm-wishlist-button { width: 34px; height: 34px; top: calc(var(--w-card-pad) + 8px); right: calc(var(--w-card-pad) + 8px); }
	html body .nm-shop-categories li a { height: 36px; padding: 0 14px; font-size: 13.5px; }
	html body input[type="text"], html body input[type="email"], html body input[type="tel"],
	html body input[type="password"], html body select { font-size: 16px; }
}

/* Category chips: room for the pill height, no "⁄" dividers */
html body .nm-shop-menu,
html body .nm-shop-menu .nm-row > .col-xs-12 > div { overflow: visible !important; height: auto !important; }
html body .nm-shop-categories { margin: 0 !important; padding: 2px 0 !important; }
html body .nm-shop-categories-divider { display: none !important; }

@media (max-width: 767px) {
	html body .woocommerce-loop-product__title { -webkit-line-clamp: 3; min-height: 4.2em; }
	html body .nm-shop-loop-actions .button,
	html body ul.products .add_to_cart_button { font-size: 12.5px !important; letter-spacing: 0 !important; padding: 0 8px !important; }
	html body .nm-shop-loop-actions .button::after,
	html body ul.products .add_to_cart_button::after { display: none !important; }
	html body .nm-shop-loop-details { padding-left: 4px !important; padding-right: 4px !important; }
	html body .nm-menu-cart-count,
	html body .nm-menu-cart-count.nm-count-zero { background: none !important; color: inherit !important; min-width: 0; padding: 0; margin: 0; font-size: inherit; font-weight: inherit; vertical-align: baseline; }
}

/* Top carousel: exactly as wide as the product grid (no empty strips left and right) */
html body .nm-banner-slider {
	width: calc(100% - 30px) !important;
	max-width: 1220px;
	margin-left: auto !important;
	margin-right: auto !important;
}
@media (min-width: 992px) {
	html body .nm-banner-slider { width: calc(100% - 60px) !important; }
}
html body .nm-banner-slider .slick-list,
html body .nm-banner-slider .nm-banner { border-radius: var(--w-radius-card); }

/* ---------- Customer reviews: card grid ---------- */
html body .reviews .vc_custom_heading { margin-bottom: 28px; }
html body .reviews .woom-reviews-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	width: calc(100% - 30px) !important;
	max-width: 1220px;
	margin: 0 auto !important;
	border-radius: 0;
	overflow: visible !important;
	box-shadow: none !important;
}
@media (min-width: 992px) { html body .reviews .woom-reviews-grid { width: calc(100% - 60px) !important; } }
html body .reviews .woom-reviews-grid .slick-dots,
html body .reviews .woom-reviews-grid .slick-arrow { display: none !important; }
html body .reviews .woom-reviews-grid .nm-banner {
	position: relative;
	display: flex !important;
	flex-direction: column;
	gap: 14px;
	width: auto !important;
	height: auto !important;
	padding: 28px 26px 24px;
	background: var(--w-card-bg-solid, #fff);
	border: 1px solid var(--w-line);
	border-radius: var(--w-radius-card);
	box-shadow: var(--w-card-shadow);
	text-align: left;
	overflow: hidden;
}
html body .reviews .woom-reviews-grid .nm-banner::before {
	content: "\201C";
	position: absolute;
	top: 6px; right: 22px;
	font-family: Georgia, serif;
	font-size: 72px;
	line-height: 1;
	color: var(--w-accent);
	opacity: .25;
}
html body .reviews .woom-reviews-grid .nm-banner > img {
	width: 44px !important;
	height: 44px !important;
	border-radius: 999px;
	background: var(--w-surface);
	padding: 8px;
	object-fit: contain;
	order: 2;
	position: absolute;
	left: 26px; bottom: 22px;
}
html body .reviews .woom-reviews-grid .nm-banner-content,
html body .reviews .woom-reviews-grid .nm-banner-content-inner,
html body .reviews .woom-reviews-grid .nm-banner-text,
html body .reviews .woom-reviews-grid .nm-banner-text-inner {
	position: static !important;
	display: flex;
	flex-direction: column;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	transform: none !important;
	text-align: left !important;
}
html body .reviews .woom-reviews-grid .nm-banner-text-inner { flex-direction: column-reverse; gap: 18px; }
html body .reviews .woom-reviews-grid .nm-banner-subtitle {
	margin: 0 !important;
	font-family: var(--w-font-body) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	letter-spacing: 0 !important;
	color: var(--w-text) !important;
	display: -webkit-box;
	-webkit-line-clamp: 7;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
html body .reviews .woom-reviews-grid .nm-banner-title {
	margin: 0 !important;
	padding-left: 58px;
	min-height: 44px;
	display: flex;
	align-items: center;
	font-family: var(--w-font-body) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	color: var(--w-ink) !important;
}

/* ---------- Shop filter panel ---------- */
html body #nm-shop-sidebar.nm-shop-sidebar-header { padding: 8px 0 24px; }
html body #nm-shop-sidebar .nm-shop-sidebar-inner > .nm-row > .col-xs-12 {
	background: var(--w-card-bg-solid, #fff);
	border: 1px solid var(--w-line);
	border-radius: var(--w-radius-card);
	box-shadow: var(--w-card-shadow);
	padding: 24px 28px;
}
html body #nm-shop-widgets-ul {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 24px 40px;
	margin: 0 !important;
}
html body #nm-shop-widgets-ul::before, html body #nm-shop-widgets-ul::after { display: none !important; }
html body #nm-shop-widgets-ul > li { float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
html body #nm-shop-widgets-ul > li:has(.tagcloud:empty) { display: none !important; }
html body #nm-shop-sidebar .nm-widget-title {
	margin: 0 0 12px !important;
	font-family: var(--w-font-body) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase;
	color: var(--w-muted) !important;
}
html body #nm-shop-sidebar .nm-shop-widget-col { float: none !important; width: auto !important; padding: 0 !important; }
html body #nm-shop-sidebar ul.nm-product-sorting,
html body #nm-shop-sidebar ul.nm-price-filter,
html body #nm-shop-sidebar .tagcloud,
html body #nm-shop-sidebar .widget > ul:not(#nm-shop-widgets-ul) {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
}
html body #nm-shop-sidebar ul.nm-product-sorting li,
html body #nm-shop-sidebar ul.nm-price-filter li,
html body #nm-shop-sidebar .widget > ul:not(#nm-shop-widgets-ul) li { margin: 0 !important; padding: 0 !important; list-style: none; float: none !important; line-height: 1 !important; }
html body #nm-shop-sidebar ul.nm-product-sorting li a,
html body #nm-shop-sidebar ul.nm-price-filter li a,
html body #nm-shop-sidebar ul.nm-price-filter li.current,
html body #nm-shop-sidebar ul.nm-product-sorting li.active a,
html body #nm-shop-sidebar .tagcloud a,
html body #nm-shop-sidebar .widget > ul:not(#nm-shop-widgets-ul) li > a {
	display: inline-flex !important;
	align-items: center;
	height: 38px;
	padding: 0 16px !important;
	border: 1px solid var(--w-chip-border);
	border-radius: 999px;
	background: var(--w-chip-bg);
	color: var(--w-chip-fg) !important;
	font-size: 14px !important;
	font-weight: 500;
	text-decoration: none !important;
	transition: border-color .15s var(--w-ease), background .15s var(--w-ease), color .15s var(--w-ease);
}
html body #nm-shop-sidebar ul li a:hover,
html body #nm-shop-sidebar .tagcloud a:hover { border-color: var(--w-ink); color: var(--w-ink) !important; }
html body #nm-shop-sidebar ul.nm-price-filter li.current,
html body #nm-shop-sidebar ul.nm-product-sorting li.active a,
html body #nm-shop-sidebar ul li.chosen a,
html body #nm-shop-sidebar ul li.current-cat a {
	background: var(--w-chip-active-bg) !important;
	border-color: var(--w-chip-active-bg) !important;
	color: var(--w-chip-active-fg) !important;
}
html body #nm-shop-sidebar .woocommerce-Price-amount, html body #nm-shop-sidebar bdi { color: inherit !important; font-weight: inherit; }
html body .nm-shop-filter-btn-wrap a,
html body .nm-shop-search-btn-wrap a {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 18px !important;
	border: 1px solid var(--w-chip-border);
	border-radius: 999px;
	background: var(--w-chip-bg);
	font-size: 14px;
}
html body .nm-shop-filter-btn-wrap a::before {
	content: "";
	width: 16px; height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center/contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center/contain no-repeat;
}
html body.shop-filters-show .nm-shop-filter-btn-wrap a,
html body .nm-shop-filter-btn-wrap a.active {
	background: var(--w-chip-active-bg);
	border-color: var(--w-chip-active-bg);
	color: var(--w-chip-active-fg) !important;
}
@media (max-width: 767px) {
	html body #nm-shop-sidebar .nm-shop-sidebar-inner > .nm-row > .col-xs-12 { padding: 18px 16px; }
	html body #nm-shop-widgets-ul { grid-template-columns: 1fr; gap: 20px; }
}

/* Reviews: equal-height cards, author pinned to the bottom, text always left-aligned */
html body .reviews .woom-reviews-grid .nm-banner { align-self: stretch !important; }
html body .reviews .woom-reviews-grid .nm-banner-content { flex: 1 1 auto; }
html body .reviews .woom-reviews-grid .nm-banner-content-inner,
html body .reviews .woom-reviews-grid .nm-banner-text { flex: 1 1 auto; }
html body .reviews .woom-reviews-grid .nm-banner-text-inner { flex: 1 1 auto; flex-direction: column !important; }
html body .reviews .woom-reviews-grid .nm-banner-subtitle { order: 1; text-align: left !important; }
html body .reviews .woom-reviews-grid .nm-banner-title { order: 2; margin-top: auto !important; }
html body .reviews .woom-reviews-grid .nm-banner-subtitle * { text-align: left !important; }

/* Filter panel lines up with the product grid; tighter category pills */
html body #nm-shop-sidebar .nm-shop-sidebar-inner > .nm-row > .col-xs-12 { margin: 0 15px; width: auto; }
html body .nm-shop-categories li a { margin: 0 !important; }
html body .nm-shop-categories { gap: 10px; }
/* slick leaves two wrapper divs around each review after unslick: let them pass the full height through */
html body .reviews .woom-reviews-grid > div,
html body .reviews .woom-reviews-grid > div > div {
	display: flex !important;
	width: 100% !important;
	height: 100%;
}
html body .reviews .woom-reviews-grid .nm-banner { flex: 1 1 auto; width: 100% !important; }
html body .reviews .woom-reviews-grid .nm-banner-content,
html body .reviews .woom-reviews-grid .nm-banner-content-inner,
html body .reviews .woom-reviews-grid .nm-banner-text,
html body .reviews .woom-reviews-grid .nm-banner-text-inner { align-items: stretch !important; justify-content: flex-start !important; }
html body .reviews .woom-reviews-grid { margin-bottom: 64px !important; }

/* =========================================================
   Category tiles with delicate line icons
   ========================================================= */
:root {
	--w-ico-all: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6.5' height='6.5' rx='1.8'/%3E%3Crect x='13.5' y='4' width='6.5' height='6.5' rx='1.8'/%3E%3Crect x='4' y='13.5' width='6.5' height='6.5' rx='1.8'/%3E%3Crect x='13.5' y='13.5' width='6.5' height='6.5' rx='3.25'/%3E%3C/svg%3E");
	--w-ico-all-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6.5' height='6.5' rx='1.8'/%3E%3Crect x='13.5' y='4' width='6.5' height='6.5' rx='1.8'/%3E%3Crect x='4' y='13.5' width='6.5' height='6.5' rx='1.8'/%3E%3Crect x='13.5' y='13.5' width='6.5' height='6.5' rx='3.25'/%3E%3C/svg%3E");
	--w-ico-paste: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 2.8h5v2.6h-5z'/%3E%3Cpath d='M8.2 5.4h7.6l1.4 3v10.3a2.5 2.5 0 0 1-2.5 2.5H9.3a2.5 2.5 0 0 1-2.5-2.5V8.4z'/%3E%3Cpath d='M6.8 17.6h10.4'/%3E%3Cpath d='M10 10.5c1-.8 3-.8 4 0M10 13c1-.8 3-.8 4 0'/%3E%3C/svg%3E");
	--w-ico-paste-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 2.8h5v2.6h-5z'/%3E%3Cpath d='M8.2 5.4h7.6l1.4 3v10.3a2.5 2.5 0 0 1-2.5 2.5H9.3a2.5 2.5 0 0 1-2.5-2.5V8.4z'/%3E%3Cpath d='M6.8 17.6h10.4'/%3E%3Cpath d='M10 10.5c1-.8 3-.8 4 0M10 13c1-.8 3-.8 4 0'/%3E%3C/svg%3E");
	--w-ico-kids: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='13' r='7.2'/%3E%3Cpath d='M8.2 14.6c1.5 1.8 4.1 1.8 5.6 0'/%3E%3Cpath d='M8.6 11h.01M13.4 11h.01' stroke-width='2.2'/%3E%3Cpath d='M19.5 2.8v3.4M17.8 4.5h3.4'/%3E%3C/svg%3E");
	--w-ico-kids-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='13' r='7.2'/%3E%3Cpath d='M8.2 14.6c1.5 1.8 4.1 1.8 5.6 0'/%3E%3Cpath d='M8.6 11h.01M13.4 11h.01' stroke-width='2.2'/%3E%3Cpath d='M19.5 2.8v3.4M17.8 4.5h3.4'/%3E%3C/svg%3E");
	--w-ico-brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5 13 11'/%3E%3Cpath d='M12 9.6 17.6 4a1.6 1.6 0 0 1 2.3 0l.1.1a1.6 1.6 0 0 1 0 2.3L14.4 12z'/%3E%3Cpath d='M15 3.4 13.4 1.8M17.1 9.5l1.6 1.6M19 7.6l1.6 1.6M13.1 5.3 11.5 3.7'/%3E%3C/svg%3E");
	--w-ico-brush-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5 13 11'/%3E%3Cpath d='M12 9.6 17.6 4a1.6 1.6 0 0 1 2.3 0l.1.1a1.6 1.6 0 0 1 0 2.3L14.4 12z'/%3E%3Cpath d='M15 3.4 13.4 1.8M17.1 9.5l1.6 1.6M19 7.6l1.6 1.6M13.1 5.3 11.5 3.7'/%3E%3C/svg%3E");
	--w-ico-dent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.4 3.2C5.2 3.2 4 5 4 7.2c0 3 1.3 5 2.1 8 .8 3.1 1.1 5.6 2.5 5.6s1.6-3.2 3.4-3.2 2 3.2 3.4 3.2 1.7-2.5 2.5-5.6c.8-3 2.1-5 2.1-8 0-2.2-1.2-4-3.4-4-2 0-2.9 1-4.6 1S9.4 3.2 7.4 3.2z'/%3E%3Cpath d='M12 7.6v4.2M9.9 9.7h4.2'/%3E%3C/svg%3E");
	--w-ico-dent-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.4 3.2C5.2 3.2 4 5 4 7.2c0 3 1.3 5 2.1 8 .8 3.1 1.1 5.6 2.5 5.6s1.6-3.2 3.4-3.2 2 3.2 3.4 3.2 1.7-2.5 2.5-5.6c.8-3 2.1-5 2.1-8 0-2.2-1.2-4-3.4-4-2 0-2.9 1-4.6 1S9.4 3.2 7.4 3.2z'/%3E%3Cpath d='M12 7.6v4.2M9.9 9.7h4.2'/%3E%3C/svg%3E");
}
@media (min-width: 768px) {
	html body .nm-shop-menu #nm-shop-categories-wrap { display: block; width: 100%; float: none; clear: both; margin-top: 6px; }
	html body .nm-shop-menu #nm-shop-categories-wrap > ul { width: 100%; }
	html body ul.nm-shop-categories {
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 14px !important;
		padding: 4px 0 !important;
	}
	html body ul.nm-shop-categories > li { display: block; }
	html body ul.nm-shop-categories > li > a {
		position: relative;
		display: flex !important;
		flex-direction: column;
		align-items: flex-start;
		justify-content: space-between;
		gap: 18px;
		width: 100%;
		height: 116px !important;
		padding: 16px 18px !important;
		border-radius: 20px !important;
		border: 1px solid var(--w-line) !important;
		background: var(--w-card-bg-solid, #fff) !important;
		box-shadow: var(--w-card-shadow);
		color: var(--w-ink) !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		line-height: 1.25 !important;
		text-transform: none !important;
		letter-spacing: -0.005em !important;
		overflow: hidden;
		transition: transform .25s var(--w-ease), box-shadow .25s var(--w-ease), border-color .25s var(--w-ease), background .25s var(--w-ease);
	}
	html body ul.nm-shop-categories > li > a:hover { transform: translateY(-2px); box-shadow: var(--w-card-shadow-hover, var(--w-card-shadow)); border-color: var(--w-line-strong) !important; }
	/* soft decorative ring in the corner */
	html body ul.nm-shop-categories > li > a::after {
		content: "";
		position: absolute;
		right: -26px; bottom: -26px;
		width: 92px; height: 92px;
		border-radius: 999px;
		border: 1px solid var(--w-accent-soft);
		box-shadow: 0 0 0 14px rgba(255, 255, 255, 0), inset 0 0 0 14px var(--w-accent-soft);
		opacity: .55;
		transition: transform .4s var(--w-ease), opacity .3s;
	}
	html body ul.nm-shop-categories > li > a:hover::after { transform: scale(1.12); opacity: .9; }
	html body ul.nm-shop-categories > li.current-cat > a,
	html body ul.nm-shop-categories > li.active > a {
		background: var(--w-ink) !important;
		border-color: var(--w-ink) !important;
		color: #fff !important;
	}
	html body ul.nm-shop-categories > li.current-cat > a::after { border-color: rgba(255, 255, 255, .18); box-shadow: inset 0 0 0 14px rgba(255, 255, 255, .06); }
}
/* icon bubble (all widths) */
html body ul.nm-shop-categories > li > a { --ico: var(--w-ico-all); --ico-w: var(--w-ico-all-w); }
html body ul.nm-shop-categories > li.cat-item-54 > a { --ico: var(--w-ico-paste); --ico-w: var(--w-ico-paste-w); }
html body ul.nm-shop-categories > li.cat-item-56 > a { --ico: var(--w-ico-kids); --ico-w: var(--w-ico-kids-w); }
html body ul.nm-shop-categories > li.cat-item-63 > a { --ico: var(--w-ico-brush); --ico-w: var(--w-ico-brush-w); }
html body ul.nm-shop-categories > li.cat-item-61 > a { --ico: var(--w-ico-dent); --ico-w: var(--w-ico-dent-w); }
html body ul.nm-shop-categories > li > a::before {
	content: "";
	flex: 0 0 auto;
	width: 46px; height: 46px;
	border-radius: 14px;
	background: var(--ico) center / 26px 26px no-repeat, rgba(20, 163, 161, .12);
}
html body ul.nm-shop-categories > li.current-cat > a::before {
	background: var(--ico-w) center / 26px 26px no-repeat, rgba(255, 255, 255, .12);
}
@media (max-width: 767px) {
	html body ul.nm-shop-categories { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
	html body ul.nm-shop-categories > li > a {
		display: flex !important; align-items: center; gap: 10px;
		width: 100%; height: 60px !important; padding: 0 12px !important;
		border-radius: 16px !important; border: 1px solid var(--w-line) !important;
		background: var(--w-card-bg-solid, #fff) !important;
		font-size: 14px !important; font-weight: 600 !important; color: var(--w-ink) !important;
	}
	html body ul.nm-shop-categories > li > a::before { width: 36px; height: 36px; border-radius: 11px; }
	html body ul.nm-shop-categories > li.current-cat > a { background: var(--w-ink) !important; color: #fff !important; border-color: var(--w-ink) !important; }
}

/* =========================================================
   Header: account / cart cluster
   ========================================================= */
@media (min-width: 992px) {
	html body #nm-right-menu-ul { display: flex !important; align-items: center; justify-content: flex-end; gap: 8px; line-height: 1 !important; }
	html body #nm-right-menu-ul > li { float: none !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; }
	html body #nm-right-menu-ul > li > a {
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
		height: 42px;
		padding: 0 16px !important;
		border-radius: 999px;
		border: 1px solid var(--w-line);
		background: rgba(255, 255, 255, .75);
		color: var(--w-ink) !important;
		opacity: 1 !important;
		font-size: 14.5px !important;
		font-weight: 600 !important;
		line-height: 1 !important;
		transition: background .2s var(--w-ease), border-color .2s var(--w-ease), transform .2s var(--w-ease);
	}
	html body #nm-right-menu-ul > li > a:hover { border-color: var(--w-ink); background: #fff; }
	html body #nm-right-menu-ul > li > a::after { display: none !important; }
	html body #nm-right-menu-ul > li.nm-menu-wishlist > a { width: 42px; padding: 0 !important; justify-content: center; }
	html body #nm-right-menu-ul > li.nm-menu-wishlist i { font-size: 17px; line-height: 1; }
	html body #nm-right-menu-ul > li.nm-menu-account > a::before,
	html body #nm-right-menu-ul > li.nm-menu-cart > a::before {
		content: "";
		width: 18px; height: 18px;
		background: currentColor;
		-webkit-mask: var(--hico) center / contain no-repeat;
		        mask: var(--hico) center / contain no-repeat;
	}
	html body #nm-right-menu-ul > li.nm-menu-account > a { --hico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20.5c1.2-3.6 4-5.5 7.5-5.5s6.3 1.9 7.5 5.5'/%3E%3C/svg%3E"); }
	html body #nm-right-menu-ul > li.nm-menu-cart > a {
		--hico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 11.2a2 2 0 0 1-2 1.8H8.2a2 2 0 0 1-2-1.8z'/%3E%3Cpath d='M9 10V7a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E");
		background: var(--w-btn-bg) !important;
		border-color: var(--w-btn-bg) !important;
		color: #fff !important;
		padding-right: 8px !important;
	}
	html body #nm-right-menu-ul > li.nm-menu-cart > a:hover { background: var(--w-btn-hover-bg) !important; }
	html body #nm-right-menu-ul > li.nm-menu-cart .nm-menu-cart-title { color: #fff !important; }
	html body #nm-right-menu-ul > li.nm-menu-cart .nm-menu-cart-count,
	html body #nm-right-menu-ul > li.nm-menu-cart .nm-menu-cart-count.nm-count-zero {
		min-width: 26px; height: 26px; margin: 0 !important; padding: 0 8px;
		border-radius: 999px;
		background: rgba(255, 255, 255, .16) !important;
		color: #fff !important;
		font-size: 12.5px; font-weight: 700;
		vertical-align: middle;
	}
	html body #nm-right-menu-ul > li.nm-menu-cart .nm-menu-cart-count:not(.nm-count-zero) { background: var(--w-btn-list-bg, #f15151) !important; }
	html body a.create-partner-account {
		display: inline-flex !important;
		align-items: center;
		gap: 6px;
		margin-top: 10px;
		float: right;
		font-size: 13px !important;
		font-weight: 500;
		line-height: 1 !important;
		color: var(--w-muted) !important;
		text-decoration: none !important;
		transition: color .2s var(--w-ease), gap .2s var(--w-ease);
	}
	html body a.create-partner-account::after { content: "→"; font-size: 14px; transition: transform .2s var(--w-ease); }
	html body a.create-partner-account:hover { color: var(--w-ink) !important; }
	html body a.create-partner-account:hover::after { transform: translateX(3px); }
}

@media (min-width: 992px) {
	html body #nm-right-menu-ul > li.nm-menu-cart .nm-menu-cart-count { position: static !important; top: auto !important; right: auto !important; display: inline-grid !important; place-items: center; }
}
html body ul.nm-shop-categories > li { border: 0 !important; box-shadow: none !important; }

/* =========================================================
   "O marce WOOM" page
   ========================================================= */
html body.woom-about .woom-about-spacer,
html body.woom-about .vc_empty_space,
html body.woom-about .woom-empty { display: none !important; }
html body.woom-about .nm-page-default { padding-top: 0 !important; }
html body.woom-about .nm-page-default > .nm-page-default-col { padding: 0 !important; }
html body.woom-about .nm-page-default .page > .vc_row { margin-left: auto !important; margin-right: auto !important; max-width: 1220px; }

/* Hero: label + big headline on the soft teal stage */
html body.woom-about .woom-about-hero {
	position: relative;
	max-width: none !important;
	padding: 64px 15px 36px !important;
	text-align: center;
}
html body.woom-about .woom-about-hero::before {
	content: "";
	position: absolute;
	left: 50%; top: 0;
	width: 100vw; height: 560px;
	transform: translateX(-50%);
	background:
		radial-gradient(900px 380px at 30% 0%, rgba(20, 163, 161, .16), transparent 65%),
		linear-gradient(180deg, #e7f0f2 0%, var(--w-page-bg) 100%);
	z-index: -1;
}
html body.woom-about .woom-about-hero .col-sm-10 { float: none; width: 100%; max-width: 940px; margin: 0 auto; }
html body.woom-about .woom-about-hero .wpb_wrapper::before {
	content: "O marce WOOM";
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 14px;
	margin-bottom: 20px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--w-line);
	color: var(--w-accent-text);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
html body.woom-about .woom-about-hero .wpb_text_column .wpb_wrapper::before { display: none; }
html body.woom-about .woom-about-hero h3 {
	margin: 0 auto !important;
	font-size: clamp(30px, 4vw, 52px) !important;
	line-height: 1.08 !important;
	font-weight: 750 !important;
	letter-spacing: -0.035em !important;
	color: var(--w-ink) !important;
	text-wrap: balance;
}

/* Banner in a rounded, lifted card */
html body.woom-about .woom-about-banner { padding: 0 15px 56px !important; }
html body.woom-about .woom-about-banner .nm-banner {
	border-radius: 30px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 30px 80px rgba(11, 31, 42, .14);
	border: 1px solid var(--w-line);
}

/* Why we exist: heading column + white reading card */
html body.woom-about .woom-about-why,
html body.woom-about .woom-about-contact {
	display: grid !important;
	grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
	gap: 40px;
	padding: 0 15px 56px !important;
}
html body.woom-about .woom-about-why > .nm_column,
html body.woom-about .woom-about-contact > .nm_column { float: none !important; width: auto !important; padding: 0 !important; }
html body.woom-about .woom-about-why h4,
html body.woom-about .woom-about-contact h4 {
	position: sticky;
	top: 150px;
	margin: 0 !important;
	padding-top: 6px;
	font-size: 28px !important;
	line-height: 1.15 !important;
	font-weight: 750 !important;
	letter-spacing: -0.03em !important;
	color: var(--w-ink) !important;
}
html body.woom-about .woom-about-why h4::before,
html body.woom-about .woom-about-contact h4::before {
	content: "";
	display: block;
	width: 36px; height: 4px;
	margin-bottom: 16px;
	border-radius: 999px;
	background: var(--w-accent);
}
html body.woom-about .woom-about-why .col-sm-7 > .vc_column-inner > .wpb_wrapper > .wpb_text_column {
	background: #fff;
	border: 1px solid var(--w-line);
	border-radius: 28px;
	box-shadow: var(--w-card-shadow);
	padding: 40px 44px;
}
html body.woom-about .woom-about-why p {
	margin: 0 0 18px !important;
	font-size: 17px !important;
	line-height: 1.75 !important;
	color: var(--w-text) !important;
}
html body.woom-about .woom-about-why p:first-child { font-size: 19px !important; color: var(--w-ink) !important; font-weight: 500; }

/* The four questions as cards */
html body.woom-about .woom-about-why ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0 30px !important;
	padding: 0 !important;
	list-style: none !important;
}
html body.woom-about .woom-about-why ul li.woom-q {
	position: relative;
	margin: 0 !important;
	padding: 20px 20px 20px 66px !important;
	list-style: none !important;
	background: var(--w-surface);
	border-radius: 18px;
	font-size: 15.5px;
	line-height: 1.5;
	font-weight: 550;
	color: var(--w-ink);
}
html body.woom-about .woom-about-why ul li.woom-q::before {
	content: "?";
	position: absolute;
	left: 18px; top: 18px;
	display: grid; place-items: center;
	width: 34px; height: 34px;
	border-radius: 11px;
	background: #fff;
	color: var(--w-accent-text);
	font-size: 17px;
	font-weight: 800;
	box-shadow: 0 2px 8px rgba(11, 31, 42, .06);
}
html body.woom-about .woom-about-why ul li.woom-q::marker { content: none; }

/* Closing line as a quote card */
html body.woom-about .woom-about-why p.woom-quote {
	position: relative;
	margin: 28px 0 0 !important;
	padding: 28px 30px 28px 76px;
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(20, 163, 161, .12), rgba(20, 163, 161, .04));
	color: var(--w-ink) !important;
	font-size: 19px !important;
	line-height: 1.55 !important;
}
html body.woom-about .woom-about-why p.woom-quote::before {
	content: "\201C";
	position: absolute;
	left: 24px; top: 14px;
	font-family: Georgia, serif;
	font-size: 64px;
	line-height: 1;
	color: var(--w-accent);
}
html body.woom-about .woom-about-why p.woom-quote em,
html body.woom-about .woom-about-why p.woom-quote strong { font-style: normal; font-weight: 650; color: inherit; }

/* Contact cards */
html body.woom-about .woom-about-contact .col-sm-7 .wpb_text_column > .wpb_wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
html body.woom-about .woom-about-contact p.woom-contact-mail,
html body.woom-about .woom-about-contact p.woom-contact-address {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 !important;
	padding: 24px 24px 24px 84px;
	background: #fff;
	border: 1px solid var(--w-line);
	border-radius: 22px;
	box-shadow: var(--w-card-shadow);
	font-size: 16.5px !important;
	line-height: 1.45 !important;
	color: var(--w-ink) !important;
	font-weight: 600;
}
html body.woom-about .woom-contact-label { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--w-muted); }
html body.woom-about .woom-contact-mail a { color: var(--w-ink) !important; text-decoration: none !important; }
html body.woom-about .woom-contact-mail a:hover { color: var(--w-accent-text) !important; }
html body.woom-about .woom-contact-mail::before,
html body.woom-about .woom-contact-address::before {
	content: "";
	position: absolute;
	left: 22px; top: 50%;
	width: 46px; height: 46px;
	transform: translateY(-50%);
	border-radius: 14px;
	background: var(--ico) center / 24px 24px no-repeat, rgba(20, 163, 161, .12);
}
html body.woom-about .woom-contact-mail { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
html body.woom-about .woom-contact-address { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
html body.woom-about .woom-about-contact { padding-bottom: 80px !important; }

@media (max-width: 767px) {
	html body.woom-about .woom-about-hero { padding: 40px 15px 24px !important; }
	html body.woom-about .woom-about-banner { padding-bottom: 32px !important; }
	html body.woom-about .woom-about-banner .nm-banner { border-radius: 20px; }
	html body.woom-about .woom-about-why,
	html body.woom-about .woom-about-contact { grid-template-columns: 1fr; gap: 16px; padding-bottom: 36px !important; }
	html body.woom-about .woom-about-why h4, html body.woom-about .woom-about-contact h4 { position: static; font-size: 24px !important; }
	html body.woom-about .woom-about-why .col-sm-7 > .vc_column-inner > .wpb_wrapper > .wpb_text_column { padding: 24px 20px; border-radius: 22px; }
	html body.woom-about .woom-about-why p { font-size: 16px !important; }
	html body.woom-about .woom-about-why p:first-child { font-size: 17px !important; }
	html body.woom-about .woom-about-why ul { grid-template-columns: 1fr; }
	html body.woom-about .woom-about-why p.woom-quote { padding: 22px 20px 22px 60px; font-size: 17px !important; }
	html body.woom-about .woom-about-why p.woom-quote::before { left: 16px; font-size: 52px; }
	html body.woom-about .woom-about-contact .col-sm-7 .wpb_text_column > .wpb_wrapper { grid-template-columns: 1fr; }
}
html body.woom-about .woom-about-why::before, html body.woom-about .woom-about-why::after,
html body.woom-about .woom-about-contact::before, html body.woom-about .woom-about-contact::after { display: none !important; content: none !important; }
html body.woom-about .woom-about-why > .nm_column > .vc_column-inner,
html body.woom-about .woom-about-contact > .nm_column > .vc_column-inner { padding: 0 !important; }
html body.woom-about .woom-about-banner > .nm_column,
html body.woom-about .woom-about-banner > .nm_column > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }

/* =========================================================
   Contact page
   ========================================================= */
html body.woom-contact .nm-page-default { padding-top: 0 !important; }
html body.woom-contact .nm-page-default > .nm-page-default-col { padding: 0 !important; }
html body.woom-contact .nm-page-default .page > .vc_row { max-width: 1220px; margin-left: auto !important; margin-right: auto !important; }
html body.woom-contact .vc_empty_space { display: none !important; }

html body.woom-contact .woom-contact-hero { position: relative; padding: 64px 15px 40px !important; text-align: center; }
html body.woom-contact .woom-contact-hero::before {
	content: "";
	position: absolute; left: 50%; top: 0;
	width: 100vw; height: 520px;
	transform: translateX(-50%);
	background:
		radial-gradient(900px 380px at 70% 0%, rgba(20, 163, 161, .16), transparent 65%),
		linear-gradient(180deg, #e7f0f2 0%, var(--w-page-bg) 100%);
	z-index: -1;
}
html body.woom-contact .woom-contact-hero::after { display: none !important; }
html body.woom-contact .woom-contact-hero h2 {
	margin: 0 !important;
	text-align: center !important;
	font-size: clamp(36px, 4.6vw, 60px) !important;
	line-height: 1.05 !important;
	font-weight: 750 !important;
	letter-spacing: -0.04em !important;
	color: var(--w-ink) !important;
}
html body.woom-contact .woom-contact-hero h2::after {
	content: "Napisz do nas — chętnie pomożemy.";
	display: block;
	margin-top: 14px;
	font-size: 17px;
	font-weight: 450;
	letter-spacing: 0;
	color: var(--w-muted);
}

html body.woom-contact .woom-contact-main {
	display: grid !important;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 28px;
	align-items: start;
	padding: 0 15px 90px !important;
}
html body.woom-contact .woom-contact-main::before, html body.woom-contact .woom-contact-main::after { display: none !important; content: none !important; }
html body.woom-contact .woom-contact-main > .nm_column,
html body.woom-contact .woom-contact-main > .nm_column > .vc_column-inner { float: none !important; width: auto !important; padding: 0 !important; }

/* Left: contact cards */
html body.woom-contact .woom-contact-info .nm-feature { display: block; position: sticky; top: 150px; }
html body.woom-contact .woom-contact-info .nm-feature-icon { display: none; }
html body.woom-contact .woom-contact-info .nm-feature-content { padding: 0 !important; margin: 0 !important; }
html body.woom-contact .woom-contact-info .nm-feature-content h2 {
	margin: 0 0 16px !important;
	font-size: 24px !important;
	font-weight: 750 !important;
	letter-spacing: -0.03em !important;
	color: var(--w-ink) !important;
}
html body.woom-contact .woom-contact-info .nm-feature-content h2::before {
	content: ""; display: block; width: 36px; height: 4px; margin-bottom: 14px; border-radius: 999px; background: var(--w-accent);
}
html body.woom-contact .woom-contact-info .wpb_text_column { display: grid; gap: 12px; }
html body.woom-contact .woom-contact-info p.woom-contact-mail,
html body.woom-contact .woom-contact-info p.woom-contact-address {
	position: relative;
	display: flex; flex-direction: column; gap: 5px;
	margin: 0 !important;
	padding: 20px 20px 20px 80px;
	background: #fff;
	border: 1px solid var(--w-line);
	border-radius: 22px;
	box-shadow: var(--w-card-shadow);
	color: var(--w-ink) !important;
	font-size: 16px !important;
	font-weight: 600;
	line-height: 1.45 !important;
}
html body.woom-contact .woom-contact-label { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--w-muted); }
html body.woom-contact .woom-contact-mail a { color: var(--w-ink) !important; text-decoration: none !important; word-break: break-all; }
html body.woom-contact .woom-contact-mail a:hover { color: var(--w-accent-text) !important; }
html body.woom-contact .woom-contact-mail::before,
html body.woom-contact .woom-contact-address::before {
	content: "";
	position: absolute; left: 18px; top: 50%;
	width: 46px; height: 46px;
	transform: translateY(-50%);
	border-radius: 14px;
	background: var(--ico) center / 24px 24px no-repeat, rgba(20, 163, 161, .12);
}
html body.woom-contact .woom-contact-mail { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
html body.woom-contact .woom-contact-address { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6b6a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }

/* Right: the form card */
html body.woom-contact .woom-contact-formcol .wpcf7 {
	background: #fff;
	border: 1px solid var(--w-line);
	border-radius: 28px;
	box-shadow: var(--w-card-shadow);
	padding: 36px 40px 32px;
}
html body.woom-contact .wpcf7-form > p { margin: 0 0 18px !important; }
html body.woom-contact .wpcf7-form label {
	display: block;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--w-ink) !important;
}
html body.woom-contact .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
html body.woom-contact .wpcf7-form input[type="text"],
html body.woom-contact .wpcf7-form input[type="email"],
html body.woom-contact .wpcf7-form textarea {
	width: 100% !important;
	min-height: 52px;
	background: var(--w-page-bg) !important;
	border: 1px solid transparent !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	font-size: 16px;
}
html body.woom-contact .wpcf7-form textarea { min-height: 150px; height: 150px; resize: vertical; }
html body.woom-contact .wpcf7-form input:hover,
html body.woom-contact .wpcf7-form textarea:hover { border-color: var(--w-line-strong) !important; }
html body.woom-contact .wpcf7-form input:focus,
html body.woom-contact .wpcf7-form textarea:focus { background: #fff !important; border-color: var(--w-accent) !important; box-shadow: 0 0 0 4px var(--w-accent-soft) !important; }
/* first two fields side by side on wide screens */
@media (min-width: 992px) {
	html body.woom-contact .wpcf7-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
	html body.woom-contact .wpcf7-form > * { grid-column: 1 / -1; }
	html body.woom-contact .wpcf7-form > p:nth-of-type(1),
	html body.woom-contact .wpcf7-form > p:nth-of-type(2) { grid-column: span 1; }
	html body.woom-contact .wpcf7-form > input[type="hidden"], html body.woom-contact .wpcf7-form > div:first-child { display: none; }
}

/* Validation */
html body.woom-contact .wpcf7-not-valid { border-color: #dc2626 !important; background: #fff7f7 !important; }
html body.woom-contact .wpcf7-not-valid-tip {
	display: flex; align-items: center; gap: 6px;
	margin-top: 6px;
	font-size: 13px !important;
	color: #b91c1c !important;
}
html body.woom-contact .wpcf7-not-valid-tip::before {
	content: "!"; display: inline-grid; place-items: center;
	width: 16px; height: 16px; border-radius: 999px;
	background: #dc2626; color: #fff; font-size: 11px; font-weight: 800;
}
html body.woom-contact .wpcf7-response-output {
	margin: 18px 0 0 !important;
	padding: 14px 18px !important;
	border: 0 !important;
	border-radius: 14px;
	font-size: 14.5px;
	font-weight: 500;
}
html body.woom-contact .wpcf7 form.invalid .wpcf7-response-output,
html body.woom-contact .wpcf7 form.unaccepted .wpcf7-response-output,
html body.woom-contact .wpcf7 form.spam .wpcf7-response-output,
html body.woom-contact .wpcf7 form.failed .wpcf7-response-output { background: #fef2f2; color: #991b1b; }
html body.woom-contact .wpcf7 form.sent .wpcf7-response-output { background: rgba(20, 163, 161, .12); color: #0b5f5e; }

/* Image captcha: three selectable tiles */
html body.woom-contact .kc_captcha { margin-top: 4px; }
html body.woom-contact .captcha-image {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 18px 20px !important;
	background: var(--w-page-bg) !important;
	border: 1px solid var(--w-line) !important;
	border-radius: 18px !important;
}
html body.woom-contact .cf7ic_instructions {
	flex: 1 1 100%;
	margin: 0 0 4px !important;
	font-size: 14px !important;
	color: var(--w-text) !important;
}
html body.woom-contact .cf7ic_instructions span { color: var(--w-ink) !important; font-weight: 700; }
html body.woom-contact .captcha-image label {
	display: inline-grid !important;
	place-items: center;
	width: 64px; height: 56px;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 14px;
	background: #fff;
	border: 1.5px solid var(--w-line) !important;
	cursor: pointer;
	transition: border-color .15s var(--w-ease), box-shadow .15s var(--w-ease), transform .15s var(--w-ease);
}
html body.woom-contact .captcha-image label:hover { border-color: var(--w-line-strong) !important; transform: translateY(-1px); }
html body.woom-contact .captcha-image label svg { width: 26px !important; height: 26px !important; color: var(--w-ink); fill: currentColor; padding: 0 !important; border: 0 !important; outline: 0 !important; box-shadow: none !important; }
html body.woom-contact .captcha-image label > input { position: absolute; opacity: 0; pointer-events: none; }
html body.woom-contact .captcha-image label:has(input:checked) {
	border-color: var(--w-accent) !important;
	box-shadow: 0 0 0 4px var(--w-accent-soft);
	background: #f3fbfb;
}
html body.woom-contact .captcha-image label:has(input:checked) svg { color: #0b6b6a; }

/* Submit */
html body.woom-contact .wpcf7-submit {
	display: inline-flex !important;
	align-items: center; justify-content: center;
	min-width: 220px;
	height: 54px;
	margin-top: 6px;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: var(--w-btn-bg) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 650 !important;
	cursor: pointer;
	transition: background .2s var(--w-ease), transform .2s var(--w-ease);
}
html body.woom-contact .wpcf7-submit:hover { background: var(--w-btn-hover-bg) !important; transform: translateY(-1px); }
html body.woom-contact .wpcf7-spinner { vertical-align: middle; margin-left: 12px; }

@media (max-width: 767px) {
	html body.woom-contact .woom-contact-hero { padding: 40px 15px 24px !important; }
	html body.woom-contact .woom-contact-hero h2::after { font-size: 15px; }
	html body.woom-contact .woom-contact-main { grid-template-columns: 1fr; gap: 18px; padding-bottom: 48px !important; }
	html body.woom-contact .woom-contact-info .nm-feature { position: static; }
	html body.woom-contact .woom-contact-formcol .wpcf7 { padding: 22px 18px 20px; border-radius: 22px; }
	html body.woom-contact .wpcf7-submit { width: 100%; }
	html body.woom-contact .captcha-image label { width: 58px; height: 52px; }
}
/* page-builder "full width" rows get inline left/width from JS: keep them in the content container */
html body.woom-contact .nm-page-default .page > .vc_row { position: relative !important; left: auto !important; width: 100% !important; box-sizing: border-box; }
html body.woom-contact .nm-page-default .page > .vc_row-full-width { display: none !important; }
html body.woom-contact .woom-contact-hero { padding-bottom: 52px !important; }
html body.woom-contact .woom-contact-info .nm-feature,
html body.woom-contact .woom-contact-info .nm-feature-content { padding-left: 0 !important; margin-left: 0 !important; }
html body.woom-contact .captcha-image { text-align: left !important; }
html body.woom-contact .cf7ic_instructions { text-align: left !important; }
html body.woom-contact .captcha-image label { width: 64px !important; height: 56px !important; min-width: 64px; }
html body.woom-contact .wpcf7-response-output:empty,
html body.woom-contact .wpcf7 form.init .wpcf7-response-output { display: none !important; }
@media (max-width: 767px) { html body.woom-contact .captcha-image label { width: 58px !important; height: 52px !important; min-width: 58px; } }
@media (max-width: 767px) { html body.woom-contact .woom-contact-formcol .wpcf7 { margin: 0 !important; } html body.woom-contact .woom-contact-formcol, html body.woom-contact .woom-contact-formcol > .vc_column-inner, html body.woom-contact .woom-contact-formcol .wpb_wrapper { margin: 0 !important; padding: 0 !important; } }
