/* ==========================================================================
   BRANDED MUSE — WooCommerce Blocks (cart / checkout / account)
   Appended to bm-shop.css
   ========================================================================== */

/* --------------------------------------------------------------------------
   Container + page header
   -------------------------------------------------------------------------- */
/* Blocksy constrains block content to a narrow measure; give the store pages
   the same 1320px canvas as the rest of the site so checkout can go 2-column. */
.bm-woo-cart,
.bm-woo-checkout,
.bm-woo-account {
	--wp--style--global--content-size: var(--bm-wrap);
	--wp--style--global--wide-size: var(--bm-wrap);
}
.bm-woo-cart .wp-block-woocommerce-cart,
.bm-woo-cart .wc-block-cart,
.bm-woo-checkout .wp-block-woocommerce-checkout,
.bm-woo-checkout .wc-block-checkout,
.bm-woo-account .wp-block-woocommerce-account,
.bm-woo-cart .is-layout-constrained > *,
.bm-woo-checkout .is-layout-constrained > * {
	max-width: none;
	width: 100%;
}

.bm-woo-cart .ct-container,
.bm-woo-checkout .ct-container,
.bm-woo-account .ct-container {
	width: 100%;
	max-width: var(--bm-wrap);
	margin-inline: auto;
	padding-inline: var(--bm-gutter);
}

/* page.php renders these pages: full canvas, slim blush title band */
.bm-woo-content { width: 100%; max-width: none; }
.bm-pagehero--slim .bm-wrap { padding-block: clamp(26px, 3.4vw, 48px); }
.bm-pagehero--slim .bm-pagehero__title { margin: 0; font-size: clamp(1.9rem, 3.6vw, 2.9rem); }
.bm-woo-cart .bm-page,
.bm-woo-checkout .bm-page,
.bm-woo-account .bm-page { padding-block: clamp(24px, 3vw, 44px) var(--bm-section); }
.bm-woo-cart .bm-page__head,
.bm-woo-checkout .bm-page__head,
.bm-woo-account .bm-page__head { margin-bottom: clamp(18px, 2.4vw, 32px); }

/* "New in store" suggestions on the empty cart */
.bm-woo-content .woocommerce ul.products,
.bm-woo-content ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 1.8vw, 24px);
}
@media (max-width: 900px) {
	.bm-woo-content .woocommerce ul.products,
	.bm-woo-content ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.bm-woo-cart .hero-section,
.bm-woo-checkout .hero-section,
.bm-woo-account .hero-section { background: var(--bm-blush-200); padding-block: clamp(30px, 4vw, 54px); }
.bm-woo-cart .hero-section .page-title,
.bm-woo-checkout .hero-section .page-title,
.bm-woo-account .hero-section .page-title {
	font-size: clamp(1.9rem, 3.6vw, 3rem);
	margin: 0;
}
.bm-woo-cart .ct-container[data-vertical-spacing],
.bm-woo-checkout .ct-container[data-vertical-spacing],
.bm-woo-account .ct-container[data-vertical-spacing] { padding-block: clamp(28px, 3.6vw, 52px); }

/* --------------------------------------------------------------------------
   Block buttons — the brand accent, always legible
   -------------------------------------------------------------------------- */
.wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 30px;
	border: 1px solid var(--bm-red);
	border-radius: var(--bm-pill);
	background: var(--bm-red);
	color: #fff !important;
	font-family: var(--bm-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	line-height: 1.2;
	box-shadow: none;
	transition: background .24s var(--bm-ease), border-color .24s var(--bm-ease), color .24s var(--bm-ease);
}
.wc-block-components-button:hover,
.wc-block-components-button:focus {
	background: var(--bm-red-700) !important;
	border-color: var(--bm-red-700) !important;
	color: #fff !important;
}
.wc-block-components-button:disabled,
.wc-block-components-button[disabled] { opacity: .55; }
.wc-block-components-button__text,
.wc-block-components-button span { color: inherit !important; }
.wc-block-components-button.is-link,
.wc-block-components-button.is-link:hover {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--bm-red) !important;
	min-height: 0;
	padding: 0;
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
	text-decoration: underline;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { width: 100%; }

/* --------------------------------------------------------------------------
   Cart block
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-cart { gap: clamp(24px, 3vw, 48px); }
.wc-block-cart-items,
.wc-block-components-order-summary { border-color: var(--bm-line-soft); }
.wc-block-cart-items__header {
	font-size: 10.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--bm-muted);
}
.wc-block-cart-item__image img { border-radius: var(--bm-radius); }
.wc-block-cart-item__product .wc-block-components-product-name {
	font-family: var(--bm-serif);
	font-size: 1.05rem;
	color: var(--bm-ink);
}
.wc-block-components-product-price,
.wc-block-cart-item__total { color: var(--bm-ink); font-weight: 600; }
.wc-block-components-product-price del { color: var(--bm-muted); font-weight: 400; opacity: .7; }
.wc-block-components-product-price ins { text-decoration: none; color: var(--bm-red); }
.wc-block-cart-item__prices .wc-block-components-product-price { font-size: 14px; }

.wc-block-components-quantity-selector {
	border: 1px solid var(--bm-line);
	border-radius: var(--bm-pill);
	background: #fff;
	overflow: hidden;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: transparent;
	color: var(--bm-ink);
	font-weight: 600;
}
.wc-block-components-quantity-selector__button { color: var(--bm-ink); }
.wc-block-components-quantity-selector__button:hover { color: var(--bm-red); }

.wc-block-cart-item__remove-link {
	font-size: 12.5px;
	color: var(--bm-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wc-block-cart-item__remove-link:hover { color: var(--bm-red); }

.wc-block-components-totals-wrapper,
.wc-block-components-totals-item { border-color: var(--bm-line-soft); }
.wc-block-components-totals-item__label { color: var(--bm-muted); }
.wc-block-components-totals-item__value { color: var(--bm-ink); font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.1rem;
	color: var(--bm-ink);
	font-weight: 700;
}

.wc-block-components-panel__button {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bm-ink);
	padding-block: 14px;
}
.wc-block-components-panel__button:hover { color: var(--bm-red); }
.wc-block-components-panel__content { border-color: var(--bm-line-soft); }

.wc-block-components-sidebar,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	background: var(--bm-blush-50);
	border: 1px solid var(--bm-line-soft);
	border-radius: var(--bm-radius-lg);
}

/* --------------------------------------------------------------------------
   Checkout block
   -------------------------------------------------------------------------- */
.wc-block-components-sidebar-layout { gap: clamp(24px, 3vw, 52px); }
.wc-block-components-checkout-step,
.wc-block-checkout__payment-method,
.wc-block-components-radio-control {
	border-color: var(--bm-line-soft);
}
.wc-block-components-checkout-step__title,
.wc-block-components-title {
	font-family: var(--bm-serif);
	color: var(--bm-ink);
	letter-spacing: -.01em;
}
.wc-block-components-checkout-step__description { color: var(--bm-muted); }

.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-select select,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-textarea,
.wc-block-components-text-input input[type="number"] {
	background: #fff !important;
	border: 1px solid var(--bm-line) !important;
	border-radius: var(--bm-radius) !important;
	color: var(--bm-ink);
	font-size: 14.5px;
	min-height: 48px;
	padding: 12px 16px;
	box-shadow: none;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea:focus {
	border-color: var(--bm-red) !important;
	box-shadow: 0 0 0 4px rgba(231, 45, 72, .10) !important;
	outline: none;
}
.wc-block-components-text-input label,
.wc-block-components-select label { color: var(--bm-muted); font-size: 12.5px; }

.wc-block-components-radio-control__option,
.wc-block-components-radio-control__option-checked {
	border-radius: var(--bm-radius);
}
.wc-block-components-radio-control__input:checked { border-color: var(--bm-red); }
.wc-block-components-radio-control__input:checked::before { background: var(--bm-red); }
.wc-block-components-checkbox__mark { fill: var(--bm-red); }
.wc-block-components-checkbox__input:checked { border-color: var(--bm-red); background: var(--bm-red); }

.wc-block-components-notice-banner {
	border-radius: var(--bm-radius);
	border: 1px solid var(--bm-line-soft);
	font-size: 14.5px;
}
.wc-block-components-notice-banner.is-error {
	background: var(--bm-blush-100);
	border-left: 3px solid var(--bm-red);
	color: var(--bm-ink-2);
}
.wc-block-components-notice-banner.is-error svg { fill: var(--bm-red); }

.wc-block-components-order-summary-item__image img { border-radius: var(--bm-radius); }
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-family: var(--bm-serif);
	color: var(--bm-ink);
}
.wc-block-checkout__terms { font-size: 13px; color: var(--bm-muted); }
.wc-block-checkout__terms a { color: var(--bm-red); }

/* Express payment / gateway placeholders */
.wc-block-components-express-payment__event-buttons { gap: 10px; }
.wc-block-components-express-payment-continue-rule { color: var(--bm-muted); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

/* --------------------------------------------------------------------------
   My account block
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--bm-line-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 13px 0;
	font-size: 14px;
	color: var(--bm-ink-2);
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--bm-red); }
.woocommerce-account .woocommerce-MyAccount-content { max-width: 78ch; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
	.wc-block-components-sidebar-layout { flex-direction: column; }
	.wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; margin-top: 28px; }
	.wc-block-cart__submit-container { position: static; }
}
@media (max-width: 680px) {
	.wc-block-components-button { width: 100%; }
	.wc-block-cart-items__header { display: none; }
}
