/* Final site polish layer. Loaded after custom.css to keep the visual system stable. */
:root {
	--site-green: #4c8438;
	--site-green-dark: #37672b;
	--site-red: #e30613;
	--site-red-dark: #a60812;
	--site-orange: #df522d;
	--site-gold: #f8c533;
	--site-ink: #172033;
	--site-muted: #64748b;
	--site-line: rgba(23, 32, 51, 0.1);
	--site-soft: #f7faf2;
	--site-warm: #fffaf4;
	--site-shadow: 0 18px 42px rgba(23, 32, 51, 0.08);
}

html {
	scroll-padding-top: 132px;
}

body {
	background: #f8faf6 !important;
	color: var(--site-ink);
}

.body,
turbo-frame#main-content {
	background: #fff;
}

turbo-frame#main-content[busy] {
	cursor: progress;
}

turbo-frame#main-content[busy] > .main {
	opacity: 0.98;
}

a,
button,
.btn {
	transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.btn {
	border-radius: 8px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
}

.btn-primary {
	background: var(--site-green) !important;
	border-color: var(--site-green) !important;
	color: #fff !important;
	box-shadow: 0 12px 26px rgba(76, 132, 56, 0.18) !important;
}

.btn-primary:hover,
.btn-primary:focus {
	background: var(--site-green-dark) !important;
	border-color: var(--site-green-dark) !important;
	box-shadow: 0 16px 32px rgba(76, 132, 56, 0.24) !important;
	transform: translateY(-2px);
}

.grocery-home .grocery-hero,
.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 {
	min-height: 460px !important;
}

.grocery-home .grocery-hero__carousel .owl-stage {
	display: block !important;
}

.grocery-home .grocery-hero__carousel .owl-item {
	display: block !important;
	float: left !important;
	min-width: 1px !important;
}

.grocery-home .grocery-hero__carousel:not(.owl-loaded),
.grocery-home .grocery-band__carousel:not(.owl-loaded) {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	overflow: hidden !important;
	max-height: 560px !important;
}

.grocery-home .grocery-hero__carousel:not(.owl-loaded) > * {
	display: none !important;
}

.grocery-home .grocery-hero__carousel:not(.owl-loaded) > :first-child {
	display: flex !important;
}

.grocery-home .grocery-band__carousel:not(.owl-loaded) {
	display: flex !important;
	overflow: hidden !important;
}

.grocery-home .grocery-band__carousel:not(.owl-loaded) > * {
	flex: 0 0 25% !important;
	min-width: 220px !important;
}

.grocery-home .grocery-hero__slide {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 460px !important;
	padding: 2.5rem 0 !important;
}

.grocery-home .grocery-hero__slide > .row {
	width: 100% !important;
}

.grocery-home .grocery-hero__visual-image {
	max-height: 320px !important;
	object-fit: contain !important;
}

.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 {
	visibility: visible !important;
	opacity: 1 !important;
}

/* Anti-FOUC : l'eyebrow ne doit jamais s'etirer en pleine largeur (flex-item
   par defaut "stretch" tant que le carousel n'est pas initialise). */
.grocery-home .grocery-hero__eyebrow {
	align-self: flex-start !important;
	width: auto !important;
	max-width: max-content !important;
}

.grocery-home .grocery-category-carousel:not(.owl-loaded),
.grocery-home .grocery-products-carousel:not(.owl-loaded) {
	display: flex !important;
	gap: 1rem !important;
	overflow: hidden !important;
}

.grocery-home .grocery-category-carousel:not(.owl-loaded) > *,
.grocery-home .grocery-products-carousel:not(.owl-loaded) > * {
	flex: 0 0 260px !important;
}

/* Header */
.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 1030 !important;
	background: #fff !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.08) !important;
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.08) !important;
}

.site-header__main {
	background: #fff !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.06) !important;
	box-shadow: none !important;
}

.site-header__main::after {
	display: none !important;
	content: none !important;
}

.site-header__main-inner {
	display: grid !important;
	grid-template-columns: minmax(160px, 218px) minmax(280px, 1fr) minmax(150px, auto) auto !important;
	align-items: center !important;
	gap: 1rem !important;
	min-height: 82px !important;
	padding-top: 0.75rem !important;
	padding-bottom: 0.75rem !important;
}

.site-header__brand {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	min-width: 0 !important;
	padding: 0 !important;
}

#header .brand-set--header,
.site-header__brand .brand-set {
	width: auto !important;
	gap: 0.5rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 78px !important;
	height: 54px !important;
	flex: 0 0 78px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

#header .brand-set--header .brand-set__logo {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	filter: saturate(1.04) contrast(1.02) !important;
}

#header .brand-set--header .brand-set__separator {
	width: 1px !important;
	height: 32px !important;
	margin: 0 0.1rem !important;
	background: rgba(23, 32, 51, 0.16) !important;
}

.site-header__search {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(138px, 185px) 50px !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 620px !important;
	height: 48px !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid #dfe7ef !important;
	border-radius: 999px !important;
	background: #f8fafc !important;
	box-shadow: none !important;
}

.site-header__search:focus-within {
	border-color: rgba(76, 132, 56, 0.48) !important;
	box-shadow: 0 0 0 4px rgba(76, 132, 56, 0.1) !important;
}

.site-header__search input,
.site-header__search select {
	min-width: 0 !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	background-color: transparent !important;
	color: var(--site-ink) !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	outline: 0 !important;
}

.site-header__search input {
	padding: 0 1.1rem !important;
}

.site-header__search input::placeholder {
	color: #99a5b5 !important;
}

.site-header__search select {
	padding: 0 2rem 0 0.9rem !important;
	border-left: 1px solid #dde5ed !important;
	color: #475569 !important;
	cursor: pointer !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.site-header__search button {
	display: grid !important;
	place-items: center !important;
	width: 50px !important;
	height: 100% !important;
	border: 0 !important;
	background: var(--site-red) !important;
	color: #fff !important;
	font-size: 1rem !important;
}

.site-header__search button:hover,
.site-header__search button:focus {
	background: var(--site-red-dark) !important;
	color: #fff !important;
}

.site-header__quick-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	min-width: 0 !important;
}

.site-header__info-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
	min-height: 46px !important;
	padding: 0.2rem 0.5rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--site-ink) !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.site-header__info-link:hover,
.site-header__info-link:focus {
	background: rgba(76, 132, 56, 0.08) !important;
	color: var(--site-green) !important;
	transform: none !important;
}

.site-header__info-icon {
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	flex: 0 0 38px !important;
	border-radius: 8px !important;
	background: rgba(227, 6, 19, 0.08) !important;
	color: var(--site-red) !important;
	font-size: 1rem !important;
}

.site-header__info-text {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
	min-width: 0 !important;
}

.site-header__info-text small,
.site-header__info-text strong {
	display: block !important;
	letter-spacing: 0 !important;
	line-height: 1.1 !important;
}

.site-header__info-text small {
	color: var(--site-muted) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

.site-header__info-text strong {
	color: var(--site-ink) !important;
	font-size: 0.92rem !important;
	font-weight: 900 !important;
	white-space: nowrap !important;
}

.site-header__tools {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.45rem !important;
	min-width: 0 !important;
}

.site-header__language {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.18rem !important;
	height: 38px !important;
	padding: 0.2rem !important;
	border: 1px solid #dfe7ef !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.site-header__language a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 32px !important;
	height: 30px !important;
	padding: 0 0.5rem !important;
	border-radius: 999px !important;
	color: var(--site-ink) !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
}

.site-header__language a.active,
.site-header__language a:hover,
.site-header__language a:focus {
	background: var(--site-green) !important;
	color: #fff !important;
}

.site-header__tool,
.site-header__menu-toggle {
	position: relative !important;
	display: inline-grid !important;
	place-items: center !important;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	border: 1px solid #dfe7ef !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--site-ink) !important;
	font-size: 1.05rem !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.site-header__tool span:not(.cart-qty) {
	display: none !important;
}

.site-header__tool:hover,
.site-header__tool:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	border-color: rgba(76, 132, 56, 0.32) !important;
	background: rgba(76, 132, 56, 0.08) !important;
	color: var(--site-green) !important;
	transform: translateY(-1px) !important;
}

.site-header__cart .cart-qty {
	position: absolute !important;
	top: -7px !important;
	right: -7px !important;
	display: inline-grid !important;
	place-items: center !important;
	min-width: 20px !important;
	height: 20px !important;
	padding: 0 5px !important;
	border: 2px solid #fff !important;
	border-radius: 999px !important;
	background: var(--site-red) !important;
	color: #fff !important;
	font-size: 0.68rem !important;
	font-weight: 900 !important;
}

.site-header__menu-toggle {
	display: none !important;
}

.site-header__nav {
	display: block !important;
	background: #fff !important;
	border-top: 0 !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.08) !important;
	box-shadow: none !important;
}

.site-header__nav .container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.site-header__nav-list {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 0.25rem !important;
	min-height: 52px !important;
	padding: 0.35rem 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

.site-header__nav-list li {
	display: flex !important;
}

.site-header__nav-list .nav-link {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 40px !important;
	padding: 0 0.92rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--site-ink) !important;
	font-size: 0.84rem !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
}

.site-header__nav-list .nav-link::before {
	display: none !important;
	content: none !important;
}

.site-header__nav-list .nav-link::after {
	content: "" !important;
	position: absolute !important;
	left: 0.82rem !important;
	right: 0.82rem !important;
	bottom: 5px !important;
	width: auto !important;
	height: 2px !important;
	border-radius: 999px !important;
	background: var(--site-green) !important;
	opacity: 1 !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.08) !important;
	color: var(--site-green) !important;
}

.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	background: rgba(76, 132, 56, 0.1) !important;
	color: var(--site-green) !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;
}

@media (min-width: 992px) {
	.site-header__nav.collapse {
		display: block !important;
		height: auto !important;
		visibility: visible !important;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto !important;
		gap: 0.8rem !important;
	}

	.site-header__search {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		max-width: none !important;
	}

	.site-header__quick-actions {
		justify-content: flex-end !important;
	}

	.site-header__info-text {
		display: none !important;
	}
}

@media (max-width: 991.98px) {
	html {
		scroll-padding-top: 110px;
	}

	.site-header__main-inner {
		grid-template-columns: auto 1fr auto !important;
		min-height: 66px !important;
		padding-top: 0.55rem !important;
		padding-bottom: 0.55rem !important;
	}

	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 64px !important;
		height: 44px !important;
		flex-basis: 64px !important;
	}

	#header .brand-set--header .brand-set__separator {
		height: 26px !important;
	}

	.site-header__quick-actions {
		display: none !important;
	}

	.site-header__tools {
		grid-column: 3 !important;
		gap: 0.35rem !important;
	}

	.site-header__tool,
	.site-header__menu-toggle {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}

	.site-header__menu-toggle {
		display: inline-grid !important;
	}

	.site-header__nav {
		display: none !important;
		padding: 0.55rem 0 !important;
		background: #fff !important;
	}

	.site-header__nav.show,
	.site-header__nav.collapsing {
		display: block !important;
	}

	.site-header__nav-list {
		align-items: stretch !important;
		flex-direction: column !important;
		gap: 0.25rem !important;
		min-height: 0 !important;
	}

	.site-header__nav-list li,
	.site-header__nav-list .nav-link {
		width: 100% !important;
	}

	.site-header__nav-list .nav-link {
		justify-content: flex-start !important;
		height: 42px !important;
		padding: 0 0.9rem !important;
	}

	.site-header__nav-list .nav-link::after {
		left: 0 !important;
		right: auto !important;
		top: 0.55rem !important;
		bottom: 0.55rem !important;
		width: 3px !important;
		height: auto !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;
	}
}

@media (max-width: 575.98px) {
	html {
		scroll-padding-top: 98px;
	}

	.site-header__main-inner {
		gap: 0.45rem !important;
	}

	#header .brand-set--header {
		gap: 0.28rem !important;
	}

	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 50px !important;
		height: 36px !important;
		flex-basis: 50px !important;
	}

	#header .brand-set--header .brand-set__separator {
		height: 20px !important;
	}

	.site-header__language {
		display: none !important;
	}

	.site-header__search {
		grid-template-columns: minmax(0, 1fr) 44px !important;
		height: 44px !important;
	}

	.site-header__search select {
		display: none !important;
	}

	.site-header__search button {
		width: 44px !important;
	}
}

@media (max-width: 420px) {
	.site-header__tool:not(.site-header__cart) {
		display: none !important;
	}
}

/* Promo banner: cleaner composition over the existing artwork. */
.grocery-home .grocery-section--promo {
	padding: clamp(3.2rem, 5vw, 4.8rem) 0 !important;
	background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
}

.grocery-home .grocery-section--promo .container {
	width: min(100% - 32px, 1180px) !important;
	max-width: 1180px !important;
}

.grocery-home .grocery-promo-panel {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(300px, 0.9fr) minmax(360px, 1.1fr) !important;
	align-items: center !important;
	column-gap: clamp(1.5rem, 4vw, 3.5rem) !important;
	min-height: 300px !important;
	padding: clamp(1.8rem, 3vw, 2.5rem) clamp(1.7rem, 4vw, 3rem) !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	background:
		linear-gradient(90deg, rgba(72, 135, 47, 0.98) 0%, rgba(112, 166, 28, 0.96) 44%, rgba(112, 166, 28, 0.8) 100%) !important;
	box-shadow: 0 26px 66px rgba(47, 81, 39, 0.18) !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") 76% center / auto 82% 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:
		linear-gradient(90deg, rgba(45, 92, 35, 0.46) 0%, rgba(45, 92, 35, 0.24) 29%, rgba(45, 92, 35, 0.02) 58%),
		radial-gradient(circle at 72% 48%, rgba(255, 235, 61, 0.18), transparent 18rem) !important;
	pointer-events: none !important;
}

.grocery-home .grocery-promo-panel > div {
	position: relative !important;
	z-index: 1 !important;
	grid-column: 1 !important;
	width: min(100%, 430px) !important;
}

.grocery-home .grocery-promo-panel .grocery-section__kicker {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 36px !important;
	margin-bottom: 1.25rem !important;
	padding: 0.55rem 1.45rem !important;
	border-radius: 999px !important;
	background: #ffeb3d !important;
	color: #111827 !important;
	font-size: 0.92rem !important;
	font-weight: 950 !important;
	box-shadow: none !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 9.4ch !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-size: clamp(2.35rem, 4vw, 3.65rem) !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
	text-shadow: 0 8px 22px rgba(23, 32, 51, 0.18) !important;
}

.grocery-home .grocery-promo-panel p {
	max-width: 25rem !important;
	margin: 1rem 0 0 !important;
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: 1.02rem !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	text-shadow: 0 4px 16px rgba(23, 32, 51, 0.14) !important;
}

.grocery-home .grocery-promo-panel .btn {
	position: relative !important;
	z-index: 1 !important;
	grid-column: 2 !important;
	justify-self: end !important;
	align-self: end !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	margin: 0 1.1rem 0.35rem 0 !important;
	padding: 0.82rem 1.65rem !important;
	border: 2px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 999px !important;
	background: #172033 !important;
	color: #ffffff !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.22) !important;
}

body.is-rtl .grocery-home .grocery-promo-panel {
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-promo-panel::before {
	background-position: 24% center !important;
}

body.is-rtl .grocery-home .grocery-promo-panel::after {
	background:
		linear-gradient(270deg, rgba(45, 92, 35, 0.46) 0%, rgba(45, 92, 35, 0.24) 29%, rgba(45, 92, 35, 0.02) 58%),
		radial-gradient(circle at 28% 48%, rgba(255, 235, 61, 0.18), transparent 18rem) !important;
}

body.is-rtl .grocery-home .grocery-promo-panel > div {
	grid-column: 2 !important;
	margin-right: auto !important;
	margin-left: 0 !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-promo-panel .btn {
	grid-column: 1 !important;
	justify-self: start !important;
	margin: 0 0 0.35rem 1.1rem !important;
}

body.is-rtl .grocery-home .grocery-promo-panel h2,
body.is-rtl .grocery-home .grocery-promo-panel p {
	text-align: right !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr !important;
		min-height: 340px !important;
	}

	.grocery-home .grocery-promo-panel::before {
		background-position: 92% center !important;
		background-size: auto 72% !important;
		opacity: 0.55 !important;
	}

	body.is-rtl .grocery-home .grocery-promo-panel::before {
		background-position: 8% center !important;
	}

	.grocery-home .grocery-promo-panel .btn,
	body.is-rtl .grocery-home .grocery-promo-panel .btn {
		grid-column: 1 !important;
		justify-self: start !important;
		align-self: start !important;
		margin: 1.35rem 0 0 !important;
	}

	body.is-rtl .grocery-home .grocery-promo-panel > div {
		grid-column: 1 !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-section--promo .container {
		width: min(100% - 24px, 1180px) !important;
	}

	.grocery-home .grocery-promo-panel {
		min-height: 430px !important;
		padding: 2rem 1.35rem !important;
	}

	.grocery-home .grocery-promo-panel::before {
		background-position: center bottom !important;
		background-size: auto 52% !important;
		opacity: 0.85 !important;
	}

	.grocery-home .grocery-promo-panel::after {
		background: linear-gradient(180deg, rgba(45, 92, 35, 0.68) 0%, rgba(45, 92, 35, 0.28) 52%, rgba(45, 92, 35, 0) 100%) !important;
	}

	.grocery-home .grocery-promo-panel > div,
	body.is-rtl .grocery-home .grocery-promo-panel > div {
		width: 100% !important;
		margin: 0 !important;
	}

	.grocery-home .grocery-promo-panel h2 {
		font-size: clamp(2.2rem, 13vw, 3.05rem) !important;
	}
}

/* Shared page polish */
.grocery-section__kicker,
.catalog-kicker {
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.grocery-section__title,
.catalog-hero h1,
.grocery-deal__copy h2,
.grocery-promo-panel h2 {
	color: var(--site-ink) !important;
	font-size: 2.25rem !important;
	line-height: 1.08 !important;
	letter-spacing: 0 !important;
}

.grocery-section__lead,
.catalog-hero p {
	color: var(--site-muted) !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
}

@media (max-width: 575.98px) {
	.grocery-section__title,
	.catalog-hero h1,
	.grocery-deal__copy h2,
	.grocery-promo-panel h2 {
		font-size: 1.65rem !important;
	}
}

/* Catalogue */
.catalog-page {
	background: #f8faf6 !important;
}

.catalog-hero,
.offers-hero,
.main > .page-header.page-header-modern {
	position: relative !important;
	isolation: isolate !important;
	display: flex !important;
	align-items: center !important;
	min-height: 230px !important;
	padding: 1.75rem 0 !important;
	overflow: hidden !important;
	background: url("../../images/header-commun.png") center / 100% 100% no-repeat !important;
	color: #fff !important;
}

.catalog-hero::before,
.offers-hero::before,
.main > .page-header.page-header-modern::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -2 !important;
	background: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.catalog-hero::after,
.offers-hero::after,
.main > .page-header.page-header-modern::after {
	content: "" !important;
	position: absolute !important;
	inset-inline-end: 0 !important;
	inset-block: 0 !important;
	z-index: -1 !important;
	width: 46% !important;
	background: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.main > .page-header.page-header-modern .row,
.main > .page-header.page-header-modern .col {
	min-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.main > .page-header.page-header-modern .col {
	text-align: start !important;
}

.main > .page-header.page-header-modern .breadcrumb,
.catalog-breadcrumb,
.offers-breadcrumb {
	justify-content: flex-start !important;
	margin-bottom: 0.8rem !important;
	font-size: 0.84rem !important;
}

.main > .page-header.page-header-modern h1,
.offers-hero h1,
.catalog-hero h1 {
	max-width: 660px !important;
	margin: 0.35rem 0 0.65rem !important;
	color: #ffffff !important;
	font-size: 2.65rem !important;
	font-weight: 900 !important;
	line-height: 1.02 !important;
	letter-spacing: 0 !important;
	text-shadow: 0 8px 24px rgba(17, 24, 39, 0.34) !important;
}

.main > .page-header.page-header-modern p,
.offers-hero p,
.catalog-hero p {
	max-width: 620px !important;
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 1rem !important;
	line-height: 1.58 !important;
	font-weight: 750 !important;
	text-shadow: 0 5px 18px rgba(17, 24, 39, 0.28) !important;
}

.offers-hero .container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.offers-hero .row {
	align-items: center !important;
}

.offers-hero .lead {
	margin-bottom: 1rem !important;
}

.offers-hero .col-lg-7 {
	flex: 0 0 100% !important;
	max-width: 760px !important;
}

.offers-hero .col-lg-5,
.offers-hero .offers-metrics {
	display: none !important;
}

.offers-hero .btn {
	min-height: 42px !important;
	padding: 0.58rem 1.1rem !important;
	font-size: 0.9rem !important;
}

.offers-kicker,
.catalog-hero .catalog-kicker {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 30px !important;
	padding: 0.28rem 0.75rem !important;
	border-radius: 999px !important;
	background: rgba(126, 55, 30, 0.62) !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	box-shadow: 0 10px 22px rgba(17, 24, 39, 0.16) !important;
}

.catalog-hero {
	padding: 1.75rem 0 !important;
}

.catalog-hero .container,
.catalog-body .container {
	max-width: 1320px !important;
}

.catalog-breadcrumb {
	margin-bottom: 1rem !important;
}

.catalog-breadcrumb a,
.catalog-breadcrumb .breadcrumb-item,
.catalog-breadcrumb .breadcrumb-item.active {
	color: rgba(255, 255, 255, 0.88) !important;
}

.catalog-hero__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: end !important;
	gap: 1.25rem !important;
}

.catalog-hero h1 {
	margin: 0.3rem 0 0.6rem !important;
	color: #ffffff !important;
	font-size: 2.65rem !important;
}

.catalog-hero p {
	max-width: 50rem !important;
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.92) !important;
}

.catalog-kicker {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 26px !important;
	padding: 0.25rem 0.65rem !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.16) !important;
	color: #fff !important;
	font-size: 0.8rem !important;
	font-weight: 800 !important;
}

.catalog-body .catalog-kicker,
.catalog-toolbar .catalog-kicker,
.catalog-filter-form__header .catalog-kicker {
	background: rgba(76, 132, 56, 0.1) !important;
	color: var(--site-green) !important;
}

.catalog-hero .catalog-kicker {
	background: rgba(126, 55, 30, 0.62) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.catalog-hero__metrics {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(90px, 1fr)) !important;
	gap: 0.65rem !important;
	min-width: 330px !important;
}

.catalog-hero__metrics div {
	padding: 0.85rem !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 8px !important;
	background: rgba(126, 55, 30, 0.28) !important;
	box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12) !important;
	backdrop-filter: blur(3px) !important;
}

.catalog-hero__metrics strong,
.catalog-hero__metrics span {
	color: #ffffff !important;
	text-shadow: 0 5px 16px rgba(17, 24, 39, 0.3) !important;
}

body.is-rtl .catalog-hero,
body.is-rtl .offers-hero,
body.is-rtl .main > .page-header.page-header-modern {
	direction: rtl !important;
}

body.is-rtl .catalog-hero::after,
body.is-rtl .offers-hero::after,
body.is-rtl .main > .page-header.page-header-modern::after {
	inset-inline-end: auto !important;
	inset-inline-start: 0 !important;
	transform: none !important;
}

body.is-rtl .catalog-hero::before,
body.is-rtl .offers-hero::before,
body.is-rtl .main > .page-header.page-header-modern::before {
	background: none !important;
}

body.is-rtl .main > .page-header.page-header-modern .col {
	text-align: start !important;
}

body.is-rtl .main > .page-header.page-header-modern .breadcrumb,
body.is-rtl .catalog-breadcrumb,
body.is-rtl .offers-breadcrumb {
	justify-content: flex-start !important;
}

.catalog-body {
	padding: 2rem 0 3.5rem !important;
	background: #f8faf6 !important;
}

.catalog-brands-band {
	padding: 1.15rem 0 !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.08) !important;
	background: #fff !important;
}

.catalog-brands-band--categories {
	border-top: 1px solid rgba(23, 32, 51, 0.08) !important;
}

.grocery-home .grocery-section__header {
	display: flex !important;
	align-items: end !important;
	justify-content: space-between !important;
	gap: 1.25rem !important;
	margin-bottom: 1.4rem !important;
}

.grocery-home .grocery-section__header .grocery-section__title {
	color: var(--site-ink) !important;
	text-shadow: none !important;
}

.grocery-home .grocery-section__header .grocery-section__lead {
	color: var(--site-muted) !important;
	text-shadow: none !important;
}

.grocery-home .grocery-section__header .grocery-section__action {
	flex: 0 0 auto !important;
	white-space: nowrap !important;
}

.catalog-brands-band--inline {
	margin-bottom: 1rem !important;
	padding: 1rem !important;
	border: 1px solid rgba(23, 32, 51, 0.09) !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.07) !important;
}

.catalog-brands-band__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	margin-bottom: 0.75rem !important;
}

.catalog-brands-band__header h2 {
	margin: 0 !important;
	color: var(--site-ink) !important;
	font-size: 1.15rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

.catalog-brands-band__header p {
	margin: 0 !important;
	color: var(--site-muted) !important;
	font-size: 0.9rem !important;
}

.catalog-brand-filter-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
	gap: 0.75rem !important;
}

.catalog-brand-filter {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	min-height: 70px !important;
	padding: 0.72rem 0.85rem !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, #ffffff 0%, #f8faf6 100%) !important;
	color: var(--site-ink) !important;
	text-decoration: none !important;
	box-shadow: 0 10px 24px rgba(23, 32, 51, 0.06) !important;
}

.catalog-brand-filter:hover,
.catalog-brand-filter.active {
	border-color: rgba(76, 132, 56, 0.36) !important;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.1), rgba(248, 197, 51, 0.12)) !important;
	transform: translateY(-1px) !important;
}

.catalog-brand-filter img {
	width: 72px !important;
	height: 52px !important;
	flex: 0 0 72px !important;
	object-fit: contain !important;
	border-radius: 6px !important;
	background: #fff !important;
	padding: 0.2rem !important;
}

.catalog-brand-filter strong {
	display: block !important;
	color: var(--site-ink) !important;
	font-size: 0.92rem !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
}

.catalog-brand-filter small,
.grocery-product-card__brand {
	display: block !important;
	margin-top: 0.2rem !important;
	color: var(--site-muted) !important;
	font-size: 0.78rem !important;
	font-weight: 750 !important;
	line-height: 1.25 !important;
}

.catalog-sidebar,
.catalog-toolbar,
.catalog-active-filters,
.catalog-empty-state,
.subcategory-nav,
.category-search-panel,
.product-info-panel,
.product-detail-summary {
	border: 1px solid rgba(23, 32, 51, 0.09) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 14px 34px rgba(23, 32, 51, 0.07) !important;
}

.catalog-sidebar {
	top: 126px !important;
	overflow: hidden !important;
}

.catalog-filter-form {
	padding: 1rem !important;
}

.catalog-filter-form__header {
	margin: -1rem -1rem 1rem !important;
	padding: 1rem !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.08) !important;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.1), rgba(248, 197, 51, 0.13)) !important;
}

.catalog-filter-form__header h2,
.catalog-toolbar h2 {
	color: var(--site-ink) !important;
	font-size: 1.18rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

.catalog-filter-section {
	padding: 0.9rem 0 !important;
	border-bottom: 1px solid #edf2f7 !important;
}

.catalog-filter-title {
	color: var(--site-ink) !important;
	font-size: 0.9rem !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
}

.catalog-search .form-control,
.catalog-filter-form .form-select {
	min-height: 42px !important;
	border-color: #dfe7ef !important;
	border-radius: 8px !important;
	color: var(--site-ink) !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}

.catalog-search .form-control:focus,
.catalog-filter-form .form-select:focus {
	border-color: rgba(76, 132, 56, 0.5) !important;
	box-shadow: 0 0 0 4px rgba(76, 132, 56, 0.1) !important;
}

.catalog-search .btn {
	display: inline-grid !important;
	place-items: center !important;
	min-width: 42px !important;
	padding: 0 !important;
}

.catalog-category-list a {
	min-height: 38px !important;
	padding: 0.45rem 0.55rem !important;
	border-radius: 8px !important;
	color: #475569 !important;
	font-size: 0.88rem !important;
	font-weight: 750 !important;
	letter-spacing: 0 !important;
}

.catalog-category-list a:hover,
.catalog-category-list a.active {
	background: rgba(76, 132, 56, 0.1) !important;
	color: var(--site-green) !important;
}

.catalog-brand-list {
	gap: 0.45rem !important;
}

.catalog-brand-list a,
.offers-brand {
	min-height: 34px !important;
	padding: 0.45rem 0.7rem !important;
	border: 1px solid #dfe7ef !important;
	border-radius: 999px !important;
	background: #f8fafc !important;
	color: #334155 !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
}

.catalog-brand-list a:hover,
.catalog-brand-list a.active,
.offers-brand:hover,
.offers-brand.active {
	border-color: var(--site-green) !important;
	background: var(--site-green) !important;
	color: #fff !important;
}

.catalog-check {
	border-color: #dfe7ef !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	color: #334155 !important;
	font-weight: 750 !important;
}

.form-check-input:checked {
	background-color: var(--site-green) !important;
	border-color: var(--site-green) !important;
}

.catalog-toolbar {
	padding: 1rem 1.1rem !important;
	margin-bottom: 1rem !important;
}

.catalog-toolbar__count {
	border: 1px solid rgba(76, 132, 56, 0.16) !important;
	border-radius: 999px !important;
	background: rgba(76, 132, 56, 0.08) !important;
	color: var(--site-green) !important;
	box-shadow: none !important;
}

.catalog-active-filters {
	padding: 0.85rem 1rem !important;
	margin-bottom: 1.1rem !important;
}

.filter-chip {
	border-color: rgba(76, 132, 56, 0.22) !important;
	background: rgba(76, 132, 56, 0.09) !important;
	color: var(--site-green) !important;
	font-weight: 800 !important;
}

.catalog-products .row {
	--bs-gutter-x: 1rem;
	--bs-gutter-y: 1rem;
}

.pagination {
	gap: 0.35rem !important;
}

.pagination .page-link {
	min-width: 38px !important;
	height: 38px !important;
	border: 1px solid #dfe7ef !important;
	border-radius: 8px !important;
	color: var(--site-ink) !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.pagination .active .page-link,
.pagination .page-link:hover,
.pagination .page-link:focus {
	border-color: var(--site-green) !important;
	background: var(--site-green) !important;
	color: #fff !important;
}

@media (max-width: 991.98px) {
	.catalog-hero__inner {
		grid-template-columns: 1fr !important;
	}

	.catalog-hero__metrics {
		min-width: 0 !important;
		width: 100% !important;
	}

	.catalog-sidebar {
		position: relative !important;
		top: auto !important;
	}
}

@media (max-width: 575.98px) {
	.catalog-hero {
		min-height: 210px !important;
		padding: 1.45rem 0 !important;
	}

	.offers-hero,
	.main > .page-header.page-header-modern {
		min-height: 210px !important;
		padding: 1.45rem 0 !important;
	}

	.catalog-hero h1 {
		font-size: 1.8rem !important;
	}

	.offers-hero h1,
	.main > .page-header.page-header-modern h1 {
		font-size: 1.8rem !important;
	}

	.catalog-hero::after,
	.offers-hero::after,
	.main > .page-header.page-header-modern::after {
		width: 260px !important;
		opacity: 0.28 !important;
	}

	.offers-showcase,
	.offers-metrics {
		display: none !important;
	}

	.catalog-hero__metrics {
		grid-template-columns: 1fr !important;
	}

	.catalog-toolbar,
	.catalog-active-filters {
		align-items: flex-start !important;
		flex-direction: column !important;
	}
}

/* Product cards */
.grocery-product-grid {
	gap: 1rem !important;
	align-items: stretch !important;
}

.grocery-product-grid__item,
.grocery-carousel__slide,
.grocery-products-carousel .owl-item {
	display: flex !important;
	min-width: 0 !important;
}

.grocery-product-card,
.catalog-products .grocery-product-card,
.grocery-home .grocery-product-card,
.grocery-home .grocery-section--new .grocery-product-card,
.grocery-home .grocery-section--trending .grocery-product-card {
	position: relative !important;
	display: grid !important;
	grid-template-rows: 190px 1fr !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 386px !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.09) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 12px 30px rgba(23, 32, 51, 0.08) !important;
	transform: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.grocery-product-card:hover,
.catalog-products .grocery-product-card:hover,
.grocery-home .grocery-product-card:hover,
.grocery-home .grocery-section--new .grocery-product-card:hover,
.grocery-home .grocery-section--trending .grocery-product-card:hover {
	border-color: rgba(76, 132, 56, 0.28) !important;
	box-shadow: 0 20px 44px rgba(23, 32, 51, 0.12) !important;
	transform: translateY(-4px) !important;
}

.grocery-product-card__media,
.catalog-products .grocery-product-card__media,
.grocery-home .grocery-product-card__media,
.grocery-home .grocery-section--new .grocery-product-card__media,
.grocery-home .grocery-section--trending .grocery-product-card__media {
	position: relative !important;
	display: grid !important;
	place-items: center !important;
	height: 190px !important;
	min-height: 190px !important;
	padding: 0.85rem !important;
	border-bottom: 1px solid rgba(23, 32, 51, 0.07) !important;
	background:
		linear-gradient(135deg, rgba(76, 132, 56, 0.08), rgba(248, 197, 51, 0.12)),
		#fbfcf8 !important;
}

.grocery-product-card__media::after,
.grocery-home .grocery-product-card__media::after {
	display: none !important;
	content: none !important;
}

.grocery-product-card__image-link,
.catalog-products .grocery-product-card__image-link,
.grocery-home .grocery-product-card__image-link,
.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;
	overflow: hidden !important;
	border-radius: 8px !important;
	background: #fff !important;
}

.grocery-product-card__image,
.catalog-products .grocery-product-card__image,
.grocery-home .grocery-product-card__image,
.grocery-home .grocery-section--new .grocery-product-card__image,
.grocery-home .grocery-section--trending .grocery-product-card__image {
	display: block !important;
	width: 100% !important;
	height: 158px !important;
	max-height: 158px !important;
	object-fit: contain !important;
	filter: none !important;
	mix-blend-mode: multiply !important;
	transform: none !important;
	transition: transform 0.2s ease !important;
}

.grocery-product-card:hover .grocery-product-card__image {
	transform: scale(1.04) !important;
}

.grocery-product-card__badge,
.catalog-products .grocery-product-card__badge,
.grocery-home .grocery-product-card__badge,
.grocery-home .grocery-section--new .grocery-product-card__badge,
.grocery-home .grocery-section--trending .grocery-product-card__badge {
	position: absolute !important;
	top: 0.75rem !important;
	left: 0.75rem !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 44px !important;
	min-height: 28px !important;
	padding: 0.3rem 0.58rem !important;
	border: 2px solid #fff !important;
	border-radius: 999px !important;
	background: var(--site-red) !important;
	color: #fff !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	box-shadow: 0 10px 22px rgba(227, 6, 19, 0.2) !important;
}

/* =========================================================================
   Badges promo differencies par type + effet "bulle qui clignote".
   - offer  (X+Y offerts) : vert (cadeau)
   - percent (-XX%)       : rouge
   - new                  : bleu
   ========================================================================= */
/* Note: on reprend les memes ancetres que la regle de base du badge pour
   gagner en specificite, sinon le fond rouge (var(--site-red)) l'emporte. */
.grocery-product-card__badge--offer,
.catalog-products .grocery-product-card__badge--offer,
.grocery-home .grocery-product-card__badge--offer,
.grocery-home .grocery-section--new .grocery-product-card__badge--offer,
.grocery-home .grocery-section--trending .grocery-product-card__badge--offer {
	background: linear-gradient(135deg, #22c55e 0%, #15a34a 100%) !important;
	box-shadow: 0 10px 22px rgba(22, 163, 74, 0.3) !important;
}

.grocery-product-card__badge--percent,
.catalog-products .grocery-product-card__badge--percent,
.grocery-home .grocery-product-card__badge--percent,
.grocery-home .grocery-section--new .grocery-product-card__badge--percent,
.grocery-home .grocery-section--trending .grocery-product-card__badge--percent {
	background: linear-gradient(135deg, #fb7185 0%, #e30613 100%) !important;
	box-shadow: 0 10px 22px rgba(227, 6, 19, 0.28) !important;
}

.grocery-product-card__badge--new,
.catalog-products .grocery-product-card__badge--new,
.grocery-home .grocery-product-card__badge--new,
.grocery-home .grocery-section--new .grocery-product-card__badge--new,
.grocery-home .grocery-section--trending .grocery-product-card__badge--new {
	background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28) !important;
}

/* Pulsation de la pastille (les promos attirent l'oeil) */
.grocery-product-card__badge--offer,
.grocery-product-card__badge--percent {
	animation: badgePop 1.7s ease-in-out infinite !important;
}

/* Anneau qui clignote autour de la pastille */
.grocery-product-card__badge--offer::after,
.grocery-product-card__badge--percent::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	border-radius: inherit !important;
	pointer-events: none !important;
}

.grocery-product-card__badge--offer::after {
	animation: badgeRingGreen 1.7s ease-out infinite !important;
}

.grocery-product-card__badge--percent::after {
	animation: badgeRingRed 1.7s ease-out infinite !important;
}

@keyframes badgePop {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.07); }
}

@keyframes badgeRingGreen {
	0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.5); }
	70% { box-shadow: 0 0 0 12px rgba(22, 163, 74, 0); }
	100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}

@keyframes badgeRingRed {
	0% { box-shadow: 0 0 0 0 rgba(227, 6, 19, 0.5); }
	70% { box-shadow: 0 0 0 12px rgba(227, 6, 19, 0); }
	100% { box-shadow: 0 0 0 0 rgba(227, 6, 19, 0); }
}

/* Respecte les utilisateurs qui reduisent les animations */
@media (prefers-reduced-motion: reduce) {
	.grocery-product-card__badge--offer,
	.grocery-product-card__badge--percent {
		animation: none !important;
	}
	.grocery-product-card__badge--offer::after,
	.grocery-product-card__badge--percent::after {
		animation: none !important;
		display: none !important;
	}
}

.grocery-product-card__body,
.catalog-products .grocery-product-card__body,
.grocery-home .grocery-product-card__body,
.grocery-home .grocery-section--new .grocery-product-card__body,
.grocery-home .grocery-section--trending .grocery-product-card__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0.48rem !important;
	min-height: 0 !important;
	padding: 0.88rem 0.9rem 0 !important;
	background: #fff !important;
	text-align: left !important;
}

.grocery-product-card__category,
.catalog-products .grocery-product-card__category,
.grocery-home .grocery-product-card__category {
	display: inline-flex !important;
	align-items: center !important;
	align-self: flex-start !important;
	max-width: 100% !important;
	min-height: 22px !important;
	padding: 0 0.52rem !important;
	overflow: hidden !important;
	border-radius: 999px !important;
	background: rgba(76, 132, 56, 0.09) !important;
	color: var(--site-green) !important;
	font-size: 0.72rem !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.grocery-product-card__category:hover,
.grocery-product-card__category:focus {
	background: var(--site-green) !important;
	color: #fff !important;
}

.grocery-product-card__title,
.catalog-products .grocery-product-card__title,
.grocery-home .grocery-product-card__title,
.grocery-home .grocery-section--new .grocery-product-card__title,
.grocery-home .grocery-section--trending .grocery-product-card__title {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	min-height: 44px !important;
	max-height: 44px !important;
	margin: 0 !important;
	overflow: hidden !important;
	color: var(--site-ink) !important;
	font-size: 0.94rem !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	line-height: 1.32 !important;
	text-align: left !important;
	text-transform: none !important;
}

.grocery-product-card__title a,
.catalog-products .grocery-product-card__title a,
.grocery-home .grocery-product-card__title a {
	display: -webkit-box !important;
	overflow: hidden !important;
	color: inherit !important;
	text-align: left !important;
	text-decoration: none !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.grocery-product-card__title a:hover,
.grocery-product-card__title a:focus {
	color: var(--site-green) !important;
}

.grocery-product-card__price,
.catalog-products .grocery-product-card__price,
.grocery-home .grocery-product-card__price,
.grocery-home .grocery-section--new .grocery-product-card__price,
.grocery-home .grocery-section--trending .grocery-product-card__price {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 0.45rem !important;
	min-height: 44px !important;
	margin: 0 !important;
	text-align: left !important;
}

.grocery-product-card__price-line {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.14rem !important;
	min-width: 0 !important;
}

.grocery-product-card__price-line small,
.catalog-products .grocery-product-card__price-line small,
.grocery-home .grocery-product-card__price-line small {
	margin: 0 !important;
	color: #8b98aa !important;
	font-size: 0.68rem !important;
	font-weight: 750 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-transform: none !important;
}

.grocery-product-card__price .amount,
.grocery-product-card__price .sale,
.catalog-products .grocery-product-card__price .amount,
.catalog-products .grocery-product-card__price .sale,
.grocery-home .grocery-product-card__price .amount,
.grocery-home .grocery-product-card__price .sale,
.grocery-home .grocery-section--new .grocery-product-card__price .amount,
.grocery-home .grocery-section--new .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 {
	color: var(--site-red) !important;
	font-size: 1.04rem !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	line-height: 1.08 !important;
	white-space: nowrap !important;
}

.grocery-product-card__price-line--old .amount,
.catalog-products .grocery-product-card__price-line--old .amount,
.grocery-home .grocery-product-card__price-line--old .amount {
	position: relative !important;
	color: #9aa6b5 !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
}

.grocery-product-card__price-line--old .amount::after {
	background: var(--site-red) !important;
}

.grocery-product-card__actions,
.catalog-products .grocery-product-card__actions,
.grocery-home .grocery-product-card__actions,
.grocery-home .grocery-section--new .grocery-product-card__actions,
.grocery-home .grocery-section--trending .grocery-product-card__actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.46rem !important;
	min-height: 54px !important;
	width: calc(100% + 1.8rem) !important;
	margin: auto -0.9rem 0 !important;
	padding: 0.75rem 0.9rem !important;
	border-top: 1px solid rgba(23, 32, 51, 0.07) !important;
	background: #fbfcf8 !important;
}

.grocery-product-card__action,
.catalog-products .grocery-product-card__action,
.grocery-home .grocery-product-card__action,
.grocery-home .grocery-section--new .grocery-product-card__action,
.grocery-home .grocery-section--trending .grocery-product-card__action {
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	padding: 0 !important;
	border: 1px solid rgba(23, 32, 51, 0.12) !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--site-ink) !important;
	font-size: 0.86rem !important;
	box-shadow: none !important;
}

.grocery-product-card__action:nth-child(2),
.catalog-products .grocery-product-card__action:nth-child(2),
.grocery-home .grocery-product-card__action:nth-child(2) {
	border-color: var(--site-green) !important;
	background: var(--site-green) !important;
	color: #fff !important;
}

.grocery-product-card__action--favorite,
.catalog-products .grocery-product-card__action--favorite,
.grocery-home .grocery-product-card__action--favorite {
	border-color: rgba(223, 82, 45, 0.24) !important;
	background: rgba(223, 82, 45, 0.08) !important;
	color: var(--site-orange) !important;
}

.grocery-product-card__action--favorite.is-favorite {
	border-color: var(--site-red) !important;
	background: var(--site-red) !important;
	color: #fff !important;
}

.grocery-product-card__action:hover,
.grocery-product-card__action:focus,
.catalog-products .grocery-product-card__action:hover,
.catalog-products .grocery-product-card__action:focus,
.grocery-home .grocery-product-card__action:hover,
.grocery-home .grocery-product-card__action:focus {
	border-color: var(--site-ink) !important;
	background: var(--site-ink) !important;
	color: #fff !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.18) !important;
	transform: translateY(-2px) !important;
}

@media (max-width: 1199.98px) {
	.grocery-product-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 991.98px) {
	.grocery-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.75rem !important;
	}

	.grocery-product-card,
	.catalog-products .grocery-product-card,
	.grocery-home .grocery-product-card,
	.grocery-home .grocery-section--new .grocery-product-card,
	.grocery-home .grocery-section--trending .grocery-product-card {
		grid-template-rows: 146px 1fr !important;
		min-height: 330px !important;
	}

	.grocery-product-card__media,
	.catalog-products .grocery-product-card__media,
	.grocery-home .grocery-product-card__media,
	.grocery-home .grocery-section--new .grocery-product-card__media,
	.grocery-home .grocery-section--trending .grocery-product-card__media {
		height: 146px !important;
		min-height: 146px !important;
		padding: 0.55rem !important;
	}

	.grocery-product-card__image,
	.catalog-products .grocery-product-card__image,
	.grocery-home .grocery-product-card__image {
		height: 122px !important;
		max-height: 122px !important;
	}

	.grocery-product-card__body,
	.catalog-products .grocery-product-card__body,
	.grocery-home .grocery-product-card__body {
		padding: 0.68rem 0.7rem 0 !important;
	}

	.grocery-product-card__title,
	.catalog-products .grocery-product-card__title,
	.grocery-home .grocery-product-card__title {
		min-height: 40px !important;
		max-height: 40px !important;
		font-size: 0.82rem !important;
	}

	.grocery-product-card__price .amount,
	.grocery-product-card__price .sale,
	.catalog-products .grocery-product-card__price .amount,
	.catalog-products .grocery-product-card__price .sale,
	.grocery-home .grocery-product-card__price .amount,
	.grocery-home .grocery-product-card__price .sale {
		font-size: 0.94rem !important;
	}

	.grocery-product-card__actions,
	.catalog-products .grocery-product-card__actions,
	.grocery-home .grocery-product-card__actions {
		width: calc(100% + 1.4rem) !important;
		min-height: 48px !important;
		margin-inline: -0.7rem !important;
		padding: 0.58rem 0.7rem !important;
		gap: 0.35rem !important;
	}

	.grocery-product-card__action,
	.catalog-products .grocery-product-card__action,
	.grocery-home .grocery-product-card__action {
		width: 34px !important;
		height: 34px !important;
	}
}

/* Footer */
#footer {
	margin-top: 0 !important;
	border: 0 !important;
	background: #111827 !important;
	color: rgba(255, 255, 255, 0.78) !important;
}

#footer .footer-ribbon {
	display: none !important;
}

#footer h5 {
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

#footer p,
#footer li,
#footer a {
	color: rgba(255, 255, 255, 0.76) !important;
	letter-spacing: 0 !important;
}

#footer a:hover,
#footer a:focus {
	color: var(--site-gold) !important;
	text-decoration: none !important;
}

#footer .list-icons i {
	color: var(--site-gold) !important;
}

#footer .social-icons a {
	display: inline-grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
}

#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: var(--site-green) !important;
	color: #fff !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
	background: #0b1018 !important;
}

#footer .footer-copyright p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.62) !important;
}

#footer .brand-set--footer .brand-set__item {
	background: #fff !important;
	border-radius: 8px !important;
}

/* Header v2: cleaner, calmer and less crowded. */
.site-header {
	--header-max: 1220px;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.065) !important;
}

.site-header__main {
	border-bottom: 0 !important;
}

.site-header__main-inner,
.site-header__nav .container {
	width: min(100% - 32px, var(--header-max)) !important;
	max-width: var(--header-max) !important;
}

.site-header__main-inner {
	grid-template-columns: 188px minmax(360px, 1fr) auto auto !important;
	gap: 0.85rem !important;
	min-height: 76px !important;
	padding-top: 0.55rem !important;
	padding-bottom: 0.55rem !important;
}

.site-header__brand {
	justify-content: flex-start !important;
}

#header .brand-set--header,
.site-header__brand .brand-set {
	gap: 0.42rem !important;
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 68px !important;
	height: 48px !important;
	flex-basis: 68px !important;
}

#header .brand-set--header .brand-set__separator {
	height: 28px !important;
	background: rgba(15, 23, 42, 0.12) !important;
}

.site-header__search {
	justify-self: stretch !important;
	max-width: 100% !important;
	height: 46px !important;
	border-color: #dbe4ee !important;
	background: #f9fbfd !important;
}

.site-header__search input,
.site-header__search select {
	font-size: 0.88rem !important;
}

.site-header__search select {
	max-width: 182px !important;
}

.site-header__search button {
	background: var(--site-red) !important;
}

.site-header__quick-actions {
	width: auto !important;
}

.site-header__info-link::before,
.site-header__info-link::after,
.site-header__tool::before,
.site-header__tool::after,
.site-header__language::before,
.site-header__language::after {
	display: none !important;
	content: none !important;
}

.site-header__info-link {
	min-height: 42px !important;
	padding: 0.25rem 0.35rem !important;
	gap: 0.54rem !important;
	border-radius: 8px !important;
}

.site-header__info-icon {
	width: 34px !important;
	height: 34px !important;
	flex-basis: 34px !important;
	border-radius: 8px !important;
	background: #fff1f2 !important;
	color: var(--site-red) !important;
	font-size: 0.92rem !important;
}

.site-header__info-text small {
	font-size: 0.66rem !important;
	font-weight: 800 !important;
	color: #7a8798 !important;
}

.site-header__info-text strong {
	font-size: 0.88rem !important;
	font-weight: 900 !important;
	color: var(--site-ink) !important;
}

.site-header__tools {
	gap: 0.36rem !important;
}

.site-header__language {
	height: 38px !important;
	border-color: #dbe4ee !important;
	background: #f9fbfd !important;
}

.site-header__language a {
	min-width: 30px !important;
	height: 28px !important;
	font-size: 0.68rem !important;
}

.site-header__tool,
.site-header__menu-toggle {
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	border-color: #dbe4ee !important;
	background: #f9fbfd !important;
	color: #334155 !important;
}

.site-header__tool:hover,
.site-header__tool:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	border-color: rgba(76, 132, 56, 0.28) !important;
	background: rgba(76, 132, 56, 0.08) !important;
	color: var(--site-green) !important;
	box-shadow: none !important;
}

.site-header__cart .cart-qty {
	top: -6px !important;
	right: -6px !important;
	min-width: 18px !important;
	height: 18px !important;
	padding: 0 4px !important;
	font-size: 0.62rem !important;
}

.site-header__nav {
	border-top: 1px solid rgba(15, 23, 42, 0.055) !important;
	border-bottom: 0 !important;
	background: #fbfcfd !important;
}

.site-header__nav .container {
	justify-content: flex-start !important;
}

.site-header__nav-list {
	justify-content: flex-start !important;
	gap: 0.18rem !important;
	min-height: 46px !important;
	padding: 0.28rem 0 !important;
}

.site-header__nav-list .nav-link {
	height: 34px !important;
	padding: 0 0.72rem !important;
	border-radius: 8px !important;
	color: #1f2937 !important;
	font-size: 0.82rem !important;
	font-weight: 850 !important;
}

.site-header__nav-list .nav-link::after {
	left: 0.72rem !important;
	right: 0.72rem !important;
	bottom: 3px !important;
	height: 2px !important;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus {
	background: #eef6ea !important;
	color: var(--site-green) !important;
}

.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	background: #eef6ea !important;
	color: var(--site-green) !important;
	box-shadow: inset 0 0 0 1px rgba(76, 132, 56, 0.1) !important;
}

@media (max-width: 1399.98px) {
	.site-header__main-inner {
		grid-template-columns: 176px minmax(320px, 1fr) auto auto !important;
	}

	.site-header__info-text {
		display: none !important;
	}

	.site-header__info-link {
		padding: 0 !important;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto !important;
	}

	.site-header__search {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
	}

	.site-header__quick-actions {
		display: none !important;
	}
}

@media (max-width: 991.98px) {
	.site-header__main-inner,
	.site-header__nav .container {
		width: min(100% - 24px, var(--header-max)) !important;
	}

	.site-header__main-inner {
		min-height: 64px !important;
	}

	.site-header__menu-toggle {
		display: inline-grid !important;
	}

	.site-header__nav {
		background: #fff !important;
	}

	.site-header__nav-list {
		padding: 0.35rem 0 !important;
	}

	.site-header__nav-list .nav-link {
		height: 40px !important;
		padding: 0 0.85rem !important;
	}
}

@media (max-width: 575.98px) {
	.site-header__main-inner,
	.site-header__nav .container {
		width: min(100% - 20px, var(--header-max)) !important;
	}

	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 48px !important;
		height: 34px !important;
		flex-basis: 48px !important;
	}

	.site-header__search {
		height: 42px !important;
	}
}

/* Header v3: stronger ecommerce header, cleaner language toggle. */
.site-header {
	background: #ffffff !important;
	border-bottom: 0 !important;
	box-shadow: 0 8px 26px rgba(15, 23, 42, 0.08) !important;
}

.site-header__main-inner {
	grid-template-columns: 174px minmax(420px, 1fr) auto auto !important;
	gap: 1rem !important;
	min-height: 70px !important;
}

#header .brand-set--header,
.site-header__brand .brand-set {
	gap: 0.34rem !important;
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 62px !important;
	height: 44px !important;
	flex-basis: 62px !important;
}

#header .brand-set--header .brand-set__separator {
	height: 24px !important;
	margin: 0 0.12rem !important;
	background: rgba(15, 23, 42, 0.1) !important;
}

.site-header__search {
	grid-template-columns: minmax(0, 1fr) 190px 48px !important;
	height: 44px !important;
	border-color: #d7e0ea !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
}

.site-header__search:focus-within {
	border-color: rgba(76, 132, 56, 0.5) !important;
	box-shadow: 0 0 0 3px rgba(76, 132, 56, 0.09) !important;
}

.site-header__search input {
	padding: 0 1rem !important;
}

.site-header__search input,
.site-header__search select {
	font-size: 0.86rem !important;
	font-weight: 750 !important;
}

.site-header__search select {
	max-width: none !important;
	padding-inline: 0.9rem 1.9rem !important;
	border-left-color: #dbe4ee !important;
	background-color: #ffffff !important;
}

.site-header__search button {
	width: 48px !important;
	border-radius: 0 8px 8px 0 !important;
}

.site-header__quick-actions {
	padding-left: 0.15rem !important;
}

.site-header__info-link {
	min-height: 40px !important;
	padding: 0.2rem 0.7rem 0.2rem 0.2rem !important;
	gap: 0.5rem !important;
	border: 1px solid rgba(227, 6, 19, 0.08) !important;
	background: #fff7f7 !important;
}

.site-header__info-link:hover,
.site-header__info-link:focus {
	border-color: rgba(227, 6, 19, 0.16) !important;
	background: #fff1f2 !important;
	color: var(--site-red) !important;
}

.site-header__info-icon {
	width: 32px !important;
	height: 32px !important;
	flex-basis: 32px !important;
	background: #ffffff !important;
	color: var(--site-red) !important;
}

.site-header__info-text small {
	display: none !important;
}

.site-header__info-text strong {
	font-size: 0.84rem !important;
	line-height: 1 !important;
}

.site-header__tools {
	gap: 0.42rem !important;
}

.site-header__language {
	position: relative !important;
	display: inline-grid !important;
	grid-template-columns: repeat(2, 34px) !important;
	align-items: center !important;
	gap: 0 !important;
	width: 74px !important;
	height: 38px !important;
	padding: 3px !important;
	border: 1px solid #d7e0ea !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
}

.site-header__language a {
	position: relative !important;
	z-index: 1 !important;
	width: 34px !important;
	min-width: 34px !important;
	height: 30px !important;
	padding: 0 !important;
	border-radius: 6px !important;
	color: #475569 !important;
	font-size: 0.7rem !important;
	font-weight: 950 !important;
	line-height: 1 !important;
}

.site-header__language a.active {
	background: var(--site-ink) !important;
	color: #ffffff !important;
	box-shadow: 0 7px 14px rgba(23, 32, 51, 0.16) !important;
}

.site-header__language a:hover,
.site-header__language a:focus {
	background: rgba(76, 132, 56, 0.1) !important;
	color: var(--site-green) !important;
}

.site-header__language a.active:hover,
.site-header__language a.active:focus {
	background: var(--site-ink) !important;
	color: #ffffff !important;
}

.site-header__tool,
.site-header__menu-toggle {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	border-color: #d7e0ea !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	color: #334155 !important;
}

.site-header__cart .cart-qty {
	top: -7px !important;
	right: -7px !important;
	background: var(--site-red) !important;
}

.site-header__nav {
	border: 0 !important;
	background: var(--site-ink) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.site-header__nav-list {
	min-height: 42px !important;
	padding: 0.25rem 0 !important;
	gap: 0.18rem !important;
}

.site-header__nav-list .nav-link {
	height: 32px !important;
	padding: 0 0.76rem !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 0.78rem !important;
	font-weight: 850 !important;
}

.site-header__nav-list .nav-link::after {
	display: none !important;
	content: none !important;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus {
	background: rgba(255, 255, 255, 0.09) !important;
	color: #ffffff !important;
}

.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	background: var(--site-green) !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.site-header__nav-list .nav-link.active:hover,
.site-header__nav-list .nav-link[aria-current="page"]:hover {
	background: var(--site-green-dark) !important;
}

.site-header__info-link,
.site-header__language,
.site-header__tool,
.site-header__menu-toggle {
	outline-offset: 3px !important;
}

@media (max-width: 1399.98px) {
	.site-header__main-inner {
		grid-template-columns: 158px minmax(340px, 1fr) auto auto !important;
		gap: 0.75rem !important;
	}

	.site-header__info-link {
		padding-right: 0.45rem !important;
	}

	.site-header__info-text strong {
		display: none !important;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto !important;
		min-height: 66px !important;
	}

	.site-header__quick-actions {
		display: none !important;
	}

	.site-header__search {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
	}
}

@media (max-width: 991.98px) {
	.site-header__nav {
		background: var(--site-ink) !important;
	}

	.site-header__nav-list .nav-link {
		justify-content: flex-start !important;
		width: 100% !important;
		height: 40px !important;
		color: rgba(255, 255, 255, 0.84) !important;
	}
}

@media (max-width: 575.98px) {
	#header .brand-set--header .brand-set__item,
	.site-header__brand .brand-set__item {
		width: 46px !important;
		height: 32px !important;
		flex-basis: 46px !important;
	}

	.site-header__language {
		display: inline-grid !important;
		width: 66px !important;
		grid-template-columns: repeat(2, 30px) !important;
	}

	.site-header__language a {
		width: 30px !important;
		min-width: 30px !important;
	}

	.site-header__search {
		grid-template-columns: minmax(0, 1fr) 44px !important;
		border-radius: 8px !important;
	}

	.site-header__search button {
		width: 44px !important;
		border-radius: 0 8px 8px 0 !important;
	}
}

@media (max-width: 430px) {
	.site-header__language {
		display: none !important;
	}
}

/* Header v4: light centered navigation, no heavy black bar. */
.site-header {
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.site-header__main {
	background:
		linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%) !important;
}

.site-header__language a.active {
	background: var(--site-green) !important;
	color: #ffffff !important;
	box-shadow: 0 8px 16px rgba(76, 132, 56, 0.18) !important;
}

.site-header__language a.active:hover,
.site-header__language a.active:focus {
	background: var(--site-green-dark) !important;
	color: #ffffff !important;
}

.site-header__nav {
	position: relative !important;
	border-top: 1px solid rgba(15, 23, 42, 0.06) !important;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
	background: #ffffff !important;
	box-shadow: none !important;
}

.site-header__nav::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: -1px !important;
	height: 2px !important;
	background: linear-gradient(90deg, transparent 0%, rgba(76, 132, 56, 0.55) 35%, rgba(227, 6, 19, 0.36) 65%, transparent 100%) !important;
	pointer-events: none !important;
}

.site-header__nav .container {
	justify-content: center !important;
}

.site-header__nav-list {
	justify-content: center !important;
	gap: 0.38rem !important;
	min-height: 46px !important;
	padding: 0.34rem 0 !important;
	margin-inline: auto !important;
}

.site-header__nav-list .nav-link {
	height: 34px !important;
	min-width: 0 !important;
	padding: 0 0.86rem !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: #1f2937 !important;
	font-size: 0.8rem !important;
	font-weight: 900 !important;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus {
	border-color: rgba(76, 132, 56, 0.16) !important;
	background: #f1f8ee !important;
	color: var(--site-green) !important;
}

.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	border-color: rgba(76, 132, 56, 0.2) !important;
	background: var(--site-green) !important;
	color: #ffffff !important;
	box-shadow: 0 9px 18px rgba(76, 132, 56, 0.18) !important;
}

.site-header__nav-list .nav-link.active:hover,
.site-header__nav-list .nav-link[aria-current="page"]:hover {
	background: var(--site-green-dark) !important;
	color: #ffffff !important;
}

@media (max-width: 991.98px) {
	.site-header__nav {
		background: #ffffff !important;
	}

	.site-header__nav::after {
		display: none !important;
		content: none !important;
	}

	.site-header__nav-list {
		align-items: stretch !important;
		justify-content: flex-start !important;
	}

	.site-header__nav-list .nav-link {
		justify-content: flex-start !important;
		width: 100% !important;
		height: 40px !important;
		color: #1f2937 !important;
	}
}

/* Header and first-screen v5: softer brand colors and better balance. */
.site-header {
	--header-max: 1240px;
	background: #fffdf8 !important;
	box-shadow: 0 10px 28px rgba(23, 32, 51, 0.055) !important;
}

.site-header__main {
	background: #fffdf8 !important;
}

.site-header__main-inner {
	grid-template-columns: 166px minmax(430px, 1fr) auto auto !important;
	min-height: 72px !important;
}

#header .brand-set--header .brand-set__item,
.site-header__brand .brand-set__item {
	width: 60px !important;
	height: 43px !important;
	flex-basis: 60px !important;
}

.site-header__search {
	height: 44px !important;
	border-color: rgba(76, 132, 56, 0.22) !important;
	background: #ffffff !important;
	box-shadow: 0 10px 24px rgba(23, 32, 51, 0.045) !important;
}

.site-header__search:focus-within {
	border-color: rgba(76, 132, 56, 0.52) !important;
	box-shadow: 0 0 0 4px rgba(76, 132, 56, 0.1) !important;
}

.site-header__search select {
	background-color: #fbfdf8 !important;
	border-left-color: rgba(76, 132, 56, 0.14) !important;
	color: #334155 !important;
}

.site-header__search button {
	background: var(--site-green) !important;
}

.site-header__search button:hover,
.site-header__search button:focus {
	background: var(--site-green-dark) !important;
}

.site-header__info-link {
	border-color: rgba(76, 132, 56, 0.16) !important;
	background: #ffffff !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.045) !important;
}

.site-header__info-link:hover,
.site-header__info-link:focus {
	border-color: rgba(76, 132, 56, 0.28) !important;
	background: #f5fbf1 !important;
	color: var(--site-green) !important;
}

.site-header__info-icon {
	background: rgba(227, 6, 19, 0.09) !important;
	color: var(--site-red) !important;
}

.site-header__language {
	border-color: rgba(76, 132, 56, 0.2) !important;
	background: #ffffff !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.045) !important;
}

.site-header__language a {
	color: #506173 !important;
}

.site-header__language a.active {
	background: var(--site-green) !important;
	color: #ffffff !important;
	box-shadow: 0 8px 18px rgba(76, 132, 56, 0.2) !important;
}

.site-header__tool,
.site-header__menu-toggle {
	border-color: rgba(76, 132, 56, 0.18) !important;
	background: #ffffff !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.045) !important;
}

.site-header__tool:hover,
.site-header__tool:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	background: #f5fbf1 !important;
	box-shadow: 0 12px 24px rgba(76, 132, 56, 0.1) !important;
}

.site-header__nav {
	border-top: 1px solid rgba(76, 132, 56, 0.1) !important;
	border-bottom: 1px solid rgba(76, 132, 56, 0.14) !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #f7faf2 100%) !important;
}

.site-header__nav::after {
	background: linear-gradient(90deg, transparent 0%, rgba(76, 132, 56, 0.42) 38%, rgba(248, 197, 51, 0.42) 52%, rgba(227, 6, 19, 0.28) 68%, transparent 100%) !important;
}

.site-header__nav-list {
	min-height: 48px !important;
	gap: 0.34rem !important;
}

.site-header__nav-list .nav-link {
	height: 34px !important;
	padding: 0 0.9rem !important;
	color: #243044 !important;
	font-size: 0.8rem !important;
}

.site-header__nav-list .nav-link:hover,
.site-header__nav-list .nav-link:focus {
	border-color: rgba(223, 82, 45, 0.16) !important;
	background: #fff4ef !important;
	color: var(--site-orange) !important;
}

.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	border-color: rgba(76, 132, 56, 0.22) !important;
	background: #4c8438 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 22px rgba(76, 132, 56, 0.18) !important;
}

.grocery-home .grocery-band {
	background:
		linear-gradient(90deg, #2f5127 0%, #3f7330 38%, #7b452b 76%, #533125 100%) !important;
	box-shadow: 0 14px 32px rgba(47, 81, 39, 0.22) !important;
}

.grocery-home .grocery-band__slide {
	color: #ffffff !important;
}

.grocery-home .grocery-band__slide::before {
	background: rgba(248, 197, 51, 0.22) !important;
	color: #f8c533 !important;
}

@media (max-width: 1399.98px) {
	.site-header__main-inner {
		grid-template-columns: 150px minmax(330px, 1fr) auto auto !important;
	}
}

@media (max-width: 1199.98px) {
	.site-header__main-inner {
		grid-template-columns: auto 1fr auto !important;
	}
}

/* Header v9: green active menu + language state (brand colour). */
.site-header__language a.active,
.site-header__language a.active:hover,
.site-header__language a.active:focus {
	background: linear-gradient(135deg, #4c8438 0%, #37672b 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 8px 18px rgba(55, 103, 43, 0.22) !important;
}

.site-header__nav-list .nav-link.active,
.site-header__nav-list .nav-link[aria-current="page"] {
	border-color: #37672b !important;
	background: linear-gradient(135deg, #4c8438 0%, #37672b 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 10px 22px rgba(55, 103, 43, 0.22) !important;
}

.site-header__nav-list .nav-link.active:hover,
.site-header__nav-list .nav-link[aria-current="page"]:hover,
.site-header__nav-list .nav-link.active:focus,
.site-header__nav-list .nav-link[aria-current="page"]:focus {
	background: linear-gradient(135deg, #3f7330 0%, #2f5f24 100%) !important;
	border-color: #2f5f24 !important;
	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__slide {
	color: #ffffff !important;
}

.grocery-home .grocery-band__slide::before {
	background: linear-gradient(135deg, #ffdc3d 0%, #f4bd20 100%) !important;
	color: #172033 !important;
}

/* Header v8: refined search button and globe language dropdown. */
.site-header__search {
	grid-template-columns: minmax(0, 1fr) 190px 48px !important;
	overflow: visible !important;
}

.site-header__search input,
.site-header__search select {
	border-radius: 0 !important;
}

.site-header__search button {
	display: grid !important;
	place-items: center !important;
	width: 48px !important;
	height: 44px !important;
	margin: -1px -1px -1px 0 !important;
	border: 1px solid #3f7330 !important;
	border-radius: 0 8px 8px 0 !important;
	background:
		linear-gradient(135deg, #4c8438 0%, #37672b 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 10px 20px rgba(76, 132, 56, 0.18) !important;
}

.site-header__search button i {
	display: block !important;
	color: inherit !important;
	font-size: 0.98rem !important;
	line-height: 1 !important;
	transform: translateY(0) !important;
}

.site-header__search button:hover,
.site-header__search button:focus {
	background:
		linear-gradient(135deg, #3f7330 0%, #2f5f24 100%) !important;
	border-color: #2f5f24 !important;
	box-shadow: 0 12px 24px rgba(76, 132, 56, 0.24) !important;
}

.site-header__language {
	position: relative !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.site-header__language-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.34rem !important;
	min-width: 0 !important;
	width: auto !important;
	height: 34px !important;
	padding: 0 0.6rem !important;
	border: 1px solid rgba(76, 132, 56, 0.3) !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	color: #2f5f24 !important;
	font-size: 0.74rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	box-shadow: 0 6px 16px rgba(55, 103, 43, 0.12) !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

/* Masque seulement le chevron pour réduire la largeur (on garde le globe + le texte) */
.site-header__language-toggle i:last-child {
	display: none !important;
}

.site-header__language-toggle i:first-child {
	font-size: 0.88rem !important;
	color: #37672b !important;
}

.site-header__language-toggle span {
	display: inline !important;
}

.site-header__language-toggle:hover,
.site-header__language-toggle:focus,
.site-header__language.show .site-header__language-toggle {
	background: linear-gradient(135deg, #4c8438 0%, #37672b 100%) !important;
	border-color: #2f5f24 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 22px rgba(55, 103, 43, 0.2) !important;
}

.site-header__language-toggle:hover i:first-child,
.site-header__language-toggle:focus i:first-child,
.site-header__language.show .site-header__language-toggle i:first-child {
	color: #ffffff !important;
}

.site-header__language-menu {
	min-width: 152px !important;
	margin-top: 0.5rem !important;
	padding: 0.4rem !important;
	border: 1px solid rgba(17, 24, 39, 0.12) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16) !important;
}

.site-header__language-menu::before {
	content: "" !important;
	position: absolute !important;
	top: -6px !important;
	right: 18px !important;
	width: 12px !important;
	height: 12px !important;
	background: #ffffff !important;
	border-left: 1px solid rgba(17, 24, 39, 0.12) !important;
	border-top: 1px solid rgba(17, 24, 39, 0.12) !important;
	transform: rotate(45deg) !important;
}

.site-header__language .site-header__language-option {
	position: relative !important;
	z-index: 1 !important;
	display: grid !important;
	grid-template-columns: 34px 1fr !important;
	align-items: center !important;
	column-gap: 0.55rem !important;
	width: 100% !important;
	height: auto !important;
	min-height: 42px !important;
	padding: 0.42rem 0.52rem !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: #172033 !important;
	text-decoration: none !important;
}

.site-header__language-option span {
	display: inline-grid !important;
	place-items: center !important;
	width: 34px !important;
	height: 28px !important;
	border-radius: 7px !important;
	background: #f1f5f9 !important;
	color: #172033 !important;
	font-size: 0.72rem !important;
	font-weight: 950 !important;
}

.site-header__language-option small {
	color: #64748b !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.site-header__language-option:hover,
.site-header__language-option:focus {
	background: #f5fbf1 !important;
	color: var(--site-green) !important;
}

.site-header__language-option.is-active {
	background: #111827 !important;
	color: #ffffff !important;
}

.site-header__language-option.is-active span {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffffff !important;
}

.site-header__language-option.is-active small {
	color: rgba(255, 255, 255, 0.76) !important;
}

@media (max-width: 575.98px) {
	.site-header__language-toggle {
		width: auto !important;
		height: 32px !important;
		min-width: 0 !important;
		padding: 0 0.5rem !important;
	}
}

/* Arabic carousel fixes: keep Owl movement RTL while preserving clean slide layout. */
body.is-rtl .site-header__main-inner {
	direction: ltr !important;
	grid-template-columns: auto minmax(320px, 1fr) minmax(150px, auto) minmax(160px, 218px) !important;
}

body.is-rtl .site-header__brand {
	grid-column: 4 !important;
	justify-content: flex-end !important;
	direction: rtl !important;
}

body.is-rtl .site-header__search {
	grid-column: 2 !important;
	direction: ltr !important;
	grid-template-columns: 50px minmax(138px, 185px) minmax(0, 1fr) !important;
	max-width: 620px !important;
	justify-self: stretch !important;
}

body.is-rtl .site-header__search button {
	grid-column: 1 !important;
	grid-row: 1 !important;
	border-radius: 8px 0 0 8px !important;
	margin: -1px 0 -1px -1px !important;
}

body.is-rtl .site-header__search select {
	grid-column: 2 !important;
	grid-row: 1 !important;
	padding: 0 1.15rem 0 2.45rem !important;
	border-right: 1px solid #dde5ed !important;
	border-left: 0 !important;
	text-align: right !important;
	direction: rtl !important;
	background-position: left 0.85rem center !important;
}

body.is-rtl .site-header__search input {
	grid-column: 3 !important;
	grid-row: 1 !important;
	text-align: right !important;
	direction: rtl !important;
}

body.is-rtl .site-header__quick-actions {
	grid-column: 3 !important;
	justify-content: flex-start !important;
	direction: ltr !important;
}

body.is-rtl .site-header__info-link {
	flex-direction: row-reverse !important;
	direction: ltr !important;
}

body.is-rtl .site-header__info-text {
	text-align: right !important;
}

body.is-rtl .site-header__tools {
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-content: flex-start !important;
	direction: ltr !important;
}

body.is-rtl .site-header__cart .cart-qty {
	right: auto !important;
	left: -7px !important;
}

body.is-rtl .site-header__language-menu {
	right: auto !important;
	left: 0 !important;
	text-align: right !important;
	direction: rtl !important;
}

body.is-rtl .site-header__language-menu::before {
	right: auto !important;
	left: 18px !important;
}

body.is-rtl .site-header__language .site-header__language-option {
	grid-template-columns: 1fr 34px !important;
}

body.is-rtl .site-header__language-option span {
	grid-column: 2 !important;
}

body.is-rtl .site-header__language-option small {
	grid-column: 1 !important;
	text-align: right !important;
}

body.is-rtl .site-header__nav-list {
	flex-direction: row !important;
	direction: rtl !important;
}

body.is-rtl .site-header__nav-list .nav-link {
	text-align: center !important;
}

@media (min-width: 992px) {
	body.is-rtl .site-header__main-inner {
		display: grid !important;
		grid-template-columns: auto auto minmax(420px, 1fr) minmax(148px, auto) !important;
		align-items: center !important;
		gap: 1.05rem !important;
		min-height: 80px !important;
	}

	body.is-rtl .site-header__tools,
	body.is-rtl .site-header__search,
	body.is-rtl .site-header__quick-actions,
	body.is-rtl .site-header__brand {
		grid-row: 1 !important;
	}

	body.is-rtl .site-header__tools {
		grid-column: 1 !important;
	}

	body.is-rtl .site-header__quick-actions {
		grid-column: 2 !important;
		display: flex !important;
	}

	body.is-rtl .site-header__search {
		grid-column: 3 !important;
		max-width: none !important;
	}

	body.is-rtl .site-header__info-text {
		display: flex !important;
	}

	body.is-rtl .site-header__info-link {
		min-width: 176px !important;
	}

	body.is-rtl .site-header__brand {
		grid-column: 4 !important;
		min-width: 148px !important;
	}
}

body.is-rtl .grocery-home .grocery-hero__slide,
body.is-rtl .grocery-home .grocery-band__slide,
body.is-rtl .grocery-home .grocery-category-card,
body.is-rtl .grocery-home .grocery-product-card {
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-hero__carousel,
body.is-rtl .grocery-home .grocery-band__carousel,
body.is-rtl .grocery-home .grocery-category-carousel,
body.is-rtl .grocery-home .grocery-products-carousel {
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-hero__slide .row {
	flex-direction: row !important;
}

body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-hero__title,
body.is-rtl .grocery-home .grocery-hero__lead {
	margin-right: 0 !important;
	margin-left: auto !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-hero__actions,
body.is-rtl .grocery-home .grocery-hero__metrics {
	justify-content: flex-start !important;
	flex-direction: row !important;
}

body.is-rtl .grocery-home .grocery-hero__visual {
	margin-right: auto !important;
	margin-left: 0 !important;
}

body.is-rtl .grocery-home .grocery-hero__floating-badge {
	right: auto !important;
	left: 6% !important;
}

body.is-rtl .grocery-home .grocery-hero__carousel .owl-dots {
	right: auto !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

body.is-rtl .grocery-home .grocery-band__slide::before {
	margin-right: 0 !important;
	margin-left: 0.85rem !important;
}

body.is-rtl .grocery-home .grocery-category-carousel .owl-nav,
body.is-rtl .grocery-home .grocery-products-carousel .owl-nav {
	direction: ltr !important;
}

/* Keep Owl Carousel geometry LTR in every locale. The Arabic text can align RTL,
   but the slider track must not flip or it can move out of view after init. */
body.is-rtl .grocery-home .grocery-hero__carousel,
body.is-rtl .grocery-home .grocery-hero__carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-hero__carousel .owl-stage,
body.is-rtl .grocery-home .grocery-hero__carousel .owl-item,
body.is-rtl .grocery-home .grocery-hero__slide,
body.is-rtl .grocery-home .grocery-band__carousel,
body.is-rtl .grocery-home .grocery-band__carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-band__carousel .owl-stage,
body.is-rtl .grocery-home .grocery-band__carousel .owl-item,
body.is-rtl .grocery-home .grocery-category-carousel,
body.is-rtl .grocery-home .grocery-category-carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-category-carousel .owl-stage,
body.is-rtl .grocery-home .grocery-category-carousel .owl-item,
body.is-rtl .grocery-home .grocery-products-carousel,
body.is-rtl .grocery-home .grocery-products-carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-products-carousel .owl-stage,
body.is-rtl .grocery-home .grocery-products-carousel .owl-item {
	direction: ltr !important;
}

body.is-rtl .grocery-home .grocery-hero__carousel {
	transform: none !important;
}

/* Arabic home blocks: mirror brand banners and category heading without overlap. */
body.is-rtl .grocery-home .grocery-choice-card {
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-choice-card::after {
	background:
		radial-gradient(circle at 22% 44%, transparent 0 88px, rgba(255, 255, 255, 0.11) 89px 90px, transparent 91px),
		linear-gradient(270deg, rgba(0, 0, 0, 0.08), transparent 55%) !important;
}

body.is-rtl .grocery-home .grocery-choice-card__content {
	width: 54% !important;
	margin-right: auto !important;
	margin-left: 0 !important;
	padding: 1.75rem 1.55rem 1.75rem 1.1rem !important;
	text-align: right !important;
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-choice-card__title,
body.is-rtl .grocery-home .grocery-choice-card__eyebrow,
body.is-rtl .grocery-home .grocery-choice-card__text {
	margin-right: 0 !important;
	margin-left: 0  !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-choice-card__actions {
	display: flex !important;
	justify-content: flex-start !important;
}

body.is-rtl .grocery-home .grocery-choice-card__visual {
	right: auto !important;
	left: 0.75rem !important;
}

body.is-rtl .grocery-home .grocery-choice-card__visual-image {
	object-position: center left !important;
}

/* The home sliders keep the same geometry in Arabic as in French. Owl is
   initialized with rtl:false, and these rules prevent page direction from
   pushing the track out of view before or after initialization. */
body.is-rtl .grocery-home .grocery-hero__carousel,
body.is-rtl .grocery-home .grocery-hero__carousel:not(.owl-loaded),
body.is-rtl .grocery-home .grocery-hero__carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-hero__carousel .owl-stage,
body.is-rtl .grocery-home .grocery-hero__carousel .owl-item,
body.is-rtl .grocery-home .grocery-band__carousel,
body.is-rtl .grocery-home .grocery-band__carousel:not(.owl-loaded),
body.is-rtl .grocery-home .grocery-band__carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-band__carousel .owl-stage,
body.is-rtl .grocery-home .grocery-band__carousel .owl-item,
body.is-rtl .grocery-home .grocery-category-carousel,
body.is-rtl .grocery-home .grocery-category-carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-category-carousel .owl-stage,
body.is-rtl .grocery-home .grocery-category-carousel .owl-item,
body.is-rtl .grocery-home .grocery-products-carousel,
body.is-rtl .grocery-home .grocery-products-carousel .owl-stage-outer,
body.is-rtl .grocery-home .grocery-products-carousel .owl-stage,
body.is-rtl .grocery-home .grocery-products-carousel .owl-item {
	direction: ltr !important;
}

body.is-rtl .grocery-home .grocery-hero__slide {
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-hero__slide .row {
	flex-direction: row-reverse !important;
}

body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:last-child {
	justify-content: flex-start !important;
}

body.is-rtl .grocery-home .grocery-hero__visual {
	margin-right: 0 !important;
	margin-left: auto !important;
}

.catalog-hero .grocery-hero__lead,
.offers-hero .grocery-hero__lead,
.page-header .grocery-hero__lead,
.account-hero .grocery-hero__lead {
	max-width: 42rem !important;
	margin-top: 0.65rem !important;
	margin-bottom: 0 !important;
	font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
	line-height: 1.65 !important;
}

.offers-hero .grocery-hero__lead,
.page-header .grocery-hero__lead,
.account-hero .grocery-hero__lead {
	color: rgba(255, 255, 255, 0.86) !important;
}

.page-header .grocery-hero__lead,
.account-hero .grocery-hero__lead {
	margin-right: auto !important;
	margin-left: auto !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog {
	display: flex !important;
	flex-direction: row-reverse !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: clamp(1.4rem, 4vw, 4rem) !important;
	text-align: right !important;
	direction: rtl !important;
	overflow: hidden !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog::before {
	right: 0 !important;
	left: auto !important;
	border-radius: 999px 0 0 999px !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog > div {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__kicker,
body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__title,
body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__lead {
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__lead {
	max-width: 44rem !important;
	margin-right: 0 !important;
	margin-left: auto !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__action {
	position: relative !important;
	z-index: 2 !important;
	flex: 0 0 auto !important;
	margin-right: auto !important;
	margin-left: 0 !important;
	white-space: nowrap !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__action .fa-arrow-right {
	transform: rotate(180deg) !important;
}

@media (max-width: 991.98px) {
	body.is-rtl .site-header__main-inner {
		grid-template-columns: auto 1fr auto !important;
		direction: rtl !important;
	}

	body.is-rtl .site-header__brand {
		grid-column: 1 !important;
		justify-content: flex-start !important;
	}

	body.is-rtl .site-header__tools {
		grid-column: 3 !important;
		justify-content: flex-end !important;
	}

	body.is-rtl .site-header__search {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		max-width: none !important;
	}

	body.is-rtl .site-header__nav-list {
		flex-direction: column !important;
		align-items: stretch !important;
		direction: rtl !important;
	}

	body.is-rtl .site-header__nav-list .nav-link {
		justify-content: flex-end !important;
		text-align: right !important;
	}

	body.is-rtl .site-header__nav-list .nav-link::after {
		right: 0 !important;
		left: auto !important;
	}

	body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
		text-align: center !important;
	}

	body.is-rtl .grocery-home .grocery-hero__title,
	body.is-rtl .grocery-home .grocery-hero__lead,
	body.is-rtl .grocery-home .grocery-hero__metrics {
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	body.is-rtl .grocery-home .grocery-hero__actions,
	body.is-rtl .grocery-home .grocery-hero__metrics {
		justify-content: center !important;
	}

	body.is-rtl .grocery-home .grocery-hero__slide .row {
		flex-direction: column !important;
	}

	body.is-rtl .grocery-home .grocery-section__header--catalog {
		flex-direction: column !important;
		align-items: stretch !important;
		text-align: right !important;
	}

	body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__action {
		width: max-content !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: auto !important;
	}
}

@media (max-width: 767.98px) {
	body.is-rtl .grocery-home .grocery-choice-card__content {
		width: 62% !important;
		padding: 1.45rem 1.15rem !important;
	}

	body.is-rtl .grocery-home .grocery-choice-card__visual {
		width: 46% !important;
		opacity: 0.82 !important;
	}
}

/* Complete Arabic layout mirroring for home page content blocks. Carousel
   tracks stay LTR; inner content blocks are mirrored for natural RTL reading. */
body.is-rtl .grocery-home .grocery-choices .row,
body.is-rtl .grocery-home .grocery-section--process .row,
body.is-rtl .grocery-home .grocery-section--trending .grocery-product-grid {
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-choice-card {
	justify-content: flex-end !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-choice-card__content {
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 1.75rem 1.55rem 1.75rem 1.1rem !important;
}

body.is-rtl .grocery-home .grocery-choice-card__brand,
body.is-rtl .grocery-home .grocery-choice-card__meta,
body.is-rtl .grocery-home .grocery-choice-card__actions {
	justify-content: flex-start !important;
}

body.is-rtl .grocery-home .grocery-choice-card__visual {
	right: auto !important;
	left: 0 !important;
}

body.is-rtl .grocery-home .grocery-step-card,
body.is-rtl .grocery-home .grocery-category-card,
body.is-rtl .grocery-home .grocery-product-card {
	text-align: right !important;
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-section__header:not(.grocery-section__header--catalog) {
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-section__header:not(.grocery-section__header--catalog) .grocery-section__lead {
	margin-right: auto !important;
	margin-left: auto !important;
}

body.is-rtl .grocery-home .grocery-deal__inner {
	direction: rtl !important;
	grid-template-columns: minmax(340px, 1.18fr) minmax(270px, 0.82fr) !important;
}

body.is-rtl .grocery-home .grocery-deal__media {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.is-rtl .grocery-home .grocery-deal__copy {
	grid-column: 2 !important;
	grid-row: 1 !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-deal__copy h2,
body.is-rtl .grocery-home .grocery-deal__copy p {
	margin-right: 0 !important;
	margin-left: auto !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-deal__timer {
	justify-content: flex-start !important;
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-promo-panel {
	direction: rtl !important;
	/* grid-template-columns: auto minmax(0, 1fr) !important; */
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-promo-panel > div {
	grid-column: 2 !important;
	grid-row: 1 !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-promo-panel .btn {
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-self: start !important;
}

body.is-rtl .grocery-home .grocery-promo-panel h2,
body.is-rtl .grocery-home .grocery-promo-panel p {
	margin-right: 0 !important;
	margin-left: auto !important;
	text-align: right !important;
}

@media (max-width: 991.98px) {
	body.is-rtl .grocery-home .grocery-choices .row,
	body.is-rtl .grocery-home .grocery-section--process .row,
	body.is-rtl .grocery-home .grocery-section--trending .grocery-product-grid {
		direction: rtl !important;
	}

	body.is-rtl .grocery-home .grocery-deal__inner,
	body.is-rtl .grocery-home .grocery-promo-panel {
		grid-template-columns: 1fr !important;
	}

	body.is-rtl .grocery-home .grocery-deal__copy,
	body.is-rtl .grocery-home .grocery-deal__media,
	body.is-rtl .grocery-home .grocery-promo-panel > div,
	body.is-rtl .grocery-home .grocery-promo-panel .btn {
		grid-column: 1 !important;
	}

	body.is-rtl .grocery-home .grocery-deal__copy {
		grid-row: 1 !important;
	}

	body.is-rtl .grocery-home .grocery-deal__media {
		grid-row: 2 !important;
	}

	body.is-rtl .grocery-home .grocery-promo-panel > div {
		grid-row: 1 !important;
	}

	body.is-rtl .grocery-home .grocery-promo-panel .btn {
		grid-row: 2 !important;
		justify-self: end !important;
	}
}

/* Arabic hero slide final order: visual on the left, copy on the right.
   Use explicit flex order instead of row-reverse because RTL direction changes
   the flex main axis and can cancel the intended mirror. */
body.is-rtl .grocery-home .grocery-hero__slide .row {
	direction: ltr !important;
	flex-direction: row !important;
}

body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child {
	order: 2 !important;
	text-align: right !important;
	direction: rtl !important;
}

body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:last-child {
	order: 1 !important;
	direction: ltr !important;
	justify-content: center !important;
}

body.is-rtl .grocery-home .grocery-hero__title,
body.is-rtl .grocery-home .grocery-hero__lead {
	margin-right: 0 !important;
	margin-left: auto !important;
	text-align: right !important;
}

body.is-rtl .grocery-home .grocery-hero__actions,
body.is-rtl .grocery-home .grocery-hero__metrics {
	justify-content: flex-start !important;
	direction: rtl !important;
}

@media (max-width: 991.98px) {
	body.is-rtl .grocery-home .grocery-hero__slide .row {
		flex-direction: column !important;
		direction: rtl !important;
	}

	body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:first-child,
	body.is-rtl .grocery-home .grocery-hero__slide .row > [class*="col-"]:last-child {
		order: initial !important;
	}
}

/* Final shared lead style: every page hero/header paragraph that uses the
   home slide lead class must keep the same visual weight and rhythm. */
.catalog-hero p.grocery-hero__lead,
.offers-hero p.grocery-hero__lead,
.page-header p.grocery-hero__lead,
.account-hero p.grocery-hero__lead {
	max-width: 46rem !important;
	margin-top: 0.15rem !important;
	margin-bottom: 0 !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 0 !important;
	background: transparent !important;
	color: rgb(17 24 39 / 47%) !important;
	font-size: clamp(0.95rem, 1vw, 1.02rem) !important;
	font-weight: 700 !important;
	line-height: 1.62 !important;
	text-shadow: none !important;
	opacity: 1 !important;
	text-align: center !important;
}

.catalog-hero__inner {
	grid-template-columns: 1fr !important;
	justify-items: center !important;
	align-items: center !important;
	text-align: center !important;
}

.catalog-hero__inner > div:first-child {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.catalog-hero__metrics {
	justify-self: center !important;
	margin-top: 0.35rem !important;
	gap: 0.55rem !important;
	min-width: auto !important;
	max-width: 360px !important;
	grid-template-columns: repeat(3, minmax(88px, 1fr)) !important;
}

.catalog-hero--categories .catalog-hero__metrics {
	grid-template-columns: repeat(2, minmax(88px, 1fr)) !important;
	max-width: 250px !important;
}

.catalog-hero__metrics div {
	min-height: 72px !important;
	padding: 0.65rem 0.78rem !important;
}

.catalog-hero__metrics strong {
	font-size: 1.45rem !important;
	line-height: 1 !important;
}

.catalog-hero__metrics span {
	font-size: 0.72rem !important;
	line-height: 1.1 !important;
}

.catalog-hero,
.offers-hero,
.main > .page-header.page-header-modern {
	height: 232px !important;
	min-height: 232px !important;
	padding: 0.9rem 0 !important;
}

.main > .page-header.page-header-modern .container,
.catalog-hero .container,
.offers-hero .container {
	width: 100% !important;
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
}

.page-header__split {
	display: grid !important;
	grid-template-columns: 1fr !important;
	align-items: center !important;
	gap: clamp(1rem, 4vw, 3rem) !important;
	min-height: 100% !important;
}

.page-header__copy {
	min-width: 0 !important;
	text-align: center !important;
}

.page-header__side {
	display: none !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.65rem !important;
}

.page-header__side--stack {
	flex-direction: column !important;
	align-items: stretch !important;
}

.page-header__action {
	min-height: 42px !important;
	padding: 0.65rem 1.15rem !important;
	border-radius: 8px !important;
	font-size: 0.86rem !important;
	font-weight: 900 !important;
	white-space: nowrap !important;
}

.main > .page-header.page-header-modern h1,
.offers-hero h1,
.catalog-hero h1 {
	display: -webkit-box !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.catalog-hero p.grocery-hero__lead,
.offers-hero p.grocery-hero__lead,
.page-header p.grocery-hero__lead,
.account-hero p.grocery-hero__lead {
	display: -webkit-box !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
}

.main > .page-header.page-header-modern .breadcrumb,
.catalog-breadcrumb,
.offers-breadcrumb {
	justify-content: center !important;
}

.catalog-breadcrumb,
.offers-hero nav,
.main > .page-header.page-header-modern .breadcrumb {
	display: flex !important;
	width: 100% !important;
	justify-content: center !important;
	margin: 0 0 0.45rem !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.catalog-breadcrumb .breadcrumb,
.offers-breadcrumb {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
}

.catalog-hero__inner,
.offers-hero .row,
.page-header__split {
	width: 100% !important;
	max-width: 920px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.offers-hero .row {
	justify-content: center !important;
	text-align: center !important;
}

.offers-hero .col-lg-7 {
	max-width: 760px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}

.offers-hero .d-flex {
	justify-content: center !important;
}

body.is-rtl .catalog-hero p.grocery-hero__lead,
body.is-rtl .offers-hero p.grocery-hero__lead,
body.is-rtl .page-header p.grocery-hero__lead,
body.is-rtl .account-hero p.grocery-hero__lead {
	text-align: center !important;
	direction: rtl !important;
}

body.is-rtl .catalog-hero__inner,
body.is-rtl .page-header__split {
	direction: rtl !important;
}

body.is-rtl .catalog-hero__inner > div:first-child,
body.is-rtl .page-header__copy {
	text-align: center !important;
}

body.is-rtl .catalog-hero__metrics,
body.is-rtl .page-header__side {
	justify-self: center !important;
	justify-content: center !important;
}

body.is-rtl .main > .page-header.page-header-modern .breadcrumb,
body.is-rtl .catalog-breadcrumb,
body.is-rtl .offers-breadcrumb {
	justify-content: center !important;
}

.main > .page-header.page-header-modern .breadcrumb,
.catalog-breadcrumb .breadcrumb,
.offers-breadcrumb {
	align-items: center !important;
	gap: 0 !important;
}

.main > .page-header.page-header-modern .breadcrumb .breadcrumb-item,
.catalog-breadcrumb .breadcrumb-item,
.offers-breadcrumb .breadcrumb-item {
	display: inline-flex !important;
	align-items: center !important;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
}

.main > .page-header.page-header-modern .breadcrumb a,
.catalog-breadcrumb a,
.offers-breadcrumb a {
	color: rgba(255, 255, 255, 0.88) !important;
	text-decoration: none !important;
}

.main > .page-header.page-header-modern .breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.catalog-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.offers-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	content: "/" !important;
	padding: 0 0.58rem !important;
	color: rgba(255, 255, 255, 0.58) !important;
}

.main > .page-header.page-header-modern .breadcrumb .breadcrumb-item.active,
.catalog-breadcrumb .breadcrumb-item.active,
.offers-breadcrumb .breadcrumb-item.active {
	color: #ffffff !important;
}

@media (max-width: 991.98px) {
	.catalog-hero,
	.offers-hero,
	.main > .page-header.page-header-modern {
		height: auto !important;
		min-height: 230px !important;
	}

	.catalog-hero__inner,
	.page-header__split {
		grid-template-columns: 1fr !important;
	}

	.catalog-hero__metrics,
	.page-header__side {
		justify-self: start !important;
		justify-content: flex-start !important;
	}
}

/* Final hero polish: centered page headers with stable spacing. */
.catalog-hero,
.offers-hero,
.main > .page-header.page-header-modern {
	height: 246px !important;
	min-height: 246px !important;
	padding: 1rem 0 0.9rem !important;
	overflow: hidden !important;
}

.catalog-hero .container,
.offers-hero .container,
.main > .page-header.page-header-modern .container {
	justify-content: center !important;
	gap: 0 !important;
}

.catalog-breadcrumb,
.offers-hero nav,
.main > .page-header.page-header-modern .breadcrumb {
	margin: 0 0 0.46rem !important;
	line-height: 1 !important;
	transform: none !important;
}

.catalog-hero h1,
.offers-hero h1,
.main > .page-header.page-header-modern h1 {
	margin: 0 0 0.45rem !important;
	font-size: clamp(2rem, 3vw, 2.7rem) !important;
	line-height: 1.04 !important;
}

.catalog-hero p.grocery-hero__lead,
.offers-hero p.grocery-hero__lead,
.page-header p.grocery-hero__lead,
.account-hero p.grocery-hero__lead {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	max-width: 50rem !important;
	color: rgb(17 24 39 / 56%) !important;
}

.catalog-hero__inner {
	gap: 0.58rem !important;
}

.catalog-hero__metrics {
	margin-top: 0.22rem !important;
	gap: 0.5rem !important;
}

.catalog-hero__metrics div {
	min-height: 62px !important;
	padding: 0.52rem 0.72rem !important;
}

.catalog-hero__metrics strong {
	font-size: 1.32rem !important;
}

.catalog-hero__metrics span {
	font-size: 0.68rem !important;
}

.main > .page-header.page-header-modern .breadcrumb .breadcrumb-item,
.catalog-breadcrumb .breadcrumb-item,
.offers-breadcrumb .breadcrumb-item {
	color: rgba(255, 255, 255, 0.58) !important;
	font-size: 0.64rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.main > .page-header.page-header-modern .breadcrumb a,
.catalog-breadcrumb a,
.offers-breadcrumb a {
	color: rgba(255, 255, 255, 0.58) !important;
}

.main > .page-header.page-header-modern .breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.catalog-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.offers-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	padding: 0 0.32rem !important;
	color: rgba(255, 255, 255, 0.34) !important;
}

.main > .page-header.page-header-modern .breadcrumb .breadcrumb-item.active,
.catalog-breadcrumb .breadcrumb-item.active,
.offers-breadcrumb .breadcrumb-item.active {
	color: rgba(255, 255, 255, 0.7) !important;
}

@media (max-width: 991.98px) {
	.catalog-hero,
	.offers-hero,
	.main > .page-header.page-header-modern {
		height: auto !important;
		min-height: 236px !important;
		padding: 1.1rem 0 !important;
	}

	.catalog-hero__metrics,
	.page-header__side {
		justify-self: center !important;
		justify-content: center !important;
	}
}

/* Unified inner-page headers: Categories, Marques, Offres, A propos, Contact. */
.catalog-hero,
.offers-hero,
.main > .page-header.page-header-modern {
	height: 236px !important;
	min-height: 236px !important;
	padding: 1rem 0 !important;
	background: url("../../images/header-commun.png") center / 100% 100% no-repeat !important;
	color: #ffffff !important;
}

.catalog-hero .container,
.offers-hero .container,
.main > .page-header.page-header-modern .container {
	width: 100% !important;
	max-width: 1180px !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.catalog-hero__inner,
.offers-hero .row,
.page-header__split {
	width: 100% !important;
	max-width: 820px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.56rem !important;
	margin: 0 auto !important;
	text-align: center !important;
}

.catalog-hero__inner > div:first-child,
.offers-hero .col-lg-7,
.page-header__copy {
	width: 100% !important;
	max-width: 820px !important;
	margin: 0 auto !important;
	text-align: center !important;
}

.catalog-hero__inner .catalog-kicker,
.offers-hero .offers-kicker {
	display: none !important;
}

.offers-hero .d-flex,
.offers-hero .col-lg-5,
.offers-hero .offers-metrics,
.page-header__side {
	display: none !important;
}

.catalog-breadcrumb,
.offers-hero nav,
.main > .page-header.page-header-modern .breadcrumb {
	margin: 0 0 0.42rem !important;
	display: flex !important;
	width: 100% !important;
	justify-content: center !important;
}

.catalog-hero h1,
.offers-hero h1,
.main > .page-header.page-header-modern h1 {
	max-width: 820px !important;
	margin: 0 0 0.46rem !important;
	color: #ffffff !important;
	font-size: clamp(2rem, 3vw, 2.62rem) !important;
	font-weight: 900 !important;
	line-height: 1.04 !important;
	text-align: center !important;
	text-shadow: none !important;
}

.catalog-hero p.grocery-hero__lead,
.offers-hero p.grocery-hero__lead,
.page-header p.grocery-hero__lead,
.account-hero p.grocery-hero__lead {
	max-width: 50rem !important;
	margin: 0 auto !important;
	color: rgb(17 24 39 / 56%) !important;
	font-size: clamp(0.92rem, 1vw, 1rem) !important;
	font-weight: 700 !important;
	line-height: 1.62 !important;
	text-align: center !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

.catalog-hero__metrics {
	margin-top: 0.24rem !important;
	justify-self: center !important;
	justify-content: center !important;
}

@media (max-width: 991.98px) {
	.catalog-hero,
	.offers-hero,
	.main > .page-header.page-header-modern {
		height: auto !important;
		min-height: 226px !important;
		padding: 1.15rem 0 !important;
	}

	.catalog-hero__metrics {
		grid-template-columns: repeat(2, minmax(86px, 1fr)) !important;
		min-width: 0 !important;
		max-width: 230px !important;
	}

	.catalog-hero:not(.catalog-hero--categories) .catalog-hero__metrics {
		grid-template-columns: repeat(3, minmax(76px, 1fr)) !important;
		max-width: 300px !important;
	}
}

/* Header final alignment pass. */
body .catalog-hero,
body .offers-hero,
body .main > .page-header.page-header-modern {
	height: 232px !important;
	min-height: 232px !important;
	padding: 0.95rem 0 !important;
	background: url("../../images/header-commun.png") center / 100% 100% no-repeat !important;
}

body .catalog-hero .container,
body .offers-hero .container,
body .main > .page-header.page-header-modern .container {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

body .catalog-hero__inner,
body .offers-hero .row,
body .main > .page-header.page-header-modern .page-header__split,
body .main > .page-header.page-header-modern .page-header__copy,
body .offers-hero .col-lg-7 {
	width: 100% !important;
	max-width: 850px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
	justify-content: center !important;
	align-items: center !important;
}

body .catalog-hero h1,
body .offers-hero h1,
body .main > .page-header.page-header-modern h1 {
	width: 100% !important;
	margin: 0 0 0.45rem !important;
	text-align: center !important;
}

body .catalog-hero p.grocery-hero__lead,
body .offers-hero p.grocery-hero__lead,
body .main > .page-header.page-header-modern p.grocery-hero__lead {
	width: 100% !important;
	max-width: 50rem !important;
	margin: 0 auto !important;
	color: rgb(42 31 24 / 68%) !important;
	font-size: clamp(0.92rem, 1vw, 1rem) !important;
	font-weight: 700 !important;
	line-height: 1.58 !important;
	text-align: center !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

body .catalog-hero .catalog-kicker,
body .offers-hero .offers-kicker {
	display: none !important;
}

body .offers-hero .d-flex,
body .offers-hero .col-lg-5,
body .offers-hero .offers-metrics,
body .main > .page-header.page-header-modern .page-header__side {
	display: none !important;
}

/* More designed header finish: soft reflection, short copy, compact action cards. */
body .catalog-hero,
body .offers-hero,
body .main > .page-header.page-header-modern {
	height: 252px !important;
	min-height: 252px !important;
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 34%),
		radial-gradient(circle at 50% 34%, rgba(255, 233, 176, 0.28), transparent 36%),
		url("../../images/header-commun.png") center / 100% 100% no-repeat !important;
}

body .catalog-hero::before,
body .offers-hero::before,
body .main > .page-header.page-header-modern::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	background:
		linear-gradient(90deg, rgba(96, 28, 12, 0.06), rgba(255, 255, 255, 0.12) 45%, rgba(96, 28, 12, 0.08)),
		linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 120, 32, 0.02) 48%, rgba(91, 29, 10, 0.1)) !important;
	pointer-events: none !important;
}

body .catalog-hero::after,
body .offers-hero::after,
body .main > .page-header.page-header-modern::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.18) 47%, transparent 62%) !important;
	opacity: 0.58 !important;
	pointer-events: none !important;
}

body .catalog-hero .container,
body .offers-hero .container,
body .main > .page-header.page-header-modern .container {
	position: relative !important;
	z-index: 2 !important;
}

body .catalog-hero h1,
body .offers-hero h1,
body .main > .page-header.page-header-modern h1 {
	text-shadow: 0 10px 26px rgba(110, 38, 11, 0.2) !important;
}

body .catalog-hero p.grocery-hero__lead,
body .offers-hero p.grocery-hero__lead,
body .main > .page-header.page-header-modern p.grocery-hero__lead {
	display: -webkit-box !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 1 !important;
	max-width: 42rem !important;
	padding: 0 !important;
	background: transparent !important;
	color: rgba(42, 31, 24, 0.72) !important;
	font-size: 0.92rem !important;
	line-height: 1.45 !important;
}

body .main > .page-header.page-header-modern .page-header__side {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	margin-top: 0.72rem !important;
}

body .main > .page-header.page-header-modern .page-header__action,
body .offers-hero .offers-metrics .metric-card,
body .catalog-hero__metrics div {
	border: 1px solid rgba(255, 255, 255, 0.34) !important;
	border-radius: 8px !important;
	background: rgba(116, 44, 18, 0.22) !important;
	box-shadow: 0 14px 32px rgba(87, 30, 8, 0.12) !important;
	backdrop-filter: blur(4px) !important;
	color: #ffffff !important;
}

body .main > .page-header.page-header-modern .page-header__action {
	min-height: 38px !important;
	padding: 0.52rem 1rem !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body .offers-hero .offers-metrics {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(82px, 1fr)) !important;
	gap: 0.5rem !important;
	width: min(100%, 330px) !important;
	margin: 0.72rem auto 0 !important;
}

body .offers-hero .offers-metrics .metric-card {
	padding: 0.52rem 0.7rem !important;
	text-align: center !important;
}

body .offers-hero .offers-metrics .metric-card span {
	display: block !important;
	font-size: 1.25rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	margin-bottom: 0.24rem !important;
}

body .offers-hero .offers-metrics .metric-card small {
	color: #ffffff !important;
	font-size: 0.62rem !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
}

body .catalog-hero__metrics strong,
body .catalog-hero__metrics span,
body .offers-hero .offers-metrics .metric-card span,
body .offers-hero .offers-metrics .metric-card small {
	color: #2f7d32 !important;
	text-shadow: none !important;
}

body .main > .page-header.page-header-modern .page-header__action {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: rgba(255, 255, 255, 0.34) !important;
	color: #2f7d32 !important;
	text-shadow: none !important;
	box-shadow: 0 14px 32px rgba(87, 30, 8, 0.12) !important;
	backdrop-filter: blur(4px) !important;
}

body .main > .page-header.page-header-modern .page-header__action:hover {
	background: rgba(255, 255, 255, 0.18) !important;
	color: #256b29 !important;
	transform: translateY(-1px) !important;
}

body .offers-hero .col-lg-5 {
	display: none !important;
}

@media (max-width: 991.98px) {
	body .catalog-hero,
	body .offers-hero,
	body .main > .page-header.page-header-modern {
		height: auto !important;
		min-height: 238px !important;
	}
}

/* Warmer hero-match pass: less flat orange, with compact header actions. */
body .catalog-hero,
body .offers-hero,
body .main > .page-header.page-header-modern {
	height: 270px !important;
	min-height: 270px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 28%),
		radial-gradient(circle at 50% 34%, rgba(255, 231, 174, 0.18), transparent 34%),
		linear-gradient(90deg, rgba(126, 34, 18, 0.22), rgba(219, 66, 38, 0.08) 46%, rgba(65, 108, 49, 0.12)),
		url("../../images/header-commun.png") center / 100% 100% no-repeat !important;
}

body .catalog-hero::before,
body .offers-hero::before,
body .main > .page-header.page-header-modern::before {
	background:
		linear-gradient(180deg, rgba(90, 27, 13, 0.12), rgba(255, 255, 255, 0.02) 42%, rgba(78, 24, 10, 0.14)),
		linear-gradient(90deg, rgba(37, 88, 45, 0.12), transparent 30%, rgba(139, 24, 18, 0.14)) !important;
}

body .catalog-hero::after,
body .offers-hero::after,
body .main > .page-header.page-header-modern::after {
	background:
		linear-gradient(112deg, transparent 8%, rgba(255, 248, 222, 0.2) 45%, transparent 63%),
		radial-gradient(circle at 50% 100%, rgba(255, 255, 255, 0.16), transparent 36%) !important;
	opacity: 0.5 !important;
}

body .catalog-hero__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	margin-top: 0.7rem !important;
}

body .catalog-hero__action {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 36px !important;
	padding: 0.48rem 0.95rem !important;
	border: 1px solid rgba(255, 255, 255, 0.38) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.13) !important;
	color: #ffffff !important;
	font-size: 0.76rem !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: 0 12px 28px rgba(79, 24, 9, 0.12) !important;
	backdrop-filter: blur(4px) !important;
}

body .catalog-hero__action--primary {
	background: rgba(67, 128, 56, 0.74) !important;
	border-color: rgba(255, 255, 255, 0.26) !important;
}

body .catalog-hero__action:hover {
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

body .catalog-hero__metrics,
body .offers-hero .offers-metrics {
	margin-top: 0.72rem !important;
}

body .catalog-hero--categories .catalog-hero__metrics {
	display: flex !important;
	align-items: stretch !important;
	justify-content: center !important;
	gap: 0.55rem !important;
	max-width: none !important;
}

body .catalog-hero--categories .catalog-hero__metrics > div,
body .catalog-hero--categories .catalog-hero__metrics > .catalog-hero__action {
	min-width: 88px !important;
	min-height: 62px !important;
}

body .catalog-hero--categories .catalog-hero__metrics > .catalog-hero__action {
	padding: 0.52rem 0.9rem !important;
}

body .catalog-hero p.grocery-hero__lead,
body .offers-hero p.grocery-hero__lead,
body .main > .page-header.page-header-modern p.grocery-hero__lead {
	color: rgba(52, 35, 25, 0.66) !important;
}

@media (max-width: 991.98px) {
	body .catalog-hero,
	body .offers-hero,
	body .main > .page-header.page-header-modern {
		height: auto !important;
		min-height: 266px !important;
	}
}

/* Home section title refinement and final header tools order. */
.grocery-home .grocery-section__header {
	margin-bottom: 1.65rem !important;
}

.grocery-home .grocery-section::before,
.grocery-home .grocery-section::after {
	display: none !important;
}

.grocery-home .grocery-section__header:not(.grocery-section__header--catalog) {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.42rem !important;
	text-align: center !important;
}

.grocery-home .grocery-section__kicker {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #e30613 !important;
	font-size: 0.76rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
}

.grocery-home .grocery-section__title {
	max-width: 680px !important;
	margin: 0 auto !important;
	color: #172033 !important;
	font-size: clamp(1.9rem, 2.75vw, 2.65rem) !important;
	font-weight: 900 !important;
	line-height: 1.08 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
}

.grocery-home .grocery-section__lead {
	max-width: 44rem !important;
	margin: 0.35rem auto 0 !important;
	color: rgba(23, 32, 51, 0.62) !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
	text-align: center !important;
}

.grocery-home .grocery-section__header::after {
	content: "" !important;
	display: block !important;
	width: 64px !important;
	height: 5px !important;
	margin-top: 0.72rem !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #6f9b2f 0%, #f5d33b 55%, #e30613 100%) !important;
}

.grocery-home .grocery-section__header--catalog::after {
	display: none !important;
}

.site-header__tools {
	gap: 0.45rem !important;
}

.site-header__favorite i {
	color: #e30613 !important;
}

.site-header__favorite:hover i,
.site-header__favorite:focus i {
	font-weight: 900 !important;
}

.site-header__language {
	order: 20 !important;
}

.site-header__menu-toggle {
	order: 30 !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-section__title {
		font-size: clamp(1.65rem, 8vw, 2.2rem) !important;
	}
}

/* Header tools polish: lighter user icon, separated language toggle. */
.site-header__tools {
	align-items: center !important;
	gap: 0.48rem !important;
}

.site-header__account {
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #172033 !important;
	order: 18 !important;
}

.site-header__account i {
	font-size: 1.08rem !important;
	stroke-width: 1.8 !important;
}

.site-header__favorite,
.site-header__cart {
	background: rgba(255, 255, 255, 0.86) !important;
	border-color: #dbe5ee !important;
	box-shadow: 0 8px 18px rgba(23, 32, 51, 0.06) !important;
}

.site-header__favorite {
	order: 10 !important;
}

.site-header__cart {
	order: 12 !important;
}

body:not(.is-rtl) .site-header__cart .cart-qty {
	left: -7px !important;
	right: auto !important;
}

.site-header__favorite:hover,
.site-header__favorite:focus,
.site-header__cart:hover,
.site-header__cart:focus,
.site-header__account:hover,
.site-header__account:focus {
	background: #f5fbf1 !important;
	border-color: rgba(76, 132, 56, 0.28) !important;
	color: var(--site-green) !important;
	box-shadow: 0 10px 22px rgba(76, 132, 56, 0.12) !important;
}

.site-header__language {
	order: 20 !important;
	margin-left: 0.28rem !important;
	padding-left: 0 !important;
}

.site-header__language::before {
	display: none !important;
}

.site-header__language-toggle {
	min-width: 0 !important;
	width: auto !important;
	height: 34px !important;
	padding: 0 0.7rem !important;
	gap: 0.34rem !important;
	border: 1px solid rgba(76, 132, 56, 0.32) !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	color: #2f5f24 !important;
	font-weight: 800 !important;
	box-shadow: 0 6px 16px rgba(55, 103, 43, 0.12) !important;
}

.site-header__language-toggle span {
	font-size: 0.74rem !important;
	letter-spacing: 0.02em !important;
	color: #2f5f24 !important;
}

.site-header__language-toggle i:first-child {
	display: inline-grid !important;
	place-items: center !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #37672b !important;
	font-size: 0.88rem !important;
}

.site-header__language-toggle:hover,
.site-header__language-toggle:focus,
.site-header__language.show .site-header__language-toggle {
	background: linear-gradient(135deg, #4c8438 0%, #37672b 100%) !important;
	border-color: #2f5f24 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 22px rgba(55, 103, 43, 0.2) !important;
}

.site-header__language-toggle:hover span,
.site-header__language-toggle:focus span,
.site-header__language.show .site-header__language-toggle span,
.site-header__language-toggle:hover i:first-child,
.site-header__language-toggle:focus i:first-child,
.site-header__language.show .site-header__language-toggle i:first-child {
	color: #ffffff !important;
}

@media (max-width: 575.98px) {
	.site-header__language {
		margin-left: 0.35rem !important;
		padding-left: 0.35rem !important;
	}
}

/* RTL header tools mirror: language at the far end, user just before it. */
body.is-rtl .site-header__tools {
	direction: ltr !important;
}

body.is-rtl .site-header__language {
	order: 1 !important;
	margin-right: 0 !important;
	margin-left: 0.28rem !important;
	padding: 0 !important;
}

body.is-rtl .site-header__account {
	order: 2 !important;
}

body.is-rtl .site-header__cart {
	order: 3 !important;
}

body.is-rtl .site-header__favorite {
	order: 4 !important;
}

body.is-rtl .site-header__cart .cart-qty {
	top: -7px !important;
	right: -7px !important;
	left: auto !important;
}

/* Product cards final polish: centered content and cleaner action buttons. */
.grocery-product-card,
.catalog-products .grocery-product-card,
.grocery-home .grocery-product-card {
	text-align: center !important;
}

.grocery-product-card__body,
.catalog-products .grocery-product-card__body,
.grocery-home .grocery-product-card__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.grocery-product-card__category,
.grocery-product-card__brand,
.grocery-product-card__title,
.grocery-product-card__price,
.catalog-products .grocery-product-card__category,
.catalog-products .grocery-product-card__brand,
.catalog-products .grocery-product-card__title,
.catalog-products .grocery-product-card__price,
.grocery-home .grocery-product-card__category,
.grocery-home .grocery-product-card__brand,
.grocery-home .grocery-product-card__title,
.grocery-home .grocery-product-card__price {
	text-align: center !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.grocery-product-card__title,
.catalog-products .grocery-product-card__title,
.grocery-home .grocery-product-card__title {
	min-height: 2.7em !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.grocery-product-card__title a,
.catalog-products .grocery-product-card__title a,
.grocery-home .grocery-product-card__title a {
	display: -webkit-box !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	text-align: center !important;
}

.grocery-product-card__price,
.catalog-products .grocery-product-card__price,
.grocery-home .grocery-product-card__price {
	justify-content: center !important;
	align-items: center !important;
}

.grocery-product-card__actions,
.catalog-products .grocery-product-card__actions,
.grocery-home .grocery-product-card__actions {
	width: 100% !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	padding-top: 0.78rem !important;
	border-top: 1px solid rgba(23, 32, 51, 0.07) !important;
}

.grocery-product-card__action,
.catalog-products .grocery-product-card__action,
.grocery-home .grocery-product-card__action {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	border-radius: 10px !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	background: transparent !important;
	color: #172033 !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.07) !important;
}

.grocery-product-card__action:nth-child(2),
.catalog-products .grocery-product-card__action:nth-child(2),
.grocery-home .grocery-product-card__action:nth-child(2) {
	background: #4c8438 !important;
	border-color: #4c8438 !important;
	color: #ffffff !important;
}

.grocery-product-card__action--favorite,
.catalog-products .grocery-product-card__action--favorite,
.grocery-home .grocery-product-card__action--favorite {
	background: #fff4f1 !important;
	border-color: rgba(227, 73, 33, 0.2) !important;
	color: #e34921 !important;
}

.grocery-product-card__action--favorite i,
.catalog-products .grocery-product-card__action--favorite i,
.grocery-home .grocery-product-card__action--favorite i {
	font-size: 0.98rem !important;
}

.grocery-product-card__action--favorite.is-favorite,
.catalog-products .grocery-product-card__action--favorite.is-favorite,
.grocery-home .grocery-product-card__action--favorite.is-favorite {
	background: #e34921 !important;
	border-color: #e34921 !important;
	color: #ffffff !important;
}

.grocery-product-card__action:hover,
.grocery-product-card__action:focus,
.catalog-products .grocery-product-card__action:hover,
.catalog-products .grocery-product-card__action:focus,
.grocery-home .grocery-product-card__action:hover,
.grocery-home .grocery-product-card__action:focus {
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 28px rgba(23, 32, 51, 0.12) !important;
}

body.is-rtl .grocery-product-card__body,
body.is-rtl .grocery-product-card__title a,
body.is-rtl .grocery-product-card__brand,
body.is-rtl .grocery-product-card__price {
	direction: rtl !important;
	text-align: center !important;
}

/* Final professional home section titles. */
.grocery-home .grocery-section__header .grocery-section__title,
.grocery-home .grocery-section__title {
	width: min(100%, 480px) !important;
	max-width: 480px !important;
	margin: 0 auto !important;
	color: #172033 !important;
	font-size: clamp(1.75rem, 2.25vw, 2.55rem) !important;
	font-weight: 900 !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-wrap: balance !important;
	text-shadow: none !important;
}

.grocery-home .grocery-section__header--catalog .grocery-section__title {
	margin-right: 0 !important;
	margin-left: 0 !important;
	text-align: left !important;
}

body.is-rtl .grocery-home .grocery-section__header--catalog .grocery-section__title {
	margin-right: 0 !important;
	margin-left: 0 !important;
	text-align: right !important;
}

@media (max-width: 767.98px) {
	.grocery-home .grocery-section__header .grocery-section__title,
	.grocery-home .grocery-section__title {
		max-width: 23rem !important;
		font-size: clamp(1.6rem, 8vw, 2.15rem) !important;
	}
}

/* Home promo as fixed photo banner. */
.grocery-home .grocery-section--promo {
	padding: 0 !important;
	margin: clamp(2rem, 4vw, 3.5rem) 0 !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	background: transparent !important;
}

.grocery-home .grocery-section--promo .container {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

.grocery-home .grocery-promo-panel {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	min-height: clamp(300px, 32vw, 430px) !important;
	padding: clamp(2.2rem, 5vw, 4rem) 1.5rem !important;
	border-radius: 0 !important;
	background:
		linear-gradient(90deg, rgba(17, 24, 39, 0.72) 0%, rgba(17, 24, 39, 0.5) 42%, rgba(17, 24, 39, 0.18) 100%),
		url("../../images/c8117e7b-520b-4318-900f-418e3e5e5705.png") center / cover fixed no-repeat !important;
	box-shadow: none !important;
	text-align: center !important;
}

.grocery-home .grocery-promo-panel::before,
.grocery-home .grocery-promo-panel::after {
	display: none !important;
}

.grocery-home .grocery-promo-panel > div,
body.is-rtl .grocery-home .grocery-promo-panel > div {
	width: min(100%, 560px) !important;
	grid-column: auto !important;
	margin: 0 auto !important;
	text-align: center !important;
}

.grocery-home .grocery-promo-panel .grocery-section__kicker {
	margin: 0 auto 1.05rem !important;
	background: #ffb81c !important;
	color: #172033 !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18) !important;
}

.grocery-home .grocery-promo-panel h2 {
	max-width: 12ch !important;
	margin: 0 auto !important;
	font-size: clamp(2rem, 4vw, 3.2rem) !important;
	line-height: 1.05 !important;
	text-align: center !important;
	text-shadow: 0 12px 34px rgba(0, 0, 0, 0.35) !important;
}

.grocery-home .grocery-promo-panel p {
	max-width: 34rem !important;
	margin: 0.9rem auto 0 !important;
	text-align: center !important;
	color: rgba(255, 255, 255, 0.9) !important;
}

.grocery-home .grocery-promo-panel .btn,
body.is-rtl .grocery-home .grocery-promo-panel .btn {
	grid-column: auto !important;
	align-self: center !important;
	justify-self: center !important;
	margin: 1.4rem auto 0 !important;
	background: #ffb81c !important;
	border-color: #ffb81c !important;
	color: #172033 !important;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22) !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-promo-panel {
		background-attachment: scroll !important;
	}
}

.grocery-home .grocery-section--promo .grocery-promo-panel {
	max-width: none !important;
}

.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;
}

.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;
}

.grocery-product-card__action--favorite i,
.catalog-products .grocery-product-card__action--favorite i,
.grocery-home .grocery-product-card__action--favorite i {
	color: #ffffff !important;
}

/* Final deal image integration: transparent, no hover card. */
.grocery-home .grocery-deal__media {
	overflow: visible !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.grocery-home .grocery-deal__media:hover,
.grocery-home .grocery-deal__media:focus-within {
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.grocery-home .grocery-deal__media::before,
.grocery-home .grocery-deal__media::after {
	content: none !important;
	display: none !important;
}

.grocery-home .grocery-deal__media img {
	display: block !important;
	width: min(100%, 650px) !important;
	height: auto !important;
	object-fit: contain !important;
	mix-blend-mode: multiply !important;
	opacity: 0.96 !important;
	animation: none !important;
	filter: drop-shadow(0 26px 28px rgba(76, 132, 56, 0.16)) !important;
}

/* Final footer polish. */
#footer {
	position: relative !important;
	overflow: hidden !important;
	margin-top: 0 !important;
	border-top: 5px solid #da562e !important;
	background:
		radial-gradient(circle at 12% 0%, rgba(255, 220, 61, 0.12), transparent 18rem),
		radial-gradient(circle at 88% 18%, rgba(76, 132, 56, 0.22), transparent 20rem),
		linear-gradient(135deg, #101827 0%, #15251c 52%, #203a25 100%) !important;
	color: rgba(255, 255, 255, 0.78) !important;
}

#footer > .container {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
}

#footer .row.py-5 {
	padding-top: clamp(2.6rem, 5vw, 4.2rem) !important;
	padding-bottom: clamp(2.2rem, 4vw, 3.2rem) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

#footer h5 {
	position: relative !important;
	margin-bottom: 1.15rem !important;
	padding-bottom: 0.75rem !important;
	color: #ffffff !important;
	font-size: 0.95rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

#footer h5::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 42px !important;
	height: 3px !important;
	border-radius: 999px !important;
	background: #da562e !important;
}

#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css) {
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 0.95rem !important;
	line-height: 1.7 !important;
}

#footer a:hover,
#footer a:focus,
#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus {
	color: #ffeb3d !important;
	text-decoration: none !important;
}

#footer .list-icons {
	margin-top: 0.25rem !important;
}

#footer .list-icons li {
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 0.65rem !important;
	margin-bottom: 0.85rem !important;
}

#footer .list-icons i {
	display: grid !important;
	place-items: center !important;
	width: 34px !important;
	height: 34px !important;
	border-radius: 10px !important;
	background: rgba(218, 86, 46, 0.16) !important;
	color: #ffeb3d !important;
}

#footer .list-unstyled li {
	margin-bottom: 0.7rem !important;
}

#footer .list-unstyled a p {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
	transition: transform 0.18s ease, color 0.18s ease !important;
}

#footer .list-unstyled a:hover p,
#footer .list-unstyled a:focus p {
	transform: translateX(4px) !important;
}

#footer .list-unstyled i {
	color: #da562e !important;
}

#footer .social-icons {
	display: flex !important;
	gap: 0.65rem !important;
	margin: 0 !important;
}

#footer .social-icons a {
	display: inline-grid !important;
	place-items: center !important;
	width: 42px !important;
	height: 42px !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 12px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #da562e !important;
	border-color: #da562e !important;
	color: #ffffff !important;
	transform: translateY(-3px) !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	background: rgba(5, 10, 18, 0.46) !important;
}

#footer .footer-copyright .container {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
}

#footer .footer-copyright p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.64) !important;
}

#footer .footer-copyright nav ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.9rem 1.2rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#footer .footer-copyright nav li {
	margin: 0 !important;
}

#footer .brand-set--footer .brand-set__item {
	background: rgba(255, 255, 255, 0.96) !important;
	border-radius: 10px !important;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16) !important;
}

@media (max-width: 767.98px) {
	#footer h5::after {
		left: 50% !important;
		transform: translateX(-50%) !important;
	}

	#footer,
	#footer .text-white,
	#footer h5,
	#footer p,
	#footer li {
		text-align: center !important;
	}

	#footer .list-icons li {
		grid-template-columns: 1fr !important;
		justify-items: center !important;
	}

	#footer .social-icons,
	#footer .footer-copyright nav ul {
		justify-content: center !important;
	}
}

/* Final compact light footer. */
#footer {
	border-top: 4px solid #da562e !important;
	background:
		linear-gradient(180deg, #fffdf8 0%, #f6faf1 100%) !important;
	color: #56647a !important;
	box-shadow: inset 0 1px 0 rgba(76, 132, 56, 0.14) !important;
}

#footer > .container,
#footer .footer-copyright .container {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
}

#footer .row.py-5 {
	padding-top: 1.45rem !important;
	padding-bottom: 1.1rem !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	align-items: flex-start !important;
}

#footer .footer-brand-link--top {
	display: inline-flex !important;
	width: fit-content !important;
	padding: 0.35rem !important;
	border: 1px solid rgba(76, 132, 56, 0.16) !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: 0 12px 28px rgba(23, 32, 51, 0.08) !important;
}

#footer h5 {
	margin-bottom: 0.65rem !important;
	padding-bottom: 0.45rem !important;
	color: #172033 !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

#footer h5::after {
	width: 34px !important;
	height: 3px !important;
	background: #da562e !important;
}

#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light {
	color: #5f6f86 !important;
	font-size: 0.88rem !important;
	line-height: 1.55 !important;
}

#footer a:hover,
#footer a:focus,
#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus {
	color: #da562e !important;
}

#footer .list-icons li {
	grid-template-columns: 30px minmax(0, 1fr) !important;
	gap: 0.55rem !important;
	margin-bottom: 0.45rem !important;
}

#footer .list-icons i,
#footer .list-icons .text-white {
	width: 30px !important;
	height: 30px !important;
	border-radius: 9px !important;
	background: rgba(218, 86, 46, 0.1) !important;
	color: #da562e !important;
}

#footer .list-unstyled li {
	margin-bottom: 0.32rem !important;
	padding-bottom: 0 !important;
}

#footer .list-unstyled a p {
	margin: 0 !important;
	color: #5f6f86 !important;
}

#footer .list-unstyled i {
	color: #da562e !important;
}

#footer .social-icons {
	gap: 0.5rem !important;
}

#footer .social-icons a {
	width: 36px !important;
	height: 36px !important;
	border: 1px solid rgba(76, 132, 56, 0.14) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: #172033 !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.07) !important;
}

#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #da562e !important;
	border-color: #da562e !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(76, 132, 56, 0.14) !important;
	background: #ffffff !important;
}

#footer .footer-copyright .container.py-2 {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

#footer .footer-copyright .row.py-4 {
	padding-top: 0.7rem !important;
	padding-bottom: 0.7rem !important;
}

#footer .footer-copyright p {
	color: #667085 !important;
	font-size: 0.86rem !important;
}

#footer .footer-copyright nav ul {
	gap: 0.45rem 1rem !important;
}

#footer .footer-copyright nav a {
	color: #172033 !important;
	font-size: 0.86rem !important;
	font-weight: 750 !important;
}

#footer .brand-set--footer .brand-set__item {
	background: transparent !important;
	box-shadow: none !important;
}

@media (max-width: 767.98px) {
	#footer .row.py-5 {
		padding-top: 1.25rem !important;
		padding-bottom: 0.9rem !important;
	}

	#footer .footer-brand-link--top {
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

/* Final footer layout correction. */
#footer {
	border-top: 4px solid #da562e !important;
	background: #fbfcf8 !important;
	box-shadow: inset 0 1px 0 rgba(76, 132, 56, 0.12) !important;
}

#footer > .container {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
}

#footer .row.py-5.my-4 {
	display: grid !important;
	grid-template-columns: minmax(280px, 1.25fr) minmax(260px, 0.9fr) minmax(190px, 0.65fr) minmax(150px, 0.45fr) !important;
	gap: clamp(1.4rem, 3vw, 2.6rem) !important;
	padding-top: 1.4rem !important;
	padding-bottom: 1.15rem !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

#footer .row.py-5.my-4 > [class*="col-"] {
	width: auto !important;
	max-width: none !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	margin-bottom: 0 !important;
}

#footer .footer-brand-link--top {
	display: inline-flex !important;
	max-width: 205px !important;
	margin-bottom: 0.85rem !important;
	padding: 0.34rem !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: 0 12px 28px rgba(23, 32, 51, 0.08) !important;
}

#footer .footer-brand-link--top img,
#footer .footer-brand-link--top svg {
	max-height: 48px !important;
}

#footer h5 {
	margin: 0 0 0.65rem !important;
	padding: 0 0 0.45rem !important;
	color: #172033 !important;
	font-size: 0.78rem !important;
	line-height: 1.2 !important;
}

#footer h5::after {
	width: 34px !important;
	height: 3px !important;
}

#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light {
	color: #667085 !important;
	font-size: 0.86rem !important;
	line-height: 1.55 !important;
}

#footer .pe-1 {
	max-width: 34rem !important;
	margin-bottom: 0 !important;
}

#footer .contact-details .list {
	display: grid !important;
	gap: 0.55rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#footer .contact-details .list-icons li {
	display: grid !important;
	grid-template-columns: 32px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 0.65rem !important;
	min-height: 32px !important;
	margin: 0 !important;
}

#footer .contact-details .list-icons i {
	position: static !important;
	display: grid !important;
	place-items: center !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	border-radius: 10px !important;
	background: rgba(218, 86, 46, 0.1) !important;
	color: #da562e !important;
	font-size: 0.88rem !important;
}

#footer .contact-details p {
	margin: 0 !important;
	min-width: 0 !important;
	word-break: break-word !important;
}

#footer .list-unstyled {
	margin: 0 !important;
}

#footer .list-unstyled li {
	margin: 0 0 0.42rem !important;
	padding: 0 !important;
}

#footer .list-unstyled a p {
	display: inline-flex !important;
	gap: 0.45rem !important;
	align-items: center !important;
	margin: 0 !important;
}

#footer .social-icons {
	display: flex !important;
	gap: 0.55rem !important;
	margin: 0 !important;
}

#footer .footer-copyright {
	background: #ffffff !important;
	border-top: 1px solid rgba(76, 132, 56, 0.14) !important;
}

#footer .footer-copyright .container.py-2 {
	width: min(100% - 40px, 1180px) !important;
	max-width: 1180px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

#footer .footer-copyright .row.py-4 {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 1rem !important;
	padding-top: 0.55rem !important;
	padding-bottom: 0.55rem !important;
}

#footer .footer-copyright .row.py-4 > [class*="col-"] {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#footer .footer-copyright nav ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem 1.1rem !important;
}

@media (max-width: 991.98px) {
	#footer .row.py-5.my-4 {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media (max-width: 575.98px) {
	#footer .row.py-5.my-4,
	#footer .footer-copyright .row.py-4 {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	#footer .footer-brand-link--top,
	#footer h5::after {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#footer .contact-details .list-icons li {
		grid-template-columns: 1fr !important;
		justify-items: center !important;
	}
}

/* Professional footer refresh. */
#footer {
	position: relative !important;
	overflow: hidden !important;
	margin-top: 0 !important;
	border-top: 4px solid #e03022 !important;
	background:
		linear-gradient(135deg, rgba(224, 48, 34, 0.12) 0%, rgba(224, 48, 34, 0) 34%),
		linear-gradient(120deg, #123828 0%, #173f2f 48%, #223221 100%) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 -18px 45px rgba(18, 56, 40, 0.08) !important;
}

#footer::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0)),
		radial-gradient(circle at 88% 20%, rgba(248, 197, 51, 0.15), transparent 34%) !important;
}

#footer > .container,
#footer .footer-copyright .container.py-2 {
	position: relative !important;
	z-index: 1 !important;
	width: min(100% - 48px, 1220px) !important;
	max-width: 1220px !important;
}

#footer .footer-ribbon {
	display: none !important;
}

#footer .row.py-5.my-4 {
	display: grid !important;
	grid-template-columns: minmax(320px, 1.35fr) minmax(330px, 1.05fr) minmax(190px, 0.72fr) minmax(160px, 0.55fr) !important;
	align-items: start !important;
	gap: clamp(1.6rem, 3vw, 3rem) !important;
	padding-top: clamp(2rem, 4vw, 3.2rem) !important;
	padding-bottom: clamp(1.7rem, 3vw, 2.4rem) !important;
	margin: 0 !important;
}

#footer .row.py-5.my-4 > [class*="col-"] {
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#footer .footer-brand-link--top {
	max-width: 218px !important;
	padding: 0.42rem !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 12px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18) !important;
}

#footer .footer-brand-link--top img,
#footer .footer-brand-link--top svg {
	max-height: 52px !important;
}

#footer h5 {
	margin: 0 0 0.9rem !important;
	padding: 0 0 0.58rem !important;
	color: #ffffff !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

#footer h5::after {
	width: 38px !important;
	height: 3px !important;
	border-radius: 999px !important;
	background: #f6c33d !important;
}

#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light {
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 0.9rem !important;
	line-height: 1.65 !important;
}

#footer a:hover,
#footer a:focus,
#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus {
	color: #ffffff !important;
}

#footer .pe-1 {
	max-width: 36rem !important;
	margin: 0 !important;
}

#footer .contact-details .list {
	display: grid !important;
	gap: 0.82rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#footer .contact-details .list-icons li {
	display: grid !important;
	grid-template-columns: 38px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 0.78rem !important;
	min-width: 0 !important;
	min-height: 38px !important;
	padding: 0 !important;
	margin: 0 !important;
}

#footer .contact-details .list-icons i {
	position: static !important;
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.1) !important;
	color: #f6c33d !important;
	font-size: 0.95rem !important;
}

#footer .contact-details p {
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

#footer .list-unstyled {
	display: grid !important;
	gap: 0.52rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#footer .list-unstyled li {
	margin: 0 !important;
	padding: 0 !important;
}

#footer .list-unstyled a {
	display: inline-flex !important;
	text-decoration: none !important;
}

#footer .list-unstyled a p {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin: 0 !important;
	transition: color 0.2s ease, transform 0.2s ease !important;
}

#footer .list-unstyled a:hover p,
#footer .list-unstyled a:focus p {
	transform: translateX(3px) !important;
}

#footer .list-unstyled i {
	color: #f6c33d !important;
}

#footer .social-icons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.65rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#footer .social-icons a {
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.1) !important;
	color: #ffffff !important;
	box-shadow: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

#footer .social-icons a:hover,
#footer .social-icons a:focus {
	border-color: #f6c33d !important;
	background: #f6c33d !important;
	color: #123828 !important;
	transform: translateY(-2px) !important;
}

#footer .footer-copyright {
	position: relative !important;
	z-index: 1 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: rgba(11, 31, 24, 0.72) !important;
}

#footer .footer-copyright .row.py-4 {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 1rem !important;
	padding-top: 0.8rem !important;
	padding-bottom: 0.8rem !important;
	margin: 0 !important;
}

#footer .footer-copyright .row.py-4 > [class*="col-"] {
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a {
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 0.86rem !important;
}

#footer .footer-copyright nav ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem 1.2rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#footer .footer-copyright nav i {
	color: #f6c33d !important;
}

@media (max-width: 1199.98px) {
	#footer .row.py-5.my-4 {
		grid-template-columns: minmax(280px, 1.1fr) minmax(300px, 1fr) minmax(180px, 0.8fr) !important;
	}
}

@media (max-width: 991.98px) {
	#footer .row.py-5.my-4 {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media (max-width: 575.98px) {
	#footer > .container,
	#footer .footer-copyright .container.py-2 {
		width: min(100% - 32px, 1220px) !important;
	}

	#footer .row.py-5.my-4,
	#footer .footer-copyright .row.py-4 {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	#footer .footer-brand-link--top,
	#footer h5::after {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#footer .contact-details .list-icons li {
		grid-template-columns: 38px minmax(0, 1fr) !important;
		text-align: left !important;
	}

	#footer .social-icons,
	#footer .footer-copyright nav ul {
		justify-content: center !important;
	}
}

/* Footer hardening: keeps Porto/Bootstrap list styles from collapsing contact text. */
#footer .footer-main-grid {
	display: grid !important;
	grid-template-columns: minmax(300px, 1.25fr) minmax(300px, 1fr) minmax(190px, 0.72fr) minmax(150px, 0.48fr) !important;
	align-items: start !important;
	column-gap: clamp(2rem, 4vw, 4rem) !important;
	row-gap: 2rem !important;
	width: 100% !important;
}

#footer .footer-main-grid > [class*="col-"],
#footer .footer-about,
#footer .footer-contact,
#footer .footer-links,
#footer .footer-social {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: initial !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#footer .footer-contact-list {
	display: grid !important;
	gap: 0.82rem !important;
	width: 100% !important;
	max-width: 300px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#footer .footer-contact-item {
	position: static !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.78rem !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

#footer .footer-contact-item::before {
	display: none !important;
	content: none !important;
}

#footer .footer-contact-icon {
	position: static !important;
	inset: auto !important;
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	margin: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.1) !important;
	color: #f6c33d !important;
	line-height: 1 !important;
}

#footer .footer-contact-text,
#footer .footer-contact-text a {
	display: block !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	line-height: 1.45 !important;
}

#footer .footer-contact-text a[href^="mailto:"] {
	overflow-wrap: anywhere !important;
}

#footer .footer-links .list-unstyled a,
#footer .footer-links .list-unstyled p {
	max-width: 100% !important;
}

#footer .footer-social .social-icons {
	align-items: center !important;
}

@media (max-width: 1199.98px) {
	#footer .footer-main-grid {
		grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr) !important;
	}
}

@media (max-width: 575.98px) {
	#footer .footer-main-grid {
		grid-template-columns: 1fr !important;
	}

	#footer .footer-contact-list {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#footer .footer-contact-item {
		max-width: 330px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#footer .footer-contact-text {
		text-align: left !important;
	}
}

/* Footer redesign: brighter, cleaner background and tighter layout. */
#footer {
	border-top: 4px solid #e03022 !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 250, 242, 0.98)),
		linear-gradient(120deg, rgba(76, 132, 56, 0.16), rgba(248, 197, 51, 0.12)) !important;
	color: #172033 !important;
	box-shadow: inset 0 1px 0 rgba(76, 132, 56, 0.16) !important;
}

#footer::before {
	background:
		linear-gradient(90deg, rgba(76, 132, 56, 0.08), rgba(255, 255, 255, 0) 44%),
		radial-gradient(circle at 86% 12%, rgba(248, 197, 51, 0.2), transparent 24rem) !important;
}

#footer .row.py-5.my-4,
#footer .footer-main-grid {
	grid-template-columns: minmax(290px, 1.28fr) minmax(300px, 1fr) minmax(180px, 0.7fr) minmax(150px, 0.5fr) !important;
	column-gap: clamp(1.8rem, 4vw, 4.4rem) !important;
	padding-top: clamp(1.7rem, 3vw, 2.45rem) !important;
	padding-bottom: clamp(1.45rem, 2.5vw, 2rem) !important;
}

#footer .footer-brand-link--top {
	border-color: rgba(76, 132, 56, 0.18) !important;
	background: #ffffff !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.1) !important;
}

#footer h5 {
	color: #172033 !important;
	font-weight: 900 !important;
}

#footer h5::after {
	background: #e0a71f !important;
}

#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light {
	color: #334155 !important;
	font-size: 0.88rem !important;
	line-height: 1.6 !important;
}

#footer a:hover,
#footer a:focus,
#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus {
	color: #c7351f !important;
}

#footer .footer-contact-icon {
	border-color: rgba(76, 132, 56, 0.18) !important;
	background: #ffffff !important;
	color: #d79b16 !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.07) !important;
}

#footer .footer-contact-text,
#footer .footer-contact-text a {
	color: #1f2937 !important;
	font-weight: 650 !important;
}

#footer .list-unstyled i,
#footer .footer-copyright nav i {
	color: #d79b16 !important;
}

#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: #475569 !important;
}

#footer .list-unstyled a:hover p,
#footer .list-unstyled a:focus p,
#footer .list-unstyled a:hover strong,
#footer .list-unstyled a:focus strong {
	color: #c7351f !important;
}

#footer .social-icons a {
	border-color: rgba(76, 132, 56, 0.18) !important;
	background: #ffffff !important;
	color: #172033 !important;
	box-shadow: 0 10px 22px rgba(23, 32, 51, 0.08) !important;
}

#footer .social-icons a:hover,
#footer .social-icons a:focus {
	border-color: #d79b16 !important;
	background: #d79b16 !important;
	color: #ffffff !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(76, 132, 56, 0.16) !important;
	background: rgba(255, 255, 255, 0.86) !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a {
	color: #334155 !important;
	font-weight: 700 !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #c7351f !important;
}

@media (max-width: 1199.98px) {
	#footer .row.py-5.my-4,
	#footer .footer-main-grid {
		grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr) !important;
	}
}

@media (max-width: 575.98px) {
	#footer .row.py-5.my-4,
	#footer .footer-main-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Footer branded background: color base + subtle grocery image. */
#footer {
	border-top: 4px solid #e03022 !important;
	background:
		linear-gradient(90deg, rgba(19, 65, 46, 0.96) 0%, rgba(24, 77, 49, 0.94) 48%, rgba(58, 74, 28, 0.92) 100%),
		url("../img/uploads/images/bannerpromo.png") right center / auto 118% no-repeat,
		#174331 !important;
	color: #ffffff !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 -16px 36px rgba(23, 32, 51, 0.08) !important;
}

#footer::before {
	background:
		linear-gradient(90deg, rgba(6, 24, 18, 0.08), rgba(6, 24, 18, 0.36)),
		radial-gradient(circle at 84% 28%, rgba(248, 197, 51, 0.18), transparent 22rem) !important;
}

#footer h5 {
	color: #ffffff !important;
}

#footer h5::after {
	background: #f6c33d !important;
}

#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light {
	color: rgba(255, 255, 255, 0.86) !important;
}

#footer a:hover,
#footer a:focus,
#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus {
	color: #ffffff !important;
}

#footer .footer-contact-icon,
#footer .social-icons a {
	border-color: rgba(255, 255, 255, 0.2) !important;
	background: rgba(255, 255, 255, 0.12) !important;
	color: #f6c33d !important;
	box-shadow: none !important;
}

#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: rgba(255, 255, 255, 0.88) !important;
}

#footer .list-unstyled i,
#footer .footer-copyright nav i {
	color: #f6c33d !important;
}

#footer .list-unstyled a:hover p,
#footer .list-unstyled a:focus p,
#footer .list-unstyled a:hover strong,
#footer .list-unstyled a:focus strong {
	color: #ffffff !important;
}

#footer .social-icons a {
	color: #ffffff !important;
}

#footer .social-icons a:hover,
#footer .social-icons a:focus {
	border-color: #f6c33d !important;
	background: #f6c33d !important;
	color: #174331 !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: rgba(8, 33, 24, 0.72) !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a {
	color: rgba(255, 255, 255, 0.86) !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #ffffff !important;
}

@media (max-width: 991.98px) {
	#footer {
		background:
			linear-gradient(180deg, rgba(19, 65, 46, 0.97), rgba(38, 80, 41, 0.96)),
			url("../img/uploads/images/bannerpromo.png") right bottom / auto 52% no-repeat,
			#174331 !important;
	}
}

/* Footer final tone: match orange hero/buttons and keep the photo visible. */
#footer {
	border-top: 4px solid #da562e !important;
	background:
		linear-gradient(115deg, rgba(243, 107, 33, 0.96) 0%, rgba(218, 86, 46, 0.94) 44%, rgba(207, 61, 22, 0.9) 100%),
		#da562e !important;
}

#footer::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background:
		linear-gradient(90deg, rgba(111, 57, 24, 0.2) 0%, rgba(111, 57, 24, 0.08) 45%, rgba(111, 57, 24, 0.28) 100%),
		url("../img/uploads/images/bannerpromo.png") right center / auto 132% no-repeat !important;
	opacity: 0.58 !important;
}

#footer > .container,
#footer .footer-copyright,
#footer .footer-copyright .container.py-2 {
	position: relative !important;
	z-index: 1 !important;
}

#footer h5::after,
#footer .list-unstyled i,
#footer .footer-copyright nav i {
	background: #ffdc3d !important;
	color: #ffdc3d !important;
}

#footer .footer-contact-icon,
#footer .social-icons a {
	border-color: rgba(255, 255, 255, 0.24) !important;
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffdc3d !important;
}

#footer .social-icons a:hover,
#footer .social-icons a:focus {
	border-color: #ffdc3d !important;
	background: #ffdc3d !important;
	color: #9a2f18 !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
	background: rgba(129, 42, 20, 0.42) !important;
}

@media (max-width: 991.98px) {
	#footer {
		background:
			linear-gradient(140deg, rgba(243, 107, 33, 0.97), rgba(207, 61, 22, 0.94)),
			#da562e !important;
	}

	#footer::before {
		background:
			linear-gradient(180deg, rgba(111, 57, 24, 0.12), rgba(111, 57, 24, 0.32)),
			url("../img/uploads/images/bannerpromo.png") right bottom / auto 72% no-repeat !important;
		opacity: 0.42 !important;
	}
}

/* Footer hover stability and cleaner orange finish. */
#footer,
#footer:hover,
#footer:focus-within {
	background:
		linear-gradient(115deg, rgba(243, 107, 33, 0.96) 0%, rgba(218, 86, 46, 0.94) 44%, rgba(207, 61, 22, 0.9) 100%),
		#da562e !important;
}

#footer::before,
#footer:hover::before,
#footer:focus-within::before {
	background:
		linear-gradient(90deg, rgba(111, 57, 24, 0.2) 0%, rgba(111, 57, 24, 0.08) 45%, rgba(111, 57, 24, 0.28) 100%),
		url("../img/uploads/images/bannerpromo.png") right center / auto 132% no-repeat !important;
	opacity: 0.58 !important;
	visibility: visible !important;
}

#footer .footer-brand-link--top {
	background: rgba(255, 255, 255, 0.92) !important;
	border-color: rgba(255, 255, 255, 0.28) !important;
}

#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #ffdc3d !important;
	color: #7b2b16 !important;
}

@media (max-width: 991.98px) {
	#footer::before,
	#footer:hover::before,
	#footer:focus-within::before {
		background:
			linear-gradient(180deg, rgba(111, 57, 24, 0.12), rgba(111, 57, 24, 0.32)),
			url("../img/uploads/images/bannerpromo.png") right bottom / auto 72% no-repeat !important;
		opacity: 0.42 !important;
	}
}

/* Footer final split: full orange main area, black copyright bar. */
#footer,
#footer:hover,
#footer:focus-within {
	border-top: 4px solid #da562e !important;
	background:
		linear-gradient(115deg, #f36b21 0%, #da562e 48%, #c83b18 100%) !important;
	background-color: #da562e !important;
	color: #ffffff !important;
}

#footer::before,
#footer:hover::before,
#footer:focus-within::before {
	background:
		linear-gradient(90deg, rgba(92, 35, 17, 0.1) 0%, rgba(92, 35, 17, 0.02) 42%, rgba(92, 35, 17, 0.22) 100%),
		url("../img/uploads/images/bannerpromo.png") right center / auto 132% no-repeat !important;
	opacity: 0.36 !important;
}

#footer > .container {
	background: transparent !important;
}

#footer .footer-main-grid {
	padding-top: clamp(1.9rem, 3vw, 2.7rem) !important;
	padding-bottom: clamp(1.6rem, 2.6vw, 2.2rem) !important;
}

#footer h5,
#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: rgba(255, 255, 255, 0.92) !important;
}

#footer h5::after {
	background: #ffdc3d !important;
}

#footer .footer-contact-icon,
#footer .social-icons a {
	border-color: rgba(255, 255, 255, 0.26) !important;
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffdc3d !important;
}

#footer .list-unstyled i,
#footer .footer-copyright nav i {
	background: transparent !important;
	color: #ffdc3d !important;
}

#footer a:hover,
#footer a:focus,
#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus,
#footer .list-unstyled a:hover p,
#footer .list-unstyled a:focus p,
#footer .list-unstyled a:hover strong,
#footer .list-unstyled a:focus strong {
	color: #ffffff !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	background: #101318 !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a {
	color: rgba(255, 255, 255, 0.88) !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #ffdc3d !important;
}

/* Footer ultimate override: keep labels white, icons black. */
#footer h5,
#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: #ffffff !important;
	text-shadow: none !important;
}

#footer h5::after {
	background: #111827 !important;
}

#footer .footer-contact-icon,
#footer .social-icons a,
#footer .list-unstyled i {
	border-color: rgba(17, 24, 39, 0.48) !important;
	background: rgba(17, 24, 39, 0.12) !important;
	color: #111827 !important;
}

#footer .footer-contact-icon i,
#footer .social-icons a i {
	color: #111827 !important;
}

#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #111827 !important;
	border-color: #111827 !important;
	color: #ffffff !important;
}

#footer .footer-contact-icon:hover i,
#footer .footer-contact-icon:focus i,
#footer .social-icons a:hover i,
#footer .social-icons a:focus i {
	color: #ffffff !important;
}

#footer .footer-copyright,
#footer .footer-copyright .container,
#footer .footer-copyright .container.py-2 {
	background: #111827 !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a,
#footer .footer-copyright nav i {
	color: #ffffff !important;
	background: transparent !important;
	border-color: transparent !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #ffdc3d !important;
}

/* Footer ultimate override: keep labels white, icons black. */
#footer h5,
#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: #ffffff !important;
	text-shadow: none !important;
}

#footer h5::after {
	background: #111827 !important;
}

#footer .footer-contact-icon,
#footer .social-icons a,
#footer .list-unstyled i {
	border-color: rgba(17, 24, 39, 0.48) !important;
	background: rgba(17, 24, 39, 0.12) !important;
	color: #111827 !important;
}

#footer .footer-contact-icon i,
#footer .social-icons a i {
	color: #111827 !important;
}

#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #111827 !important;
	border-color: #111827 !important;
	color: #ffffff !important;
}

#footer .footer-contact-icon:hover i,
#footer .footer-contact-icon:focus i,
#footer .social-icons a:hover i,
#footer .social-icons a:focus i {
	color: #ffffff !important;
}

#footer .footer-copyright,
#footer .footer-copyright .container,
#footer .footer-copyright .container.py-2 {
	background: #111827 !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a,
#footer .footer-copyright nav i {
	color: #ffffff !important;
	background: transparent !important;
	border-color: transparent !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #ffdc3d !important;
}

/* Footer absolute final: white text, black icons only. */
#footer h5,
#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: #ffffff !important;
	text-shadow: none !important;
}

#footer h5::after {
	background: #111827 !important;
}

#footer .footer-contact-icon,
#footer .social-icons a,
#footer .list-unstyled i {
	border-color: rgba(17, 24, 39, 0.46) !important;
	background: rgba(17, 24, 39, 0.12) !important;
	color: #111827 !important;
}

#footer .footer-contact-icon i,
#footer .social-icons a i,
#footer .list-unstyled i::before {
	color: #111827 !important;
}

#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #111827 !important;
	border-color: #111827 !important;
	color: #ffffff !important;
}

#footer .footer-contact-icon:hover i,
#footer .footer-contact-icon:focus i,
#footer .social-icons a:hover i,
#footer .social-icons a:focus i {
	color: #ffffff !important;
}

#footer .footer-copyright,
#footer .footer-copyright .container,
#footer .footer-copyright .container.py-2 {
	background: #111827 !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a,
#footer .footer-copyright nav i {
	color: #ffffff !important;
	background: transparent !important;
	border-color: transparent !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #ffdc3d !important;
}

/* Footer final: white text, black icon accents. */
#footer h5,
#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: #ffffff !important;
	text-shadow: none !important;
}

#footer h5::after {
	background: #111827 !important;
}

#footer .footer-contact-icon,
#footer .social-icons a,
#footer .list-unstyled i {
	border-color: rgba(17, 24, 39, 0.42) !important;
	background: rgba(17, 24, 39, 0.1) !important;
	color: #111827 !important;
}

#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #111827 !important;
	border-color: #111827 !important;
	color: #ffffff !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a,
#footer .footer-copyright nav i {
	color: #ffffff !important;
	background: transparent !important;
	border-color: transparent !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #ffdc3d !important;
}

@media (max-width: 991.98px) {
	#footer::before,
	#footer:hover::before,
	#footer:focus-within::before {
		background:
			linear-gradient(180deg, rgba(92, 35, 17, 0.08), rgba(92, 35, 17, 0.28)),
			url("../img/uploads/images/bannerpromo.png") right bottom / auto 74% no-repeat !important;
		opacity: 0.26 !important;
	}
}

/* Footer photo-only pass: full-width image with one uniform overlay color. */
#footer,
#footer:hover,
#footer:focus-within {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	border-top: 4px solid #da562e !important;
	background: url("../../images/header-commun-orgnl.png") center center / cover no-repeat !important;
	background-color: transparent !important;
	color: #ffffff !important;
}

#footer::before,
#footer:hover::before,
#footer:focus-within::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	background: #3a2717 !important;
	opacity: 0.34 !important;
	visibility: visible !important;
	pointer-events: none !important;
}

#footer > .container,
#footer .footer-copyright,
#footer .footer-copyright .container.py-2 {
	position: relative !important;
	z-index: 1 !important;
	background: transparent !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
	background: transparent !important;
}

#footer .footer-brand-link--top,
#footer .footer-contact-icon,
#footer .social-icons a,
#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: transparent !important;
	box-shadow: none !important;
}

#footer .footer-brand-link--top {
	background: rgba(255, 255, 255, 0.92) !important;
}

#footer .footer-contact-icon,
#footer .social-icons a {
	border-color: rgba(255, 255, 255, 0.36) !important;
	color: #ffdc3d !important;
}

#footer h5,
#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong,
#footer .footer-copyright p,
#footer .footer-copyright nav a {
	color: #ffffff !important;
}

/* Footer without photo: orange hero color only. */
#footer,
#footer:hover,
#footer:focus-within {
	background:
		url("../../images/header-commun-orgnl.png") center center / cover no-repeat !important;
	background-color: transparent !important;
}

#footer::before,
#footer:hover::before,
#footer:focus-within::before {
	background:
		linear-gradient(90deg, rgba(36, 28, 18, 0.5), rgba(36, 28, 18, 0.26) 45%, rgba(36, 28, 18, 0.48)) !important;
	opacity: 1 !important;
}

#footer .footer-copyright {
	background: rgba(92, 35, 17, 0.24) !important;
}

/* Footer: raw image, no recoloring; black bottom band. */
#footer,
#footer:hover,
#footer:focus-within {
	background: url("../../images/header-commun-orgnl.png") center center / cover no-repeat !important;
	background-color: transparent !important;
}

#footer::before,
#footer:hover::before,
#footer:focus-within::before {
	background: transparent !important;
	opacity: 0 !important;
}

#footer .footer-copyright {
	background: #101318 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Footer reset: only the background image remains, no overlay/recolor layers. */
#footer,
#footer:hover,
#footer:focus-within {
	background: url("../../images/header-commun-orgnl.png") center center / cover no-repeat !important;
	background-color: transparent !important;
}

#footer::before,
#footer::after,
#footer:hover::before,
#footer:hover::after,
#footer:focus-within::before,
#footer:focus-within::after {
	display: none !important;
	content: none !important;
	background: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

#footer > .container,
#footer .footer-main-grid,
#footer .footer-copyright,
#footer .footer-copyright .container,
#footer .footer-copyright .container.py-2,
#footer .footer-copyright .row,
#footer .footer-contact-icon,
#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

#footer .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
}

/* Footer tone: distinct warm orange treatment from the deal card. */
#footer,
#footer:hover,
#footer:focus-within {
	background:
		linear-gradient(115deg, rgba(195, 73, 23, 0.9), rgba(223, 82, 45, 0.86)),
		url("../../images/header-commun-orgnl.png") center center / cover no-repeat !important;
}

#footer .footer-copyright {
	background: #111827 !important;
}

/* Footer contrast pass: add dark influence to text/icons without losing orange identity. */
#footer h5,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled strong,
#footer p {
	color: #1f2937 !important;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

#footer h5::after {
	background: #1f2937 !important;
}

#footer .footer-contact-icon,
#footer .social-icons a,
#footer .list-unstyled i {
	border-color: rgba(31, 41, 55, 0.26) !important;
	background: rgba(31, 41, 55, 0.12) !important;
	color: #1f2937 !important;
}

#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #1f2937 !important;
	border-color: #1f2937 !important;
	color: #ffffff !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a {
	color: rgba(255, 255, 255, 0.9) !important;
	text-shadow: none !important;
}

/* Footer final readability: white text on orange, black icon accents. */
#footer h5,
#footer p,
#footer li,
#footer a,
#footer a:not(.btn):not(.no-footer-css),
#footer .text-white,
#footer .text-color-light,
#footer .footer-contact-text,
#footer .footer-contact-text a,
#footer .list-unstyled a p,
#footer .list-unstyled strong {
	color: #ffffff !important;
	text-shadow: none !important;
}

#footer h5::after {
	background: #111827 !important;
}

#footer .footer-contact-icon,
#footer .social-icons a,
#footer .list-unstyled i,
#footer .footer-copyright nav i {
	border-color: rgba(17, 24, 39, 0.48) !important;
	background: rgba(17, 24, 39, 0.12) !important;
	color: #111827 !important;
}

#footer a:hover,
#footer a:focus,
#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus,
#footer .list-unstyled a:hover p,
#footer .list-unstyled a:focus p,
#footer .list-unstyled a:hover strong,
#footer .list-unstyled a:focus strong,
#footer .footer-contact-text a:hover,
#footer .footer-contact-text a:focus {
	color: #ffffff !important;
}

#footer .footer-contact-icon:hover,
#footer .footer-contact-icon:focus,
#footer .social-icons a:hover,
#footer .social-icons a:focus {
	background: #111827 !important;
	border-color: #111827 !important;
	color: #ffffff !important;
}

#footer .footer-copyright,
#footer .footer-copyright .container,
#footer .footer-copyright .container.py-2 {
	background: #111827 !important;
}

#footer .footer-copyright p,
#footer .footer-copyright nav a,
#footer .footer-copyright nav i {
	color: #ffffff !important;
	background: transparent !important;
	border-color: transparent !important;
}

#footer .footer-copyright nav a:hover,
#footer .footer-copyright nav a:focus {
	color: #ffdc3d !important;
}

.product-zoom-trigger {
    position: relative;
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: zoom-in;
    appearance: none;
    outline: none;
}

.product-zoom-trigger:focus-visible {
    box-shadow: 0 0 0 3px rgba(227, 6, 19, .18);
}

.product-detail-page .product-detail-hero {
    padding: 1.75rem 0 3rem;
    background: linear-gradient(180deg, #fffaf5 0%, #ffffff 82%);
}

.product-detail-page .product-detail-hero .row {
    align-items: stretch !important;
}

.product-detail-page .product-detail-media {
    min-height: 500px !important;
    padding: 24px !important;
    overflow: visible !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(135deg, rgba(76, 132, 56, .08), rgba(248, 197, 51, .14)),
        #fff !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, .08) !important;
}

.product-detail-page .product-detail-badge {
    z-index: 4;
    top: 18px !important;
    left: 18px !important;
    min-width: 58px;
    height: 58px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px !important;
    box-shadow: 0 14px 28px rgba(227, 6, 19, .24);
}

body.is-rtl .product-detail-page .product-detail-badge {
    left: auto !important;
    right: 18px !important;
}

.product-detail-page .product-detail-summary {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem !important;
    border-radius: 8px !important;
}

.product-detail-page .product-detail-summary h1 {
    font-size: clamp(2.25rem, 4.4vw, 4.25rem) !important;
    letter-spacing: 0 !important;
}

.product-detail-page .product-detail-description {
    max-width: 58ch;
    margin: .95rem 0 1.45rem;
    color: #475467;
    font-size: 1rem;
    line-height: 1.7;
}

.product-detail-page .product-detail-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0 0 1.25rem;
}

.product-detail-page .product-detail-meta > div {
    min-height: 76px;
    padding: .85rem .9rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .07);
}

.product-detail-page .product-detail-meta dd {
    margin: .45rem 0 0;
    color: #101828;
    font-size: .95rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.product-detail-page .product-detail-purchase {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.product-detail-page .product-detail-purchase label {
    margin: 0;
    color: #667085;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.product-detail-page .product-detail-quantity {
    display: inline-grid;
    grid-template-columns: 38px 64px 38px;
    height: 42px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 8px;
    background: #fff;
}

.product-detail-page .product-detail-quantity button,
.product-detail-page .product-detail-quantity input {
    width: 100%;
    border: 0;
    background: transparent;
    color: #172033;
    text-align: center;
    font-weight: 800;
}

.product-detail-page .product-detail-quantity button {
    background: #f8fafc;
}

.product-detail-page .product-detail-quantity button:hover {
    background: #eef2f7;
}

.product-detail-page .product-detail-quantity input::-webkit-outer-spin-button,
.product-detail-page .product-detail-quantity input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.product-detail-page .product-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.product-detail-page .product-detail-actions .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-detail-page .product-detail-content {
    padding: 2rem 0 3rem;
    background: linear-gradient(180deg, #fffaf5 0%, #ffffff 100%);
}

.product-detail-page .product-info-panel {
    min-height: 210px;
    padding: 1.55rem !important;
}

.product-detail-page .product-info-panel h2 {
    margin: 0 0 1rem !important;
}

.product-detail-page .product-info-list {
    display: grid;
    gap: .75rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.product-detail-page .product-info-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 44px;
    padding: .75rem .9rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .07);
}

.product-detail-page .product-info-list span,
.product-detail-page .product-detail-meta dt {
    flex: 0 0 auto;
    color: #667085;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.product-detail-page .product-info-list strong {
    min-width: 0;
    color: #172033;
    font-size: .9rem;
    font-weight: 800;
    text-align: end;
    overflow-wrap: anywhere;
}

.product-zoom-trigger img {
    display: block;
    width: 100%;
}

.product-zoom-trigger--detail {
    height: 100%;
    min-height: 450px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .04);
}

.product-zoom-trigger--detail img {
    width: min(100%, 640px);
    height: min(100%, 390px);
    object-fit: contain;
    padding: 20px;
}

.product-zoom-trigger--quick {
    min-height: 260px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #f8fafc;
    overflow: hidden;
}

.product-zoom-trigger--quick img {
    max-height: 260px;
    object-fit: contain;
    padding: 16px;
}

.product-zoom-trigger span {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .88);
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .18s ease, transform .18s ease;
}

body.is-rtl .product-zoom-trigger span {
    right: auto;
    left: 14px;
}

.product-zoom-trigger:hover span,
.product-zoom-trigger:focus-visible span {
    opacity: 1;
    transform: translateY(0);
}

.product-zoom-viewer {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: grid;
    place-items: center;
    padding: 28px;
    background: rgba(15, 23, 42, .76);
    cursor: zoom-out;
}

.product-zoom-viewer__dialog {
    position: relative;
    width: min(1120px, 100%);
    height: min(820px, calc(100vh - 56px));
    display: grid;
    place-items: center;
    padding: 28px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
    cursor: default;
}

.product-zoom-viewer__dialog img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    cursor: zoom-out;
}

.product-zoom-viewer__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: #101828;
    color: #fff;
    font-size: 24px;
    line-height: 1;
}

body.is-rtl .product-zoom-viewer__close {
    right: auto;
    left: 12px;
}

body.product-zoom-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .product-detail-page .product-detail-media {
        min-height: 330px !important;
        padding: 16px !important;
    }

    .product-detail-page .product-detail-summary {
        padding: 1.25rem !important;
    }

    .product-detail-page .product-info-list li {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }

    .product-detail-page .product-info-list strong {
        text-align: start;
    }

    .product-detail-page .product-detail-meta {
        grid-template-columns: 1fr;
    }

    .product-detail-page .product-detail-purchase {
        align-items: flex-start;
        flex-direction: column;
        gap: .5rem;
    }

    .product-zoom-trigger--detail {
        min-height: 290px;
    }

    .product-zoom-trigger--detail img {
        height: 270px;
    }

    .product-zoom-trigger span {
        opacity: 1;
        transform: none;
    }

    .product-zoom-viewer {
        padding: 14px;
    }

    .product-zoom-viewer__dialog {
        height: calc(100vh - 28px);
        padding: 16px;
    }
}

.site-toast-stack {
    position: fixed;
    top: 16px;
    right: 18px;
    z-index: 10050;
    display: grid;
    gap: 10px;
    width: min(360px, calc(100vw - 28px));
}

body.is-rtl .site-toast-stack {
    right: auto;
    left: 18px;
}

.site-toast {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .1);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
    color: #182033;
    animation: siteToastIn .18s ease-out;
}

.site-toast.is-hiding {
    opacity: 0;
    transform: translateY(-6px);
}

.site-toast--success .site-toast__icon {
    color: #2f6f28;
}

.site-toast--error .site-toast__icon {
    color: #e30613;
}

.site-toast__message {
    font-weight: 700;
    font-size: .92rem;
}

.site-toast__action {
    color: #e30613;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.site-toast__close {
    position: relative;
    z-index: 2;
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    min-width: 24px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    pointer-events: auto;
}

.site-toast__close:hover,
.site-toast__close:focus {
    background: #e2e8f0;
    color: #172033;
}

.favorite-qty {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: #e30613;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.favorite-qty.is-empty {
    display: none;
}

.site-header__favorite {
    position: relative;
}

@keyframes siteToastIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================================
   Panier : controle de quantite clair et editable manuellement (gros nombres).
   On remplace le style theme (boutons superposes sur l'input) par une rangee
   nette : [-] [ champ large editable ] [+].
   ========================================================================= */
.shop .product-quantity .cart-qty-control {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    float: none !important;
}

.shop .product-quantity .cart-qty-control .minus,
.shop .product-quantity .cart-qty-control .plus {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #333 !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.shop .product-quantity .cart-qty-control .minus:hover,
.shop .product-quantity .cart-qty-control .plus:hover {
    background: #f3f4f6 !important;
    border-color: #bdbdbd !important;
}

.shop .product-quantity .cart-qty-control .qty-input,
.shop .product-quantity .cart-qty-control .pack-qty-input {
    position: static !important;
    float: none !important;
    width: 66px !important;
    height: 40px !important;
    padding: 0 8px !important;
    text-align: center !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #111 !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    cursor: text !important;
    -moz-appearance: textfield;
    appearance: textfield;
}

.shop .product-quantity .cart-qty-control .qty-input:focus,
.shop .product-quantity .cart-qty-control .pack-qty-input:focus {
    border-color: #4c8438 !important;
    box-shadow: 0 0 0 3px rgba(76, 132, 56, 0.18) !important;
    outline: none !important;
}

.shop .product-quantity .cart-qty-control input[type="number"]::-webkit-outer-spin-button,
.shop .product-quantity .cart-qty-control input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@media (max-width: 767px) {
    .site-toast-stack {
        top: 12px;
        right: 14px;
    }

body.is-rtl .site-toast-stack {
    left: 14px;
}
}

/* Product detail: final professional storefront layout. */
.product-detail-page {
    background: #f7faf6 !important;
}

.product-detail-page .product-detail-hero {
    padding: clamp(1.2rem, 2.6vw, 2.2rem) 0 clamp(3rem, 5vw, 4.75rem) !important;
    background:
        linear-gradient(180deg, #fffaf4 0%, #f7faf6 56%, #ffffff 100%) !important;
}

.product-detail-page .container {
    width: min(100% - 32px, 1200px) !important;
    max-width: 1200px !important;
}

.product-detail-page .product-breadcrumb {
    margin-bottom: 1.15rem !important;
    padding: .75rem .95rem !important;
    border: 1px solid rgba(23, 32, 51, .08) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: 0 12px 30px rgba(23, 32, 51, .05) !important;
}

.product-detail-page .product-breadcrumb,
.product-detail-page .product-breadcrumb a,
.product-detail-page .breadcrumb-item.active {
    color: #5f6f86 !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
}

.product-detail-page .product-breadcrumb a:hover,
.product-detail-page .product-breadcrumb a:focus {
    color: var(--site-green) !important;
}

.product-detail-page .product-detail-hero .row {
    align-items: stretch !important;
    row-gap: 1.25rem !important;
}

.product-detail-page .product-detail-media,
.product-detail-page .product-detail-summary {
    height: 100% !important;
    border: 1px solid rgba(23, 32, 51, .09) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 24px 62px rgba(23, 32, 51, .08) !important;
}

.product-detail-page .product-detail-media {
    position: relative !important;
    display: grid !important;
    min-height: clamp(380px, 42vw, 560px) !important;
    padding: clamp(1rem, 2.1vw, 1.5rem) !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 18% 18%, rgba(248, 197, 51, .22), transparent 15rem),
        radial-gradient(circle at 84% 82%, rgba(76, 132, 56, .12), transparent 16rem),
        #ffffff !important;
}

.product-detail-page .product-detail-media::after {
    content: "";
    position: absolute;
    left: clamp(1.2rem, 3vw, 2rem);
    right: clamp(1.2rem, 3vw, 2rem);
    bottom: clamp(1rem, 2.5vw, 1.65rem);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(23, 32, 51, .12), transparent);
    pointer-events: none;
}

.product-detail-page .product-zoom-trigger--detail {
    min-height: 0 !important;
    height: 100% !important;
    border-radius: 10px !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .9)) !important;
    box-shadow: inset 0 0 0 1px rgba(23, 32, 51, .05) !important;
}

.product-detail-page .product-zoom-trigger--detail img {
    width: min(82%, 520px) !important;
    height: min(72%, 390px) !important;
    padding: 0 !important;
    object-fit: contain !important;
    filter: drop-shadow(0 20px 26px rgba(23, 32, 51, .11)) !important;
}

.product-detail-page .product-detail-badge {
    top: 1.15rem !important;
    left: 1.15rem !important;
    min-width: 58px !important;
    height: 58px !important;
    background: var(--site-red) !important;
    color: #ffffff !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 34px rgba(227, 6, 19, .26) !important;
}

body.is-rtl .product-detail-page .product-detail-badge {
    right: 1.15rem !important;
    left: auto !important;
}

.product-detail-page .product-detail-summary {
    justify-content: flex-start !important;
    padding: clamp(1.45rem, 3vw, 2.35rem) !important;
}

.product-detail-page .product-detail-category {
    width: fit-content !important;
    margin-bottom: 1.1rem !important;
    padding: .42rem .72rem !important;
    border: 1px solid rgba(227, 6, 19, .16) !important;
    border-radius: 8px !important;
    background: rgba(227, 6, 19, .06) !important;
    color: var(--site-red) !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.product-detail-page .product-detail-summary h1 {
    max-width: 10.5ch !important;
    margin: 0 0 .7rem !important;
    color: var(--site-ink) !important;
    font-size: clamp(2rem, 4.1vw, 4rem) !important;
    font-weight: 950 !important;
    line-height: 1.02 !important;
}

.product-detail-page .product-detail-price {
    display: flex !important;
    align-items: baseline !important;
    gap: .65rem !important;
    margin-bottom: 1.05rem !important;
}

.product-detail-page .product-detail-price strong {
    color: var(--site-red) !important;
    font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
    line-height: 1 !important;
}

.product-detail-page .product-detail-price del {
    color: #98a2b3 !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
}

.product-detail-page .product-detail-description {
    margin: 0 0 1.35rem !important;
    color: #536176 !important;
    font-size: .98rem !important;
    line-height: 1.65 !important;
}

.product-detail-page .product-detail-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
    margin-bottom: 1.25rem !important;
}

.product-detail-page .product-detail-meta > div {
    min-height: 82px !important;
    padding: .9rem .95rem !important;
    border: 1px solid #e3e9ef !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

.product-detail-page .product-detail-meta dt {
    color: #667085 !important;
    font-size: .68rem !important;
    letter-spacing: .05em !important;
}

.product-detail-page .product-detail-meta dd {
    color: #101828 !important;
    font-size: .95rem !important;
    line-height: 1.35 !important;
}

.product-detail-page .product-detail-purchase {
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin: .25rem 0 1rem !important;
    padding: .85rem !important;
    border: 1px solid #e3e9ef !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.product-detail-page .product-detail-quantity {
    grid-template-columns: 42px 64px 42px !important;
    height: 44px !important;
}

.product-detail-page .product-detail-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: .75rem !important;
}

.product-detail-page .product-detail-actions .btn {
    min-height: 48px !important;
    padding: .72rem 1.05rem !important;
    border-radius: 8px !important;
    font-size: .94rem !important;
    white-space: nowrap !important;
}

.product-detail-page .product-detail-actions .btn-primary {
    background: var(--site-green) !important;
    border-color: var(--site-green) !important;
}

.product-detail-page .product-detail-actions .btn-outline-danger {
    color: var(--site-red) !important;
    border-color: rgba(227, 6, 19, .46) !important;
    background: #ffffff !important;
}

.product-detail-page .product-detail-actions .btn-outline-danger:hover,
.product-detail-page .product-detail-actions .btn-outline-danger:focus {
    color: #ffffff !important;
    border-color: var(--site-red) !important;
    background: var(--site-red) !important;
}

.product-detail-page .product-detail-actions .btn-outline-secondary {
    grid-column: 1 / -1 !important;
    color: #536176 !important;
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
}

@media (max-width: 991.98px) {
    .product-detail-page .product-detail-summary h1 {
        max-width: 14ch !important;
    }
}

@media (max-width: 767.98px) {
    .product-detail-page .container {
        width: min(100% - 20px, 1200px) !important;
    }

    .product-detail-page .product-detail-media {
        min-height: 330px !important;
    }

    .product-detail-page .product-detail-meta,
    .product-detail-page .product-detail-actions {
        grid-template-columns: 1fr !important;
    }

    .product-detail-page .product-detail-purchase {
        align-items: stretch !important;
        flex-direction: row !important;
    }

    .product-detail-page .product-detail-actions .btn {
        width: 100% !important;
    }
}

@media (max-width: 420px) {
    .product-detail-page .product-detail-summary h1 {
        font-size: 1.75rem !important;
    }

    .product-detail-page .product-detail-purchase {
        flex-direction: column !important;
    }
}

/* Product detail compact pass. */
.product-detail-page .product-detail-summary {
    gap: 0 !important;
    padding: clamp(1.25rem, 2.5vw, 2rem) !important;
}

.product-detail-page .product-detail-category {
    margin-bottom: .75rem !important;
}

.product-detail-page .product-detail-summary h1 {
    margin-bottom: .55rem !important;
    font-size: clamp(1.75rem, 3.25vw, 3.25rem) !important;
    line-height: 1.04 !important;
}

.product-detail-page .product-detail-price {
    margin-bottom: .75rem !important;
}

.product-detail-page .product-detail-description {
    margin-bottom: 1rem !important;
    line-height: 1.55 !important;
}

.product-detail-page .product-detail-meta {
    gap: .6rem !important;
    margin-bottom: .9rem !important;
}

.product-detail-page .product-detail-meta > div {
    min-height: 70px !important;
    padding: .75rem .85rem !important;
}

.product-detail-page .product-detail-meta dd {
    margin-top: .3rem !important;
}

.product-detail-page .product-detail-purchase {
    margin-bottom: .75rem !important;
    padding: .7rem .8rem !important;
}

/* Product image zoom: keep the preview readable without covering the whole screen. */
.product-zoom-viewer {
    padding: clamp(14px, 3vw, 28px) !important;
}

.product-zoom-viewer__dialog {
    width: min(760px, calc(100vw - 32px)) !important;
    height: auto !important;
    max-height: calc(100vh - 56px) !important;
    padding: clamp(1rem, 2.4vw, 1.5rem) !important;
    border-radius: 12px !important;
}

.product-zoom-viewer__dialog img {
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 120px) !important;
    object-fit: contain !important;
}

.product-zoom-viewer__close {
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
}

@media (max-width: 575.98px) {
    .product-zoom-viewer__dialog {
        width: calc(100vw - 24px) !important;
        max-height: calc(100vh - 32px) !important;
    }

    .product-zoom-viewer__dialog img {
        max-height: calc(100vh - 96px) !important;
    }
}

/* Cart removal: professional confirmation and feedback. */
.cart_table_item {
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
}

.cart_table_item.is-removing {
    opacity: .52;
    transform: translateX(6px);
    background: #fff7ed;
    pointer-events: none;
}

.product-thumbnail-remove.remove-item {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(227, 6, 19, .18);
    border-radius: 999px;
    background: #fff;
    color: var(--site-red, #e30613);
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(23, 32, 51, .08);
}

.product-thumbnail-remove.remove-item:hover,
.product-thumbnail-remove.remove-item:focus {
    background: var(--site-red, #e30613);
    border-color: var(--site-red, #e30613);
    color: #fff;
}

.cart-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 20010;
    display: none;
    place-items: center;
    padding: 20px;
}

.cart-confirm-modal.is-open {
    display: grid;
}

.cart-confirm-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
}

.cart-confirm-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(420px, 100%);
    padding: 1.45rem;
    border: 1px solid rgba(23, 32, 51, .08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 26px 80px rgba(15, 23, 42, .24);
}

.cart-confirm-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 20px;
    line-height: 1;
}

.cart-confirm-modal__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: rgba(227, 6, 19, .08);
    color: var(--site-red, #e30613);
}

.cart-confirm-modal h3 {
    margin: 0 2rem .45rem 0;
    color: var(--site-ink, #172033);
    font-size: 1.2rem;
    font-weight: 900;
}

.cart-confirm-modal p {
    margin: 0 0 1.25rem;
    color: #64748b;
    line-height: 1.55;
}

.cart-confirm-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: .65rem;
}

.cart-confirm-modal__actions .btn {
    min-height: 42px;
    padding: .6rem 1rem;
}

.cart-toast-stack {
    position: fixed;
    top: 96px;
    right: 18px;
    z-index: 20020;
    display: grid;
    gap: 10px;
    width: min(360px, calc(100vw - 28px));
}

.cart-toast {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .75rem;
    padding: .85rem .95rem;
    border: 1px solid rgba(23, 32, 51, .1);
    border-radius: 10px;
    background: #fff;
    color: var(--site-ink, #172033);
    box-shadow: 0 20px 52px rgba(15, 23, 42, .16);
    animation: siteToastIn .18s ease-out;
}

.cart-toast.is-hiding {
    opacity: 0;
    transform: translateY(-6px);
}

.cart-toast span {
    color: var(--site-green, #4c8438);
}

.cart-toast--error span {
    color: var(--site-red, #e30613);
}

.cart-toast strong {
    font-size: .92rem;
}

.cart-toast button {
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 18px;
    line-height: 1;
}

@media (max-width: 575.98px) {
    .cart-confirm-modal__actions {
        flex-direction: column-reverse;
    }

    .cart-confirm-modal__actions .btn {
        width: 100%;
    }

    .cart-toast-stack {
        top: 78px;
        right: 14px;
    }
}

/* Boutique and categories final presentation pass. */
.catalog-page,
.catalog-category-page,
.category-shop-page {
    background: #f6f8f3 !important;
}

.catalog-page .catalog-hero,
.catalog-category-page .catalog-hero,
.category-shop-page .catalog-hero {
    min-height: clamp(260px, 28vw, 360px) !important;
    padding: clamp(2rem, 4vw, 3.4rem) 0 !important;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, .74) 0%, rgba(15, 23, 42, .42) 42%, rgba(15, 23, 42, .12) 100%),
        url("../../images/header-commun.png") center / cover no-repeat !important;
}

.catalog-page .catalog-hero__inner,
.catalog-category-page .catalog-hero__inner,
.category-shop-page .catalog-hero__inner {
    align-items: center !important;
    gap: clamp(1.25rem, 4vw, 3rem) !important;
}

.catalog-page .catalog-hero h1,
.catalog-category-page .catalog-hero h1,
.category-shop-page .catalog-hero h1 {
    max-width: 780px !important;
    margin-top: .55rem !important;
    font-size: clamp(2.35rem, 4.7vw, 4.45rem) !important;
    line-height: .96 !important;
}

.catalog-page .catalog-hero p,
.catalog-category-page .catalog-hero p,
.category-shop-page .catalog-hero p {
    max-width: 660px !important;
    font-size: clamp(.98rem, 1.4vw, 1.12rem) !important;
    font-weight: 650 !important;
}

.catalog-page .catalog-breadcrumb,
.catalog-category-page .catalog-breadcrumb,
.category-shop-page .catalog-breadcrumb {
    display: inline-flex !important;
    max-width: 100% !important;
    padding: .45rem .72rem !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .22) !important;
    backdrop-filter: blur(6px) !important;
}

.catalog-page .catalog-hero__metrics,
.catalog-category-page .catalog-hero__metrics,
.category-shop-page .catalog-hero__metrics {
    align-self: stretch !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(116px, 1fr)) !important;
    min-width: min(100%, 420px) !important;
    max-width: 470px !important;
}

.catalog-page .catalog-hero__metrics div,
.catalog-category-page .catalog-hero__metrics div,
.category-shop-page .catalog-hero__metrics div,
.catalog-hero__action {
    display: grid !important;
    align-content: center !important;
    min-height: 104px !important;
    padding: 1rem !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .15) !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .18) !important;
}

.catalog-hero__action {
    place-items: center !important;
    min-width: 170px !important;
    color: #fff !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.catalog-hero__action:hover,
.catalog-hero__action:focus {
    background: var(--site-red, #e30613) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

.catalog-brands-band {
    padding: 1.55rem 0 !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .055) !important;
}

.catalog-brands-band__header {
    margin-bottom: 1rem !important;
}

.catalog-brand-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
}

.catalog-brand-filter {
    min-height: 78px !important;
    padding: .85rem !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .06) !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

.catalog-brand-filter:hover,
.catalog-brand-filter.active {
    border-color: rgba(227, 6, 19, .22) !important;
    background: linear-gradient(135deg, #fff 0%, #fff8f5 100%) !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .1) !important;
    transform: translateY(-3px) !important;
}

.catalog-brand-filter img {
    width: 68px !important;
    height: 50px !important;
}

.catalog-body,
.catalog-categories-section {
    padding: clamp(2rem, 4vw, 3.4rem) 0 !important;
    background:
        linear-gradient(180deg, #f6f8f3 0%, #ffffff 100%) !important;
}

.catalog-sidebar,
.catalog-toolbar,
.catalog-active-filters,
.catalog-empty-state,
.subcategory-nav,
.category-search-panel {
    border-color: rgba(15, 23, 42, .075) !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .075) !important;
}

.catalog-sidebar {
    position: sticky !important;
    top: 122px !important;
}

.catalog-filter-form__header,
.catalog-toolbar {
    background:
        linear-gradient(135deg, rgba(76, 132, 56, .105), rgba(255, 220, 61, .16) 52%, rgba(227, 6, 19, .055)) !important;
}

.catalog-filter-section {
    padding: 1.05rem 0 !important;
}

.catalog-category-list ul {
    margin-left: .35rem !important;
    padding-left: .75rem !important;
}

.catalog-category-list a {
    min-height: 40px !important;
    padding: .55rem .62rem !important;
}

.catalog-search .form-control,
.catalog-filter-form .form-select {
    min-height: 46px !important;
    background: #fbfcfd !important;
}

.catalog-search .btn,
.catalog-filter-form .btn-primary,
.category-search-panel .btn-primary {
    border-color: var(--site-red, #e30613) !important;
    background: var(--site-red, #e30613) !important;
    color: #fff !important;
}

.catalog-toolbar {
    align-items: center !important;
    min-height: 88px !important;
    padding: 1.1rem 1.2rem !important;
}

.catalog-toolbar__count {
    background: #fff !important;
    color: var(--site-ink, #172033) !important;
}

.catalog-products .row {
    --bs-gutter-x: 1.1rem;
    --bs-gutter-y: 1.1rem;
}

.catalog-products .grocery-product-card {
    min-height: 342px !important;
    border-color: rgba(15, 23, 42, .075) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .075) !important;
}

.catalog-products .grocery-product-card__media {
    flex-basis: 176px !important;
    height: 176px !important;
    min-height: 176px !important;
    background:
        linear-gradient(135deg, rgba(76, 132, 56, .075), rgba(255, 220, 61, .11)),
        #fbfcf7 !important;
}

.catalog-products .grocery-product-card__image {
    height: 148px !important;
    max-height: 148px !important;
}

.catalog-products .grocery-product-card__title {
    text-transform: none !important;
    font-size: .91rem !important;
}

.catalog-products .grocery-product-card__actions {
    justify-content: space-between !important;
}

.catalog-categories-section .container {
    max-width: 1320px !important;
}

.categories-grid {
    --bs-gutter-x: 1.1rem;
    --bs-gutter-y: 1.1rem;
}

.catalog-category-card {
    position: relative !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    min-height: 248px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 8px !important;
    background: #172033 !important;
    color: #fff !important;
    text-align: left !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .11) !important;
}

.catalog-category-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .02) 0%, rgba(15, 23, 42, .32) 46%, rgba(15, 23, 42, .86) 100%) !important;
    pointer-events: none !important;
}

.catalog-category-card:hover,
.catalog-category-card.active {
    border-color: rgba(255, 220, 61, .55) !important;
    box-shadow: 0 28px 62px rgba(15, 23, 42, .16) !important;
    transform: translateY(-5px) !important;
}

.catalog-category-card__photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    line-height: 248px !important;
    text-align: center !important;
}

.catalog-category-card__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.catalog-category-card__count,
.catalog-category-card strong,
.catalog-category-card small {
    position: relative !important;
    z-index: 2 !important;
    margin-left: 1rem !important;
    margin-right: 1rem !important;
}

.catalog-category-card__count {
    order: 1 !important;
    display: inline-flex !important;
    width: auto !important;
    margin-bottom: .55rem !important;
    padding: .35rem .7rem !important;
    border-radius: 999px !important;
    background: rgba(255, 220, 61, .94) !important;
    color: #172033 !important;
    font-size: .75rem !important;
    font-weight: 950 !important;
}

.catalog-category-card strong {
    order: 2 !important;
    margin-top: 0 !important;
    color: #fff !important;
    font-size: clamp(1.02rem, 1.7vw, 1.22rem) !important;
    line-height: 1.18 !important;
    text-shadow: 0 12px 26px rgba(0, 0, 0, .28) !important;
}

.catalog-category-card small {
    order: 3 !important;
    margin-top: .45rem !important;
    margin-bottom: 1rem !important;
    color: rgba(255, 255, 255, .78) !important;
    font-weight: 800 !important;
}

.catalog-category-content {
    margin-top: clamp(1.6rem, 3vw, 2.6rem) !important;
}

.catalog-category-content > .catalog-empty-state {
    min-height: 190px !important;
    background:
        linear-gradient(135deg, rgba(76, 132, 56, .08), rgba(255, 220, 61, .12)),
        #fff !important;
}

.subcategory-nav h5 {
    color: var(--site-ink, #172033) !important;
    font-weight: 900 !important;
}

.subcategory-list {
    gap: .65rem !important;
}

.subcategory-item {
    min-height: 40px !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .045) !important;
}

.subcategory-item:hover,
.subcategory-item.active {
    border-color: var(--site-green, #4c8438) !important;
    background: var(--site-green, #4c8438) !important;
}

.category-search-panel {
    padding: 1rem !important;
    background:
        linear-gradient(135deg, rgba(76, 132, 56, .075), rgba(255, 220, 61, .12)),
        #fff !important;
}

.category-search-panel .catalog-search {
    max-width: 760px !important;
}

body.is-rtl .catalog-category-card {
    text-align: right !important;
}

body.is-rtl .catalog-category-card__count,
body.is-rtl .catalog-category-card strong,
body.is-rtl .catalog-category-card small {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
}

@media (max-width: 991.98px) {
    .catalog-page .catalog-hero__metrics,
    .catalog-category-page .catalog-hero__metrics,
    .category-shop-page .catalog-hero__metrics {
        max-width: none !important;
    }

    .catalog-sidebar {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 575.98px) {
    .catalog-page .catalog-hero,
    .catalog-category-page .catalog-hero,
    .category-shop-page .catalog-hero {
        min-height: 0 !important;
    }

    .catalog-page .catalog-hero__metrics,
    .catalog-category-page .catalog-hero__metrics,
    .category-shop-page .catalog-hero__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .catalog-page .catalog-hero__metrics div,
    .catalog-category-page .catalog-hero__metrics div,
    .category-shop-page .catalog-hero__metrics div,
    .catalog-hero__action {
        min-height: 82px !important;
        padding: .8rem !important;
    }

    .catalog-brand-filter-grid {
        grid-template-columns: 1fr !important;
    }

    .catalog-toolbar {
        min-height: 0 !important;
    }

    .catalog-category-card {
        min-height: 198px !important;
    }

    .catalog-category-card__photo {
        line-height: 198px !important;
    }
}

/* Boutique refinements requested after preview. */
.catalog-page .catalog-breadcrumb,
.catalog-category-page .catalog-breadcrumb,
.category-shop-page .catalog-breadcrumb {
    width: fit-content !important;
    max-width: min(100%, 560px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: .38rem .9rem !important;
    background: rgba(23, 32, 51, .28) !important;
}

.catalog-page .catalog-breadcrumb .breadcrumb,
.catalog-category-page .catalog-breadcrumb .breadcrumb,
.category-shop-page .catalog-breadcrumb .breadcrumb {
    width: auto !important;
    justify-content: center !important;
    gap: .35rem !important;
}

.catalog-page .catalog-hero,
.catalog-category-page .catalog-hero,
.category-shop-page .catalog-hero {
    min-height: clamp(230px, 24vw, 315px) !important;
    padding: clamp(1.65rem, 3.2vw, 2.65rem) 0 !important;
}

.catalog-page .catalog-hero__inner,
.catalog-category-page .catalog-hero__inner,
.category-shop-page .catalog-hero__inner {
    justify-items: center !important;
    text-align: center !important;
}

.catalog-page .catalog-hero__metrics,
.catalog-category-page .catalog-hero__metrics,
.category-shop-page .catalog-hero__metrics {
    align-self: auto !important;
}

.catalog-page .catalog-hero__metrics div,
.catalog-category-page .catalog-hero__metrics div,
.category-shop-page .catalog-hero__metrics div {
    min-height: 86px !important;
    background: rgba(255, 255, 255, .18) !important;
}

.catalog-page .catalog-hero__metrics strong,
.catalog-category-page .catalog-hero__metrics strong,
.category-shop-page .catalog-hero__metrics strong {
    color: #ffffff !important;
}

.catalog-page .catalog-hero__metrics span,
.catalog-category-page .catalog-hero__metrics span,
.category-shop-page .catalog-hero__metrics span {
    color: #f4fff0 !important;
}

.catalog-page .catalog-brands-band,
.catalog-category-page .catalog-brands-band,
.category-shop-page .catalog-brands-band {
    padding: 1.9rem 0 1.7rem !important;
    background:
        linear-gradient(135deg, #ffffff 0%, #fff7f2 48%, #f2f8ed 100%) !important;
}

.catalog-page .catalog-brands-band .container,
.catalog-category-page .catalog-brands-band .container,
.category-shop-page .catalog-brands-band .container {
    max-width: 1160px !important;
}

.catalog-page .catalog-brands-band__header,
.catalog-category-page .catalog-brands-band__header,
.category-shop-page .catalog-brands-band__header {
    display: grid !important;
    justify-items: center !important;
    gap: .35rem !important;
    text-align: center !important;
}

.catalog-page .catalog-brands-band__header .catalog-kicker,
.catalog-category-page .catalog-brands-band__header .catalog-kicker,
.category-shop-page .catalog-brands-band__header .catalog-kicker {
    background: #fff0e8 !important;
    color: var(--site-red, #e30613) !important;
}

.catalog-page .catalog-brands-band__header h2,
.catalog-category-page .catalog-brands-band__header h2,
.category-shop-page .catalog-brands-band__header h2 {
    font-size: clamp(1.22rem, 2vw, 1.65rem) !important;
}

.catalog-page .catalog-brand-filter-grid,
.catalog-category-page .catalog-brand-filter-grid,
.category-shop-page .catalog-brand-filter-grid {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: .9rem !important;
}

.catalog-brand-filter {
    position: relative !important;
    overflow: hidden !important;
    min-height: 86px !important;
    border-width: 1px !important;
}

.catalog-brand-filter::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 6px !important;
    background: var(--site-green, #4c8438) !important;
}

.catalog-brand-filter:nth-child(even)::before {
    background: var(--site-red, #e30613) !important;
}

.catalog-brand-filter.active,
.catalog-brand-filter:hover {
    border-color: rgba(227, 6, 19, .3) !important;
}

.catalog-brand-filter.active::after {
    content: "\f00c" !important;
    position: absolute !important;
    top: .75rem !important;
    right: .75rem !important;
    display: grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: var(--site-green, #4c8438) !important;
    color: #fff !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}

.catalog-brand-filter img {
    width: 76px !important;
    height: 54px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06) !important;
}

.catalog-brand-filter strong {
    color: var(--site-ink, #172033) !important;
    font-size: 1rem !important;
}

.catalog-brand-filter small {
    display: inline-flex !important;
    width: fit-content !important;
    margin-top: .35rem !important;
    padding: .24rem .5rem !important;
    border-radius: 999px !important;
    background: rgba(76, 132, 56, .1) !important;
    color: var(--site-green, #4c8438) !important;
}

.catalog-products .grocery-product-card__body {
    gap: .42rem !important;
}

.catalog-products .grocery-product-card__category {
    display: inline-flex !important;
    min-height: 24px !important;
    padding: .24rem .55rem !important;
    border: 1px solid rgba(76, 132, 56, .14) !important;
    background: #eef7ea !important;
    color: var(--site-green, #4c8438) !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
}

.catalog-products .grocery-product-card__brand {
    display: inline-flex !important;
    align-self: flex-start !important;
    max-width: 100% !important;
    min-height: 24px !important;
    margin-top: 0 !important;
    padding: .24rem .55rem !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #fff0e8 !important;
    color: var(--site-red, #e30613) !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.catalog-products .grocery-product-card__brand::before {
    content: "\f02b" !important;
    margin-right: .32rem !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

.catalog-products .grocery-product-card__title {
    min-height: 38px !important;
    max-height: 38px !important;
    margin-top: .1rem !important;
}

.catalog-products .grocery-product-card__price {
    min-height: 38px !important;
}

.catalog-products .grocery-product-card__actions {
    background: #f8faf7 !important;
}

.catalog-category-list a {
    border: 1px solid transparent !important;
}

.catalog-category-list a:hover,
.catalog-category-list a.active {
    border-color: rgba(76, 132, 56, .16) !important;
}

.catalog-category-list a small {
    background: #fff !important;
    color: var(--site-green, #4c8438) !important;
}

.catalog-category-card {
    min-height: 230px !important;
}

.catalog-category-card::after {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .04) 0%, rgba(15, 23, 42, .2) 38%, rgba(15, 23, 42, .82) 100%) !important;
}

.catalog-category-card__count {
    background: #ffdc3d !important;
    color: #172033 !important;
}

body.is-rtl .catalog-brand-filter::before {
    right: 0 !important;
    left: auto !important;
}

body.is-rtl .catalog-brand-filter.active::after {
    right: auto !important;
    left: .75rem !important;
}

body.is-rtl .catalog-products .grocery-product-card__brand::before {
    margin-right: 0 !important;
    margin-left: .32rem !important;
}

@media (max-width: 767.98px) {
    .catalog-page .catalog-brand-filter-grid,
    .catalog-category-page .catalog-brand-filter-grid,
    .category-shop-page .catalog-brand-filter-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Requested shared header background. */
body .catalog-page .catalog-hero,
body .catalog-category-page .catalog-hero,
body .category-shop-page .catalog-hero,
body .offers-page .offers-hero,
body .main > .page-header.page-header-modern {
    background:
        linear-gradient(90deg, rgba(15, 23, 42, .74) 0%, rgba(15, 23, 42, .42) 42%, rgba(15, 23, 42, .12) 100%),
        url("../../images/header-commun.png") center / cover no-repeat !important;
}

/* Match Boutique and Categories header content with Marques/Offres. */
body .catalog-page .catalog-hero,
body .catalog-category-page .catalog-hero {
    height: 270px !important;
    min-height: 270px !important;
    padding: 1rem 0 !important;
}

body .catalog-page .catalog-hero .container,
body .catalog-category-page .catalog-hero .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    max-width: 1180px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    text-align: center !important;
}

body .catalog-page .catalog-hero__inner,
body .catalog-category-page .catalog-hero__inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 850px !important;
    gap: .52rem !important;
    margin: 0 auto !important;
    text-align: center !important;
}

body .catalog-page .catalog-hero__inner > div:first-child,
body .catalog-category-page .catalog-hero__inner > div:first-child {
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

body .catalog-page .catalog-breadcrumb,
body .catalog-category-page .catalog-breadcrumb {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: min(100%, 540px) !important;
    min-height: 34px !important;
    margin: 0 auto .58rem !important;
    padding: .38rem 1rem !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 999px !important;
    background: rgba(64, 35, 25, .42) !important;
    box-shadow: 0 12px 28px rgba(28, 18, 12, .13) !important;
    backdrop-filter: blur(4px) !important;
}

body .catalog-page .catalog-breadcrumb .breadcrumb,
body .catalog-category-page .catalog-breadcrumb .breadcrumb {
    justify-content: center !important;
    width: auto !important;
    gap: .35rem !important;
    margin: 0 !important;
}

body .catalog-page .catalog-breadcrumb a,
body .catalog-category-page .catalog-breadcrumb a,
body .catalog-page .catalog-breadcrumb .breadcrumb-item,
body .catalog-category-page .catalog-breadcrumb .breadcrumb-item {
    color: rgba(255, 255, 255, .9) !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body .catalog-page .catalog-hero h1,
body .catalog-category-page .catalog-hero h1 {
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 0 .45rem !important;
    color: #ffffff !important;
    font-size: clamp(2rem, 3vw, 2.62rem) !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
    text-align: center !important;
    text-shadow: 0 10px 26px rgba(110, 38, 11, .2) !important;
}

body .catalog-page .catalog-hero p.grocery-hero__lead,
body .catalog-category-page .catalog-hero p.grocery-hero__lead {
    display: -webkit-box !important;
    max-width: 42rem !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    color: rgba(52, 35, 25, .66) !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: center !important;
    text-shadow: none !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
}

body .catalog-page .catalog-hero__metrics,
body .catalog-category-page .catalog-hero__metrics {
    display: none !important;
}

@media (max-width: 991.98px) {
    body .catalog-page .catalog-hero,
    body .catalog-category-page .catalog-hero {
        height: auto !important;
        min-height: 240px !important;
        padding: 1.2rem 0 !important;
    }
}

/* Final common inner-page header system. */
body .catalog-page .catalog-hero,
body .catalog-category-page .catalog-hero,
body .category-shop-page .catalog-hero,
body .offers-page .offers-hero,
body .main > .page-header.page-header-modern {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    min-height: 270px !important;
    padding: 1.4rem 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, .74) 0%, rgba(15, 23, 42, .42) 42%, rgba(15, 23, 42, .12) 100%),
        url("../../images/header-commun.png") center / cover no-repeat !important;
    color: #ffffff !important;
}

body .catalog-page .catalog-hero::before,
body .catalog-category-page .catalog-hero::before,
body .category-shop-page .catalog-hero::before,
body .offers-page .offers-hero::before,
body .main > .page-header.page-header-modern::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 136, 52, .14), transparent 34%),
        linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .1)) !important;
    opacity: 1 !important;
    filter: none !important;
    pointer-events: none !important;
}

body .catalog-page .catalog-hero::after,
body .catalog-category-page .catalog-hero::after,
body .category-shop-page .catalog-hero::after,
body .offers-page .offers-hero::after,
body .main > .page-header.page-header-modern::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 38%, rgba(15, 23, 42, .08)) !important;
    opacity: 1 !important;
    filter: none !important;
    pointer-events: none !important;
}

body .catalog-page .catalog-hero .container,
body .catalog-category-page .catalog-hero .container,
body .category-shop-page .catalog-hero .container,
body .offers-page .offers-hero .container,
body .main > .page-header.page-header-modern .container {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100% - 32px, 1180px) !important;
    max-width: 1180px !important;
    height: 100% !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    text-align: center !important;
}

body .catalog-page .catalog-hero__inner,
body .catalog-category-page .catalog-hero__inner,
body .category-shop-page .catalog-hero__inner,
body .offers-page .offers-hero .row,
body .main > .page-header.page-header-modern .page-header__split,
body .main > .page-header.page-header-modern .page-header__copy,
body .offers-page .offers-hero .col-lg-7 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 850px !important;
    gap: .5rem !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    text-align: center !important;
}

body .catalog-page .catalog-breadcrumb,
body .catalog-category-page .catalog-breadcrumb,
body .category-shop-page .catalog-breadcrumb,
body .offers-page .offers-hero nav,
body .main > .page-header.page-header-modern .breadcrumb {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    max-width: min(100%, 540px) !important;
    min-height: 34px !important;
    margin: 0 auto .55rem !important;
    padding: .38rem 1rem !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    border-radius: 999px !important;
    background: rgba(38, 27, 22, .45) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14) !important;
    backdrop-filter: blur(4px) !important;
}

body .catalog-page .catalog-breadcrumb .breadcrumb,
body .catalog-category-page .catalog-breadcrumb .breadcrumb,
body .category-shop-page .catalog-breadcrumb .breadcrumb,
body .offers-page .offers-breadcrumb {
    justify-content: center !important;
    width: auto !important;
    gap: .35rem !important;
    margin: 0 !important;
}

body .catalog-page .catalog-breadcrumb a,
body .catalog-category-page .catalog-breadcrumb a,
body .category-shop-page .catalog-breadcrumb a,
body .offers-page .offers-breadcrumb a,
body .main > .page-header.page-header-modern .breadcrumb a,
body .catalog-page .catalog-breadcrumb .breadcrumb-item,
body .catalog-category-page .catalog-breadcrumb .breadcrumb-item,
body .category-shop-page .catalog-breadcrumb .breadcrumb-item,
body .offers-page .offers-breadcrumb .breadcrumb-item,
body .main > .page-header.page-header-modern .breadcrumb .breadcrumb-item {
    color: rgba(255, 255, 255, .9) !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body .catalog-page .catalog-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
body .catalog-category-page .catalog-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
body .category-shop-page .catalog-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
body .offers-page .offers-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
body .main > .page-header.page-header-modern .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, .55) !important;
    content: "/" !important;
}

body .catalog-page .catalog-hero h1,
body .catalog-category-page .catalog-hero h1,
body .category-shop-page .catalog-hero h1,
body .offers-page .offers-hero h1,
body .main > .page-header.page-header-modern h1 {
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 0 .4rem !important;
    color: #ffffff !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: clamp(2.25rem, 3.4vw, 3.35rem) !important;
    font-weight: 950 !important;
    line-height: .98 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-shadow: 0 12px 30px rgba(15, 23, 42, .28) !important;
}

body .catalog-page .catalog-hero p.grocery-hero__lead,
body .catalog-category-page .catalog-hero p.grocery-hero__lead,
body .category-shop-page .catalog-hero p.grocery-hero__lead,
body .offers-page .offers-hero p.grocery-hero__lead,
body .main > .page-header.page-header-modern p.grocery-hero__lead {
    display: -webkit-box !important;
    max-width: 46rem !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    color: rgba(42, 31, 24, .72) !important;
    font-size: clamp(.9rem, 1.05vw, 1rem) !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    text-align: center !important;
    text-shadow: none !important;
    opacity: 1 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body .catalog-page .catalog-hero__metrics,
body .catalog-category-page .catalog-hero__metrics,
body .category-shop-page .catalog-hero__metrics {
    display: none !important;
}

body .offers-page .offers-hero .offers-metrics {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(82px, 1fr)) !important;
    gap: .5rem !important;
    width: min(100%, 330px) !important;
    margin: .7rem auto 0 !important;
}

body .offers-page .offers-hero .offers-metrics .metric-card {
    display: grid !important;
    place-items: center !important;
    min-height: 62px !important;
    padding: .52rem .7rem !important;
    border: 1px solid rgba(255, 255, 255, .34) !important;
    border-radius: 8px !important;
    background: rgba(116, 44, 18, .22) !important;
    box-shadow: 0 14px 32px rgba(87, 30, 8, .12) !important;
    color: #ffffff !important;
    text-align: center !important;
    backdrop-filter: blur(4px) !important;
}

body .offers-page .offers-hero .offers-metrics .metric-card span,
body .offers-page .offers-hero .offers-metrics .metric-card small {
    color: #ffffff !important;
    text-shadow: none !important;
}

body .main > .page-header.page-header-modern .page-header__side {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .55rem !important;
    margin-top: .8rem !important;
}

body .main > .page-header.page-header-modern .page-header__action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: .58rem 1.05rem !important;
    border: 1px solid rgba(255, 255, 255, .36) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .14) !important;
    color: var(--site-green, #2f7d32) !important;
    font-size: .8rem !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 32px rgba(87, 30, 8, .12) !important;
    backdrop-filter: blur(4px) !important;
}

body .main > .page-header.page-header-modern .page-header__action:hover {
    background: rgba(255, 255, 255, .22) !important;
    color: var(--site-green-dark, #256b29) !important;
    transform: translateY(-1px) !important;
}

body .offers-page .offers-hero .col-lg-5,
body .offers-page .offers-hero .offers-showcase,
body .offers-page .offers-hero .offers-hero__orb,
body .catalog-page .catalog-hero .catalog-kicker,
body .catalog-category-page .catalog-hero .catalog-kicker,
body .category-shop-page .catalog-hero .catalog-kicker {
    display: none !important;
}

@media (max-width: 991.98px) {
    body .catalog-page .catalog-hero,
    body .catalog-category-page .catalog-hero,
    body .category-shop-page .catalog-hero,
    body .offers-page .offers-hero,
    body .main > .page-header.page-header-modern {
        min-height: 250px !important;
        padding: 1.35rem 0 !important;
    }
}

/* Hide browser scrollbars while keeping page scrolling available. */
html,
body {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

/* Boutique filters and selected company polish. */
body .catalog-page .catalog-brand-filter {
    border: 1px solid rgba(15, 23, 42, .1) !important;
    background: #ffffff !important;
}

body .catalog-page .catalog-brand-filter.active {
    border-color: rgba(76, 132, 56, .46) !important;
    background:
        linear-gradient(135deg, rgba(76, 132, 56, .1), rgba(255, 255, 255, .96) 52%, rgba(227, 6, 19, .045)) !important;
    box-shadow: 0 18px 42px rgba(76, 132, 56, .12) !important;
}

body .catalog-page .catalog-brand-filter.active::before {
    width: 7px !important;
    background: var(--site-green, #4c8438) !important;
}

body .catalog-page .catalog-brand-filter.active::after {
    content: "\f00c" !important;
    position: absolute !important;
    top: 50% !important;
    right: .9rem !important;
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: var(--site-green, #4c8438) !important;
    color: #ffffff !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: .74rem !important;
    font-weight: 900 !important;
    transform: translateY(-50%) !important;
}

body .catalog-page .catalog-brand-filter.active small {
    background: rgba(76, 132, 56, .13) !important;
    color: var(--site-green, #4c8438) !important;
}

body .catalog-page .catalog-sidebar {
    overflow: hidden !important;
    border: 1px solid rgba(15, 23, 42, .1) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .07) !important;
}

body .catalog-page .catalog-filter-form__header {
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    background:
        linear-gradient(135deg, rgba(76, 132, 56, .09), rgba(255, 220, 61, .13) 56%, rgba(227, 6, 19, .045)) !important;
}

body .catalog-page .catalog-filter-section {
    padding: 1rem 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, .075) !important;
}

body .catalog-page .catalog-filter-section:last-of-type {
    border-bottom: 0 !important;
}

body .catalog-page .catalog-filter-title {
    margin-bottom: .7rem !important;
    color: var(--site-ink, #172033) !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

body .catalog-page .catalog-category-list {
    display: grid !important;
    gap: .35rem !important;
}

body .catalog-page .catalog-category-list > li {
    padding: .3rem !important;
    border: 1px solid rgba(15, 23, 42, .065) !important;
    border-radius: 8px !important;
    background: #fbfcf8 !important;
}

body .catalog-page .catalog-category-list > li > a {
    min-height: 38px !important;
    padding: .52rem .6rem !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    color: #334155 !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
}

body .catalog-page .catalog-category-list ul {
    display: grid !important;
    gap: .18rem !important;
    margin: .25rem 0 .05rem .42rem !important;
    padding-left: .62rem !important;
    border-left: 2px solid rgba(76, 132, 56, .16) !important;
}

body .catalog-page .catalog-category-list ul a {
    min-height: 32px !important;
    padding: .42rem .52rem !important;
    color: #64748b !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
}

body .catalog-page .catalog-category-list a:hover,
body .catalog-page .catalog-category-list a.active {
    border-color: rgba(76, 132, 56, .2) !important;
    background: rgba(76, 132, 56, .1) !important;
    color: var(--site-green, #4c8438) !important;
}

body .catalog-page .catalog-category-list a small {
    min-width: 1.55rem !important;
    min-height: 1.28rem !important;
    padding: 0 .36rem !important;
    background: #ffffff !important;
    color: var(--site-green, #4c8438) !important;
    font-size: .66rem !important;
    font-weight: 950 !important;
}

body.is-rtl .catalog-page .catalog-brand-filter.active::after {
    right: auto !important;
    left: .9rem !important;
}

body.is-rtl .catalog-page .catalog-category-list ul {
    margin-right: .42rem !important;
    margin-left: 0 !important;
    padding-right: .62rem !important;
    padding-left: 0 !important;
    border-right: 2px solid rgba(76, 132, 56, .16) !important;
    border-left: 0 !important;
}

/* Product cards: cleaner price/actions and home centering. */
body .grocery-product-card__price-line small {
    display: none !important;
}

body .grocery-product-card__price,
body .catalog-products .grocery-product-card__price,
body .grocery-home .grocery-product-card__price {
    min-height: 32px !important;
}

body .grocery-product-card__action:first-child,
body .catalog-products .grocery-product-card__action:first-child,
body .grocery-home .grocery-product-card__action:first-child {
    border-color: #111827 !important;
    background: #111827 !important;
    color: #ffffff !important;
}

body .grocery-product-card__action:first-child:hover,
body .grocery-product-card__action:first-child:focus,
body .catalog-products .grocery-product-card__action:first-child:hover,
body .catalog-products .grocery-product-card__action:first-child:focus,
body .grocery-home .grocery-product-card__action:first-child:hover,
body .grocery-home .grocery-product-card__action:first-child:focus {
    border-color: #020617 !important;
    background: #020617 !important;
    color: #ffffff !important;
}

body .grocery-home .grocery-product-card__brand {
    display: none !important;
}

body .grocery-home .grocery-product-card__body {
    align-items: center !important;
    text-align: center !important;
}

body .grocery-home .grocery-product-card__category {
    align-self: center !important;
}

body .grocery-home .grocery-product-card__title,
body .grocery-home .grocery-product-card__title a {
    justify-content: center !important;
    text-align: center !important;
}

body .grocery-home .grocery-product-card__price,
body .grocery-home .grocery-product-card__price-line {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

@media (max-width: 575.98px) {
    body .catalog-page .catalog-hero,
    body .catalog-category-page .catalog-hero,
    body .category-shop-page .catalog-hero,
    body .offers-page .offers-hero,
    body .main > .page-header.page-header-modern {
        min-height: 230px !important;
        padding: 1.15rem 0 !important;
    }

    body .catalog-page .catalog-hero h1,
    body .catalog-category-page .catalog-hero h1,
    body .category-shop-page .catalog-hero h1,
    body .offers-page .offers-hero h1,
    body .main > .page-header.page-header-modern h1 {
        font-size: clamp(1.9rem, 10vw, 2.65rem) !important;
    }
}

/* Softer typography and contrast for the common inner-page headers. */
body .catalog-page .catalog-hero,
body .catalog-category-page .catalog-hero,
body .category-shop-page .catalog-hero,
body .offers-page .offers-hero,
body .main > .page-header.page-header-modern {
    min-height: 250px !important;
    padding: 1.35rem 0 !important;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, .62) 0%, rgba(74, 45, 35, .34) 40%, rgba(15, 23, 42, .16) 100%),
        url("../../images/header-commun.png") center / cover no-repeat !important;
}

body .catalog-page .catalog-hero::before,
body .catalog-category-page .catalog-hero::before,
body .category-shop-page .catalog-hero::before,
body .offers-page .offers-hero::before,
body .main > .page-header.page-header-modern::before {
    background:
        radial-gradient(circle at 50% 38%, rgba(255, 178, 108, .16), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(15, 23, 42, .08)) !important;
}

body .catalog-page .catalog-breadcrumb,
body .catalog-category-page .catalog-breadcrumb,
body .category-shop-page .catalog-breadcrumb,
body .offers-page .offers-hero nav,
body .main > .page-header.page-header-modern .breadcrumb {
    min-height: 32px !important;
    margin-bottom: .62rem !important;
    padding: .34rem .9rem !important;
    background: rgba(37, 27, 23, .36) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .12) !important;
}

body .catalog-page .catalog-breadcrumb a,
body .catalog-category-page .catalog-breadcrumb a,
body .category-shop-page .catalog-breadcrumb a,
body .offers-page .offers-breadcrumb a,
body .main > .page-header.page-header-modern .breadcrumb a,
body .catalog-page .catalog-breadcrumb .breadcrumb-item,
body .catalog-category-page .catalog-breadcrumb .breadcrumb-item,
body .category-shop-page .catalog-breadcrumb .breadcrumb-item,
body .offers-page .offers-breadcrumb .breadcrumb-item,
body .main > .page-header.page-header-modern .breadcrumb .breadcrumb-item {
    font-size: .72rem !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
}

body .catalog-page .catalog-hero h1,
body .catalog-category-page .catalog-hero h1,
body .category-shop-page .catalog-hero h1,
body .offers-page .offers-hero h1,
body .main > .page-header.page-header-modern h1 {
    max-width: 900px !important;
    margin-bottom: .5rem !important;
    font-size: clamp(2.15rem, 3.15vw, 3.05rem) !important;
    font-weight: 850 !important;
    line-height: 1.02 !important;
    text-shadow: 0 12px 28px rgba(15, 23, 42, .24) !important;
}

body .catalog-page .catalog-hero p.grocery-hero__lead,
body .catalog-category-page .catalog-hero p.grocery-hero__lead,
body .category-shop-page .catalog-hero p.grocery-hero__lead,
body .offers-page .offers-hero p.grocery-hero__lead,
body .main > .page-header.page-header-modern p.grocery-hero__lead {
    max-width: 44rem !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: clamp(.9rem, 1vw, .98rem) !important;
    font-weight: 650 !important;
    line-height: 1.52 !important;
    text-shadow: 0 8px 20px rgba(15, 23, 42, .22) !important;
}

body .main > .page-header.page-header-modern .page-header__side {
    margin-top: .9rem !important;
}

body .main > .page-header.page-header-modern .page-header__action {
    min-height: 38px !important;
    padding: .55rem 1rem !important;
    border-color: rgba(255, 255, 255, .3) !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #ffffff !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14) !important;
}

body .main > .page-header.page-header-modern .page-header__action:hover {
    background: rgba(255, 255, 255, .2) !important;
    color: #ffffff !important;
}

@media (max-width: 575.98px) {
    body .catalog-page .catalog-hero,
    body .catalog-category-page .catalog-hero,
    body .category-shop-page .catalog-hero,
    body .offers-page .offers-hero,
    body .main > .page-header.page-header-modern {
        min-height: 225px !important;
    }
}

/* Boutique and Categories use the same header action rhythm as Marques. */
body .catalog-page .catalog-hero__actions,
body .catalog-category-page .catalog-hero__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .6rem !important;
    margin-top: .9rem !important;
}

body .catalog-page .catalog-hero__action,
body .catalog-category-page .catalog-hero__action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 88px !important;
    min-height: 38px !important;
    padding: .55rem 1rem !important;
    border: 1px solid rgba(255, 255, 255, .3) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #ffffff !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14) !important;
    backdrop-filter: blur(4px) !important;
}

body .catalog-page .catalog-hero__action:hover,
body .catalog-page .catalog-hero__action:focus,
body .catalog-category-page .catalog-hero__action:hover,
body .catalog-category-page .catalog-hero__action:focus {
    background: rgba(255, 255, 255, .2) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Header action buttons: solid green for clearer contrast. */
body .catalog-page .catalog-hero__action,
body .catalog-category-page .catalog-hero__action,
body .category-shop-page .catalog-hero__action,
body .main > .page-header.page-header-modern .page-header__action {
    border-color: rgba(255, 255, 255, .3) !important;
    background: var(--site-green, #2f7d32) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(47, 125, 50, .24) !important;
}

body .catalog-page .catalog-hero__action:hover,
body .catalog-page .catalog-hero__action:focus,
body .catalog-category-page .catalog-hero__action:hover,
body .catalog-category-page .catalog-hero__action:focus,
body .category-shop-page .catalog-hero__action:hover,
body .category-shop-page .catalog-hero__action:focus,
body .main > .page-header.page-header-modern .page-header__action:hover,
body .main > .page-header.page-header-modern .page-header__action:focus {
    background: var(--site-green-dark, #256b29) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Offres header metric cards: green and more compact. */
body .offers-page .offers-hero .offers-metrics {
    gap: .42rem !important;
    width: min(100%, 300px) !important;
    margin-top: .65rem !important;
}

body .offers-page .offers-hero .offers-metrics .metric-card {
    min-height: 66px !important;
    padding: .46rem .55rem !important;
    border-color: rgba(255, 255, 255, .28) !important;
    background: var(--site-green, #2f7d32) !important;
    box-shadow: 0 14px 30px rgba(47, 125, 50, .22) !important;
}

body .offers-page .offers-hero .offers-metrics .metric-card span {
    margin-bottom: .22rem !important;
    color: #ffffff !important;
    font-size: 1.18rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

body .offers-page .offers-hero .offers-metrics .metric-card small {
    display: block !important;
    max-width: 68px !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: .54rem !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

@media (max-width: 575.98px) {
    body .offers-page .offers-hero .offers-metrics {
        width: min(100%, 280px) !important;
    }

    body .offers-page .offers-hero .offers-metrics .metric-card {
        min-height: 62px !important;
        padding: .42rem .45rem !important;
    }
}

/* Product titles: centered everywhere with Arabic label under the main label. */
body .grocery-product-card__body,
body .catalog-products .grocery-product-card__body,
body .grocery-home .grocery-product-card__body {
	align-items: center !important;
	text-align: center !important;
}

body .grocery-product-card__category,
body .catalog-products .grocery-product-card__category,
body .grocery-home .grocery-product-card__category {
	align-self: center !important;
	text-align: center !important;
}

body .grocery-product-card__title,
body .catalog-products .grocery-product-card__title,
body .grocery-home .grocery-product-card__title {
	width: 100% !important;
	min-height: 58px !important;
	max-height: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

body .grocery-product-card__title a,
body .catalog-products .grocery-product-card__title a,
body .grocery-home .grocery-product-card__title a {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	text-align: center !important;
	-webkit-line-clamp: initial !important;
	line-clamp: initial !important;
}

body .grocery-product-card__title-main {
	display: -webkit-box !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-align: center !important;
	text-overflow: ellipsis !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
}

body .grocery-product-card__title-ar {
	display: -webkit-box !important;
	max-width: 100% !important;
	margin-top: 0.18rem !important;
	overflow: hidden !important;
	color: #64748b !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-overflow: ellipsis !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 1 !important;
	line-clamp: 1 !important;
}

body .grocery-product-card__price,
body .catalog-products .grocery-product-card__price,
body .grocery-home .grocery-product-card__price,
body .grocery-home .grocery-section--new .grocery-product-card__price,
body .grocery-home .grocery-section--trending .grocery-product-card__price,
body .grocery-product-card__price-line,
body .catalog-products .grocery-product-card__price-line,
body .grocery-home .grocery-product-card__price-line {
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

body .grocery-product-card__actions,
body .catalog-products .grocery-product-card__actions,
body .grocery-home .grocery-product-card__actions,
body .grocery-home .grocery-section--new .grocery-product-card__actions,
body .grocery-home .grocery-section--trending .grocery-product-card__actions {
	justify-content: center !important;
}

/* Account favorites: reliable card layout inside Turbo frames. */
body .account-favorites-head {
	padding: 1.1rem 1.25rem !important;
	border: 1px solid rgba(15, 23, 42, .08) !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, rgba(47, 125, 50, .08), rgba(255, 255, 255, .94)) !important;
}

/* Account page: orange brand accents instead of Bootstrap blue. */
body .account-page .account-hero {
	overflow: hidden !important;
	background:
		linear-gradient(90deg, rgba(121, 57, 26, .72) 0%, rgba(216, 85, 24, .56) 48%, rgba(255, 122, 26, .36) 100%),
		url("../../images/header-commun.png") center / cover no-repeat !important;
	color: #ffffff !important;
}

body .account-page .account-hero::after {
	background: rgba(255, 255, 255, .18) !important;
}

body .account-page .account-shell {
	overflow: hidden !important;
	border: 1px solid rgba(216, 85, 24, .1) !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	box-shadow: 0 24px 70px rgba(55, 31, 18, .08) !important;
}

body .account-page .account-hero h1,
body .account-page .account-hero .h2,
body .account-page .account-hero p,
body .account-page .account-hero .grocery-hero__lead,
body .account-page .account-hero .account-badge {
	color: #ffffff !important;
}

body .account-page .account-hero .grocery-hero__lead {
	max-width: 620px !important;
	opacity: .92 !important;
	font-weight: 700 !important;
}

body .account-page .account-actions {
	border-color: rgba(216, 85, 24, .16) !important;
	border-radius: 14px !important;
	background: linear-gradient(180deg, #ffffff 0%, #fff7ef 100%) !important;
	box-shadow: 0 18px 44px rgba(55, 31, 18, .06) !important;
}

body .account-page .account-card {
	border-color: rgba(216, 85, 24, .12) !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 34px rgba(55, 31, 18, .055) !important;
}

body .account-page .account-card-label {
	color: #9a6a4c !important;
}

body .account-page .account-card-value {
	color: #172033 !important;
}

body .account-page .btn-primary,
body .account-page .btn-outline-primary:hover,
body .account-page .btn-outline-primary:focus {
	border-color: #d85518 !important;
	background: #d85518 !important;
	color: #ffffff !important;
	box-shadow: 0 14px 28px rgba(216, 85, 24, .18) !important;
}

body .account-page .btn-primary:hover,
body .account-page .btn-primary:focus {
	border-color: #b94314 !important;
	background: #b94314 !important;
	color: #ffffff !important;
}

body .account-page .btn-outline-primary {
	border-color: #d85518 !important;
	background: #ffffff !important;
	color: #d85518 !important;
}

body .account-page .account-identity {
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
}

body .account-page .account-avatar {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 70px !important;
	height: 70px !important;
	flex: 0 0 70px !important;
	border-radius: 20px !important;
	background: rgba(255, 255, 255, .2) !important;
	color: #ffffff !important;
	font-size: 1.8rem !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24), 0 18px 35px rgba(89, 32, 12, .24) !important;
	backdrop-filter: blur(10px) !important;
}

body .account-page .account-badge {
	background: rgba(255, 255, 255, .22) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18) !important;
}

@media (max-width: 575.98px) {
	body .account-page .account-identity {
		align-items: flex-start !important;
	}

	body .account-page .account-avatar {
		width: 56px !important;
		height: 56px !important;
		flex-basis: 56px !important;
		border-radius: 16px !important;
		font-size: 1.35rem !important;
	}
}

body .account-favorites-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 1.1rem !important;
	align-items: stretch !important;
}

body .account-favorite-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 100% !important;
	overflow: hidden !important;
	border: 1px solid rgba(15, 23, 42, .08) !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 44px rgba(15, 23, 42, .08) !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

body .account-favorite-card:hover {
	border-color: rgba(47, 125, 50, .24) !important;
	box-shadow: 0 22px 52px rgba(15, 23, 42, .12) !important;
	transform: translateY(-2px) !important;
}

body .account-favorite-card__media {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	aspect-ratio: 1.2 / 1 !important;
	padding: 1rem !important;
	background: linear-gradient(135deg, rgba(236, 244, 229, .75), rgba(255, 249, 229, .66)) !important;
	text-decoration: none !important;
}

body .account-favorite-card__media img {
	width: min(78%, 170px) !important;
	height: min(78%, 170px) !important;
	object-fit: contain !important;
	border-radius: 10px !important;
	background: #ffffff !important;
}

body .account-favorite-card__body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: .95rem !important;
	padding: 1rem !important;
	text-align: center !important;
}

body .account-favorite-card__title {
	display: -webkit-box !important;
	min-height: 44px !important;
	overflow: hidden !important;
	color: #172033 !important;
	font-size: .98rem !important;
	font-weight: 850 !important;
	line-height: 1.28 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-overflow: ellipsis !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
}

body .account-favorite-card__title:hover,
body .account-favorite-card__title:focus {
	color: var(--site-green, #2f7d32) !important;
}

body .account-favorite-card__actions {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .55rem !important;
	width: 100% !important;
}

body .account-favorite-card__view,
body .account-favorite-remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	border-radius: 8px !important;
	font-size: .82rem !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body .account-favorite-card__view {
	flex: 1 1 auto !important;
	gap: .42rem !important;
	border: 1px solid rgba(47, 125, 50, .22) !important;
	background: rgba(47, 125, 50, .1) !important;
	color: var(--site-green, #2f7d32) !important;
}

body .account-favorite-card__view:hover,
body .account-favorite-card__view:focus {
	background: var(--site-green, #2f7d32) !important;
	color: #ffffff !important;
}

body .account-favorite-remove {
	flex: 0 0 42px !important;
	width: 42px !important;
	border: 1px solid rgba(228, 29, 47, .24) !important;
	background: rgba(228, 29, 47, .08) !important;
	color: #e41d2f !important;
	cursor: pointer !important;
}

body .account-favorite-remove:hover,
body .account-favorite-remove:focus {
	background: #e41d2f !important;
	color: #ffffff !important;
}

 
@media (max-width: 575.98px) {
	body .account-favorites-grid {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
	}

	body .account-favorite-card__actions {
		flex-direction: column !important;
	}

	body .account-favorite-card__view,
	body .account-favorite-remove {
		width: 100% !important;
	}
}

/* =====================================================================
   HERO — HAUTEUR COMPACTE (override final, charge en dernier = prioritaire)
   Reduit la section (avant : la .row imposait clamp(600px, 76vh, 820px)).
   Cible ~440-470px sur desktop, sans paraitre vide. RTL inclus (les regles
   RTL ne fixent pas de hauteur, donc ces selecteurs suffisent).
   ===================================================================== */
.grocery-home .grocery-hero,
.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 {
	min-height: 380px !important;
}

.grocery-home .grocery-hero__slide {
	min-height: 380px !important;
	padding: 1.5rem 0 1.8rem !important;
}

.grocery-home .grocery-hero__slide .row {
	min-height: clamp(320px, 40vh, 440px) !important;
}

.grocery-home .grocery-hero__visual {
	min-height: 320px !important;
}

/* Image legerement reduite pour que la hauteur ne soit pas regonflee. */
.grocery-home .grocery-hero__visual-image {
	width: min(100%, 560px) !important;
}

.grocery-home .grocery-hero__visual-image--alt {
	width: min(104%, 600px) !important;
	max-width: 104% !important;
}

.grocery-home .grocery-hero__visual-image--bright {
	width: min(102%, 560px) !important;
	max-width: 102% !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero,
	.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,
	.grocery-home .grocery-hero__slide,
	.grocery-home .grocery-hero__visual {
		min-height: 0 !important;
	}

	.grocery-home .grocery-hero__slide {
		padding: 1.4rem 0 1.6rem !important;
	}

	.grocery-home .grocery-hero__slide .row {
		min-height: auto !important;
	}
}

/* =====================================================================
   HERO — COMPACTION FORTE (le vrai coupable = padding/marges du contenu).
   Le gros padding venait de .grocery-hero__content (3.75rem 0 3rem) + les
   marges entre titre/lead/actions/metriques + l'image (plancher). On ecrase
   tout, on retire les min-height, et l'image est reduite => la hauteur suit
   le contenu. Section beaucoup plus courte.
   ===================================================================== */
.grocery-home .grocery-hero__content {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

.grocery-home .grocery-hero,
.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,
.grocery-home .grocery-hero__slide,
.grocery-home .grocery-hero__slide .row,
.grocery-home .grocery-hero__visual {
	min-height: 0 !important;
}

.grocery-home .grocery-hero__slide {
	padding: 0.5rem 0 0.6rem !important;
}

.grocery-home .grocery-hero__title {
	font-size: clamp(2rem, 3.4vw, 3.2rem) !important;
	line-height: 1.04 !important;
	margin-top: 0.4rem !important;
	margin-bottom: 0 !important;
}

.grocery-home .grocery-hero__lead {
	font-size: clamp(0.95rem, 1vw, 1.02rem) !important;
	line-height: 1.5 !important;
	max-width: 40ch !important;
	margin-top: 0.55rem !important;
}

.grocery-home .grocery-hero__actions {
	margin-top: 0.9rem !important;
}

.grocery-home .grocery-hero__metrics {
	margin-top: 0.85rem !important;
}

.grocery-home .grocery-hero__visual-image,
.grocery-home .grocery-hero__visual-image--alt,
.grocery-home .grocery-hero__visual-image--bright {
	width: min(100%, 460px) !important;
	max-width: 100% !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero__content {
		padding-top: 0.8rem !important;
		padding-bottom: 0.8rem !important;
	}

	.grocery-home .grocery-hero__visual-image,
	.grocery-home .grocery-hero__visual-image--alt,
	.grocery-home .grocery-hero__visual-image--bright {
		width: min(78%, 360px) !important;
	}
}

/* =====================================================================
   HERO - fond jaune orange + hauteur un peu plus longue.
   Override final: garde le hero plus chaleureux et moins compacte.
   ===================================================================== */
.grocery-home .grocery-hero {
	position: relative !important;
	isolation: isolate !important;
	min-height: clamp(520px, 58vh, 660px) !important;
	background:
		radial-gradient(92% 96% at 86% 8%, rgba(255, 248, 183, 0.56) 0%, rgba(255, 248, 183, 0) 55%),
		radial-gradient(84% 86% at 5% 98%, rgba(255, 179, 71, 0.26) 0%, rgba(255, 179, 71, 0) 60%),
		linear-gradient(116deg, #fff3a8 0%, #ffd65a 28%, #ffb13d 58%, #f17824 82%, #df5a1c 100%) !important;
	box-shadow:
		inset 0 -1px 0 rgba(93, 33, 5, 0.10),
		inset 0 -90px 130px -118px rgba(93, 33, 5, 0.34) !important;
}

.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:
		linear-gradient(90deg, rgba(255, 255, 255, 0.56) 0%, rgba(255, 255, 255, 0.30) 36%, rgba(255, 255, 255, 0.08) 68%, rgba(255, 255, 255, 0) 100%),
		radial-gradient(72% 78% at 52% 48%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 64%) !important;
	mix-blend-mode: normal !important;
}

.grocery-home .grocery-hero::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 44%) !important;
	opacity: 1 !important;
	mix-blend-mode: normal !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,
.grocery-home .grocery-hero__slide {
	min-height: clamp(500px, 54vh, 640px) !important;
}

.grocery-home .grocery-hero__content {
	padding-top: clamp(2rem, 3vw, 3rem) !important;
	padding-bottom: clamp(2rem, 3vw, 3rem) !important;
}

.grocery-home .grocery-hero__slide {
	padding: clamp(1.35rem, 2.2vw, 2.25rem) 0 !important;
}

.grocery-home .grocery-hero__slide .row {
	min-height: clamp(430px, 46vh, 560px) !important;
}

.grocery-home .grocery-hero__visual {
	min-height: clamp(360px, 38vw, 480px) !important;
}

.grocery-home .grocery-hero__title {
	color: #2f1608 !important;
	text-shadow: none !important;
}

.grocery-home .grocery-hero__lead {
	color: rgba(82, 43, 13, 0.86) !important;
	text-shadow: none !important;
}

.grocery-home .grocery-hero__eyebrow,
.grocery-home .grocery-hero__metric {
	background: rgba(255, 250, 239, 0.64) !important;
	border-color: rgba(255, 255, 255, 0.72) !important;
	color: #79360d !important;
	box-shadow: 0 12px 26px rgba(113, 46, 8, 0.10) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
}

.grocery-home .grocery-hero__actions .btn-dark {
	background: linear-gradient(180deg, #6e330f 0%, #3a1706 100%) !important;
	border-color: #3a1706 !important;
	color: #ffffff !important;
	box-shadow: 0 16px 32px rgba(74, 31, 8, 0.24) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus {
	background: linear-gradient(180deg, #7b3c13 0%, #4a1f08 100%) !important;
	border-color: #4a1f08 !important;
	box-shadow: 0 20px 40px rgba(74, 31, 8, 0.30) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light {
	background: rgba(255, 250, 239, 0.48) !important;
	border-color: rgba(110, 51, 15, 0.42) !important;
	color: #3a1706 !important;
	box-shadow: 0 12px 26px rgba(113, 46, 8, 0.10) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light::before {
	background: #6e330f !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light:hover,
.grocery-home .grocery-hero__actions .btn-outline-light:focus {
	border-color: #6e330f !important;
	color: #ffffff !important;
}

.grocery-home .grocery-hero__floating-badge {
	background: linear-gradient(150deg, #fff5a6 0%, #ffc83d 48%, #ff8a25 100%) !important;
	color: #3a1706 !important;
	box-shadow:
		0 18px 34px rgba(113, 46, 8, 0.20),
		inset 0 0 0 2px rgba(255, 255, 255, 0.55) !important;
	outline: 6px solid rgba(255, 255, 255, 0.18) !important;
}

.grocery-home .grocery-hero__visual::before {
	background: radial-gradient(circle, rgba(255, 246, 194, 0.38) 0%, rgba(255, 246, 194, 0) 68%) !important;
}

.grocery-home .grocery-hero__visual-image,
.grocery-home .grocery-hero__visual-image--alt,
.grocery-home .grocery-hero__visual-image--bright {
	width: min(100%, 520px) !important;
	max-width: 100% !important;
	filter: drop-shadow(0 24px 36px rgba(74, 31, 8, 0.20)) !important;
}

.grocery-home .grocery-hero__visual-image--product {
	width: min(100%, 520px) !important;
	max-height: 420px !important;
	object-fit: contain !important;
	mix-blend-mode: multiply !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero,
	.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,
	.grocery-home .grocery-hero__slide {
		min-height: auto !important;
	}

	.grocery-home .grocery-hero__content {
		padding-top: 1.5rem !important;
		padding-bottom: 1.6rem !important;
	}

	.grocery-home .grocery-hero__slide {
		padding: 1rem 0 1.25rem !important;
	}

	.grocery-home .grocery-hero__slide .row {
		min-height: auto !important;
	}

	.grocery-home .grocery-hero__visual {
		min-height: 280px !important;
	}

	.grocery-home .grocery-hero__visual-image,
	.grocery-home .grocery-hero__visual-image--alt,
	.grocery-home .grocery-hero__visual-image--bright {
		width: min(82%, 380px) !important;
	}
}

/* =====================================================================
   HOME HERO - compact warm surface + green actions.
   Final override for a cleaner, more professional first viewport.
   ===================================================================== */
.grocery-home .grocery-hero {
	min-height: clamp(455px, 52vh, 585px) !important;
	overflow: hidden !important;
	background-color: #fdf6e0 !important;
	background-image: url("../img/hero/hero-bg.png") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: cover !important;
	box-shadow: inset 0 -1px 0 rgba(150, 88, 22, 0.08) !important;
}

/* motifs désactivés : l'image de fond fournit déjà feuilles/points/lignes */
.grocery-home .grocery-hero::before,
.grocery-home .grocery-hero::after {
	display: none !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,
.grocery-home .grocery-hero__slide {
	min-height: clamp(430px, 49vh, 555px) !important;
}

.grocery-home .grocery-hero__content {
	position: relative !important;
	z-index: 1 !important;
	padding-top: clamp(1.55rem, 2.45vw, 2.75rem) !important;
	padding-bottom: clamp(1.45rem, 2.3vw, 2.55rem) !important;
}

.grocery-home .grocery-hero__slide {
	padding: clamp(0.75rem, 1.35vw, 1.4rem) 0 !important;
}

.grocery-home .grocery-hero__slide .row {
	min-height: clamp(375px, 42vh, 480px) !important;
}

.grocery-home .grocery-hero__title {
	max-width: 12ch !important;
	color: #1f2f18 !important;
	font-size: clamp(2.45rem, 4.8vw, 5rem) !important;
	font-weight: 900 !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.32) !important;
}

.grocery-home .grocery-hero__lead {
	max-width: 48ch !important;
	margin-top: 1.15rem !important;
	color: rgba(45, 50, 28, 0.82) !important;
	font-size: clamp(1rem, 1.08vw, 1.12rem) !important;
	line-height: 1.68 !important;
	font-weight: 600 !important;
}

.grocery-home .grocery-hero__eyebrow {
	min-height: 34px !important;
	padding: 0.46rem 1rem !important;
	border: 1px solid rgba(214, 142, 38, 0.45) !important;
	background: linear-gradient(135deg, #ffe6ad 0%, #ffd27a 100%) !important;
	color: #2f6f24 !important;
	font-weight: 800 !important;
	box-shadow: 0 10px 24px rgba(193, 120, 24, 0.18) !important;
}

.grocery-home .grocery-hero__actions {
	gap: 0.85rem !important;
	margin-top: 1.55rem !important;
}

.grocery-home .grocery-hero__btn {
	min-height: 48px !important;
	padding: 0.78rem 1.65rem !important;
	border-radius: 999px !important;
	font-size: 0.94rem !important;
	font-weight: 850 !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

.grocery-home .grocery-hero__actions .btn-dark,
.grocery-home .grocery-hero__actions .btn-success {
	background: linear-gradient(180deg, #57954a 0%, #3c7330 52%, #2f5f25 100%) !important;
	border-color: #2f5f25 !important;
	color: #ffffff !important;
	box-shadow: 0 16px 34px rgba(47, 95, 37, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

.grocery-home .grocery-hero__actions .btn-dark:hover,
.grocery-home .grocery-hero__actions .btn-dark:focus,
.grocery-home .grocery-hero__actions .btn-success:hover,
.grocery-home .grocery-hero__actions .btn-success:focus {
	background: linear-gradient(180deg, #5b9545 0%, #2f5b24 100%) !important;
	border-color: #2f5b24 !important;
	color: #ffffff !important;
	box-shadow: 0 22px 44px rgba(55, 103, 43, 0.36) !important;
	transform: translateY(-1px) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light,
.grocery-home .grocery-hero__actions .btn-outline-success {
	background: rgba(255, 255, 255, 0.7) !important;
	border-color: rgba(76, 132, 56, 0.55) !important;
	color: #2f6f24 !important;
	box-shadow: 0 12px 26px rgba(66, 89, 36, 0.12) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light::before,
.grocery-home .grocery-hero__actions .btn-outline-success::before {
	background: #4c8438 !important;
}

.grocery-home .grocery-hero__actions .btn-outline-light:hover,
.grocery-home .grocery-hero__actions .btn-outline-light:focus,
.grocery-home .grocery-hero__actions .btn-outline-success:hover,
.grocery-home .grocery-hero__actions .btn-outline-success:focus {
	background: linear-gradient(180deg, #57954a 0%, #3c7330 100%) !important;
	border-color: #2f5f25 !important;
	color: #ffffff !important;
	box-shadow: 0 16px 32px rgba(47, 95, 37, 0.28) !important;
	transform: translateY(-1px) !important;
}

.grocery-home .grocery-hero__metrics {
	gap: 0.65rem !important;
	margin-top: 1rem !important;
}

.grocery-home .grocery-hero__metric {
	min-height: 42px !important;
	padding: 0.62rem 0.85rem !important;
	border-color: rgba(76, 132, 56, 0.18) !important;
	background: rgba(255, 255, 255, 0.44) !important;
	color: #355c27 !important;
	box-shadow: 0 10px 22px rgba(66, 89, 36, 0.09) !important;
}

.grocery-home .grocery-hero__visual {
	min-height: clamp(315px, 34vw, 425px) !important;
	align-items: center !important;
	justify-content: center !important;
}

.grocery-home .grocery-hero__visual::before {
	inset: 4% 6% 4% 6% !important;
	border-radius: 50% !important;
	background:
		radial-gradient(circle at 50% 48%,
			rgba(255, 255, 255, 0.55) 0%,
			rgba(255, 246, 214, 0.28) 38%,
			rgba(255, 238, 181, 0) 66%) !important;
	box-shadow: none !important;
	filter: blur(2px) !important;
}

.grocery-home .grocery-hero__visual-image,
.grocery-home .grocery-hero__visual-image--alt,
.grocery-home .grocery-hero__visual-image--bright,
.grocery-home .grocery-hero__visual-image--product {
	width: min(100%, 520px) !important;
	max-height: 410px !important;
	filter: drop-shadow(0 24px 36px rgba(58, 44, 14, 0.20)) !important;
}

.grocery-home .grocery-hero__floating-badge {
	min-height: 42px !important;
	padding: 0.72rem 1rem !important;
	border: 1px solid rgba(76, 132, 56, 0.24) !important;
	background: linear-gradient(160deg, #ffffff 0%, #fff6cc 54%, #ffd96a 100%) !important;
	color: #315f24 !important;
	box-shadow: 0 18px 38px rgba(55, 103, 43, 0.16) !important;
	outline: 0 !important;
}


.grocery-home .grocery-hero__carousel .owl-dots {
	bottom: 0.85rem !important;
}

.grocery-home .grocery-hero__carousel .owl-dot span {
	background: rgba(76, 132, 56, 0.34) !important;
}

.grocery-home .grocery-hero__carousel .owl-dot.active span,
.grocery-home .grocery-hero__carousel .owl-dot:hover span {
	background: #4c8438 !important;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-hero,
	.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,
	.grocery-home .grocery-hero__slide {
		min-height: auto !important;
	}

	.grocery-home .grocery-hero__content {
		padding-top: 1.35rem !important;
		padding-bottom: 1.45rem !important;
	}

	.grocery-home .grocery-hero__slide .row {
		min-height: auto !important;
	}

	.grocery-home .grocery-hero__title {
		max-width: 13ch !important;
		font-size: clamp(2.1rem, 8vw, 3.2rem) !important;
	}

	.grocery-home .grocery-hero__lead {
		max-width: 44ch !important;
	}

	.grocery-home .grocery-hero__visual {
		min-height: 265px !important;
	}

	.grocery-home .grocery-hero__visual-image,
	.grocery-home .grocery-hero__visual-image--alt,
	.grocery-home .grocery-hero__visual-image--bright,
	.grocery-home .grocery-hero__visual-image--product {
		width: min(84%, 410px) !important;
		max-height: 300px !important;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-hero {
		background-position: 70% center !important;
	}

	.grocery-home .grocery-hero__content {
		padding-top: 1rem !important;
		padding-bottom: 1.25rem !important;
	}

	.grocery-home .grocery-hero__actions {
		align-items: stretch !important;
		gap: 0.65rem !important;
	}

	.grocery-home .grocery-hero__btn {
		width: 100% !important;
		justify-content: center !important;
		min-height: 46px !important;
		padding-inline: 1rem !important;
	}

	.grocery-home .grocery-hero__metrics {
		grid-template-columns: 1fr !important;
	}

	.grocery-home .grocery-hero__visual {
		min-height: 220px !important;
	}

	.grocery-home .grocery-hero__floating-badge {
		max-width: 82% !important;
	}
}

/* ===========================================================================
   HERO — refonte couleurs (override final, demande client) :
   dégradé « ORANGE au centre / BLANC sur les deux côtés », textes lisibles
   sur fond clair, et boutons soignés (primaire vert, secondaire blanc bordé).
   --- PALETTE A (active) : Orange chaleureux. Pour tester une autre ambiance,
       remplacer le 'background' de .grocery-hero par l'une des variantes en bas. ---
   =========================================================================== */
.grocery-home .grocery-hero {
	background-color: #fdf6e0 !important;
	background-image: url("../img/hero/hero-bg.png") !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	color: var(--site-ink) !important;
}

/* Halos décoratifs adoucis (blanc translucide). */
.grocery-home .grocery-hero::before,
.grocery-home .grocery-hero::after {
	background: radial-gradient(circle, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 70%) !important;
}

/* Textes lisibles sur fond clair. */
.grocery-home .grocery-hero__eyebrow {
	background: rgba(76, 132, 56, 0.12) !important;
	color: var(--site-green-dark) !important;
	font-weight: 800 !important;
}
.grocery-home .grocery-hero__title {
	color: #141414 !important;
}
.grocery-home .grocery-hero__lead {
	color: #4a4031 !important;
	opacity: 1 !important;
}
.grocery-home .grocery-hero__metric {
	background: rgba(255, 255, 255, 0.74) !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	color: var(--site-ink) !important;
	backdrop-filter: none !important;
}
.grocery-home .grocery-hero__floating-badge {
	background: #fffaf0 !important;
	color: var(--site-green-dark) !important;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12) !important;
}

/* Boutons hero. Primaire (btn-dark) = vert dégradé ; secondaire (btn-outline-light)
   = blanc, bordure et texte verts. */
.grocery-home .grocery-hero__btn {
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
}
.grocery-home .grocery-hero__btn.btn-dark {
	background: linear-gradient(135deg, #5aa23f 0%, #3c7a2c 100%) !important;
	border-color: #3c7a2c !important;
	color: #fff !important;
	box-shadow: 0 12px 26px rgba(60, 122, 44, 0.32) !important;
}
.grocery-home .grocery-hero__btn.btn-dark:hover {
	background: linear-gradient(135deg, #4f9437 0%, #336823 100%) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 16px 32px rgba(60, 122, 44, 0.4) !important;
}
.grocery-home .grocery-hero__btn.btn-outline-light {
	background: #ffffff !important;
	border: 1.5px solid #cfe0c4 !important;
	color: var(--site-green-dark) !important;
	box-shadow: 0 8px 20px rgba(23, 32, 51, 0.08) !important;
}
.grocery-home .grocery-hero__btn.btn-outline-light:hover {
	background: #f1f7ec !important;
	border-color: #9cc187 !important;
	color: #2c5a20 !important;
	transform: translateY(-1px) !important;
}

/* Image produit : fondre le fond blanc des photos dans le décor du hero.
   (mix-blend multiply rend le blanc transparent ; on retire le halo + l'ombre
   rectangulaire qui jureraient.) */
.grocery-home .grocery-hero__visual::before {
	display: none !important;
}

.grocery-home .grocery-hero__visual-image--product {
	mix-blend-mode: multiply !important;
	filter: none !important;
}

/* Ancienne bande défilante masquée : remplacée par la bande 4 atouts. */
.grocery-home .grocery-band {
	display: none !important;
}

/* ====================================================================
   BANDE 4 ATOUTS (sous le hero) — panneau blanc + icônes rondes
   ==================================================================== */
.grocery-home .grocery-usp {
	order: 2 !important; /* le parent .grocery-home est en flex-column ordonné : juste après le hero (order 1) */
	position: relative;
	z-index: 3;
	margin-top: 1rem;
	padding-bottom: 0.5rem;
}

.grocery-home .grocery-usp__panel {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(76, 132, 56, 0.12);
	border-radius: 20px;
	box-shadow: 0 24px 60px rgba(60, 80, 30, 0.12);
	padding: 1.15rem 0.75rem;
}

.grocery-home .grocery-usp__item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.35rem 1.35rem;
	border-left: 1px solid rgba(23, 32, 51, 0.08);
}

.grocery-home .grocery-usp__item:first-child {
	border-left: 0;
}

.grocery-home .grocery-usp__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	color: #ffffff;
	font-size: 1.12rem;
	box-shadow: 0 10px 22px rgba(55, 103, 43, 0.18);
}

.grocery-home .grocery-usp__icon--green {
	background: linear-gradient(135deg, #5aa23f 0%, #37672b 100%);
}

.grocery-home .grocery-usp__icon--orange {
	background: linear-gradient(135deg, #ffa23d 0%, #f47b20 100%);
	box-shadow: 0 10px 22px rgba(244, 123, 32, 0.22);
}

.grocery-home .grocery-usp__text {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.grocery-home .grocery-usp__text strong {
	color: #1f3d16;
	font-size: 0.9rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

.grocery-home .grocery-usp__text span {
	color: #6b6f63;
	font-size: 0.82rem;
}

/* RTL : on inverse le séparateur */
body.is-rtl .grocery-home .grocery-usp__item {
	border-left: 0;
	border-right: 1px solid rgba(23, 32, 51, 0.08);
}

body.is-rtl .grocery-home .grocery-usp__item:first-child {
	border-right: 0;
}

@media (max-width: 991.98px) {
	.grocery-home .grocery-usp__panel {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 0.4rem;
	}

	.grocery-home .grocery-usp__item:nth-child(odd),
	body.is-rtl .grocery-home .grocery-usp__item:nth-child(odd) {
		border-left: 0;
		border-right: 0;
	}

	.grocery-home .grocery-usp__item:nth-child(n + 3) {
		border-top: 1px solid rgba(23, 32, 51, 0.07);
		padding-top: 0.85rem;
	}
}

@media (max-width: 575.98px) {
	.grocery-home .grocery-usp__panel {
		grid-template-columns: 1fr;
		padding: 0.9rem 0.9rem;
	}

	.grocery-home .grocery-usp__item,
	body.is-rtl .grocery-home .grocery-usp__item {
		border-left: 0 !important;
		border-right: 0 !important;
		padding: 0.7rem 0.6rem;
	}

	.grocery-home .grocery-usp__item + .grocery-usp__item {
		border-top: 1px solid rgba(23, 32, 51, 0.07);
	}
}

/* ====================================================================
   PAGE CONTACT — onglets sociétés (vert Elborj / orange Elakwess)
   ==================================================================== */
.contact-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	border: 0;
	padding: 0;
	list-style: none;
}

.contact-tab {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.55rem 1.15rem;
	border: 1.5px solid rgba(23, 32, 51, 0.12);
	border-radius: 999px;
	background: #ffffff;
	color: #2a2f24;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.contact-tab__logo {
	width: 34px;
	height: 34px;
	object-fit: contain;
	border-radius: 8px;
	background: #ffffff;
}

.contact-tab:hover {
	border-color: rgba(76, 132, 56, 0.4);
	box-shadow: 0 8px 20px rgba(66, 89, 36, 0.1);
}

.contact-tab.active.contact-tab--green {
	background: linear-gradient(135deg, #4c8438 0%, #37672b 100%);
	border-color: #37672b;
	color: #ffffff;
	box-shadow: 0 12px 26px rgba(55, 103, 43, 0.28);
}

.contact-tab.active.contact-tab--orange {
	background: linear-gradient(135deg, #ffa23d 0%, #f47b20 100%);
	border-color: #f47b20;
	color: #ffffff;
	box-shadow: 0 12px 26px rgba(244, 123, 32, 0.26);
}

.contact-tab.active.contact-tab--blue {
	background: linear-gradient(135deg, #3d8bff 0%, #2563c9 100%);
	border-color: #2563c9;
	color: #ffffff;
}

.contact-tab.active.contact-tab--red {
	background: linear-gradient(135deg, #ef5b54 0%, #c4350f 100%);
	border-color: #c4350f;
	color: #ffffff;
}

.contact-tab.active .contact-tab__logo {
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7);
}

/* --- VARIANTES de dégradé (copier dans .grocery-hero > background pour changer) ---
   PALETTE B (Vert nature) :
     radial-gradient(120% 85% at 50% 6%, rgba(255,255,255,.6) 0%, rgba(255,255,255,0) 58%),
     linear-gradient(90deg,#ffffff 0%,#eef6e6 16%,#bfe0a8 40%,#a6d28a 50%,#bfe0a8 60%,#eef6e6 84%,#ffffff 100%);
   PALETTE C (Crème premium / or doux) :
     radial-gradient(120% 85% at 50% 6%, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 58%),
     linear-gradient(90deg,#ffffff 0%,#fbf3e2 18%,#f3dcae 45%,#eed099 50%,#f3dcae 55%,#fbf3e2 82%,#ffffff 100%);
   PALETTE D (Pêche doux) :
     linear-gradient(90deg,#ffffff 0%,#fff1ea 18%,#ffd0b5 45%,#ffb88c 50%,#ffd0b5 55%,#fff1ea 82%,#ffffff 100%);
*/

/* =====================================================================
   Home after-hero polish: closer to the clean reference layout.
   ===================================================================== */
html body .grocery-home {
	background:
		linear-gradient(180deg, #fffdf7 0%, #ffffff 18rem, #fbfcf8 100%) !important;
}

html body .grocery-home .grocery-usp {
	position: relative !important;
	z-index: 5 !important;
	margin-top: -2.15rem !important;
	padding: 0 0 clamp(1.25rem, 2.4vw, 2rem) !important;
}

html body .grocery-home .grocery-usp .container {
	width: min(100% - 48px, 1240px) !important;
	max-width: 1240px !important;
}

html body .grocery-home .grocery-usp__panel {
	position: relative !important;
	isolation: isolate !important;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	min-height: 96px !important;
	padding: 0.95rem 1.05rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(72, 132, 56, 0.12) !important;
	border-radius: 18px !important;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 240, 0.92)) !important;
	box-shadow:
		0 24px 58px rgba(52, 73, 31, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

html body .grocery-home .grocery-usp__panel::before {
	content: "" !important;
	position: absolute !important;
	inset-inline: 1.25rem !important;
	top: 0 !important;
	z-index: -1 !important;
	height: 3px !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #4c8438 0%, #f4bd20 54%, #f47b20 100%) !important;
	opacity: 0.78 !important;
}

html body .grocery-home .grocery-usp__item {
	min-width: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.9rem !important;
	padding: 0.35rem clamp(0.85rem, 1.6vw, 1.35rem) !important;
	border-left: 1px solid rgba(23, 32, 51, 0.08) !important;
}

html body .grocery-home .grocery-usp__item:first-child {
	border-left: 0 !important;
}

html body.is-rtl .grocery-home .grocery-usp__item {
	border-right: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-left: 0 !important;
}

html body.is-rtl .grocery-home .grocery-usp__item:first-child {
	border-right: 0 !important;
}

html body .grocery-home .grocery-usp__icon {
	width: 52px !important;
	height: 52px !important;
	border-radius: 999px !important;
	font-size: 1rem !important;
	box-shadow:
		0 14px 26px rgba(55, 103, 43, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

html body .grocery-home .grocery-usp__icon--green {
	background: linear-gradient(135deg, #5aa23f 0%, #3f842f 48%, #2f6728 100%) !important;
}

html body .grocery-home .grocery-usp__icon--orange {
	background: linear-gradient(135deg, #ffad32 0%, #f47b20 100%) !important;
	box-shadow:
		0 14px 26px rgba(244, 123, 32, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

html body .grocery-home .grocery-usp__text strong {
	color: #16223a !important;
	font-size: 0.84rem !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
}

html body .grocery-home .grocery-usp__text span {
	margin-top: 0.16rem !important;
	color: #56616f !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	line-height: 1.28 !important;
}

html body .grocery-home .grocery-choices--lead {
	padding-top: clamp(1rem, 1.8vw, 1.65rem) !important;
	padding-bottom: clamp(1.45rem, 2.5vw, 2.25rem) !important;
	background: #ffffff !important;
	border-bottom: 0 !important;
}

html body .grocery-home .grocery-choices--lead .container,
html body .grocery-home .grocery-section--process .container,
html body .grocery-home .grocery-section--categories .container,
html body .grocery-home .grocery-section--trending .container,
html body .grocery-home .grocery-section--new .container {
	width: min(100% - 48px, 1240px) !important;
	max-width: 1240px !important;
}

html body .grocery-home .grocery-choices--lead .row {
	row-gap: 1.25rem !important;
}

html body .grocery-home .grocery-section--process {
	position: relative !important;
	padding: clamp(2.3rem, 4vw, 3.4rem) 0 !important;
	overflow: hidden !important;
	background:
		radial-gradient(circle at 12% 12%, rgba(76, 132, 56, 0.09), transparent 18rem),
		linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
}

html body .grocery-home .grocery-section--process::before,
html body .grocery-home .grocery-section--process .row::before {
	display: none !important;
}

html body .grocery-home .grocery-section__header {
	margin-bottom: clamp(1.2rem, 2.4vw, 1.9rem) !important;
}

html body .grocery-home .grocery-section__kicker,
html body .grocery-home .grocery-section__header--catalog .grocery-section__kicker {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 30px !important;
	padding: 0.34rem 0.82rem !important;
	border: 1px solid rgba(76, 132, 56, 0.18) !important;
	border-radius: 999px !important;
	background: rgba(76, 132, 56, 0.08) !important;
	color: #37672b !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

html body .grocery-home .grocery-section__title,
html body .grocery-home .grocery-section__header--catalog .grocery-section__title {
	color: #172033 !important;
	font-size: clamp(1.85rem, 3vw, 2.65rem) !important;
	line-height: 1.04 !important;
}

html body .grocery-home .grocery-section__lead,
html body .grocery-home .grocery-section__header--catalog .grocery-section__lead {
	color: #657083 !important;
	font-size: 0.98rem !important;
	font-weight: 650 !important;
	line-height: 1.6 !important;
}

html body .grocery-home .grocery-section__header::after,
html body .grocery-home .grocery-section--process .grocery-section__header::after {
	width: 54px !important;
	height: 4px !important;
	margin-top: 0.65rem !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #4c8438 0%, #f4bd20 100%) !important;
}

html body .grocery-home .grocery-section--process .row {
	position: relative !important;
	row-gap: 1rem !important;
}

html body .grocery-home .grocery-step-card {
	min-height: 210px !important;
	padding: 1.35rem 1.25rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: 0 16px 38px rgba(23, 32, 51, 0.07) !important;
}

html body .grocery-home .grocery-step-card::before,
html body .grocery-home .grocery-step-card::after {
	content: "" !important;
	position: absolute !important;
	inset: auto auto -4.5rem -4.5rem !important;
	width: 9rem !important;
	height: 9rem !important;
	border-radius: 50% !important;
	background: rgba(76, 132, 56, 0.08) !important;
	pointer-events: none !important;
}

html body .grocery-home .grocery-step-card::after {
	inset: -5rem -5rem auto auto !important;
	background: rgba(244, 189, 32, 0.12) !important;
}

html body .grocery-home .grocery-step-card:hover {
	border-color: rgba(76, 132, 56, 0.22) !important;
	box-shadow: 0 22px 48px rgba(23, 32, 51, 0.1) !important;
	transform: translateY(-3px) !important;
}

html body .grocery-home .grocery-step-card span {
	top: 1rem !important;
	right: 1rem !important;
	color: rgba(76, 132, 56, 0.13) !important;
	font-size: 2rem !important;
	font-weight: 950 !important;
}

html body .grocery-home .grocery-step-card i {
	width: 48px !important;
	height: 48px !important;
	margin-bottom: 0.85rem !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, rgba(76, 132, 56, 0.13), rgba(244, 189, 32, 0.18)) !important;
	color: #3f7330 !important;
	font-size: 1.1rem !important;
}

html body .grocery-home .grocery-step-card h3 {
	color: #172033 !important;
	font-size: 1rem !important;
	line-height: 1.22 !important;
}

html body .grocery-home .grocery-step-card p {
	color: #64748b !important;
	font-size: 0.9rem !important;
	line-height: 1.55 !important;
}

html body .grocery-home .grocery-section--categories {
	padding-top: clamp(2.2rem, 4vw, 3.4rem) !important;
	padding-bottom: clamp(2.2rem, 4vw, 3.4rem) !important;
	background:
		linear-gradient(180deg, #fbfcf8 0%, #ffffff 100%) !important;
}

html body .grocery-home .grocery-section__header--catalog {
	min-height: 0 !important;
	padding: clamp(1.35rem, 2.6vw, 2rem) clamp(1.35rem, 3.4vw, 2.8rem) !important;
	border: 1px solid rgba(76, 132, 56, 0.14) !important;
	border-left: 6px solid #4c8438 !important;
	border-radius: 16px !important;
	background:
		radial-gradient(circle at 92% 50%, rgba(244, 189, 32, 0.18), transparent 19rem),
		linear-gradient(105deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 252, 248, 0.98) 58%, rgba(255, 246, 224, 0.98) 100%) !important;
	box-shadow: 0 20px 48px rgba(23, 32, 51, 0.07) !important;
}

html body .grocery-home .grocery-section__header--catalog::before,
html body .grocery-home .grocery-section__header--catalog::after {
	display: none !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__action,
html body .grocery-home .grocery-trending__catalog-action,
html body .grocery-home .grocery-section__footer-action {
	min-height: 46px !important;
	border: 1px solid #37672b !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #4c8438 0%, #37672b 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 16px 34px rgba(76, 132, 56, 0.2) !important;
}

html body .grocery-home .grocery-category-carousel .owl-stage-outer,
html body .grocery-home .grocery-products-carousel .owl-stage-outer {
	padding: 0.2rem 0 1rem !important;
}

html body .grocery-home .grocery-section--trending,
html body .grocery-home .grocery-section--new {
	padding-top: clamp(2.25rem, 4vw, 3.4rem) !important;
	padding-bottom: clamp(2.25rem, 4vw, 3.4rem) !important;
	background: #ffffff !important;
}

html body .grocery-home .grocery-section--new {
	background:
		linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%) !important;
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-usp {
		margin-top: 0 !important;
		padding-top: 1rem !important;
	}

	html body .grocery-home .grocery-usp .container,
	html body .grocery-home .grocery-choices--lead .container,
	html body .grocery-home .grocery-section--process .container,
	html body .grocery-home .grocery-section--categories .container,
	html body .grocery-home .grocery-section--trending .container,
	html body .grocery-home .grocery-section--new .container {
		width: min(100% - 32px, 1240px) !important;
	}

	html body .grocery-home .grocery-usp__panel {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		border-radius: 16px !important;
	}

	html body .grocery-home .grocery-usp__item:nth-child(odd) {
		border-left: 0 !important;
	}

	html body.is-rtl .grocery-home .grocery-usp__item:nth-child(odd) {
		border-right: 0 !important;
	}

	html body .grocery-home .grocery-usp__item:nth-child(n + 3) {
		border-top: 1px solid rgba(23, 32, 51, 0.07) !important;
	}
}

@media (max-width: 575.98px) {
	html body .grocery-home .grocery-usp {
		padding-top: 0.85rem !important;
	}

	html body .grocery-home .grocery-usp .container,
	html body .grocery-home .grocery-choices--lead .container,
	html body .grocery-home .grocery-section--process .container,
	html body .grocery-home .grocery-section--categories .container,
	html body .grocery-home .grocery-section--trending .container,
	html body .grocery-home .grocery-section--new .container {
		width: min(100% - 24px, 1240px) !important;
	}

	html body .grocery-home .grocery-usp__panel {
		grid-template-columns: 1fr !important;
		padding: 0.75rem !important;
	}

	html body .grocery-home .grocery-usp__item,
	html body.is-rtl .grocery-home .grocery-usp__item {
		border-left: 0 !important;
		border-right: 0 !important;
		padding: 0.72rem 0.35rem !important;
	}

	html body .grocery-home .grocery-usp__item + .grocery-usp__item {
		border-top: 1px solid rgba(23, 32, 51, 0.07) !important;
	}

	html body .grocery-home .grocery-section__header--catalog {
		grid-template-columns: 1fr !important;
		padding: 1.25rem !important;
		text-align: center !important;
	}

	html body .grocery-home .grocery-section__header--catalog .grocery-section__lead {
		text-align: center !important;
	}
}

/* =====================================================================
   Categories and product shelf polish: closer to the clean reference.
   ===================================================================== */

html body .grocery-home .grocery-section--categories {
	position: relative !important;
	padding-top: clamp(1.9rem, 3.4vw, 3rem) !important;
	padding-bottom: clamp(1.8rem, 3.2vw, 2.8rem) !important;
	overflow: hidden !important;
	background:
		radial-gradient(circle at 0% 30%, rgba(248, 197, 51, 0.12), transparent 20rem),
		radial-gradient(circle at 100% 72%, rgba(76, 132, 56, 0.08), transparent 18rem),
		linear-gradient(180deg, #fffdf8 0%, #ffffff 100%) !important;
}

html body .grocery-home .grocery-section--categories .container,
html body .grocery-home .grocery-section--trending .container,
html body .grocery-home .grocery-section--new .container {
	width: min(100% - 44px, 1280px) !important;
	max-width: 1280px !important;
}

html body .grocery-home .grocery-section__header--catalog {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 1.5rem !important;
	align-items: center !important;
	margin-bottom: clamp(1.35rem, 2.5vw, 2rem) !important;
	padding: clamp(1.55rem, 3vw, 2.35rem) clamp(1.5rem, 4.2vw, 4rem) !important;
	overflow: hidden !important;
	border: 1px solid rgba(237, 151, 43, 0.22) !important;
	border-left: 0 !important;
	border-radius: 8px !important;
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.94) 0%, rgba(255, 251, 242, 0.8) 48%, rgba(255, 232, 190, 0.54) 100%),
		url("../img/hero/sec-catgorie.png") center / cover no-repeat !important;
	box-shadow: 0 18px 46px rgba(56, 35, 16, 0.08) !important;
}

html body .grocery-home .grocery-section__header--catalog::before {
	content: "" !important;
	position: absolute !important;
	right: -4.5rem !important;
	bottom: -5rem !important;
	display: block !important;
	width: 18rem !important;
	height: 18rem !important;
	border-radius: 50% !important;
	background:
		radial-gradient(circle, rgba(255, 255, 255, 0.34), transparent 66%) !important;
	pointer-events: none !important;
}

html body .grocery-home .grocery-section__header--catalog::after {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-section__header--catalog > * {
	position: relative !important;
	z-index: 1 !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__kicker {
	min-height: 0 !important;
	margin-bottom: 0.75rem !important;
	padding: 0.36rem 0.86rem !important;
	border: 1px solid rgba(255, 107, 24, 0.18) !important;
	background: rgba(255, 255, 255, 0.84) !important;
	color: #ff6b18 !important;
	font-size: 0.68rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.24em !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__title {
	max-width: 16ch !important;
	margin-bottom: 0.45rem !important;
	color: #173d1c !important;
	font-size: clamp(2.05rem, 4.2vw, 3.2rem) !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__title span {
	color: inherit !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__lead {
	max-width: 56rem !important;
	margin: 0 !important;
	color: #5d6573 !important;
	font-size: 1rem !important;
	font-weight: 750 !important;
	line-height: 1.55 !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__action {
	min-width: 214px !important;
	min-height: 50px !important;
	padding: 0.9rem 1.35rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, #ff8a16 0%, #ff5f13 100%) !important;
	color: #ffffff !important;
	font-weight: 900 !important;
	box-shadow: 0 18px 34px rgba(255, 107, 24, 0.24) !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__action:hover,
html body .grocery-home .grocery-section__header--catalog .grocery-section__action:focus {
	transform: translateY(-2px) !important;
	box-shadow: 0 22px 42px rgba(255, 107, 24, 0.3) !important;
}

html body .grocery-home .grocery-category-carousel .owl-stage {
	display: flex !important;
	align-items: stretch !important;
}

html body .grocery-home .grocery-category-carousel .owl-item {
	display: flex !important;
}

html body .grocery-home .grocery-category-card-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	color: inherit !important;
	text-decoration: none !important;
}

html body .grocery-home .grocery-category-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	min-height: 214px !important;
	height: 100% !important;
	padding: 1rem 1rem 1.05rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.09) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 252, 246, 0.98) 100%) !important;
	box-shadow: 0 16px 34px rgba(23, 32, 51, 0.08) !important;
	text-align: center !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

html body .grocery-home .grocery-category-card:hover {
	border-color: rgba(76, 132, 56, 0.24) !important;
	box-shadow: 0 24px 46px rgba(23, 32, 51, 0.12) !important;
	transform: translateY(-4px) !important;
}

html body .grocery-home .grocery-category-card::before {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-category-card::after {
	content: "\f06c" !important;
	position: absolute !important;
	top: 0.85rem !important;
	left: 0.85rem !important;
	z-index: 2 !important;
	display: grid !important;
	place-items: center !important;
	width: 34px !important;
	height: 34px !important;
	border: 1px solid rgba(76, 132, 56, 0.14) !important;
	border-radius: 50% !important;
	background: #fff9d8 !important;
	color: #5e9b35 !important;
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
	font-size: 0.86rem !important;
	font-weight: 900 !important;
	box-shadow: 0 10px 22px rgba(76, 132, 56, 0.1) !important;
	pointer-events: none !important;
}

html body .grocery-home .grocery-category-card__image {
	position: relative !important;
	inset: auto !important;
	order: 1 !important;
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 128px !important;
	margin: 0 0 0.7rem !important;
	overflow: visible !important;
	border-radius: 8px !important;
	background: transparent !important;
}

html body .grocery-home .grocery-category-card__image img {
	display: block !important;
	width: 100% !important;
	height: 118px !important;
	max-height: 118px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 14px 18px rgba(23, 32, 51, 0.12)) !important;
	mix-blend-mode: multiply !important;
	transform: none !important;
}

html body .grocery-home .grocery-category-card:hover .grocery-category-card__image img {
	transform: scale(1.04) !important;
}

html body .grocery-home .grocery-category-card__image span {
	display: grid !important;
	place-items: center !important;
	width: 86px !important;
	height: 86px !important;
	border-radius: 50% !important;
	background: rgba(76, 132, 56, 0.1) !important;
	color: #37672b !important;
	font-size: 2rem !important;
	font-weight: 950 !important;
}

html body .grocery-home .grocery-category-card__title {
	position: static !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 2 !important;
	order: 2 !important;
	width: 100% !important;
	min-height: 2.1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: #12351c !important;
	font-size: 0.92rem !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
	text-shadow: none !important;
}

html body .grocery-home .grocery-category-card__count {
	position: static !important;
	left: auto !important;
	bottom: auto !important;
	z-index: 2 !important;
	order: 3 !important;
	max-width: 100% !important;
	margin-top: 0.45rem !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #586574 !important;
	font-size: 0.78rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
	text-overflow: ellipsis !important;
	text-shadow: none !important;
	white-space: nowrap !important;
}

html body .grocery-home .grocery-section--trending {
	position: relative !important;
	padding-top: clamp(1.9rem, 3.4vw, 3rem) !important;
	padding-bottom: clamp(1.9rem, 3.6vw, 3.15rem) !important;
	background:
		radial-gradient(circle at 6% 18%, rgba(255, 107, 24, 0.06), transparent 18rem),
		radial-gradient(circle at 96% 70%, rgba(248, 197, 51, 0.11), transparent 20rem),
		linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
}

html body .grocery-home .grocery-section--trending .grocery-section__header {
	margin-bottom: clamp(1rem, 2vw, 1.55rem) !important;
}

html body .grocery-home .grocery-section--trending .grocery-section__kicker,
html body .grocery-home .grocery-section--new .grocery-section__kicker {
	border: 1px solid rgba(255, 107, 24, 0.12) !important;
	background: #fff2e8 !important;
	color: #ff5f13 !important;
	font-size: 0.68rem !important;
	font-weight: 950 !important;
	letter-spacing: 0.24em !important;
}

html body .grocery-home .grocery-section--trending .grocery-section__title,
html body .grocery-home .grocery-section--new .grocery-section__title {
	color: #172033 !important;
	font-size: clamp(1.7rem, 3vw, 2.35rem) !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
}

html body .grocery-home .grocery-section--trending .grocery-section__header::after,
html body .grocery-home .grocery-section--new .grocery-section__header::after {
	display: block !important;
	width: 58px !important;
	height: 4px !important;
	margin: 0.42rem auto 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #4c8438 0%, #f4bd20 52%, #e30613 100%) !important;
}

html body .grocery-home .grocery-section--trending .grocery-section__lead {
	display: none !important;
}

html body .grocery-home .grocery-product-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(174px, 1fr)) !important;
	gap: 1rem !important;
	align-items: stretch !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card,
html body .grocery-home .grocery-section--new .grocery-product-card {
	grid-template-rows: 166px 1fr !important;
	min-height: 358px !important;
	border: 1px solid rgba(23, 32, 51, 0.1) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 30px rgba(23, 32, 51, 0.08) !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card:hover,
html body .grocery-home .grocery-section--new .grocery-product-card:hover {
	border-color: rgba(76, 132, 56, 0.26) !important;
	box-shadow: 0 22px 44px rgba(23, 32, 51, 0.12) !important;
	transform: translateY(-4px) !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__media,
html body .grocery-home .grocery-section--new .grocery-product-card__media {
	height: 166px !important;
	min-height: 166px !important;
	padding: 0.8rem 0.85rem 0.45rem !important;
	border-bottom: 0 !important;
	background: #fffdf8 !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__image-link,
html body .grocery-home .grocery-section--new .grocery-product-card__image-link {
	background: transparent !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__image,
html body .grocery-home .grocery-section--new .grocery-product-card__image {
	height: 138px !important;
	max-height: 138px !important;
	object-fit: contain !important;
	filter: drop-shadow(0 13px 16px rgba(23, 32, 51, 0.12)) !important;
	mix-blend-mode: multiply !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__body,
html body .grocery-home .grocery-section--new .grocery-product-card__body {
	align-items: center !important;
	gap: 0.42rem !important;
	padding: 0.4rem 0.9rem 0 !important;
	text-align: center !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__category,
html body .grocery-home .grocery-section--new .grocery-product-card__category {
	align-self: center !important;
	max-width: 100% !important;
	min-height: 24px !important;
	padding: 0.3rem 0.72rem !important;
	background: rgba(76, 132, 56, 0.11) !important;
	color: #37672b !important;
	font-size: 0.63rem !important;
	font-weight: 950 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__title,
html body .grocery-home .grocery-section--new .grocery-product-card__title {
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	max-height: 42px !important;
	width: 100% !important;
	font-size: 0.9rem !important;
	font-weight: 900 !important;
	line-height: 1.28 !important;
	text-align: center !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__title a,
html body .grocery-home .grocery-section--new .grocery-product-card__title a {
	text-align: center !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__brand,
html body .grocery-home .grocery-section--new .grocery-product-card__brand {
	width: 100% !important;
	margin: -0.1rem 0 0 !important;
	color: #7a8595 !important;
	font-size: 0.74rem !important;
	font-weight: 750 !important;
	text-align: center !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__price,
html body .grocery-home .grocery-section--new .grocery-product-card__price {
	justify-content: center !important;
	min-height: 36px !important;
	width: 100% !important;
	text-align: center !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__price-line,
html body .grocery-home .grocery-section--new .grocery-product-card__price-line {
	align-items: center !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__price-line small,
html body .grocery-home .grocery-section--new .grocery-product-card__price-line small {
	display: none !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__price .amount,
html body .grocery-home .grocery-section--trending .grocery-product-card__price .sale,
html body .grocery-home .grocery-section--new .grocery-product-card__price .amount,
html body .grocery-home .grocery-section--new .grocery-product-card__price .sale {
	color: #e30613 !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__actions,
html body .grocery-home .grocery-section--new .grocery-product-card__actions {
	justify-content: center !important;
	gap: 0.52rem !important;
	min-height: 52px !important;
	width: 100% !important;
	margin: auto 0 0 !important;
	padding: 0.55rem 0 0.8rem !important;
	border-top: 0 !important;
	background: transparent !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__action,
html body .grocery-home .grocery-section--new .grocery-product-card__action {
	width: 34px !important;
	height: 34px !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: #172033 !important;
	color: #ffffff !important;
	box-shadow: 0 9px 18px rgba(23, 32, 51, 0.14) !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__action:nth-child(2),
html body .grocery-home .grocery-section--new .grocery-product-card__action:nth-child(2) {
	background: #3f7d32 !important;
	color: #ffffff !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__action--favorite,
html body .grocery-home .grocery-section--new .grocery-product-card__action--favorite {
	background: #ff4e13 !important;
	color: #ffffff !important;
}

html body .grocery-home .grocery-section--trending .grocery-trending__catalog {
	display: none !important;
}

@media (min-width: 1400px) {
	html body .grocery-home .grocery-product-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1600px) {
	html body .grocery-home .grocery-product-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-section__header--catalog {
		grid-template-columns: 1fr !important;
		text-align: center !important;
	}

	html body .grocery-home .grocery-section__header--catalog .grocery-section__title {
		max-width: none !important;
	}

	html body .grocery-home .grocery-section__header--catalog .grocery-section__lead {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	html body .grocery-home .grocery-section__header--catalog .grocery-section__action {
		justify-self: center !important;
	}
}

@media (max-width: 575.98px) {
	html body .grocery-home .grocery-section--categories .container,
	html body .grocery-home .grocery-section--trending .container,
	html body .grocery-home .grocery-section--new .container {
		width: min(100% - 24px, 1280px) !important;
	}

	html body .grocery-home .grocery-section__header--catalog {
		padding: 1.15rem !important;
	}

	html body .grocery-home .grocery-section__header--catalog .grocery-section__action {
		width: 100% !important;
		min-width: 0 !important;
	}

	html body .grocery-home .grocery-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.8rem !important;
	}

	html body .grocery-home .grocery-section--trending .grocery-product-card,
	html body .grocery-home .grocery-section--new .grocery-product-card {
		grid-template-rows: 140px 1fr !important;
		min-height: 334px !important;
	}

	html body .grocery-home .grocery-section--trending .grocery-product-card__media,
	html body .grocery-home .grocery-section--new .grocery-product-card__media {
		height: 140px !important;
		min-height: 140px !important;
	}

	html body .grocery-home .grocery-section--trending .grocery-product-card__image,
	html body .grocery-home .grocery-section--new .grocery-product-card__image {
		height: 112px !important;
		max-height: 112px !important;
	}
}

/* =====================================================================
   Tighter category shelf: compact cards, less whitespace, six-up desktop.
   ===================================================================== */

html body .grocery-home .grocery-section--categories {
	padding-top: clamp(1.15rem, 2.2vw, 2rem) !important;
	padding-bottom: clamp(1.1rem, 2vw, 1.8rem) !important;
	background:
		radial-gradient(circle at 0% 30%, rgba(248, 197, 51, 0.08), transparent 18rem),
		radial-gradient(circle at 100% 78%, rgba(76, 132, 56, 0.06), transparent 17rem),
		linear-gradient(180deg, #fffdf8 0%, #ffffff 100%) !important;
}

html body .grocery-home .grocery-section--categories > .container,
html body .grocery-home .grocery-section--categories .container {
	width: min(100% - 40px, 1240px) !important;
	max-width: 1240px !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

html body .grocery-home .grocery-section__header--catalog {
	width: 100% !important;
	min-height: 148px !important;
	margin: 0 0 1rem !important;
	padding: clamp(1.15rem, 2vw, 1.75rem) clamp(1.35rem, 3vw, 2.55rem) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.9) 0%, rgba(255, 250, 240, 0.74) 48%, rgba(255, 225, 175, 0.46) 100%),
		url("../img/hero/sec-catgorie.png") center / cover no-repeat !important;
	box-shadow: 0 14px 34px rgba(56, 35, 16, 0.07) !important;
}

html body .grocery-home .grocery-section__header--catalog::before,
html body .grocery-home .grocery-section__header--catalog::after,
html body .grocery-home .grocery-section__header--catalog > div::after {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__kicker {
	margin-bottom: 0.58rem !important;
	padding: 0.32rem 0.78rem !important;
	border-radius: 999px !important;
	font-size: 0.64rem !important;
	letter-spacing: 0.22em !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__title {
	max-width: 20ch !important;
	margin: 0 0 0.35rem !important;
	font-size: clamp(2rem, 3.3vw, 3rem) !important;
	line-height: 1 !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__lead {
	max-width: 58rem !important;
	color: #5d6573 !important;
	font-size: 0.98rem !important;
	line-height: 1.45 !important;
}

html body .grocery-home .grocery-section__header--catalog .grocery-section__action {
	min-width: 205px !important;
	min-height: 48px !important;
	padding: 0.78rem 1.28rem !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, #ff8417 0%, #ff5f13 100%) !important;
	box-shadow: 0 14px 28px rgba(255, 107, 24, 0.22) !important;
}

html body .grocery-home .grocery-category-carousel {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

html body .grocery-home .grocery-category-carousel .owl-stage-outer {
	padding: 0.35rem 0 0.75rem !important;
}

html body .grocery-home .grocery-category-carousel .owl-stage {
	display: flex !important;
	align-items: stretch !important;
}

html body .grocery-home .grocery-category-carousel .owl-item {
	display: flex !important;
}

html body .grocery-home .grocery-category-card-link {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

html body .grocery-home .grocery-category-card-link::after {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-category-carousel .owl-item:nth-child(n) .grocery-category-card,
html body .grocery-home .grocery-category-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	min-height: 208px !important;
	height: 100% !important;
	padding: 0.85rem 0.8rem 0.92rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.09) !important;
	border-radius: 8px !important;
	background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
	box-shadow: 0 12px 26px rgba(23, 32, 51, 0.075) !important;
	text-align: center !important;
}

html body .grocery-home .grocery-category-carousel .owl-item:nth-child(n) .grocery-category-card:hover,
html body .grocery-home .grocery-category-card:hover {
	border-color: rgba(76, 132, 56, 0.24) !important;
	box-shadow: 0 18px 34px rgba(23, 32, 51, 0.1) !important;
	transform: translateY(-3px) !important;
}

html body .grocery-home .grocery-category-card::before {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-category-card::after {
	top: 0.72rem !important;
	left: 0.72rem !important;
	width: 31px !important;
	height: 31px !important;
	background: #fff9d8 !important;
	color: #5e9b35 !important;
	box-shadow: 0 8px 18px rgba(76, 132, 56, 0.1) !important;
}

html body .grocery-home .grocery-category-card__image {
	position: relative !important;
	inset: auto !important;
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 112px !important;
	margin: 0 0 0.62rem !important;
	padding: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
}

html body .grocery-home .grocery-category-card__image img {
	width: 100% !important;
	height: 104px !important;
	max-height: 104px !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	filter: drop-shadow(0 12px 15px rgba(23, 32, 51, 0.12)) !important;
	mix-blend-mode: multiply !important;
}

html body .grocery-home .grocery-category-card__title {
	position: static !important;
	width: 100% !important;
	min-height: 2rem !important;
	max-height: 2.3rem !important;
	margin: 0 !important;
	padding: 0 0.25rem !important;
	overflow: hidden !important;
	color: #12351c !important;
	font-size: 0.88rem !important;
	font-weight: 950 !important;
	line-height: 1.22 !important;
	text-shadow: none !important;
}

html body .grocery-home .grocery-category-card__count {
	position: static !important;
	max-width: 100% !important;
	margin: 0.36rem 0 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: transparent !important;
	color: #667085 !important;
	font-size: 0.74rem !important;
	font-weight: 650 !important;
	line-height: 1.3 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

html body .grocery-home .grocery-section--trending {
	padding-top: clamp(1.05rem, 2vw, 1.75rem) !important;
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-section__header--catalog {
		min-height: 0 !important;
		margin-bottom: 0.9rem !important;
	}
}

@media (max-width: 575.98px) {
	html body .grocery-home .grocery-section--categories > .container,
	html body .grocery-home .grocery-section--categories .container {
		width: min(100% - 24px, 1240px) !important;
	}

	html body .grocery-home .grocery-category-carousel .owl-stage-outer {
		padding-bottom: 0.35rem !important;
	}

	html body .grocery-home .grocery-category-card {
		min-height: 190px !important;
		padding: 0.75rem 0.65rem 0.82rem !important;
	}

	html body .grocery-home .grocery-category-card__image {
		height: 96px !important;
	}

	html body .grocery-home .grocery-category-card__image img {
		height: 90px !important;
		max-height: 90px !important;
	}
}

/* Final background framing for the categories header image. */
html body .grocery-home .grocery-section__header--catalog {
	min-height: 168px !important;
	background-image:
		linear-gradient(90deg, rgba(255, 253, 248, 0.82) 0%, rgba(255, 250, 240, 0.54) 46%, rgba(255, 225, 175, 0.18) 100%),
		url("../img/hero/sec-catgorie.png") !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: 100% 100% !important;
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-section__header--catalog {
		min-height: 156px !important;
		background-size: auto 100% !important;
		background-position: center center !important;
	}
}

@media (max-width: 575.98px) {
	html body .grocery-home .grocery-section__header--catalog {
		min-height: 0 !important;
		background-image:
			linear-gradient(180deg, rgba(255, 253, 248, 0.88) 0%, rgba(255, 244, 225, 0.66) 100%),
			url("../img/hero/sec-catgorie.png") !important;
		background-size: auto 100% !important;
		background-position: center center !important;
	}
}

/* Category and product section backgrounds. Rayon has its own header image. */
html body .grocery-home .grocery-section--categories,
html body .grocery-home .grocery-section--trending,
html body .grocery-home .grocery-section--new {
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 253, 248, 0.86) 42%, rgba(255, 255, 255, 0.92) 100%),
		url("../img/hero/sec-catgorie.png") !important;
	background-position: center top !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

html body .grocery-home .grocery-section--trending,
html body .grocery-home .grocery-section--new {
	background-position: center center !important;
}

html body .grocery-home .grocery-section__header--catalog {
	background-image:
		linear-gradient(90deg, rgba(255, 253, 248, 0.84) 0%, rgba(255, 249, 238, 0.58) 46%, rgba(255, 225, 175, 0.14) 100%),
		url("../img/hero/rayon.png") !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: 100% 100% !important;
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-section__header--catalog {
		background-size: cover !important;
		background-position: center center !important;
	}
}

/* Force the decorative section image to be visible behind categories/products. */
html body .grocery-home .grocery-section--categories,
html body .grocery-home .grocery-section--trending,
html body .grocery-home .grocery-section--new {
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	background:
		linear-gradient(180deg, rgba(255, 252, 245, 0.42) 0%, rgba(255, 255, 255, 0.6) 48%, rgba(255, 252, 245, 0.5) 100%),
		url("../img/hero/sec-catgorie.png") center center / cover no-repeat !important;
}

html body .grocery-home .grocery-section--categories::before,
html body .grocery-home .grocery-section--trending::before,
html body .grocery-home .grocery-section--new::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	display: block !important;
	background:
		url("../img/hero/sec-catgorie.png") center center / cover no-repeat !important;
	opacity: 0.82 !important;
	pointer-events: none !important;
}

html body .grocery-home .grocery-section--categories::after,
html body .grocery-home .grocery-section--trending::after,
html body .grocery-home .grocery-section--new::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	display: block !important;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.54) 44%, rgba(255, 255, 255, 0.18) 100%) !important;
	pointer-events: none !important;
}

html body .grocery-home .grocery-section--categories > .container,
html body .grocery-home .grocery-section--trending > .container,
html body .grocery-home .grocery-section--new > .container {
	position: relative !important;
	z-index: 1 !important;
}

html body .grocery-home .grocery-section--categories {
	background-position: center top !important;
}

html body .grocery-home .grocery-section--trending,
html body .grocery-home .grocery-section--new {
	background-position: center center !important;
}

html body .grocery-home .grocery-section__header--catalog {
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.72) 0%, rgba(255, 249, 238, 0.4) 46%, rgba(255, 225, 175, 0.08) 100%),
		url("../img/hero/rayon.png") center center / 100% 100% no-repeat !important;
}

/* Merge categories and popular products into one continuous visual block. */
html body .grocery-home .grocery-section--categories,
html body .grocery-home .grocery-section--trending {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.18) 0%, rgba(255, 252, 246, 0.28) 48%, rgba(255, 250, 240, 0.18) 100%),
		url("../img/hero/sec-catgorie.png") center top / 100% 100% no-repeat !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

html body .grocery-home .grocery-section--categories {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

html body .grocery-home .grocery-section--trending {
	margin-top: -1px !important;
	padding-top: clamp(1.15rem, 2vw, 1.7rem) !important;
}

html body .grocery-home .grocery-category-carousel .owl-stage-outer {
	padding-bottom: clamp(1.4rem, 2.4vw, 2rem) !important;
}

html body .grocery-home .grocery-section--categories::before,
html body .grocery-home .grocery-section--trending::before {
	background:
		url("../img/hero/sec-catgorie.png") center top / 100% 100% no-repeat !important;
	opacity: 1 !important;
}

html body .grocery-home .grocery-section--categories::after,
html body .grocery-home .grocery-section--trending::after {
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.28) 45%, rgba(255, 255, 255, 0.08) 100%) !important;
}

html body .grocery-home .grocery-section--trending .grocery-section__header {
	margin-top: 0 !important;
}

html body .grocery-home .grocery-section--trending .grocery-section__kicker {
	background: rgba(255, 245, 232, 0.82) !important;
}

/* Real single-block background for rayons + popular products. */
html body .grocery-home .grocery-catalog-products {
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 0 clamp(2rem, 3vw, 3rem) !important;
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.16) 0%, rgba(255, 252, 246, 0.24) 46%, rgba(255, 250, 240, 0.16) 100%),
		url("../img/hero/sec-catgorie.png") center top / 100% 100% no-repeat !important;
}

html body .grocery-home .grocery-catalog-products::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	display: block !important;
	background:
		url("../img/hero/sec-catgorie.png") center top / 100% 100% no-repeat !important;
	opacity: 0.95 !important;
	pointer-events: none !important;
}

html body .grocery-home .grocery-catalog-products::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	display: block !important;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.34) 45%, rgba(255, 255, 255, 0.08) 100%) !important;
	pointer-events: none !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories,
html body .grocery-home .grocery-catalog-products .grocery-section--trending {
	position: relative !important;
	isolation: auto !important;
	overflow: visible !important;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories::before,
html body .grocery-home .grocery-catalog-products .grocery-section--categories::after,
html body .grocery-home .grocery-catalog-products .grocery-section--trending::before,
html body .grocery-home .grocery-catalog-products .grocery-section--trending::after {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories {
	padding-bottom: 0 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending {
	padding-top: clamp(0.8rem, 1.5vw, 1.25rem) !important;
	padding-bottom: 0 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-carousel .owl-stage-outer {
	padding-bottom: clamp(1.1rem, 2vw, 1.55rem) !important;
}

/* Keep the rayons header separate; the shared background starts below it. */
html body .grocery-home > .grocery-section--categories:not(.grocery-section--categories-shelf) {
	position: relative !important;
	isolation: auto !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	overflow: visible !important;
	background: #fffdf8 !important;
}

html body .grocery-home > .grocery-section--categories:not(.grocery-section--categories-shelf)::before,
html body .grocery-home > .grocery-section--categories:not(.grocery-section--categories-shelf)::after {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-catalog-products {
	margin-top: 0 !important;
	padding-top: clamp(1rem, 2vw, 1.55rem) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf {
	padding-top: 0 !important;
}

/* Final order: the rayons hero starts the shared category/products block. */
html body .grocery-home .grocery-catalog-products {
	margin-top: 0 !important;
	padding-top: clamp(1.45rem, 2.8vw, 2.25rem) !important;
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.1) 0%, rgba(255, 252, 246, 0.22) 48%, rgba(255, 250, 240, 0.16) 100%),
		url("../img/hero/sec-catgorie.png") center top / 100% 100% no-repeat !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero {
	display: block !important;
	position: relative !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 0 clamp(1.15rem, 2vw, 1.6rem) !important;
	background: transparent !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .container {
	position: relative !important;
	z-index: 1 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .grocery-section__header--catalog {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-height: clamp(150px, 13vw, 210px) !important;
	margin: 0 !important;
	background-image:
		linear-gradient(90deg, rgba(255, 253, 248, 0.82) 0%, rgba(255, 249, 238, 0.55) 48%, rgba(255, 225, 175, 0.14) 100%),
		url("../img/hero/rayon.png") !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: 100% 100% !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf {
	padding-top: 0 !important;
	padding-bottom: clamp(0.75rem, 1.8vw, 1.35rem) !important;
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-catalog-products {
		padding-top: 1rem !important;
	}

	html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .grocery-section__header--catalog {
		min-height: 150px !important;
		background-size: 100% auto !important;
	}
}

/* Hard lock homepage order: keep promo before the professional block. */
html body .grocery-home {
	display: flex !important;
	flex-direction: column !important;
}

html body .grocery-home > .grocery-hero {
	order: 1 !important;
}

html body .grocery-home > .grocery-usp {
	order: 2 !important;
}

html body .grocery-home > .grocery-band {
	order: 3 !important;
}

html body .grocery-home > .grocery-choices--lead {
	order: 4 !important;
}

html body .grocery-home > .grocery-section--process {
	order: 8 !important;
}

html body .grocery-home > .grocery-catalog-products {
	order: 6 !important;
}

html body .grocery-home > .grocery-section--new {
	order: 7 !important;
}

html body .grocery-home > .grocery-section--promo {
	order: 6 !important;
}

html body .grocery-home > .grocery-deal {
	order: 9 !important;
}

/* ONE continuous decorative background behind the category-cards block
   AND the popular-products block. The image scrolls with the section and
   keeps its natural proportions instead of a viewport-locked treatment. */
html body .grocery-home .grocery-catalog-products {
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	background-color: #fff9ef !important;
	background-image:
		linear-gradient(180deg, rgba(255, 252, 245, 0.55) 0%, rgba(255, 255, 255, 0.66) 48%, rgba(255, 252, 245, 0.58) 100%),
		url("../img/hero/sec-catgorie.png") !important;
	background-position: center top, center top !important;
	background-repeat: no-repeat, no-repeat !important;
	background-size: auto, 100% auto !important;
	background-attachment: scroll, scroll !important;
}

html body .grocery-home .grocery-catalog-products::before,
html body .grocery-home .grocery-catalog-products::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

/* Rayons header out of the shared section background. */
html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero {
	background: #ffffff !important;
	background-image: none !important;
}

/* Cards + products transparent so the single scrolling image shows behind
   both, with no break between them = one continuous block. */
html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf,
html body .grocery-home .grocery-catalog-products .grocery-section--trending {
	position: relative !important;
	isolation: auto !important;
	background: transparent !important;
	background-image: none !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf::before,
html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf::after,
html body .grocery-home .grocery-catalog-products .grocery-section--trending::before,
html body .grocery-home .grocery-catalog-products .grocery-section--trending::after {
	content: none !important;
}

/* ---- Product cards: cleaner, more polished design ---- */
html body .grocery-home .grocery-section--trending .grocery-product-card {
	border-radius: 14px !important;
	border: 1px solid rgba(23, 32, 51, 0.08) !important;
	box-shadow: 0 10px 26px rgba(23, 32, 51, 0.07) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 26px 50px rgba(23, 32, 51, 0.15) !important;
	border-color: rgba(76, 132, 56, 0.30) !important;
}

/* Action buttons: smooth hover, primary "add to cart" filled green. */
html body .grocery-home .grocery-section--trending .grocery-product-card__action {
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__action:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(76, 132, 56, 0.45) !important;
	color: #37672b !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__actions .grocery-product-card__action:nth-child(2) {
	border-color: #4c8438 !important;
	background: #4c8438 !important;
	color: #ffffff !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__actions .grocery-product-card__action:nth-child(2):hover {
	background: #3d6c2d !important;
	border-color: #3d6c2d !important;
	color: #ffffff !important;
}

/* Tidy category-card titles: clean, consistent 2-line clamp so long
   names like "Emballage et conditionnement" no longer get cut mid-line. */
html body .grocery-home .grocery-category-card__title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	min-height: 2.2rem !important;
	max-height: 2.2rem !important;
	margin: 0 !important;
	padding: 0 0.2rem !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	text-align: center !important;
	line-height: 1.1 !important;
	font-size: 0.88rem !important;
}

html body .grocery-home .grocery-category-card__count {
	text-align: center !important;
	white-space: nowrap !important;
}

/* ---- Minimise the empty vertical space in the catalog block ---- */
html body .grocery-home .grocery-catalog-products {
	padding-top: clamp(0.9rem, 1.8vw, 1.4rem) !important;
	padding-bottom: clamp(1.4rem, 2.6vw, 2.2rem) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf {
	padding-top: 0.25rem !important;
	padding-bottom: 0.45rem !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf .grocery-category-carousel .owl-stage-outer {
	padding-bottom: 0.4rem !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending {
	padding-top: clamp(0.6rem, 1.4vw, 1.1rem) !important;
	padding-bottom: clamp(1.6rem, 3vw, 2.6rem) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending .grocery-section__header {
	margin-bottom: 1.4rem !important;
}

/* ---- Product cards: more compact, tidier proportions ---- */
html body .grocery-home .grocery-section--trending .grocery-product-card {
	grid-template-rows: 168px 1fr !important;
	min-height: 348px !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__media {
	height: 168px !important;
	min-height: 168px !important;
	padding: 0.7rem !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__image {
	height: 140px !important;
	max-height: 140px !important;
}

html body .grocery-home .grocery-section--trending .grocery-product-card__body {
	gap: 0.4rem !important;
	padding: 0.8rem 0.85rem 0 !important;
}

/* Professional catalog block refresh: no fixed/cover background images. */
html body .grocery-home .grocery-catalog-products {
	padding-top: clamp(1.35rem, 2.5vw, 2.2rem) !important;
	padding-bottom: clamp(2.4rem, 4vw, 4rem) !important;
	background-color: #fff9ef !important;
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(255, 250, 241, 0.64) 35%, rgba(255, 255, 255, 0.82) 100%),
		url("../img/hero/sec-catgorie.png") !important;
	background-position: center top, center top !important;
	background-repeat: no-repeat, no-repeat !important;
	background-size: auto, 100% auto !important;
	background-attachment: scroll, scroll !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero {
	padding-bottom: clamp(1.2rem, 2vw, 1.8rem) !important;
	background: transparent !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .container,
html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf .container,
html body .grocery-home .grocery-catalog-products .grocery-section--trending .container {
	width: min(100% - 40px, 1420px) !important;
	max-width: 1420px !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .grocery-section__header--catalog {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: clamp(1.25rem, 3vw, 3rem) !important;
	min-height: clamp(190px, 13vw, 240px) !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: clamp(1.8rem, 3vw, 2.6rem) clamp(1.6rem, 4vw, 3.5rem) !important;
	overflow: hidden !important;
	border: 1px solid rgba(218, 86, 46, 0.16) !important;
	border-radius: 8px !important;
	background-color: #fffaf0 !important;
	background-image:
		linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 250, 241, 0.84) 52%, rgba(255, 244, 227, 0.38) 100%),
		url("../img/hero/rayon.png") !important;
	background-position: center center, center center !important;
	background-repeat: no-repeat, no-repeat !important;
	background-size: auto, 100% auto !important;
	background-attachment: scroll, scroll !important;
	box-shadow: 0 20px 52px rgba(59, 45, 24, 0.10) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog::before,
html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog::after {
	content: none !important;
	display: none !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog .grocery-section__kicker {
	margin-bottom: 0.85rem !important;
	border: 1px solid rgba(218, 86, 46, 0.18) !important;
	background: #ffffff !important;
	color: #da562e !important;
	letter-spacing: 0.18em !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog .grocery-section__title {
	color: #173f25 !important;
	font-size: clamp(2.25rem, 4.2vw, 4rem) !important;
	line-height: 1.02 !important;
	letter-spacing: 0 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog .grocery-section__lead {
	max-width: 56rem !important;
	margin-top: 0.75rem !important;
	color: #5e6574 !important;
	font-size: clamp(0.96rem, 1.15vw, 1.15rem) !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog .grocery-section__action {
	justify-self: end !important;
	min-width: 224px !important;
	min-height: 56px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #ff771d !important;
	box-shadow: 0 16px 34px rgba(218, 86, 46, 0.24) !important;
	color: #ffffff !important;
	font-weight: 850 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf {
	padding-top: 0 !important;
	padding-bottom: clamp(1.3rem, 2.5vw, 2.1rem) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-carousel {
	padding-top: 0 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-carousel .owl-stage-outer {
	padding: 0.45rem 0 1.15rem !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-card {
	display: grid !important;
	grid-template-rows: 132px auto auto !important;
	min-height: 238px !important;
	padding: 0.9rem !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 63, 37, 0.10) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: 0 18px 42px rgba(43, 34, 20, 0.08) !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(76, 132, 56, 0.34) !important;
	box-shadow: 0 24px 54px rgba(43, 34, 20, 0.14) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-card__image {
	width: 100% !important;
	height: 132px !important;
	margin: 0 !important;
	padding: 0.75rem !important;
	border: 1px solid rgba(23, 63, 37, 0.06) !important;
	border-radius: 6px !important;
	background: #fbfbf7 !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-card__image img {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-card__count {
	align-self: end !important;
	margin: 0.85rem 0 0.25rem !important;
	color: #737b8c !important;
	font-size: 0.83rem !important;
	font-weight: 850 !important;
	text-align: center !important;
	white-space: nowrap !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-card__title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	min-height: 2.45rem !important;
	max-height: 2.45rem !important;
	margin: 0 !important;
	padding: 0 0.25rem !important;
	overflow: hidden !important;
	color: #173f25 !important;
	font-size: clamp(0.93rem, 1vw, 1.02rem) !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
	text-align: center !important;
}

html body .grocery-home .grocery-catalog-products .grocery-category-card-link::after {
	display: none !important;
	content: none !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending {
	padding-top: clamp(1.1rem, 2vw, 1.8rem) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending .grocery-section__header {
	max-width: 780px !important;
	margin: 0 auto 1.8rem !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending .grocery-section__title {
	color: #182338 !important;
	font-size: clamp(2rem, 3vw, 3.1rem) !important;
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-catalog-products {
		background-size: auto, auto 620px !important;
		background-position: center top, center top !important;
	}

	html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .grocery-section__header--catalog {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
		background-position: center center, center center !important;
		background-size: auto, auto 100% !important;
		text-align: center !important;
	}

	html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog .grocery-section__lead {
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog .grocery-section__action {
		justify-self: center !important;
	}
}

@media (max-width: 575.98px) {
	html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .container,
	html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf .container,
	html body .grocery-home .grocery-catalog-products .grocery-section--trending .container {
		width: min(100% - 28px, 1420px) !important;
	}

	html body .grocery-home .grocery-catalog-products .grocery-section--categories-hero .grocery-section__header--catalog {
		padding: 1.35rem !important;
		background-size: auto, auto 100% !important;
	}

	html body .grocery-home .grocery-catalog-products .grocery-section__header--catalog .grocery-section__action {
		width: min(100%, 260px) !important;
		min-width: 0 !important;
	}
}

/* Detach popular products from the category artwork. */
html body .grocery-home .grocery-catalog-products {
	padding-bottom: 0 !important;
	background-color: #fff9ef !important;
	background-image:
		linear-gradient(180deg, rgba(255, 255, 255, 0.84) 0%, rgba(255, 250, 241, 0.62) 42%, rgba(255, 255, 255, 0.92) 100%),
		url("../img/hero/sec-catgorie.png") !important;
	background-position: center top, center top !important;
	background-repeat: no-repeat, no-repeat !important;
	background-size: auto, 100% auto !important;
	background-attachment: scroll, scroll !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf {
	padding-bottom: clamp(2.2rem, 3.6vw, 3.4rem) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending {
	margin-top: 0 !important;
	padding-top: clamp(3rem, 5vw, 4.8rem) !important;
	padding-bottom: clamp(3.6rem, 5vw, 5.4rem) !important;
	background: #ffffff !important;
	background-image: none !important;
	border-top: 1px solid rgba(23, 32, 51, 0.06) !important;
	box-shadow: 0 -18px 42px rgba(59, 45, 24, 0.04) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending::before,
html body .grocery-home .grocery-catalog-products .grocery-section--trending::after {
	content: none !important;
	display: none !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending .grocery-section__header {
	max-width: 760px !important;
	margin: 0 auto clamp(1.8rem, 3vw, 2.6rem) !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending .grocery-section__kicker {
	background: #fff7ee !important;
}

html body .grocery-home .grocery-catalog-products .grocery-section--trending .grocery-product-grid {
	margin-top: 0 !important;
}

@media (max-width: 575.98px) {
	html body .grocery-home .grocery-catalog-products .grocery-section--categories-shelf {
		padding-bottom: 2rem !important;
	}

	html body .grocery-home .grocery-catalog-products .grocery-section--trending {
		padding-top: 2.6rem !important;
	}
}

/* Front packs showcase. */
html body .grocery-home > .grocery-section--packs {
	order: 6 !important;
}

html body .grocery-home .grocery-section--packs {
	padding: clamp(3.2rem, 5vw, 5.4rem) 0 !important;
	background:
		linear-gradient(180deg, #ffffff 0%, #f7fbf3 52%, #fff8ee 100%) !important;
	border-top: 1px solid rgba(23, 32, 51, 0.06) !important;
}

html body .grocery-home .grocery-section--packs .container {
	width: min(100% - 40px, 1320px) !important;
	max-width: 1320px !important;
}

html body .grocery-home .grocery-pack-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 2vw, 1.5rem) !important;
}

html body .grocery-home .grocery-pack-card {
	display: grid !important;
	grid-template-rows: 210px 1fr !important;
	min-height: 560px !important;
	overflow: hidden !important;
	border: 1px solid rgba(23, 32, 51, 0.09) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 18px 46px rgba(32, 41, 25, 0.09) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

html body .grocery-home .grocery-pack-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(76, 132, 56, 0.28) !important;
	box-shadow: 0 26px 58px rgba(32, 41, 25, 0.15) !important;
}

html body .grocery-home .grocery-pack-card__media {
	position: relative !important;
	display: grid !important;
	place-items: center !important;
	height: 210px !important;
	padding: 1rem !important;
	background:
		linear-gradient(135deg, rgba(255, 247, 230, 0.96) 0%, rgba(245, 250, 239, 0.98) 100%) !important;
}

html body .grocery-home .grocery-pack-card__media > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
	filter: drop-shadow(0 15px 18px rgba(23, 32, 51, 0.12)) !important;
}

html body .grocery-home .grocery-pack-card__badge {
	position: absolute !important;
	top: 1rem !important;
	left: 1rem !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 34px !important;
	padding: 0.3rem 0.78rem !important;
	border-radius: 999px !important;
	background: #e30613 !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 950 !important;
	box-shadow: 0 12px 24px rgba(227, 6, 19, 0.24) !important;
}

html body .grocery-home .grocery-pack-card__thumbs {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 92px)) !important;
	grid-auto-rows: 78px !important;
	gap: 0.7rem !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
}

html body .grocery-home .grocery-pack-card__thumbs span {
	display: grid !important;
	place-items: center !important;
	height: 78px !important;
	padding: 0.45rem !important;
	border: 1px solid rgba(23, 32, 51, 0.07) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
}

html body .grocery-home .grocery-pack-card__thumbs img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

html body .grocery-home .grocery-pack-card__empty-icon {
	grid-column: 1 / -1 !important;
	color: #4c8438 !important;
	font-size: 2rem !important;
}

html body .grocery-home .grocery-pack-card__body {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.8rem !important;
	padding: 1.15rem !important;
}

html body .grocery-home .grocery-pack-card__meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.45rem !important;
}

html body .grocery-home .grocery-pack-card__meta span,
html body .grocery-home .grocery-pack-card__saving {
	display: inline-flex !important;
	align-items: center !important;
	width: fit-content !important;
	min-height: 28px !important;
	padding: 0.22rem 0.6rem !important;
	border-radius: 999px !important;
	background: #f2f8ee !important;
	color: #37672b !important;
	font-size: 0.75rem !important;
	font-weight: 850 !important;
}

html body .grocery-home .grocery-pack-card__title {
	min-height: 2.5rem !important;
	margin: 0 !important;
	color: #173f25 !important;
	font-size: clamp(1.08rem, 1.25vw, 1.22rem) !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
}

html body .grocery-home .grocery-pack-card__text {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	min-height: 2.9rem !important;
	margin: 0 !important;
	overflow: hidden !important;
	color: #667085 !important;
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
}

html body .grocery-home .grocery-pack-card__lines {
	display: grid !important;
	gap: 0.4rem !important;
	min-height: 4.75rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

html body .grocery-home .grocery-pack-card__lines li {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) !important;
	gap: 0.45rem !important;
	align-items: center !important;
	color: #303848 !important;
	font-size: 0.86rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

html body .grocery-home .grocery-pack-card__lines span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 34px !important;
	min-height: 24px !important;
	border-radius: 999px !important;
	background: #fff0e5 !important;
	color: #da562e !important;
	font-size: 0.74rem !important;
	font-weight: 900 !important;
}

html body .grocery-home .grocery-pack-card__price {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 0.65rem !important;
	margin-top: auto !important;
}

html body .grocery-home .grocery-pack-card__price span,
html body .grocery-home .grocery-pack-card__price strong {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-height: 62px !important;
	padding: 0.65rem !important;
	border-radius: 8px !important;
	background: #f8faf7 !important;
	color: #172033 !important;
	font-size: 1rem !important;
	line-height: 1.1 !important;
}

html body .grocery-home .grocery-pack-card__price strong {
	background: linear-gradient(135deg, #4c8438 0%, #37672b 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 12px 26px rgba(55, 103, 43, 0.22) !important;
}

html body .grocery-home .grocery-pack-card__price small {
	margin-bottom: 0.3rem !important;
	color: inherit !important;
	font-size: 0.68rem !important;
	font-weight: 850 !important;
	text-transform: uppercase !important;
	opacity: 0.74 !important;
}

html body .grocery-home .grocery-pack-card__price s {
	color: #8a93a3 !important;
	font-weight: 800 !important;
}

html body .grocery-home .grocery-pack-card__saving {
	background: #fff4e7 !important;
	color: #bd4b23 !important;
}

html body .grocery-home .grocery-pack-card__action {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.55rem !important;
	min-height: 48px !important;
	margin-top: 0.15rem !important;
	padding: 0.82rem 1rem !important;
	border-radius: 8px !important;
	background: #ff771d !important;
	color: #ffffff !important;
	font-size: 0.86rem !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	box-shadow: 0 14px 28px rgba(218, 86, 46, 0.22) !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

html body .grocery-home .grocery-pack-card__action:hover,
html body .grocery-home .grocery-pack-card__action:focus {
	background: #da562e !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 18px 34px rgba(218, 86, 46, 0.28) !important;
}

@media (max-width: 1199.98px) {
	html body .grocery-home .grocery-pack-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 575.98px) {
	html body .grocery-home .grocery-section--packs .container {
		width: min(100% - 28px, 1320px) !important;
	}

	html body .grocery-home .grocery-pack-grid {
		grid-template-columns: 1fr !important;
	}

	html body .grocery-home .grocery-pack-card {
		grid-template-rows: 190px 1fr !important;
		min-height: 0 !important;
	}

	html body .grocery-home .grocery-pack-card__media {
		height: 190px !important;
	}
}

/* Special selection pack spotlight. */
html body .grocery-home .grocery-promo-pack,
html body .grocery-home .grocery-promo-pack-alert {
	display: grid !important;
	gap: 0.75rem !important;
	width: min(100%, 390px) !important;
	margin-left: auto !important;
	padding: 1.2rem !important;
	border: 1px solid rgba(255, 255, 255, 0.34) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.92) !important;
	box-shadow: 0 24px 55px rgba(65, 43, 19, 0.18) !important;
	color: #172033 !important;
	text-align: left !important;
}

html body .grocery-home .grocery-promo-pack__eyebrow,
html body .grocery-home .grocery-promo-pack-alert__eyebrow,
html body .grocery-home .grocery-promo-pack__saving {
	display: inline-flex !important;
	width: fit-content !important;
	min-height: 28px !important;
	align-items: center !important;
	padding: 0.22rem 0.65rem !important;
	border-radius: 999px !important;
	background: #fff0e5 !important;
	color: #da562e !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
}

html body .grocery-home .grocery-promo-pack-alert__signal {
	display: inline-block !important;
	width: 0.62rem !important;
	height: 0.62rem !important;
	margin-right: 0.42rem !important;
	border-radius: 999px !important;
	background: #ff771d !important;
	box-shadow: 0 0 0 0 rgba(255, 119, 29, 0.48) !important;
	animation: packSignalBlink 1.1s ease-in-out infinite !important;
}

html[dir="rtl"] body .grocery-home .grocery-promo-pack-alert__signal {
	margin-right: 0 !important;
	margin-left: 0.42rem !important;
}

html body .grocery-home .grocery-promo-pack h3,
html body .grocery-home .grocery-promo-pack-alert h3 {
	margin: 0 !important;
	color: #173f25 !important;
	font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
	font-weight: 950 !important;
	line-height: 1.12 !important;
}

html body .grocery-home .grocery-promo-pack p,
html body .grocery-home .grocery-promo-pack-alert p {
	margin: 0 !important;
	color: #667085 !important;
	font-size: 0.92rem !important;
	line-height: 1.45 !important;
}

html body .grocery-home .grocery-promo-pack__price {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 0.8rem !important;
	padding: 0.75rem !important;
	border-radius: 8px !important;
	background: #f8faf7 !important;
}

html body .grocery-home .grocery-promo-pack__price span {
	display: grid !important;
	gap: 0.18rem !important;
	color: #737b8c !important;
	font-size: 0.76rem !important;
	font-weight: 800 !important;
}

html body .grocery-home .grocery-promo-pack__price strong {
	color: #37672b !important;
	font-size: 1.28rem !important;
	font-weight: 950 !important;
	white-space: nowrap !important;
}

html body .grocery-home .grocery-promo-pack__saving {
	background: #eef8e9 !important;
	color: #37672b !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html body .grocery-home .grocery-promo-pack__button,
html body .grocery-home .grocery-promo-pack-alert__button,
html body .offers-page .offers-pack-card__action {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.55rem !important;
	min-height: 50px !important;
	padding: 0.85rem 1.1rem !important;
	border-radius: 8px !important;
	background: #ff771d !important;
	color: #ffffff !important;
	font-size: 0.88rem !important;
	font-weight: 950 !important;
	text-decoration: none !important;
	box-shadow: 0 15px 30px rgba(218, 86, 46, 0.24) !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

html body .grocery-home .grocery-promo-pack__button:hover,
html body .grocery-home .grocery-promo-pack__button:focus,
html body .grocery-home .grocery-promo-pack-alert__button:hover,
html body .grocery-home .grocery-promo-pack-alert__button:focus,
html body .offers-page .offers-pack-card__action:hover,
html body .offers-page .offers-pack-card__action:focus {
	background: #da562e !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 20px 38px rgba(218, 86, 46, 0.32) !important;
}

html body .grocery-home .grocery-promo-pack-alert__button {
	width: 100% !important;
}

html body .grocery-home .grocery-promo-pack__all {
	color: #37672b !important;
	font-size: 0.84rem !important;
	font-weight: 850 !important;
	text-align: center !important;
	text-decoration: none !important;
}

.grocery-pack-button--pulse {
	animation: packButtonPulse 1.55s ease-in-out infinite !important;
}

@keyframes packButtonPulse {
	0%,
	100% {
		box-shadow: 0 15px 30px rgba(218, 86, 46, 0.24), 0 0 0 0 rgba(255, 119, 29, 0.38);
	}

	50% {
		box-shadow: 0 18px 36px rgba(218, 86, 46, 0.32), 0 0 0 9px rgba(255, 119, 29, 0);
	}
}

@keyframes packSignalBlink {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(255, 119, 29, 0.48);
	}

	50% {
		opacity: 0.45;
		transform: scale(0.78);
		box-shadow: 0 0 0 8px rgba(255, 119, 29, 0);
	}
}

@media (max-width: 991.98px) {
	html body .grocery-home .grocery-promo-pack,
	html body .grocery-home .grocery-promo-pack-alert {
		margin-right: auto !important;
		text-align: center !important;
	}

	html body .grocery-home .grocery-promo-pack__eyebrow,
	html body .grocery-home .grocery-promo-pack-alert__eyebrow,
	html body .grocery-home .grocery-promo-pack__saving {
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

/* =========================================================================
   Page categorie : grille produits a largeur de carte confortable.
   La grille bootstrap 3 colonnes rendait les cartes trop larges -> image
   minuscule et grand vide a droite. On reprend la grille auto-fill du home
   pour des cartes regulieres (~220px) avec l'image bien remplie.
   ========================================================================= */
.category-shop-page .category-product-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 1.25rem !important;
	align-items: stretch !important;
}

@media (max-width: 575.98px) {
	.category-shop-page .category-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.85rem !important;
	}
}

@media (max-width: 359.98px) {
	.category-shop-page .category-product-grid {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================================
   Mode "devis uniquement" : on n'affiche pas les prix sur le storefront.
   Le client demande un devis ; les prix sont fixes par l'admin.
   ========================================================================= */
.grocery-product-card__price,
.product-detail-price,
.spotlight-price,
.offer-price,
.offers-pack-card__price,
.offers-pack-card__saving,
.shop_table.cart .product-price,
.shop_table.cart .product-subtotal,
.shop_table.cart thead th.product-price,
.shop_table.cart thead th.product-subtotal {
	display: none !important;
}
