/* ============================================================
 * Budget Perfumes — WooCommerce overrides.
 *
 * Keeps Woo's structural classes but rewrites the visual layer
 * to match the brand. Loaded after main.css.
 * ============================================================ */

/* Generic Woo wrappers */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count { font-size: 0.85rem; color: var(--bp-muted); margin: 0; font-family: var(--ff-display); letter-spacing: 0.04em; }

.woocommerce .woocommerce-ordering select {
	font-family: var(--ff-display);
	font-size: 0.88rem;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-pill);
	padding: 10px 16px;
	background: #fff;
	color: var(--bp-plum);
	cursor: pointer;
}

.woocommerce .woocommerce-breadcrumb { font-family: var(--ff-display); font-size: 0.82rem; color: var(--bp-muted); margin: 0 0 1.25rem; letter-spacing: 0.04em; }
.woocommerce .woocommerce-breadcrumb a { color: var(--bp-plum); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--bp-primary); }

/* Shop page header */
.bp-shop-header {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 1rem;
	margin: 0 0 2rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--bp-line);
}
@media (max-width: 600px) { .bp-shop-header { grid-template-columns: 1fr; } }
.bp-shop-header h1 { font-size: var(--fs-2xl); margin: 0; }
.bp-shop-header__sub { color: var(--bp-ink-soft); font-family: var(--ff-serif); margin-top: 6px; }

/* Convert default loop to our grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 28px);
}
/* Suppress Woo's legacy clearfix pseudo-elements — they show up as
   invisible grid items and steal the first/last cell. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { content: none !important; display: none !important; }
@media (max-width: 880px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-lg);
	overflow: hidden;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--shadow-3); }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 5/6;
	object-fit: cover;
	margin: 0 !important;
	transition: transform var(--dur-3) var(--ease-out);
	background: linear-gradient(180deg, var(--bp-cream-soft), var(--bp-cream));
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--bp-plum);
	padding: 16px 18px 4px !important;
	margin: 0;
	min-height: 3em;
}
.woocommerce ul.products li.product .price {
	color: var(--bp-plum);
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.05rem;
	padding: 0 18px;
	margin: 0;
	display: block;
}
.woocommerce ul.products li.product .price del { color: var(--bp-muted); font-weight: 400; opacity: 0.7; margin-right: 6px; font-size: 0.9em; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--bp-primary); font-weight: 800; }
.woocommerce ul.products li.product .button {
	margin: 14px 18px 18px !important;
	background: var(--bp-plum);
	color: #fff;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.78rem !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 12px 18px !important;
	border-radius: var(--r-pill);
	border: 0;
	display: block;
	text-align: center;
	transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
.woocommerce ul.products li.product .button:hover { background: var(--bp-primary); color: #fff; }
.woocommerce ul.products li.product .button.added::after { content: " ✓"; }

/* Sale flash */
.woocommerce span.onsale {
	background: var(--bp-primary) !important;
	color: #fff !important;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.7rem !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 6px 12px !important;
	border-radius: var(--r-pill) !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	top: 14px !important;
	left: 14px !important;
	right: auto !important;
	margin: 0 !important;
}

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 4rem); }
@media (max-width: 880px) { .woocommerce div.product { grid-template-columns: 1fr; } }
.woocommerce div.product .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--r-lg); }
.woocommerce div.product .summary {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}
.woocommerce div.product .product_title {
	font-family: var(--ff-display);
	font-weight: 800;
	color: var(--bp-plum);
	font-size: var(--fs-2xl);
	letter-spacing: -0.015em;
	margin: 0 0 1rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--ff-display);
	font-weight: 800;
	color: var(--bp-plum);
	font-size: 1.6rem;
	margin: 0 0 1.5rem;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { color: var(--bp-primary); text-decoration: none; }
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: var(--bp-muted); font-weight: 400; opacity: 0.7; margin-right: 12px; font-size: 0.8em; }
.woocommerce div.product .woocommerce-product-details__short-description {
	font-family: var(--ff-serif);
	font-size: 1.05rem;
	color: var(--bp-ink-soft);
	line-height: 1.65;
	margin-bottom: 1.5rem;
}
.woocommerce div.product form.cart {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}
.woocommerce div.product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-pill);
	overflow: hidden;
}
.woocommerce div.product form.cart .quantity input {
	width: 70px;
	border: 0;
	padding: 14px 8px;
	text-align: center;
	font-family: var(--ff-display);
	font-weight: 600;
	color: var(--bp-plum);
	background: transparent;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
	background: var(--bp-primary) !important;
	color: #fff !important;
	font-family: var(--ff-display);
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	padding: 16px 30px !important;
	border-radius: var(--r-pill) !important;
	border: 0 !important;
	box-shadow: 0 8px 20px rgba(230,48,39,.25) !important;
	transition: background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);
}
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--bp-primary-deep) !important; box-shadow: 0 12px 28px rgba(230,48,39,.35) !important; }
.woocommerce div.product .product_meta {
	border-top: 1px solid var(--bp-line);
	padding-top: 1rem;
	font-size: 0.85rem;
	color: var(--bp-muted);
	font-family: var(--ff-display);
}
.woocommerce div.product .product_meta a { color: var(--bp-plum); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 3rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border: 0;
	padding: 0;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	margin: 0 0 1.5rem;
	border-bottom: 1px solid var(--bp-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--ff-display);
	font-weight: 600;
	color: var(--bp-muted);
	padding: 12px 18px !important;
	display: block;
	border-bottom: 2px solid transparent;
	font-size: 0.92rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bp-plum); border-bottom-color: var(--bp-primary); }

.woocommerce div.product .woocommerce-tabs .panel { padding: 0; font-family: var(--ff-body); line-height: 1.7; color: var(--bp-ink); }

/* Related products header */
.woocommerce .related h2,
.woocommerce .upsells h2 { font-size: var(--fs-2xl); color: var(--bp-plum); margin: 3rem 0 1.5rem; }

/* Cart page */
.woocommerce-cart .cart_totals h2 { font-size: 1.25rem; color: var(--bp-plum); }
.woocommerce table.shop_table {
	border-collapse: collapse;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-md);
	overflow: hidden;
	background: #fff;
}
.woocommerce table.shop_table th {
	background: var(--bp-cream);
	color: var(--bp-plum);
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: 0;
	padding: 14px 18px;
}
.woocommerce table.shop_table td { border-top: 1px solid var(--bp-line); padding: 16px 18px; vertical-align: middle; }
.woocommerce table.shop_table .product-thumbnail img { width: 64px; height: 76px; object-fit: cover; border-radius: var(--r-sm); }
.woocommerce a.remove {
	color: var(--bp-muted) !important;
	font-weight: 400 !important;
	font-size: 1.2rem;
}
.woocommerce a.remove:hover { color: var(--bp-primary) !important; background: transparent !important; }

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-md);
	padding: 1.5rem;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table { border: 0; background: transparent; }
.woocommerce .cart-collaterals .cart_totals th,
.woocommerce .cart-collaterals .cart_totals td { background: transparent; padding: 10px 0; border-color: var(--bp-line); }
.woocommerce .cart-collaterals .cart_totals .order-total { font-size: 1.1rem; }

.woocommerce .button,
.woocommerce input[type="submit"].button,
.woocommerce a.button {
	background: var(--bp-plum);
	color: #fff;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 14px 22px;
	border-radius: var(--r-pill);
	border: 0;
	transition: background-color var(--dur-1) var(--ease-out);
	text-shadow: none;
}
.woocommerce .button:hover,
.woocommerce input[type="submit"].button:hover,
.woocommerce a.button:hover { background: var(--bp-primary); color: #fff; }
.woocommerce .button.alt,
.woocommerce input[type="submit"].alt,
.woocommerce a.button.alt {
	background: var(--bp-primary);
	color: #fff;
	box-shadow: 0 8px 20px rgba(230,48,39,.25);
}
.woocommerce .button.alt:hover { background: var(--bp-primary-deep); }

/* Checkout */
.woocommerce form .form-row {
	margin-bottom: 1rem;
}
.woocommerce form .form-row label {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.82rem;
	color: var(--bp-plum);
	letter-spacing: 0.04em;
	margin-bottom: 6px;
	display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-selection,
.woocommerce form .form-row select {
	width: 100%;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-md);
	padding: 12px 14px !important;
	font-family: var(--ff-body);
	font-size: 0.95rem;
	background: #fff;
	color: var(--bp-ink);
	transition: border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--bp-primary); outline: none; box-shadow: 0 0 0 3px rgba(230,48,39,0.12); }

.woocommerce-checkout #payment {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-lg);
}
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--bp-line);
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: transparent;
	padding: 16px 18px;
	border-radius: 0;
	margin: 0;
	border-bottom: 1px solid var(--bp-line);
}
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li label {
	font-family: var(--ff-display);
	font-weight: 600;
	color: var(--bp-plum);
	font-size: 0.95rem;
}
.woocommerce-checkout #payment ul.payment_methods img { max-height: 28px; vertical-align: middle; margin-left: 8px; }
.woocommerce-checkout #payment .payment_box {
	background: var(--bp-cream-soft) !important;
	color: var(--bp-ink-soft);
	font-size: 0.9rem;
	padding: 14px 16px !important;
	margin: 12px 0 0 !important;
	border-radius: var(--r-md);
}
.woocommerce-checkout #payment .payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row.place-order {
	padding: 18px;
}
.woocommerce-checkout #place_order {
	background: var(--bp-primary) !important;
	width: 100%;
	padding: 16px !important;
	font-size: 1rem !important;
	box-shadow: 0 10px 24px rgba(230,48,39,.3) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	border-radius: var(--r-md);
	border: 0;
	padding: 14px 18px 14px 60px !important;
	font-family: var(--ff-body);
	box-shadow: var(--shadow-1);
}
.woocommerce-message { background: #FFF3F2; color: var(--bp-plum); border-left: 4px solid var(--bp-primary); }
.woocommerce-info     { background: var(--bp-cream); color: var(--bp-plum); border-left: 4px solid var(--bp-gold); }
.woocommerce-error    { background: #FFE9E7; color: var(--bp-plum); border-left: 4px solid var(--bp-primary); }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--bp-primary) !important;
	left: 18px !important;
	top: 50% !important;
	transform: translateY(-50%);
}

/* Payment instructions thank you page */
.bp-payment-instructions {
	background: var(--bp-cream);
	border: 1px solid var(--bp-line);
	border-left: 4px solid var(--bp-primary);
	border-radius: var(--r-md);
	padding: 1.25rem 1.5rem;
	margin: 1.5rem 0;
}
.bp-payment-instructions h2 { font-size: 1.15rem; color: var(--bp-plum); margin: 0 0 12px; }
.bp-payment-instructions dt { font-family: var(--ff-display); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bp-muted); }
.bp-payment-instructions dd { font-family: var(--ff-display); font-weight: 800; font-size: 1.15rem; color: var(--bp-plum); margin: 4px 0 12px; }
.bp-payment-instructions p { color: var(--bp-ink-soft); font-size: 0.95rem; margin: 0; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation { background: var(--bp-cream); border-radius: var(--r-md); padding: 0.5rem; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 14px;
	color: var(--bp-plum);
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.9rem;
	border-radius: var(--r-sm);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #fff; color: var(--bp-primary); }

/* ============================================================
 * Single product — refined layout
 * ============================================================ */

/* Brand eyebrow above the title */
.woocommerce div.product .summary > .bp-product-page__eyebrow {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--bp-primary);
	margin: 0 0 0.6rem;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.woocommerce div.product .summary > .bp-product-page__eyebrow::before {
	content: "";
	width: 28px;
	height: 1px;
	background: var(--bp-primary);
	display: inline-block;
}

/* Gallery refinements */
.woocommerce div.product .woocommerce-product-gallery {
	background: linear-gradient(160deg, var(--bp-cream-soft) 0%, var(--bp-cream) 100%);
	border-radius: var(--r-lg);
	padding: clamp(1rem, 2.4vw, 2rem);
}
.woocommerce div.product .woocommerce-product-gallery img {
	border-radius: var(--r-md);
	box-shadow: 0 6px 30px rgba(42, 10, 24, 0.06);
}
.woocommerce div.product .flex-control-thumbs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 1rem 0 0 !important;
	padding: 0 !important;
}
.woocommerce div.product .flex-control-thumbs li {
	width: 64px !important;
	float: none !important;
	margin: 0 !important;
	border-radius: var(--r-sm);
	overflow: hidden;
	border: 1px solid var(--bp-line);
	cursor: pointer;
	transition: border-color var(--dur-1) var(--ease-out);
}
.woocommerce div.product .flex-control-thumbs li img {
	border-radius: 0 !important;
	box-shadow: none !important;
	opacity: 0.7;
	transition: opacity var(--dur-1) var(--ease-out);
}
.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li:hover img { opacity: 1; }
.woocommerce div.product .flex-control-thumbs li.flex-active-slide,
.woocommerce div.product .flex-control-thumbs li:has(img.flex-active) { border-color: var(--bp-primary); }

/* Make the summary feel more deliberate */
.woocommerce div.product .summary {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.woocommerce div.product .summary > * { margin-top: 0; margin-bottom: 0; }
.woocommerce div.product .product_title {
	margin: 0 0 1rem !important;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem);
	line-height: 1.15;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { margin: 0 0 1.25rem !important; font-size: 1.7rem; line-height: 1; }
.woocommerce div.product .woocommerce-product-details__short-description {
	margin: 0 0 1.5rem;
}

/* Four-field spec grid (above variation form) */
.bp-spec-grid {
	margin: 0.5rem 0 1.75rem;
	padding: 1.25rem;
	background: var(--bp-cream-soft);
	border: 1px solid var(--bp-line);
	border-radius: var(--r-md);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 22px;
}
@media (max-width: 480px) {
	.bp-spec-grid { grid-template-columns: 1fr; padding: 1rem; gap: 12px; }
}
.bp-spec {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	min-width: 0;
}
.bp-spec__icon {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #fff;
	color: var(--bp-primary);
	border: 1px solid var(--bp-line);
}
.bp-spec__text { min-width: 0; flex: 1; }
.bp-spec dt {
	font-family: var(--ff-display);
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bp-muted);
	font-weight: 600;
	margin: 0 0 2px;
}
.bp-spec dd {
	margin: 0;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.98rem;
	color: var(--bp-plum);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

/* Variation form — convert dropdown to pill UI via CSS + lightweight enhancement */
.woocommerce div.product form.cart {
	margin: 0 0 1.25rem;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-md);
	display: block;
	flex-wrap: initial;
}
.woocommerce div.product form.variations_form table.variations {
	width: 100%;
	margin: 0 0 1rem;
}
.woocommerce div.product form.variations_form table.variations,
.woocommerce div.product form.variations_form table.variations tbody,
.woocommerce div.product form.variations_form table.variations tr,
.woocommerce div.product form.variations_form table.variations td,
.woocommerce div.product form.variations_form table.variations th {
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
}
.woocommerce div.product form.variations_form table.variations tr + tr { margin-top: 12px; }
.woocommerce div.product form.variations_form table.variations label {
	font-family: var(--ff-display);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--bp-muted);
	margin-bottom: 8px;
	display: block;
}
.woocommerce div.product form.variations_form .reset_variations {
	display: inline-block;
	margin: 8px 0 0;
	font-family: var(--ff-display);
	font-size: 0.78rem;
	color: var(--bp-muted);
	text-decoration: underline dotted;
}
.woocommerce div.product form.variations_form .reset_variations:hover { color: var(--bp-primary); }
.woocommerce div.product form.variations_form select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-md);
	background: var(--bp-cream-soft);
	font-family: var(--ff-display);
	font-weight: 600;
	color: var(--bp-plum);
	cursor: pointer;
}

/* Pill-style size selector (rendered by JS — bp-variant-pills) */
.bp-variant-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bp-variant-pills__pill {
	appearance: none;
	background: var(--bp-cream-soft);
	border: 1.5px solid var(--bp-line);
	border-radius: var(--r-md);
	padding: 12px 16px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--bp-plum);
	cursor: pointer;
	min-width: 64px;
	text-align: center;
	transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}
.bp-variant-pills__pill small {
	font-weight: 500;
	font-size: 0.72rem;
	color: var(--bp-muted);
	letter-spacing: 0.04em;
}
.bp-variant-pills__pill:hover { border-color: var(--bp-plum); transform: translateY(-1px); }
.bp-variant-pills__pill[aria-pressed="true"] {
	border-color: var(--bp-primary);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(230, 48, 39, 0.10);
}
.bp-variant-pills__pill[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* Variation single price + stock readout */
.woocommerce div.product .woocommerce-variation { margin: 12px 0 14px; }
.woocommerce div.product .woocommerce-variation-price .price {
	font-size: 1.4rem !important;
	margin: 0 !important;
}
.woocommerce div.product .woocommerce-variation-availability { font-family: var(--ff-display); font-size: 0.85rem; color: var(--bp-ink-soft); }

/* Add to cart — bigger, more confident button */
.woocommerce div.product form.cart .quantity {
	border-radius: var(--r-md);
}
.woocommerce div.product .single_add_to_cart_button {
	flex: 1 1 200px;
	min-width: 180px;
	padding: 18px 24px !important;
	font-size: 0.95rem !important;
	border-radius: var(--r-md) !important;
}
.woocommerce div.product form.cart > .quantity,
.woocommerce div.product form.cart > .single_add_to_cart_button,
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	gap: 12px;
	align-items: stretch;
	flex-wrap: wrap;
}
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .quantity { flex: 0 0 auto; }
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 200px; min-width: 180px; }

/* Buy Now — secondary action sitting beside Add to Cart */
.woocommerce div.product form.cart .bp-buy-now,
.woocommerce div.product form.cart button.bp-buy-now {
	flex: 1 1 200px;
	min-width: 180px;
	padding: 18px 24px !important;
	font-size: 0.95rem !important;
	border-radius: var(--r-md) !important;
	background: var(--bp-plum) !important;
	color: #fff !important;
	font-family: var(--ff-display);
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	border: 0 !important;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(42, 10, 24, 0.25);
	transition: background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.woocommerce div.product form.cart .bp-buy-now:hover,
.woocommerce div.product form.cart button.bp-buy-now:hover {
	background: var(--bp-plum-soft) !important;
	box-shadow: 0 12px 28px rgba(42, 10, 24, 0.35) !important;
	transform: translateY(-1px);
}
.woocommerce div.product form.cart .bp-buy-now:focus-visible,
.woocommerce div.product form.cart button.bp-buy-now:focus-visible {
	outline: 2px solid var(--bp-primary);
	outline-offset: 3px;
}
.woocommerce div.product form.cart .bp-buy-now[disabled],
.woocommerce div.product form.cart button.bp-buy-now.disabled,
.woocommerce div.product form.cart button.bp-buy-now[disabled] {
	background: var(--bp-line) !important;
	color: var(--bp-muted) !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	transform: none !important;
	opacity: 0.7;
}
.woocommerce div.product form.cart button.bp-buy-now[disabled]:hover {
	background: var(--bp-line) !important;
	transform: none !important;
}

/* Trust strip below cart */
.bp-product-page__trust {
	list-style: none;
	margin: 1rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--bp-line);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bp-product-page__trust li {
	display: flex;
	gap: 10px;
	align-items: center;
	font-family: var(--ff-display);
	font-size: 0.88rem;
	color: var(--bp-ink-soft);
}
.bp-product-page__trust li .bp-icon { color: var(--bp-primary); flex-shrink: 0; }

/* Tab panel content readability */
.woocommerce div.product .woocommerce-tabs .panel h2:first-of-type { display: none; }
.woocommerce div.product .woocommerce-tabs .panel p {
	font-family: var(--ff-serif);
	font-size: 1.05rem;
	color: var(--bp-ink);
	max-width: 70ch;
	margin: 0 0 1rem;
}

/* Note pyramid (Exit / Heart / Background) */
.bp-notes {
	margin: 2.5rem 0 0;
	padding: 2rem clamp(1rem, 2.4vw, 2rem);
	background: linear-gradient(180deg, var(--bp-cream-soft) 0%, #fff 100%);
	border: 1px solid var(--bp-line);
	border-radius: var(--r-lg);
}
.bp-notes__title {
	font-family: var(--ff-display);
	font-weight: 800;
	color: var(--bp-plum);
	font-size: clamp(1.3rem, 1rem + 1vw, 1.75rem);
	margin: 0 0 0.4rem;
	letter-spacing: -0.01em;
}
.bp-notes__lede {
	font-family: var(--ff-serif);
	color: var(--bp-ink-soft);
	font-size: 1rem;
	margin: 0 0 1.75rem;
	max-width: 60ch;
}
.bp-notes__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
}
@media (max-width: 880px) { .bp-notes__grid { grid-template-columns: 1fr; } }
.bp-notes__col {
	background: #fff;
	border: 1px solid var(--bp-line);
	border-radius: var(--r-md);
	padding: 1.25rem;
	position: relative;
}
.bp-notes__col h4 {
	font-family: var(--ff-display);
	font-weight: 700;
	color: var(--bp-plum);
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 6px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.bp-notes__col h4::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	background: var(--bp-primary);
}
.bp-notes__col--top    { border-top: 3px solid var(--bp-peach); }
.bp-notes__col--heart  { border-top: 3px solid var(--bp-primary); }
.bp-notes__col--base   { border-top: 3px solid var(--bp-plum); }
.bp-notes__caption {
	font-family: var(--ff-serif);
	color: var(--bp-ink-soft);
	font-size: 0.92rem !important;
	margin: 0 0 1rem !important;
	max-width: none !important;
	font-style: italic;
}
.bp-notes__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
@media (max-width: 480px) { .bp-notes__list { grid-template-columns: 1fr; } }
.bp-note {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px;
	border-radius: var(--r-sm);
	background: var(--bp-cream-soft);
	border: 1px solid transparent;
	transition: border-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.86rem;
	color: var(--bp-plum);
}
.bp-note:hover { border-color: var(--bp-line); transform: translateY(-1px); }
.bp-note--citrus { background: #FFF7E5; }
.bp-note--fruity { background: #FFEAE3; }
.bp-note--floral { background: #FDE7E0; }
.bp-note--spicy  { background: #F6E3E1; }
.bp-note--woody  { background: #F2EAD9; }
.bp-note--amber  { background: #F8EFD9; }
.bp-note-icon { flex: 0 0 32px; }

/* Related products — clean editorial grid */
.bp-related {
	grid-column: 1 / -1;
	margin-top: clamp(2rem, 4vw, 3.5rem);
	padding-top: clamp(2rem, 4vw, 3.5rem);
	border-top: 1px solid var(--bp-line);
}
.bp-related__head { margin: 0 0 1.5rem; text-align: center; }
.bp-related__eyebrow {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.78rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--bp-primary);
	margin: 0 0 0.4rem;
}
.bp-related__title {
	font-family: var(--ff-display);
	font-weight: 800;
	color: var(--bp-plum);
	font-size: clamp(1.35rem, 1rem + 1vw, 1.75rem);
	margin: 0;
	letter-spacing: -0.01em;
}
.bp-related ul.products {
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 0;
}
@media (max-width: 880px) { .bp-related ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .bp-related ul.products { grid-template-columns: 1fr; } }

/* Hide the default heading rendered by woocommerce_template_loop_product_link_open */
.bp-related h2.woocommerce-loop-product__title { display: block; }

/* Hide the default WC related <h2> "Related products" if any other path renders it */
.related.products > h2:not(.bp-related__title),
.up-sells.products > h2 { display: none; }
