/* Nippon-ya design system (Bricks). Colours = existing brand. Fonts: 2. Text sizes: 5. */
:root {
	--ny-navy: #1F2338;
	--ny-pink: #F08590;
	--ny-red: #E30613;
	--ny-text: #3F3F3F;
	--ny-white: #FFFFFF;
	--ny-mist: #F5F6F8;
	--ny-line: #E3E5EB;
	--ny-pink-tint: #FDEEF0;
	--ny-muted: #6B6E7A;

	--ny-font-head: "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;
	--ny-font-body: "Roboto", "Hiragino Sans", "Noto Sans JP", sans-serif;

	/* The only five text sizes on the site (px: Bricks sets html to 62.5%) */
	--ny-fs-1: 13px;                             /* meta, badges, labels */
	--ny-fs-2: 16px; /* 16px keeps iOS from zooming into form fields */                             /* body, buttons, card titles */
	--ny-fs-3: 18px;                             /* prices, h3, lead */
	--ny-fs-4: clamp(22px, 18.4px + 0.9vw, 28px); /* h2, product title */
	--ny-fs-5: clamp(28px, 21px + 1.8vw, 40px);   /* h1 */

	--ny-radius: 6px;
	--ny-radius-lg: 10px;
	--ny-gap: 24px;
	--ny-wrap: 1280px;
	--ny-gutter: clamp(16px, 3vw, 32px);
	--ny-shadow: 0 6px 20px rgba(31, 35, 56, 0.08);
}

/* ---------- Base ---------- */
body {
	font-family: var(--ny-font-body);
	font-size: var(--ny-fs-2);
	line-height: 1.65;
	color: var(--ny-text);
	background: var(--ny-white);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--ny-font-head);
	font-weight: 700;
	color: var(--ny-navy);
	line-height: 1.2;
	margin: 0 0 0.5em;
}
h1 { font-size: var(--ny-fs-5); line-height: 1.1; }
h2 { font-size: var(--ny-fs-4); }
h3 { font-size: var(--ny-fs-3); }
h4, h5, h6 { font-size: var(--ny-fs-2); }
small, .ny-meta { font-size: var(--ny-fs-1); }
a { color: var(--ny-navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ny-red); }
:focus-visible { outline: 2px solid var(--ny-red); outline-offset: 2px; }
img { max-width: 100%; height: auto; }

.ny-wrap {
	width: 100%;
	max-width: var(--ny-wrap);
	margin-inline: auto;
	padding-inline: var(--ny-gutter);
}
.ny-section { padding-block: clamp(32px, 5vw, 64px); }
.ny-section--mist { background: var(--ny-mist); }
.ny-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	border-bottom: 2px solid var(--ny-navy);
	padding-bottom: 10px;
}
.ny-section-head h2 { margin: 0; }
.ny-section-head a { font-size: var(--ny-fs-2); font-weight: 700; text-decoration: none; }
.ny-note { font-size: var(--ny-fs-1); color: var(--ny-muted); margin: -8px 0 20px; }

/* ---------- Buttons: one system everywhere ---------- */
.ny-btn,
.bricks-button,
.button,
button.button,
input[type="submit"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.jet-ajax-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 22px;
	border: 2px solid var(--ny-navy);
	border-radius: var(--ny-radius);
	background: var(--ny-navy);
	color: var(--ny-white);
	font-family: var(--ny-font-body);
	font-size: var(--ny-fs-2);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
.ny-btn:hover,
.bricks-button:hover,
.button:hover,
input[type="submit"]:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.jet-ajax-search__submit:hover {
	background: var(--ny-red);
	border-color: var(--ny-red);
	color: var(--ny-white);
}
/* Secondary: outline */
.ny-btn--ghost {
	background: transparent;
	color: var(--ny-navy);
}
.ny-btn--ghost:hover { background: var(--ny-navy); border-color: var(--ny-navy); }
/* On dark grounds the button inverts so text stays readable */
.ny-on-dark .ny-btn,
.ny-on-dark .button {
	background: var(--ny-white);
	border-color: var(--ny-white);
	color: var(--ny-navy);
}
.ny-on-dark .ny-btn:hover,
.ny-on-dark .button:hover { background: var(--ny-pink); border-color: var(--ny-pink); color: var(--ny-navy); }
.button:disabled,
.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	background: var(--ny-line);
	border-color: var(--ny-line);
	color: var(--ny-muted);
	cursor: not-allowed;
}
.woocommerce a.added_to_cart {
	display: block;
	margin-top: 6px;
	font-size: var(--ny-fs-1);
	font-weight: 700;
	text-align: center;
}

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="number"], input[type="search"], input[type="date"], select, textarea,
.select2-container .select2-selection--single {
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid #C9CCD6;
	border-radius: var(--ny-radius);
	background: var(--ny-white);
	color: var(--ny-text);
	font-family: var(--ny-font-body);
	font-size: var(--ny-fs-2);
}
input:focus, select:focus, textarea:focus { border-color: var(--ny-navy); outline: none; box-shadow: 0 0 0 3px var(--ny-pink-tint); }
label { font-size: var(--ny-fs-1); font-weight: 700; color: var(--ny-navy); }
::placeholder { color: var(--ny-muted); opacity: 1; }

/* ---------- Header ---------- */
.ny-topbar {
	background: var(--ny-navy);
	color: var(--ny-white);
	font-size: var(--ny-fs-1);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
	padding: 8px var(--ny-gutter);
}
.ny-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--ny-white);
	border-bottom: 1px solid var(--ny-line);
}
.ny-header__main {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(12px, 3vw, 40px);
	padding-block: 12px;
}
.ny-header__logo img { width: auto; height: 52px; display: block; }
.ny-header__actions { display: flex; align-items: center; gap: 18px; }
.ny-header__actions a { font-size: var(--ny-fs-2); font-weight: 700; text-decoration: none; color: var(--ny-navy); }
.ny-header__actions a:hover { color: var(--ny-red); }
.ny-header__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-top: 1px solid var(--ny-line);
}
.ny-header__nav .bricks-nav-menu > li > a,
.ny-header__nav .brx-nav-nested-items > li > a,
.ny-header__nav .brx-submenu-toggle > a,
.ny-header__nav .brx-submenu-toggle > span {
	font-size: var(--ny-fs-2);
	font-weight: 700;
	color: var(--ny-navy);
	padding-block: 12px;
}
.ny-quicklinks { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ny-quicklinks a {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: var(--ny-fs-1);
	font-weight: 700;
	text-decoration: none;
	background: var(--ny-pink-tint);
	color: var(--ny-navy);
}
.ny-quicklinks a:hover { background: var(--ny-pink); color: var(--ny-navy); }
.ny-quicklinks a.is-sale { background: var(--ny-red); color: var(--ny-white); }

/* Mega menu (Products dropdown) */
.ny-mega {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 32px;
	padding: 24px var(--ny-gutter);
	background: var(--ny-white);
	box-shadow: var(--ny-shadow);
	border-top: 2px solid var(--ny-navy);
}
.ny-mega h3 { font-size: var(--ny-fs-2); margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid var(--ny-line); }
.ny-mega h3 a { text-decoration: none; }
.ny-mega .bricks-nav-menu { flex-direction: column; gap: 0; }
.ny-mega .bricks-nav-menu a { font-size: var(--ny-fs-2); padding: 3px 0; color: var(--ny-text); }
.ny-mega .bricks-nav-menu a:hover { color: var(--ny-red); }

/* JetSearch inside header */
.ny-header .jet-ajax-search__form { border: 2px solid var(--ny-navy); border-radius: var(--ny-radius); overflow: hidden; background: var(--ny-white); }
.ny-header .jet-ajax-search__field { border: 0 !important; min-height: 40px; box-shadow: none !important; }
.ny-header .jet-ajax-search__submit { border-radius: 0; min-height: 40px; }
.ny-header .jet-ajax-search__categories-select { border: 0; border-left: 1px solid var(--ny-line); border-radius: 0; font-size: var(--ny-fs-1); }

/* Mini cart */
.ny-header .brxe-woocommerce-mini-cart .cart-count {
	background: var(--ny-red);
	color: var(--ny-white);
	font-size: var(--ny-fs-1);
	font-weight: 700;
}

@media (max-width: 991px) {
	.ny-header__main { grid-template-columns: auto 1fr auto; }
	.ny-header__search { grid-column: 1 / -1; grid-row: 2; }
	.ny-header__logo img { height: 40px; }
	.ny-quicklinks { display: none; }
}

/* ---------- Hero / banners ---------- */
.ny-hero img { width: 100%; display: block; border-radius: var(--ny-radius-lg); }
.ny-banners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ny-gap); }
.ny-banners a { display: block; border-radius: var(--ny-radius-lg); overflow: hidden; }
.ny-banners img { width: 100%; display: block; transition: transform 0.3s; }
.ny-banners a:hover img { transform: scale(1.03); }
@media (max-width: 767px) { .ny-banners { grid-template-columns: 1fr; } }

/* ---------- Category tiles ---------- */
.ny-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 16px;
}
.ny-cat-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 12px 8px;
	border-radius: var(--ny-radius-lg);
	background: var(--ny-white);
	border: 1px solid var(--ny-line);
	text-decoration: none;
	text-align: center;
	transition: border-color 0.15s, background-color 0.15s;
}
.ny-cat-tile:hover { border-color: var(--ny-pink); background: var(--ny-pink-tint); }
.ny-cat-tile img { width: 88px; height: 88px; object-fit: cover; border-radius: 50%; }
.ny-cat-tile__name { font-size: var(--ny-fs-1); font-weight: 700; color: var(--ny-navy); line-height: 1.3; }

/* ---------- Product grid + card ---------- */
.ny-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: var(--ny-gap) 20px;
	width: 100%;
}
.ny-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1199px) { .ny-grid--6 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.ny-grid, .ny-grid--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
}

.ny-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--ny-white);
	border: 1px solid var(--ny-line);
	border-radius: var(--ny-radius-lg);
	overflow: hidden;
	transition: box-shadow 0.2s, border-color 0.2s;
}
.ny-card:hover { box-shadow: var(--ny-shadow); border-color: #D3D6DF; }
.ny-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--ny-mist);
	overflow: hidden;
}
.ny-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
	transition: transform 0.3s;
}
.ny-card:hover .ny-card__media img { transform: scale(1.04); }
.ny-card__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	padding: 12px 14px 14px;
}
.ny-card__cat {
	font-size: var(--ny-fs-1);
	color: var(--ny-muted);
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.ny-card__cat a { color: inherit; text-decoration: none; }
.ny-card__title {
	font-family: var(--ny-font-body);
	font-size: var(--ny-fs-2);
	font-weight: 700;
	line-height: 1.35;
	color: var(--ny-navy);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
}
.ny-card__title a { color: inherit; text-decoration: none; }
.ny-card__title a:hover { color: var(--ny-red); }
.ny-card__price { margin-top: auto; font-size: var(--ny-fs-3); font-weight: 700; color: var(--ny-navy); }
.ny-card__price del { font-size: var(--ny-fs-1); font-weight: 400; color: var(--ny-muted); margin-right: 6px; }
.ny-card__price ins { text-decoration: none; color: var(--ny-red); }
.ny-card__cta .button { width: 100%; min-height: 40px; padding: 8px 12px; }
.ny-card__cta .quantity { display: none; }
@media (max-width: 767px) {
	.ny-card__body { padding: 10px; }
	.ny-card__cta .button { font-size: var(--ny-fs-1); }
}

/* ---------- Badges ---------- */
.ny-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	pointer-events: none;
}
.ny-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 3px;
	font-family: var(--ny-font-body);
	font-size: var(--ny-fs-1);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ny-white);
	background: var(--ny-navy);
}
.ny-badge--sale { background: var(--ny-red); }
.ny-badge--new { background: var(--ny-navy); }
.ny-badge--frozen { background: var(--ny-white); color: var(--ny-navy); box-shadow: inset 0 0 0 1px var(--ny-navy); }
.ny-badge--soldout { background: var(--ny-text); }
.ny-card:has(.ny-badge--soldout) .ny-card__media img { opacity: 0.5; }
.single-product .ny-product__gallery { position: relative; }
.single-product .ny-product__gallery .ny-badges { top: 14px; left: 14px; }

/* ---------- Archive (shop / category) ---------- */
.ny-archive-head { padding-block: 24px 8px; }
.ny-archive-head h1 { margin-bottom: 6px; }
.ny-archive-head .term-description, .ny-archive-head .brxe-woocommerce-products-archive-description { max-width: 70ch; color: var(--ny-text); }
.woocommerce-breadcrumb, .brxe-woocommerce-breadcrumbs { font-size: var(--ny-fs-1); color: var(--ny-muted); }
.woocommerce-breadcrumb a, .brxe-woocommerce-breadcrumbs a { color: var(--ny-muted); }
.ny-archive {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	padding-bottom: 64px;
}
.ny-sidebar { position: sticky; top: 140px; display: flex; flex-direction: column; gap: 24px; }
.ny-sidebar h2 { font-size: var(--ny-fs-2); padding-bottom: 8px; border-bottom: 2px solid var(--ny-navy); }
.ny-sidebar .jet-checkboxes-list__item { margin-bottom: 4px; }
.ny-sidebar .jet-checkboxes-list__label { font-size: var(--ny-fs-2); color: var(--ny-text); }
.ny-sidebar .jet-checkboxes-list__button:hover .jet-checkboxes-list__label { color: var(--ny-red); }
.ny-sidebar .jet-checkboxes-list__decorator { border-color: var(--ny-navy); border-radius: 3px; }
.ny-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator { background: var(--ny-navy); }
.ny-cat-list { list-style: none; margin: 0; padding: 0; }
.ny-cat-list a { display: block; padding: 6px 0; font-size: var(--ny-fs-2); color: var(--ny-text); text-decoration: none; border-bottom: 1px solid var(--ny-line); }
.ny-cat-list a:hover, .ny-cat-list .is-current a { color: var(--ny-red); }
.ny-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
	font-size: var(--ny-fs-1);
	color: var(--ny-muted);
}
.ny-toolbar select { min-height: 38px; font-size: var(--ny-fs-1); }
.jet-active-filters, .jet-active-filter { font-size: var(--ny-fs-1); }
.jet-active-filter { background: var(--ny-pink-tint) !important; color: var(--ny-navy) !important; border-radius: 999px !important; }
.ny-pagination, .woocommerce-pagination, .brxe-woocommerce-products-pagination { margin-top: 32px; display: flex; justify-content: center; }
.page-numbers { display: flex; gap: 6px; list-style: none; padding: 0; }
.page-numbers li a, .page-numbers li span, a.page-numbers, span.page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 10px;
	border: 1px solid var(--ny-line); border-radius: var(--ny-radius);
	font-size: var(--ny-fs-2); font-weight: 700; color: var(--ny-navy); text-decoration: none;
}
.page-numbers .current, span.page-numbers.current { background: var(--ny-navy); border-color: var(--ny-navy); color: var(--ny-white); }
.page-numbers a:hover, a.page-numbers:hover { border-color: var(--ny-navy); }
.ny-empty { padding: 48px 0; text-align: center; color: var(--ny-muted); }
.ny-filter-toggle { display: none; }
@media (max-width: 991px) {
	.ny-archive { grid-template-columns: 1fr; }
	.ny-sidebar { position: static; }
	.ny-sidebar .ny-cat-list { display: flex; flex-wrap: wrap; gap: 8px; }
	.ny-sidebar .ny-cat-list a { border: 1px solid var(--ny-line); border-radius: 999px; padding: 4px 12px; font-size: var(--ny-fs-1); }
}

/* ---------- Single product ---------- */
.ny-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
	padding-block: 16px 48px;
}
.ny-product__gallery .woocommerce-product-gallery { border: 1px solid var(--ny-line); border-radius: var(--ny-radius-lg); overflow: hidden; background: var(--ny-mist); }
.ny-product__summary { display: flex; flex-direction: column; gap: 14px; }
.ny-product__summary h1 { font-size: var(--ny-fs-4); margin: 0; }
.ny-product__price { font-size: var(--ny-fs-4); font-weight: 700; color: var(--ny-navy); }
.ny-product__price del { font-size: var(--ny-fs-3); color: var(--ny-muted); font-weight: 400; }
.ny-product__price ins { color: var(--ny-red); text-decoration: none; }
.ny-product__summary .stock { font-size: var(--ny-fs-1); font-weight: 700; }
.ny-product__summary .stock.in-stock { color: #1E7A46; }
.ny-product__summary .stock.out-of-stock { color: var(--ny-red); }
.ny-product__summary form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.ny-product__summary form.cart .quantity input { width: 80px; text-align: center; }
.ny-product__summary form.cart .single_add_to_cart_button { flex: 1; min-width: 200px; }
.ny-product__meta, .product_meta { font-size: var(--ny-fs-1); color: var(--ny-muted); border-top: 1px solid var(--ny-line); padding-top: 12px; }
.ny-product__meta a, .product_meta a { color: var(--ny-navy); }
.ny-info-box {
	display: grid;
	gap: 6px;
	padding: 14px 16px;
	border-radius: var(--ny-radius);
	background: var(--ny-mist);
	font-size: var(--ny-fs-1);
}
.ny-info-box strong { color: var(--ny-navy); }
.woocommerce-tabs ul.tabs, .brxe-product-tabs ul.tabs { display: flex; gap: 4px; list-style: none; padding: 0; margin: 0; border-bottom: 2px solid var(--ny-navy); }
.woocommerce-tabs ul.tabs li a, .brxe-product-tabs ul.tabs li a {
	display: block; padding: 10px 18px; font-size: var(--ny-fs-2); font-weight: 700; text-decoration: none;
	color: var(--ny-navy); background: var(--ny-mist); border-radius: var(--ny-radius) var(--ny-radius) 0 0;
}
.woocommerce-tabs ul.tabs li.active a, .brxe-product-tabs ul.tabs li.active a { background: var(--ny-navy); color: var(--ny-white); }
.woocommerce-tabs .panel, .brxe-product-tabs .panel { padding: 20px 0; max-width: 80ch; }
.related.products > h2, .upsells.products > h2, .ny-related-title {
	font-size: var(--ny-fs-4); border-bottom: 2px solid var(--ny-navy); padding-bottom: 10px; margin-bottom: 20px;
}
@media (max-width: 767px) { .ny-product { grid-template-columns: 1fr; } }

/* WooCommerce default loops (related, upsells, cross-sells, shortcodes) get the same card look */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: var(--ny-gap) 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.products::before, ul.products::after { display: none !important; }
ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 14px !important;
	border: 1px solid var(--ny-line);
	border-radius: var(--ny-radius-lg);
	overflow: hidden;
	background: var(--ny-white);
}
ul.products li.product img { aspect-ratio: 1 / 1; object-fit: contain; background: var(--ny-mist); padding: 8px; margin: 0 0 6px !important; width: 100%; }
ul.products li.product .woocommerce-loop-product__title { font-family: var(--ny-font-body); font-size: var(--ny-fs-2) !important; font-weight: 700; color: var(--ny-navy); padding: 0 14px !important; line-height: 1.35; }
ul.products li.product .price { padding: 0 14px; font-size: var(--ny-fs-3) !important; font-weight: 700; color: var(--ny-navy) !important; margin-top: auto !important; }
ul.products li.product .price ins { color: var(--ny-red); text-decoration: none; }
ul.products li.product .price del { font-size: var(--ny-fs-1); color: var(--ny-muted); }
ul.products li.product .button { margin: 0 14px !important; }
ul.products li.product .onsale { display: none; }
@media (max-width: 767px) { ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; } }

/* ---------- Cart / checkout / account (WooCommerce markup kept, styled only) ---------- */
.ny-page { padding-block: 24px 64px; }
.ny-page-title { margin-bottom: 20px; }
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	padding: 14px 16px;
	border-radius: var(--ny-radius);
	border: 0;
	border-left: 4px solid var(--ny-navy);
	background: var(--ny-mist);
	color: var(--ny-text);
	font-size: var(--ny-fs-2);
	list-style: none;
}
.woocommerce-error { border-left-color: var(--ny-red); }
.woocommerce-message .button, .woocommerce-info .button { float: right; min-height: 36px; padding: 6px 14px; }
.ny-pickup-note {
	padding: 12px 16px;
	margin-bottom: 20px;
	border-radius: var(--ny-radius);
	background: var(--ny-pink-tint);
	color: var(--ny-navy);
	font-size: var(--ny-fs-2);
}
table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--ny-line);
	border-radius: var(--ny-radius-lg);
	overflow: hidden;
	font-size: var(--ny-fs-2);
}
table.shop_table th { background: var(--ny-mist); color: var(--ny-navy); font-size: var(--ny-fs-1); text-transform: uppercase; letter-spacing: 0.05em; text-align: left; }
table.shop_table th, table.shop_table td { padding: 12px 14px; border-bottom: 1px solid var(--ny-line); vertical-align: middle; }
table.shop_table img { width: 64px; border-radius: var(--ny-radius); background: var(--ny-mist); }
table.shop_table .product-name a { font-weight: 700; color: var(--ny-navy); text-decoration: none; }
table.shop_table .product-remove a { color: var(--ny-red) !important; font-size: var(--ny-fs-3); text-decoration: none; }
table.shop_table .order-total td, table.shop_table .order-total th { font-size: var(--ny-fs-3); color: var(--ny-navy); }
.cart_totals h2, .woocommerce-checkout h3, .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: var(--ny-fs-3); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order {
	padding: 20px;
	border-radius: var(--ny-radius-lg);
	background: var(--ny-mist);
}
.woocommerce .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce form .form-row { margin-bottom: 14px; }
.woocommerce form .form-row .required { color: var(--ny-red); text-decoration: none; }
#payment { border-radius: var(--ny-radius-lg); background: var(--ny-white) !important; border: 1px solid var(--ny-line); }
#payment .payment_methods li { font-size: var(--ny-fs-2); }
#place_order { width: 100%; min-height: 52px; font-size: var(--ny-fs-3); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ny-line); border-radius: var(--ny-radius-lg); overflow: hidden; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; font-size: var(--ny-fs-2); font-weight: 700; color: var(--ny-navy); text-decoration: none; border-bottom: 1px solid var(--ny-line); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: var(--ny-navy); color: var(--ny-white); }
@media (min-width: 768px) {
	/* Body classes are unreliable here (a plugin adds every WooCommerce page class), so scope by markup. */
	.woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: start; }
	.woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}
@media (min-width: 992px) {
	.woocommerce:has(> .woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
	.woocommerce:has(> .woocommerce-cart-form) > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
	.woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form { grid-column: 1; }
	.woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals { grid-column: 2; }
}
.woocommerce .cart-collaterals, .woocommerce .cart-collaterals .cart_totals { width: auto !important; float: none !important; }
.cart_totals table.shop_table { border: 0; }
.cart_totals table.shop_table th { width: 40%; }
.cart_totals .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 52px; font-size: var(--ny-fs-3); }
table.shop_table td { background: transparent; }

/* ---------- Footer ---------- */
.ny-footer { background: var(--ny-navy); color: var(--ny-white); font-size: var(--ny-fs-2); }
.ny-footer a { color: var(--ny-white); text-decoration: none; }
.ny-footer a:hover { color: var(--ny-pink); }
.ny-footer h2, .ny-footer h3 { color: var(--ny-white); font-size: var(--ny-fs-2); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 12px; }
.ny-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr 1fr;
	gap: 32px;
	padding-block: 48px 32px;
}
.ny-footer__logo img { height: 56px; width: auto; }
.ny-footer__menu .bricks-nav-menu { flex-direction: column; gap: 6px; }
.ny-footer__social { display: flex; gap: 12px; }
.ny-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.4); }
.ny-footer__social a:hover { background: var(--ny-white); color: var(--ny-navy); }
.ny-footer__social svg { width: 18px; height: 18px; fill: currentColor; }
.ny-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-block: 16px;
	font-size: var(--ny-fs-1);
	color: rgba(255, 255, 255, 0.75);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
}
.ny-footer__bottom a { color: rgba(255, 255, 255, 0.85); }
.ny-map iframe { width: 100%; height: 200px; border: 0; border-radius: var(--ny-radius); }
@media (max-width: 991px) { .ny-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .ny-footer__grid { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Header details ---------- */
#brx-header { position: sticky; top: 0; z-index: 60; }
.ny-header { position: static; }
.ny-mainnav { display: flex; align-items: center; gap: 28px; }
.ny-mainnav__link, .ny-products-dd .brx-submenu-toggle > a { font-size: var(--ny-fs-2); font-weight: 700; color: var(--ny-navy); text-decoration: none; padding-block: 12px; }
.ny-products-dd { list-style: none; position: static; }
.ny-products-dd .brx-submenu-toggle { display: flex; align-items: center; gap: 4px; }
.ny-products-dd .brx-submenu-toggle button { background: none; border: 0; padding: 4px; color: var(--ny-navy); cursor: pointer; }
.ny-products-dd .brx-submenu-toggle svg { width: 12px; height: 12px; }
.ny-header__nav { position: relative; }
.ny-products-dd > .ny-mega {
	position: absolute;
	top: 100%;
	left: var(--ny-gutter);
	right: var(--ny-gutter);
	z-index: 70;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
}
.ny-products-dd:hover > .ny-mega,
.ny-products-dd:focus-within > .ny-mega,
.ny-products-dd.open > .ny-mega { opacity: 1; visibility: visible; transform: none; }
.ny-mega .bricks-nav-menu, .ny-mega .bricks-nav-menu li { margin: 0; padding: 0; list-style: none; }
.ny-mega .bricks-nav-menu { display: flex; flex-direction: column; }
.ny-mega .bricks-nav-menu a { display: block; line-height: 1.4; }
.ny-mega--inline { box-shadow: none; border: 1px solid var(--ny-line); border-radius: var(--ny-radius-lg); }
.ny-quicklinks a { white-space: nowrap; }
.ny-header .jet-ajax-search__submit,
.ny-header .jet-ajax-search__submit:hover { background: var(--ny-navy) !important; color: var(--ny-white) !important; border: 0 !important; min-width: 48px; }
.ny-header .jet-ajax-search__submit:hover { background: var(--ny-red) !important; }
.ny-header .jet-ajax-search__submit::before {
	content: "";
	width: 18px;
	height: 18px;
	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.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%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.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ny-header .cart-icon { color: var(--ny-navy); }
.ny-header .cart-icon::before {
	content: "";
	display: block;
	width: 28px;
	height: 28px;
	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='1.8' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 11h11.3L21 7H6.2'/%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%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='1.8' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 11h11.3L21 7H6.2'/%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ny-header .cart-count { position: absolute; top: -6px; right: -10px; min-width: 20px; height: 20px; border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 0 5px; }
.ny-header .cart-icon:hover { color: var(--ny-red); }

/* Category filter list */
.ny-sidebar .jet-checkboxes-list-wrapper { display: flex; flex-direction: column; gap: 2px; border: 0; padding: 0; margin: 0; }
.ny-sidebar .jet-checkboxes-list__row { display: block; }
.ny-sidebar .jet-checkboxes-list__item { display: flex; align-items: center; gap: 8px; cursor: pointer; margin: 0; font-weight: 400; }
.ny-sidebar .jet-checkboxes-list__input { width: 16px; height: 16px; accent-color: var(--ny-navy); margin: 0; }
.ny-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__label { color: var(--ny-navy); font-weight: 700; }
.ny-sidebar .jet-filter-label { display: none; }

/* Footer lists */
.ny-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ny-footer__menu .bricks-nav-menu, .ny-footer__menu .bricks-nav-menu li { margin: 0; padding: 0; list-style: none; }
.ny-footer__menu .bricks-nav-menu a { font-size: var(--ny-fs-2); }
.ny-footer p { margin: 0 0 12px; }
.ny-footer__bottom p { margin: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 991px) {
	.ny-products-dd > .ny-mega {
		position: fixed;
		inset: auto 0 0 0;
		top: auto;
		max-height: 75vh;
		overflow-y: auto;
		grid-template-columns: 1fr 1fr;
		border-radius: var(--ny-radius-lg) var(--ny-radius-lg) 0 0;
		transform: translateY(100%);
	}
	.ny-products-dd:hover > .ny-mega { opacity: 0; visibility: hidden; transform: translateY(100%); }
	.ny-products-dd.open > .ny-mega, .ny-products-dd:focus-within > .ny-mega { opacity: 1; visibility: visible; transform: none; }
	.ny-header__nav { overflow-x: auto; }
	.ny-quicklinks { display: flex; }
	.ny-sidebar .jet-checkboxes-list-wrapper { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding-bottom: 6px; }
	.ny-sidebar .jet-checkboxes-list__item { white-space: nowrap; border: 1px solid var(--ny-line); border-radius: 999px; padding: 6px 12px; font-size: var(--ny-fs-1); }
	.ny-sidebar .jet-checkboxes-list__input { display: none; }
	.ny-sidebar .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button { color: var(--ny-white); }
	.ny-sidebar .jet-checkboxes-list__item:has(input:checked) { background: var(--ny-navy); border-color: var(--ny-navy); }
	.ny-sidebar .jet-checkboxes-list__item:has(input:checked) .jet-checkboxes-list__label { color: var(--ny-white); }
	.ny-sidebar h2 { display: none; }
	.ny-archive { gap: 16px; }
}
@media (max-width: 575px) {
	.ny-products-dd > .ny-mega { grid-template-columns: 1fr; }
	.ny-header__main { gap: 10px; }
	.ny-mainnav { gap: 16px; }
}

/* ---------- Header colours as on the current site: pink notice bar, navy header with the white logo ---------- */
.ny-topbar { background: var(--ny-pink); color: var(--ny-navy); }
.ny-header { background: var(--ny-navy); border-bottom: 0; }
.ny-header__nav { border-top: 1px solid rgba(255, 255, 255, 0.14); }
.ny-header__actions a,
.ny-mainnav__link,
.ny-products-dd .brx-submenu-toggle > a,
.ny-products-dd .brx-submenu-toggle button,
.ny-header .cart-icon { color: var(--ny-white); }
.ny-header__actions a:hover,
.ny-mainnav__link:hover,
.ny-products-dd .brx-submenu-toggle > a:hover,
.ny-header .cart-icon:hover { color: var(--ny-pink); }
.ny-header .jet-ajax-search__form { border-color: var(--ny-white); }
.ny-header .jet-ajax-search__submit,
.ny-header .jet-ajax-search__submit:hover { background: var(--ny-pink) !important; color: var(--ny-navy) !important; }
.ny-header .jet-ajax-search__submit:hover { background: var(--ny-white) !important; }
.ny-quicklinks a { background: rgba(255, 255, 255, 0.12); color: var(--ny-white); }
.ny-quicklinks a:hover { background: var(--ny-pink); color: var(--ny-navy); }
.ny-quicklinks a.is-sale { background: var(--ny-red); color: var(--ny-white); }
.ny-mega a, .ny-mega h3 a { color: var(--ny-navy); }

/* Category tiles: one row of ten on desktop, compact on phones */
.ny-cat-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
@media (max-width: 767px) {
	.ny-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.ny-cat-tile { padding: 8px 4px; border: 0; background: transparent; }
	.ny-cat-tile img { width: 56px; height: 56px; }
	.ny-cat-tile__name { font-size: var(--ny-fs-1); line-height: 1.2; }
}

/* ---------- Mini cart: off-canvas panel from the right ---------- */
.ny-header .brxe-woocommerce-mini-cart .cart-detail.off-canvas {
	width: min(400px, 92vw);
	border: 0;
	background: var(--ny-white);
	color: var(--ny-text);
	box-shadow: -8px 0 32px rgba(31, 35, 56, 0.18);
	z-index: 10001;
}
.ny-header .brxe-woocommerce-mini-cart .off-canvas-overlay { background: rgba(31, 35, 56, 0.5); }
.ny-header .brxe-woocommerce-mini-cart .cart-detail .widget_shopping_cart_content {
	padding: 64px 24px 24px;
	overflow-y: auto;
	font-size: var(--ny-fs-2);
}
.ny-header .brxe-woocommerce-mini-cart .cart-detail .widget_shopping_cart_content::before {
	content: "Your cart";
	position: absolute;
	top: 20px;
	left: 24px;
	font-family: var(--ny-font-head);
	font-size: var(--ny-fs-3);
	font-weight: 700;
	color: var(--ny-navy);
}
.ny-header .brxe-woocommerce-mini-cart .bricks-mini-cart-close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ny-navy);
	cursor: pointer;
}
.ny-header .brxe-woocommerce-mini-cart .cart-detail li a { font-size: var(--ny-fs-2); color: var(--ny-navy); }
.ny-header .brxe-woocommerce-mini-cart .cart-detail li img { width: 64px; height: 64px; object-fit: cover; border-radius: 4px; }
.ny-header .brxe-woocommerce-mini-cart .cart-detail li .quantity { font-size: var(--ny-fs-1); color: var(--ny-muted); }
.ny-header .brxe-woocommerce-mini-cart .cart-detail .total {
	border-top: 1px solid var(--ny-line);
	font-size: var(--ny-fs-3);
	color: var(--ny-navy);
}
.ny-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
}
.ny-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a { width: 100%; margin: 0; }
.ny-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a:not(.checkout) {
	background: transparent;
	color: var(--ny-navy);
}
.ny-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a:not(.checkout):hover { background: var(--ny-navy); color: var(--ny-white); }

/* ---------- Front-page coupon popup (native dialog) ---------- */
.ny-popup {
	width: min(500px, 88vw);
	padding: 0;
	border: 0;
	border-radius: var(--ny-radius);
	overflow: visible;
	background: var(--ny-white);
	box-shadow: 0 20px 60px rgba(31, 35, 56, 0.35);
}
.ny-popup[open] { animation: ny-fade 0.3s ease-out; }
.ny-popup::backdrop { background: rgba(31, 35, 56, 0.6); }
.ny-popup__img { display: block; width: 100%; height: auto; border-radius: var(--ny-radius); }
.ny-popup__close {
	position: absolute;
	top: -14px;
	right: -14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 2px solid var(--ny-white);
	border-radius: 50%;
	background: var(--ny-navy);
	color: var(--ny-white);
	cursor: pointer;
}
.ny-popup__close:hover { background: var(--ny-red); }
@keyframes ny-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ny-popup[open] { animation: none; } }
/* ---------- Multi-step checkout (WP Multi-Step Checkout markup) ---------- */
.woocommerce:has(> .wpmc-tabs-wrapper) { display: block; max-width: 880px; margin-inline: auto; }
.wpmc-tabs-wrapper { margin: 8px 0 32px; }
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item { font-family: var(--ny-font-body); }
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item::before { border-bottom-color: var(--ny-line); }
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.current::before,
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.visited::before,
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.previous::before { border-bottom-color: var(--ny-pink); }
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-number {
	border-color: var(--ny-line);
	background: var(--ny-white);
	color: var(--ny-muted);
	font-size: var(--ny-fs-2);
	font-weight: 700;
}
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.current .wpmc-tab-number,
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.visited .wpmc-tab-number,
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.previous .wpmc-tab-number {
	border-color: var(--ny-navy);
	background: var(--ny-navy);
	color: var(--ny-white);
}
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-text { font-size: var(--ny-fs-1); color: var(--ny-muted); }
.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.current .wpmc-tab-text { color: var(--ny-navy); font-weight: 700; }
.wpmc-steps-wrapper h3,
.wpmc-steps-wrapper #ship-to-different-address { margin: 0 0 16px; font-family: var(--ny-font-head); font-size: var(--ny-fs-3); color: var(--ny-navy); }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex; width: auto; justify-content: flex-start; flex-direction: row-reverse; align-items: center; gap: 10px; cursor: pointer; }
#ship-to-different-address input { width: 18px; height: 18px; margin: 0; accent-color: var(--ny-navy); }
.woocommerce-checkout .woocommerce-input-wrapper input[type="radio"],
.woocommerce-checkout .wc_payment_methods input[type="radio"],
.woocommerce-checkout .shipping_method { accent-color: var(--ny-navy); }
.wpmc-nav-wrapper {
	width: 100%;
	gap: 12px;
	margin: 24px 0 16px;
}
.woocommerce .wpmc-nav-wrapper button.wpmc-back-to-cart,
.woocommerce .wpmc-nav-wrapper button.wpmc-prev {
	background: transparent;
	color: var(--ny-navy);
}
.woocommerce .wpmc-nav-wrapper button.wpmc-back-to-cart { margin-right: auto; }
.woocommerce .wpmc-nav-wrapper button.wpmc-back-to-cart:hover,
.woocommerce .wpmc-nav-wrapper button.wpmc-prev:hover { background: var(--ny-navy); border-color: var(--ny-navy); color: var(--ny-white); }
.woocommerce .wpmc-nav-wrapper button.wpmc-next { min-width: 140px; }
@media (max-width: 600px) {
	.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-text { display: none; }
	.wpmc-tabs-wrapper .wpmc-tabs-list .wpmc-tab-item.current .wpmc-tab-text { display: block; }
	.wpmc-nav-wrapper { flex-wrap: wrap; }
	.woocommerce .wpmc-nav-wrapper button.wpmc-next { flex: 1 1 auto; }
	.woocommerce-checkout-review-order { padding: 12px; }
}
/* ---------- Products mega menu: photo cards per category group ---------- */
.ny-products-dd > .ny-mega { display: block; padding: 24px; border-radius: 0 0 var(--ny-radius-lg) var(--ny-radius-lg); }
.ny-mega .brxe-shortcode { width: 100%; }
.ny-mega__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.ny-mega__group {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--ny-line);
	border-radius: var(--ny-radius-lg);
	background: var(--ny-white);
}
.ny-mega__group--wide { grid-column: span 2; grid-row: span 2; }
.ny-mega__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: -14px -14px 0;
	padding: 12px 14px;
	border-radius: var(--ny-radius-lg) var(--ny-radius-lg) 0 0;
	background: var(--ny-mist);
	text-decoration: none;
	transition: background-color 0.15s;
}
.ny-mega__head:hover { background: var(--ny-pink-tint); }
.ny-mega__head img,
.ny-mega__head .ny-mega__ph { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: var(--ny-white); border: 2px solid var(--ny-white); }
.ny-mega__head span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ny-mega__head strong { font-family: var(--ny-font-head); font-size: var(--ny-fs-2); color: var(--ny-navy); line-height: 1.3; }
.ny-mega__head small { font-size: var(--ny-fs-1); color: var(--ny-red); font-weight: 700; }
.ny-mega__subs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ny-mega__group--wide .ny-mega__subs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ny-mega__subs a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px;
	border-radius: var(--ny-radius);
	font-size: var(--ny-fs-1);
	font-weight: 700;
	line-height: 1.3;
	color: var(--ny-navy);
	text-decoration: none;
	transition: background-color 0.15s;
}
.ny-mega__subs a:hover { background: var(--ny-pink-tint); color: var(--ny-navy); }
.ny-mega__subs img,
.ny-mega__subs .ny-mega__ph { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: var(--ny-mist); }
@media (max-width: 1199px) {
	.ny-mega__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ny-mega__group--wide { grid-column: span 3; grid-row: auto; }
	.ny-mega__group--wide .ny-mega__subs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	.ny-products-dd > .ny-mega { padding: 16px; border-radius: var(--ny-radius-lg) var(--ny-radius-lg) 0 0; }
	.ny-mega__grid { grid-template-columns: 1fr; gap: 12px; }
	.ny-mega__group--wide { grid-column: auto; }
	.ny-mega__subs,
	.ny-mega__group--wide .ny-mega__subs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
}
/* ---------- Mobile: nothing may push the page sideways ---------- */
html, body { overflow-x: clip; max-width: 100%; }
img, video, iframe, table { max-width: 100%; }
.ny-header__nav { flex-wrap: wrap; row-gap: 4px; }
.woocommerce table.shop_table { table-layout: auto; width: 100%; }
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th,
.shop_table td, .shop_table th { overflow-wrap: anywhere; }
@media (max-width: 400px) {
	.ny-mainnav { gap: 12px; }
	.ny-quicklinks a { padding-inline: 10px; }
}
/* Mega menu hierarchy: parent = navy bar with white heading, children = plain text rows */
.ny-mega__head { background: var(--ny-navy); }
.ny-mega__head:hover { background: var(--ny-red); }
.ny-mega__head strong { color: var(--ny-white); font-size: var(--ny-fs-3); }
.ny-mega__head small { color: var(--ny-pink); }
.ny-mega__head:hover small { color: var(--ny-white); }
.ny-mega a.ny-mega__head, .ny-mega a.ny-mega__head:hover { color: var(--ny-white); }
.ny-mega__subs a { font-weight: 400; color: var(--ny-text); }
.ny-mega__subs a:hover { color: var(--ny-navy); }
@media (max-width: 991px) {
	.ny-mega__head { padding: 10px 14px; }
	.ny-mega__head img, .ny-mega__head .ny-mega__ph { width: 44px; height: 44px; }
	.ny-mega__group { gap: 6px; padding: 10px 14px; }
	.ny-mega__head { margin: -10px -14px 0; }
	.ny-mega__subs, .ny-mega__group--wide .ny-mega__subs { gap: 0 4px; }
	.ny-mega__subs a { padding: 3px 4px; gap: 8px; }
	.ny-mega__subs img, .ny-mega__subs .ny-mega__ph { width: 28px; height: 28px; }
}.ny-mega__grid { align-items: start; }
.ny-mega__group--wide { grid-row: auto; }
.ny-mega__group:not(:has(.ny-mega__subs)) { padding: 0; border: 0; }
.ny-mega__group:not(:has(.ny-mega__subs)) .ny-mega__head { margin: 0; border-radius: var(--ny-radius-lg); }
/* Mega menu always fits the screen: compact rows, scroll inside the panel if the window is short */
#brx-header { position: relative; z-index: 1000; }
@media (min-width: 992px) {
	.ny-products-dd > .ny-mega { max-height: calc(100vh - 190px); max-height: calc(100dvh - 190px); overflow-y: auto; overscroll-behavior: contain; padding: 16px; }
	.ny-mega__grid { gap: 12px; }
	.ny-mega__group { gap: 6px; padding: 10px 12px; }
	.ny-mega__head { margin: -10px -12px 0; padding: 10px 12px; }
	.ny-mega__head img, .ny-mega__head .ny-mega__ph { width: 44px; height: 44px; }
	.ny-mega__subs, .ny-mega__group--wide .ny-mega__subs { gap: 0 8px; }
	.ny-mega__subs a { padding: 4px 6px; gap: 8px; }
	.ny-mega__subs img, .ny-mega__subs .ny-mega__ph { width: 28px; height: 28px; }
}
@media (max-width: 991px) {
	.ny-products-dd > .ny-mega { left: 0; right: 0; width: 100%; max-width: 100vw; box-sizing: border-box; overflow-x: hidden; }
	.ny-mega__grid, .ny-mega__group, .ny-mega__subs { min-width: 0; }
	.ny-mega__subs a span { min-width: 0; overflow-wrap: anywhere; }
}
/* Products toggle is a button-like label (no link): the panel opens on hover or tap */
.ny-products-dd .brx-submenu-toggle > span { font-size: var(--ny-fs-2); font-weight: 700; color: var(--ny-white); padding-block: 12px; cursor: pointer; user-select: none; }
.ny-products-dd .brx-submenu-toggle:hover > span, .ny-products-dd.open .brx-submenu-toggle > span { color: var(--ny-pink); }
.ny-mega__all { display: inline-flex; margin: 0 0 12px; font-size: var(--ny-fs-2); font-weight: 700; color: var(--ny-red); text-decoration: none; }
.ny-mega__all:hover { text-decoration: underline; }
.ny-mega a.ny-mega__all { color: var(--ny-red); }@media (min-width: 992px) {
	.ny-header__nav { position: relative; }
	.ny-products-dd > .ny-mega { top: 100%; left: var(--ny-gutter); right: var(--ny-gutter); border-top: 0; max-height: calc(100vh - 180px); max-height: calc(100dvh - 180px); }
}.ny-products-dd > .ny-mega { margin: 0; }

/* ---------- Shop sidebar: category navigation with photos ---------- */
.ny-sidebar { max-height: calc(100vh - 160px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.ny-sidebar__block:has(.ny-catnav) {
	padding: 16px;
	border: 1px solid var(--ny-line);
	border-radius: var(--ny-radius-lg);
	background: var(--ny-white);
	box-shadow: 0 2px 12px rgba(31, 35, 56, 0.06);
}
.ny-sidebar__block:has(.ny-catnav) h2 {
	margin: -16px -16px 12px;
	padding: 14px 16px;
	border: 0;
	border-radius: var(--ny-radius-lg) var(--ny-radius-lg) 0 0;
	background: var(--ny-navy);
	color: var(--ny-white);
	font-family: var(--ny-font-head);
	font-size: var(--ny-fs-3);
}
.ny-catnav { display: flex; flex-direction: column; gap: 8px; }
.ny-catnav ul { margin: 0; padding: 0; list-style: none; }
.ny-catnav a { text-decoration: none; }
.ny-catnav__all {
	display: block;
	padding: 8px 10px;
	border-radius: var(--ny-radius);
	font-size: var(--ny-fs-2);
	font-weight: 700;
	color: var(--ny-red);
}
.ny-catnav__all:hover { background: var(--ny-pink-tint); color: var(--ny-red); }
.ny-catnav__groups { display: flex; flex-direction: column; gap: 4px; }
.ny-catnav__parent {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 10px 6px 6px;
	border-radius: 999px;
	font-size: var(--ny-fs-2);
	font-weight: 700;
	color: var(--ny-navy);
	transition: background-color 0.15s, color 0.15s;
}
.ny-catnav__parent::after {
	content: "";
	margin-left: auto;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	opacity: 0.5;
}
.ny-catnav__group.is-open > .ny-catnav__parent::after { transform: rotate(45deg); }
.ny-catnav__parent:hover { background: var(--ny-pink-tint); color: var(--ny-navy); }
.ny-catnav__parent.is-current,
.ny-catnav__group.is-open > .ny-catnav__parent { background: var(--ny-navy); color: var(--ny-white); }
.ny-catnav__parent img,
.ny-catnav__parent .ny-mega__ph {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--ny-mist);
	border: 2px solid var(--ny-white);
	box-shadow: 0 0 0 1px var(--ny-line);
}
.ny-catnav__subs {
	margin: 6px 0 8px 26px !important;
	padding-left: 12px !important;
	border-left: 2px solid var(--ny-pink);
}
.ny-catnav__subs a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 5px 8px;
	border-radius: var(--ny-radius);
	font-size: var(--ny-fs-1);
	color: var(--ny-text);
}
.ny-catnav__subs a:hover { background: var(--ny-pink-tint); color: var(--ny-navy); }
.ny-catnav__subs a.is-current { background: var(--ny-pink-tint); color: var(--ny-navy); font-weight: 700; }
.ny-catnav__subs small {
	min-width: 26px;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--ny-mist);
	color: var(--ny-muted);
	font-size: var(--ny-fs-1);
	text-align: center;
}
.ny-catnav__all.is-current { background: var(--ny-pink-tint); }

@media (max-width: 991px) {
	.ny-sidebar { max-height: none; overflow: visible; }
	.ny-sidebar__block:has(.ny-catnav) { padding: 0; border: 0; box-shadow: none; background: none; }
	.ny-sidebar__block:has(.ny-catnav) h2 { display: none; }
	.ny-catnav { gap: 8px; }
	.ny-catnav__all { display: none; }
	.ny-catnav__groups { flex-direction: row; overflow-x: auto; gap: 8px; padding-bottom: 4px; scrollbar-width: none; }
	.ny-catnav__group { flex: none; }
	.ny-catnav__parent { padding: 4px 14px 4px 4px; border: 1px solid var(--ny-line); background: var(--ny-white); font-size: var(--ny-fs-1); white-space: nowrap; }
	.ny-catnav__parent::after { display: none; }
	.ny-catnav__parent img, .ny-catnav__parent .ny-mega__ph { width: 32px; height: 32px; }
	/* Sub-categories of the open group: second scrolling row under the group chips */
	.ny-catnav__groups:has(.is-open .ny-catnav__subs) { padding-bottom: 48px; position: relative; }
	.ny-catnav__subs { position: absolute; left: 0; right: 0; bottom: 0; display: flex; gap: 6px; overflow-x: auto; margin: 0 !important; padding: 0 !important; border: 0; scrollbar-width: none; }
	.ny-catnav__subs li { flex: none; }
	.ny-catnav__subs a { padding: 6px 12px; border: 1px solid var(--ny-line); border-radius: 999px; background: var(--ny-white); white-space: nowrap; }
	.ny-catnav__subs small { display: none; }
}
/* Grid children must be allowed to shrink, or the scrolling chip rows widen the whole page on phones */
.ny-archive > *, .ny-archive__main, .ny-sidebar { min-width: 0; }
@media (max-width: 991px) { .ny-archive { grid-template-columns: minmax(0, 1fr); } }
.ny-sidebar { position: static; max-height: none; overflow: visible; }

.ny-sidebar__block:has(.ny-catnav) h2 { display: block; align-self: stretch; width: auto; max-width: none; }@media (max-width: 991px) { .ny-sidebar__block:has(.ny-catnav) h2 { display: none; } }

/* Home hero: edge to edge at every screen size, whole banner visible (it carries text, so never cropped) */
.ny-section--hero { padding: 0; }
.ny-hero, .ny-hero .brxe-image { width: 100%; max-width: none; margin: 0; padding: 0; }
.ny-hero img { display: block; width: 100%; height: auto; aspect-ratio: 1500 / 600; object-fit: cover; border-radius: 0; }

/* Desktop: content area is 80% of the window on every page */
@media (min-width: 1200px) {
	/* 60% of the window, but never narrower than 1140px so the header, sidebar and 4-column grid keep working on 1200-1900px screens */
	:root { --ny-wrap: max(60%, 1140px); }
}
/* Shop by category: tiles share each row evenly and the photos grow/shrink with the tile */
.ny-cat-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(10px, 1.5vw, 20px); }
.ny-cat-tile { padding: clamp(10px, 1.2vw, 18px) 8px; gap: 10px; }
.ny-cat-tile img { width: 78%; height: auto; aspect-ratio: 1; max-width: 160px; }
.ny-cat-tile__name { font-size: var(--ny-fs-2); }
@media (max-width: 1199px) { .ny-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.ny-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ny-cat-tile__name { font-size: var(--ny-fs-1); }
}
@media (max-width: 359px) { .ny-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }/* Column count follows the number of categories, so every row is full (empty categories are hidden, so the count varies) */
.ny-cat-grid:has(> .ny-cat-tile:nth-child(10 of .ny-cat-tile):nth-last-child(1 of .ny-cat-tile)) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ny-cat-grid:has(> .ny-cat-tile:nth-child(8 of .ny-cat-tile):nth-last-child(1 of .ny-cat-tile)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ny-cat-grid:has(> .ny-cat-tile:nth-child(9 of .ny-cat-tile):nth-last-child(1 of .ny-cat-tile)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767px) {
	.ny-cat-grid:has(> .ny-cat-tile:nth-child(10 of .ny-cat-tile):nth-last-child(1 of .ny-cat-tile)),
	.ny-cat-grid:has(> .ny-cat-tile:nth-child(8 of .ny-cat-tile):nth-last-child(1 of .ny-cat-tile)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ny-cat-grid:has(> .ny-cat-tile:nth-child(10 of .ny-cat-tile):nth-last-child(1 of .ny-cat-tile)) .ny-cat-tile img,
	.ny-cat-grid:has(> .ny-cat-tile:nth-child(8 of .ny-cat-tile):nth-last-child(1 of .ny-cat-tile)) .ny-cat-tile img { width: 64%; }
}
/* Home "Browse all categories": same photo cards as the Products menu, with a lift on hover */
.ny-mega--inline { display: block; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; }
.ny-mega--inline .ny-mega__all { display: none; }
.ny-mega--inline .ny-mega__grid { gap: clamp(12px, 1.5vw, 20px); }
.ny-mega--inline .ny-mega__group {
	box-shadow: 0 2px 10px rgba(31, 35, 56, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ny-mega--inline .ny-mega__group:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(31, 35, 56, 0.14); }
.ny-mega--inline .ny-mega__head img,
.ny-mega--inline .ny-mega__head .ny-mega__ph { width: 64px; height: 64px; }
.ny-mega--inline .ny-mega__subs img,
.ny-mega--inline .ny-mega__subs .ny-mega__ph { width: 36px; height: 36px; }
.ny-mega--inline .ny-mega__subs a img { transition: transform 0.2s ease; }
.ny-mega--inline .ny-mega__subs a:hover img { transform: scale(1.12); }
@media (min-width: 992px) and (max-width: 1199px) {
	.ny-mega--inline .ny-mega__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 600px) and (max-width: 991px) {
	.ny-mega--inline .ny-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ny-mega--inline .ny-mega__group--wide { grid-column: span 2; }
}
@media (prefers-reduced-motion: reduce) {
	.ny-mega--inline .ny-mega__group, .ny-mega--inline .ny-mega__subs a img { transition: none; }
	.ny-mega--inline .ny-mega__group:hover { transform: none; }
}
/* ---------- Elementor-built pages inside the Bricks layout (contact, about...): same type, fields and buttons as the shop ---------- */
.ny-page .elementor-heading-title { font-family: var(--ny-font-head); font-size: var(--ny-fs-5); font-weight: 700; color: var(--ny-navy); line-height: 1.25; }
.ny-page .elementor-widget-divider .elementor-divider-separator { width: 56px; border-top: 3px solid var(--ny-pink) !important; }
.ny-page .elementor-widget-text-editor { font-size: var(--ny-fs-2); line-height: 1.7; color: var(--ny-text); }

/* Contact form card */
.ny-page .elementor-widget-form {
	padding: clamp(20px, 3vw, 32px);
	border: 1px solid var(--ny-line);
	border-radius: var(--ny-radius-lg);
	background: var(--ny-white);
	box-shadow: 0 2px 12px rgba(31, 35, 56, 0.06);
}
.ny-page .elementor-form .elementor-field-group { margin-bottom: 16px; }
.ny-page .elementor-form .elementor-field-group > label,
.ny-page .elementor-form .elementor-field-label { font-size: var(--ny-fs-1); font-weight: 700; color: var(--ny-navy); margin-bottom: 6px; }
.ny-page .elementor-form .elementor-field-textual,
.ny-page .elementor-form .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #C9CCD6;
	border-radius: var(--ny-radius);
	background: var(--ny-white);
	color: var(--ny-text);
	font-family: var(--ny-font-body);
	font-size: var(--ny-fs-2);
	line-height: 1.4;
	box-shadow: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.ny-page .elementor-form textarea.elementor-field-textual { min-height: 160px; resize: vertical; }
.ny-page .elementor-form .elementor-field-textual::placeholder { color: var(--ny-muted); opacity: 1; }
.ny-page .elementor-form .elementor-field-textual:focus { border-color: var(--ny-navy); outline: none; box-shadow: 0 0 0 3px var(--ny-pink-tint); }
.ny-page .elementor-form .elementor-button,
.ny-page .elementor-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	min-width: 160px;
	padding: 10px 28px;
	border: 2px solid var(--ny-navy);
	border-radius: var(--ny-radius);
	background: var(--ny-navy);
	color: var(--ny-white);
	font-family: var(--ny-font-body);
	font-size: var(--ny-fs-2);
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s;
}
.ny-page .elementor-form .elementor-button:hover,
.ny-page .elementor-form button[type="submit"]:hover { background: var(--ny-red); border-color: var(--ny-red); color: var(--ny-white); }
.ny-page .elementor-message { font-size: var(--ny-fs-2); }
.ny-page .elementor-message-success { color: var(--ny-navy); }
.ny-page .elementor-message-danger { color: var(--ny-red); }

/* Shop details next to the form */
.ny-page .elementor-widget-form ~ * , .ny-page .elementor-column:has(.elementor-widget-form) + .elementor-column > .elementor-widget-wrap {
	padding: clamp(20px, 3vw, 32px);
	border-radius: var(--ny-radius-lg);
	background: var(--ny-mist);
}
@media (max-width: 767px) {
	.ny-page .elementor-column:has(.elementor-widget-form) + .elementor-column { margin-top: 16px; }
	.ny-page .elementor-form .elementor-button { width: 100%; }
}
/* contact: recaptcha wrapper reset */
.ny-page .elementor-field-type-recaptcha_v3{margin:0!important;padding:0!important}
.ny-page .elementor-field-type-recaptcha_v3 .elementor-field{border:0!important;background:none!important;box-shadow:none!important;min-height:0!important;height:auto!important;padding:0!important}

/* footer: 5 columns, logo-only brand column */
.ny-footer__grid{grid-template-columns:1.1fr 1.2fr .9fr 1fr 1.4fr;gap:40px;align-items:start}
.ny-footer__brand{display:flex;align-items:flex-start}
.ny-footer__brand .ny-footer__logo, .ny-footer__brand a{display:block;width:100%}
.ny-footer__brand img, .ny-footer__logo img{width:100%;max-width:220px;height:auto}
@media (max-width:1100px){.ny-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ny-footer__brand{grid-column:1/-1}.ny-footer__brand img{max-width:200px}}
@media (max-width:600px){.ny-footer__grid{grid-template-columns:minmax(0,1fr);gap:32px}.ny-footer__brand{justify-content:center}.ny-footer__brand .ny-footer__logo, .ny-footer__brand a{width:auto}.ny-footer__brand img{max-width:180px}}

/* ---------- Promo hero: On Sale / New Arrivals ---------- */
.ny-promo { position: relative; overflow: hidden; color: var(--ny-white); padding-block: clamp(40px, 6vw, 80px); margin-bottom: 32px; isolation: isolate; }
.ny-promo--sale { background: linear-gradient(120deg, #E30613 0%, #A3030E 100%); }
.ny-promo--new { background: linear-gradient(120deg, #1F2338 0%, #343B60 100%); }
.ny-promo::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0M-40 20a40 40 0 0 1 80 0M40 20a40 40 0 0 1 80 0'/%3E%3C/g%3E%3C/svg%3E"); background-size: 80px 40px; -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 85%); mask-image: linear-gradient(90deg, transparent 30%, #000 85%); }
.ny-promo--new::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--ny-pink); }
.ny-promo__inner { position: relative; }
.ny-promo__kanji { position: absolute; right: var(--ny-gutter); top: 50%; transform: translateY(-50%); font-family: var(--ny-font-head); font-weight: 700; font-size: clamp(96px, 14vw, 200px); line-height: 1; color: var(--ny-white); opacity: .14; pointer-events: none; z-index: -1; }
.ny-promo__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35); font-size: var(--ny-fs-1); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ny-promo--sale .ny-promo__eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ny-white); animation: ny-pulse 1.6s ease-in-out infinite; }
.ny-promo--new .ny-promo__eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ny-pink); }
.ny-promo__title { color: var(--ny-white); font-family: var(--ny-font-head); font-size: var(--ny-fs-5); line-height: 1.2; margin: 0 0 12px; max-width: 20ch; }
.ny-promo__lead { font-size: var(--ny-fs-3); line-height: 1.6; max-width: 52ch; margin: 0 0 22px; color: rgba(255,255,255,.92); }
.ny-promo__chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.ny-promo__chips li { padding: 8px 16px; border-radius: 999px; background: var(--ny-white); color: var(--ny-navy); font-size: var(--ny-fs-2); font-weight: 700; box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.ny-promo--sale .ny-promo__chips li:first-child { color: var(--ny-red); }
.ny-promo__note { margin: 18px 0 0; font-size: var(--ny-fs-1); color: rgba(255,255,255,.85); }
@keyframes ny-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.7); } }
@media (prefers-reduced-motion: reduce) { .ny-promo__eyebrow::before { animation: none !important; } }
@media (max-width: 600px) { .ny-promo__kanji { top: 18px; transform: none; font-size: 84px; } .ny-promo__chips li { font-size: var(--ny-fs-1); padding: 7px 12px; } }
.ny-promo__ctas{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.ny-promo__ctas .ny-btn--ghost{background:transparent;color:var(--ny-white);border-color:rgba(255,255,255,.7)}
.ny-promo__ctas .ny-btn--ghost:hover{background:var(--ny-white);color:var(--ny-navy);border-color:var(--ny-white)}
.ny-promo--new .ny-promo__note{font-size:var(--ny-fs-2)}

/* ---------- Back to top ---------- */
.ny-totop { position: fixed; right: clamp(16px, 2vw, 28px); bottom: clamp(16px, 2vw, 28px); z-index: 900; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--ny-navy); color: var(--ny-white); border: 2px solid var(--ny-white); box-shadow: 0 6px 18px rgba(31, 35, 56, .3); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .2s, transform .2s, visibility .2s, background-color .15s; }
.ny-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.ny-totop:hover, .ny-totop:focus-visible { background: var(--ny-red); color: var(--ny-white); }

/* ---------- Sticky header: one compact row with the menu, account icon and cart ---------- */
#brx-header.ny-stuck .ny-header { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 1000; display: flex; align-items: center; gap: 16px; padding-inline: max(var(--ny-gutter), calc((100% - var(--ny-wrap)) / 2)); box-shadow: 0 4px 18px rgba(0, 0, 0, .25); animation: ny-drop .25s ease-out; }
#brx-header.ny-stuck .ny-header > .ny-wrap { width: auto; max-width: none; margin: 0; padding-inline: 0; }
#brx-header.ny-stuck .ny-header__nav { order: 1; flex: 1 1 auto; border-top: 0; flex-wrap: nowrap; }
#brx-header.ny-stuck .ny-header__nav > :not(.ny-mainnav) { display: none; }
#brx-header.ny-stuck .ny-header__main { order: 2; flex: 0 0 auto; display: flex; padding-block: 0; }
#brx-header.ny-stuck .ny-header__main > :not(.ny-header__actions) { display: none; }
#brx-header.ny-stuck .ny-account { display: inline-flex; width: 28px; height: 28px; font-size: 0; color: var(--ny-white); }
#brx-header.ny-stuck .ny-account::before { content: ""; width: 28px; height: 28px; 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='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%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='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") center / contain no-repeat; }
#brx-header.ny-stuck .ny-account:hover { color: var(--ny-pink); }
@keyframes ny-drop { from { opacity: 0; top: -56px; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { #brx-header.ny-stuck .ny-header { animation: none; } .ny-totop { transition: none; } }
#brx-header.ny-stuck .ny-header__actions{padding-right:10px}

/* ---------- Section headings (home) ---------- */
.ny-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ny-section .ny-section-head { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 24px; margin: 0 0 28px; padding: 0 0 16px; border-bottom: 1px solid var(--ny-line); text-align: left; }
.ny-section .ny-section-head::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 72px; height: 3px; border-radius: 2px; background: var(--ny-pink); }
.ny-section .ny-section-head > * { grid-column: 1; }
.ny-section-head__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: var(--ny-fs-1); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ny-red); }
.ny-section-head__eyebrow::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--ny-red); }
.ny-section-head__eyebrow span[lang="ja"] { font-family: var(--ny-font-head); letter-spacing: .08em; color: var(--ny-navy); padding-right: 10px; border-right: 1px solid var(--ny-line); }
.ny-section .ny-section-head h2 { margin: 0; font-family: var(--ny-font-head); font-size: var(--ny-fs-4); line-height: 1.25; color: var(--ny-navy); }
.ny-section-head__sub { margin: 6px 0 0; font-size: var(--ny-fs-2); color: var(--ny-muted); }
.ny-section .ny-section-head .ny-section-head__more { grid-column: 2; grid-row: 1 / span 3; align-self: end; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 2px solid var(--ny-navy); border-radius: 999px; font-size: var(--ny-fs-2); font-weight: 700; color: var(--ny-navy); text-decoration: none; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s; }
.ny-section .ny-section-head .ny-section-head__more::after { content: "\2192"; transition: transform .15s; }
.ny-section .ny-section-head .ny-section-head__more:hover { background: var(--ny-navy); color: var(--ny-white); }
.ny-section .ny-section-head .ny-section-head__more:hover::after { transform: translateX(3px); }
.ny-section--mist .ny-section-head { border-bottom-color: #D9DCE4; }
@media (max-width: 600px) {
	.ny-section .ny-section-head { grid-template-columns: minmax(0, 1fr); margin-bottom: 20px; }
	.ny-section .ny-section-head .ny-section-head__more { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 12px; min-height: 40px; font-size: var(--ny-fs-1); }
}
/* ---------- Page heading banner ---------- */
.ny-promo--page { background: linear-gradient(120deg, #1F2338 0%, #343B60 100%); padding-block: clamp(28px, 4.5vw, 56px); }
.ny-promo--page::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--ny-pink); }
.ny-promo--page .ny-promo__eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ny-pink); }
.ny-promo--page .ny-promo__title { max-width: 28ch; }
.ny-promo--page .ny-promo__lead { margin-bottom: 0; }
.ny-promo--page .ny-promo__chips { margin-top: 18px; }
.ny-promo--page .ny-promo__kanji { font-size: clamp(80px, 11vw, 160px); }
.ny-promo__crumbs { margin: 0 0 14px; font-size: var(--ny-fs-1); color: rgba(255,255,255,.75); }
.ny-promo__crumbs a { color: var(--ny-white); text-decoration: none; }
.ny-promo__crumbs a:hover { color: var(--ny-pink); }
/* Elementor pages: the banner replaces their own title and divider */
.ny-page .elementor-widget-heading:has(+ .elementor-widget-divider), .ny-page .elementor-widget-heading + .elementor-widget-divider { display: none; }
@media (max-width: 600px) { .ny-promo--page .ny-promo__kanji { font-size: 64px; top: 14px; } .ny-promo--page .ny-promo__title { padding-right: 0; } }
/* Elementor pages: no extra gap under the banner */
.ny-page > .brxe-post-content > .elementor > :first-child, .ny-page .elementor > .elementor-section:first-child, .ny-page .elementor > .e-con:first-child { margin-top: 0 !important; padding-top: 0 !important; }
.ny-page .elementor > .elementor-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap { padding-top: 0 !important; }
.brxe-shortcode:has(> .ny-promo--page) + .ny-page { padding-top: 0; margin-top: 0; }

/* ---------- Single product: "You may also like" heading (same design as the home sections) ---------- */
.ny-related-head { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 24px; margin: 48px 0 28px; padding: 0 0 16px; border-bottom: 1px solid var(--ny-line); }
.ny-related-head::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 72px; height: 3px; border-radius: 2px; background: var(--ny-pink); }
.ny-related-head > * { grid-column: 1; }
.ny-related-head h2.ny-related-title { margin: 0; font-family: var(--ny-font-head); font-size: var(--ny-fs-4); line-height: 1.25; color: var(--ny-navy); text-align: left; }
.ny-related-head h2.ny-related-title::before, .ny-related-head h2.ny-related-title::after { content: none; }
.ny-related-head .ny-section-head__more { grid-column: 2; grid-row: 1 / span 3; align-self: end; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 2px solid var(--ny-navy); border-radius: 999px; font-size: var(--ny-fs-2); font-weight: 700; color: var(--ny-navy); text-decoration: none; white-space: nowrap; transition: background-color .15s, color .15s; }
.ny-related-head .ny-section-head__more::after { content: "\2192"; transition: transform .15s; }
.ny-related-head .ny-section-head__more:hover { background: var(--ny-navy); color: var(--ny-white); }
.ny-related-head .ny-section-head__more:hover::after { transform: translateX(3px); }
.ny-related .related > h2, .ny-related .upsells > h2, .brxe-product-upsells .upsells > h2 { display: none; }
@media (max-width: 600px) {
	.ny-related-head { grid-template-columns: minmax(0, 1fr); margin-top: 36px; }
	.ny-related-head .ny-section-head__more { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 12px; min-height: 40px; font-size: var(--ny-fs-1); }
}
.ny-related-head h2.ny-related-title { border: 0; padding: 0; margin: 0; width: auto; }

/* ---------- Badges: several badges sit side by side in one tidy row, wrapping inside the image ---------- */
.ny-badges { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px; top: 8px; left: 8px; right: 8px; max-width: calc(100% - 16px); }
.ny-badge { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; line-height: 1; white-space: nowrap; box-shadow: 0 1px 3px rgba(31, 35, 56, .18); }
.ny-badge--frozen { box-shadow: inset 0 0 0 1px var(--ny-navy), 0 1px 3px rgba(31, 35, 56, .18); }
.ny-badge--sale, .ny-badge--soldout { order: 1; }
.ny-badge--new { order: 2; background: var(--ny-pink); color: var(--ny-navy); }
.ny-badge--frozen { order: 3; }
.single-product .ny-product__gallery .ny-badges { top: 14px; left: 14px; right: 14px; }
@media (max-width: 600px) { .ny-badge { height: 20px; padding: 0 6px; letter-spacing: .03em; } }
.ny-badges { gap: 6px; }
@media (max-width: 600px) { .ny-badges { gap: 4px; top: 6px; left: 6px; right: 6px; max-width: calc(100% - 12px); } }

/* ---------- Header search: category list and results are no longer clipped ---------- */
.ny-header .jet-ajax-search__form { overflow: visible; }
.ny-header .jet-ajax-search__fields-holder { border-radius: calc(var(--ny-radius) - 2px) 0 0 calc(var(--ny-radius) - 2px); }
.ny-header .jet-ajax-search__submit { border-radius: 0 calc(var(--ny-radius) - 2px) calc(var(--ny-radius) - 2px) 0 !important; }
.ny-header .jet-ajax-search__categories { position: relative; }
.ny-header .jet-ajax-search .chosen-container { font-size: var(--ny-fs-1); }
.ny-header .jet-ajax-search .chosen-container .chosen-drop { z-index: 1100; border: 1px solid var(--ny-line); border-radius: 0 0 var(--ny-radius) var(--ny-radius); box-shadow: var(--ny-shadow); }
.ny-header .jet-ajax-search .chosen-container .chosen-results { max-height: 320px; color: var(--ny-text); }
.ny-header .jet-ajax-search .chosen-container .chosen-results li.highlighted { background: var(--ny-navy); color: var(--ny-white); }
.ny-header .jet-ajax-search__results-area { z-index: 1100; background: var(--ny-white); border-radius: var(--ny-radius); box-shadow: 0 12px 32px rgba(31, 35, 56, .22); color: var(--ny-text); }
.ny-header .jet-ajax-search__results-area a { color: var(--ny-navy); }

/* Search icon (mobile only) */
.ny-search-toggle { display: none; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: var(--ny-white); cursor: pointer; }
.ny-search-toggle:hover, .ny-header.ny-search-open .ny-search-toggle { color: var(--ny-pink); }
@media (max-width: 767px) {
	.ny-search-toggle { display: inline-flex; }
	.ny-header .ny-header__search { display: none; }
	.ny-header.ny-search-open .ny-header__search { display: block; grid-column: 1 / -1; grid-row: 2; padding-bottom: 4px; }
	.ny-header .ny-header__actions { gap: 12px; }
	.ny-header .jet-ajax-search__fields-holder { display: flex; }
	.ny-header .jet-ajax-search__categories { flex: 0 0 38%; }
	.ny-header .jet-ajax-search__field { font-size: 16px; }
}
#brx-header.ny-stuck .ny-search-toggle { display: none; }
.ny-header__actions a, .ny-account { white-space: nowrap; }
.ny-header__actions > .brxe-shortcode:has(> .ny-search-toggle) { display: contents; }
.ny-header .jet-ajax-search .chosen-container .chosen-results li.highlighted { background: var(--ny-navy) !important; background-image: none !important; color: var(--ny-white); }

/* ---------- Checkout form: step cards, paired fields, clean selects ---------- */
.woocommerce:has(> .wpmc-tabs-wrapper) .wpmc-step-item.current { display: block; background: var(--ny-white); border: 1px solid var(--ny-line); border-radius: var(--ny-radius-lg); box-shadow: var(--ny-shadow); padding: clamp(20px, 3.5vw, 36px); margin-bottom: 20px; }
.wpmc-step-item h3 { position: relative; display: flex; align-items: center; gap: 10px; margin: 0 0 20px; padding: 0 0 12px; border-bottom: 1px solid var(--ny-line); font-family: var(--ny-font-head); font-size: var(--ny-fs-3); color: var(--ny-navy); }
.wpmc-step-item h3::before { content: ""; flex: none; width: 4px; height: 1.1em; border-radius: 2px; background: var(--ny-pink); }
.wpmc-step-item h3#ship-to-different-address { border-bottom: 0; padding-bottom: 0; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.woocommerce-billing-fields__field-wrapper > .form-row, .woocommerce-shipping-fields__field-wrapper > .form-row { grid-column: 1 / -1; float: none !important; width: auto !important; margin: 0 0 16px !important; padding: 0; }
:is(#billing_first_name_field, #billing_last_name_field, #billing_city_field, #billing_state_field, #billing_postcode_field, #billing_phone_field, #shipping_first_name_field, #shipping_last_name_field, #shipping_city_field, #shipping_state_field, #shipping_postcode_field) { grid-column: auto !important; }
#billing_address_2_field, #shipping_address_2_field { margin-top: -8px !important; }
.woocommerce form .form-row label { margin-bottom: 6px; font-size: var(--ny-fs-1); font-weight: 700; letter-spacing: .02em; color: var(--ny-navy); }
.woocommerce form .form-row .required { color: var(--ny-red); text-decoration: none; }
.woocommerce form .form-row .optional { font-weight: 400; color: var(--ny-muted); }
/* Enhanced selects: hide the original select, style the visible box like the other fields */
.woocommerce select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: -1px !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
.woocommerce .select2-container { width: 100% !important; }
.woocommerce .select2-container .select2-selection--single { height: 48px; display: flex; align-items: center; border: 1px solid #C9CCD6; border-radius: var(--ny-radius); background: var(--ny-white); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 40px 0 14px; line-height: 46px; font-size: var(--ny-fs-2); color: var(--ny-text); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.woocommerce .select2-container--open .select2-selection--single, .woocommerce .select2-container--focus .select2-selection--single { border-color: var(--ny-pink); box-shadow: 0 0 0 3px rgba(240, 133, 144, .25); }
.select2-dropdown { border-color: var(--ny-line); border-radius: var(--ny-radius); box-shadow: var(--ny-shadow); }
.select2-results__option--highlighted[aria-selected], .select2-results__option--highlighted[data-selected] { background: var(--ny-navy) !important; color: var(--ny-white) !important; }
/* Navigation: back buttons outlined, Next solid */
.woocommerce .wpmc-nav-wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 8px; }
.woocommerce .wpmc-nav-wrapper button#wpmc-back-to-cart, .woocommerce .wpmc-nav-wrapper button#wpmc-prev { background: transparent; color: var(--ny-navy); border-color: var(--ny-navy); }
.woocommerce .wpmc-nav-wrapper button#wpmc-back-to-cart:hover, .woocommerce .wpmc-nav-wrapper button#wpmc-prev:hover { background: var(--ny-navy); color: var(--ny-white); }
.woocommerce .wpmc-nav-wrapper button#wpmc-next { margin-left: auto; min-width: 140px; }
.woocommerce .wpmc-nav-wrapper button#wpmc-next::after { content: "\2192"; margin-left: 4px; }
/* Pickup note as an info card */
.ny-pickup-note { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px !important; border-left: 4px solid var(--ny-pink); border-radius: var(--ny-radius) !important; }
.ny-pickup-note::before { content: "i"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--ny-navy); color: var(--ny-white); font-weight: 700; font-size: var(--ny-fs-1); font-style: italic; font-family: Georgia, serif; }
@media (max-width: 600px) {
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.woocommerce .wpmc-nav-wrapper button { flex: 1 1 auto; }
}
/* Checkout fine-tuning */
.wpmc-step-shipping .woocommerce-shipping-fields { margin-top: 0 !important; }
.wpmc-step-shipping .woocommerce-additional-fields { margin-top: 20px !important; }
.woocommerce .select2-container .select2-selection--single { height: 57px; padding: 0; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 40px 0 13px !important; line-height: 55px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 55px; }

/* Mobile header: search, account icon and cart sit together at the right edge */
@media (max-width: 767px) {
	.ny-header .ny-header__actions { justify-self: end; justify-content: flex-end; gap: 6px; }
	.ny-header .ny-header__actions > * { flex: none; }
	.ny-header .ny-account { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 0; color: var(--ny-white); }
	.ny-header .ny-account::before { content: ""; width: 26px; height: 26px; 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='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%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='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") center / contain no-repeat; }
	.ny-header .ny-account:hover { color: var(--ny-pink); }
	.ny-header .brxe-woocommerce-mini-cart { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; margin-right: 8px; }
}
/* Checkout: delivery time notice, more prominent */
.ny-delivery-note { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 20px; padding: 14px 16px; border: 1px solid rgba(227, 6, 19, .25); border-left: 4px solid var(--ny-red); border-radius: var(--ny-radius); background: #FFF5F5; color: var(--ny-navy); font-size: var(--ny-fs-2); font-weight: 700; line-height: 1.5; }
.ny-delivery-note::before { content: "!"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--ny-red); color: var(--ny-white); font-size: var(--ny-fs-1); font-weight: 700; }
.ny-pickup-note { margin-bottom: 12px !important; }