/* Brille — shop, product, cart, checkout and account pages. */

/* ---------- buttons ---------- */

.woocommerce a.button,
.woocommerce ul.products li.product .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .wc-block-components-button,
.wc-block-components-button:not(.is-link),
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 26px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(180deg, #ff46a3 0%, #f0138a 52%, #e0067b 100%);
	box-shadow: 0 6px 16px rgba(224, 6, 123, .24), inset 0 1px 0 rgba(255, 255, 255, .35);
	color: #fff;
	font: 600 14px/1.2 var(--bl-sans);
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wp-block-button__link:hover {
	background: linear-gradient(180deg, #ff46a3 0%, #f0138a 52%, #e0067b 100%);
	color: #fff;
	filter: brightness(1.06);
	transform: translateY(-1px);
	box-shadow: 0 9px 22px rgba(224, 6, 123, .3), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible { outline: 2px solid var(--bl-navy); outline-offset: 3px; }
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button.alt.disabled { opacity: .5; cursor: not-allowed; }
.woocommerce a.added_to_cart { display: inline-block; margin-top: 10px; font: 600 13px/1 var(--bl-sans); }

/* ---------- notices ---------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error {
	margin: 0 0 24px;
	padding: 14px 18px 14px 46px;
	border: 1px solid var(--bl-line);
	border-left: 4px solid var(--bl-magenta);
	border-radius: 12px;
	background: #fff;
	color: var(--bl-navy);
	font: 500 14px/1.5 var(--bl-sans);
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { top: 14px; left: 16px; color: var(--bl-magenta); }
.woocommerce-error { border-left-color: #c5221f; }
.woocommerce-error::before { color: #c5221f; }
.woocommerce-message .button,
.woocommerce-info .button { min-height: 36px; padding: 0 18px; font-size: 12px; }

/* ---------- shop ---------- */

.woocommerce .woocommerce-result-count { margin: 0 0 22px; font: 500 13px/44px var(--bl-sans); color: #6c7191; }
.woocommerce .woocommerce-ordering { margin: 0 0 22px; }
.woocommerce .woocommerce-ordering select { width: auto; min-height: 44px; }

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 360px));
	justify-content: center;
	gap: 28px;
	clear: both;
	margin: 0;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
	display: flex;
	position: relative;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 14px 14px 22px;
	border: 1px solid var(--bl-line);
	border-radius: 20px;
	background: #fff;
	text-align: center;
	transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(150, 60, 90, .14); }
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: block; text-decoration: none; }
.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	margin: 0 0 16px;
	border-radius: 12px;
	background: var(--bl-blush);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 6px;
	font: 900 21px/1.2 var(--bl-display);
	letter-spacing: -.01em;
	color: var(--bl-ink);
}
.woocommerce ul.products li.product .price {
	display: block;
	margin: 8px 0 16px;
	font: 700 16px/1.2 var(--bl-sans);
	color: var(--bl-pink-text);
}
.woocommerce ul.products li.product .price del { color: #9aa0bb; font-weight: 500; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: 8px auto 0; }
.woocommerce ul.products li.product .button { align-self: center; margin-top: auto; }
.woocommerce ul.products li.product span.woocommerce-loop-product__link { display: block; }

/* featured product (e.g. the two-pack): gold frame + ribbon */
.woocommerce ul.products li.product.bl-featured { border: 2px solid #dca83a; box-shadow: 0 14px 36px rgba(196, 138, 20, .16); }
.bl-ribbon {
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 2;
	transform: translate(-50%, -50%);
	padding: 8px 18px;
	border-radius: 999px;
	background: linear-gradient(180deg, #ecc057 0%, #d4971c 55%, #b9770e 100%);
	box-shadow: 0 4px 12px rgba(160, 100, 10, .28);
	color: #fff;
	font: 700 11.5px/1 var(--bl-sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* product card: size picker + button that goes straight to the checkout */
.bl-buy {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	align-items: center;
	gap: 12px 10px;
	margin-top: auto;
}
.bl-buy__label { margin: 0; font: 600 11.5px/1 var(--bl-sans); letter-spacing: .14em; text-transform: uppercase; color: #6c7191; }
.bl-buy .bl-buy__select {
	width: auto;
	min-width: 84px;
	min-height: 40px;
	padding: 6px 30px 6px 16px;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
}
.woocommerce ul.products li.product .bl-buy .button { grid-column: 1 / -1; justify-self: center; margin-top: 0; }
.woocommerce .button .bl-ic { width: 15px; height: 15px; margin-left: 9px; stroke-width: 3.6; transition: transform .18s ease; }
.woocommerce .button:hover .bl-ic { transform: translateX(3px); }
.bl-buy__out { margin-top: auto; font: 600 12px/40px var(--bl-sans); letter-spacing: .12em; text-transform: uppercase; color: #9aa0bb; }
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	top: 24px; left: 24px; right: auto;
	min-width: 0; min-height: 0;
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--bl-navy);
	font: 700 11px/1 var(--bl-sans);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: #f0a41c; }

.woocommerce nav.woocommerce-pagination { margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 3px; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px;
	padding: 12px;
	border-radius: 50%;
	font: 600 14px/1 var(--bl-sans);
	color: var(--bl-navy);
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bl-magenta); color: #fff; }

/* ---------- single product ---------- */

.woocommerce .woocommerce-breadcrumb { margin: 0 0 24px; font: 500 13px/1.4 var(--bl-sans); color: #6c7191; }
.woocommerce .woocommerce-breadcrumb a { color: var(--bl-navy); }
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images img { border-radius: 20px; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: 76px; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 10px; }
.woocommerce div.product .product_title { margin: 0 0 10px; font-size: clamp(30px, 4vw, 44px); letter-spacing: -.015em; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font: 700 24px/1.2 var(--bl-sans); color: var(--bl-pink-text); }
.woocommerce div.product .woocommerce-product-details__short-description { margin: 14px 0 22px; }
.woocommerce div.product form.cart { margin: 0 0 26px; }
.woocommerce div.product form.cart .variations { margin-bottom: 14px; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart .variations label { display: block; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .08em; }
.woocommerce div.product form.cart .variations select { max-width: 260px; }
.woocommerce div.product form.cart .reset_variations { margin-left: 12px; font: 500 13px/1 var(--bl-sans); }
.woocommerce div.product form.cart .woocommerce-variation-price { margin-bottom: 14px; }
.woocommerce div.product form.cart div.quantity { margin-right: 12px; }
.woocommerce .quantity .qty { width: 84px; min-height: 48px; text-align: center; border-radius: 999px; }
.woocommerce div.product .product_meta { padding-top: 16px; border-top: 1px solid var(--bl-line); font: 500 13px/1.6 var(--bl-sans); color: #6c7191; }
.woocommerce div.product .woocommerce-tabs { padding-top: 34px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin: 0 0 22px; padding: 0; border-bottom: 1px solid var(--bl-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 26px 0 0; padding: 0; border: 0; border-radius: 0; background: none; }
.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 a { padding: 12px 0; font: 600 13px/1 var(--bl-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--bl-navy); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--bl-magenta); }
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 { margin: 0 0 18px; font-size: 28px; }
.woocommerce .related, .woocommerce .upsells { clear: both; padding-top: 46px; }

/* ---------- checkout ---------- */

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 0; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { margin: 0 0 24px; padding: 20px; border: 1px solid var(--bl-line); border-radius: 16px; background: #fff; }

form.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
	grid-template-areas: "notices notices" "details heading" "details review";
	grid-template-rows: auto auto 1fr;
	column-gap: 44px;
	align-items: start;
}
form.woocommerce-checkout > .woocommerce-NoticeGroup { grid-area: notices; }
form.woocommerce-checkout #customer_details { grid-area: details; }
form.woocommerce-checkout #order_review_heading { grid-area: heading; }
form.woocommerce-checkout #order_review { grid-area: review; }

.woocommerce-checkout #customer_details.col2-set { display: block; width: auto; float: none; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: auto; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 26px; }
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading { margin: 0 0 16px; font-size: 26px; letter-spacing: -.01em; }
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 5px; }
.woocommerce form .form-row .required { color: var(--bl-magenta); text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row textarea.input-text,
.woocommerce form .form-row select {
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #e3cfd0;
	border-radius: 10px;
	background-color: #fff;
	color: var(--bl-navy);
	font: 500 15px/1.4 var(--bl-sans);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--bl-magenta); box-shadow: 0 0 0 3px rgba(230, 8, 127, .14); outline: none; }
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder { color: #9aa0bb; }
.woocommerce form .form-row textarea { min-height: 96px; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); }
.select2-container--default .select2-selection--single {
	height: 48px;
	border: 1px solid #e3cfd0;
	border-radius: 10px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 14px; line-height: 46px; font: 500 15px/46px var(--bl-sans); color: var(--bl-navy); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }

.woocommerce-checkout #order_review {
	position: sticky;
	top: 24px;
	padding: 8px 22px 22px;
	border: 1px solid var(--bl-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 44px rgba(150, 60, 90, .1);
	transition: opacity .15s ease;
}
.woocommerce-checkout #order_review.bl-busy { opacity: .55; pointer-events: none; }

.woocommerce table.shop_table { border: 0; border-radius: 0; margin: 0; border-collapse: collapse; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 14px 0; border-top: 1px solid var(--bl-line); font: 500 14px/1.4 var(--bl-sans); color: var(--bl-navy); }
.woocommerce table.shop_table thead th { border-top: 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #6c7191; }
.woocommerce table.shop_table td.product-total,
.woocommerce table.shop_table th.product-total,
.woocommerce table.shop_table tfoot td { text-align: right; white-space: nowrap; }
.woocommerce table.shop_table tfoot th { font-weight: 600; }
.woocommerce table.shop_table tfoot .order-total th,
.woocommerce table.shop_table tfoot .order-total td { font-size: 18px; font-weight: 700; }
.woocommerce table.shop_table tfoot .order-total .amount { color: var(--bl-pink-text); }
.woocommerce ul#shipping_method { margin: 0; padding: 0; }

/* order rows with thumbnail, quantity stepper and remove */
/* The text column is always indented past the thumbnail, however long the product name is. */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td.product-name { vertical-align: top; padding-left: 78px; font-size: 0; line-height: 0; }
.woocommerce-checkout-review-order-table td.product-name::after { content: ""; display: table; clear: both; }
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td.product-total { vertical-align: top; padding-top: 16px; padding-left: 10px; font-weight: 700; }
.woocommerce-checkout-review-order-table .bl-co-item__thumb {
	float: left;
	margin: 0 0 0 -78px;
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 12px;
	background: var(--bl-blush);
}
.woocommerce-checkout-review-order-table .bl-co-item__name { display: block; overflow: hidden; padding-top: 2px; font: 600 14px/1.35 var(--bl-sans); }
.woocommerce-checkout-review-order-table .bl-co-item__name .variation,
.woocommerce-checkout-review-order-table td.product-name dl.variation { margin: 2px 0 0; font-size: 12px; font-weight: 500; color: #6c7191; }
.woocommerce-checkout-review-order-table td.product-name dl.variation { overflow: hidden; }
.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dd { display: inline; float: none; margin: 0; font-weight: 500; }
.woocommerce-checkout-review-order-table dl.variation dd p { display: inline; margin: 0; }
.bl-co-item__controls { display: flex; align-items: center; gap: 12px; overflow: hidden; margin-top: 8px; padding: 1px; }

.bl-qty {
	display: inline-flex;
	align-items: center;
	height: 36px;
	border: 1px solid #e3cfd0;
	border-radius: 999px;
	background: #fff;
}
.bl-qty--single { padding: 0 14px; font: 600 13px/1 var(--bl-sans); }
.bl-qty__btn {
	display: grid;
	place-items: center;
	width: 36px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: none;
	color: var(--bl-navy);
	cursor: pointer;
}
.bl-qty__btn:hover { color: var(--bl-magenta); background: var(--bl-blush); }
.bl-qty__btn .bl-ic { width: 14px; height: 14px; stroke-width: 4; }
.bl-qty .bl-qty__input {
	width: 38px;
	min-height: 0;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	text-align: center;
	font: 700 14px/1 var(--bl-sans);
	-moz-appearance: textfield;
	appearance: textfield;
}
.bl-qty__input::-webkit-outer-spin-button,
.bl-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bl-co-remove {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 36px;
	padding: 0 4px;
	border: 0;
	background: none;
	color: #6c7191;
	font: 600 12px/1 var(--bl-sans);
	cursor: pointer;
}
.bl-co-remove:hover { color: #c5221f; }
.bl-co-remove .bl-ic { width: 16px; height: 16px; stroke-width: 2.6; }
.bl-qty__btn:focus-visible, .bl-co-remove:focus-visible, .bl-addon__add:focus-visible { outline: 2px solid var(--bl-magenta); outline-offset: 2px; }

/* add to your order */
.bl-addons { margin: 6px 0 18px; padding: 16px; border-radius: 16px; background: var(--bl-blush); }
.bl-addons[hidden] { display: none; }
.bl-addons__title { margin: 0 0 10px; font: 900 18px/1.2 var(--bl-display); color: var(--bl-ink); }
.bl-addons__list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.bl-addon {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 8px 10px 8px 8px;
	border-radius: 14px;
	background: #fff;
}
.bl-addon__thumb { display: block; }
.bl-addon__thumb img { display: block; width: 52px; height: 52px; object-fit: cover; border-radius: 10px; }
.bl-addon__info { display: block; min-width: 0; }
.bl-addon__name { display: block; font: 600 13.5px/1.3 var(--bl-sans); color: var(--bl-navy); text-decoration: none; }
.bl-addon__price { display: block; margin-top: 2px; font: 700 13px/1.3 var(--bl-sans); color: var(--bl-pink-text); }
.bl-addon__price del { color: #9aa0bb; font-weight: 500; }
.bl-addon__price ins { text-decoration: none; }
.bl-addon .bl-addon__select { width: auto; max-width: 100%; min-height: 32px; margin-top: 6px; padding: 4px 28px 4px 10px; border-radius: 8px; font-size: 12.5px; }
.bl-addon__add {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 38px;
	padding: 0 16px 0 12px;
	border: 1.5px solid var(--bl-magenta);
	border-radius: 999px;
	background: #fff;
	color: var(--bl-magenta);
	font: 700 12px/1 var(--bl-sans);
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}
.bl-addon__add:hover { background: var(--bl-magenta); color: #fff; }
.bl-addon__add .bl-ic { width: 13px; height: 13px; stroke-width: 4.5; }

/* payment */
.woocommerce-checkout .bl-pay-title { margin: 6px 0 12px; }
.woocommerce-checkout #payment { border-radius: 16px; background: var(--bl-blush); }
.woocommerce-checkout #payment ul.payment_methods { padding: 16px; border-bottom: 1px solid #f1d3d8; }
.woocommerce-checkout #payment ul.payment_methods li { font: 600 14px/1.5 var(--bl-sans); }
.woocommerce-checkout #payment div.payment_box { margin: 10px 0 0; padding: 12px 14px; border-radius: 10px; background: #fff; color: var(--bl-navy); font: 500 13px/1.5 var(--bl-sans); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment div.form-row.place-order { margin: 0; padding: 16px; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font: 500 12px/1.6 var(--bl-sans); color: #6c7191; }
.woocommerce-checkout #payment #place_order { float: none; width: 100%; min-height: 54px; margin-top: 12px; font-size: 15px; }

/* order received */
.woocommerce-order .woocommerce-thankyou-order-received { font: 900 26px/1.3 var(--bl-display); color: var(--bl-ink); }
.woocommerce ul.order_details { display: flex; flex-wrap: wrap; gap: 14px 30px; margin: 22px 0 30px; padding: 20px; border-radius: 16px; background: var(--bl-blush); }
.woocommerce ul.order_details li { float: none; margin: 0; padding: 0; border: 0; font: 600 11px/1.5 var(--bl-sans); letter-spacing: .08em; color: #6c7191; }
.woocommerce ul.order_details li strong { font-size: 15px; letter-spacing: 0; color: var(--bl-navy); }
.woocommerce .woocommerce-order-details__title,
.woocommerce .woocommerce-column__title { font-size: 24px; }
.woocommerce .woocommerce-customer-details address { padding: 16px; border: 1px solid var(--bl-line); border-radius: 14px; font: 500 14px/1.7 var(--bl-sans); }

/* cart (classic) */
.woocommerce table.cart img { width: 72px; border-radius: 10px; }
.woocommerce table.cart td.actions .coupon .input-text { width: 180px; min-height: 48px; }
.woocommerce .cart-collaterals .cart_totals { padding: 22px; border: 1px solid var(--bl-line); border-radius: 20px; background: #fff; }
.woocommerce a.remove { color: #c5221f !important; }

/* account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; border-bottom: 1px solid var(--bl-line); font: 600 13px/1 var(--bl-sans); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: var(--bl-navy); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--bl-magenta); }

@media (max-width: 980px) {
	/*
	 * One column, in buying order: your order → billing details → payment → Place order.
	 * The order box is "unwrapped" (display: contents) so the billing details can sit
	 * between the order summary and the payment box.
	 */
	form.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: none;
		grid-template-rows: none;
	}
	form.woocommerce-checkout > .woocommerce-NoticeGroup,
	form.woocommerce-checkout #customer_details,
	form.woocommerce-checkout #order_review_heading { grid-area: auto; }
	form.woocommerce-checkout > .woocommerce-NoticeGroup { order: 0; }
	form.woocommerce-checkout #order_review_heading { order: 1; }
	.woocommerce-checkout #order_review { display: contents; }
	.woocommerce-checkout #order_review > * { order: 3; }
	.woocommerce-checkout #order_review > .woocommerce-checkout-review-order-table { order: 2; }
	.woocommerce-checkout #order_review > .bl-addons { order: 3; margin: 14px 0 0; }
	form.woocommerce-checkout #customer_details { order: 4; margin-top: 30px; }
	.woocommerce-checkout #order_review > .bl-pay-title { order: 5; margin-top: 30px; }
	.woocommerce-checkout #order_review > #payment { order: 6; }
	.woocommerce-checkout #order_review.bl-busy > * { opacity: .55; pointer-events: none; }
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table { border-top: 1px solid var(--bl-line); border-bottom: 1px solid var(--bl-line); }
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead { display: none; }
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody tr:first-child td { border-top: 0; }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
}

@media (max-width: 600px) {
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: 10px 10px 16px; border-radius: 16px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
	.woocommerce ul.products li.product .button { min-height: 42px; padding: 0 16px; font-size: 12px; }
	.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; }
	.bl-ribbon { padding: 7px 12px; font-size: 10px; letter-spacing: .12em; }
	.woocommerce .woocommerce-ordering select { width: 100%; }
	.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
	.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font-size: 22px; }
	.bl-co-remove span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.bl-co-remove { min-width: 40px; justify-content: center; }
	.bl-co-remove .bl-ic { width: 19px; height: 19px; }
	.bl-addon { grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; }
	.bl-addon__thumb img { width: 46px; height: 46px; }
}
