/* Horizon (2.8.0) : vitrine entreprise & conseil. Bannière en dégradé de la
   couleur de marque, photo encadrée, démarche en trois cartes qui chevauchent. */
.wv-horizon { --wv-radius: 14px; --wv-container: 1200px; --hz-line: #e4e8ef; --hz-muted: #5b6577; }
.wv-horizon.wv-site h1, .wv-horizon.wv-site h2, .wv-horizon.wv-site h3 { font-weight: 750; letter-spacing: -.03em; }
.wv-horizon .wv-announcement { background: var(--wv-ink); }
.wv-horizon .wv-header-inner { min-height: 76px; }
.wv-horizon .wv-logo { font-weight: 850; }
.wv-horizon .wv-nav-list { font-weight: 600; font-size: 14px; }
.wv-horizon .wv-action-contact { background: var(--wv-brand); border-color: var(--wv-brand);color:var(--wv-on-brand,#fff); }
.wv-horizon .wv-btn { border-radius: 10px; }
.wv-horizon .wv-btn-light { background: #fff; border-color: #fff; color: var(--wv-ink) !important; }
.wv-horizon .wv-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, .55); color: #fff !important; }
.wv-horizon .wv-kicker { color:var(--wv-brand-on-page,var(--wv-brand-text),var(--wv-brand)); }

/* ---------- Bannière ---------- */
.wv-horizon-hero {
	padding-block: 72px 120px;
	color: #fff;
	background:
		radial-gradient(60% 80% at 100% 0%, color-mix(in srgb, var(--wv-accent) 45%, transparent), transparent 60%),
		linear-gradient(135deg, var(--wv-ink) 0%, var(--wv-brand-deep, var(--wv-brand)) 100%);
}
.wv-horizon-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.wv-horizon-hero .wv-kicker { color: rgba(255, 255, 255, .78); }
.wv-horizon.wv-site .wv-horizon-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: 1.06; }
.wv-horizon-hero p { max-width: 46ch; color: rgba(255, 255, 255, .84); font-size: 18px; }
.wv-horizon-media img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: 75% center; border-radius: 22px; border: 6px solid rgba(255, 255, 255, .16); box-shadow: 0 30px 60px rgba(0, 0, 0, .25); }

/* ---------- Démarche ---------- */
.wv-horizon-steps { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: -70px; }
.wv-horizon-steps article { padding: 28px; border: 1px solid var(--hz-line); border-radius: 18px; background: #fff; box-shadow: 0 14px 34px rgba(15, 23, 42, .08); }
.wv-horizon-steps span { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 16px; border-radius: 12px; background: color-mix(in srgb, var(--wv-brand) 12%, #fff); color:var(--wv-brand-text,var(--wv-brand)); font-weight: 800; }
.wv-horizon.wv-site .wv-horizon-steps h2 { margin: 0 0 8px; font-size: 20px; }
.wv-horizon-steps p { margin: 0; color: var(--hz-muted); font-size: 15px; }

/* Titre de section : la petite ligne au-dessus du titre, jamais à côté. */
.wv-horizon .wv-section-heading { flex-wrap: wrap; }
.wv-horizon .wv-section-heading > .wv-kicker { flex: 1 0 100%; margin-bottom: 0; }

/* ---------- Sections ---------- */
.wv-horizon .wv-category-card { background: #fff; border: 1px solid var(--hz-line); }
.wv-horizon .wv-products ul.products li.product, .wv-horizon .wv-commerce ul.products li.product { border-color: var(--hz-line) !important; }
.wv-horizon ul.products li.product .onsale { background: var(--wv-accent); color: var(--wv-on-accent); }
.wv-horizon .wv-vitrine-card { background: #fff; border: 1px solid var(--hz-line); box-shadow: 0 10px 30px rgba(15, 23, 42, .06); }
.wv-horizon .wv-contact-strip { background: linear-gradient(135deg, var(--wv-ink), var(--wv-brand-deep, var(--wv-brand))); color: #fff; }
.wv-horizon.wv-site .wv-contact-strip h2 { color: #fff; }
.wv-horizon .wv-contact-strip .wv-kicker { color: rgba(255, 255, 255, .78); }
.wv-horizon .wv-contact-strip .wv-btn { background: #fff; border-color: #fff; color: var(--wv-ink) !important; }
.wv-horizon .wv-footer { background: var(--wv-ink); }

@media (max-width: 750px) {
	.wv-horizon-hero { padding-block: 40px 90px; }
	.wv-horizon-inner { grid-template-columns: 1fr; gap: 28px; }
	.wv-horizon.wv-site .wv-horizon-hero h1 { font-size: clamp(32px, 9vw, 42px); }
	.wv-horizon-hero p { font-size: 15px; }
	.wv-horizon-media img { aspect-ratio: 16 / 10; border-width: 4px; }
	.wv-horizon-steps { grid-template-columns: 1fr; gap: 10px; margin-top: -60px; }
	.wv-horizon-steps article { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; padding: 16px; }
	.wv-horizon-steps span { grid-row: span 2; margin: 0; }
	.wv-horizon.wv-site .wv-horizon-steps h2 { font-size: 17px; margin-bottom: 2px; }
	.wv-horizon-steps p { font-size: 13px; }
}
