* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* === PRODUCT NAVIGATION SECTION === */
.bva-product-nav {
	text-align: center;
	padding: 60px 20px 40px;
	max-width: 100%;
	overflow-x: hidden;
}

.bva-product-nav .bva-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

/* Section subtitle */

/* === SHARED SUBTITLE STYLES === */
.bva-subtitle-homepage,
.bva-article-subtitle {
	text-transform: uppercase !important;
	letter-spacing: 8px !important;
	color: var(--color-canelle) !important;
	font-size: var(--font-size-12) !important;
	font-family: var(--font-arial) !important;
	margin-bottom: 10px !important;
}

.bva-point-subtitle {
	color: var(--color-white) !important;
	text-transform: uppercase;
	letter-spacing: 8px;
	font-size: var(--font-size-12);
	font-family: var(--font-arial);
	margin-bottom: 10px;
}
/* Section title */

/* === SHARED SECTION TITLE STYLES === */
.bva-section-title,
.bva-product-nav .bva-section-title,
.bva-point-title,
.bva-article-title,
.bva-customer-title {
	font-size: var(--font-size-35);
	font-family: var(--font-futura-ndalt);
	color: var(--color-canelle);
	position: relative;
	display: inline-block;
	margin-bottom: 30px;
}

/* Customer title pseudo-elements */
.bva-customer-title::before,
.bva-customer-title::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 28vw;
	height: 1px;
	background-color: #b27457;
	overflow: hidden;
	object-fit: contain;
	box-sizing: border-box;
}
.bva-customer-title::before {
	right: 100%;
	margin-right: 55px;
}
.bva-customer-title::after {
	left: 100%;
	margin-left: 55px;
}

.bva-product-nav .bva-section-title::before,
.bva-product-nav .bva-section-title::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 28vw;
	height: 1px;
	background-color: #b27457;
	overflow: hidden;
	object-fit: contain;
	box-sizing: border-box;
}
.bva-product-nav .bva-section-title::before {
	right: 100%;
	margin-right: 55px;
}
.bva-product-nav .bva-section-title::after {
	left: 100%;
	margin-left: 55px;
}

/* Article title decoration */
h2.bva-article-title::before,
h2.bva-article-title::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 25vw;
	height: 1px;
	background-color: #b27457;
	overflow: hidden;
	object-fit: contain;
	box-sizing: border-box;
}

h2.bva-article-title::before {
	right: 100%;
	margin-right: 55px;
}

h2.bva-article-title::after {
	left: 100%;
	margin-left: 55px;
}

/* ========== CATEGORY MENU STYLING ========== */
.bva-categories-menu ul {
	display: flex;
	white-space: wrap;
	overflow-x: auto;
	align-items: center;
	justify-content: center;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 30px;
	-ms-overflow-style: none; /* IE & Edge */
	scrollbar-width: none; /* Firefox */
}

.bva-categories-menu ul::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera */
}

.bva-categories-menu li {
	position: relative;
	font-size: var(--font-size-14);
	font-family: var(--font-arial);
	text-transform: uppercase;
	letter-spacing: 1.4px;
}

.bva-categories-menu li::after {
	content: '|';
	position: absolute;
	top: 50%;
	right: -26px;
	transform: translateY(-50%);
	color: #aaa;
	margin: 0 8px;
	user-select: none;
	pointer-events: none;
}
.bva-categories-menu li:last-child:after {
	display: none;
}

.bva-categories-menu a {
	text-decoration: none;
	color: #000;
	transition: color 0.3s ease;
}

.bva-categories-menu a:hover {
	color: #b27457;
}

/* === FEATURED PRODUCTS SECTION === */
/* Center the grid container horizontally */
.bva-featured-products {
	padding: 0 0 100px 20px;
	background-color: var(--color-white);
	display: flex;
	justify-content: center;
	box-sizing: border-box;
}

.bva-featured-products .bva-container {
	display: block;
	max-width: 1200px;
	width: 100%;
	margin: auto;
	margin: 0 20px;
	box-sizing: border-box;
}

/* Product grid */
.bva-products-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 70px 30px;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	justify-items: center;
	box-sizing: border-box;
}

/* === PRODUCT CARD STYLING === */
/* Individual product card */
.bva-product-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.bva-product-content {
	flex-grow: 1;
}

.bva-product-content a {
	display: block;
}
.bva-product-content a img {
	transition: all 0.4s;
}
.bva-product-content a:hover img {
	transform: scale(1.06);
}

.bva-product-footer {
	margin-top: auto;
	display: flex;
	justify-content: left;
}

.bva-product-img {
	width: 100%;
	height: 290px !important;
	max-width: 100% !important;
	object-fit: contain;
	margin: 0;
}

.bva-stars-img {
	height: 14px;
	margin: 0px auto;
}

/* === SHARED PRODUCT/ARTICLE UPPERCASE STYLES === */
.bva-product-subtitle {
	height: 57px;
}
.bva-product-subtitle,
.bva-article-uppercase {
	color: var(--color-black);
	font-family: var(--font-arial) !important;
	font-size: var(--font-size-14) !important;
	line-height: 19px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	margin-top: 10px !important;
}

.bva-product-title,
h3.bva-article-h3 {
	font-size: var(--font-size-22) !important;
	font-family: var(--font-arial-bold) !important;
	margin-bottom: 14px;
	text-align: left;
}

/* === SHARED PRICE & INFO TEXT === */
p.bva-product-info,
p.bva-product-price,
p.bva-article-info {
	font-size: var(--font-size-18) !important;
	font-family: var(--font-arial) !important;
	line-height: 1.5em !important;
	letter-spacing: 1.5px !important;
	color: var(--color-black);
}

/* CSS for consecutive product info paragraphs */
.bva-product-card p.bva-product-info,
.bva-product-card p.bva-product-price {
	display: inline;
}

.bva-product-card p.bva-product-info + p.bva-product-price::before {
	content: ' | ';
	padding: 0 5px;
}

.bva-product-cta,
.bva-point-btn,
.bva-article-cta {
	display: inline-block;
	font-size: var(--font-size-CTA);
	font-family: var(--font-arial-bold);
	text-decoration: none;
	color: var(--color-white);
	transition: background 0.3s;
	background-color: var(--color-vitamine);
	border: none;
	padding: 12px 20px; /* slightly reduced padding */
	border-radius: 100px;
	cursor: pointer;
	box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);
	width: auto; /* ensures CTA adapts to text size */
	max-width: 100%;
	white-space: nowrap;
	margin-top: auto;
}

.bva-product-cta:hover {
	background-color: var(--color-vitamine-hover);
}

/* Added margin bottom for product details container */
.bva-product-details {
	margin-bottom: 15px;
}

/* === POINT DE VUE SECTION === */

/* .bva-point-title color retained below, .bva-point-subtitle covered by shared subtitle styles */
.bva-point-title {
	color: var(--color-white) !important;
}

.bva-point-de-vue {
	background-color: #523e3c;
	color: white;
	padding: 80px 30px;
	text-align: center;
}

.bva-point-de-vue .bva-container {
	max-width: 1200px;
	margin: 0 auto;
}

.bva-point-columns {
	display: flex;
	gap: 40px;
	text-align: left;
	justify-content: center;
	flex-wrap: wrap;
}

.bva-point-col {
	flex: 1 1 400px;
	max-width: 500px;
}

.bva-point-col p {
	margin-bottom: 20px;
	font-size: var(--font-size-20);
	font-family: var(--font-arial);
	color: var(--color-white) !important;
	line-height: 1.5;
}

.bva-point-btn-container {
	margin-top: 40px;
}

.bva-point-btn {
	color: #ffffff !important;
}

.bva-point-btn:hover {
	background-color: var(--color-vitamine-hover);
}

p.bva-article-p {
	font-size: var(--font-size-22);
	font-family: var(--font-arial-bold);
	margin-bottom: 14px;
}

.bva-article-cta {
	margin-top: 40px;
}

/* === POPULAR ARTICLES SECTION === */

.bva-popular-articles {
	background-color: var(--color-white);
	margin: 50px 80px;
	text-align: center;
}

/* Article grid */
.bva-articles-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 50px 30px;
	margin-top: 30px;
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
}

.bva-popular-articles .bva-container {
	overflow-x: hidden;
}

/* Individual article card */
.bva-article-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
}

/* Article image */
.bva-article-img {
	width: 100%;
	max-width: 500px;
	height: auto;
	object-fit: contain;
	padding-bottom: 20px;
}

/* Add spacing between price and CTA in product card */
.bva-product-card .bva-product-price {
	margin-bottom: 15px !important;
}

.bva-discover-product {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-myrtille-100);
	width: auto;
	padding: 30px;
	height: auto;
	margin: auto;
	text-align: center;
}

/* === CUSTOMER REVIEWS SECTION === */

.bva-review-summary {
	padding: 80px 20px;
	background-color: var(--color-white);
	text-align: center;
}

.bva-review-summary .bva-container {
	max-width: 1200px;
	margin: 0 auto;
}

.bva-module-review {
	width: 82%;
	margin: auto;
}

a.bva-discover-btn {
	color: var(--color-white) !important;
	text-decoration: none;
	font-family: var(--font-arial-bold);
	padding: 20px;
	border: 2px solid;
	font-size: var(--font-size-18);
}

/* === RESPONSIVE STYLES ======
============================= */

/* === MOBILE 768 PX MAX WIDTH === */

@media (max-width: 767px) {
	.bva-product-nav {
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.bva-articles-grid {
		width: 100% !important;
	}

	.bva-product-nav .bva-section-title::after,
	.bva-product-nav .bva-section-title::before,
	h2.bva-article-title::before,
	h2.bva-article-title::after {
		display: none;
	}

	.bva-product-nav {
		padding: 40px 15px 30px;
	}

	.bva-product-nav .bva-section-title {
		font-size: var(--font-size-35);
	}

	.bva-products-grid {
		gap: 40px 20px;
	}

	.bva-featured-products {
		padding: 0px 0 50px 0 !important;
	}
	.bva-product-footer {
		justify-content: center;
	}

	.bva-product-title,
	.bva-product-subtitle,
	.bva-product-info {
		text-align: center;
	}

	.bva-popular-articles {
		margin: 50px 30px !important;
	}

	.bva-products-grid,
	.bva-popular-articles {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 30px 15px;
		justify-items: center;
	}

	.bva-article-img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	.bva-discover-product {
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: var(--color-myrtille-100);
		width: 100vw;
		padding: 30px;
		height: auto;
		margin: auto;
		text-align: center;
	}

	a.bva-discover-btn {
		color: var(--color-white) !important;
		text-decoration: none;
		font-family: var(--font-arial-bold);
		padding: 20px;
		border: 2px solid;
		font-size: var(--font-size-18);
	}

	a.bva-discover-btn:hover {
		background-color: var(--color-vitamine-hover);
	}

	.bva-customer-title::before,
	.bva-customer-title::after {
		display: none;
	}

	.bva-product-card {
		text-align: center;
	}

	/* === CUSTOMER REVIEWS SECTION === */

	.bva-module-review {
		width: 100%;
	}

	.bva-categories-menu ul {
		display: none;
	}
}

/* === TABLETS ======
============================= */

@media (min-width: 768px) and (max-width: 1024px) {
	.bva-categories-menu ul {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.bva-categories-menu ul {
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none; /* Firefox */
	}

	.bva-categories-menu ul::-webkit-scrollbar {
		display: none; /* Chrome, Safari, Opera */
	}

	.bva-products-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.bva-product-card {
		display: flex;
		flex-direction: column;
	}

	.bva-product-img {
		margin-bottom: 10px;
	}

	.bva-point-de-vue {
		padding: 40px !important;
	}

	.bva-module-review {
		width: 100%;
	}
}

/* === TABLETS : IPAD PRO  ======
============================= */
@media (min-width: 768px) and (min-height: 1366px) {
	.bva-featured-products {
		padding: 0 0px 100px 20px;
	}

	.bva-products-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.bva-product-content {
		text-align: left;
		flex-grow: 1;
	}
	.bva-module-review {
		width: 100%;
	}
}
