@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap');

:root {
	--kdt-oct26-navy: #22105f;
	--kdt-oct26-navy-deep: #19084f;
	--kdt-oct26-purple: #5a11ca;
	--kdt-oct26-purple-light: #8e36ee;
	--kdt-oct26-gold: #d89b27;
	--kdt-oct26-gold-soft: #ebc675;
	--kdt-oct26-cream: #fffaf3;
	--kdt-oct26-cream-2: #fff6ec;
	--kdt-oct26-border: rgba(203, 151, 66, .34);
	--kdt-oct26-text: #25135f;
	--kdt-oct26-muted: #715f8a;
	--kdt-oct26-shadow: 0 16px 38px rgba(73, 39, 104, .10);
}

.kdt-contestOct26-page {
	color: var(--kdt-oct26-text);
	background: var(--kdt-oct26-cream);
	font-family: Arial, Helvetica, sans-serif;
	overflow-x: hidden;
}

.kdt-contestOct26-page *,
.kdt-contestOct26-page *::before,
.kdt-contestOct26-page *::after {
	box-sizing: border-box;
}

.kdt-contestOct26-page button,
.kdt-contestOct26-page select {
	font: inherit;
}

.kdt-contestOct26-srOnly {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.kdt-contestOct26-shell {
	width: min(1460px, calc(100% - 40px));
	margin: 0 auto;
}

/* ============================================================
   Preview / QA panel
   ============================================================ */

.kdt-contestOct26-preview {
	width: min(1100px, calc(100% - 32px));
	margin: 18px auto;
	padding: 18px 20px;
	border: 1px solid rgba(34, 16, 95, .18);
	border-radius: 14px;
	background: #fff;
	color: #1f1a2a;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
	font-size: 14px;
}

.kdt-contestOct26-preview__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.kdt-contestOct26-preview__head strong {
	color: var(--kdt-oct26-navy);
	letter-spacing: .04em;
}

.kdt-contestOct26-preview__head p {
	margin: 5px 0 0;
}

.kdt-contestOct26-preview__clock {
	display: grid;
	grid-template-columns: 190px minmax(280px, 1fr) auto;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
}

.kdt-contestOct26-preview__clock label {
	font-weight: 700;
}

.kdt-contestOct26-preview select,
.kdt-contestOct26-preview__button {
	min-height: 40px;
	border: 1px solid rgba(34, 16, 95, .28);
	border-radius: 8px;
	background: #fff;
	color: var(--kdt-oct26-navy);
}

.kdt-contestOct26-preview select {
	width: 100%;
	padding: 7px 10px;
}

.kdt-contestOct26-preview__button {
	padding: 7px 14px;
	font-weight: 700;
	cursor: pointer;
}

.kdt-contestOct26-preview__button:hover {
	background: #f7f2ff;
}

.kdt-contestOct26-preview__debug {
	margin-top: 14px;
}

.kdt-contestOct26-preview__debug dl {
	display: grid;
	grid-template-columns: 190px 1fr;
	gap: 5px 14px;
	margin: 12px 0 0;
}

.kdt-contestOct26-preview__debug dt {
	font-weight: 700;
}

.kdt-contestOct26-preview__debug dd {
	margin: 0;
}

/* ============================================================
   Shared ornaments / typography
   ============================================================ */

.kdt-contestOct26-kicker {
	margin: 0;
	font-size: clamp(13px, 1vw, 18px);
	font-weight: 800;
	letter-spacing: .055em;
	color: var(--kdt-oct26-navy);
}

.kdt-contestOct26-ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: min(330px, 70%);
	margin: 16px auto 14px;
}

.kdt-contestOct26-ornament span {
	flex: 1;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--kdt-oct26-gold),
		transparent
	);
}

.kdt-contestOct26-ornament i {
	width: 9px;
	height: 9px;
	display: block;
	background: var(--kdt-oct26-gold);
	transform: rotate(45deg);
	box-shadow: 0 0 0 4px rgba(216, 155, 39, .08);
}

/* ============================================================
   Active landing hero
   ============================================================ */

.kdt-contestOct26-hero {
	position: relative;
	padding: clamp(28px, 3vw, 46px) 0 26px;
	background-color: var(--kdt-oct26-cream);
	background-image:
		linear-gradient(
			180deg,
			rgba(255, 250, 243, .08),
			rgba(255, 250, 243, .18)
		),
		url('/images/concours-octobre-2026/fond-landing-desktop.png');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.kdt-contestOct26-intro {
	max-width: 1380px;
	margin: 0 auto 20px;
	text-align: center;
}

.kdt-contestOct26-intro h1,
.kdt-contestOct26-how h2,
.kdt-contestOct26-status h1 {
	margin: 6px 0 0;
	font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
	font-weight: 400;
	line-height: 1.12;
	color: var(--kdt-oct26-navy-deep);
}

.kdt-contestOct26-intro h1 {
	font-size: clamp(34px, 3.25vw, 66px);
}

.kdt-contestOct26-lead {
	max-width: 780px;
	margin: 0 auto;
	font-size: clamp(15px, 1.25vw, 21px);
	font-weight: 600;
	line-height: 1.45;
	color: var(--kdt-oct26-text);
}

.kdt-contestOct26-game {
	display: grid;
	grid-template-columns:
		minmax(170px, 220px)
		minmax(0, 1fr)
		minmax(170px, 220px);
	align-items: center;
	gap: clamp(18px, 2vw, 36px);
	margin-top: 16px;
}

.kdt-contestOct26-cards {
	display: flex;
	align-items: end;
	justify-content: center;
	gap: clamp(18px, 1.8vw, 30px);
	min-width: 0;
}

.kdt-contestOct26-cardChoice {
	width: clamp(170px, 12vw, 220px);
	text-align: center;
	transition:
		transform .2s ease,
		filter .2s ease;
}

.kdt-contestOct26-cardChoice__visual {
	position: relative;
	width: 100%;
	filter: drop-shadow(0 11px 12px rgba(63, 34, 72, .10));
}

.kdt-contestOct26-cardChoice__visual img {
	display: block;
	width: 100%;
	height: auto;
}

.kdt-contestOct26-cardChoice__button,
.kdt-contestOct26-mobileChoice__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	border: 0;
	border-radius: 7px;
	background:
		linear-gradient(
			100deg,
			#4f0fba 0%,
			#6b18d7 48%,
			#8b31e8 100%
		);
	color: #fff;
	font-weight: 800;
	letter-spacing: .02em;
	box-shadow:
		0 5px 0 rgba(49, 9, 120, .28),
		0 10px 22px rgba(89, 26, 190, .18);
}

.kdt-contestOct26-cardChoice__button {
	min-height: 42px;
	margin-top: -2px;
	font-size: 15px;
}

.kdt-contestOct26-cardChoice__button:disabled,
.kdt-contestOct26-mobileChoice__button:disabled {
	opacity: 1;
	cursor: default;
}

.kdt-contestOct26-prize {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 280px;
	padding: 30px 20px 24px;
	border: 1px solid var(--kdt-oct26-border);
	border-radius: 18px;
	background: rgba(255, 253, 249, .76);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
	text-align: center;
	color: var(--kdt-oct26-navy);
	backdrop-filter: blur(2px);
}

.kdt-contestOct26-prize__icon {
	position: absolute;
	top: -24px;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border: 1px solid var(--kdt-oct26-border);
	border-radius: 50%;
	background: rgba(255, 248, 232, .94);
	color: var(--kdt-oct26-gold);
}

.kdt-contestOct26-prize__icon svg,
.kdt-contestOct26-fact__icon svg,
.kdt-contestOct26-step__icon svg {
	width: 58%;
	height: 58%;
	fill: currentColor;
}

.kdt-contestOct26-prize > strong {
	font-size: clamp(16px, 1.2vw, 22px);
	line-height: 1.18;
}

.kdt-contestOct26-prize__amount {
	margin-top: 4px;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(30px, 2.5vw, 46px);
	line-height: 1;
	color: #b87812;
}

.kdt-contestOct26-prize__label {
	margin-top: 5px;
	font-size: clamp(14px, 1vw, 18px);
	font-weight: 800;
	line-height: 1.25;
}

.kdt-contestOct26-prize__ornament {
	display: flex;
	align-items: center;
	gap: 7px;
	width: 110px;
	margin: 14px auto 10px;
}

.kdt-contestOct26-prize__ornament span {
	flex: 1;
	height: 1px;
	background: var(--kdt-oct26-gold-soft);
}

.kdt-contestOct26-prize__ornament i {
	width: 6px;
	height: 6px;
	background: var(--kdt-oct26-gold);
	transform: rotate(45deg);
}

.kdt-contestOct26-prize p {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.kdt-contestOct26-mobileChoice,
.kdt-contestOct26-mobilePrizes {
	display: none;
}

/* ============================================================
   Facts
   ============================================================ */

.kdt-contestOct26-facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 22px;
	border-top: 1px solid rgba(34, 16, 95, .15);
	border-bottom: 1px solid rgba(34, 16, 95, .08);
	background: rgba(255, 251, 245, .44);
}

.kdt-contestOct26-fact {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 74px;
	padding: 12px 18px;
	font-size: clamp(13px, 1vw, 17px);
	font-weight: 700;
	text-align: left;
}

.kdt-contestOct26-fact + .kdt-contestOct26-fact::before {
	content: "";
	position: absolute;
	left: 0;
	top: 21%;
	width: 1px;
	height: 58%;
	background: var(--kdt-oct26-gold-soft);
}

.kdt-contestOct26-fact__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background: var(--kdt-oct26-navy);
	color: #fff;
}

.kdt-contestOct26-legal {
	margin: 11px 0 0;
	text-align: center;
	font-size: 14px;
	color: #614d81;
}

/* ============================================================
   How to play
   ============================================================ */

.kdt-contestOct26-how {
	padding: 28px 0 38px;
	background:
		linear-gradient(
			180deg,
			rgba(249, 244, 252, .96),
			rgba(255, 250, 246, 1)
		);
	border-top: 1px solid rgba(82, 45, 119, .08);
}

.kdt-contestOct26-how h2 {
	text-align: center;
	font-size: clamp(32px, 2.5vw, 48px);
}

.kdt-contestOct26-how .kdt-contestOct26-ornament {
	margin-top: 12px;
	margin-bottom: 22px;
}

.kdt-contestOct26-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kdt-contestOct26-steps li {
	position: relative;
	display: grid;
	grid-template-columns: auto auto 1fr;
	align-items: center;
	gap: 11px;
	min-height: 86px;
	padding: 10px 28px;
}

.kdt-contestOct26-steps li + li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	width: 1px;
	height: 60%;
	background: var(--kdt-oct26-gold-soft);
}

.kdt-contestOct26-step__number {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #f2e8fb;
	color: var(--kdt-oct26-purple);
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 20px;
}

.kdt-contestOct26-step__icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	color: var(--kdt-oct26-navy);
}

.kdt-contestOct26-steps p {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	font-size: 14px;
	line-height: 1.3;
}

.kdt-contestOct26-steps strong {
	font-size: 15px;
}

/* ============================================================
   Waiting / unavailable / ended
   ============================================================ */

.kdt-contestOct26-status {
	min-height: 720px;
	display: grid;
	place-items: center;
	padding: 58px 20px 46px;
	background-color: var(--kdt-oct26-cream);
	background-image:
		linear-gradient(
			180deg,
			rgba(255, 250, 243, .06),
			rgba(255, 250, 243, .34)
		),
		url('/images/concours-octobre-2026/fond-landing-desktop.png');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.kdt-contestOct26-status__inner {
	width: min(980px, 100%);
	text-align: center;
}

.kdt-contestOct26-status h1 {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(38px, 4vw, 64px);
}

.kdt-contestOct26-status__text {
	max-width: 760px;
	margin: 0 auto;
	font-size: clamp(16px, 1.35vw, 21px);
	font-weight: 600;
	line-height: 1.55;
}

.kdt-contestOct26-status__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin: 22px auto 0;
	padding: 9px 18px;
	border: 1px solid rgba(216, 155, 39, .38);
	border-radius: 999px;
	background: rgba(255, 253, 249, .74);
	color: var(--kdt-oct26-navy);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .025em;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .74);
}

.kdt-contestOct26-status__cards {
	display: flex;
	align-items: end;
	justify-content: center;
	gap: clamp(8px, 2vw, 24px);
	margin: 30px auto 0;
}

.kdt-contestOct26-status__cards img {
	width: clamp(100px, 11vw, 164px);
	height: auto;
	filter: drop-shadow(0 10px 14px rgba(67, 37, 77, .09));
	transition: filter .2s ease, opacity .2s ease;
}

.kdt-contestOct26-status__cards img:nth-child(2) {
	width: clamp(120px, 13vw, 194px);
}

.kdt-contestOct26-status__prizes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: min(620px, 100%);
	margin: 16px auto 0;
}

.kdt-contestOct26-status__prizes > div {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 132px;
	padding: 14px 14px;
	border: 1px solid var(--kdt-oct26-border);
	border-radius: 15px;
	background: rgba(255, 253, 249, .72);
}

.kdt-contestOct26-status__prizes strong {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(24px, 2.3vw, 34px);
	line-height: 1.05;
	color: #b87812;
}

.kdt-contestOct26-status__prizeWinner {
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--kdt-oct26-navy);
}

.kdt-contestOct26-status__prizeLabel {
	margin-top: 4px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
}

.kdt-contestOct26-status__prizes small {
	margin-top: 5px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--kdt-oct26-muted);
}

.kdt-contestOct26-status__legal {
	margin: 18px 0 0;
	font-size: 13px;
	color: #614d81;
}

.kdt-contestOct26-status--ended .kdt-contestOct26-status__cards img {
	filter:
		grayscale(.18)
		drop-shadow(0 10px 14px rgba(67, 37, 77, .07));
	opacity: .88;
}

.kdt-contestOct26-status--unavailable .kdt-contestOct26-status__cards img {
	filter:
		grayscale(.35)
		drop-shadow(0 8px 12px rgba(67, 37, 77, .05));
	opacity: .58;
}

.kdt-contestOct26-status--unavailable .kdt-contestOct26-status__badge {
	border-color: rgba(77, 61, 105, .18);
	background: rgba(255, 255, 255, .70);
	color: #5f5570;
}

/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1199.98px) {
	.kdt-contestOct26-shell {
		width: min(1120px, calc(100% - 30px));
	}

	.kdt-contestOct26-game {
		grid-template-columns: 170px minmax(0, 1fr) 170px;
		gap: 18px;
	}

	.kdt-contestOct26-cardChoice {
		width: clamp(130px, 14vw, 170px);
	}

	.kdt-contestOct26-prize {
		min-height: 245px;
		padding-left: 14px;
		padding-right: 14px;
	}

	.kdt-contestOct26-fact {
		padding-left: 10px;
		padding-right: 10px;
	}

	.kdt-contestOct26-steps li {
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media (max-width: 991.98px) {
	.kdt-contestOct26-game {
		grid-template-columns: 1fr;
	}

	.kdt-contestOct26-game > .kdt-contestOct26-prize {
		display: none;
	}

	.kdt-contestOct26-mobilePrizes {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		margin-top: 32px;
	}

	.kdt-contestOct26-prize--mobile {
		min-height: 230px;
	}

	.kdt-contestOct26-cardChoice {
		width: clamp(170px, 24vw, 220px);
	}

	.kdt-contestOct26-facts {
		grid-template-columns: repeat(2, 1fr);
	}

	.kdt-contestOct26-fact:nth-child(3)::before {
		display: none;
	}

	.kdt-contestOct26-steps {
		grid-template-columns: repeat(2, 1fr);
	}

	.kdt-contestOct26-steps li:nth-child(3)::before {
		display: none;
	}
}

/* ============================================================
   Mobile — visual contract before the swipe JS lot
   ============================================================ */

@media (max-width: 767.98px) {
	.kdt-contestOct26-shell {
		width: min(100% - 24px, 620px);
	}

	.kdt-contestOct26-preview {
		width: calc(100% - 20px);
		margin: 10px auto;
		padding: 14px;
	}

	.kdt-contestOct26-preview__head {
		flex-direction: column;
	}

	.kdt-contestOct26-preview__clock {
		grid-template-columns: 1fr;
	}

	.kdt-contestOct26-preview__debug dl {
		grid-template-columns: 1fr;
	}

	.kdt-contestOct26-hero {
		position: relative;
		isolation: isolate;
		padding-top: 30px;
		background: #fff9f1;
	}

	/*
	 * Mobile background:
	 * the source artwork keeps its native 16:9 ratio.
	 * A second overlay fades to the exact page cream BEFORE the PNG ends,
	 * so the physical bottom edge of the desktop artwork is never visible.
	 */
	.kdt-contestOct26-hero::before {
		content: "";
		position: absolute;
		z-index: -2;
		left: 0;
		top: 0;
		width: 100%;
		height: 56.25vw;
		background:
			url('/images/concours-octobre-2026/fond-landing-desktop.png')
			top center / 100% 100% no-repeat;
		pointer-events: none;
	}

	.kdt-contestOct26-hero::after {
		content: "";
		position: absolute;
		z-index: -1;
		left: 0;
		top: 0;
		width: 100%;
		height: calc(56.25vw + 60px);
		background:
			linear-gradient(
				to bottom,
				rgba(255, 249, 241, 0) 0%,
				rgba(255, 249, 241, 0) 38%,
				rgba(255, 249, 241, .14) 48%,
				rgba(255, 249, 241, .38) 58%,
				rgba(255, 249, 241, .68) 68%,
				rgba(255, 249, 241, .90) 76%,
				#fff9f1 82%,
				#fff9f1 100%
			);
		pointer-events: none;
	}

	.kdt-contestOct26-intro {
		margin-bottom: 12px;
	}

	.kdt-contestOct26-kicker {
		font-size: 12px;
	}

	.kdt-contestOct26-intro h1 {
		max-width: 620px;
		margin-left: auto;
		margin-right: auto;
		font-size: clamp(34px, 9.3vw, 48px);
		line-height: 1.08;
	}

	.kdt-contestOct26-ornament {
		width: 52%;
		margin-top: 14px;
		margin-bottom: 14px;
	}

	.kdt-contestOct26-lead {
		max-width: 540px;
		padding: 0 4px;
		font-size: 17px;
		line-height: 1.45;
	}

	.kdt-contestOct26-game {
		display: block;
		margin-top: 16px;
	}

	.kdt-contestOct26-cards {
		position: relative;
		justify-content: center;
		align-items: end;
		gap: 0;
		width: calc(100% + 54px);
		margin-left: -27px;
		overflow: hidden;
		padding: 8px 0 10px;
		touch-action: pan-y;
		user-select: none;
		-webkit-user-select: none;
	}

	.kdt-contestOct26-cardChoice {
		flex: 0 0 41%;
		width: auto;
		transition:
			transform .28s ease,
			opacity .28s ease,
			filter .28s ease;
	}

	.kdt-contestOct26-cardChoice.is-left {
		order: 1;
		transform:
			translateX(18%)
			translateY(-18px)
			scale(.80);
		transform-origin: right bottom;
		z-index: 1;
	}

	.kdt-contestOct26-cardChoice.is-center {
		order: 2;
		flex-basis: 53%;
		transform: none;
		z-index: 3;
	}

	.kdt-contestOct26-cardChoice.is-right {
		order: 3;
		transform:
			translateX(-18%)
			translateY(-18px)
			scale(.80);
		transform-origin: left bottom;
		z-index: 1;
	}

	.kdt-contestOct26-cardChoice__visual {
		filter: drop-shadow(0 9px 11px rgba(63, 34, 72, .10));
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.kdt-contestOct26-cardChoice__visual:focus-visible {
		outline: 3px solid rgba(90, 17, 202, .55);
		outline-offset: 4px;
		border-radius: 12px;
	}

	.kdt-contestOct26-cardChoice__button {
		display: none;
	}

	.kdt-contestOct26-mobileChoice {
		display: block;
		margin-top: 0;
		text-align: center;
	}

	.kdt-contestOct26-mobileChoice__dots {
		display: flex;
		justify-content: center;
		gap: 10px;
		margin-top: 2px;
	}

	.kdt-contestOct26-mobileChoice__dots button {
		width: 11px;
		height: 11px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: #dfcfb9;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.kdt-contestOct26-mobileChoice__dots button.is-active {
		background: var(--kdt-oct26-purple);
	}

	.kdt-contestOct26-mobileChoice__dots button:focus-visible {
		outline: 2px solid rgba(90, 17, 202, .55);
		outline-offset: 4px;
	}

	.kdt-contestOct26-mobileChoice p {
		margin: 12px 0 16px;
		font-size: 15px;
		font-weight: 600;
	}

	.kdt-contestOct26-mobileChoice__button {
		min-height: 58px;
		padding: 0 18px;
		border-radius: 10px;
		font-size: 18px;
	}

	.kdt-contestOct26-mobilePrizes {
		gap: 10px;
		margin-top: 38px;
	}

	.kdt-contestOct26-prize--mobile {
		min-height: 245px;
		padding: 30px 10px 18px;
	}

	.kdt-contestOct26-prize--mobile > strong {
		font-size: 15px;
	}

	.kdt-contestOct26-prize--mobile .kdt-contestOct26-prize__amount {
		font-size: 34px;
	}

	.kdt-contestOct26-prize--mobile .kdt-contestOct26-prize__label {
		font-size: 13px;
	}

	.kdt-contestOct26-facts {
		grid-template-columns: 1fr;
		margin-top: 16px;
		border: 1px solid rgba(34, 16, 95, .10);
		border-radius: 14px;
		overflow: hidden;
		background: rgba(255, 255, 255, .55);
	}

	.kdt-contestOct26-fact {
		justify-content: flex-start;
		min-height: 58px;
		padding: 10px 14px;
	}

	.kdt-contestOct26-fact + .kdt-contestOct26-fact::before {
		left: 14px;
		right: 14px;
		top: 0;
		width: auto;
		height: 1px;
		background: rgba(34, 16, 95, .10);
	}

	.kdt-contestOct26-fact:nth-child(3)::before {
		display: block;
	}

	.kdt-contestOct26-fact__icon {
		width: 34px;
		height: 34px;
	}

	.kdt-contestOct26-legal {
		margin-top: 16px;
		padding: 0 18px;
		line-height: 1.45;
	}

	.kdt-contestOct26-how {
		padding-top: 22px;
	}

	.kdt-contestOct26-how h2 {
		font-size: 38px;
	}

	.kdt-contestOct26-steps {
		grid-template-columns: 1fr;
		max-width: 560px;
		margin: 0 auto;
	}

	.kdt-contestOct26-steps li {
		grid-template-columns: 42px 34px 1fr;
		min-height: 64px;
		padding: 7px 8px;
	}

	.kdt-contestOct26-steps li + li::before {
		display: none;
	}

	.kdt-contestOct26-steps p {
		font-size: 14px;
	}

	.kdt-contestOct26-steps strong {
		font-size: 15px;
	}

	.kdt-contestOct26-status {
		min-height: 690px;
		padding: 42px 14px 34px;
		background-size: auto 500px;
		background-position: top center;
	}

	.kdt-contestOct26-status h1 {
		font-size: 36px;
		line-height: 1.12;
	}

	.kdt-contestOct26-status__text {
		max-width: 520px;
		font-size: 15px;
		line-height: 1.5;
	}

	.kdt-contestOct26-status__badge {
		min-height: 38px;
		margin-top: 18px;
		padding: 8px 13px;
		font-size: 12px;
	}

	.kdt-contestOct26-status__cards {
		gap: 0;
		width: calc(100% + 42px);
		margin: 28px 0 0 -21px;
	}

	.kdt-contestOct26-status__cards img {
		width: 31%;
		margin: 0 -2%;
	}

	.kdt-contestOct26-status__cards img:nth-child(2) {
		width: 39%;
		z-index: 2;
	}

	.kdt-contestOct26-status__prizes {
		gap: 8px;
		margin-top: 14px;
	}

	.kdt-contestOct26-status__prizes > div {
		min-height: 122px;
		padding: 11px 8px;
	}

	.kdt-contestOct26-status__prizes strong {
		font-size: 23px;
	}

	.kdt-contestOct26-status__prizeWinner,
	.kdt-contestOct26-status__prizeLabel {
		font-size: 11px;
	}

	.kdt-contestOct26-status__prizes small {
		font-size: 10px;
	}

	.kdt-contestOct26-status__legal {
		padding: 0 20px;
		font-size: 12px;
		line-height: 1.4;
	}
}

@media (max-width: 420px) {
	.kdt-contestOct26-intro h1 {
		font-size: 34px;
	}

	.kdt-contestOct26-lead {
		font-size: 15px;
	}

	.kdt-contestOct26-cardChoice {
		flex-basis: 42%;
	}

	.kdt-contestOct26-cardChoice--etoile {
		flex-basis: 55%;
	}

	.kdt-contestOct26-mobileChoice__button {
		font-size: 16px;
	}

	.kdt-contestOct26-prize--mobile {
		min-height: 225px;
	}

	.kdt-contestOct26-prize--mobile .kdt-contestOct26-prize__amount {
		font-size: 30px;
	}
}

/* ============================================================
   LOT 03B-3 — Persisted daily result
   ============================================================ */

.kdt-contestOct26-hero--result {
	padding-bottom: 42px;
}

.kdt-contestOct26-resultIntro {
	margin-bottom: 24px;
}

.kdt-contestOct26-result {
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(34px, 5vw, 76px);
	width: min(1040px, 100%);
	margin: 30px auto 0;
}

.kdt-contestOct26-result__card {
	position: relative;
	width: min(100%, 290px);
	margin: 0 auto;
	text-align: center;
}

.kdt-contestOct26-result__cardGlow {
	position: absolute;
	z-index: 0;
	left: 50%;
	top: 48%;
	width: 118%;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			rgba(235, 198, 117, .26) 0%,
			rgba(142, 54, 238, .10) 44%,
			rgba(142, 54, 238, 0) 72%
		);
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.kdt-contestOct26-result__card img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 18px 22px rgba(59, 26, 87, .16));
}

.kdt-contestOct26-result__cardLabel {
	position: relative;
	z-index: 1;
	margin: 12px 0 0;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 18px;
	color: var(--kdt-oct26-navy-deep);
}

.kdt-contestOct26-result__message {
	position: relative;
	padding: clamp(28px, 3.2vw, 44px);
	border: 1px solid var(--kdt-oct26-border);
	border-radius: 22px;
	background: rgba(255, 253, 249, .88);
	box-shadow:
		0 22px 48px rgba(73, 39, 104, .11),
		inset 0 1px 0 rgba(255, 255, 255, .88);
	backdrop-filter: blur(3px);
	text-align: center;
}

.kdt-contestOct26-result__message::before,
.kdt-contestOct26-result__message::after {
	content: "";
	position: absolute;
	width: 24px;
	height: 24px;
	border-color: rgba(216, 155, 39, .54);
	pointer-events: none;
}

.kdt-contestOct26-result__message::before {
	left: 14px;
	top: 14px;
	border-left: 1px solid;
	border-top: 1px solid;
}

.kdt-contestOct26-result__message::after {
	right: 14px;
	bottom: 14px;
	border-right: 1px solid;
	border-bottom: 1px solid;
}

.kdt-contestOct26-result__eyebrow {
	margin: 0;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	color: var(--kdt-oct26-purple);
}

.kdt-contestOct26-result__message h2 {
	margin: 10px 0 0;
	font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
	font-size: clamp(30px, 3vw, 48px);
	font-weight: 400;
	line-height: 1.12;
	color: var(--kdt-oct26-navy-deep);
}

.kdt-contestOct26-result__ornament {
	width: min(260px, 64%);
	margin-top: 16px;
	margin-bottom: 20px;
}

.kdt-contestOct26-result__text {
	max-width: 680px;
	margin: 0 auto;
	padding: 0;
	border: 0;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(18px, 1.55vw, 24px);
	font-weight: 400;
	line-height: 1.65;
	color: #33205f;
}

.kdt-contestOct26-result__confirmation {
	display: flex;
	align-items: center;
	gap: 13px;
	max-width: 680px;
	margin: 28px auto 0;
	padding: 13px 16px;
	border: 1px solid rgba(90, 17, 202, .14);
	border-radius: 12px;
	background: rgba(242, 232, 251, .58);
	text-align: left;
}

.kdt-contestOct26-result__confirmationIcon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--kdt-oct26-navy);
	color: #fff;
	font-size: 18px;
	font-weight: 800;
}

.kdt-contestOct26-result__confirmation div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.kdt-contestOct26-result__confirmation strong {
	font-size: 14px;
	color: var(--kdt-oct26-navy-deep);
}

.kdt-contestOct26-result__confirmation span:not(.kdt-contestOct26-result__confirmationIcon) {
	font-size: 12px;
	line-height: 1.35;
	color: var(--kdt-oct26-muted);
}

.kdt-contestOct26-result__chanceBox {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	max-width: 520px;
	margin: 22px auto 0;
	padding: 15px 20px;
	border-radius: 14px;
	background:
		linear-gradient(
			110deg,
			var(--kdt-oct26-navy-deep),
			var(--kdt-oct26-purple)
		);
	box-shadow: 0 12px 26px rgba(58, 18, 129, .18);
	color: #fff;
	text-align: left;
}

.kdt-contestOct26-result__chanceNumber {
	flex: 0 0 auto;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(38px, 4vw, 54px);
	line-height: 1;
	color: var(--kdt-oct26-gold-soft);
}

.kdt-contestOct26-result__chanceBox div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.kdt-contestOct26-result__chanceBox strong {
	font-size: 17px;
	line-height: 1.15;
}

.kdt-contestOct26-result__chanceBox div span {
	font-size: 12px;
	line-height: 1.3;
	color: rgba(255, 255, 255, .84);
}

.kdt-contestOct26-result__next {
	max-width: 660px;
	margin: 21px auto 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--kdt-oct26-muted);
}

.kdt-contestOct26-resultFacts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(900px, 100%);
	margin: 32px auto 0;
	border-top: 1px solid rgba(34, 16, 95, .12);
	border-bottom: 1px solid rgba(34, 16, 95, .08);
	background: rgba(255, 251, 245, .44);
}

.kdt-contestOct26-resultFact {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 78px;
	padding: 12px 16px;
	text-align: center;
}

.kdt-contestOct26-resultFact + .kdt-contestOct26-resultFact::before {
	content: "";
	position: absolute;
	left: 0;
	top: 22%;
	width: 1px;
	height: 56%;
	background: var(--kdt-oct26-gold-soft);
}

.kdt-contestOct26-resultFact strong {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 20px;
	font-weight: 400;
	color: var(--kdt-oct26-navy-deep);
}

.kdt-contestOct26-resultFact span {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 700;
	color: var(--kdt-oct26-muted);
}

.kdt-contestOct26-result__legal {
	margin-top: 16px;
}

@media (max-width: 1199.98px) {
	.kdt-contestOct26-result {
		grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
		gap: 30px;
		width: min(920px, 100%);
	}

	.kdt-contestOct26-result__message {
		padding: 28px 30px;
	}
}

@media (max-width: 991.98px) {
	.kdt-contestOct26-result {
		grid-template-columns: 1fr;
		gap: 22px;
		width: min(720px, 100%);
	}

	.kdt-contestOct26-result__card {
		width: min(42vw, 230px);
	}

	.kdt-contestOct26-result__message {
		width: 100%;
	}
}

@media (max-width: 767.98px) {
	.kdt-contestOct26-hero--result {
		padding-bottom: 30px;
	}

	.kdt-contestOct26-resultIntro {
		margin-bottom: 16px;
	}

	.kdt-contestOct26-result {
		margin-top: 20px;
	}

	.kdt-contestOct26-result__card {
		width: min(54vw, 220px);
	}

	.kdt-contestOct26-result__cardLabel {
		font-size: 16px;
	}

	.kdt-contestOct26-result__message {
		padding: 26px 18px 24px;
		border-radius: 18px;
	}

	.kdt-contestOct26-result__message h2 {
		font-size: 32px;
	}

	.kdt-contestOct26-result__text {
		font-size: 17px;
		line-height: 1.58;
	}

	.kdt-contestOct26-result__confirmation {
		align-items: flex-start;
		margin-top: 22px;
		padding: 12px;
	}

	.kdt-contestOct26-result__chanceBox {
		gap: 13px;
		padding: 14px 15px;
	}

	.kdt-contestOct26-result__chanceNumber {
		font-size: 40px;
	}

	.kdt-contestOct26-resultFacts {
		grid-template-columns: 1fr;
		width: min(520px, 100%);
		margin-top: 24px;
	}

	.kdt-contestOct26-resultFact {
		min-height: 66px;
	}

	.kdt-contestOct26-resultFact + .kdt-contestOct26-resultFact::before {
		left: 18%;
		top: 0;
		width: 64%;
		height: 1px;
	}
}

/* ============================================================
   LOT 03B-4 — Persisted result responsive hardening
   Scope: result screen only. Chooser/home/auth are untouched.
   Practical breakpoints follow the frozen Kanditel shell:
   - desktop >= 1200px
   - compact/tablet 768px–1199.98px
   - mobile <= 767.98px
   ============================================================ */

.kdt-contestOct26-result > *,
.kdt-contestOct26-result__message,
.kdt-contestOct26-result__confirmation div,
.kdt-contestOct26-result__chanceBox div,
.kdt-contestOct26-resultFact {
	min-width: 0;
}

.kdt-contestOct26-result__text,
.kdt-contestOct26-result__confirmation strong,
.kdt-contestOct26-result__confirmation span:not(.kdt-contestOct26-result__confirmationIcon),
.kdt-contestOct26-result__chanceBox strong,
.kdt-contestOct26-result__chanceBox div span,
.kdt-contestOct26-result__next,
.kdt-contestOct26-resultFact strong,
.kdt-contestOct26-resultFact span {
	overflow-wrap: anywhere;
}

/* Compact landscape / small desktop: keep the card and message side-by-side,
   but align the composition with the navbar breakpoint frozen in LOT 03A. */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.kdt-contestOct26-hero--result {
		padding-top: 30px;
		padding-bottom: 34px;
	}

	.kdt-contestOct26-resultIntro {
		max-width: 920px;
		margin-bottom: 18px;
	}

	.kdt-contestOct26-resultIntro h1 {
		font-size: clamp(42px, 5vw, 54px);
	}

	.kdt-contestOct26-resultIntro .kdt-contestOct26-lead {
		max-width: 700px;
		font-size: 17px;
	}

	.kdt-contestOct26-result {
		grid-template-columns: minmax(180px, 215px) minmax(0, 1fr);
		gap: 24px;
		width: min(930px, 100%);
		margin-top: 22px;
	}

	.kdt-contestOct26-result__card {
		width: min(100%, 205px);
	}

	.kdt-contestOct26-result__message {
		padding: 26px 28px;
		border-radius: 20px;
	}

	.kdt-contestOct26-result__message h2 {
		font-size: clamp(34px, 4.2vw, 42px);
	}

	.kdt-contestOct26-result__text {
		font-size: clamp(17px, 2vw, 21px);
		line-height: 1.58;
	}

	.kdt-contestOct26-result__confirmation {
		margin-top: 22px;
	}

	.kdt-contestOct26-result__chanceBox {
		margin-top: 18px;
		padding-top: 13px;
		padding-bottom: 13px;
	}

	.kdt-contestOct26-result__next {
		margin-top: 17px;
	}

	.kdt-contestOct26-resultFacts {
		margin-top: 26px;
	}
}

/* Tablet portrait / narrow tablet: one clear reading column. */
@media (min-width: 768px) and (max-width: 991.98px) {
	.kdt-contestOct26-hero--result {
		padding-top: 30px;
		padding-bottom: 34px;
	}

	.kdt-contestOct26-resultIntro {
		max-width: 700px;
		margin-bottom: 14px;
	}

	.kdt-contestOct26-resultIntro h1 {
		font-size: clamp(40px, 6vw, 48px);
	}

	.kdt-contestOct26-resultIntro .kdt-contestOct26-lead {
		max-width: 650px;
		font-size: 17px;
	}

	.kdt-contestOct26-result {
		grid-template-columns: 1fr;
		gap: 18px;
		width: min(690px, 100%);
		margin-top: 20px;
	}

	.kdt-contestOct26-result__card {
		width: min(30vw, 205px);
	}

	.kdt-contestOct26-result__cardLabel {
		margin-top: 8px;
		font-size: 17px;
	}

	.kdt-contestOct26-result__message {
		padding: 28px 32px;
	}

	.kdt-contestOct26-result__message h2 {
		font-size: 38px;
	}

	.kdt-contestOct26-result__text {
		max-width: 590px;
		font-size: 19px;
		line-height: 1.58;
	}

	.kdt-contestOct26-result__confirmation,
	.kdt-contestOct26-result__chanceBox,
	.kdt-contestOct26-result__next {
		max-width: 590px;
	}

	.kdt-contestOct26-resultFacts {
		width: min(690px, 100%);
		margin-top: 24px;
	}
}

/* Mobile: compact vertical result without turning the persisted card into a
   full-screen visual. The message remains the primary content. */
@media (max-width: 767.98px) {
	.kdt-contestOct26-hero--result {
		padding-top: 24px;
		padding-bottom: 26px;
	}

	.kdt-contestOct26-resultIntro {
		max-width: 560px;
		margin-bottom: 10px;
	}

	.kdt-contestOct26-resultIntro h1 {
		font-size: clamp(34px, 10vw, 42px);
		line-height: 1.08;
	}

	.kdt-contestOct26-resultIntro .kdt-contestOct26-ornament {
		margin-top: 12px;
		margin-bottom: 12px;
	}

	.kdt-contestOct26-resultIntro .kdt-contestOct26-lead {
		max-width: 520px;
		font-size: 15px;
		line-height: 1.45;
	}

	.kdt-contestOct26-result {
		gap: 14px;
		margin-top: 16px;
	}

	.kdt-contestOct26-result__card {
		width: min(43vw, 175px);
	}

	.kdt-contestOct26-result__cardGlow {
		width: 112%;
	}

	.kdt-contestOct26-result__card img {
		filter: drop-shadow(0 12px 16px rgba(59, 26, 87, .14));
	}

	.kdt-contestOct26-result__cardLabel {
		margin-top: 7px;
		font-size: 15px;
	}

	.kdt-contestOct26-result__message {
		padding: 24px 16px 20px;
		border-radius: 16px;
	}

	.kdt-contestOct26-result__message::before,
	.kdt-contestOct26-result__message::after {
		width: 18px;
		height: 18px;
	}

	.kdt-contestOct26-result__message::before {
		left: 10px;
		top: 10px;
	}

	.kdt-contestOct26-result__message::after {
		right: 10px;
		bottom: 10px;
	}

	.kdt-contestOct26-result__eyebrow {
		font-size: 11px;
		letter-spacing: .10em;
	}

	.kdt-contestOct26-result__message h2 {
		margin-top: 8px;
		font-size: clamp(29px, 8.5vw, 34px);
	}

	.kdt-contestOct26-result__ornament {
		width: min(220px, 66%);
		margin-top: 12px;
		margin-bottom: 15px;
	}

	.kdt-contestOct26-result__text {
		max-width: 500px;
		font-size: 16px;
		line-height: 1.55;
	}

	.kdt-contestOct26-result__confirmation {
		gap: 10px;
		margin-top: 20px;
		padding: 11px 12px;
		border-radius: 10px;
	}

	.kdt-contestOct26-result__confirmationIcon {
		width: 32px;
		height: 32px;
		font-size: 16px;
	}

	.kdt-contestOct26-result__confirmation strong {
		font-size: 13px;
		line-height: 1.25;
	}

	.kdt-contestOct26-result__confirmation span:not(.kdt-contestOct26-result__confirmationIcon) {
		font-size: 11px;
	}

	.kdt-contestOct26-result__chanceBox {
		width: 100%;
		gap: 12px;
		margin-top: 16px;
		padding: 12px 14px;
		border-radius: 12px;
	}

	.kdt-contestOct26-result__chanceNumber {
		font-size: 38px;
	}

	.kdt-contestOct26-result__chanceBox strong {
		font-size: 15px;
	}

	.kdt-contestOct26-result__chanceBox div span {
		font-size: 11px;
	}

	.kdt-contestOct26-result__next {
		margin-top: 16px;
		font-size: 13px;
		line-height: 1.45;
	}

	.kdt-contestOct26-resultFacts {
		margin-top: 20px;
	}

	.kdt-contestOct26-resultFact {
		min-height: 58px;
		padding: 9px 12px;
	}

	.kdt-contestOct26-resultFact strong {
		font-size: 18px;
	}

	.kdt-contestOct26-resultFact span {
		font-size: 11px;
	}

	.kdt-contestOct26-result__legal {
		margin-top: 13px;
	}
}

@media (max-width: 420px) {
	.kdt-contestOct26-resultIntro h1 {
		font-size: 34px;
	}

	.kdt-contestOct26-result__card {
		width: min(42vw, 160px);
	}

	.kdt-contestOct26-result__message {
		padding-left: 14px;
		padding-right: 14px;
	}

	.kdt-contestOct26-result__message h2 {
		font-size: 29px;
	}

	.kdt-contestOct26-result__text {
		font-size: 15.5px;
	}

	.kdt-contestOct26-result__chanceBox {
		gap: 10px;
		padding-left: 12px;
		padding-right: 12px;
	}

	.kdt-contestOct26-result__chanceNumber {
		font-size: 36px;
	}
}

/* ============================================================
   LOT 03B-5 — public states / rules link
   ============================================================ */

.kdt-contestOct26-legal a,
.kdt-contestOct26-status__legal a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.kdt-contestOct26-legal a:hover,
.kdt-contestOct26-legal a:focus-visible,
.kdt-contestOct26-status__legal a:hover,
.kdt-contestOct26-status__legal a:focus-visible {
	color: var(--kdt-oct26-purple);
}

.kdt-contestOct26-status--account .kdt-contestOct26-status__cards img,
.kdt-contestOct26-status--action-error .kdt-contestOct26-status__cards img {
	filter:
		grayscale(.24)
		drop-shadow(0 9px 13px rgba(67, 37, 77, .06));
	opacity: .72;
}

.kdt-contestOct26-status--account .kdt-contestOct26-status__badge,
.kdt-contestOct26-status--action-error .kdt-contestOct26-status__badge {
	border-color: rgba(77, 61, 105, .18);
	background: rgba(255, 255, 255, .72);
	color: #5f5570;
}

@media (max-width: 767.98px) {
	.kdt-contestOct26-legal,
	.kdt-contestOct26-status__legal {
		line-height: 1.55;
	}
}

/* ============================================================
   LOT 03C — règlement du Grand Jeu / liens légaux
   ============================================================ */

.kdt-contestOct26-rulesCtaWrap {
	margin: 12px 0 0;
	text-align: center;
}

.kdt-contestOct26-rulesCta,
.kdt-contestOct26-rulesReturn,
.kdt-contestOct26-rulesBack {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid rgba(90, 17, 202, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .76);
	color: var(--kdt-oct26-navy);
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(73, 39, 104, .08);
	transition:
		transform .18s ease,
		border-color .18s ease,
		background .18s ease;
}

.kdt-contestOct26-rulesCta {
	min-height: 42px;
	padding: 9px 18px;
	font-size: 14px;
}

.kdt-contestOct26-rulesCta:hover,
.kdt-contestOct26-rulesCta:focus-visible,
.kdt-contestOct26-rulesReturn:hover,
.kdt-contestOct26-rulesReturn:focus-visible,
.kdt-contestOct26-rulesBack:hover,
.kdt-contestOct26-rulesBack:focus-visible {
	border-color: rgba(90, 17, 202, .42);
	background: #fff;
	color: var(--kdt-oct26-purple);
	transform: translateY(-1px);
}

.kdt-contestOct26-inlineRulesLink {
	white-space: normal;
}

.kdt-contestOct26-pageLinks {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px 10px;
	padding: 18px 20px 22px;
	border-top: 1px solid rgba(82, 45, 119, .08);
	background: #fffaf6;
	font-size: 13px;
	line-height: 1.45;
	color: #6c5a82;
}

.kdt-contestOct26-pageLinks a,
.kdt-contestOct26-pageLinks [aria-current="page"] {
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.kdt-contestOct26-pageLinks a:hover,
.kdt-contestOct26-pageLinks a:focus-visible {
	color: var(--kdt-oct26-purple);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.kdt-contestOct26-rulesPage {
	min-height: 60vh;
	background:
		linear-gradient(
			180deg,
			rgba(255, 250, 243, .86),
			rgba(249, 244, 252, .96)
		);
}

.kdt-contestOct26-rulesShell {
	width: min(980px, calc(100% - 40px));
	margin: 0 auto;
}

.kdt-contestOct26-rulesHero {
	padding: 28px 0 34px;
	background-color: var(--kdt-oct26-cream);
	background-image:
		linear-gradient(
			180deg,
			rgba(255, 250, 243, .12),
			rgba(255, 250, 243, .78)
		),
		url('/images/concours-octobre-2026/fond-landing-desktop.png');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	border-bottom: 1px solid rgba(82, 45, 119, .08);
}

.kdt-contestOct26-rulesBack {
	min-height: 38px;
	padding: 7px 14px;
	font-size: 13px;
}

.kdt-contestOct26-rulesHeader {
	max-width: 820px;
	margin: 26px auto 0;
	text-align: center;
}

.kdt-contestOct26-rulesHeader h1 {
	margin: 7px 0 0;
	font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
	font-size: clamp(34px, 4vw, 56px);
	font-weight: 400;
	line-height: 1.14;
	color: var(--kdt-oct26-navy-deep);
}

.kdt-contestOct26-rulesHeader > p:last-child {
	margin: 0;
	font-size: clamp(15px, 1.25vw, 18px);
	font-weight: 600;
	line-height: 1.6;
	color: var(--kdt-oct26-text);
}

.kdt-contestOct26-rulesContent {
	padding: 38px 0 42px;
}

.kdt-contestOct26-rulesDocument {
	overflow: hidden;
	border: 1px solid rgba(203, 151, 66, .28);
	border-radius: 20px;
	background: rgba(255, 255, 255, .88);
	box-shadow: var(--kdt-oct26-shadow);
}

.kdt-contestOct26-rulesArticle {
	padding: 30px clamp(24px, 4vw, 52px);
}

.kdt-contestOct26-rulesArticle + .kdt-contestOct26-rulesArticle {
	border-top: 1px solid rgba(82, 45, 119, .09);
}

.kdt-contestOct26-rulesArticle h2 {
	margin: 0 0 14px;
	font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
	font-size: clamp(20px, 2vw, 27px);
	font-weight: 700;
	line-height: 1.28;
	color: var(--kdt-oct26-navy-deep);
}

.kdt-contestOct26-rulesArticle p,
.kdt-contestOct26-rulesArticle li,
.kdt-contestOct26-rulesArticle address {
	font-size: 16px;
	line-height: 1.72;
	color: #44355f;
}

.kdt-contestOct26-rulesArticle p {
	margin: 0 0 12px;
}

.kdt-contestOct26-rulesArticle p:last-child {
	margin-bottom: 0;
}

.kdt-contestOct26-rulesArticle ul,
.kdt-contestOct26-rulesArticle ol {
	margin: 10px 0 16px;
	padding-left: 24px;
}

.kdt-contestOct26-rulesArticle li + li {
	margin-top: 4px;
}

.kdt-contestOct26-rulesArticle address {
	margin: 14px 0;
	padding: 16px 18px;
	border-left: 3px solid var(--kdt-oct26-gold);
	background: rgba(255, 248, 232, .68);
	font-style: normal;
}

.kdt-contestOct26-rulesPrizeGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 18px 0;
}

.kdt-contestOct26-rulesPrize {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	padding: 20px;
	border: 1px solid var(--kdt-oct26-border);
	border-radius: 14px;
	background: rgba(255, 250, 243, .72);
	text-align: center;
}

.kdt-contestOct26-rulesPrize strong {
	font-size: 15px;
	line-height: 1.25;
	color: var(--kdt-oct26-navy);
}

.kdt-contestOct26-rulesPrize span {
	margin-top: 8px;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.15;
	color: #b87812;
}

.kdt-contestOct26-rulesPrize small {
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	color: #58446f;
}

.kdt-contestOct26-rulesEnd {
	padding: 32px 20px 0;
	text-align: center;
}

.kdt-contestOct26-rulesEnd p {
	margin: 0 auto 20px;
	max-width: 760px;
	font-size: 13px;
	line-height: 1.65;
	color: #725f86;
}

.kdt-contestOct26-rulesReturn {
	min-height: 44px;
	padding: 10px 18px;
	font-size: 14px;
}

@media (max-width: 767.98px) {
	.kdt-contestOct26-rulesShell {
		width: min(100% - 24px, 980px);
	}

	.kdt-contestOct26-rulesHero {
		padding: 18px 0 26px;
		background-position: top center;
	}

	.kdt-contestOct26-rulesHeader {
		margin-top: 22px;
	}

	.kdt-contestOct26-rulesHeader h1 {
		font-size: 34px;
	}

	.kdt-contestOct26-rulesContent {
		padding: 22px 0 28px;
	}

	.kdt-contestOct26-rulesDocument {
		border-radius: 14px;
	}

	.kdt-contestOct26-rulesArticle {
		padding: 24px 18px;
	}

	.kdt-contestOct26-rulesArticle h2 {
		font-size: 21px;
	}

	.kdt-contestOct26-rulesArticle p,
	.kdt-contestOct26-rulesArticle li,
	.kdt-contestOct26-rulesArticle address {
		font-size: 15px;
		line-height: 1.65;
	}

	.kdt-contestOct26-rulesPrizeGrid {
		grid-template-columns: 1fr;
	}

	.kdt-contestOct26-rulesPrize {
		min-height: 128px;
	}

	.kdt-contestOct26-rulesCta {
		width: min(100%, 360px);
		min-height: 46px;
		padding: 10px 14px;
		border-radius: 12px;
		line-height: 1.3;
	}

	.kdt-contestOct26-pageLinks {
		padding: 16px 18px 20px;
		gap: 6px 8px;
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kdt-contestOct26-rulesCta,
	.kdt-contestOct26-rulesReturn,
	.kdt-contestOct26-rulesBack {
		transition: none !important;
	}
}

/* ============================================================
   PROD-01 — HOME legacy Kanditel / Bootstrap 4
   Adaptation du visuel final validé en DEV sur les deux carousels
   réellement présents en PROD. Le hero historique reste slide 1.
   ============================================================ */

/* Desktop/tablette PROD : ratio du slider historique 1900 x 505. */
.kdt-homeHeroCarousel .kdt-homeContestSlide {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	aspect-ratio: 1900 / 505;
	min-height: 300px;
	overflow: hidden;
	background-color: #fffaf3;
	isolation: isolate;
	background-image:
		linear-gradient(
			90deg,
			rgba(255, 250, 243, 1) 0%,
			rgba(255, 250, 243, .99) 20%,
			rgba(255, 250, 243, .93) 29%,
			rgba(255, 250, 243, .74) 38%,
			rgba(255, 250, 243, .42) 46%,
			rgba(255, 250, 243, .14) 53%,
			rgba(255, 250, 243, 0) 59%
		),
		url('/images/concours-octobre-2026/slider-concours-octobre-desktop-fond-vierge-1900x505.png');
	background-repeat: no-repeat, no-repeat;
	background-position:
		left top,
		calc(50% - clamp(26px, 2.2vw, 54px)) center;
	background-size:
		100% 100%,
		auto 114%;
}

.kdt-homeHeroCarousel .kdt-homeContestSlide::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	width: clamp(360px, 26vw, 500px);
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(255, 250, 243, 0) 0%,
		rgba(255, 250, 243, 0) 12%,
		rgba(255, 250, 243, .08) 22%,
		rgba(255, 250, 243, .22) 32%,
		rgba(255, 250, 243, .45) 42%,
		rgba(255, 250, 243, .70) 54%,
		rgba(255, 250, 243, .90) 68%,
		rgba(255, 250, 243, .98) 82%,
		rgba(255, 250, 243, 1) 100%
	);
}

.kdt-homeHeroCarousel .kdt-homeContestSlide__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 18px clamp(62px, 7vw, 112px) 20px clamp(92px, 14.2vw, 270px);
}

.kdt-homeHeroCarousel .kdt-homeContestSlide__content {
	width: min(455px, 38vw);
	max-width: 455px;
	padding: 0;
	color: #25135f;
}

.kdt-homeContestSlide__kicker {
	margin: 0 0 5px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: .045em;
	text-transform: uppercase;
	color: #40227c;
}

.kdt-homeContestSlide__title {
	margin: 0;
	font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
	font-size: clamp(37px, 2.55vw, 46px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -.025em;
}

.kdt-homeContestSlide__titleLine { display: block; }
.kdt-homeContestSlide__titleLine--navy { color: #27105f; }
.kdt-homeContestSlide__titleLine--purple { color: #8d54b8; }
.kdt-homeContestSlide__titleLine--gold { color: #dca626; }

.kdt-homeContestSlide__lead {
	margin: 8px 0 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.28;
	color: #25135f;
}

.kdt-homeContestSlide__lead strong { font-weight: 800; }

.kdt-homeContestSlide__chance {
	margin: 6px 0 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.25;
	color: #8a5aa8;
}

.kdt-homeContestSlide__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 42px;
	margin-top: 8px;
	padding: 9px 18px;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(100deg, #5d10cf 0%, #7c17dd 55%, #901de4 100%);
	color: #fff !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: .02em;
	text-decoration: none !important;
	text-transform: uppercase;
	box-shadow: 0 7px 18px rgba(91, 24, 181, .18);
	transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.kdt-homeContestSlide__cta:hover,
.kdt-homeContestSlide__cta:focus {
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	filter: brightness(1.03);
	box-shadow: 0 10px 22px rgba(91, 24, 181, .24);
}

@media (min-width: 768px) and (max-width: 1199.98px) {
	.kdt-homeHeroCarousel .kdt-homeContestSlide {
		background-size: 100% 100%, auto 100%;
		background-position: left top, 75% center;
	}

	.kdt-homeHeroCarousel .kdt-homeContestSlide__inner {
		padding: 18px clamp(44px, 4vw, 58px) 20px clamp(52px, 6vw, 76px);
	}

	.kdt-homeHeroCarousel .kdt-homeContestSlide__content {
		width: min(390px, 46vw);
		max-width: 390px;
	}

	.kdt-homeContestSlide__kicker { font-size: 12px; }
	.kdt-homeContestSlide__title { font-size: clamp(31px, 4vw, 40px); }
	.kdt-homeContestSlide__lead { font-size: 13px; }
	.kdt-homeContestSlide__chance { font-size: 12px; }
	.kdt-homeContestSlide__cta { min-height: 40px; padding: 8px 14px; font-size: 12px; }
}

/* Mobile PROD : visuel dédié 1080 x 1350, jamais recadré depuis le desktop. */
.kdt-mHeroCarousel .kdt-homeContestSlide {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	background-color: #fff9f1;
	background-image: url('/images/concours-octobre-2026/slider-concours-octobre-mobile-fond-vierge-1080x1350.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.kdt-mHeroCarousel .kdt-homeContestSlide::after { display: none; }

.kdt-mHeroCarousel .kdt-homeContestSlide__inner {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 22px 16px 22px;
	box-sizing: border-box;
}

.kdt-mHeroCarousel .kdt-homeContestSlide__content { display: contents; }

.kdt-mHeroCarousel .kdt-homeContestSlide__kicker {
	grid-row: 1;
	margin: 0 0 3px;
	text-align: center;
	font-size: clamp(10px, 2.8vw, 11px);
}

.kdt-mHeroCarousel .kdt-homeContestSlide__title {
	grid-row: 2;
	width: 100%;
	margin: 0;
	text-align: center;
	font-size: clamp(34px, 9.7vw, 40px);
	line-height: .98;
}

.kdt-mHeroCarousel .kdt-homeContestSlide__lead {
	grid-row: 4;
	width: min(100%, 345px);
	margin: 0 auto;
	text-align: center;
	font-size: clamp(13px, 3.45vw, 14px);
	line-height: 1.22;
}

.kdt-mHeroCarousel .kdt-homeContestSlide__lead br { display: none; }

.kdt-mHeroCarousel .kdt-homeContestSlide__chance {
	grid-row: 5;
	margin: 6px auto 0;
	text-align: center;
	font-size: clamp(11px, 3vw, 12px);
}

.kdt-mHeroCarousel .kdt-homeContestSlide__cta {
	grid-row: 6;
	justify-self: center;
	width: min(100%, 310px);
	min-height: 44px;
	margin-top: 9px;
	padding: 8px 12px;
	font-size: clamp(11px, 3vw, 12px);
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.kdt-homeContestSlide__cta { transition: none !important; }
}
