:root {
	--bpf-gold: #c6932f;
	--bpf-gold-dark: #8d6419;
	--bpf-secondary: #e2ad2f;
	--bpf-secondary-dark: #b98212;
	--bpf-ink: #191512;
	--bpf-paper: #fffdfa;
	--bpf-line: #e4ddd2;
}

.bpf-market-switcher {
	display: flex;
	justify-content: center;
	gap: .5rem;
	margin: 1rem auto 2rem;
	font-size: 1rem;
}

.bpf-market-switcher a {
	border: 1px solid var(--bpf-line);
	border-radius: 999px;
	color: var(--bpf-ink);
	padding: .7rem 1.1rem;
	text-decoration: none;
}

.bpf-market-switcher a.is-active {
	background: var(--bpf-ink);
	border-color: var(--bpf-ink);
	color: #fff;
}

.bpf-market-note {
	color: #5d554d;
	font-size: .9rem;
	margin: -1.2rem auto 2rem;
	max-width: 48rem;
	text-align: center;
}

.bpf-shop-identity {
	align-items: center;
	background: #fff;
	display: flex;
	flex-direction: column;
	padding: 1.2rem 1.5rem 2.3rem;
	position: relative;
	z-index: 2;
}

.bpf-shop-identity-logo {
	display: block;
	max-width: min(512px, 82vw);
	width: 100%;
}

.bpf-shop-identity-logo img {
	display: block;
	height: auto;
	width: 100%;
}

.bpf-shop-identity-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2.6rem;
	justify-content: center;
	margin-top: 3.1rem;
}

.bpf-shop-identity-nav a {
	color: var(--bpf-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1rem;
	font-style: italic;
	text-decoration: none;
	transition: color .2s ease;
}

.bpf-shop-identity-nav a:hover,
.bpf-shop-identity-nav a:focus,
.bpf-shop-identity-nav a.is-shop-link {
	color: var(--bpf-gold);
}

.bpf-shop-identity-nav a.is-cart-link,
.bpf-market-switcher a.bpf-cart-link {
	border-color: var(--bpf-gold);
	color: var(--bpf-gold-dark);
}

.bpf-shop-context .site-footer {
	display: none !important;
}

.bpf-shop-footer {
	background: #fff;
	border-top: 1px solid var(--bpf-line);
	color: var(--bpf-gold);
	font-family: Georgia, "Times New Roman", serif;
	padding: 2.2rem clamp(1rem, 4vw, 4rem) 1.4rem;
	text-align: center;
}

.bpf-shop-footer-social {
	display: flex;
	gap: clamp(3rem, 8vw, 9rem);
	justify-content: center;
	margin-bottom: 1.25rem;
}

.bpf-shop-footer-social a {
	align-items: center;
	color: var(--bpf-gold);
	display: inline-flex;
	font-family: Arial, sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	height: 1.6rem;
	justify-content: center;
	text-decoration: none;
	width: 1.6rem;
}

.bpf-shop-footer-address {
	font-size: .9rem;
	letter-spacing: .07em;
	margin: 0 auto 2rem;
}

.bpf-shop-footer-bottom {
	align-items: center;
	display: flex;
	font-size: .76rem;
	justify-content: space-between;
	text-align: left;
}

.bpf-shop-footer-bottom p {
	margin: 0;
}

.bpf-shop-footer-bottom nav {
	display: flex;
	gap: 2rem;
}

.bpf-shop-footer-bottom a {
	color: var(--bpf-gold);
	text-decoration: none;
}

.woocommerce-message .bpf-view-cart-button {
	float: right;
	margin-left: 1rem;
}

.bpf-catalog ul.products {
	display: grid !important;
	gap: var(--bpf-catalog-gap, 28px) !important;
	grid-template-columns: repeat(var(--bpf-catalog-columns, 3), minmax(0, 1fr)) !important;
	margin: 0 !important;
}

.bpf-catalog ul.products::before,
.bpf-catalog ul.products::after {
	display: none !important;
}

.bpf-catalog ul.products li.product {
	float: none !important;
	margin: 0 !important;
	width: auto !important;
}

.bpf-catalog ul.products li.product img {
	aspect-ratio: auto !important;
	height: var(--bpf-catalog-image-height, 420px) !important;
	margin: 0 0 1rem !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
	width: 100% !important;
}

.woocommerce ul.products li.product {
	background: var(--bpf-paper);
	border: 1px solid var(--bpf-line);
	border-radius: .4rem;
	padding: 1.1rem;
	transition: box-shadow .2s ease, transform .2s ease;
}

.woocommerce ul.products li.product:hover {
	box-shadow: 0 1rem 2.5rem rgba(33, 24, 15, .1);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product img {
	background: #fff;
	border-radius: .2rem;
	aspect-ratio: 4 / 5;
	object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
	color: var(--bpf-ink);
	font-family: Georgia, "Times New Roman", serif;
	line-height: 1.25;
}

.bpf-catalog ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	padding: .65rem 0 .25rem !important;
}

.bpf-catalog ul.products li.product .price {
	font-size: .92rem !important;
	line-height: 1.35;
}

.bpf-catalog ul.products li.product .out-of-stock,
.bpf-catalog ul.products li.product .out-of-stock-badge,
.bpf-catalog ul.products li.product .stock.out-of-stock {
	font-size: .82rem !important;
	font-weight: 600 !important;
	letter-spacing: .02em;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	color: var(--bpf-gold-dark);
	font-weight: 700;
}

.bpf-usd-reference {
	color: #68615a;
	display: block;
	font-size: .82rem;
	font-weight: 400;
	margin-top: .2rem;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--bpf-gold);
	border-radius: .25rem;
	color: #17120b;
	font-weight: 700;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--bpf-gold-dark);
	color: #fff;
}

.bpf-confirmation {
	background: #f8f5ef;
	border: 1px solid var(--bpf-line);
	border-radius: .3rem;
	padding: .85rem 1rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	font-size: 1rem;
	min-height: 2.8rem;
}

/* Messages et actions du panier / de la commande aux couleurs BPF. */
body.bpf-shop-context .woocommerce-message,
body.bpf-shop-context .woocommerce-info {
	background: var(--bpf-secondary) !important;
	border: 0 !important;
	color: #17120b !important;
	font-size: .92rem;
	line-height: 1.5;
}

body.bpf-shop-context .woocommerce-message::before,
body.bpf-shop-context .woocommerce-info::before,
body.bpf-shop-context .woocommerce-message a,
body.bpf-shop-context .woocommerce-info a {
	color: #17120b !important;
}

body.bpf-shop-context .woocommerce-cart-form button.button,
body.bpf-shop-context .woocommerce-cart-form .coupon button.button,
body.bpf-shop-context .cart_totals .wc-proceed-to-checkout a.checkout-button,
body.bpf-shop-context .woocommerce-checkout #place_order,
body.bpf-shop-context .woocommerce-form-coupon button.button {
	background: var(--bpf-secondary) !important;
	border: 1px solid var(--bpf-secondary) !important;
	border-radius: 2px !important;
	color: #17120b !important;
	font-size: .92rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	min-height: 46px;
	padding: .75rem 1.2rem !important;
	text-transform: none !important;
}

body.bpf-shop-context .woocommerce-cart-form button.button:hover,
body.bpf-shop-context .woocommerce-cart-form .coupon button.button:hover,
body.bpf-shop-context .cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
body.bpf-shop-context .woocommerce-checkout #place_order:hover,
body.bpf-shop-context .woocommerce-form-coupon button.button:hover {
	background: var(--bpf-secondary-dark) !important;
	border-color: var(--bpf-secondary-dark) !important;
	color: #fff !important;
}

body.bpf-shop-context .woocommerce-cart-form button.button:disabled,
body.bpf-shop-context .woocommerce-cart-form button.button:disabled[disabled] {
	background: rgba(226, 173, 47, .48) !important;
	border-color: rgba(226, 173, 47, .2) !important;
	color: rgba(23, 18, 11, .65) !important;
	opacity: 1 !important;
}

body.bpf-shop-context .cart_totals .wc-proceed-to-checkout a.checkout-button {
	align-items: center;
	display: inline-flex !important;
	height: auto !important;
	justify-content: center;
	min-width: 210px;
	white-space: nowrap;
}

body.bpf-shop-context .woocommerce-message .button,
body.bpf-shop-context .woocommerce-info .button {
	background: transparent !important;
	border: 1px solid #17120b !important;
	border-radius: 2px !important;
	color: #17120b !important;
	font-size: .84rem !important;
	font-weight: 600 !important;
	padding: .5rem .8rem !important;
}

/* Fiche produit WooCommerce : proportions plus sobres et bouteilles non recadrées. */
.single-product .shop-container {
	max-width: 1180px;
}

.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image {
	background: #fff;
}

.single-product div.product .woocommerce-product-gallery__image img {
	aspect-ratio: auto !important;
	height: min(68vh, 620px) !important;
	max-height: 620px !important;
	object-fit: contain !important;
	object-position: center center !important;
	width: 100% !important;
}

.single-product div.product .product_title {
	font-size: clamp(1.75rem, 2.5vw, 2.5rem) !important;
	line-height: 1.15 !important;
	margin-bottom: 1rem !important;
}

.single-product div.product .summary .price {
	font-size: 1.25rem !important;
	margin-bottom: 1.25rem !important;
}

.single-product div.product .woocommerce-product-details__short-description {
	font-size: 1rem;
	line-height: 1.6;
}

.single-product div.product .stock,
.single-product div.product .product_meta {
	font-size: .88rem;
}

.single-product div.product form.cart .single_add_to_cart_button {
	background: var(--bpf-gold) !important;
	color: #17120b !important;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
	background: var(--bpf-gold-dark) !important;
	color: #fff !important;
}

.single-product .woocommerce-tabs {
	padding-top: 1.5rem;
}

.single-product .related.products {
	clear: both;
	padding-top: 2rem;
}

.single-product .related.products > h2 {
	font-size: clamp(1.55rem, 2vw, 2rem) !important;
	line-height: 1.2;
}

.single-product .related.products ul.products li.product img {
	aspect-ratio: auto !important;
	height: 300px !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
	width: 100% !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.08rem !important;
	line-height: 1.3 !important;
}

.woocommerce.post-type-archive-product ul.products li.product img,
.woocommerce.tax-product_cat ul.products li.product img,
.woocommerce.tax-product_tag ul.products li.product img {
	aspect-ratio: auto !important;
	height: 320px !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
	width: 100% !important;
}

.woocommerce.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.woocommerce.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.woocommerce.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

@media (min-width: 769px) {
	.single-product div.product div.images.woocommerce-product-gallery {
		width: 39% !important;
	}

	.single-product div.product div.summary {
		width: 56% !important;
	}
}

@media (max-width: 640px) {
	.bpf-shop-identity {
		padding: 1rem 1rem 1.5rem;
	}

	.bpf-shop-identity-logo {
		max-width: min(440px, 92vw);
	}

	.bpf-shop-identity-nav {
		gap: .7rem 1.2rem;
		margin-top: 1.6rem;
	}

	.bpf-shop-identity-nav a {
		font-size: .92rem;
	}

	.bpf-shop-footer {
		padding: 1.8rem 1rem 1.2rem;
	}

	.bpf-shop-footer-address {
		font-size: .8rem;
		line-height: 1.6;
	}

	.bpf-shop-footer-bottom {
		align-items: center;
		flex-direction: column;
		gap: 1rem;
		text-align: center;
	}

	.bpf-shop-footer-bottom nav {
		gap: 1.2rem;
	}

	.woocommerce-message .bpf-view-cart-button {
		display: block;
		float: none;
		margin: .8rem 0 0;
		text-align: center;
	}

	.bpf-market-switcher {
		align-items: stretch;
		flex-direction: column;
		text-align: center;
	}

	.bpf-catalog ul.products {
		grid-template-columns: 1fr !important;
	}

	.bpf-catalog ul.products li.product img {
		height: min(var(--bpf-catalog-image-height, 420px), 70vh) !important;
	}

	.bpf-catalog ul.products li.product .woocommerce-loop-product__title {
		font-size: 1rem !important;
	}

	.single-product div.product .woocommerce-product-gallery__image img {
		height: min(62vh, 480px) !important;
	}

	.single-product .related.products ul.products li.product img {
		height: 280px !important;
	}

	.woocommerce.post-type-archive-product ul.products li.product img,
	.woocommerce.tax-product_cat ul.products li.product img,
	.woocommerce.tax-product_tag ul.products li.product img {
		height: 280px !important;
	}
}

@media (min-width: 641px) and (max-width: 1024px) {
	.bpf-catalog ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
