/* AJAX Navigation Loader Styles */
#main-content.is-loading {
	position: relative;
	opacity: 0.6;
	pointer-events: none;
}

#main-content.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #3498db;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	z-index: 1000;
}

@keyframes spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}

.brand-set {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	line-height: 0;
	flex-wrap: nowrap;
}

/* Home grocery refresh inspired by modern food storefront layouts. */
.grocery-choice-card--green {
	background: #7ba429 !important;
}

.grocery-choice-card--orange {
	background: #da562e !important;
}

.grocery-choice-card__visual::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.04) 54%, rgba(0, 0, 0, 0) 100%);
}

.grocery-promo-grid {
	padding: 2.25rem 0 0.75rem;
	background: #fff;
}

.grocery-promo-stack {
	display: grid;
	gap: 1rem;
	height: 100%;
}

.grocery-promo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: 100%;
	padding: 1.6rem;
	overflow: hidden;
	border-radius: 8px;
	color: #fff;
	background: #7ba429;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.09);
}

.grocery-promo--large {
	min-height: 300px;
}

.grocery-promo--orange {
	background: #da562e;
}

.grocery-promo--gold {
	background: linear-gradient(135deg, #f8c533 0%, #f47b20 100%);
	color: #3b220d;
}

.grocery-promo__kicker {
	display: inline-flex;
	margin-bottom: 0.6rem;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.88;
}

.grocery-promo h2,
.grocery-promo h3 {
	max-width: 13ch;
	margin: 0 0 0.65rem;
	color: inherit;
	font-weight: 800;
	line-height: 1.04;
}

.grocery-promo h2 {
	font-size: clamp(2rem, 3.4vw, 3.15rem);
}

.grocery-promo h3 {
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.grocery-promo p {
	max-width: 28rem;
	color: rgba(255, 255, 255, 0.86);
	line-height: 1.65;
}

.grocery-promo--gold p {
	color: rgba(59, 34, 13, 0.76);
}

.grocery-promo a:not(.btn) {
	color: inherit;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.grocery-promo__btn {
	border-radius: 999px;
	font-weight: 800;
}

.grocery-promo img {
	position: relative;
	z-index: 1;
	width: min(42%, 260px);
	max-height: 240px;
	object-fit: contain;
	filter: drop-shadow(0 22px 32px rgba(0, 0, 0, 0.18));
}

.grocery-promo--compact img {
	width: min(38%, 170px);
	max-height: 150px;
}

.grocery-category-card {
	position: relative;
	min-height: 205px;
	padding: 0;
	justify-content: flex-end;
	overflow: hidden;
	background: #172033;
	color: #fff;
}

.grocery-category-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(23, 32, 51, 0.04) 0%, rgba(23, 32, 51, 0.72) 100%);
	pointer-events: none;
}

.grocery-category-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.grocery-category-card__image img {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	transition: transform 0.32s ease;
}

.grocery-category-card:hover .grocery-category-card__image img {
	transform: scale(1.06);
}

.grocery-category-card__image span {
	width: 100%;
	height: 100%;
	border-radius: 0;
	background: linear-gradient(135deg, #7ba429 0%, #da562e 100%);
	color: #fff;
}

.grocery-category-card__count,
.grocery-category-card__title {
	position: relative;
	z-index: 1;
	padding-inline: 1rem;
	color: #fff !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.24);
}

.grocery-category-card__title {
	margin-bottom: 1rem;
	font-size: 1.08rem;
}

.grocery-category-card__count {
	margin-bottom: 0.2rem;
	color: #f8c533 !important;
}

.grocery-deal {
	padding: 1.5rem 0 4rem;
	background: #fff;
}

.grocery-deal__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
	align-items: center;
	gap: 2rem;
	padding: 2rem;
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(123, 164, 41, 0.12), rgba(218, 86, 46, 0.12)),
		#fffdf8;
	border: 1px solid rgba(23, 32, 51, 0.08);
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.08);
}

.grocery-deal__copy h2 {
	max-width: 16ch;
	margin: 0 0 0.8rem;
	color: var(--brand-ink);
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.03;
	font-weight: 800;
}

.grocery-deal__copy p {
	max-width: 34rem;
	color: var(--brand-muted);
	line-height: 1.75;
}

.grocery-deal__timer {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 1.25rem 0 1.4rem;
}

.grocery-deal__timer span {
	display: grid;
	place-items: center;
	min-width: 78px;
	min-height: 74px;
	padding: 0.65rem;
	border-radius: 8px;
	background: #fff;
	border: 1px solid rgba(23, 32, 51, 0.08);
	color: var(--brand-muted);
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
}

.grocery-deal__timer strong {
	display: block;
	color: #da562e;
	font-size: 1.55rem;
	line-height: 1;
}

.grocery-deal__media {
	display: grid;
	place-items: center;
	min-height: 320px;
	border-radius: 8px;
	background: #fff;
}

.grocery-deal__media img {
	width: 100%;
	max-height: 300px;
	object-fit: contain;
	filter: drop-shadow(0 24px 35px rgba(23, 32, 51, 0.12));
}

.grocery-section--new {
	padding-top: 4rem;
	background: #fff;
}

.grocery-service-strip {
	padding: 0 0 4rem;
	background: #fff;
}

.grocery-service {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.85rem;
	row-gap: 0.1rem;
	align-items: center;
	height: 100%;
	padding: 1.15rem;
	border-radius: 8px;
	background: #fffdf8;
	border: 1px solid rgba(23, 32, 51, 0.08);
}

.grocery-service i {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #7ba429;
	color: #fff;
}

.grocery-service strong {
	color: var(--brand-ink);
	font-weight: 800;
}

.grocery-service span {
	color: var(--brand-muted);
	font-size: 0.9rem;
}

.catalog-category-card__photo {
	position: relative;
	display: block;
	width: 100%;
	height: 132px;
	margin: -1.25rem -1.25rem 0.9rem;
	overflow: hidden;
	background: linear-gradient(135deg, #7ba429 0%, #da562e 100%);
	color: #fff;
	font-size: 2rem;
	font-weight: 800;
	line-height: 132px;
}

.catalog-category-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.32s ease;
}

.catalog-category-card:hover .catalog-category-card__photo img,
.catalog-category-card.active .catalog-category-card__photo img {
	transform: scale(1.05);
}

@media (max-width: 991.98px) {
	.grocery-promo,
	.grocery-promo--large {
		min-height: 240px;
	}

	.grocery-deal__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575.98px) {
	.grocery-promo {
		align-items: flex-start;
		min-height: 220px;
		padding: 1.2rem;
	}

	.grocery-promo img {
		position: absolute;
		right: -1.2rem;
		bottom: -0.6rem;
		width: 48%;
		opacity: 0.86;
	}

	.grocery-category-card {
		min-height: 170px;
	}

	.grocery-deal__inner {
		padding: 1.2rem;
	}

	.grocery-deal__media {
		min-height: 230px;
	}
}

.grocery-choice-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 1rem 0 1.2rem;
}

.grocery-choice-card__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0.35rem 0.7rem;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
}

.grocery-company-flow {
	padding: 3.25rem 0;
	background: #fff;
}

.grocery-company-flow__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 2rem;
	align-items: center;
}

.grocery-company-flow__intro h2 {
	max-width: 13ch;
	margin: 0 0 0.8rem;
	color: var(--brand-ink, #172033);
	font-size: clamp(2rem, 4vw, 3.35rem);
	font-weight: 800;
	line-height: 1.02;
}

.grocery-company-flow__intro p {
	max-width: 33rem;
	margin: 0;
	color: var(--brand-muted, #64748b);
	line-height: 1.75;
}

.grocery-company-flow__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.grocery-company-card {
	position: relative;
	display: grid;
	align-content: start;
	min-height: 300px;
	padding: 1.35rem;
	overflow: hidden;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px solid rgba(23, 32, 51, 0.08);
	box-shadow: 0 16px 38px rgba(23, 32, 51, 0.08);
}

.grocery-company-card::after {
	content: "";
	position: absolute;
	inset: auto -30px -54px auto;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: rgba(248, 197, 51, 0.22);
}

.grocery-company-card--green {
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.1), #fff);
}

.grocery-company-card--orange {
	background: linear-gradient(135deg, rgba(227, 6, 19, 0.08), #fff);
}

.grocery-company-card__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 1rem;
	border-radius: 8px;
	background: var(--brand-green, #4c8438);
	color: #fff;
}

.grocery-company-card--orange .grocery-company-card__icon {
	background: var(--brand-red, #e30613);
}

.grocery-company-card img {
	width: 112px;
	height: 66px;
	margin-bottom: 1rem;
	object-fit: contain;
	border-radius: 8px;
	background: #fff;
	border: 1px solid rgba(23, 32, 51, 0.08);
}

.grocery-company-card h3 {
	margin: 0 0 0.45rem;
	color: var(--brand-ink, #172033);
	font-size: 1.3rem;
	font-weight: 800;
}

.grocery-company-card p {
	margin: 0 0 1rem;
	color: var(--brand-muted, #64748b);
	line-height: 1.55;
}

.grocery-company-card a {
	position: relative;
	z-index: 1;
	align-self: end;
	color: var(--brand-red, #e30613);
	font-weight: 800;
	text-decoration: none;
}

.grocery-empty-state {
	display: grid;
	place-items: center;
	gap: 0.7rem;
	min-height: 180px;
	padding: 1.5rem;
	border-radius: 8px;
	background: #fff;
	border: 1px dashed rgba(23, 32, 51, 0.18);
	color: var(--brand-muted, #64748b);
	text-align: center;
}

.grocery-empty-state i {
	color: var(--brand-red, #e30613);
	font-size: 2rem;
}

.grocery-empty-state p {
	max-width: 34rem;
	margin: 0;
}

.grocery-home > section > .container,
.grocery-home > section > .container-fluid > .container {
	width: min(100% - 32px, 1600px);
	max-width: 1600px;
}

.grocery-product-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1.25rem;
	align-items: stretch;
}

.grocery-product-grid__item {
	min-width: 0;
	height: 100%;
}

.grocery-product-grid__item .grocery-product-card {
	height: 100%;
}

@media (max-width: 991.98px) {
	.grocery-company-flow__inner {
		grid-template-columns: 1fr;
	}

	.grocery-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.grocery-company-flow__grid {
		grid-template-columns: 1fr;
	}

	.grocery-company-card {
		min-height: 250px;
	}

	.grocery-home > section > .container,
	.grocery-home > section > .container-fluid > .container {
		width: min(100% - 20px, 1600px);
	}

	.grocery-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.85rem;
	}
}

/* Dense full-width home bands requested for a more complete storefront feel. */
.grocery-home {
	background: #fff;
}

.grocery-choices--lead {
	padding: 2.2rem 0;
	background: #fff7ed;
	border-bottom: 1px solid rgba(23, 32, 51, 0.08);
}

.grocery-choices--lead .grocery-choice-card {
	min-height: 250px;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.12);
}

.grocery-promo-grid,
.grocery-section--process,
.grocery-section--trending,
.grocery-section--promo,
.grocery-store-banner {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.grocery-section--advantages,
.grocery-section--categories,
.grocery-section--new,
.grocery-deal,
.grocery-service-strip {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.grocery-promo-grid {
	background: linear-gradient(180deg, #fff 0%, #f6faf0 100%);
}

.grocery-section--advantages {
	background: #f7fafc;
	border-block: 1px solid rgba(23, 32, 51, 0.06);
}

.grocery-section--process {
	background: #fff;
}

.grocery-section--categories {
	background: #fff7ed !important;
}

.grocery-section--new {
	background: #f8fafc !important;
}

.grocery-section--trending {
	background: #fff !important;
}

.grocery-deal {
	background: linear-gradient(135deg, #f6faf0 0%, #fff7ed 100%);
}

.grocery-section--promo {
	background: #172033;
}

.grocery-service-strip {
	background: #f8fafc;
	border-top: 1px solid rgba(23, 32, 51, 0.06);
}

.grocery-store-banner {
	background: #fff;
}

.grocery-section__header {
	margin-bottom: 1.45rem;
}

.grocery-feature-card,
.grocery-step-card,
.grocery-service,
.grocery-product-card,
.grocery-category-card {
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.07);
}

.grocery-promo-panel {
	box-shadow: none;
}

@media (max-width: 991.98px) {
	.grocery-choices--lead,
	.grocery-promo-grid,
	.grocery-section--advantages,
	.grocery-section--process,
	.grocery-section--categories,
	.grocery-section--new,
	.grocery-section--trending,
	.grocery-deal,
	.grocery-section--promo,
	.grocery-service-strip,
	.grocery-store-banner {
		padding-top: 2.35rem;
		padding-bottom: 2.35rem;
	}
}

@media (max-width: 575.98px) {
	.grocery-choices--lead .grocery-choice-card {
		min-height: 220px;
	}
}

/* Home professional content blocks. */
.grocery-section--process {
	padding: 4rem 0;
	background: #fff;
}

.grocery-step-card {
	position: relative;
	height: 100%;
	padding: 1.65rem;
	border: 1px solid rgba(23, 32, 51, 0.08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.06);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.grocery-step-card:hover {
	transform: translateY(-4px);
	border-color: rgba(218, 86, 46, 0.28);
	box-shadow: 0 24px 54px rgba(23, 32, 51, 0.1);
}

.grocery-step-card span {
	position: absolute;
	top: 1.15rem;
	right: 1.25rem;
	color: rgba(23, 32, 51, 0.1);
	font-size: 2.15rem;
	font-weight: 900;
	line-height: 1;
}

.grocery-step-card i {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: rgba(123, 164, 41, 0.12);
	color: #7ba429;
	font-size: 1.35rem;
}

.grocery-step-card h3 {
	margin: 0 0 0.55rem;
	color: var(--brand-ink, #172033);
	font-size: 1.08rem;
	font-weight: 800;
}

.grocery-step-card p {
	margin: 0;
	color: var(--brand-muted, #64748b);
	line-height: 1.65;
}

.grocery-section--new {
	padding-bottom: 3.4rem;
}

.grocery-service-strip {
	padding-top: 0.5rem;
}

.grocery-service {
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.grocery-service:hover {
	transform: translateY(-3px);
	border-color: rgba(123, 164, 41, 0.25);
	box-shadow: 0 18px 38px rgba(23, 32, 51, 0.08);
}

.grocery-deal {
	padding-top: 3.5rem;
}

.grocery-deal__timer span {
	text-align: center;
}

@media (max-width: 991.98px) {
	.grocery-section--process {
		padding: 3rem 0;
	}
}

@media (max-width: 575.98px) {
	.grocery-step-card {
		padding: 1.35rem;
	}

	.grocery-step-card span {
		font-size: 1.85rem;
	}
}

/* Carousel storefront pass. */
.grocery-section--categories {
	padding-top: 3rem;
	padding-bottom: 2.25rem;
	background: #fff;
}

.grocery-section--trending {
	padding-top: 3.4rem;
	padding-bottom: 3.6rem;
	background: #f8f3ed !important;
}

.grocery-category-carousel,
.grocery-products-carousel {
	position: relative;
	margin-top: 1rem;
}

.grocery-category-carousel .owl-stage,
.grocery-products-carousel .owl-stage {
	display: flex;
}

.grocery-category-carousel .owl-stage-outer,
.grocery-products-carousel .owl-stage-outer {
	padding: 0.15rem 0 1rem;
}

.grocery-category-carousel .owl-item,
.grocery-products-carousel .owl-item,
.grocery-carousel__slide {
	display: flex;
	height: auto;
}

.grocery-category-carousel .grocery-category-card-link,
.grocery-products-carousel .grocery-product-card {
	width: 100%;
}

.grocery-category-carousel .owl-nav,
.grocery-products-carousel .owl-nav {
	display: flex;
	justify-content: center;
	gap: 0.65rem;
	margin-top: 1.2rem;
}

.grocery-category-carousel .owl-nav button.owl-prev,
.grocery-category-carousel .owl-nav button.owl-next,
.grocery-products-carousel .owl-nav button.owl-prev,
.grocery-products-carousel .owl-nav button.owl-next {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff !important;
	border: 1px solid rgba(23, 32, 51, 0.12) !important;
	color: #172033 !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.08);
}

.grocery-category-carousel .owl-nav button:hover,
.grocery-products-carousel .owl-nav button:hover {
	background: #da562e !important;
	border-color: #da562e !important;
	color: #fff !important;
}

.grocery-products-carousel .owl-nav {
	margin-top: 1.75rem;
}

.grocery-product-card {
	min-height: 360px;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
}

.grocery-product-card:hover {
	transform: none;
	box-shadow: none !important;
}

.grocery-product-card__media {
	min-height: 185px;
	aspect-ratio: auto;
	padding: 1.2rem 1.2rem 0.5rem;
	background: #fff !important;
}

.grocery-product-card__badge,
.grocery-product-card__category {
	display: none;
}

.grocery-product-card__image {
	max-height: 155px;
	object-fit: contain;
}

.grocery-product-card:hover .grocery-product-card__image {
	transform: none;
}

.grocery-product-card__body {
	align-items: center;
	gap: 0.38rem;
	padding: 0.75rem 1rem 0.8rem;
	text-align: center;
}

.grocery-product-card__title {
	min-height: 2.8em;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.35;
}

.grocery-product-card__price {
	color: #da562e;
	font-size: 0.95rem;
	justify-content: center;
}

.grocery-product-card__price .amount,
.grocery-product-card__price .sale {
	color: #da562e !important;
}

.grocery-product-card__actions {
	position: relative;
	width: calc(100% + 2rem);
	margin: 0.45rem -1rem 0;
	padding-top: 0.6rem;
	border-top: 1px solid #ece7df;
}

.grocery-product-card__action {
	width: 2.05rem;
	height: 2.05rem;
	border-color: #e2e8f0;
	box-shadow: none;
	color: #8b94a3;
}

.grocery-product-card__rating {
	margin-top: 0.15rem;
	color: #f5aa00;
	font-size: 0.82rem;
}

.grocery-store-banner {
	padding: 3.4rem 0 4.2rem;
	background: #fff;
}

.grocery-store-banner__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) auto;
	align-items: center;
	gap: 1.5rem;
	max-width: 980px;
	min-height: 210px;
	margin: 0 auto;
	padding: 2.2rem 2.7rem;
	overflow: hidden;
	border-radius: 8px;
	background: #7ba429;
	color: #fff;
	box-shadow: 0 24px 50px rgba(23, 32, 51, 0.1);
}

.grocery-store-banner__copy {
	position: relative;
	z-index: 1;
}

.grocery-store-banner__copy span {
	display: inline-flex;
	padding: 0.46rem 1.3rem;
	border-radius: 999px;
	background: #ffeb3d;
	color: #172033;
	font-size: 0.9rem;
	font-weight: 700;
}

.grocery-store-banner__copy h2 {
	margin: 0.85rem 0 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.9rem, 4vw, 2.7rem);
	line-height: 1.08;
	font-weight: 400;
}

.grocery-store-banner__inner img {
	position: relative;
	z-index: 1;
	width: 100%;
	max-height: 180px;
	object-fit: contain;
	filter: drop-shadow(0 20px 28px rgba(0, 0, 0, 0.18));
}

.grocery-store-banner__btn {
	position: relative;
	z-index: 1;
	border-radius: 999px;
	padding: 0.88rem 1.45rem;
	font-weight: 800;
	text-transform: uppercase;
}

@media (max-width: 991.98px) {
	.grocery-store-banner__inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.grocery-store-banner__inner img {
		max-height: 170px;
	}
}

@media (max-width: 575.98px) {
	.grocery-section--trending {
		padding-inline: 0;
	}

	.grocery-product-card {
		min-height: 330px;
	}

	.grocery-store-banner__inner {
		padding: 1.4rem;
	}
}

.brand-set__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	flex: 0 0 70px;
}

.brand-set__logo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#header .brand-set--header .brand-set__item {
	width: 70px;
	height: 70px;
	flex-basis: 70px;
}

#footer .brand-set--footer .brand-set__item {
	width: 70px;
	height: 70px;
	flex-basis: 70px;
}

@media (max-width: 991.98px) {
	#header .brand-set--header {
		gap: 0.4rem;
	}

	#header .brand-set--header .brand-set__item,
	#footer .brand-set--footer .brand-set__item {
		width: 58px;
		height: 58px;
		flex-basis: 58px;
	}
}

@media (max-width: 575.98px) {
	#header .brand-set--header .brand-set__item,
	#footer .brand-set--footer .brand-set__item {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
	}
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 1030;
	background: #fff;
	box-shadow: 0 8px 26px rgba(15, 23, 42, 0.08);
}

.site-header__top {
	background: linear-gradient(90deg, #102231 0%, #1f78b8 100%);
	color: #fff;
	font-size: 0.86rem;
	font-weight: 600;
}

.site-header__top-inner,
.site-header__top-info,
.site-header__top-actions,
.site-header__main-inner,
.site-header__tools,
.site-header__nav-list {
	display: flex;
	align-items: center;
}

.site-header__top-inner {
	min-height: 42px;
	justify-content: space-between;
	gap: 1rem;
}

.site-header__top-info,
.site-header__top-actions {
	gap: 1.25rem;
}

.site-header__top a {
	color: inherit;
	text-decoration: none;
}

.site-header__top i {
	margin-right: 0.4rem;
	font-size: 0.78rem;
}

.site-header__contact {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 1.2rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.22);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.site-header__lang {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #fff;
	color: #1f78b8;
	font-weight: 800;
}

.site-header__main {
	background: #fff;
}

.site-header__main-inner {
	min-height: 92px;
	gap: 1.5rem;
	justify-content: space-between;
}

.site-header__brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	text-decoration: none;
}

.site-header__brand .brand-set__item {
	width: 74px;
	height: 74px;
	flex-basis: 74px;
}

.site-header__search {
	display: flex;
	align-items: center;
	flex: 1 1 520px;
	max-width: 620px;
	height: 46px;
	border: 1px solid #d8e2ec;
	border-radius: 999px;
	background: #f8fbfd;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.site-header__search:focus-within {
	border-color: #1f78b8;
	box-shadow: 0 0 0 4px rgba(31, 120, 184, 0.12);
}

.site-header__search input {
	flex: 1;
	min-width: 0;
	height: 100%;
	padding: 0 1.15rem;
	border: 0;
	background: transparent;
	color: #102231;
	outline: 0;
	font-size: 0.95rem;
}

.site-header__search button {
	display: grid;
	place-items: center;
	width: 52px;
	height: 100%;
	border: 0;
	background: #1f78b8;
	color: #fff;
	cursor: pointer;
}

.site-header__tools {
	gap: 0.55rem;
	flex: 0 0 auto;
}

.site-header__tool,
.site-header__menu-toggle {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid #e1e9f0;
	background: #fff;
	color: #102231;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.site-header__tool:hover,
.site-header__tool:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	background: #1f78b8;
	border-color: #1f78b8;
	color: #fff;
}

.site-header__cart .cart-qty {
	position: absolute;
	top: -4px;
	right: -4px;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: #e21c23;
	color: #fff;
	font-size: 0.68rem;
	font-weight: 800;
}

.site-header__menu-toggle {
	display: none;
	cursor: pointer;
}

.site-header__nav {
	display: block;
	background: #f8fbfd;
	border-top: 1px solid #edf2f6;
	border-bottom: 1px solid #e5edf4;
}

.site-header__nav-list {
	min-height: 54px;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: center;
	gap: 0.25rem;
}

.site-header__nav-list .nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: 54px;
	padding: 0 1rem;
	color: #102231;
	font-size: 0.9rem;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0;
}

.site-header__nav-list .nav-link::after {
	content: "";
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 0;
	height: 3px;
	border-radius: 999px 999px 0 0;
	background: #1f78b8;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.2s ease;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus,
.site-header__nav-list .nav-link.active {
	color: #1f78b8;
}

.site-header__nav-list .nav-link:hover::after,
.site-header__nav-list .nav-link:focus::after,
.site-header__nav-list .nav-link.active::after {
	transform: scaleX(1);
}

@media (min-width: 992px) {
	.site-header__nav.collapse {
		display: block !important;
		height: auto !important;
		visibility: visible;
	}
}

@media (max-width: 991.98px) {
	.site-header__top-inner {
		min-height: 38px;
	}

	.site-header__top-info span {
		display: none;
	}

	.site-header__main-inner {
		min-height: 82px;
		gap: 0.8rem;
		flex-wrap: wrap;
	}

	.site-header__brand .brand-set__item {
		width: 58px;
		height: 58px;
		flex-basis: 58px;
	}

	.site-header__search {
		order: 3;
		flex-basis: 100%;
		max-width: none;
		height: 42px;
		margin-bottom: 0.75rem;
	}

	.site-header__menu-toggle {
		display: grid;
	}

	.site-header__nav {
		display: none;
	}

	.site-header__nav.show,
	.site-header__nav.collapsing {
		display: block;
	}

	.site-header__nav-list {
		align-items: stretch;
		min-height: 0;
		padding: 0.6rem 0;
		flex-direction: column;
		gap: 0;
	}

	.site-header__nav-list .nav-link {
		width: 100%;
		height: auto;
		min-height: 44px;
		padding: 0.75rem 0.25rem;
	}

	.site-header__nav-list .nav-link::after {
		left: 0;
		right: auto;
		top: 0.75rem;
		bottom: 0.75rem;
		width: 3px;
		height: auto;
		transform: scaleY(0);
	}

	.site-header__nav-list .nav-link:hover::after,
	.site-header__nav-list .nav-link:focus::after,
	.site-header__nav-list .nav-link.active::after {
		transform: scaleY(1);
	}
}

@media (max-width: 575.98px) {
	.site-header__top-actions {
		gap: 0.5rem;
	}

	.site-header__contact {
		display: none;
	}

	.site-header__tools {
		gap: 0.35rem;
	}

	.site-header__tool,
	.site-header__menu-toggle {
		width: 38px;
		height: 38px;
	}
}

.grocery-home {
	background: linear-gradient(180deg, #fff 0%, #fff8f2 18%, #ffffff 52%);
}

.grocery-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 18%, rgba(255, 196, 92, 0.55) 0%, rgba(255, 196, 92, 0) 42%),
		radial-gradient(circle at 12% 88%, rgba(151, 33, 12, 0.45) 0%, rgba(151, 33, 12, 0) 46%),
		linear-gradient(135deg, #ff8a3d 0%, #f36b21 38%, #e2481b 72%, #c4350f 100%);
	color: #fff;
}

.grocery-hero::before,
.grocery-hero::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 70%);
	pointer-events: none;
}

.grocery-hero::before {
	width: 420px;
	height: 420px;
	top: -140px;
	right: -120px;
}

.grocery-hero::after {
	width: 240px;
	height: 240px;
	left: -90px;
	bottom: -80px;
}

.grocery-hero__content {
	position: relative;
	z-index: 1;
	padding: 4.5rem 0;
}

.grocery-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 1rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.15);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.grocery-hero__title {
	font-size: clamp(2.5rem, 5vw, 4.9rem);
	line-height: 0.96;
	margin: 1rem 0 1rem;
	font-weight: 800;
	max-width: 11ch;
}

.grocery-hero__lead {
	font-size: 1.1rem;
	line-height: 1.8;
	max-width: 35rem;
	opacity: 0.94;
}

.grocery-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.grocery-hero__btn {
	border-radius: 999px;
	padding: 0.9rem 1.4rem;
	font-weight: 700;
}

.grocery-hero__metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.grocery-hero__metric {
	padding: 0.75rem 1rem;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
	font-weight: 700;
}

.grocery-hero__visual {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
}

.grocery-hero__bubble {
	position: absolute;
	border-radius: 32px;
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.12);
	backdrop-filter: blur(12px);
}

.grocery-hero__bubble--main {
	width: min(100%, 430px);
	padding: 2rem;
	text-align: center;
}

.grocery-hero__bubble--small {
	padding: 0.8rem 1rem;
	font-weight: 700;
	font-size: 0.95rem;
}

.grocery-hero__bubble--left {
	left: 0;
	bottom: 40px;
	transform: rotate(-8deg);
}

.grocery-hero__bubble--right {
	right: 0;
	top: 30px;
	transform: rotate(7deg);
}

.grocery-hero__visual-card {
	display: grid;
	gap: 1.25rem;
	place-items: center;
	padding: 2rem;
	border-radius: 32px;
	background: #fff;
	color: #1b1b1b;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
}

.grocery-hero__visual-card img {
	max-width: 100%;
	height: auto;
}

.grocery-hero__promo-image {
	max-height: 220px;
	width: auto;
	object-fit: contain;
}

.grocery-hero__logo-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.grocery-hero__logo-grid img {
	max-height: 70px;
	width: auto;
	object-fit: contain;
}

.grocery-category-card {
	border-radius: 22px;
	background: #fff;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.grocery-category-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
}

.grocery-category-card__icon,
.grocery-category-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 84px;
	margin-bottom: 0.9rem;
}

.grocery-category-card__icon img,
.grocery-category-card__image img {
	max-height: 72px;
	width: auto;
	object-fit: contain;
}

.grocery-category-card__title {
	font-size: 1.02rem;
	font-weight: 800;
	margin-bottom: 0.35rem;
	color: #1b1b1b;
}

.grocery-category-card__text {
	color: #666;
	font-size: 0.92rem;
}

.grocery-strip {
	background: #fff;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.grocery-strip__item {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.8rem 1rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: #535353;
}

.grocery-strip__dot {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: #f36b21;
	flex: 0 0 auto;
}

.grocery-section {
	padding: 4.5rem 0;
}

.grocery-section__header {
	margin-bottom: 2rem;
}

.grocery-section__kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #f36b21;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 0.65rem;
}

.grocery-section__title {
	font-size: clamp(1.9rem, 3vw, 3rem);
	line-height: 1.1;
	font-weight: 800;
	margin: 0;
}

.grocery-section__lead {
	max-width: 46rem;
	margin: 0.75rem auto 0;
	color: #626262;
	line-height: 1.8;
}

.grocery-brand-card {
	position: relative;
	height: 100%;
	padding: 1.5rem;
	border-radius: 28px;
	background: linear-gradient(180deg, #fff 0%, #fffdf9 100%);
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.grocery-brand-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, rgba(243, 107, 33, 0.12), transparent 40%);
	pointer-events: none;
}

.grocery-brand-card__logo {
	display: block;
	max-height: 70px;
	width: auto;
	object-fit: contain;
	margin-bottom: 1rem;
}

.grocery-brand-card__title {
	font-size: 1.35rem;
	font-weight: 800;
	margin-bottom: 0.35rem;
}

.grocery-brand-card__text {
	color: #616161;
	line-height: 1.7;
	margin-bottom: 1rem;
}

.grocery-brand-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.grocery-product-card {
	display: flex;
	flex-direction: column;
	border-radius: 24px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.05);
}

.grocery-product-card__media {
	position: relative;
	background: linear-gradient(180deg, #fff7f2 0%, #fff 100%);
	padding: 1rem;
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.grocery-product-card__badge {
	position: absolute;
	left: 1rem;
	top: 1rem;
	z-index: 2;
	background: #f36b21;
	color: #fff;
	padding: 0.45rem 0.75rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.grocery-product-card__image-link {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.grocery-product-card__image {
	display: block;
	width: 100%;
	max-height: 180px;
	object-fit: contain;
}

.grocery-product-card__quick-view {
	position: absolute;
	left: 50%;
	bottom: 1rem;
	transform: translateX(-50%);
	z-index: 2;
	padding: 0.5rem 0.9rem;
	border-radius: 999px;
	background: rgba(27, 27, 27, 0.9);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
}

.grocery-product-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1rem 1rem 1.1rem;
}

.grocery-product-card__category {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	font-weight: 700;
	color: #f36b21;
	text-decoration: none;
}

.grocery-product-card__title {
	font-size: 1.05rem;
	line-height: 1.35;
	margin: 0;
	font-weight: 700;
}

.grocery-product-card__title a {
	color: #222;
	text-decoration: none;
}

.grocery-product-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.35rem;
}

.grocery-product-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem;
	font-weight: 700;
}

.grocery-product-card__price .sale {
	color: #e21c23;
}

.grocery-product-card__price .amount {
	color: #1c1c1c;
}

.grocery-product-card__price .amount.text-decoration-line-through,
.grocery-product-card__price .amount:not(.text-decoration-line-through) {
	opacity: 0.85;
}

.grocery-product-card__cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: #f36b21;
	color: #fff;
	text-decoration: none;
	flex: 0 0 auto;
}

.grocery-product-card__cart:hover,
.grocery-product-card__cart:focus,
.grocery-product-card__quick-view:hover,
.grocery-product-card__quick-view:focus {
	opacity: 0.92;
	color: #fff;
}

@media (max-width: 991.98px) {
	.grocery-hero__content {
		padding: 3.25rem 0 2rem;
	}

	.grocery-hero__visual {
		min-height: 320px;
	}

	.grocery-hero__bubble--main {
		padding: 1.5rem;
	}

	.grocery-hero__bubble--left {
		left: 0.5rem;
		bottom: 12px;
	}

	.grocery-hero__bubble--right {
		right: 0.5rem;
		top: 12px;
	}

	.grocery-brand-card,
	.grocery-product-card {
		border-radius: 22px;
	}
}

@media (max-width: 575.98px) {
	.grocery-hero__title {
		max-width: none;
		font-size: clamp(2.1rem, 11vw, 3rem);
	}

	.grocery-hero__lead {
		font-size: 1rem;
	}

	.grocery-hero__visual {
		min-height: 250px;
	}

	.grocery-hero__bubble--main {
		width: 100%;
	}

	.grocery-product-card__media {
		min-height: 180px;
	}
}

.grocery-home {
	overflow-x: clip;
}

.grocery-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(90deg, #f9b233 0%, #f5871f 27%, #ee5a1d 50%, #f5871f 73%, #f9b233 100%);
	color: #fff;
}

.grocery-hero::before,
.grocery-hero::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

.grocery-hero::before {
	inset: auto auto -160px -180px;
	width: 340px;
	height: 340px;
	background: rgba(255, 255, 255, 0.05);
}

.grocery-hero::after {
	top: 6%;
	right: -120px;
	width: 360px;
	height: 360px;
	background: rgba(255, 255, 255, 0.04);
}

.grocery-hero__content {
	position: relative;
	z-index: 1;
	padding: 2.5rem 0 2.25rem;
}

.grocery-hero__carousel {
	position: relative;
}

.grocery-hero__slide {
	padding: 0.25rem 0 0.5rem;
}

.grocery-hero__slide .row {
	min-height: 440px;
}

.grocery-hero__eyebrow {
	padding: 0.45rem 0.9rem;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 0.74rem;
	letter-spacing: 0.1em;
}

.grocery-hero__title {
	color: #fff;
	font-size: clamp(2.35rem, 4.7vw, 4.35rem);
	line-height: 0.98;
	max-width: 12ch;
	margin: 0.9rem 0 0.85rem;
}

.grocery-hero__lead {
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.98rem;
	line-height: 1.7;
	max-width: 31rem;
}

.grocery-hero__btn {
	border-radius: 999px;
	padding: 0.78rem 1.2rem;
	font-size: 0.94rem;
	font-weight: 700;
}

.grocery-hero__metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1.35rem;
}

.grocery-hero__metric {
	padding: 0.55rem 0.85rem;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
	font-size: 0.88rem;
	font-weight: 700;
}

.grocery-hero__visual {
	position: relative;
	min-height: 430px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.grocery-hero__visual::before {
	content: "";
	position: absolute;
	inset: 12% 8% 10% 10%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.02) 52%, rgba(255, 255, 255, 0) 72%);
	filter: blur(20px);
}

.grocery-hero__floating-badge {
	position: absolute;
	top: 12%;
	right: 10%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	padding: 0.85rem;
	border-radius: 50%;
	background: #ffdc2f;
	color: #5f2c16;
	font-weight: 800;
	font-size: 0.72rem;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-align: center;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.16);
	transform: rotate(12deg);
}

.grocery-hero__visual-image {
	position: relative;
	z-index: 1;
	width: min(100%, 620px);
	max-width: 620px;
	height: auto;
	filter: drop-shadow(0 40px 65px rgba(0, 0, 0, 0.18));
}

.grocery-hero__visual-image--alt {
	filter: drop-shadow(0 40px 65px rgba(0, 0, 0, 0.18)) saturate(0.96) hue-rotate(-10deg);
}

.grocery-hero__visual-image--bright {
	filter: drop-shadow(0 40px 65px rgba(0, 0, 0, 0.18)) brightness(1.03) saturate(1.1);
}

.grocery-hero__carousel .owl-dots {
	display: flex;
	justify-content: center;
	gap: 0.35rem;
	margin-top: 1.1rem;
}

.grocery-hero__carousel .owl-dot span {
	width: 0.58rem;
	height: 0.58rem;
	margin: 0;
	background: rgba(255, 255, 255, 0.38);
	transition: all 0.2s ease;
}

.grocery-hero__carousel .owl-dot.active span {
	width: 1.35rem;
	background: #fff;
}

.grocery-hero__carousel .owl-nav {
	display: none;
}

.grocery-section--carousel {
	padding-bottom: 4rem;
}

.grocery-products-carousel {
	position: relative;
	margin-top: 1rem;
}

.grocery-carousel__slide {
	height: 100%;
	padding: 0.25rem;
}

.grocery-products-carousel .owl-stage {
	display: flex;
}

.grocery-products-carousel .owl-stage-outer {
	padding: 0.25rem 0 1rem;
}

.grocery-products-carousel .owl-nav {
	margin-top: 1.25rem;
}

.grocery-products-carousel .owl-nav button.owl-prev,
.grocery-products-carousel .owl-nav button.owl-next {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	color: #f36b21;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

.grocery-products-carousel .owl-nav button.owl-prev:hover,
.grocery-products-carousel .owl-nav button.owl-next:hover {
	background: #f36b21;
	color: #fff;
}

.grocery-product-card__image {
	max-height: 205px;
	object-position: center;
}

@media (max-width: 991.98px) {
	.grocery-hero__content {
		padding: 3rem 0 2rem;
	}

	.grocery-hero__slide .row {
		min-height: auto;
	}

	.grocery-hero__visual {
		min-height: 320px;
		margin-top: 1.5rem;
	}

	.grocery-hero__floating-badge {
		top: 8%;
		right: 6%;
		width: 78px;
		height: 78px;
		font-size: 0.68rem;
	}

	.grocery-brand-card,
	.grocery-product-card {
		border-radius: 22px;
	}
}

@media (max-width: 575.98px) {
	.grocery-hero__title {
		max-width: none;
		font-size: clamp(2rem, 11.5vw, 3rem);
	}

	.grocery-hero__lead {
		font-size: 0.95rem;
	}

	.grocery-hero__visual {
		min-height: 250px;
	}

	.grocery-hero__metric {
		width: 100%;
	}

	.grocery-product-card__media {
		min-height: 190px;
	}
}

.grocery-choices {
	padding: 1rem 0 1rem;
}

.grocery-band {
	padding: 0;
	background: #fff;
	border-top: 1px solid #edf0f4;
	border-bottom: 1px solid #edf0f4;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.grocery-band__inner {
	max-width: 100%;
	margin: 0 auto;
	padding: 0.25rem 0;
	overflow: hidden;
}

.grocery-band__carousel {
	padding: 0.55rem 1.25rem;
}

.grocery-band__carousel .owl-stage {
	display: flex;
	align-items: center;
}

.grocery-band__carousel .owl-item {
	display: flex;
	align-items: center;
}

.grocery-band__slide {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	white-space: nowrap;
	color: #3e4451;
	font-size: 0.96rem;
	line-height: 1.35;
	padding: 0.2rem 0.15rem;
}

.grocery-band__sep,
.grocery-band__text {
	flex: 0 0 auto;
}

.grocery-band__sep {
	color: #6b7280;
	font-size: 1.3rem;
	line-height: 1;
	opacity: 0.9;
}

.grocery-band__accent {
	color: #ef4444;
	font-weight: 700;
}

.grocery-choice-card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	min-height: 232px;
	padding: 1.55rem 1.55rem 1.55rem 1.65rem;
	border-radius: 20px;
	overflow: hidden;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.06);
	background: transparent;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1);
	isolation: isolate;
}

.grocery-choice-card::before,
.grocery-choice-card::after {
	content: none;
}

.grocery-choice-card--green {
	background: #7ba429;
}

.grocery-choice-card--orange {
	background: #da562e;
}

.grocery-choice-card__content {
	position: relative;
	z-index: 1;
	flex: 1 1 44%;
	max-width: 44%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
	text-align: left;
}

.grocery-choice-card__brand {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 0.55rem;
	max-width: 86px;
}

.grocery-choice-card__brand img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.grocery-choice-card__title {
	font-size: clamp(1.55rem, 2.8vw, 2.15rem);
	line-height: 1;
	font-weight: 800;
	margin: 0 0 0.25rem;
	max-width: 10ch;
	color: #fff;
}

.grocery-choice-card__eyebrow {
	margin: 0 0 0.6rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.84);
}

.grocery-choice-card__text {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	max-width: 18rem;
	margin-bottom: 1.05rem;
}

.grocery-choice-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	align-items: center;
	justify-content: flex-start;
}

.grocery-choice-card__btn {
	border-radius: 999px;
	padding: 0.78rem 1.15rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.grocery-choice-card__visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.grocery-choice-card__visual-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: none;
}

.grocery-section--categories {
	padding-top: 3.5rem;
}

.grocery-section--trending {
	padding-top: 4rem;
	padding-bottom: 4.5rem;
	background: linear-gradient(180deg, #fbf7f2 0%, #ffffff 100%);
}

.grocery-title-accent {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

.grocery-category-card-link {
	display: block;
	height: 100%;
	text-decoration: none;
}

.grocery-category-card {
	height: 100%;
	min-height: 165px;
	padding: 1.4rem 1rem 1.25rem;
	border-radius: 22px;
	background: #fbf7ef;
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.grocery-category-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 38px rgba(15, 23, 42, 0.1);
	background: #fff;
}

.grocery-category-card__icon,
.grocery-category-card__image {
	display: grid;
	place-items: center;
	width: 78px;
	height: 78px;
	margin-bottom: 0.9rem;
}

.grocery-category-card__icon img,
.grocery-category-card__image img {
	max-width: 58px;
	max-height: 58px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.grocery-category-card__image span {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #ffffff;
	color: #7aa51e;
	font-size: 1.6rem;
	font-weight: 800;
}

.grocery-category-card__count {
	display: inline-flex;
	align-items: center;
	margin-bottom: 0.25rem;
	color: #e21c23;
	font-size: 0.9rem;
	font-weight: 700;
}

.grocery-category-card__title {
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 700;
	margin: 0;
	color: #111827;
}

.grocery-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #fff;
	border-radius: 24px;
	border: 1px solid rgba(15, 23, 42, 0.06);
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.grocery-product-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 60px rgba(15, 23, 42, 0.12);
}

.grocery-product-card__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 1rem;
	background: linear-gradient(180deg, #ffffff 0%, #fdfbf7 100%);
}

.grocery-product-card__badge {
	position: absolute;
	left: 1rem;
	top: 1rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: 0.38rem 0.72rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #e30613 0%, #ff7a00 100%);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow: 0 12px 24px rgba(227, 6, 19, 0.2);
}

.grocery-product-card__image-link {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}

.grocery-product-card__image {
	display: block;
	width: 100%;
	max-height: 220px;
	object-fit: contain;
	transition: transform 0.32s ease;
}

.grocery-product-card:hover .grocery-product-card__image {
	transform: scale(1.05);
}

.grocery-product-card__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
	padding: 1rem 1rem 1.15rem;
	text-align: center;
}

.grocery-product-card__category {
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: #f36b21;
	text-decoration: none;
}

.grocery-product-card__title {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.4;
	font-weight: 700;
}

.grocery-product-card__title a {
	color: #111827;
	text-decoration: none;
}

.grocery-product-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 0.05rem;
	font-weight: 700;
}

.grocery-product-card__price .sale {
	color: #e21c23;
}

.grocery-product-card__price .amount {
	color: #1c1c1c;
}

.grocery-product-card__price .amount.text-decoration-line-through,
.grocery-product-card__price .amount:not(.text-decoration-line-through) {
	opacity: 0.86;
}

.grocery-product-card__actions {
	position: static;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;
	transform: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	margin-top: 0.15rem;
}

.grocery-product-card__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	border-radius: 50%;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	color: #475569;
	text-decoration: none;
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
	transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}

.grocery-product-card__action:hover,
.grocery-product-card__action:focus {
	transform: translateY(-2px);
	background: #e30613;
	border-color: #e30613;
	color: #fff;
}

.grocery-product-card__rating {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.18rem;
	margin-top: 0.1rem;
	color: #f5b000;
	font-size: 0.9rem;
	line-height: 1;
}

.grocery-home__cta {
	letter-spacing: 0.08em;
	font-weight: 800;
}

@media (max-width: 991.98px) {
	.grocery-band__carousel {
		padding-inline: 1rem;
	}

	.grocery-choice-card {
		padding: 1.35rem 1.25rem 1.35rem 1.35rem;
		min-height: auto;
	}

	.grocery-choice-card__content {
		max-width: 54%;
	}
}

@media (max-width: 575.98px) {
	.grocery-band__carousel {
		padding-inline: 0.75rem;
	}

	.grocery-band__slide {
		gap: 0.7rem;
		font-size: 0.84rem;
	}

	.grocery-choice-card__title {
		max-width: none;
		font-size: clamp(1.65rem, 9vw, 2.1rem);
	}

	.grocery-choice-card__text {
		font-size: 0.88rem;
		max-width: 15rem;
	}

	.grocery-category-card {
		min-height: 150px;
	}

	.grocery-product-card__image {
		max-height: 185px;
	}

	.grocery-product-card__body {
		padding: 0.9rem 0.85rem 1rem;
	}
}

:root {
	--brand-red: #e30613;
	--brand-red-dark: #9f0710;
	--brand-green: #4c8438;
	--brand-green-dark: #37672b;
	--brand-yellow: #f8c533;
	--brand-orange: #f47b20;
	--brand-ink: #172033;
	--brand-muted: #64748b;
	--brand-surface: #fffaf5;
	--primary: var(--brand-red);
	--primary-100: #c90512;
	--primary-200: #b10410;
	--primary-300: #94030d;
	--accent: var(--brand-orange);
}

.btn-primary,
.btn-accent,
.bg-color-primary,
.bg-primary {
	background-color: var(--brand-red) !important;
	border-color: var(--brand-red) !important;
	color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-accent:hover,
.btn-accent:focus {
	background-color: var(--brand-red-dark) !important;
	border-color: var(--brand-red-dark) !important;
	color: #fff !important;
}

.text-color-primary,
.text-primary {
	color: var(--brand-red) !important;
}

.site-header__top {
	background: linear-gradient(90deg, var(--brand-green-dark) 0%, var(--brand-red) 68%, var(--brand-orange) 100%);
}

.site-header__lang {
	color: var(--brand-red);
}

.site-header__search:focus-within {
	border-color: var(--brand-green);
	box-shadow: 0 0 0 4px rgba(76, 132, 56, 0.14);
}

.site-header__search button,
.site-header__tool:hover,
.site-header__tool:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	background: var(--brand-red);
	border-color: var(--brand-red);
}

.site-header__nav-list .nav-link::after {
	background: var(--brand-red);
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus,
.site-header__nav-list .nav-link.active {
	color: var(--brand-red);
}

.grocery-home {
	background: linear-gradient(180deg, #fff 0%, #fffaf1 22%, #ffffff 58%);
}

.grocery-hero {
	background: linear-gradient(135deg, var(--brand-green-dark) 0%, var(--brand-red) 58%, var(--brand-orange) 100%);
}

.grocery-hero__floating-badge {
	background: var(--brand-yellow);
	color: #4c250f;
}

.grocery-section__kicker,
.grocery-product-card__category {
	color: var(--brand-red);
}

.grocery-band__accent,
.grocery-category-card__count,
.grocery-product-card__price .sale {
	color: var(--brand-red);
}

.grocery-choice-card--green {
	background: linear-gradient(135deg, var(--brand-green) 0%, var(--brand-green-dark) 100%);
}

.grocery-choice-card--orange {
	background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-orange) 100%);
}

.grocery-choice-card,
.grocery-category-card,
.grocery-product-card,
.grocery-brand-card,
.offer-product-card,
.offers-sidebar,
.offers-showcase,
.metric-card,
.spotlight-card,
.catalog-sidebar,
.catalog-empty-state,
.catalog-category-card,
.product-detail-media,
.product-detail-summary,
.product-info-panel,
.category-search-panel {
	border-radius: 8px !important;
}

.grocery-product-card__badge,
.offer-product-card__badge {
	background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-orange) 100%);
}

.grocery-product-card__action:hover,
.grocery-product-card__action:focus {
	background: var(--brand-red);
	border-color: var(--brand-red);
}

.catalog-hero {
	padding: 2rem 0 2.6rem;
	background:
		linear-gradient(135deg, rgba(55, 103, 43, 0.94) 0%, rgba(227, 6, 19, 0.92) 62%, rgba(244, 123, 32, 0.92) 100%),
		url("../img/landing/pattern.png");
	background-size: cover;
	color: #fff;
}

.catalog-hero--categories {
	background:
		linear-gradient(135deg, rgba(76, 132, 56, 0.94) 0%, rgba(227, 6, 19, 0.9) 72%, rgba(248, 197, 51, 0.88) 100%),
		url("../img/landing/pattern.png");
	background-size: cover;
}

.catalog-breadcrumb {
	margin-bottom: 1.5rem;
}

.catalog-breadcrumb .breadcrumb-item,
.catalog-breadcrumb .breadcrumb-item a {
	color: rgba(255, 255, 255, 0.86);
	text-decoration: none;
}

.catalog-breadcrumb .breadcrumb-item.active {
	color: #fff;
	font-weight: 700;
}

.catalog-hero__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
}

.catalog-kicker {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.22);
	color: inherit;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.catalog-hero h1 {
	max-width: 12ch;
	margin: 0.85rem 0 0.7rem;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.7rem);
	line-height: 1;
	font-weight: 800;
}

.catalog-hero p {
	max-width: 42rem;
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.7;
}

.catalog-hero__metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(90px, 1fr));
	gap: 0.7rem;
	min-width: min(100%, 360px);
}

.catalog-hero--categories .catalog-hero__metrics {
	grid-template-columns: repeat(2, minmax(90px, 1fr));
}

.catalog-hero__metrics div {
	padding: 0.9rem;
	background: rgba(23, 32, 51, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
}

.catalog-hero__metrics strong,
.catalog-hero__metrics span {
	display: block;
}

.catalog-hero__metrics strong {
	color: #fff;
	font-size: 1.45rem;
	line-height: 1;
	font-weight: 800;
}

.catalog-hero__metrics span {
	margin-top: 0.35rem;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.76rem;
	font-weight: 700;
	text-transform: uppercase;
}

.catalog-body,
.catalog-categories-section,
.product-detail-content,
.product-related-section {
	padding: 3rem 0;
	background: linear-gradient(180deg, #fffaf5 0%, #ffffff 100%);
}

.catalog-sidebar,
.category-search-panel,
.product-info-panel {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.catalog-sidebar {
	position: sticky;
	top: 1rem;
	overflow: hidden;
}

.catalog-filter-form {
	padding: 1rem;
}

.catalog-filter-form__header {
	padding: 0.9rem;
	margin: -1rem -1rem 1rem;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.1), rgba(227, 6, 19, 0.08));
	border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.catalog-filter-form__header h2,
.catalog-toolbar h2,
.product-info-panel h2 {
	margin: 0.45rem 0 0;
	color: var(--brand-ink);
	font-size: 1.25rem;
	font-weight: 800;
}

.catalog-filter-section {
	padding: 1rem 0;
	border-bottom: 1px solid #eef2f7;
}

.catalog-filter-section:last-of-type {
	border-bottom: 0;
}

.catalog-filter-title {
	display: block;
	margin-bottom: 0.65rem;
	color: var(--brand-ink);
	font-size: 0.92rem;
	font-weight: 800;
}

.catalog-search {
	display: flex;
	gap: 0.5rem;
}

.catalog-search .form-control,
.catalog-filter-form .form-select {
	min-height: 44px;
	border-color: #e2e8f0;
	border-radius: 8px;
}

.catalog-search .btn {
	border-radius: 8px;
	white-space: nowrap;
}

.catalog-category-list,
.catalog-category-list ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.catalog-category-list ul {
	margin: 0.25rem 0 0.45rem 0.7rem;
	padding-left: 0.7rem;
	border-left: 2px solid #edf2f7;
}

.catalog-category-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	padding: 0.45rem 0.55rem;
	border-radius: 8px;
	color: #475569;
	text-decoration: none;
	font-size: 0.92rem;
	font-weight: 700;
	transition: background 0.2s ease, color 0.2s ease;
}

.catalog-category-list a:hover,
.catalog-category-list a.active {
	background: rgba(227, 6, 19, 0.08);
	color: var(--brand-red);
}

.catalog-category-list small {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.8rem;
	min-height: 1.45rem;
	padding: 0 0.45rem;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
	font-size: 0.72rem;
}

.catalog-brand-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.catalog-brand-list a,
.offers-brand {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.75rem;
	border-radius: 999px;
	background: #f1f5f9;
	color: #334155;
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 800;
}

.catalog-brand-list a:hover,
.catalog-brand-list a.active,
.offers-brand:hover,
.offers-brand.active {
	background: var(--brand-red);
	color: #fff;
}

.catalog-check {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.7rem 0.75rem;
	margin-bottom: 0.55rem;
	border: 1px solid #eef2f7;
	border-radius: 8px;
	background: #f8fafc;
	color: #334155;
	font-weight: 700;
}

.form-check-input:checked {
	background-color: var(--brand-red);
	border-color: var(--brand-red);
}

.catalog-toolbar,
.catalog-active-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.catalog-toolbar__count {
	padding: 0.65rem 0.9rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
	color: var(--brand-ink);
	font-weight: 800;
}

.catalog-active-filters {
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 0.9rem 1rem;
	border-radius: 8px;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
}

#active-filters-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.38rem 0.68rem;
	border: 1px solid rgba(227, 6, 19, 0.16);
	border-radius: 999px;
	background: rgba(227, 6, 19, 0.08);
	color: var(--brand-red);
	font-size: 0.86rem;
	font-weight: 800;
	cursor: pointer;
}

.catalog-muted {
	color: var(--brand-muted);
	font-size: 0.9rem;
}

.catalog-category-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 210px;
	height: 100%;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	color: var(--brand-ink);
	text-align: center;
	text-decoration: none;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.catalog-category-card:hover,
.catalog-category-card.active {
	transform: translateY(-4px);
	border-color: rgba(227, 6, 19, 0.24);
	box-shadow: 0 24px 55px rgba(15, 23, 42, 0.11);
}

.catalog-category-card__icon {
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	margin-bottom: 0.85rem;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.12), rgba(248, 197, 51, 0.2));
	color: var(--brand-green);
	font-size: 1.8rem;
	font-weight: 800;
}

.catalog-category-card__icon img {
	max-width: 58px;
	max-height: 58px;
	object-fit: contain;
}

.catalog-category-card__count {
	color: var(--brand-red);
	font-size: 0.88rem;
	font-weight: 800;
}

.catalog-category-card strong {
	margin-top: 0.35rem;
	font-size: 1.05rem;
	line-height: 1.3;
}

.catalog-category-card small {
	margin-top: 0.35rem;
	color: var(--brand-muted);
}

.catalog-category-content {
	margin-top: 2.5rem;
}

.catalog-empty-state {
	padding: 2.4rem 1.4rem;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	text-align: center;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.catalog-empty-state h3 {
	color: var(--brand-ink);
	font-weight: 800;
}

.catalog-empty-state p {
	color: var(--brand-muted);
}

.catalog-empty-state--error {
	border-color: rgba(227, 6, 19, 0.24);
}

.catalog-loader {
	width: 2.4rem;
	height: 2.4rem;
	margin: 0 auto 1rem;
	border: 3px solid #ffe2d6;
	border-top-color: var(--brand-red);
	border-radius: 50%;
	animation: catalog-spin 0.8s linear infinite;
}

@keyframes catalog-spin {
	to {
		transform: rotate(360deg);
	}
}

.subcategory-nav {
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: 8px;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
}

.subcategory-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.subcategory-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.85rem;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #334155;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 800;
}

.subcategory-item:hover,
.subcategory-item.active {
	background: var(--brand-red);
	border-color: var(--brand-red);
	color: #fff;
}

.subcategory-item .badge {
	background: #fff;
	color: var(--brand-red);
}

.category-search-panel {
	padding: 1rem;
	margin-bottom: 1.5rem;
}

.product-detail-page {
	background: #fff;
}

.product-detail-hero {
	padding: 2rem 0 3rem;
	background: linear-gradient(180deg, #fffaf5 0%, #ffffff 100%);
}

.product-breadcrumb {
	margin-bottom: 1.5rem;
}

.product-breadcrumb a {
	color: var(--brand-red);
	text-decoration: none;
	font-weight: 700;
}

.product-detail-media {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 430px;
	padding: 2rem;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.08), rgba(248, 197, 51, 0.18));
	border: 1px solid rgba(15, 23, 42, 0.08);
}

.product-detail-media img {
	display: block;
	width: 100%;
	max-height: 380px;
	object-fit: contain;
}

.product-detail-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.75rem;
	border-radius: 999px;
	background: var(--brand-red);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 800;
}

.product-detail-badge--green {
	background: var(--brand-green);
}

.product-detail-summary {
	padding: 2rem;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.product-detail-category {
	display: inline-flex;
	margin-bottom: 0.8rem;
	color: var(--brand-red);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.product-detail-summary h1 {
	margin: 0;
	color: var(--brand-ink);
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.05;
	font-weight: 800;
}

.product-detail-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.1rem 0;
}

.product-detail-price strong {
	color: var(--brand-red);
	font-size: 1.8rem;
	font-weight: 800;
}

.product-detail-price del {
	color: #94a3b8;
	font-weight: 700;
}

.product-detail-description {
	color: #475569;
	line-height: 1.75;
}

.product-detail-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 1.4rem 0;
}

.product-detail-meta div,
.product-info-list li {
	padding: 0.75rem;
	border-radius: 8px;
	background: #f8fafc;
	border: 1px solid #eef2f7;
}

.product-detail-meta dt,
.product-info-list span {
	color: var(--brand-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.product-detail-meta dd,
.product-info-list strong {
	margin: 0.25rem 0 0;
	color: var(--brand-ink);
	font-weight: 800;
}

.product-detail-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.product-info-panel {
	height: 100%;
	padding: 1.4rem;
}

.product-info-panel__text {
	color: #475569;
	line-height: 1.8;
}

.product-info-list {
	display: grid;
	gap: 0.65rem;
	padding: 0;
	margin: 1rem 0 0;
	list-style: none;
}

@media (max-width: 991.98px) {
	.catalog-hero__inner,
	.catalog-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.catalog-sidebar {
		position: relative;
		top: auto;
	}

	.catalog-hero__metrics {
		width: 100%;
	}
}

@media (max-width: 575.98px) {
	.catalog-search,
	.product-detail-actions {
		flex-direction: column;
	}

	.catalog-search .btn {
		width: 100%;
	}

	.catalog-hero__metrics,
	.catalog-hero--categories .catalog-hero__metrics,
	.product-detail-meta {
		grid-template-columns: 1fr;
	}

	.product-detail-media {
		min-height: 300px;
		padding: 1rem;
	}

	.product-detail-summary {
		padding: 1.2rem;
	}
}

/* Final brand pass: keep the storefront aligned with the red, green and gold in the logos. */
:root {
	--brand-red: #e30613;
	--brand-red-dark: #a60812;
	--brand-green: #4c8438;
	--brand-green-dark: #37672b;
	--brand-gold: #f8c533;
	--brand-orange: #f47b20;
	--brand-ink: #172033;
	--brand-muted: #64748b;
	--brand-surface: #fffdf8;
	--brand-line: rgba(23, 32, 51, 0.09);
	--primary: var(--brand-red);
	--primary-100: #c90512;
	--primary-200: #b10410;
	--primary-300: #94030d;
	--accent: var(--brand-orange);
}

body {
	background: #fff;
	color: var(--brand-ink);
}

.brand-set {
	gap: 0;
	padding: 0.32rem 0.42rem;
	border: 1px solid rgba(76, 132, 56, 0.18);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 12px 30px rgba(23, 32, 51, 0.08);
}

.brand-set__item {
	width: 96px;
	height: 58px;
	flex: 0 0 96px;
}

.brand-set__separator {
	width: 1px;
	height: 42px;
	margin: 0 0.48rem;
	flex: 0 0 1px;
	border-radius: 999px;
	background: linear-gradient(
		180deg,
		rgba(76, 132, 56, 0) 0%,
		rgba(76, 132, 56, 0.55) 20%,
		rgba(227, 6, 19, 0.68) 52%,
		rgba(248, 197, 51, 0.58) 82%,
		rgba(248, 197, 51, 0) 100%
	);
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 100px;
	height: 60px;
	flex-basis: 100px;
}

#footer .brand-set--footer {
	padding: 0.22rem 0.32rem;
	box-shadow: none;
}

#footer .brand-set--footer .brand-set__item {
	width: 82px;
	height: 50px;
	flex-basis: 82px;
}

#footer .brand-set--footer .brand-set__separator {
	height: 34px;
	margin-inline: 0.38rem;
}

.footer-brand-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.site-header {
	background: #fff;
	border-bottom: 1px solid rgba(76, 132, 56, 0.14);
	box-shadow: 0 14px 36px rgba(23, 32, 51, 0.08);
}

.site-header__top {
	background: linear-gradient(90deg, var(--brand-green-dark) 0%, var(--brand-green) 25%, var(--brand-red) 68%, var(--brand-orange) 100%);
}

.site-header__main {
	position: relative;
	background: linear-gradient(180deg, #fff 0%, var(--brand-surface) 100%);
}

.site-header__main::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brand-green) 0%, var(--brand-red) 56%, var(--brand-gold) 100%);
}

.site-header__brand {
	padding-block: 0.15rem;
}

.site-header__search {
	border-color: rgba(76, 132, 56, 0.24);
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(248, 197, 51, 0.1);
}

.site-header__search:focus-within {
	border-color: var(--brand-green);
	box-shadow: 0 0 0 4px rgba(76, 132, 56, 0.14);
}

.site-header__search input {
	color: var(--brand-ink);
}

.site-header__search button,
.site-header__tool:hover,
.site-header__tool:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-orange) 100%);
	border-color: var(--brand-red);
	color: #fff;
}

.site-header__tool,
.site-header__menu-toggle {
	border-color: rgba(76, 132, 56, 0.18);
	color: var(--brand-ink);
}

.site-header__cart .cart-qty {
	background: var(--brand-green);
	border: 2px solid #fff;
}

.site-header__nav {
	background: #fff;
	border-top: 0;
	border-bottom-color: rgba(76, 132, 56, 0.13);
}

.site-header__nav-list .nav-link {
	color: var(--brand-ink);
}

.site-header__nav-list .nav-link::after {
	background: linear-gradient(90deg, var(--brand-green) 0%, var(--brand-red) 56%, var(--brand-gold) 100%);
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus,
.site-header__nav-list .nav-link.active {
	color: var(--brand-red);
}

.btn-primary,
.btn-accent,
.bg-color-primary,
.bg-primary {
	background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-orange) 100%) !important;
	border-color: var(--brand-red) !important;
	color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-accent:hover,
.btn-accent:focus {
	background: linear-gradient(135deg, var(--brand-red-dark) 0%, var(--brand-red) 100%) !important;
	border-color: var(--brand-red-dark) !important;
	color: #fff !important;
}

.text-color-primary,
.text-primary,
.grocery-section__kicker,
.grocery-product-card__category,
.grocery-band__accent,
.grocery-category-card__count,
.grocery-product-card__price .sale {
	color: var(--brand-red) !important;
}

.grocery-home {
	background: linear-gradient(180deg, #fff 0%, var(--brand-surface) 24%, #fff 62%);
}

.grocery-hero {
	background:
		radial-gradient(circle at 82% 18%, rgba(248, 197, 51, 0.34) 0, rgba(248, 197, 51, 0) 28%),
		radial-gradient(circle at 12% 86%, rgba(76, 132, 56, 0.26) 0, rgba(76, 132, 56, 0) 30%),
		linear-gradient(135deg, var(--brand-green-dark) 0%, var(--brand-red) 58%, var(--brand-orange) 100%);
}

.grocery-hero__eyebrow,
.grocery-hero__metric {
	border-color: rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.15);
}

.grocery-hero__floating-badge {
	background: linear-gradient(135deg, var(--brand-gold) 0%, #fff067 100%);
	color: #5a270f;
}

.grocery-choice-card--green {
	background:
		radial-gradient(circle at 84% 18%, rgba(248, 197, 51, 0.28), transparent 28%),
		linear-gradient(135deg, var(--brand-green) 0%, var(--brand-green-dark) 100%);
}

.grocery-choice-card--orange {
	background:
		radial-gradient(circle at 82% 18%, rgba(248, 197, 51, 0.26), transparent 30%),
		linear-gradient(135deg, var(--brand-red) 0%, var(--brand-orange) 100%);
}

.grocery-product-card__badge,
.offer-product-card__badge {
	background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-orange) 100%);
}

.grocery-product-card__action:hover,
.grocery-product-card__action:focus,
.subcategory-item:hover,
.subcategory-item.active,
.catalog-brand-list a:hover,
.catalog-brand-list a.active,
.offers-brand:hover,
.offers-brand.active {
	background: var(--brand-red);
	border-color: var(--brand-red);
	color: #fff;
}

.catalog-hero,
.catalog-hero--categories {
	background:
		linear-gradient(135deg, rgba(55, 103, 43, 0.94) 0%, rgba(227, 6, 19, 0.91) 62%, rgba(248, 197, 51, 0.78) 100%),
		url("../img/landing/pattern.png");
	background-size: cover;
}

.catalog-sidebar,
.category-search-panel,
.product-info-panel,
.product-detail-summary,
.product-detail-media,
.grocery-category-card,
.grocery-product-card,
.grocery-brand-card {
	border-color: var(--brand-line);
}

.product-detail-media,
.catalog-category-card__icon {
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.1), rgba(248, 197, 51, 0.2));
}

.form-check-input:checked {
	background-color: var(--brand-red);
	border-color: var(--brand-red);
}

@media (max-width: 991.98px) {
	.brand-set {
		padding: 0.26rem 0.32rem;
	}

	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 78px;
		height: 48px;
		flex-basis: 78px;
	}

	.brand-set__separator {
		height: 34px;
		margin-inline: 0.36rem;
	}
}

@media (max-width: 575.98px) {
	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item,
	#footer .brand-set--footer .brand-set__item {
		width: 64px;
		height: 40px;
		flex-basis: 64px;
	}

	.brand-set__separator,
	#footer .brand-set--footer .brand-set__separator {
		height: 28px;
		margin-inline: 0.28rem;
	}
}

/* Header compact redesign. */
.site-header__top {
	display: none;
}

.site-header__main-inner {
	min-height: 106px;
	gap: 1rem;
}

.site-header__search {
	flex: 1 1 360px;
	max-width: 470px;
	height: 50px;
	border-radius: 8px;
}

.site-header__search button {
	width: 56px;
	font-size: 1.05rem;
}

.site-header__quick-actions {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex: 0 0 auto;
}

.site-header__info-link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 54px;
	padding: 0.48rem 0.72rem;
	border: 1px solid rgba(76, 132, 56, 0.16);
	border-radius: 8px;
	background: #fff;
	color: var(--brand-ink);
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(23, 32, 51, 0.07);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.site-header__info-link:hover,
.site-header__info-link:focus {
	transform: translateY(-2px);
	border-color: rgba(227, 6, 19, 0.28);
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.11);
	color: var(--brand-ink);
}

.site-header__info-icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 50%;
	background: rgba(76, 132, 56, 0.12);
	color: var(--brand-green);
	font-size: 0.95rem;
}

.site-header__info-link--contact .site-header__info-icon {
	background: rgba(227, 6, 19, 0.1);
	color: var(--brand-red);
}

.site-header__info-text {
	display: grid;
	gap: 0.1rem;
	line-height: 1.1;
}

.site-header__info-text small,
.site-header__info-text strong {
	white-space: nowrap;
}

.site-header__info-text small {
	color: var(--brand-muted);
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
}

.site-header__info-text strong {
	color: var(--brand-ink);
	font-size: 0.88rem;
	font-weight: 800;
}

.site-header__tools {
	gap: 0.62rem;
}

.site-header__tool,
.site-header__menu-toggle {
	width: 50px;
	height: 50px;
	border-radius: 8px;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(135deg, rgba(76, 132, 56, 0.38), rgba(227, 6, 19, 0.22), rgba(248, 197, 51, 0.42)) border-box;
	border: 1px solid transparent;
	color: var(--brand-ink);
	box-shadow: 0 12px 28px rgba(23, 32, 51, 0.08);
	font-size: 1.12rem;
}

.site-header__tool:hover,
.site-header__tool:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(227, 6, 19, 0.18);
}

.site-header__cart .cart-qty {
	top: -7px;
	right: -7px;
	min-width: 22px;
	height: 22px;
	font-size: 0.72rem;
}

@media (max-width: 1399.98px) {
	.site-header__search {
		max-width: 390px;
	}

	.site-header__info-link {
		padding-inline: 0.58rem;
	}

	.site-header__info-text small {
		display: none;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		flex-wrap: wrap;
		min-height: auto;
		padding-block: 0.85rem;
	}

	.site-header__brand {
		order: 1;
	}

	.site-header__quick-actions {
		order: 2;
		margin-left: auto;
	}

	.site-header__tools {
		order: 3;
	}

	.site-header__search {
		order: 4;
		flex: 1 1 100%;
		max-width: none;
		margin-bottom: 0;
	}
}

@media (max-width: 991.98px) {
	.site-header__main-inner {
		align-items: center;
	}

	.site-header__quick-actions {
		width: 100%;
		margin-left: 0;
		justify-content: center;
	}

	.site-header__info-link {
		flex: 1 1 0;
		justify-content: center;
		max-width: 260px;
	}

	.site-header__tools {
		margin-left: auto;
	}

	.site-header__tool,
	.site-header__menu-toggle {
		width: 46px;
		height: 46px;
	}
}

@media (max-width: 575.98px) {
	.site-header__main-inner {
		gap: 0.7rem;
		padding-block: 0.7rem;
	}

	.site-header__quick-actions {
		gap: 0.45rem;
	}

	.site-header__info-link {
		min-height: 48px;
		gap: 0.45rem;
		padding: 0.42rem 0.5rem;
	}

	.site-header__info-icon {
		width: 32px;
		height: 32px;
		flex-basis: 32px;
		font-size: 0.82rem;
	}

	.site-header__info-text strong {
		font-size: 0.76rem;
	}

	.site-header__tool,
	.site-header__menu-toggle {
		width: 42px;
		height: 42px;
		font-size: 1rem;
	}

	.site-header__cart .cart-qty {
		min-width: 20px;
		height: 20px;
	}
}

/* Reference-style menu redesign. */
.site-header {
	position: sticky;
	top: 0;
	background: #fff;
	border-bottom: 1px solid #edf0f4;
	box-shadow: none;
}

.site-header__main {
	background: #fff;
}

.site-header__main::after {
	display: none;
}

.site-header__main-inner {
	min-height: 74px;
	display: grid;
	grid-template-columns: auto minmax(340px, 520px) auto auto;
	align-items: center;
	gap: 1.35rem;
	padding-block: 0;
}

.site-header__brand {
	min-width: 0;
	padding: 0;
}

#header .brand-set--header,
.site-header__brand .brand-set {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 76px;
	height: 44px;
	flex-basis: 76px;
}

#header .brand-set--header .brand-set__separator {
	height: 28px;
	margin-inline: 0.34rem;
	background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.18) 50%, transparent 100%);
}

.site-header__search {
	display: grid;
	grid-template-columns: minmax(140px, 1fr) 190px 54px;
	align-items: stretch;
	width: 100%;
	max-width: 520px;
	height: 42px;
	margin: 0;
	overflow: hidden;
	border: 1px solid #f0f1f4;
	border-radius: 999px;
	background: #f7f7f8;
	box-shadow: none;
}

.site-header__search:focus-within {
	border-color: rgba(76, 132, 56, 0.34);
	box-shadow: 0 0 0 3px rgba(76, 132, 56, 0.1);
}

.site-header__search input,
.site-header__search select {
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	color: #6b7280;
	outline: 0;
	font-size: 0.9rem;
	font-weight: 500;
}

.site-header__search input {
	min-width: 0;
	padding: 0 1.25rem;
}

.site-header__search select {
	padding: 0 2rem 0 1rem;
	border-left: 1px solid #e7e9ee;
	appearance: auto;
	cursor: pointer;
}

.site-header__search button {
	display: grid;
	place-items: center;
	width: 54px;
	height: 100%;
	border: 0;
	border-left: 1px solid #e7e9ee;
	background: transparent;
	color: #172033;
	font-size: 1.02rem;
}

.site-header__quick-actions {
	display: flex;
	align-items: center;
	gap: 0;
}

.site-header__info-link {
	min-height: 48px;
	padding: 0;
	gap: 0.72rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #172033;
}

.site-header__info-link:hover,
.site-header__info-link:focus {
	transform: none;
	box-shadow: none;
	color: #172033;
}

.site-header__info-icon {
	width: 36px;
	height: 36px;
	flex-basis: 36px;
	border-radius: 0;
	background: transparent;
	color: #172033;
	font-size: 1.55rem;
}

.site-header__info-text small {
	display: block;
	color: #6b7280;
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.site-header__info-text strong {
	color: #172033;
	font-size: 0.98rem;
	font-weight: 900;
	line-height: 1.1;
}

.site-header__tools {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.site-header__tool {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.36rem;
	width: auto;
	height: 50px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #172033;
	font-size: 1.8rem;
	text-align: center;
}

.site-header__tool span:not(.cart-qty) {
	display: block;
	color: #172033;
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1;
}

.site-header__tool:hover,
.site-header__tool:focus {
	transform: none;
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--brand-red);
}

.site-header__cart {
	position: relative;
	width: 38px;
	font-size: 1.85rem;
}

.site-header__cart .cart-qty {
	top: 2px;
	right: -7px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border: 0;
	background: var(--brand-red);
	color: #fff;
	font-size: 0.62rem;
	font-weight: 800;
}

.site-header__menu-toggle {
	display: none;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	border: 1px solid #e7e9ee;
	background: #fff;
	box-shadow: none;
	color: #172033;
}

.site-header__nav {
	display: block;
	background: #fff;
	border-top: 1px solid #edf0f4;
	border-bottom: 1px solid #edf0f4;
}

.site-header__nav .container {
	display: flex;
	align-items: center;
}

.site-header__nav-list {
	min-height: 58px;
	justify-content: flex-start;
	gap: 0;
}

.site-header__nav-list .nav-link {
	height: 58px;
	padding: 0 1.1rem;
	color: #172033;
	font-size: 0.86rem;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.site-header__nav-list .nav-link::after {
	left: 1.1rem;
	right: 1.1rem;
	bottom: -1px;
	height: 3px;
	border-radius: 0;
	background: var(--brand-green);
	transform: scaleX(0);
	transform-origin: center;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus,
.site-header__nav-list .nav-link.active {
	color: var(--brand-green);
}

.site-header__nav-list .nav-link:hover::after,
.site-header__nav-list .nav-link:focus::after,
.site-header__nav-list .nav-link.active::after {
	transform: scaleX(1);
}

@media (min-width: 992px) {
	.site-header__nav.collapse {
		display: block !important;
		height: auto !important;
		visibility: visible;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto;
		row-gap: 0.85rem;
		padding-block: 0.75rem;
	}

	.site-header__search {
		order: 4;
		grid-column: 1 / -1;
		max-width: none;
	}

	.site-header__quick-actions {
		margin-left: auto;
	}
}

@media (max-width: 991.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto;
	}

	.site-header__quick-actions {
		width: auto;
		justify-content: flex-end;
		margin-left: auto;
	}

	.site-header__info-text {
		display: none;
	}

	.site-header__tools {
		gap: 0.7rem;
		margin-left: 0;
	}

	.site-header__tool span:not(.cart-qty) {
		display: none;
	}

	.site-header__menu-toggle {
		display: grid;
	}

	.site-header__nav {
		display: none;
	}

	.site-header__nav.show,
	.site-header__nav.collapsing {
		display: block;
	}

	.site-header__nav-list {
		align-items: stretch;
		min-height: 0;
		padding: 0.6rem 0;
		flex-direction: column;
	}

	.site-header__nav-list .nav-link {
		width: 100%;
		height: auto;
		min-height: 44px;
		padding: 0.75rem 0.25rem;
	}

	.site-header__nav-list .nav-link::after {
		left: 0;
		right: auto;
		top: 0.75rem;
		bottom: 0.75rem;
		width: 3px;
		height: auto;
		transform: scaleY(0);
	}

	.site-header__nav-list .nav-link:hover::after,
	.site-header__nav-list .nav-link:focus::after,
	.site-header__nav-list .nav-link.active::after {
		transform: scaleY(1);
	}
}

@media (max-width: 575.98px) {
	.site-header__main-inner {
		gap: 0.55rem;
	}

	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 58px;
		height: 36px;
		flex-basis: 58px;
	}

	#header .brand-set--header .brand-set__separator {
		height: 22px;
		margin-inline: 0.24rem;
	}

	.site-header__search {
		grid-template-columns: minmax(0, 1fr) 46px;
		height: 42px;
	}

	.site-header__search select {
		display: none;
	}

	.site-header__search button {
		width: 46px;
	}

	.site-header__info-icon {
		width: 32px;
		height: 32px;
		flex-basis: 32px;
		font-size: 1.25rem;
	}

	.site-header__tool,
	.site-header__cart {
		height: 42px;
		font-size: 1.45rem;
	}
}

/* Polished header proportions. */
.site-header__main-inner {
	grid-template-columns: 190px minmax(420px, 600px) 230px 128px;
	justify-content: center;
	gap: 1.55rem;
	min-height: 86px;
}

.site-header__brand {
	display: flex;
	justify-content: center;
}

#header .brand-set--header {
	width: 172px;
	justify-content: center;
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 74px;
	height: 52px;
	flex-basis: 74px;
}

#header .brand-set--header .brand-set__logo {
	object-fit: contain;
}

#header .brand-set--header .brand-set__separator {
	height: 34px;
	margin-inline: 0.42rem;
	background: linear-gradient(180deg, transparent, rgba(23, 32, 51, 0.22), transparent);
}

.site-header__search {
	grid-template-columns: minmax(0, 1fr) 210px 54px;
	max-width: 600px;
	height: 48px;
	border-color: #e6ebf1;
	background: #f8fafc;
}

.site-header__search input,
.site-header__search select {
	color: #172033;
	font-size: 0.93rem;
}

.site-header__search input::placeholder {
	color: #a0a7b2;
}

.site-header__search select {
	appearance: none;
	background:
		linear-gradient(45deg, transparent 50%, #172033 50%) calc(100% - 18px) 50% / 6px 6px no-repeat,
		linear-gradient(135deg, #172033 50%, transparent 50%) calc(100% - 13px) 50% / 6px 6px no-repeat;
	color: #475569;
}

.site-header__search button {
	background: var(--brand-red);
	color: #fff;
	border-left: 0;
	border-radius: 0 999px 999px 0;
}

.site-header__search button:hover,
.site-header__search button:focus {
	background: var(--brand-red-dark);
}

.site-header__quick-actions {
	justify-content: flex-start;
}

.site-header__info-link {
	width: 230px;
	justify-content: flex-start;
}

.site-header__info-icon {
	color: var(--brand-red);
	font-size: 1.65rem;
}

.site-header__info-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.18rem;
	min-width: 0;
}

.site-header__info-text small {
	display: block;
	color: #6b7280;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	text-transform: uppercase;
}

.site-header__info-text strong {
	display: block;
	color: #172033;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.1;
	white-space: nowrap;
}

.site-header__tools {
	justify-content: flex-start;
	gap: 0.85rem;
}

.site-header__tool {
	flex-direction: column;
	gap: 0.32rem;
	min-width: 74px;
	height: 58px;
	color: #172033;
	font-size: 1.7rem;
}

.site-header__tool span:not(.cart-qty) {
	white-space: nowrap;
	font-size: 0.82rem;
	font-weight: 600;
}

.site-header__cart {
	min-width: 42px;
	width: 42px;
	height: 58px;
	font-size: 1.9rem;
}

.site-header__cart .cart-qty {
	top: 5px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	border: 2px solid #fff;
}

.site-header__nav {
	background: #f8fafc;
}

.site-header__nav .container {
	justify-content: center;
}

.site-header__nav-list {
	min-height: 56px;
}

.site-header__nav-list .nav-link {
	height: 56px;
	padding-inline: 1.25rem;
	font-size: 0.86rem;
}

.site-header__nav-list .nav-link::after {
	left: 1.25rem;
	right: 1.25rem;
	background: var(--brand-red);
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus,
.site-header__nav-list .nav-link.active {
	color: var(--brand-red);
}

@media (max-width: 1399.98px) {
	.site-header__main-inner {
		grid-template-columns: 170px minmax(360px, 1fr) 210px 122px;
		gap: 1.1rem;
	}

	.site-header__search {
		max-width: 560px;
	}

	.site-header__info-link {
		width: 210px;
	}

	.site-header__info-text strong {
		font-size: 0.92rem;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto;
		justify-content: stretch;
		min-height: auto;
	}

	.site-header__search {
		grid-column: 1 / -1;
		max-width: none;
	}

	.site-header__quick-actions {
		justify-content: flex-end;
		margin-left: auto;
	}

	.site-header__info-link {
		width: auto;
	}
}

@media (max-width: 991.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto;
	}

	.site-header__info-text {
		display: none;
	}

	.site-header__tool {
		min-width: 42px;
		height: 46px;
	}

	.site-header__cart {
		height: 46px;
	}
}

@media (max-width: 575.98px) {
	#header .brand-set--header {
		width: 132px;
	}

	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 58px;
		height: 38px;
		flex-basis: 58px;
	}

	.site-header__search {
		grid-template-columns: minmax(0, 1fr) 48px;
		height: 44px;
	}

	.site-header__search select {
		display: none;
	}

	.site-header__search button {
		width: 48px;
	}
}

/* Designer reference header pass. */
.site-header {
	--header-accent: #1d5f8f;
	--header-ink: #111827;
	--header-muted: #6f7785;
	--header-line: #edf0f4;
	position: sticky;
	top: 0;
	z-index: 1030;
	background: #fff;
	border-bottom: 1px solid var(--header-line);
	box-shadow: none;
}

.site-header__main {
	background: #fff;
}

.site-header__main-inner {
	display: grid;
	grid-template-columns: 132px minmax(390px, 456px) 190px 154px;
	align-items: center;
	justify-content: space-between;
	min-height: 88px;
	gap: 1.6rem;
	padding-block: 0;
}

.site-header__brand {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
}

#header .brand-set--header,
.site-header__brand .brand-set {
	width: 132px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 58px;
	height: 46px;
	flex-basis: 58px;
}

#header .brand-set--header .brand-set__separator {
	height: 28px;
	margin-inline: 0.34rem;
	background: linear-gradient(180deg, transparent, rgba(17, 24, 39, 0.18), transparent);
}

.site-header__search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 200px 42px;
	align-items: stretch;
	width: 100%;
	max-width: 456px;
	height: 42px;
	margin: 0;
	overflow: hidden;
	border: 0;
	border-radius: 999px;
	background: #f7f7f8;
	box-shadow: none;
}

.site-header__search:focus-within {
	border-color: transparent;
	box-shadow: 0 0 0 3px rgba(29, 95, 143, 0.12);
}

.site-header__search input,
.site-header__search select {
	width: 100%;
	height: 100%;
	border: 0;
	background-color: transparent;
	color: var(--header-ink);
	outline: 0;
	font-size: 0.84rem;
	font-weight: 500;
}

.site-header__search input {
	min-width: 0;
	padding: 0 1.25rem;
}

.site-header__search input::placeholder {
	color: #9aa1ab;
}

.site-header__search select {
	padding: 0 2rem 0 0.95rem;
	border-left: 1px solid #e6e8ed;
	appearance: none;
	background:
		linear-gradient(45deg, transparent 50%, var(--header-ink) 50%) calc(100% - 17px) 50% / 6px 6px no-repeat,
		linear-gradient(135deg, var(--header-ink) 50%, transparent 50%) calc(100% - 12px) 50% / 6px 6px no-repeat;
	color: #777f8b;
	cursor: pointer;
}

.site-header__search button {
	display: grid;
	place-items: center;
	width: 42px;
	height: 100%;
	border: 0;
	border-left: 1px solid #e6e8ed;
	border-radius: 0;
	background: transparent;
	color: var(--header-ink);
	font-size: 1rem;
}

.site-header__search button:hover,
.site-header__search button:focus {
	background: transparent;
	color: var(--header-accent);
}

.site-header__quick-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
}

.site-header__info-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: 190px;
	min-height: 50px;
	gap: 0.65rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--header-ink);
	text-decoration: none;
}

.site-header__info-link:hover,
.site-header__info-link:focus {
	transform: none;
	box-shadow: none;
	color: var(--header-accent);
}

.site-header__info-icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 0;
	background: transparent;
	color: currentColor;
	font-size: 1.6rem;
}

.site-header__info-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	min-width: 0;
	line-height: 1;
}

.site-header__info-text small {
	display: block;
	color: var(--header-muted);
	font-size: 0.66rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.site-header__info-text strong {
	display: block;
	color: var(--header-ink);
	font-size: 0.98rem;
	font-weight: 900;
	line-height: 1.1;
	white-space: nowrap;
}

.site-header__tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.15rem;
	min-width: 0;
}

.site-header__tool {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.26rem;
	min-width: 68px;
	height: 58px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--header-ink);
	font-size: 1.75rem;
	text-align: center;
	text-decoration: none;
}

.site-header__tool span:not(.cart-qty) {
	display: block;
	color: var(--header-ink);
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.site-header__tool:hover,
.site-header__tool:focus {
	transform: none;
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--header-accent);
}

.site-header__cart {
	min-width: 68px;
	width: auto;
	height: 58px;
	font-size: 1.72rem;
}

.site-header__cart .cart-qty {
	position: absolute;
	top: -2px;
	right: 8px;
	display: grid;
	place-items: center;
	min-width: 21px;
	height: 21px;
	padding: 0 5px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: #e30613;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	box-shadow: 0 3px 9px rgba(227, 6, 19, 0.34);
}

.site-header__menu-toggle {
	display: none;
	width: 42px;
	height: 42px;
	border: 1px solid var(--header-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	color: var(--header-ink);
}

.site-header__nav {
	display: block;
	background: #fff;
	border-top: 1px solid var(--header-line);
	border-bottom: 1px solid var(--header-line);
}

.site-header__nav .container {
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-header__nav-list {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	margin: 0;
	padding: 0;
	gap: 0;
	list-style: none;
}

.site-header__nav-list .nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: 54px;
	padding: 0 1.05rem;
	color: var(--header-ink);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
}

.site-header__nav-list .nav-link::after {
	content: "";
	position: absolute;
	top: auto;
	left: 1.05rem;
	right: 1.05rem;
	bottom: -1px;
	height: 3px;
	border-radius: 0;
	background: var(--header-accent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.2s ease;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus,
.site-header__nav-list .nav-link.active {
	color: var(--header-accent);
}

.site-header__nav-list .nav-link:hover::after,
.site-header__nav-list .nav-link:focus::after,
.site-header__nav-list .nav-link.active::after {
	transform: scaleX(1);
}

@media (min-width: 1200px) {
	.site-header__main-inner {
		grid-template-columns: 132px minmax(420px, 456px) 190px 154px;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto;
		justify-content: stretch;
		min-height: auto;
		gap: 0.85rem 1rem;
		padding-block: 0.8rem;
	}

	.site-header__brand {
		order: 1;
	}

	.site-header__quick-actions {
		order: 2;
		margin-left: auto;
		justify-content: flex-end;
	}

	.site-header__tools {
		order: 3;
	}

	.site-header__search {
		order: 4;
		grid-column: 1 / -1;
		max-width: none;
	}

	.site-header__info-link {
		width: auto;
	}
}

@media (max-width: 991.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto;
	}

	.site-header__info-text,
	.site-header__tool span:not(.cart-qty) {
		display: none;
	}

	.site-header__tools {
		gap: 0.7rem;
	}

	.site-header__tool,
	.site-header__cart {
		min-width: 42px;
		width: 42px;
		height: 46px;
	}

	.site-header__cart .cart-qty {
		top: -4px;
		right: -2px;
		min-width: 20px;
		height: 20px;
		font-size: 0.68rem;
	}

	.site-header__menu-toggle {
		display: grid;
	}

	.site-header__nav {
		display: none;
		border-bottom: 1px solid var(--header-line);
	}

	.site-header__nav.show,
	.site-header__nav.collapsing {
		display: block;
	}

	.site-header__nav-list {
		align-items: stretch;
		min-height: 0;
		padding: 0.5rem 0;
		flex-direction: column;
		width: 100%;
	}

	.site-header__nav-list .nav-link {
		width: 100%;
		height: auto;
		min-height: 44px;
		padding: 0.75rem 0.25rem 0.75rem 0.85rem;
	}

	.site-header__nav-list .nav-link::after {
		top: 0.75rem;
		left: 0;
		right: auto;
		bottom: 0.75rem;
		width: 3px;
		height: auto;
		transform: scaleY(0);
	}

	.site-header__nav-list .nav-link:hover::after,
	.site-header__nav-list .nav-link:focus::after,
	.site-header__nav-list .nav-link.active::after {
		transform: scaleY(1);
	}
}

@media (max-width: 575.98px) {
	.site-header__main-inner {
		gap: 0.55rem;
		padding-block: 0.65rem;
	}

	#header .brand-set--header,
	.site-header__brand .brand-set {
		width: 108px;
	}

	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 46px;
		height: 36px;
		flex-basis: 46px;
	}

	#header .brand-set--header .brand-set__separator {
		height: 22px;
		margin-inline: 0.25rem;
	}

	.site-header__search {
		grid-template-columns: minmax(0, 1fr) 46px;
		height: 42px;
	}

	.site-header__search select {
		display: none;
	}

	.site-header__search button {
		width: 46px;
	}

	.site-header__info-icon {
		width: 32px;
		height: 32px;
		flex-basis: 32px;
		font-size: 1.35rem;
	}

	.site-header__tool,
	.site-header__cart,
	.site-header__menu-toggle {
		width: 40px;
		min-width: 40px;
		height: 40px;
		font-size: 1.45rem;
	}

	.site-header__cart .cart-qty {
		top: -5px;
		right: -4px;
	}
}

/* Final home refresh overrides. */
.grocery-choice-card--green {
	background: #7ba429 !important;
}

.grocery-choice-card--orange {
	background: #da562e !important;
}

.grocery-choice-card__visual::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.04) 54%, rgba(0, 0, 0, 0) 100%);
}

.grocery-promo-grid {
	padding: 2.25rem 0 0.75rem;
	background: #fff;
}

.grocery-promo-stack {
	display: grid;
	gap: 1rem;
	height: 100%;
}

.grocery-promo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: 100%;
	padding: 1.6rem;
	overflow: hidden;
	border-radius: 8px;
	color: #fff;
	background: #7ba429;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.09);
}

.grocery-promo--large {
	min-height: 300px;
}

.grocery-promo--orange {
	background: #da562e;
}

.grocery-promo--gold {
	background: linear-gradient(135deg, #f8c533 0%, #f47b20 100%);
	color: #3b220d;
}

.grocery-promo__kicker {
	display: inline-flex;
	margin-bottom: 0.6rem;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.88;
}

.grocery-promo h2,
.grocery-promo h3 {
	max-width: 13ch;
	margin: 0 0 0.65rem;
	color: inherit;
	font-weight: 800;
	line-height: 1.04;
}

.grocery-promo h2 {
	font-size: clamp(2rem, 3.4vw, 3.15rem);
}

.grocery-promo h3 {
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.grocery-promo p {
	max-width: 28rem;
	color: rgba(255, 255, 255, 0.86);
	line-height: 1.65;
}

.grocery-promo--gold p {
	color: rgba(59, 34, 13, 0.76);
}

.grocery-promo a:not(.btn) {
	color: inherit;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.grocery-promo__btn {
	border-radius: 999px;
	font-weight: 800;
}

.grocery-promo img {
	position: relative;
	z-index: 1;
	width: min(42%, 260px);
	max-height: 240px;
	object-fit: contain;
	filter: drop-shadow(0 22px 32px rgba(0, 0, 0, 0.18));
}

.grocery-promo--compact img {
	width: min(38%, 170px);
	max-height: 150px;
}

.grocery-category-card {
	position: relative;
	min-height: 205px;
	padding: 0;
	justify-content: flex-end;
	overflow: hidden;
	background: #172033;
	color: #fff;
}

.grocery-category-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(23, 32, 51, 0.04) 0%, rgba(23, 32, 51, 0.72) 100%);
	pointer-events: none;
}

.grocery-category-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.grocery-category-card__image img {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	transition: transform 0.32s ease;
}

.grocery-category-card:hover .grocery-category-card__image img {
	transform: scale(1.06);
}

.grocery-category-card__image span {
	width: 100%;
	height: 100%;
	border-radius: 0;
	background: linear-gradient(135deg, #7ba429 0%, #da562e 100%);
	color: #fff;
}

.grocery-category-card__count,
.grocery-category-card__title {
	position: relative;
	z-index: 1;
	padding-inline: 1rem;
	color: #fff !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.24);
}

.grocery-category-card__title {
	margin-bottom: 1rem;
	font-size: 1.08rem;
}

.grocery-category-card__count {
	margin-bottom: 0.2rem;
	color: #f8c533 !important;
}

.grocery-deal {
	padding: 1.5rem 0 4rem;
	background: #fff;
}

.grocery-deal__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
	align-items: center;
	gap: 2rem;
	padding: 2rem;
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(123, 164, 41, 0.12), rgba(218, 86, 46, 0.12)), #fffdf8;
	border: 1px solid rgba(23, 32, 51, 0.08);
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.08);
}

.grocery-deal__copy h2 {
	max-width: 16ch;
	margin: 0 0 0.8rem;
	color: var(--brand-ink);
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.03;
	font-weight: 800;
}

.grocery-deal__copy p {
	max-width: 34rem;
	color: var(--brand-muted);
	line-height: 1.75;
}

.grocery-deal__timer {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 1.25rem 0 1.4rem;
}

.grocery-deal__timer span {
	display: grid;
	place-items: center;
	min-width: 78px;
	min-height: 74px;
	padding: 0.65rem;
	border-radius: 8px;
	background: #fff;
	border: 1px solid rgba(23, 32, 51, 0.08);
	color: var(--brand-muted);
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
}

.grocery-deal__timer strong {
	display: block;
	color: #da562e;
	font-size: 1.55rem;
	line-height: 1;
}

.grocery-deal__media {
	display: grid;
	place-items: center;
	min-height: 320px;
	border-radius: 8px;
	background: #fff;
}

.grocery-deal__media img {
	width: 100%;
	max-height: 300px;
	object-fit: contain;
	filter: drop-shadow(0 24px 35px rgba(23, 32, 51, 0.12));
}

.grocery-section--new {
	padding-top: 4rem;
	background: #fff;
}

.grocery-service-strip {
	padding: 0 0 4rem;
	background: #fff;
}

.grocery-service {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.85rem;
	row-gap: 0.1rem;
	align-items: center;
	height: 100%;
	padding: 1.15rem;
	border-radius: 8px;
	background: #fffdf8;
	border: 1px solid rgba(23, 32, 51, 0.08);
}

.grocery-service i {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #7ba429;
	color: #fff;
}

.grocery-service strong {
	color: var(--brand-ink);
	font-weight: 800;
}

.grocery-service span {
	color: var(--brand-muted);
	font-size: 0.9rem;
}

.catalog-category-card__photo {
	position: relative;
	display: block;
	width: 100%;
	height: 132px;
	margin: -1.25rem -1.25rem 0.9rem;
	overflow: hidden;
	background: linear-gradient(135deg, #7ba429 0%, #da562e 100%);
	color: #fff;
	font-size: 2rem;
	font-weight: 800;
	line-height: 132px;
}

.catalog-category-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.32s ease;
}

.catalog-category-card:hover .catalog-category-card__photo img,
.catalog-category-card.active .catalog-category-card__photo img {
	transform: scale(1.05);
}

@media (max-width: 991.98px) {
	.grocery-promo,
	.grocery-promo--large {
		min-height: 240px;
	}

	.grocery-deal__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575.98px) {
	.grocery-promo {
		align-items: flex-start;
		min-height: 220px;
		padding: 1.2rem;
	}

	.grocery-promo img {
		position: absolute;
		right: -1.2rem;
		bottom: -0.6rem;
		width: 48%;
		opacity: 0.86;
	}

	.grocery-category-card {
		min-height: 170px;
	}

	.grocery-deal__inner {
		padding: 1.2rem;
	}

	.grocery-deal__media {
		min-height: 230px;
	}
}
/* Absolute final category override. */
.grocery-home .grocery-category-card,
.grocery-home .grocery-category-card-link {
	border: 0 !important;
	outline: 0 !important;
}

.grocery-home .grocery-category-card {
	min-height: 220px !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 18px 38px rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-category-card::after {
	display: none !important;
}

.grocery-home .grocery-category-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(23, 32, 51, 0.02) 0%, rgba(23, 32, 51, 0.28) 48%, rgba(23, 32, 51, 0.82) 100%);
	pointer-events: none;
}

.grocery-home .grocery-category-card__image {
	inset: 0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}

.grocery-home .grocery-category-card__count {
	position: absolute !important;
	left: 1rem !important;
	bottom: 3.05rem !important;
	z-index: 2 !important;
	width: fit-content !important;
	padding: 0.18rem 0.55rem !important;
	border-radius: 8px !important;
	background: rgba(248, 197, 51, 0.94) !important;
	color: #172033 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-category-card__title {
	position: absolute !important;
	left: 1rem !important;
	right: 1rem !important;
	bottom: 0.9rem !important;
	z-index: 2 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.32) !important;
}
/* Final global polish for promo, services and bottom banner. */
.grocery-home .grocery-section--promo {
	padding: 3.2rem 0 1.5rem !important;
	background: linear-gradient(180deg, #fff 0%, #fff7ed 100%) !important;
}

.grocery-home .grocery-promo-panel {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 1.5rem !important;
	align-items: center !important;
	min-height: 0 !important;
	padding: 2rem !important;
	border-radius: 8px !important;
	background:
		linear-gradient(135deg, rgba(76, 132, 56, 0.12), rgba(248, 197, 51, 0.12)),
		#fff !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	box-shadow: 0 18px 44px rgba(23, 32, 51, 0.08) !important;
	color: var(--brand-ink, #172033) !important;
}

.grocery-home .grocery-promo-panel .grocery-section__kicker {
	color: var(--brand-red, #e30613) !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 20ch !important;
	margin: 0 0 0.65rem !important;
	color: var(--brand-ink, #172033) !important;
	font-size: clamp(1.8rem, 3vw, 2.65rem) !important;
	font-weight: 900 !important;
	line-height: 1.08 !important;
}

.grocery-home .grocery-promo-panel p {
	max-width: 46rem !important;
	margin: 0 !important;
	color: var(--brand-muted, #64748b) !important;
	font-size: 1rem !important;
	line-height: 1.65 !important;
}

.grocery-home .grocery-promo-panel .btn {
	background: var(--brand-red, #e30613) !important;
	border-color: var(--brand-red, #e30613) !important;
	color: #fff !important;
	box-shadow: 0 12px 24px rgba(227, 6, 19, 0.18) !important;
}

.grocery-home .grocery-service-strip {
	padding: 1.25rem 0 3.25rem !important;
	background: #fff7ed !important;
	border-top: 0 !important;
}

.grocery-home .grocery-service-strip .row {
	align-items: stretch !important;
}

.grocery-home .grocery-service {
	display: grid !important;
	grid-template-columns: 52px 1fr !important;
	align-items: center !important;
	min-height: 126px !important;
	padding: 1rem 1.1rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-service i {
	grid-row: span 2 !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 8px !important;
	background: rgba(76, 132, 56, 0.12) !important;
	color: var(--brand-green, #4c8438) !important;
	font-size: 1rem !important;
}

.grocery-home .grocery-service strong {
	align-self: end !important;
	margin: 0 !important;
	color: var(--brand-ink, #172033) !important;
	font-size: 0.98rem !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
}

.grocery-home .grocery-service span {
	align-self: start !important;
	color: var(--brand-muted, #64748b) !important;
	font-size: 0.9rem !important;
	line-height: 1.5 !important;
}

.grocery-home .grocery-store-banner {
	padding: 3.5rem 0 !important;
	background: #fff !important;
}

.grocery-home .grocery-store-banner__inner {
	box-shadow: 0 20px 50px rgba(76, 132, 56, 0.16) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr !important;
		padding: 1.5rem !important;
	}

	.grocery-home .grocery-promo-panel .btn {
		width: fit-content !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-service {
		min-height: 112px !important;
	}
}

/* Final home flow and Tunisia grocery pricing polish. */
.grocery-home {
	display: flex !important;
	flex-direction: column !important;
	background: #fffaf4 !important;
}

.grocery-home .grocery-hero {
	order: 1 !important;
}

.grocery-home .grocery-band {
	order: 2 !important;
}

.grocery-home .grocery-choices {
	order: 4 !important;
	background: linear-gradient(180deg, #fffaf4 0%, #ffffff 100%) !important;
}

.grocery-home .grocery-section--categories {
	order: 3 !important;
	position: relative !important;
	padding: 3.4rem 0 3.2rem !important;
	background:
		linear-gradient(180deg, rgba(255, 250, 244, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%),
		repeating-linear-gradient(90deg, rgba(76, 132, 56, 0.045) 0 1px, transparent 1px 88px) !important;
	border-top: 1px solid rgba(23, 32, 51, 0.05) !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.05) !important;
}

.grocery-home .grocery-section--trending {
	order: 5 !important;
	position: relative !important;
	padding: 4.5rem 0 !important;
	background:
		linear-gradient(135deg, rgba(255, 247, 237, 0.94), rgba(241, 248, 232, 0.92)),
		#fff7ed !important;
}

.grocery-home .grocery-section--new {
	order: 7 !important;
	position: relative !important;
	padding: 4.5rem 0 !important;
	background:
		linear-gradient(180deg, #fff7ed 0%, #ffffff 64%),
		#ffffff !important;
	border-top: 1px solid rgba(23, 32, 51, 0.06) !important;
}

.grocery-home .grocery-section--process {
	order: 9 !important;
	position: relative !important;
	padding: 4.6rem 0 !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #f8fbf4 100%),
		#ffffff !important;
}

.grocery-home .grocery-section--promo {
	order: 6 !important;
}

.grocery-home .grocery-deal {
	order: 10 !important;
	padding: 2.4rem 0 4rem !important;
	background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%) !important;
}

.grocery-home .grocery-service-strip {
	order: 8 !important;
}

.grocery-home .grocery-store-banner {
	order: 11 !important;
}

.grocery-home .grocery-section__header {
	margin-bottom: 2.1rem !important;
}

.grocery-home .grocery-section__header--catalog {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 1.5rem !important;
	max-width: 1120px !important;
	margin: 0 auto 1.8rem !important;
	text-align: left !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__lead {
	max-width: 620px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.grocery-home .grocery-section__action {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 0.85rem 1.25rem !important;
	border-radius: 8px !important;
	font-weight: 900 !important;
	white-space: nowrap !important;
	box-shadow: 0 14px 28px rgba(227, 6, 19, 0.16) !important;
}

.grocery-home .grocery-section--categories::before,
.grocery-home .grocery-section--trending::before,
.grocery-home .grocery-section--new::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 50% !important;
	width: min(1120px, calc(100% - 32px)) !important;
	height: 1px !important;
	transform: translateX(-50%) !important;
	background: linear-gradient(90deg, transparent, rgba(76, 132, 56, 0.28), rgba(227, 6, 19, 0.24), transparent) !important;
}

.grocery-home .grocery-section--trending::after,
.grocery-home .grocery-section--new::after {
	content: "" !important;
	position: absolute !important;
	top: 1.7rem !important;
	left: 50% !important;
	width: 72px !important;
	height: 8px !important;
	transform: translateX(-50%) !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, var(--brand-green, #4c8438), var(--brand-red, #e30613)) !important;
	opacity: 0.75 !important;
}

.grocery-home .grocery-section__kicker {
	color: var(--brand-red, #e30613) !important;
}

.grocery-home .grocery-category-carousel {
	max-width: 1120px !important;
	margin: 0 auto !important;
	padding: 0.35rem 0.2rem 0.9rem !important;
}

.grocery-home .grocery-category-card {
	min-height: 176px !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 12px 28px rgba(23, 32, 51, 0.1) !important;
}

.grocery-home .grocery-category-card::before {
	background: linear-gradient(180deg, rgba(23, 32, 51, 0) 0%, rgba(23, 32, 51, 0.22) 50%, rgba(23, 32, 51, 0.78) 100%) !important;
}

.grocery-home .grocery-category-card__image img {
	transform: scale(0.9) !important;
	object-fit: contain !important;
	padding: 1.2rem 1rem 3.2rem !important;
}

.grocery-home .grocery-category-card:hover .grocery-category-card__image img {
	transform: scale(0.97) !important;
}

.grocery-home .grocery-category-card__count {
	bottom: 2.65rem !important;
	font-size: 0.72rem !important;
}

.grocery-home .grocery-category-card__title {
	bottom: 0.72rem !important;
	font-size: 0.95rem !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-product-card {
	border-radius: 8px !important;
	border: 1px solid rgba(23, 32, 51, 0.06) !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-product-card__price {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.55rem !important;
	min-height: 44px !important;
	flex-wrap: wrap !important;
}

.grocery-product-card__price-line {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	line-height: 1.05 !important;
}

.grocery-product-card__price-line small {
	margin-bottom: 0.18rem !important;
	color: #94a3b8 !important;
	font-size: 0.62rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.grocery-product-card__price .amount,
.grocery-product-card__price .sale {
	font-size: 1.08rem !important;
	font-weight: 950 !important;
	color: var(--brand-red, #e30613) !important;
	white-space: nowrap !important;
}

.grocery-product-card__price-line--old .amount {
	position: relative !important;
	font-size: 0.93rem !important;
	color: #da562e !important;
}

.grocery-product-card__price-line--old .amount::after {
	content: "" !important;
	position: absolute !important;
	left: -4px !important;
	right: -4px !important;
	top: 52% !important;
	height: 2px !important;
	border-radius: 999px !important;
	background: currentColor !important;
	transform: rotate(-5deg) !important;
	opacity: 0.9 !important;
}

.grocery-home .grocery-step-card {
	position: relative !important;
	min-height: 210px !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	border: 1px solid rgba(76, 132, 56, 0.12) !important;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 244, 0.96)),
		#ffffff !important;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-step-card::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 auto 0 0 !important;
	width: 5px !important;
	background: linear-gradient(180deg, var(--brand-green, #4c8438), var(--brand-red, #e30613)) !important;
}

.grocery-home .grocery-step-card span {
	top: 1rem !important;
	right: 1.05rem !important;
	color: rgba(23, 32, 51, 0.08) !important;
	font-size: 2rem !important;
	font-weight: 950 !important;
}

.grocery-home .grocery-step-card i {
	width: 52px !important;
	height: 52px !important;
	margin-bottom: 1.05rem !important;
	border-radius: 8px !important;
	background: rgba(76, 132, 56, 0.12) !important;
	color: var(--brand-green, #4c8438) !important;
}

.grocery-home .grocery-step-card h3 {
	margin-bottom: 0.55rem !important;
	font-size: 1.05rem !important;
	font-weight: 950 !important;
	text-transform: none !important;
}

.grocery-home .grocery-step-card p {
	max-width: 18rem !important;
	margin: 0 !important;
	color: var(--brand-muted, #64748b) !important;
	font-size: 0.94rem !important;
	line-height: 1.55 !important;
}

.grocery-home .grocery-deal__inner {
	border-radius: 8px !important;
	box-shadow: 0 22px 54px rgba(76, 132, 56, 0.16) !important;
}

.grocery-product-card__rating {
	display: none !important;
}

.grocery-home .grocery-choices {
	padding: 3.2rem 0 !important;
}

.grocery-home .grocery-choice-card {
	min-height: 270px !important;
	border-radius: 8px !important;
	box-shadow: 0 18px 44px rgba(23, 32, 51, 0.1) !important;
}

.grocery-home .grocery-choice-card__content {
	padding: 1.65rem !important;
}

.grocery-home .grocery-choice-card__brand {
	width: 76px !important;
	height: 46px !important;
	margin-bottom: 0.7rem !important;
	border-radius: 8px !important;
}

.grocery-home .grocery-choice-card__eyebrow {
	margin-bottom: 0.4rem !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.08em !important;
}

.grocery-home .grocery-choice-card__title {
	margin-bottom: 0.45rem !important;
	font-size: clamp(1.65rem, 2.5vw, 2.25rem) !important;
	line-height: 1 !important;
}

.grocery-home .grocery-choice-card__text {
	max-width: 22rem !important;
	margin-bottom: 0.85rem !important;
	font-size: 0.96rem !important;
	line-height: 1.5 !important;
}

.grocery-home .grocery-choice-card__meta {
	gap: 0.45rem !important;
	margin-bottom: 1rem !important;
}

.grocery-home .grocery-choice-card__meta span {
	padding: 0.42rem 0.62rem !important;
	border-radius: 8px !important;
	font-size: 0.74rem !important;
}

.grocery-home .grocery-choice-card__actions .btn {
	border-radius: 8px !important;
	padding: 0.7rem 1rem !important;
	font-size: 0.86rem !important;
	font-weight: 900 !important;
}

.grocery-home .grocery-choice-card__visual {
	width: 48% !important;
}

@media (max-width: 767.98px) {
	.grocery-home .grocery-section--categories,
	.grocery-home .grocery-section--trending,
	.grocery-home .grocery-section--new,
	.grocery-home .grocery-section--process {
		padding: 3rem 0 !important;
	}
}

/* Clean professional service cards for the order section. */
.grocery-home .grocery-section--process {
	padding: 4rem 0 4.4rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
}

.grocery-home .grocery-section--process .grocery-section__title {
	max-width: 760px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.grocery-home .grocery-section--process .row {
	max-width: 1120px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.grocery-home .grocery-step-card {
	min-height: 188px !important;
	padding: 1.35rem !important;
	border: 1px solid rgba(23, 32, 51, 0.07) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.07) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.grocery-home .grocery-step-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(76, 132, 56, 0.22) !important;
	box-shadow: 0 20px 46px rgba(23, 32, 51, 0.1) !important;
}

.grocery-home .grocery-step-card::before {
	display: none !important;
}

.grocery-home .grocery-step-card span {
	top: 1.2rem !important;
	right: 1.25rem !important;
	color: rgba(23, 32, 51, 0.07) !important;
	font-size: 1.55rem !important;
	font-weight: 950 !important;
}

.grocery-home .grocery-step-card i {
	width: 48px !important;
	height: 48px !important;
	margin-bottom: 1rem !important;
	border-radius: 8px !important;
	background: #eef6e9 !important;
	color: var(--brand-green, #4c8438) !important;
	font-size: 1.05rem !important;
}

.grocery-home .grocery-step-card h3 {
	margin: 0 0 0.45rem !important;
	color: var(--brand-ink, #172033) !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.grocery-home .grocery-step-card p {
	margin: 0 !important;
	color: var(--brand-muted, #64748b) !important;
	font-size: 0.92rem !important;
	line-height: 1.55 !important;
}

/* Vegina-style home correction. */
.grocery-home {
	--vegina-green: #7ba323;
	--vegina-green-dark: #5f851b;
	--vegina-orange: #df522d;
	--vegina-red: #f04a4f;
	--vegina-ink: #20242a;
	--vegina-soft: #faf7f1;
	background: #ffffff !important;
}

.grocery-home .grocery-hero {
	display: block !important;
	order: 1 !important;
}

.grocery-home .grocery-band {
	order: 2 !important;
	padding: 0 !important;
	background: #ffffff !important;
	border-top: 1px solid #eeeeee !important;
	border-bottom: 1px solid #eeeeee !important;
	box-shadow: none !important;
}

.grocery-home .grocery-band__carousel {
	min-height: 62px !important;
	display: flex !important;
	align-items: center !important;
}

.grocery-home .grocery-band__slide {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 62px !important;
	padding: 0 2rem !important;
	color: #5f6268 !important;
	background: #ffffff !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-transform: none !important;
	white-space: nowrap !important;
}

.grocery-home .grocery-band__slide::before {
	content: "/" !important;
	position: absolute !important;
	left: 0.25rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #9b9b9b !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
}

.grocery-home .grocery-band__accent {
	margin: 0 0.25rem !important;
	color: var(--vegina-red) !important;
	font-weight: 900 !important;
}

.grocery-home .grocery-choices {
	order: 3 !important;
	padding: 3.8rem 0 3.2rem !important;
	background: #ffffff !important;
}

.grocery-home .grocery-choices .container,
.grocery-home .grocery-section--categories .container,
.grocery-home .grocery-section--trending .container {
	max-width: 1140px !important;
}

.grocery-home .grocery-choice-card {
	position: relative !important;
	min-height: 174px !important;
	border: 0 !important;
	border-radius: 7px !important;
	overflow: hidden !important;
	box-shadow: none !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}

.grocery-home .grocery-choice-card:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 18px 40px rgba(32, 36, 42, 0.12) !important;
}

.grocery-home .grocery-choice-card::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: inherit !important;
	pointer-events: none !important;
}

.grocery-home .grocery-choice-card::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background:
		radial-gradient(circle at 78% 44%, transparent 0 88px, rgba(255, 255, 255, 0.11) 89px 90px, transparent 91px),
		linear-gradient(90deg, rgba(0, 0, 0, 0.08), transparent 55%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-choice-card--green {
	background: var(--vegina-green) !important;
}

.grocery-home .grocery-choice-card--orange {
	background: var(--vegina-orange) !important;
}

.grocery-home .grocery-choice-card__content {
	position: relative !important;
	z-index: 2 !important;
	width: 52% !important;
	padding: 1.9rem 1.55rem !important;
}

.grocery-home .grocery-choice-card__brand {
	display: none !important;
}

.grocery-home .grocery-choice-card__eyebrow {
	margin: 0 0 0.1rem !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.grocery-home .grocery-choice-card__title {
	max-width: 8ch !important;
	margin: 0 0 0.25rem !important;
	color: #ffffff !important;
	font-size: clamp(1.8rem, 3vw, 2.45rem) !important;
	font-weight: 900 !important;
	line-height: 0.95 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-choice-card__text {
	max-width: 13rem !important;
	margin: 0 0 0.9rem !important;
	color: #ffffff !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	line-height: 1.28 !important;
}

.grocery-home .grocery-choice-card__meta {
	display: none !important;
}

.grocery-home .grocery-choice-card__actions {
	margin: 0 !important;
}

.grocery-home .grocery-choice-card__actions .btn {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 39px !important;
	padding: 0.7rem 1.35rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #20242a !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	text-transform: uppercase !important;
}

.grocery-home .grocery-choice-card__visual {
	position: absolute !important;
	z-index: 1 !important;
	right: 0.75rem !important;
	top: 50% !important;
	width: 51% !important;
	height: 92% !important;
	transform: translateY(-50%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-choice-card__visual::after {
	display: none !important;
}

.grocery-home .grocery-choice-card__visual-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center right !important;
	filter: drop-shadow(0 15px 22px rgba(0, 0, 0, 0.18)) !important;
}

.grocery-home .grocery-section--categories {
	order: 4 !important;
	padding: 0 0 4rem !important;
	background: #ffffff !important;
	border: 0 !important;
}

.grocery-home .grocery-section--categories::before,
.grocery-home .grocery-section--categories::after {
	display: none !important;
}

.grocery-home .grocery-section__header--catalog {
	display: block !important;
	max-width: none !important;
	margin: 0 auto 2.4rem !important;
	text-align: center !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__kicker,
.grocery-home .grocery-section__header--catalog .grocery-section__lead,
.grocery-home .grocery-section__header--catalog .grocery-section__action {
	display: none !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__title {
	margin: 0 !important;
	color: var(--vegina-ink) !important;
	font-size: clamp(1.8rem, 2.8vw, 2.45rem) !important;
	font-weight: 600 !important;
	line-height: 1.18 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__title span {
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 400 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.18em !important;
}

.grocery-home .grocery-category-carousel {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 0 0.5rem !important;
}

.grocery-home .grocery-category-card-link {
	position: relative !important;
	display: block !important;
	text-decoration: none !important;
}

.grocery-home .grocery-category-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 160px !important;
	padding: 1.35rem 1rem 1.8rem !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: var(--vegina-soft) !important;
	color: var(--vegina-ink) !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.grocery-home .grocery-category-card:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 15px 34px rgba(32, 36, 42, 0.08) !important;
}

.grocery-home .grocery-category-card::before,
.grocery-home .grocery-category-card::after {
	display: none !important;
}

.grocery-home .grocery-category-card__image {
	position: static !important;
	width: 58px !important;
	height: 58px !important;
	margin: 0 auto 1rem !important;
}

.grocery-home .grocery-category-card__image img {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: contain !important;
	filter: sepia(1) saturate(1.8) hue-rotate(36deg) brightness(0.82) !important;
	transform: none !important;
}

.grocery-home .grocery-category-card:hover .grocery-category-card__image img {
	transform: scale(1.06) !important;
}

.grocery-home .grocery-category-card__image span {
	width: 58px !important;
	height: 58px !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--vegina-green) !important;
	font-size: 2.2rem !important;
	font-weight: 500 !important;
}

.grocery-home .grocery-category-card__count {
	position: static !important;
	display: block !important;
	margin: 0 0 0.2rem !important;
	padding: 0 !important;
	color: var(--vegina-red) !important;
	font-size: 0.74rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-shadow: none !important;
	text-transform: none !important;
}

.grocery-home .grocery-category-card__title {
	position: static !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--vegina-ink) !important;
	font-size: 0.84rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-shadow: none !important;
	text-transform: none !important;
}

.grocery-home .grocery-category-card-link::after {
	content: "\f061" !important;
	position: absolute !important;
	left: 50% !important;
	bottom: -17px !important;
	z-index: 3 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: var(--vegina-red) !important;
	font-family: "Font Awesome 5 Free" !important;
	font-size: 0.75rem !important;
	font-weight: 900 !important;
	box-shadow: 0 10px 20px rgba(32, 36, 42, 0.08) !important;
	transform: translateX(-50%) !important;
}

.grocery-home .grocery-category-carousel .owl-stage-outer {
	padding-bottom: 1.6rem !important;
}

.grocery-home .grocery-category-carousel .owl-nav {
	display: none !important;
}

.grocery-home .grocery-section--trending {
	order: 5 !important;
	padding: 4.5rem 0 !important;
	background: linear-gradient(180deg, #fffaf4 0%, #ffffff 100%) !important;
}

.grocery-home .grocery-section--trending::before {
	top: 0 !important;
	width: 72px !important;
	height: 8px !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, var(--vegina-green), var(--vegina-red)) !important;
}

.grocery-home .grocery-section--trending::after {
	display: none !important;
}

.grocery-home .grocery-section--trending .grocery-section__kicker {
	color: var(--vegina-red) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.14em !important;
}

.grocery-home .grocery-section--trending .grocery-section__title {
	color: var(--vegina-ink) !important;
	font-size: clamp(1.8rem, 2.7vw, 2.35rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-section--trending .grocery-section__lead {
	display: none !important;
}

@media (min-width: 1200px) {
	.grocery-home .grocery-choices .row {
		--bs-gutter-x: 1.45rem !important;
	}
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-choices {
		padding-top: 2.6rem !important;
	}

	.grocery-home .grocery-choice-card {
		min-height: 210px !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-band__slide {
		white-space: normal !important;
	}

	.grocery-home .grocery-choice-card {
		min-height: 230px !important;
	}

	.grocery-home .grocery-choice-card__content {
		width: 62% !important;
		padding: 1.5rem 1.2rem !important;
	}

	.grocery-home .grocery-choice-card__visual {
		right: -0.5rem !important;
		width: 50% !important;
		opacity: 0.9 !important;
	}
}

/* Brand cards: full banner image with each company logo visible. */
.grocery-home .grocery-choice-card__content {
	width: min(58%, 310px) !important;
	padding: 1.95rem 1.8rem !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28) !important;
}

.grocery-home .grocery-choice-card__brand {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 78px !important;
	height: 50px !important;
	margin: 0 0 0.6rem !important;
	padding: 0.25rem !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	box-shadow: none !important;
}

.grocery-home .grocery-choice-card__brand img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

.grocery-home .grocery-choice-card__visual {
	inset: 0 !important;
	right: auto !important;
	top: auto !important;
	z-index: 0 !important;
	width: 100% !important;
	height: 100% !important;
	transform: none !important;
}

.grocery-home .grocery-choice-card__visual-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
	filter: none !important;
}

.grocery-home .grocery-choice-card::after {
	z-index: 1 !important;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.12) 46%, rgba(0, 0, 0, 0) 74%) !important;
}

.grocery-home .grocery-choice-card__title,
.grocery-home .grocery-choice-card__eyebrow,
.grocery-home .grocery-choice-card__text {
	position: relative !important;
	z-index: 2 !important;
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-choice-card__content {
		width: 72% !important;
		padding: 1.45rem 1.15rem !important;
	}

	.grocery-home .grocery-choice-card__brand {
		width: 68px !important;
		height: 44px !important;
	}
}

/* Keep company banners at their real proportion: no crop, no oversized cards. */
.grocery-home .grocery-choices .grocery-choice-card {
	min-height: 250px !important;
	height: auto !important;
	aspect-ratio: 660 / 300 !important;
	background-color: var(--vegina-green) !important;
	border-radius: 7px !important;
}

.grocery-home .grocery-choices .grocery-choice-card--green {
	background-color: #78a51f !important;
}

.grocery-home .grocery-choices .grocery-choice-card--orange {
	background-color: #df522d !important;
}

.grocery-home .grocery-choices .grocery-choice-card__visual {
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	transform: none !important;
	opacity: 1 !important;
	overflow: hidden !important;
	border-radius: inherit !important;
}

.grocery-home .grocery-choices .grocery-choice-card__visual-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: fill !important;
	object-position: center center !important;
	border-radius: inherit !important;
}

/* Popular products: compact, aligned product cards. */
.grocery-home .grocery-section--trending {
	padding: 4.1rem 0 4.4rem !important;
	background: linear-gradient(180deg, #fffaf5 0%, #ffffff 72%) !important;
	overflow: hidden !important;
}

.grocery-home .grocery-section--trending .grocery-section__header {
	margin-bottom: 2.15rem !important;
}

.grocery-home .grocery-section--trending .grocery-section__kicker {
	margin-bottom: 0.75rem !important;
	color: #e30613 !important;
	font-size: 0.74rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.18em !important;
}

.grocery-home .grocery-section--trending .grocery-section__title {
	margin-bottom: 0 !important;
	color: #20242a !important;
	font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
	font-weight: 800 !important;
	line-height: 1.12 !important;
}

.grocery-home .grocery-section--trending .grocery-product-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 1.25rem !important;
	align-items: stretch !important;
}

.grocery-home .grocery-section--trending .grocery-product-grid__item {
	display: flex !important;
	min-width: 0 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-height: 415px !important;
	overflow: hidden !important;
	border: 1px solid rgba(32, 36, 42, 0.08) !important;
	border-radius: 7px !important;
	background: #ffffff !important;
	box-shadow: 0 16px 34px rgba(32, 36, 42, 0.075) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.grocery-home .grocery-section--trending .grocery-product-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(76, 132, 56, 0.2) !important;
	box-shadow: 0 24px 46px rgba(32, 36, 42, 0.12) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__media {
	flex: 0 0 205px !important;
	min-height: 0 !important;
	height: 205px !important;
	aspect-ratio: auto !important;
	padding: 1rem !important;
	background: #fbfcfa !important;
	border-bottom: 1px solid rgba(32, 36, 42, 0.055) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__image-link {
	width: 100% !important;
	height: 100% !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__image {
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: contain !important;
	transform: none !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__badge {
	left: 1rem !important;
	top: 1rem !important;
	min-width: 56px !important;
	justify-content: center !important;
	padding: 0.5rem 0.7rem !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #e30613 0%, #ff4f1f 100%) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0 !important;
	box-shadow: 0 14px 28px rgba(227, 6, 19, 0.18) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0.65rem !important;
	padding: 1rem 1rem 0 !important;
	text-align: center !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__title {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 2.9em !important;
	margin: 0 !important;
	color: #172033 !important;
	font-size: 0.92rem !important;
	font-weight: 900 !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__title a {
	display: -webkit-box !important;
	overflow: hidden !important;
	color: inherit !important;
	text-decoration: none !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__price {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center !important;
	gap: 0.6rem !important;
	min-height: 45px !important;
	margin: 0 !important;
	flex-wrap: nowrap !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__price-line {
	align-items: center !important;
	min-width: 0 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__price-line small {
	margin-bottom: 0.22rem !important;
	color: #9aa5b4 !important;
	font-size: 0.59rem !important;
	letter-spacing: 0.06em !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__price .amount,
.grocery-home .grocery-section--trending .grocery-product-card__price .sale {
	color: #e30613 !important;
	font-size: 1.04rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__price-line--old .amount {
	color: #d96d4d !important;
	font-size: 0.9rem !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__actions {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.8rem !important;
	width: calc(100% + 2rem) !important;
	min-height: 72px !important;
	margin: auto -1rem 0 !important;
	padding: 0.75rem 1rem !important;
	border-top: 1px solid rgba(32, 36, 42, 0.08) !important;
	background: #ffffff !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action {
	width: 42px !important;
	height: 42px !important;
	border: 1px solid rgba(32, 36, 42, 0.08) !important;
	background: #ffffff !important;
	color: #475569 !important;
	box-shadow: 0 10px 22px rgba(32, 36, 42, 0.08) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action:hover,
.grocery-home .grocery-section--trending .grocery-product-card__action:focus {
	background: #4c8438 !important;
	border-color: #4c8438 !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
}

@media (max-width: 1199.98px) {
	.grocery-home .grocery-section--trending .grocery-product-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section--trending {
		padding: 3.2rem 0 !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 1rem !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-section--trending .grocery-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.75rem !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card {
		min-height: 350px !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__media {
		flex-basis: 155px !important;
		height: 155px !important;
		padding: 0.75rem !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__body {
		padding-inline: 0.75rem !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__title {
		font-size: 0.78rem !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__price {
		gap: 0.35rem !important;
		flex-wrap: wrap !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__price .amount,
	.grocery-home .grocery-section--trending .grocery-product-card__price .sale {
		font-size: 0.93rem !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__actions {
		width: calc(100% + 1.5rem) !important;
		min-height: 62px !important;
		margin-inline: -0.75rem !important;
		gap: 0.45rem !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__action {
		width: 36px !important;
		height: 36px !important;
	}
}

.grocery-home .grocery-choices .grocery-choice-card__content {
	width: min(54%, 285px) !important;
	padding: clamp(0.9rem, 1.8vw, 1.45rem) clamp(1rem, 2vw, 1.55rem) !important;
}

.grocery-home .grocery-choices .grocery-choice-card__brand {
	width: clamp(54px, 7vw, 78px) !important;
	height: clamp(36px, 4.6vw, 50px) !important;
	margin-bottom: 0.25rem !important;
}

.grocery-home .grocery-choices .grocery-choice-card__title {
	font-size: clamp(1.45rem, 2.75vw, 2.15rem) !important;
	margin-bottom: 0.2rem !important;
}

.grocery-home .grocery-choices .grocery-choice-card__text {
	margin-bottom: 0.65rem !important;
	font-size: clamp(0.78rem, 1.2vw, 0.94rem) !important;
	line-height: 1.18 !important;
}

.grocery-home .grocery-choices .grocery-choice-card__actions .btn {
	min-height: 36px !important;
	padding: 0.62rem 1.25rem !important;
	font-size: 0.76rem !important;
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-choices .grocery-choice-card {
		min-height: 270px !important;
		aspect-ratio: 660 / 360 !important;
	}
}

/* Store banner replacement, matching the wide grocery promo block. */
.grocery-home .grocery-store-banner {
	order: 11 !important;
	padding: 4rem 0 4.5rem !important;
	background: #ffffff !important;
}

.grocery-home .grocery-store-banner__inner {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(230px, 0.9fr) minmax(260px, 1fr) auto !important;
	align-items: center !important;
	gap: 1.5rem !important;
	max-width: 1010px !important;
	min-height: 215px !important;
	margin: 0 auto !important;
	padding: 2.1rem 2.6rem !important;
	overflow: hidden !important;
	border-radius: 7px !important;
	background: #78a51f !important;
	box-shadow: 0 24px 56px rgba(120, 165, 31, 0.2) !important;
}

.grocery-home .grocery-store-banner__inner::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background: linear-gradient(90deg, rgba(120, 165, 31, 0.2) 0%, rgba(120, 165, 31, 0) 46%, rgba(120, 165, 31, 0.2) 100%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-store-banner__copy {
	position: relative !important;
	z-index: 2 !important;
}

.grocery-home .grocery-store-banner__copy span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 0 0.85rem !important;
	padding: 0.64rem 1.45rem !important;
	border-radius: 999px !important;
	background: #ffeb3d !important;
	color: #101722 !important;
	font-size: 0.9rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	box-shadow: none !important;
}

.grocery-home .grocery-store-banner__copy h2 {
	max-width: 10ch !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(2rem, 3.7vw, 3rem) !important;
	font-weight: 400 !important;
	line-height: 1.02 !important;
	letter-spacing: 0 !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.16) !important;
}

.grocery-home .grocery-store-banner__inner > img {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: fill !important;
	object-position: center center !important;
	filter: none !important;
}

.grocery-home .grocery-store-banner__btn {
	position: relative !important;
	z-index: 2 !important;
	justify-self: end !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 50px !important;
	padding: 0.9rem 1.55rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #20242a !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	white-space: nowrap !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-store-banner__inner {
		grid-template-columns: 1fr !important;
		min-height: 300px !important;
		padding: 2rem !important;
		text-align: left !important;
	}

	.grocery-home .grocery-store-banner__btn {
		justify-self: start !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-store-banner {
		padding: 3rem 0 !important;
	}

	.grocery-home .grocery-store-banner__inner {
		min-height: 330px !important;
		padding: 1.5rem !important;
	}
}

/* Put the wide green feature design on the middle "Offres utiles" block. */
.grocery-home .grocery-section--promo {
	order: 6 !important;
	padding: 4.2rem 0 !important;
	background: linear-gradient(180deg, #ffffff 0%, #fffaf4 100%) !important;
}

.grocery-home .grocery-promo-panel {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(230px, 0.9fr) minmax(260px, 1fr) auto !important;
	align-items: center !important;
	gap: 1.5rem !important;
	max-width: 1010px !important;
	min-height: 230px !important;
	margin: 0 auto !important;
	padding: 2.15rem 2.7rem !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: #78a51f !important;
	box-shadow: 0 24px 56px rgba(120, 165, 31, 0.2) !important;
}

.grocery-home .grocery-promo-panel::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	background:
		linear-gradient(90deg, rgba(120, 165, 31, 0.12) 0%, rgba(120, 165, 31, 0) 50%, rgba(120, 165, 31, 0.14) 100%),
		url("../img/uploads/images/bannerpromo.png") center center / 100% 100% no-repeat !important;
	pointer-events: none !important;
}

.grocery-home .grocery-promo-panel > div,
.grocery-home .grocery-promo-panel > a {
	position: relative !important;
	z-index: 1 !important;
}

.grocery-home .grocery-promo-panel .grocery-section__kicker {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 0 0.85rem !important;
	padding: 0.64rem 1.45rem !important;
	border-radius: 999px !important;
	background: #ffeb3d !important;
	color: #101722 !important;
	font-size: 0.88rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-transform: none !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 12ch !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(2rem, 3.8vw, 3rem) !important;
	font-weight: 400 !important;
	line-height: 1.04 !important;
	letter-spacing: 0 !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.16) !important;
}

.grocery-home .grocery-promo-panel p {
	max-width: 19rem !important;
	margin: 0.85rem 0 0 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
}

.grocery-home .grocery-promo-panel .btn {
	justify-self: end !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 50px !important;
	padding: 0.9rem 1.65rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #20242a !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	white-space: nowrap !important;
}

/* Restore the bottom store banner after the previous experiment. */
.grocery-home .grocery-store-banner {
	order: 11 !important;
	padding: 3.4rem 0 4.2rem !important;
	background: #ffffff !important;
}

.grocery-home .grocery-store-banner__inner {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) auto !important;
	align-items: center !important;
	gap: 1.5rem !important;
	max-width: 980px !important;
	min-height: 210px !important;
	margin: 0 auto !important;
	padding: 2.2rem 2.7rem !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	background: #78a51f !important;
	box-shadow: 0 20px 50px rgba(76, 132, 56, 0.16) !important;
}

.grocery-home .grocery-store-banner__inner::before {
	display: none !important;
}

.grocery-home .grocery-store-banner__copy span {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0.46rem 1.3rem !important;
	border-radius: 999px !important;
	background: #ffeb3d !important;
	color: #172033 !important;
	font-size: 0.9rem !important;
	font-weight: 800 !important;
}

.grocery-home .grocery-store-banner__copy h2 {
	margin: 0.85rem 0 0 !important;
	color: #ffffff !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(1.9rem, 4vw, 2.7rem) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-store-banner__inner > img {
	position: relative !important;
	inset: auto !important;
	z-index: 1 !important;
	width: 100% !important;
	height: auto !important;
	max-height: 180px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 20px 28px rgba(0, 0, 0, 0.18)) !important;
}

.grocery-home .grocery-store-banner__btn {
	position: relative !important;
	z-index: 1 !important;
	justify-self: auto !important;
	min-height: auto !important;
	padding: 0.88rem 1.45rem !important;
	border-radius: 999px !important;
	background: #20242a !important;
	font-weight: 800 !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel,
	.grocery-home .grocery-store-banner__inner {
		grid-template-columns: 1fr !important;
		text-align: left !important;
	}

	.grocery-home .grocery-promo-panel {
		min-height: 320px !important;
		padding: 2rem !important;
	}

	.grocery-home .grocery-promo-panel .btn {
		justify-self: start !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-promo-panel {
		min-height: 360px !important;
		padding: 1.5rem !important;
	}

	.grocery-home .grocery-store-banner__inner {
		padding: 1.4rem !important;
	}
}

/* Refined slim promo block in the middle of the page. */
.grocery-home .grocery-section--promo {
	padding: 4.4rem 0 !important;
	background: #ffffff !important;
}

.grocery-home .grocery-promo-panel {
	grid-template-columns: 260px 1fr auto !important;
	max-width: 1010px !important;
	min-height: 214px !important;
	padding: 2.05rem 4.8rem !important;
	border-radius: 6px !important;
	background: #78a51f !important;
	box-shadow: none !important;
}

.grocery-home .grocery-promo-panel::before {
	background: url("../img/uploads/images/bannerpromo.png") center center / 100% 100% no-repeat !important;
	opacity: 1 !important;
}

.grocery-home .grocery-promo-panel::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	background: linear-gradient(90deg, rgba(120, 165, 31, 0.18) 0%, rgba(120, 165, 31, 0) 42%, rgba(120, 165, 31, 0.18) 100%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-promo-panel > div {
	align-self: center !important;
	max-width: 260px !important;
}

.grocery-home .grocery-promo-panel .grocery-section__kicker {
	margin-bottom: 0.8rem !important;
	padding: 0.56rem 1.35rem !important;
	background: #ffeb3d !important;
	color: #101722 !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 12ch !important;
	color: #ffffff !important;
	font-family: Poppins, Arial, sans-serif !important;
	font-size: clamp(1.7rem, 2.35vw, 2.15rem) !important;
	font-weight: 800 !important;
	line-height: 1.12 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-promo-panel p {
	max-width: 16rem !important;
	margin-top: 0.55rem !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 0.86rem !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-promo-panel .btn {
	min-height: 40px !important;
	padding: 0.72rem 1.35rem !important;
	border-radius: 999px !important;
	background: #20242a !important;
	font-size: 0.76rem !important;
	font-weight: 900 !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr auto !important;
		min-height: 240px !important;
		padding: 2rem !important;
	}

	.grocery-home .grocery-promo-panel > div {
		max-width: 320px !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr !important;
		min-height: 300px !important;
		padding: 1.4rem !important;
	}
}

/* Final promo wording/layout polish: clean text, no blocky red highlights. */
.grocery-home .grocery-promo-panel {
	grid-template-columns: minmax(250px, 340px) 1fr auto !important;
	min-height: 250px !important;
	padding: 2.2rem 4.4rem !important;
}

.grocery-home .grocery-promo-panel::before {
	background: url("../img/uploads/images/bannerpromo.png") center center / 100% 100% no-repeat !important;
	filter: saturate(1.02) contrast(1.01) !important;
}

.grocery-home .grocery-promo-panel > div {
	max-width: none !important;
}

.grocery-home .grocery-promo-panel .grocery-section__kicker {
	padding: 0.55rem 1.25rem !important;
	background: #ffeb3d !important;
	color: #172033 !important;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-shadow: none !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 11ch !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: #ffffff !important;
	font-family: Poppins, Arial, sans-serif !important;
	font-size: clamp(2rem, 3.1vw, 2.7rem) !important;
	font-weight: 900 !important;
	line-height: 1.04 !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.2) !important;
	box-decoration-break: initial !important;
	-webkit-box-decoration-break: initial !important;
}

.grocery-home .grocery-promo-panel p {
	display: block !important;
	max-width: 20rem !important;
	margin: 0.75rem 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: rgba(255, 255, 255, 0.96) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.42 !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
}

.grocery-home .grocery-promo-panel .btn {
	min-width: 150px !important;
	min-height: 44px !important;
	padding: 0.78rem 1.4rem !important;
	background: #20242a !important;
	color: #ffffff !important;
	font-size: 0.75rem !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr auto !important;
		min-height: 280px !important;
		padding: 2rem !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr !important;
		min-height: 340px !important;
	}

	.grocery-home .grocery-promo-panel h2 {
		font-size: 2rem !important;
	}
}

/* Hard reset for promo text highlights. */
.grocery-home .grocery-section--promo .grocery-promo-panel h2,
.grocery-home .grocery-section--promo .grocery-promo-panel h2 *,
.grocery-home .grocery-section--promo .grocery-promo-panel p,
.grocery-home .grocery-section--promo .grocery-promo-panel p * {
	display: block !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	text-decoration: none !important;
	box-decoration-break: slice !important;
	-webkit-box-decoration-break: slice !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel h2 {
	max-width: 11ch !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-size: clamp(2rem, 3vw, 2.65rem) !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.22) !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel p {
	max-width: 19rem !important;
	margin: 0.7rem 0 0 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.16) !important;
}

/* Wider, balanced promo banner. */
.grocery-home .grocery-section--promo .container {
	max-width: 1240px !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel {
	grid-template-columns: minmax(260px, 390px) minmax(340px, 1fr) minmax(170px, 230px) !important;
	max-width: 1180px !important;
	min-height: 300px !important;
	padding: 2.35rem 4.4rem 2.2rem !important;
	border-radius: 6px !important;
	background-color: #78a51f !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel::before {
	background: url("../img/uploads/images/bannerpromo.png") center center / 100% 100% no-repeat !important;
	filter: none !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel::after {
	display: none !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel > div {
	max-width: 370px !important;
	align-self: center !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel .grocery-section__kicker {
	margin: 0 0 1.1rem !important;
	padding: 0.62rem 1.55rem !important;
	border-radius: 999px !important;
	background: #ffeb3d !important;
	color: #101722 !important;
	font-size: 0.9rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel h2 {
	max-width: 9.5ch !important;
	font-size: clamp(2.7rem, 4vw, 3.7rem) !important;
	font-weight: 900 !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel p {
	max-width: 23rem !important;
	margin-top: 1rem !important;
	font-size: 1rem !important;
	line-height: 1.38 !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel .btn {
	justify-self: center !important;
	align-self: center !important;
	min-width: 170px !important;
	min-height: 46px !important;
	padding: 0.85rem 1.5rem !important;
	border-radius: 999px !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section--promo .grocery-promo-panel {
		grid-template-columns: 1fr auto !important;
		max-width: 100% !important;
		min-height: 330px !important;
		padding: 2rem !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-section--promo .grocery-promo-panel {
		grid-template-columns: 1fr !important;
		min-height: 390px !important;
		padding: 1.4rem !important;
	}

	.grocery-home .grocery-section--promo .grocery-promo-panel h2 {
		font-size: 2.25rem !important;
	}
}

/* Home cleanup: removed bottom banner and polished service block. */
.grocery-home .grocery-store-banner {
	display: none !important;
}

.grocery-home .grocery-service-strip {
	order: 8 !important;
	padding: 0 0 4.4rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbf4 100%) !important;
}

.grocery-home .grocery-service-strip .container {
	max-width: 1180px !important;
}

.grocery-home .grocery-service {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 52px 1fr !important;
	gap: 0.15rem 0.95rem !important;
	align-items: center !important;
	min-height: 132px !important;
	padding: 1.15rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.08) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.grocery-home .grocery-service:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 22px 42px rgba(23, 32, 51, 0.11) !important;
}

.grocery-home .grocery-service i {
	grid-row: 1 / span 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	border-radius: 8px !important;
	background: rgba(120, 165, 31, 0.13) !important;
	color: #4c8438 !important;
	font-size: 1.05rem !important;
}

.grocery-home .grocery-service strong {
	align-self: end !important;
	color: #172033 !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

.grocery-home .grocery-service span {
	align-self: start !important;
	color: #64748b !important;
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-service-strip {
		padding-bottom: 3rem !important;
	}

	.grocery-home .grocery-service {
		min-height: 118px !important;
	}
}

/* Home visual refresh: bigger brand logos, varied hero images, redesigned categories. */
.grocery-home .grocery-choice-card__brand {
	width: 112px !important;
	height: 76px !important;
	padding: 0.65rem !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 12px 26px rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-choice-card__brand img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
}

.grocery-home .grocery-hero__visual {
	min-height: 440px !important;
	background: transparent !important;
}

.grocery-home .grocery-hero__visual-image {
	width: min(96%, 520px) !important;
	height: min(380px, 72vw) !important;
	object-fit: contain !important;
	border-radius: 0 !important;
	filter: drop-shadow(0 26px 32px rgba(0, 0, 0, 0.22)) !important;
	transform: none !important;
}

.grocery-home .grocery-hero__visual-image--alt {
	width: min(94%, 500px) !important;
	transform: translateY(8px) rotate(-2deg) !important;
}

.grocery-home .grocery-hero__visual-image--bright {
	width: min(98%, 540px) !important;
	height: min(400px, 74vw) !important;
	transform: translateY(6px) !important;
}

.grocery-home .grocery-section--categories {
	padding: 4.2rem 0 4.7rem !important;
	background:
		linear-gradient(180deg, #fffaf4 0%, #ffffff 42%, #f8fbf4 100%) !important;
}

.grocery-home .grocery-section__header--catalog {
	margin-bottom: 2.2rem !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__kicker,
.grocery-home .grocery-section__header--catalog .grocery-section__lead,
.grocery-home .grocery-section__header--catalog .grocery-section__action {
	display: inline-flex !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__lead {
	display: block !important;
	max-width: 560px !important;
	margin: 0.85rem auto 0 !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__action {
	margin-top: 1.25rem !important;
	background: #20242a !important;
	border-color: #20242a !important;
	box-shadow: 0 14px 28px rgba(32, 36, 42, 0.14) !important;
}

.grocery-home .grocery-category-carousel {
	max-width: 1180px !important;
	padding: 0.35rem 0.1rem 1.7rem !important;
}

.grocery-home .grocery-category-card {
	min-height: 210px !important;
	padding: 1.35rem 1.05rem 1.45rem !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.74)),
		#f4f8ee !important;
	box-shadow: 0 18px 36px rgba(23, 32, 51, 0.08) !important;
	overflow: hidden !important;
}

.grocery-home .grocery-category-carousel .owl-item:nth-child(2n) .grocery-category-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.74)),
		#fff3e6 !important;
}

.grocery-home .grocery-category-carousel .owl-item:nth-child(3n) .grocery-category-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.76)),
		#eef6ff !important;
}

.grocery-home .grocery-category-card:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 24px 48px rgba(23, 32, 51, 0.13) !important;
}

.grocery-home .grocery-category-card::before {
	content: "" !important;
	position: absolute !important;
	display: block !important;
	inset: auto -30px -58px auto !important;
	width: 118px !important;
	height: 118px !important;
	border-radius: 50% !important;
	background: rgba(120, 165, 31, 0.16) !important;
}

.grocery-home .grocery-category-card__image {
	width: 86px !important;
	height: 86px !important;
	margin-bottom: 1.15rem !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: inset 0 0 0 1px rgba(23, 32, 51, 0.06), 0 14px 26px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-category-card__image img {
	width: 100% !important;
	height: 100% !important;
	padding: 1rem !important;
	filter: none !important;
}

.grocery-home .grocery-category-card__image span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 86px !important;
	height: 86px !important;
	color: #4c8438 !important;
	font-size: 2rem !important;
	font-weight: 900 !important;
}

.grocery-home .grocery-category-card__count {
	margin-bottom: 0.45rem !important;
	padding: 0.35rem 0.75rem !important;
	border-radius: 999px !important;
	background: rgba(227, 6, 19, 0.08) !important;
	color: #e30613 !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
}

.grocery-home .grocery-category-card__title {
	max-width: 13ch !important;
	color: #172033 !important;
	font-size: 1.02rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

.grocery-home .grocery-category-card-link::after {
	bottom: -18px !important;
	background: #e30613 !important;
	color: #ffffff !important;
	box-shadow: 0 12px 24px rgba(227, 6, 19, 0.2) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__visual {
		min-height: 340px !important;
	}

	.grocery-home .grocery-choice-card__brand {
		width: 100px !important;
		height: 68px !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-hero__visual {
		min-height: 280px !important;
	}

	.grocery-home .grocery-category-card {
		min-height: 190px !important;
	}

	.grocery-home .grocery-section__header--catalog .grocery-section__action {
		width: 100% !important;
	}
}

/* Categories block: cleaner professional catalog presentation. */
.grocery-home .grocery-section--categories {
	padding: 4.6rem 0 5rem !important;
	background: #ffffff !important;
	border-top: 1px solid rgba(23, 32, 51, 0.06) !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.06) !important;
}

.grocery-home .grocery-section__header--catalog {
	max-width: 1180px !important;
	margin: 0 auto 2rem !important;
	padding: 0 0.75rem !important;
	text-align: left !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__kicker {
	display: inline-flex !important;
	margin-bottom: 0.55rem !important;
	color: #e30613 !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__title {
	margin: 0 !important;
	color: #172033 !important;
	font-family: inherit !important;
	font-size: clamp(2rem, 3vw, 2.75rem) !important;
	font-weight: 900 !important;
	line-height: 1.08 !important;
	text-align: left !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__title span {
	font-family: inherit !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__lead {
	max-width: 540px !important;
	margin: 0.75rem 0 0 !important;
	color: #64748b !important;
	font-size: 0.98rem !important;
	line-height: 1.6 !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__action {
	display: inline-flex !important;
	float: right !important;
	margin-top: -3.1rem !important;
	min-height: 44px !important;
	padding: 0.78rem 1.1rem !important;
	border-radius: 8px !important;
	background: #172033 !important;
	border-color: #172033 !important;
	color: #ffffff !important;
}

.grocery-home .grocery-category-carousel {
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 0.5rem 0.75rem 0.3rem !important;
	overflow: visible !important;
}

.grocery-home .grocery-category-carousel .owl-stage-outer {
	padding: 0.65rem 0 1.2rem !important;
	overflow: hidden !important;
}

.grocery-home .grocery-category-card-link {
	padding-bottom: 0 !important;
}

.grocery-home .grocery-category-card-link::after {
	content: "\f061" !important;
	right: 1rem !important;
	bottom: 1rem !important;
	left: auto !important;
	width: 34px !important;
	height: 34px !important;
	background: rgba(227, 6, 19, 0.09) !important;
	color: #e30613 !important;
	box-shadow: none !important;
	transform: none !important;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.grocery-home .grocery-category-card-link:hover::after {
	background: #e30613 !important;
	color: #ffffff !important;
	transform: translateX(3px) !important;
}

.grocery-home .grocery-category-card {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	min-height: 236px !important;
	padding: 1.15rem 1.15rem 1.2rem !important;
	border: 1px solid rgba(120, 165, 31, 0.2) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.09) !important;
}

.grocery-home .grocery-category-carousel .owl-item:nth-child(2n) .grocery-category-card,
.grocery-home .grocery-category-carousel .owl-item:nth-child(3n) .grocery-category-card {
	/* background: #ffffff !important; */
	background: #4b872e9e !important;
}

.grocery-home .grocery-category-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(120, 165, 31, 0.28) !important;
	box-shadow: 0 22px 48px rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-category-card::before {
	display: none !important;
}

.grocery-home .grocery-category-card__image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 118px !important;
	margin: 0 0 1rem !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, #f5f8ee 0%, #fff7e6 100%) !important;
	box-shadow: none !important;
}

.grocery-home .grocery-category-card__image img {
	width: 86px !important;
	height: 86px !important;
	padding: 0 !important;
	object-fit: contain !important;
	transform: none !important;
}

.grocery-home .grocery-category-card:hover .grocery-category-card__image img {
	transform: scale(1.06) !important;
}

.grocery-home .grocery-category-card__image span {
	width: 100% !important;
	height: 100% !important;
	color: #4c8438 !important;
	font-size: 2.35rem !important;
}

.grocery-home .grocery-category-card__count {
	margin: 0 0 0.45rem !important;
	padding: 0 !important;
	background: transparent !important;
	color: #e30613 !important;
	font-size: 0.76rem !important;
	font-weight: 900 !important;
	text-align: left !important;
}

.grocery-home .grocery-category-card__title {
	max-width: calc(100% - 46px) !important;
	color: #172033 !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	text-align: left !important;
}

.grocery-home .grocery-category-carousel .owl-nav {
	display: flex !important;
	justify-content: flex-end !important;
	gap: 0.5rem !important;
	max-width: 1180px !important;
	margin: 0.4rem auto 0 !important;
	padding: 0 0.75rem !important;
}

.grocery-home .grocery-category-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-category-carousel .owl-nav button.owl-next {
	position: static !important;
	width: 42px !important;
	height: 42px !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	color: #172033 !important;
	box-shadow: 0 10px 24px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-category-carousel .owl-nav button:hover,
.grocery-home .grocery-category-carousel .owl-nav button:focus {
	background: #172033 !important;
	color: #ffffff !important;
}

@media (max-width: 767.98px) {
	.grocery-home .grocery-section__header--catalog {
		text-align: center !important;
	}

	.grocery-home .grocery-section__header--catalog .grocery-section__title,
	.grocery-home .grocery-section__header--catalog .grocery-section__lead {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.grocery-home .grocery-section__header--catalog .grocery-section__action {
		float: none !important;
		margin-top: 1rem !important;
	}

	.grocery-home .grocery-category-card {
		min-height: 220px !important;
	}
}

/* Header and hero final polish. */
.site-header {
	--header-accent: #4c8438 !important;
	--header-accent-2: #e30613 !important;
	--header-ink: #172033 !important;
}

.site-header__nav {
	border-top: 1px solid rgba(23, 32, 51, 0.06) !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.08) !important;
	box-shadow: 0 8px 22px rgba(23, 32, 51, 0.035) !important;
}

.site-header__nav-list {
	gap: 0.35rem !important;
}

.site-header__nav-list li,
.site-header__nav-list .nav-link {
	border: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.site-header__nav-list .nav-link {
	height: 56px !important;
	padding: 0 0.95rem !important;
	border-radius: 0 !important;
	color: #172033 !important;
	font-size: 0.77rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.01em !important;
	transition: color 0.18s ease, background 0.18s ease !important;
}

.site-header__nav-list .nav-link::before {
	display: none !important;
	content: none !important;
}

.site-header__nav-list .nav-link::after {
	left: 0.95rem !important;
	right: 0.95rem !important;
	bottom: 0 !important;
	height: 3px !important;
	border-radius: 999px 999px 0 0 !important;
	background: linear-gradient(90deg, #4c8438, #e30613) !important;
	transform: scaleX(0) !important;
	transform-origin: center !important;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus {
	background: rgba(76, 132, 56, 0.07) !important;
	color: #4c8438 !important;
}

.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	background: transparent !important;
	color: #4c8438 !important;
}

.site-header__nav-list .nav-link:hover::after,
.site-header__nav-list .nav-link:focus::after,
.site-header__nav-list .nav-link.active::after,
.site-header__nav-list .nav-link[aria-current="page"]::after {
	transform: scaleX(1) !important;
}

.site-header__search:focus-within {
	border-color: rgba(76, 132, 56, 0.34) !important;
	box-shadow: 0 12px 28px rgba(76, 132, 56, 0.1) !important;
}

.site-header__search button:hover,
.site-header__search button:focus,
.site-header__info-link:hover,
.site-header__info-link:focus,
.site-header__tool:hover,
.site-header__tool:focus {
	color: #4c8438 !important;
}

.grocery-home .grocery-hero {
	background:
		radial-gradient(circle at 8% 22%, rgba(255, 255, 255, 0.12) 0 0, transparent 13rem),
		linear-gradient(112deg, #506b28 0%, #8c4227 30%, #e30613 61%, #ff5722 100%) !important;
}

.grocery-home .grocery-hero__content {
	position: relative !important;
}

.grocery-home .grocery-hero__eyebrow {
	border: 1px solid rgba(255, 255, 255, 0.34) !important;
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffffff !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

.grocery-home .grocery-hero__title {
	max-width: 11ch !important;
	color: #ffffff !important;
	font-size: clamp(3rem, 5.6vw, 5rem) !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
	text-shadow: 0 12px 34px rgba(0, 0, 0, 0.16) !important;
}

.grocery-home .grocery-hero__lead {
	max-width: 39rem !important;
	color: rgba(255, 255, 255, 0.93) !important;
	font-size: 1.04rem !important;
	font-weight: 600 !important;
	line-height: 1.75 !important;
}

.grocery-home .grocery-hero__actions {
	gap: 0.8rem !important;
	margin-top: 1.8rem !important;
}

.grocery-home .grocery-hero__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 210px !important;
	min-height: 54px !important;
	border-radius: 999px !important;
	font-size: 0.94rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	box-shadow: 0 18px 36px rgba(23, 32, 51, 0.16) !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: #172033 !important;
	border-color: #172033 !important;
	color: #ffffff !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 2px solid rgba(255, 255, 255, 0.78) !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.grocery-home .grocery-hero__btn:hover,
.grocery-home .grocery-hero__btn:focus {
	transform: translateY(-2px) !important;
	box-shadow: 0 22px 44px rgba(23, 32, 51, 0.22) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: #4c8438 !important;
	border-color: #4c8438 !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light:hover,
.grocery-home .grocery-hero__actions .btn-outline-light:focus {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: #172033 !important;
}

.grocery-home .grocery-hero__metric {
	border-color: rgba(255, 255, 255, 0.22) !important;
	background: rgba(255, 255, 255, 0.12) !important;
	color: #ffffff !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

.grocery-home .grocery-hero__visual {
	min-height: 390px !important;
}

.grocery-home .grocery-hero__visual::before {
	content: "" !important;
	position: absolute !important;
	inset: 12% 6% 8% 4% !important;
	border-radius: 50% !important;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 68%) !important;
	filter: blur(2px) !important;
}

.grocery-home .grocery-hero__visual-image {
	position: relative !important;
	z-index: 1 !important;
	width: min(100%, 520px) !important;
	height: min(360px, 64vw) !important;
}

.grocery-home .grocery-hero__visual-image--alt {
	width: min(108%, 600px) !important;
	height: min(405px, 68vw) !important;
	max-width: none !important;
	transform: translateX(-1.2rem) translateY(8px) scale(1.04) !important;
	filter: drop-shadow(0 34px 38px rgba(0, 0, 0, 0.24)) !important;
}

.grocery-home .grocery-hero__visual-image--bright {
	width: min(104%, 560px) !important;
	height: min(385px, 66vw) !important;
}

.grocery-home .grocery-hero__floating-badge {
	z-index: 2 !important;
	background: #ffdc3d !important;
	color: #172033 !important;
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.14) !important;
}

@media (max-width: 991.98px) {
	.site-header__nav-list .nav-link {
		border-radius: 8px !important;
	}

	.site-header__nav-list .nav-link::after {
		top: 0.65rem !important;
		left: 0 !important;
		right: auto !important;
		bottom: 0.65rem !important;
		width: 3px !important;
		height: auto !important;
		border-radius: 0 999px 999px 0 !important;
		transform: scaleY(0) !important;
	}

	.site-header__nav-list .nav-link:hover::after,
	.site-header__nav-list .nav-link:focus::after,
	.site-header__nav-list .nav-link.active::after,
	.site-header__nav-list .nav-link[aria-current="page"]::after {
		transform: scaleY(1) !important;
	}

	.grocery-home .grocery-hero__title {
		font-size: clamp(2.45rem, 9vw, 3.7rem) !important;
	}

	.grocery-home .grocery-hero__visual-image--alt {
		width: min(100%, 560px) !important;
		height: min(390px, 76vw) !important;
		transform: none !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-hero__btn {
		width: 100% !important;
		min-width: 0 !important;
	}

	.grocery-home .grocery-hero__visual {
		min-height: 280px !important;
	}
}

/* Process section: upgraded after removing the services strip. */
.grocery-home .grocery-service-strip {
	display: none !important;
}

.grocery-home .grocery-section--process {
	order: 8 !important;
	position: relative !important;
	padding: 5.4rem 0 5.8rem !important;
	overflow: hidden !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #f8fbf4 100%) !important;
	border-top: 1px solid rgba(23, 32, 51, 0.06) !important;
}

.grocery-home .grocery-section--process::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background:
		linear-gradient(90deg, rgba(76, 132, 56, 0.045) 1px, transparent 1px),
		linear-gradient(180deg, rgba(76, 132, 56, 0.035) 1px, transparent 1px) !important;
	background-size: 72px 72px !important;
	mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 74%, transparent 100%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-section--process .container {
	position: relative !important;
	z-index: 1 !important;
	max-width: 1180px !important;
}

.grocery-home .grocery-section--process .grocery-section__header {
	max-width: 760px !important;
	margin: 0 auto 2.8rem !important;
}

.grocery-home .grocery-section--process .grocery-section__kicker {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 0.8rem !important;
	padding: 0.48rem 0.9rem !important;
	border-radius: 999px !important;
	background: rgba(227, 6, 19, 0.08) !important;
	color: #e30613 !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
}

.grocery-home .grocery-section--process .grocery-section__title {
	max-width: 700px !important;
	margin: 0 auto !important;
	color: #172033 !important;
	font-size: clamp(2.2rem, 4.2vw, 3.6rem) !important;
	font-weight: 950 !important;
	line-height: 1.04 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-section--process .grocery-section__lead {
	max-width: 640px !important;
	margin: 1.1rem auto 0 !important;
	color: #64748b !important;
	font-size: 1.02rem !important;
	line-height: 1.7 !important;
}

.grocery-home .grocery-section--process .row {
	position: relative !important;
	align-items: stretch !important;
}

.grocery-home .grocery-section--process .row::before {
	content: "" !important;
	position: absolute !important;
	top: 4.1rem !important;
	left: 9% !important;
	right: 9% !important;
	height: 2px !important;
	background: linear-gradient(90deg, rgba(76, 132, 56, 0.1), rgba(227, 6, 19, 0.22), rgba(76, 132, 56, 0.1)) !important;
}

.grocery-home .grocery-step-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 248px !important;
	height: 100% !important;
	padding: 1.45rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: 0 20px 48px rgba(23, 32, 51, 0.08) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.grocery-home .grocery-step-card:hover {
	transform: translateY(-6px) !important;
	border-color: rgba(76, 132, 56, 0.28) !important;
	box-shadow: 0 28px 58px rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-step-card::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: linear-gradient(90deg, #4c8438, #e30613) !important;
}

.grocery-home .grocery-step-card span {
	position: absolute !important;
	top: 1.1rem !important;
	right: 1.2rem !important;
	color: rgba(23, 32, 51, 0.07) !important;
	font-size: 2rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
}

.grocery-home .grocery-step-card i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 54px !important;
	height: 54px !important;
	margin: 0 0 1.35rem !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.14), rgba(248, 197, 51, 0.16)) !important;
	color: #4c8438 !important;
	font-size: 1.12rem !important;
}

.grocery-home .grocery-step-card h3 {
	max-width: 12rem !important;
	margin: auto 0 0.7rem !important;
	color: #172033 !important;
	font-size: 1.1rem !important;
	font-weight: 950 !important;
	line-height: 1.25 !important;
}

.grocery-home .grocery-step-card p {
	margin: 0 !important;
	color: #64748b !important;
	font-size: 0.95rem !important;
	line-height: 1.65 !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section--process .row::before {
		display: none !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-section--process {
		padding: 4rem 0 !important;
	}

	.grocery-home .grocery-step-card {
		min-height: 220px !important;
	}
}

/* Hero: wider content area so the slide uses the full storefront width. */
.grocery-home .grocery-hero__content {
	width: min(100% - 32px, 1520px) !important;
	max-width: 1520px !important;
	padding-left: clamp(1rem, 2vw, 2rem) !important;
	padding-right: clamp(1rem, 2vw, 2rem) !important;
}

.grocery-home .grocery-hero,
.grocery-home .grocery-hero__carousel,
.grocery-home .grocery-hero__carousel .owl-stage-outer,
.grocery-home .grocery-hero__carousel .owl-item,
.grocery-home .grocery-hero__slide {
	overflow: hidden !important;
}

@media (min-width: 1600px) {
	.grocery-home .grocery-hero__content {
		width: min(100% - 48px, 1640px) !important;
		max-width: 1640px !important;
	}
}

/* Hero content refinement: stronger copy, softer motion, brand-green CTA. */
.grocery-home .grocery-hero__slide {
	padding: 1.25rem 0 1.35rem !important;
}

.grocery-home .grocery-hero__slide .row {
	min-height: clamp(430px, 54vh, 560px) !important;
}

.grocery-home .grocery-hero__eyebrow {
	padding: 0.48rem 0.95rem !important;
	border-radius: 999px !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.08em !important;
	backdrop-filter: blur(10px) !important;
	animation: groceryHeroFadeUp 0.58s ease both !important;
}

.grocery-home .grocery-hero__title {
	max-width: 11.4ch !important;
	margin-top: 0.85rem !important;
	margin-bottom: 0.75rem !important;
	font-size: clamp(2.9rem, 5.1vw, 4.85rem) !important;
	line-height: 0.98 !important;
	animation: groceryHeroFadeUp 0.68s ease 0.08s both !important;
}

.grocery-home .grocery-hero__lead {
	max-width: 39rem !important;
	margin-bottom: 0 !important;
	font-size: clamp(0.96rem, 1.08vw, 1.06rem) !important;
	line-height: 1.55 !important;
	text-wrap: balance !important;
	animation: groceryHeroFadeUp 0.68s ease 0.16s both !important;
}

.grocery-home .grocery-hero__actions {
	margin-top: 1.35rem !important;
	gap: 0.95rem !important;
	animation: groceryHeroFadeUp 0.68s ease 0.24s both !important;
}

.grocery-home .grocery-hero__actions .btn-dark,
.grocery-home .grocery-hero__actions .btn-outline-light {
	min-height: 50px !important;
	padding-inline: 2.05rem !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: #4c8438 !important;
	border-color: #4c8438 !important;
	color: #ffffff !important;
	box-shadow: 0 18px 38px rgba(76, 132, 56, 0.32) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: #3f7330 !important;
	border-color: #3f7330 !important;
	box-shadow: 0 22px 46px rgba(76, 132, 56, 0.4) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light {
	background: rgba(255, 255, 255, 0.12) !important;
}

.grocery-home .grocery-hero__metrics {
	margin-top: 1rem !important;
	gap: 0.7rem !important;
	animation: groceryHeroFadeUp 0.68s ease 0.32s both !important;
}

.grocery-home .grocery-hero__metric {
	min-height: 42px !important;
	padding: 0.58rem 0.85rem !important;
	border-radius: 8px !important;
	backdrop-filter: blur(10px) !important;
}

.grocery-home .grocery-hero__visual {
	animation: groceryHeroFloat 5.8s ease-in-out infinite !important;
}

.grocery-home .grocery-hero__visual-image {
	animation: groceryHeroImageIn 0.82s ease 0.16s both !important;
}

.grocery-home .grocery-hero__floating-badge {
	animation: groceryHeroBadge 4.5s ease-in-out infinite !important;
}

@keyframes groceryHeroFadeUp {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes groceryHeroImageIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes groceryHeroFloat {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

@keyframes groceryHeroBadge {
	0%,
	100% {
		transform: rotate(12deg) translateY(0);
	}
	50% {
		transform: rotate(8deg) translateY(-8px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.grocery-home .grocery-hero__eyebrow,
	.grocery-home .grocery-hero__title,
	.grocery-home .grocery-hero__lead,
	.grocery-home .grocery-hero__actions,
	.grocery-home .grocery-hero__metrics,
	.grocery-home .grocery-hero__visual,
	.grocery-home .grocery-hero__visual-image,
	.grocery-home .grocery-hero__floating-badge {
		animation: none !important;
	}
}

@media (max-width: 767.98px) {
	.grocery-home .grocery-hero__title {
		font-size: clamp(2.35rem, 11vw, 3.35rem) !important;
	}

	.grocery-home .grocery-hero__lead {
		font-size: 0.96rem !important;
	}

	.grocery-home .grocery-hero__actions {
		margin-top: 1.15rem !important;
	}
}

/* Hero spacing pass: more left/right breathing room without increasing height. */
.grocery-home .grocery-hero__content {
	padding-left: clamp(2rem, 4.5vw, 5.5rem) !important;
	padding-right: clamp(2rem, 4.5vw, 5.5rem) !important;
}

.grocery-home .grocery-hero__slide .row {
	column-gap: clamp(1.5rem, 3vw, 4rem) !important;
	min-height: clamp(420px, 52vh, 540px) !important;
}

.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	max-width: 560px !important;
}

.grocery-home .grocery-hero__title {
	max-width: 10.2ch !important;
	font-size: clamp(2.75rem, 4.65vw, 4.45rem) !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-hero__lead {
	max-width: 35rem !important;
	font-size: clamp(0.95rem, 1vw, 1.02rem) !important;
	line-height: 1.62 !important;
}

.grocery-home .grocery-hero__eyebrow {
	font-size: 0.7rem !important;
}

.grocery-home .grocery-hero__btn {
	font-size: 0.9rem !important;
}

.grocery-home .grocery-hero__metric {
	font-size: 0.84rem !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__content {
		padding-left: clamp(1.25rem, 4vw, 2rem) !important;
		padding-right: clamp(1.25rem, 4vw, 2rem) !important;
	}

	.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
		max-width: 100% !important;
	}
}

/* Hero centering: keep the slide content visually balanced in the section. */
.grocery-home .grocery-hero {
	display: flex !important;
	align-items: center !important;
}

.grocery-home .grocery-hero__content,
.grocery-home .grocery-hero__carousel,
.grocery-home .grocery-hero__carousel .owl-stage-outer,
.grocery-home .grocery-hero__carousel .owl-stage,
.grocery-home .grocery-hero__carousel .owl-item {
	height: 100% !important;
}

.grocery-home .grocery-hero__slide {
	display: flex !important;
	align-items: center !important;
}

.grocery-home .grocery-hero__slide .row {
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	align-items: center !important;
	justify-content: center !important;
}

.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	flex: 0 1 560px !important;
}

.grocery-home .grocery-hero__slide .row > [class*="col-"]:last-child {
	flex: 1 1 620px !important;
	display: flex !important;
	justify-content: center !important;
}

.grocery-home .grocery-hero__visual {
	margin-left: auto !important;
	margin-right: auto !important;
}

.grocery-home .grocery-hero__carousel .owl-dots {
	position: absolute !important;
	left: 50% !important;
	bottom: 1.1rem !important;
	margin-top: 0 !important;
	transform: translateX(-50%) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child,
	.grocery-home .grocery-hero__slide .row > [class*="col-"]:last-child {
		flex: 0 0 100% !important;
	}
}

/* Professional transition band between hero and brand cards. */
.grocery-home .grocery-band {
	position: relative !important;
	z-index: 2 !important;
	margin: 0 !important;
	padding: 0 !important;
	background:
		linear-gradient(90deg, #121722 0%, #172033 48%, #0f141d 100%) !important;
	border: 0 !important;
	box-shadow: 0 18px 42px rgba(9, 13, 20, 0.22) !important;
}

.grocery-home .grocery-band::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background:
		linear-gradient(90deg, rgba(76, 132, 56, 0.2), transparent 32%, rgba(227, 6, 19, 0.16)) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-band__carousel {
	position: relative !important;
	z-index: 1 !important;
	min-height: 58px !important;
	padding: 0 1.5rem !important;
}

.grocery-home .grocery-band__slide {
	min-height: 58px !important;
	padding: 0 1.5rem !important;
	background: transparent !important;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

.grocery-home .grocery-band__slide::before {
	content: "\f00c" !important;
	position: static !important;
	flex: 0 0 auto !important;
	width: 24px !important;
	height: 24px !important;
	margin-right: 0.85rem !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(255, 220, 61, 0.18) !important;
	color: #ffdc3d !important;
	font-family: "Font Awesome 5 Free" !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	box-shadow: inset 0 0 0 1px rgba(255, 220, 61, 0.3), 0 0 18px rgba(255, 220, 61, 0.08) !important;
	transform: none !important;
}

.grocery-home .grocery-band__accent {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 28px !important;
	margin: 0 0.35rem !important;
	padding: 0.2rem 0.58rem !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.16) !important;
	color: #ffffff !important;
	font-weight: 950 !important;
}

.grocery-home .grocery-choices {
	padding-top: 3.2rem !important;
	background: linear-gradient(180deg, #fffaf0 0%, #ffffff 34%) !important;
}

@media (max-width: 767.98px) {
	.grocery-home .grocery-band__carousel {
		min-height: 52px !important;
		padding: 0 0.75rem !important;
	}

	.grocery-home .grocery-band__slide {
		min-height: 52px !important;
		padding: 0 0.85rem !important;
		font-size: 0.76rem !important;
	}
}

/* Hero background: warm orange tone matched to the requested grocery reference. */
.grocery-home .grocery-hero {
	background:
		linear-gradient(90deg, rgba(197, 67, 32, 0.18) 0 7.5%, transparent 7.5% 100%),
		radial-gradient(circle at 64% 46%, rgba(255, 190, 92, 0.16) 0 0, transparent 19rem),
		linear-gradient(110deg, #d94f2a 0%, #df542e 44%, #df512b 100%) !important;
}

.grocery-home .grocery-hero::before {
	background: radial-gradient(circle at 0% 28%, rgba(93, 74, 37, 0.2) 0 0, transparent 13rem) !important;
}

.grocery-home .grocery-hero::after {
	background: radial-gradient(circle at 70% 44%, rgba(255, 255, 255, 0.08), transparent 23rem) !important;
}

/* Final hero/header/band tune: clean edges, stronger logos, centered dark strip. */
.site-header__nav {
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.grocery-home .grocery-hero {
	border: 0 !important;
	box-shadow: none !important;
}

.grocery-home .grocery-hero::before {
	opacity: 0.36 !important;
}

.site-header__brand {
	min-width: 176px !important;
}

#header .brand-set--header {
	gap: 0.72rem !important;
}

#header .brand-set--header .brand-set__item {
	width: 84px !important;
	height: 58px !important;
	flex-basis: 84px !important;
}

#header .brand-set--header .brand-set__logo {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	filter: saturate(1.08) contrast(1.04) !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: linear-gradient(90deg, #111827 0%, #172033 48%, #4c8438 100%) !important;
	border: 0 !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(17, 24, 39, 0.24), 0 10px 24px rgba(76, 132, 56, 0.22) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: linear-gradient(90deg, #4c8438 0%, #3f7330 56%, #111827 100%) !important;
	transform: translateY(-2px) !important;
}

.grocery-home .grocery-band {
	display: flex !important;
	justify-content: center !important;
	border: 0 !important;
}

.grocery-home .grocery-band .container-fluid {
	width: 100% !important;
	max-width: 1640px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	overflow: hidden !important;
}

.grocery-home .grocery-band__carousel {
	width: 100% !important;
	padding-left: clamp(1rem, 3vw, 3.5rem) !important;
	padding-right: clamp(1rem, 3vw, 3.5rem) !important;
}

.grocery-home .grocery-band__carousel .owl-stage {
	display: flex !important;
	align-items: center !important;
}

.grocery-home .grocery-band__carousel .owl-item {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.grocery-home .grocery-band__slide {
	justify-content: center !important;
	text-align: center !important;
}

@media (max-width: 991.98px) {
	.site-header__brand {
		min-width: 132px !important;
	}

	#header .brand-set--header .brand-set__item {
		width: 64px !important;
		height: 48px !important;
		flex-basis: 64px !important;
	}
}

/* Final cleanup: no hero section artifacts, stronger header logos, centered dark band. */
.grocery-home .grocery-hero {
	background:
		radial-gradient(circle at 63% 45%, rgba(255, 195, 98, 0.13) 0 0, transparent 19rem),
		linear-gradient(110deg, #d94f2a 0%, #df542e 48%, #df512b 100%) !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.grocery-home .grocery-hero::before,
.grocery-home .grocery-hero::after {
	display: none !important;
	content: none !important;
}

.site-header__main-inner {
	min-height: 74px !important;
}

.site-header__brand {
	min-width: 202px !important;
}

#header .brand-set--header {
	gap: 0.85rem !important;
}

#header .brand-set--header .brand-set__item {
	width: 94px !important;
	height: 64px !important;
	flex-basis: 94px !important;
	background: transparent !important;
	box-shadow: none !important;
}

#header .brand-set--header .brand-set__logo {
	filter: saturate(1.14) contrast(1.06) drop-shadow(0 6px 10px rgba(23, 32, 51, 0.08)) !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: #111827 !important;
	border: 2px solid rgba(76, 132, 56, 0.95) !important;
	color: #ffffff !important;
	box-shadow: 0 16px 34px rgba(17, 24, 39, 0.24), inset 7px 0 0 #4c8438 !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: #4c8438 !important;
	border-color: #111827 !important;
	box-shadow: 0 20px 40px rgba(76, 132, 56, 0.28), inset 7px 0 0 #111827 !important;
}

.grocery-home .grocery-band {
	background: linear-gradient(90deg, #10151f 0%, #172033 48%, #111827 100%) !important;
}

.grocery-home .grocery-band .container-fluid {
	max-width: none !important;
}

.grocery-home .grocery-band__carousel {
	max-width: 1540px !important;
	margin: 0 auto !important;
	padding-left: clamp(1.5rem, 4vw, 5rem) !important;
	padding-right: clamp(1.5rem, 4vw, 5rem) !important;
}

.grocery-home .grocery-band__carousel .owl-stage-outer {
	margin: 0 auto !important;
}

.grocery-home .grocery-band__slide {
	width: 100% !important;
	justify-content: center !important;
	text-align: center !important;
	white-space: normal !important;
	line-height: 1.35 !important;
}

@media (max-width: 991.98px) {
	.site-header__main-inner {
		min-height: 66px !important;
	}

	.site-header__brand {
		min-width: 152px !important;
	}

	#header .brand-set--header .brand-set__item {
		width: 70px !important;
		height: 50px !important;
		flex-basis: 70px !important;
	}
}

/* Final header and band balance: calmer logos, clearer lines, lively full-width strip. */
.site-header__main {
	border-bottom: 1px solid rgba(23, 32, 51, 0.1) !important;
	box-shadow: 0 8px 22px rgba(23, 32, 51, 0.035) !important;
}

.site-header__nav {
	border-top: 1px solid rgba(76, 132, 56, 0.12) !important;
	border-bottom: 2px solid rgba(227, 6, 19, 0.12) !important;
}

.site-header__nav-list .nav-link::after {
	height: 4px !important;
	background: linear-gradient(90deg, #4c8438 0%, #4c8438 48%, #e30613 52%, #e30613 100%) !important;
	opacity: 0.95 !important;
}

.site-header__brand {
	min-width: 178px !important;
}

#header .brand-set--header {
	gap: 0.68rem !important;
}

#header .brand-set--header .brand-set__item {
	width: 82px !important;
	height: 56px !important;
	flex-basis: 82px !important;
}

#header .brand-set--header .brand-set__logo {
	filter: saturate(1.08) contrast(1.04) drop-shadow(0 4px 8px rgba(23, 32, 51, 0.06)) !important;
}

.grocery-home .grocery-hero {
	background:
		/* scrim chaud cote texte : garde le blanc lisible sur le dore clair */
		linear-gradient(90deg, rgba(58, 16, 5, 0.46) 0%, rgba(58, 16, 5, 0.14) 30%, rgba(58, 16, 5, 0) 50%),
		/* lueur doree douce en haut au centre */
		radial-gradient(95% 70% at 50% -10%, rgba(255, 226, 150, 0.30) 0%, rgba(255, 226, 150, 0) 55%),
		/* vignette chaude en bas pour la profondeur */
		radial-gradient(120% 120% at 50% 124%, rgba(70, 16, 5, 0.42) 0%, rgba(70, 16, 5, 0) 55%),
		/* degrade demande : or -> rouge-orange -> or (chaud des deux cotes) */
		linear-gradient(110deg, #f5c86e 0%, #df542e 44%, #f7b526 100%) !important;
	box-shadow: inset 0 -120px 150px -95px rgba(58, 13, 4, 0.42) !important;
}

.grocery-home .grocery-hero__title {
	text-shadow: 0 10px 26px rgba(91, 38, 20, 0.18) !important;
}

.grocery-home .grocery-hero__lead {
	color: rgba(255, 255, 255, 0.94) !important;
}

.grocery-home .grocery-band {
	width: 100% !important;
	display: block !important;
	background:
		linear-gradient(90deg, #10151f 0%, #172033 38%, #24331f 68%, #111827 100%) !important;
	box-shadow: 0 18px 42px rgba(9, 13, 20, 0.2) !important;
}

.grocery-home .grocery-band .container-fluid {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.grocery-home .grocery-band__carousel {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.grocery-home .grocery-band__carousel .owl-stage-outer {
	width: 100% !important;
}

.grocery-home .grocery-band__slide {
	position: relative !important;
	min-height: 64px !important;
	padding: 0 2.1rem !important;
	color: #ffffff !important;
	font-size: 0.84rem !important;
	letter-spacing: 0.03em !important;
	white-space: nowrap !important;
}

.grocery-home .grocery-band__slide::before {
	width: 28px !important;
	height: 28px !important;
	background: #ffdc3d !important;
	color: #172033 !important;
	box-shadow: 0 0 0 6px rgba(255, 220, 61, 0.15), 0 8px 18px rgba(0, 0, 0, 0.16) !important;
}

.grocery-home .grocery-band__slide::after {
	content: "" !important;
	flex: 0 0 auto !important;
	width: 9px !important;
	height: 9px !important;
	margin-left: 1.05rem !important;
	border-radius: 999px !important;
	background: #4c8438 !important;
	box-shadow: 0 0 0 5px rgba(76, 132, 56, 0.18) !important;
}

.grocery-home .grocery-band__carousel .owl-item:nth-child(3n) .grocery-band__slide::before {
	background: #4c8438 !important;
	color: #ffffff !important;
	box-shadow: 0 0 0 6px rgba(76, 132, 56, 0.18), 0 8px 18px rgba(0, 0, 0, 0.16) !important;
}

.grocery-home .grocery-band__carousel .owl-item:nth-child(3n + 2) .grocery-band__slide::after {
	background: #e30613 !important;
	box-shadow: 0 0 0 5px rgba(227, 6, 19, 0.16) !important;
}

@media (max-width: 991.98px) {
	.site-header__brand {
		min-width: 142px !important;
	}

	#header .brand-set--header .brand-set__item {
		width: 64px !important;
		height: 46px !important;
		flex-basis: 64px !important;
	}

	.grocery-home .grocery-band__slide {
		min-height: 56px !important;
		padding: 0 1.2rem !important;
		font-size: 0.76rem !important;
	}
}

/* Final proportion pass: joined logos, stronger green CTA accent, richer band, wider hero copy. */
.site-header__brand {
	min-width: 164px !important;
}

#header .brand-set--header {
	gap: 0.18rem !important;
	padding: 0.12rem 0.28rem !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.78) !important;
	box-shadow: 0 8px 18px rgba(23, 32, 51, 0.045) !important;
}

#header .brand-set--header .brand-set__item {
	width: 76px !important;
	height: 54px !important;
	flex-basis: 76px !important;
}

#header .brand-set--header .brand-set__logo {
	filter: saturate(1.08) contrast(1.05) !important;
}

.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	flex-basis: 650px !important;
	max-width: 650px !important;
}

.grocery-home .grocery-hero__title {
	max-width: 12.2ch !important;
	font-size: clamp(2.9rem, 4.9vw, 4.7rem) !important;
	line-height: 0.99 !important;
}

.grocery-home .grocery-hero__lead {
	max-width: 41rem !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: linear-gradient(90deg, #4c8438 0%, #4c8438 30%, #111827 30%, #172033 100%) !important;
	border: 2px solid rgba(76, 132, 56, 0.95) !important;
	box-shadow: 0 16px 34px rgba(17, 24, 39, 0.24), 0 10px 22px rgba(76, 132, 56, 0.18) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: linear-gradient(90deg, #4c8438 0%, #4c8438 42%, #111827 42%, #111827 100%) !important;
	border-color: #ffffff !important;
}

.grocery-home .grocery-band {
	background:
		linear-gradient(90deg, #0f141d 0%, #151c29 38%, #172033 62%, #0f141d 100%) !important;
	box-shadow: 0 16px 38px rgba(9, 13, 20, 0.24) !important;
}

.grocery-home .grocery-band__carousel {
	min-height: 68px !important;
}

.grocery-home .grocery-band__carousel .owl-stage {
	align-items: center !important;
}

.grocery-home .grocery-band__slide {
	min-height: 46px !important;
	margin: 0.55rem 0.45rem !important;
	padding: 0.55rem 1.05rem !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.075) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.02em !important;
	white-space: nowrap !important;
}

.grocery-home .grocery-band__slide::before {
	width: 30px !important;
	height: 30px !important;
	margin-right: 0.75rem !important;
	background: linear-gradient(135deg, #ffdc3d 0%, #f4bd20 100%) !important;
}

.grocery-home .grocery-band__slide::after {
	width: 7px !important;
	height: 7px !important;
	margin-left: 0.8rem !important;
}

.grocery-home .grocery-band__carousel .owl-item:nth-child(3n) .grocery-band__slide {
	background: rgba(76, 132, 56, 0.16) !important;
	border-color: rgba(76, 132, 56, 0.28) !important;
}

.grocery-home .grocery-band__carousel .owl-item:nth-child(3n + 2) .grocery-band__slide {
	background: rgba(227, 6, 19, 0.12) !important;
	border-color: rgba(227, 6, 19, 0.24) !important;
}

@media (max-width: 991.98px) {
	#header .brand-set--header {
		gap: 0.1rem !important;
	}

	#header .brand-set--header .brand-set__item {
		width: 62px !important;
		height: 46px !important;
		flex-basis: 62px !important;
	}

	.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
		max-width: 100% !important;
	}
}

/* Hero final sizing: taller slide, wider title area, classic black CTA with green rails. */
.grocery-home .grocery-hero__slide {
	padding: 2.1rem 0 2.25rem !important;
}

.grocery-home .grocery-hero__slide .row {
	min-height: clamp(520px, 64vh, 680px) !important;
}

.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	flex: 0 1 720px !important;
	max-width: 720px !important;
}

.grocery-home .grocery-hero__title {
	max-width: 13.2ch !important;
	font-size: clamp(3.15rem, 5.25vw, 5.15rem) !important;
	line-height: 0.98 !important;
}

.grocery-home .grocery-hero__lead {
	max-width: 43rem !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: #111827 !important;
	border: 2px solid rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
	box-shadow:
		inset 0 6px 0 #4c8438,
		inset 0 -6px 0 #4c8438,
		0 16px 34px rgba(17, 24, 39, 0.26) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: #172033 !important;
	border-color: rgba(76, 132, 56, 0.95) !important;
	box-shadow:
		inset 0 8px 0 #4c8438,
		inset 0 -8px 0 #4c8438,
		0 20px 40px rgba(17, 24, 39, 0.3) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__slide .row {
		min-height: auto !important;
	}

	.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}

/* Hero : hauteur genereuse et equilibree (ni petit, ni vide). */
.grocery-home .grocery-hero__slide {
	padding: 2.6rem 0 2.8rem !important;
}

.grocery-home .grocery-hero__slide .row {
	min-height: clamp(600px, 76vh, 820px) !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: #111827 !important;
	border: 0 !important;
	color: #ffffff !important;
	box-shadow: 0 16px 34px rgba(17, 24, 39, 0.24) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: #4c8438 !important;
	border: 0 !important;
	box-shadow: 0 18px 38px rgba(76, 132, 56, 0.28) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__slide .row {
		min-height: auto !important;
	}
}

/* CTA and eyebrow color correction. */
.grocery-home .grocery-hero__actions .btn-dark {
	background: #4c8438 !important;
	border: 0 !important;
	color: #ffffff !important;
	box-shadow: 0 16px 34px rgba(76, 132, 56, 0.3) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: #3f7330 !important;
	box-shadow: 0 18px 38px rgba(76, 132, 56, 0.36) !important;
}

.grocery-home .grocery-hero__eyebrow {
	background: rgba(17, 24, 39, 0.46) !important;
	border-color: rgba(255, 255, 255, 0.22) !important;
	color: #ffffff !important;
	box-shadow: 0 12px 24px rgba(17, 24, 39, 0.14) !important;
}

/* Trial: dark active navigation item. */
.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	background: #111827 !important;
	color: #ffffff !important;
	border-radius: 8px 8px 0 0 !important;
}

.site-header__nav-list .nav-link.active::after,
.site-header__nav-list .nav-link[aria-current="page"]::after {
	left: 0 !important;
	right: 0 !important;
	background: linear-gradient(90deg, #4c8438 0%, #4c8438 50%, #e30613 50%, #e30613 100%) !important;
}

.site-header__nav-list .nav-link.active:hover,
.site-header__nav-list .nav-link[aria-current="page"]:hover {
	color: #ffffff !important;
}

.site-header__nav-list .nav-link {
	height: 40px !important;
}

.site-header__nav-list .nav-link::after,
.site-header__nav-list .nav-link.active::after,
.site-header__nav-list .nav-link[aria-current="page"]::after {
	background: #4c8438 !important;
}

/* Hero copy tuning: smaller title, wider text column, readable lead pill. */
.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	flex: 0 0 50% !important;
	max-width: 50% !important;
}

.grocery-home .grocery-hero__title {
	max-width: 14.5ch !important;
	font-size: clamp(2.75rem, 4.35vw, 4.25rem) !important;
	line-height: 1.01 !important;
}

.grocery-home .grocery-hero__lead {
	max-width: 46rem !important;
	margin-top: 0.15rem !important;
	padding: 0 !important;
	background: transparent !important;
	color: rgb(17 24 39 / 47%) !important;
	box-shadow: none !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
		max-width: 100% !important;
	}
}

/* Brand cards: neutral cards without colored gradient backgrounds. */
.grocery-home .grocery-choices .grocery-choice-card,
.grocery-home .grocery-choices .grocery-choice-card--green,
.grocery-home .grocery-choices .grocery-choice-card--orange {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-choice-card::before,
.grocery-home .grocery-choice-card::after,
.grocery-home .grocery-choice-card__visual::after {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-choices .grocery-choice-card__content {
	background: #ffffff !important;
	color: #172033 !important;
}

.grocery-home .grocery-choice-card__title,
.grocery-home .grocery-choice-card__eyebrow,
.grocery-home .grocery-choice-card__text {
	color: #172033 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-choice-card__eyebrow {
	color: #4c8438 !important;
}

.grocery-home .grocery-choice-card__text {
	color: #5f6268 !important;
}

.grocery-home .grocery-choice-card__meta span {
	background: rgba(76, 132, 56, 0.08) !important;
	color: #4c8438 !important;
}

.grocery-home .grocery-choices .grocery-choice-card__visual {
	background: #f8faf7 !important;
}

.grocery-home .grocery-choices .grocery-choice-card__visual-image {
	object-fit: contain !important;
	padding: 1rem !important;
}

.grocery-home .grocery-choices .grocery-choice-card__actions .btn {
	background: #172033 !important;
	border-color: #172033 !important;
	color: #ffffff !important;
}

.site-header__language {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	height: 38px;
	padding: 0.18rem;
	border: 1px solid #e1e9f0;
	border-radius: 999px;
	background: #fff;
}

.site-header__language a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 30px;
	padding: 0 0.55rem;
	border-radius: 999px;
	color: #172033;
	font-size: 0.72rem;
	font-weight: 900;
	text-decoration: none;
}

.site-header__language a.active,
.site-header__language a:hover,
.site-header__language a:focus {
	background: #4c8438;
	color: #fff;
}

body.is-rtl {
	direction: rtl;
	text-align: right;
}

body.is-rtl .site-header__main-inner,
body.is-rtl .site-header__nav-list,
body.is-rtl .grocery-hero__actions,
body.is-rtl .grocery-hero__metrics,
body.is-rtl .grocery-deal__timer {
	flex-direction: row-reverse;
}

body.is-rtl .site-header__search input,
body.is-rtl .grocery-hero__lead,
body.is-rtl .grocery-section__lead,
body.is-rtl .grocery-deal__copy p {
	text-align: right;
}

body.is-rtl .grocery-choice-card__content,
body.is-rtl .grocery-deal__copy,
body.is-rtl .grocery-section__header--catalog {
	direction: rtl;
}

body.is-rtl .ms-2 {
	margin-right: 0.5rem !important;
	margin-left: 0 !important;
}

/* Final professional order block override: use slide2org as the main visual cleanly. */
.grocery-home .grocery-deal {
	padding: 3.8rem 0 4.2rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8faf3 100%) !important;
}

.grocery-home .grocery-deal__inner {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(270px, 0.82fr) minmax(340px, 1.18fr) !important;
	align-items: center !important;
	gap: clamp(1.1rem, 2.4vw, 2.2rem) !important;
	min-height: 300px !important;
	padding: clamp(1.35rem, 2.6vw, 2.25rem) !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(115deg, #ffffff 0%, #ffffff 42%, rgba(120, 165, 31, 0.1) 42.2%, rgba(223, 82, 45, 0.11) 100%),
		#ffffff !important;
	box-shadow: 0 20px 48px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-deal__inner::before {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-deal__inner::after {
	content: "" !important;
	position: absolute !important;
	right: -90px !important;
	bottom: -140px !important;
	width: 320px !important;
	height: 320px !important;
	border-radius: 50% !important;
	background: rgba(120, 165, 31, 0.14) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__copy {
	position: relative !important;
	z-index: 2 !important;
}

.grocery-home .grocery-deal__copy h2 {
	max-width: 13ch !important;
	margin: 0.65rem 0 0.85rem !important;
	font-size: clamp(1.9rem, 3.2vw, 3rem) !important;
	line-height: 1.02 !important;
}

.grocery-home .grocery-deal__copy p {
	max-width: 31rem !important;
	margin-bottom: 0 !important;
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
}

.grocery-home .grocery-deal__timer {
	gap: 0.58rem !important;
	margin: 1rem 0 1.15rem !important;
}

.grocery-home .grocery-deal__timer span {
	min-width: 72px !important;
	min-height: 62px !important;
	padding: 0.52rem 0.68rem !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}

.grocery-home .grocery-deal__timer strong {
	font-size: 1.35rem !important;
}

.grocery-home .grocery-deal__copy .btn {
	min-height: 44px !important;
	padding: 0.75rem 1.5rem !important;
	font-size: 0.82rem !important;
	box-shadow: 0 12px 28px rgba(227, 6, 19, 0.17) !important;
}

.grocery-home .grocery-deal__media {
	position: relative !important;
	z-index: 1 !important;
	display: grid !important;
	place-items: end center !important;
	min-height: 255px !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.62)),
		linear-gradient(135deg, rgba(120, 165, 31, 0.16), rgba(223, 82, 45, 0.13)) !important;
	box-shadow: inset 0 0 0 1px rgba(23, 32, 51, 0.055) !important;
}

.grocery-home .grocery-deal__media img {
	display: block !important;
	width: min(100%, 610px) !important;
	max-height: 255px !important;
	object-fit: contain !important;
	object-position: center bottom !important;
	filter: drop-shadow(0 18px 24px rgba(23, 32, 51, 0.13)) !important;
	transform: translateY(8px) scale(1.05) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-deal__inner {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
	}

	.grocery-home .grocery-deal__media {
		min-height: 230px !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-deal {
		padding: 2.7rem 0 3.1rem !important;
	}

	.grocery-home .grocery-deal__inner {
		padding: 1rem !important;
	}

	.grocery-home .grocery-deal__media {
		min-height: 185px !important;
	}

	.grocery-home .grocery-deal__media img {
		max-height: 190px !important;
		transform: translateY(6px) scale(1.04) !important;
	}
}

/* Promo banner centering and spacing correction. */
.grocery-home .grocery-section--promo {
	display: grid !important;
	place-items: center !important;
	padding: 3.2rem 0 3.6rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
}

.grocery-home .grocery-section--promo .container {
	width: min(100% - 32px, 1349px) !important;
	max-width: 1349px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel {
	width: 100% !important;
	max-width: 1180px !important;
	min-height: 300px !important;
	margin: 0 auto !important;
	grid-template-columns: minmax(280px, 430px) minmax(0, 1fr) !important;
	padding: clamp(1.75rem, 3vw, 2.8rem) clamp(1.75rem, 4vw, 3.5rem) !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel::before {
	background: url("../img/uploads/images/bannerpromo.png") 72% center / auto 82% no-repeat !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel h2 {
	max-width: 9.5ch !important;
	font-size: clamp(2.35rem, 4.2vw, 4rem) !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel p {
	max-width: 25rem !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel .btn {
	justify-self: start !important;
	align-self: start !important;
	margin-top: 0.2rem !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section--promo .grocery-promo-panel {
		min-height: 410px !important;
		grid-template-columns: 1fr !important;
	}

	.grocery-home .grocery-section--promo .grocery-promo-panel::before {
		background-position: right bottom !important;
		background-size: auto 56% !important;
	}
}

/* Product/category cards redesign: cleaner image block and lighter catalogue feel. */
.grocery-home .grocery-product-grid {
	gap: 1.15rem !important;
}

.grocery-home .grocery-section--trending .grocery-product-card,
.grocery-home .grocery-section--new .grocery-product-card,
.grocery-home .grocery-product-card {
	display: grid !important;
	grid-template-rows: 210px 1fr !important;
	min-height: 410px !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.07) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.065) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.grocery-home .grocery-section--trending .grocery-product-card:hover,
.grocery-home .grocery-section--new .grocery-product-card:hover,
.grocery-home .grocery-product-card:hover {
	transform: translateY(-5px) !important;
	border-color: rgba(76, 132, 56, 0.2) !important;
	box-shadow: 0 24px 52px rgba(23, 32, 51, 0.11) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__media,
.grocery-home .grocery-section--new .grocery-product-card__media,
.grocery-home .grocery-product-card__media {
	position: relative !important;
	display: grid !important;
	place-items: center !important;
	height: 210px !important;
	min-height: 210px !important;
	padding: 1.15rem !important;
	background:
		linear-gradient(135deg, rgba(76, 132, 56, 0.07), rgba(223, 82, 45, 0.06)),
		#fbfcf8 !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.06) !important;
}

.grocery-home .grocery-product-card__media::after {
	content: "" !important;
	position: absolute !important;
	inset: 1rem !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.72) !important;
	box-shadow: inset 0 0 0 1px rgba(23, 32, 51, 0.035) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-product-card__image-link {
	position: relative !important;
	z-index: 1 !important;
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__image,
.grocery-home .grocery-section--new .grocery-product-card__image,
.grocery-home .grocery-product-card__image {
	width: 100% !important;
	height: 160px !important;
	max-height: 160px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 14px 18px rgba(23, 32, 51, 0.1)) !important;
}

.grocery-home .grocery-product-card__badge {
	z-index: 2 !important;
	top: 1.2rem !important;
	left: 1.2rem !important;
	min-width: 54px !important;
	min-height: 54px !important;
	border: 3px solid #ffffff !important;
	box-shadow: 0 14px 28px rgba(227, 6, 19, 0.2) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__body,
.grocery-home .grocery-section--new .grocery-product-card__body,
.grocery-home .grocery-product-card__body {
	display: grid !important;
	grid-template-rows: 62px 56px auto !important;
	padding: 1rem 1rem 0 !important;
	background: #ffffff !important;
	text-align: center !important;
}

.grocery-home .grocery-product-card__title {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 62px !important;
	max-height: 62px !important;
	margin: 0 !important;
	color: #172033 !important;
	font-size: 0.92rem !important;
	font-weight: 950 !important;
	line-height: 1.28 !important;
	overflow: hidden !important;
}

.grocery-home .grocery-product-card__title a {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	color: inherit !important;
}

.grocery-home .grocery-product-card__price {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 56px !important;
	margin: 0 !important;
}

.grocery-home .grocery-product-card__price-line small {
	color: #9aa6b5 !important;
	font-size: 0.66rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.06em !important;
}

.grocery-home .grocery-product-card__price .amount,
.grocery-home .grocery-product-card__price .sale {
	color: #e30613 !important;
	font-size: 1.08rem !important;
	font-weight: 950 !important;
	line-height: 1.1 !important;
}

.grocery-home .grocery-product-card__actions {
	align-self: end !important;
	display: grid !important;
	grid-template-columns: repeat(3, 42px) !important;
	justify-content: center !important;
	gap: 0.62rem !important;
	width: calc(100% + 2rem) !important;
	margin: 0 -1rem !important;
	padding: 0.85rem 0 0.95rem !important;
	background: #fbfcf8 !important;
	border-top: 1px solid rgba(23, 32, 51, 0.07) !important;
}

.grocery-home .grocery-product-card__action {
	width: 42px !important;
	height: 42px !important;
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-section--trending .grocery-product-card,
	.grocery-home .grocery-section--new .grocery-product-card,
	.grocery-home .grocery-product-card {
		grid-template-rows: 190px 1fr !important;
		min-height: 395px !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card__media,
	.grocery-home .grocery-section--new .grocery-product-card__media,
	.grocery-home .grocery-product-card__media {
		height: 190px !important;
		min-height: 190px !important;
	}

	.grocery-home .grocery-product-card__image {
		height: 145px !important;
		max-height: 145px !important;
	}
}

/* Absolute final override: one title accent only, transparent carousel arrows. */
.grocery-home .grocery-section__header::before,
.grocery-home .grocery-section--new .grocery-section__header::before,
.grocery-home .grocery-section--trending .grocery-section__header::before,
.grocery-home .grocery-section--process .grocery-section__header::before {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-section__header::after,
.grocery-home .grocery-section--new .grocery-section__header::after,
.grocery-home .grocery-section--trending .grocery-section__header::after,
.grocery-home .grocery-section--process .grocery-section__header::after {
	content: "" !important;
	display: block !important;
	width: 72px !important;
	height: 7px !important;
	margin: 0 auto 1.75rem !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #78a51f 0%, #ffdc3d 48%, #e30613 100%) !important;
}

.grocery-home .grocery-category-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-category-carousel .owl-nav button.owl-next,
.grocery-home .grocery-products-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	width: 44px !important;
	height: 44px !important;
	background: rgba(255, 255, 255, 0.54) !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	color: #172033 !important;
	box-shadow: 0 12px 26px rgba(23, 32, 51, 0.08) !important;
	backdrop-filter: blur(8px) !important;
}

.grocery-home .grocery-category-carousel .owl-nav button:hover,
.grocery-home .grocery-category-carousel .owl-nav button:focus,
.grocery-home .grocery-products-carousel .owl-nav button:hover,
.grocery-home .grocery-products-carousel .owl-nav button:focus {
	background: rgba(255, 255, 255, 0.82) !important;
	border-color: rgba(76, 132, 56, 0.26) !important;
	color: #4c8438 !important;
	box-shadow: 0 14px 30px rgba(76, 132, 56, 0.12) !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-prev {
	margin-left: -14px !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	margin-right: -14px !important;
}

/* Final product card polish: tighter, cleaner catalogue cards. */
.grocery-product-card,
.grocery-home .grocery-section--trending .grocery-product-card,
.grocery-home .grocery-section--new .grocery-product-card,
.grocery-home .grocery-product-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 318px !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 10px 26px rgba(23, 32, 51, 0.07) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.grocery-product-card:hover,
.grocery-home .grocery-section--trending .grocery-product-card:hover,
.grocery-home .grocery-section--new .grocery-product-card:hover,
.grocery-home .grocery-product-card:hover {
	transform: translateY(-3px) !important;
	border-color: rgba(76, 132, 56, 0.24) !important;
	box-shadow: 0 18px 38px rgba(23, 32, 51, 0.11) !important;
}

.grocery-product-card__media,
.grocery-home .grocery-section--trending .grocery-product-card__media,
.grocery-home .grocery-section--new .grocery-product-card__media,
.grocery-home .grocery-product-card__media {
	position: relative !important;
	display: grid !important;
	place-items: center !important;
	flex: 0 0 164px !important;
	height: 164px !important;
	min-height: 164px !important;
	padding: 0.7rem !important;
	background: #f8faf7 !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.06) !important;
}

.grocery-product-card__media::after,
.grocery-home .grocery-product-card__media::after {
	display: none !important;
	content: none !important;
}

.grocery-product-card__image-link,
.grocery-home .grocery-section--trending .grocery-product-card__image-link,
.grocery-home .grocery-section--new .grocery-product-card__image-link,
.grocery-home .grocery-product-card__image-link {
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

.grocery-product-card__image,
.grocery-home .grocery-section--trending .grocery-product-card__image,
.grocery-home .grocery-section--new .grocery-product-card__image,
.grocery-home .grocery-product-card__image {
	width: calc(100% - 10px) !important;
	height: 140px !important;
	max-height: 140px !important;
	object-fit: contain !important;
	filter: none !important;
	transform: none !important;
	mix-blend-mode: multiply !important;
}

.grocery-product-card:hover .grocery-product-card__image {
	transform: scale(1.045) !important;
}

.grocery-product-card__badge,
.grocery-home .grocery-product-card__badge,
.grocery-home .grocery-section--trending .grocery-product-card__badge {
	top: 0.65rem !important;
	left: 0.65rem !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 46px !important;
	min-height: 30px !important;
	padding: 0.35rem 0.62rem !important;
	border: 2px solid #ffffff !important;
	border-radius: 999px !important;
	background: #ef3b24 !important;
	color: #ffffff !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	box-shadow: 0 10px 20px rgba(239, 59, 36, 0.18) !important;
}

.grocery-product-card__body,
.grocery-home .grocery-section--trending .grocery-product-card__body,
.grocery-home .grocery-section--new .grocery-product-card__body,
.grocery-home .grocery-product-card__body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0.38rem !important;
	padding: 0.78rem 0.85rem 0 !important;
	background: #ffffff !important;
	text-align: left !important;
}

.grocery-product-card__category {
	display: none !important;
}

.grocery-product-card__title,
.grocery-home .grocery-section--trending .grocery-product-card__title,
.grocery-home .grocery-section--new .grocery-product-card__title,
.grocery-home .grocery-product-card__title {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	min-height: 35px !important;
	max-height: 35px !important;
	margin: 0 !important;
	color: #172033 !important;
	font-size: 0.86rem !important;
	font-weight: 900 !important;
	line-height: 1.28 !important;
	text-align: left !important;
	text-transform: uppercase !important;
	overflow: hidden !important;
}

.grocery-product-card__title a {
	display: -webkit-box !important;
	overflow: hidden !important;
	color: inherit !important;
	text-decoration: none !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.grocery-product-card__price,
.grocery-home .grocery-section--trending .grocery-product-card__price,
.grocery-home .grocery-section--new .grocery-product-card__price,
.grocery-home .grocery-product-card__price {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.42rem !important;
	min-height: 36px !important;
	margin: 0 !important;
	flex-wrap: wrap !important;
}

.grocery-product-card__price-line {
	align-items: flex-start !important;
	min-width: 0 !important;
}

.grocery-product-card__price-line small,
.grocery-home .grocery-section--trending .grocery-product-card__price-line small,
.grocery-home .grocery-product-card__price-line small {
	margin-bottom: 0.14rem !important;
	color: #98a2b3 !important;
	font-size: 0.58rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.06em !important;
}

.grocery-product-card__price .amount,
.grocery-product-card__price .sale,
.grocery-home .grocery-section--trending .grocery-product-card__price .amount,
.grocery-home .grocery-section--trending .grocery-product-card__price .sale,
.grocery-home .grocery-product-card__price .amount,
.grocery-home .grocery-product-card__price .sale {
	color: #e30613 !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

.grocery-product-card__price-line--old .amount,
.grocery-home .grocery-section--trending .grocery-product-card__price-line--old .amount {
	position: relative !important;
	color: #9aa6b5 !important;
	font-size: 0.82rem !important;
}

.grocery-product-card__price-line--old .amount::after {
	background: #e30613 !important;
}

.grocery-product-card__actions,
.grocery-home .grocery-section--trending .grocery-product-card__actions,
.grocery-home .grocery-section--new .grocery-product-card__actions,
.grocery-home .grocery-product-card__actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.45rem !important;
	width: calc(100% + 1.7rem) !important;
	min-height: 50px !important;
	margin: auto -0.85rem 0 !important;
	padding: 0.55rem 0.85rem !important;
	border-top: 1px solid rgba(23, 32, 51, 0.06) !important;
	background: #ffffff !important;
}

.grocery-product-card__action,
.grocery-home .grocery-section--trending .grocery-product-card__action,
.grocery-home .grocery-product-card__action {
	width: 34px !important;
	height: 34px !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #172033 !important;
	font-size: 0.78rem !important;
	box-shadow: none !important;
}

.grocery-product-card__action:hover,
.grocery-product-card__action:focus,
.grocery-home .grocery-section--trending .grocery-product-card__action:hover,
.grocery-home .grocery-section--trending .grocery-product-card__action:focus {
	border-color: #4c8438 !important;
	background: #4c8438 !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
}

@media (max-width: 575.98px) {
	.grocery-product-card,
	.grocery-home .grocery-section--trending .grocery-product-card,
	.grocery-home .grocery-section--new .grocery-product-card,
	.grocery-home .grocery-product-card {
		min-height: 292px !important;
	}

	.grocery-product-card__media,
	.grocery-home .grocery-section--trending .grocery-product-card__media,
	.grocery-home .grocery-section--new .grocery-product-card__media,
	.grocery-home .grocery-product-card__media {
		flex-basis: 132px !important;
		height: 132px !important;
		min-height: 132px !important;
		padding: 0.5rem !important;
	}

	.grocery-product-card__image,
	.grocery-home .grocery-section--trending .grocery-product-card__image,
	.grocery-home .grocery-product-card__image {
		height: 112px !important;
		max-height: 112px !important;
	}

	.grocery-product-card__body,
	.grocery-home .grocery-section--trending .grocery-product-card__body,
	.grocery-home .grocery-product-card__body {
		padding: 0.65rem 0.65rem 0 !important;
	}

	.grocery-product-card__title,
	.grocery-home .grocery-section--trending .grocery-product-card__title {
		font-size: 0.74rem !important;
		min-height: 34px !important;
	}

	.grocery-product-card__price .amount,
	.grocery-product-card__price .sale,
	.grocery-home .grocery-section--trending .grocery-product-card__price .amount,
	.grocery-home .grocery-section--trending .grocery-product-card__price .sale {
		font-size: 0.96rem !important;
	}

	.grocery-product-card__actions,
	.grocery-home .grocery-section--trending .grocery-product-card__actions,
	.grocery-home .grocery-product-card__actions {
		width: calc(100% + 1.5rem) !important;
		margin-inline: -0.75rem !important;
		padding-inline: 0.75rem !important;
	}
}

/* Professional order block with slide2org visual. */
.grocery-home .grocery-deal {
	padding: 3.8rem 0 4.2rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8faf3 100%) !important;
}

.grocery-home .grocery-deal__inner {
	grid-template-columns: minmax(270px, 0.82fr) minmax(340px, 1.18fr) !important;
	gap: clamp(1.1rem, 2.4vw, 2.2rem) !important;
	min-height: 300px !important;
	padding: clamp(1.35rem, 2.6vw, 2.25rem) !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	background:
		linear-gradient(115deg, #ffffff 0%, #ffffff 42%, rgba(120, 165, 31, 0.1) 42.2%, rgba(223, 82, 45, 0.11) 100%),
		#ffffff !important;
	box-shadow: 0 20px 48px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-deal__inner::before {
	width: 0 !important;
	background: none !important;
}

.grocery-home .grocery-deal__inner::after {
	content: "" !important;
	position: absolute !important;
	right: -90px !important;
	bottom: -140px !important;
	width: 320px !important;
	height: 320px !important;
	border-radius: 50% !important;
	background: rgba(120, 165, 31, 0.14) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__copy h2 {
	max-width: 13ch !important;
	margin: 0.65rem 0 0.85rem !important;
	font-size: clamp(1.9rem, 3.2vw, 3rem) !important;
	line-height: 1.02 !important;
}

.grocery-home .grocery-deal__copy p {
	max-width: 31rem !important;
	margin-bottom: 0 !important;
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
}

.grocery-home .grocery-deal__timer {
	margin: 1rem 0 1.15rem !important;
}

.grocery-home .grocery-deal__timer span {
	min-width: 72px !important;
	min-height: 62px !important;
	padding: 0.52rem 0.68rem !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}

.grocery-home .grocery-deal__timer strong {
	font-size: 1.35rem !important;
}

.grocery-home .grocery-deal__copy .btn {
	min-height: 44px !important;
	padding: 0.75rem 1.5rem !important;
	font-size: 0.82rem !important;
	box-shadow: 0 12px 28px rgba(227, 6, 19, 0.17) !important;
}

.grocery-home .grocery-deal__media {
	min-height: 255px !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.62)),
		linear-gradient(135deg, rgba(120, 165, 31, 0.16), rgba(223, 82, 45, 0.13)) !important;
	box-shadow: inset 0 0 0 1px rgba(23, 32, 51, 0.055) !important;
}

.grocery-home .grocery-deal__media img {
	width: min(100%, 610px) !important;
	max-height: 255px !important;
	object-fit: contain !important;
	object-position: center bottom !important;
	filter: drop-shadow(0 18px 24px rgba(23, 32, 51, 0.13)) !important;
	transform: translateY(8px) scale(1.05) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-deal__inner {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
	}

	.grocery-home .grocery-deal__media {
		min-height: 230px !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-deal {
		padding: 2.7rem 0 3.1rem !important;
	}

	.grocery-home .grocery-deal__inner {
		padding: 1rem !important;
	}

	.grocery-home .grocery-deal__media {
		min-height: 185px !important;
	}

	.grocery-home .grocery-deal__media img {
		max-height: 190px !important;
		transform: translateY(6px) scale(1.04) !important;
	}
}

/* Last override: single section accent and transparent carousel arrows. */
.grocery-home .grocery-section__header::before,
.grocery-home .grocery-section--new .grocery-section__header::before,
.grocery-home .grocery-section--trending .grocery-section__header::before,
.grocery-home .grocery-section--process .grocery-section__header::before {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-section__header::after,
.grocery-home .grocery-section--new .grocery-section__header::after,
.grocery-home .grocery-section--trending .grocery-section__header::after,
.grocery-home .grocery-section--process .grocery-section__header::after {
	content: "" !important;
	display: block !important;
	width: 72px !important;
	height: 7px !important;
	margin: 0 auto 1.75rem !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #78a51f 0%, #ffdc3d 48%, #e30613 100%) !important;
}

.grocery-home .grocery-category-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-category-carousel .owl-nav button.owl-next,
.grocery-home .grocery-products-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	width: 44px !important;
	height: 44px !important;
	background: rgba(255, 255, 255, 0.54) !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	color: #172033 !important;
	box-shadow: 0 12px 26px rgba(23, 32, 51, 0.08) !important;
	backdrop-filter: blur(8px) !important;
}

.grocery-home .grocery-category-carousel .owl-nav button:hover,
.grocery-home .grocery-category-carousel .owl-nav button:focus,
.grocery-home .grocery-products-carousel .owl-nav button:hover,
.grocery-home .grocery-products-carousel .owl-nav button:focus {
	background: rgba(255, 255, 255, 0.82) !important;
	border-color: rgba(76, 132, 56, 0.26) !important;
	color: #4c8438 !important;
	box-shadow: 0 14px 30px rgba(76, 132, 56, 0.12) !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-prev {
	margin-left: -14px !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	margin-right: -14px !important;
}

/* Remove duplicated title accents and make carousel arrows transparent. */
.grocery-home .grocery-section__header::before,
.grocery-home .grocery-section--new .grocery-section__header::before,
.grocery-home .grocery-section--trending .grocery-section__header::before,
.grocery-home .grocery-section--process .grocery-section__header::before {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-section__header::after,
.grocery-home .grocery-section--new .grocery-section__header::after,
.grocery-home .grocery-section--trending .grocery-section__header::after,
.grocery-home .grocery-section--process .grocery-section__header::after {
	content: "" !important;
	display: block !important;
	width: 72px !important;
	height: 7px !important;
	margin: 0 auto 1.75rem !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #78a51f 0%, #ffdc3d 48%, #e30613 100%) !important;
}

.grocery-home .grocery-section__header .grocery-section__kicker {
	margin-top: 0 !important;
}

.grocery-home .grocery-category-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-category-carousel .owl-nav button.owl-next,
.grocery-home .grocery-products-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	width: 44px !important;
	height: 44px !important;
	background: rgba(255, 255, 255, 0.58) !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	color: #172033 !important;
	box-shadow: 0 12px 26px rgba(23, 32, 51, 0.08) !important;
	backdrop-filter: blur(8px) !important;
}

.grocery-home .grocery-category-carousel .owl-nav button:hover,
.grocery-home .grocery-category-carousel .owl-nav button:focus,
.grocery-home .grocery-products-carousel .owl-nav button:hover,
.grocery-home .grocery-products-carousel .owl-nav button:focus {
	background: rgba(255, 255, 255, 0.82) !important;
	border-color: rgba(76, 132, 56, 0.26) !important;
	color: #4c8438 !important;
	box-shadow: 0 14px 30px rgba(76, 132, 56, 0.12) !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-prev {
	margin-left: -14px !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	margin-right: -14px !important;
}

/* Colored process cards: distinct steps without breaking the brand palette. */
.grocery-home .grocery-section--process .row > div:nth-child(1) .grocery-step-card {
	background:
		linear-gradient(135deg, rgba(76, 132, 56, 0.14), rgba(255, 255, 255, 0.94) 48%),
		#ffffff !important;
	border-color: rgba(76, 132, 56, 0.2) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(2) .grocery-step-card {
	background:
		linear-gradient(135deg, rgba(255, 220, 61, 0.22), rgba(255, 255, 255, 0.95) 50%),
		#ffffff !important;
	border-color: rgba(248, 197, 51, 0.28) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(3) .grocery-step-card {
	background:
		linear-gradient(135deg, rgba(223, 82, 45, 0.13), rgba(255, 255, 255, 0.94) 50%),
		#ffffff !important;
	border-color: rgba(223, 82, 45, 0.22) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(4) .grocery-step-card {
	background:
		linear-gradient(135deg, rgba(23, 32, 51, 0.1), rgba(255, 255, 255, 0.95) 50%),
		#ffffff !important;
	border-color: rgba(23, 32, 51, 0.16) !important;
}

.grocery-home .grocery-section--process .row > div .grocery-step-card::after {
	content: "" !important;
	position: absolute !important;
	left: 1.25rem !important;
	right: 1.25rem !important;
	top: 0 !important;
	height: 4px !important;
	border-radius: 0 0 999px 999px !important;
	background: #4c8438 !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(2) .grocery-step-card::after {
	background: #ffdc3d !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(3) .grocery-step-card::after {
	background: #df522d !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(4) .grocery-step-card::after {
	background: #172033 !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(1) .grocery-step-card i {
	background: #4c8438 !important;
	color: #ffffff !important;
	box-shadow: 0 14px 28px rgba(76, 132, 56, 0.22) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(2) .grocery-step-card i {
	background: #ffdc3d !important;
	color: #172033 !important;
	box-shadow: 0 14px 28px rgba(255, 220, 61, 0.24) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(3) .grocery-step-card i {
	background: #df522d !important;
	color: #ffffff !important;
	box-shadow: 0 14px 28px rgba(223, 82, 45, 0.22) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(4) .grocery-step-card i {
	background: #172033 !important;
	color: #ffffff !important;
	box-shadow: 0 14px 28px rgba(23, 32, 51, 0.2) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(1) .grocery-step-card span {
	color: rgba(76, 132, 56, 0.13) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(2) .grocery-step-card span {
	color: rgba(248, 197, 51, 0.22) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(3) .grocery-step-card span {
	color: rgba(223, 82, 45, 0.13) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(4) .grocery-step-card span {
	color: rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(1) .grocery-step-card:hover {
	border-color: rgba(76, 132, 56, 0.38) !important;
	box-shadow: 0 28px 64px rgba(76, 132, 56, 0.16) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(2) .grocery-step-card:hover {
	border-color: rgba(248, 197, 51, 0.48) !important;
	box-shadow: 0 28px 64px rgba(248, 197, 51, 0.15) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(3) .grocery-step-card:hover {
	border-color: rgba(223, 82, 45, 0.4) !important;
	box-shadow: 0 28px 64px rgba(223, 82, 45, 0.16) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(4) .grocery-step-card:hover {
	border-color: rgba(23, 32, 51, 0.28) !important;
	box-shadow: 0 28px 64px rgba(23, 32, 51, 0.14) !important;
}

/* Process block final design: calmer header, cleaner cards, subtle progress line. */
.grocery-home .grocery-section--process {
	padding: 4.2rem 0 4.8rem !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
	overflow: hidden !important;
}

.grocery-home .grocery-section--process::before {
	display: none !important;
}

.grocery-home .grocery-section--process .container {
	width: min(100% - 32px, 1349px) !important;
	max-width: 1349px !important;
}

.grocery-home .grocery-section--process .grocery-section__header {
	max-width: 760px !important;
	margin: 0 auto 2.7rem !important;
}

.grocery-home .grocery-section--process .grocery-section__header::before {
	content: "" !important;
	display: block !important;
	width: 72px !important;
	height: 8px !important;
	margin: 0 auto 1.8rem !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #78a51f 0%, #ffdc3d 48%, #e30613 100%) !important;
}

.grocery-home .grocery-section--process .grocery-section__kicker {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 32px !important;
	padding: 0.52rem 1rem !important;
	border-radius: 999px !important;
	background: rgba(227, 6, 19, 0.08) !important;
	color: #e30613 !important;
	font-size: 0.66rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
}

.grocery-home .grocery-section--process .grocery-section__title {
	max-width: 15ch !important;
	margin: 1rem auto 0 !important;
	color: #172033 !important;
	font-size: clamp(2.1rem, 3.4vw, 3.25rem) !important;
	font-weight: 950 !important;
	line-height: 1.03 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-section--process .grocery-section__lead {
	max-width: 42rem !important;
	margin: 1rem auto 0 !important;
	color: rgba(23, 32, 51, 0.62) !important;
	font-size: 0.98rem !important;
	line-height: 1.7 !important;
}

.grocery-home .grocery-section--process .row {
	position: relative !important;
	row-gap: 1.2rem !important;
}

.grocery-home .grocery-section--process .row::before {
	content: "" !important;
	position: absolute !important;
	top: 50px !important;
	left: 7% !important;
	right: 7% !important;
	height: 2px !important;
	background: linear-gradient(90deg, rgba(76, 132, 56, 0.18), rgba(223, 82, 45, 0.18)) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-step-card {
	position: relative !important;
	z-index: 1 !important;
	min-height: 245px !important;
	padding: 1.55rem 1.45rem 1.5rem !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.075) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.grocery-home .grocery-step-card::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 1.25rem !important;
	bottom: 1.25rem !important;
	width: 4px !important;
	border-radius: 0 999px 999px 0 !important;
	background: #4c8438 !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(even) .grocery-step-card::before {
	background: #df522d !important;
}

.grocery-home .grocery-step-card i {
	display: grid !important;
	place-items: center !important;
	width: 54px !important;
	height: 54px !important;
	margin: 0 0 1.35rem !important;
	border-radius: 8px !important;
	background: rgba(76, 132, 56, 0.1) !important;
	color: #4c8438 !important;
	font-size: 1.2rem !important;
	box-shadow: inset 0 0 0 1px rgba(76, 132, 56, 0.1) !important;
}

.grocery-home .grocery-section--process .row > div:nth-child(even) .grocery-step-card i {
	background: rgba(223, 82, 45, 0.1) !important;
	color: #df522d !important;
	box-shadow: inset 0 0 0 1px rgba(223, 82, 45, 0.1) !important;
}

.grocery-home .grocery-step-card span {
	top: 1.1rem !important;
	right: 1.2rem !important;
	color: rgba(23, 32, 51, 0.07) !important;
	font-size: 2.55rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
}

.grocery-home .grocery-step-card h3 {
	margin: 0 0 0.7rem !important;
	color: #101722 !important;
	font-size: 1.04rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
}

.grocery-home .grocery-step-card p {
	margin: 0 !important;
	color: rgba(23, 32, 51, 0.64) !important;
	font-size: 0.9rem !important;
	line-height: 1.65 !important;
}

.grocery-home .grocery-step-card:hover {
	transform: translateY(-6px) !important;
	border-color: rgba(76, 132, 56, 0.22) !important;
	box-shadow: 0 28px 64px rgba(23, 32, 51, 0.12) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section--process .row::before {
		display: none !important;
	}

	.grocery-home .grocery-section--process .grocery-section__title {
		max-width: 14ch !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-section--process {
		padding: 3.2rem 0 3.6rem !important;
	}

	.grocery-home .grocery-step-card {
		min-height: 220px !important;
	}
}

/* Process and pro quote blocks: align with the storefront visual system. */
.grocery-home .grocery-section--process {
	position: relative !important;
	padding: 4.8rem 0 4.4rem !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
	border-top: 1px solid rgba(76, 132, 56, 0.1) !important;
}

.grocery-home .grocery-section--process .container,
.grocery-home .grocery-deal .container {
	width: min(100% - 32px, 1349px) !important;
	max-width: 1349px !important;
}

.grocery-home .grocery-section--process .grocery-section__header {
	max-width: 720px !important;
	margin: 0 auto 2.3rem !important;
}

.grocery-home .grocery-section--process .grocery-section__header::before {
	content: "" !important;
	display: block !important;
	width: 72px !important;
	height: 8px !important;
	margin: 0 auto 1.85rem !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #78a51f 0%, #ffdc3d 48%, #e30613 100%) !important;
}

.grocery-home .grocery-section--process .grocery-section__kicker {
	display: inline-flex !important;
	padding: 0.55rem 1rem !important;
	border-radius: 999px !important;
	background: rgba(227, 6, 19, 0.08) !important;
	color: #e30613 !important;
	font-size: 0.68rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.18em !important;
}

.grocery-home .grocery-section--process .grocery-section__title {
	max-width: 11.5ch !important;
	margin: 1rem auto 0 !important;
	color: #172033 !important;
	font-size: clamp(2.15rem, 4.1vw, 3.65rem) !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-section--process .grocery-section__lead {
	max-width: 40rem !important;
	margin: 1rem auto 0 !important;
	color: rgba(23, 32, 51, 0.62) !important;
	line-height: 1.65 !important;
}

.grocery-home .grocery-section--process .row {
	position: relative !important;
	align-items: stretch !important;
}

.grocery-home .grocery-step-card {
	display: grid !important;
	align-content: start !important;
	min-height: 230px !important;
	padding: 1.55rem 1.35rem 1.45rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.07) !important;
}

.grocery-home .grocery-step-card::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 auto 0 0 !important;
	width: 4px !important;
	background: #4c8438 !important;
}

.grocery-home .grocery-step-card:nth-child(odd)::before {
	background: #df522d !important;
}

.grocery-home .grocery-step-card span {
	top: 1rem !important;
	right: 1.15rem !important;
	color: rgba(23, 32, 51, 0.07) !important;
	font-size: 2.35rem !important;
	font-weight: 950 !important;
}

.grocery-home .grocery-step-card i {
	width: 50px !important;
	height: 50px !important;
	margin-bottom: 1.35rem !important;
	border-radius: 8px !important;
	background: rgba(76, 132, 56, 0.1) !important;
	color: #4c8438 !important;
	box-shadow: inset 0 0 0 1px rgba(76, 132, 56, 0.08) !important;
}

.grocery-home .grocery-step-card h3 {
	margin-bottom: 0.65rem !important;
	color: #172033 !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
}

.grocery-home .grocery-step-card p {
	color: rgba(23, 32, 51, 0.64) !important;
	font-size: 0.88rem !important;
	line-height: 1.6 !important;
}

.grocery-home .grocery-step-card:hover {
	transform: translateY(-5px) !important;
	border-color: rgba(76, 132, 56, 0.24) !important;
	box-shadow: 0 26px 58px rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-deal {
	padding: 4.4rem 0 4.8rem !important;
	background:
		linear-gradient(180deg, #fffaf4 0%, #ffffff 100%) !important;
	border-top: 1px solid rgba(223, 82, 45, 0.1) !important;
}

.grocery-home .grocery-deal__inner {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(300px, 0.92fr) minmax(360px, 1.08fr) !important;
	align-items: center !important;
	gap: 2.4rem !important;
	min-height: 330px !important;
	padding: clamp(1.8rem, 3vw, 3rem) !important;
	overflow: hidden !important;
	border: 1px solid rgba(76, 132, 56, 0.13) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(135deg, rgba(123, 164, 41, 0.12), rgba(218, 86, 46, 0.12)),
		#fffdf8 !important;
	box-shadow: 0 24px 62px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-deal__inner::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 auto 0 0 !important;
	width: 5px !important;
	background: linear-gradient(180deg, #4c8438, #ffdc3d, #df522d) !important;
}

.grocery-home .grocery-deal__copy {
	position: relative !important;
	z-index: 1 !important;
}

.grocery-home .grocery-deal__copy .grocery-section__kicker {
	color: #e30613 !important;
	font-size: 0.68rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.18em !important;
}

.grocery-home .grocery-deal__copy h2 {
	max-width: 12ch !important;
	margin-top: 0.8rem !important;
	color: #172033 !important;
	font-size: clamp(2rem, 3.7vw, 3.55rem) !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
}

.grocery-home .grocery-deal__copy p {
	max-width: 38rem !important;
	color: rgba(23, 32, 51, 0.64) !important;
	line-height: 1.65 !important;
}

.grocery-home .grocery-deal__timer {
	gap: 0.65rem !important;
	margin: 1.35rem 0 1.45rem !important;
}

.grocery-home .grocery-deal__timer span {
	min-width: 82px !important;
	min-height: 74px !important;
	border: 1px solid rgba(76, 132, 56, 0.12) !important;
	background: #ffffff !important;
	color: rgba(23, 32, 51, 0.62) !important;
	box-shadow: 0 12px 26px rgba(23, 32, 51, 0.06) !important;
}

.grocery-home .grocery-deal__timer strong {
	color: #e30613 !important;
}

.grocery-home .grocery-deal__copy .btn {
	background: linear-gradient(135deg, #e30613, #ff5722) !important;
	border: 0 !important;
	color: #ffffff !important;
	font-weight: 900 !important;
	box-shadow: 0 16px 34px rgba(227, 6, 19, 0.2) !important;
}

.grocery-home .grocery-deal__copy .btn:hover,
.grocery-home .grocery-deal__copy .btn:focus {
	background: #4c8438 !important;
	color: #ffffff !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 20px 40px rgba(76, 132, 56, 0.24) !important;
}

.grocery-home .grocery-deal__media {
	position: relative !important;
	z-index: 1 !important;
	display: grid !important;
	place-items: center !important;
	min-height: 260px !important;
	border-radius: 8px !important;
	background:
		radial-gradient(circle at 52% 45%, rgba(255, 220, 61, 0.2), transparent 15rem),
		linear-gradient(135deg, rgba(76, 132, 56, 0.08), rgba(223, 82, 45, 0.09)),
		#ffffff !important;
	box-shadow: inset 0 0 0 1px rgba(23, 32, 51, 0.06) !important;
}

.grocery-home .grocery-deal__media img {
	width: min(92%, 520px) !important;
	max-height: 230px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 24px 28px rgba(23, 32, 51, 0.14)) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-deal__inner {
		grid-template-columns: 1fr !important;
	}

	.grocery-home .grocery-section--process {
		padding: 3.6rem 0 !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-step-card {
		min-height: 210px !important;
	}

	.grocery-home .grocery-deal__inner {
		padding: 1.35rem !important;
	}
}

/* Product card alignment: fixed rows so titles, prices and actions stay level. */
.grocery-home .grocery-section--new .grocery-products-carousel .owl-stage,
.grocery-home .grocery-section--trending .grocery-product-grid {
	align-items: stretch !important;
}

.grocery-home .grocery-section--new .grocery-carousel__slide,
.grocery-home .grocery-section--new .owl-item {
	display: flex !important;
}

.grocery-home .grocery-section--new .grocery-product-card,
.grocery-home .grocery-section--trending .grocery-product-card {
	display: grid !important;
	grid-template-rows: 214px 1fr !important;
	height: 100% !important;
	min-height: 430px !important;
}

.grocery-home .grocery-section--new .grocery-product-card__media,
.grocery-home .grocery-section--trending .grocery-product-card__media {
	display: grid !important;
	place-items: center !important;
	height: 214px !important;
	min-height: 214px !important;
	padding: 1.1rem !important;
}

.grocery-home .grocery-section--new .grocery-product-card__image-link,
.grocery-home .grocery-section--trending .grocery-product-card__image-link {
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
}

.grocery-home .grocery-section--new .grocery-product-card__image,
.grocery-home .grocery-section--trending .grocery-product-card__image {
	width: 100% !important;
	height: 170px !important;
	max-height: 170px !important;
	object-fit: contain !important;
}

.grocery-home .grocery-section--new .grocery-product-card__body,
.grocery-home .grocery-section--trending .grocery-product-card__body {
	display: grid !important;
	grid-template-rows: 66px 58px auto !important;
	align-content: stretch !important;
	padding: 1rem 1rem 0 !important;
	text-align: center !important;
}

.grocery-home .grocery-section--new .grocery-product-card__title,
.grocery-home .grocery-section--trending .grocery-product-card__title {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 66px !important;
	max-height: 66px !important;
	margin: 0 !important;
	overflow: hidden !important;
	font-size: 0.94rem !important;
	line-height: 1.28 !important;
}

.grocery-home .grocery-section--new .grocery-product-card__title a,
.grocery-home .grocery-section--trending .grocery-product-card__title a {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-align: center !important;
}

.grocery-home .grocery-section--new .grocery-product-card__price,
.grocery-home .grocery-section--trending .grocery-product-card__price {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 58px !important;
	margin: 0 !important;
}

.grocery-home .grocery-section--new .grocery-product-card__actions,
.grocery-home .grocery-section--trending .grocery-product-card__actions {
	align-self: end !important;
	margin-top: 0 !important;
}

.grocery-home .grocery-products-carousel .owl-nav {
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 3 !important;
	display: flex !important;
	justify-content: space-between !important;
	margin-top: 0 !important;
	pointer-events: none !important;
	transform: translateY(-50%) !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	pointer-events: auto !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-prev {
	margin-left: -23px !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	margin-right: -23px !important;
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-section--new .grocery-product-card,
	.grocery-home .grocery-section--trending .grocery-product-card {
		grid-template-rows: 190px 1fr !important;
		min-height: 405px !important;
	}

	.grocery-home .grocery-section--new .grocery-product-card__media,
	.grocery-home .grocery-section--trending .grocery-product-card__media {
		height: 190px !important;
		min-height: 190px !important;
	}

	.grocery-home .grocery-section--new .grocery-product-card__image,
	.grocery-home .grocery-section--trending .grocery-product-card__image {
		height: 150px !important;
		max-height: 150px !important;
	}
}

/* Final two-block polish: promo banner and new arrivals carousel. */
.grocery-home .grocery-section--promo {
	padding: 4.6rem 0 !important;
	background: linear-gradient(180deg, #ffffff 0%, #fffaf4 100%) !important;
}

.grocery-home .grocery-section--promo .container {
	width: min(100% - 32px, 1349px) !important;
	max-width: 1349px !important;
}

.grocery-home .grocery-promo-panel {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(280px, 440px) minmax(320px, 1fr) !important;
	grid-template-rows: auto auto !important;
	align-items: center !important;
	gap: 1.25rem 2rem !important;
	min-height: 340px !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(2rem, 4vw, 3.5rem) !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	background:
		linear-gradient(90deg, rgba(76, 132, 56, 0.98) 0%, rgba(120, 165, 31, 0.94) 34%, rgba(120, 165, 31, 0.58) 56%, rgba(120, 165, 31, 0.08) 100%),
		#78a51f !important;
	box-shadow: 0 28px 70px rgba(76, 132, 56, 0.16) !important;
}

.grocery-home .grocery-promo-panel::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	background: url("../img/uploads/images/bannerpromo.png") right center / auto 88% no-repeat !important;
	opacity: 1 !important;
	pointer-events: none !important;
}

.grocery-home .grocery-promo-panel::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	background:
		radial-gradient(circle at 72% 48%, rgba(255, 220, 61, 0.2), transparent 19rem),
		linear-gradient(90deg, rgba(76, 132, 56, 0.22) 0%, rgba(76, 132, 56, 0.06) 52%, rgba(76, 132, 56, 0) 72%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-promo-panel > div {
	position: relative !important;
	z-index: 1 !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.grocery-home .grocery-promo-panel .grocery-section__kicker {
	margin-bottom: 1.05rem !important;
	background: #ffeb3d !important;
	color: #172033 !important;
	box-shadow: 0 12px 26px rgba(255, 220, 61, 0.18) !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 9.5ch !important;
	font-family: Poppins, Arial, sans-serif !important;
	font-size: clamp(2.45rem, 4.6vw, 4.35rem) !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
	text-shadow: 0 4px 18px rgba(23, 32, 51, 0.16) !important;
}

.grocery-home .grocery-promo-panel p {
	max-width: 27rem !important;
	margin-top: 1rem !important;
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

.grocery-home .grocery-promo-panel .btn {
	position: relative !important;
	z-index: 1 !important;
	grid-column: 1 !important;
	grid-row: 2 !important;
	justify-self: start !important;
	align-self: start !important;
	min-height: 54px !important;
	margin-top: 0.3rem !important;
	padding: 1rem 1.8rem !important;
	border: 2px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 999px !important;
	background: #172033 !important;
	color: #ffffff !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.22) !important;
}

.grocery-home .grocery-promo-panel .btn:hover,
.grocery-home .grocery-promo-panel .btn:focus {
	background: #df522d !important;
	border-color: rgba(255, 255, 255, 0.34) !important;
	color: #ffffff !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 20px 40px rgba(223, 82, 45, 0.28) !important;
}

.grocery-home .grocery-section--new {
	position: relative !important;
	padding: 4.8rem 0 5rem !important;
	background:
		linear-gradient(180deg, #fffaf4 0%, #ffffff 48%, #f7faf2 100%) !important;
	border-top: 1px solid rgba(76, 132, 56, 0.12) !important;
}

.grocery-home .grocery-section--new .container {
	width: min(100% - 32px, 1349px) !important;
	max-width: 1349px !important;
}

.grocery-home .grocery-section--new .grocery-section__header {
	margin-bottom: 2.15rem !important;
}

.grocery-home .grocery-section--new .grocery-section__header::before {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-section--new .grocery-section__kicker {
	color: #e30613 !important;
	font-size: 0.78rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.34em !important;
}

.grocery-home .grocery-section--new .grocery-section__title {
	margin-top: 0.8rem !important;
	color: #172033 !important;
	font-size: clamp(2.05rem, 3.8vw, 3.45rem) !important;
	line-height: 1.04 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-section--new .grocery-section__lead {
	max-width: 36rem !important;
	margin: 0.75rem auto 0 !important;
	color: rgba(23, 32, 51, 0.62) !important;
}

.grocery-home .grocery-products-carousel {
	margin-top: 1.5rem !important;
}

.grocery-home .grocery-products-carousel .owl-stage-outer {
	padding: 0.9rem 0 1.4rem !important;
}

.grocery-home .grocery-section--new .grocery-product-card {
	min-height: 380px !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.07) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.grocery-home .grocery-section--new .grocery-product-card:hover {
	transform: translateY(-5px) !important;
	border-color: rgba(223, 82, 45, 0.22) !important;
	box-shadow: 0 26px 56px rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-section--new .grocery-product-card__media {
	min-height: 200px !important;
	padding: 1.15rem !important;
	background:
		radial-gradient(circle at 50% 40%, rgba(255, 220, 61, 0.15), transparent 55%),
		linear-gradient(135deg, rgba(123, 164, 41, 0.07), rgba(218, 86, 46, 0.07)),
		#fffdf8 !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.07) !important;
}

.grocery-home .grocery-section--new .grocery-product-card__image {
	max-height: 168px !important;
	filter: drop-shadow(0 16px 18px rgba(23, 32, 51, 0.11)) !important;
}

.grocery-home .grocery-section--new .grocery-product-card__badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 50px !important;
	min-height: 50px !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #e30613, #ff5722) !important;
	color: #ffffff !important;
	font-size: 0.72rem !important;
	font-weight: 950 !important;
	box-shadow: 0 14px 28px rgba(227, 6, 19, 0.2) !important;
}

.grocery-home .grocery-section--new .grocery-product-card__actions {
	display: grid !important;
	grid-template-columns: repeat(3, 40px) !important;
	justify-content: center !important;
	gap: 0.58rem !important;
	width: calc(100% + 2rem) !important;
	margin: 0.8rem -1rem 0 !important;
	padding: 0.85rem 0 0.95rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
	border-top: 1px solid rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-section--new .grocery-product-card__action {
	display: grid !important;
	place-items: center !important;
	width: 40px !important;
	height: 40px !important;
	border: 0 !important;
	border-radius: 50% !important;
	color: #ffffff !important;
	box-shadow: 0 11px 22px rgba(23, 32, 51, 0.13) !important;
}

.grocery-home .grocery-section--new .grocery-product-card__action:nth-child(1) {
	background: #172033 !important;
}

.grocery-home .grocery-section--new .grocery-product-card__action:nth-child(2) {
	background: #4c8438 !important;
}

.grocery-home .grocery-section--new .grocery-product-card__action--favorite {
	background: #df522d !important;
}

.grocery-home .grocery-products-carousel .owl-nav {
	margin-top: 1.25rem !important;
}

.grocery-home .grocery-products-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-products-carousel .owl-nav button.owl-next {
	width: 44px !important;
	height: 44px !important;
	background: rgba(255, 255, 255, 0.54) !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	color: #172033 !important;
	box-shadow: 0 12px 26px rgba(23, 32, 51, 0.08) !important;
	backdrop-filter: blur(8px) !important;
}

.grocery-home .grocery-products-carousel .owl-nav button:hover,
.grocery-home .grocery-products-carousel .owl-nav button:focus {
	background: rgba(255, 255, 255, 0.82) !important;
	border-color: rgba(76, 132, 56, 0.26) !important;
	color: #4c8438 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 30px rgba(76, 132, 56, 0.12) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr !important;
		min-height: 430px !important;
	}

	.grocery-home .grocery-promo-panel::before {
		background-position: right bottom !important;
		background-size: auto 58% !important;
	}

	.grocery-home .grocery-section--new {
		padding: 3.6rem 0 4rem !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-promo-panel {
		min-height: 470px !important;
	}

	.grocery-home .grocery-promo-panel h2 {
		font-size: clamp(2rem, 12vw, 3rem) !important;
	}
}

/* Final polish: product action hover colors and cleaner promo banner composition. */
.grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(1):hover,
.grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(1):focus {
	background: #26334a !important;
	box-shadow: 0 16px 30px rgba(23, 32, 51, 0.24) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(2):hover,
.grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(2):focus {
	background: #3f7330 !important;
	box-shadow: 0 16px 30px rgba(76, 132, 56, 0.28) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action--favorite:hover,
.grocery-home .grocery-section--trending .grocery-product-card__action--favorite:focus {
	background: #f05a2f !important;
	box-shadow: 0 16px 30px rgba(223, 82, 45, 0.28) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action--favorite.is-favorite:hover,
.grocery-home .grocery-section--trending .grocery-product-card__action--favorite.is-favorite:focus {
	background: #c90011 !important;
	box-shadow: 0 16px 30px rgba(227, 6, 19, 0.34) !important;
}

.grocery-home .grocery-section--promo {
	padding: 4.4rem 0 !important;
	background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
}

.grocery-home .grocery-promo-panel {
	grid-template-columns: minmax(270px, 0.82fr) minmax(260px, 1fr) auto !important;
	max-width: 1120px !important;
	min-height: 300px !important;
	padding: clamp(1.7rem, 3vw, 2.8rem) clamp(1.7rem, 4vw, 3.8rem) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(90deg, rgba(76, 132, 56, 0.98) 0%, rgba(120, 165, 31, 0.9) 36%, rgba(120, 165, 31, 0.42) 60%, rgba(120, 165, 31, 0.18) 100%),
		#78a51f !important;
	box-shadow: 0 28px 64px rgba(76, 132, 56, 0.18) !important;
}

.grocery-home .grocery-promo-panel::before {
	inset: 0 !important;
	background:
		url("../img/uploads/images/bannerpromo.png") right center / auto 105% no-repeat !important;
	opacity: 1 !important;
}

.grocery-home .grocery-promo-panel::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	background:
		radial-gradient(circle at 75% 50%, rgba(255, 220, 61, 0.16), transparent 24rem),
		linear-gradient(90deg, rgba(76, 132, 56, 0.28) 0%, rgba(76, 132, 56, 0.08) 48%, rgba(76, 132, 56, 0) 72%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-promo-panel > div,
.grocery-home .grocery-promo-panel > a {
	z-index: 1 !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 10.5ch !important;
	font-family: Poppins, Arial, sans-serif !important;
	font-size: clamp(2.45rem, 4.4vw, 4.25rem) !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
}

.grocery-home .grocery-promo-panel p {
	max-width: 27rem !important;
	font-size: 1rem !important;
	line-height: 1.45 !important;
}

.grocery-home .grocery-promo-panel .btn {
	align-self: center !important;
	justify-self: end !important;
	min-height: 58px !important;
	padding: 1rem 1.9rem !important;
	background: #172033 !important;
	border: 2px solid rgba(255, 255, 255, 0.18) !important;
	box-shadow: 0 16px 32px rgba(23, 32, 51, 0.22) !important;
	transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

.grocery-home .grocery-promo-panel .btn:hover,
.grocery-home .grocery-promo-panel .btn:focus {
	background: #df522d !important;
	color: #ffffff !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 20px 38px rgba(223, 82, 45, 0.26) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr !important;
		min-height: 390px !important;
		background:
			linear-gradient(180deg, rgba(76, 132, 56, 0.96) 0%, rgba(120, 165, 31, 0.82) 54%, rgba(120, 165, 31, 0.32) 100%),
			#78a51f !important;
	}

	.grocery-home .grocery-promo-panel::before {
		background-position: right bottom !important;
		background-size: auto 62% !important;
	}

	.grocery-home .grocery-promo-panel .btn {
		justify-self: start !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-promo-panel {
		min-height: 430px !important;
	}

	.grocery-home .grocery-promo-panel h2 {
		font-size: clamp(2.05rem, 12vw, 3rem) !important;
	}
}

/* Popular products: warmer section, stronger cards, differentiated action buttons. */
.grocery-home .grocery-section--trending {
	position: relative !important;
	padding: 4.6rem 0 4.8rem !important;
	background:
		linear-gradient(180deg, #fffaf4 0%, #ffffff 42%, #f7faf2 100%) !important;
	border-top: 1px solid rgba(76, 132, 56, 0.12) !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.07) !important;
}

.grocery-home .grocery-section--trending .container {
	width: min(100% - 32px, 1600px) !important;
	max-width: 1600px !important;
}

.grocery-home .grocery-section--trending .grocery-section__header {
	position: relative !important;
	margin-bottom: 2.4rem !important;
}

.grocery-home .grocery-section--trending .grocery-section__header::before {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-section--trending .grocery-section__kicker {
	color: #e30613 !important;
	font-size: 0.78rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.34em !important;
}

.grocery-home .grocery-section--trending .grocery-section__title {
	margin-top: 0.85rem !important;
	color: #172033 !important;
	font-size: clamp(2.25rem, 4.2vw, 4rem) !important;
	line-height: 1.02 !important;
	letter-spacing: 0 !important;
}

.grocery-home .grocery-section--trending .grocery-product-grid {
	gap: 1.35rem !important;
}

.grocery-home .grocery-section--trending .grocery-product-card {
	position: relative !important;
	min-height: 390px !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.07) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.grocery-home .grocery-section--trending .grocery-product-card:hover {
	transform: translateY(-6px) !important;
	border-color: rgba(76, 132, 56, 0.24) !important;
	box-shadow: 0 26px 58px rgba(23, 32, 51, 0.12) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__media {
	min-height: 205px !important;
	padding: 1.15rem !important;
	background:
		radial-gradient(circle at 50% 42%, rgba(255, 220, 61, 0.18), transparent 54%),
		linear-gradient(135deg, rgba(123, 164, 41, 0.08), rgba(218, 86, 46, 0.08)),
		#fffdf8 !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.07) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__image {
	max-height: 175px !important;
	filter: drop-shadow(0 18px 20px rgba(23, 32, 51, 0.12)) !important;
	transition: transform 0.22s ease !important;
}

.grocery-home .grocery-section--trending .grocery-product-card:hover .grocery-product-card__image {
	transform: scale(1.045) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 58px !important;
	min-height: 58px !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #e30613, #ff5722) !important;
	color: #ffffff !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	box-shadow: 0 14px 30px rgba(227, 6, 19, 0.24) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__body {
	padding: 1.2rem 1.05rem 0 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__title {
	min-height: 3.1em !important;
	font-size: 0.94rem !important;
	font-weight: 950 !important;
	line-height: 1.28 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__price .amount,
.grocery-home .grocery-section--trending .grocery-product-card__price .sale {
	color: #e30613 !important;
	font-size: 1.08rem !important;
	font-weight: 950 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__actions {
	display: grid !important;
	grid-template-columns: repeat(3, 44px) !important;
	justify-content: center !important;
	gap: 0.65rem !important;
	width: calc(100% + 2.1rem) !important;
	margin: 0.95rem -1.05rem 0 !important;
	padding: 0.9rem 0 1rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
	border-top: 1px solid rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action {
	display: grid !important;
	place-items: center !important;
	width: 44px !important;
	height: 44px !important;
	border: 0 !important;
	border-radius: 50% !important;
	color: #ffffff !important;
	box-shadow: 0 12px 24px rgba(23, 32, 51, 0.14) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(1) {
	background: #172033 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(2) {
	background: #4c8438 !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(3) {
	background: #df522d !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action--favorite {
	background: #df522d !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action--favorite.is-favorite {
	background: #e30613 !important;
	box-shadow: 0 16px 30px rgba(227, 6, 19, 0.28) !important;
}

.grocery-home .grocery-section--trending .grocery-product-card__action--favorite.is-favorite i {
	animation: favoritePulse 0.28s ease;
}

.grocery-home .grocery-section--trending .grocery-product-card__action:hover,
.grocery-home .grocery-section--trending .grocery-product-card__action:focus {
	transform: translateY(-3px) !important;
	filter: brightness(1.05) !important;
	box-shadow: 0 16px 30px rgba(23, 32, 51, 0.2) !important;
}

@keyframes favoritePulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.18);
	}

	100% {
		transform: scale(1);
	}
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section--trending {
		padding: 3.4rem 0 !important;
	}

	.grocery-home .grocery-section--trending .grocery-product-card {
		min-height: 365px !important;
	}
}

/* Category cards: clearer border and orange-red arrow affordance. */
.grocery-home .grocery-category-card {
	border: 2px solid rgba(76, 132, 56, 0.28) !important;
}

.grocery-home .grocery-category-card:hover {
	border-color: rgba(223, 82, 45, 0.56) !important;
}

.grocery-home .grocery-category-card-link::after {
	right: 1rem !important;
	bottom: 1rem !important;
	background: rgb(223 85 46) !important;
	border-color: rgb(223 85 46) !important;
	color: #fbfcf8 !important;
}

.grocery-home .grocery-category-card-link:hover::after {
	background: rgb(198 65 35) !important;
	border-color: rgb(198 65 35) !important;
	color: #fbfcf8 !important;
}

/* Category block polish: subtle framed area and stronger product family cards. */
.grocery-home .grocery-section--categories {
	position: relative !important;
	padding: 4.2rem 0 4.7rem !important;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
	border-top: 1px solid rgba(76, 132, 56, 0.14) !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-section__header--catalog {
	position: relative !important;
	padding: 1.35rem 1.5rem !important;
	border: 1px solid rgba(76, 132, 56, 0.12) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 16px 36px rgba(23, 32, 51, 0.055) !important;
}

.grocery-home .grocery-section__header--catalog::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 1.25rem !important;
	bottom: 1.25rem !important;
	width: 4px !important;
	border-radius: 0 999px 999px 0 !important;
	background: #4c8438 !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__title {
	font-size: clamp(2.2rem, 3.3vw, 3rem) !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__action {
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.14) !important;
}

/* Categories header: match the hero carousel width and use the soft mixed brand background. */
.grocery-home .grocery-section--categories > .container {
	width: min(100% - 32px, 1600px) !important;
	max-width: 1600px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.grocery-home .grocery-section__header--catalog {
	width: min(100%, 1349px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(1.35rem, 2.4vw, 2.2rem) clamp(1.35rem, 3vw, 2.8rem) !important;
	background:
		linear-gradient(135deg, rgba(123, 164, 41, 0.12), rgba(218, 86, 46, 0.12)),
		#fffdf8 !important;
	border: 1px solid rgba(76, 132, 56, 0.14) !important;
	box-shadow: 0 18px 42px rgba(23, 32, 51, 0.08) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section--categories > .container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.grocery-home .grocery-section__header--catalog {
		width: 100% !important;
	}
}

.grocery-home .grocery-category-carousel {
	padding-top: 1.05rem !important;
}

.grocery-home .grocery-category-carousel .owl-stage-outer {
	padding: 0.85rem 0 1.4rem !important;
}

.grocery-home .grocery-category-card {
	min-height: 246px !important;
	border: 1px solid rgba(76, 132, 56, 0.22) !important;
	box-shadow: 0 18px 34px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-category-card:hover {
	border-color: rgba(76, 132, 56, 0.46) !important;
	box-shadow: 0 24px 50px rgba(23, 32, 51, 0.13) !important;
}

.grocery-home .grocery-category-card__image {
	background: #f7f8ef !important;
	border: 1px solid rgba(76, 132, 56, 0.08) !important;
}

.grocery-home .grocery-category-card__count {
	color: #e30613 !important;
}

/* .grocery-home .grocery-category-card-link::after {
	background: #fff0f1 !important;
	border: 1px solid rgba(227, 6, 19, 0.1) !important;
} */

.grocery-home .grocery-category-carousel .owl-nav button.owl-prev,
.grocery-home .grocery-category-carousel .owl-nav button.owl-next {
	background: #172033 !important;
	border-color: #172033 !important;
	color: #ffffff !important;
	box-shadow: 0 14px 28px rgba(23, 32, 51, 0.16) !important;
}

.grocery-home .grocery-category-carousel .owl-nav button:hover,
.grocery-home .grocery-category-carousel .owl-nav button:focus {
	background: #4c8438 !important;
	border-color: #4c8438 !important;
}

/* Category cards: large top photo area and cleaner color balance. */
.grocery-home .grocery-category-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 270px !important;
	padding: 0 !important;
	overflow: hidden !important;
	/*background: #ffffff !important;*/
	background: #4b872e9e !important ;
	border-color: rgba(76, 132, 56, 0.18) !important;
}

.grocery-home .grocery-category-card__image {
	width: 100% !important;
	height: 155px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f5f7ef !important;
}

.grocery-home .grocery-category-card__image img {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}

.grocery-home .grocery-category-card__image span {
	display: grid !important;
	place-items: center !important;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.12), rgba(255, 220, 61, 0.2)) !important;
}

.grocery-home .grocery-category-card__count {
	margin: 1rem 1rem 0.35rem !important;
	color: #4c8438 !important;
	font-size: 0.74rem !important;
}

.grocery-home .grocery-category-card__title {
	max-width: calc(100% - 4rem) !important;
	margin: 0 1rem 1rem !important;
	color: #172033 !important;
}

.grocery-home .grocery-choices .grocery-choice-card__actions .btn:hover,
.grocery-home .grocery-choices .grocery-choice-card__actions .btn:focus {
	background: #4c8438 !important;
	border-color: #4c8438 !important;
}

/* Brand cards: keep colored banner style, without black overlay/degradation. */
.grocery-home .grocery-choices .grocery-choice-card {
	border: 0 !important;
	box-shadow: none !important;
}

.grocery-home .grocery-choices .grocery-choice-card--green {
	background: #78a51f !important;
	background-color: #78a51f !important;
}

.grocery-home .grocery-choices .grocery-choice-card--orange {
	background: #df522d !important;
	background-color: #df522d !important;
}

.grocery-home .grocery-choice-card::before,
.grocery-home .grocery-choice-card::after,
.grocery-home .grocery-choice-card__visual::after {
	display: none !important;
	content: none !important;
	background: none !important;
}

.grocery-home .grocery-choices .grocery-choice-card__content {
	background: transparent !important;
	color: #ffffff !important;
}

.grocery-home .grocery-choice-card__title,
.grocery-home .grocery-choice-card__eyebrow,
.grocery-home .grocery-choice-card__text {
	color: #ffffff !important;
	text-shadow: none !important;
}

.grocery-home .grocery-choice-card__meta span {
	background: rgba(255, 255, 255, 0.16) !important;
	color: #ffffff !important;
}

.grocery-home .grocery-choices .grocery-choice-card__visual {
	background: transparent !important;
}

.grocery-home .grocery-choices .grocery-choice-card__visual-image {
	object-fit: fill !important;
	padding: 0 !important;
}

.grocery-home .grocery-choices .grocery-choice-card__actions .btn {
	background: #172033 !important;
	border-color: #172033 !important;
	color: #ffffff !important;
}

/* Final promo layout: wide text block, button on the right. */
.grocery-home .grocery-section--promo .grocery-promo-panel {
	display: grid !important;
	grid-template-columns: minmax(0, 900px) minmax(180px, 260px) !important;
	align-items: center !important;
	justify-content: center !important;
	column-gap: clamp(2rem, 6vw, 7rem) !important;
	padding-right: 20px !important;
	padding-left: 20px !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel > div,
.grocery-home .grocery-section--promo .grocery-promo-panel__content {
	width: 100% !important;
	max-width: 485px !important;
	margin: 0 !important;
	text-align: left !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel__copy {
	width: min(100%, 900px) !important;
	max-width: none !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel h2 {
	width: auto !important;
	max-width: 900px !important;
	font-size: clamp(2.35rem, 3.45vw, 3.95rem) !important;
	line-height: 1.02 !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel p {
	max-width: 720px !important;
}

.grocery-home .grocery-section--promo .grocery-promo-panel__action {
	justify-self: end !important;
	align-self: center !important;
	margin: 0 !important;
}

/* Final professional quote section polish. */
.grocery-home .grocery-deal {
	padding: clamp(4.2rem, 6vw, 6rem) 0 !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #fbfcf8 46%, #f5f8ee 100%) !important;
}

.grocery-home .grocery-deal__inner {
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	border: 1px solid rgba(76, 132, 56, 0.18) !important;
	background:
		linear-gradient(115deg, rgba(255, 250, 235, 0.96) 0%, rgba(255, 246, 239, 0.95) 56%, rgba(244, 250, 236, 0.98) 100%) !important;
	box-shadow: 0 34px 90px rgba(23, 32, 51, 0.11) !important;
	animation: dealReveal 0.75s ease both !important;
}

.grocery-home .grocery-deal__inner::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	background:
		linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.55) 42%, transparent 58%) !important;
	transform: translateX(-120%) !important;
	animation: dealSweep 4.8s ease-in-out infinite !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__inner::after {
	content: "" !important;
	position: absolute !important;
	right: clamp(1rem, 4vw, 4rem) !important;
	bottom: 0 !important;
	width: min(34vw, 420px) !important;
	height: 42% !important;
	z-index: -1 !important;
	background:
		repeating-linear-gradient(135deg, rgba(76, 132, 56, 0.1) 0 1px, transparent 1px 14px) !important;
	clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__copy .grocery-section__kicker {
	background: rgba(227, 6, 19, 0.08) !important;
	color: #e30613 !important;
	box-shadow: 0 10px 24px rgba(227, 6, 19, 0.08) !important;
}

.grocery-home .grocery-deal__copy h2 {
	text-shadow: 0 10px 26px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-deal__timer span {
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.grocery-home .grocery-deal__timer span:hover {
	transform: translateY(-5px) !important;
	border-color: rgba(76, 132, 56, 0.32) !important;
	box-shadow: 0 20px 38px rgba(76, 132, 56, 0.14) !important;
}

.grocery-home .grocery-deal__copy .btn {
	position: relative !important;
	overflow: hidden !important;
	background: linear-gradient(135deg, #e30613 0%, #ff4d25 100%) !important;
	border: 0 !important;
	box-shadow: 0 18px 42px rgba(227, 6, 19, 0.24) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}

.grocery-home .grocery-deal__copy .btn::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.36) 45%, transparent 70%) !important;
	transform: translateX(-120%) !important;
	transition: transform 0.55s ease !important;
}

.grocery-home .grocery-deal__copy .btn:hover,
.grocery-home .grocery-deal__copy .btn:focus {
	transform: translateY(-3px) !important;
	box-shadow: 0 24px 52px rgba(227, 6, 19, 0.32) !important;
}

.grocery-home .grocery-deal__copy .btn:hover::after,
.grocery-home .grocery-deal__copy .btn:focus::after {
	transform: translateX(120%) !important;
}

.grocery-home .grocery-deal__media {
	overflow: visible !important;
	transform: rotate(-1.5deg) !important;
	transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

.grocery-home .grocery-deal__media:hover {
	transform: rotate(0deg) translateY(-6px) !important;
	box-shadow: 0 28px 60px rgba(23, 32, 51, 0.13) !important;
}

.grocery-home .grocery-deal__media img {
	animation: dealFloat 4.2s ease-in-out infinite !important;
	filter: drop-shadow(0 20px 24px rgba(76, 132, 56, 0.12)) !important;
}

@keyframes dealReveal {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes dealSweep {
	0%,
	58% {
		transform: translateX(-120%);
	}

	100% {
		transform: translateX(120%);
	}
}

@keyframes dealFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.grocery-home .grocery-deal__inner,
	.grocery-home .grocery-deal__inner::before,
	.grocery-home .grocery-deal__media img {
		animation: none !important;
	}
}

@media (max-width: 767.98px) {
	.grocery-home .grocery-section--promo .grocery-promo-panel {
		display: flex !important;
	}

	.grocery-home .grocery-section--promo .grocery-promo-panel__content {
		text-align: center !important;
	}

	.grocery-home .grocery-section--promo .grocery-promo-panel__copy {
		width: min(100%, 560px) !important;
	}

	.grocery-home .grocery-section--promo .grocery-promo-panel__action {
		justify-self: center !important;
		margin-top: 1.1rem !important;
	}
}

/* Final redesign: professional quote CTA as a strong closing banner. */
.grocery-home .grocery-deal {
	position: relative !important;
	padding: clamp(4rem, 6vw, 6.5rem) 0 !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #f7faf2 100%) !important;
}

.grocery-home .grocery-deal .container {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
}

.grocery-home .grocery-deal__inner {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1.1fr) !important;
	align-items: center !important;
	gap: clamp(2rem, 5vw, 4.5rem) !important;
	min-height: 460px !important;
	padding: clamp(2.2rem, 4.5vw, 4.2rem) !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 22px !important;
	background:
		radial-gradient(circle at 90% 16%, rgba(255, 220, 61, 0.32), transparent 18rem),
		radial-gradient(circle at 12% 92%, rgba(223, 82, 45, 0.28), transparent 16rem),
		linear-gradient(135deg, #17361f 0%, #315f27 52%, #74a41f 100%) !important;
	box-shadow: 0 36px 95px rgba(23, 54, 31, 0.26) !important;
	animation: dealReveal 0.75s ease both !important;
}

.grocery-home .grocery-deal__inner::before {
	content: "" !important;
	position: absolute !important;
	inset: 1px !important;
	z-index: 0 !important;
	border-radius: 21px !important;
	background:
		linear-gradient(110deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 34%),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 18px) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__inner::after {
	content: "" !important;
	position: absolute !important;
	right: -7rem !important;
	bottom: -7rem !important;
	z-index: 0 !important;
	width: 24rem !important;
	height: 24rem !important;
	border-radius: 50% !important;
	background: rgba(255, 220, 61, 0.18) !important;
	filter: blur(2px) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__copy,
.grocery-home .grocery-deal__media {
	position: relative !important;
	z-index: 1 !important;
}

.grocery-home .grocery-deal__copy .grocery-section__kicker {
	margin-bottom: 1.15rem !important;
	background: #ffeb3d !important;
	color: #172033 !important;
	box-shadow: 0 16px 34px rgba(255, 220, 61, 0.2) !important;
}

.grocery-home .grocery-deal__copy h2 {
	max-width: 10.5ch !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-size: clamp(2.45rem, 4.6vw, 4.75rem) !important;
	line-height: 0.96 !important;
	text-shadow: 0 16px 34px rgba(0, 0, 0, 0.22) !important;
}

.grocery-home .grocery-deal__copy p {
	max-width: 34rem !important;
	margin: 1.25rem 0 0 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
}

.grocery-home .grocery-deal__timer {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
	margin: 1.5rem 0 1.6rem !important;
}

.grocery-home .grocery-deal__timer span {
	display: grid !important;
	place-items: center !important;
	min-width: 86px !important;
	min-height: 78px !important;
	padding: 0.75rem !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.14) !important;
	color: rgba(255, 255, 255, 0.86) !important;
	backdrop-filter: blur(10px) !important;
	box-shadow: none !important;
}

.grocery-home .grocery-deal__timer strong {
	color: #ffeb3d !important;
	font-size: 1.75rem !important;
	line-height: 1 !important;
}

.grocery-home .grocery-deal__copy .btn {
	min-height: 52px !important;
	padding: 0.95rem 1.85rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #df522d 0%, #e30613 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 20px 45px rgba(227, 6, 19, 0.32) !important;
}

.grocery-home .grocery-deal__media {
	display: grid !important;
	place-items: center !important;
	min-height: 300px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.grocery-home .grocery-deal__media::before {
	content: "" !important;
	position: absolute !important;
	inset: 16% 6% 12% 10% !important;
	z-index: -1 !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.18) !important;
	filter: blur(8px) !important;
}

.grocery-home .grocery-deal__media img {
	width: min(100%, 620px) !important;
	height: auto !important;
	object-fit: contain !important;
	animation: dealFloat 4.2s ease-in-out infinite !important;
	filter: drop-shadow(0 28px 30px rgba(0, 0, 0, 0.22)) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-deal__inner {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	.grocery-home .grocery-deal__copy h2,
	.grocery-home .grocery-deal__copy p {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.grocery-home .grocery-deal__timer {
		justify-content: center !important;
	}
}

/* Final override: balanced professional quote block. */
.grocery-home .grocery-deal__inner {
	background:
		radial-gradient(circle at 90% 12%, rgba(255, 220, 61, 0.2), transparent 16rem),
		linear-gradient(120deg, #fff9eb 0%, #fff6f0 48%, #f8fbf2 100%) !important;
	box-shadow: 0 30px 84px rgba(23, 32, 51, 0.09) !important;
}

.grocery-home .grocery-deal__inner::before {
	left: clamp(1.3rem, 4vw, 3.2rem) !important;
	top: clamp(1.4rem, 4vw, 3.4rem) !important;
	right: auto !important;
	bottom: clamp(1.4rem, 4vw, 3.4rem) !important;
	width: 6px !important;
	height: auto !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #da562e 0%, #ffeb3d 100%) !important;
	box-shadow: 0 18px 36px rgba(218, 86, 46, 0.18) !important;
}

.grocery-home .grocery-deal__inner::after {
	right: -6rem !important;
	bottom: -8rem !important;
	inset: auto -6rem -8rem auto !important;
	width: 24rem !important;
	height: 24rem !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: rgba(76, 132, 56, 0.11) !important;
}

.grocery-home .grocery-deal__copy {
	padding-left: clamp(1.2rem, 3vw, 2.2rem) !important;
}

.grocery-home .grocery-deal__copy h2,
.grocery-home .grocery-deal__copy h2 *,
.grocery-home .grocery-deal__copy h2 span {
	max-width: 10.8ch !important;
	background: transparent !important;
	background-color: transparent !important;
	font-size: clamp(2.35rem, 4.1vw, 4.05rem) !important;
	line-height: 1 !important;
}

/* Final balanced professional quote block. */
.grocery-home .grocery-deal {
	padding: clamp(3.8rem, 6vw, 5.6rem) 0 !important;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
}

.grocery-home .grocery-deal .container {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
}

.grocery-home .grocery-deal__inner {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr) !important;
	align-items: center !important;
	gap: clamp(2rem, 5vw, 4.2rem) !important;
	min-height: 440px !important;
	padding: clamp(2.4rem, 4.8vw, 4.4rem) !important;
	overflow: hidden !important;
	border: 1px solid rgba(76, 132, 56, 0.16) !important;
	border-radius: 18px !important;
	background:
		radial-gradient(circle at 90% 12%, rgba(255, 220, 61, 0.2), transparent 16rem),
		linear-gradient(120deg, #fff9eb 0%, #fff6f0 48%, #f8fbf2 100%) !important;
	box-shadow: 0 30px 84px rgba(23, 32, 51, 0.09) !important;
}

.grocery-home .grocery-deal__inner::before {
	content: "" !important;
	position: absolute !important;
	left: clamp(1.3rem, 4vw, 3.2rem) !important;
	top: clamp(1.4rem, 4vw, 3.4rem) !important;
	bottom: clamp(1.4rem, 4vw, 3.4rem) !important;
	z-index: 0 !important;
	width: 6px !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #da562e 0%, #ffeb3d 100%) !important;
	box-shadow: 0 18px 36px rgba(218, 86, 46, 0.18) !important;
}

.grocery-home .grocery-deal__inner::after {
	content: "" !important;
	position: absolute !important;
	right: -6rem !important;
	bottom: -8rem !important;
	z-index: 0 !important;
	width: 24rem !important;
	height: 24rem !important;
	border-radius: 50% !important;
	background: rgba(76, 132, 56, 0.11) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__copy,
.grocery-home .grocery-deal__media {
	position: relative !important;
	z-index: 1 !important;
}

.grocery-home .grocery-deal__copy {
	padding-left: clamp(1.2rem, 3vw, 2.2rem) !important;
	text-align: left !important;
}

.grocery-home .grocery-deal__copy .grocery-section__kicker {
	margin-bottom: 1.15rem !important;
	background: #ffeb3d !important;
	color: #172033 !important;
	box-shadow: 0 12px 26px rgba(255, 220, 61, 0.18) !important;
}

.grocery-home .grocery-deal__copy h2,
.grocery-home .grocery-deal__copy h2 *,
.grocery-home .grocery-deal__copy h2 span {
	display: block !important;
	max-width: 10.8ch !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: #172033 !important;
	box-shadow: none !important;
	font-size: clamp(2.35rem, 4.1vw, 4.05rem) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-deal__copy p {
	max-width: 35rem !important;
	margin: 1.25rem 0 0 !important;
	color: #5f6f86 !important;
	font-size: 1rem !important;
	line-height: 1.68 !important;
}

.grocery-home .grocery-deal__timer {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
	margin: 1.45rem 0 1.55rem !important;
}

.grocery-home .grocery-deal__timer span {
	min-width: 84px !important;
	min-height: 78px !important;
	padding: 0.75rem !important;
	border: 1px solid rgba(76, 132, 56, 0.15) !important;
	border-radius: 12px !important;
	background: rgba(255, 255, 255, 0.9) !important;
	color: #65748a !important;
	box-shadow: 0 14px 30px rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-deal__timer strong {
	color: #e30613 !important;
}

.grocery-home .grocery-deal__copy .btn {
	background: #da562e !important;
	border-color: #da562e !important;
	color: #ffffff !important;
	box-shadow: 0 18px 38px rgba(218, 86, 46, 0.26) !important;
}

.grocery-home .grocery-deal__media {
	display: grid !important;
	place-items: center !important;
	min-height: 300px !important;
	padding: clamp(1.5rem, 3vw, 2.5rem) !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 18px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72)) !important;
	box-shadow: 0 24px 58px rgba(23, 32, 51, 0.08) !important;
	transform: none !important;
}

.grocery-home .grocery-deal__media img {
	width: min(100%, 560px) !important;
	height: auto !important;
	object-fit: contain !important;
	filter: drop-shadow(0 20px 24px rgba(76, 132, 56, 0.14)) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-deal__inner {
		grid-template-columns: 1fr !important;
	}

	.grocery-home .grocery-deal__copy {
		padding-left: 0 !important;
		text-align: center !important;
	}

	.grocery-home .grocery-deal__copy h2,
	.grocery-home .grocery-deal__copy p {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.grocery-home .grocery-deal__timer {
		justify-content: center !important;
	}
}

/* Trending catalogue CTA: spacing and orange brand color. */
.grocery-home .grocery-section--trending {
	padding: 0 !important;
}

.grocery-home .grocery-trending__catalog-action {
	background: #da562e !important;
	background-color: #da562e !important;
	border-color: #da562e !important;
	color: #ffffff !important;
	box-shadow: 0 18px 38px rgba(218, 86, 46, 0.26) !important;
}

.grocery-home .grocery-trending__catalog-action:hover,
.grocery-home .grocery-trending__catalog-action:focus {
	background: #c94c27 !important;
	background-color: #c94c27 !important;
	border-color: #c94c27 !important;
	color: #ffffff !important;
	box-shadow: 0 22px 46px rgba(218, 86, 46, 0.34) !important;
}

.grocery-home .grocery-section__footer-action,
.grocery-product-card__action--favorite,
.catalog-products .grocery-product-card__action--favorite,
.grocery-home .grocery-product-card__action--favorite {
	background: #da562e !important;
	background-color: #da562e !important;
	border-color: #da562e !important;
	color: #ffffff !important;
	box-shadow: 0 14px 28px rgba(218, 86, 46, 0.24) !important;
}

.grocery-home .grocery-section__footer-action:hover,
.grocery-home .grocery-section__footer-action:focus,
.grocery-product-card__action--favorite:hover,
.grocery-product-card__action--favorite:focus,
.grocery-product-card__action--favorite.is-favorite,
.catalog-products .grocery-product-card__action--favorite:hover,
.catalog-products .grocery-product-card__action--favorite:focus,
.catalog-products .grocery-product-card__action--favorite.is-favorite,
.grocery-home .grocery-product-card__action--favorite:hover,
.grocery-home .grocery-product-card__action--favorite:focus,
.grocery-home .grocery-product-card__action--favorite.is-favorite {
	background: #c94c27 !important;
	background-color: #c94c27 !important;
	border-color: #c94c27 !important;
	color: #ffffff !important;
	box-shadow: 0 18px 36px rgba(218, 86, 46, 0.32) !important;
}

.grocery-product-card__action--favorite i,
.grocery-product-card__action--favorite .fa,
.grocery-product-card__action--favorite .fas,
.grocery-product-card__action--favorite .far,
.catalog-products .grocery-product-card__action--favorite i,
.catalog-products .grocery-product-card__action--favorite .fa,
.catalog-products .grocery-product-card__action--favorite .fas,
.catalog-products .grocery-product-card__action--favorite .far,
.grocery-home .grocery-product-card__action--favorite i,
.grocery-home .grocery-product-card__action--favorite .fa,
.grocery-home .grocery-product-card__action--favorite .fas,
.grocery-home .grocery-product-card__action--favorite .far {
	color: #ffffff !important;
}

/* Categories header: soft orange action, no dark underline. */
.grocery-home .grocery-section__header--catalog {
	background:
		linear-gradient(105deg, #fff7ea 0%, #fff0e5 52%, #ffcdb8 100%),
		#fff7ea !important;
	border-color: rgba(218, 86, 46, 0.2) !important;
}

.grocery-home .grocery-section__header--catalog::before {
	background: #da562e !important;
}

.grocery-home .grocery-section__header--catalog > div {
	position: relative !important;
	padding-bottom: 0 !important;
}

.grocery-home .grocery-section__header--catalog > div::after {
	content: none !important;
	display: none !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__action,
.grocery-home .grocery-category-card-link::after {
	background: #da562e !important;
	background-color: #da562e !important;
	border-color: #da562e !important;
	color: #ffffff !important;
	box-shadow: 0 18px 38px rgba(218, 86, 46, 0.26) !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__action:hover,
.grocery-home .grocery-section__header--catalog .grocery-section__action:focus,
.grocery-home .grocery-category-card-link:hover::after,
.grocery-home .grocery-category-card-link:focus::after {
	background: #c94c27 !important;
	background-color: #c94c27 !important;
	border-color: #c94c27 !important;
	color: #ffffff !important;
	box-shadow: 0 22px 46px rgba(218, 86, 46, 0.34) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section__header--catalog > div::after {
		content: none !important;
		display: none !important;
	}
}

/* Final clean redesign for the professional quote block. */
.grocery-home .grocery-deal {
	padding: clamp(4rem, 6vw, 6rem) 0 !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #fbfcf8 58%, #f3f7ed 100%) !important;
}

.grocery-home .grocery-deal .container {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
}

.grocery-home .grocery-deal__inner {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr) !important;
	align-items: center !important;
	gap: clamp(2rem, 5vw, 4.5rem) !important;
	min-height: 440px !important;
	padding: clamp(2.4rem, 4.6vw, 4.4rem) !important;
	overflow: hidden !important;
	border: 1px solid rgba(76, 132, 56, 0.18) !important;
	border-radius: 18px !important;
	background:
		radial-gradient(circle at 90% 12%, rgba(255, 220, 61, 0.18), transparent 16rem),
		linear-gradient(120deg, #fff9eb 0%, #fff6f0 48%, #f8fbf2 100%) !important;
	box-shadow: 0 30px 84px rgba(23, 32, 51, 0.09) !important;
	animation: dealReveal 0.7s ease both !important;
}

.grocery-home .grocery-deal__inner::before {
	content: "" !important;
	position: absolute !important;
	left: clamp(1.3rem, 4vw, 3.2rem) !important;
	top: clamp(1.4rem, 4vw, 3.4rem) !important;
	bottom: clamp(1.4rem, 4vw, 3.4rem) !important;
	z-index: 0 !important;
	width: 6px !important;
	height: auto !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #da562e 0%, #ffeb3d 100%) !important;
	box-shadow: 0 18px 36px rgba(218, 86, 46, 0.18) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__inner::after {
	content: "" !important;
	position: absolute !important;
	right: -6rem !important;
	bottom: -8rem !important;
	z-index: 0 !important;
	width: 24rem !important;
	height: 24rem !important;
	border-radius: 50% !important;
	border: 0 !important;
	background: rgba(76, 132, 56, 0.11) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-deal__copy,
.grocery-home .grocery-deal__media {
	position: relative !important;
	z-index: 1 !important;
}

.grocery-home .grocery-deal__copy {
	padding-left: clamp(1.2rem, 3vw, 2.2rem) !important;
	text-align: left !important;
}

.grocery-home .grocery-deal__copy .grocery-section__kicker {
	margin-bottom: 1.25rem !important;
	background: #ffeb3d !important;
	color: #172033 !important;
	box-shadow: 0 12px 28px rgba(255, 220, 61, 0.18) !important;
}

.grocery-home .grocery-deal__copy h2,
.grocery-home .grocery-deal__copy h2 *,
.grocery-home .grocery-deal__copy h2 span {
	display: block !important;
	max-width: 10.8ch !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: #172033 !important;
	box-shadow: none !important;
	font-family: Poppins, Arial, sans-serif !important;
	font-size: clamp(2.35rem, 4.1vw, 4.05rem) !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-shadow: none !important;
	-webkit-box-decoration-break: initial !important;
	box-decoration-break: initial !important;
}

.grocery-home .grocery-deal__copy p {
	max-width: 34rem !important;
	margin: 1.25rem 0 0 !important;
	color: #56647a !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
}

.grocery-home .grocery-deal__timer {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
	margin: 1.45rem 0 1.55rem !important;
}

.grocery-home .grocery-deal__timer span {
	min-width: 82px !important;
	min-height: 78px !important;
	padding: 0.75rem !important;
	border: 1px solid rgba(76, 132, 56, 0.16) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, 0.88) !important;
	color: #65748a !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.08) !important;
	backdrop-filter: none !important;
}

.grocery-home .grocery-deal__timer strong {
	color: #e30613 !important;
	font-size: 1.6rem !important;
}

.grocery-home .grocery-deal__copy .btn {
	min-height: 52px !important;
	padding: 0.95rem 1.9rem !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #e30613 0%, #df522d 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 42px rgba(227, 6, 19, 0.22) !important;
}

.grocery-home .grocery-deal__media {
	display: grid !important;
	place-items: center !important;
	min-height: 300px !important;
	padding: clamp(1.5rem, 3vw, 2.5rem) !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.82) !important;
	box-shadow: 0 24px 60px rgba(23, 32, 51, 0.08) !important;
	transform: none !important;
}

.grocery-home .grocery-deal__media::before {
	content: none !important;
}

.grocery-home .grocery-deal__media img {
	width: min(100%, 560px) !important;
	height: auto !important;
	object-fit: contain !important;
	animation: dealFloat 4.5s ease-in-out infinite !important;
	filter: drop-shadow(0 18px 22px rgba(76, 132, 56, 0.14)) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-deal__inner {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	.grocery-home .grocery-deal__copy {
		text-align: center !important;
	}

	.grocery-home .grocery-deal__copy h2 {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.grocery-home .grocery-deal__copy p {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.grocery-home .grocery-deal__timer {
		justify-content: center !important;
	}
}
.is-rtl .grocery-choice-card__content,
html[dir="rtl"] .grocery-choice-card__content {
	align-items: flex-start !important;
	text-align: left !important;
	direction: ltr !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	order: 0 !important;
	transform: none !important;
}

.is-rtl .grocery-choice-card__brand,
html[dir="rtl"] .grocery-choice-card__brand {
	align-self: flex-start !important;
	justify-content: flex-start !important;
}

.is-rtl .grocery-choice-card__actions,
.is-rtl .grocery-choice-card__meta,
html[dir="rtl"] .grocery-choice-card__actions,
html[dir="rtl"] .grocery-choice-card__meta {
	justify-content: flex-start !important;
	text-align: left !important;
	direction: ltr !important;
}

.is-rtl .grocery-choice-card,
html[dir="rtl"] .grocery-choice-card {
	direction: ltr !important;
	flex-direction: row !important;
	justify-content: flex-start !important;
}

.is-rtl .grocery-choice-card__title,
.is-rtl .grocery-choice-card__eyebrow,
.is-rtl .grocery-choice-card__text,
html[dir="rtl"] .grocery-choice-card__title,
html[dir="rtl"] .grocery-choice-card__eyebrow,
html[dir="rtl"] .grocery-choice-card__text {
	text-align: left !important;
	direction: ltr !important;
}

.is-rtl .grocery-brand-card,
html[dir="rtl"] .grocery-brand-card {
	text-align: left;
}

.is-rtl .grocery-brand-card__logo,
html[dir="rtl"] .grocery-brand-card__logo {
	margin-left: 0;
	margin-right: auto;
}

.is-rtl .grocery-brand-card__actions,
html[dir="rtl"] .grocery-brand-card__actions {
	justify-content: flex-start;
}

/* ============================================================
   HERO — couche design avancee
   Orbes lumineux + texture pointillee, badges en verre depoli,
   image avec halo et leger flottement. (charge en dernier = prioritaire)
   ============================================================ */

.grocery-home .grocery-hero {
	position: relative !important;
	isolation: isolate !important;
}

/* Decor de fond : 2 orbes doux + fine trame de points */
.grocery-home .grocery-hero::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
	background:
		radial-gradient(circle at 15% 84%, rgba(255, 214, 130, 0.30) 0, transparent 30%),
		radial-gradient(circle at 90% 16%, rgba(255, 230, 160, 0.26) 0, transparent 26%),
		radial-gradient(rgba(255, 255, 255, 0.09) 1.3px, transparent 1.5px) !important;
	background-repeat: no-repeat, no-repeat, repeat !important;
	background-size: auto, auto, 22px 22px !important;
	z-index: -1 !important;
}

/* Le contenu reste au-dessus du decor */
.grocery-home .grocery-hero__content,
.grocery-home .grocery-hero__slide {
	position: relative !important;
	z-index: 1 !important;
}

/* Eyebrow "PROMOTIONS DU MOMENT" en verre depoli */
.grocery-home .grocery-hero__eyebrow {
	background: rgba(45, 14, 5, 0.32) !important;
	border: 1px solid rgba(255, 255, 255, 0.24) !important;
	-webkit-backdrop-filter: blur(10px) saturate(1.2) !important;
	backdrop-filter: blur(10px) saturate(1.2) !important;
	color: #ffe9c9 !important;
	box-shadow: 0 12px 28px rgba(50, 12, 3, 0.28) !important;
	letter-spacing: 0.16em !important;
}

/* Chips de metriques en verre depoli */
.grocery-home .grocery-hero__metric {
	background: rgba(58, 18, 6, 0.24) !important;
	border: 1px solid rgba(255, 255, 255, 0.20) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(50, 12, 3, 0.18) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.grocery-home .grocery-hero__metric:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 14px 28px rgba(50, 12, 3, 0.26) !important;
}

/* Boutons CTA : relief et lift au survol */
.grocery-home .grocery-hero__actions .btn {
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.grocery-home .grocery-hero__actions .btn:hover {
	transform: translateY(-3px) !important;
}

/* Image hero : halo lumineux + ombre portee + leger flottement */
.grocery-home .grocery-hero__visual {
	position: relative !important;
}

.grocery-home .grocery-hero__visual::before {
	content: "" !important;
	position: absolute !important;
	inset: 4% !important;
	border-radius: 50% !important;
	background: radial-gradient(circle, rgba(255, 238, 200, 0.50) 0%, rgba(255, 238, 200, 0) 66%) !important;
	filter: blur(12px) !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

.grocery-home .grocery-hero__visual-image {
	position: relative !important;
	z-index: 1 !important;
	filter: drop-shadow(0 28px 42px rgba(40, 10, 2, 0.35)) !important;
	animation: heroFloat 6s ease-in-out infinite !important;
}

@keyframes heroFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-14px); }
}

@media (prefers-reduced-motion: reduce) {
	.grocery-home .grocery-hero__visual-image {
		animation: none !important;
	}
}

/* =====================================================================
   HERO — RAFFINEMENT PREMIUM (panel design fusionne + verif adverse)
   Bloc final appende en fin de feuille (gagne la cascade).
   Gradient marque conserve (or -> orange -> or, choix utilisateur), juste
   lisse anti-banding ; refinements typo / CTA / details / a11y / RTL.
   Contrainte: aucune redefinition de 'transform' sur l'image animee.
   ===================================================================== */

/* 1) SOCLE — degrade marque (or->orange->or) lisse + profondeur + easing. */
.grocery-home .grocery-hero {
	position: relative !important;
	background:
		linear-gradient(
			110deg,
			#f5c86e 0%,
			#ee9a4a 22%,
			#df542e 44%,
			#e98a30 72%,
			#f7b526 100%
		) !important;
	box-shadow:
		inset 0 40px 90px -50px rgba(120, 42, 8, 0.45),
		inset 0 -60px 120px -60px rgba(120, 42, 8, 0.42) !important;
	isolation: isolate !important;
	--gh-ease: cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* 2) OVERLAYS DE PROFONDEUR (::before scrim/lueur/vignette, ::after grain). */
.grocery-home .grocery-hero::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background:
		radial-gradient(
			120% 90% at 62% 38%,
			rgba(255, 224, 150, 0.22) 0%,
			rgba(255, 210, 130, 0.10) 24%,
			rgba(255, 200, 120, 0.04) 42%,
			rgba(255, 200, 120, 0) 60%
		),
		linear-gradient(
			90deg,
			rgba(96, 30, 6, 0.50) 0%,
			rgba(96, 30, 6, 0.36) 14%,
			rgba(96, 30, 6, 0.22) 30%,
			rgba(96, 30, 6, 0.09) 46%,
			rgba(96, 30, 6, 0) 62%
		),
		radial-gradient(
			135% 130% at 50% 46%,
			rgba(74, 22, 4, 0) 58%,
			rgba(74, 22, 4, 0.14) 82%,
			rgba(60, 17, 2, 0.30) 100%
		) !important;
	mix-blend-mode: multiply !important;
}

.grocery-home .grocery-hero::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background-image:
		linear-gradient(
			180deg,
			rgba(255, 245, 222, 0.10) 0%,
			rgba(255, 245, 222, 0) 18%
		),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") !important;
	background-size: auto, 160px 160px !important;
	background-repeat: no-repeat, repeat !important;
	opacity: 0.16 !important;
	mix-blend-mode: soft-light !important;
}

/* RTL : on miroir le scrim cote texte (passe a droite en arabe). */
body.is-rtl .grocery-home .grocery-hero::before,
html[dir="rtl"] .grocery-home .grocery-hero::before {
	transform: scaleX(-1) !important;
	transform-origin: center !important;
}

/* 3) TYPOGRAPHIE & RYTHME (contenu au-dessus des overlays). */
.grocery-home .grocery-hero__eyebrow {
	position: relative !important;
	z-index: 1 !important;
	font-size: 0.76rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
}

.grocery-home .grocery-hero__title {
	position: relative !important;
	z-index: 1 !important;
	color: #ffffff !important;
	font-size: clamp(2.5rem, 4.9vw, 4.6rem) !important;
	line-height: 1.0 !important;
	letter-spacing: -0.018em !important;
	font-weight: 800 !important;
	max-width: 13ch !important;
	text-wrap: balance !important;
	margin-top: 1.05rem !important;
	margin-bottom: 0 !important;
	text-shadow:
		0 1px 0 rgba(96, 30, 6, 0.28),
		0 2px 18px rgba(74, 22, 4, 0.42),
		0 6px 22px rgba(60, 16, 5, 0.34) !important;
}

.grocery-home .grocery-hero__lead {
	position: relative !important;
	z-index: 1 !important;
	color: #ffffff !important;
	opacity: 1 !important;
	font-size: clamp(1rem, 1.15vw, 1.12rem) !important;
	line-height: 1.7 !important;
	letter-spacing: 0.002em !important;
	max-width: 46ch !important;
	margin-top: 1.1rem !important;
	margin-bottom: 0 !important;
	text-shadow: 0 1px 12px rgba(74, 22, 4, 0.40) !important;
}

.grocery-home .grocery-hero__actions {
	margin-top: 1.9rem !important;
}
.grocery-home .grocery-hero__metrics {
	margin-top: 1.6rem !important;
}

/* 4) CTA & MICRO-INTERACTIONS. */
.grocery-home .grocery-hero__actions .btn-dark,
.grocery-home .grocery-hero__actions .btn-outline-light {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate !important;
	border-radius: 999px !important;
	padding: 0.95rem 2.35rem !important;
	min-height: 54px !important;
	font-weight: 900 !important;
	letter-spacing: 0.012em !important;
	transition:
		transform 0.32s var(--gh-ease),
		box-shadow 0.32s var(--gh-ease),
		background 0.32s var(--gh-ease),
		color 0.32s var(--gh-ease),
		border-color 0.32s var(--gh-ease) !important;
	will-change: transform !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: linear-gradient(180deg, #5a9942 0%, #4c8438 52%, #3f7330 100%) !important;
	border: 0 !important;
	color: #ffffff !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		0 16px 30px rgba(60, 110, 45, 0.30),
		0 6px 14px rgba(60, 110, 45, 0.22) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover {
	background: linear-gradient(180deg, #63a449 0%, #538f3d 52%, #437a33 100%) !important;
	transform: translateY(-3px) scale(1.022) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.28),
		0 22px 42px rgba(60, 110, 45, 0.38),
		0 8px 18px rgba(60, 110, 45, 0.26) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:active {
	transform: translateY(-1px) scale(0.995) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light {
	background: rgba(255, 255, 255, 0.10) !important;
	border: 2px solid rgba(255, 255, 255, 0.82) !important;
	color: #ffffff !important;
	-webkit-backdrop-filter: blur(4px) !important;
	backdrop-filter: blur(4px) !important;
	box-shadow: 0 12px 26px rgba(50, 12, 3, 0.16) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	background: #ffffff !important;
	transform: scaleX(0) !important;
	transform-origin: left center !important;
	transition: transform 0.42s var(--gh-ease) !important;
}

body.is-rtl .grocery-home .grocery-hero__actions .btn-outline-light::before,
html[dir="rtl"] .grocery-home .grocery-hero__actions .btn-outline-light::before {
	transform-origin: right center !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light:hover {
	color: #1f3d18 !important;
	border-color: #ffffff !important;
	transform: translateY(-3px) scale(1.022) !important;
	box-shadow: 0 22px 42px rgba(50, 12, 3, 0.22) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light:hover::before {
	transform: scaleX(1) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light:active {
	transform: translateY(-1px) scale(0.995) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:focus-visible,
.grocery-home .grocery-hero__actions .btn-outline-light:focus-visible {
	outline: 3px solid #ffffff !important;
	outline-offset: 3px !important;
	box-shadow:
		0 0 0 6px rgba(40, 10, 2, 0.45),
		0 18px 36px rgba(50, 12, 3, 0.24) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:focus:not(:focus-visible),
.grocery-home .grocery-hero__actions .btn-outline-light:focus:not(:focus-visible) {
	outline: 0 !important;
}

.grocery-home .grocery-hero__metric {
	transition:
		transform 0.32s var(--gh-ease),
		box-shadow 0.32s var(--gh-ease),
		border-color 0.32s var(--gh-ease),
		background 0.32s var(--gh-ease) !important;
}

.grocery-home .grocery-hero__metric:hover {
	transform: translateY(-3px) scale(1.015) !important;
	border-color: rgba(255, 255, 255, 0.42) !important;
	background: rgba(58, 18, 6, 0.30) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.20),
		0 16px 30px rgba(50, 12, 3, 0.30) !important;
}

/* 5) DETAILS & EQUILIBRE — colonne droite mieux remplie (height auto = pas
   de distorsion ; aucune modif du transform de l'image). */
.grocery-home .grocery-hero__visual {
	min-height: 480px !important;
	width: 100% !important;
	padding-block: 0.5rem !important;
}

.grocery-home .grocery-hero__visual-image {
	width: min(100%, 620px) !important;
	height: auto !important;
	max-width: 100% !important;
	margin-inline: auto !important;
}

.grocery-home .grocery-hero__visual-image--alt {
	width: min(108%, 660px) !important;
	height: auto !important;
	max-width: 108% !important;
}

.grocery-home .grocery-hero__visual-image--bright {
	width: min(104%, 640px) !important;
	height: auto !important;
	max-width: 104% !important;
}

.grocery-home .grocery-hero__visual::before {
	inset: -2% 0% !important;
	background:
		radial-gradient(circle at 50% 46%,
			rgba(255, 244, 214, 0.55) 0%,
			rgba(255, 226, 168, 0.22) 42%,
			rgba(255, 226, 168, 0) 70%) !important;
	filter: blur(16px) !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

.grocery-home .grocery-hero__visual::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 48% !important;
	width: min(440px, 78%) !important;
	height: min(440px, 78%) !important;
	transform: translate(-50%, -50%) !important;
	border-radius: 50% !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	box-shadow:
		inset 0 0 0 6px rgba(255, 255, 255, 0.06),
		0 0 60px rgba(255, 232, 178, 0.18) !important;
	z-index: 0 !important;
	pointer-events: none !important;
}

.grocery-home .grocery-hero__floating-badge {
	z-index: 3 !important;
	background: linear-gradient(150deg, #ffe46a 0%, #ffd02a 100%) !important;
	color: #3b1d0c !important;
	box-shadow:
		0 22px 40px rgba(60, 22, 4, 0.30),
		inset 0 0 0 2px rgba(255, 255, 255, 0.55),
		inset 0 -6px 14px rgba(190, 120, 10, 0.28) !important;
	outline: 6px solid rgba(255, 255, 255, 0.16) !important;
	outline-offset: 0 !important;
}

.grocery-home .grocery-hero__carousel .owl-dots {
	gap: 0.45rem !important;
}

.grocery-home .grocery-hero__carousel .owl-dot span {
	width: 0.55rem !important;
	height: 0.55rem !important;
	margin: 0 !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.42) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25) !important;
	transition:
		width 0.3s ease,
		background-color 0.3s ease,
		box-shadow 0.3s ease !important;
}

.grocery-home .grocery-hero__carousel .owl-dot:hover span {
	background: rgba(255, 255, 255, 0.7) !important;
}

.grocery-home .grocery-hero__carousel .owl-dot.active span {
	width: 1.5rem !important;
	background: linear-gradient(90deg, #ffe46a, #ffcf2a) !important;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.35),
		0 4px 12px rgba(60, 22, 4, 0.30) !important;
}

/* 6) RESPONSIVE — anti-debordement mobile (titre/lead). */
@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__title {
		font-size: clamp(2.4rem, 4.65vw, 4.25rem) !important;
		letter-spacing: -0.01em !important;
		line-height: 1.04 !important;
		max-width: none !important;
		margin-top: 0.9rem !important;
	}
	.grocery-home .grocery-hero__lead {
		font-size: clamp(0.98rem, 1.05vw, 1.06rem) !important;
		max-width: 52ch !important;
		margin-top: 0.95rem !important;
	}
	.grocery-home .grocery-hero__actions {
		margin-top: 1.5rem !important;
	}
	.grocery-home .grocery-hero__metrics {
		margin-top: 1.3rem !important;
	}
}

@media (max-width: 767.98px) {
	.grocery-home .grocery-hero__title {
		font-size: clamp(2.35rem, 9vw, 3.35rem) !important;
		line-height: 1.06 !important;
		overflow-wrap: anywhere !important;
	}
	.grocery-home .grocery-hero__lead {
		font-size: clamp(0.95rem, 3.4vw, 1.02rem) !important;
		line-height: 1.62 !important;
	}
}

/* 7) PREFERS-REDUCED-MOTION — neutralise lift/scale/remplissage + grain. */
@media (prefers-reduced-motion: reduce) {
	.grocery-home .grocery-hero__actions .btn-dark,
	.grocery-home .grocery-hero__actions .btn-outline-light,
	.grocery-home .grocery-hero__metric {
		transition: none !important;
	}
	.grocery-home .grocery-hero__actions .btn-dark:hover,
	.grocery-home .grocery-hero__actions .btn-outline-light:hover,
	.grocery-home .grocery-hero__metric:hover {
		transform: none !important;
	}
	.grocery-home .grocery-hero__actions .btn-outline-light::before {
		transition: none !important;
	}
	.grocery-home .grocery-hero::after {
		mix-blend-mode: normal !important;
		opacity: 0.10 !important;
	}
}

/* =====================================================================
   HERO — PALETTE DOUCE "CREME & SAUGE" (override final, gagne la cascade)
   Remplace le fond chaud or/orange/rouge par un degrade creme -> sauge.
   Texte sombre lisible, CTA vert marque, bouton secondaire corrige pour
   fond clair. Optimisation : on neutralise backdrop-filter, le grain SVG,
   les blend-modes et les ombres internes lourdes (cout de paint reduit).
   ===================================================================== */

/* 1) Fond doux : creme -> beige -> sauge clair + halo vert tres leger.
      Deux couches seulement (au lieu de 5 stops + double inset-shadow). */
.grocery-home .grocery-hero {
	position: relative !important;
	isolation: isolate !important;
	background:
		radial-gradient(130% 105% at 86% -8%, rgba(76, 132, 56, 0.13) 0%, rgba(76, 132, 56, 0) 50%),
		radial-gradient(115% 120% at 2% 108%, rgba(238, 228, 200, 0.55) 0%, rgba(238, 228, 200, 0) 56%),
		linear-gradient(135deg, #fdfbf4 0%, #f6f3e9 32%, #eef2e4 64%, #e4ede0 100%) !important;
	box-shadow: inset 0 -1px 0 rgba(28, 38, 22, 0.07) !important;
	--gh-ease: cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Decor : une seule orbe sauge tres douce. Plus de grain, plus de blend. */
.grocery-home .grocery-hero::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background:
		radial-gradient(58% 55% at 10% 92%, rgba(76, 132, 56, 0.08) 0%, rgba(76, 132, 56, 0) 60%) !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	mix-blend-mode: normal !important;
}

/* On supprime l'ancien grain SVG + vignette (gain de perf). */
.grocery-home .grocery-hero::after {
	display: none !important;
	content: none !important;
	background: none !important;
	mix-blend-mode: normal !important;
}

/* 2) Eyebrow : pastille sauge douce, sans backdrop-filter. */
.grocery-home .grocery-hero__eyebrow {
	position: relative !important;
	z-index: 1 !important;
	background: rgba(76, 132, 56, 0.10) !important;
	border: 1px solid rgba(76, 132, 56, 0.26) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	color: #3f7330 !important;
	box-shadow: none !important;
	font-size: 0.76rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
}

/* 3) Titre & lead : texte sombre, lisible, sans ombre lourde. */
.grocery-home .grocery-hero__title {
	position: relative !important;
	z-index: 1 !important;
	color: #1c2616 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-hero__lead {
	position: relative !important;
	z-index: 1 !important;
	color: rgba(28, 38, 22, 0.80) !important;
	opacity: 1 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

/* 4) Metriques : cartes blanches douces, texte sombre, sans backdrop-filter. */
.grocery-home .grocery-hero__metric {
	position: relative !important;
	z-index: 1 !important;
	background: rgba(255, 255, 255, 0.70) !important;
	border: 1px solid rgba(28, 38, 22, 0.10) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	color: #2b3a22 !important;
	box-shadow: 0 6px 16px rgba(76, 132, 56, 0.07) !important;
}

.grocery-home .grocery-hero__metric:hover {
	transform: translateY(-3px) !important;
	border-color: rgba(76, 132, 56, 0.30) !important;
	background: #ffffff !important;
	box-shadow: 0 12px 24px rgba(76, 132, 56, 0.12) !important;
}

/* 5) CTA primaire : vert marque (ressort bien sur fond clair). */
.grocery-home .grocery-hero__actions .btn-dark {
	background: linear-gradient(180deg, #5a9942 0%, #4c8438 52%, #3f7330 100%) !important;
	border: 0 !important;
	color: #ffffff !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		0 14px 26px rgba(60, 110, 45, 0.24) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover {
	background: linear-gradient(180deg, #63a449 0%, #538f3d 52%, #437a33 100%) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.28),
		0 20px 36px rgba(60, 110, 45, 0.30) !important;
}

/* CTA secondaire : corrige pour fond clair (etait blanc sur blanc).
   Contour vert + remplissage vert au survol. */
.grocery-home .grocery-hero__actions .btn-outline-light {
	background: rgba(255, 255, 255, 0.55) !important;
	border: 2px solid rgba(76, 132, 56, 0.55) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	color: #2b3a22 !important;
	box-shadow: 0 8px 20px rgba(76, 132, 56, 0.08) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light::before {
	background: #4c8438 !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light:hover {
	color: #ffffff !important;
	border-color: #4c8438 !important;
	box-shadow: 0 20px 36px rgba(76, 132, 56, 0.22) !important;
}

/* Focus visible sombre (lisible sur fond clair). */
.grocery-home .grocery-hero__actions .btn-dark:focus-visible,
.grocery-home .grocery-hero__actions .btn-outline-light:focus-visible {
	outline: 3px solid #4c8438 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 5px rgba(76, 132, 56, 0.22) !important;
}

/* 6) Visuel : halo sauge doux, ombre image neutre, anneau decoratif supprime. */
.grocery-home .grocery-hero__visual::before {
	background:
		radial-gradient(circle at 50% 46%,
			rgba(76, 132, 56, 0.14) 0%,
			rgba(76, 132, 56, 0.05) 42%,
			rgba(76, 132, 56, 0) 70%) !important;
	filter: blur(14px) !important;
}

.grocery-home .grocery-hero__visual::after {
	display: none !important;
	content: none !important;
}

.grocery-home .grocery-hero__visual-image {
	filter: drop-shadow(0 22px 34px rgba(28, 38, 22, 0.16)) !important;
}

/* Badge flottant : vert marque doux (au lieu du jaune). */
.grocery-home .grocery-hero__floating-badge {
	background: linear-gradient(150deg, #5a9942 0%, #4c8438 100%) !important;
	color: #ffffff !important;
	box-shadow:
		0 18px 34px rgba(60, 110, 45, 0.26),
		inset 0 0 0 2px rgba(255, 255, 255, 0.45) !important;
	outline: 6px solid rgba(76, 132, 56, 0.10) !important;
	outline-offset: 0 !important;
}

/* 7) Pagination (dots) : sombre / vert, visible sur fond clair. */
.grocery-home .grocery-hero__carousel .owl-dot span {
	background: rgba(28, 38, 22, 0.22) !important;
	box-shadow: none !important;
}

.grocery-home .grocery-hero__carousel .owl-dot:hover span {
	background: rgba(28, 38, 22, 0.40) !important;
}

.grocery-home .grocery-hero__carousel .owl-dot.active span {
	background: linear-gradient(90deg, #5a9942, #4c8438) !important;
	box-shadow: 0 4px 10px rgba(60, 110, 45, 0.28) !important;
}
