/* ==========================================================================
   OLIV'AMOR — Page d'accueil (préfixe home-)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.home-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(100svh, 980px);
	padding-top: calc(var(--header-h) + 3rem);
	padding-bottom: clamp(2rem, 1rem + 3vw, 3.5rem);
	color: var(--cream-50);
	isolation: isolate;
	overflow: hidden;
}
.home-hero__media,
.home-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.home-hero__media { z-index: -2; }
.home-hero__media img { object-fit: cover; object-position: 50% 60%; }
.home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(20, 32, 12, .45) 0%, rgba(20, 32, 12, 0) 28%, rgba(20, 32, 12, .35) 60%, rgba(20, 32, 12, .9) 100%),
		linear-gradient(90deg, rgba(20, 32, 12, .6) 0%, rgba(20, 32, 12, .1) 65%);
}

.home-hero__inner { display: grid; gap: clamp(2.5rem, 1.5rem + 4vw, 4.5rem); }
.home-hero__content { max-width: 44rem; }
.home-hero__title {
	margin-bottom: var(--space-5);
	color: var(--cream-50);
	font-size: var(--fs-h1);
	line-height: 1.02;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}
.home-hero__title em { font-style: italic; font-weight: 500; color: var(--gold-300); }
.home-hero__lead {
	max-width: 36rem;
	margin-bottom: var(--space-6);
	font-size: var(--fs-lg);
	color: rgba(251, 248, 242, .92);
}
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

.home-hero__trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	list-style: none;
	background: rgba(228, 212, 165, .25);
	border: 1px solid rgba(228, 212, 165, .25);
	border-radius: var(--radius-md);
	overflow: hidden;
}
.home-hero__trust li {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: 1rem 1.1rem;
	background: rgba(20, 32, 12, .55);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	font-size: var(--fs-xs);
	line-height: 1.35;
	color: rgba(251, 248, 242, .8);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.home-hero__trust li { background: rgba(20, 32, 12, .85); }
}
.home-hero__trust .icon { width: 1.5rem; height: 1.5rem; color: var(--gold-300); }
.home-hero__trust strong { display: block; font-size: var(--fs-sm); color: var(--cream-50); }

@media (min-width: 900px) {
	.home-hero__trust { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
	.home-hero__actions .btn { width: 100%; }
	.home-hero__trust li { padding: .85rem; gap: .55rem; }
}

/* --------------------------------------------------------------------------
   Terroir
   -------------------------------------------------------------------------- */
.home-heritage__grid {
	display: grid;
	gap: clamp(3rem, 2rem + 4vw, 5rem);
	align-items: center;
}
@media (min-width: 960px) {
	.home-heritage__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
}

.home-heritage__visual { position: relative; max-width: 460px; margin-inline: auto; width: 100%; }
.home-heritage__photo {
	margin: 0;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	background: var(--cream-200);
}
.home-heritage__photo img { width: 100%; height: 100%; object-fit: cover; }
.home-heritage__visual::before {
	content: "";
	position: absolute;
	inset: -14px 14px 14px -14px;
	z-index: -1;
	border: 1.5px solid var(--gold-300);
	border-radius: calc(var(--radius-lg) + 6px);
}
.home-heritage__stamp {
	position: absolute;
	right: -12px;
	bottom: -24px;
	display: grid;
	justify-items: center;
	gap: .35rem;
	width: 190px;
	padding: 1.1rem 1rem;
	background: var(--olive-800);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
	text-align: center;
}
.home-heritage__stamp img { width: 96px; }
.home-heritage__stamp p { margin: 0; font-size: var(--fs-xs); color: rgba(251, 248, 242, .78); line-height: 1.35; }
.home-heritage__stamp strong { display: block; font-family: var(--font-heading); font-size: 1.2rem; color: var(--gold-300); }
@media (max-width: 520px) {
	.home-heritage__stamp { right: 8px; width: 160px; }
}

.home-heritage__content h2 em { font-style: italic; font-weight: 500; color: var(--olive-600); }
.home-heritage__lead { font-size: var(--fs-lg); color: var(--ink-900); }
.home-heritage__content > p { color: var(--color-text-soft); max-width: 60ch; }

.home-features {
	display: grid;
	gap: var(--space-5);
	margin: var(--space-6) 0;
	list-style: none;
}
@media (min-width: 560px) { .home-features { grid-template-columns: 1fr 1fr; } }
.home-features li { display: flex; gap: var(--space-4); align-items: center; }
.home-features h3 { margin: 0; font-family: var(--font-body); font-size: 1rem; font-weight: 600; }
.home-features p { margin: 0; font-size: var(--fs-sm); color: var(--color-muted); }

/* --------------------------------------------------------------------------
   Qualité
   -------------------------------------------------------------------------- */
.home-quality__grid {
	display: grid;
	gap: var(--space-5);
	list-style: none;
}
@media (min-width: 640px) { .home-quality__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .home-quality__grid { grid-template-columns: repeat(3, 1fr); } }
.home-quality__grid .icon-badge { margin-bottom: var(--space-4); }

/* --------------------------------------------------------------------------
   Tarifs
   -------------------------------------------------------------------------- */
.home-pricing { background: linear-gradient(180deg, var(--cream-50) 0%, var(--cream-100) 100%); }
.home-pricing__grid {
	display: grid;
	gap: var(--space-6);
	align-items: stretch;
	max-width: 420px;
	margin-inline: auto;
}
@media (min-width: 960px) {
	.home-pricing__grid { grid-template-columns: repeat(3, 1fr); max-width: none; align-items: center; }
}

.home-price {
	display: flex;
	flex-direction: column;
	text-align: center;
	padding-top: 2.5rem;
}
.home-price__badge {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin: 0;
	padding: .35rem 1rem;
	border-radius: var(--radius-pill);
	background: var(--cream-100);
	border: 1px solid var(--color-border);
	color: var(--ink-700);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
}
.home-price__badge .icon { width: .9rem; height: .9rem; }
.home-price__volume {
	margin-bottom: .25rem;
	font-size: 3.25rem;
	line-height: 1;
	color: var(--olive-800);
}
.home-price__volume span { font-size: 1.4rem; font-weight: 500; color: var(--color-muted); }
.home-price__tagline { margin-bottom: var(--space-5); color: var(--color-muted); font-size: var(--fs-sm); }
.home-price__amount {
	margin: 0;
	font-variant-numeric: lining-nums;
	font-family: var(--font-heading);
	font-size: 3.5rem;
	font-weight: 600;
	line-height: 1;
	color: var(--ink-900);
}
.home-price__unit { margin: .5rem 0 var(--space-5); font-size: var(--fs-sm); color: var(--color-muted); }
.home-price__pitch {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	margin: 0 0 var(--space-5);
	padding: .6rem .9rem;
	border-radius: var(--radius-sm);
	background: var(--olive-100);
	color: var(--olive-800);
	font-size: var(--fs-sm);
	font-weight: 600;
}
.home-price__pitch .icon { width: 1rem; height: 1rem; }
.home-price__perks {
	display: grid;
	gap: .55rem;
	margin-bottom: var(--space-5);
	list-style: none;
	text-align: left;
	font-size: var(--fs-sm);
	color: var(--color-text-soft);
}
.home-price__perks li { display: flex; gap: .55rem; align-items: flex-start; }
.home-price__perks .icon { width: 1.1rem; height: 1.1rem; margin-top: .2rem; color: var(--olive-600); }
.home-price__total {
	margin-top: auto;
	padding-top: var(--space-4);
	margin-bottom: var(--space-4);
	border-top: 1px dashed var(--color-border);
	font-size: var(--fs-sm);
	color: var(--color-muted);
}
.home-price__total strong { color: var(--ink-900); font-size: 1.05rem; }

.home-price--featured {
	border: 2px solid var(--gold-500);
	box-shadow: var(--shadow-lg);
}
.home-price--featured .home-price__badge { background: var(--gold-500); border-color: var(--gold-500); color: var(--ink-900); }
@media (min-width: 960px) {
	.home-price--featured { padding-block: 3rem 2.5rem; }
}

/* Frais de port */
.home-shipping {
	max-width: 860px;
	margin: clamp(3rem, 2rem + 3vw, 4.5rem) auto 0;
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	background: var(--white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
}
.home-shipping__head { display: flex; gap: var(--space-4); align-items: flex-start; margin-bottom: var(--space-5); }
.home-shipping__head h3 { margin-bottom: .25rem; font-size: var(--fs-h4); }
.home-shipping__head p { margin: 0; color: var(--color-text-soft); font-size: var(--fs-sm); }

.home-shipping__table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-sm);
	font-variant-numeric: tabular-nums;
}
.home-shipping__table th,
.home-shipping__table td {
	padding: .75rem .5rem;
	text-align: right;
	border-bottom: 1px solid var(--color-border);
}
.home-shipping__table th:first-child { text-align: left; }
.home-shipping__table thead th {
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--color-muted);
}
.home-shipping__table tbody th { font-weight: 600; }
.home-shipping__dh { color: var(--color-muted); font-size: var(--fs-xs); }
@media (max-width: 480px) {
	.home-shipping__dh { display: block; }
	.home-shipping__table th, .home-shipping__table td { padding-inline: .3rem; }
}
.home-shipping__note {
	display: flex;
	gap: .5rem;
	align-items: flex-start;
	margin: var(--space-4) 0 0;
	font-size: var(--fs-xs);
	color: var(--color-muted);
}
.home-shipping__note .icon { width: 1rem; height: 1rem; margin-top: .15rem; }

/* --------------------------------------------------------------------------
   Avis
   -------------------------------------------------------------------------- */
.home-stars, .card p.home-stars { display: inline-flex; gap: 2px; color: var(--gold-500); vertical-align: middle; }
.home-stars .icon { width: 1.15rem; height: 1.15rem; }
.home-stars .icon.is-empty { color: var(--cream-200); }
.home-stars--sm .icon { width: 1rem; height: 1rem; }
.home-reviews__summary {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	font-size: var(--fs-sm) !important;
}
.home-reviews__summary strong { color: var(--ink-900); }

.home-reviews__grid {
	display: grid;
	gap: var(--space-5);
	list-style: none;
}
@media (min-width: 700px) { .home-reviews__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .home-reviews__grid { grid-template-columns: repeat(3, 1fr); } }
.home-review figure { display: flex; flex-direction: column; height: 100%; margin: 0; }
.home-review blockquote { flex: 1; margin: var(--space-4) 0 var(--space-5); }
.home-review blockquote p { font-family: var(--font-heading); font-size: 1.3rem; line-height: 1.4; color: var(--ink-900); }
.home-review figcaption { display: flex; align-items: center; gap: .75rem; font-size: var(--fs-sm); }
.home-review__avatar {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--olive-100);
	color: var(--olive-800);
	font-weight: 600;
	font-size: var(--fs-xs);
	letter-spacing: .05em;
	flex-shrink: 0;
}
.home-review__origin { display: block; color: var(--color-muted); font-size: var(--fs-xs); }

/* --------------------------------------------------------------------------
   Commander
   -------------------------------------------------------------------------- */
.home-order__grid {
	display: grid;
	gap: var(--space-5);
	list-style: none;
}
@media (min-width: 640px) { .home-order__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .home-order__grid { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); } }

.home-method {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: var(--space-6);
	background: rgba(251, 248, 242, .06);
	border: 1px solid rgba(228, 212, 165, .22);
	border-radius: var(--radius-lg);
	transition: transform var(--t-base), border-color var(--t-base), background-color var(--t-base);
}
.home-method::after {
	content: "";
	position: absolute;
	top: -1px; left: 12%; right: 12%;
	height: 2px;
	background: var(--edge-gradient);
	opacity: .8;
}
.home-method:hover { transform: translateY(-4px); border-color: rgba(228, 212, 165, .5); background: rgba(251, 248, 242, .09); }
.home-method h3 { margin-bottom: .4rem; font-size: var(--fs-h4); }
.home-method p { flex: 1; margin-bottom: var(--space-5); font-size: var(--fs-sm); }
.home-method__icon {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	margin-bottom: var(--space-4);
	border-radius: var(--radius-md);
	background: rgba(201, 169, 98, .16);
	color: var(--gold-300);
}
.home-method__icon .icon { width: 1.6rem; height: 1.6rem; }
.home-method__icon--paypal { background: var(--white); }
.home-method__icon--paypal img { width: 20px; height: auto; }

.home-order__reassure {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	margin: var(--space-6) auto 0;
	font-size: var(--fs-sm);
	text-align: center;
}
.home-order__reassure .icon { color: var(--gold-300); }
.home-order__reassure a { color: var(--gold-300); }

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */
.home-faq__more { margin-top: var(--space-6); text-align: center; color: var(--color-text-soft); }

@media (prefers-reduced-motion: reduce) {
	.home-method:hover { transform: none; }
}

/* --------------------------------------------------------------------------
   Ajustements mobile
   -------------------------------------------------------------------------- */
@media (max-width: 700px) {
	.home-hero::before {
		background: linear-gradient(180deg, rgba(20, 32, 12, .55) 0%, rgba(20, 32, 12, .45) 45%, rgba(20, 32, 12, .9) 100%);
	}
}
@media (max-width: 639px) {
	.home-quality__grid .card {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: var(--space-4);
		align-items: start;
		padding: var(--space-5);
	}
	.home-quality__grid .icon-badge { grid-row: span 2; margin-bottom: 0; }
	.home-quality__grid h3 { margin-bottom: .2rem; }
}

/* ==========================================================================
   Charte OLIV'AMOR : dégradés or, en-têtes olive, sections colorées
   ========================================================================== */

/* Hero : voile olive depuis la gauche, titre Cormorant gras, accent or */
.home-hero::before {
	background:
		linear-gradient(90deg, rgba(29, 48, 18, .9) 0%, rgba(29, 48, 18, .55) 45%, rgba(29, 48, 18, .12) 80%),
		linear-gradient(180deg, rgba(29, 48, 18, .35) 0%, transparent 25%, transparent 60%, rgba(29, 48, 18, .85) 100%);
}
.home-hero__title { font-weight: 700; line-height: .98; }
.home-hero__title em { font-weight: 600; color: var(--gold-500); }
@media (max-width: 700px) {
	.home-hero::before {
		background: linear-gradient(180deg, rgba(29, 48, 18, .6) 0%, rgba(29, 48, 18, .5) 45%, rgba(29, 48, 18, .92) 100%);
	}
}

/* Terroir */
.home-heritage__content h2 em { font-weight: 600; color: var(--gold-700); }
.home-heritage .icon-badge { background: var(--gold-gradient); color: #1D160B; }

/* Qualité : section olive, icônes or */
.home-quality { background: radial-gradient(120% 120% at 0% 0%, var(--olive-700) 0%, var(--olive-900) 75%); }
.home-quality .card {
	background: rgba(251, 248, 242, .06);
	border-color: rgba(228, 212, 165, .2);
	box-shadow: none;
	text-align: center;
}
.home-quality .card:hover { background: rgba(251, 248, 242, .1); border-color: rgba(228, 212, 165, .45); }
.home-quality .card h3 { color: var(--cream-50); }
.home-quality .card p, .home-quality .card p:last-child { color: rgba(251, 248, 242, .75); margin-inline: auto; }
.home-quality .icon-badge {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: var(--gold-gradient);
	color: #1D160B;
	box-shadow: 0 8px 20px -10px rgba(201, 169, 98, .8);
}
@media (max-width: 639px) {
	.home-quality__grid .card { text-align: left; }
}

/* Tarifs : en-tête olive, carte vedette en dégradé or */
.home-price { padding: 0; overflow: hidden; text-align: center; box-shadow: var(--shadow-md); }
.home-price::after { display: none; }
.home-price__head {
	position: relative;
	padding: 2.25rem 1.5rem 1.6rem;
	background: var(--olive-gradient);
	color: var(--cream-50);
}
.home-price--featured .home-price__head { background: var(--gold-gradient); color: #1D160B; }
.home-price__badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	left: auto;
	transform: none;
	background: rgba(201, 169, 98, .9);
	border-color: transparent;
	color: #1D160B;
	font-size: .6875rem;
}
.home-price--featured .home-price__badge { background: var(--olive-800); color: var(--gold-300); }
.home-price .home-price__volume { margin-bottom: .2rem; color: inherit; font-size: 4.25rem; font-weight: 700; line-height: 1; }
.home-price__volume span { color: inherit; opacity: .8; font-family: var(--font-body); font-size: 1.1rem; font-weight: 400; }
.home-price .home-price__tagline { margin: 0; color: inherit; opacity: .88; font-size: var(--fs-sm); }
.home-price__body { display: flex; flex-direction: column; flex: 1; padding: 1.75rem 1.5rem 1.6rem; }
.home-price .home-price__amount { color: var(--olive-800); font-weight: 700; }
.home-price__pitch { background: var(--gold-100); color: var(--gold-700); }
.home-price--featured { border-color: var(--gold-500); }
@media (min-width: 960px) {
	.home-price--featured { padding-block: 0; transform: translateY(-12px); }
}

/* Commander : section brune, comme le site d'origine */
.home-order {
	background:
		radial-gradient(90% 90% at 100% 0%, rgba(201, 169, 98, .16) 0%, transparent 60%),
		linear-gradient(160deg, #4A3426 0%, #2E2017 100%);
	color: var(--cream-50);
}
.home-order h2, .home-order h3 { color: var(--cream-50); }
.home-order p { color: rgba(251, 248, 242, .8); }
.home-order .eyebrow { color: var(--gold-300); background: rgba(201, 169, 98, .14); border-color: rgba(228, 212, 165, .4); }
.home-order .section-head p:not(.eyebrow) { color: rgba(251, 248, 242, .8); }
.home-method { text-align: center; align-items: center; background: rgba(251, 248, 242, .07); }
.home-method__icon { width: 3.75rem; height: 3.75rem; border-radius: var(--radius-md); color: #fff; }
.home-method__icon--card { background: linear-gradient(135deg, #635BFF, #4A42CC); }
.home-method__icon--bank { background: var(--gold-gradient); color: #1D160B; }
.home-method__icon--whatsapp { background: linear-gradient(135deg, #25D366, #128C7E); }
.home-method__icon--paypal { background: #fff; }
.home-order__reassure a { color: var(--gold-300); }

/* Avis et FAQ */
.home-review__avatar { background: var(--olive-gradient); color: var(--gold-300); }
.home-price__total strong, .home-shipping__table strong { color: var(--olive-800); }
