/* WooCommerce surfaces: structural styling layered on native templates. */
.bp-shop-main { min-height: 60vh; padding-block: clamp(38px, 6vw, 80px); }
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
	align-items: center;
	color: var(--bp-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: .7rem;
	gap: 7px;
	margin: 0 0 18px;
}

.woocommerce .woocommerce-breadcrumb a { color: var(--bp-muted); text-decoration: none; }
.bp-archive-header { margin-bottom: 28px; }
.bp-archive-header__title { align-items: flex-end; display: flex; justify-content: space-between; }
.bp-archive-header h1 {
	font-family: var(--bp-font-display);
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	font-weight: 500;
	letter-spacing: -.05em;
	line-height: .95;
	margin: 0;
}

.bp-archive-header__description { color: var(--bp-muted); font-size: .9rem; margin-top: 18px; max-width: 760px; }
.bp-archive-header__description p { margin: 0; }
.bp-active-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.bp-active-filters a {
	align-items: center;
	background: var(--bp-cream);
	border-radius: 999px;
	display: inline-flex;
	font-size: .68rem;
	font-weight: 700;
	gap: 5px;
	padding: 7px 10px;
	text-decoration: none;
}
.bp-active-filters a:hover { background: var(--bp-sand); }
.bp-active-filters .bp-active-filters__clear { background: transparent; text-decoration: underline; }
.bp-mobile-shop-controls { display: none; }
.bp-archive-layout {
	display: grid;
	gap: clamp(28px, 4vw, 54px);
	grid-template-columns: 230px minmax(0, 1fr);
	margin-top: 28px;
}

.bp-archive-products { min-width: 0; }
.bp-archive-products::after { clear: both; content: ""; display: table; }
.woocommerce .woocommerce-result-count { color: var(--bp-muted); font-size: .76rem; margin: 10px 0 26px; }
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select,
.bp-filters select {
	background: var(--bp-white);
	border: 1px solid var(--bp-line);
	border-radius: 999px;
	min-height: 42px;
	padding: 0 36px 0 14px;
}

.bp-filters__mobile-head { display: none; }
.bp-filter-form { display: grid; gap: 0; }
.bp-filter-form fieldset {
	border: 0;
	border-bottom: 1px solid var(--bp-line);
	margin: 0;
	padding: 0 0 21px;
}

.bp-filter-form fieldset + fieldset { padding-top: 21px; }
.bp-filter-form legend { font-size: .78rem; font-weight: 800; margin-bottom: 12px; }
.bp-filter-form fieldset > label {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: .76rem;
	gap: 8px;
	margin-top: 8px;
	width: 100%;
}

.bp-filter-form label small { color: var(--bp-muted); margin-left: auto; }
.bp-filter-form input[type="checkbox"] { accent-color: var(--bp-primary); height: 17px; width: 17px; }
.bp-filter-form select { font-size: .75rem; max-width: 100%; width: 100%; }
.bp-price-filter { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.bp-price-filter label { color: var(--bp-muted); font-size: .66rem; }
.bp-price-filter input {
	border: 1px solid var(--bp-line);
	border-radius: 8px;
	display: block;
	margin-top: 4px;
	min-height: 40px;
	padding: 0 8px;
	width: 100%;
}

.bp-filters__actions { align-items: center; display: grid; gap: 10px; padding-top: 22px; text-align: center; }
.bp-filters__actions > a { color: var(--bp-muted); font-size: .7rem; }
.bp-filters__actions .bp-button { font-size: .74rem; padding-inline: 14px; }

.woocommerce ul.products {
	display: grid;
	gap: clamp(18px, 2.2vw, 28px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	float: none;
	margin: 0;
	min-width: 0;
	width: auto;
}

.woocommerce nav.woocommerce-pagination { clear: both; padding-top: 42px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	align-items: center;
	border: 1px solid var(--bp-line);
	border-radius: 50%;
	display: flex;
	height: 42px;
	justify-content: center;
	padding: 0;
	width: 42px;
}

.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bp-primary); color: white; }

/* Notices */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	background: var(--bp-white);
	border: 1px solid var(--bp-line);
	border-left: 4px solid var(--bp-primary);
	border-radius: 11px;
	box-shadow: none;
	font-size: .82rem;
	line-height: 1.5;
	margin-bottom: 20px;
	padding: 16px 18px 16px 46px;
}

.woocommerce .woocommerce-error { border-left-color: var(--bp-error); }
.woocommerce .woocommerce-message { border-left-color: var(--bp-success); }
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before { left: 18px; top: 16px; }
.woocommerce .woocommerce-message .button { margin-left: 12px; }

/* Single product */
.woocommerce div.product {
	display: grid;
	gap: clamp(34px, 6vw, 78px);
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .85fr);
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none;
	margin: 0;
	width: auto;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	background: #f2f0eb;
	border-radius: var(--bp-radius-lg);
	overflow: hidden;
}

.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; gap: 10px; grid-template-columns: repeat(5, 1fr); margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: auto; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 2px solid transparent; border-radius: 10px; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color: var(--bp-primary); }
.woocommerce div.product .summary { align-self: start; padding-top: 8px; }
.bp-single-product__eyebrow { color: var(--bp-accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 10px; text-transform: uppercase; }
.woocommerce div.product .product_title {
	font-family: var(--bp-font-display);
	font-size: clamp(2.3rem, 4vw, 4.2rem);
	font-weight: 500;
	letter-spacing: -.045em;
	line-height: .98;
	margin: 0 0 18px;
}

.woocommerce div.product .woocommerce-product-rating { align-items: center; display: flex; font-size: .75rem; margin-bottom: 15px; }
.woocommerce .star-rating { color: #e39a36; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--bp-ink); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; }
.woocommerce div.product p.price del { color: var(--bp-muted); font-size: 1rem; opacity: 1; }
.woocommerce div.product p.price ins { color: var(--bp-accent); text-decoration: none; }
.bp-single-product__saving { color: var(--bp-success); font-size: .76rem; font-weight: 750; margin-top: -8px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--bp-muted); font-size: .9rem; }

.bp-tier-pricing {
	background: var(--bp-cream);
	border-radius: var(--bp-radius);
	margin: 22px 0;
	padding: 16px;
}

.bp-tier-pricing__heading { display: flex; flex-direction: column; }
.bp-tier-pricing__heading strong { font-size: .84rem; }
.bp-tier-pricing__heading span { color: var(--bp-muted); font-size: .7rem; }
.bp-tier-pricing__tiers { display: grid; gap: 6px; margin-top: 12px; }
.bp-tier-pricing__tier { align-items: center; background: var(--bp-white); border-radius: 9px; display: flex; font-size: .74rem; justify-content: space-between; padding: 9px 11px; }
.bp-tier-pricing__tier strong { color: var(--bp-primary); }
.bp-tier-pricing__live { color: var(--bp-success); font-size: .7rem; font-weight: 700; margin-top: 7px; }

.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; width: 100%; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; padding: 3px 0; text-align: left; }
.woocommerce div.product form.cart .variations label { font-size: .76rem; }
.woocommerce div.product form.cart .variations select {
	background: var(--bp-white);
	border: 1px solid var(--bp-line);
	border-radius: 9px;
	min-height: 48px;
	padding: 0 12px;
	width: 100%;
}

.woocommerce div.product form.cart .reset_variations { color: var(--bp-muted); font-size: .7rem; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.quantity.bp-quantity-enhanced {
	align-items: center;
	border: 1px solid var(--bp-line);
	border-radius: 999px;
	display: inline-flex;
	height: 50px;
	overflow: hidden;
}

.quantity.bp-quantity-enhanced .qty {
	border: 0;
	height: 48px;
	padding: 0;
	width: 46px;
}

.bp-quantity-button {
	align-items: center;
	background: none;
	border: 0;
	cursor: pointer;
	display: flex;
	height: 48px;
	justify-content: center;
	width: 38px;
}

.bp-quantity-button svg { height: 16px; width: 16px; }
.woocommerce div.product form.cart .button {
	background: var(--bp-primary);
	border-radius: 999px;
	color: var(--bp-white);
	flex: 1;
	font-size: .86rem;
	font-weight: 800;
	min-height: 50px;
	padding-inline: 20px;
}

.woocommerce div.product form.cart .button.disabled { opacity: .45; }
.woocommerce div.product form.cart .bp-buy-now { background: transparent; border: 1px solid var(--bp-primary); color: var(--bp-primary); flex-basis: 100%; }
.woocommerce div.product .product_meta { color: var(--bp-muted); display: grid; font-size: .7rem; gap: 3px; margin-top: 20px; }
.woocommerce div.product .product_meta a { color: var(--bp-primary); }

.bp-product-assurances { border-block: 1px solid var(--bp-line); display: grid; gap: 12px; margin-top: 22px; padding-block: 20px; }
.bp-product-assurance { align-items: center; display: flex; gap: 12px; }
.bp-product-assurance > svg { color: var(--bp-primary); flex: 0 0 22px; height: 22px; width: 22px; }
.bp-product-assurance > span { display: flex; flex-direction: column; }
.bp-product-assurance strong { font-size: .75rem; }
.bp-product-assurance small { color: var(--bp-muted); font-size: .65rem; }

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(20px, 5vw, 60px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--bp-line); display: flex; gap: 28px; margin: 0 0 30px; overflow-x: auto; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a { border-bottom: 2px solid transparent; font-size: .8rem; padding: 13px 0; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-color: var(--bp-primary); color: var(--bp-primary); }
.woocommerce div.product .woocommerce-tabs .panel { color: #3d4350; margin: 0 auto; max-width: 920px; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-family: var(--bp-font-display); font-size: 2rem; }
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	font-family: var(--bp-font-display);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	margin: 50px 0 28px;
}

.bp-mobile-buybar { display: none; }

/* Cart and mini-cart */
.bp-cart-drawer .widget_shopping_cart_content { display: flex; flex: 1; flex-direction: column; overflow-y: auto; padding: 12px 20px 22px; }
.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart-item {
	align-items: start;
	border-bottom: 1px solid var(--bp-line);
	display: grid;
	gap: 10px;
	grid-template-columns: 72px 1fr auto;
	padding: 14px 0 16px !important;
	position: relative;
}

.woocommerce-mini-cart-item > a:not(.remove) { font-size: .78rem; font-weight: 700; text-decoration: none; }
.woocommerce-mini-cart-item > a:not(.remove) img {
	background: #f2f0eb;
	border-radius: 10px;
	float: none !important;
	grid-row: 1 / 3;
	height: 72px;
	margin: 0 10px 0 0 !important;
	object-fit: cover;
	width: 72px !important;
}

.woocommerce-mini-cart-item .remove {
	align-items: center;
	background: var(--bp-cream) !important;
	color: var(--bp-muted) !important;
	display: flex !important;
	font-size: 1rem !important;
	grid-column: 3;
	height: 26px !important;
	justify-content: center;
	position: static !important;
	width: 26px !important;
}

.woocommerce-mini-cart-item .quantity { color: var(--bp-muted); font-size: .7rem; grid-column: 2; }
.woocommerce-mini-cart__total { border-top: 0 !important; display: flex; justify-content: space-between; margin: auto 0 0; padding: 20px 0 12px !important; }
.woocommerce-mini-cart__buttons { display: grid; gap: 8px; margin: 0 !important; }
.woocommerce-mini-cart__buttons .button {
	background: transparent;
	border: 1px solid var(--bp-primary);
	border-radius: 999px;
	color: var(--bp-primary);
	margin: 0 !important;
	padding: 13px 18px !important;
	text-align: center;
}

.woocommerce-mini-cart__buttons .checkout { background: var(--bp-primary); color: var(--bp-white); }
.woocommerce-mini-cart__empty-message { color: var(--bp-muted); margin: auto; text-align: center; }

.woocommerce-cart .bp-shop-main > .bp-container,
.woocommerce-account .bp-shop-main > .bp-container { max-width: 1180px; }
.woocommerce-cart .woocommerce > h2,
.woocommerce-cart .bp-shop-main h1,
.woocommerce-account .bp-shop-main h1 {
	font-family: var(--bp-font-display);
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 500;
}

.woocommerce-cart-form {
	float: left;
	width: calc(100% - 400px);
}

.woocommerce table.shop_table {
	background: var(--bp-white);
	border: 1px solid var(--bp-line);
	border-collapse: separate;
	border-radius: var(--bp-radius);
	overflow: hidden;
}

.woocommerce table.shop_table th { font-size: .7rem; letter-spacing: .04em; padding: 15px; text-transform: uppercase; }
.woocommerce table.shop_table td { border-color: var(--bp-line); font-size: .8rem; padding: 16px 15px; }
.woocommerce-cart table.cart img { border-radius: 9px; width: 74px; }
.woocommerce-cart table.cart .product-name a { font-weight: 700; text-decoration: none; }
.woocommerce-cart table.cart .product-remove a { color: var(--bp-muted) !important; }
.woocommerce-cart table.cart td.actions .coupon { align-items: center; display: flex; gap: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text {
	border: 1px solid var(--bp-line);
	border-radius: 999px;
	min-height: 44px;
	padding: 0 14px;
	width: 170px;
}

.woocommerce-cart .cart-collaterals {
	float: right;
	width: 350px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--bp-cream);
	border-radius: var(--bp-radius);
	float: none;
	padding: 22px;
	position: sticky;
	top: calc(var(--bp-header-height) + 20px);
	width: 100%;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 { font-family: var(--bp-font-display); font-size: 1.6rem; margin-top: 0; }
.woocommerce .cart_totals table.shop_table { background: transparent; border: 0; }
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td { padding: 12px 0; }
.woocommerce .wc-proceed-to-checkout { padding-bottom: 0; }
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	background: var(--bp-primary);
	border-radius: 999px;
	font-size: .9rem;
	margin: 12px 0 0;
	padding: 16px;
}

.bp-empty-cart-discovery { margin-top: 44px; text-align: center; }
.bp-empty-cart-discovery h2 { font-family: var(--bp-font-display); font-size: 2.2rem; font-weight: 500; }
.bp-empty-cart-discovery > div { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); }
.bp-empty-cart-discovery a {
	background: var(--bp-cream);
	border-radius: var(--bp-radius);
	display: flex;
	flex-direction: column;
	font-family: var(--bp-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	padding: 24px 14px;
	text-decoration: none;
}
.bp-empty-cart-discovery a span { color: var(--bp-muted); font-family: var(--bp-font-sans); font-size: .65rem; font-weight: 500; }
.bp-no-products-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }

/* Account */
body.logged-in.woocommerce-account .woocommerce {
	display: grid;
	gap: clamp(26px, 5vw, 56px);
	grid-template-columns: 230px minmax(0, 1fr);
}

body.logged-in.woocommerce-account .woocommerce::before,
body.logged-in.woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	background: var(--bp-cream);
	border-radius: var(--bp-radius);
	display: grid;
	list-style: none;
	margin: 0;
	padding: 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation a { border-radius: 9px; display: block; font-size: .78rem; font-weight: 700; padding: 11px 13px; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--bp-white); color: var(--bp-primary); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; min-width: 0; width: auto; }
.woocommerce-account .addresses .title h2 { font-family: var(--bp-font-display); font-size: 1.6rem; }
.bp-account-cards { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); margin-bottom: 28px; }
.bp-account-cards > a {
	background: var(--bp-cream);
	border-radius: var(--bp-radius);
	display: flex;
	flex-direction: column;
	min-height: 142px;
	padding: 20px;
	text-decoration: none;
}
.bp-account-cards small { color: var(--bp-muted); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.bp-account-cards strong { font-family: var(--bp-font-display); font-size: 1.65rem; margin-top: 7px; }
.bp-account-cards span { color: var(--bp-primary); font-size: .7rem; font-weight: 700; margin-top: auto; }
.bp-return-status { background: var(--bp-cream); border-radius: var(--bp-radius); margin-top: 28px; padding: 24px; }
.bp-return-status h2 { font-family: var(--bp-font-display); margin-top: 0; }

/* Order received states */
.woocommerce-order-received .bp-shop-main > .bp-container { max-width: 960px; }
.bp-order-result { align-items: center; display: flex; flex-direction: column; padding: clamp(24px, 6vw, 60px) 20px; text-align: center; }
.bp-order-result__icon {
	align-items: center;
	background: var(--bp-cream);
	border-radius: 50%;
	color: var(--bp-primary);
	display: flex;
	height: 78px;
	justify-content: center;
	margin-bottom: 20px;
	width: 78px;
}
.bp-order-result__icon svg { height: 34px; width: 34px; }
.bp-order-result--success .bp-order-result__icon { background: #e5f4ed; color: var(--bp-success); }
.bp-order-result--error .bp-order-result__icon,
.bp-order-result--cancelled .bp-order-result__icon { background: #fae8e6; color: var(--bp-error); }
.bp-order-result h1 { font-family: var(--bp-font-display); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 500; line-height: 1; margin: 0; }
.bp-order-result > p:last-child { color: var(--bp-muted); max-width: 620px; }
.woocommerce-order-received .woocommerce-order-overview {
	background: var(--bp-cream);
	border-radius: var(--bp-radius);
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(5, 1fr);
	margin: 0 0 32px !important;
	padding: 22px !important;
}
.woocommerce-order-received .woocommerce-order-overview li { border-right-color: var(--bp-line); font-size: .62rem; margin: 0; padding: 0 10px; }
.woocommerce-order-received .woocommerce-order-overview li strong { font-size: .8rem; margin-top: 5px; }
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details { margin-top: 32px; }

.woocommerce form .form-row label { font-size: .74rem; font-weight: 700; line-height: 1.4; margin-bottom: 5px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form select {
	background: var(--bp-white);
	border: 1px solid #d8dedb;
	border-radius: 9px;
	min-height: 48px;
	padding: 10px 12px;
}

.woocommerce form .form-row textarea { min-height: 110px; }
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	background: var(--bp-white);
	border: 1px solid var(--bp-line);
	border-radius: var(--bp-radius);
	margin: 0;
	padding: clamp(22px, 4vw, 38px);
}

.woocommerce-account:not(.logged-in) .woocommerce { margin-inline: auto; max-width: 960px; }
.woocommerce-account #customer_login {
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr 1fr;
}
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after { display: none; }
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 { float: none; width: auto; }
.woocommerce-account #customer_login h2 { font-family: var(--bp-font-display); font-size: 2rem; font-weight: 500; }

.woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
	background: var(--bp-primary);
	border-radius: 999px;
	color: var(--bp-white);
	font-size: .8rem;
	font-weight: 750;
	min-height: 44px;
	padding-inline: 18px;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover { background: var(--bp-primary-deep); color: var(--bp-white); }

@media (max-width: 1000px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals { float: none; width: 100%; }
	.woocommerce-cart .cart-collaterals .cart_totals { margin-top: 24px; position: static; }
}

@media (max-width: 767px) {
	.bp-shop-main { padding-block: 30px 76px; }
	.bp-archive-header h1 { font-size: 3rem; }
	.bp-mobile-shop-controls { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin: 18px 0; }
	.bp-mobile-shop-controls .bp-button { font-size: .75rem; min-height: 44px; padding-inline: 12px; }
	.bp-archive-layout { display: block; margin-top: 10px; }
	.bp-filters {
		background: var(--bp-paper);
		bottom: 0;
		left: 0;
		overflow-y: auto;
		padding: 0 20px calc(20px + env(safe-area-inset-bottom));
		position: fixed;
		top: 0;
		transform: translateX(-105%);
		transition: transform .28s ease;
		width: min(390px, 94vw);
		z-index: 350;
	}

	.bp-filters.is-open { box-shadow: var(--bp-shadow-lg); transform: translateX(0); }
	.bp-filters__mobile-head {
		align-items: center;
		background: var(--bp-paper);
		display: flex;
		justify-content: space-between;
		min-height: 68px;
		position: sticky;
		top: 0;
		z-index: 2;
	}

	.bp-filters__mobile-head button { background: none; border: 0; padding: 12px; }
	.bp-filters__mobile-head svg { height: 20px; width: 20px; }
	.woocommerce .woocommerce-result-count { margin-bottom: 18px; }
	.woocommerce .woocommerce-ordering {
		display: none;
		float: none;
		margin: 0 0 18px;
		width: 100%;
	}

	.woocommerce .woocommerce-ordering.is-mobile-visible { display: block; }
	.woocommerce .woocommerce-ordering select { width: 100%; }
	.woocommerce ul.products { gap: 24px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce div.product { display: block; }
	.woocommerce div.product div.images { margin-bottom: 28px; }
	.woocommerce div.product div.images .flex-control-thumbs {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.woocommerce div.product div.images .flex-control-thumbs li { flex: 0 0 64px; scroll-snap-align: start; }
	.woocommerce div.product .product_title { font-size: 2.7rem; }
	.woocommerce div.product form.cart .quantity { flex: 0 0 126px; }
	.woocommerce div.product form.cart .single_add_to_cart_button { min-width: 0; }
	.bp-mobile-buybar {
		align-items: center;
		background: rgba(255,253,249,.97);
		border-top: 1px solid var(--bp-line);
		bottom: calc(60px + env(safe-area-inset-bottom));
		display: flex;
		gap: 12px;
		justify-content: space-between;
		left: 0;
		padding: 9px 14px;
		position: fixed;
		right: 0;
		z-index: 91;
	}

	.bp-mobile-buybar__price { font-size: .85rem; font-weight: 800; max-width: 42%; }
	.bp-mobile-buybar .bp-button { flex: 1; min-height: 44px; }
	.single-product .bp-footer { padding-bottom: calc(138px + env(safe-area-inset-bottom)); }
	.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 20px; }
	.woocommerce div.product .related > h2,
	.woocommerce div.product .upsells > h2 { font-size: 2.2rem; }

	/* Transform the cart table into readable product cards. */
	.woocommerce-cart table.shop_table_responsive thead { display: none; }
	.woocommerce-cart table.shop_table_responsive tr {
		border-bottom: 1px solid var(--bp-line);
		display: grid;
		grid-template-columns: 92px 1fr;
		padding: 16px;
		position: relative;
	}

	.woocommerce-cart table.shop_table_responsive tr:last-child { border-bottom: 0; }
	.woocommerce-cart table.shop_table_responsive td {
		background: transparent !important;
		border: 0;
		display: block;
		padding: 3px 0;
		text-align: left !important;
	}

	.woocommerce-cart table.shop_table_responsive td::before { display: none; }
	.woocommerce-cart table.shop_table_responsive .product-thumbnail { display: block; grid-column: 1; grid-row: 1 / 5; padding-right: 12px; }
	.woocommerce-cart table.shop_table_responsive .product-thumbnail img { width: 80px; }
	.woocommerce-cart table.shop_table_responsive .product-name,
	.woocommerce-cart table.shop_table_responsive .product-price,
	.woocommerce-cart table.shop_table_responsive .product-quantity,
	.woocommerce-cart table.shop_table_responsive .product-subtotal { grid-column: 2; }
	.woocommerce-cart table.shop_table_responsive .product-remove { position: absolute; right: 12px; top: 10px; }
	.woocommerce-cart table.shop_table_responsive td.actions { grid-column: 1 / -1; padding-top: 16px; }
	.woocommerce-cart table.cart td.actions .coupon { display: grid; grid-template-columns: 1fr auto; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { width: 100%; }
	.woocommerce-cart table.cart td.actions > .button { margin-top: 8px; width: 100%; }
	.bp-empty-cart-discovery > div { grid-template-columns: repeat(2, 1fr); }
	body.logged-in.woocommerce-account .woocommerce { display: block; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 26px; overflow-x: auto; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; width: max-content; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; }
	.woocommerce-account .addresses .col-1,
	.woocommerce-account .addresses .col-2 { float: none; width: 100%; }
	.bp-account-cards { grid-template-columns: 1fr; }
	.woocommerce-account #customer_login { grid-template-columns: 1fr; }
	.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: 1fr 1fr; }
	.woocommerce-order-received .woocommerce-order-overview li { border-bottom: 1px solid var(--bp-line); border-right: 0; padding: 10px 0; }
}
