/* ==========================================================================
   Divane Home : Page d'attente (pré-lancement)
   Indépendante du reste du thème : charge uniquement les tokens + sa CSS.
   ========================================================================== */

* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
}

.dh-coming-soon-body {
	font-family: var(--dh-font-body, "Poppins", sans-serif);
	background-color: var(--dh-bronze, #433112);
	color: var(--dh-white, #FFFFFF);
	min-height: 100vh;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

/* --------------------------------------------------------------------------
   Fond : bronze charte + radial subtil au centre (effet vignettage doux) +
   deux diagonales très estompées pour éviter l'aplat pur sans tomber dans
   le pattern strié rigide. Le bronze garantit la lisibilité du texte blanc
   (contraste ~13) là où le doré pur (#E09C0B) tombait à ~2.5.
   -------------------------------------------------------------------------- */

.dh-coming-soon {
	position: relative;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4rem 1.5rem;
	background-color: var(--dh-bronze, #433112);
	background-image:
		radial-gradient(ellipse at center, rgba(255, 255, 255, 0.06) 0%, transparent 65%),
		linear-gradient(135deg, transparent 0%, transparent 35%, rgba(255, 255, 255, 0.03) 38%, rgba(255, 255, 255, 0.03) 42%, transparent 45%, transparent 100%),
		linear-gradient(135deg, transparent 0%, transparent 78%, rgba(255, 255, 255, 0.025) 81%, rgba(255, 255, 255, 0.025) 85%, transparent 88%, transparent 100%);
}

/* --------------------------------------------------------------------------
   Contenu centré + animation cascade à l'arrivée
   -------------------------------------------------------------------------- */

.dh-coming-soon__inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
	width: 100%;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
}

/* Cascade fade-in : chaque enfant direct entre en scène avec un léger décalage.
   Délai en multiple de 80ms. */
.dh-coming-soon__inner > * {
	opacity: 0;
	transform: translateY(8px);
	animation: dh-cs-fade-in 0.7s cubic-bezier(0.2, 0.65, 0.3, 1) forwards;
}

.dh-coming-soon__inner > *:nth-child(1) { animation-delay: 0.05s; }
.dh-coming-soon__inner > *:nth-child(2) { animation-delay: 0.18s; }
.dh-coming-soon__inner > *:nth-child(3) { animation-delay: 0.31s; }
.dh-coming-soon__inner > *:nth-child(4) { animation-delay: 0.44s; }
.dh-coming-soon__inner > *:nth-child(5) { animation-delay: 0.57s; }
.dh-coming-soon__inner > *:nth-child(6) { animation-delay: 0.70s; }

@keyframes dh-cs-fade-in {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Respect des préférences réduites */
@media (prefers-reduced-motion: reduce) {
	.dh-coming-soon__inner > * {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   Eyebrow : petit label uppercase en haut, signal "état pré-lancement"
   -------------------------------------------------------------------------- */

.dh-coming-soon__eyebrow {
	font-family: var(--dh-font-body, "Poppins", sans-serif);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--dh-white, #FFFFFF);
	opacity: 0.65;
	margin: 0;
	padding-bottom: 8px;
	position: relative;
}

/* Trait court sous l'eyebrow pour le séparer du titre, façon ornement subtil. */
.dh-coming-soon__eyebrow::after {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin: 12px auto 0;
	background-color: var(--dh-champagne, #E3BC75);
	opacity: 0.7;
}

/* --------------------------------------------------------------------------
   Heading principal : Montserrat Regular 400, échelle aérée
   -------------------------------------------------------------------------- */

.dh-coming-soon__heading {
	font-family: "Montserrat", "Poppins", sans-serif;
	font-size: clamp(1.625rem, 3.6vw, 2.5rem);
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--dh-white, #FFFFFF);
	margin: 0;
	max-width: 24ch;
}

/* --------------------------------------------------------------------------
   Logo
   -------------------------------------------------------------------------- */

.dh-coming-soon__logo {
	margin: 0;
}

.dh-coming-soon__logo img {
	max-width: 360px;
	width: 80%;
	height: auto;
	display: inline-block;
}

.dh-coming-soon__logo-fallback {
	font-family: "Montserrat", "Poppins", sans-serif;
	font-weight: 700;
	font-size: clamp(2.5rem, 7vw, 4rem);
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--dh-white, #FFFFFF);
	margin: 0;
}

.dh-coming-soon__logo-fallback span {
	display: block;
	font-size: 0.4em;
	letter-spacing: 0.5em;
	margin-top: 0.5em;
	font-weight: 500;
	opacity: 0.95;
}

/* --------------------------------------------------------------------------
   Paragraphe de réassurance sous le logo
   -------------------------------------------------------------------------- */

.dh-coming-soon__lead {
	font-family: var(--dh-font-body, "Poppins", sans-serif);
	font-size: 16px;
	line-height: 1.7;
	color: var(--dh-white, #FFFFFF);
	opacity: 0.88;
	margin: 0;
	max-width: 52ch;
	font-weight: 400;
}

/* --------------------------------------------------------------------------
   CTA principal
   -------------------------------------------------------------------------- */

.dh-coming-soon__cta {
	margin: 0;
}

.dh-coming-soon__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 16px 32px;
	font-family: var(--dh-font-body, "Poppins", sans-serif);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--dh-bronze, #433112);
	background-color: var(--dh-white, #FFFFFF);
	border: 1px solid var(--dh-white, #FFFFFF);
	border-radius: 4px;
	transition: background-color 0.25s ease, transform 0.25s ease, color 0.25s ease;
}

.dh-coming-soon__btn:hover,
.dh-coming-soon__btn:focus-visible {
	background-color: transparent;
	color: var(--dh-white, #FFFFFF);
	transform: translateY(-2px);
	outline: none;
}

.dh-coming-soon__btn span {
	transition: transform 0.25s ease;
}

.dh-coming-soon__btn:hover span {
	transform: translateX(4px);
}

/* --------------------------------------------------------------------------
   Footer : adresse, horaires, contact
   -------------------------------------------------------------------------- */

.dh-coming-soon__details {
	font-family: var(--dh-font-body, "Poppins", sans-serif);
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.92);
	margin-top: 0.5rem;
}

.dh-coming-soon__address {
	margin: 0 0 0.5rem;
	font-weight: 500;
}

.dh-coming-soon__hours {
	margin: 0 0 1rem;
	opacity: 0.85;
}

.dh-coming-soon__contact {
	margin: 0;
	font-size: 14px;
	opacity: 0.9;
}

.dh-coming-soon__contact a {
	color: var(--dh-white, #FFFFFF);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	padding-bottom: 1px;
	transition: border-color 0.25s ease, opacity 0.25s ease;
}

.dh-coming-soon__contact a:hover {
	border-color: var(--dh-white, #FFFFFF);
	opacity: 1;
}

.dh-coming-soon__contact span[aria-hidden] {
	margin: 0 0.5em;
	opacity: 0.6;
}

/* --------------------------------------------------------------------------
   Adaptations mobiles
   -------------------------------------------------------------------------- */

@media (max-width: 600px) {
	.dh-coming-soon {
		padding: 2.5rem 1.25rem;
	}

	.dh-coming-soon__inner {
		gap: 1.5rem;
	}

	.dh-coming-soon__btn {
		width: 100%;
		justify-content: center;
		padding: 16px 24px;
	}

	.dh-coming-soon__contact {
		line-height: 2;
	}
}
