/* ==========================================================================
   Beauty Art Vidy — main stylesheet (child of Astra)
   1. Tokens          5. Hero              9.  Product cards
   2. Typography      6. Breadcrumbs       10. Single product
   3. Buttons/forms   7. Front page        11. Cart / checkout
   4. Header & menu   8. Catalog layout    12. Account
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--bav-teal: #078087;
	--bav-teal-overlay: rgba(7, 128, 135, .5);
	--bav-accent: #269fb7;
	--bav-ink: #111;
	--bav-text: rgba(0, 0, 0, .72);
	--bav-muted: rgba(0, 0, 0, .5);
	--bav-line: #e8e8e8;
	--bav-soft: #f7f8f8;
	--bav-white: #fff;
	--bav-sale: #c0392b;

	--bav-sans: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;

	--bav-fs-body: .9375rem;                          /* 15px */
	--bav-fs-small: .8125rem;                         /* 13px */
	--bav-fs-h1: clamp(1.625rem, 1.35rem + 1.1vw, 2.25rem);
	--bav-fs-h2: clamp(1.375rem, 1.2rem + .7vw, 1.75rem);
	--bav-fs-h3: clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);
	--bav-fs-h4: 1.0625rem;
	--bav-fs-h5: .9375rem;
	--bav-fs-h6: .8125rem;
	--bav-tracking: .01em;

	--bav-radius: 4px;
	--bav-shadow: 0 10px 30px rgba(0, 0, 0, .08);
	--bav-shadow-hover: 0 14px 40px rgba(0, 0, 0, .14);
	--bav-gap: clamp(1rem, .6rem + 1.6vw, 2rem);
	--bav-section: clamp(2rem, 1.5rem + 2vw, 3.5rem);
	--bav-header-h: 84px;                             /* transparent header height (single row), desktop */
}

@media (max-width: 921px) {
	:root { --bav-header-h: 72px; }
}

/* 2. Typography ------------------------------------------------------------ */
body,
button,
input,
select,
textarea {
	font-family: var(--bav-sans);
}

body {
	font-size: var(--bav-fs-body);
	font-weight: 400;
	line-height: 1.6;
	color: var(--bav-text);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-content :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--bav-sans);
	font-weight: 600;
	text-transform: none;
	letter-spacing: var(--bav-tracking);
	line-height: 1.25;
	color: var(--bav-ink);
}

h1, .entry-content h1 { font-size: var(--bav-fs-h1); }
h2, .entry-content h2 { font-size: var(--bav-fs-h2); }
h3, .entry-content h3 { font-size: var(--bav-fs-h3); }
h4, .entry-content h4 { font-size: var(--bav-fs-h4); }
h5, .entry-content h5 { font-size: var(--bav-fs-h5); }
h6, .entry-content h6 { font-size: var(--bav-fs-h6); }

a { color: var(--bav-accent); }
a:hover, a:focus { color: var(--bav-ink); }

.bav-eyebrow {
	margin: 0 0 .4em;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--bav-accent);
	text-transform: uppercase;
	letter-spacing: .14em;
}

.bav-prose,
.entry-content {
	max-width: 100%;
}

.bav-prose > *,
.page .entry-content > :where(p, ul, ol, h2, h3, h4, blockquote) {
	max-width: 46rem;
}

.bav-prose > * {
	margin-inline: auto;
}

.bav-home .bav-prose {
	margin-bottom: calc(var(--bav-section) / 2);
}

.bav-home .bav-prose > :last-child {
	margin-bottom: 0;
}

.entry-content ul.is-style-checks {
	padding: 0;
	list-style: none;
}

.entry-content ul.is-style-checks li {
	position: relative;
	padding-left: 1.5em;
}

.entry-content ul.is-style-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: .55em;
	height: .55em;
	border-radius: 50%;
	background: var(--bav-accent);
}

/* 3. Buttons & forms ------------------------------------------------------- */
.button,
button,
input[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-family: var(--bav-sans);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	border-radius: var(--bav-radius);
	transition: background-color .2s, color .2s, box-shadow .2s;
}

.bav-button--light,
.woocommerce a.button.bav-button--light {
	background: var(--bav-white);
	color: var(--bav-ink);
	border: 0;
}

.bav-button--light:hover,
.woocommerce a.button.bav-button--light:hover {
	background: var(--bav-ink);
	color: var(--bav-white);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="url"],
select,
textarea {
	font-family: var(--bav-sans);
	font-size: .9375rem;
	border-color: var(--bav-line);
	border-radius: var(--bav-radius);
}

label,
.woocommerce form .form-row label {
	font-family: var(--bav-sans);
	font-size: var(--bav-fs-small);
	font-weight: 500;
	letter-spacing: .02em;
}

/* 4. Header & menu --------------------------------------------------------- */
.main-header-menu .menu-link,
.ast-header-account-wrap,
.ast-builder-menu-mobile .menu-link {
	font-family: var(--bav-sans);
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
}

/* "Pour RDV" — add the CSS class "bav-menu-cta" to the menu item */
.ast-desktop .main-header-menu > .bav-menu-cta > .menu-link {
	padding-inline: 1.1em;
	border: 1px solid currentColor;
	border-radius: var(--bav-radius);
	line-height: 2.4;
	margin-block: auto;
	height: auto;
}

/* Mega menu — add the CSS class "bav-mega" to the "Boutique" menu item */
@media (min-width: 922px) {
	.ast-desktop .main-header-menu .bav-mega {
		position: static;
	}

	.ast-desktop .main-header-menu .bav-mega > .sub-menu {
		display: grid;
		grid-template-columns: repeat(var(--bav-mega-cols, 3), minmax(0, 1fr));
		align-items: start;
		gap: 0 2rem;
		left: 50% !important;
		right: auto !important;
		width: min(960px, calc(100vw - 4rem));
		padding: 1.5rem 1.75rem;
		transform: translateX(-50%);
		background: var(--bav-white);
		border-top: 2px solid var(--bav-accent);
		box-shadow: var(--bav-shadow);
	}

	.ast-desktop .main-header-menu .bav-mega > .sub-menu > .menu-item {
		display: block;
		width: auto;
	}

	.ast-desktop .main-header-menu .bav-mega > .sub-menu > .menu-item > .menu-link {
		padding: 0 0 .6rem;
		margin-bottom: .6rem;
		border-bottom: 1px solid var(--bav-line);
		font-weight: 600;
		color: var(--bav-ink);
	}

	.ast-desktop .main-header-menu .bav-mega .sub-menu .sub-menu {
		position: static;
		visibility: inherit;
		opacity: inherit;
		display: block;
		width: auto;
		padding: 0;
		border: 0;
		box-shadow: none;
		background: none;
		transform: none;
	}

	.ast-desktop .main-header-menu .bav-mega .sub-menu .sub-menu .menu-link {
		padding: .3rem 0;
		border: 0;
		font-family: var(--bav-sans);
		font-size: .8125rem;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
		color: var(--bav-text);
	}

	.ast-desktop .main-header-menu .bav-mega .sub-menu .menu-link:hover {
		color: var(--bav-accent);
	}

	.ast-desktop .main-header-menu .bav-mega .sub-menu .ast-icon,
	.ast-desktop .main-header-menu .bav-mega .sub-menu .dropdown-menu-toggle {
		display: none;
	}
}

/* 5. Hero ------------------------------------------------------------------ */
.bav-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	padding: calc(var(--bav-header-h) + 1.75rem) 1.25rem 2.25rem;
	overflow: hidden;
	color: var(--bav-white);
	text-align: center;
	isolation: isolate;
}

.bav-hero .bav-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.bav-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--bav-teal-overlay);
}

.bav-hero__inner {
	width: min(100%, 60rem);
}

.bav-hero__eyebrow {
	margin: 0 0 .5em;
	font-family: var(--bav-sans);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	line-height: 1.2;
	color: rgba(255, 255, 255, .85);
}

.bav-hero__title {
	margin: 0;
	font-size: var(--bav-fs-h1);
	font-weight: 500;
	color: var(--bav-white);
	text-wrap: balance;
}

.bav-hero__search {
	width: min(100%, 34rem);
	margin: 1.25rem auto 0;
}

.bav-hero--compact {
	padding-bottom: 1.75rem;
}

.bav-hero--compact .bav-hero__title {
	font-size: var(--bav-fs-h2);
}

.bav-hero--home {
	padding-bottom: 2.25rem;
}

.bav-hero--home .bav-hero__bg {
	object-position: 30% center;
}

.bav-hero--home::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, .1) 45%, rgba(0, 0, 0, .35) 100%);
}

/* Advanced Woo Search inside the hero */
.bav-hero .aws-container {
	width: 100%;
	margin: 0;
}

.bav-hero .aws-container .aws-search-field {
	height: 44px;
	padding-inline: 1.25rem;
	font-family: var(--bav-sans);
	font-size: .9375rem;
	border: 0;
	border-radius: var(--bav-radius);
	box-shadow: 0 6px 24px rgba(0, 0, 0, .15);
}

/* 6. Breadcrumbs ----------------------------------------------------------- */
.bav-crumbs {
	padding: .9rem 0;
	border-bottom: 1px solid var(--bav-line);
	font-family: var(--bav-sans);
	font-size: var(--bav-fs-small);
	color: var(--bav-muted);
}

.bav-crumbs a {
	color: var(--bav-muted);
	text-decoration: none;
}

.bav-crumbs a:hover {
	color: var(--bav-accent);
}

.bav-crumbs__sep {
	margin-inline: .6em;
	opacity: .5;
}

/* 7. Front page ------------------------------------------------------------ */
.bav-home {
	width: 100%;
}

#primary.bav-home {
	margin-top: 1.25rem;
}

.bav-section {
	margin-block: var(--bav-section);
}

.bav-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 1.5rem;
	margin-bottom: 2rem;
}

.bav-section__head .bav-eyebrow {
	flex-basis: 100%;
}

.bav-section__title {
	margin: 0;
}

.bav-section__more {
	margin-left: auto;
	font-family: var(--bav-sans);
	font-size: var(--bav-fs-small);
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
}

.bav-brands {
	margin-block: 0;
}

.bav-brands__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Text left, product photo right */
.bav-brands__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 7.5rem;
	gap: 1rem;
	align-items: start;
	padding: 1.1rem 1.1rem 1.1rem 1.25rem;
	background: var(--bav-white);
	box-shadow: var(--bav-shadow);
	transition: box-shadow .25s;
}

.bav-brands__item:hover {
	box-shadow: var(--bav-shadow-hover);
}

.bav-brands__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.bav-brands__name {
	font-size: .9375rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--bav-ink);
}

.bav-brands__name:hover {
	color: var(--bav-accent);
}

.bav-brands__count {
	margin-top: .15rem;
	font-size: .75rem;
	color: var(--bav-muted);
}

.bav-brands__media {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--bav-radius);
}

.bav-brands__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.bav-brands__item:hover .bav-brands__media img {
	transform: scale(1.05);
}

.bav-brands__subs {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin: .8rem 0 0;
	padding: 0;
	list-style: none;
}

.bav-brands__subs a {
	display: inline-block;
	padding: .3em .75em;
	border: 1px solid var(--bav-line);
	border-radius: 999px;
	font-size: .75rem;
	line-height: 1.3;
	text-decoration: none;
	color: var(--bav-ink);
}

.bav-brands__subs a:hover {
	border-color: var(--bav-accent);
	color: var(--bav-accent);
}

.bav-band {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: clamp(3rem, 2rem + 4vw, 6rem) 1.25rem;
	background: var(--bav-band-img) center / cover no-repeat;
	color: var(--bav-white);
	text-align: center;
	isolation: isolate;
}

@media (min-width: 1025px) and (hover: hover) {
	.bav-band { background-attachment: fixed; }
}

.bav-band::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(0, 0, 0, .28);
}

.bav-band__inner {
	width: min(100%, 1200px);
	margin-inline: auto;
	padding-inline: 20px;
	text-align: left;
}

.bav-band__inner > * {
	max-width: 32rem;
}

.bav-band .button.bav-button--light {
	background: var(--bav-white);
	color: var(--bav-ink);
	border-color: var(--bav-white);
}

.bav-band .button.bav-button--light:hover {
	background: transparent;
	color: var(--bav-white);
}

.bav-band .bav-script {
	margin: 0;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	line-height: 1.2;
}

.bav-band__title {
	margin: .25em 0 1.5em;
	color: var(--bav-white);
}

/* 8. Catalog layout -------------------------------------------------------- */
@media (min-width: 922px) {
	.ast-left-sidebar.woocommerce #secondary,
	.ast-left-sidebar.woocommerce-page #secondary {
		width: 24%;
		padding-right: 2.5rem;
		border-right: 0;
	}

	.ast-left-sidebar.woocommerce #primary,
	.ast-left-sidebar.woocommerce-page #primary {
		width: 76%;
		padding-left: 0;
		border-left: 0;
	}

	.bav-chips__row--brands {
		display: none !important;
	}
}

@media (max-width: 921px) {
	.ast-left-sidebar.woocommerce #secondary,
	.ast-left-sidebar.woocommerce-page #secondary {
		display: none;
	}
}

.bav-catnav {
	position: sticky;
	top: 2rem;
	font-family: var(--bav-sans);
}

.bav-catnav .bav-catnav__title {
	margin: 0 0 1rem;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .14em;
}

.bav-catnav__list,
.bav-catnav__sub {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bav-catnav__item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	border-bottom: 1px solid var(--bav-line);
}

.bav-catnav__item details {
	width: 100%;
}

.bav-catnav__item summary {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	cursor: pointer;
	list-style: none;
}

.bav-catnav__item summary::-webkit-details-marker {
	display: none;
}

.bav-catnav__item summary::after {
	content: "";
	flex: none;
	width: .45rem;
	height: .45rem;
	margin-left: .25rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-.2rem) rotate(45deg);
	transition: transform .2s;
	color: var(--bav-muted);
}

.bav-catnav__item details[open] > summary::after {
	transform: translateY(.05rem) rotate(-135deg);
}

.bav-catnav__link {
	flex: 1;
	padding: .55rem 0;
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--bav-ink);
}

.bav-catnav__count {
	font-size: .6875rem;
	color: var(--bav-muted);
}

.bav-catnav__sub {
	padding: 0 0 .6rem .9rem;
	border-left: 1px solid var(--bav-line);
	margin-left: .1rem;
}

.bav-catnav__sub .bav-catnav__item {
	border: 0;
}

.bav-catnav__sub .bav-catnav__link {
	padding: .25rem 0;
	font-family: var(--bav-sans);
	font-size: .8125rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--bav-text);
}

.bav-catnav .is-current > .bav-catnav__link,
.bav-catnav .is-current > details > summary > .bav-catnav__link,
.bav-catnav__link:hover {
	color: var(--bav-accent);
}

.bav-catnav .is-current > .bav-catnav__link {
	font-weight: 600;
}

.bav-chips {
	width: 100%;
	margin-bottom: 1.5rem;
}

.bav-chips__row {
	display: flex;
	gap: .5rem;
	margin: 0 0 .6rem;
	padding: 0 0 .25rem;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

.bav-chips__row::-webkit-scrollbar {
	display: none;
}

.bav-chip {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	padding: .5em 1.1em;
	border: 1px solid var(--bav-line);
	border-radius: 999px;
	font-family: var(--bav-sans);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	text-decoration: none;
	color: var(--bav-ink);
	background: var(--bav-white);
}

.bav-chip span {
	color: var(--bav-muted);
}

.bav-chip:hover {
	border-color: var(--bav-accent);
	color: var(--bav-accent);
}

.bav-chip.is-active {
	border-color: var(--bav-ink);
	background: var(--bav-ink);
	color: var(--bav-white);
}

.bav-chip.is-active span {
	color: rgba(255, 255, 255, .6);
}

.woocommerce-result-count,
.woocommerce-ordering select {
	font-family: var(--bav-sans);
	font-size: var(--bav-fs-small);
}

.term-description,
.woocommerce-products-header {
	max-width: 46rem;
	margin-bottom: 1.5rem;
}

/* 9. Product cards --------------------------------------------------------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	text-align: left;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--bav-white);
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .4s ease;
}

.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img {
	transform: scale(1.04);
}

.woocommerce ul.products li.product .ast-woo-product-category {
	display: block;
	margin: .9rem 0 .3rem;
	font-family: var(--bav-sans);
	font-size: .6875rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bav-muted);
	opacity: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	min-height: 2.6em;
	margin-bottom: .4rem;
	overflow: hidden;
	font-family: var(--bav-sans);
	font-size: .875rem !important;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--bav-ink);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-Price-amount {
	font-family: var(--bav-sans);
}

.woocommerce ul.products li.product .price {
	font-size: .9375rem;
	font-weight: 600;
	color: var(--bav-ink);
}

.woocommerce ul.products li.product .price del {
	font-weight: 400;
	color: var(--bav-muted);
}

.woocommerce ul.products li.product .price ins {
	color: var(--bav-sale);
	text-decoration: none;
}

/* Badges */
.woocommerce span.onsale.bav-badge,
.bav-badge {
	position: absolute;
	top: .75rem;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: .35em .7em;
	border-radius: var(--bav-radius);
	font-family: var(--bav-sans);
	font-size: .6875rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--bav-white);
}

.woocommerce span.onsale.bav-badge--sale,
.bav-badge--sale {
	right: .75rem;
	left: auto;
	background: var(--bav-sale);
}

.bav-badge--new {
	left: .75rem;
	background: var(--bav-accent);
}

/* 10. Single product ------------------------------------------------------- */
.woocommerce div.product .product_title {
	font-size: var(--bav-fs-h2);
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce div.product p.price {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--bav-ink);
}

.woocommerce div.product form.cart {
	flex-wrap: wrap;
	gap: .75rem;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button {
	flex: 1 1 14rem;
	padding-block: 1.1rem;
}

.woocommerce div.product .woocommerce-variation-add-to-cart {
	flex-wrap: wrap;
	gap: .75rem;
}

.woocommerce div.product .product_meta {
	font-family: var(--bav-sans);
	font-size: var(--bav-fs-small);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--bav-sans);
	font-size: .8125rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-Tabs-panel {
	max-width: 52rem;
}

.woocommerce div.product .woocommerce-Tabs-panel iframe {
	max-width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

.related.products > h2,
.upsells.products > h2 {
	font-size: var(--bav-fs-h3);
}

#wc-stripe-payment-request-wrapper {
	width: 100%;
}

/* 11. Cart / checkout ------------------------------------------------------ */
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3,
#order_review_heading {
	font-size: var(--bav-fs-h4);
}

.woocommerce table.shop_table {
	font-family: var(--bav-sans);
	font-size: .875rem;
	border-color: var(--bav-line);
	border-radius: 0;
}

.woocommerce-checkout #payment {
	background: var(--bav-soft);
	border-radius: var(--bav-radius);
}

/* 12. Account -------------------------------------------------------------- */
.woocommerce-account .site-content .ast-container {
	display: block;
}

.woocommerce-account .woocommerce {
	margin-block: 2rem var(--bav-section);
}

/* Shared small UI: buttons, status pills, empty state */
.bav-btn,
.woocommerce a.bav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4em;
	padding: .7em 1.25em;
	border: 1px solid var(--bav-ink);
	border-radius: var(--bav-radius);
	background: var(--bav-ink);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--bav-white);
	transition: background-color .2s, color .2s, border-color .2s;
}

.bav-btn:hover,
.woocommerce a.bav-btn:hover {
	background: var(--bav-accent);
	border-color: var(--bav-accent);
	color: var(--bav-white);
}

.bav-btn--ghost,
.woocommerce a.bav-btn--ghost {
	background: transparent;
	border-color: var(--bav-line);
	color: var(--bav-ink);
}

.bav-btn--ghost:hover,
.woocommerce a.bav-btn--ghost:hover {
	background: transparent;
	border-color: var(--bav-ink);
	color: var(--bav-ink);
}

.bav-btn--small,
.woocommerce a.bav-btn--small {
	padding: .55em 1em;
}

.bav-status {
	display: inline-block;
	justify-self: start;
	padding: .3em .75em;
	border-radius: 999px;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.3;
	white-space: nowrap;
	background: var(--bav-soft);
	color: var(--bav-muted);
}

.bav-status--completed { background: #e3f4ea; color: #1e7a45; }
.bav-status--processing { background: #e2f2f5; color: var(--bav-teal); }
.bav-status--on-hold,
.bav-status--pending { background: #fdf3dc; color: #8a6100; }
.bav-status--cancelled,
.bav-status--failed,
.bav-status--refunded { background: #fbe7e5; color: var(--bav-sale); }

.bav-empty {
	padding: 2.5rem 1.5rem;
	border: 1px dashed var(--bav-line);
	border-radius: 8px;
	text-align: center;
}

.bav-empty p {
	margin-bottom: 1rem;
	color: var(--bav-muted);
}

/* Layout: sidebar + content */
.bav-account {
	display: grid;
	grid-template-columns: 16.5rem minmax(0, 1fr);
	align-items: start;
	gap: 2.5rem;
}

.bav-account__side {
	position: sticky;
	top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

/* Profile card */
.bav-profile {
	display: flex;
	align-items: center;
	gap: .85rem;
	padding: 1.1rem;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--bav-teal), var(--bav-accent));
	color: var(--bav-white);
}

.bav-profile__avatar {
	display: grid;
	flex: none;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, .2);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .04em;
}

.bav-profile__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.35;
}

.bav-profile__name {
	font-size: .9375rem;
	font-weight: 600;
}

.bav-profile__email,
.bav-profile__since {
	font-size: .75rem;
	overflow-wrap: anywhere;
	opacity: .85;
}

/* Navigation */
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: .35rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	border: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .65rem .8rem;
	border-radius: 6px;
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: var(--bav-ink);
	transition: background-color .15s, color .15s;
}

.woocommerce-MyAccount-navigation li a::before {
	content: "";
	flex: none;
	width: 1.05rem;
	height: 1.05rem;
	background: currentColor;
	-webkit-mask: var(--bav-icon) center / contain no-repeat;
	mask: var(--bav-icon) center / contain no-repeat;
	opacity: .75;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--bav-soft);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: #e2f2f5;
	color: var(--bav-teal);
	font-weight: 600;
}

.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: .35rem !important;
	padding-top: .35rem;
	border-top: 1px solid var(--bav-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--bav-muted);
}

/* Icons (Lucide-style strokes, as masks) */
.woocommerce-MyAccount-navigation-link--dashboard { --bav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21H3z'/%3E%3Cpath d='M9 21v-6h6v6'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders { --bav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address { --bav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--payment-methods { --bav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account { --bav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads { --bav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout { --bav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E"); }

/* Dashboard */
.bav-dash {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.bav-dash__hello {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

.bav-dash__title {
	margin: 0 0 .25rem;
	font-size: var(--bav-fs-h2);
}

.bav-dash__lead {
	margin: 0;
	color: var(--bav-muted);
}

.bav-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bav-stats__item {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: 1.1rem 1.25rem;
	border-radius: 8px;
	background: var(--bav-soft);
}

.bav-stats__label {
	font-size: .75rem;
	color: var(--bav-muted);
}

.bav-stats__value {
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--bav-ink);
}

.bav-stats__value .woocommerce-Price-currencySymbol {
	font-size: .75em;
	font-weight: 500;
}

.bav-dash__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .9rem;
}

.bav-dash__head h3 {
	margin: 0;
	font-size: var(--bav-fs-h4);
}

.bav-dash__head a {
	font-size: var(--bav-fs-small);
	font-weight: 500;
	text-decoration: none;
}

/* Order cards */
.bav-orders {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.bav-order {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 1.25rem;
	padding: .9rem 1.1rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
	background: var(--bav-white);
	transition: border-color .2s, box-shadow .2s;
}

.bav-order:hover {
	border-color: #d4d4d4;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .05);
}

.bav-order__thumbs {
	display: flex;
}

.bav-order__thumb {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	overflow: hidden;
	border: 2px solid var(--bav-white);
	border-radius: 6px;
	background: var(--bav-soft);
	font-size: .75rem;
	font-weight: 600;
	color: var(--bav-muted);
}

.bav-order__thumb + .bav-order__thumb {
	margin-left: -.85rem;
}

.bav-order__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bav-order__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.bav-order__num {
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--bav-ink);
}

.bav-order__num:hover {
	color: var(--bav-accent);
}

.bav-order__meta {
	font-size: .75rem;
	color: var(--bav-muted);
}

.bav-order__total {
	font-size: .9375rem;
	font-weight: 600;
	color: var(--bav-ink);
	text-align: right;
}

.bav-order__actions {
	display: flex;
	gap: .4rem;
}

.bav-pager {
	display: flex;
	justify-content: space-between;
	margin-top: 1.25rem;
}

/* Addresses (dashboard + "Adresses" page) */
.bav-addresses,
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: 1rem;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
	display: none;
}

.bav-address,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.bav-address__head,
.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .6rem;
}

.bav-address__title,
.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0;
	font-size: .8125rem;
	font-weight: 600;
}

.bav-address__head a,
.woocommerce-account .woocommerce-Address-title a {
	font-size: .75rem;
	font-weight: 500;
	text-decoration: none;
}

.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after {
	display: none;
}

.bav-address address,
.woocommerce-account .woocommerce-Address address {
	margin: 0;
	font-size: .875rem;
	font-style: normal;
	line-height: 1.6;
	color: var(--bav-text);
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	color: var(--bav-muted);
}

/* Forms: account details, edit address */
.woocommerce-account .woocommerce-MyAccount-content form {
	max-width: 44rem;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
.woocommerce-account .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row {
	float: none;
	width: auto;
	grid-column: 1 / -1;
	margin: 0 0 1rem;
	padding: 0;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last,
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
	grid-column: auto;
}

.woocommerce-account .woocommerce-EditAccountForm > :not(.form-row),
.woocommerce-account .woocommerce-EditAccountForm .clear {
	grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: .5rem 0 1rem;
	padding: 1.25rem 1.25rem .25rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
	padding: 0 .4rem;
	font-size: .8125rem;
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single {
	min-height: 44px;
	border-radius: 6px;
	background: var(--bav-white);
}

.woocommerce-account .woocommerce-MyAccount-content em {
	font-size: .75rem;
	color: var(--bav-muted);
}

.woocommerce-account .woocommerce-MyAccount-content form .button {
	margin-top: .5rem;
}

/* Single order */
.woocommerce-account .woocommerce-MyAccount-content > p:has(mark.order-number) {
	padding: .9rem 1.1rem;
	border-radius: 8px;
	background: var(--bav-soft);
	font-size: .875rem;
	color: var(--bav-text);
}

.woocommerce-account .woocommerce-MyAccount-content mark {
	background: none;
	font-weight: 600;
	color: var(--bav-ink);
}

.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-column__title {
	font-size: var(--bav-fs-h4);
}

.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: 1rem;
}

.woocommerce-account .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.woocommerce-account .woocommerce-customer-details address {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: .875rem;
	font-style: normal;
}

.woocommerce-account .woocommerce-table--order-details {
	border-radius: 8px;
	overflow: hidden;
}

/* Login / register */
.bav-login-intro {
	max-width: 40rem;
}

.bav-login-intro p:last-child {
	margin: 0;
}

.woocommerce-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.woocommerce-account .u-columns.col2-set::before,
.woocommerce-account .u-columns.col2-set::after {
	display: none;
}

.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
	float: none;
	width: auto;
	padding: 2rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.woocommerce-account .u-columns h2 {
	font-size: var(--bav-fs-h4);
}

.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
	width: 100%;
	margin-top: .5rem;
}

@media (max-width: 921px) {
	.bav-account {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
	}

	.bav-account__side {
		position: static;
	}

	.woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: .25rem;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.woocommerce-MyAccount-navigation li {
		flex: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		white-space: nowrap;
	}

	.woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 0 !important;
		padding-top: 0;
		border-top: 0;
	}

	.bav-stats {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.bav-stats__item:last-child {
		grid-column: 1 / -1;
	}

	.bav-order {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: .5rem 1rem;
	}

	.bav-order__thumbs {
		grid-row: span 2;
	}

	.bav-order .bav-status {
		grid-column: 2;
	}

	.bav-order__actions {
		grid-column: 2 / -1;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
	.woocommerce-account .woocommerce-EditAccountForm {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Utilities ---------------------------------------------------------------- */
/* Astra (classic theme) wraps group content in .wp-block-group__inner-container */
.bav-contact:not(:has(> .wp-block-group__inner-container)),
.bav-contact > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
	gap: var(--bav-gap);
}

.bav-panel {
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	background: var(--bav-soft);
}

.bav-panel > :first-child {
	margin-top: 0;
}

.bav-map iframe {
	display: block;
	width: 100%;
	min-height: 380px;
	border: 0;
}

/* Login / register: one frame per column (Astra adds its own form border) */
.woocommerce-account .u-columns form.woocommerce-form-login,
.woocommerce-account .u-columns form.woocommerce-form-register {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

.bav-login-intro .bav-eyebrow {
	margin-bottom: .5rem;
}

/* Single product: categories line */
.woocommerce div.product .summary .single-product-category,
.woocommerce div.product .summary .ast-woo-product-category {
	font-family: var(--bav-sans);
	font-size: .6875rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-product-details__short-description table {
	font-family: var(--bav-sans);
	font-size: .8125rem;
}

/* Pages: section rhythm for block content */
.page .entry-content > .wp-block-columns,
.page .entry-content > .wp-block-group {
	margin-block: var(--bav-section);
}

.page .entry-content > :first-child {
	margin-top: calc(var(--bav-section) / 2);
}

.bav-eyebrow + :where(h1, h2, h3, h4) {
	margin-top: 0;
}

.wp-block-image img {
	border-radius: var(--bav-radius);
}

.entry-content p.bav-eyebrow {
	margin-bottom: .25em;
}

@media (max-width: 921px) {
	.woocommerce.archive #primary,
	.woocommerce-page.archive #primary {
		margin-top: 1.5rem;
	}

	.bav-hero {
		padding-bottom: 1.5rem;
	}
}

@media (max-width: 921px) {
	.bav-hero.bav-hero--home {
		padding-bottom: 1.75rem;
	}

	.bav-brands__list {
		gap: .75rem;
	}

	.bav-brands__item {
		grid-template-columns: minmax(0, 1fr) 5.5rem;
		padding: .9rem 1rem;
	}
}

/* Compact rhythm under the hero on shop listings */
.woocommerce.archive #primary,
.woocommerce.archive #secondary,
.woocommerce-page.archive #primary,
.woocommerce-page.archive #secondary {
	margin-top: 1.75rem;
}

.bav-catnav .bav-catnav__title {
	text-transform: uppercase;
	color: var(--bav-muted);
}

.bav-chip {
	letter-spacing: 0;
	text-transform: none;
	font-size: .8125rem;
}

/* Hero titles in capitals */
.bav-hero .bav-hero__title {
	text-transform: uppercase;
	letter-spacing: .06em;
}

/* All heroes share one height, with or without eyebrow */
.bav-hero {
	min-height: calc(var(--bav-header-h) + 8.5rem);
}

/* Brand cards inside the shop column */
.woocommerce .bav-brands {
	width: 100%;
	margin-bottom: 1.75rem;
}

.woocommerce .bav-brands__list {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.woocommerce .bav-brands__item {
	grid-template-columns: minmax(0, 1fr) 5.5rem;
}

/* Footer: compact */
.site-footer .site-primary-footer-wrap {
	padding-block: 1.75rem 1.25rem;
}

.site-footer .site-primary-footer-wrap .widget {
	margin-bottom: 0;
}

.site-footer .site-primary-footer-wrap .widget ul li {
	line-height: 1.55;
}

/* Social icons sit at the top of their column, level with the widget titles */
.site-footer .site-primary-footer-wrap .ast-footer-social-1-wrap {
	align-self: flex-start;
}

.site-footer .site-below-footer-wrap {
	padding-block: .75rem;
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.site-footer .site-below-footer-wrap .ast-builder-grid-row {
	min-height: 0;
}

.site-footer,
.site-footer .widget,
.site-footer .ast-footer-copyright {
	font-size: .8125rem;
	line-height: 1.6;
}

.site-footer .widget-title {
	margin-bottom: .6rem;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .6);
}

.site-footer .widget ul li {
	padding: 0;
}

.site-footer .widget_media_image img {
	width: 80px;
	height: auto;
}

.site-footer .ast-footer-copyright a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.site-footer .ast-footer-copyright p {
	margin: 0;
}

/* Legal pages: section titles at text size */
.bav-legal__body h2 {
	margin: 1.75em 0 .4em;
	font-size: var(--bav-fs-body);
	font-weight: 600;
	letter-spacing: 0;
}

/* Header mini-cart: no empty dropdown (only borders + arrow) when the cart is empty */
.ast-site-header-cart .widget_shopping_cart:has(.woocommerce-mini-cart__empty-message) {
	display: none;
}

/* WooCommerce notices in the account */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1rem;
	margin-bottom: 1.5rem;
	padding: .9rem 1.1rem .9rem 2.9rem;
	border: 0;
	border-radius: 8px;
	background: #e2f2f5;
	font-size: .8125rem;
	color: var(--bav-ink);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	background: #fbe7e5;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
	top: 50%;
	left: 1.1rem;
	transform: translateY(-50%);
	color: var(--bav-teal);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
	order: 2;
	float: none;
	margin: 0 0 0 auto;
	padding: .55em 1em;
	border-radius: var(--bav-radius);
	font-size: .6875rem;
}

.bav-account__intro {
	margin-bottom: 1.25rem;
	font-size: .875rem;
	color: var(--bav-muted);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: var(--bav-fs-h4);
}

.woocommerce-account .bav-address address {
	padding: 0;
	border: 0;
}

/* Password fields: keep WooCommerce's eye toggle inside the input */
.woocommerce form .password-input {
	position: relative;
	display: block;
}

.woocommerce form .password-input input {
	padding-right: 2.75rem;
}

.woocommerce form .password-input .show-password-input,
.woocommerce form .password-input button.show-password-input {
	position: absolute;
	top: 50%;
	right: .6rem;
	width: 1.75rem;
	height: 1.75rem;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bav-muted);
	transform: translateY(-50%);
	box-shadow: none;
}

.woocommerce form .password-input .show-password-input:hover {
	background: transparent;
	color: var(--bav-ink);
}

.woocommerce-account .woocommerce-EditAccountForm legend {
	border: 0;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
	top: 1.05rem;
	transform: none;
}

/* Password block: a plain titled group instead of a framed fieldset */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: 1rem 0 .5rem;
	padding: 1.25rem 0 0;
	border: 0;
	border-top: 1px solid var(--bav-line);
	border-radius: 0;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
	float: left;
	width: 100%;
	margin: 0 0 1rem;
	padding: 0;
	font-size: .875rem;
}

.woocommerce-account .woocommerce-EditAccountForm legend + * {
	clear: both;
}

/* Single order: addresses + table */
.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses::after {
	display: none;
}

.woocommerce-account .woocommerce-customer-details .woocommerce-column__title {
	margin: 0 0 .6rem;
	padding: 0;
	border: 0;
	background: none;
	font-size: .8125rem;
	font-weight: 600;
}

.woocommerce-account .woocommerce-table--order-details {
	border: 1px solid var(--bav-line);
	border-collapse: separate;
	border-spacing: 0;
	font-size: .8125rem;
}

.woocommerce-account .woocommerce-table--order-details th,
.woocommerce-account .woocommerce-table--order-details td {
	padding: .7rem 1rem;
	border: 0;
	border-top: 1px solid var(--bav-line);
}

.woocommerce-account .woocommerce-table--order-details thead th {
	border-top: 0;
	background: var(--bav-soft);
	font-size: .75rem;
	font-weight: 600;
}

.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
	font-size: .9375rem;
	font-weight: 600;
	color: var(--bav-ink);
}

.woocommerce-account .woocommerce-table--order-details td:last-child,
.woocommerce-account .woocommerce-table--order-details th:last-child {
	text-align: right;
}

/* Mobile: no sideways scrolling ------------------------------------------- */
/* Full-bleed sections use 100vw, which includes the scrollbar; clip the overflow
   (clip, not hidden, so position: sticky keeps working). */
#page {
	overflow-x: clip;
}

/* Product descriptions often contain spec tables and embeds wider than a phone */
.woocommerce div.product .woocommerce-product-details__short-description table,
.woocommerce div.product .woocommerce-Tabs-panel table,
.entry-content table:not(.shop_table) {
	width: 100%;
	max-width: 100%;
	table-layout: fixed;
}

.woocommerce div.product .woocommerce-product-details__short-description td,
.woocommerce div.product .woocommerce-product-details__short-description th,
.woocommerce div.product .woocommerce-Tabs-panel td,
.woocommerce div.product .woocommerce-Tabs-panel th,
.entry-content table:not(.shop_table) td,
.entry-content table:not(.shop_table) th {
	overflow-wrap: anywhere;
}

.woocommerce div.product .woocommerce-product-details__short-description :is(img, video),
.woocommerce div.product .woocommerce-Tabs-panel :is(img, video),
.entry-content :is(img, video) {
	max-width: 100%;
	height: auto;
}

/* Video embeds keep their ratio when narrowed (the map on Contact keeps its own height) */
.woocommerce div.product .woocommerce-product-details__short-description iframe,
.woocommerce div.product .woocommerce-Tabs-panel iframe {
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* ==========================================================================
   Cart
   ========================================================================== */

/* Notices site-wide (cart, checkout, shop): same look as in the account */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-checkout .woocommerce-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1rem;
	margin-bottom: 1.5rem;
	padding: .9rem 1.1rem .9rem 2.9rem;
	border: 0;
	border-radius: 8px;
	background: #e2f2f5;
	font-size: .8125rem;
	color: var(--bav-ink);
}

.woocommerce-notices-wrapper .woocommerce-error {
	background: #fbe7e5;
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-cart .cart-empty.woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before {
	top: 50%;
	left: 1.1rem;
	transform: translateY(-50%);
	color: var(--bav-teal);
}

.woocommerce-notices-wrapper .woocommerce-message .button,
.woocommerce-notices-wrapper .woocommerce-info .button {
	order: 2;
	float: none;
	margin: 0 0 0 auto;
	padding: .55em 1em;
	border: 1px solid var(--bav-ink);
	border-radius: var(--bav-radius);
	background: transparent;
	font-size: .6875rem;
	color: var(--bav-ink);
}

.woocommerce-notices-wrapper .woocommerce-message .button:hover,
.woocommerce-notices-wrapper .woocommerce-info .button:hover {
	background: var(--bav-ink);
	color: var(--bav-white);
}

/* Layout: items left, totals right */
.woocommerce-cart .woocommerce {
	margin-block: 2rem var(--bav-section);
}

@media (min-width: 922px) {
	.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 22rem;
		align-items: start;
		gap: 0 2rem;
	}

	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	.woocommerce-cart .woocommerce > .woocommerce-cart-form {
		grid-column: 1;
	}

	.woocommerce-cart .woocommerce > .cart-collaterals {
		position: sticky;
		top: 1.5rem;
		grid-column: 2;
	}
}

.woocommerce-cart .woocommerce > wc-order-attribution-inputs {
	display: none;
}

/* Items table as a card */
.woocommerce-cart table.shop_table.cart {
	margin: 0;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: .875rem;
}

.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart td {
	padding: .9rem 1rem;
	border: 0;
	border-top: 1px solid var(--bav-line);
	vertical-align: middle;
}

.woocommerce-cart table.shop_table.cart thead th {
	padding-block: .7rem;
	border-top: 0;
	background: var(--bav-soft);
	font-size: .75rem;
	font-weight: 600;
	color: var(--bav-muted);
}

.woocommerce-cart table.cart td.product-remove {
	width: 2.5rem;
	padding-right: 0;
}

.woocommerce-cart table.cart a.remove {
	display: grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid var(--bav-line);
	border-radius: 50%;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--bav-muted) !important;
}

.woocommerce-cart table.cart a.remove:hover {
	border-color: var(--bav-sale);
	background: var(--bav-sale);
	color: var(--bav-white) !important;
}

.woocommerce-cart table.cart td.product-thumbnail {
	width: 5.5rem;
}

.woocommerce-cart table.cart td.product-thumbnail img {
	width: 4rem;
	height: 4rem;
	border-radius: 6px;
	background: var(--bav-soft);
	object-fit: contain;
}

.woocommerce-cart table.cart td.product-name a {
	font-weight: 600;
	line-height: 1.35;
	text-transform: none;
	text-decoration: none;
	color: var(--bav-ink);
}

.woocommerce-cart table.cart td.product-name a:hover {
	color: var(--bav-accent);
}

.woocommerce-cart table.cart td.product-price {
	color: var(--bav-muted);
}

.woocommerce-cart table.cart td.product-subtotal {
	font-weight: 600;
	color: var(--bav-ink);
	text-align: right;
}

.woocommerce-cart table.cart thead th.product-subtotal {
	text-align: right;
}

.woocommerce-cart table.cart .quantity .qty {
	width: 4.25rem;
	height: 2.5rem;
	border-radius: 6px;
	text-align: center;
}

/* Desktop column widths: the product name takes the free space */
@media (min-width: 769px) {
	.woocommerce-cart table.shop_table.cart {
		table-layout: fixed;
		width: 100%;
	}

	.woocommerce-cart table.cart .product-remove { width: 3rem; }
	.woocommerce-cart table.cart .product-thumbnail { width: 5.5rem; }
	.woocommerce-cart table.cart .product-price { width: 7rem; }
	.woocommerce-cart table.cart .product-quantity { width: 6.5rem; }
	.woocommerce-cart table.cart .product-subtotal { width: 7.5rem; }

	.woocommerce-cart table.cart td.product-thumbnail {
		padding-inline: .5rem;
	}
}

/* Coupon + update row */
.woocommerce-cart table.cart td.actions {
	padding: .75rem 1rem;
	background: var(--bav-white);
}

.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	gap: .5rem;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: 11rem;
	height: 2.5rem;
	border-radius: 6px;
}

.woocommerce-cart table.cart td.actions .button {
	padding: .65em 1.1em;
	border: 1px solid var(--bav-line);
	border-radius: var(--bav-radius);
	background: transparent;
	font-size: .6875rem;
	color: var(--bav-ink);
}

.woocommerce-cart table.cart td.actions .button:hover:not(:disabled) {
	border-color: var(--bav-ink);
	background: transparent;
	color: var(--bav-ink);
}

.woocommerce-cart table.cart td.actions .button:disabled {
	opacity: .45;
	cursor: default;
}

/* Totals card */
.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	padding: 1.25rem 1.25rem 1.4rem;
	border: 0;
	border-radius: 8px;
	background: var(--bav-soft);
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	margin: 0 0 .75rem;
	padding: 0;
	border: 0;
	background: none;
	font-size: var(--bav-fs-h4);
}

.woocommerce-cart .cart_totals table.shop_table {
	margin: 0 0 1rem;
	border: 0;
	background: none;
	font-size: .8125rem;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding: .65rem 0;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, .07);
	background: none;
	vertical-align: top;
}

.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
.woocommerce-cart .cart_totals table.shop_table tr:first-child td {
	border-top: 0;
}

.woocommerce-cart .cart_totals table.shop_table th {
	width: 38%;
	font-weight: 500;
	color: var(--bav-muted);
}

.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-button {
	font-size: .75rem;
	color: var(--bav-muted);
}

.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td {
	padding-top: .9rem;
	border-top: 1px solid rgba(0, 0, 0, .15);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--bav-ink);
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block;
	margin: 0 0 .75rem;
	padding: 1.05em 1em;
	border-radius: var(--bav-radius);
	background: var(--bav-ink);
	font-size: .8125rem;
	letter-spacing: .08em;
	text-align: center;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--bav-accent);
}

/* Cross-sells */
.woocommerce-cart .cart-collaterals .cross-sells {
	float: none;
	width: 100%;
	margin-top: 2rem;
}

/* Empty cart */
.woocommerce-cart .return-to-shop .button {
	border-radius: var(--bav-radius);
}

/* Mobile: one card per item (WooCommerce responsive table) */
@media (max-width: 768px) {
	.woocommerce-cart table.shop_table.cart {
		border: 0;
		overflow: visible;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item {
		display: grid;
		grid-template-columns: 4rem minmax(0, 1fr);
		column-gap: .9rem;
		position: relative;
		margin-bottom: .75rem;
		padding: .9rem 1rem .6rem;
		border: 1px solid var(--bav-line);
		border-radius: 8px;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail {
		display: block !important;
		grid-row: span 1;
		width: auto;
		padding: 0;
		text-align: left;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail::before {
		display: none;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-price,
	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity,
	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-subtotal {
		display: flex;
		align-items: center;
		justify-content: space-between;
		grid-column: 1 / -1;
		border-top: 1px solid var(--bav-line);
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td::before {
		font-weight: 400;
		color: var(--bav-muted);
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td {
		padding: .35rem 0;
		border: 0;
		text-align: right;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-remove {
		position: absolute;
		top: .6rem;
		right: .75rem;
		width: auto;
		padding: 0;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-name {
		align-self: center;
		padding: 0 2rem .6rem 0;
		text-align: left !important;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-name::before {
		display: none;
	}

	.woocommerce-cart table.shop_table_responsive.cart tr td.actions {
		display: block;
		padding: 0;
		border: 0;
	}

	.woocommerce-cart table.cart td.actions .button {
		width: 100%;
	}
}

/* ==========================================================================
   Checkout
   ========================================================================== */
.woocommerce-checkout .woocommerce {
	margin-block: 2rem var(--bav-section);
}

/* Section titles: small, no rules; numbered steps on the left column */
.woocommerce-checkout #customer_details {
	counter-reset: bav-step;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
	font-size: var(--bav-fs-h4);
}

.woocommerce-checkout #customer_details .woocommerce-billing-fields > h3::before,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields > h3::before,
.woocommerce-checkout #customer_details .woocommerce-additional-fields > h3::before {
	counter-increment: bav-step;
	content: counter(bav-step);
	display: grid;
	flex: none;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	background: var(--bav-ink);
	font-size: .75rem;
	font-weight: 600;
	color: var(--bav-white);
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
	max-width: none;
}

.woocommerce-checkout #customer_details .col-2 {
	margin-top: 2rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--bav-line);
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	padding: 0;
	border: 0;
}

/* Fields */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
	float: none;
	width: auto;
	grid-column: 1 / -1;
	margin: 0 0 1rem;
	padding: 0;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last {
	grid-column: auto;
}

.woocommerce-checkout form .form-row label {
	margin-bottom: .35rem;
	font-size: .75rem;
	font-weight: 500;
	color: var(--bav-text);
}

.woocommerce-checkout form .form-row .input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single {
	min-height: 44px;
	border: 1px solid var(--bav-line);
	border-radius: 6px;
	background: var(--bav-white);
	font-size: .875rem;
	box-shadow: none;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 42px;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	height: 42px;
}

.woocommerce-checkout form .form-row textarea {
	min-height: 6rem;
}

.woocommerce-checkout form .form-row .input-text:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout form .form-row textarea:focus {
	border-color: var(--bav-accent);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(38, 159, 183, .15);
}

.woocommerce-checkout form .form-row.woocommerce-invalid .input-text {
	border-color: var(--bav-sale);
}

/* "Ship to a different address?" as a soft toggle row */
.woocommerce-checkout #ship-to-different-address {
	margin: 0;
	font-size: .875rem;
}

.woocommerce-checkout #ship-to-different-address::before {
	display: none;
}

.woocommerce-checkout #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .8rem 1rem;
	border-radius: 8px;
	background: var(--bav-soft);
	font-weight: 500;
	cursor: pointer;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
	width: 1.05rem;
	height: 1.05rem;
	margin: 0;
	accent-color: var(--bav-teal);
}

.woocommerce-checkout .shipping_address {
	margin-top: 1.25rem;
}

/* Order summary column */
@media (min-width: 922px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 24rem;
		grid-template-rows: auto auto 1fr;
		align-items: start;
		gap: 0 2.5rem;
	}

	.woocommerce-checkout form.checkout > .wcservices-checkout-notices,
	.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup {
		grid-column: 1 / -1;
	}

	.woocommerce-checkout form.checkout > #customer_details {
		grid-column: 1;
		grid-row: 2 / span 2;
		width: auto;
		float: none;
		margin: 0;
	}

	.woocommerce-checkout form.checkout > #order_review_heading,
	.woocommerce-checkout form.checkout > #order_review {
		grid-column: 2;
		float: none;
		width: auto;
		margin: 0;
	}

	.woocommerce-checkout form.checkout > #order_review {
		position: sticky;
		top: 1.5rem;
	}
}

.woocommerce-checkout #order_review_heading {
	padding: 1.25rem 1.25rem 0;
	border: 0;
	border-radius: 8px 8px 0 0;
	background: var(--bav-soft);
}

.woocommerce-checkout #order_review {
	padding: .25rem 1.25rem 1.4rem;
	border: 0;
	border-radius: 0 0 8px 8px;
	background: var(--bav-soft);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
	margin: 0 0 1.25rem;
	border: 0;
	background: none;
	font-size: .8125rem;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: .65rem 0;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, .07);
	background: none;
	vertical-align: top;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	padding-top: 0;
	border-top: 0;
	font-size: .75rem;
	font-weight: 600;
	color: var(--bav-muted);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
	padding-right: 1rem;
	font-weight: 500;
	text-transform: none;
	color: var(--bav-ink);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity {
	font-weight: 400;
	color: var(--bav-muted);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	font-weight: 500;
	color: var(--bav-muted);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child {
	text-align: right;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
	padding-top: .9rem;
	border-top: 1px solid rgba(0, 0, 0, .15);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--bav-ink);
}

/* Payment */
.woocommerce-checkout #payment {
	border-radius: 8px;
	background: none;
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border: 0;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	margin-bottom: .5rem;
	padding: .85rem 1rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
	background: var(--bav-white);
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li > label {
	font-size: .875rem;
	font-weight: 600;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--bav-teal);
}

.woocommerce-checkout #payment div.payment_box {
	margin: .75rem 0 0;
	padding: 0;
	border-radius: 0;
	background: none;
	font-size: .8125rem;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment div.form-row.place-order {
	margin: 0;
	padding: 1rem 0 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: .75rem;
	line-height: 1.5;
	color: var(--bav-muted);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	font-size: .8125rem;
	color: var(--bav-ink);
}

.woocommerce-checkout #place_order {
	width: 100%;
	margin-top: .75rem;
	padding: 1.05em 1em;
	border-radius: var(--bav-radius);
	background: var(--bav-ink);
	font-size: .8125rem;
	letter-spacing: .08em;
}

.woocommerce-checkout #place_order:hover {
	background: var(--bav-accent);
}

/* Login / coupon toggles above the form */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-bottom: 1rem;
}

.woocommerce-checkout form.woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon {
	margin: 0 0 1.5rem;
	padding: 1.25rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

@media (max-width: 921px) {
	.woocommerce-checkout #order_review_heading {
		margin-top: 2rem;
	}
}

@media (max-width: 544px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last {
		grid-column: 1 / -1;
	}
}

/* Astra styles the checkout with id + :not(#id) selectors; repeat the id to win cleanly */
body.woocommerce-checkout form.checkout #customer_details#customer_details {
	width: auto;
	max-width: none;
	float: none;
	margin: 0;
}

body.woocommerce-checkout #customer_details#customer_details h3 {
	padding-bottom: 0;
	border-bottom: 0;
}

body.woocommerce-checkout form #order_review_heading#order_review_heading {
	margin: 0;
	padding: 1.25rem 1.25rem .25rem;
	border: 0;
	border-radius: 8px 8px 0 0;
	background: var(--bav-soft);
}

body.woocommerce-checkout form #order_review#order_review {
	padding: .25rem 1.25rem 1.4rem;
	border: 0;
	border-radius: 0 0 8px 8px;
	background: var(--bav-soft);
}

body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
	table-layout: fixed;
	width: 100%;
}

body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th.product-name {
	width: 64%;
}

body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th {
	overflow-wrap: anywhere;
}

body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td {
	padding: .6rem 0;
	border-color: rgba(0, 0, 0, .07);
}

body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th {
	padding-top: .25rem;
}

body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr.order-total td {
	padding-top: .9rem;
	border-top-color: rgba(0, 0, 0, .15);
}

body.woocommerce-checkout #order_review #payment#payment {
	border: 0;
	background: none;
}

body.woocommerce-checkout #order_review #payment ul.payment_methods {
	padding: 0;
	border: 0;
}

/* Payment box: no grey inner panel (Stripe draws its own fields) */
body.woocommerce-checkout #payment#payment div.payment_box {
	margin: .5rem 0 0;
	padding: 0;
	background: none;
}

/* Select2 (Canton, country) at the same height as text fields */
body.woocommerce-checkout .select2-container .select2-selection--single {
	height: 44px;
	min-height: 44px;
	padding: 0 .25rem;
}

/* "Ship to a different address?" spans the row */
body.woocommerce-checkout #ship-to-different-address label {
	flex: 1;
}

/* Footer: hours are plain text, not links */
.site-footer .widget_nav_menu a[href="#"] {
	pointer-events: none;
	cursor: default;
}

/* Legal pages: text + sticky side column (table of contents, contact) */
.bav-legal {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 17rem;
	align-items: start;
	gap: 3.5rem;
}

.bav-legal__body > :first-child {
	margin-top: 0;
}

.bav-legal__body h2 {
	scroll-margin-top: 1.5rem;
}

.bav-legal__aside {
	position: sticky;
	top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	font-size: .8125rem;
}

.bav-legal__label {
	margin: 0 0 .6rem;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bav-muted);
}

.bav-legal__toc {
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.bav-legal__toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: bav-toc;
}

.bav-legal__toc li {
	counter-increment: bav-toc;
	margin: 0;
}

.bav-legal__toc a {
	display: flex;
	gap: .55rem;
	padding: .3rem 0;
	line-height: 1.35;
	text-decoration: none;
	color: var(--bav-text);
}

.bav-legal__toc a::before {
	content: counter(bav-toc);
	flex: none;
	min-width: 1.1rem;
	font-weight: 600;
	color: var(--bav-accent);
}

.bav-legal__toc a:hover {
	color: var(--bav-accent);
}

.bav-legal__help {
	padding: 1.1rem 1.25rem 1.25rem;
	border-radius: 8px;
	background: #e2f2f5;
}

.bav-legal__help p {
	margin: 0 0 .6rem;
	line-height: 1.5;
}

.bav-legal__help .bav-legal__label {
	color: var(--bav-teal);
}

.bav-legal__phone a {
	font-size: .9375rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--bav-ink);
}

.bav-legal__help .bav-btn {
	margin-top: .25rem;
	background: var(--bav-white);
}

.bav-legal__other {
	padding: 0 .25rem;
	font-weight: 500;
	text-decoration: none;
}

@media (max-width: 921px) {
	.bav-legal {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.bav-legal__aside {
		position: static;
	}

	/* On phones the table of contents is noise; keep the contact card at the end */
	.bav-legal__toc {
		display: none;
	}
}

/* Single product: description + "Produits similaires" side by side */
.bav-product-more {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	clear: both;
	margin-top: 2.5rem;
}

@media (min-width: 922px) {
	.bav-product-more:has(.bav-product-more__aside) {
		grid-template-columns: minmax(0, 1fr) 19rem;
		align-items: start;
	}

	.bav-product-more__aside {
		position: sticky;
		top: 1.5rem;
	}
}

.bav-product-more__main .woocommerce-tabs {
	margin: 0;
	padding: 0;
}

.bav-product-more__aside .related.products {
	margin: 0;
	padding: 1.1rem 1.25rem .5rem;
	border-radius: 8px;
	background: var(--bav-soft);
}

.bav-product-more__aside .related.products > h2 {
	margin: 0 0 .75rem;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bav-muted);
}

/* Compact rows: thumbnail + category, title, price */
.bav-product-more__aside ul.products {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}

.bav-product-more__aside ul.products::before,
.bav-product-more__aside ul.products::after {
	display: none;
}

.woocommerce .bav-product-more__aside ul.products li.product {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	align-items: center;
	gap: .9rem;
	float: none;
	width: 100%;
	margin: 0;
	padding: .75rem 0;
	border-top: 1px solid rgba(0, 0, 0, .07);
}

.woocommerce .bav-product-more__aside ul.products li.product:first-child {
	border-top: 0;
	padding-top: 0;
}

.woocommerce .bav-product-more__aside ul.products li.product .astra-shop-thumbnail-wrap {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 6px;
	background: var(--bav-white);
}

.woocommerce .bav-product-more__aside ul.products li.product .astra-shop-thumbnail-wrap img {
	margin: 0;
}

.woocommerce .bav-product-more__aside ul.products li.product .astra-shop-summary-wrap {
	padding: 0;
}

.woocommerce .bav-product-more__aside ul.products li.product .ast-woo-product-category {
	margin: 0 0 .15rem;
	font-size: .625rem;
}

.woocommerce .bav-product-more__aside ul.products li.product .woocommerce-loop-product__title {
	min-height: 0;
	margin: 0 0 .2rem;
	font-size: .8125rem !important;
}

.woocommerce .bav-product-more__aside ul.products li.product .price {
	margin: 0;
	font-size: .8125rem;
}

.bav-product-more__aside .bav-badge,
.bav-product-more__aside .onsale,
.bav-product-more__aside .star-rating,
.bav-product-more__aside .button,
.bav-product-more__aside .added_to_cart {
	display: none !important;
}

.woocommerce .bav-product-more__aside ul.products li.product .astra-shop-summary-wrap,
.woocommerce .bav-product-more__aside ul.products li.product .astra-shop-summary-wrap > a {
	display: block;
	width: 100%;
	min-width: 0;
}

.woocommerce .bav-product-more__aside ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	width: 100%;
}

/* Astra sizes related products to a quarter of the row with a stronger selector */
.woocommerce-js div.product .bav-product-more__aside .related.products ul.products li.product {
	width: 100%;
	margin-right: 0;
}

/* ==========================================================================
   Thank-you page (order received)
   ========================================================================== */
.bav-thanks {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 56rem;
	margin: 2rem auto var(--bav-section);
}

.bav-thanks__card {
	display: flex;
	align-items: flex-start;
	gap: 1.1rem;
	padding: 1.4rem 1.5rem;
	border-radius: 8px;
	background: #e3f4ea;
}

.bav-thanks__card--failed {
	background: #fbe7e5;
}

.bav-thanks__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: #1e7a45;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--bav-white);
}

.bav-thanks__card--failed .bav-thanks__icon {
	background: var(--bav-sale);
}

.bav-thanks__title {
	margin: .15rem 0 .35rem;
	font-size: var(--bav-fs-h3);
}

.bav-thanks .woocommerce-notice {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: .875rem;
	color: var(--bav-text);
}

.bav-thanks .woocommerce-notice::before {
	display: none;
}

/* Key figures (reuses .bav-stats from the account) */
.woocommerce-checkout .bav-thanks ul.bav-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-checkout .bav-thanks ul.bav-stats li {
	float: none;
	margin: 0;
	padding: 1.1rem 1.25rem;
	border: 0;
	font-size: inherit;
	text-transform: none;
}

.woocommerce-checkout .bav-thanks ul.bav-stats li .bav-stats__value {
	font-size: 1.125rem;
}

.woocommerce-checkout .bav-thanks ul.bav-stats li .bav-stats__value--text {
	font-size: .9375rem;
}

.bav-thanks__next {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.bav-thanks__next p {
	margin: 0;
	font-size: .875rem;
	color: var(--bav-text);
}

.bav-thanks__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
}

.bav-thanks__card .bav-thanks__actions {
	margin-top: .9rem;
}

/* Payment instructions printed by the gateway (bank transfer, test mode...) */
.bav-thanks > p,
.bav-thanks .wc-bacs-bank-details-heading,
.bav-thanks .wc-bacs-bank-details {
	margin: 0;
	padding: 1rem 1.25rem;
	border-radius: 8px;
	background: var(--bav-soft);
	font-size: .875rem;
}

/* Order details + addresses: same look as in the account */
.bav-thanks .woocommerce-order-details,
.bav-thanks .woocommerce-customer-details {
	margin: 0;
}

.bav-thanks .woocommerce-order-details__title,
.bav-thanks .woocommerce-column__title {
	margin: 0 0 .75rem;
	padding: 0;
	border: 0;
	background: none;
	font-size: var(--bav-fs-h4);
}

.bav-thanks .woocommerce-table--order-details {
	margin: 0;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: .8125rem;
}

.bav-thanks .woocommerce-table--order-details th,
.bav-thanks .woocommerce-table--order-details td {
	padding: .7rem 1rem;
	border: 0;
	border-top: 1px solid var(--bav-line);
	background: none;
}

.bav-thanks .woocommerce-table--order-details thead th {
	border-top: 0;
	background: var(--bav-soft);
	font-size: .75rem;
	font-weight: 600;
}

.bav-thanks .woocommerce-table--order-details td:last-child,
.bav-thanks .woocommerce-table--order-details th:last-child {
	text-align: right;
}

.bav-thanks .woocommerce-table--order-details td.product-name a {
	font-weight: 500;
	text-decoration: none;
	color: var(--bav-ink);
}

.bav-thanks .woocommerce-table--order-details tfoot tr:last-child th,
.bav-thanks .woocommerce-table--order-details tfoot tr:last-child td {
	font-size: .9375rem;
	font-weight: 600;
	color: var(--bav-ink);
}

.bav-thanks .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: 1rem;
}

.bav-thanks .woocommerce-customer-details .woocommerce-columns--addresses::before,
.bav-thanks .woocommerce-customer-details .woocommerce-columns--addresses::after {
	display: none;
}

.bav-thanks .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.bav-thanks .woocommerce-customer-details .woocommerce-column__title {
	font-size: .8125rem;
	font-weight: 600;
}

.bav-thanks .woocommerce-customer-details address {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: .875rem;
	font-style: normal;
	line-height: 1.6;
}

@media (max-width: 768px) {
	.woocommerce-checkout .bav-thanks ul.bav-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.woocommerce-checkout .bav-thanks ul.bav-stats::before,
.woocommerce-checkout .bav-thanks ul.bav-stats::after {
	display: none;
}

/* Astra boxes these titles on the checkout page with stronger selectors */
.woocommerce-page.woocommerce-checkout .bav-thanks h2.woocommerce-order-details__title,
.woocommerce-page.woocommerce-checkout .bav-thanks h2.woocommerce-column__title {
	margin: 0 0 .75rem;
	padding: 0;
	border: 0;
	background: none;
}

.woocommerce-page.woocommerce-checkout .bav-thanks h2.woocommerce-order-details__title {
	font-size: var(--bav-fs-h4);
}

.woocommerce-page.woocommerce-checkout .bav-thanks h2.woocommerce-column__title {
	font-size: .8125rem;
	font-weight: 600;
}

.woocommerce-page.woocommerce-checkout .bav-thanks .woocommerce-customer-details address {
	padding: 0;
	border: 0;
}

/* ==========================================================================
   Pay for order (checkout/order-pay)
   ========================================================================== */
body.woocommerce-order-pay form#order_review#order_review {
	display: block;
	max-width: 44rem;
	margin: 2rem auto var(--bav-section);
	padding: 1.25rem 1.25rem 1.4rem;
	border: 0;
	border-radius: 8px;
	background: var(--bav-soft);
}

body.woocommerce-order-pay #order_review table.shop_table {
	margin: 0 0 1.25rem;
	border: 0;
	border-collapse: collapse;
	background: none;
	font-size: .8125rem;
}

body.woocommerce-order-pay #order_review table.shop_table th,
body.woocommerce-order-pay #order_review table.shop_table td {
	padding: .65rem 0;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, .07);
	background: none;
	vertical-align: top;
}

body.woocommerce-order-pay #order_review table.shop_table thead th {
	padding-top: 0;
	border-top: 0;
	font-size: .75rem;
	font-weight: 600;
	color: var(--bav-muted);
}

body.woocommerce-order-pay #order_review table.shop_table td.product-name {
	font-weight: 500;
	color: var(--bav-ink);
}

body.woocommerce-order-pay #order_review table.shop_table .product-quantity {
	color: var(--bav-muted);
	text-align: center;
}

body.woocommerce-order-pay #order_review table.shop_table tfoot th {
	font-weight: 500;
	color: var(--bav-muted);
}

body.woocommerce-order-pay #order_review table.shop_table td:last-child,
body.woocommerce-order-pay #order_review table.shop_table th:last-child {
	text-align: right;
}

body.woocommerce-order-pay #order_review table.shop_table tfoot tr:last-child th,
body.woocommerce-order-pay #order_review table.shop_table tfoot tr:last-child td {
	padding-top: .9rem;
	border-top: 1px solid rgba(0, 0, 0, .15);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--bav-ink);
}

body.woocommerce-order-pay #payment#payment {
	border: 0;
	border-radius: 8px;
	background: none;
}

body.woocommerce-order-pay #payment ul.payment_methods {
	padding: 0;
	border: 0;
}

body.woocommerce-order-pay #payment ul.payment_methods li.wc_payment_method {
	margin-bottom: .5rem;
	padding: .85rem 1rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
	background: var(--bav-white);
	list-style: none;
}

body.woocommerce-order-pay #payment div.payment_box {
	margin: .5rem 0 0;
	padding: 0;
	background: none;
	font-size: .8125rem;
}

body.woocommerce-order-pay #payment div.payment_box::before {
	display: none;
}

body.woocommerce-order-pay #payment div.form-row {
	margin: 0;
	padding: 1rem 0 0;
}

body.woocommerce-order-pay #place_order {
	width: 100%;
	padding: 1.05em 1em;
	border-radius: var(--bav-radius);
	background: var(--bav-ink);
	font-size: .8125rem;
	letter-spacing: .08em;
}

body.woocommerce-order-pay #place_order:hover {
	background: var(--bav-accent);
}

.woocommerce-checkout .bav-checkout-note {
	margin: .75rem 0 0;
	font-size: .75rem;
	line-height: 1.5;
	color: var(--bav-muted);
}

/* ==========================================================================
   Carousels (front page): promo slider + "Nouveautés" strip
   ========================================================================== */

/* Shared round arrow */
.bav-carousel__btn {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 1px solid var(--bav-line);
	border-radius: 50%;
	background: var(--bav-white);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
	font-size: 1.5rem;
	line-height: 1;
	color: var(--bav-ink);
	cursor: pointer;
	transition: background-color .2s, color .2s, opacity .2s;
}

.bav-carousel__btn:hover {
	background: var(--bav-ink);
	color: var(--bav-white);
}

.bav-carousel__btn:disabled {
	opacity: .35;
	cursor: default;
	background: var(--bav-white);
	color: var(--bav-ink);
}

.bav-carousel__btn span {
	margin-top: -.15em;
}

/* --- Promo slider --- */
.bav-slider {
	position: relative;
	margin-top: 1.5rem;
}

.bav-slider__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: 12px;
	background: linear-gradient(120deg, #e2f2f5 0%, #f4f8f8 55%, #ffffff 100%);
}

.bav-slider__track::-webkit-scrollbar {
	display: none;
}

.bav-slide {
	display: grid;
	flex: 0 0 100%;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: center;
	gap: 2rem;
	min-height: 18rem;
	padding: 1.75rem 4.5rem 2.5rem;
	scroll-snap-align: start;
}

.bav-slide__eyebrow {
	margin: 0 0 .5rem;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--bav-teal);
}

.bav-slide__title {
	margin: 0 0 .75rem;
	font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	line-height: 1.2;
}

.bav-slide__desc {
	display: -webkit-box;
	margin: 0 0 1rem;
	overflow: hidden;
	font-size: .875rem;
	color: var(--bav-text);
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.bav-slide__price {
	margin: 0 0 1.25rem;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--bav-ink);
}

.bav-slide__price del {
	font-size: .875rem;
	font-weight: 400;
	color: var(--bav-muted);
}

.bav-slide__price ins {
	color: var(--bav-sale);
	text-decoration: none;
}

.bav-slide__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
}

.bav-slide__media {
	display: block;
	align-self: stretch;
	overflow: hidden;
	border-radius: 10px;
	background: var(--bav-white);
	box-shadow: 0 10px 30px rgba(7, 128, 135, .12);
}

.bav-slide__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 14rem;
	object-fit: contain;
	transition: transform .5s ease;
}

.bav-slide:hover .bav-slide__media img {
	transform: scale(1.04);
}

.bav-slide--salon .bav-slide__media img {
	max-height: none;
	object-fit: cover;
}

.bav-slider > .bav-carousel__btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%);
}

.bav-slider > .bav-carousel__btn--prev {
	left: 1rem;
}

.bav-slider > .bav-carousel__btn--next {
	right: 1rem;
}

.bav-slider__dots {
	position: absolute;
	bottom: .9rem;
	left: 50%;
	display: flex;
	gap: .4rem;
	transform: translateX(-50%);
}

.bav-slider__dot {
	width: .55rem;
	height: .55rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(7, 128, 135, .25);
	cursor: pointer;
	transition: width .25s, background-color .25s;
}

.bav-slider__dot[aria-current="true"] {
	width: 1.5rem;
	background: var(--bav-teal);
}

/* --- "Nouveautés" strip --- */
.bav-carousel .bav-section__head {
	align-items: center;
}

.bav-carousel__nav {
	display: flex;
	gap: .4rem;
	margin-left: auto;
}

.bav-carousel__nav + .bav-section__more {
	margin-left: 1rem;
}

.bav-home .bav-carousel ul.products {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 1.25rem) / 4);
	gap: 1.25rem;
	margin: 0;
	padding: 0 0 .5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.bav-home .bav-carousel ul.products::-webkit-scrollbar {
	display: none;
}

.bav-home .bav-carousel ul.products::before,
.bav-home .bav-carousel ul.products::after {
	display: none;
}

.woocommerce-js .bav-home .bav-carousel ul.products li.product,
.bav-home .bav-carousel ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none;
	scroll-snap-align: start;
}

@media (max-width: 921px) {
	.bav-slide {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
		min-height: 0;
		padding: 1.5rem 1.25rem 2.75rem;
	}

	.bav-slide__media {
		order: -1;
	}

	.bav-slide__media img {
		max-height: 9.5rem;
	}

	.bav-slide--salon .bav-slide__media img {
		height: 9.5rem;
	}

	.bav-slide__desc {
		-webkit-line-clamp: 2;
		margin-bottom: .75rem;
	}

	.bav-slide__price {
		margin-bottom: .9rem;
		font-size: 1.0625rem;
	}

	.bav-slider > .bav-carousel__btn {
		display: none; /* swipe on touch screens */
	}

	.bav-home .bav-carousel ul.products {
		grid-auto-columns: 44%;
		gap: .9rem;
	}

	.bav-carousel__nav {
		display: none;
	}
}

/* Lost / reset password (also the landing of the account invitation) */
.woocommerce-account form.woocommerce-ResetPassword,
.woocommerce-account form.lost_reset_password {
	max-width: 30rem;
	margin: 0 auto;
	padding: 2rem;
	border: 1px solid var(--bav-line);
	border-radius: 8px;
}

.woocommerce-account form.lost_reset_password > p:first-of-type:not(.form-row) {
	font-size: .875rem;
	color: var(--bav-muted);
}

.woocommerce-account form.lost_reset_password .form-row {
	float: none;
	width: 100%;
}

.woocommerce-account form.lost_reset_password .button {
	width: 100%;
	margin-top: .5rem;
}

.bav-reset-intro {
	margin: 0 0 1.25rem;
	padding: .9rem 1.1rem;
	border-radius: 8px;
	background: #e3f4ea;
	font-size: .875rem;
	font-weight: 500;
	color: var(--bav-ink);
}
