/**
 * Baby Market Shop — Catalogo Premium (proposta A).
 */

:root {
	--bms-ink: #1c2430;
	--bms-muted: #5f6b7a;
	--bms-paper: #f7f9fc;
	--bms-white: #ffffff;
	--bms-sky: #2f6fad;
	--bms-sky-deep: #245a8f;
	--bms-blush: #c23d6e;
	--bms-mint: #157a5f;
	--bms-line: #e2e8f0;
	--bms-shadow: 0 18px 50px rgba(28, 36, 48, 0.08);
	--bms-radius: 18px;
	--bms-max: 1180px;
	--bms-font: "Outfit", system-ui, sans-serif;
	--bms-display: "Fraunces", Georgia, serif;
	--bms-card-max: 260px;
}

html {
	font-size: 100%;
}

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

body {
	font-family: var(--bms-font);
	font-size: 1rem;
	color: var(--bms-ink);
	background: var(--bms-paper);
	line-height: 1.55;
}

/* Sticky footer: pin to the bottom when the page is shorter than the viewport. */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}
.wp-site-blocks > main {
	flex: 1 0 auto;
	width: 100%;
}
.wp-site-blocks > .bms-footer,
.wp-site-blocks > :has(> .bms-footer) {
	margin-top: auto !important;
	margin-block-start: auto !important;
}
body.admin-bar .wp-site-blocks {
	min-height: calc(100vh - 32px);
	min-height: calc(100dvh - 32px);
}
@media screen and (max-width: 782px) {
	body.admin-bar .wp-site-blocks {
		min-height: calc(100vh - 46px);
		min-height: calc(100dvh - 46px);
	}
}

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

/* Display titles (proposta A) — override WP heading defaults where needed */
.bms-hero-slide h1,
.bms-section-head h2,
.bms-express h2,
.bms-liste__copy h2,
.bms-local__card h2 {
	font-family: var(--bms-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
}
.bms-hero-slide h1 {
	font-weight: 600;
}

/* Kill WP block-gap (24px) between top-level home sections */
.wp-site-blocks > .bms-chrome,
.wp-site-blocks > .bms-announce,
.wp-site-blocks > .bms-header,
.wp-site-blocks > .bms-primary,
.wp-site-blocks > .bms-nav-backdrop,
.wp-site-blocks > .bms-store-notices,
.wp-site-blocks > .bms-hero-slider,
.wp-site-blocks > .bms-trust,
.wp-site-blocks > .bms-express,
.wp-site-blocks > .bms-section,
.wp-site-blocks > .bms-liste,
.wp-site-blocks > .bms-brands,
.wp-site-blocks > .bms-home,
.wp-site-blocks > .wp-block-group {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}
.bms-home.is-layout-flow > *,
.bms-home.is-layout-constrained > * {
	margin-block-start: 0 !important;
}
.bms-home__content,
.bms-home .wp-block-post-content {
	max-width: none;
	width: 100%;
	padding: 0;
}
.bms-home .wp-block-post-content.is-layout-constrained > *,
.bms-home .wp-block-post-content.is-layout-flow > *,
.bms-home__content.is-layout-constrained > *,
.bms-home__content.is-layout-flow > * {
	max-width: none;
	margin-inline: 0;
	margin-block-start: 0 !important;
}
.bms-section-head a {
	font-weight: 600;
	color: var(--bms-sky-deep);
	font-size: 0.92rem;
}

.bms-chrome {
	margin: 0;
	padding: 0;
}

.bms-wrap {
	width: min(100% - 2rem, var(--bms-max));
	margin-inline: auto;
}

/* Announce */
.bms-announce--express {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.45rem 0.65rem;
	background: linear-gradient(90deg, var(--bms-sky-deep), var(--bms-blush));
	color: #fff;
	text-align: center;
	font-size: 0.85rem;
	font-weight: 500;
	padding: 0.55rem 1rem;
	margin: 0;
	line-height: 1.55;
}
.bms-announce__express {
	background: #fff;
	color: var(--bms-blush);
	font-weight: 800;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
}
.bms-announce__sep { opacity: 0.65; }
.bms-announce--express a.bms-announce__wa {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	font-weight: 600;
}
.bms-announce--express a.bms-announce__wa:hover {
	color: #fff;
	opacity: 0.9;
}

/* Header — allineato a proposta A (Nanù-like) */
.bms-header {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(12px);
	position: sticky;
	top: 0;
	z-index: 40;
	border-bottom: 1px solid var(--bms-line);
	margin: 0;
	padding: 0;
}
.bms-header-top {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 0.65rem;
	padding: 0.7rem 0 0.4rem;
	min-height: 68px;
}
.bms-header-left,
.bms-header-right {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	min-width: 0;
}
.bms-header-left { justify-content: flex-start; }
.bms-header-right { justify-content: flex-end; }
.bms-logo {
	display: flex;
	justify-content: center;
	align-items: center;
	justify-self: center;
}
.bms-logo img {
	height: 48px;
	width: auto;
	max-width: min(200px, 46vw);
	object-fit: contain;
}
.bms-icon-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid transparent;
	background: transparent;
	display: grid;
	place-items: center;
	color: var(--bms-ink);
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
	appearance: none;
	font: inherit;
}
.bms-icon-btn:hover,
.bms-icon-btn.is-active,
.bms-search-toggle.is-active {
	background: #f3f6fa;
	border-color: var(--bms-line);
}
.bms-icon-btn svg { width: 18px; height: 18px; display: block; }
.bms-wish-header {
	position: relative;
}
.bms-wish-badge {
	position: absolute;
	top: 2px;
	right: 2px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--bms-blush);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	pointer-events: none;
}
.bms-buy__wish {
	margin: 0 0 1rem;
}
.bms-buy__wish .bms-wish-toggle {
	width: 100%;
	justify-content: center;
	box-sizing: border-box;
}
.bms-buy__wish .bms-wish-toggle.is-active {
	border-color: var(--bms-sky-deep);
	color: var(--bms-sky-deep);
}
.bms-preferiti {
	padding: 1.25rem 0 3.5rem;
}
.bms-preferiti--empty {
	padding-bottom: 4rem;
}
.bms-preferiti .bms-crumbs {
	padding: 0 0 0.5rem;
	margin-bottom: 0;
}
.bms-preferiti__hero {
	margin: 0.25rem 0 1.75rem;
}
.bms-preferiti--empty .bms-preferiti__hero {
	margin-bottom: 1.35rem;
}
.bms-preferiti__hero h1 {
	font-family: var(--bms-display);
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem;
}
.bms-preferiti--empty .bms-preferiti__hero h1 {
	margin-bottom: 0;
}
.bms-preferiti__hero p {
	color: var(--bms-muted);
	margin: 0;
	max-width: none;
	line-height: 1.45;
}
.bms-preferiti__empty {
	display: block;
	padding: 0 0 0.5rem;
}
.bms-preferiti__empty[hidden],
.bms-products[hidden] {
	display: none !important;
}
.bms-preferiti__empty-card {
	max-width: 34rem;
	margin: 0 auto;
	text-align: center;
	padding: 2.15rem 1.65rem 2rem;
	background:
		radial-gradient(ellipse 90% 70% at 50% 0%, rgba(194, 61, 110, 0.08), transparent 55%),
		var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
}
.bms-preferiti__empty-icon {
	width: 3.35rem;
	height: 3.35rem;
	margin: 0 auto 1rem;
	background-color: var(--bms-blush);
	opacity: 0.9;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M12 20.4S3.5 15.2 3.5 9.6A4.1 4.1 0 0 1 12 7.2 4.1 4.1 0 0 1 20.5 9.6C20.5 15.2 12 20.4 12 20.4z'/%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'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M12 20.4S3.5 15.2 3.5 9.6A4.1 4.1 0 0 1 12 7.2 4.1 4.1 0 0 1 20.5 9.6C20.5 15.2 12 20.4 12 20.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bms-preferiti__empty-title {
	font-family: var(--bms-display);
	font-size: clamp(1.35rem, 2.8vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 0 0.65rem;
	color: var(--bms-ink);
}
.bms-preferiti__empty-lead {
	margin: 0 auto 1.35rem;
	max-width: 34ch;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--bms-muted);
}
.bms-preferiti__empty-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
}
.bms-preferiti__empty-actions .bms-btn-blush {
	box-shadow: 0 8px 22px rgba(194, 61, 110, 0.22);
}
.bms-preferiti__suggest {
	margin-top: 2.75rem;
	padding-top: 2rem;
	border-top: 1px dotted var(--bms-line);
}
.bms-preferiti__suggest-head {
	margin: 0 0 1.25rem;
	text-align: left;
}
.bms-preferiti__suggest-head h2 {
	font-family: var(--bms-display);
	font-size: clamp(1.35rem, 2.8vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 0.4rem;
	color: var(--bms-ink);
}
.bms-preferiti__suggest-head p {
	margin: 0;
	color: var(--bms-muted);
	font-size: 0.95rem;
	max-width: 42ch;
}
.bms-wish-item {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.bms-wish-item .bms-product {
	height: 100%;
}
.bms-wish-item__remove {
	align-self: stretch;
	border: 1px solid var(--bms-line);
	background: var(--bms-white);
	border-radius: 999px;
	padding: 0.55rem 0.9rem;
	font-weight: 600;
	font-size: 0.82rem;
	cursor: pointer;
	color: var(--bms-ink);
}
.bms-wish-item__remove:hover {
	border-color: var(--bms-sky-deep);
	color: var(--bms-sky-deep);
}

/* Cart / Checkout / Account */
.bms-woo-page {
	padding: 0 0 3.5rem;
}
.bms-woo-page__chrome {
	padding: 1.25rem 0 0;
}
.bms-woo-page__chrome .bms-crumbs {
	padding: 0 0 0.5rem;
	margin-bottom: 0;
}
.bms-woo-page__body {
	padding: 0.25rem 0 0;
}
.bms-woo-page__title,
.bms-woo-page h1.wp-block-post-title {
	font-family: var(--bms-display);
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 1.35rem;
	font-weight: 700;
}
.bms-woo-page .wp-block-woocommerce-cart,
.bms-woo-page .wp-block-woocommerce-checkout,
.bms-woo-page .woocommerce {
	font-family: var(--bms-font);
	color: var(--bms-ink);
}
.bms-woo-page .wc-block-components-sidebar-layout {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 1.5rem;
	align-items: start;
}
.bms-woo-page .wc-block-components-main,
.bms-woo-page .wc-block-components-sidebar {
	width: 100%;
	max-width: none;
}
.bms-woo-page .wc-block-cart-items {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 0.35rem 1rem;
}
.bms-woo-page .wc-block-components-product-metadata__description,
.bms-woo-page .wc-block-components-product-details {
	color: var(--bms-muted);
	font-size: 0.86rem;
	line-height: 1.45;
}
.bms-woo-page .wc-block-components-product-metadata__description > *:first-child {
	margin-top: 0;
}
.bms-woo-page .wc-block-components-product-metadata__description > *:last-child {
	margin-bottom: 0;
}
.bms-woo-page .wc-block-components-product-metadata__description p {
	margin: 0 0 0.35rem;
}
.bms-woo-page .wc-block-components-product-metadata__description ul,
.bms-woo-page .wc-block-components-product-metadata__description ol {
	margin: 0.25rem 0 0;
	padding: 0 0 0 1.1rem;
	list-style: disc;
}
.bms-woo-page .wc-block-components-product-metadata__description li {
	margin: 0.15rem 0;
	padding: 0;
}
.bms-woo-page .wc-block-components-product-metadata__description li::marker {
	color: var(--bms-sky);
}
.bms-woo-page .wp-block-woocommerce-cart-totals-block,
.bms-woo-page .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.1rem 1.15rem 1.15rem;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.bms-woo-page .wc-block-components-sidebar > * {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0 !important;
}
.bms-woo-page .wp-block-woocommerce-cart-order-summary-block {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}
.bms-woo-page .wc-block-cart__totals-title {
	font-family: var(--bms-font);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bms-ink);
	margin: 0 0 0.65rem !important;
	padding: 0 !important;
}
.bms-woo-page .wc-block-components-totals-wrapper {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0.7rem 0 !important;
	margin: 0 !important;
	border-top: 1px solid var(--bms-line) !important;
}
.bms-woo-page .wp-block-woocommerce-cart-order-summary-coupon-form-block.wc-block-components-totals-wrapper {
	padding: 0 0 0.7rem !important;
	border-top: none !important;
}
.bms-woo-page .wp-block-woocommerce-cart-order-summary-totals-block {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
}
.bms-woo-page .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper {
	padding: 0.7rem 0 !important;
}
.bms-woo-page .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:empty,
.bms-woo-page .wc-block-components-totals-wrapper.slot-wrapper:empty,
.bms-woo-page .wc-block-components-totals-wrapper:has(> .wc-block-components-order-meta:empty),
.bms-woo-page .wc-block-cart__payment-options:empty {
	display: none !important;
}
.bms-woo-page .wp-block-woocommerce-empty-cart-block {
	padding: 1.5rem 0 2.5rem;
	text-align: center;
}
.bms-woo-page .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.bms-woo-page .wp-block-woocommerce-empty-cart-block > .wp-block-heading {
	font-family: var(--bms-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--bms-ink);
	margin: 0 0 0.85rem;
}
.bms-woo-page .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-size: clamp(1.6rem, 3.5vw, 2.2rem);
}
.bms-woo-page .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	content: "" !important;
	display: block !important;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 1rem;
	background-color: var(--bms-sky);
	opacity: 0.88;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M17.5 8V5.2A2.2 2.2 0 0 1 19.7 3H21'/%3E%3Cpath fill='%23000' d='M3.8 11.2c0-3.7 3-6.7 6.7-6.7H14v6.7H3.8z'/%3E%3Cpath fill='%23000' d='M3.2 12.5h13.5c.8 0 1.4.7 1.3 1.5l-1.2 4.2a1.2 1.2 0 0 1-1.2.9H5.4a1.2 1.2 0 0 1-1.1-.8l-1.5-4.5a1.4 1.4 0 0 1 .4-1.3z'/%3E%3Ccircle cx='7.2' cy='20.2' r='1.65' fill='%23000'/%3E%3Ccircle cx='15.8' cy='20.2' r='1.65' fill='%23000'/%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'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M17.5 8V5.2A2.2 2.2 0 0 1 19.7 3H21'/%3E%3Cpath fill='%23000' d='M3.8 11.2c0-3.7 3-6.7 6.7-6.7H14v6.7H3.8z'/%3E%3Cpath fill='%23000' d='M3.2 12.5h13.5c.8 0 1.4.7 1.3 1.5l-1.2 4.2a1.2 1.2 0 0 1-1.2.9H5.4a1.2 1.2 0 0 1-1.1-.8l-1.5-4.5a1.4 1.4 0 0 1 .4-1.3z'/%3E%3Ccircle cx='7.2' cy='20.2' r='1.65' fill='%23000'/%3E%3Ccircle cx='15.8' cy='20.2' r='1.65' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bms-woo-page .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	font-size: clamp(1.35rem, 2.8vw, 1.85rem);
	margin: 1.75rem 0 1.25rem;
}
.bms-woo-page .wp-block-woocommerce-empty-cart-block .wp-block-separator {
	margin: 1.25rem auto;
	max-width: 12rem;
	border: none !important;
	border-top: 1px dotted var(--bms-line) !important;
	opacity: 1;
}
.bms-woo-page .wp-block-woocommerce-empty-cart-block .bms-products {
	text-align: left;
	margin-top: 0.5rem;
}
.bms-woo-page .wc-block-components-totals-item {
	margin: 0 !important;
	padding: 0 !important;
	gap: 0.15rem 0.75rem;
}
.bms-woo-page .wc-block-components-totals-item__label {
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--bms-ink);
}
.bms-woo-page .wc-block-components-totals-item__description {
	font-size: 0.78rem;
	color: var(--bms-muted);
	margin: 0.1rem 0 0 !important;
	padding: 0 !important;
	line-height: 1.35;
}
.bms-woo-page .wc-block-components-totals-shipping {
	margin: 0 !important;
	padding: 0 !important;
}
.bms-woo-page .wc-block-components-totals-shipping__via {
	margin: 0 !important;
}
.bms-woo-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-weight: 700;
	font-size: 1rem;
}
.bms-woo-page .wc-block-components-panel {
	margin: 0 !important;
}
.bms-woo-page .wc-block-components-panel__button {
	padding: 0 !important;
	min-height: 0 !important;
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--bms-ink);
}
.bms-woo-page .wc-block-cart__submit,
.bms-woo-page .wp-block-woocommerce-proceed-to-checkout-block {
	margin: 0.85rem 0 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}
.bms-woo-page .wc-block-cart__submit-container {
	margin: 0 !important;
	padding: 0 !important;
}
.bms-woo-page .wc-block-cart__submit-button {
	width: 100%;
	justify-content: center;
	display: inline-flex !important;
	min-height: 46px;
	box-sizing: border-box;
}
.bms-woo-page .wc-block-components-totals-coupon__form {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.65rem 0 0;
}
.bms-woo-page .wc-block-components-totals-coupon .wc-block-components-text-input {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	min-height: 46px;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--bms-line) !important;
	border-radius: 999px !important;
	background: var(--bms-white) !important;
	box-sizing: border-box;
	overflow: hidden;
}
.bms-woo-page .wc-block-components-totals-coupon .wc-block-components-text-input input {
	display: block;
	width: 100%;
	height: 46px !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 0 1rem !important;
	border: none !important;
	border-radius: 999px !important;
	background: transparent !important;
	font-size: 0.92rem !important;
	line-height: 46px !important;
	box-shadow: none !important;
	box-sizing: border-box;
}
.bms-woo-page .wc-block-components-totals-coupon .wc-block-components-text-input label {
	/* Floating WC label replaced by native placeholder */
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	transform: none !important;
}
.bms-woo-page .wc-block-components-totals-coupon .wc-block-components-text-input input::placeholder {
	color: var(--bms-muted);
	opacity: 1;
	font-size: 0.92rem;
	font-weight: 500;
}
.bms-woo-page .wc-block-components-totals-coupon__button {
	flex: 0 0 auto;
	min-height: 46px !important;
	height: 46px !important;
	padding: 0 1.1rem !important;
	font-size: 0.92rem !important;
	line-height: 1 !important;
	border-radius: 999px !important;
	align-self: center;
	box-sizing: border-box;
}
.bms-woo-page .wc-block-cart-items__header,
.bms-woo-page .wc-block-cart-items__row {
	border-color: var(--bms-line) !important;
}
.bms-woo-page .wc-block-components-product-name,
.bms-woo-page .wc-block-components-product-name a {
	font-weight: 600;
	color: var(--bms-ink);
	text-decoration: none;
}
.bms-woo-page .wc-block-components-product-price,
.bms-woo-page .wc-block-components-totals-item__value {
	color: var(--bms-sky-deep);
	font-weight: 600;
}
.bms-woo-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.2rem;
	color: var(--bms-sky-deep);
}
.bms-woo-page .wc-block-components-quantity-selector {
	border: 1px solid var(--bms-line);
	border-radius: 999px;
	overflow: hidden;
	background: var(--bms-white);
}
.bms-woo-page .wc-block-components-quantity-selector__button {
	background: var(--bms-white) !important;
	color: var(--bms-ink) !important;
}
.bms-woo-page .wc-block-components-quantity-selector__input {
	background: var(--bms-paper) !important;
	font-weight: 600;
}
.bms-woo-page .wc-block-cart__submit-button,
.bms-woo-page .wc-block-components-checkout-place-order-button,
.bms-woo-page .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button),
.bms-woo-page .woocommerce-button,
.bms-woo-page button.button,
.bms-woo-page .button.alt,
.bms-woo-page .woocommerce-form-login__submit,
.bms-woo-page .woocommerce-form-register__submit {
	background: var(--bms-sky-deep) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.75rem 1.25rem !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	line-height: 1.2 !important;
	min-height: 46px;
	box-sizing: border-box;
	box-shadow: none !important;
	text-decoration: none !important;
}
.bms-woo-page .wc-block-cart__submit-button:hover,
.bms-woo-page .wc-block-components-checkout-place-order-button:hover,
.bms-woo-page .wc-block-components-button:not(.is-link):hover,
.bms-woo-page button.button:hover {
	background: var(--bms-sky) !important;
}
.bms-woo-page .wc-block-components-text-input {
	position: relative;
}
.bms-woo-page .wc-block-components-text-input input,
.bms-woo-page .wc-block-components-textarea textarea,
.bms-woo-page .woocommerce form .input-text,
.bms-woo-page .woocommerce form select,
.bms-woo-page .woocommerce-Input {
	border: 1px solid var(--bms-line) !important;
	border-radius: 12px !important;
	background: var(--bms-white) !important;
	padding: 1.15rem 0.9rem 0.45rem !important;
	box-shadow: none !important;
	color: var(--bms-ink);
}
.bms-woo-page .wc-block-components-text-input input:focus,
.bms-woo-page .wc-block-components-textarea textarea:focus,
.bms-woo-page .woocommerce form .input-text:focus,
.bms-woo-page .woocommerce form select:focus,
.bms-woo-page .woocommerce-Input:focus {
	border-color: var(--bms-sky) !important;
	box-shadow: 0 0 0 3px rgba(47, 111, 173, 0.12) !important;
	outline: none !important;
}
.bms-woo-page .wc-block-components-text-input label {
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--bms-muted);
}

/* Checkout: main column card + payment/shipping radios */
.bms-woo-page--checkout .wc-block-components-main {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.15rem 1.25rem 1.35rem;
}
.bms-woo-page--checkout .wc-block-components-checkout-step__heading,
.bms-woo-page--checkout .wc-block-components-checkout-step__title {
	font-family: var(--bms-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--bms-ink);
}
.bms-woo-page--checkout .wc-block-components-checkout-step__description {
	color: var(--bms-muted);
	font-size: 0.9rem;
}
.bms-woo-page--checkout .wc-block-components-radio-control-accordion-option,
.bms-woo-page--checkout .wc-block-components-radio-control__option {
	border: 1px solid var(--bms-line);
	border-radius: 14px;
	background: var(--bms-paper);
	margin: 0 0 0.65rem;
	padding: 0.9rem 1.1rem 0.9rem 3.1rem;
	box-sizing: border-box;
}
.bms-woo-page--checkout .wc-block-components-radio-control-accordion-option {
	padding: 0.9rem 1.1rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option,
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option-layout {
	width: 100%;
	max-width: 100%;
}
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	background: var(--bms-paper);
	border: 1px solid var(--bms-line);
}
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: var(--bms-paper);
}
.bms-woo-page--checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
	border: 0;
	background: transparent;
	margin: 0;
	padding: 0 0 0 2.05rem;
	box-shadow: none;
}
.bms-woo-page--checkout .wc-block-components-radio-control__option-layout {
	padding: 0;
}
.bms-woo-page--checkout .wc-block-components-radio-control .wc-block-components-radio-control__input,
.bms-woo-page--checkout .wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input {
	left: 1.05rem;
	top: 50%;
	transform: translateY(-50%);
}
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
	left: 0;
	top: 0.2rem;
	transform: none;
}
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
	padding: 0.2rem 0 0 2.05rem;
}
.bms-woo-page--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content:empty {
	padding: 0;
}
.bms-woo-page--checkout .wc-block-components-radio-control-accordion-option:hover,
.bms-woo-page--checkout .wc-block-components-radio-control__option:hover {
	border-color: #c5d0dc;
}
.bms-woo-page--checkout .wc-block-components-radio-control__option--checked-option-highlighted,
.bms-woo-page--checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--bms-sky);
	background: var(--bms-white);
	box-shadow: 0 0 0 3px rgba(47, 111, 173, 0.1);
}
.bms-woo-page--checkout .wc-block-components-checkbox label {
	color: var(--bms-ink);
	font-size: 0.9rem;
}
.bms-woo-page--checkout .wc-block-components-notice-banner {
	border-radius: 14px;
	font-size: 0.9rem;
	line-height: 1.45;
}
@media (min-width: 768px) {
	.bms-woo-page--checkout .wc-block-components-sidebar,
	.bms-woo-page--cart .wc-block-components-sidebar {
		position: sticky;
		top: 1.25rem;
		align-self: start;
	}
}
.bms-woo-page--checkout .wc-block-checkout__login-prompt,
.bms-woo-page--checkout .wc-block-components-checkout-step__content .wc-block-checkout__guest-checkout-notice {
	font-size: 0.92rem;
	color: var(--bms-muted);
}
body.bms-ln-order-vouchers-only .wc-block-order-confirmation-shipping-address,
body.bms-ln-order-vouchers-only .woocommerce-customer-details--shipping {
	display: none !important;
}
body.bms-ln-cart-vouchers-only .wc-block-components-quantity-selector,
body.bms-ln-cart-vouchers-only .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	display: none !important;
}
body.bms-ln-cart-vouchers-only .bms-ln-qty-locked,
.bms-ln-qty-locked {
	font-weight: 600;
	color: var(--bms-ink, #1c2430);
}
.bms-preferiti__suggest[hidden] {
	display: none !important;
}
.bms-woo-page .woocommerce form label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce > h2 {
	font-family: var(--bms-display);
	font-size: 1.45rem;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
	font-weight: 700;
}
.bms-woo-page--account .woocommerce-form-login,
.bms-woo-page--account .woocommerce-form-register,
.bms-woo-page--account .woocommerce-ResetPassword {
	max-width: 28rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.35rem 1.4rem 1.45rem;
}
.bms-woo-page--account #customer_login.u-columns,
.bms-woo-page--account .u-columns#customer_login,
.bms-woo-page--account .col2-set#customer_login {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	float: none !important;
	width: 100% !important;
	max-width: 56rem;
	margin: 0 auto;
}
.bms-woo-page--account #customer_login .u-column1,
.bms-woo-page--account #customer_login .u-column2,
.bms-woo-page--account #customer_login .col-1,
.bms-woo-page--account #customer_login .col-2 {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
.bms-woo-page--account #customer_login .woocommerce-form-login,
.bms-woo-page--account #customer_login .woocommerce-form-register {
	max-width: none;
	height: 100%;
	box-sizing: border-box;
}
.bms-woo-page--account #customer_login h2 {
	font-family: var(--bms-display);
	font-size: clamp(1.25rem, 2.4vw, 1.55rem);
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
	font-weight: 700;
}
@media (max-width: 767px) {
	.bms-woo-page--account #customer_login.u-columns,
	.bms-woo-page--account .u-columns#customer_login,
	.bms-woo-page--account .col2-set#customer_login {
		grid-template-columns: 1fr;
	}
}
.bms-woo-page--account .woocommerce-form-login .form-row,
.bms-woo-page--account .woocommerce-form-register .form-row,
.bms-woo-page--account .woocommerce-ResetPassword .form-row {
	display: block;
	float: none !important;
	clear: both;
	width: 100% !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
}
.bms-woo-page--account .woocommerce-form-login .form-row::before,
.bms-woo-page--account .woocommerce-form-login .form-row::after,
.bms-woo-page--account .woocommerce-form-register .form-row::before,
.bms-woo-page--account .woocommerce-form-register .form-row::after {
	display: none !important;
	content: none !important;
}
.bms-woo-page--account .woocommerce-form-row label,
.bms-woo-page--account .woocommerce-form-login .form-row > label:not(.woocommerce-form__label-for-checkbox),
.bms-woo-page--account .woocommerce-form-register .form-row > label:not(.woocommerce-form__label-for-checkbox) {
	display: block;
	float: none !important;
	width: auto !important;
	margin: 0 0 0.4rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-Input,
.bms-woo-page--account .woocommerce form .input-text {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-height: 46px;
	padding: 0.75rem 0.95rem !important;
	border-radius: 12px !important;
	box-sizing: border-box;
}
.bms-woo-page--account .woocommerce form select,
.bms-woo-page--account .woocommerce-address-fields select,
.bms-woo-page--account .woocommerce-address-fields .country_to_state,
.bms-woo-page--account .woocommerce-address-fields .state_select {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 46px;
	padding: 0.75rem 2.25rem 0.75rem 0.95rem !important;
	border: 1px solid var(--bms-line) !important;
	border-radius: 12px !important;
	background-color: var(--bms-white) !important;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B7785' d='M1.4 1.4 6 6 10.6 1.4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.95rem center;
	background-size: 12px 8px;
	color: var(--bms-ink);
	font-size: 0.95rem;
	line-height: 1.3;
}
.bms-woo-page--account .woocommerce-input-wrapper {
	display: block !important;
	width: 100%;
}
.bms-woo-page--account .select2-container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}
.bms-woo-page--account .select2-container .select2-selection--single {
	min-height: 46px !important;
	height: auto !important;
	border: 1px solid var(--bms-line) !important;
	border-radius: 12px !important;
	background: var(--bms-white) !important;
	padding: 0.55rem 0.95rem !important;
	box-sizing: border-box;
}
.bms-woo-page--account .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.4 !important;
	padding: 0 !important;
	color: var(--bms-ink) !important;
}
.bms-woo-page--account .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
	top: 0 !important;
	right: 0.55rem !important;
}
.bms-woo-page--account .select2-hidden-accessible {
	position: absolute !important;
}
.bms-woo-page--account .password-input {
	display: block;
	position: relative;
	width: 100%;
}
.bms-woo-page--account .password-input .input-text {
	padding-right: 2.85rem !important;
}
.bms-woo-page--account .show-password-input {
	position: absolute;
	right: 0.55rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0;
}
.bms-woo-page--account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit),
.bms-woo-page--account .woocommerce-form-register .form-row:has(.woocommerce-form-register__submit) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin: 0.15rem 0 0 !important;
}
.bms-woo-page--account .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	font-size: 0.88rem;
	color: var(--bms-muted);
	font-weight: 500;
	cursor: pointer;
}
.bms-woo-page--account .woocommerce-form-login__submit,
.bms-woo-page--account .woocommerce-form-register__submit,
.bms-woo-page--account .woocommerce-Button {
	margin: 0 0 0 auto;
	min-width: 8.5rem;
}
.bms-woo-page--account .woocommerce-form-register .form-row-first,
.bms-woo-page--account .woocommerce-form-register .form-row-last {
	display: inline-block;
	width: calc(50% - 0.4rem) !important;
	vertical-align: top;
}
.bms-woo-page--account .woocommerce-form-register .form-row-first {
	margin-right: 0.8rem !important;
}
.bms-woo-page--account .woocommerce-LostPassword {
	margin: 1rem 0 0;
	font-size: 0.88rem;
}
.bms-woo-page--account .woocommerce-LostPassword a {
	color: var(--bms-sky-deep);
	font-weight: 600;
	text-decoration: none;
}
.bms-woo-page--account .woocommerce-LostPassword a:hover {
	text-decoration: underline;
}
.bms-woo-page--account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: minmax(12.5rem, 15rem) minmax(0, 1fr);
	gap: 1.5rem 1.75rem;
	align-items: start;
}
.bms-woo-page--account .woocommerce::before,
.bms-woo-page--account .woocommerce::after {
	display: none !important;
	content: none !important;
}
.bms-woo-page--account .woocommerce-MyAccount-navigation {
	margin: 0;
	float: none !important;
	width: auto !important;
	padding: 0.75rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	box-sizing: border-box;
}
.bms-woo-page--account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.bms-woo-page--account .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.bms-woo-page--account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.9rem;
	border-radius: 12px;
	border: 1px solid transparent;
	background: transparent;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--bms-muted);
	text-decoration: none !important;
	line-height: 1.3;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.bms-woo-page--account .woocommerce-MyAccount-navigation a:hover {
	background: var(--bms-paper);
	border-color: var(--bms-line);
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-MyAccount-navigation .is-active a,
.bms-woo-page--account .woocommerce-MyAccount-navigation a[aria-current="page"] {
	background: var(--bms-ink);
	border-color: var(--bms-ink);
	color: #fff;
	text-decoration: none !important;
}
.bms-woo-page--account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.35rem 1.45rem;
	min-width: 0;
}
.bms-woo-page--account .woocommerce-MyAccount-content p {
	color: var(--bms-muted);
	margin: 0 0 0.85rem;
	line-height: 1.55;
}
.bms-woo-page--account .woocommerce-MyAccount-content a:not(.bms-btn):not(.button):not(.woocommerce-button) {
	color: var(--bms-sky-deep);
	font-weight: 600;
}
.bms-woo-page--account .woocommerce-MyAccount-content a.bms-btn-blush,
.bms-woo-page--account .woocommerce-MyAccount-content a.bms-btn-accent {
	color: #fff;
	font-weight: 600;
}
.bms-woo-page--account .woocommerce-MyAccount-content a.bms-btn-blush:hover,
.bms-woo-page--account .woocommerce-MyAccount-content a.bms-btn-accent:hover {
	color: #fff;
	text-decoration: none;
}
.bms-woo-page--account .woocommerce-MyAccount-content .wc-block-components-notice-banner,
.bms-woo-page--account .woocommerce-MyAccount-content .woocommerce-info,
.bms-woo-page--account .woocommerce-MyAccount-content .woocommerce-message,
.bms-woo-page--account .woocommerce-MyAccount-content .woocommerce-error {
	margin: 0 0 1.15rem !important;
	width: 100%;
	box-sizing: border-box;
}

/* Account empty states (orders / downloads) */
.bms-woo-page--account .woocommerce-MyAccount-content:has(.bms-account-empty) {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 22rem;
}
.bms-woo-page--account .woocommerce-MyAccount-content:has(.bms-account-dash) {
	padding: 1.5rem 1.5rem 1.6rem;
}
.bms-account-dash__hero {
	margin: 0 0 1.35rem;
}
.bms-account-dash__eyebrow {
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bms-blush);
	margin: 0 0 0.55rem;
}
.bms-account-dash__title {
	font-family: var(--bms-display) !important;
	font-size: clamp(1.55rem, 3vw, 2rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 0.45rem !important;
	color: var(--bms-ink);
}
.bms-account-dash__lead {
	margin: 0 !important;
	color: var(--bms-muted);
	font-size: 0.95rem;
}
.bms-account-dash__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}
.bms-account-dash__card {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.05rem 1.1rem;
	border: 1px solid var(--bms-line);
	border-radius: 14px;
	background: var(--bms-paper);
	text-decoration: none !important;
	color: inherit;
	transition: border-color 0.15s ease, transform 0.15s ease;
}
.bms-account-dash__card:hover {
	border-color: #c5d0dc;
	transform: translateY(-2px);
	color: inherit;
}
.bms-account-dash__card--accent {
	background:
		radial-gradient(ellipse 90% 70% at 100% 0%, rgba(194, 61, 110, 0.1), transparent 55%),
		var(--bms-white);
	border-color: rgba(194, 61, 110, 0.22);
}
.bms-account-dash__card-label {
	font-family: var(--bms-display);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--bms-ink);
}
.bms-account-dash__card-desc {
	font-size: 0.86rem;
	line-height: 1.4;
	color: var(--bms-muted);
	font-weight: 500;
}
.bms-woo-page--account .woocommerce-MyAccount-content a.bms-account-dash__card {
	color: inherit;
	font-weight: inherit;
}
@media (max-width: 1023px) {
	.bms-account-dash__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.bms-account-dash__grid {
		grid-template-columns: 1fr;
	}
}
.bms-woo-page--account .bms-account-empty {
	width: 100%;
	margin: 0;
}
.bms-woo-page--account .bms-account-empty__card {
	max-width: 28rem;
	margin: 0 auto;
	text-align: center;
	padding: 0.5rem 1rem;
	background: transparent;
	border: none;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.bms-woo-page--account .bms-account-empty__icon {
	width: 3.1rem;
	height: 3.1rem;
	margin: 0 0 1rem;
	background-color: var(--bms-blush);
	opacity: 0.9;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M12 3v12m0 0 4-4m-4 4-4-4M5 21h14'/%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'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M12 3v12m0 0 4-4m-4 4-4-4M5 21h14'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bms-woo-page--account .bms-account-empty--orders .bms-account-empty__icon {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M6 7h12l-1 12H7L6 7zm3-3h6l1 3H8l1-3z'/%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'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M6 7h12l-1 12H7L6 7zm3-3h6l1 3H8l1-3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bms-woo-page--account .woocommerce-MyAccount-content .bms-account-empty__title {
	font-family: var(--bms-display);
	font-size: clamp(1.35rem, 2.8vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 0 0.65rem;
	color: var(--bms-ink);
	text-align: center;
	width: 100%;
}
.bms-woo-page--account .woocommerce-MyAccount-content .bms-account-empty__lead {
	margin: 0 auto 1.35rem;
	max-width: 32ch;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--bms-muted);
	text-align: center;
}
.bms-woo-page--account .bms-account-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
}
.bms-woo-page--account .bms-account-empty__actions .bms-btn-blush {
	box-shadow: none;
}
.bms-woo-page--account .col2-set::before,
.bms-woo-page--account .col2-set::after,
.bms-woo-page--account .u-columns::before,
.bms-woo-page--account .u-columns::after,
.bms-woo-page--account .woocommerce-columns::before,
.bms-woo-page--account .woocommerce-columns::after {
	display: none !important;
	content: none !important;
}
.bms-woo-page--account .col2-set,
.bms-woo-page--account .u-columns.woocommerce-Addresses,
.bms-woo-page--account .woocommerce-customer-details .woocommerce-columns,
.bms-woo-page--account .woocommerce-customer-details .col2-set {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	float: none !important;
	width: 100% !important;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
.bms-woo-page--account .col2-set .col-1,
.bms-woo-page--account .col2-set .col-2,
.bms-woo-page--account .u-column1,
.bms-woo-page--account .u-column2,
.bms-woo-page--account .woocommerce-column {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0;
}
@media (max-width: 767px) {
	.bms-woo-page--account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.bms-woo-page--account .woocommerce-MyAccount-navigation {
		padding: 0.65rem;
	}
	.bms-woo-page--account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0.35rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		padding-bottom: 0.15rem;
	}
	.bms-woo-page--account .woocommerce-MyAccount-navigation a {
		width: auto;
		flex: 0 0 auto;
		white-space: nowrap;
		border-radius: 999px;
		padding: 0.45rem 0.85rem;
		border-color: var(--bms-line);
		background: var(--bms-white);
		font-size: 0.82rem;
	}
	.bms-woo-page--account .col2-set,
	.bms-woo-page--account .u-columns.woocommerce-Addresses,
	.bms-woo-page--account .woocommerce-customer-details .woocommerce-columns {
		grid-template-columns: 1fr;
	}
	.bms-woo-page--account .woocommerce-orders-table thead {
		display: none;
	}
	.bms-woo-page--account .woocommerce-orders-table,
	.bms-woo-page--account .woocommerce-orders-table tbody,
	.bms-woo-page--account .woocommerce-orders-table tr,
	.bms-woo-page--account .woocommerce-orders-table td,
	.bms-woo-page--account .woocommerce-orders-table th {
		display: block;
		width: 100%;
	}
	.bms-woo-page--account .woocommerce-orders-table tr {
		margin: 0 0 0.85rem;
		padding: 0.9rem 1rem;
		border: 1px solid var(--bms-line);
		border-radius: 14px;
		background: var(--bms-paper);
		box-sizing: border-box;
	}
	.bms-woo-page--account .woocommerce-orders-table td {
		display: flex;
		justify-content: space-between;
		gap: 0.75rem;
		padding: 0.35rem 0;
		border: none;
		text-align: right;
	}
	.bms-woo-page--account .woocommerce-orders-table td::before {
		content: attr(data-title);
		font-weight: 600;
		color: var(--bms-muted);
		text-align: left;
	}
	.bms-woo-page--account .woocommerce-orders-table th {
		padding: 0 0 0.5rem;
		border: none;
		text-align: left;
		font-size: 1rem;
	}
}
.bms-woo-page--account .woocommerce-Addresses .woocommerce-Address,
.bms-woo-page--account .woocommerce-customer-details .woocommerce-column {
	margin: 0;
	padding: 1.15rem 1.25rem;
	background: var(--bms-paper);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	box-sizing: border-box;
}
.bms-woo-page--account .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
	margin: 0 0 0.75rem;
}
.bms-woo-page--account .woocommerce-Address-title h2,
.bms-woo-page--account .woocommerce-Address-title h3 {
	font-family: var(--bms-font);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-Address-title a {
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
}
.bms-woo-page--account .woocommerce-Address-title a:hover {
	text-decoration: underline;
}
.bms-woo-page--account .woocommerce-Addresses address,
.bms-woo-page--account .woocommerce-customer-details address,
.bms-woo-page--account .woocommerce-Address address {
	font-family: var(--bms-font);
	font-style: normal !important;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--bms-ink);
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.bms-woo-page--account .woocommerce-customer-details--phone,
.bms-woo-page--account .woocommerce-customer-details--email {
	margin: 0.55rem 0 0 !important;
	color: var(--bms-muted);
	font-size: 0.88rem;
}
.bms-woo-page--account .woocommerce-orders-table-wrapper {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0;
}
.bms-woo-page--account .woocommerce-orders-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	overflow: hidden;
	font-size: 0.9rem;
	background: var(--bms-white);
}
.bms-woo-page--account .woocommerce-orders-table th,
.bms-woo-page--account .woocommerce-orders-table td {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--bms-line);
	border-right: none;
	text-align: left;
	vertical-align: middle;
}
.bms-woo-page--account .woocommerce-orders-table thead th {
	background: var(--bms-paper);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--bms-muted);
}
.bms-woo-page--account .woocommerce-orders-table tbody tr:last-child th,
.bms-woo-page--account .woocommerce-orders-table tbody tr:last-child td {
	border-bottom: none;
}
.bms-woo-page--account .woocommerce-orders-table:not(:has(.woocommerce-orders-table__cell-order_invoice a)):not(:has(.woocommerce-orders-table__cell-order_invoice .button)) .woocommerce-orders-table__header-order_invoice,
.bms-woo-page--account .woocommerce-orders-table:not(:has(.woocommerce-orders-table__cell-order_invoice a)):not(:has(.woocommerce-orders-table__cell-order_invoice .button)) .woocommerce-orders-table__cell-order_invoice {
	display: none;
}
.bms-woo-page--account .woocommerce-button.view {
	border-radius: 999px !important;
	padding: 0.45rem 0.85rem !important;
	min-height: 0;
	font-size: 0.82rem !important;
}

/* Account — edit account form */
.bms-woo-page--account .woocommerce-address-fields,
.bms-woo-page--account .woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
	display: block;
	width: 100%;
	max-width: 40rem;
}
.bms-woo-page--account .woocommerce-address-fields .form-row,
.bms-woo-page--account form.woocommerce-EditAddressForm .form-row,
.bms-woo-page--account .woocommerce-MyAccount-content form .form-row {
	display: block;
	float: none !important;
	clear: both;
	width: 100% !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	box-sizing: border-box;
}
.bms-woo-page--account .woocommerce-address-fields .form-row-first,
.bms-woo-page--account .woocommerce-address-fields .form-row-last,
.bms-woo-page--account .woocommerce-MyAccount-content form .form-row-first,
.bms-woo-page--account .woocommerce-MyAccount-content form .form-row-last {
	display: inline-block;
	float: none !important;
	clear: none;
	width: calc(50% - 0.5rem) !important;
	vertical-align: top;
}
.bms-woo-page--account .woocommerce-address-fields .form-row-first,
.bms-woo-page--account .woocommerce-MyAccount-content form .form-row-first {
	margin-right: 1rem !important;
}
.bms-woo-page--account .woocommerce-address-fields .form-row-wide,
.bms-woo-page--account .woocommerce-MyAccount-content form .form-row-wide {
	display: block !important;
	width: 100% !important;
	clear: both;
}
.bms-woo-page--account .woocommerce-address-fields label,
.bms-woo-page--account .woocommerce-MyAccount-content form .form-row > label {
	display: block;
	float: none !important;
	width: auto !important;
	margin: 0 0 0.4rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-address-fields h3,
.bms-woo-page--account .woocommerce-MyAccount-content form > h3 {
	font-family: var(--bms-font);
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0.35rem 0 0.85rem;
	color: var(--bms-ink);
}
@media (max-width: 640px) {
	.bms-woo-page--account .woocommerce-address-fields .form-row-first,
	.bms-woo-page--account .woocommerce-address-fields .form-row-last,
	.bms-woo-page--account .woocommerce-MyAccount-content form .form-row-first,
	.bms-woo-page--account .woocommerce-MyAccount-content form .form-row-last {
		display: block !important;
		width: 100% !important;
		margin-right: 0 !important;
	}
}

/* Account — edit account form */
.bms-woo-page--account .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1rem;
	max-width: 40rem;
}
.bms-woo-page--account .woocommerce-EditAccountForm .form-row {
	display: block;
	float: none !important;
	width: 100% !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
}
.bms-woo-page--account .woocommerce-EditAccountForm .form-row-first,
.bms-woo-page--account .woocommerce-EditAccountForm .form-row-last {
	width: 100% !important;
}
.bms-woo-page--account .woocommerce-EditAccountForm .form-row-wide,
.bms-woo-page--account .woocommerce-EditAccountForm fieldset,
.bms-woo-page--account .woocommerce-EditAccountForm .clear,
.bms-woo-page--account .woocommerce-EditAccountForm > p:last-of-type {
	grid-column: 1 / -1;
}
.bms-woo-page--account .woocommerce-EditAccountForm .clear {
	display: none;
}
.bms-woo-page--account .woocommerce-EditAccountForm label {
	display: block;
	float: none !important;
	width: auto !important;
	margin: 0 0 0.4rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-EditAccountForm em {
	display: block;
	margin-top: 0.4rem;
	font-style: normal;
	font-size: 0.8rem;
	color: var(--bms-muted);
	line-height: 1.4;
}
.bms-woo-page--account .woocommerce-EditAccountForm fieldset {
	margin: 0.35rem 0 1.15rem;
	padding: 1.1rem 1.15rem 0.35rem;
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	background: var(--bms-paper);
}
.bms-woo-page--account .woocommerce-EditAccountForm fieldset legend {
	padding: 0 0.35rem;
	font-family: var(--bms-font);
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-EditAccountForm .woocommerce-Button {
	margin: 0.25rem 0 0;
	min-width: 10rem;
}

/* Account — payment methods */
.bms-woo-page--account .woocommerce-PaymentMethods,
.bms-woo-page--account .woocommerce-MyAccount-paymentMethods {
	margin: 0;
}
.bms-woo-page--account .woocommerce-PaymentMethod,
.bms-woo-page--account .payment-method {
	padding: 1rem 1.1rem;
	margin: 0 0 0.75rem;
	border: 1px solid var(--bms-line);
	border-radius: 14px;
	background: var(--bms-paper);
}
.bms-woo-page--account .woocommerce-PaymentMethods .button,
.bms-woo-page--account .woocommerce-MyAccount-content .button.delete {
	border-radius: 999px !important;
	min-height: 0;
	padding: 0.45rem 0.9rem !important;
	font-size: 0.82rem !important;
}
.bms-woo-page--account .woocommerce-MyAccount-content .woocommerce-Message--info,
.bms-woo-page--account .woocommerce-Message {
	border-radius: 14px;
}

/* Account — order detail */
.bms-woo-page--account .woocommerce-MyAccount-content > p:first-child {
	margin: 0 0 1.25rem;
	padding: 0.95rem 1.1rem;
	background: var(--bms-paper);
	border: 1px solid var(--bms-line);
	border-radius: 14px;
	color: var(--bms-ink);
	font-size: 0.95rem;
	line-height: 1.5;
}
.bms-woo-page--account .woocommerce-MyAccount-content mark {
	background: transparent;
	color: var(--bms-sky-deep);
	font-weight: 700;
	padding: 0;
}
.bms-woo-page--account .woocommerce-MyAccount-content mark.order-status {
	display: inline-block;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: rgba(28, 36, 48, 0.08);
	color: var(--bms-ink);
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
body.woocommerce-order-status-completed .bms-woo-page--account mark.order-status {
	background: rgba(21, 122, 95, 0.1);
	color: var(--bms-mint);
}
body.woocommerce-order-status-cancelled .bms-woo-page--account mark.order-status,
body.woocommerce-order-status-failed .bms-woo-page--account mark.order-status,
body.woocommerce-order-status-refunded .bms-woo-page--account mark.order-status {
	background: rgba(194, 61, 110, 0.12);
	color: var(--bms-blush);
}
body.woocommerce-order-status-processing .bms-woo-page--account mark.order-status,
body.woocommerce-order-status-on-hold .bms-woo-page--account mark.order-status,
body.woocommerce-order-status-pending .bms-woo-page--account mark.order-status {
	background: rgba(47, 111, 173, 0.12);
	color: var(--bms-sky-deep);
}
.bms-woo-page--account .woocommerce-order-details__title,
.bms-woo-page--account .woocommerce-column__title,
.bms-woo-page--account .woocommerce-order-downloads__title,
.bms-woo-page--account .woocommerce-MyAccount-content h2 {
	font-family: var(--bms-font);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--bms-ink);
	margin: 0 0 0.85rem;
}
.bms-woo-page--account .woocommerce-order-details,
.bms-woo-page--account .woocommerce-customer-details,
.bms-woo-page--account .woocommerce-order-downloads {
	margin: 0 0 1.5rem;
}
.bms-woo-page--account .woocommerce-table--order-details,
.bms-woo-page--account .woocommerce-table--order-downloads {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	overflow: hidden;
	background: var(--bms-white);
	font-size: 0.92rem;
}
.bms-woo-page--account .woocommerce-table--order-details th,
.bms-woo-page--account .woocommerce-table--order-details td,
.bms-woo-page--account .woocommerce-table--order-downloads th,
.bms-woo-page--account .woocommerce-table--order-downloads td {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--bms-line);
	text-align: left;
	vertical-align: top;
}
.bms-woo-page--account .woocommerce-table--order-details thead th,
.bms-woo-page--account .woocommerce-table--order-downloads thead th {
	background: var(--bms-paper);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--bms-muted);
}
.bms-woo-page--account .woocommerce-table--order-details tbody tr:last-child td,
.bms-woo-page--account .woocommerce-table--order-details tfoot tr:last-child th,
.bms-woo-page--account .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: none;
}
.bms-woo-page--account .woocommerce-table--order-details tfoot th,
.bms-woo-page--account .woocommerce-table--order-details tfoot td {
	font-weight: 600;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-table--order-details tfoot tr:last-child th,
.bms-woo-page--account .woocommerce-table--order-details tfoot tr:last-child td {
	font-size: 1.05rem;
	color: var(--bms-ink);
}
.bms-woo-page--account .woocommerce-table--order-details .product-name a {
	color: var(--bms-ink);
	font-weight: 600;
	text-decoration: none;
}
.bms-woo-page--account .woocommerce-table--order-details .product-name a:hover {
	color: var(--bms-sky-deep);
}
.bms-woo-page--account .woocommerce-table--order-details .wc-item-meta {
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.82rem;
	color: var(--bms-muted);
}
.bms-woo-page--account .woocommerce-order-details__title + .woocommerce-table--order-details {
	margin-top: 0;
}
.bms-woo-page--account .order-again .button,
.bms-woo-page--account .woocommerce-orders-table .woocommerce-button {
	border-radius: 999px !important;
	padding: 0.5rem 0.95rem !important;
	min-height: 0 !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	background: transparent !important;
	border: 1.5px solid var(--bms-line) !important;
	color: var(--bms-ink) !important;
}
.bms-woo-page--account .order-again .button:hover,
.bms-woo-page--account .woocommerce-orders-table .woocommerce-button:hover {
	background: var(--bms-paper) !important;
	border-color: #c5d0dc !important;
}
.bms-woo-page--account .woocommerce-OrderUpdates {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}
.bms-woo-page--account .woocommerce-OrderUpdate {
	margin: 0 0 0.75rem;
	padding: 0.9rem 1rem;
	background: var(--bms-paper);
	border: 1px solid var(--bms-line);
	border-radius: 12px;
}
.bms-woo-page--account .woocommerce-OrderUpdate-meta {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--bms-muted);
	margin: 0 0 0.35rem !important;
}
@media (max-width: 767px) {
	.bms-woo-page--account .woocommerce-EditAccountForm {
		grid-template-columns: 1fr;
	}
	.bms-woo-page--account .woocommerce-orders-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* Order confirmation / thank you */
.bms-woo-page--confirmation {
	background:
		radial-gradient(ellipse 80% 50% at 50% -10%, rgba(47, 111, 173, 0.08), transparent 55%),
		radial-gradient(ellipse 60% 40% at 80% 20%, rgba(21, 122, 95, 0.06), transparent 50%),
		var(--bms-paper);
	padding-bottom: 4rem;
}
.bms-woo-page--confirmation .bms-woo-page__chrome {
	text-align: center;
}
.bms-woo-page--confirmation .bms-woo-page__chrome .bms-crumbs {
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem;
}
.bms-woo-page--confirmation .bms-woo-page__body {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status {
	margin: 0.35rem 0 0;
	padding: 2rem 1.5rem 1.35rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius) var(--bms-radius) 0 0;
	border-bottom: none;
	box-shadow: none;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status:not(:has(+ .wc-block-order-confirmation-status-description)) {
	border-radius: var(--bms-radius);
	border-bottom: 1px solid var(--bms-line);
	margin-bottom: 1.5rem;
	box-shadow: var(--bms-shadow);
	padding-bottom: 1.65rem;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status::before {
	content: "";
	display: block;
	width: 3.25rem;
	height: 3.25rem;
	margin: 0 auto 1.1rem;
	border-radius: 50%;
	background-color: var(--bms-mint);
	opacity: 0.92;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23000' opacity='0.15'/%3E%3Cpath stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M7.5 12.5l3 3 6-6.5'/%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'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23000' opacity='0.15'/%3E%3Cpath stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M7.5 12.5l3 3 6-6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status p,
.bms-woo-page--confirmation .wc-block-order-confirmation-status h1,
.bms-woo-page--confirmation .wc-block-order-confirmation-status .wp-block-heading,
.bms-woo-page--confirmation .bms-order-status h1 {
	font-family: var(--bms-display);
	font-size: clamp(1.65rem, 3.4vw, 2.15rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--bms-ink);
	margin: 0;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status > p:first-of-type {
	margin-bottom: 0;
}
.bms-woo-page--confirmation .bms-order-number {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem 0.55rem;
	margin: 1.15rem 0 0 !important;
	padding: 0.55rem 1rem;
	background: var(--bms-paper);
	border: 1px solid var(--bms-line);
	border-radius: 999px;
	font-family: var(--bms-font) !important;
	font-size: 0.92rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	color: var(--bms-ink) !important;
}
.bms-woo-page--confirmation .bms-order-number__label {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--bms-muted);
}
.bms-woo-page--confirmation .bms-order-number__value {
	font-size: 1.05rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--bms-sky-deep);
	user-select: all;
}
.bms-woo-page--confirmation .bms-order-number__hint {
	margin: 0.55rem 0 0 !important;
	font-family: var(--bms-font) !important;
	font-size: 0.8rem !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	line-height: 1.4 !important;
	color: var(--bms-muted) !important;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status-description {
	margin: 0 0 1.75rem;
	padding: 0 1.5rem 1.65rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-top: none;
	border-radius: 0 0 var(--bms-radius) var(--bms-radius);
	box-shadow: var(--bms-shadow);
	text-align: left;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status-description > p {
	color: var(--bms-muted);
	font-size: 0.95rem;
	line-height: 1.55;
	margin: 0 0 1.25rem;
	text-align: center;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status-description a.button,
.bms-woo-page--confirmation .wc-block-order-confirmation-status-description a.wp-element-button {
	display: inline !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: var(--bms-sky-deep) !important;
	font-size: inherit !important;
	font-weight: 600 !important;
	line-height: inherit !important;
	box-shadow: none !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status-description a.button:hover,
.bms-woo-page--confirmation .wc-block-order-confirmation-status-description a.wp-element-button:hover {
	color: var(--bms-sky) !important;
	background: transparent !important;
	transform: none !important;
}
.bms-woo-page--confirmation .woocommerce-verify-email {
	margin: 0;
	padding: 1.15rem 1.2rem 1.25rem;
	background: var(--bms-paper);
	border: 1px solid var(--bms-line);
	border-radius: 14px;
}
.bms-woo-page--confirmation .woocommerce-verify-email .form-row {
	margin: 0 0 0.85rem !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}
.bms-woo-page--confirmation .woocommerce-verify-email .form-row.login-submit {
	margin-bottom: 0 !important;
}
.bms-woo-page--confirmation .woocommerce-verify-email label {
	display: block;
	text-align: left;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-ink);
	margin-bottom: 0.4rem;
}
.bms-woo-page--confirmation .woocommerce-verify-email .required {
	color: var(--bms-blush);
}
.bms-woo-page--confirmation .woocommerce-verify-email .input-text,
.bms-woo-page--confirmation .woocommerce-verify-email #verify-email {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
	border: 1.5px solid var(--bms-line) !important;
	border-radius: 12px !important;
	padding: 0.75rem 0.9rem !important;
	background: #fff !important;
	font: inherit;
	font-size: 0.95rem !important;
	color: var(--bms-ink);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.bms-woo-page--confirmation .woocommerce-verify-email .input-text:focus,
.bms-woo-page--confirmation .woocommerce-verify-email #verify-email:focus {
	outline: none;
	border-color: var(--bms-sky) !important;
	box-shadow: 0 0 0 3px rgba(47, 111, 173, 0.12);
}
.bms-woo-page--confirmation .woocommerce-verify-email .button,
.bms-woo-page--confirmation .woocommerce-verify-email .wp-element-button,
.bms-woo-page--confirmation #verify-email-submit {
	width: 100% !important;
	margin-top: 0.15rem !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.9rem 1.25rem !important;
	background: var(--bms-sky-deep) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}
.bms-woo-page--confirmation .woocommerce-verify-email .button:hover,
.bms-woo-page--confirmation #verify-email-submit:hover {
	background: var(--bms-sky) !important;
	transform: translateY(-1px);
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status__actions {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-status__actions a {
	margin: 0 !important;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-summary,
.bms-woo-page--confirmation .bms-order-summary {
	margin: 0 0 2rem !important;
	padding: 1.1rem 1.25rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	text-align: left;
	box-shadow: 0 8px 28px rgba(28, 36, 48, 0.05);
}
.bms-woo-page--confirmation .wc-block-order-confirmation-summary ul {
	gap: 1rem 1.5rem;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-summary-list-item__key {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--bms-muted);
}
.bms-woo-page--confirmation .wc-block-order-confirmation-summary-list-item__value {
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--bms-ink);
	margin-top: 0.2rem;
}
.bms-woo-page--confirmation .wp-block-heading {
	font-family: var(--bms-display);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
	color: var(--bms-ink);
	text-align: left;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-totals {
	margin-top: 0 !important;
	margin-bottom: 2.25rem;
	text-align: left;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-totals table {
	border: 1px solid var(--bms-line) !important;
	border-radius: var(--bms-radius) !important;
	overflow: hidden;
	background: var(--bms-white);
}
.bms-woo-page--confirmation .wc-block-order-confirmation-totals table td,
.bms-woo-page--confirmation .wc-block-order-confirmation-totals table th {
	border-color: var(--bms-line) !important;
	padding: 0.85rem 1rem !important;
	font-size: 0.92rem;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-totals table thead,
.bms-woo-page--confirmation .wc-block-order-confirmation-totals table tfoot th {
	font-weight: 700;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-totals table tfoot tr:last-child th,
.bms-woo-page--confirmation .wc-block-order-confirmation-totals table tfoot tr:last-child td {
	font-size: 1.05rem;
	color: var(--bms-sky-deep);
}
.bms-woo-page--confirmation .bms-order-addresses,
.bms-woo-page--confirmation .wc-block-order-confirmation-address-wrapper {
	margin-block-start: 0 !important;
	margin-bottom: 2.25rem;
	gap: 1.6rem;
	column-gap: 1.6rem;
	row-gap: 1.6rem;
	text-align: left;
	align-items: stretch;
}
.bms-woo-page--confirmation .bms-order-addresses > .wp-block-column {
	display: flex;
	flex-direction: column;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-shipping-address,
.bms-woo-page--confirmation .wc-block-order-confirmation-billing-address,
.bms-woo-page--confirmation .wc-block-order-confirmation-order-note {
	border: 1px solid var(--bms-line) !important;
	border-radius: var(--bms-radius) !important;
	padding: 1.3rem 1.4rem !important;
	background: var(--bms-white);
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--bms-ink);
	flex: 1;
	text-align: left;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-shipping-address address,
.bms-woo-page--confirmation .wc-block-order-confirmation-billing-address address {
	margin: 0;
	font-style: normal;
	line-height: 1.55;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-additional-fields-wrapper:not(:has(.wc-block-order-confirmation-additional-fields:not(:empty))) {
	display: none;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-additional-information,
.bms-woo-page--confirmation .woocommerce-bacs-bank-details {
	text-align: left;
	margin: 0 0 2.25rem;
	padding: 1.5rem 1.55rem 1.6rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	box-shadow: 0 8px 28px rgba(28, 36, 48, 0.05);
}
.bms-woo-page--confirmation .wc-block-order-confirmation-additional-information .woocommerce-bacs-bank-details {
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-additional-information > p,
.bms-woo-page--confirmation .woocommerce-bacs-bank-details > p {
	margin: 0 0 1.15rem;
	color: var(--bms-muted);
	font-size: 0.92rem;
	line-height: 1.5;
	text-align: left;
}
.bms-woo-page--confirmation .wc-bacs-bank-details-heading {
	font-family: var(--bms-display);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
	color: var(--bms-ink);
	text-align: left;
}
.bms-woo-page--confirmation .wc-bacs-bank-details-account-name {
	font-family: var(--bms-font);
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0 0 0.85rem;
	text-align: left;
}
.bms-woo-page--confirmation ul.wc-bacs-bank-details,
.bms-woo-page--confirmation ul.bacs_details {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
	display: grid;
	gap: 0.7rem;
}
.bms-woo-page--confirmation ul.wc-bacs-bank-details li,
.bms-woo-page--confirmation ul.bacs_details li {
	list-style: none;
	margin: 0;
	padding: 0.75rem 1rem;
	background: var(--bms-paper);
	border: 1px solid var(--bms-line);
	border-radius: 10px;
	font-size: 0.9rem;
	line-height: 1.45;
	text-align: left;
}
.bms-woo-page--confirmation ul.wc-bacs-bank-details li::marker,
.bms-woo-page--confirmation ul.bacs_details li::marker {
	content: "";
}
.bms-woo-page--confirmation ul.wc-bacs-bank-details li strong,
.bms-woo-page--confirmation ul.bacs_details li strong {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	word-break: break-word;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-downloads {
	margin: 0 0 1.75rem !important;
	text-align: left;
}
.bms-woo-page--confirmation .wc-block-order-confirmation-downloads table {
	border: 1px solid var(--bms-line) !important;
	border-radius: var(--bms-radius) !important;
	background: var(--bms-white);
}
.bms-order-cta {
	margin-top: 0.35rem;
	padding-top: 0.85rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
}
.bms-order-cta .bms-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	min-width: min(100%, 16rem);
	background: transparent;
	color: var(--bms-ink);
	border: 1.5px solid var(--bms-line);
}
.bms-order-cta .bms-btn:hover {
	background: #fff;
	border-color: #c5d0dc;
	color: var(--bms-ink);
}
.bms-order-cta__hint {
	margin: 0;
	font-size: 0.82rem;
	color: var(--bms-muted);
}

@media (max-width: 639px) {
	.bms-woo-page--confirmation .wc-block-order-confirmation-status {
		padding: 1.65rem 1.15rem 1.1rem;
	}
	.bms-woo-page--confirmation .wc-block-order-confirmation-status-description {
		padding: 0 1.15rem 1.35rem;
	}
}

.bms-woo-page .wc-block-components-notice-banner,
.bms-woo-page .woocommerce-message,
.bms-woo-page .woocommerce-info,
.bms-woo-page .woocommerce-error {
	border-radius: 12px;
	border-color: var(--bms-line);
}

/* Site-wide WooCommerce notices (under header) */
.bms-store-notices {
	padding: 0;
	margin: 0 !important;
}
.bms-store-notices:not(:has(.woocommerce-message)):not(:has(.woocommerce-info)):not(:has(.woocommerce-error)):not(:has(.wc-block-components-notice-banner)) {
	display: none;
}
.bms-store-notices__inner {
	padding: 0.85rem 0 0;
}
.bms-store-notices .wc-block-store-notices,
.bms-store-notices .woocommerce {
	display: grid;
	gap: 0.65rem;
}
.bms-store-notices .woocommerce-message,
.bms-store-notices .woocommerce-info,
.bms-store-notices .woocommerce-error,
.bms-store-notices .wc-block-components-notice-banner,
.bms-woo-page .woocommerce-message,
.bms-woo-page .woocommerce-info,
.bms-woo-page .woocommerce-error,
.bms-woo-page .wc-block-components-notice-banner {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0 !important;
	padding: 0.9rem 1.1rem !important;
	border: 1px solid var(--bms-line) !important;
	border-radius: 14px !important;
	background: var(--bms-white) !important;
	box-shadow: 0 10px 28px rgba(28, 36, 48, 0.06);
	font-family: var(--bms-font);
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--bms-ink);
	list-style: none !important;
}
.bms-store-notices .woocommerce-message::before,
.bms-store-notices .woocommerce-info::before,
.bms-store-notices .woocommerce-error::before,
.bms-woo-page .woocommerce-message::before,
.bms-woo-page .woocommerce-info::before,
.bms-woo-page .woocommerce-error::before {
	content: none !important;
}
.bms-store-notices .woocommerce-message,
.bms-woo-page .woocommerce-message,
.bms-store-notices .wc-block-components-notice-banner.is-success,
.bms-woo-page .wc-block-components-notice-banner.is-success {
	border-color: rgba(21, 122, 95, 0.28) !important;
	background: linear-gradient(180deg, #f3fbf8, #ffffff) !important;
	border-left: 4px solid var(--bms-mint) !important;
}
.bms-store-notices .woocommerce-info,
.bms-woo-page .woocommerce-info,
.bms-store-notices .wc-block-components-notice-banner.is-info,
.bms-woo-page .wc-block-components-notice-banner.is-info {
	border-color: rgba(47, 111, 173, 0.28) !important;
	background: linear-gradient(180deg, #f3f7fc, #ffffff) !important;
	border-left: 4px solid var(--bms-sky) !important;
}
.bms-store-notices .woocommerce-error,
.bms-woo-page .woocommerce-error,
.bms-store-notices .wc-block-components-notice-banner.is-error,
.bms-woo-page .wc-block-components-notice-banner.is-error {
	border-color: rgba(194, 61, 110, 0.28) !important;
	background: linear-gradient(180deg, #fcf3f6, #ffffff) !important;
	border-left: 4px solid var(--bms-blush) !important;
}
.bms-store-notices .woocommerce-message a,
.bms-store-notices .woocommerce-info a,
.bms-store-notices .woocommerce-error a,
.bms-woo-page .woocommerce-message a,
.bms-woo-page .woocommerce-info a,
.bms-woo-page .woocommerce-error a {
	color: var(--bms-sky-deep);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.bms-store-notices .woocommerce-message a.button,
.bms-store-notices .woocommerce-info a.button,
.bms-store-notices .woocommerce-error a.button,
.bms-store-notices .wc-forward,
.bms-store-notices a.button.wc-forward,
.bms-store-notices .wc-block-components-notice-banner a.button,
.bms-store-notices .wc-block-components-notice-banner a.wp-element-button,
.bms-woo-page .woocommerce-message a.button,
.bms-woo-page .woocommerce-info a.button,
.bms-woo-page .woocommerce-error a.button,
.bms-woo-page .wc-forward,
.bms-woo-page a.button.wc-forward,
.bms-woo-page .wc-block-components-notice-banner a.button,
.bms-woo-page .wc-block-components-notice-banner a.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 0 auto !important;
	padding: 0.45rem 0.95rem !important;
	min-height: 36px;
	border-radius: 999px !important;
	border: 1px solid transparent !important;
	background-color: var(--bms-sky) !important;
	background-image: none !important;
	color: #fff !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	white-space: nowrap;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.bms-store-notices .woocommerce-message a.button:hover,
.bms-store-notices .woocommerce-message a.button:focus,
.bms-store-notices .woocommerce-message a.button:active,
.bms-store-notices .woocommerce-info a.button:hover,
.bms-store-notices .woocommerce-info a.button:focus,
.bms-store-notices .woocommerce-error a.button:hover,
.bms-store-notices .woocommerce-error a.button:focus,
.bms-store-notices .wc-forward:hover,
.bms-store-notices .wc-forward:focus,
.bms-store-notices .wc-forward:active,
.bms-store-notices a.button.wc-forward:hover,
.bms-store-notices a.button.wc-forward:focus,
.bms-store-notices a.button.wc-forward:active,
.bms-store-notices .wc-block-components-notice-banner a.button:hover,
.bms-store-notices .wc-block-components-notice-banner a.button:focus,
.bms-store-notices .wc-block-components-notice-banner a.button:active,
.bms-store-notices .wc-block-components-notice-banner a.wp-element-button:hover,
.bms-store-notices .wc-block-components-notice-banner a.wp-element-button:focus,
.bms-store-notices .wc-block-components-notice-banner a.wp-element-button:active,
.bms-woo-page .woocommerce-message a.button:hover,
.bms-woo-page .woocommerce-message a.button:focus,
.bms-woo-page .woocommerce-info a.button:hover,
.bms-woo-page .woocommerce-error a.button:hover,
.bms-woo-page .wc-forward:hover,
.bms-woo-page .wc-forward:focus,
.bms-woo-page .wc-forward:active,
.bms-woo-page a.button.wc-forward:hover,
.bms-woo-page a.button.wc-forward:focus,
.bms-woo-page .wc-block-components-notice-banner a.button:hover,
.bms-woo-page .wc-block-components-notice-banner a.button:focus,
.bms-woo-page .wc-block-components-notice-banner a.wp-element-button:hover,
.bms-woo-page .wc-block-components-notice-banner a.wp-element-button:focus {
	background-color: var(--bms-sky-deep) !important;
	background-image: none !important;
	border-color: var(--bms-sky-deep) !important;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
}
.bms-store-notices .wc-block-components-notice-banner__content,
.bms-woo-page .wc-block-components-notice-banner__content {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
}
@media (max-width: 640px) {
	.bms-store-notices .woocommerce-message,
	.bms-store-notices .woocommerce-info,
	.bms-store-notices .woocommerce-error {
		flex-wrap: wrap;
	}
	.bms-store-notices .woocommerce-message a.button,
	.bms-store-notices .woocommerce-info a.button,
	.bms-store-notices .woocommerce-error a.button,
	.bms-store-notices .wc-forward,
	.bms-store-notices .wc-block-components-notice-banner a.button {
		margin-left: 0 !important;
		width: 100%;
	}
}

/* Baby Express page */
.bms-express-page {
	padding: 1.25rem 0 3.5rem;
}
.bms-express-page .bms-crumbs {
	padding: 0 0 0.5rem;
	margin-bottom: 0;
}
.bms-express-page__hero {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 2rem;
	align-items: center;
	padding: 0.75rem 0 2.75rem;
}
.bms-express-page__copy .bms-kicker {
	color: var(--bms-blush);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 0.55rem;
}
.bms-express-page__copy h1 {
	font-family: var(--bms-display);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem;
}
.bms-express-page__lead {
	color: var(--bms-muted);
	max-width: 48ch;
	margin: 0 0 1.25rem;
}
.bms-express-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}
.bms-express-page__media {
	border-radius: var(--bms-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #e8eef4;
	border: 1px solid var(--bms-line);
}
.bms-express-page__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
	display: block;
}
.bms-express-page__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	padding: 0 0 2rem;
}
.bms-express-step {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.25rem;
}
.bms-express-step__num {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #eef5fc;
	color: var(--bms-sky-deep);
	font-size: 0.85rem;
	font-weight: 700;
	margin-bottom: 0.7rem;
}
.bms-express-step h2 {
	font-family: var(--bms-font);
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
}
.bms-express-step p {
	color: var(--bms-muted);
	font-size: 0.92rem;
	margin: 0;
}
.bms-express-page__note {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.25rem 1.4rem;
	color: var(--bms-muted);
	font-size: 0.92rem;
	display: grid;
	gap: 0.65rem;
	justify-items: start;
}
.bms-express-page__note strong {
	color: var(--bms-ink);
	font-size: 0.95rem;
}
.bms-express-page__note p {
	margin: 0;
	max-width: 62ch;
}

/* Chi siamo / Dove siamo */
.bms-story {
	padding: 1.25rem 0 3.5rem;
}
.bms-story .bms-crumbs {
	padding: 0 0 0.5rem;
}
.bms-story__hero {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 2rem;
	align-items: center;
	padding: 0.75rem 0 2.75rem;
}
.bms-story__hero--tight {
	grid-template-columns: 1fr;
	max-width: 46rem;
	padding-bottom: 1.75rem;
}
.bms-story__lead {
	color: var(--bms-muted);
	font-size: 1.05rem;
	line-height: 1.55;
	margin: 0 0 1.25rem;
	max-width: 46ch;
}
.bms-story__copy h1 {
	font-family: var(--bms-display);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.85rem;
}
.bms-story__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}
.bms-story__media,
.bms-story__split-media,
.bms-place__media {
	border-radius: var(--bms-radius);
	overflow: hidden;
	background: #e8eef4;
	border: 1px solid var(--bms-line);
}
.bms-story__media {
	aspect-ratio: 4 / 3;
}
.bms-story__media img,
.bms-story__split-media img,
.bms-place__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bms-story__values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	padding: 0 0 2.5rem;
}
.bms-story-card {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.25rem 1.35rem;
}
.bms-story-card h2,
.bms-story__split-copy h2,
.bms-place__body h2 {
	font-family: var(--bms-display);
	font-size: 1.35rem;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 0 0.55rem;
}
.bms-story-card p,
.bms-story__split-copy p,
.bms-place__body p {
	color: var(--bms-muted);
	margin: 0 0 0.65rem;
}
.bms-story__split {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 2rem;
	align-items: center;
}
.bms-story__split-media {
	aspect-ratio: 5 / 4;
}
.bms-story__stores {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}
.bms-place {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	overflow: hidden;
}
.bms-place__media {
	aspect-ratio: 16 / 10;
	border: 0;
	border-radius: 0;
}
.bms-place__body {
	padding: 1.25rem 1.35rem 1.45rem;
}
.bms-place__hours {
	font-weight: 600;
	color: var(--bms-ink) !important;
}
.bms-story__map {
	padding-top: 0;
}
.bms-story--tail {
	padding-top: 0;
	padding-bottom: 3.5rem;
}
.bms-story__note {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.25rem 1.4rem;
	display: grid;
	gap: 0.65rem;
	justify-items: start;
}
.bms-story__note strong {
	color: var(--bms-ink);
}
.bms-story__note p {
	margin: 0;
	color: var(--bms-muted);
	max-width: 62ch;
}

.bms-menu-toggle { display: none !important; }
.bms-search-toggle { display: grid !important; }
.bms-btn-liste {
	background: var(--bms-blush);
	color: #fff !important;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 600;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bms-btn-liste:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(232, 90, 140, 0.3);
}

.bms-header-search {
	display: none;
	border-top: 1px solid var(--bms-line);
	padding: 0.85rem 0 0.95rem;
	background: #fff;
}
.bms-header-search.is-open { display: block; }
.bms-header-search[hidden] { display: none !important; }
.bms-header-search__field {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	border: 1.5px solid var(--bms-line);
	border-radius: 12px;
	padding: 0.15rem 0.35rem 0.15rem 0.85rem;
	background: var(--bms-paper);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.bms-header-search__field:focus-within {
	border-color: var(--bms-sky);
	box-shadow: 0 0 0 3px rgba(47, 111, 173, 0.12);
	background: #fff;
}
.bms-header-search__field svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--bms-muted); opacity: 0.85; }
.bms-header-search__field input {
	flex: 1;
	border: 0;
	background: transparent;
	font: inherit;
	outline: none;
	padding: 0.65rem 0;
}
.bms-header-search__close {
	border: 0;
	background: transparent;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	font-size: 1.35rem;
	cursor: pointer;
	color: var(--bms-muted);
	line-height: 1;
}
.bms-header-search__close:hover { background: #eef2f6; color: var(--bms-ink); }
.bms-header-search__form { position: relative; }
.bms-header-search__results {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 0.35rem);
	z-index: 60;
	background: #fff;
	border: 1px solid var(--bms-line);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(28, 36, 48, 0.12);
	overflow: hidden;
	max-height: min(58vh, 420px);
	overflow-y: auto;
}
.bms-header-search__results.is-visible {
	display: block;
}
.bms-header-search__results[hidden] {
	display: none !important;
}
.bms-header-search__empty {
	padding: 0.9rem 1rem;
	font-size: 0.88rem;
	color: var(--bms-muted);
}
.bms-ajax-hit {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	gap: 0.75rem;
	align-items: center;
	padding: 0.55rem 0.85rem;
	border-bottom: 1px solid #eef2f6;
	color: inherit;
	text-decoration: none;
	transition: background 0.12s;
}
.bms-ajax-hit:last-of-type { border-bottom: none; }
.bms-ajax-hit:hover,
.bms-ajax-hit:focus-visible {
	background: #f5f8fc;
	outline: none;
}
.bms-ajax-hit__thumb {
	width: 52px;
	height: 52px;
	border-radius: 8px;
	overflow: hidden;
	background: #eef2f6;
	border: 1px solid var(--bms-line);
}
.bms-ajax-hit__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bms-ajax-hit__meta { min-width: 0; }
.bms-ajax-hit__title {
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.bms-ajax-hit__cat {
	font-size: 0.75rem;
	color: var(--bms-muted);
	margin-top: 0.15rem;
}
.bms-ajax-hit__price {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--bms-ink);
	white-space: nowrap;
	padding-left: 0.35rem;
	text-align: right;
}
.bms-header-search__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	padding: 0.65rem 0.9rem;
	background: #f7f9fc;
	border-top: 1px solid var(--bms-line);
	font-size: 0.82rem;
}
.bms-header-search__footer a {
	color: var(--bms-sky-deep);
	font-weight: 600;
	text-decoration: none;
}
.bms-header-search__footer a:hover { text-decoration: underline; }

/* Primary nav — barra paper sotto header bianco (proposta A) */
.bms-primary {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.15rem;
	padding: 0.5rem 0;
	margin: 0;
	background: var(--bms-paper);
	border-bottom: 1px solid var(--bms-line);
	line-height: 1.55;
	font-size: 1rem;
}
.bms-primary a {
	padding: 0.45rem 0.75rem;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--bms-muted);
	border-radius: 999px;
	transition: background 0.2s, color 0.2s;
	line-height: 1.55;
}
.bms-primary a:hover,
.bms-primary a.is-active {
	background: #eef5fc;
	color: var(--bms-sky-deep);
}
.bms-drawer-liste { display: none !important; }

.bms-nav-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(28, 36, 48, 0.42);
	z-index: 45;
}
.bms-nav-backdrop.is-open { display: block !important; }
.bms-nav-backdrop[hidden] { display: none !important; }

@media (max-width: 1023px) {
	.bms-header-top {
		padding: 0.55rem 0;
		min-height: 60px;
		gap: 0.35rem;
	}
	.bms-menu-toggle { display: grid !important; }
	.bms-btn-liste { display: none !important; }
	.bms-logo img {
		height: 40px;
		max-width: min(160px, 42vw);
	}
	.bms-header-left,
	.bms-header-right { gap: 0.15rem; }
	.bms-primary {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(86vw, 320px);
		z-index: 200;
		margin: 0;
		padding: 1.35rem 1rem 2rem;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.2rem;
		background: #fff;
		border-right: 1px solid var(--bms-line);
		box-shadow: 12px 0 40px rgba(28, 36, 48, 0.18);
		overflow-y: auto;
	}
	.bms-primary.is-open { display: flex; }
	.bms-primary::before {
		content: "Categorie";
		font-size: 0.72rem;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--bms-muted);
		font-weight: 700;
		padding: 0.35rem 0.75rem 0.95rem;
	}
	.bms-primary a {
		display: block;
		padding: 0.8rem 0.9rem;
		border-radius: 12px;
		font-size: 0.95rem;
		color: var(--bms-ink);
	}
	.bms-primary a:hover {
		background: #eef5fc;
		color: var(--bms-sky-deep);
	}
	.bms-drawer-liste {
		display: block !important;
		margin: 0.15rem 0.65rem 0.85rem !important;
		text-align: center;
		background: var(--bms-blush) !important;
		color: #fff !important;
		font-weight: 700 !important;
		border-radius: 999px !important;
		padding: 0.8rem 1rem !important;
	}
}

/* Buttons */
.bms-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.92rem;
	border: none;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}
.bms-btn:hover { transform: translateY(-2px); }
.bms-btn-primary { background: #fff; color: var(--bms-ink); }
.bms-btn-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
}
.bms-btn-blush { background: var(--bms-blush); color: #fff; }
.bms-btn-accent { background: var(--bms-blush); color: #fff; }
.bms-btn-outline {
	background: transparent;
	border: 1.5px solid var(--bms-line);
	color: var(--bms-ink);
}
.bms-btn-ghost-on-dark { border-color: rgba(255, 255, 255, 0.4); color: #fff; }

/* 404 */
.bms-woo-page--not-found {
	background:
		radial-gradient(ellipse 80% 50% at 50% -10%, rgba(47, 111, 173, 0.08), transparent 55%),
		radial-gradient(ellipse 50% 40% at 15% 60%, rgba(194, 61, 110, 0.05), transparent 50%),
		var(--bms-paper);
	padding: 2rem 0 4rem;
	min-height: 55vh;
}
.bms-not-found {
	display: flex;
	justify-content: center;
}
.bms-not-found__card {
	width: min(100%, 32rem);
	text-align: center;
	padding: 2.25rem 1.75rem 2rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	box-shadow: var(--bms-shadow);
}
.bms-not-found__icon {
	width: 3.25rem;
	height: 3.25rem;
	margin: 0 auto 0.85rem;
	background-color: var(--bms-sky);
	opacity: 0.88;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M17.5 8V5.2A2.2 2.2 0 0 1 19.7 3H21'/%3E%3Cpath fill='%23000' d='M3.8 11.2c0-3.7 3-6.7 6.7-6.7H14v6.7H3.8z'/%3E%3Cpath fill='%23000' d='M3.2 12.5h13.5c.8 0 1.4.7 1.3 1.5l-1.2 4.2a1.2 1.2 0 0 1-1.2.9H5.4a1.2 1.2 0 0 1-1.1-.8l-1.5-4.5a1.4 1.4 0 0 1 .4-1.3z'/%3E%3Ccircle cx='7.2' cy='20.2' r='1.65' fill='%23000'/%3E%3Ccircle cx='15.8' cy='20.2' r='1.65' fill='%23000'/%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'%3E%3Cpath stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M17.5 8V5.2A2.2 2.2 0 0 1 19.7 3H21'/%3E%3Cpath fill='%23000' d='M3.8 11.2c0-3.7 3-6.7 6.7-6.7H14v6.7H3.8z'/%3E%3Cpath fill='%23000' d='M3.2 12.5h13.5c.8 0 1.4.7 1.3 1.5l-1.2 4.2a1.2 1.2 0 0 1-1.2.9H5.4a1.2 1.2 0 0 1-1.1-.8l-1.5-4.5a1.4 1.4 0 0 1 .4-1.3z'/%3E%3Ccircle cx='7.2' cy='20.2' r='1.65' fill='%23000'/%3E%3Ccircle cx='15.8' cy='20.2' r='1.65' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bms-not-found__code {
	margin: 0 0 0.35rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bms-muted);
}
.bms-not-found__card h1 {
	font-family: var(--bms-display);
	font-size: clamp(1.7rem, 3.5vw, 2.2rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 0.75rem;
	color: var(--bms-ink);
}
.bms-not-found__lead {
	margin: 0 0 1.35rem;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--bms-muted);
}
.bms-not-found__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
	margin-bottom: 1.35rem;
}
.bms-not-found__actions .bms-btn {
	text-decoration: none;
}
.bms-not-found__search {
	display: flex;
	gap: 0.5rem;
	align-items: stretch;
	padding-top: 1.15rem;
	border-top: 1px solid var(--bms-line);
}
.bms-not-found__search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 1.5px solid var(--bms-line);
	border-radius: 999px;
	padding: 0.7rem 1rem;
	font: inherit;
	background: var(--bms-paper);
	color: var(--bms-ink);
}
.bms-not-found__search input[type="search"]:focus {
	outline: none;
	border-color: var(--bms-sky);
	box-shadow: 0 0 0 3px rgba(47, 111, 173, 0.12);
	background: #fff;
}
.bms-not-found__search .bms-btn {
	background: var(--bms-sky-deep);
	color: #fff;
	border: none;
	flex-shrink: 0;
}
.bms-not-found__search .bms-btn:hover {
	background: var(--bms-sky);
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
@media (max-width: 639px) {
	.bms-not-found__search {
		flex-direction: column;
	}
	.bms-not-found__actions {
		flex-direction: column;
	}
	.bms-not-found__actions .bms-btn {
		width: 100%;
		justify-content: center;
	}
}

/* Hero slider */
.bms-hero-slider {
	position: relative;
	color: #fff;
	overflow: hidden;
	background: #1a2230;
	margin: 0;
}
.bms-hero-slider__viewport {
	position: relative;
	height: min(72vh, 640px);
	min-height: 420px;
}
.bms-hero-slide {
	position: absolute;
	inset: 0;
	display: grid;
	align-items: end;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.45s ease, visibility 0.45s;
	pointer-events: none;
	z-index: 0;
}
.bms-hero-slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}
.bms-hero-slide__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.02);
	background-image:
		linear-gradient(180deg, rgba(28, 36, 48, 0.12) 0%, rgba(28, 36, 48, 0.55) 100%),
		var(--bms-hero-img-sm, var(--bms-hero-img));
}
.bms-hero-slide--express .bms-hero-slide__bg {
	background-image:
		linear-gradient(180deg, rgba(28, 36, 48, 0.15) 0%, rgba(36, 90, 143, 0.42) 55%, rgba(194, 61, 110, 0.55) 100%),
		var(--bms-hero-img-sm, var(--bms-hero-img));
}
@media (min-width: 768px) {
	.bms-hero-slide__bg {
		background-image:
			linear-gradient(180deg, rgba(28, 36, 48, 0.12) 0%, rgba(28, 36, 48, 0.55) 100%),
			var(--bms-hero-img);
	}
	.bms-hero-slide--express .bms-hero-slide__bg {
		background-image:
			linear-gradient(180deg, rgba(28, 36, 48, 0.15) 0%, rgba(36, 90, 143, 0.42) 55%, rgba(194, 61, 110, 0.55) 100%),
			var(--bms-hero-img);
	}
}
.bms-hero-slide.is-active .bms-hero-slide__bg {
	animation: bms-slow-zoom 18s ease-in-out infinite alternate;
}
@keyframes bms-slow-zoom {
	from { transform: scale(1.02); }
	to { transform: scale(1.07); }
}
.bms-hero-slide__content {
	position: relative;
	z-index: 1;
	padding: 3rem 0 4.75rem;
	max-width: 640px;
	margin-right: auto;
}
.bms-hero-kicker {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.35);
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	margin-bottom: 0.85rem;
}
.bms-hero-slide h1 {
	font-family: var(--bms-display);
	font-size: clamp(1.85rem, 4.5vw, 3rem);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem;
	color: #fff;
}
.bms-hero-slide p {
	color: rgba(255, 255, 255, 0.9);
	max-width: 42ch;
	margin: 0 0 1.5rem;
	font-size: 1.02rem;
}
.bms-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.bms-hero-slider__nav {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1.1rem;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
}
.bms-hero-slider__dots { display: flex; gap: 0.4rem; }
.bms-hero-slider__dots button {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.45);
	cursor: pointer;
	padding: 0;
}
.bms-hero-slider__dots button.is-active {
	background: #fff;
	transform: scale(1.2);
}
.bms-hero-slider__arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.45);
	background: rgba(28, 36, 48, 0.28);
	color: #fff;
	cursor: pointer;
	font-size: 1.1rem;
	line-height: 1;
}

/* Trust */
.bms-trust {
	background: var(--bms-white);
	border-bottom: 1px solid var(--bms-line);
}
.bms-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	padding: 1.1rem 0;
	text-align: center;
	font-size: 0.86rem;
	font-weight: 500;
	color: var(--bms-muted);
}
.bms-trust strong,
.bms-trust .wp-block-heading {
	color: var(--bms-ink);
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	font-family: inherit;
	letter-spacing: 0;
	margin: 0 0 0.15rem;
	line-height: 1.3;
}
.bms-trust .bms-trust__grid p {
	margin: 0;
}
.bms-trust .bms-trust__grid.is-layout-flow,
.bms-express .bms-express__grid.is-layout-flow,
.bms-liste .bms-liste__panel.is-layout-flow {
	display: grid;
}
.bms-trust .bms-trust__grid > .wp-block-group,
.bms-express .bms-express__grid > .wp-block-group {
	margin: 0;
}

/* Sections */
.bms-section { padding: 4.5rem 0; }
.bms-section--tight-top { padding-top: 0; }
.bms-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 1rem;
	margin-bottom: 1.75rem;
	flex-wrap: wrap;
}
.bms-section-head h2 {
	font-family: var(--bms-display);
	font-size: clamp(1.7rem, 3vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0;
}
.bms-link-all {
	font-weight: 600;
	color: var(--bms-sky-deep);
	font-size: 0.92rem;
}
.bms-kicker {
	color: var(--bms-blush);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 0.55rem;
}
.bms-eyebrow {
	color: var(--bms-blush);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 0.75rem;
}

/* Express */
.bms-express {
	background:
		radial-gradient(circle at 12% 20%, rgba(47, 111, 173, 0.1), transparent 40%),
		radial-gradient(circle at 90% 80%, rgba(194, 61, 110, 0.1), transparent 35%),
		#fff;
	border-block: 1px solid var(--bms-line);
	padding: 4.5rem 0;
}
.bms-express__grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 2rem;
	align-items: center;
}
.bms-express__media {
	border-radius: var(--bms-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #e8eef4;
	margin: 0;
}
.bms-express__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
}
.bms-express h2 {
	font-family: var(--bms-display);
	font-size: clamp(1.8rem, 3.5vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 0.7rem;
}
.bms-express__lead {
	color: var(--bms-muted);
	max-width: 46ch;
	margin: 0 0 1.25rem;
}
.bms-express__points {
	list-style: none;
	display: grid;
	gap: 0.55rem;
	margin: 0 0 1.5rem;
	padding: 0;
}
.bms-express__points li {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	font-size: 0.95rem;
}
.bms-express__points li::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: 0.45rem;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--bms-sky), var(--bms-blush));
	flex-shrink: 0;
}

/* Categories */
.bms-cats {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	grid-template-rows: 220px 220px;
	gap: 1rem;
}
.bms-cat {
	position: relative;
	border-radius: var(--bms-radius);
	overflow: hidden;
	background: #dce7f3;
	isolation: isolate;
	display: block;
}
.bms-cat:first-child { grid-row: span 2; }
.bms-cat::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 40%, rgba(20, 30, 45, 0.72));
}
.bms-cat img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.bms-cat:hover img { transform: scale(1.06); }
.bms-cat__caption {
	position: absolute;
	left: 1.1rem;
	right: 1.1rem;
	bottom: 1.1rem;
	z-index: 1;
	color: #fff;
	display: grid;
	gap: 0.15rem;
}
.bms-cat__caption strong { font-size: 1.2rem; font-weight: 600; }
.bms-cat__caption em {
	font-style: normal;
	font-size: 0.82rem;
	opacity: 0.85;
}

/* Products — auto-fill: colonne in base allo spazio, card a larghezza stabile */
.bms-products,
.bms-products--shop {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), var(--bms-card-max)));
	gap: 1.1rem;
	justify-content: start;
	justify-items: stretch;
}
.bms-product {
	background: var(--bms-white);
	border-radius: var(--bms-radius);
	overflow: hidden;
	border: 1px solid var(--bms-line);
	transition: box-shadow 0.25s, transform 0.25s;
	color: inherit;
	display: flex;
	flex-direction: column;
	font-family: var(--bms-font);
	font-size: 1rem;
	line-height: 1.55;
	width: 100%;
	max-width: var(--bms-card-max);
}
.bms-product:hover {
	box-shadow: var(--bms-shadow);
	transform: translateY(-4px);
}
.bms-product__hit {
	color: inherit;
	display: block;
	flex: 1;
}
.bms-product__media {
	aspect-ratio: 1;
	background: #edf2f7;
	position: relative;
	overflow: hidden;
}
.bms-product__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bms-product__badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	background: var(--bms-mint);
	color: #fff;
	font-family: var(--bms-font);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
	line-height: 1.2;
}
.bms-product__body { padding: 1rem 1rem 0.35rem; }
.bms-product__cat {
	font-family: var(--bms-font);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--bms-muted);
	margin-bottom: 0.35rem;
	line-height: 1.55;
}
.bms-product h3 {
	font-family: var(--bms-font) !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	letter-spacing: normal !important;
	line-height: 1.55 !important;
	margin: 0 0 0.4rem !important;
	color: var(--bms-ink);
}
.bms-product__price {
	font-family: var(--bms-font);
	font-size: 1rem !important;
	font-weight: 700;
	color: var(--bms-sky-deep);
	line-height: 1.55;
}
.bms-product__price .amount,
.bms-product__price .woocommerce-Price-amount {
	font-family: var(--bms-font);
	font-size: 1rem !important;
	font-weight: 700;
	color: var(--bms-sky-deep);
	line-height: 1.55;
}
.bms-product__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
	padding: 0 1rem 1.15rem;
	margin-top: auto;
}
.bms-product__add {
	border: 1px solid var(--bms-line);
	background: var(--bms-white);
	border-radius: 999px;
	padding: 0.4rem 0.7rem;
	font-size: 0.78rem;
	font-weight: 600;
	white-space: nowrap;
	color: var(--bms-ink);
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.bms-product__add:hover,
.bms-product:hover .bms-product__add {
	background: var(--bms-ink);
	color: #fff;
	border-color: var(--bms-ink);
}
.bms-product__add.loading {
	opacity: 0.65;
	pointer-events: none;
}
.bms-product__add.added {
	background: var(--bms-mint);
	border-color: var(--bms-mint);
	color: #fff;
}
.bms-product__wish {
	position: absolute;
	top: 0.7rem;
	right: 0.7rem;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	display: grid;
	place-items: center;
	font-size: 0.95rem;
	color: var(--bms-muted);
	pointer-events: none;
	z-index: 1;
}
.bms-product__badge.sale { background: var(--bms-blush); }
.bms-cart-header {
	position: relative;
}
.bms-cart-badge {
	position: absolute;
	top: -2px;
	right: -2px;
	min-width: 1.05rem;
	height: 1.05rem;
	padding: 0 0.28rem;
	border-radius: 999px;
	background: var(--bms-blush);
	color: #fff;
	font-size: 0.62rem;
	font-weight: 800;
	line-height: 1.05rem;
	text-align: center;
}
.bms-cart-badge[hidden] {
	display: none !important;
}

/* Shop archive */
.bms-crumbs {
	font-size: 0.82rem;
	color: var(--bms-muted);
	margin-bottom: 0.75rem;
}
.bms-crumbs a:hover { color: var(--bms-sky-deep); }
.bms-shop-hero {
	padding: 2.25rem 0 1.5rem;
	background:
		radial-gradient(circle at 90% 10%, rgba(232, 90, 140, 0.1), transparent 35%),
		linear-gradient(180deg, #fff, var(--bms-paper));
	border-bottom: 1px solid var(--bms-line);
}
.bms-shop-hero h1 {
	font-family: var(--bms-display);
	font-size: clamp(2rem, 4vw, 2.8rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 0.4rem;
	line-height: 1.15;
}
.bms-shop-hero p {
	color: var(--bms-muted);
	max-width: 48ch;
	margin: 0;
}
.bms-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 1.15rem;
}
.bms-chip {
	border: 1px solid var(--bms-line);
	background: var(--bms-white);
	border-radius: 999px;
	padding: 0.4rem 0.85rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-muted);
}
.bms-chip.is-active,
.bms-chip:hover {
	background: var(--bms-ink);
	color: #fff;
	border-color: var(--bms-ink);
}
.bms-shop-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 1.5rem;
	padding: 2rem 0 3.5rem;
	align-items: start;
}
.bms-filters {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.15rem;
	position: sticky;
	top: 110px;
}
.bms-filters h2 {
	font-family: var(--bms-font);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 1rem;
}
.bms-filters__toggle {
	display: none;
	width: 100%;
	align-items: center;
	gap: 0.65rem;
	border: 1px solid var(--bms-line);
	background: var(--bms-white);
	border-radius: 14px;
	padding: 0.85rem 1rem;
	cursor: pointer;
	font-weight: 700;
}
.bms-filters__toggle .meta {
	margin-left: auto;
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--bms-muted);
}
.bms-filters__chevron { transition: transform 0.2s; }
.bms-filters.is-open .bms-filters__chevron { transform: rotate(180deg); }
.bms-filter-group {
	margin-bottom: 1.15rem;
	padding-bottom: 1.15rem;
	border-bottom: 1px solid var(--bms-line);
}
.bms-filter-group:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.bms-filter-group h3 {
	font-family: var(--bms-font);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bms-muted);
	font-weight: 700;
	margin: 0 0 0.65rem;
}
.bms-filter-group label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	padding: 0.28rem 0;
	cursor: pointer;
}
.bms-filter-link {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	padding: 0.28rem 0;
	color: var(--bms-ink);
}
.bms-filter-link span:last-child {
	margin-left: auto;
	color: var(--bms-muted);
	font-size: 0.78rem;
}
.bms-filter-link.is-active { font-weight: 700; color: var(--bms-sky-deep); }
.bms-price-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}
.bms-price-row input {
	width: 100%;
	border: 1px solid var(--bms-line);
	border-radius: 10px;
	padding: 0.55rem 0.65rem;
	background: var(--bms-paper);
}
.bms-btn-apply {
	width: 100%;
	margin-top: 0.75rem;
	border: none;
	background: var(--bms-sky-deep);
	color: #fff;
	border-radius: 999px;
	padding: 0.7rem;
	font-weight: 700;
	cursor: pointer;
}
.bms-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.1rem;
}
.bms-toolbar p {
	font-size: 0.9rem;
	color: var(--bms-muted);
	margin: 0;
}
.bms-toolbar strong { color: var(--bms-ink); }
.bms-toolbar-right select {
	border: 1px solid var(--bms-line);
	background: var(--bms-white);
	border-radius: 999px;
	padding: 0.55rem 0.9rem;
}
.bms-pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 2rem;
}
.bms-pagination a,
.bms-pagination span {
	min-width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border-radius: 999px;
	border: 1px solid var(--bms-line);
	background: var(--bms-white);
	font-size: 0.88rem;
	font-weight: 600;
	padding: 0 0.5rem;
}
.bms-pagination .current {
	background: var(--bms-ink);
	color: #fff;
	border-color: var(--bms-ink);
}
.bms-liste-strip {
	margin: 0 0 3rem;
	background: linear-gradient(120deg, #fff5f8, #eef5fc);
	border: 1px solid var(--bms-line);
	border-radius: 22px;
	padding: 1.35rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.bms-liste-strip h2 {
	font-family: var(--bms-display);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 0.25rem;
}
.bms-liste-strip p {
	color: var(--bms-muted);
	font-size: 0.92rem;
	margin: 0;
}
.bms-liste-strip a {
	background: var(--bms-blush);
	color: #fff;
	padding: 0.7rem 1.1rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.88rem;
	white-space: nowrap;
}

/* PDP */
.bms-pdp-page .bms-crumbs { padding: 1.25rem 0 0.5rem; margin-bottom: 0; }
.bms-pdp {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 2rem;
	padding: 0.5rem 0 3rem;
	align-items: start;
}
.bms-gallery { display: grid; gap: 0.75rem; }
.bms-gallery__viewport {
	position: relative;
	aspect-ratio: 1;
	border-radius: var(--bms-radius);
	overflow: hidden;
	background: #edf2f7;
	border: 1px solid var(--bms-line);
}
.bms-gallery__track {
	display: flex;
	height: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	/* pan-x alone blocks the page from scrolling while the finger is on the photo. */
	touch-action: pan-x pan-y;
}
.bms-gallery__track::-webkit-scrollbar { display: none; }
.bms-gallery__slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	margin: 0;
	scroll-snap-align: center;
	scroll-snap-stop: always;
	touch-action: pan-x pan-y;
}
.bms-gallery__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	user-select: none;
	-webkit-user-drag: none;
	touch-action: pan-x pan-y;
}
.bms-gallery__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	background: var(--bms-mint);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	z-index: 2;
	pointer-events: none;
}
.bms-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 2.35rem;
	height: 2.35rem;
	border: 1px solid var(--bms-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--bms-ink);
	font-size: 1.45rem;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px rgba(28, 36, 48, 0.1);
	opacity: 0;
	transition: opacity 0.15s ease, background 0.15s ease;
}
.bms-gallery__viewport:hover .bms-gallery__nav,
.bms-gallery__nav:focus-visible {
	opacity: 1;
}
.bms-gallery__nav--prev { left: 0.75rem; }
.bms-gallery__nav--next { right: 0.75rem; }
.bms-gallery__nav:hover { background: #fff; }
.bms-gallery__counter {
	position: absolute;
	right: 0.85rem;
	bottom: 0.85rem;
	z-index: 2;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--bms-ink);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--bms-line);
	border-radius: 999px;
	padding: 0.28rem 0.6rem;
	pointer-events: none;
}
.bms-gallery__dots {
	display: none;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.15rem 0 0;
}
.bms-gallery__dots button {
	width: 0.5rem;
	height: 0.5rem;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: #c5d0dc;
	cursor: pointer;
}
.bms-gallery__dots button.is-active {
	background: var(--bms-sky-deep);
	width: 1.15rem;
}
.bms-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 0.55rem;
}
.bms-thumbs button {
	aspect-ratio: 1;
	border-radius: 12px;
	overflow: hidden;
	border: 2px solid transparent;
	padding: 0;
	cursor: pointer;
	background: #edf2f7;
}
.bms-thumbs button.is-active,
.bms-thumbs button:hover { border-color: var(--bms-sky); }
.bms-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bms-buy { position: sticky; top: 110px; }
.bms-buy__brand {
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bms-sky-deep);
	font-weight: 700;
	margin-bottom: 0.4rem;
}
.bms-buy h1 {
	font-family: var(--bms-display);
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 0.75rem;
}
.bms-buy__price {
	display: flex;
	align-items: baseline;
	gap: 0.65rem;
	margin-bottom: 0.85rem;
	font-size: 1.55rem;
	font-weight: 700;
	color: var(--bms-sky-deep);
}
.bms-buy__price del,
.bms-buy__price s {
	color: var(--bms-muted);
	font-size: 1rem;
	font-weight: 500;
}
.bms-buy__stock {
	color: var(--bms-mint);
	font-size: 0.9rem;
	font-weight: 600;
	margin: 0 0 1.25rem;
}
.bms-buy__stock--out { color: var(--bms-blush); }
.bms-buy__lead {
	color: var(--bms-muted);
	margin: 0 0 1.35rem;
	max-width: 42ch;
}
.bms-buy__lead > *:first-child { margin-top: 0; }
.bms-buy__lead > *:last-child { margin-bottom: 0; }
.bms-buy__lead p {
	margin: 0 0 0.65rem;
	line-height: 1.5;
}
.bms-buy__lead ul,
.bms-buy__lead ol {
	margin: 0.35rem 0 0;
	padding: 0 0 0 1.15rem;
	list-style: disc;
}
.bms-buy__lead li {
	margin: 0.2rem 0;
	padding: 0;
	line-height: 1.45;
}
.bms-buy__lead li::marker {
	color: var(--bms-sky);
}
.bms-qty-field {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	width: 100%;
	margin: 0 0 1.1rem;
}
.bms-qty-field__label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-ink);
}
.bms-buy__cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--bms-line);
	border-radius: 999px;
	overflow: hidden;
	margin: 0;
	background: var(--bms-white);
}
.bms-buy__cart .quantity .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.bms-buy__cart .quantity .qty,
.bms-buy__cart .quantity input.qty {
	width: 48px;
	height: 40px;
	border: none !important;
	border-radius: 0 !important;
	text-align: center;
	background: var(--bms-paper) !important;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--bms-ink);
	box-shadow: none !important;
	-moz-appearance: textfield;
	appearance: textfield;
}
.bms-buy__cart .quantity .qty::-webkit-outer-spin-button,
.bms-buy__cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.bms-qty-btn {
	width: 40px;
	height: 40px;
	border: none;
	background: var(--bms-white);
	cursor: pointer;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--bms-ink);
	flex-shrink: 0;
	padding: 0;
}
.bms-qty-btn:hover {
	background: #f3f6fa;
}

/* Proposta A: qty on its own row, then full actions row */
.bms-buy__cart .woocommerce-variation-add-to-cart,
.bms-buy__cart form.cart:not(.variations_form),
.bms-buy__cart .variations_button {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
}
.bms-buy__cart .single_add_to_cart_button,
.bms-buy__cart button.single_add_to_cart_button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	flex: none !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	background: var(--bms-sky-deep) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.9rem 1.25rem !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	line-height: 1.2 !important;
	cursor: pointer;
	box-sizing: border-box;
}
.bms-buy__cart .single_add_to_cart_button:hover {
	background: var(--bms-sky) !important;
}
.bms-buy__cart .single_add_to_cart_button.disabled,
.bms-buy__cart .single_add_to_cart_button:disabled,
.bms-buy__cart .single_add_to_cart_button.wc-variation-selection-needed,
.bms-buy__cart .single_add_to_cart_button.wc-variation-is-unavailable {
	opacity: 0.45;
	cursor: not-allowed;
}
.bms-buy__cart .variations {
	margin-bottom: 1rem;
	width: 100%;
	border-collapse: collapse;
}
.bms-buy__cart .variations td,
.bms-buy__cart .variations th {
	padding: 0.45rem 0;
	text-align: left;
	font-size: 0.82rem;
	vertical-align: middle;
	border: none;
}
.bms-buy__cart .variations th.label {
	padding-right: 1rem;
	white-space: nowrap;
	font-weight: 600;
	color: var(--bms-ink);
}
.bms-buy__cart .variations td.value {
	width: 100%;
}
.bms-buy__cart .reset_variations {
	display: none !important;
}
.bms-buy__cart form.cart {
	display: block;
	margin-bottom: 1rem;
}
.bms-buy__cart form.cart .variations {
	margin-bottom: 1rem;
}
.bms-actions--extra { margin: 0 0 1rem; }
.bms-btn-lista {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--bms-blush);
	color: #fff;
	padding: 0.9rem 1.25rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.92rem;
}
.bms-meta-list {
	list-style: none;
	font-size: 0.88rem;
	color: var(--bms-muted);
	display: grid;
	gap: 0.35rem;
	margin: 0.5rem 0 0;
	padding: 0;
}
.bms-meta-list strong { color: var(--bms-ink); font-weight: 600; }
.bms-tabs { padding: 0 0 3rem; }
.bms-tabs__nav {
	display: flex;
	gap: 0.35rem;
	border-bottom: 1px solid var(--bms-line);
	margin-bottom: 1.25rem;
	flex-wrap: wrap;
}
.bms-tabs__nav button {
	border: none;
	background: transparent;
	padding: 0.75rem 1rem;
	font-weight: 600;
	color: var(--bms-muted);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.bms-tabs__nav button.is-active {
	color: var(--bms-ink);
	border-bottom-color: var(--bms-sky);
}
.bms-tabs__panel {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	padding: 1.35rem 1.5rem;
	color: var(--bms-muted);
	max-width: 72ch;
}
.bms-tabs__panel[hidden] { display: none !important; }
.bms-tabs__panel h2 {
	font-family: var(--bms-display);
	color: var(--bms-ink);
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 0.6rem;
}
.bms-tabs__panel ul { margin: 0.75rem 0 0 1.1rem; }
.bms-related { padding: 0 0 3.5rem; }
.bms-related h2 {
	font-family: var(--bms-display);
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 1.1rem;
}

/* Liste */
.bms-liste { padding: 0 0 4.5rem; }
.bms-liste__panel {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	border-radius: 28px;
	overflow: hidden;
	background: var(--bms-white);
	box-shadow: var(--bms-shadow);
	min-height: 420px;
}
.bms-liste__copy {
	padding: clamp(1.75rem, 4vw, 3rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	background:
		radial-gradient(circle at 0% 0%, rgba(232, 90, 140, 0.12), transparent 45%),
		linear-gradient(160deg, #fff, #f4f8fd);
}
.bms-liste__copy h2 {
	font-family: var(--bms-display);
	font-size: clamp(1.9rem, 3.5vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 0.85rem;
}
.bms-liste__copy p {
	color: var(--bms-muted);
	margin: 0 0 1.4rem;
	max-width: 40ch;
}
.bms-liste__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}
.bms-liste__visual {
	position: relative;
	background-size: cover;
	background-position: center;
}
.bms-liste__card {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(86%, 320px);
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	border-radius: 20px;
	padding: 1.25rem;
	box-shadow: var(--bms-shadow);
	animation: bms-floaty 4.5s ease-in-out infinite;
}
@keyframes bms-floaty {
	0%, 100% { transform: translate(-50%, -50%); }
	50% { transform: translate(-50%, calc(-50% - 8px)); }
}
.bms-liste__card h4 { font-size: 1rem; margin: 0 0 0.35rem; }
.bms-liste__card p {
	font-size: 0.85rem;
	color: var(--bms-muted);
	margin: 0 0 0.9rem;
}
.bms-liste__search {
	display: flex;
	gap: 0.4rem;
}
.bms-liste__search input {
	flex: 1;
	border: 1px solid var(--bms-line);
	border-radius: 999px;
	padding: 0.65rem 0.9rem;
	font: inherit;
}
.bms-liste__search button {
	border: none;
	background: var(--bms-ink);
	color: #fff;
	border-radius: 999px;
	padding: 0 1rem;
	font-weight: 600;
	cursor: pointer;
}

/* Brands */
.bms-brands {
	background: var(--bms-white);
	border-block: 1px solid var(--bms-line);
	padding: 2.5rem 0;
}
.bms-brands__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem 2.2rem;
	opacity: 0.72;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--bms-muted);
	font-size: 0.95rem;
}

/* Local */
.bms-local {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 1.25rem;
	align-items: stretch;
}
.bms-local__card,
.bms-local__map {
	border-radius: var(--bms-radius);
	overflow: hidden;
	min-height: 280px;
}
.bms-local__card {
	background: var(--bms-ink);
	color: #fff;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bms-local__card h2 {
	font-family: var(--bms-display);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 0.7rem;
	color: #fff;
}
.bms-local__card > p {
	color: rgba(255, 255, 255, 0.75);
	margin: 0 0 1.2rem;
}
.bms-local__stores {
	display: grid;
	gap: 1.1rem;
	margin: 0.85rem 0 1.25rem;
}
.bms-local__store strong {
	display: block;
	font-size: 0.95rem;
	margin-bottom: 0.25rem;
}
.bms-local__store span {
	display: block;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.88rem;
	line-height: 1.45;
}
.bms-local__map {
	position: relative;
	background: #e8eef4;
	aspect-ratio: 522 / 410;
}
.bms-local__map img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 32%;
}
.bms-woo-page .wc-block-cart__submit-button,
.bms-woo-page .wc-block-components-checkout-place-order-button,
.bms-woo-page .wc-block-components-button:not(.is-link) {
	border-radius: 999px !important;
	font-family: var(--bms-font) !important;
	font-weight: 600 !important;
}
.bms-woo-page .wc-block-components-text-input input,
.bms-woo-page .wc-block-components-text-input textarea,
.bms-woo-page .wc-block-components-select select,
.bms-woo-page .wc-block-components-address-form input {
	border-radius: 12px !important;
	border-color: var(--bms-line) !important;
	font-family: var(--bms-font) !important;
}
.bms-woo-page .wc-block-components-text-input.is-active input,
.bms-woo-page .wc-block-components-text-input input:focus {
	border-color: var(--bms-sky) !important;
	outline: 2px solid color-mix(in srgb, var(--bms-sky) 35%, transparent);
	outline-offset: 1px;
}

/* Skip link */
.bms-skip-link {
	position: absolute;
	left: 1rem;
	top: -100px;
	z-index: 100001;
	padding: 0.65rem 1.1rem;
	background: var(--bms-ink);
	color: #fff !important;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none;
}
.bms-skip-link:focus {
	top: 1rem;
	outline: 2px solid var(--bms-sky);
	outline-offset: 2px;
}

/* Contact + CF7 */
.bms-contact {
	padding-bottom: 4rem;
}
.bms-contact__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.75fr);
	gap: 1.25rem;
	align-items: start;
}
.bms-contact__form,
.bms-contact__chip {
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
	box-shadow: var(--bms-shadow);
}
.bms-contact__form {
	padding: 1.75rem 1.85rem 2rem;
}
.bms-contact__form h2,
.bms-legal h2 {
	font-family: var(--bms-display);
	font-size: 1.45rem;
	letter-spacing: -0.02em;
	margin: 0 0 0.4rem;
}
.bms-contact__hint {
	margin: 0 0 1.35rem;
	color: var(--bms-muted);
	font-size: 0.95rem;
}
.bms-contact__aside {
	display: grid;
	gap: 1rem;
}
.bms-contact__chip {
	padding: 1.25rem 1.35rem 1.4rem;
}
.bms-contact__chip p {
	margin: 0 0 0.55rem;
	color: var(--bms-muted);
	line-height: 1.5;
}
.bms-contact__chip strong {
	color: var(--bms-ink);
}
.bms-legal {
	max-width: 720px;
}
.bms-legal__lead {
	margin: 0 0 1.5rem;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--bms-muted);
}
.bms-legal ul {
	padding-left: 1.15rem;
	margin: 0 0 1.25rem;
}
.bms-legal li {
	margin: 0.35rem 0;
	color: var(--bms-muted);
}
.bms-legal p {
	color: var(--bms-muted);
	line-height: 1.55;
}
.bms-legal__meta {
	margin-top: 2rem;
	font-size: 0.88rem;
}
.bms-legal__table-wrap {
	overflow-x: auto;
	margin: 0 0 1.25rem;
}
.bms-legal__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.86rem;
	color: var(--bms-muted);
}
.bms-legal__table th,
.bms-legal__table td {
	border: 1px solid var(--bms-line);
	padding: 0.55rem 0.7rem;
	text-align: left;
	vertical-align: top;
}
.bms-legal__table th {
	background: #f4f8fd;
	color: var(--bms-ink);
	font-weight: 700;
}
.bms-legal__table code {
	font-size: 0.78em;
	word-break: break-word;
}

.bms-contact .wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}
.bms-contact .wpcf7-form p {
	margin: 0 0 1rem;
}
.bms-contact .wpcf7-form label,
.bms-contact .wpcf7-form .wpcf7-not-valid-tip {
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 0.35rem;
	color: var(--bms-ink);
}
.bms-contact .wpcf7-form input[type="text"],
.bms-contact .wpcf7-form input[type="email"],
.bms-contact .wpcf7-form input[type="tel"],
.bms-contact .wpcf7-form textarea {
	width: 100%;
	max-width: none;
	padding: 0.85rem 1rem;
	border: 1px solid var(--bms-line);
	border-radius: 14px;
	background: #f7f9fc;
	font: inherit;
	color: var(--bms-ink);
}
.bms-contact .wpcf7-form textarea {
	min-height: 10rem;
	resize: vertical;
}
.bms-contact .wpcf7-form input:focus,
.bms-contact .wpcf7-form textarea:focus {
	outline: 2px solid color-mix(in srgb, var(--bms-blush) 35%, transparent);
	border-color: var(--bms-blush);
	background: #fff;
}
.bms-contact .wpcf7-form input[type="submit"],
.bms-contact .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.9rem;
	padding: 0.75rem 1.45rem;
	border: 0;
	border-radius: 999px;
	background: var(--bms-blush);
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.bms-contact .wpcf7-form input[type="submit"]:hover,
.bms-contact .wpcf7-submit:hover {
	background: #a8325c;
}
.bms-contact .wpcf7-response-output {
	margin: 1rem 0 0;
	border-radius: 12px;
	padding: 0.75rem 1rem;
	border-width: 1px;
}

.bms-local__store {
	display: block;
	width: 100%;
	text-align: left;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
	padding: 0.85rem 0.95rem;
	color: inherit;
	cursor: pointer;
	font: inherit;
}
.bms-local__store.is-active,
.bms-local__store:hover,
.bms-local__store:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.32);
	outline: none;
}
.bms-local__map iframe,
.bms-local__load {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 280px;
	border: 0;
}
.bms-local__load {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 1.5rem;
	cursor: pointer;
	font: inherit;
	text-align: center;
	color: var(--bms-ink);
	background:
		linear-gradient(180deg, rgba(47, 111, 173, 0.1), transparent 55%),
		#e8eef4;
}
.bms-local__load:hover,
.bms-local__load:focus-visible {
	background:
		linear-gradient(180deg, rgba(47, 111, 173, 0.16), transparent 55%),
		#e2eaf2;
}
.bms-local__load:focus-visible {
	outline: 2px solid var(--bms-sky);
	outline-offset: 3px;
}
.bms-local__load-label {
	font-size: 0.95rem;
	font-weight: 700;
}
.bms-local__load-hint {
	font-size: 0.82rem;
	color: var(--bms-muted);
}
.bms-local__map figcaption {
	pointer-events: none;
}

/* Footer */
.bms-footer {
	background: #141a22;
	color: rgba(255, 255, 255, 0.72);
	padding: 3rem 0 2rem;
	font-size: 0.9rem;
}
.bms-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 2rem;
	margin-bottom: 2rem;
}
.bms-footer h4 {
	color: #fff;
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
}
.bms-footer a {
	display: block;
	padding: 0.2rem 0;
	color: rgba(255, 255, 255, 0.72);
}
.bms-footer a:hover { color: #fff; }
.bms-footer__brand img {
	height: 56px;
	width: auto;
	margin-bottom: 0.75rem;
}
.bms-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	margin-top: 1rem;
}
.bms-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	padding: 0;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	background: rgba(255, 255, 255, 0.06);
}
.bms-footer .bms-social a:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.4);
}
.bms-social--contact a {
	border-color: var(--bms-line);
	color: var(--bms-ink);
	background: #fff;
}
.bms-social--contact a:hover {
	border-color: var(--bms-sky);
	color: var(--bms-sky-deep);
}
.bms-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 1.2rem;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	font-size: 0.8rem;
}

/* Motion */
@media (prefers-reduced-motion: no-preference) {
	.bms-hero-slide.is-active .bms-hero-slide__content > * {
		animation: bms-rise 0.85s ease both;
	}
	.bms-hero-slide.is-active .bms-hero-slide__content > *:nth-child(2) { animation-delay: 0.1s; }
	.bms-hero-slide.is-active .bms-hero-slide__content > *:nth-child(3) { animation-delay: 0.18s; }
	.bms-hero-slide.is-active .bms-hero-slide__content > *:nth-child(4) { animation-delay: 0.26s; }
}
@keyframes bms-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

/* Responsive — scale moderna: lg 1024 · md 768 · sm 640 */
@media (max-width: 1023px) {
	.bms-trust__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.bms-cats {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
	}
	.bms-cat:first-child { grid-row: auto; min-height: 260px; }
	.bms-cat { min-height: 200px; }
	.bms-express__grid,
	.bms-liste__panel,
	.bms-local,
	.bms-footer__grid,
	.bms-express-page__hero,
	.bms-express-page__steps,
	.bms-story__hero,
	.bms-story__values,
	.bms-story__split,
	.bms-story__stores,
	.bms-contact__layout { grid-template-columns: 1fr; }
	.bms-liste__visual { min-height: 280px; }
}

/* md: stack PDP / shop / cart — tablet portrait e sotto */
@media (max-width: 767px) {
	.bms-shop-layout,
	.bms-pdp,
	.bms-woo-page .wc-block-components-sidebar-layout { grid-template-columns: 1fr; }
	.bms-filters { position: static; }
	.bms-buy { position: static; }
	.bms-filters__toggle { display: flex; margin-bottom: 0.75rem; }
	.bms-filters__body { display: none; }
	.bms-filters.is-open .bms-filters__body { display: block; }
	.bms-chips { display: none; }
	.bms-trust__grid {
		grid-template-columns: 1fr;
	}
	.bms-gallery__nav {
		opacity: 1;
		width: 2.1rem;
		height: 2.1rem;
		font-size: 1.3rem;
	}
	.bms-gallery__dots { display: flex; }
	.bms-thumbs { display: none; }
}

@media (min-width: 768px) {
	.bms-filters__toggle { display: none !important; }
	.bms-filters__body { display: block !important; }
}

@media (max-width: 639px) {
	.bms-products,
	.bms-products--shop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}
	.bms-product {
		max-width: none;
	}
	.bms-product__body { padding: 0.75rem 0.7rem 0.9rem; }
	.bms-product h3 { font-size: 0.88rem !important; }
	.bms-cats { grid-template-columns: 1fr; }
	.bms-hero-slider__viewport { height: min(68vh, 560px); min-height: 380px; }
	.bms-woo-page .wc-block-components-sidebar-layout {
		grid-template-columns: 1fr;
	}
}

/* Generic CMS pages / blog */
.bms-page {
	padding: 0 0 3.5rem;
	background:
		radial-gradient(ellipse 70% 45% at 100% 0%, rgba(47, 111, 173, 0.06), transparent 55%),
		var(--bms-paper);
}
.bms-page__chrome {
	padding: 1.25rem 0 0.35rem;
}
.bms-page__chrome .bms-crumbs {
	padding: 0 0 0.5rem;
	margin-bottom: 0;
}
.bms-page__body {
	padding: 0.5rem 0 0;
}
.bms-page__title,
.bms-page h1.wp-block-post-title,
.bms-page .wp-block-query-title {
	font-family: var(--bms-display);
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 1.15rem;
	font-weight: 700;
	color: var(--bms-ink);
}
.bms-page__meta {
	gap: 0.5rem 1rem;
	margin: -0.35rem 0 1.35rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--bms-muted);
}
.bms-page__meta .wp-block-post-date {
	color: var(--bms-muted);
}
.bms-page .wp-block-post-content,
.bms-page .entry-content {
	font-family: var(--bms-font);
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--bms-ink);
}
.bms-page .wp-block-post-content > *:first-child {
	margin-top: 0;
}
.bms-page .wp-block-post-content p {
	margin: 0 0 1.1rem;
}
.bms-page .wp-block-post-content h2,
.bms-page .wp-block-post-content h3 {
	font-family: var(--bms-display);
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 1.75rem 0 0.75rem;
	color: var(--bms-ink);
}
.bms-page .wp-block-post-content a {
	color: var(--bms-sky-deep);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.bms-page .wp-block-post-content ul,
.bms-page .wp-block-post-content ol {
	margin: 0 0 1.1rem;
	padding-left: 1.25rem;
}
.bms-page .wp-block-post-content li {
	margin: 0 0 0.35rem;
}
.bms-page .wp-block-post-content blockquote {
	margin: 1.35rem 0;
	padding: 0.85rem 1.15rem;
	border-left: 3px solid var(--bms-sky);
	background: var(--bms-white);
	border-radius: 0 12px 12px 0;
	color: var(--bms-muted);
}
.bms-page .wp-block-post-content img {
	border-radius: var(--bms-radius);
	max-width: 100%;
	height: auto;
}
.bms-page__query {
	display: grid;
	gap: 1rem;
}
.bms-page__card {
	padding: 1.15rem 1.25rem;
	background: var(--bms-white);
	border: 1px solid var(--bms-line);
	border-radius: var(--bms-radius);
}
.bms-page__card-title,
.bms-page__card .wp-block-post-title {
	font-family: var(--bms-display);
	font-size: 1.35rem !important;
	letter-spacing: -0.02em;
	margin: 0 0 0.4rem !important;
	line-height: 1.2;
}
.bms-page__card .wp-block-post-title a {
	color: var(--bms-ink);
	text-decoration: none;
}
.bms-page__card .wp-block-post-title a:hover {
	color: var(--bms-sky-deep);
}
.bms-page__card .wp-block-post-date {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bms-muted);
	margin: 0 0 0.65rem;
}
.bms-page__card .wp-block-post-excerpt p {
	margin: 0;
	color: var(--bms-muted);
	font-size: 0.95rem;
	line-height: 1.55;
}
.bms-page .wp-block-query-pagination {
	margin-top: 0.5rem;
	gap: 0.75rem;
}
.bms-page .wp-block-query-pagination a {
	color: var(--bms-sky-deep);
	font-weight: 600;
	text-decoration: none;
}
.bms-page .wp-block-query-pagination a:hover {
	text-decoration: underline;
}
