/**
 * Calendanse — accueil — carte Premium V4 (8 tuiles, carrousel).
 * Scope : body.home, body.page-id-9
 */

/* —— Citation → Premium —— */
body.home .entry-content > .cdq-rotator,
body.page-id-9 .entry-content > .cdq-rotator {
	margin-bottom: 0;
}

body.home .entry-content .cdq-rotator__toolbar,
body.page-id-9 .entry-content .cdq-rotator__toolbar {
	margin-top: 12px;
	margin-bottom: 0;
}

body.home .entry-content .cd-home-quote-premium-gap,
body.page-id-9 .entry-content .cd-home-quote-premium-gap {
	display: block;
	height: clamp(20px, 4vw, 36px) !important;
}

body.home .entry-content .cd-home-premium-card,
body.page-id-9 .entry-content .cd-home-premium-card {
	margin-top: clamp(12px, 2.5vw, 24px);
	margin-bottom: clamp(16px, 3vw, 28px);
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

@media (min-width: 782px) {
	body.home .entry-content .cd-home-quote-premium-gap,
	body.page-id-9 .entry-content .cd-home-quote-premium-gap {
		height: clamp(28px, 3vw, 44px) !important;
	}

	body.home .entry-content .cd-home-premium-card,
	body.page-id-9 .entry-content .cd-home-premium-card {
		margin-top: clamp(20px, 2.8vw, 36px);
	}
}

/* —— Carte Premium — charte —— */
body.home .cd-home-premium-card,
body.page-id-9 .cd-home-premium-card {
	--cd-home-premium-pink: var(--cd-brand-magenta, #c04ba5);
	--cd-home-premium-orange: var(--cd-brand-orange, #f08a4b);
	--cd-home-premium-violet: var(--cd-brand-violet, #6a3fb5);
	--cd-home-premium-blue: #5b8fd9;
	--cd-home-premium-ink: #0f172a;
	--cd-home-tile-height: 158px;

	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	box-shadow:
		0 20px 48px rgba(11, 31, 77, 0.32),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	background: linear-gradient(
		145deg,
		#0b1f4d 0%,
		#0f172a 38%,
		#1a1634 100%
	) !important;
	color: #f8fafc;
}

body.home .cd-home-premium-card::before,
body.page-id-9 .cd-home-premium-card::before {
	content: "";
	position: absolute;
	top: -30%;
	right: -10%;
	width: 50%;
	height: 70%;
	background: radial-gradient(ellipse, rgba(192, 75, 165, 0.18) 0%, transparent 70%);
	pointer-events: none;
}

body.home .cd-home-premium-card::after,
body.page-id-9 .cd-home-premium-card::after {
	content: "";
	position: absolute;
	bottom: -25%;
	left: -5%;
	width: 45%;
	height: 55%;
	background: radial-gradient(ellipse, rgba(240, 138, 75, 0.12) 0%, transparent 72%);
	pointer-events: none;
}

body.home .cd-home-premium-card > *,
body.page-id-9 .cd-home-premium-card > * {
	position: relative;
	z-index: 1;
}

body.home .cd-home-premium-kicker,
body.page-id-9 .cd-home-premium-kicker {
	margin: 0 0 0.5rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #f1f5f9 !important;
}

body.home .cd-home-premium-kicker::before,
body.page-id-9 .cd-home-premium-kicker::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 0.5rem;
	border-radius: 50%;
	background: var(--cd-home-premium-pink);
	box-shadow: 0 0 12px rgba(192, 75, 165, 0.65);
	vertical-align: middle;
}

body.home .cd-home-premium-title,
body.page-id-9 .cd-home-premium-title,
body.home .cd-home-premium-card .cd-home-premium-title,
body.page-id-9 .cd-home-premium-card .cd-home-premium-title {
	margin: 0 0 0.65rem;
	font-size: clamp(1.28rem, 2.5vw, 1.55rem);
	font-weight: 900;
	line-height: 1.2;
	color: #ffffff !important;
}

body.home .cd-home-premium-intro,
body.page-id-9 .cd-home-premium-intro,
body.home .cd-home-premium-card .cd-home-premium-intro,
body.page-id-9 .cd-home-premium-card .cd-home-premium-intro {
	margin: 0 0 1.15rem;
	width: 100%;
	max-width: 100% !important;
	margin-inline: 0 !important;
	text-align: left !important;
	font-size: 15px;
	line-height: 1.65;
	color: #e8eef7 !important;
	white-space: normal;
}

@media (min-width: 1200px) {
	body.home .cd-home-premium-intro,
	body.page-id-9 .cd-home-premium-intro,
	body.home .cd-home-premium-card .cd-home-premium-intro,
	body.page-id-9 .cd-home-premium-card .cd-home-premium-intro {
		white-space: nowrap;
		font-size: 15px;
		line-height: 1.5;
	}
}

@media (min-width: 600px) {
	body.home .cd-home-premium-card,
	body.page-id-9 .cd-home-premium-card {
		--cd-home-tile-height: 164px;
	}
}

@media (min-width: 900px) {
	body.home .cd-home-premium-card,
	body.page-id-9 .cd-home-premium-card {
		--cd-home-tile-height: 172px;
	}
}

/* —— Carrousel V8 — groupes complets —— */
body.home .cd-home-premium-carousel,
body.page-id-9 .cd-home-premium-carousel {
	margin: 0 0 1.1rem;
	max-width: 100%;
	overflow: hidden;
}

body.home .cd-home-premium-carousel-viewport,
body.page-id-9 .cd-home-premium-carousel-viewport {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	margin-bottom: 1.35rem;
	--cd-home-tile-width: 240px;
	--cd-home-gap: 12px;
	--cd-home-tile-height: 158px;
	outline: none;
}

@media (min-width: 600px) {
	body.home .cd-home-premium-carousel-viewport,
	body.page-id-9 .cd-home-premium-carousel-viewport {
		--cd-home-tile-height: 164px;
	}
}

@media (min-width: 900px) {
	body.home .cd-home-premium-carousel-viewport,
	body.page-id-9 .cd-home-premium-carousel-viewport {
		--cd-home-tile-height: 172px;
	}
}

body.home .cd-home-premium-carousel-viewport:focus-visible,
body.page-id-9 .cd-home-premium-carousel-viewport:focus-visible {
	outline: 2px solid var(--cd-home-premium-violet);
	outline-offset: 3px;
}

body.home .cd-home-premium-group-track,
body.page-id-9 .cd-home-premium-group-track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	margin: 0;
	padding: 0;
	will-change: transform;
	transform: translate3d(0, 0, 0);
	transition: transform 1100ms ease-in-out;
}

body.home .cd-home-premium-group-track.is-instant,
body.page-id-9 .cd-home-premium-group-track.is-instant,
body.home .cd-home-premium-group-track.is-reduced-motion,
body.page-id-9 .cd-home-premium-group-track.is-reduced-motion {
	transition: none;
}

body.home .cd-home-premium-features,
body.page-id-9 .cd-home-premium-features,
body.home .cd-home-premium-features.is-layout-flex,
body.page-id-9 .cd-home-premium-features.is-layout-flex,
body.home .cd-home-premium-features.is-layout-flow,
body.page-id-9 .cd-home-premium-features.is-layout-flow,
body.home .cd-home-premium-features.wp-block-group,
body.page-id-9 .cd-home-premium-features.wp-block-group {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	flex-shrink: 0;
	gap: var(--cd-home-gap) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
	--cd-home-tile-height: 158px;
}

@media (min-width: 600px) {
	body.home .cd-home-premium-features,
	body.page-id-9 .cd-home-premium-features {
		--cd-home-tile-height: 164px;
	}
}

@media (min-width: 900px) {
	body.home .cd-home-premium-features,
	body.page-id-9 .cd-home-premium-features {
		--cd-home-tile-height: 172px;
	}
}

/* V9 — hauteur stricte identique pour toutes les tuiles (Gutenberg inclus) */
body.home .cd-home-premium-feature,
body.page-id-9 .cd-home-premium-feature,
body.home .cd-home-premium-features > .cd-home-premium-feature,
body.page-id-9 .cd-home-premium-features > .cd-home-premium-feature,
body.home .cd-home-premium-features > .cd-home-premium-feature:first-child,
body.page-id-9 .cd-home-premium-features > .cd-home-premium-feature:first-child,
body.home .cd-home-premium-feature.wp-block-group,
body.page-id-9 .cd-home-premium-feature.wp-block-group,
body.home .cd-home-premium-feature.is-layout-flow,
body.page-id-9 .cd-home-premium-feature.is-layout-flow {
	box-sizing: border-box !important;
	flex: 0 0 var(--cd-home-tile-width) !important;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	width: var(--cd-home-tile-width) !important;
	max-width: var(--cd-home-tile-width) !important;
	height: var(--cd-home-tile-height) !important;
	min-height: var(--cd-home-tile-height) !important;
	max-height: var(--cd-home-tile-height) !important;
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	align-items: stretch !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 15px 14px 14px !important;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.13);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.1),
		0 8px 20px rgba(0, 0, 0, 0.14);
	overflow: visible;
}

body.home .cd-home-premium-feature--pink,
body.page-id-9 .cd-home-premium-feature--pink,
body.home .cd-home-premium-features > .cd-home-premium-feature--pink:first-child,
body.page-id-9 .cd-home-premium-features > .cd-home-premium-feature--pink:first-child {
	--cd-home-feat-accent: var(--cd-home-premium-pink);
	border-top: 3px solid var(--cd-home-premium-pink);
}

body.home .cd-home-premium-feature--orange,
body.page-id-9 .cd-home-premium-feature--orange {
	--cd-home-feat-accent: var(--cd-home-premium-orange);
	border-top: 3px solid var(--cd-home-premium-orange);
}

body.home .cd-home-premium-feature--violet,
body.page-id-9 .cd-home-premium-feature--violet {
	--cd-home-feat-accent: var(--cd-home-premium-violet);
	border-top: 3px solid var(--cd-home-premium-violet);
}

body.home .cd-home-premium-feature--blue,
body.page-id-9 .cd-home-premium-feature--blue {
	--cd-home-feat-accent: var(--cd-home-premium-blue);
	border-top: 3px solid var(--cd-home-premium-blue);
}

body.home .cd-home-premium-feature > *,
body.page-id-9 .cd-home-premium-feature > *,
body.home .cd-home-premium-feature.is-layout-flow > *,
body.page-id-9 .cd-home-premium-feature.is-layout-flow > *,
body.home .cd-home-premium-feature.wp-block-group-is-layout-flow > *,
body.page-id-9 .cd-home-premium-feature.wp-block-group-is-layout-flow > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.home .cd-home-premium-feature.is-layout-flow > * + *,
body.page-id-9 .cd-home-premium-feature.is-layout-flow > * + *,
body.home .cd-home-premium-feature.wp-block-group-is-layout-flow > * + *,
body.page-id-9 .cd-home-premium-feature.wp-block-group-is-layout-flow > * + * {
	margin-block-start: 0 !important;
}

body.home .cd-home-premium-feature__title,
body.page-id-9 .cd-home-premium-feature__title,
body.home .cd-home-premium-feature h3,
body.page-id-9 .cd-home-premium-feature h3,
body.home .cd-home-premium-feature h3.wp-block-heading,
body.page-id-9 .cd-home-premium-feature h3.wp-block-heading {
	margin: 0 0 0.45rem !important;
	padding-left: 1.05rem;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.28 !important;
	color: #ffffff !important;
	position: relative;
	flex: 0 0 auto !important;
}

body.home .cd-home-premium-feature__title::before,
body.page-id-9 .cd-home-premium-feature__title::before,
body.home .cd-home-premium-feature h3::before,
body.page-id-9 .cd-home-premium-feature h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cd-home-feat-accent, var(--cd-home-premium-pink));
	box-shadow: 0 0 10px var(--cd-home-feat-accent, var(--cd-home-premium-pink));
}

body.home .cd-home-premium-feature__text,
body.page-id-9 .cd-home-premium-feature__text,
body.home .cd-home-premium-feature p,
body.page-id-9 .cd-home-premium-feature p,
body.home .cd-home-premium-feature p.wp-block-paragraph,
body.page-id-9 .cd-home-premium-feature p.wp-block-paragraph {
	margin: 0 !important;
	padding: 0 !important;
	flex: 1 1 auto !important;
	min-height: 0;
	font-size: 13px !important;
	line-height: 1.55 !important;
	color: #eef2f9 !important;
}

/* —— Navigation carrousel (injectée JS) —— */
body.home .cd-home-premium-carousel-nav,
body.page-id-9 .cd-home-premium-carousel-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 14px;
	margin-top: 0.35rem;
	padding-top: 0.5rem;
}

body.home .cd-home-premium-prev,
body.page-id-9 .cd-home-premium-prev,
body.home .cd-home-premium-next,
body.page-id-9 .cd-home-premium-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff !important;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

body.home .cd-home-premium-prev:hover,
body.page-id-9 .cd-home-premium-prev:hover,
body.home .cd-home-premium-next:hover,
body.page-id-9 .cd-home-premium-next:hover,
body.home .cd-home-premium-prev:focus-visible,
body.page-id-9 .cd-home-premium-prev:focus-visible,
body.home .cd-home-premium-next:focus-visible,
body.page-id-9 .cd-home-premium-next:focus-visible {
	background: rgba(106, 63, 181, 0.45);
	border-color: rgba(255, 255, 255, 0.55);
	outline: none;
}

body.home .cd-home-premium-carousel-dots,
body.page-id-9 .cd-home-premium-carousel-dots {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	flex: 1 1 auto;
}

body.home .cd-home-premium-dot,
body.page-id-9 .cd-home-premium-dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

body.home .cd-home-premium-dot.is-active,
body.page-id-9 .cd-home-premium-dot.is-active {
	background: #ffffff;
	transform: scale(1.15);
}

body.home .cd-home-premium-dot:hover,
body.page-id-9 .cd-home-premium-dot:hover,
body.home .cd-home-premium-dot:focus-visible,
body.page-id-9 .cd-home-premium-dot:focus-visible {
	background: rgba(255, 255, 255, 0.75);
	outline: none;
}

body.home .cd-home-premium-carousel--reduced-motion .cd-home-premium-group-track,
body.page-id-9 .cd-home-premium-carousel--reduced-motion .cd-home-premium-group-track {
	transition: none;
}

/* —— Actions CTA —— */
body.home .cd-home-premium-actions,
body.page-id-9 .cd-home-premium-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
}

body.home .cd-home-premium-actions .wp-block-button,
body.page-id-9 .cd-home-premium-actions .wp-block-button {
	margin: 0;
}

body.home .cd-home-premium-actions .wp-block-button__link,
body.page-id-9 .cd-home-premium-actions .wp-block-button__link,
body.home .cd-home-premium-cta .wp-block-button__link,
body.page-id-9 .cd-home-premium-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 20px !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	color: #ffffff !important;
	background: var(--cd-home-premium-pink) !important;
	border: 2px solid rgba(255, 255, 255, 0.85) !important;
	box-shadow: 0 12px 28px rgba(192, 75, 165, 0.35);
}

body.home .cd-home-premium-actions .wp-block-button__link:hover,
body.page-id-9 .cd-home-premium-actions .wp-block-button__link:hover {
	background: var(--cd-home-premium-violet) !important;
	border-color: #ffffff !important;
}

body.home .cd-home-premium-price,
body.page-id-9 .cd-home-premium-price {
	display: inline-flex;
	align-items: stretch;
	margin: 0;
}

body.home .cd-home-premium-price .cd-btn-premium,
body.page-id-9 .cd-home-premium-price .cd-btn-premium,
body.home .cd-home-premium-price button,
body.page-id-9 .cd-home-premium-price button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 15px;
	line-height: 1.2;
	cursor: pointer;
	color: #ffffff !important;
	background: var(--cd-home-premium-orange) !important;
	border: 2px solid rgba(255, 255, 255, 0.9) !important;
	box-shadow: 0 12px 26px rgba(240, 138, 75, 0.35);
	transition: transform 0.15s ease, filter 0.15s ease;
}

body.home .cd-home-premium-price .cd-btn-premium:hover,
body.page-id-9 .cd-home-premium-price .cd-btn-premium:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
}

@media (max-width: 480px) {
	body.home .cd-home-premium-actions,
	body.page-id-9 .cd-home-premium-actions {
		flex-direction: column;
		align-items: stretch;
	}

	body.home .cd-home-premium-actions .wp-block-button__link,
	body.page-id-9 .cd-home-premium-actions .wp-block-button__link,
	body.home .cd-home-premium-price .cd-btn-premium,
	body.page-id-9 .cd-home-premium-price .cd-btn-premium {
		width: 100%;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
	}

	body.home .cd-home-premium-carousel-nav,
	body.page-id-9 .cd-home-premium-carousel-nav {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .cd-home-premium-group-track,
	body.page-id-9 .cd-home-premium-group-track {
		transition: none;
	}

	body.home .cd-home-premium-price .cd-btn-premium,
	body.page-id-9 .cd-home-premium-price .cd-btn-premium {
		transition: none;
	}
}
