@charset "utf-8";
/* CSS Document */

:root{
  --kdt-rail-max: 1120px;                 /* largeur “resserrée” desktop */
  --kdt-rail-gap: clamp(16px, 1.8vw, 28px); /* gap desktop harmonisé */
}

html {
  min-height: 100%;
}

/*body {
  min-height: 100vh;
  background: linear-gradient(
    180deg,
    #F6ECDC 0%,
    #EADCF2 60%,
    #D6B3E0 100%
  );
}*/
body {
  min-height: 100vh;
  background: linear-gradient(
    180deg,
    #F6ECDC 0%,
    #f5f2f6 60%,
    #D6B3E0 100%
  );
}

a {
	color: #4a3260;
	text-decoration: none;
	transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

a:hover {
	color: #6b4b86; /* légèrement plus clair / lumineux */
	text-decoration: none;
	text-decoration-color: rgba(74, 50, 96, 0.4);
}

.navbar {
  z-index: 1030;
}

/* Bouton dropdown ouvert */
.navbar .dropdown-toggle.show,
.navbar .dropdown-toggle:focus,
.navbar .dropdown-toggle:active {
  background-color: #f4e4ff;
  color: #4a1f6b;
  border-color: #d9c9ff;
  box-shadow: none;
}

/* Supprime l'effet bouton Bootstrap au clic */
.navbar .dropdown-toggle:focus-visible {
  outline: none;
}

/* Optionnel : léger feedback visuel quand ouvert */
.navbar .dropdown-toggle.show {
  font-weight: 600;
}

.navbar .dropdown-toggle::after {
  margin-left: 0.6rem;
  vertical-align: middle;
}

.navbar .dropdown-menu {
  margin-top: 0.6rem;
}

/* Dropdown container */
.dropdown-menu {
  border-radius: 14px;
  padding: 0.5rem;
  border: 1px solid #e6d9fa;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  min-width: 220px;
}

/* Dropdown items */
.dropdown-item {
  border-radius: 10px;
  padding: 0.6rem 1rem;
  font-weight: 500;
  color: #4a1f6b;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Hover / focus harmonieux */
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: #f4e4ff;
  color: #3c1859;
}

/* Active (si jamais utilisé) */
.dropdown-item.active,
.dropdown-item:active {
  background-color: #ead8ff;
  color: #3c1859;
}

/* Désactive le bleu Bootstrap par défaut */
.dropdown-item:focus-visible {
  outline: none;
}

@media (max-width: 575.98px) {

  .navbar .btn-outline-secondary {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .navbar-toggler {
    width: 42px;
    height: 36px;
  }

}

@media (max-width: 991.98px) {
	
	/*body.navbar-open {
		overflow: hidden;
	}*/

  .navbar {
    min-height: 64px;
  }

  /* Le container de la navbar reste sur UNE seule ligne */
  .navbar > .container-fluid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap; /* évite que les icônes passent à la ligne */
  }

  .navbar-brand {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    margin-right: 0;
  }

  .navbar-brand img {
    display: block;
    height: 38px;       /* un poil plus petit */
    width: auto;
    max-width: 55vw;    /* force le logo à se réduire si l’écran est très étroit */
  }

  /* Bloc icônes + burger à droite du logo */
  .mobile-actions {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 0.5rem;
  }

  /* Boutons compte + burger, tailles homogènes */
  .mobile-action-btn {
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Burger proprement centré */
  .navbar-toggler {
    border: 1px solid #ced4da;
    border-radius: 10px;
    padding: 0;
  }

  .navbar-toggler-icon {
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    background-position: center center;
  }

  /* Empêche le menu mobile de pousser la navbar */
	.navbar-collapse {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background-color: #ffffff;
		padding: 1rem;
		z-index: 1020;
	}

	/* Animation douce */
	.navbar-collapse.collapse:not(.show) {
		display: none;
	}

	/* Séparation visuelle propre */
	.navbar-collapse.show {
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
	}

  /* Menu principal */
  .navbar-nav {
    width: 100%;
    gap: 0.75rem;
  }

  /* Items du menu */
  .navbar-nav .nav-link {
    width: 100%;
    text-align: center;
    font-size: 1rem;
    padding: 0.75rem 1rem;
  }

  /* Boutons pill adaptés mobile */
  .navbar-nav .btn-kanditel-fbefff {
    background-color: #fbefff;
    border-radius: 18px;
    border: 1px solid #e6d9fa;
  }

  /* Dropdown menu mobile */
  .navbar-nav .dropdown-menu {
    position: static;
    float: none;
    width: 100%;
    box-shadow: none;
    border: none;
    background-color: transparent;
    padding: 0;
    margin-top: 0.5rem;
  }

  /* Items du dropdown */
  .navbar-nav .dropdown-item {
    background-color: #ffffff;
    border-radius: 14px;
    margin-bottom: 0.4rem;
    padding: 0.6rem 1rem;
    text-align: center;
  }

  .navbar-nav .dropdown-item:hover,
  .navbar-nav .dropdown-item:focus {
    background-color: #f4e4ff;
  }

  /* Zone recherche mobile */
  .navbar form[role="search"] {
    width: 100%;
    margin-top: 1rem;
  }

  .navbar form[role="search"] input {
    width: 100%;
  }

  /* Zone icônes compte dans le menu (desktop only, déjà masqué en mobile via d-lg-none) */
  .navbar .d-flex.align-items-center.gap-2 {
    width: 100%;
    justify-content: space-between;
    margin-top: 1rem;
  }
	
	#mobileSearch.offcanvas-top {
		height: auto;
		max-height: 140px;
		border-bottom-left-radius: 16px;
		border-bottom-right-radius: 16px;
	}

	#mobileSearch .offcanvas-body {
		padding: 0.75rem 1rem 1rem;
	}

	#mobileSearch .offcanvas-header {
		padding: 0.75rem 1rem;
	}

	#mobileSearch input {
		border: 1px solid #e6d9fa;
	}

}

.logo {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-weight: 600;
	/*letter-spacing: 0.02em;*/
	text-decoration: none;
	font-size:2.3rem;
	/*text-shadow: 0 2px 6px rgba(74, 50, 96, 0.18);*/
}

.logo {
  position: relative;
  z-index: 1;
}

.logo::before {
  content: "";
  position: absolute;
  inset: -6px -10px;

  background: radial-gradient(
    circle,
    rgba(205, 183, 246, 0.35) 0%,
    rgba(205, 183, 246, 0.15) 40%,
    rgba(205, 183, 246, 0) 70%
  );

  z-index: -1;
  border-radius: 999px;
}

.logo::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;

  width: 100%;
  height: 2px;

  background: linear-gradient(
    to right,
    transparent,
    #b9a3ea,
    transparent
  );
}

.logo:hover {
	color: #57569a;
  	text-decoration: none;
}

.btn-kanditel-fbefff {
    background-color: #fbefff;
    border: 1px solid #e6d9fa;
    color: #5a3e6e;
    border-radius: 15px;
    padding: 5px 14px;
    font-weight: 600;
    transition: 0.25s ease;
}

.btn-kanditel-fbefff:hover {
    background-color: #f5d3ff;
    border-color: #eec4ff;
    color: #4a3260;
    box-shadow: 0 0 12px rgba(251, 239, 255, 0.75);
}

/*.hero-kanditel {
	min-height: 40vh;
	background-image: url("../images/hero-kanditel.webp");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 2rem 0;
}*/
/*.hero-kanditel {
	background: linear-gradient(
		180deg,
		#F6ECDC 0%,
		#EADCF2 75%,
		#D6B3E0 100%
	);
	min-height: clamp(320px, 40vh, 520px);
	display: flex;
  	align-items: center;
	overflow: hidden;
}*/
.hero-kanditel {
	background: linear-gradient(
		180deg,
		#F6ECDC 0%,
		#F6ECDC 55%,
		#EADCF2 75%,
		#D6B3E0 100%
	);
	min-height: clamp(320px, 40vh, 520px);
	display: flex;
  	align-items: center;
	overflow: hidden;
}

.hero-visual {
  position: relative;
  max-height: 40vh;
}

/*.hero-visual img {
  display: block;
  max-height: 40vh;

  filter: drop-shadow(0 25px 50px rgba(0,0,0,0.15));

  -webkit-mask-image: linear-gradient(
    to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.6) 10%,
    rgba(0,0,0,1) 20%,
    rgba(0,0,0,1) 80%,
    rgba(0,0,0,0.6) 90%,
    rgba(0,0,0,0) 100%
  );

  mask-image: linear-gradient(
    to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.6) 10%,
    rgba(0,0,0,1) 20%,
    rgba(0,0,0,1) 80%,
    rgba(0,0,0,0.6) 90%,
    rgba(0,0,0,0) 100%
  );
}*/
.hero-visual img {
  display: block;
  max-height: 40vh;

  filter: drop-shadow(0 25px 50px rgba(0,0,0,0.15));

  -webkit-mask-image: linear-gradient(
    to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.25) 15%,
    rgba(0,0,0,0.6) 30%,
    rgba(0,0,0,1) 45%,
    rgba(0,0,0,1) 55%,
    rgba(0,0,0,0.6) 70%,
    rgba(0,0,0,0.25) 85%,
    rgba(0,0,0,0) 100%
  );

  mask-image: linear-gradient(
    to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.25) 15%,
    rgba(0,0,0,0.6) 30%,
    rgba(0,0,0,1) 45%,
    rgba(0,0,0,1) 55%,
    rgba(0,0,0,0.6) 70%,
    rgba(0,0,0,0.25) 85%,
    rgba(0,0,0,0) 100%
  );
}

.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;

  pointer-events: none;

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  mask-image: linear-gradient(
    to right,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 18%,
    rgba(0,0,0,0) 35%,
    rgba(0,0,0,0) 65%,
    rgba(0,0,0,1) 82%,
    rgba(0,0,0,1) 100%
  );
}

/* Titres */
.hero-title {
	font-family: "Libre Baskerville", serif;
	/*color: #243a3e;*/
	color: #4a3260;
	font-size: 3.5rem;
	line-height: 1.1;
	margin-top: 2rem;
	margin-bottom: 1rem;
	font-weight: 600;
}

/* Sous-texte */
.hero-subtitle {
	font-size: 1.6rem;
	/*color: #243a3e;*/
	color: #4a3260;
	margin-bottom: 1.75rem;
}

/* Bouton CTA */
.btn-hero {
	background-color: #b53955;
	color: #ffffff;
	padding: 0.9rem 1.6rem;
	border-radius: 12px;
	font-size: 1.6rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.btn-hero:hover {
	background-color: #a2304a;
	color: #ffffff;
	transform: translateY(-1px);
}

/* Responsive */
@media (max-width: 991.98px) {

	.hero-kanditel {
		padding: 3rem 1.5rem;
		background-position: center;
	}

	.hero-title {
		font-size: 2.2rem;
		text-align: center;
	}
	.hero-subtitle {
		text-align: center;
	}

}

@media (max-width: 767.98px) {

	.hero-kanditel {
		position: relative;
		overflow: hidden;
	}

	/* IMAGE DE FOND MOBILE */
	.hero-kanditel::before {
		content: "";
		position: absolute;
		inset: 0;

		background-image: url("../images/hero-kanditel-2.jpg");
		background-size: cover;
		background-position: center;

		/* rendu doux */
		/*opacity: 0.45;
		filter: blur(12px) saturate(1.1);*/

		/* fondu vertical */
		-webkit-mask-image: linear-gradient(
			to bottom,
			rgba(0,0,0,0.85) 0%,
			rgba(0,0,0,0.6) 40%,
			rgba(0,0,0,0.25) 70%,
			rgba(0,0,0,0) 100%
		);

		mask-image: linear-gradient(
			to bottom,
			rgba(0,0,0,0.85) 0%,
			rgba(0,0,0,0.6) 40%,
			rgba(0,0,0,0.25) 70%,
			rgba(0,0,0,0) 100%
		);

		z-index: 1;
	}

	/* TEXTE AU-DESSUS */
	.hero-title,
	.hero-subtitle {
		position: relative;
		z-index: 2;
	}
}

.section-editoriale-kanditel {
	padding: 1.5rem 0;
	/*background-color: #ffffff;*/
}

.section-editoriale-kanditel .section-title {
	font-family: "Libre Baskerville", serif;
	font-size: 1.8rem;
	line-height: 1.25;
	/*color: #243a3e;*/
	color: #4a3260;
	margin-bottom: 1.5rem;
}

.section-editoriale-kanditel .section-intro {
	font-size: 1.15rem;
	font-weight: 500;
	color: #3b5560;
	margin-bottom: 1.5rem;
}

.section-editoriale-kanditel p {
	font-size: 1rem;
	line-height: 1.5;
	color: #3f3f3f;
	margin-bottom: 1.2rem;
}

.section-editoriale-kanditel strong {
	font-weight: 600;
	color: #243a3e;
}

.section-editoriale-kanditel .section-subtitle {
	font-family: "Libre Baskerville", serif;
	font-size: 1.4rem;
	/*color: #243a3e;*/
	color: #4a3260;
	margin-top: 2.2rem;
	margin-bottom: 1rem;
}

/* Liens éditoriaux Kanditel */
.section-editoriale-kanditel a {
	color: #7b4aa6; /* violet Kanditel doux */
	text-decoration: none;
	/*border-bottom: 1px solid rgba(123, 74, 166, 0.35);*/
	transition: color 0.2s ease, border-color 0.2s ease;
}

/* Hover / focus */
.section-editoriale-kanditel a:hover,
.section-editoriale-kanditel a:focus {
	color: #9c6fd1; /* violet plus lumineux */
	border-bottom-color: rgba(156, 111, 209, 0.7);
	text-decoration: none;
}

/* Visité (discret, pas violet sale) */
.section-editoriale-kanditel a:visited {
	color: #6a3f8f;
	border-bottom-color: rgba(106, 63, 143, 0.35);
}

/* Focus clavier (accessibilité) */
.section-editoriale-kanditel a:focus-visible {
	outline: none;
	box-shadow: 0 2px 0 rgba(156, 111, 209, 0.6);
}

/* Responsive */
@media (max-width: 991.98px) {

	.section-editoriale-kanditel {
		padding: 3rem 1.5rem;
	}

	.section-editoriale-kanditel .section-title {
		font-size: 1.7rem;
	}

	.section-editoriale-kanditel .section-subtitle {
		font-size: 1.25rem;
	}

}

.editoriale-suite {
	display: none;
}

/* relief doux comme tes boutons status */
.btn-kanditel-relief {
	background: #7d73b3;
	color: #ffffff;
	border-radius: 999px;
	border: none;
	padding: 0.7rem 1.4rem;
	font-family: "Libre Baskerville", serif;

	box-shadow:
		0 14px 30px rgba(74, 50, 96, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.7);

	transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.btn-kanditel-relief:hover {
	transform: translateY(-1px);
	box-shadow:
		0 18px 38px rgba(74, 50, 96, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.experts-section {
	padding: 1rem 0;
	margin-top: 30px;
}

.expert-card {
	background: rgba(255,255,255,0.55);
	border-radius: 20px;
	padding: 1.25rem;
	text-align: center;
	/*box-shadow: 0 20px 40px rgba(0,0,0,0.06);*/
	box-shadow: 0 12px 28px rgba(74, 79, 102, 0.08);
	backdrop-filter: blur(6px);
	display: flex;
	flex-direction: column;
	height: 100%;
}

.expert-photo {
  /*height: 200px;*/
	height: 144px;
	width: 144px;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}

.expert-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		circle at center,
		rgba(255,255,255,0) 55%,
		rgba(255,255,255,0.35) 100%
	);
	z-index: 3;
	pointer-events: none;
}

.expert-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);    /* plus discret */
  transition: transform 0.4s ease;
  filter:
    saturate(0.92)
    brightness(1.03)
    contrast(0.95)
    hue-rotate(-6deg);
  object-position: center center;
  display: block;
}

.expert-card:hover .expert-photo img {
  transform: scale(1.06);
}

/* Nom & spécialité */
.expert-name {
	font-family: "Libre Baskerville", serif;
	font-size: 2rem;
	/*color: #243a3e;*/
	color: #4a3260;
	margin-bottom: 0.15rem;
	margin-top: 0.5rem;
}

.expert-skill {
	font-size: 0.95rem;
	font-style: italic;
	color: #6b6b6b;
	margin-bottom: 0.15rem;
}

/* Infos */
.expert-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9rem;
	color: #444;
	margin-bottom: 1rem;
}

.expert-meta i {
	margin-right: 0.25rem;
}

/* Boutons statut */
.btn-status {
	border: none;
	border-radius: 14px;
	padding: 0.6rem 1rem;
	font-weight: 600;
	color: #fff;
	cursor: default;
	font-family: "Playfair Display", serif;
	transition: transform 0.15s ease, box-shadow 0.2s ease;
	box-shadow:
		0 6px 14px rgba(0, 0, 0, 0.08),     /* ombre portée */
		inset 0 1px 0 rgba(255, 255, 255, 0.65); /* liseré lumière */
}

.btn-status:hover {
	transform: translateY(-1px);
	box-shadow:
		0 10px 24px rgba(0, 0, 0, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

/* Couleurs statuts */
.btn-disponible {
	/*background: linear-gradient(135deg, #5b4a7a, #7a6fa2);*/
	/*background: #8277b1;*/
	background-color: #CFE8DD;
	color: #2F6F5E;
	border: 1px solid rgba(47, 111, 94, 0.25);
}

.btn-occupe {
	/*background: linear-gradient(135deg, #b48a2d, #ddb55c);*/
	/*background: #a395c8;*/
	background-color: #EED9CF;
	color: #8B5E4B;
	border: 1px solid rgba(139, 94, 75, 0.25);
}

.btn-absent {
	/*background: linear-gradient(135deg, #9a9a9a, #bdbdbd);*/
	/*background: #b0aac6;*/
	background-color: #E6E1EC;
	color: #6E6A7D;
	border: 1px solid rgba(110, 106, 125, 0.25);
}

.btn-pause {
	/*background: linear-gradient(135deg, #d3837d, #f0a39c);*/
	/*background: #c197bf;*/
	background-color: #F3E7C9;
	color: #8A6A2F;
	border: 1px solid rgba(138, 106, 47, 0.25);
}

/* Fonds selon statut */
.status-disponible {
	/*background: rgba(240,234,255,0.6);*/
	background: #f5e9f7;
}

.status-occupe {
	/*background: rgba(255,245,220,0.6);*/
	background: #f5e9f7;
}

.status-absent {
	/*background: rgba(245,245,245,0.6);*/
	background: #f5e9f7;
}

.status-pause {
	/*background: rgba(255,232,228,0.6);*/
	background: #f5e9f7;
}

/* Responsive */
@media (max-width: 991.98px) {
	.expert-name {
		font-size: 1.2rem;
	}
}

.expert-actions {
	display: flex;
	justify-content: center;
	gap: 0.6rem;
	margin-top: 0.75rem;
	flex-wrap: wrap;
}

.expert-action {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.7rem;
	border-radius: 999px;
	font-size: 0.8rem;
	text-decoration: none;
	font-weight: 500;
	color: #4b3b5c;
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(6px);
	box-shadow: 0 4px 10px rgba(0,0,0,0.06);
	transition: all 0.25s ease;
}

.expert-action i {
	font-size: 0.9rem;
}

/* Hover / focus */
.expert-action:hover,
.expert-action:focus {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(0,0,0,0.12);
	color: #2f2340;
}

/* Légères nuances par canal */
.action-phone { border: 1px solid rgba(120, 90, 160, 0.35); }
.action-chat  { border: 1px solid rgba(140, 100, 180, 0.35); }
.action-mail  { border: 1px solid rgba(180, 120, 160, 0.35); }

.expert-meta-inline {
	display: flex;
	justify-content: center;
	gap: 0.2rem;
	flex-wrap: wrap;
	margin: 0.75rem 0 1rem;
}

.expert-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;

	padding: 0.35rem 0.45rem;
	border-radius: 999px;

	font-size: 0.75rem;
	font-weight: 400;
	text-decoration: none;

	/*background: rgba(255, 255, 255, 0.65);*/
	color: #777777;

	border: 1px solid rgba(120, 90, 160, 0.15);
	backdrop-filter: blur(4px);

	transition: all 0.25s ease;
}

@media (max-width: 767.98px) {

  .expert-meta-inline {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .expert-meta-inline .expert-pill {
    width: 100%;
    justify-content: center;
  }
}

.expert-pill i {
	font-size: 0.95rem;
}

.expert-pill:hover i {
	color: #6b5a8c;
}

.expert-pill:hover,
.expert-pill:focus-visible {
	background: #ffffff;
	color: #6b5a8c;
	border-color: rgba(120, 90, 160, 0.35);
	box-shadow: 0 4px 12px rgba(120, 90, 160, 0.15);
	transform: translateY(-1px);
	text-decoration: none;
}

.expert-pill-phone i {
	/*color: #6b5a8c;*/
	color: #777777;
}

.expert-pill-chat i {
	/*color: #7a5fa3;*/
	color: #777777;
}

.expert-pill-mail i {
	/*color: #8a6bb8;*/
	color: #777777;
}

/*.expert-card:not(.status-disponible) .expert-pill {
	opacity: 0.45;
	pointer-events: none;
}*/

/* ===============================
   GESTION DES ACTIONS PAR STATUT
   =============================== */

/* Par défaut : tout actif */
.expert-card .expert-pill {
	pointer-events: auto;
	opacity: 1;
}

/* Téléphone + chat désactivés
   si expert NON disponible */
.expert-card:not(.status-disponible)
	.expert-pill-phone,
.expert-card:not(.status-disponible)
	.expert-pill-chat {

	pointer-events: none;
	cursor: not-allowed;

	opacity: 0.45;

	background: rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.65);

	border-color: rgba(120, 90, 160, 0.12);
	box-shadow: none;
	transform: none;
}

/* Supprime tout effet hover sur boutons désactivés */
.expert-card:not(.status-disponible)
	.expert-pill-phone:hover,
.expert-card:not(.status-disponible)
	.expert-pill-chat:hover {

	background: rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.65);
	box-shadow: none;
	transform: none;
}

/* Icônes désactivées plus douces */
.expert-card:not(.status-disponible)
	.expert-pill-phone i,
.expert-card:not(.status-disponible)
	.expert-pill-chat i {

	color: rgba(255,255,255,0.65);
}

/* ===============================
   BOUTON MAIL TOUJOURS ACTIF
   =============================== */

/* Le mail reste cliquable quoi qu'il arrive */
.expert-card .expert-pill-mail {
	pointer-events: auto;
	opacity: 1;
	cursor: pointer;
}

/* Hover normal conservé */
.expert-card .expert-pill-mail:hover,
.expert-card .expert-pill-mail:focus-visible {
	background: #ffffff;
	color: #6b5a8c;
	border-color: rgba(120, 90, 160, 0.35);
	box-shadow: 0 4px 12px rgba(120, 90, 160, 0.15);
	transform: translateY(-1px);
}

:root {
	--occupe-bg: rgba(163, 149, 200, 0.25);
	--occupe-text: #585858;

	--absent-bg: rgba(176, 170, 198, 0.35);
	--absent-text: #585858;

	--pause-bg: rgba(193, 151, 191, 0.35);
	--pause-text: #585858;
}

/* OCCUPÉ */
.expert-card.status-occupe
	.expert-pill-phone,
.expert-card.status-occupe
	.expert-pill-chat {
	background: var(--absent-bg);
	color: var(--absent-text);
	border-color: rgba(163, 149, 200, 0.35);
	pointer-events: none;
	cursor: not-allowed;
}

/* ABSENT */
.expert-card.status-absent
	.expert-pill-phone,
.expert-card.status-absent
	.expert-pill-chat {
	background: var(--absent-bg);
	color: var(--absent-text);
	border-color: rgba(163, 149, 200, 0.35);
	pointer-events: none;
	cursor: not-allowed;
}

/* PAUSE */
.expert-card.status-pause
	.expert-pill-phone,
.expert-card.status-pause
	.expert-pill-chat {
	background: var(--absent-bg);
	color: var(--absent-text);
	border-color: rgba(163, 149, 200, 0.35);
	pointer-events: none;
	cursor: not-allowed;
}

/* Icônes bien lisibles */
.expert-card.status-occupe .expert-pill-phone i,
.expert-card.status-occupe .expert-pill-chat i {
	color: var(--occupe-text);
}

.expert-card.status-absent .expert-pill-phone i,
.expert-card.status-absent .expert-pill-chat i {
	color: var(--absent-text);
}

.expert-card.status-pause .expert-pill-phone i,
.expert-card.status-pause .expert-pill-chat i {
	color: var(--pause-text);
}

.expert-pill[data-tooltip] {
	position: relative;
}

.expert-pill[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: calc(100% + 6px);
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;

	background: rgba(40, 20, 60, 0.9);
	color: #fff;
	font-size: 0.7rem;
	padding: 4px 8px;
	border-radius: 6px;

	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.expert-pill[data-tooltip]:hover::after {
	opacity: 1;
	transform: translateX(-50%) translateY(-2px);
}

@media (max-width: 767.98px) {

  /* On aligne Occupé-e sur Disponible */
  .btn-status {
    min-height: 44px;           /* même hauteur visuelle */
    /*padding: 0.65rem 1.2rem;    /* identique au bouton Disponible */
	padding: 0.6rem 1rem;
    line-height: 1.2;
  }

  .btn-status.btn-occupe {
    position: relative;
  }

  /* Pastille flottante = hors du bouton */
  .btn-status.btn-occupe small {
    position: absolute;
    top: -0.6rem;
    right: -0.6rem;

    padding: 0.25rem 0.45rem;
    font-size: 0.7rem;
    line-height: 1;

    border-radius: 999px;
    background: #ffffff;
    color: #6c5aa7;

    display: inline-flex;
    align-items: center;
    gap: 0.25rem;

    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
  }
}

.expert-ribbons {
	position: absolute;
	top: 1.3rem;
	right: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	z-index: 5;
	font-family: "Playfair Display", serif;
}

.ribbon {
  padding: 0.35rem 0.7rem;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;

  border-radius: 999px 0 0 999px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.18);

  white-space: nowrap;
}

.ribbon-sigil {
  writing-mode: vertical-rl;
  text-orientation: mixed;

  padding: 0.6rem 0.35rem;
  font-size: 0.65rem;
  letter-spacing: 0.15em;

  border-radius: 0 0 10px 10px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.25);
}

.ribbon-corner {
  position: absolute;
  top: 0;
  right: 0;

  width: 72px;
  height: 72px;

  clip-path: polygon(100% 0, 0 0, 100% 100%);
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;

  padding: 0.4rem;
  font-size: 0.6rem;
  font-weight: 600;

  box-shadow: -4px 4px 12px rgba(0,0,0,0.2);
}

.ribbon-glass {
  padding: 0.3rem 0.65rem;
  font-size: 0.65rem;

  border-radius: 999px;
  background: rgba(255,255,255,0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  color: #3b2c5a;
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

.ribbon--stacked {
  padding: 0.45rem 0.85rem;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  border-radius: 10px 0 0 10px;
}

.ribbon--vertical {
  writing-mode: vertical-rl;
  text-orientation: mixed;

  padding: 0.6rem 0.35rem;
  font-size: 0.6rem;
  letter-spacing: 0.15em;

  border-radius: 0 0 10px 10px;
}

.ribbon--glass {
  background-blend-mode: overlay;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  border: 1px solid rgba(255,255,255,0.35);
}

.ribbon--notch {
  clip-path: polygon(
    0 0,
    92% 0,
    100% 50%,
    92% 100%,
    0 100%,
    8% 50%
  );
}

.ribbon-new {
  background: linear-gradient(135deg, #cdb7f6, #b9a3ea);
  color: #3a2c5f;
}

.ribbon-premium {
  background: linear-gradient(135deg, #f3e4c7, #e0c99a);
  color: #5a4422;
}

.ribbon-promo {
  background: linear-gradient(135deg, #e6a6b8, #d88fa5);
  color: #5a1f33;
}

.ribbon-blackfriday {
  background: linear-gradient(135deg, #2f254f, #1e1836);
  color: #ffffff;
}

.ribbon-valentin {
  background: linear-gradient(135deg, #f2c6d4, #e6a8bc);
  color: #6b2a3e;
}

.ribbon-halloween {
  background: linear-gradient(135deg, #5a3d5c, #3e283f);
  color: #f4eaff;
}

@media (max-width: 767.98px) {

	/* Section : un peu plus “app-like” */
	.experts-section {
		padding: 0.75rem 0 1.25rem;
	}

	/* Cards -> rendu liste */
	.expert-card {
		flex-direction: row;
		align-items: center;
		text-align: left;

		padding: 0.9rem 0.9rem;
		border-radius: 18px;

		background: rgba(255,255,255,0.45);
		box-shadow:
			0 16px 40px rgba(74, 50, 96, 0.10),
			inset 0 1px 0 rgba(255,255,255,0.6);
		backdrop-filter: blur(8px);
	}

	/* Photo ronde type liste */
	.expert-photo {
		width: 62px;
		height: 62px;
		border-radius: 999px;
		margin: 0;

		flex: 0 0 auto;
	}

	.expert-photo::after {
		border-radius: 999px;
	}

	/* Le bloc photo ne doit pas être centré */
	.expert-photo a,
	.expert-photo img {
		display: block;
	}

	/* Nom/skills : plus compact */
	.expert-name {
		font-size: 1.15rem;
		margin: 0;
		line-height: 1.15;
	}

	.expert-skill {
		font-size: 0.9rem;
		margin: 0.2rem 0 0;
		color: rgba(74, 50, 96, 0.65);
	}

	/* On masque les rubans en mobile (optionnel : tu peux les garder si tu veux) */
	.expert-ribbons {
		display: none;
	}

	/* On masque les 3 pills (téléphone/chat/mail) pour coller au look “liste” */
	.expert-meta-inline {
		display: none;
	}

	/* On transforme le bouton statut en badge */
	.btn-status {
		margin-left: auto;         /* pousse le badge à droite */
		align-self: center;

		padding: 0.35rem 0.65rem;
		border-radius: 999px;

		font-size: 0.85rem;
		font-weight: 600;

		box-shadow:
			0 10px 22px rgba(0,0,0,0.10),
			inset 0 1px 0 rgba(255,255,255,0.7);

		min-height: auto;
	}

	/* Structure interne : on crée une “colonne texte” sans modifier le HTML */
	.expert-card > .expert-photo {
		margin-right: 0.85rem;
	}

	/* Le texte (name/skill) doit prendre la place au centre */
	.expert-card > .expert-name,
	.expert-card > .expert-skill {
		flex: 0 0 auto;
	}

	/* Hack simple : on met name+skill dans un flux compact */
	.expert-name,
	.expert-skill {
		text-align: left;
	}

	/* Pour éviter que le badge casse en ligne */
	.btn-status {
		white-space: nowrap;
	}

	/* OCCUPÉ : on enlève le “depuis X” du badge en mobile (sinon c’est chargé) */
	.btn-status.btn-occupe small {
		display: none;
	}

	/* Si tu veux garder une petite info “en consultation” façon screen :
	   on ajoute un point/puce via ::before sur Occupé */
	.btn-status.btn-disponible::before {
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: currentColor;
		opacity: 0.55;
		margin-right: 8px;
		vertical-align: 1px;
	}
	
	.btn-status.btn-occupe::before {
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: currentColor;
		opacity: 0.55;
		margin-right: 8px;
		vertical-align: 1px;
	}

	/* ABSCENT / PAUSE : pareil, petite puce */
	.btn-status.btn-absent::before,
	.btn-status.btn-pause::before {
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: currentColor;
		opacity: 0.55;
		margin-right: 8px;
		vertical-align: 1px;
	}

	/* IMPORTANT : comme tu as un .row g-1, on garde l’espace entre items */
	.experts-section .row.g-1 > [class*="col-"] {
		margin-bottom: 0.35rem;
	}
}

@media (max-width: 767.98px) {

	.expert-card {
		display: grid;
		grid-template-columns: 62px 1fr auto;
		grid-template-rows: auto auto;
		column-gap: 0.85rem;
		row-gap: 0.15rem;
		align-items: center;
	}

	.expert-photo {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin: 0;
	}

	.expert-name {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
	}

	.expert-skill {
		grid-column: 2;
		grid-row: 2;
		margin: 0;
	}

	.btn-status {
		grid-column: 3;
		grid-row: 1 / span 2;
		margin-left: 0;
		white-space: nowrap;
	}
}

@media (max-width: 767.98px) {

	/* Pills SOUS le statut, et dans la largeur dispo */
	.expert-meta-inline {
		grid-column: 3;
		grid-row: 2;               /* IMPORTANT : sous le bouton statut */
		justify-self: end;
		align-self: start;

		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3 colonnes qui ne débordent pas */
		gap: 0.25rem;

		width: 100%;               /* prend la largeur de la colonne 3 */
		max-width: 100%;
		margin: 0;

		overflow: hidden;          /* sécurité anti débordement */
	}

	.expert-meta-inline .expert-pill {
		width: 100%;
		min-width: 0;              /* IMPORTANT : autorise le shrink */
		padding: 0.26rem 0.35rem;

		font-size: 0.66rem;
		line-height: 1;

		border-radius: 999px;
		justify-content: center;

		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;   /* si ça ne rentre pas, ça coupe proprement */
	}

	.expert-meta-inline .expert-pill i {
		font-size: 0.8rem;         /* un peu lisible tout en restant compact */
		flex: 0 0 auto;
	}

	.expert-meta-inline .expert-pill span {
		min-width: 0;
		overflow: hidden;
		/*text-overflow: ellipsis;*/
	}
}

@media (max-width: 767.98px) {

	/* IMPORTANT : carte mobile en grille propre (si déjà fait chez toi, garde-le,
	   mais assure-toi d'avoir bien 2 lignes) */
	.expert-card {
		display: grid;
		grid-template-columns: 64px 1fr minmax(170px, 50%);
		grid-template-rows: auto auto;
		column-gap: 0.4rem;
		row-gap: 0.4rem;
		align-items: center;
	}

	/* Photo à gauche */
	.expert-photo {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin: 0;
		width: 56px;
		height: 56px;
		border-radius: 999px;
	}

	/* Name + skill au centre */
	.expert-name { grid-column: 2; grid-row: 1; margin: 0; text-align: left; }
	.expert-skill { grid-column: 2; grid-row: 2; margin: 0; text-align: left; }

	/* Statut à droite, ligne 1 */
	.btn-status {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		width: 100%;               /* empêche le chevauchement */
		max-width: 100%;
		text-align: center;
		padding: 0.45rem 0.6rem;
		line-height: 1.1;
	}

	/* Pills sous le statut, ligne 2 */
	.expert-meta-inline {
		grid-column: 3;
		grid-row: 2;
		justify-self: end;
		width: 100%;
		max-width: 100%;

		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.15rem; /* un peu plus respirant, mais pas trop */

		margin: 0;
		overflow: hidden;
	}

	.expert-meta-inline .expert-pill {
		width: 100%;
		min-width: 0;
		padding: 0.22rem 0.28rem; /* + horizontal utile */
		font-size: 0.62rem;
		line-height: 1;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: clip;
		justify-content: center;
	}

	.expert-meta-inline .expert-pill i {
		font-size: 0.66rem;
		margin-right: 0;
	}

	/* Bonus : on coupe un peu le texte uniquement en mobile, pour éviter "Dès..." */
	.expert-meta-inline .expert-pill-mail span {
		display: none;
		margin-left: 0.18rem; /* petit espace après l’icône */
	}
	.expert-meta-inline .expert-pill-mail::after {
		content: "20€";
	}
}

@media (max-width: 767.98px) {

	/* Le parent doit servir d’ancrage */
	.expert-card {
		position: relative;
	}

	/* On verrouille le positionnement des ribbons */
	.expert-ribbons {
		position: absolute;
		z-index: 10;
		display: flex;

		top: 0.55rem;
		right: 0.55rem;
		gap: 0.35rem;
	}

	/* Sécurité : si un overflow coupe, on autorise l’affichage */
	.expert-card {
		overflow: visible;
	}
}

/* MOBILE : ribbons en pastilles premium (icône only) */
@media (max-width: 767.98px) {

	.expert-ribbons {
		top: -0.5rem;
		right: -0.5rem;
		gap: 0.35rem;
	}

	/* La ribbon devient une pastille */
	.ribbon {
		width: 24px;
		height: 24px;
		padding: 0;

		border-radius: 999px;

		display: inline-flex;
		align-items: center;
		justify-content: center;

		white-space: nowrap;

		box-shadow: 0 10px 22px rgba(0,0,0,0.12);
	}

	/* On masque le texte en mobile, on garde l’icône */
	.ribbon .ribbon-text {
		display: none;
	}

	.ribbon i {
		font-size: 0.95rem;
		line-height: 1;
	}

	/* Optionnel : rend l’effet glass un peu plus “net” en petit */
	.ribbon--glass {
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
}


/*.modal-kanditel .modal-content {
  background: linear-gradient(
    180deg,
    #f7f1fb 0%,
    #f2e9f8 100%
  );
  border-radius: 18px;
  padding: 0.5rem;
  box-shadow: 0 30px 60px rgba(74, 50, 96, 0.25);
}*/

.modal-kanditel .modal-content {
  background: linear-gradient(
    180deg,
    #F6ECDC 0%,
    #D6B3E0 100%
  );
  border-radius: 18px;
  padding: 0.5rem;
  box-shadow: 0 30px 60px rgba(74, 50, 96, 0.25);
}

.modal-kanditel .modal-title {
  font-family: "Libre Baskerville", serif;
  color: #4a3260;
}

.modal-subtitle {
  color: #6b5a82;
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.form-control-kanditel {
  border-radius: 10px;
  border: 1px solid #d8cdea;
}

.btn-kanditel-primary {
  background: #7d73b3;
  border-radius: 999px;
  border: none;
  color: #ffffff;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.btn-kanditel-primary:hover,
.btn-kanditel-primary:focus-visible {
  background: #6f66a6; /* légèrement plus foncé */
  box-shadow: 0 8px 18px rgba(125, 115, 179, 0.35);
  transform: translateY(-1px);
  color: #ffffff;
}

.btn-outline-kanditel {
  border-radius: 999px;
  border: 1px solid #b9a3ea;
  color: #4a3260;
  background: transparent;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.btn-outline-kanditel:hover,
.btn-outline-kanditel:focus-visible {
  background: rgba(185, 163, 234, 0.18);
  box-shadow: 0 6px 14px rgba(74, 50, 96, 0.18);
  transform: translateY(-1px);
  color: #4a3260;
}

.password-field {
  position: relative;
}

.password-field input {
  padding-right: 2.6rem; /* place pour l’icône */
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 0.6rem;
  transform: translateY(-50%);

  background: transparent;
  border: none;
  padding: 0.25rem;

  color: #7d73b3;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;
}

.password-toggle:hover {
  color: #4a3260;
}

.password-toggle:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(185, 163, 234, 0.5);
  border-radius: 50%;
}

.alert-kanditel-offer {
	background: linear-gradient(180deg, #f6effb, #efe6f7);
	border-radius: 12px;
	color: #4a3260;
	font-size: 0.9rem;
}

.how-linear {
  max-width: 100%;
  margin: 0 auto 20px;
  padding: 40px 20px 40px;
  text-align: center;
  /*background-color: #FBF5EF; /* ivoire chaud */
}

.how-linear-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  color: #3A2F28;
  margin-bottom: 10px;
}

.how-linear-subtitle {
  font-size: 18px;
  color: #6E625B;
  margin-bottom: 70px;
}

.how-linear-steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.how-step {
  width: 260px;
  padding: 0 20px;
}

.how-circle {
  width: 56px;
  height: 56px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background-color: #D4B28A; /* doré Kanditel */
  color: #ffffff;
  font-family: "Playfair Display", serif;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.how-step h3 {
  font-family: "Playfair Display", serif;
  font-size: 20px;
  color: #3A2F28;
  margin-bottom: 6px;
}

.how-step-small {
  display: block;
  font-size: 14px;
  color: #9B7E57;
  margin-bottom: 14px;
}

.how-step p {
  font-size: 15px;
  line-height: 1.6;
  color: #5E514A;
}

.how-separator {
  flex: 1;
  max-width: 120px;
  height: 1px;
  margin-top: 28px;
  background: linear-gradient(
    to right,
    rgba(212,178,138,0),
    rgba(212,178,138,0.6),
    rgba(212,178,138,0)
  );
}

@media (max-width: 900px) {

  .how-linear-steps {
    flex-direction: column;
    align-items: center;
  }

  .how-separator {
    width: 1px;
    height: 40px;
    max-width: none;
    margin: 20px 0;
    background: linear-gradient(
      to bottom,
      rgba(212,178,138,0),
      rgba(212,178,138,0.6),
      rgba(212,178,138,0)
    );
  }

  .how-step {
    width: 100%;
    max-width: 360px;
  }
}

@media (max-width: 900px) {

	/* On garde ton comportement colonne, mais on le rend premium */
	.how-linear {
		padding: 34px 16px 38px;
	}

	.how-linear-steps {
		gap: 14px;
	}

	/* Chaque step devient une "card" premium */
	.how-step {
		position: relative;
		width: 100%;
		max-width: 420px;
		padding: 22px 18px 18px;
		text-align: left;

		background: rgba(255, 255, 255, 0.28);
		border: 1px solid rgba(74, 50, 96, 0.14);
		border-radius: 18px;

		box-shadow:
			0 18px 44px rgba(74, 50, 96, 0.12),
			inset 0 1px 0 rgba(255, 255, 255, 0.6);

		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}

	/* Le cercle devient un badge en haut à gauche */
	.how-circle {
		position: absolute;
		top: -16px;
		left: 16px;

		width: 44px;
		height: 44px;
		margin: 0;

		border-radius: 999px;

		/* on conserve ta couleur #D4B28A mais avec un effet premium */
		background: linear-gradient(180deg, rgba(212,178,138,1), rgba(212,178,138,0.88));
		box-shadow:
			0 14px 30px rgba(74, 50, 96, 0.12),
			inset 0 1px 0 rgba(255, 255, 255, 0.55);

		font-size: 18px;
	}

	/* Titre du step : un peu plus "Kanditel premium" */
	.how-step h3 {
		margin-top: 10px;
		font-size: 20px;
		line-height: 1.25;

		color: #4a3260;
	}

	/* Le petit sous-texte devient une vraie micro-label */
	.how-step-small {
		display: inline-flex;
		align-items: center;

		margin: 6px 0 12px;
		padding: 5px 10px;

		border-radius: 999px;
		background: rgba(74, 50, 96, 0.08);
		border: 1px solid rgba(74, 50, 96, 0.12);

		color: rgba(74, 50, 96, 0.82);
		font-size: 13px;
	}

	/* Texte */
	.how-step {
		color: rgba(74, 50, 96, 0.82);
		font-size: 15px;
		line-height: 1.65;
	}

	/* Séparateur : on remplace ton gros trait par un "timeline" fin */
	.how-separator {
		width: 2px;
		height: 26px;
		margin: 6px 0 6px;

		background: none;
		position: relative;
	}

	.how-separator::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);

		width: 2px;
		height: 100%;
		border-radius: 2px;

		background: repeating-linear-gradient(
			to bottom,
			rgba(74, 50, 96, 0.18),
			rgba(74, 50, 96, 0.18) 6px,
			rgba(74, 50, 96, 0) 6px,
			rgba(74, 50, 96, 0) 12px
		);
	}

	/* Un peu plus de respiration entre cards */
	.how-linear-steps > .how-step + .how-separator {
		margin-top: 10px;
	}
}


.blog-explore {
	/*background: linear-gradient(180deg, #f7eefe 0%, #f2e6fb 55%, #efe1f7 100%);
	padding: clamp(48px, 6vw, 84px) 18px;*/
	/*margin-bottom: 75px;*/
}

/*.blog-explore-inner {
	max-width: 1120px;
	margin: 0 auto;
}*/

.blog-explore-header {
	text-align: center;
	margin-bottom: clamp(28px, 4vw, 46px);
}

.blog-explore-title {
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.1rem, 3.6vw, 3.2rem);
	line-height: 1.15;
	letter-spacing: 0.01em;
	color: #4a3260;
	margin: 0 0 12px 0;
	font-weight: 700;
}

.blog-explore-subtitle {
	margin: 0;
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	line-height: 1.6;
	color: rgba(74, 50, 96, 0.75);
}

.blog-explore-dots {
	margin-top: 18px;
	display: inline-flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
}

.blog-explore-dots .dot {
	width: 9px;
	height: 9px;
	border-radius: 99px;
	background: rgba(74, 50, 96, 0.25);
}

.blog-explore-dots .dot.is-active {
	width: 10px;
	height: 10px;
	background: rgba(74, 50, 96, 0.65);
	box-shadow: 0 10px 22px rgba(74, 50, 96, 0.18);
}

.blog-explore-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 42px);
	align-items: start;
	margin-top: 22px;
}

.blog-card {
	text-align: center;
}

.blog-card-link {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

.blog-card-media {
	width: min(320px, 100%);
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
	margin: 0 auto 16px auto;

	box-shadow:
		0 18px 40px rgba(74, 50, 96, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);

	background: rgba(255, 255, 255, 0.25);
}

.blog-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1.01);
	transition: transform 0.35s ease, filter 0.35s ease;
	filter: saturate(0.96) contrast(0.98) brightness(1.02);
}

.blog-card-link:hover .blog-card-media img {
	transform: scale(1.04);
	filter: saturate(1) contrast(1) brightness(1.03);
}

.blog-card-title {
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;
	color: rgba(74, 50, 96, 0.82);
	font-weight: 500;
}

.blog-explore-cta {
	margin-top: clamp(26px, 4vw, 48px);
	display: flex;
	justify-content: center;
}

.blog-explore-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 16px 26px;
	border-radius: 999px;

	font-family: "Libre Baskerville", serif;
	font-size: 1.15rem;
	color: #4a3260;
	text-decoration: none;

	background: rgba(255, 255, 255, 0.28);
	border: 1px solid rgba(74, 50, 96, 0.22);

	box-shadow:
		0 14px 30px rgba(74, 50, 96, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.7);

	transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.blog-explore-btn:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.38);
	box-shadow:
		0 18px 38px rgba(74, 50, 96, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

@media (max-width: 991.98px) {
	.blog-explore-grid {
		grid-template-columns: 1fr;
		max-width: 520px;
		margin-left: auto;
		margin-right: auto;
	}

	.blog-card-media {
		width: 100%;
	}
}

/* MOBILE : rail swipe premium (desktop inchangé) */
@media (max-width: 991.98px) {

	.blog-explore-grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 14px;

		overflow-x: auto;
		overflow-y: visible;

		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;

		padding: 0 16px 8px;
		margin-top: 18px;

		max-width: 100%;
	}

	/* On cache la scrollbar (propre) */
	.blog-explore-grid::-webkit-scrollbar {
		height: 0;
	}
	.blog-explore-grid {
		scrollbar-width: none; /* Firefox */
	}

	.blog-card {
		flex: 0 0 auto;
		scroll-snap-align: center;
	}

	/* Largeur carte : 78% de l’écran (effet “carousel premium”) */
	.blog-card-link {
		display: block;
		width: 78vw;
		max-width: 360px;
		text-decoration: none;
	}

	.blog-card-media {
		width: 100%;
		aspect-ratio: 1 / 1;
		border-radius: 16px;
		margin: 0 0 12px 0;
	}

	/* On évite les retours à la ligne forcés en mobile */
	.blog-card-title br {
		display: none;
	}

	/* Titre : 2 lignes max, propre */
	.blog-card-title {
		font-size: 0.98rem;
		line-height: 1.35;

		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;

		padding: 0 4px;
	}

	/* Petit “padding” de fin pour que le dernier item respire */
	.blog-explore-grid::after {
		content: "";
		flex: 0 0 16px;
	}
}

@media (max-width: 991.98px) {

	.blog-card-link {
		transform: scale(0.98);
		opacity: 0.92;
		transition: transform 0.2s ease, opacity 0.2s ease;
	}

	.blog-card-link:active {
		transform: scale(0.99);
	}

	/* Si tu veux, on peut aller plus loin avec un JS léger pour détecter l'item centré,
	   mais déjà comme ça c'est très clean et ultra simple. */
}

/* Viewport (desktop slide / mobile swipe) */
.blog-explore-viewport {
	overflow: visible;
}

/* DESKTOP : 4 visibles + slide auto (harmonisé expertises) */
@media (min-width: 992px) {

  /* on resserre la section (comme demandé) */
  .blog-explore-inner{
    max-width: var(--kdt-rail-max);
    margin-left: auto;
    margin-right: auto;
  }

  .blog-explore-viewport{
    overflow: hidden;
    width: 100%;
    max-width: var(--kdt-rail-max);
    margin-left: auto;
    margin-right: auto;
  }

  .blog-explore-grid{
    display: flex;
    flex-wrap: nowrap;
    gap: var(--kdt-rail-gap);
    align-items: start;
    margin-top: 22px;
    transform: translateX(0);
  }

  .blog-card{
    flex: 0 0 calc((100% - (3 * var(--kdt-rail-gap))) / 4);
  }

  .blog-explore-grid.is-sliding{
    will-change: transform;
    transition: transform 650ms ease;
  }
}

/* MOBILE – rail swipe horizontal (aligné sur les expertises : taille des visuels) */
@media (max-width: 991.98px) {

	.blog-explore-grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 14px;

		overflow-x: auto;
		overflow-y: visible;

		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;

		padding: 0 16px 8px;
		margin-top: 18px;

		max-width: 100%;
	}

	.blog-explore-grid::-webkit-scrollbar {
		height: 0;
	}
	.blog-explore-grid {
		scrollbar-width: none;
	}

	.blog-card {
		flex: 0 0 auto;
		scroll-snap-align: center;
		text-align: center;
	}

	/* Taille alignée expertises */
	.blog-card-link {
		width: 44vw;
		max-width: 210px;
		display: block;
	}

	.blog-card-media {
		border-radius: 16px;
		margin-bottom: 10px;
		width: 100%;
		aspect-ratio: 1 / 1;
	}

	.blog-card-title {
		font-size: 0.98rem;
		line-height: 1.35;

		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;

		margin: 0;
		padding: 0 4px;
	}

	.blog-explore-grid::after {
		content: "";
		flex: 0 0 16px;
	}
}

.teaser-horoscope {
	/*background: #f7eefe;*/
	/*padding: clamp(56px, 6vw, 90px) 0;*/
	overflow: hidden;
	padding-bottom: 75px;
	padding-top: 50px;
}

.teaser-horoscope-inner {
	max-width: 100%;
}

.teaser-horoscope-header {
	text-align: center;
	margin-bottom: clamp(22px, 3vw, 38px);
}

.teaser-horoscope-title {
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #4a3260;

	font-size: clamp(2.1rem, 3.2vw, 3.05rem);
	line-height: 1.18;
	margin: 0 0 10px 0;
}

.teaser-horoscope-subtitle {
	margin: 0;
	font-size: clamp(1rem, 1.25vw, 1.25rem);
	line-height: 1.6;
	color: rgba(74, 50, 96, 0.72);
}

.teaser-horoscope-sep {
	margin-top: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.teaser-horoscope-sep .line {
	height: 1px;
	width: clamp(60px, 18vw, 190px);
	background: rgba(74, 50, 96, 0.12);
}

.teaser-horoscope-sep .dots {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.teaser-horoscope-sep .dot {
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: rgba(74, 50, 96, 0.28);
}

.teaser-horoscope-sep .dot.diamond {
	width: 9px;
	height: 9px;
	border-radius: 3px;
	transform: rotate(45deg);
	background: rgba(74, 50, 96, 0.45);
	box-shadow: 0 10px 22px rgba(74, 50, 96, 0.14);
}

.teaser-horoscope-visual {
	margin-top: clamp(18px, 2.5vw, 28px);
	display: flex;
	justify-content: center;
}

.teaser-horoscope-visual img {
	width: min(980px, 100%);
	height: auto;
	display: block;

	filter: saturate(0.98) contrast(0.98) brightness(1.02);
}

.teaser-horoscope-cta {
	/*margin-top: clamp(22px, 4vw, 44px);*/
	display: flex;
	justify-content: center;
}

.teaser-horoscope-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 16px 28px;
	border-radius: 999px;

	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.05rem, 1.3vw, 1.25rem);
	color: #4a3260;
	text-decoration: none;

	background: rgba(255, 255, 255, 0.24);
	border: 1px solid rgba(74, 50, 96, 0.22);

	box-shadow:
		0 14px 30px rgba(74, 50, 96, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.7);

	transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.teaser-horoscope-btn:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.34);
	box-shadow:
		0 18px 38px rgba(74, 50, 96, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

/* Mobile */
@media (max-width: 575.98px) {

	.teaser-horoscope {
		padding: 52px 0;
	}

	.teaser-horoscope-sep .line {
		width: 72px;
	}

	.teaser-horoscope-btn {
		width: 100%;
		max-width: 420px;
		padding: 14px 20px;
	}
}

.kdt-blog-carousel {
	background: transparent;
	/*padding: clamp(44px, 5vw, 78px) 0;*/
}

.kdt-blog-carousel-header {
	margin-bottom: clamp(22px, 3vw, 36px);
}

.kdt-blog-carousel-title {
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #4a3260;
	margin: 0 0 10px 0;
	font-size: clamp(2.1rem, 3.2vw, 3.1rem);
	line-height: 1.15;
}

.kdt-blog-carousel-subtitle {
	margin: 0;
	font-size: clamp(1rem, 1.15vw, 1.25rem);
	line-height: 1.6;
	color: rgba(74, 50, 96, 0.72);
}

.kdt-blog-carousel-sep {
	margin-top: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.kdt-blog-carousel-sep .line {
	height: 1px;
	width: clamp(70px, 18vw, 190px);
	background: rgba(74, 50, 96, 0.12);
}

.kdt-blog-carousel-sep .dots {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
}

.kdt-blog-carousel-sep .dot {
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: rgba(74, 50, 96, 0.28);
}

/* Carousel */
.kdt-carousel .carousel-inner {
	padding: 4px 2px;
}

/* Carte */
.kdt-card {
	display: block;
	text-decoration: none;
	color: inherit;
	text-align: center;
}

.kdt-card-media {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
	margin: 0 auto 14px auto;

	/*background: rgba(255, 255, 255, 0.18);
	box-shadow:
		0 18px 40px rgba(74, 50, 96, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);*/

	transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.kdt-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;

	filter: saturate(0.96) contrast(0.98) brightness(1.02);
	transform: scale(1.01);
	transition: transform 0.35s ease, filter 0.35s ease;
}

.kdt-card:hover .kdt-card-media {
	transform: translateY(-1px);
	/*box-shadow:
		0 22px 48px rgba(74, 50, 96, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.65);*/
}

.kdt-card:hover .kdt-card-media img {
	transform: scale(1.04);
	filter: saturate(1) contrast(1) brightness(1.03);
}

.kdt-card-title {
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(74, 50, 96, 0.82);
	font-weight: 500;
	padding: 0 8px;
}

/* Mobile : 2 items visibles (col-6), donc OK. */
@media (max-width: 767.98px) {
	.kdt-card-title {
		font-size: 0.98rem;
	}
}

@media (min-width: 992px) {

  /* on resserre la section au même “rail” que le blog */
  .kdt-expertises .container{
    max-width: var(--kdt-rail-max);
  }

  .kdt-expertises-viewport{
    overflow: hidden;
    width: 100%;
    max-width: var(--kdt-rail-max);
    margin-left: auto;
    margin-right: auto;
  }

  .kdt-expertises-grid{
    display: flex;
    flex-wrap: nowrap;
    gap: var(--kdt-rail-gap);
    align-items: start;
    margin-top: 22px;
    transform: translateX(0);
  }

  /* 4 visibles */
  .kdt-expertise-card{
    flex: 0 0 calc((100% - (3 * var(--kdt-rail-gap))) / 4);
  }

  .kdt-expertises-grid.is-sliding{
    will-change: transform;
    transition: transform 650ms ease;
  }
}

/* ==============================
   EXPERTISES (desktop grid + mobile swipe)
   ============================== */

.kdt-expertises {
	background: transparent;
}

.kdt-expertises-header {
	margin-bottom: clamp(22px, 3vw, 36px);
}

.kdt-expertises-title {
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #4a3260;
	margin: 0 0 10px 0;
	font-size: clamp(2.1rem, 3.2vw, 3.1rem);
	line-height: 1.15;
}

/* Base (desktop géré plus bas en @media min-width) */
.kdt-expertises-grid {
  margin-top: 22px;
}

/* MOBILE/TABLET : rail swipe (inchangé chez toi) */
@media (max-width: 991.98px) {
  .kdt-expertises-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 0 16px 8px;
    margin-top: 18px;
    max-width: 100%;
  }
}

.kdt-expertise-card {
	text-align: center;
}

.kdt-expertise-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.kdt-expertise-media {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
	margin: 0 auto 14px auto;

	transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.kdt-expertise-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;

	filter: saturate(0.96) contrast(0.98) brightness(1.02);
	transform: scale(1.01);
	transition: transform 0.35s ease, filter 0.35s ease;
}

.kdt-expertise-link:hover .kdt-expertise-media {
	transform: translateY(-1px);
}

.kdt-expertise-link:hover .kdt-expertise-media img {
	transform: scale(1.04);
	filter: saturate(1) contrast(1) brightness(1.03);
}

.kdt-expertise-title-item {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(74, 50, 96, 0.82);
	font-weight: 500;
	padding: 0 8px;
}

/* MOBILE : rail swipe premium (exactement l’esprit du blog) */
@media (max-width: 991.98px) {

	.kdt-expertises-grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 14px;

		overflow-x: auto;
		overflow-y: visible;

		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;

		padding: 0 16px 8px;
		margin-top: 18px;

		max-width: 100%;
	}

	.kdt-expertises-grid::-webkit-scrollbar {
		height: 0;
	}
	.kdt-expertises-grid {
		scrollbar-width: none;
	}

	.kdt-expertise-card {
		flex: 0 0 auto;
		scroll-snap-align: center;
	}

	/* On garde le look "2x2" visuel du screen : cards un peu plus petites que le blog */
	.kdt-expertise-link {
		width: 44vw;
		max-width: 210px;
	}

	.kdt-expertise-media {
		border-radius: 16px;
		margin-bottom: 10px;
	}

	.kdt-expertise-title-item {
		font-size: 0.98rem;
		line-height: 1.35;

		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;

		padding: 0 4px;
	}

	.kdt-expertises-grid::after {
		content: "";
		flex: 0 0 16px;
	}
}

/* WRAPPER PLEINE LARGEUR */
.kdt-footer-wrapper {
	width: 100%;
	background: #f5f2f6;              /* fond lavande profond poudré */
}

.kdt-footer-wrapper .container {
	padding-top: 3rem;
	padding-bottom: 2.2rem;
}

/* TITRES */
.kdt-footer-wrapper .footer-title {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-weight: 700;
	margin-bottom: 1rem;
}

/* LIENS */
.kdt-footer-wrapper a {
	color: #4a3260;
	text-decoration: none;
	transition: color 0.25s ease;
}

.kdt-footer-wrapper a:hover {
	color: #6b4b86;
}

/* BLOCS */
.kdt-footer-wrapper .footer-block {
	background: rgba(255, 255, 255, 0.20);
	padding: 0.9rem;
	border-radius: 14px;

	box-shadow:
		0 14px 30px rgba(74, 50, 96, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);

	font-size: 0.9rem;
	line-height: 1.6;
	color: #4a3260;
}

/* SÉPARATEURS */
.footer-separator {
	margin: 1.3rem 0;
	border-color: rgba(74, 50, 96, 0.18);
}

.footer-disclaimer {
	font-size: 0.8em;
}

/* RESPONSIVE */
@media (max-width: 767.98px) {

	.kdt-footer-wrapper .row {
		text-align: center;
	}

	.kdt-footer-wrapper .col-md-3 {
		margin-bottom: 1rem;
	}

}

@media (max-width: 767.98px) {

	/* Panel arrondi comme sur la maquette */
	.kdt-footer-panel {
		/*background: rgba(255, 255, 255, 0.30);
		border-radius: 28px;
		padding: 18px 16px;
		box-shadow:
			0 18px 50px rgba(74, 50, 96, 0.10),
			inset 0 1px 0 rgba(255, 255, 255, 0.55);*/
	}

	/* On ne centre plus tout : la maquette est “card UI” */
	.kdt-footer-wrapper .row {
		text-align: left;
	}

	.kdt-footer-wrapper .footer-title {
		margin-bottom: 0.65rem;
	}

	/* Liens : espacement + look “liste premium” */
	.kdt-footer-links li {
		/*margin-bottom: -0.45rem;*/
	}
	
	.kdt-footer-links.kdt-footer-links-info li {
		margin-bottom: -0.45rem;
	}

	.kdt-footer-links a {
		display: inline-flex;
		align-items: center;
		gap: 8px;
	}

	/* Section “Informations” : on supprime l’icône à gauche et on met un chevron à droite */
	.kdt-footer-links-info a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 6px 0;
	}

	.kdt-footer-links-info a i {
		display: none;
	}

	.kdt-footer-links-info a::after {
		content: "";
		width: 10px;
		height: 10px;
		border-right: 2px solid rgba(74, 50, 96, 0.45);
		border-top: 2px solid rgba(74, 50, 96, 0.45);
		transform: rotate(45deg);
		flex: 0 0 auto;
	}

	/* Séparateurs : plus discrets dans un panel */
	.teaser-horoscope-sep .line {
		background: rgba(74, 50, 96, 0.50);
	}

	.teaser-horoscope-sep {
		margin-top: 14px;
		margin-bottom: 14px;
	}

	/* Badges stores : côte à côte comme screen 3 */
	.app-badges {
		flex-direction: row;
		gap: 10px;
		align-items: stretch;
		justify-content: space-between;
	}

	.app-badges .blog-explore-btn {
		width: 48%;
		white-space: nowrap;
		padding: 12px 12px;
		font-size: 0.95rem;
	}

	/* Reassurance : on garde tes 3 blocs, mais on les compacte */
	.kdt-footer-reassurance .footer-block {
		padding: 0.85rem 0.9rem;
		border-radius: 16px;
	}

	/* Drapeaux : petits et bien alignés */
	.kdt-footer-reassurance .fi {
		font-size: 0.9rem;
		border-radius: 3px;
		margin-right: 4px;
		vertical-align: -2px;
	}

	/* Mentions : resserrer */
	.kdt-footer-bottom .footer-legal {
		margin-bottom: 0.5rem;
	}

	.footer-disclaimer {
		margin-bottom: 0;
		line-height: 1.5;
	}
}

/* ===============================
   PAGE LAMBDA — GABARIT ÉDITORIAL
   =============================== */

.kdt-lambda-panel {
	background: rgba(255,255,255,0.55);
	border: 1px solid rgba(74, 50, 96, 0.10);
	border-radius: 26px;
	box-shadow: 0 18px 44px rgba(74, 79, 102, 0.10);
	backdrop-filter: blur(8px);
	padding: clamp(18px, 3.2vw, 34px);
}

.kdt-lambda-media img {
	box-shadow: 0 14px 34px rgba(74, 79, 102, 0.10);
}

.kdt-lambda-list {
	margin: 0 0 1.2rem 0;
	padding-left: 1.15rem;
}

.kdt-lambda-list li {
	margin: 0.35rem 0;
}

/* ===============================
   CTA EXPERTS — 1 LIGNE RESPONSIVE
   =============================== */

.kdt-lambda-experts-head .kdt-experts-title {
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #4a3260;
	margin: 0;
	font-size: clamp(1.65rem, 2.2vw, 2.15rem);
}

.kdt-lambda-experts-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

/* Mobile: une seule ligne scrollable, propre */
@media (max-width: 767.98px) {
	.kdt-lambda-experts-row {
		grid-auto-flow: column;
		grid-auto-columns: minmax(240px, 78%);
		grid-template-columns: unset;
		overflow-x: auto;
		padding-bottom: 8px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.kdt-lambda-experts-row > .expert-card {
		scroll-snap-align: start;
	}
}

/* ===============================
   PAGE LAMBDA — VERSION SANS "CARD"
   (texte plein container, sans cadres/ombres)
   =============================== */

.kdt-lambda-nocard .kdt-lambda-panel{
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

/* Comme on retire .kdt-lambda-panel du HTML,
   on s’assure que la typo reste identique */
.kdt-lambda-nocard .section-editoriale-kanditel{
	padding: 0; /* le py-5 du parent suffit */
	background: transparent;
}

/* Optionnel : si tu veux un rythme comme le screen
   sans encadré, mais avec de l’air */
.kdt-lambda-nocard .section-editoriale-kanditel .section-title{
	margin-bottom: 1.25rem;
}

.kdt-lambda-nocard .section-editoriale-kanditel .section-intro{
	margin-bottom: 1.25rem;
}

/* =========================================
   MODALE CONSULTATION TÉLÉPHONE (HOME)
   ========================================= */

.kdt-consult-modal .modal-title{
	line-height: 1.15;
}

.kdt-consult-credit,
.kdt-consult-info{
	border-radius: 18px;
	border: 1px solid rgba(74,57,89,.10);
	background: rgba(255,255,255,.70);
	box-shadow: 0 14px 34px rgba(52,36,63,.08);
}

.kdt-consult-credit-line{
	color: rgba(59,47,69,.86);
}

.kdt-consult-info{
	color: rgba(59,47,69,.82);
}

.kdt-consult-modal .btn{
	border-radius: 999px;
}

/* ===============================
   MODALE RECHARGE — PREMIUM
   =============================== */

.kdt-recharge-modal{
	border-radius: 18px;
}

.kdt-recharge-top{
	padding: 6px 6px 14px;
}

.kdt-recharge-balance{
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(74,50,96,.10);
	border-radius: 16px;
	padding: 14px 16px;
	box-shadow: 0 14px 30px rgba(74,50,96,.10);
}

.kdt-recharge-balance-title{
	color: rgba(59,47,69,.92);
	font-weight: 650;
}

.kdt-recharge-balance-sub{
	margin-top: 6px;
	color: rgba(59,47,69,.70);
	font-size: .95rem;
}

.kdt-recharge-form{
	padding: 2px 6px 6px;
}

.kdt-recharge-grid{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin-top: 12px;
}

.kdt-pack{
	display: block;
	min-width: 0;
	cursor: pointer;
}

.kdt-pack-radio{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.kdt-pack-card{
	height: 100%;
	background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.70));
	border: 1px solid rgba(74,50,96,.10);
	border-radius: 18px;
	box-shadow: 0 16px 36px rgba(52,36,63,.10);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transform: translateY(0);
	transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}

.kdt-pack-media{
	height: 92px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.kdt-pack-media:after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,0));
}

.kdt-pack-body{
	padding: 12px 12px 12px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

.kdt-pack-titleRow{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.kdt-pack-title{
	font-family: "Libre Baskerville", serif;
	font-size: 16px;
	color: #3B2F45;
	line-height: 1.1;
}

.kdt-pack-price{
	font-weight: 900;
	font-size: 22px;
	color: #7d73b3;
	letter-spacing: .2px;
}

.kdt-pack-sub{
	margin-top: 6px;
	color: rgba(59,47,69,.72);
	font-weight: 650;
	font-size: .85rem;
}

.kdt-pack-feats{
	list-style: none;
	padding: 0;
	margin: 12px 0 0;
	display: grid;
	gap: 6px;
	color: rgba(59,47,69,.80);
	font-size: .6rem;
}

.kdt-pack-feats li{
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.kdt-pack-feats i{
	color: rgba(125,115,179,.95);
	margin-top: 2px;
}

.kdt-pack-muted{
	color: rgba(59,47,69,.60);
	font-weight: 600;
}

.kdt-pack-note{
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(74,50,96,.08);
	color: rgba(59,47,69,.68);
	font-size: .9rem;
}

.kdt-pack-cta{
	margin-top: auto;
	padding-top: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: rgba(59,47,69,.90);
	font-weight: 850;
}

.kdt-pack--vip .kdt-pack-price{
	color: #4a3260;
}

.kdt-pack:hover .kdt-pack-card{
	transform: translateY(-2px);
	box-shadow: 0 22px 44px rgba(52,36,63,.14);
	border-color: rgba(125,115,179,.22);
}

.kdt-pack-radio:focus-visible + .kdt-pack-card{
	outline: none;
	box-shadow: 0 0 0 3px rgba(185,163,234,.45), 0 22px 44px rgba(52,36,63,.14);
}

.kdt-pack-radio:checked + .kdt-pack-card{
	border-color: rgba(125,115,179,.55);
	box-shadow: 0 0 0 3px rgba(125,115,179,.18), 0 22px 44px rgba(52,36,63,.14);
}

.kdt-recharge-actions{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	margin-top: 14px;
	align-items: center;
}

.kdt-recharge-skip{
	padding: 12px 16px;
}

.kdt-recharge-pay{
	padding: 12px 18px;
	min-width: 260px;
}

@media (max-width: 1199.98px){
	.kdt-recharge-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px){
	.kdt-recharge-grid{
		grid-template-columns: 1fr;
	}
	.kdt-recharge-actions{
		grid-template-columns: 1fr;
	}
	.kdt-recharge-pay{
		min-width: 0;
		width: 100%;
	}
}

/* =========================================================
   MODALE RECHARGE — AJUSTEMENTS STYLE (objectif visuel cliente)
   À coller APRÈS les styles existants
   ========================================================= */

.kdt-recharge-grid{
	gap: 10px;
}

/* Cards plus premium, plus aérées */
.kdt-pack-card{
	border-radius: 22px;
	box-shadow: 0 18px 44px rgba(52,36,63,.12);
	background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.74));
}

/* Visuel plus grand + fondu blanc bas (effet “dégradé blanc bottom”) */
.kdt-pack-media{
	height: 150px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.kdt-pack-media:after{
	content: "";
	position: absolute;
	inset: 0;
	/* 2 couches : léger voile + fondu blanc en bas */
	background:
		linear-gradient(180deg, rgba(255,255,255,.00) 0%, rgba(255,255,255,.00) 55%, rgba(255,255,255,.92) 100%),
		linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,0) 55%);
}

/* Corps qui “remonte” sur le visuel (look carte du screen) */
.kdt-pack-body{
	padding: 14px 14px 14px;
	margin-top: -22px;
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
	background: rgba(255,255,255,.70);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

/* Typo / hiérarchie plus “forfait” */
.kdt-pack-title{
	font-size: 20px;
	letter-spacing: .2px;
}

.kdt-pack-price{
	font-size: 24px;
}

/* Sous-titre plus lisible */
.kdt-pack-sub{
	font-size: .9rem;
	font-weight: 650;
	color: rgba(59,47,69,.72);
}

/* CTA = vrai bouton en bas (comme la maquette cliente) */
.kdt-pack-cta{
	margin-top: auto;
	padding-top: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	border-radius: 999px;
	padding: 10px 12px;
	background: rgba(110,84,127,.96);
	color: #fff;
	font-weight: 600;
	box-shadow: 0 14px 26px rgba(52,36,63,.14);
	transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease;
}

.kdt-pack-cta i{
	color: #fff;
}

.kdt-pack:hover .kdt-pack-cta{
	transform: translateY(-1px);
	box-shadow: 0 18px 30px rgba(52,36,63,.18);
}

.kdt-pack-radio:checked + .kdt-pack-card .kdt-pack-cta{
	background: rgba(74,50,96,.98);
}

/* Badge “Populaire” */
.kdt-pack-badge{
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	padding: 6px 10px;
	border-radius: 999px;
	font-weight: 850;
	font-size: .85rem;
	color: rgba(59,47,69,.88);
	background: rgba(255,255,255,.85);
	border: 1px solid rgba(74,50,96,.14);
	box-shadow: 0 10px 18px rgba(52,36,63,.14);
}

/* VIP : accent un peu plus “premium” */
.kdt-pack--vip .kdt-pack-price{
	color: #4a3260;
}

.kdt-pack--vip .kdt-pack-card{
	border-color: rgba(74,50,96,.18);
	box-shadow: 0 18px 44px rgba(52,36,63,.14);
}

/* Responsive modal packs */
@media (max-width: 1199.98px){
	.kdt-recharge-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px){
	.kdt-recharge-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.kdt-pack-media{
		height: 140px;
	}
}

@media (max-width: 420px){
	.kdt-recharge-grid{
		grid-template-columns: 1fr;
	}
}

/* Recharge packs — fondu blanc plus marqué en bas des visuels (anti "coupure") */
.kdt-pack-media{
	position: relative; /* nécessaire pour les pseudo-éléments */
}

/* Fondu blanc bottom (plus long + plus opaque) */
.kdt-pack-media::before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px; /* évite une ligne de jointure */
	height: 80%;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,0.20) 25%,
		rgba(255,255,255,0.70) 55%,
		rgba(255,255,255,0.985) 78%,
		rgba(255,255,255,1) 100%
	);
}

/* On garde la vignette existante, mais on la rend un poil plus douce */
.kdt-pack-media::after{
	background: linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,0) 55%);
}

/* Petite aide supplémentaire : la zone texte part d'un blanc franc */
.kdt-pack-body{
	background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
}

/* =========================================================
   RECHARGE — Titre qui déborde sur la photo + prix centré
   + alignement bas des textes
   ========================================================= */

/* On renforce la logique de layout interne */
.kdt-pack-body{
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

/* Le nom du forfait "mord" sur le bas de la photo */
.kdt-pack-name{
	font-family: "Libre Baskerville", serif;
	font-size: 20px;
	line-height: 1.1;
	color: #3B2F45;

	display: inline-block;
	align-self: flex-start;

	margin-top: -34px;         /* clé : fait déborder sur la photo */
	margin-bottom: 10px;

	padding: 10px 14px;
	border-radius: 16px;
	background: rgba(255,255,255,.82);
	border: 1px solid rgba(74,50,96,.12);
	box-shadow: 0 14px 26px rgba(52,36,63,.10);

	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

/* Zone "texte + prix" qui se colle en bas (au-dessus du bouton) */
.kdt-pack-bottom{
	margin-top: auto;          /* pousse ce bloc en bas de la card */
	padding-top: 6px;
}

/* Description (CTA texte) : même zone, alignée bas */
.kdt-pack-sub{
	margin-top: 0;
	color: rgba(59,47,69,.70);
	font-weight: 650;
	font-size: .92rem;
	text-align: center;
}

/* Prix centré comme sur la maquette (à la place des minutes) */
.kdt-pack-priceCenter{
	text-align: center;
	font-weight: 900;
	font-size: 30px;
	letter-spacing: .2px;
	color: #7d73b3;
	margin-top: 12px;
	margin-bottom: 10px;
}

/* VIP : couleur prix plus "noble" si tu veux garder l'accent */
.kdt-pack--vip .kdt-pack-priceCenter{
	color: #4a3260;
}


/* Bouton inchangé, mais on garantit qu'il colle bien en bas */
.kdt-pack-cta{
	margin-top: 0;            /* on évite les comportements hérités */
}

/* Micro-ajustements responsive */
@media (max-width: 767.98px){
	.kdt-pack-name{
		font-size: 21px;
		margin-top: -30px;
	}
	.kdt-pack-priceCenter{
		font-size: 28px;
	}
}

/* =========================================================
   KANDITEL - CARDS EXPERTS VERSION CONVERSION
   ========================================================= */

.expert-card-conversion {
	position: relative;
	padding: 1.15rem;
	border-radius: 22px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.64)),
		#f5e9f7;
	border: 1px solid rgba(230, 217, 250, 0.9);
	box-shadow:
		0 18px 42px rgba(74, 50, 96, 0.11),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	overflow: hidden;
}

.expert-card-conversion::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 18% 12%, rgba(205, 183, 246, 0.22), transparent 36%),
		radial-gradient(circle at 92% 8%, rgba(246, 236, 220, 0.5), transparent 34%);
	pointer-events: none;
}

.expert-card-conversion > * {
	position: relative;
	z-index: 1;
}

.expert-card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.9rem;
}

.expert-favorite {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: #5c22a8;
	background: rgba(255,255,255,0.75);
	border: 1px solid rgba(120, 90, 160, 0.16);
	box-shadow: 0 8px 18px rgba(74, 50, 96, 0.08);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.expert-favorite:hover,
.expert-favorite:focus-visible {
	color: #4a3260;
	background: #ffffff;
	box-shadow: 0 12px 24px rgba(74, 50, 96, 0.14);
	transform: translateY(-1px);
	text-decoration: none;
}

.expert-availability {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 34px;
	padding: 0.38rem 0.7rem;
	border-radius: 12px;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: left;
}

.expert-availability-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	flex: 0 0 auto;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(255,255,255,0.55);
}

.expert-availability-disponible {
	background: #e8f6ef;
	color: #198754;
	border: 1px solid rgba(25, 135, 84, 0.22);
}

.expert-availability-occupe {
	background: #fff0df;
	color: #d96912;
	border: 1px solid rgba(217, 105, 18, 0.24);
}

.expert-availability-absent {
	background: #eeebf3;
	color: #6e6a7d;
	border: 1px solid rgba(110, 106, 125, 0.22);
}

.expert-availability-pause {
	background: #f9efd5;
	color: #8a6a2f;
	border: 1px solid rgba(138, 106, 47, 0.24);
}

.expert-main {
	display: flex;
	align-items: center;
	gap: 0.95rem;
	margin-bottom: 0.95rem;
}

.expert-photo-conversion {
	width: 104px;
	height: 104px;
	border-radius: 999px;
	margin: 0;
	border: 4px solid rgba(255,255,255,0.82);
	box-shadow:
		0 12px 26px rgba(74, 50, 96, 0.14),
		inset 0 1px 0 rgba(255,255,255,0.7);
	flex: 0 0 auto;
}

.expert-photo-conversion::after {
	border-radius: 999px;
}

.expert-identity {
	min-width: 0;
	text-align: left;
}

.expert-card-conversion .expert-name {
	margin: 0 0 0.35rem;
	font-size: 1.45rem;
	line-height: 1.1;
	color: #17135c;
}

.expert-rating {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: #17135c;
	font-size: 0.95rem;
	line-height: 1;
}

.expert-rating strong {
	font-weight: 800;
}

.expert-stars {
	display: inline-flex;
	align-items: center;
	gap: 0.08rem;
	color: #f4b400;
	font-size: 0.85rem;
}

.expert-reviews {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	color: rgba(23, 19, 92, 0.72);
}

.expert-specialty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	margin: 0 auto 1.05rem;
	padding: 0.38rem 0.8rem;
	border-radius: 999px;
	background: rgba(244, 228, 255, 0.9);
	color: #6b31a5;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.2;
}

.expert-trust-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0.15rem 0 1.05rem;
	padding: 0.85rem 0 0.1rem;
	border-top: 1px solid rgba(120, 90, 160, 0.12);
}

.expert-trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 0.45rem;
	color: #17135c;
	border-right: 1px solid rgba(120, 90, 160, 0.12);
}

.expert-trust-item:last-child {
	border-right: none;
}

.expert-trust-item i {
	margin-bottom: 0.25rem;
	color: #6415c8;
	font-size: 1rem;
}

.expert-trust-item strong {
	display: block;
	margin-bottom: 0.12rem;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.15;
}

.expert-trust-item span {
	display: block;
	font-size: 0.68rem;
	line-height: 1.2;
	color: rgba(23, 19, 92, 0.72);
}

.expert-price {
	margin: 0.3rem 0 0.75rem;
	text-align: center;
	color: #17135c;
}

.expert-price strong {
	font-size: 1.55rem;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.expert-price span {
	font-size: 1rem;
	font-weight: 500;
}

.expert-main-cta {
	width: 100%;
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	font-size: 0.95rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	text-align: center;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.expert-main-cta:hover,
.expert-main-cta:focus-visible {
	text-decoration: none;
	transform: translateY(-1px);
}

.expert-main-cta-disponible {
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	border: 1px solid rgba(76, 8, 169, 0.18);
	box-shadow:
		0 16px 30px rgba(100, 21, 200, 0.28),
		inset 0 1px 0 rgba(255,255,255,0.28);
}

.expert-main-cta-disponible:hover,
.expert-main-cta-disponible:focus-visible {
	color: #ffffff;
	background: linear-gradient(135deg, #7427d2, #520ab0);
	box-shadow:
		0 20px 36px rgba(100, 21, 200, 0.34),
		inset 0 1px 0 rgba(255,255,255,0.32);
}

.expert-main-cta-outline {
	color: #5c22a8;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(92, 34, 168, 0.32);
	box-shadow: 0 12px 24px rgba(74, 50, 96, 0.08);
}

.expert-main-cta-outline:hover,
.expert-main-cta-outline:focus-visible {
	color: #4a3260;
	background: #ffffff;
	border-color: rgba(92, 34, 168, 0.48);
	box-shadow: 0 16px 30px rgba(74, 50, 96, 0.13);
}

.expert-response-note {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 0.55rem;
	padding: 0.48rem 0.75rem;
	border-radius: 10px;
	color: #6b31a5;
	background: rgba(244, 228, 255, 0.82);
	font-size: 0.82rem;
	font-weight: 500;
}

.expert-secondary-link {
	display: inline-flex;
	justify-content: center;
	width: 100%;
	margin-top: 0.7rem;
	color: #6b31a5;
	font-size: 0.82rem;
	font-weight: 500;
	text-decoration: none;
}

.expert-secondary-link:hover,
.expert-secondary-link:focus-visible {
	color: #4a3260;
	text-decoration: none;
}

.expert-unavailable-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 82px;
	margin: 0.25rem 0 0.8rem;
	padding: 0.9rem 0.8rem;
	border-radius: 12px;
	text-align: center;
	background: linear-gradient(180deg, #fff6ed, #fff0df);
	color: #d96912;
	border: 1px solid rgba(217, 105, 18, 0.18);
	box-shadow:
		0 12px 26px rgba(217, 105, 18, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.75);
}

.expert-unavailable-box i {
	margin-bottom: 0.25rem;
	font-size: 1.1rem;
}

.expert-unavailable-box strong {
	display: block;
	font-size: 0.95rem;
	font-weight: 800;
	text-transform: uppercase;
}

.expert-unavailable-box span {
	display: block;
	margin-top: 0.18rem;
	font-size: 0.82rem;
	color: rgba(23, 19, 92, 0.78);
}

.expert-unavailable-box-muted {
	background: linear-gradient(180deg, #f7f4fa, #eeebf3);
	color: #6e6a7d;
	border-color: rgba(110, 106, 125, 0.18);
	box-shadow:
		0 12px 26px rgba(110, 106, 125, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.75);
}

.expert-unavailable-box-pause {
	background: linear-gradient(180deg, #fff8e8, #f9efd5);
	color: #8a6a2f;
	border-color: rgba(138, 106, 47, 0.18);
	box-shadow:
		0 12px 26px rgba(138, 106, 47, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.75);
}

/* Anciennes pills masquées uniquement dans les nouvelles cards */
.expert-card-conversion .expert-meta-inline,
.expert-card-conversion .btn-status,
.expert-card-conversion .expert-ribbons {
	display: none;
}

/* Responsive tablette */
@media (max-width: 1199.98px) {
	.expert-card-conversion .expert-name {
		font-size: 1.35rem;
	}

	.expert-photo-conversion {
		width: 94px;
		height: 94px;
	}

	.expert-trust-item {
		padding: 0 0.35rem;
	}
}

/* Responsive mobile : on garde la logique conversion mais plus compacte */
@media (max-width: 767.98px) {
	.experts-section .row {
		gap: 0.75rem 0;
	}

	.expert-card-conversion {
		display: block;
		padding: 1rem;
		border-radius: 20px;
	}

	.expert-card-top {
		margin-bottom: 0.75rem;
	}

	.expert-main {
		gap: 0.85rem;
		margin-bottom: 0.8rem;
	}

	.expert-photo-conversion {
		width: 78px;
		height: 78px;
	}

	.expert-card-conversion .expert-name {
		font-size: 1.25rem;
		text-align: left;
	}

	.expert-rating {
		font-size: 0.88rem;
	}

	.expert-stars {
		font-size: 0.78rem;
	}

	.expert-specialty {
		margin-left: 0;
		margin-right: 0;
		font-size: 0.78rem;
	}

	.expert-trust-grid {
		margin-bottom: 0.85rem;
		padding-top: 0.75rem;
	}

	.expert-trust-item strong {
		font-size: 0.72rem;
	}

	.expert-trust-item span {
		font-size: 0.64rem;
	}

	.expert-price strong {
		font-size: 1.35rem;
	}

	.expert-main-cta {
		min-height: 46px;
		font-size: 0.86rem;
	}

	.expert-unavailable-box {
		min-height: auto;
		padding: 0.8rem;
	}
}

@media (max-width: 420px) {
	.expert-availability {
		max-width: 150px;
		font-size: 0.64rem;
	}

	.expert-photo-conversion {
		width: 70px;
		height: 70px;
	}

	.expert-trust-grid {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.expert-trust-item {
		padding: 0 0.22rem;
	}

	.expert-trust-item i {
		font-size: 0.9rem;
	}
}

/* =========================================================
   ALIGNEMENT BAS DES ACTIONS - CARDS EXPERTS CONVERSION
   ========================================================= */

.expert-card-conversion {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.expert-card-bottom {
	margin-top: auto;
	width: 100%;
	display: flex;
	flex-direction: column;
}

.expert-card-bottom .expert-main-cta {
	margin-top: 0;
}

.expert-card-bottom .expert-secondary-link {
	margin-top: 0.7rem;
	margin-bottom: 0;
}

/* Hauteur homogène des blocs alternatifs pour aligner les boutons */
.expert-card-bottom .expert-unavailable-box {
	min-height: 106px;
	margin-top: 0;
	margin-bottom: 0.9rem;
}

/* La zone prix de la card disponible reste compacte mais alignée */
.expert-card-bottom .expert-price {
	margin-top: 0;
	margin-bottom: 0.75rem;
}

/* La note réponse immédiate garde le même espace partout */
.expert-card-bottom .expert-response-note {
	margin-top: 0.55rem;
}

/* Sécurité mobile : on conserve le même comportement */
@media (max-width: 767.98px) {
	.expert-card-conversion {
		display: flex;
		flex-direction: column;
	}

	.expert-card-bottom {
		margin-top: auto;
	}

	.expert-card-bottom .expert-unavailable-box {
		min-height: auto;
	}
}

/* =========================================================
   KANDITEL - HERO ACCUEIL VERSION CONVERSION
   Reprise du contenu production dans l'esprit refonte
   ========================================================= */

.hero-kanditel-conversion {
	position: relative;
	min-height: clamp(420px, 48vh, 560px);
	padding: 2.5rem 0;
	background:
		radial-gradient(circle at 15% 20%, rgba(205, 183, 246, 0.28), transparent 34%),
		linear-gradient(
			180deg,
			#F6ECDC 0%,
			#F6ECDC 52%,
			#EADCF2 78%,
			#D6B3E0 100%
		);
	overflow: hidden;
}

.hero-kanditel-conversion::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 70px;
	background: linear-gradient(
		180deg,
		rgba(214, 179, 224, 0),
		rgba(245, 242, 246, 0.86)
	);
	pointer-events: none;
}

.hero-kanditel-conversion .container {
	position: relative;
	z-index: 2;
}

.hero-content-card {
	max-width: 560px;
	padding: 2rem 2rem 1.7rem;
	border-radius: 26px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.74), rgba(255,255,255,0.52)),
		rgba(255,255,255,0.5);
	border: 1px solid rgba(230, 217, 250, 0.88);
	box-shadow:
		0 24px 55px rgba(74, 50, 96, 0.13),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: 1rem;
	padding: 0.48rem 0.8rem;
	border-radius: 999px;
	background: rgba(232, 246, 239, 0.82);
	border: 1px solid rgba(25, 135, 84, 0.2);
	color: #198754;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.2;
}

.hero-badge-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(25, 135, 84, 0.12);
	flex: 0 0 auto;
}

.hero-kanditel-conversion .hero-title {
	margin-top: 0;
	margin-bottom: 1rem;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.45rem, 4vw, 4.15rem);
	line-height: 1.02;
	font-weight: 600;
	color: #17135c;
	letter-spacing: -0.035em;
}

.hero-kanditel-conversion .hero-title span {
	color: #7B3CF0;
}

.hero-kanditel-conversion .hero-subtitle {
	max-width: 520px;
	margin-bottom: 1.35rem;
	color: rgba(23, 19, 92, 0.78);
	font-size: clamp(1.05rem, 1.45vw, 1.35rem);
	line-height: 1.45;
	font-weight: 500;
}

.hero-actions {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-bottom: 1.25rem;
}

.hero-main-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 52px;
	padding: 0.85rem 1.25rem;
	border-radius: 14px;
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	border: 1px solid rgba(76, 8, 169, 0.18);
	box-shadow:
		0 16px 30px rgba(100, 21, 200, 0.28),
		inset 0 1px 0 rgba(255,255,255,0.28);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.hero-main-cta:hover,
.hero-main-cta:focus-visible {
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
	background: linear-gradient(135deg, #7427d2, #520ab0);
	box-shadow:
		0 20px 36px rgba(100, 21, 200, 0.34),
		inset 0 1px 0 rgba(255,255,255,0.32);
}

.hero-reassurance {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.65rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(120, 90, 160, 0.13);
}

.hero-reassurance-item {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-width: 0;
	padding: 0.65rem 0.55rem;
	border-radius: 16px;
	background: rgba(255,255,255,0.56);
	border: 1px solid rgba(120, 90, 160, 0.12);
	box-shadow: 0 10px 24px rgba(74, 50, 96, 0.06);
}

.hero-reassurance-item i {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: #6b31a5;
	background: rgba(244, 228, 255, 0.84);
	flex: 0 0 auto;
	font-size: 0.9rem;
}

.hero-reassurance-item strong {
	display: block;
	color: #17135c;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.15;
}

.hero-reassurance-item span {
	display: block;
	margin-top: 0.1rem;
	color: rgba(23, 19, 92, 0.62);
	font-size: 0.68rem;
	line-height: 1.15;
}

.hero-kanditel-conversion .hero-visual {
	position: relative;
	max-height: 46vh;
}

.hero-kanditel-conversion .hero-visual img {
	display: block;
	max-height: 46vh;
	filter: drop-shadow(0 26px 52px rgba(74, 50, 96, 0.18));
}

/* Tablette */
@media (max-width: 991.98px) {
	.hero-kanditel-conversion {
		min-height: auto;
		padding: 3rem 1.5rem;
	}

	.hero-content-card {
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
	}

	.hero-kanditel-conversion .hero-title,
	.hero-kanditel-conversion .hero-subtitle {
		text-align: center;
	}

	.hero-badge,
	.hero-actions {
		justify-content: center;
	}

	.hero-main-cta {
		width: 100%;
		max-width: 420px;
		margin: 0 auto;
	}
}

/* Mobile */
@media (max-width: 767.98px) {
	.hero-kanditel-conversion {
		position: relative;
		min-height: auto;
		padding: 2.2rem 1rem 2.4rem;
		background:
			linear-gradient(
				180deg,
				rgba(246, 236, 220, 0.8) 0%,
				rgba(234, 220, 242, 0.86) 62%,
				rgba(214, 179, 224, 0.9) 100%
			);
	}

	.hero-kanditel-conversion::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: url("./images/hero-kanditel-2.jpg");
		background-size: cover;
		background-position: center top;
		opacity: 0.34;
		filter: saturate(0.95) brightness(1.06);
		-webkit-mask-image: linear-gradient(
			to bottom,
			rgba(0,0,0,0.8) 0%,
			rgba(0,0,0,0.45) 42%,
			rgba(0,0,0,0.12) 72%,
			rgba(0,0,0,0) 100%
		);
		mask-image: linear-gradient(
			to bottom,
			rgba(0,0,0,0.8) 0%,
			rgba(0,0,0,0.45) 42%,
			rgba(0,0,0,0.12) 72%,
			rgba(0,0,0,0) 100%
		);
		z-index: 1;
	}

	.hero-content-card {
		position: relative;
		z-index: 2;
		padding: 1.35rem 1.1rem 1.2rem;
		border-radius: 22px;
	}

	.hero-badge {
		font-size: 0.74rem;
		margin-bottom: 0.85rem;
	}

	.hero-kanditel-conversion .hero-title {
		font-size: clamp(2.05rem, 11vw, 2.8rem);
		margin-bottom: 0.9rem;
	}

	.hero-kanditel-conversion .hero-subtitle {
		font-size: 1rem;
		margin-bottom: 1.1rem;
	}

	.hero-reassurance {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.hero-reassurance-item {
		justify-content: flex-start;
		text-align: left;
		padding: 0.6rem 0.75rem;
	}

	.hero-main-cta {
		min-height: 48px;
		font-size: 0.86rem;
		padding-left: 0.9rem;
		padding-right: 0.9rem;
	}
}

@media (max-width: 390px) {
	.hero-main-cta {
		font-size: 0.78rem;
	}

	.hero-badge {
		align-items: flex-start;
		text-align: left;
	}
}

.navbar {
	min-height: 72px;
}

.navbar > .container-fluid {
	min-height: 72px;
}

.logo {
	font-size: 2.1rem;
}

/* =========================================================
   HERO KANDITEL CONVERSION - VERSION FINALE COMPACTE
   ========================================================= */

.hero-kanditel.hero-kanditel-conversion {
	min-height: 0;
	padding: 0;
	background:
		radial-gradient(circle at 8% 38%, rgba(205, 183, 246, 0.24), transparent 30%),
		linear-gradient(
			180deg,
			#F6ECDC 0%,
			#F6ECDC 50%,
			#EADCF2 78%,
			#D6B3E0 100%
		);
	overflow: hidden;
}

/* Pleine largeur, mais on garde une marge à gauche uniquement */
.hero-kanditel-conversion > .container {
	max-width: none;
	width: 100%;
	padding-left: clamp(26px, 5vw, 92px);
	padding-right: 0;
}

/* Hauteur plus raisonnable */
.hero-kanditel-conversion .row {
	min-height: 300px;
	margin-left: 0;
	margin-right: 0;
	align-items: stretch !important;
}

/* Colonnes du hero */
.hero-kanditel-conversion .row > [class*="col-"] {
	padding-left: 0;
	padding-right: 0;
	display: flex;
}

/* Colonne gauche : card centrée dans une hauteur plus compacte */
.hero-kanditel-conversion .row > [class*="col-"]:first-child {
	align-items: center;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

/* Colonne droite : collée à droite */
.hero-kanditel-conversion .row > [class*="col-"]:last-child {
	align-items: stretch;
	justify-content: flex-end;
}

/* Card CTA */
.hero-kanditel-conversion .hero-content-card {
	width: 100%;
	max-width: 760px;
	margin: 0;
	padding: 1.3rem 1.65rem 1.1rem;
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.80), rgba(255,255,255,0.60)),
		rgba(255,255,255,0.52);
	border: 1px solid rgba(230, 217, 250, 0.92);
	box-shadow:
		0 20px 46px rgba(74, 50, 96, 0.12),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.hero-kanditel-conversion .hero-badge {
	margin-bottom: 0.62rem;
	padding: 0.36rem 0.72rem;
	font-size: 0.74rem;
}

.hero-kanditel-conversion .hero-title {
	max-width: 720px;
	margin: 0 0 0.55rem;
	font-size: clamp(1.75rem, 2.45vw, 2.55rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
	color: #17135c;
}

.hero-kanditel-conversion .hero-title span {
	color: #7B3CF0;
}

.hero-kanditel-conversion .hero-subtitle {
	max-width: 680px;
	margin: 0 0 0.75rem;
	font-size: clamp(0.94rem, 1vw, 1.05rem);
	line-height: 1.35;
	color: rgba(23, 19, 92, 0.78);
}

.hero-kanditel-conversion .hero-actions {
	margin: 0 0 0.72rem;
}

.hero-kanditel-conversion .hero-main-cta {
	width: auto;
	min-width: 380px;
	min-height: 44px;
	padding: 0.66rem 1.15rem;
	border-radius: 13px;
	font-size: 0.86rem;
	white-space: nowrap;
}

/* Réassurance compacte */
.hero-kanditel-conversion .hero-reassurance {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.52rem;
	padding-top: 0.72rem;
	border-top: 1px solid rgba(120, 90, 160, 0.13);
}

.hero-kanditel-conversion .hero-reassurance-item {
	min-height: 42px;
	padding: 0.42rem 0.55rem;
	border-radius: 14px;
}

.hero-kanditel-conversion .hero-reassurance-item i {
	width: 24px;
	height: 24px;
	font-size: 0.78rem;
}

.hero-kanditel-conversion .hero-reassurance-item strong {
	font-size: 0.7rem;
}

.hero-kanditel-conversion .hero-reassurance-item span {
	font-size: 0.62rem;
}

/* Visuel : hauteur maîtrisée + collé à droite */
.hero-kanditel-conversion .hero-visual {
	width: 100%;
	height: 100%;
	min-height: 300px;
	max-height: none;
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	overflow: hidden;
}

.hero-kanditel-conversion .hero-visual img {
	width: 100%;
	height: 100%;
	min-height: 340px;
	max-height: none;
	object-fit: cover;
	object-position: center center;
	filter: drop-shadow(0 24px 48px rgba(74, 50, 96, 0.14));

	-webkit-mask-image: linear-gradient(
		to right,
		rgba(0,0,0,0) 0%,
		rgba(0,0,0,0.26) 9%,
		rgba(0,0,0,0.75) 23%,
		rgba(0,0,0,1) 39%,
		rgba(0,0,0,1) 76%,
		rgba(0,0,0,0.88) 91%,
		rgba(0,0,0,0.45) 100%
	);

	mask-image: linear-gradient(
		to right,
		rgba(0,0,0,0) 0%,
		rgba(0,0,0,0.26) 9%,
		rgba(0,0,0,0.75) 23%,
		rgba(0,0,0,1) 39%,
		rgba(0,0,0,1) 76%,
		rgba(0,0,0,0.88) 91%,
		rgba(0,0,0,0.45) 100%
	);
}

/* On neutralise le blur hérité qui abîme le visuel sur ce hero */
.hero-kanditel-conversion .hero-visual::before {
	display: none;
}

@media (max-width: 1199.98px) {
	.hero-kanditel-conversion > .container {
		padding-left: clamp(22px, 4vw, 64px);
		padding-right: 0;
	}

	.hero-kanditel-conversion .row {
		min-height: 290px;
	}

	.hero-kanditel-conversion .hero-content-card {
		max-width: 700px;
		padding: 1.2rem 1.45rem 1.05rem;
	}

	.hero-kanditel-conversion .hero-title {
		font-size: clamp(1.65rem, 2.6vw, 2.35rem);
	}

	.hero-kanditel-conversion .hero-main-cta {
		min-width: 350px;
	}

	.hero-kanditel-conversion .hero-visual,
	.hero-kanditel-conversion .hero-visual img {
		min-height: 290px;
	}
}

@media (max-width: 991.98px) {
	.hero-kanditel.hero-kanditel-conversion {
		padding: 1.25rem 1rem 1.5rem;
	}

	.hero-kanditel-conversion > .container {
		padding-left: 0;
		padding-right: 0;
	}

	.hero-kanditel-conversion .row {
		min-height: auto;
	}

	.hero-kanditel-conversion .row > [class*="col-"]:first-child {
		padding-top: 0;
		padding-bottom: 0;
	}

	.hero-kanditel-conversion .hero-content-card {
		max-width: 100%;
		margin: 0 auto;
		padding: 1.3rem 1.1rem 1.15rem;
		text-align: center;
	}

	.hero-kanditel-conversion .hero-title {
		font-size: clamp(1.9rem, 8.5vw, 2.55rem);
		text-align: center;
	}

	.hero-kanditel-conversion .hero-subtitle {
		text-align: center;
	}

	.hero-kanditel-conversion .hero-main-cta {
		width: 100%;
		min-width: 0;
		white-space: normal;
	}

	.hero-kanditel-conversion .hero-reassurance {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   CORRECTIF HAUTEUR HERO KANDITEL
   ========================================================= */

.hero-kanditel.hero-kanditel-conversion {
	min-height: 0;
}

.hero-kanditel-conversion .row {
	min-height: 320px;
}

.hero-kanditel-conversion .row > [class*="col-"]:first-child {
	padding-top: 0.45rem;
	padding-bottom: 0.45rem;
}

.hero-kanditel-conversion .hero-visual {
	min-height: 320px;
	height: 320px;
}

.hero-kanditel-conversion .hero-visual img {
	min-height: 320px;
	height: 320px;
}

@media (max-width: 1199.98px) {
	.hero-kanditel-conversion .row {
		min-height: 310px;
	}

	.hero-kanditel-conversion .hero-visual,
	.hero-kanditel-conversion .hero-visual img {
		min-height: 310px;
		height: 310px;
	}
}

/* =========================================================
   KANDITEL REFONTE - BANDEAU PROGRAMME FIDÉLITÉ
   ========================================================= */

.kdt-loyalty-refonte-section {
	padding: 0;
	background: #F6ECDC;
}

.kdt-loyalty-refonte {
	position: relative;
	display: grid;
	grid-template-columns: minmax(210px, 300px) minmax(0, 1fr) minmax(220px, 280px);
	align-items: center;
	gap: clamp(1.4rem, 3vw, 3rem);
	width: 100%;
	min-height: 178px;
	padding: clamp(1.35rem, 2.4vw, 2rem) clamp(2rem, 6vw, 6.5rem);
	overflow: hidden;
	color: #17135c;
	text-decoration: none;
	background:
		radial-gradient(circle at 10% 50%, rgba(205, 183, 246, 0.26), transparent 30%),
		radial-gradient(circle at 88% 18%, rgba(214, 172, 82, 0.14), transparent 26%),
		linear-gradient(135deg, rgba(255,255,255,0.66), rgba(251,239,255,0.84));
	border-top: 1px solid rgba(120, 90, 160, 0.12);
	border-bottom: 1px solid rgba(120, 90, 160, 0.12);
	box-shadow:
		0 18px 44px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.72);
}

.kdt-loyalty-refonte:hover,
.kdt-loyalty-refonte:focus-visible {
	color: #17135c;
	text-decoration: none;
}

.kdt-loyalty-refonte::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,0.28), transparent 42%),
		linear-gradient(180deg, rgba(255,255,255,0.24), transparent);
	pointer-events: none;
}

.kdt-loyalty-refonte > * {
	position: relative;
	z-index: 1;
}

.kdt-loyalty-refonte-visual {
	min-height: 128px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kdt-loyalty-refonte-ticket {
	width: 220px;
	height: 116px;
	padding: 7px;
	border-radius: 18px;
	background: linear-gradient(135deg, #4c08a9, #7B3CF0);
	border: 2px solid rgba(214, 172, 82, 0.88);
	box-shadow:
		0 20px 34px rgba(74, 50, 96, 0.20),
		inset 0 1px 0 rgba(255,255,255,0.18);
	transform: rotate(-8deg);
}

.kdt-loyalty-refonte-ticket-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(246, 213, 130, 0.84);
	border-radius: 13px;
	color: #f7d98b;
	text-align: center;
	background:
		radial-gradient(circle at top right, rgba(255,255,255,0.16), transparent 28%),
		linear-gradient(135deg, rgba(255,255,255,0.06), rgba(0,0,0,0.08));
}

.kdt-loyalty-refonte-ticket-inner i {
	margin-bottom: 0.25rem;
	font-size: 1.25rem;
	line-height: 1;
}

.kdt-loyalty-refonte-ticket-inner strong {
	display: block;
	font-family: "Libre Baskerville", serif;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.kdt-loyalty-refonte-ticket-inner span {
	display: block;
	margin-top: 0.45rem;
	color: #ffffff;
	font-family: "Libre Baskerville", serif;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.kdt-loyalty-refonte-content {
	min-width: 0;
}

.kdt-loyalty-refonte-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: 0.85rem;
	padding: 0.48rem 1rem;
	border-radius: 999px;
	color: #9c741f;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(214, 172, 82, 0.45);
	font-size: 0.88rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.kdt-loyalty-refonte-badge i {
	font-size: 1rem;
}

.kdt-loyalty-refonte-title {
	margin: 0 0 0.65rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.8rem, 3vw, 3rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.kdt-loyalty-refonte-subtitle {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin: 0 0 0.45rem;
	color: rgba(23, 19, 92, 0.88);
	font-size: clamp(1rem, 1.45vw, 1.35rem);
	line-height: 1.35;
}

.kdt-loyalty-refonte-subtitle i {
	color: #6415c8;
	font-size: 1.8rem;
	line-height: 1;
	flex: 0 0 auto;
}

.kdt-loyalty-refonte-subtitle strong {
	color: #4c08a9;
	font-weight: 800;
}

.kdt-loyalty-refonte-note {
	margin: 0;
	color: rgba(23, 19, 92, 0.66);
	font-size: 0.86rem;
	line-height: 1.45;
}

.kdt-loyalty-refonte-action {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
	padding-left: clamp(1.2rem, 2vw, 2.3rem);
	border-left: 1px solid rgba(120, 90, 160, 0.16);
}

.kdt-loyalty-refonte-action span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	width: 100%;
	min-height: 64px;
	padding: 1rem 1.25rem;
	border-radius: 14px;
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	box-shadow:
		0 16px 34px rgba(100, 21, 200, 0.26),
		inset 0 1px 0 rgba(255,255,255,0.25);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	transition: transform 0.18s ease, box-shadow 0.22s ease;
}

.kdt-loyalty-refonte:hover .kdt-loyalty-refonte-action span,
.kdt-loyalty-refonte:focus-visible .kdt-loyalty-refonte-action span {
	transform: translateY(-1px);
	box-shadow:
		0 20px 40px rgba(100, 21, 200, 0.32),
		inset 0 1px 0 rgba(255,255,255,0.28);
}

.kdt-loyalty-refonte-action i {
	font-size: 1.35rem;
	line-height: 1;
}

.kdt-loyalty-refonte-star {
	position: absolute;
	color: #d6ac52;
	opacity: 0.86;
	pointer-events: none;
}

.kdt-loyalty-refonte-star-top {
	top: 1.45rem;
	right: 5.3rem;
	font-size: 1.25rem;
}

.kdt-loyalty-refonte-star-right {
	top: 3.2rem;
	right: 3.7rem;
	font-size: 2rem;
}

/* Tablette */
@media (max-width: 1199.98px) {
	.kdt-loyalty-refonte {
		grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) minmax(190px, 230px);
		gap: 1.4rem;
		padding: 1.35rem 2rem;
	}

	.kdt-loyalty-refonte-ticket {
		width: 190px;
		height: 100px;
	}

	.kdt-loyalty-refonte-ticket-inner strong {
		font-size: 1.25rem;
	}

	.kdt-loyalty-refonte-ticket-inner span {
		font-size: 0.95rem;
	}

	.kdt-loyalty-refonte-title {
		font-size: clamp(1.55rem, 2.8vw, 2.35rem);
	}

	.kdt-loyalty-refonte-action span {
		min-height: 58px;
		font-size: 0.92rem;
	}
}

/* Mobile */
@media (max-width: 767.98px) {
	.kdt-loyalty-refonte-section {
		padding: 0.85rem 0.75rem 0.25rem;
		background: #F6ECDC;
	}

	.kdt-loyalty-refonte {
		display: grid;
		grid-template-columns: 54px minmax(0, 1fr);
		grid-template-areas:
			"icon content"
			"cta cta";
		gap: 0.75rem 0.85rem;
		min-height: 0;
		padding: 0.95rem;
		border-radius: 22px;
		background:
			radial-gradient(circle at 10% 20%, rgba(205, 183, 246, 0.28), transparent 36%),
			linear-gradient(135deg, rgba(255,255,255,0.86), rgba(251,239,255,0.96));
		border: 1px solid rgba(120, 90, 160, 0.14);
		box-shadow:
			0 14px 34px rgba(74, 50, 96, 0.10),
			inset 0 1px 0 rgba(255,255,255,0.74);
	}

	.kdt-loyalty-refonte-visual {
		grid-area: icon;
		min-height: 0;
		align-self: start;
		justify-content: center;
	}

	.kdt-loyalty-refonte-ticket {
		width: 54px;
		height: 54px;
		padding: 0;
		border-radius: 999px;
		transform: none;
		border-width: 1px;
	}

	.kdt-loyalty-refonte-ticket-inner {
		border: none;
		border-radius: 999px;
	}

	.kdt-loyalty-refonte-ticket-inner i {
		margin: 0;
		font-size: 1.25rem;
	}

	.kdt-loyalty-refonte-ticket-inner strong,
	.kdt-loyalty-refonte-ticket-inner span {
		display: none;
	}

	.kdt-loyalty-refonte-content {
		grid-area: content;
	}

	.kdt-loyalty-refonte-badge {
		margin-bottom: 0.35rem;
		padding: 0;
		color: #9c741f;
		background: transparent;
		border: none;
		border-radius: 0;
		font-size: 0.68rem;
		line-height: 1.2;
	}

	.kdt-loyalty-refonte-badge i {
		display: none;
	}

	.kdt-loyalty-refonte-title {
		margin-bottom: 0.3rem;
		font-size: 1.15rem;
		line-height: 1.18;
		letter-spacing: -0.02em;
	}

	.kdt-loyalty-refonte-subtitle {
		display: block;
		margin: 0;
		font-size: 0.84rem;
		line-height: 1.28;
	}

	.kdt-loyalty-refonte-subtitle i {
		display: none;
	}

	.kdt-loyalty-refonte-note {
		display: none;
	}

	.kdt-loyalty-refonte-action {
		grid-area: cta;
		display: block;
		height: auto;
		padding-left: 0;
		border-left: none;
	}

	.kdt-loyalty-refonte-action span {
		min-height: 42px;
		padding: 0.65rem 0.9rem;
		border-radius: 13px;
		font-size: 0.86rem;
	}

	.kdt-loyalty-refonte-star-top {
		top: 0.65rem;
		right: 2.8rem;
		font-size: 1rem;
	}

	.kdt-loyalty-refonte-star-right {
		top: 1.4rem;
		right: 1.1rem;
		font-size: 1.35rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - BLOCS RÉASSURANCE
   ========================================================= */

.kdt-trust-section {
	padding: 1.4rem 0 1.9rem;
	background: #F6ECDC;
}

.kdt-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.9rem, 1.6vw, 1.35rem);
	max-width: 1160px;
	margin: 0 auto;
}

.kdt-trust-card {
	position: relative;
	min-height: 148px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1.2rem 1rem;
	text-align: center;
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.66)),
		rgba(255,255,255,0.62);
	border: 1px solid rgba(230, 217, 250, 0.78);
	box-shadow:
		0 16px 34px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	overflow: hidden;
}

.kdt-trust-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 0%, rgba(205, 183, 246, 0.18), transparent 38%),
		linear-gradient(180deg, rgba(255,255,255,0.18), transparent);
	pointer-events: none;
}

.kdt-trust-card > * {
	position: relative;
	z-index: 1;
}

.kdt-trust-icon {
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.85rem;
	border-radius: 999px;
	color: #17135c;
	background: rgba(234, 220, 242, 0.86);
	box-shadow:
		0 10px 22px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.78);
}

.kdt-trust-icon i {
	font-size: 1.28rem;
	line-height: 1;
}

.kdt-trust-card strong {
	display: block;
	margin-bottom: 0.35rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: 1.22rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.015em;
}

.kdt-trust-card span {
	display: block;
	color: rgba(74, 50, 96, 0.68);
	font-size: 0.82rem;
	line-height: 1.25;
}

/* Léger effet premium au survol desktop */
@media (hover: hover) {
	.kdt-trust-card {
		transition: transform 0.18s ease, box-shadow 0.22s ease, border-color 0.22s ease;
	}

	.kdt-trust-card:hover {
		transform: translateY(-2px);
		border-color: rgba(205, 183, 246, 0.95);
		box-shadow:
			0 20px 42px rgba(74, 50, 96, 0.11),
			inset 0 1px 0 rgba(255,255,255,0.92);
	}
}

/* Tablette */
@media (max-width: 991.98px) {
	.kdt-trust-section {
		padding: 1.2rem 1rem 1.5rem;
	}

	.kdt-trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.85rem;
	}

	.kdt-trust-card {
		min-height: 132px;
		padding: 1rem 0.85rem;
	}

	.kdt-trust-icon {
		width: 48px;
		height: 48px;
		margin-bottom: 0.7rem;
	}

	.kdt-trust-card strong {
		font-size: 1.08rem;
	}
}

/* Mobile */
@media (max-width: 575.98px) {
	.kdt-trust-section {
		padding: 1rem 0.75rem 1.25rem;
	}

	.kdt-trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem;
	}

	.kdt-trust-card {
		min-height: 112px;
		padding: 0.85rem 0.55rem;
		border-radius: 16px;
	}

	.kdt-trust-icon {
		width: 40px;
		height: 40px;
		margin-bottom: 0.55rem;
	}

	.kdt-trust-icon i {
		font-size: 1rem;
	}

	.kdt-trust-card strong {
		margin-bottom: 0.25rem;
		font-size: 0.94rem;
		line-height: 1.15;
	}

	.kdt-trust-card span {
		font-size: 0.72rem;
		line-height: 1.2;
	}
}

/* =========================================================
   KANDITEL REFONTE - BLOC VOYANCE PAR TÉLÉPHONE 24H/24
   ========================================================= */

.kdt-phone24-section {
	position: relative;
	padding: clamp(2.2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 20%, rgba(205, 183, 246, 0.20), transparent 32%),
		radial-gradient(circle at 88% 80%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f5f2f6 100%);
	overflow: hidden;
}

.kdt-phone24-section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: min(1120px, calc(100% - 2rem));
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(
		to right,
		transparent,
		rgba(120, 90, 160, 0.22),
		transparent
	);
}

.kdt-phone24-section .container {
	position: relative;
	z-index: 1;
}

.kdt-phone24-header {
	max-width: 780px;
	margin: 0 auto 1.8rem;
}

.kdt-section-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 0.85rem;
	padding: 0.48rem 0.9rem;
	border-radius: 999px;
	color: #6b31a5;
	background: rgba(255,255,255,0.62);
	border: 1px solid rgba(205, 183, 246, 0.72);
	box-shadow:
		0 10px 24px rgba(74, 50, 96, 0.07),
		inset 0 1px 0 rgba(255,255,255,0.82);
	font-size: 0.84rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.kdt-section-kicker i {
	font-size: 1rem;
	line-height: 1;
}

.kdt-phone24-title {
	margin: 0 0 0.75rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2rem, 3.6vw, 3.25rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.kdt-phone24-lead {
	max-width: 620px;
	margin: 0 auto;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.4vw, 1.18rem);
	line-height: 1.55;
}

.kdt-phone24-card {
	position: relative;
	display: flex;
	gap: 1.15rem;
	padding: clamp(1.25rem, 2vw, 1.65rem);
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.62)),
		rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 18px 42px rgba(74, 50, 96, 0.09),
		inset 0 1px 0 rgba(255,255,255,0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	overflow: hidden;
}

.kdt-phone24-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 10% 0%, rgba(205, 183, 246, 0.20), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.16), transparent);
	pointer-events: none;
}

.kdt-phone24-card > * {
	position: relative;
	z-index: 1;
}

.kdt-phone24-icon {
	width: 58px;
	height: 58px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: 18px;
	color: #6415c8;
	background: rgba(244, 228, 255, 0.88);
	box-shadow:
		0 12px 26px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.82);
}

.kdt-phone24-icon i {
	font-size: 1.55rem;
	line-height: 1;
}

.kdt-phone24-card-content {
	min-width: 0;
}

.kdt-phone24-card h3 {
	margin: 0 0 0.65rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.22rem, 1.7vw, 1.55rem);
	font-weight: 700;
	line-height: 1.25;
}

.kdt-phone24-card p {
	margin: 0 0 0.55rem;
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.96rem;
	line-height: 1.58;
}

.kdt-phone24-card p:last-child {
	margin-bottom: 0;
}

.kdt-phone24-card a {
	color: #6415c8;
	font-weight: 700;
	text-decoration: none;
}

.kdt-phone24-card a:hover,
.kdt-phone24-card a:focus-visible {
	color: #4c08a9;
	text-decoration: none;
}

.kdt-phone24-bullets {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	margin: 1.5rem auto 1.15rem;
}

.kdt-phone24-bullets span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.48rem 0.78rem;
	border-radius: 999px;
	color: rgba(23, 19, 92, 0.78);
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.72);
	font-size: 0.84rem;
	font-weight: 700;
	box-shadow: 0 10px 22px rgba(74, 50, 96, 0.05);
}

.kdt-phone24-bullets span::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: #7B3CF0;
	box-shadow: 0 0 0 4px rgba(123, 60, 240, 0.10);
	flex: 0 0 auto;
}

.kdt-phone24-bottom {
	max-width: 920px;
	margin: 0 auto;
	padding: 1rem 1.15rem;
	border-radius: 20px;
	text-align: center;
	background: rgba(255,255,255,0.42);
	border: 1px solid rgba(230, 217, 250, 0.58);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.kdt-phone24-bottom p {
	margin: 0;
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.96rem;
	line-height: 1.62;
}

/* Tablette */
@media (max-width: 991.98px) {
	.kdt-phone24-section {
		padding: 2rem 1rem;
	}

	.kdt-phone24-header {
		margin-bottom: 1.35rem;
	}

	.kdt-phone24-card {
		gap: 0.95rem;
		padding: 1.15rem;
		border-radius: 22px;
	}

	.kdt-phone24-icon {
		width: 52px;
		height: 52px;
		border-radius: 16px;
	}

	.kdt-phone24-icon i {
		font-size: 1.35rem;
	}
}

/* Mobile */
@media (max-width: 575.98px) {
	.kdt-phone24-section {
		padding: 1.65rem 0.75rem;
	}

	.kdt-section-kicker {
		margin-bottom: 0.7rem;
		font-size: 0.72rem;
	}

	.kdt-phone24-title {
		font-size: clamp(1.55rem, 8vw, 2.15rem);
	}

	.kdt-phone24-lead {
		font-size: 0.94rem;
		line-height: 1.45;
	}

	.kdt-phone24-card {
		display: block;
		padding: 1rem;
		text-align: center;
	}

	.kdt-phone24-icon {
		margin: 0 auto 0.85rem;
	}

	.kdt-phone24-card h3 {
		font-size: 1.12rem;
	}

	.kdt-phone24-card p {
		font-size: 0.9rem;
		line-height: 1.48;
	}

	.kdt-phone24-bullets {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
		margin: 1.15rem auto 0.9rem;
	}

	.kdt-phone24-bullets span {
		justify-content: center;
		padding: 0.48rem 0.52rem;
		font-size: 0.72rem;
		text-align: center;
	}

	.kdt-phone24-bottom {
		padding: 0.85rem;
		border-radius: 18px;
	}

	.kdt-phone24-bottom p {
		font-size: 0.86rem;
		line-height: 1.5;
	}
}

/* =========================================================
   KANDITEL REFONTE - TÉMOIGNAGE VIDÉO
   ========================================================= */

.kdt-video-testimony-refonte-section {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 18%, rgba(205, 183, 246, 0.20), transparent 30%),
		radial-gradient(circle at 92% 70%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #f5f2f6 0%, #F6ECDC 100%);
	overflow: hidden;
}

.kdt-video-testimony-refonte {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1fr);
	gap: clamp(1.4rem, 3vw, 2.8rem);
	align-items: center;
	padding: clamp(1.3rem, 2.5vw, 2rem);
	border-radius: 28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.58)),
		rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.84);
	box-shadow:
		0 22px 52px rgba(74, 50, 96, 0.10),
		inset 0 1px 0 rgba(255,255,255,0.88);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	overflow: hidden;
}

.kdt-video-testimony-refonte::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 6% 10%, rgba(205, 183, 246, 0.22), transparent 34%),
		radial-gradient(circle at 88% 8%, rgba(123, 60, 240, 0.10), transparent 24%),
		linear-gradient(135deg, rgba(255,255,255,0.22), transparent 48%);
	pointer-events: none;
}

.kdt-video-testimony-refonte > * {
	position: relative;
	z-index: 1;
}

.kdt-video-testimony-content {
	padding: clamp(0.4rem, 1vw, 0.75rem);
}

.kdt-video-testimony-title {
	margin: 0 0 0.85rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.85rem, 3.3vw, 3rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.kdt-video-testimony-lead {
	max-width: 620px;
	margin: 0;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.3vw, 1.16rem);
	line-height: 1.58;
}

.kdt-video-testimony-list {
	display: grid;
	gap: 0.65rem;
	margin: 1.35rem 0 0;
	padding: 0;
	list-style: none;
	color: rgba(23, 19, 92, 0.78);
	font-size: 0.96rem;
	font-weight: 600;
}

.kdt-video-testimony-list li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.kdt-video-testimony-list i {
	color: #6415c8;
	font-size: 1rem;
	flex: 0 0 auto;
}

.kdt-video-testimony-media {
	min-width: 0;
}

.kdt-video-testimony-frame {
	position: relative;
	padding: 0.65rem;
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.62)),
		rgba(255,255,255,0.62);
	border: 1px solid rgba(230, 217, 250, 0.88);
	box-shadow:
		0 18px 44px rgba(74, 50, 96, 0.13),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.kdt-video-testimony-frame::after {
	content: "";
	position: absolute;
	right: -0.65rem;
	top: -0.65rem;
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background:
		radial-gradient(circle, rgba(214, 172, 82, 0.28), transparent 64%),
		rgba(244, 228, 255, 0.82);
	box-shadow: 0 14px 30px rgba(74, 50, 96, 0.10);
	pointer-events: none;
}

.kdt-video-testimony-ratio {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 18px;
	overflow: hidden;
	background: #17135c;
}

.kdt-video-testimony-ratio iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.kdt-video-testimony-caption {
	margin: 0.75rem 0 0;
	color: rgba(23, 19, 92, 0.62);
	font-size: 0.86rem;
	line-height: 1.4;
	text-align: center;
}

/* Tablette */
@media (max-width: 991.98px) {
	.kdt-video-testimony-refonte-section {
		padding: 2rem 1rem;
	}

	.kdt-video-testimony-refonte {
		grid-template-columns: 1fr;
		gap: 1.35rem;
		padding: 1.25rem;
		border-radius: 24px;
	}

	.kdt-video-testimony-content {
		text-align: center;
	}

	.kdt-video-testimony-lead {
		margin-left: auto;
		margin-right: auto;
	}

	.kdt-video-testimony-list {
		max-width: 420px;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}
}

/* Mobile */
@media (max-width: 575.98px) {
	.kdt-video-testimony-refonte-section {
		padding: 1.5rem 0.75rem;
	}

	.kdt-video-testimony-refonte {
		padding: 1rem;
		border-radius: 22px;
	}

	.kdt-video-testimony-title {
		font-size: clamp(1.45rem, 7.4vw, 2.05rem);
	}

	.kdt-video-testimony-lead {
		font-size: 0.92rem;
		line-height: 1.48;
	}

	.kdt-video-testimony-list {
		gap: 0.5rem;
		margin-top: 1rem;
		font-size: 0.88rem;
	}

	.kdt-video-testimony-frame {
		padding: 0.45rem;
		border-radius: 18px;
	}

	.kdt-video-testimony-ratio {
		border-radius: 14px;
	}

	.kdt-video-testimony-caption {
		font-size: 0.78rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - POURQUOI CHOISIR KANDITEL
   ========================================================= */

.kdt-why-section {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 20%, rgba(205, 183, 246, 0.18), transparent 30%),
		radial-gradient(circle at 88% 76%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f5f2f6 100%);
	overflow: hidden;
}

.kdt-why-section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: min(1120px, calc(100% - 2rem));
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(
		to right,
		transparent,
		rgba(120, 90, 160, 0.22),
		transparent
	);
}

.kdt-why-section .container {
	position: relative;
	z-index: 1;
}

.kdt-why-header {
	max-width: 790px;
	margin: 0 auto 1.8rem;
}

.kdt-why-title {
	margin: 0 0 0.75rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.9rem, 3.4vw, 3.05rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.kdt-why-lead {
	max-width: 640px;
	margin: 0 auto;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.35vw, 1.16rem);
	line-height: 1.55;
}

.kdt-why-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.9rem, 1.7vw, 1.35rem);
	max-width: 1140px;
	margin: 0 auto;
}

.kdt-why-card {
	position: relative;
	min-height: 210px;
	padding: 1.35rem 1.25rem;
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.62)),
		rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 18px 42px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	overflow: hidden;
}

.kdt-why-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 0%, rgba(205, 183, 246, 0.20), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.18), transparent);
	pointer-events: none;
}

.kdt-why-card > * {
	position: relative;
	z-index: 1;
}

.kdt-why-icon {
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	border-radius: 18px;
	color: #6415c8;
	background: rgba(244, 228, 255, 0.88);
	box-shadow:
		0 12px 26px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.82);
}

.kdt-why-icon i {
	font-size: 1.35rem;
	line-height: 1;
}

.kdt-why-card h3 {
	margin: 0 0 0.55rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: 1.22rem;
	font-weight: 700;
	line-height: 1.25;
}

.kdt-why-card p {
	margin: 0;
	color: rgba(23, 19, 92, 0.70);
	font-size: 0.94rem;
	line-height: 1.52;
}

/* Léger effet premium au survol desktop */
@media (hover: hover) {
	.kdt-why-card {
		transition: transform 0.18s ease, box-shadow 0.22s ease, border-color 0.22s ease;
	}

	.kdt-why-card:hover {
		transform: translateY(-2px);
		border-color: rgba(205, 183, 246, 0.95);
		box-shadow:
			0 22px 48px rgba(74, 50, 96, 0.11),
			inset 0 1px 0 rgba(255,255,255,0.92);
	}
}

/* Tablette */
@media (max-width: 991.98px) {
	.kdt-why-section {
		padding: 2rem 1rem;
	}

	.kdt-why-header {
		margin-bottom: 1.35rem;
	}

	.kdt-why-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.85rem;
	}

	.kdt-why-card {
		min-height: 190px;
		padding: 1.15rem;
		border-radius: 22px;
	}

	.kdt-why-icon {
		width: 50px;
		height: 50px;
		margin-bottom: 0.85rem;
		border-radius: 16px;
	}

	.kdt-why-card h3 {
		font-size: 1.12rem;
	}
}

/* Mobile */
@media (max-width: 575.98px) {
	.kdt-why-section {
		padding: 1.55rem 0.75rem;
	}

	.kdt-why-title {
		font-size: clamp(1.45rem, 7.4vw, 2.05rem);

	}

	.kdt-why-lead {
		font-size: 0.92rem;
		line-height: 1.45;
	}

	.kdt-why-grid {
		grid-template-columns: 1fr;
		gap: 0.7rem;
	}

	.kdt-why-card {
		display: grid;
		grid-template-columns: 46px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 0.8rem;
		min-height: 0;
		padding: 0.95rem;
		border-radius: 18px;
	}

	.kdt-why-icon {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 44px;
		height: 44px;
		margin: 0;
		border-radius: 14px;
	}

	.kdt-why-icon i {
		font-size: 1.08rem;
	}

	.kdt-why-card h3 {
		grid-column: 2;
		grid-row: 1;
		margin-bottom: 0.25rem;
		font-size: 1rem;
		line-height: 1.2;
	}

	.kdt-why-card p {
		grid-column: 2;
		grid-row: 2;
		font-size: 0.84rem;
		line-height: 1.38;
	}
}

/* =========================================================
   KANDITEL REFONTE - FAQ SEO ACCORDÉON
   ========================================================= */

.kdt-faq-section {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 20%, rgba(205, 183, 246, 0.18), transparent 30%),
		radial-gradient(circle at 88% 74%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #f5f2f6 0%, #F6ECDC 100%);
	overflow: hidden;
}

.kdt-faq-section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: min(1120px, calc(100% - 2rem));
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(
		to right,
		transparent,
		rgba(120, 90, 160, 0.22),
		transparent
	);
}

.kdt-faq-section .container {
	position: relative;
	z-index: 1;
}

.kdt-faq-header {
	max-width: 820px;
	margin: 0 auto 1.8rem;
}

.kdt-faq-title {
	margin: 0 0 0.75rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.9rem, 3.4vw, 3.05rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.kdt-faq-lead {
	max-width: 640px;
	margin: 0 auto;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.35vw, 1.16rem);
	line-height: 1.55;
}

.kdt-faq-accordion {
	max-width: 980px;
	margin: 0 auto;
	display: grid;
	gap: 0.75rem;
}

.kdt-faq-item {
	border: 1px solid rgba(230, 217, 250, 0.82);
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.62)),
		rgba(255,255,255,0.58);
	box-shadow:
		0 14px 32px rgba(74, 50, 96, 0.07),
		inset 0 1px 0 rgba(255,255,255,0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	overflow: hidden;
}

.kdt-faq-button {
	min-height: 62px;
	padding: 1rem 1.25rem;
	color: #17135c;
	background: transparent;
	border: none;
	box-shadow: none;
	font-family: "Libre Baskerville", serif;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
}

.kdt-faq-button:not(.collapsed) {
	color: #4c08a9;
	background:
		radial-gradient(circle at 10% 0%, rgba(205, 183, 246, 0.18), transparent 36%),
		rgba(255,255,255,0.26);
	box-shadow: none;
}

.kdt-faq-button:focus {
	box-shadow: none;
}

.kdt-faq-button:focus-visible {
	box-shadow: inset 0 0 0 2px rgba(123, 60, 240, 0.24);
}

.kdt-faq-button::after {
	width: 36px;
	height: 36px;
	margin-left: 1rem;
	border-radius: 999px;
	background-color: rgba(244, 228, 255, 0.88);
	background-position: center;
	background-size: 1rem;
	box-shadow:
		0 8px 18px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.82);
}

.kdt-faq-body {
	padding: 0 1.25rem 1.15rem;
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.96rem;
	line-height: 1.6;
}

.kdt-faq-body p {
	margin: 0 0 0.7rem;
}

.kdt-faq-body p:last-child {
	margin-bottom: 0;
}

.kdt-faq-body h4 {
	margin: 1rem 0 0.4rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: 1rem;
	font-weight: 700;
}

/* Tablette */
@media (max-width: 991.98px) {
	.kdt-faq-section {
		padding: 2rem 1rem;
	}

	.kdt-faq-header {
		margin-bottom: 1.35rem;
	}

	.kdt-faq-button {
		min-height: 58px;
		padding: 0.95rem 1rem;
		font-size: 0.98rem;
	}

	.kdt-faq-body {
		padding: 0 1rem 1rem;
	}
}

/* Mobile */
@media (max-width: 575.98px) {
	.kdt-faq-section {
		padding: 1.55rem 0.75rem;
	}

	.kdt-faq-title {
		font-size: clamp(1.45rem, 7.4vw, 2.05rem);
	}

	.kdt-faq-lead {
		font-size: 0.92rem;
		line-height: 1.45;
	}

	.kdt-faq-accordion {
		gap: 0.6rem;
	}

	.kdt-faq-item {
		border-radius: 16px;
	}

	.kdt-faq-button {
		min-height: 54px;
		padding: 0.85rem 0.85rem;
		font-size: 0.9rem;
	}

	.kdt-faq-button::after {
		width: 30px;
		height: 30px;
		margin-left: 0.75rem;
		background-size: 0.85rem;
	}

	.kdt-faq-body {
		padding: 0 0.85rem 0.9rem;
		font-size: 0.86rem;
		line-height: 1.5;
	}
}

/* =========================================================
   KANDITEL REFONTE - NEWSLETTER BAS DE PAGE
   ========================================================= */

.kdt-newsletter-section {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 10% 20%, rgba(205, 183, 246, 0.22), transparent 30%),
		radial-gradient(circle at 88% 74%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f5f2f6 100%);
	overflow: hidden;
}

.kdt-newsletter-section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: min(1120px, calc(100% - 2rem));
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(
		to right,
		transparent,
		rgba(120, 90, 160, 0.22),
		transparent
	);
}

.kdt-newsletter-section .container {
	position: relative;
	z-index: 1;
}

.kdt-newsletter-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.75fr);
	align-items: center;
	gap: clamp(1.4rem, 3vw, 2.6rem);
	padding: clamp(1.35rem, 2.6vw, 2.2rem);
	border-radius: 30px;
	background:
		radial-gradient(circle at 8% 20%, rgba(205, 183, 246, 0.24), transparent 34%),
		radial-gradient(circle at 94% 0%, rgba(214, 172, 82, 0.14), transparent 28%),
		linear-gradient(135deg, rgba(255,255,255,0.86), rgba(251,239,255,0.86));
	border: 1px solid rgba(230, 217, 250, 0.86);
	box-shadow:
		0 24px 58px rgba(74, 50, 96, 0.11),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	overflow: hidden;
}

.kdt-newsletter-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,0.28), transparent 44%),
		linear-gradient(180deg, rgba(255,255,255,0.22), transparent);
	pointer-events: none;
}

.kdt-newsletter-card > * {
	position: relative;
	z-index: 1;
}

.kdt-newsletter-title {
	margin: 0 0 0.75rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.9rem, 3.4vw, 3.05rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.kdt-newsletter-lead {
	max-width: 620px;
	margin: 0;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.35vw, 1.16rem);
	line-height: 1.55;
}

.kdt-newsletter-form {
	display: grid;
	gap: 0.75rem;
	padding: 1rem;
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.58)),
		rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 16px 36px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-newsletter-field {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 54px;
	border-radius: 16px;
	background: rgba(255,255,255,0.86);
	border: 1px solid rgba(230, 217, 250, 0.92);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);
	overflow: hidden;
}

.kdt-newsletter-field i {
	position: absolute;
	left: 1rem;
	color: #6415c8;
	font-size: 1.05rem;
	pointer-events: none;
}

.kdt-newsletter-field input {
	width: 100%;
	min-height: 54px;
	padding: 0.85rem 1rem 0.85rem 2.75rem;
	border: 0;
	outline: none;
	background: transparent;
	color: #17135c;
	font-size: 0.96rem;
}

.kdt-newsletter-field input::placeholder {
	color: rgba(74, 50, 96, 0.52);
}

.kdt-newsletter-field:focus-within {
	border-color: rgba(123, 60, 240, 0.46);
	box-shadow:
		0 0 0 4px rgba(123, 60, 240, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-newsletter-btn {
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	border: 0;
	border-radius: 16px;
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	box-shadow:
		0 16px 34px rgba(100, 21, 200, 0.24),
		inset 0 1px 0 rgba(255,255,255,0.24);
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.22s ease;
}

.kdt-newsletter-btn:hover,
.kdt-newsletter-btn:focus-visible {
	transform: translateY(-1px);
	box-shadow:
		0 20px 40px rgba(100, 21, 200, 0.30),
		inset 0 1px 0 rgba(255,255,255,0.28);
}

.kdt-newsletter-btn i {
	font-size: 1.2rem;
	line-height: 1;
}

.kdt-newsletter-note {
	margin: 0;
	color: rgba(23, 19, 92, 0.56);
	font-size: 0.78rem;
	line-height: 1.35;
	text-align: center;
}

.kdt-newsletter-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.kdt-newsletter-star {
	position: absolute;
	color: #d6ac52;
	opacity: 0.72;
	pointer-events: none;
	z-index: 1;
}

.kdt-newsletter-star-one {
	right: 2.2rem;
	top: 1.7rem;
	font-size: 1.75rem;
}

.kdt-newsletter-star-two {
	left: 2.4rem;
	bottom: 1.8rem;
	font-size: 1.15rem;
}

/* Tablette */
@media (max-width: 991.98px) {
	.kdt-newsletter-section {
		padding: 2rem 1rem;
	}

	.kdt-newsletter-card {
		grid-template-columns: 1fr;
		gap: 1.35rem;
		padding: 1.25rem;
		border-radius: 26px;
		text-align: center;
	}

	.kdt-newsletter-lead {
		margin-left: auto;
		margin-right: auto;
	}

	.kdt-newsletter-form {
		max-width: 560px;
		width: 100%;
		margin: 0 auto;
	}
}

/* Mobile */
@media (max-width: 575.98px) {
	.kdt-newsletter-section {
		padding: 1.55rem 0.75rem;
	}

	.kdt-newsletter-card {
		padding: 1rem;
		border-radius: 22px;
	}

	.kdt-newsletter-title {
		font-size: clamp(1.45rem, 7.4vw, 2.05rem);
	}

	.kdt-newsletter-lead {
		font-size: 0.92rem;
		line-height: 1.45;
	}

	.kdt-newsletter-form {
		padding: 0.75rem;
		border-radius: 18px;
	}

	.kdt-newsletter-field,
	.kdt-newsletter-field input,
	.kdt-newsletter-btn {
		min-height: 48px;
	}

	.kdt-newsletter-field input {
		font-size: 0.9rem;
	}

	.kdt-newsletter-btn {
		border-radius: 14px;
		font-size: 0.9rem;
	}

	.kdt-newsletter-note {
		font-size: 0.72rem;
	}

	.kdt-newsletter-star-one {
		right: 1rem;
		top: 1rem;
		font-size: 1.15rem;
	}

	.kdt-newsletter-star-two {
		display: none;
	}
}

/* FAQ - flèches alignées à droite */
.kdt-faq-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	text-align: left;
	gap: 1rem;
}

.kdt-faq-button::after {
	margin-left: auto;
	flex: 0 0 36px;
}

@media (max-width: 575.98px) {
	.kdt-faq-button {
		gap: 0.75rem;
	}

	.kdt-faq-button::after {
		flex-basis: 30px;
	}
}

/* =========================================================
   KANDITEL REFONTE - HOROSCOPE DU JOUR INTERACTIF
   ========================================================= */

.teaser-horoscope-refonte {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 18%, rgba(205, 183, 246, 0.20), transparent 30%),
		radial-gradient(circle at 88% 78%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #f5f2f6 0%, #eadcf2 100%);
	overflow: hidden;
}

.teaser-horoscope-refonte .teaser-horoscope-header {
	margin-bottom: clamp(1.4rem, 3vw, 2.4rem);
}

.kdt-horoscope-layout {
	display: grid;
	grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	max-width: 1140px;
	margin: 0 auto;
	align-items: stretch;
}

.kdt-horoscope-featured {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	min-height: 100%;
	padding: 1.35rem;
	border-radius: 28px;
	text-align: center;
	text-decoration: none;
	color: #17135c;
	background:
		radial-gradient(circle at 50% 16%, rgba(205, 183, 246, 0.30), transparent 38%),
		linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.62));
	border: 1px solid rgba(230, 217, 250, 0.88);
	box-shadow:
		0 22px 52px rgba(74, 50, 96, 0.12),
		inset 0 1px 0 rgba(255,255,255,0.9);
	overflow: hidden;
}

.kdt-horoscope-featured:hover,
.kdt-horoscope-featured:focus-visible {
	color: #17135c;
	text-decoration: none;
}

.kdt-horoscope-featured-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.8rem;
	padding: 0.38rem 0.85rem;
	border-radius: 999px;
	color: #8b62bd;
	background: rgba(244, 228, 255, 0.92);
	border: 1px solid rgba(205, 183, 246, 0.76);
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.kdt-horoscope-featured-visual {
	width: min(210px, 72%);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
	border-radius: 999px;
	background:
		radial-gradient(circle, rgba(244, 228, 255, 0.92), rgba(255,255,255,0.42) 68%, transparent);
}

.kdt-horoscope-featured-visual img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 16px 22px rgba(74, 50, 96, 0.16));
}

.kdt-horoscope-featured-content span {
	display: block;
	margin-bottom: 0.35rem;
	color: rgba(74, 50, 96, 0.58);
	font-size: 0.82rem;
	font-weight: 700;
}

.kdt-horoscope-featured-content h3 {
	margin: 0 0 0.55rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.75rem, 2.7vw, 2.35rem);
	font-weight: 700;
	line-height: 1.1;
}

.kdt-horoscope-featured-content p {
	margin: 0 auto 0.95rem;
	max-width: 300px;
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.92rem;
	line-height: 1.45;
}

.kdt-horoscope-featured-content strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	color: #6415c8;
	font-size: 0.9rem;
	font-weight: 800;
}

.kdt-horoscope-signs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.65rem, 1.25vw, 0.95rem);
}

.kdt-horoscope-sign {
	position: relative;
	min-height: 145px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 0.65rem;
	border-radius: 22px;
	text-align: center;
	text-decoration: none;
	color: #17135c;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.58)),
		rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.78);
	box-shadow:
		0 14px 32px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
	overflow: hidden;
}

.kdt-horoscope-sign::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 0%, rgba(205, 183, 246, 0.20), transparent 44%),
		linear-gradient(180deg, rgba(255,255,255,0.14), transparent);
	pointer-events: none;
}

.kdt-horoscope-sign img,
.kdt-horoscope-sign span {
	position: relative;
	z-index: 1;
}

.kdt-horoscope-sign img {
	width: 78px;
	height: 78px;
	object-fit: contain;
	display: block;
	margin-bottom: 0.55rem;
	filter: drop-shadow(0 10px 16px rgba(74, 50, 96, 0.12));
	transition: transform 0.18s ease;
}

.kdt-horoscope-sign span {
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1.15;
}

.kdt-horoscope-sign:hover,
.kdt-horoscope-sign:focus-visible {
	color: #17135c;
	text-decoration: none;
}

@media (hover: hover) {
	.kdt-horoscope-featured,
	.kdt-horoscope-sign {
		transition: transform 0.18s ease, box-shadow 0.22s ease, border-color 0.22s ease;
	}

	.kdt-horoscope-featured:hover,
	.kdt-horoscope-sign:hover {
		transform: translateY(-2px);
		border-color: rgba(205, 183, 246, 0.96);
		box-shadow:
			0 22px 48px rgba(74, 50, 96, 0.12),
			inset 0 1px 0 rgba(255,255,255,0.9);
	}

	.kdt-horoscope-sign:hover img {
		transform: scale(1.06);
	}
}

/* Tablette */
@media (max-width: 991.98px) {
	.teaser-horoscope-refonte {
		padding: 2rem 1rem;
	}

	.kdt-horoscope-layout {
		grid-template-columns: 1fr;
		max-width: 760px;
	}

	.kdt-horoscope-featured {
		display: grid;
		grid-template-columns: 150px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 1rem;
		align-items: center;
		text-align: left;
		padding: 1.15rem;
	}

	.kdt-horoscope-featured-badge {
		grid-column: 1 / -1;
		justify-self: start;
		margin-bottom: 0.65rem;
	}

	.kdt-horoscope-featured-visual {
		width: 140px;
		margin: 0;
	}

	.kdt-horoscope-featured-content p {
		max-width: none;
	}

	.kdt-horoscope-signs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kdt-horoscope-sign {
		min-height: 132px;
	}
}

/* Mobile */
@media (max-width: 575.98px) {
	.teaser-horoscope-refonte {
		padding: 1.6rem 0.75rem;
	}

	.kdt-horoscope-featured {
		display: block;
		padding: 1rem;
		text-align: center;
		border-radius: 22px;
	}

	.kdt-horoscope-featured-badge {
		margin-bottom: 0.65rem;
	}

	.kdt-horoscope-featured-visual {
		width: 128px;
		margin: 0 auto 0.75rem;
	}

	.kdt-horoscope-featured-content h3 {
		font-size: 1.65rem;
	}

	.kdt-horoscope-featured-content p {
		font-size: 0.86rem;
		line-height: 1.4;
	}

	.kdt-horoscope-signs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.6rem;
	}

	.kdt-horoscope-sign {
		min-height: 112px;
		padding: 0.75rem 0.45rem;
		border-radius: 18px;
	}

	.kdt-horoscope-sign img {
		width: 62px;
		height: 62px;
		margin-bottom: 0.4rem;
	}

	.kdt-horoscope-sign span {
		font-size: 0.84rem;
	}

	.teaser-horoscope-cta {
		margin-top: 1rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - Correctif rail articles mobile
   ========================================================= */

@media (max-width: 991.98px) {

	.blog-explore {
		overflow: hidden;
	}

	.blog-explore .container {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.blog-explore-header {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.blog-explore-viewport {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch;
		justify-content: flex-start;

		width: 100%;
		max-width: none !important;

		overflow-x: auto;
		overflow-y: hidden;

		gap: 16px;
		padding: 0 18px 12px;
		margin: 22px 0 0;

		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;

		scrollbar-width: none;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail::-webkit-scrollbar {
		display: none;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail .blog-card {
		flex: 0 0 78vw !important;
		width: 78vw;
		max-width: 340px;
		min-width: 0;

		scroll-snap-align: center;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail .blog-card-link {
		display: block;
		width: 100% !important;
		max-width: none !important;
		height: 100%;
		text-decoration: none;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail .blog-card-media {
		width: 100%;
		aspect-ratio: 1 / 1;
		border-radius: 18px;
		overflow: hidden;
		margin-bottom: 12px;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail .blog-card-media img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail .blog-card-title {
		font-size: 0.98rem;
		line-height: 1.35;
		text-align: center;

		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;

		margin: 0;
		padding: 0 4px;
	}

	.blog-explore-grid.blog-explore-grid--mobile-rail::after {
		content: "";
		flex: 0 0 2px;
	}
}

@media (min-width: 992px) {

	.blog-explore-grid.blog-explore-grid--animated {
		animation: kdtBlogRailSlide 22s ease-in-out infinite;
		will-change: transform;
	}

	.blog-explore-grid.blog-explore-grid--animated:hover {
		animation-play-state: paused;
	}

	@keyframes kdtBlogRailSlide {
		0%, 18% {
			transform: translateX(0);
		}

		32%, 50% {
			transform: translateX(calc(-25% - (var(--kdt-rail-gap) / 2)));
		}

		64%, 82% {
			transform: translateX(calc(-50% - var(--kdt-rail-gap)));
		}

		100% {
			transform: translateX(0);
		}
	}
}

/* =========================================================
   KANDITEL REFONTE - Mega menu Voyance privée
   ========================================================= */

.navbar {
	position: relative;
}

.dropdown-multicol2 {
	border-radius: 22px;
	border: 1px solid rgba(230, 217, 250, 0.95);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 24px 60px rgba(74, 50, 96, 0.14);
}

.dropdown-multicol2 .row {
	margin-left: 0;
	margin-right: 0;
}

.dropdown-title {
	margin-bottom: 0.55rem;
	padding: 0 0.8rem;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #7b5a99;
}

.dropdown-multicol2 .dropdown-item {
	white-space: normal;
	font-size: 0.92rem;
	line-height: 1.25;
	border-radius: 12px;
	padding: 0.55rem 0.8rem;
	color: #4a3260;
}

.dropdown-multicol2 .dropdown-item:hover,
.dropdown-multicol2 .dropdown-item:focus {
	background: #f4e4ff;
	color: #3c1859;
}

@media (min-width: 992px) {

	.dropdown-kdt-mega {
		position: static;
	}

	.dropdown-kdt-mega .dropdown-multicol2 {
		left: 50%;
		right: auto;
		top: calc(100% + 0.65rem);
		width: min(980px, calc(100vw - 48px));
		max-width: calc(100vw - 48px);
		padding: 1.15rem;
		transform: translateX(-50%);
	}

	.dropdown-kdt-mega .dropdown-col {
		padding: 0.25rem 0.8rem;
	}

	.dropdown-kdt-mega .dropdown-col:not(:last-child) {
		border-right: 1px solid rgba(230, 217, 250, 0.85);
	}
}

@media (max-width: 991.98px) {

	.navbar-collapse {
		max-height: calc(100vh - 64px);
		overflow-y: auto;
	}

	.dropdown-kdt-mega .dropdown-multicol2 {
		position: static;
		width: 100%;
		min-width: 0;
		max-width: none;
		padding: 0.6rem;
		margin-top: 0.5rem;
		border: none;
		border-radius: 18px;
		background: #fbf6ff;
		box-shadow: none;
		transform: none;
	}

	.dropdown-kdt-mega .dropdown-col {
		padding: 0.45rem 0;
	}

	.dropdown-kdt-mega .dropdown-col:not(:last-child) {
		border-bottom: 1px solid rgba(230, 217, 250, 0.9);
	}

	.dropdown-title {
		text-align: center;
		margin-top: 0.25rem;
		margin-bottom: 0.45rem;
	}

	.dropdown-kdt-mega .dropdown-item {
		text-align: center;
		background: #ffffff;
		margin-bottom: 0.35rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - Menu desktop plus compact
   ========================================================= */

@media (min-width: 992px) {

	.navbar-nav {
		gap: 0.38rem !important;
	}

	.navbar-nav .nav-link.btn-kanditel-fbefff {
		padding: 0.38rem 1.05rem !important;
		font-size: 0.92rem;
		line-height: 1.15;
		white-space: nowrap;
		min-height: 36px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.navbar .dropdown-toggle::after {
		margin-left: 0.42rem;
	}

	.navbar .d-none.d-lg-flex.align-items-center.gap-2 {
		gap: 0.42rem !important;
	}

	.navbar form[role="search"] input {
		min-width: 205px !important;
		height: 36px;
		font-size: 0.9rem;
	}
}

/* Compact renforcé sur laptop / écrans moyens */
@media (min-width: 992px) and (max-width: 1399.98px) {

	.logo {
		font-size: 1.95rem;
	}

	.navbar-nav {
		gap: 0.28rem !important;
	}

	.navbar-nav .nav-link.btn-kanditel-fbefff {
		padding-left: 0.82rem !important;
		padding-right: 0.82rem !important;
		font-size: 0.88rem;
		min-height: 34px;
	}

	.navbar form[role="search"] input {
		min-width: 180px !important;
	}
}

/* =========================================================
   KANDITEL REFONTE - Bouton secondaire chat privé
   ========================================================= */

.expert-chat-secondary-cta {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 0.55rem;
	padding: 0.58rem 0.8rem;
	border-radius: 12px;
	color: #5c22a8;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(92, 34, 168, 0.22);
	box-shadow:
		0 10px 22px rgba(74, 50, 96, 0.07),
		inset 0 1px 0 rgba(255,255,255,0.85);
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.expert-chat-secondary-cta:hover,
.expert-chat-secondary-cta:focus-visible {
	color: #4a3260;
	background: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow:
		0 14px 28px rgba(74, 50, 96, 0.11),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.expert-chat-secondary-cta i {
	font-size: 1rem;
	line-height: 1;
}

.expert-chat-secondary-cta span {
	font-size: 0.76rem;
	font-weight: 600;
	color: rgba(74, 50, 96, 0.68);
}

@media (max-width: 767.98px) {
	.expert-chat-secondary-cta {
		padding: 0.54rem 0.7rem;
		font-size: 0.8rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - CTA secondaire consultation par mail
   ========================================================= */

.expert-mail-secondary-cta {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.7rem;
	margin-top: 0.65rem;
	padding: 0.68rem 0.85rem;
	border-radius: 14px;
	color: #5c22a8;
	background:
		radial-gradient(circle at 12% 20%, rgba(205, 183, 246, 0.22), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.86), rgba(251,239,255,0.82));
	border: 1px solid rgba(92, 34, 168, 0.22);
	box-shadow:
		0 12px 26px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.9);
	font-size: 0.84rem;
	font-weight: 800;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.expert-mail-secondary-cta:hover,
.expert-mail-secondary-cta:focus-visible {
	color: #4a3260;
	background:
		radial-gradient(circle at 12% 20%, rgba(205, 183, 246, 0.30), transparent 34%),
		linear-gradient(180deg, #ffffff, rgba(251,239,255,0.92));
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow:
		0 16px 32px rgba(74, 50, 96, 0.13),
		inset 0 1px 0 rgba(255,255,255,0.95);
}

.expert-mail-secondary-cta span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-width: 0;
	line-height: 1.15;
}

.expert-mail-secondary-cta i {
	font-size: 1rem;
	line-height: 1;
	color: #6415c8;
}

.expert-mail-secondary-cta small {
	flex: 0 0 auto;
	padding: 0.25rem 0.5rem;
	border-radius: 999px;
	color: #6b31a5;
	background: rgba(244, 228, 255, 0.92);
	border: 1px solid rgba(205, 183, 246, 0.74);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1;
}

.expert-profile-secondary-link {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 0.65rem;
	color: #6b31a5;
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
}

.expert-profile-secondary-link:hover,
.expert-profile-secondary-link:focus-visible {
	color: #4a3260;
	text-decoration: none;
}

@media (max-width: 767.98px) {
	.expert-mail-secondary-cta {
		padding: 0.62rem 0.72rem;
		font-size: 0.8rem;
	}

	.expert-mail-secondary-cta small {
		font-size: 0.68rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - Messages formulaires modales client
   ========================================================= */

.kdt-form-message:empty {
	display: none;
}

.kdt-form-message {
	border-radius: 14px;
	font-size: 0.9rem;
	line-height: 1.45;
}

.kdt-form-message a {
	font-weight: 800;
	color: #4c08a9;
	text-decoration: none;
}

.kdt-form-message a:hover {
	color: #6415c8;
	text-decoration: none;
}

/* =========================================================
   KANDITEL REFONTE - Modales expert
   ========================================================= */

.modal-kanditel-expert .modal-content {
	background:
		radial-gradient(circle at 12% 8%, rgba(205, 183, 246, 0.28), transparent 34%),
		linear-gradient(
			180deg,
			#f7f1fb 0%,
			#F6ECDC 54%,
			#D6B3E0 100%
		);
}

.modal-kanditel-expert .modal-title {
	color: #17135c;
}

.modal-kanditel-expert .modal-subtitle {
	color: rgba(23, 19, 92, 0.72);
}

.modal-kanditel-expert .btn-kanditel-primary {
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	box-shadow:
		0 14px 28px rgba(100, 21, 200, 0.24),
		inset 0 1px 0 rgba(255,255,255,0.24);
}

.modal-kanditel-expert .btn-kanditel-primary:hover,
.modal-kanditel-expert .btn-kanditel-primary:focus-visible {
	background: linear-gradient(135deg, #7427d2, #520ab0);
	box-shadow:
		0 18px 34px rgba(100, 21, 200, 0.30),
		inset 0 1px 0 rgba(255,255,255,0.28);
}

/* =========================================================
   KANDITEL REFONTE - CTA profil expert harmonisé
   ========================================================= */

.expert-profile-cta {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 0.55rem;
	padding: 0.58rem 0.8rem;
	border-radius: 14px;
	color: #5c22a8;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(92, 34, 168, 0.22);
	box-shadow:
		0 10px 22px rgba(74, 50, 96, 0.07),
		inset 0 1px 0 rgba(255,255,255,0.85);
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.expert-profile-cta:hover,
.expert-profile-cta:focus-visible {
	color: #4a3260;
	background: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow:
		0 14px 28px rgba(74, 50, 96, 0.11),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.expert-profile-cta i {
	font-size: 0.95rem;
	line-height: 1;
	color: #6415c8;
}

@media (max-width: 767.98px) {
	.expert-profile-cta {
		padding: 0.54rem 0.7rem;
		font-size: 0.8rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - Page recherche
   ========================================================= */

.kdt-search-hero {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0 1.5rem;
	background:
		radial-gradient(circle at 12% 18%, rgba(205, 183, 246, 0.22), transparent 30%),
		radial-gradient(circle at 88% 76%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f5f2f6 100%);
	overflow: hidden;
}

.kdt-search-hero-card {
	max-width: 980px;
	margin: 0 auto;
	padding: clamp(1.35rem, 2.8vw, 2.3rem);
	border-radius: 30px;
	text-align: center;
	background:
		radial-gradient(circle at 10% 12%, rgba(205, 183, 246, 0.22), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.62));
	border: 1px solid rgba(230, 217, 250, 0.86);
	box-shadow:
		0 24px 58px rgba(74, 50, 96, 0.11),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.kdt-search-title {
	margin: 0 0 0.75rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2rem, 3.4vw, 3.05rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.035em;
}

.kdt-search-lead {
	max-width: 680px;
	margin: 0 auto 1.35rem;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.35vw, 1.16rem);
	line-height: 1.55;
}

.kdt-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.75rem;
	max-width: 760px;
	margin: 0 auto;
	padding: 0.65rem;
	border-radius: 22px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.78);
	box-shadow:
		0 16px 36px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-search-input-wrap {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 54px;
	border-radius: 16px;
	background: rgba(255,255,255,0.90);
	border: 1px solid rgba(230, 217, 250, 0.92);
	overflow: hidden;
}

.kdt-search-input-wrap i {
	position: absolute;
	left: 1rem;
	color: #6415c8;
	font-size: 1.05rem;
	pointer-events: none;
}

.kdt-search-input-wrap input {
	width: 100%;
	min-height: 54px;
	padding: 0.85rem 1rem 0.85rem 2.75rem;
	border: 0;
	outline: none;
	background: transparent;
	color: #17135c;
	font-size: 0.96rem;
}

.kdt-search-input-wrap input::placeholder {
	color: rgba(74, 50, 96, 0.52);
}

.kdt-search-input-wrap:focus-within {
	border-color: rgba(123, 60, 240, 0.46);
	box-shadow:
		0 0 0 4px rgba(123, 60, 240, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-search-submit {
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 0.85rem 1.15rem;
	border: 0;
	border-radius: 16px;
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	box-shadow:
		0 16px 34px rgba(100, 21, 200, 0.24),
		inset 0 1px 0 rgba(255,255,255,0.24);
	font-size: 0.95rem;
	font-weight: 800;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.22s ease;
}

.kdt-search-submit:hover,
.kdt-search-submit:focus-visible {
	transform: translateY(-1px);
	box-shadow:
		0 20px 40px rgba(100, 21, 200, 0.30),
		inset 0 1px 0 rgba(255,255,255,0.28);
}

.kdt-search-summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	margin-top: 1rem;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	color: rgba(23, 19, 92, 0.78);
	background: rgba(255,255,255,0.62);
	border: 1px solid rgba(230, 217, 250, 0.78);
	font-size: 0.9rem;
	font-weight: 650;
}

.kdt-search-summary strong {
	color: #6415c8;
	font-weight: 900;
}

.kdt-search-results-section {
	margin-top: 0;
	padding-top: 1.3rem;
}

.kdt-search-empty {
	max-width: 680px;
	margin: 0 auto 2rem;
	padding: clamp(1.3rem, 2.6vw, 2rem);
	border-radius: 28px;
	text-align: center;
	background:
		radial-gradient(circle at 50% 0%, rgba(205, 183, 246, 0.22), transparent 38%),
		linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.62));
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 18px 42px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-search-empty-icon {
	width: 58px;
	height: 58px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.9rem;
	border-radius: 999px;
	color: #6415c8;
	background: rgba(244, 228, 255, 0.88);
	box-shadow:
		0 12px 26px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.82);
}

.kdt-search-empty-icon i {
	font-size: 1.45rem;
	line-height: 1;
}

.kdt-search-empty h2 {
	margin: 0 0 0.55rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 700;
}

.kdt-search-empty p {
	max-width: 500px;
	margin: 0 auto;
	color: rgba(23, 19, 92, 0.70);
	font-size: 0.96rem;
	line-height: 1.5;
}

@media (max-width: 767.98px) {
	.kdt-search-hero {
		padding: 1.3rem 0.75rem 1rem;
	}

	.kdt-search-hero-card {
		border-radius: 24px;
	}

	.kdt-search-form {
		grid-template-columns: 1fr;
		padding: 0.55rem;
	}

	.kdt-search-submit {
		width: 100%;
	}

	.kdt-search-summary {
		display: flex;
		width: 100%;
		border-radius: 16px;
		line-height: 1.35;
	}

	.kdt-search-results-section {
		padding-top: 0.9rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - Page voyance privée / liste experts
   ========================================================= */

.kdt-listing-hero {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0 1.4rem;
	background:
		radial-gradient(circle at 12% 18%, rgba(205, 183, 246, 0.22), transparent 30%),
		radial-gradient(circle at 88% 76%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f5f2f6 100%);
	overflow: hidden;
}

.kdt-listing-hero-card {
	padding: clamp(1.35rem, 2.8vw, 2.45rem);
	border-radius: 32px;
	background:
		radial-gradient(circle at 12% 10%, rgba(205, 183, 246, 0.26), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.62));
	border: 1px solid rgba(230, 217, 250, 0.86);
	box-shadow:
		0 24px 58px rgba(74, 50, 96, 0.11),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.kdt-listing-title {
	margin: 0 0 0.75rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.05rem, 3.6vw, 3.35rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.kdt-listing-lead {
	max-width: 720px;
	margin: 0 0 1.3rem;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.35vw, 1.16rem);
	line-height: 1.58;
}

.kdt-listing-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.kdt-listing-hero-visual {
	position: relative;
	max-width: 380px;
	margin-left: auto;
	border-radius: 30px;
	padding: 0.55rem;
	background: rgba(255,255,255,0.54);
	border: 1px solid rgba(230, 217, 250, 0.8);
	box-shadow:
		0 22px 46px rgba(74, 50, 96, 0.13),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-listing-hero-visual img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 24px;
}

.kdt-listing-stats {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: clamp(1.25rem, 2.4vw, 2rem);
}

.kdt-listing-stat {
	padding: 0.85rem 0.75rem;
	border-radius: 18px;
	text-align: center;
	background: rgba(255,255,255,0.62);
	border: 1px solid rgba(230, 217, 250, 0.76);
	box-shadow:
		0 12px 26px rgba(74, 50, 96, 0.06),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-listing-stat strong {
	display: block;
	color: #6415c8;
	font-size: clamp(1.25rem, 2vw, 1.7rem);
	font-weight: 900;
	line-height: 1;
}

.kdt-listing-stat span {
	display: block;
	margin-top: 0.3rem;
	color: rgba(23, 19, 92, 0.66);
	font-size: 0.78rem;
	font-weight: 750;
}

.kdt-listing-experts-section {
	margin-top: 0;
	padding-top: 1.5rem;
}

.kdt-listing-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.kdt-listing-section-title {
	margin: 0.35rem 0 0.3rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.55rem, 2.6vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.kdt-listing-section-lead {
	max-width: 680px;
	margin: 0;
	color: rgba(23, 19, 92, 0.68);
	font-size: 0.98rem;
	line-height: 1.5;
}

.kdt-experts-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-bottom: 1.25rem;
	padding: 0.75rem;
	border-radius: 22px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230, 217, 250, 0.76);
	box-shadow:
		0 14px 34px rgba(74, 50, 96, 0.07),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-experts-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	padding: 0.62rem 0.85rem;
	border: 1px solid rgba(100, 21, 200, 0.16);
	border-radius: 999px;
	color: #4a3260;
	background: rgba(255,255,255,0.72);
	font-size: 0.82rem;
	font-weight: 850;
	line-height: 1;
	cursor: pointer;
	transition:
		transform 0.18s ease,
		background-color 0.22s ease,
		color 0.22s ease,
		box-shadow 0.22s ease,
		border-color 0.22s ease;
}

.kdt-experts-filter span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	color: #6415c8;
	background: rgba(244, 228, 255, 0.84);
	font-size: 0.72rem;
	font-weight: 900;
}

.kdt-experts-filter:hover,
.kdt-experts-filter:focus-visible {
	transform: translateY(-1px);
	background: #ffffff;
	border-color: rgba(100, 21, 200, 0.28);
	box-shadow: 0 12px 26px rgba(74, 50, 96, 0.08);
}

.kdt-experts-filter.is-active {
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	border-color: transparent;
	box-shadow:
		0 14px 30px rgba(100, 21, 200, 0.22),
		inset 0 1px 0 rgba(255,255,255,0.24);
}

.kdt-experts-filter.is-active span {
	color: #4c08a9;
	background: rgba(255,255,255,0.92);
}

.kdt-expert-filter-item[hidden] {
	display: none !important;
}

.kdt-filter-empty {
	margin-top: 1rem;
}

.kdt-vp-editorial {
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 22%, rgba(205, 183, 246, 0.18), transparent 30%),
		linear-gradient(180deg, #f8f4fc 0%, #ffffff 100%);
}

.kdt-vp-editorial-card {
	padding: clamp(1.35rem, 2.7vw, 2.2rem);
	border-radius: 30px;
	background:
		radial-gradient(circle at 90% 12%, rgba(246, 236, 220, 0.62), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.66));
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 22px 52px rgba(74, 50, 96, 0.09),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.kdt-vp-editorial h2 {
	margin: 0.35rem 0 0.8rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.kdt-vp-editorial p {
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.98rem;
	line-height: 1.65;
}

.kdt-vp-editorial a {
	color: #6415c8;
	font-weight: 800;
}

.kdt-vp-editorial-list {
	display: grid;
	gap: 0.6rem;
	margin: 0.8rem 0 0;
	padding: 0;
	list-style: none;
}

.kdt-vp-editorial-list li {
	position: relative;
	padding-left: 1.45rem;
	color: rgba(23, 19, 92, 0.72);
	font-weight: 650;
	line-height: 1.45;
}

.kdt-vp-editorial-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #6415c8, #D6B3E0);
	box-shadow: 0 0 0 4px rgba(214, 179, 224, 0.22);
}

.kdt-vp-faq {
	padding: clamp(2rem, 4vw, 4rem) 0;
	background: linear-gradient(180deg, #ffffff 0%, #F6ECDC 100%);
}

.kdt-vp-accordion {
	max-width: 920px;
	margin: 1.2rem auto 0;
}

.kdt-vp-accordion .accordion-item {
	margin-bottom: 0.75rem;
	border: 1px solid rgba(230, 217, 250, 0.84);
	border-radius: 18px;
	overflow: hidden;
	background: rgba(255,255,255,0.72);
	box-shadow:
		0 12px 28px rgba(74, 50, 96, 0.06),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-vp-accordion .accordion-button {
	color: #17135c;
	background: rgba(255,255,255,0.78);
	font-weight: 850;
	box-shadow: none;
}

.kdt-vp-accordion .accordion-button:not(.collapsed) {
	color: #6415c8;
	background: rgba(244, 228, 255, 0.72);
}

.kdt-vp-accordion .accordion-button:focus {
	box-shadow: 0 0 0 0.2rem rgba(100, 21, 200, 0.14);
}

.kdt-vp-accordion .accordion-body {
	color: rgba(23, 19, 92, 0.72);
	line-height: 1.6;
}

@media (max-width: 991.98px) {
	.kdt-listing-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kdt-listing-hero-visual {
		max-width: 100%;
		margin: 0;
	}
}

@media (max-width: 767.98px) {
	.kdt-listing-hero {
		padding: 1.3rem 0.75rem 1rem;
	}

	.kdt-listing-hero-card {
		border-radius: 24px;
	}

	.kdt-listing-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.kdt-listing-actions .hero-main-cta,
	.kdt-listing-actions .blog-explore-btn {
		width: 100%;
		justify-content: center;
	}

	.kdt-listing-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kdt-listing-head {
		display: block;
		text-align: center;
	}

	.kdt-experts-filters {
		justify-content: center;
		padding: 0.65rem;
		border-radius: 18px;
	}

	.kdt-experts-filter {
		flex: 1 1 calc(50% - 0.55rem);
		min-width: 0;
		padding: 0.58rem 0.62rem;
		font-size: 0.78rem;
	}

	.kdt-vp-editorial,
	.kdt-vp-faq {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}

/* =========================================================
   KANDITEL REFONTE - Pages expertises
   ========================================================= */

.kdt-expertise-page-hero {
	background:
		radial-gradient(circle at 14% 18%, rgba(205, 183, 246, 0.25), transparent 31%),
		radial-gradient(circle at 88% 72%, rgba(246, 236, 220, 0.78), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f8f4fc 100%);
}

.kdt-expertise-hero-visual {
	max-width: 340px;
}

.kdt-expertise-hero-visual img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.kdt-expertise-hero-symbol {
	width: min(100%, 340px);
	aspect-ratio: 1 / 1;
	margin-left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
	color: #6415c8;
	background:
		radial-gradient(circle at 35% 25%, rgba(255,255,255,0.92), transparent 32%),
		linear-gradient(135deg, rgba(244, 228, 255, 0.92), rgba(246, 236, 220, 0.78));
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 22px 46px rgba(74, 50, 96, 0.13),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-expertise-hero-symbol i {
	font-size: clamp(4rem, 8vw, 7rem);
	line-height: 1;
	filter: drop-shadow(0 14px 24px rgba(100, 21, 200, 0.18));
}

.kdt-expertise-intro-section {
	padding: clamp(1.6rem, 3vw, 3rem) 0 0;
	background: linear-gradient(180deg, #f8f4fc 0%, #ffffff 100%);
}

.kdt-expertise-intro-card {
	padding: clamp(1.3rem, 2.6vw, 2.1rem);
	border-radius: 30px;
	background:
		radial-gradient(circle at 90% 10%, rgba(246, 236, 220, 0.64), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.66));
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 20px 48px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.kdt-expertise-intro-content {
	margin-top: 0.8rem;
	color: rgba(23, 19, 92, 0.74);
	font-size: 0.98rem;
	line-height: 1.68;
}

.kdt-expertise-intro-content h2,
.kdt-expertise-intro-content h3,
.kdt-expertise-intro-content h4 {
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	letter-spacing: -0.025em;
}

.kdt-expertise-intro-content p:last-child {
	margin-bottom: 0;
}

.kdt-expertise-intro-content a {
	color: #6415c8;
	font-weight: 800;
	text-decoration: none;
}

.kdt-expertise-intro-content a:hover {
	text-decoration: underline;
}

.kdt-expertise-editorial {
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 22%, rgba(205, 183, 246, 0.18), transparent 30%),
		linear-gradient(180deg, #ffffff 0%, #f8f4fc 100%);
}

.kdt-expertise-faq {
	background: linear-gradient(180deg, #f8f4fc 0%, #F6ECDC 100%);
}

@media (max-width: 991.98px) {
	.kdt-expertise-hero-symbol {
		width: 100%;
		margin: 0;
	}
}

@media (max-width: 767.98px) {
	.kdt-expertise-intro-section,
	.kdt-expertise-editorial,
	.kdt-expertise-faq {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	.kdt-expertise-intro-card {
		border-radius: 24px;
	}

	.kdt-expertise-hero-symbol {
		border-radius: 24px;
	}
}

/* =========================================================
   KANDITEL REFONTE - Pages modes de consultation
   Téléphone / Chat / Mail / Audiotel
   ========================================================= */

.kdt-mode-page-hero,
.kdt-audiotel-hero {
	background:
		radial-gradient(circle at 14% 18%, rgba(205, 183, 246, 0.25), transparent 31%),
		radial-gradient(circle at 88% 72%, rgba(246, 236, 220, 0.78), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f8f4fc 100%);
}

.kdt-mode-hero-visual,
.kdt-audiotel-visual {
	max-width: 360px;
}

.kdt-mode-hero-visual img,
.kdt-audiotel-visual img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.kdt-mode-editorial,
.kdt-audiotel-editorial {
	padding: clamp(2rem, 4vw, 4rem) 0;
	background:
		radial-gradient(circle at 12% 22%, rgba(205, 183, 246, 0.18), transparent 30%),
		linear-gradient(180deg, #ffffff 0%, #f8f4fc 100%);
}

.kdt-mode-editorial h2,
.kdt-audiotel-editorial h2 {
	margin: 0.35rem 0 0.8rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.kdt-mode-editorial p,
.kdt-audiotel-editorial p {
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.98rem;
	line-height: 1.65;
}

.kdt-mode-faq {
	background: linear-gradient(180deg, #f8f4fc 0%, #F6ECDC 100%);
}

.kdt-audiotel-numbers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: clamp(1.25rem, 2.4vw, 2rem);
}

.kdt-audiotel-number-card {
	display: block;
	padding: 1rem 1.1rem;
	border-radius: 20px;
	text-align: center;
	text-decoration: none;
	background: rgba(255,255,255,0.68);
	border: 1px solid rgba(230, 217, 250, 0.78);
	box-shadow:
		0 14px 30px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.9);
	transition: transform 0.18s ease, box-shadow 0.22s ease;
}

.kdt-audiotel-number-card:hover,
.kdt-audiotel-number-card:focus-visible {
	transform: translateY(-2px);
	box-shadow:
		0 18px 38px rgba(74, 50, 96, 0.12),
		inset 0 1px 0 rgba(255,255,255,0.9);
	text-decoration: none;
}

.kdt-audiotel-number-card span {
	display: block;
	color: rgba(23, 19, 92, 0.68);
	font-size: 0.82rem;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.kdt-audiotel-number-card strong {
	display: block;
	margin-top: 0.35rem;
	color: #6415c8;
	font-size: clamp(1.35rem, 2.6vw, 2rem);
	font-weight: 950;
	letter-spacing: -0.03em;
}

.kdt-audiotel-number-card small {
	display: block;
	margin-top: 0.35rem;
	color: rgba(23, 19, 92, 0.62);
	font-size: 0.78rem;
	font-weight: 650;
}

.kdt-audiotel-section {
	padding: clamp(2rem, 4vw, 4rem) 0;
	background: linear-gradient(180deg, #f8f4fc 0%, #ffffff 100%);
}

.kdt-audiotel-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.kdt-audiotel-team-card,
.kdt-audiotel-iframe-card {
	padding: clamp(1.2rem, 2.4vw, 1.8rem);
	border-radius: 28px;
	background:
		radial-gradient(circle at 90% 10%, rgba(246, 236, 220, 0.62), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.66));
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 20px 48px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.kdt-audiotel-team-head,
.kdt-audiotel-iframe-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.kdt-audiotel-team-head span {
	display: inline-flex;
	margin-bottom: 0.35rem;
	padding: 0.32rem 0.55rem;
	border-radius: 999px;
	color: #6415c8;
	background: rgba(244, 228, 255, 0.84);
	font-size: 0.72rem;
	font-weight: 900;
}

.kdt-audiotel-team-head h3,
.kdt-audiotel-iframe-head h3 {
	margin: 0;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -0.025em;
}

.kdt-audiotel-team-head > i {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	box-shadow: 0 14px 28px rgba(100, 21, 200, 0.22);
}

.kdt-audiotel-call {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-bottom: 0.8rem;
	padding: 0.85rem 1rem;
	border-radius: 18px;
	color: #ffffff;
	background: linear-gradient(135deg, #6415c8, #4c08a9);
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	font-weight: 950;
	text-decoration: none;
	box-shadow:
		0 16px 34px rgba(100, 21, 200, 0.24),
		inset 0 1px 0 rgba(255,255,255,0.24);
}

.kdt-audiotel-call:hover,
.kdt-audiotel-call:focus-visible {
	color: #ffffff;
	text-decoration: none;
}

.kdt-audiotel-team-card p,
.kdt-audiotel-iframe-head p {
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.95rem;
	line-height: 1.55;
}

.kdt-audiotel-iframe-card {
	margin-top: 1rem;
	overflow: hidden;
}

.kdt-audiotel-iframe-card iframe {
	border-radius: 18px;
	background: #ffffff;
}

@media (max-width: 991.98px) {
	.kdt-mode-hero-visual,
	.kdt-audiotel-visual {
		max-width: 100%;
		margin: 0;
	}

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

@media (max-width: 767.98px) {
	.kdt-mode-editorial,
	.kdt-audiotel-editorial,
	.kdt-audiotel-section,
	.kdt-mode-faq {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	.kdt-audiotel-numbers {
		grid-template-columns: 1fr;
	}

	.kdt-audiotel-team-card,
	.kdt-audiotel-iframe-card {
		border-radius: 24px;
	}

	.kdt-audiotel-iframe-card iframe {
		height: 760px;
	}
}

/* =========================================================
   KANDITEL REFONTE - Pages éditoriales restantes
   ========================================================= */

.kdt-editorial-hero {
	position: relative;
	padding: clamp(2rem, 4vw, 4rem) 0 1.4rem;
	background:
		radial-gradient(circle at 12% 18%, rgba(205, 183, 246, 0.24), transparent 31%),
		radial-gradient(circle at 88% 76%, rgba(246, 236, 220, 0.78), transparent 34%),
		linear-gradient(180deg, #F6ECDC 0%, #f8f4fc 100%);
	overflow: hidden;
}

.kdt-editorial-hero-card {
	padding: clamp(1.35rem, 2.8vw, 2.45rem);
	border-radius: 32px;
	background:
		radial-gradient(circle at 12% 10%, rgba(205, 183, 246, 0.26), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.64));
	border: 1px solid rgba(230, 217, 250, 0.86);
	box-shadow:
		0 24px 58px rgba(74, 50, 96, 0.11),
		inset 0 1px 0 rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.kdt-editorial-title {
	margin: 0 0 0.75rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.05rem, 3.6vw, 3.35rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.kdt-editorial-lead {
	max-width: 760px;
	margin: 0 0 1.3rem;
	color: rgba(23, 19, 92, 0.74);
	font-size: clamp(1rem, 1.35vw, 1.16rem);
	line-height: 1.58;
}

.kdt-editorial-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.kdt-editorial-visual {
	position: relative;
	max-width: 380px;
	margin-left: auto;
	border-radius: 30px;
	padding: 0.55rem;
	background: rgba(255,255,255,0.54);
	border: 1px solid rgba(230, 217, 250, 0.8);
	box-shadow:
		0 22px 46px rgba(74, 50, 96, 0.13),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-editorial-visual img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 24px;
}

.kdt-editorial-symbol {
	width: min(100%, 340px);
	aspect-ratio: 1 / 1;
	margin-left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
	color: #6415c8;
	background:
		radial-gradient(circle at 35% 25%, rgba(255,255,255,0.92), transparent 32%),
		linear-gradient(135deg, rgba(244, 228, 255, 0.92), rgba(246, 236, 220, 0.78));
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 22px 46px rgba(74, 50, 96, 0.13),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-editorial-symbol i {
	font-size: clamp(4rem, 8vw, 7rem);
	line-height: 1;
	filter: drop-shadow(0 14px 24px rgba(100, 21, 200, 0.18));
}

.kdt-editorial-stats {
	margin-top: clamp(1.25rem, 2.4vw, 2rem);
}

.kdt-editorial-intro-section {
	padding: clamp(2rem, 4vw, 4rem) 0 0;
	background: linear-gradient(180deg, #f8f4fc 0%, #ffffff 100%);
}

.kdt-editorial-intro-section .kdt-vp-editorial-card h2 {
	margin: 0.35rem 0 0.8rem;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.kdt-editorial-intro-section .kdt-vp-editorial-card p {
	color: rgba(23, 19, 92, 0.72);
	font-size: 0.98rem;
	line-height: 1.65;
}

.kdt-editorial-faq {
	background: linear-gradient(180deg, #ffffff 0%, #F6ECDC 100%);
}

@media (max-width: 991.98px) {
	.kdt-editorial-visual,
	.kdt-editorial-symbol {
		max-width: 100%;
		margin: 0;
	}
}

@media (max-width: 767.98px) {
	.kdt-editorial-hero {
		padding: 1.3rem 0.75rem 1rem;
	}

	.kdt-editorial-hero-card,
	.kdt-editorial-visual,
	.kdt-editorial-symbol {
		border-radius: 24px;
	}

	.kdt-editorial-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.kdt-editorial-actions .hero-main-cta,
	.kdt-editorial-actions .blog-explore-btn {
		width: 100%;
		justify-content: center;
	}

	.kdt-editorial-intro-section,
	.kdt-editorial-faq {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}


/* ===============================
   KANDITEL — FICHE CONSULTANT (DESKTOP)
   Objectif : rendu proche du screen (carte centrée + hero + onglets + colonne consultation)
   =============================== */

:root{
	/*--bg: #F2E7DA;
	--bg2:#F7EFE5;*/

	--card: rgba(255,255,255,.82);
	--card2: rgba(255,255,255,.74);
	--panel: rgba(255,255,255,.78);

	--stroke: rgba(74,57,89,.10);
	--shadow: 0 16px 38px rgba(52,36,63,.10);

	--text: #2B2430;
	--muted:#6F6474;

	--lav2:#B8A6C9;
	--lav3:#6E547F;

	--available-bg: #D7F0E5;
	--available-text:#2E7D66;
	--available-border:#BFE5D6;
	--available-dot:#2FAE67;

	--r-xl: 28px;
	--r-lg: 20px;
	--pill: 999px;

	--container: 1180px;
	--gap: 18px;
}

.kdt-fiche-page{
	max-width: var(--container);
	margin: 0 auto;
	padding: 28px 18px 62px;
}

/* Carte principale (évite le conflit avec .card Bootstrap) */
.kdt-fiche-card{
	background: linear-gradient(180deg, var(--card), var(--card2));
	border: 1px solid var(--stroke);
	border-radius: var(--r-xl);
	box-shadow: var(--shadow);
	overflow: hidden;
}

/* HERO */
.kdt-fiche-hero{
	text-align:center;
	padding: 26px 26px 18px;
	border-bottom: 1px solid rgba(74,57,89,.08);
	background: radial-gradient(900px 240px at 50% 0, rgba(238,231,246,.45), transparent 65%);
}

.kdt-fiche-avatar{
	width: 132px;
	height: 132px;
	border-radius: 50%;
	object-fit: cover;
	border: 6px solid rgba(255,255,255,.94);
	box-shadow: 0 10px 22px rgba(52,36,63,.12);
	display:block;
	margin: 0 auto 14px;
	background:#ddd;
}

.kdt-fiche-name{
	font-family: "Libre Baskerville", serif;
	font-size: 56px;
	margin:0;
	line-height:1.02;
	color:#3B2F45;
}

.kdt-fiche-role{
	margin: 10px 0 10px;
	font-size: 18px;
	color: var(--muted);
}

.kdt-fiche-meta{
	display:flex;
	justify-content:center;
	margin: 10px 0 14px;
}

.kdt-fiche-availability{
	display:inline-flex;
	align-items:center;
	gap: 10px;
	padding: 10px 18px;
	border-radius: var(--pill);
	border: 1px solid var(--available-border);
	background: var(--available-bg);
	color: var(--available-text);
	font-weight: 800;
	letter-spacing: .2px;
}

.kdt-fiche-dot{
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--available-dot);
	box-shadow: 0 0 0 3px rgba(47,174,103,.14);
}

.kdt-fiche-availability-label{
	text-transform: uppercase;
	font-family: "Libre Baskerville", serif;
}

.kdt-fiche-availability-sep{
	width: 1px;
	height: 14px;
	background: rgba(46,125,102,.25);
	margin: 0 2px;
}

.kdt-fiche-availability-rate{
	color: rgba(43,36,48,.75);
	font-weight: 750;
	font-family: "Libre Baskerville", serif;
}

.kdt-fiche-cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap: 10px;
	padding: 14px 30px;
	border-radius: var(--pill);
	background: linear-gradient(90deg, var(--lav2), var(--lav3));
	color:#fff;
	font-weight: 600;
	font-size: 16px;
	text-decoration:none;
	box-shadow: 0 12px 22px rgba(110,84,127,.16);
	min-width: 360px;
}

.kdt-fiche-cta:hover{
	filter: brightness(1.03);
	color:#fff;
}

.kdt-fiche-cta-arrow{
	font-size: 20px;
	line-height: 1;
}

/* CONTENT */
.kdt-fiche-content{
	padding: 18px 22px 28px;
}

/* TABS */
.kdt-fiche-tabs{
	display:flex;
	gap: 24px;
	align-items:flex-end;
	padding: 14px 4px 0;
	border-bottom: 1px solid rgba(74,57,89,.10);
}

.kdt-fiche-tab{
	appearance:none;
	border:0;
	background: transparent;
	padding: 12px 2px 14px;
	font-weight: 700;
	color: rgba(43,36,48,.75);
	cursor:pointer;
	position: relative;
}

.kdt-fiche-tab[aria-selected="true"]{
	color: var(--lav3);
}

.kdt-fiche-tab[aria-selected="true"]::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height: 3px;
	background: var(--lav3);
	border-radius: 3px;
}

/* PANELS */
.kdt-fiche-tabpanel{
	display:block; /* Bootstrap gère l'affichage via .tab-pane */
}

.kdt-fiche-tabs.nav{
	border-bottom: 1px solid rgba(74,57,89,.10);
}

.kdt-fiche-tab.nav-link{
	border: 0;
	background: transparent;
}

.kdt-fiche-tab.nav-link:hover{
	border: 0;
}

.kdt-fiche-tab.nav-link.active{
	background: transparent;
	border: 0;
}

/* Layout profil */
.kdt-fiche-grid{
	display:grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: var(--gap);
	align-items:start;
}

.kdt-fiche-panel{
	background: var(--panel);
	border: 1px solid rgba(74,57,89,.08);
	border-radius: var(--r-lg);
	padding: 18px 18px 16px;
}

.kdt-fiche-h2{
	margin:0 0 12px;
	font-family: "Libre Baskerville", serif;
	font-size: 26px;
	color:#3B2F45;
}

.kdt-fiche-h2--spaced{
	margin-top: 14px;
}

.kdt-fiche-p{
	margin: 0 0 10px;
	color: var(--muted);
	line-height: 1.55;
}

/* Icon box (comme sur le screen : petit carré arrondi) */
.kdt-fiche-iconbox{
	width: 38px;
	height: 38px;
	border-radius: 14px;
	background: rgba(255,255,255,.80);
	border: 1px solid rgba(74,57,89,.10);
	display:flex;
	align-items:center;
	justify-content:center;
	color: var(--lav3);
	flex: 0 0 auto;
}

/* Modes consultation (pills verticales) */
.kdt-fiche-modes{
	display:grid;
	gap: 14px;
}

.kdt-fiche-mode{
	display:flex;
	align-items:flex-start; /* important : le texte descend */
	gap: 14px;
	padding: 14px 16px;
	border-radius: var(--r-lg);
	border: 1px solid rgba(74,57,89,.10);
	text-decoration:none;
}

.kdt-fiche-mode-body{
	flex: 1 1 auto;
	min-width: 0;
}

.kdt-fiche-mode:hover{
	filter: brightness(1.01);
}

.kdt-fiche-mode--phone{
	background: rgba(215,240,229,.70);
}

.kdt-fiche-mode--chat{
	background: rgba(238,231,246,.70);
}

.kdt-fiche-mode--mail{
	background: rgba(255,255,255,.60);
}

.kdt-fiche-mode-label{
	font-weight: 900;
	color: var(--text);
	margin-bottom: 2px;
}

.kdt-fiche-mode-desc{
	color: var(--muted);
	font-size: 13.5px;
	line-height: 0.6;
}

/* Rating pill */
.kdt-fiche-rating{
	padding: 12px 14px;
	border-radius: var(--pill);
	border: 1px solid rgba(74,57,89,.10);
	background: rgba(255,255,255,.78);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 12px;
	color: var(--muted);
	font-weight: 700;
}

.kdt-fiche-rating-link{
	color: var(--lav3);
	text-decoration:none;
	font-weight: 900;
}

.kdt-fiche-rating-link:hover{
	text-decoration: underline;
}

.kdt-fiche-rating-arrow{
	color: rgba(110,84,127,.85);
	font-size: 18px;
}

/* Planning (carte) */
.kdt-fiche-planning-block{
	margin-top: 14px;
}

.kdt-fiche-planning-list{
	display:grid;
	gap: 12px;
}

.kdt-fiche-planning-card{
	display:flex;
	gap: 14px;
	align-items:flex-start;
	padding: 14px 14px;
	border-radius: var(--r-lg);
	border: 1px solid rgba(74,57,89,.10);
	background: rgba(255,255,255,.75);
}

.kdt-fiche-planning-day{
	font-weight: 900;
	color: var(--text);
	margin-bottom: 6px;
}

.kdt-fiche-planning-time{
	color: var(--muted);
	font-weight: 700;
}

/* Avis */
.kdt-fiche-review-list{
	display:grid;
	gap: 12px;
}

.kdt-fiche-review{
	display:flex;
	gap: 12px;
	align-items:flex-start;
	padding: 14px;
	border-radius: var(--r-lg);
	border: 1px solid rgba(74,57,89,.10);
	background: rgba(255,255,255,.75);
}

.kdt-fiche-avatar-mini{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(238,231,246,.70);
	border: 1px solid rgba(74,57,89,.10);
	flex: 0 0 auto;
}

.kdt-fiche-review-who{
	font-weight: 900;
	color: var(--text);
	margin: 0 0 4px;
}

.kdt-fiche-review-txt{
	margin:0;
	color: var(--muted);
	line-height: 1.45;
}

/* Responsive (on garde léger : tu as demandé desktop d’abord) */
@media (max-width: 980px){
	.kdt-fiche-grid{
		grid-template-columns: 1fr;
	}
	.kdt-fiche-name{
		font-size: 46px;
	}
	.kdt-fiche-cta{
		width: 100%;
		min-width: 0;
	}
}

.kdt-fiche-mode-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 12px;
	margin-bottom: 4px;
}

.kdt-fiche-mode-label{
	font-weight: 900;
	color: var(--text);
	margin-bottom: 0; /* on annule l’ancien margin-bottom */
}

.kdt-fiche-mode-price{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding: 7px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .2px;
	white-space: nowrap;

	border: 1px solid rgba(255,255,255,.55);
	box-shadow:
		0 10px 22px rgba(52,36,63,.12),
		inset 0 1px 0 rgba(255,255,255,.35);
}

.kdt-fiche-mode--phone .kdt-fiche-mode-price{
	background: linear-gradient(180deg, rgba(47,174,103,.98), rgba(29,132,78,.98));
	color:#fff;
	border-color: rgba(255,255,255,.45);
}

.kdt-fiche-mode--chat .kdt-fiche-mode-price{
	background: linear-gradient(180deg, rgba(110,84,127,.98), rgba(83,63,97,.98));
	color:#fff;
	border-color: rgba(255,255,255,.45);
}

.kdt-fiche-mode--mail .kdt-fiche-mode-price{
	background: rgba(255,255,255,.78);
	color:#3B2F45;
	border: 1px solid rgba(74,57,89,.16);
	box-shadow:
		0 10px 22px rgba(52,36,63,.10),
		inset 0 1px 0 rgba(255,255,255,.55);
}

/* ===============================
   MOBILE ONLY — aérer les tab panels + remonter le stack au-dessus des tabs
   (ne touche pas le desktop)
   =============================== */

/* IMPORTANT : ton breakpoint 980px force 1 colonne => on ne le casse pas,
   mais on gère notre rendu mobile en dessous de 768px. */

@media (max-width: 767.98px){

	/* 1) QUICK CONSULT : visible uniquement en mobile */
	.kdt-fiche-quickconsult{
		padding: 10px 14px 0;
	}

	/* On rend le stack compact et sans débordement */
	.kdt-fiche-modes--quick{
		display: grid;
		gap: 10px;
	}

	.kdt-fiche-modes--quick .kdt-fiche-mode{
		padding: 10px 10px;
		border-radius: 16px;
		gap: 10px;
		width: 100%;
		box-sizing: border-box;
		overflow: hidden;
	}

	.kdt-fiche-modes--quick .kdt-fiche-iconbox{
		width: 34px;
		height: 34px;
		border-radius: 12px;
		flex: 0 0 auto;
	}

	.kdt-fiche-modes--quick .kdt-fiche-mode-body{
		min-width: 0;
	}

	.kdt-fiche-modes--quick .kdt-fiche-mode-label{
		font-size: 14px;
		line-height: 1.15;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* Ton line-height actuel est trop bas (0.6) => illisible en mobile */
	.kdt-fiche-modes--quick .kdt-fiche-mode-desc{
		font-size: 12.5px;
		line-height: 1.25;
		margin: 0;
	}

	/* Option : si tu veux retirer les prix pour gagner encore en compacité */
	/* .kdt-fiche-modes--quick .kdt-fiche-mode-price{ display:none; } */

	/* 2) On masque le bloc consultation "dans le tab Profil" en mobile,
	      puisque le stack est maintenant au-dessus des tabs */
	#panel-profil #consult{
		display: none;
	}

	/* 3) Aérer les tabs : moins de padding global */
	.kdt-fiche-content{
		padding: 10px 14px 18px;
	}

	/* Tabs plus proches du contenu */
	.kdt-fiche-tabs{
		padding: 8px 2px 0;
		gap: 18px;
	}

	/* 4) SUPPRIMER encadrements + padding des panels dans les 3 tabs */
	#panel-profil .kdt-fiche-panel,
	#panel-planning .kdt-fiche-panel,
	#panel-avis .kdt-fiche-panel{
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	/* On garde quand même un peu de respiration entre blocs */
	.kdt-fiche-tabpanels{
		padding-top: 12px;
	}

	/* Présentation : typo un peu plus petite, comme ton souhait */
	#panel-profil .kdt-fiche-h2{
		font-size: 22px;
		margin-bottom: 10px;
	}

	#panel-profil .kdt-fiche-p{
		font-size: 14px;
		line-height: 1.45;
		margin-bottom: 10px;
	}

	/* Planning card : on garde la carte (utile), mais plus compacte */
	.kdt-fiche-planning-card{
		padding: 12px 12px;
		border-radius: 18px;
	}

	/* Avis : cartes ok, mais espacements adaptés */
	.kdt-fiche-review{
		padding: 12px;
		border-radius: 18px;
	}

	/* 5) CTA : plein largeur en mobile (tu l'as déjà en 980px, mais on le force ici) */
	.kdt-fiche-cta{
		width: 100%;
		min-width: 0;
	}
}

/* Desktop : on cache le quick consult */
@media (min-width: 767.98px){
	.kdt-fiche-quickconsult{
		display: none;
	}
}

@media (max-width: 767.98px){
	.kdt-fiche-hero .expert-ribbons--fiche{
		top: 0.75rem;
		right: 0.75rem;
		z-index: 10;
	}
}

/* ===============================
   RIBBONS — FICHE CONSULTANT
   =============================== */

.expert-ribbons--fiche{
	position: absolute;
	top: 18px;
	right: 18px;
	display: flex;
	gap: 8px;
	z-index: 5;
}

/* Le hero doit être positionné */
.kdt-fiche-hero{
	position: relative;
}

/* ===============================
   AVIS CLIENTS — GRILLE PREMIUM (3x3 + pagination)
   =============================== */

.kdt-avis-wrap{
	margin-top: 10px;
}

.kdt-avis-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

.kdt-avis-card{
	background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.74));
	border: 1px solid rgba(74,57,89,.10);
	border-radius: 22px;
	box-shadow: 0 16px 38px rgba(52,36,63,.10);
	padding: 16px 16px 14px;
	min-width: 0;
}

.kdt-avis-head{
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 10px;
	background: radial-gradient(520px 120px at 28% 0, rgba(238,231,246,.45), transparent 70%);
	border-radius: 18px;
}

.kdt-avis-avatar{
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid rgba(255,255,255,.92);
	box-shadow: 0 10px 22px rgba(52,36,63,.12);
	background: #ddd;
	flex: 0 0 auto;
}

.kdt-avis-expert{
	margin: 0;
	font-family: "Libre Baskerville", serif;
	font-size: 30px;
	line-height: 1.05;
	color: #3B2F45;
}

.kdt-avis-role{
	margin: 6px 0 0;
	color: rgba(43,36,48,.62);
	font-weight: 650;
}

.kdt-avis-quote{
	margin-top: 10px;
	padding: 14px 14px;
	border-radius: 18px;
	background: rgba(255,255,255,.55);
	border: 1px solid rgba(74,57,89,.08);
	color: rgba(59,47,69,.88);
}

.kdt-avis-quote p{
	margin: 0;
	font-family: "Libre Baskerville", serif;
	font-style: italic;
	font-size: 18px;
	line-height: 1.35;
	color: rgba(59,47,69,.78);
}

.kdt-avis-foot{
	margin-top: 12px;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	align-items: center;
	gap: 10px 12px;
}

.kdt-avis-stars{
	display: inline-flex;
	gap: 4px;
}

.kdt-avis-date{
	color: rgba(43,36,48,.65);
	font-weight: 650;
}

.kdt-avis-signer{
	grid-column: 1 / -1;
	font-family: "Libre Baskerville", serif;
	font-size: 18px;
	font-weight: 800;
	color: #3B2F45;
}

/* Pagination */
.kdt-avis-pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
}

.kdt-avis-pages{
	display: inline-flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}

.kdt-avis-pageBtn{
	height: 44px;
	min-width: 44px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid rgba(74,57,89,.12);
	background: rgba(255,255,255,.70);
	color: rgba(59,47,69,.84);
	font-weight: 850;
	box-shadow: 0 12px 22px rgba(52,36,63,.10);
}

.kdt-avis-pageBtn[disabled]{
	opacity: .45;
	cursor: default;
}

.kdt-avis-pageBtn.is-active{
	background: rgba(110,84,127,.98);
	border-color: rgba(110,84,127,.98);
	color: #fff;
}

/* Responsive */
@media (max-width: 980px){
	.kdt-avis-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px){
	.kdt-avis-grid{
		grid-template-columns: 1fr;
	}
	.kdt-avis-quote p{
		font-size: 18px;
	}
	.kdt-avis-expert{

		font-size: 26px;
	}
	.kdt-avis-signer{
		font-size: 20px;
	}
}

/* Footer toujours collé en bas de la carte */
.kdt-avis-card{
	display: flex;
	flex-direction: column;
}

.kdt-avis-quote{
	/* garde ton margin-top, mais autorise la carte à “prendre l’air” */
}

.kdt-avis-foot{
	margin-top: auto;     /* pousse le footer tout en bas */
	padding-top: 12px;    /* garde l’espace visuel au-dessus */
}

.kdt-avis-quote p{
	display: -webkit-box;
	-webkit-line-clamp: 5;   /* ajuste (4, 5, 6…) selon ton rendu */
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* =========================================================
   KANDITEL REFONTE - Fiche expert : compléments dynamiques
   ========================================================= */

.kdt-fiche-availability--disponible {
	border-color: #BFE5D6;
	background: #D7F0E5;
	color: #2E7D66;
}

.kdt-fiche-availability--disponible .kdt-fiche-dot {
	background: #2FAE67;
	box-shadow: 0 0 0 3px rgba(47, 174, 103, .14);
}

.kdt-fiche-availability--occupe {
	border-color: rgba(214, 150, 52, .22);
	background: rgba(255, 239, 207, .86);
	color: #9a631d;
}

.kdt-fiche-availability--occupe .kdt-fiche-dot {
	background: #d9902d;
	box-shadow: 0 0 0 3px rgba(217, 144, 45, .16);
}

.kdt-fiche-availability--pause {
	border-color: rgba(100, 21, 200, .18);
	background: rgba(244, 228, 255, .82);
	color: #6415c8;
}

.kdt-fiche-availability--pause .kdt-fiche-dot {
	background: #8d55dd;
	box-shadow: 0 0 0 3px rgba(141, 85, 221, .16);
}

.kdt-fiche-availability--absent {
	border-color: rgba(120, 111, 128, .18);
	background: rgba(255, 255, 255, .74);
	color: #706878;
}

.kdt-fiche-availability--absent .kdt-fiche-dot {
	background: #9a92a2;
	box-shadow: 0 0 0 3px rgba(154, 146, 162, .14);
}

.kdt-fiche-mode.is-disabled {
	opacity: .62;
	cursor: not-allowed;
	filter: grayscale(.2);
}

.kdt-fiche-mode.is-waiting {
	background: rgba(255, 255, 255, .68);
}

.kdt-fiche-favorite-wrap {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 6;
}

.kdt-fiche-favorite {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: #6415c8;
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(230, 217, 250, .82);
	box-shadow: 0 12px 26px rgba(74, 50, 96, .10), inset 0 1px 0 rgba(255,255,255,.88);
	text-decoration: none;
}

.kdt-fiche-favorite:hover,
.kdt-fiche-favorite:focus-visible {
	color: #4a3260;
	background: #ffffff;
	text-decoration: none;
}

.kdt-fiche-p--lead {
	font-weight: 750;
	color: rgba(43, 36, 48, .86);
}

.kdt-fiche-editorial {
	color: var(--muted);
	line-height: 1.58;
}

.kdt-fiche-editorial p,
.kdt-fiche-editorial div {
	color: var(--muted);
	line-height: 1.58;
}

.kdt-fiche-editorial p:last-child {
	margin-bottom: 0;
}

.kdt-fiche-editorial a {
	color: var(--lav3);
	font-weight: 850;
	text-decoration: none;
}

.kdt-fiche-editorial a:hover {
	text-decoration: underline;
}

.kdt-fiche-tags-block {
	margin-top: 1.1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(74,57,89,.08);
}

.kdt-fiche-mini-title {
	margin: .85rem 0 .45rem;
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(59,47,69,.58);
}

.kdt-fiche-tags {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
}

.kdt-fiche-tag {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .45rem .65rem;
	border-radius: 999px;
	background: rgba(244, 228, 255, .78);
	border: 1px solid rgba(100, 21, 200, .10);
	color: #4a3260;
	font-size: .78rem;
	font-weight: 800;
}

.kdt-fiche-tag--soft {
	background: rgba(255,255,255,.72);
}

.kdt-fiche-tag--lang .fi {
	border-radius: 2px;
}

.kdt-fiche-stats-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .55rem;
	margin-top: .85rem;
}

.kdt-fiche-stats-grid div {
	padding: .7rem .45rem;
	border-radius: 16px;
	text-align: center;
	background: rgba(255,255,255,.64);
	border: 1px solid rgba(74,57,89,.08);
}

.kdt-fiche-stats-grid strong {
	display: block;
	font-size: 1rem;
	font-weight: 950;
	color: #3B2F45;
	line-height: 1;
}

.kdt-fiche-stats-grid span {
	display: block;
	margin-top: .25rem;
	font-size: .7rem;
	font-weight: 750;
	color: rgba(43,36,48,.58);
}

.kdt-fiche-empty-box {
	display: grid;
	gap: .35rem;
	justify-items: center;
	padding: 1.6rem;
	border-radius: 22px;
	background: rgba(255,255,255,.64);
	border: 1px solid rgba(74,57,89,.08);
	text-align: center;
	color: rgba(43,36,48,.68);
}

.kdt-fiche-empty-box i {
	font-size: 1.8rem;
	color: #6E547F;
}

.kdt-fiche-empty-box strong {
	color: #3B2F45;
	font-weight: 900;
}

.kdt-avis-reply {
	margin-top: .85rem;
	padding: .8rem .9rem;
	border-radius: 16px;
	background: rgba(244, 228, 255, .56);
	border: 1px solid rgba(100, 21, 200, .10);
	color: rgba(43,36,48,.72);
}

.kdt-avis-reply strong {
	display: block;
	margin-bottom: .25rem;
	color: #3B2F45;
	font-size: .82rem;
}

.kdt-avis-reply p {
	margin: 0;
	font-size: .9rem;
	line-height: 1.45;
}

.kdt-fiche-review-action {
	margin-top: 1.2rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(74,57,89,.08);
	text-align: center;
}

@media (max-width: 767.98px) {
	.kdt-fiche-favorite-wrap {
		top: .75rem;
		left: .75rem;
	}

	.kdt-fiche-favorite {
		width: 38px;
		height: 38px;
	}

	.kdt-fiche-stats-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   KANDITEL REFONTE - Fiche expert hero V2
   ========================================================= */

.kdt-fiche-hero--split {
	position: relative;
	padding: clamp(1.25rem, 2.4vw, 2.15rem);
	text-align: left;
	background:
		radial-gradient(circle at 22% 8%, rgba(205, 183, 246, 0.30), transparent 32%),
		radial-gradient(circle at 88% 75%, rgba(246, 236, 220, 0.72), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.66));
}

.kdt-fiche-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(330px, 0.62fr);
	gap: clamp(1rem, 2.4vw, 2rem);
	align-items: stretch;
}

.kdt-fiche-identity-block {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.55rem);
	align-items: center;
	min-width: 0;
}

.kdt-fiche-avatar-shell {
	position: relative;
	width: 150px;
	height: 150px;
	border-radius: 999px;
	padding: 0.45rem;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.62)),
		linear-gradient(135deg, rgba(205,183,246,0.66), rgba(246,236,220,0.82));
	box-shadow:
		0 20px 42px rgba(52,36,63,.14),
		inset 0 1px 0 rgba(255,255,255,0.9);
}

.kdt-fiche-hero--split .kdt-fiche-avatar {
	width: 100%;
	height: 100%;
	margin: 0;
	border: 5px solid rgba(255,255,255,0.92);
	box-shadow: none;
}

.kdt-fiche-identity-content {
	min-width: 0;
	padding-right: 1rem;
}

.kdt-fiche-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	margin: 0 0 0.35rem;
	padding: 0.36rem 0.7rem;
	border-radius: 999px;
	color: #6415c8;
	background: rgba(244, 228, 255, 0.78);
	border: 1px solid rgba(100, 21, 200, 0.12);
	font-size: 0.78rem;
	font-weight: 850;
	line-height: 1;
}

.kdt-fiche-hero--split .kdt-fiche-name {
	font-size: clamp(2.7rem, 5vw, 4.7rem);
	letter-spacing: -0.055em;
}

.kdt-fiche-hero--split .kdt-fiche-role {
	margin: 0.35rem 0 0.72rem;
	font-size: clamp(1rem, 1.6vw, 1.2rem);
	font-weight: 650;
}

.kdt-fiche-hero--split .kdt-fiche-meta {
	justify-content: flex-start;
	margin: 0 0 0.85rem;
}

.kdt-fiche-hero-tags,
.kdt-fiche-hero-modes,
.kdt-fiche-hero-supports {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
}

.kdt-fiche-hero-tags {
	margin-top: 0.75rem;
}

.kdt-fiche-hero-tag {
	display: inline-flex;
	align-items: center;
	gap: 0.34rem;
	padding: 0.45rem 0.66rem;
	border-radius: 999px;
	color: #4a3260;
	background: rgba(255,255,255,0.76);
	border: 1px solid rgba(230, 217, 250, 0.86);
	box-shadow: 0 8px 18px rgba(52,36,63,.05);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.kdt-fiche-hero-tag i {
	color: #6415c8;
	font-size: 0.82rem;
}

.kdt-fiche-hero-tag--more {
	color: #6415c8;
	background: rgba(244, 228, 255, 0.72);
}

.kdt-fiche-hero-mode {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.5rem 0.72rem;
	border-radius: 14px;
	color: rgba(43,36,48,.82);
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(74,57,89,.09);
	font-size: 0.78rem;
	font-weight: 850;
	line-height: 1;
}

.kdt-fiche-hero-modes {
	margin-top: 0.6rem;
}

.kdt-fiche-hero-mode i {
	color: #6415c8;
}

.kdt-fiche-hero-mode small {
	margin-left: 0.1rem;
	color: rgba(43,36,48,.58);
	font-size: 0.72rem;
	font-weight: 800;
}

.kdt-fiche-hero-supports {
	margin-top: 0.62rem;
	color: rgba(43,36,48,.62);
	font-size: 0.82rem;
	font-weight: 650;
}

.kdt-fiche-hero-supports span {
	font-weight: 850;
	color: rgba(43,36,48,.72);
}

.kdt-fiche-hero-supports strong {
	padding: 0.22rem 0.52rem;
	border-radius: 999px;
	color: #4a3260;
	background: rgba(246, 236, 220, 0.78);
	font-size: 0.74rem;
	font-weight: 850;
}

.kdt-fiche-hero-consult {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1rem, 1.8vw, 1.35rem);
	border-radius: 24px;
	background:
		radial-gradient(circle at 18% 10%, rgba(244, 228, 255, 0.58), transparent 36%),
		linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.66));
	border: 1px solid rgba(230, 217, 250, 0.84);
	box-shadow:
		0 18px 42px rgba(52,36,63,.10),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-fiche-hero-rating {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	margin-bottom: 0.9rem;
	color: rgba(43,36,48,.78);
	font-size: 0.9rem;
	font-weight: 800;
}

.kdt-fiche-hero-rating div {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.kdt-fiche-hero-rating a {
	color: #6415c8;
	font-size: 0.78rem;
	font-weight: 900;
	text-decoration: none;
}

.kdt-fiche-hero-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.52rem;
	margin-bottom: 0.85rem;
}

.kdt-fiche-hero-stats div {
	padding: 0.62rem 0.55rem;
	border-radius: 16px;
	text-align: center;
	background: rgba(255,255,255,0.70);
	border: 1px solid rgba(74,57,89,.08);
}

.kdt-fiche-hero-stats strong,
.kdt-fiche-hero-stats span {
	display: block;
}

.kdt-fiche-hero-stats strong {
	color: #3B2F45;
	font-family: "Libre Baskerville", serif;
	font-size: 1.05rem;
	line-height: 1.05;
}

.kdt-fiche-hero-stats span {
	margin-top: 0.2rem;
	color: rgba(43,36,48,.58);
	font-size: 0.68rem;
	font-weight: 850;
}

.kdt-fiche-hero-intro {
	margin: 0 0 1rem;
	color: rgba(43,36,48,.72);
	font-size: 0.92rem;
	font-weight: 560;
	line-height: 1.48;
}

.kdt-fiche-hero-consult .kdt-fiche-cta {
	width: 100%;
	min-width: 0;
	padding: 0.92rem 1.1rem;
	font-size: 0.96rem;
}

.kdt-fiche-hero-secondary-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
	margin-top: 0.68rem;
}

.kdt-fiche-hero-mini-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.42rem;
	min-height: 42px;
	padding: 0.62rem 0.72rem;
	border-radius: 14px;
	color: #4a3260;
	background: rgba(255,255,255,0.74);
	border: 1px solid rgba(230, 217, 250, 0.84);
	font-size: 0.78rem;
	font-weight: 900;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.kdt-fiche-hero-mini-cta:hover,
.kdt-fiche-hero-mini-cta:focus-visible {
	color: #6415c8;
	background: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(52,36,63,.08);
}

.kdt-fiche-hero-mini-cta i {
	color: #6415c8;
}

.kdt-fiche-hero--split .expert-ribbons--fiche {
	top: 1rem;
	right: 1rem;
}

.kdt-fiche-hero--split .kdt-fiche-favorite-wrap {
	top: 1rem;
	left: 1rem;
}

@media (max-width: 1100px) {
	.kdt-fiche-hero-layout {
		grid-template-columns: 1fr;
	}

	.kdt-fiche-hero-consult {
		max-width: 100%;
	}
}

@media (max-width: 767.98px) {
	.kdt-fiche-hero--split {
		padding: 1rem;
		text-align: center;
	}

	.kdt-fiche-identity-block {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 0.85rem;
	}

	.kdt-fiche-avatar-shell {
		width: 126px;
		height: 126px;
	}

	.kdt-fiche-identity-content {
		padding-right: 0;
	}

	.kdt-fiche-hero--split .kdt-fiche-meta,
	.kdt-fiche-hero-tags,
	.kdt-fiche-hero-modes,
	.kdt-fiche-hero-supports {
		justify-content: center;
	}

	.kdt-fiche-hero-consult {
		border-radius: 20px;
	}

	.kdt-fiche-hero-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kdt-fiche-hero-stats div {
		padding: 0.55rem 0.42rem;
	}

	.kdt-fiche-hero-stats strong {
		font-size: 0.92rem;
	}

	.kdt-fiche-hero-stats span {
		font-size: 0.62rem;
	}

	.kdt-fiche-hero-secondary-actions {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.kdt-fiche-hero-stats {
		grid-template-columns: 1fr;
	}

	.kdt-fiche-availability {
		flex-wrap: wrap;
		justify-content: center;
		border-radius: 18px;
	}

	.kdt-fiche-availability-sep {
		display: none;
	}
}

/* =========================================================
   KANDITEL - Fiche expert : correctifs tabs, planning premium, avis limités
   ========================================================= */

.kdt-fiche-hero-rating a,
.kdt-fiche-rating-link,
.kdt-fiche-hero-tag--more {
	cursor: pointer;
}

.kdt-fiche-today-planning {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border-radius: 22px;
	background:
		radial-gradient(circle at 12% 10%, rgba(244, 228, 255, .72), transparent 38%),
		linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.68));
	border: 1px solid rgba(230, 217, 250, .86);
	box-shadow:
		0 16px 34px rgba(52,36,63,.08),
		inset 0 1px 0 rgba(255,255,255,.9);
}

.kdt-fiche-today-planning.is-today {
	border-color: rgba(47, 174, 103, .22);
	background:
		radial-gradient(circle at 12% 10%, rgba(215,240,229,.72), transparent 38%),
		linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.68));
}

.kdt-fiche-today-planning-icon {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	color: #6415c8;
	background: rgba(244, 228, 255, .88);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
}

.kdt-fiche-today-planning.is-today .kdt-fiche-today-planning-icon {
	color: #2E7D66;
	background: rgba(215,240,229,.92);
}

.kdt-fiche-today-planning-kicker {
	margin-bottom: .22rem;
	color: rgba(43,36,48,.56);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.kdt-fiche-today-planning-day {
	margin-bottom: .55rem;
	color: #3B2F45;
	font-family: "Libre Baskerville", serif;
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.15;
}

.kdt-fiche-planning-slots {
	display: flex;
	flex-wrap: wrap;
	gap: .42rem;
}

.kdt-fiche-planning-slots span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .38rem .62rem;
	border-radius: 999px;
	color: #4a3260;
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(230, 217, 250, .78);
	font-size: .78rem;
	font-weight: 850;
	line-height: 1;
}

.kdt-fiche-today-planning-count {
	min-width: 76px;
	padding: .7rem .62rem;
	border-radius: 18px;
	text-align: center;
	background: rgba(255,255,255,.68);
	border: 1px solid rgba(74,57,89,.08);
}

.kdt-fiche-today-planning-count strong,
.kdt-fiche-today-planning-count span {
	display: block;
}

.kdt-fiche-today-planning-count strong {
	color: #3B2F45;
	font-family: "Libre Baskerville", serif;
	font-size: 1.45rem;
	line-height: 1;
}

.kdt-fiche-today-planning-count span {
	margin-top: .22rem;
	color: rgba(43,36,48,.58);
	font-size: .7rem;
	font-weight: 850;
	text-transform: uppercase;
}

.kdt-fiche-planning-board {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
}

.kdt-fiche-planning-day-card {
	padding: 1rem;
	border-radius: 22px;
	background:
		radial-gradient(circle at 15% 0%, rgba(244, 228, 255, .56), transparent 36%),
		linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.66));
	border: 1px solid rgba(230, 217, 250, .82);
	box-shadow:
		0 14px 30px rgba(52,36,63,.07),
		inset 0 1px 0 rgba(255,255,255,.86);
}

.kdt-fiche-planning-day-card.is-today {
	border-color: rgba(47,174,103,.22);
	background:
		radial-gradient(circle at 15% 0%, rgba(215,240,229,.62), transparent 36%),
		linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.68));
}

.kdt-fiche-planning-day-head {
	display: flex;
	justify-content: space-between;
	gap: .8rem;
	align-items: flex-start;
	margin-bottom: .85rem;
}

.kdt-fiche-planning-day-head strong {
	display: block;
	color: #3B2F45;
	font-family: "Libre Baskerville", serif;
	font-size: 1.1rem;
	line-height: 1.15;
}

.kdt-fiche-planning-day-kicker {
	display: block;
	margin-bottom: .25rem;
	color: rgba(43,36,48,.54);
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.kdt-fiche-planning-day-count {
	flex: 0 0 auto;
	padding: .36rem .55rem;
	border-radius: 999px;
	color: #6415c8;
	background: rgba(244, 228, 255, .78);
	border: 1px solid rgba(100,21,200,.10);
	font-size: .72rem;
	font-weight: 950;
	line-height: 1;
}

.kdt-fiche-planning-day-card.is-today .kdt-fiche-planning-day-count {
	color: #2E7D66;
	background: rgba(215,240,229,.84);
	border-color: rgba(47,174,103,.12);
}

#panel-avis .kdt-fiche-p small {
	color: rgba(43,36,48,.58);
	font-weight: 700;
}

@media (max-width: 767.98px) {
	.kdt-fiche-today-planning {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: flex-start;
		padding: .9rem;
	}

	.kdt-fiche-today-planning-count {
		grid-column: 1 / -1;
		width: 100%;
	}

	.kdt-fiche-planning-board {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   FICHE EXPERT - Boutons internes onglets
   ========================================================= */

button.kdt-fiche-hero-proof-link,
button.kdt-fiche-rating-link {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	color: #6E547F;
	font: inherit;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
}

button.kdt-fiche-hero-proof-link:hover,
button.kdt-fiche-hero-proof-link:focus-visible,
button.kdt-fiche-rating-link:hover,
button.kdt-fiche-rating-link:focus-visible {
	color: #4a3260;
	text-decoration: underline;
	outline: none;
}

button.kdt-fiche-hero-tag {
	border: 1px solid rgba(110, 84, 127, 0.16);
	cursor: pointer;
}

button.kdt-fiche-hero-tag--more {
	color: #6E547F;
	background: rgba(255,255,255,0.76);
}

button.kdt-fiche-hero-tag--more:hover,
button.kdt-fiche-hero-tag--more:focus-visible {
	background: #ffffff;
	color: #4a3260;
	transform: translateY(-1px);
	outline: none;
}

/* =========================================================
   FICHE EXPERT - CTA mail hero harmonisé
   ========================================================= */

.kdt-fiche-hero-mail-action {
	margin-top: 12px;
	width: 100%;
}

.kdt-fiche-mail-hero-cta {
	width: 100%;
	min-width: 0;
}

.kdt-fiche-mail-hero-cta i {
	font-size: 1rem;
	line-height: 1;
}

.kdt-fiche-hero-secondary-actions {
	margin-top: 12px;
}

@media (max-width: 767.98px) {
	.kdt-fiche-hero-mail-action {
		margin-top: 10px;
	}
}

/* =========================================================
   KANDITEL REFONTE - Page avis clients
   À ajouter en bas de style.css
   ========================================================= */

/* ===============================
   KANDITEL — PAGE AVIS (premium)
   =============================== */

:root{
	--kdt-avis-card: rgba(255,255,255,.82);
	--kdt-avis-card2: rgba(255,255,255,.74);
	--kdt-avis-panel: rgba(255,255,255,.70);

	--kdt-avis-stroke: rgba(74,57,89,.10);
	--kdt-avis-shadow: 0 16px 38px rgba(52,36,63,.10);

	--kdt-avis-text: #2B2430;
	--kdt-avis-muted: rgba(43,36,48,.62);

	--kdt-avis-lav: #B8A6C9;
	--kdt-avis-lav2: #6E547F;

	--kdt-avis-radius-xl: 28px;
	--kdt-avis-radius-lg: 20px;
	--kdt-avis-pill: 999px;
}

/* Layout page avis */
.kdt-avis-page{
	padding: 6px 0 56px;
}

.kdt-avis-hero{
	margin-bottom: 16px;
}

.kdt-avis-heroCard{
	background: linear-gradient(180deg, var(--kdt-avis-panel), rgba(255,255,255,.55));
	border: 1px solid rgba(74,57,89,.08);
	border-radius: var(--kdt-avis-radius-xl);
	/*box-shadow: 0 18px 44px rgba(52,36,63,.10);*/
	padding: 18px 18px;
}

.kdt-avis-heroTxt{
	margin: 0;
	color: rgba(43,36,48,.70);
	line-height: 1.55;
	text-align: center;
}

.kdt-avis-heroActions{
	margin-top: 14px;
	display: flex;
	justify-content: flex-start;
}

.kdt-avis-filterBtn{
	appearance: none;
	border: 1px solid rgba(74,57,89,.12);
	background: rgba(236,223,248,.55);
	color: rgba(59,47,69,.85);
	border-radius: var(--kdt-avis-pill);
	padding: 10px 18px;
	font-weight: 800;
	box-shadow:
		0 14px 30px rgba(74, 50, 96, 0.10),
		inset 0 1px 0 rgba(255,255,255,.70);
}

.kdt-avis-filterBtn:hover{
	filter: brightness(1.02);
}

/* Wrap / grid */
.kdt-avis-wrap{
	margin-top: 10px;
}

.kdt-avis-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

/* Carte avis (format wide) */
.kdt-avis-card{
	background: linear-gradient(180deg, var(--kdt-avis-card), var(--kdt-avis-card2));
	border: 1px solid var(--kdt-avis-stroke);
	border-radius: 22px;
	box-shadow: var(--kdt-avis-shadow);
	padding: 16px 16px 14px;
	min-width: 0;

	display: flex;
	flex-direction: column;
}

.kdt-avis-head{
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 10px;
	background: radial-gradient(520px 120px at 22% 0, rgba(238,231,246,.45), transparent 70%);
	border-radius: 18px;
}

.kdt-avis-avatar{
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid rgba(255,255,255,.92);
	box-shadow: 0 10px 22px rgba(52,36,63,.12);
	background: #ddd;
	flex: 0 0 auto;
}

.kdt-avis-expert{
	margin: 0;
	font-family: "Libre Baskerville", serif;
	font-size: 30px;
	line-height: 1.05;
	color: #3B2F45;
}

.kdt-avis-role{
	margin: 6px 0 0;
	color: rgba(43,36,48,.62);
	font-weight: 650;
}

.kdt-avis-quote{
	margin-top: 10px;
	padding: 14px 14px;
	border-radius: 18px;
	background: rgba(255,255,255,.55);
	border: 1px solid rgba(74,57,89,.08);
	color: rgba(59,47,69,.88);
}

.kdt-avis-quote p{
	margin: 0;
	font-family: "Libre Baskerville", serif;
	font-style: italic;
	font-size: 18px;
	line-height: 1.35;
	color: rgba(59,47,69,.78);

	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Footer collé en bas */
.kdt-avis-foot{
	margin-top: auto;
	padding-top: 12px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.kdt-avis-stars{
	display: inline-flex;
	gap: 4px;
	color: #F2B84B;
}

.kdt-avis-date{
	color: rgba(43,36,48,.65);
	font-weight: 650;
}

/* =========================================================
   REPRISE UI BLOG-LISTE (filtres / pagination / CTA)
   (copié / aligné pour avoir EXACTEMENT le même rendu)
   ========================================================= */

:root{
	--kdt-btn-bg: #7b6aa8;
	--kdt-btn-bg-hover: #6f5f9f;
	--kdt-btn-text: #ffffff;
	--kdt-btn-border: rgba(123, 106, 168, 0.25);
	--kdt-btn-ghost-bg: rgba(255, 255, 255, 0.65);
	--kdt-btn-ghost-bg-hover: rgba(255, 255, 255, 0.9);
	--kdt-btn-shadow: 0 14px 35px rgba(45, 24, 74, 0.10);
}

/* Filters (blog-liste) */
.kdt-bloglist-filters{
	position: relative;
	top: auto;
	z-index: 20;
	padding: 0.9rem 0;
	background: rgba(248, 240, 226, 0.72);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-top: 1px solid rgba(255,255,255,0.35);
	border-bottom: 1px solid rgba(230, 217, 250, 0.55);
}

.kdt-bloglist-filterForm{
	margin: 0;
}

.kdt-bloglist-filterGrid{
	display: grid;
	grid-template-columns: 1.4fr 0.9fr 0.7fr auto;
	gap: 0.9rem;
	align-items: end;
}

/* Override colonnes pour AVIS (pas de thématique) */
.kdt-avislist-filterGrid{
	grid-template-columns: 1.4fr 0.7fr auto;
}

.kdt-bloglist-searchbox{
	display: flex;
	align-items: center;
	gap: 0.6rem;

	padding: 0.55rem 0.6rem;
	border-radius: 999px;

	background: rgba(255,255,255,0.60);
	border: 1px solid rgba(230, 217, 250, 0.95);
	box-shadow: 0 10px 24px rgba(74, 50, 96, 0.08);
}

.kdt-bloglist-searchbox i{
	color: rgba(74, 50, 96, 0.65);
}

.kdt-bloglist-searchbox input{
	flex: 1 1 auto;
	border: 0;
	background: transparent;
	outline: none;
	color: rgba(74, 50, 96, 0.92);
	min-width: 0;
}

.kdt-bloglist-searchbox button{
	border: 0;
	border-radius: 999px;
	padding: 0.62rem 0.95rem;
	cursor: pointer;

	background: var(--kdt-btn-bg);
	color: #fff;
	box-shadow: var(--kdt-btn-shadow);
	transition: background-color .12s ease, transform .12s ease;
}

.kdt-bloglist-searchbox button:hover{
	background: var(--kdt-btn-bg-hover);
	transform: translateY(-1px);
}

.kdt-bloglist-field{
	display: grid;
	gap: 0.35rem;
}

.kdt-bloglist-label{
	font-size: 0.85rem;
	color: rgba(74, 50, 96, 0.65);
}

.kdt-bloglist-select{
	width: 100%;
	border-radius: 14px;
	padding: 0.65rem 0.85rem;
	border: 1px solid rgba(230, 217, 250, 0.95);
	background: rgba(255,255,255,0.55);
	outline: none;
	color: rgba(74, 50, 96, 0.92);
}

.kdt-bloglist-actions{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-bottom: 0.15rem;
}

.kdt-bloglist-hint{
	margin: 0.55rem 0 0;
	color: rgba(74, 50, 96, 0.62);
	font-size: 0.92rem;
}

/* Reset (version “premium identique”) */
.kdt-bloglist-reset{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 0.9rem;
	border-radius: 999px;
	border: 1px solid rgba(123, 106, 168, 0.18);
	background: rgba(255, 255, 255, 0.45);
	color: rgba(75, 47, 106, 0.85);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .12s ease, transform .12s ease, border-color .12s ease;
}

.kdt-bloglist-reset:hover{
	background: rgba(255, 255, 255, 0.85);
	border-color: rgba(123, 106, 168, 0.28);
	transform: translateY(-1px);
	text-decoration: none;
}

/* Pagination (identique blog-liste) */
.kdt-bloglist-pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin: 1.4rem 0 0;
	flex-wrap: wrap;
}

.kdt-bloglist-page{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 0.9rem;
	border-radius: 999px;
	border: 1px solid rgba(123, 106, 168, 0.20);
	background: rgba(255, 255, 255, 0.55);
	color: #4b2f6a;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .12s ease, transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.kdt-bloglist-page:hover{
	background: rgba(255, 255, 255, 0.85);
	border-color: rgba(123, 106, 168, 0.30);
	transform: translateY(-1px);
}

.kdt-bloglist-page.is-active{
	background: var(--kdt-btn-bg);
	color: #fff;
	border-color: rgba(123, 106, 168, 0.45);
	box-shadow: var(--kdt-btn-shadow);
}

.kdt-bloglist-page.is-disabled,
.kdt-bloglist-page[aria-disabled="true"]{
	opacity: 0.55;
	pointer-events: none;
}

.kdt-bloglist-ellipsis{
	color: rgba(75, 47, 106, 0.65);
	font-weight: 700;
	padding: 0 0.25rem;
}

/* Boutons CTA (identiques blog-liste) */
.kdt-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.72rem 1.05rem;
	border-radius: 999px;
	border: 1px solid var(--kdt-btn-border);
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: transform .12s ease, background-color .12s ease, border-color .12s ease, box-shadow .12s ease, color .12s ease;
}

.kdt-btn:focus-visible{
	outline: none;
	box-shadow: 0 0 0 4px rgba(123, 106, 168, 0.25);
}

.kdt-btn-primary{
	background: var(--kdt-btn-bg);
	color: var(--kdt-btn-text);
	box-shadow: var(--kdt-btn-shadow);
	border-color: rgba(123, 106, 168, 0.35);
}

.kdt-btn-primary:hover{
	background: var(--kdt-btn-bg-hover);
	color: var(--kdt-btn-text);
	transform: translateY(-1px);
}

.kdt-btn-ghost{
	background: var(--kdt-btn-ghost-bg);
	color: #4b2f6a;
}

.kdt-btn-ghost:hover{
	background: var(--kdt-btn-ghost-bg-hover);
	color: #3f275c;
	transform: translateY(-1px);
}

/* CTA bas (identique blog-liste) */
.kdt-bloglist-cta{
	margin-top: 2.25rem;
}

.kdt-bloglist-ctaInner{
	display: flex;
	gap: 1.25rem;
	justify-content: space-between;
	align-items: center;

	padding: 1.35rem 1.35rem;
	border-radius: 22px;

	background: rgba(255,255,255,0.38);
	border: 1px solid rgba(230, 217, 250, 0.75);
	box-shadow: 0 18px 42px rgba(74, 50, 96, 0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.kdt-bloglist-ctaBtns{
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* Responsive */
@media (max-width: 991.98px){
	.kdt-avis-grid{
		grid-template-columns: 1fr;
	}
	.kdt-avis-heroActions{
		justify-content: center;
	}
	.kdt-bloglist-filterGrid{
		grid-template-columns: 1fr 1fr;
	}
	.kdt-avislist-filterGrid{
		grid-template-columns: 1fr;
	}
	.kdt-bloglist-actions{
		justify-content: flex-start;
	}
	.kdt-bloglist-ctaInner{
		flex-direction: column;
		align-items: stretch;
	}
	.kdt-bloglist-ctaBtns{
		justify-content: flex-start;
	}
}

@media (max-width: 767.98px){
	.kdt-bloglist-filterGrid{
		grid-template-columns: 1fr;
	}
}

/* ===============================
   FIX DESKTOP — header avis (kdt-avis-hero)
   Objectif : carte + texte à gauche, bouton aligné à droite
   =============================== */

@media (min-width: 992px){

	.kdt-avis-hero{
		margin-bottom: 22px;
	}

	.kdt-avis-heroCard{
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 18px;

		padding: 22px 26px;
	}

	.kdt-avis-heroTxt{
		text-align: left;
		max-width: 92ch;
		margin: 0;
	}

	.kdt-avis-heroActions{
		margin-top: 0;
		justify-content: flex-end;
		flex: 0 0 auto;
	}

	.kdt-avis-filterBtn{
		padding: 12px 20px;
		min-width: 170px;
	}
}

/* Mobile / tablette : on garde le rendu “carte centrée” propre */
@media (max-width: 991.98px){
	.kdt-avis-heroCard{
		display: block;
	}
	.kdt-avis-heroTxt{
		text-align: center;
	}
	.kdt-avis-heroActions{
		justify-content: center;
	}
}

.kdt-blog-page-title{
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.0rem, 2.6vw, 2.6rem);
	line-height: 1.1;
	margin: 0 0 0.6rem;
}

/* Compléments dynamiques BFWK */
.kdt-avis-main-hero .hero-subtitle {
	max-width: 720px;
}

.kdt-avis-proofGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.7rem;
}

.kdt-avis-proofItem {
	padding: 0.85rem 0.7rem;
	border-radius: 18px;
	text-align: center;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230, 217, 250, 0.78);
	box-shadow:
		0 12px 26px rgba(74, 50, 96, 0.06),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-avis-proofItem strong {
	display: block;
	color: #4a3260;
	font-family: "Libre Baskerville", serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
}

.kdt-avis-proofItem span {
	display: block;
	margin-top: 0.34rem;
	color: rgba(43,36,48,.62);
	font-size: 0.74rem;
	font-weight: 850;
}

.kdt-avis-filterBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.kdt-avis-filterBtn:hover,
.kdt-avis-filterBtn:focus-visible {
	color: rgba(59,47,69,.85);
	text-decoration: none;
}

a.kdt-avis-expert {
	display: inline-block;
	margin: 0;
	font-family: "Libre Baskerville", serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.05;
	color: #3B2F45;
	text-decoration: none;
}

a.kdt-avis-expert:hover,
a.kdt-avis-expert:focus-visible {
	color: #6E547F;
	text-decoration: none;
}

.kdt-avis-reply {
	margin-top: 0.85rem;
	padding: 0.85rem 0.95rem;
	border-radius: 16px;
	background: rgba(246,236,220,0.58);
	border: 1px solid rgba(230,217,250,0.60);
	color: rgba(43,36,48,.76);
}

.kdt-avis-reply strong {
	display: block;
	margin-bottom: 0.35rem;
	color: #4a3260;
	font-weight: 850;
}

.kdt-avis-reply p {
	margin: 0;
	line-height: 1.45;
}

.kdt-avis-empty {
	max-width: 620px;
	margin: 1rem auto 2rem;
	padding: 2rem;
	border-radius: 28px;
	text-align: center;
	background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.62));
	border: 1px solid rgba(230, 217, 250, 0.82);
	box-shadow:
		0 18px 42px rgba(74, 50, 96, 0.08),
		inset 0 1px 0 rgba(255,255,255,0.88);
}

.kdt-avis-empty i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 0.9rem;
	border-radius: 999px;
	color: #6415c8;
	background: rgba(244, 228, 255, 0.88);
	font-size: 1.45rem;
}

.kdt-avis-empty strong {
	display: block;
	color: #17135c;
	font-family: "Libre Baskerville", serif;
	font-size: 1.55rem;
	font-weight: 700;
}

.kdt-avis-empty span {
	display: block;
	margin-top: 0.45rem;
	color: rgba(23, 19, 92, 0.70);
}

.kdt-avislist-pagination .kdt-bloglist-page {
	text-decoration: none;
}

.kdt-avislist-pagination span.kdt-bloglist-page {
	cursor: default;
}

.kdt-avis-experts-section {
	padding-bottom: 2.2rem;
}

@media (max-width: 991.98px) {
	.kdt-avis-proofGrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.kdt-avis-proofGrid {
		grid-template-columns: 1fr;
	}

	a.kdt-avis-expert {
		font-size: 24px;
	}

	.kdt-avis-heroActions {
		justify-content: center;
	}
}

/* =========================================================
   PAGE AVIS - Filtre période
   ========================================================= */

.kdt-avislist-filterGrid {
	grid-template-columns: 1.4fr 0.7fr 0.7fr auto;
}

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

@media (max-width: 575.98px) {
	.kdt-avislist-filterGrid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HOROSCOPES - Refonte page principale
   ========================================================= */

.kdt-horo-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-horo-page-title,
.kdt-horo-h2,
.kdt-horo-h3 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
}

.kdt-horo-page-title {
	margin: 0;
	font-size: clamp(2.35rem, 4.1vw, 4.45rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
}

.kdt-horo-h2 {
	margin: 0;
	font-size: clamp(1.65rem, 2.35vw, 2.25rem);
	line-height: 1.16;
	letter-spacing: -0.025em;
}

.kdt-horo-h3 {
	margin: 0 0 0.55rem;
	font-size: 1.35rem;
	line-height: 1.18;
}

.kdt-horo-h3--small {
	font-size: 1.15rem;
}

.kdt-horo-h3--article {
	font-size: 1.18rem;
}

.kdt-horo-text {
	margin: 0.35rem 0;
	color: rgba(74, 50, 96, 0.82);
	line-height: 1.6;
}

.kdt-horo-text--muted {
	color: rgba(74, 50, 96, 0.68);
}

.kdt-horo-lead {
	margin: 0.65rem auto 1.35rem;
	max-width: 860px;
	color: rgba(74, 50, 96, 0.70);
	line-height: 1.62;
}

.kdt-horo-sectionhead {
	margin-bottom: 1.05rem;
}

.kdt-horo-sectionhead--center {
	text-align: center;
}

.kdt-horo-sectionhead--between {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

/* Hero */
.kdt-horo-hero {
	position: relative;
	padding: clamp(24px, 3.2vw, 46px) 0 clamp(22px, 2.4vw, 34px);
}

.kdt-horo-heroCard {
	position: relative;
	overflow: hidden;
	border-radius: 34px;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border: 1px solid rgba(255,255,255,0.14);
	box-shadow:
		0 28px 70px rgba(52, 36, 63, 0.18),
		inset 0 1px 0 rgba(255,255,255,0.12);
	color: #ffffff;
}

.kdt-horo-heroGlow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-horo-heroGlow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-horo-heroGlow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-horo-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.65fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(24px, 3.4vw, 48px);
}

.kdt-horo-heroKicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-horo-heroTitle {
	max-width: 920px;
	color: #e8d5a0;
}

.kdt-horo-heroLead {
	margin: 0.95rem 0 0;
	max-width: 820px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.24rem);
	line-height: 1.62;
}

.kdt-horo-heroLinks {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.25rem;
}

.kdt-horo-heroLinks a,
.kdt-horo-heroBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	border-radius: 999px;
	padding: 0.52rem 0.85rem;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.84);
	text-decoration: none;
	font-weight: 850;
	font-size: 0.93rem;
	transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.kdt-horo-heroLinks a:hover,
.kdt-horo-heroBtn:hover {
	transform: translateY(-1px);
	background: rgba(255,255,255,0.16);
	border-color: rgba(255,255,255,0.24);
	color: #ffffff;
	text-decoration: none;
}

.kdt-horo-heroPanel {
	border-radius: 28px;
	padding: 1.15rem;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.08) 100%);
	border: 1px solid rgba(255,255,255,0.16);
	box-shadow:
		0 24px 58px rgba(0,0,0,0.20),
		inset 0 1px 0 rgba(255,255,255,0.12);
}

.kdt-horo-heroPanelIcon {
	width: 52px;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(255,255,255,0.90);
	color: #4a3260;
	font-size: 1.35rem;
	margin-bottom: 0.9rem;
}

.kdt-horo-heroPanel h2 {
	margin: 0 0 0.5rem;
	font-family: "Libre Baskerville", serif;
	color: #e8d5a0;
	font-size: 1.55rem;
	line-height: 1.15;
}

.kdt-horo-heroPanel p {
	margin: 0 0 1rem;
	color: rgba(255,255,255,0.74);
	line-height: 1.55;
}

/* Signes */
.kdt-horo-signs {
	padding-top: 0.4rem;
	padding-bottom: 1.35rem;
}

.kdt-horo-signGrid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.85rem;
}

.kdt-horo-signCard {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 130px;
	border-radius: 24px;
	padding: 1rem 0.75rem;
	text-align: center;
	background: rgba(255,255,255,0.54);
	border: 1px solid rgba(230,217,250,0.84);
	box-shadow:
		0 18px 46px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.68);
	color: #4a3260;
	text-decoration: none;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.kdt-horo-signCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 58px rgba(74,50,96,0.13);
	border-color: rgba(215,196,238,0.98);
	color: #4a3260;
	text-decoration: none;
}

.kdt-horo-signVisual {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 999px;
	margin-bottom: 0.65rem;
	background: rgba(255,255,255,0.62);
	border: 1px solid rgba(230,217,250,0.82);
	box-shadow:
		0 12px 28px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.75);
	overflow: hidden;
}

.kdt-horo-signVisual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 767.98px) {
	.kdt-horo-signVisual {
		width: 58px;
		height: 58px;
	}
}

.kdt-horo-signCard strong {
	display: block;
	font-family: "Libre Baskerville", serif;
	font-size: 1.08rem;
	line-height: 1.15;
}

.kdt-horo-signCard span:last-child {
	display: block;
	margin-top: 0.25rem;
	color: rgba(74,50,96,0.62);
	font-size: 0.84rem;
	font-weight: 700;
}

/* Horoscopes vedettes */
.kdt-horo-featured {
	padding-top: 0.75rem;
	padding-bottom: 1.35rem;
}

.kdt-horo-featuredGrid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
	gap: 1.1rem;
	align-items: stretch;
}

.kdt-horo-featuredCard,
.kdt-horo-sideCard,
.kdt-horo-articleCard,
.kdt-horo-miniCard,
.kdt-horo-panel {
	overflow: hidden;
	border-radius: 28px;
	background: rgba(255,255,255,0.56);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 22px 58px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.68);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.kdt-horo-featuredCard {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(330px, 0.78fr);
}

.kdt-horo-featuredMedia,
.kdt-horo-sideMedia,
.kdt-horo-articleMedia {
	position: relative;
	display: block;
	overflow: hidden;
}

.kdt-horo-featuredMedia {
	min-height: 370px;
}

.kdt-horo-featuredMedia img,
.kdt-horo-sideMedia img,
.kdt-horo-articleMedia img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(0.96) contrast(0.98) brightness(1.02);
	transition: transform 0.4s ease;
}

.kdt-horo-featuredCard:hover .kdt-horo-featuredMedia img,
.kdt-horo-sideCard:hover .kdt-horo-sideMedia img,
.kdt-horo-articleCard:hover .kdt-horo-articleMedia img {
	transform: scale(1.035);
}

.kdt-horo-featuredBody,
.kdt-horo-sideBody,
.kdt-horo-articleBody {
	padding: 1.2rem;
	display: flex;
	flex-direction: column;
}

.kdt-horo-featuredBody {
	justify-content: center;
	padding: clamp(1.25rem, 2.4vw, 2.1rem);
}

.kdt-horo-featuredBadge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	align-self: flex-start;
	margin-bottom: 0.8rem;
	padding: 0.38rem 0.7rem;
	border-radius: 999px;
	background: rgba(125,115,179,0.12);
	border: 1px solid rgba(125,115,179,0.16);
	color: #6E547F;
	font-size: 0.88rem;
	font-weight: 850;
}

.kdt-horo-featuredTitle {
	margin: 0 0 0.8rem;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(1.65rem, 2.45vw, 2.55rem);
	line-height: 1.14;
	color: #4a3260;
}

.kdt-horo-featuredTitle a,
.kdt-horo-h3 a {
	color: inherit;
	text-decoration: none;
}

.kdt-horo-featuredTitle a:hover,
.kdt-horo-h3 a:hover {
	color: #6E547F;
}

.kdt-horo-sideList {
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 1.1rem;
}

.kdt-horo-sideCard {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
}

.kdt-horo-sideMedia {
	min-height: 180px;
}

.kdt-horo-linkpill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	align-self: flex-start;
	margin-top: auto;
	padding: 0.42rem 0.78rem;
	border-radius: 999px;
	border: 1px solid rgba(230,217,250,0.95);
	background: rgba(255,255,255,0.65);
	font-weight: 800;
	color: rgba(74,50,96,0.92);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.kdt-horo-linkpill:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(74,50,96,0.12);
	background: rgba(255,255,255,0.82);
	color: #4a3260;
	text-decoration: none;
}

/* CTA */
.kdt-horo-ctaBlock {
	padding-top: 0.5rem;
	padding-bottom: 1.35rem;
}

.kdt-horo-ctaPanel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	border-radius: 30px;
	padding: clamp(1.15rem, 2.4vw, 2rem);
	background: rgba(255,255,255,0.50);
	border: 1px solid rgba(230,217,250,0.82);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.68);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.kdt-horo-ctaActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

/* Articles */
.kdt-horo-articles {
	padding-top: 0.75rem;
	padding-bottom: 1.35rem;
}

.kdt-horo-articleGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
}

.kdt-horo-articleCard {
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.kdt-horo-articleCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 58px rgba(74,50,96,0.13);
	border-color: rgba(215,196,238,0.98);
}

.kdt-horo-articleMedia {
	height: 190px;
}

.kdt-horo-articleBody {
	flex: 1 1 auto;
}

/* Autres horoscopes */
.kdt-horo-more {
	padding-top: 0.75rem;
	padding-bottom: 1.35rem;
}

.kdt-horo-moreGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-horo-miniCard {
	padding: 1.1rem;
	display: flex;
	flex-direction: column;
	min-height: 220px;
}

.kdt-horo-miniCard h3 {
	margin: 0 0 0.6rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.25rem;
	line-height: 1.18;
}

.kdt-horo-miniCard p {
	margin: 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

/* Comprendre / FAQ */
.kdt-horo-understand {
	padding-top: 0.75rem;
}

.kdt-horo-understandGrid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 1.1rem;
	align-items: start;
}

.kdt-horo-panel {
	padding: 1.2rem;
}

.kdt-horo-panelIcon {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 18px;
	margin-bottom: 0.85rem;
	background: rgba(125,115,179,0.16);
	color: #6E547F;
	font-size: 1.25rem;
}

.kdt-horo-list {
	margin: 0.85rem 0 0;
	padding-left: 1.1rem;
	color: rgba(74,50,96,0.76);
	line-height: 1.65;
}

.kdt-horo-accordion .accordion-item {
	border: 1px solid rgba(230,217,250,0.82);
	border-radius: 18px;
	overflow: hidden;
	background: rgba(255,255,255,0.52);
	margin-bottom: 0.65rem;
}

.kdt-horo-accordion .accordion-button {
	background: rgba(255,255,255,0.62);
	color: #4a3260;
	font-weight: 850;
	box-shadow: none;
}

.kdt-horo-accordion .accordion-button:not(.collapsed) {
	background: rgba(125,115,179,0.12);
	color: #4a3260;
}

.kdt-horo-accordion .accordion-body {
	color: rgba(74,50,96,0.74);
	line-height: 1.58;
}

/* Responsive */
@media (max-width: 1199.98px) {
	.kdt-horo-heroGrid,
	.kdt-horo-featuredGrid,
	.kdt-horo-featuredCard,
	.kdt-horo-ctaPanel {
		grid-template-columns: 1fr;
	}

	.kdt-horo-ctaActions {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.kdt-horo-signGrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kdt-horo-sideList {
		grid-template-rows: auto;
	}

	.kdt-horo-sideCard {
		grid-template-columns: 180px minmax(0, 1fr);
	}

	.kdt-horo-articleGrid,
	.kdt-horo-moreGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kdt-horo-understandGrid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.kdt-horo-hero {
		padding-top: 18px;
	}

	.kdt-horo-heroCard {
		border-radius: 26px;
	}

	.kdt-horo-heroGrid {
		padding: 1.15rem;
		gap: 1.1rem;
	}

	.kdt-horo-heroTitle {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-horo-heroLinks {
		flex-direction: column;
	}

	.kdt-horo-heroLinks a,
	.kdt-horo-heroBtn {
		width: 100%;
	}

	.kdt-horo-signGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.7rem;
	}

	.kdt-horo-signCard {
		min-height: 120px;
		border-radius: 20px;
	}

	.kdt-horo-featuredMedia {
		min-height: 230px;
	}

	.kdt-horo-sideCard {
		grid-template-columns: 1fr;
	}

	.kdt-horo-sideMedia {
		min-height: 210px;
	}

	.kdt-horo-articleGrid,
	.kdt-horo-moreGrid {
		grid-template-columns: 1fr;
	}

	.kdt-horo-articleMedia {
		height: 210px;
	}

	.kdt-horo-sectionhead--between {
		align-items: flex-start;
		flex-direction: column;
	}

	.kdt-horo-ctaActions {
		flex-direction: column;
	}

	.kdt-horo-ctaActions .kdt-btn {
		width: 100%;
	}
}

@media (max-width: 420px) {
	.kdt-horo-signGrid {
		grid-template-columns: 1fr;
	}
}

.kdt-horo-signVisual {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	border-radius: 999px;
	margin-bottom: 0.65rem;
	background: rgba(255,255,255,0.62);
	border: 1px solid rgba(230,217,250,0.82);
	box-shadow:
		0 12px 28px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.75);
	overflow: hidden;
}

.kdt-horo-signVisual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 767.98px) {
	.kdt-horo-signVisual {
		width: 60px;
		height: 60px;
	}
}

/* =========================================================
   HOROSCOPE DU JOUR - Refonte Kanditel
   ========================================================= */

.kdt-daily-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-daily-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-daily-heroCard {
	position: relative;
	overflow: hidden;
	border-radius: 34px;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border: 1px solid rgba(255,255,255,0.14);
	box-shadow:
		0 28px 70px rgba(52,36,63,0.18),
		inset 0 1px 0 rgba(255,255,255,0.12);
	color: #ffffff;
}

.kdt-daily-heroGlow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-daily-heroGlow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-daily-heroGlow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-daily-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(24px, 3.4vw, 48px);
}

.kdt-daily-breadcrumb {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 0.85rem;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-daily-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-daily-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-daily-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-daily-title {
	margin: 0;
	max-width: 900px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.35rem, 4.1vw, 4.45rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-daily-lead {
	margin: 0.95rem 0 0;
	max-width: 780px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.24rem);
	line-height: 1.62;
}

.kdt-daily-metaRow {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.1rem;
}

.kdt-daily-metaRow span {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.48rem 0.78rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.84);
	font-weight: 850;
	font-size: 0.92rem;
}

.kdt-daily-heroActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.35rem;
}

.kdt-daily-signHero {
	border-radius: 30px;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0.08) 100%);
	border: 1px solid rgba(255,255,255,0.16);
	box-shadow:
		0 24px 58px rgba(0,0,0,0.20),
		inset 0 1px 0 rgba(255,255,255,0.12);
	padding: 1.1rem;
	text-align: center;
}

.kdt-daily-signImage {
	width: 180px;
	height: 180px;
	margin: 0 auto 1rem;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,0.16);
	border: 1px solid rgba(255,255,255,0.22);
	box-shadow: 0 24px 58px rgba(0,0,0,0.18);
}

.kdt-daily-signImage img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kdt-daily-signHeroBody span {
	display: block;
	color: rgba(255,255,255,0.62);
	font-weight: 850;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.kdt-daily-signHeroBody strong {
	display: block;
	margin-top: 0.25rem;
	font-family: "Libre Baskerville", serif;
	color: #e8d5a0;
	font-size: 1.85rem;
	line-height: 1.12;
}

.kdt-daily-signHeroBody small {
	display: block;
	margin-top: 0.3rem;
	color: rgba(255,255,255,0.70);
	font-weight: 750;
}

/* Choix signes */
.kdt-daily-signs,
.kdt-daily-content,
.kdt-daily-cta {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-daily-sectionHead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.kdt-daily-sectionHead--center {
	display: block;
	text-align: center;
	margin-top: 1.25rem;
}

.kdt-daily-sectionHead h2 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.55rem, 2.2vw, 2.15rem);
	line-height: 1.18;
}

.kdt-daily-sectionHead p {
	margin: 0.35rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-daily-signGrid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.85rem;
}

.kdt-daily-signCard {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 132px;
	border-radius: 24px;
	padding: 1rem 0.75rem;
	text-align: center;
	background: rgba(255,255,255,0.54);
	border: 1px solid rgba(230,217,250,0.84);
	box-shadow:
		0 18px 46px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.68);
	color: #4a3260;
	text-decoration: none;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.kdt-daily-signCard:hover,
.kdt-daily-signCard.is-active {
	transform: translateY(-3px);
	box-shadow: 0 24px 58px rgba(74,50,96,0.13);
	border-color: rgba(125,115,179,0.42);
	color: #4a3260;
	text-decoration: none;
}

.kdt-daily-signCard.is-active {
	background: rgba(255,255,255,0.78);
}

.kdt-daily-signThumb {
	display: inline-flex;
	width: 62px;
	height: 62px;
	border-radius: 999px;
	margin-bottom: 0.65rem;
	background: rgba(255,255,255,0.64);
	border: 1px solid rgba(230,217,250,0.82);
	overflow: hidden;
	box-shadow:
		0 12px 28px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.75);
}

.kdt-daily-signThumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kdt-daily-signCard strong {
	font-family: "Libre Baskerville", serif;
	font-size: 1.06rem;
	line-height: 1.15;
}

.kdt-daily-signCard span:last-child {
	margin-top: 0.25rem;
	color: rgba(74,50,96,0.62);
	font-size: 0.82rem;
	font-weight: 750;
}

/* Lecture */
.kdt-daily-readingGrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
	gap: 1.1rem;
	align-items: stretch;
}

.kdt-daily-mainCard,
.kdt-daily-scoreCard,
.kdt-daily-detailCard,
.kdt-daily-empty,
.kdt-daily-ctaPanel {
	border-radius: 28px;
	background: rgba(255,255,255,0.56);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 22px 58px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.68);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.kdt-daily-mainCard,
.kdt-daily-scoreCard,
.kdt-daily-detailCard,
.kdt-daily-empty {
	padding: 1.2rem;
}

.kdt-daily-cardHead {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	margin-bottom: 1rem;
}

.kdt-daily-cardIcon,
.kdt-daily-detailIcon,
.kdt-daily-emptyIcon {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 18px;
	background: rgba(125,115,179,0.16);
	color: #6E547F;
	font-size: 1.15rem;
}

.kdt-daily-cardHead h2,
.kdt-daily-detailCard h3,
.kdt-daily-empty h2,
.kdt-daily-ctaPanel h2 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	line-height: 1.18;
}

.kdt-daily-cardHead h2 {
	font-size: 1.55rem;
}

.kdt-daily-cardHead p,
.kdt-daily-empty p,
.kdt-daily-ctaPanel p,
.kdt-daily-muted {
	margin: 0.22rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-daily-mainText {
	color: rgba(74,50,96,0.82);
	line-height: 1.75;
	font-size: 1.04rem;
}

.kdt-daily-colors {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.15rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(230,217,250,0.80);
}

.kdt-daily-colors strong {

	color: #4a3260;
	font-weight: 850;
}

.kdt-daily-colors div {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.kdt-daily-colors span {
	display: inline-flex;
	width: 24px;
	height: 24px;
	border-radius: 9px;
	border: 1px solid rgba(74,50,96,0.14);
	box-shadow: 0 8px 18px rgba(74,50,96,0.10);
}

.kdt-daily-scoreList {
	display: grid;
	gap: 0.9rem;
}

.kdt-daily-scoreTop {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.35rem;
	color: #4a3260;
	font-weight: 850;
}

.kdt-daily-scoreTop span {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.kdt-daily-progress {
	height: 12px;
	border-radius: 999px;
	background: rgba(125,115,179,0.11);
	overflow: hidden;
}

.kdt-daily-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(125,115,179,0.72), rgba(232,213,160,0.92));
}

.kdt-daily-detailGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-daily-detailCard {
	min-height: 230px;
}

.kdt-daily-detailCard--wide {
	grid-column: 1 / -1;
	min-height: 0;
}

.kdt-daily-detailIcon {
	margin-bottom: 0.9rem;
	background: rgba(232,213,160,0.26);
	color: #7a5a10;
}

.kdt-daily-detailCard h3 {
	font-size: 1.35rem;
	margin-bottom: 0.65rem;
}

.kdt-daily-detailCard p {
	margin: 0;
	color: rgba(74,50,96,0.76);
	line-height: 1.7;
}

.kdt-daily-chipList {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.kdt-daily-chipList span {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 0.75rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(230,217,250,0.88);
	color: rgba(74,50,96,0.78);
	font-weight: 800;
}

.kdt-daily-empty {
	text-align: center;
	max-width: 820px;
	margin: 0 auto;
}

.kdt-daily-emptyIcon {
	margin-bottom: 0.9rem;
}

/* CTA */
.kdt-daily-ctaPanel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-daily-ctaPanel h2 {
	font-size: clamp(1.45rem, 2.1vw, 2rem);
	margin-top: 0.45rem;
}

.kdt-daily-ctaActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

/* Responsive */
@media (max-width: 1199.98px) {
	.kdt-daily-heroGrid,
	.kdt-daily-readingGrid,
	.kdt-daily-ctaPanel {
		grid-template-columns: 1fr;
	}

	.kdt-daily-signHero {
		max-width: 420px;
	}

	.kdt-daily-ctaActions {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.kdt-daily-signGrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kdt-daily-detailGrid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.kdt-daily-hero {
		padding-top: 18px;
	}

	.kdt-daily-heroCard {
		border-radius: 26px;
	}

	.kdt-daily-heroGrid {
		padding: 1.15rem;
		gap: 1.1rem;
	}

	.kdt-daily-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-daily-heroActions,
	.kdt-daily-ctaActions {
		flex-direction: column;
	}

	.kdt-daily-heroActions .kdt-btn,
	.kdt-daily-ctaActions .kdt-btn {
		width: 100%;
	}

	.kdt-daily-signGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.7rem;
	}

	.kdt-daily-signCard {
		min-height: 122px;
		border-radius: 20px;
	}

	.kdt-daily-signThumb {
		width: 58px;
		height: 58px;
	}

	.kdt-daily-signImage {
		width: 150px;
		height: 150px;
	}

	.kdt-daily-sectionHead {
		align-items: flex-start;
		flex-direction: column;
	}

	.kdt-daily-colors {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 420px) {
	.kdt-daily-signGrid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HOROSCOPE DETAIL - Refonte Kanditel
   ========================================================= */

.kdt-horoView-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-horoView-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-horoView-heroCard {
	position: relative;
	overflow: hidden;
	border-radius: 34px;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border: 1px solid rgba(255,255,255,0.14);
	box-shadow:
		0 28px 70px rgba(52,36,63,0.18),
		inset 0 1px 0 rgba(255,255,255,0.12);
	color: #ffffff;
}

.kdt-horoView-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-horoView-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-horoView-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-horoView-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(24px, 3.4vw, 48px);
}

.kdt-horoView-breadcrumb {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 0.85rem;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-horoView-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-horoView-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-horoView-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-horoView-title {
	margin: 0;
	max-width: 920px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-horoView-lead {
	margin: 0.95rem 0 0;
	max-width: 780px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-horoView-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.35rem;
}

.kdt-horoView-visual {
	overflow: hidden;
	border-radius: 30px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.16);
	box-shadow:
		0 24px 58px rgba(0,0,0,0.20),
		inset 0 1px 0 rgba(255,255,255,0.12);
	min-height: 320px;
}

.kdt-horoView-visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

/* Intro */
.kdt-horoView-intro,
.kdt-horoView-nav,
.kdt-horoView-signs,
.kdt-horoView-cta,
.kdt-horoView-related {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-horoView-introPanel,
.kdt-horoView-empty,
.kdt-horoView-signCard,
.kdt-horoView-ctaPanel,
.kdt-horoView-relatedCard {
	border-radius: 28px;
	background: rgba(255,255,255,0.56);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 22px 58px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.68);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.kdt-horoView-introPanel {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-horoView-prose {
	color: rgba(74,50,96,0.78);
	line-height: 1.72;
}

.kdt-horoView-prose h2,
.kdt-horoView-prose h3 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	line-height: 1.18;
	margin-top: 1.2rem;
}

.kdt-horoView-prose p:last-child {
	margin-bottom: 0;
}

/* Headings */
.kdt-horoView-sectionHead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.kdt-horoView-sectionHead--center {
	display: block;
	text-align: center;
}

.kdt-horoView-sectionHead h2 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.55rem, 2.2vw, 2.15rem);
	line-height: 1.18;
}

.kdt-horoView-sectionHead p {
	margin: 0.35rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

/* Navigation signes */
.kdt-horoView-signNav {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.8rem;
}

.kdt-horoView-signNav a {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	border-radius: 999px;
	padding: 0.55rem 0.72rem;
	background: rgba(255,255,255,0.56);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 14px 34px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.68);
	color: #4a3260;
	text-decoration: none;
	font-weight: 850;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-horoView-signNav a:hover {
	transform: translateY(-2px);
	box-shadow: 0 20px 46px rgba(74,50,96,0.12);
	border-color: rgba(125,115,179,0.34);
	color: #4a3260;
	text-decoration: none;
}

.kdt-horoView-signNav span {
	flex: 0 0 auto;
	display: inline-flex;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(230,217,250,0.86);
}

.kdt-horoView-signNav img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Cartes signes */
.kdt-horoView-signGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.kdt-horoView-signCard {
	padding: 1.2rem;
	scroll-margin-top: 110px;
}

.kdt-horoView-signTop {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1rem;
}

.kdt-horoView-signIcon {
	flex: 0 0 auto;
	display: inline-flex;
	width: 68px;
	height: 68px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 12px 28px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.75);
}

.kdt-horoView-signIcon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kdt-horoView-signTop h3 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.45rem;
	line-height: 1.16;
}

.kdt-horoView-signTop p {
	margin: 0.22rem 0 0;
	color: rgba(74,50,96,0.62);
	font-weight: 750;
}

.kdt-horoView-signMedia {
	overflow: hidden;
	border-radius: 22px;
	margin-bottom: 1rem;
	border: 1px solid rgba(230,217,250,0.82);
	background: rgba(255,255,255,0.60);
}

.kdt-horoView-signMedia img {
	display: block;
	width: 100%;
	height: 230px;
	object-fit: cover;
}

.kdt-horoView-signText {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-horoView-signText p:last-child {
	margin-bottom: 0;
}

.kdt-horoView-empty {
	text-align: center;
	max-width: 820px;
	margin: 0 auto;
	padding: 1.4rem;
}

.kdt-horoView-empty h3 {
	margin: 0 0 0.5rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
}

/* CTA */
.kdt-horoView-ctaPanel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-horoView-ctaPanel h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.45rem, 2.1vw, 2rem);
	line-height: 1.18;
}

.kdt-horoView-ctaPanel p {
	margin: 0.55rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-horoView-ctaActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

/* Related */
.kdt-horoView-relatedGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-horoView-relatedCard {
	padding: 1.15rem;
	min-height: 220px;
	display: flex;
	flex-direction: column;
}

.kdt-horoView-relatedCard h3 {
	margin: 0 0 0.65rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.25rem;
	line-height: 1.18;
}

.kdt-horoView-relatedCard h3 a {
	color: inherit;
	text-decoration: none;
}

.kdt-horoView-relatedCard h3 a:hover {
	color: #6E547F;
	text-decoration: none;
}

.kdt-horoView-relatedCard p {
	margin: 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-horoView-more {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	align-self: flex-start;
	margin-top: auto;
	padding: 0.42rem 0.78rem;
	border-radius: 999px;
	border: 1px solid rgba(230,217,250,0.95);
	background: rgba(255,255,255,0.65);
	font-weight: 850;
	color: rgba(74,50,96,0.92);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.kdt-horoView-more:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(74,50,96,0.12);
	background: rgba(255,255,255,0.82);
	color: #4a3260;
	text-decoration: none;
}

/* Responsive */
@media (max-width: 1199.98px) {
	.kdt-horoView-heroGrid,
	.kdt-horoView-ctaPanel {
		grid-template-columns: 1fr;
	}

	.kdt-horoView-visual {
		max-width: 520px;
	}

	.kdt-horoView-ctaActions {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.kdt-horoView-signNav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kdt-horoView-signGrid {
		grid-template-columns: 1fr;
	}

	.kdt-horoView-relatedGrid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.kdt-horoView-hero {
		padding-top: 18px;
	}

	.kdt-horoView-heroCard {
		border-radius: 26px;
	}

	.kdt-horoView-heroGrid {
		padding: 1.15rem;
		gap: 1.1rem;
	}

	.kdt-horoView-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-horoView-actions,
	.kdt-horoView-ctaActions {
		flex-direction: column;
	}

	.kdt-horoView-actions .kdt-btn,
	.kdt-horoView-ctaActions .kdt-btn {
		width: 100%;
	}

	.kdt-horoView-signNav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kdt-horoView-sectionHead {
		align-items: flex-start;
		flex-direction: column;
	}

	.kdt-horoView-signTop {
		align-items: flex-start;
	}

	.kdt-horoView-signMedia img {
		height: 210px;
	}
}

@media (max-width: 420px) {
	.kdt-horoView-signNav {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HOROSCOPE QUOTIDIEN - Page choix du signe
   ========================================================= */

.kdt-quotidien-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-quotidien-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-quotidien-heroCard {
	position: relative;
	overflow: hidden;
	border-radius: 34px;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border: 1px solid rgba(255,255,255,0.14);
	box-shadow:
		0 28px 70px rgba(52,36,63,0.18),
		inset 0 1px 0 rgba(255,255,255,0.12);
	color: #ffffff;
}

.kdt-quotidien-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-quotidien-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-quotidien-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-quotidien-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(24px, 3.4vw, 48px);
}

.kdt-quotidien-breadcrumb {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 0.85rem;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-quotidien-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-quotidien-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-quotidien-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-quotidien-title {
	margin: 0;
	max-width: 860px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-quotidien-lead {
	margin: 0.95rem 0 0;
	max-width: 780px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-quotidien-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.35rem;
}

.kdt-quotidien-visual {
	overflow: hidden;
	border-radius: 30px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.16);
	box-shadow:
		0 24px 58px rgba(0,0,0,0.20),
		inset 0 1px 0 rgba(255,255,255,0.12);
	min-height: 330px;
}

.kdt-quotidien-visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 330px;
	object-fit: cover;
}

.kdt-quotidien-intro,
.kdt-quotidien-signs,
.kdt-quotidien-seo,
.kdt-quotidien-cta {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-quotidien-introPanel,
.kdt-quotidien-seoPanel,
.kdt-quotidien-ctaPanel {
	border-radius: 28px;
	background: rgba(255,255,255,0.56);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 22px 58px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.68);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-quotidien-prose,
.kdt-quotidien-seoPanel {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-quotidien-prose p:last-child,
.kdt-quotidien-seoPanel p:last-child {
	margin-bottom: 0;
}

.kdt-quotidien-sectionHead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.kdt-quotidien-sectionHead--center {
	display: block;
	text-align: center;
}

.kdt-quotidien-sectionHead h2 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.55rem, 2.2vw, 2.15rem);
	line-height: 1.18;
}

.kdt-quotidien-sectionHead p {
	margin: 0.35rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-quotidien-signGrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-quotidien-signCard {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
	min-height: 122px;
	padding: 0.9rem;
	border-radius: 26px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 18px 44px rgba(74,50,96,0.09),
		inset 0 1px 0 rgba(255,255,255,0.70);
	text-decoration: none;
	color: #4a3260;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-quotidien-signCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 58px rgba(74,50,96,0.14);
	border-color: rgba(125,115,179,0.34);
	color: #4a3260;
	text-decoration: none;
}

.kdt-quotidien-signMedia {
	display: block;
	width: 86px;
	height: 86px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,0.74);
	border: 1px solid rgba(230,217,250,0.92);
	box-shadow:
		0 12px 28px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.78);
}

.kdt-quotidien-signMedia img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kdt-quotidien-signBody {
	display: block;
	min-width: 0;
}

.kdt-quotidien-signBody strong {
	display: block;
	font-family: "Libre Baskerville", serif;
	font-size: 1.24rem;
	line-height: 1.1;
	color: #4a3260;
}

.kdt-quotidien-signBody small {
	display: block;
	margin-top: 0.25rem;
	color: rgba(74,50,96,0.62);
	font-weight: 750;
	line-height: 1.35;
}

.kdt-quotidien-signBody em {
	display: inline-flex;
	margin-top: 0.45rem;
	color: #7D73B3;
	font-style: normal;
	font-weight: 900;
	font-size: 0.9rem;
}

.kdt-quotidien-ctaPanel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
}

.kdt-quotidien-ctaPanel h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.45rem, 2.1vw, 2rem);
	line-height: 1.18;
}

.kdt-quotidien-ctaPanel p {
	margin: 0.55rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-quotidien-ctaActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

@media (max-width: 1199.98px) {
	.kdt-quotidien-heroGrid,
	.kdt-quotidien-ctaPanel {
		grid-template-columns: 1fr;
	}

	.kdt-quotidien-visual {
		max-width: 520px;
	}

	.kdt-quotidien-ctaActions {
		justify-content: flex-start;
	}

	.kdt-quotidien-signGrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991.98px) {
	.kdt-quotidien-signGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.kdt-quotidien-hero {
		padding-top: 18px;
	}

	.kdt-quotidien-heroCard {
		border-radius: 26px;
	}

	.kdt-quotidien-heroGrid {
		padding: 1.15rem;
		gap: 1.1rem;
	}

	.kdt-quotidien-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-quotidien-actions,
	.kdt-quotidien-ctaActions {
		flex-direction: column;
	}

	.kdt-quotidien-actions .kdt-btn,
	.kdt-quotidien-ctaActions .kdt-btn {
		width: 100%;
	}

	.kdt-quotidien-signCard {
		grid-template-columns: 72px minmax(0, 1fr);
		border-radius: 22px;
	}

	.kdt-quotidien-signMedia {
		width: 72px;
		height: 72px;
	}
}

@media (max-width: 520px) {
	.kdt-quotidien-signGrid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   ARTICLE ASTROLOGIQUE - Refonte Kanditel
   ========================================================= */

.kdt-astroArticle-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-astroArticle-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-astroArticle-heroCard {
	position: relative;
	overflow: hidden;
	border-radius: 34px;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border: 1px solid rgba(255,255,255,0.14);
	box-shadow:
		0 28px 70px rgba(52,36,63,0.18),
		inset 0 1px 0 rgba(255,255,255,0.12);
	color: #ffffff;
}

.kdt-astroArticle-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-astroArticle-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-astroArticle-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-astroArticle-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-astroArticle-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-astroArticle-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-astroArticle-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-astroArticle-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-astroArticle-title {
	margin: 0;
	max-width: 920px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-astroArticle-lead {
	margin: 0.95rem 0 0;
	max-width: 780px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-astroArticle-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-astroArticle-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.14);
	color: rgba(255,255,255,0.78);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-astroArticle-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.35rem;
}

.kdt-astroArticle-visual {
	overflow: hidden;
	border-radius: 30px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.16);
	box-shadow:
		0 24px 58px rgba(0,0,0,0.20),
		inset 0 1px 0 rgba(255,255,255,0.12);
	min-height: 330px;
}

.kdt-astroArticle-visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 330px;
	object-fit: cover;
}

.kdt-astroArticle-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 1.2rem;
	align-items: start;
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-astroArticle-main,
.kdt-astroArticle-sideCard,
.kdt-astroArticle-empty,
.kdt-astroArticle-relatedCard,
.kdt-astroArticle-ctaPanel {
	border-radius: 28px;
	background: rgba(255,255,255,0.56);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 22px 58px rgba(74,50,96,0.10),
		inset 0 1px 0 rgba(255,255,255,0.68);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.kdt-astroArticle-main {
	padding: clamp(1.2rem, 2.4vw, 2.1rem);
}

.kdt-astroArticle-prose {
	color: rgba(74,50,96,0.78);
	font-size: 1.04rem;
	line-height: 1.78;
}

.kdt-astroArticle-prose h2,
.kdt-astroArticle-prose h3,
.kdt-astroArticle-prose h4 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	line-height: 1.18;
	margin-top: 1.6rem;
	margin-bottom: 0.75rem;
}

.kdt-astroArticle-prose h2 {
	font-size: clamp(1.55rem, 2.1vw, 2rem);
}

.kdt-astroArticle-prose h3 {
	font-size: clamp(1.25rem, 1.7vw, 1.55rem);
}

.kdt-astroArticle-prose p:last-child,
.kdt-astroArticle-prose ul:last-child,
.kdt-astroArticle-prose ol:last-child {
	margin-bottom: 0;
}

.kdt-astroArticle-prose a {
	color: #6E547F;
	font-weight: 850;
	text-decoration: none;
	border-bottom: 1px solid rgba(110,84,127,0.24);
}

.kdt-astroArticle-prose a:hover {
	color: #4a3260;
	border-bottom-color: rgba(74,50,96,0.48);
	text-decoration: none;
}

.kdt-astroArticle-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 22px;
	margin: 1rem 0;
}

.kdt-astroArticle-sidebar {
	display: grid;
	gap: 1rem;
	position: sticky;
	top: 92px;
}

.kdt-astroArticle-sideCard {
	padding: 1.15rem;
}

.kdt-astroArticle-sideCard h2 {
	margin: 0.5rem 0 0.75rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.25rem;
	line-height: 1.18;
}

.kdt-astroArticle-sideLinks,
.kdt-astroArticle-miniList {
	display: grid;
	gap: 0.55rem;
}

.kdt-astroArticle-sideLinks a,
.kdt-astroArticle-miniList a {
	display: block;
	padding: 0.75rem 0.85rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.62);
	border: 1px solid rgba(230,217,250,0.86);
	color: #4a3260;
	text-decoration: none;
	font-weight: 850;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.kdt-astroArticle-sideLinks a:hover,
.kdt-astroArticle-miniList a:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(74,50,96,0.10);
	border-color: rgba(125,115,179,0.34);
	color: #4a3260;
	text-decoration: none;
}

.kdt-astroArticle-miniList strong,
.kdt-astroArticle-miniList span {
	display: block;
}

.kdt-astroArticle-miniList span {
	margin-top: 0.25rem;
	color: rgba(74,50,96,0.64);
	font-weight: 500;
	line-height: 1.45;
}

.kdt-astroArticle-empty {
	text-align: center;
	padding: 1.4rem;
}

.kdt-astroArticle-related,
.kdt-astroArticle-cta {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-astroArticle-sectionHead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.kdt-astroArticle-sectionHead h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.55rem, 2.2vw, 2.15rem);
	line-height: 1.18;
}

.kdt-astroArticle-sectionHead p {
	margin: 0.35rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-astroArticle-relatedGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-astroArticle-relatedCard {
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.kdt-astroArticle-relatedMedia {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: rgba(255,255,255,0.60);
}

.kdt-astroArticle-relatedMedia img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.22s ease;
}

.kdt-astroArticle-relatedCard:hover .kdt-astroArticle-relatedMedia img {
	transform: scale(1.04);
}

.kdt-astroArticle-relatedBody {
	padding: 1.05rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.kdt-astroArticle-relatedBody h3 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.24rem;
	line-height: 1.18;
}

.kdt-astroArticle-relatedBody h3 a {
	color: inherit;
	text-decoration: none;
}

.kdt-astroArticle-relatedBody h3 a:hover {
	color: #6E547F;
	text-decoration: none;
}

.kdt-astroArticle-relatedBody p {
	margin: 0.65rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.56;
}

.kdt-astroArticle-more {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	align-self: flex-start;
	margin-top: auto;
	padding: 0.42rem 0.78rem;
	border-radius: 999px;
	border: 1px solid rgba(230,217,250,0.95);
	background: rgba(255,255,255,0.65);
	font-weight: 850;
	color: rgba(74,50,96,0.92);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.kdt-astroArticle-more:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(74,50,96,0.12);
	background: rgba(255,255,255,0.82);
	color: #4a3260;
	text-decoration: none;
}

.kdt-astroArticle-ctaPanel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-astroArticle-ctaPanel h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.45rem, 2.1vw, 2rem);
	line-height: 1.18;
}

.kdt-astroArticle-ctaPanel p {
	margin: 0.55rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-astroArticle-ctaActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

@media (max-width: 1199.98px) {
	.kdt-astroArticle-heroGrid,
	.kdt-astroArticle-layout,
	.kdt-astroArticle-ctaPanel {
		grid-template-columns: 1fr;
	}

	.kdt-astroArticle-sidebar {
		position: static;
	}

	.kdt-astroArticle-visual {
		max-width: 520px;
	}

	.kdt-astroArticle-ctaActions {
		justify-content: flex-start;
	}
}

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

@media (max-width: 767.98px) {
	.kdt-astroArticle-hero {
		padding-top: 18px;
	}

	.kdt-astroArticle-heroCard {
		border-radius: 26px;
	}

	.kdt-astroArticle-breadcrumb,
	.kdt-astroArticle-heroGrid {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-astroArticle-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-astroArticle-actions,
	.kdt-astroArticle-ctaActions {
		flex-direction: column;
	}

	.kdt-astroArticle-actions .kdt-btn,
	.kdt-astroArticle-ctaActions .kdt-btn {
		width: 100%;
	}

	.kdt-astroArticle-meta {
		flex-direction: column;
		align-items: flex-start;
	}

	.kdt-astroArticle-main {
		padding: 1.05rem;
	}

	.kdt-astroArticle-prose {
		font-size: 1rem;
		line-height: 1.7;
	}
}

/* =========================================================
   TAROT - Carte du jour gratuite
   ========================================================= */

.kdt-tarotDay-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-tarotDay-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-tarotDay-heroCard,
.kdt-tarotDay-board,
.kdt-tarotDay-editorialPanel,
.kdt-tarotDay-linkCard {
	position: relative;
	border-radius: 34px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.kdt-tarotDay-heroCard {
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border-color: rgba(255,255,255,0.14);
	color: #ffffff;
}

.kdt-tarotDay-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-tarotDay-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-tarotDay-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-tarotDay-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-tarotDay-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-tarotDay-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-tarotDay-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-tarotDay-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-tarotDay-title {
	margin: 0;
	max-width: 860px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-tarotDay-lead {
	margin: 0.95rem 0 0;
	max-width: 760px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-tarotDay-meta,
.kdt-tarotDay-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-tarotDay-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.14);
	color: rgba(255,255,255,0.78);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-tarotDay-heroVisual {
	display: flex;
	justify-content: center;
}

.kdt-tarotDay-previewCard {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(260px, 100%);
	aspect-ratio: 0.68;
	border-radius: 28px;
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.26), rgba(232,213,160,0) 38%),
		linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: 0 26px 58px rgba(0,0,0,0.20);
	color: #ffffff;
	text-align: center;
}

.kdt-tarotDay-previewFrame {
	position: absolute;
	inset: 14px;
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.24);
}

.kdt-tarotDay-previewCard i {
	font-size: 3rem;
	color: #e8d5a0;
}

.kdt-tarotDay-previewCard strong {
	margin-top: 0.85rem;
	font-family: "Libre Baskerville", serif;
	font-size: 1.55rem;
	color: #ffffff;
}

.kdt-tarotDay-previewCard span {
	margin-top: 0.25rem;
	color: rgba(255,255,255,0.70);
	font-weight: 800;
}

.kdt-tarotDay-boardSection,
.kdt-tarotDay-editorial,
.kdt-tarotDay-links {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-tarotDay-board,
.kdt-tarotDay-editorialPanel {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-tarotDay-boardHeader h2,
.kdt-tarotDay-sectionHead h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.6rem, 2.3vw, 2.25rem);
	line-height: 1.18;
}

.kdt-tarotDay-boardHeader p,
.kdt-tarotDay-sectionHead p {
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.day-card-feedback {
	margin: 1rem auto 0;
	max-width: 760px;
	border-radius: 18px;
}

.day-card-hook {
	margin: 1rem auto 0;
	max-width: 760px;
	padding: 0.85rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.78);
	text-align: center;
	font-weight: 800;
}

.day-card-step-hint {
	margin: 1.1rem 0 0;
	text-align: center;
	color: rgba(74,50,96,0.70);
	font-weight: 850;
	transition: opacity 0.18s ease;
}

.day-card-step-hint.hidden {
	opacity: 0;
	height: 0;
	margin: 0;
	overflow: hidden;
}

.day-card-wrapper {
	margin-top: 1rem;
}

.day-card-date {
	margin-bottom: 0.7rem;
	color: rgba(74,50,96,0.60);
	font-weight: 850;
}

.day-card-slot {
	display: flex;
	justify-content: center;
	perspective: 1200px;
}

.day-card-card {
	position: relative;
	display: block;
	width: min(270px, 78vw);
	aspect-ratio: 0.68;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	perspective: 1200px;
}

.day-card-card-inner {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.72s cubic-bezier(.2,.7,.2,1);
}

.day-card-card.is-revealed .day-card-card-inner {
	transform: rotateY(180deg);
}

.day-card-card.is-pressed .day-card-card-inner {
	transform: scale(0.96);
}

.day-card-card.is-revealed.is-pressed .day-card-card-inner {
	transform: rotateY(180deg) scale(0.96);
}

.day-card-card-face {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	box-shadow:
		0 26px 62px rgba(74,50,96,0.18),
		inset 0 1px 0 rgba(255,255,255,0.72);
}

.day-card-card-back {
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.28), rgba(232,213,160,0) 36%),
		linear-gradient(145deg, #3d2060 0%, #5b2b69 100%);
	border: 1px solid rgba(255,255,255,0.16);
	color: #ffffff;
}

.day-card-card-back-frame {
	position: absolute;
	inset: 16px;
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.26);
}

.day-card-card-back-symbol {
	font-size: 3rem;
	color: #e8d5a0;
}

.day-card-card-back-name {
	margin-top: 0.8rem;
	font-family: "Libre Baskerville", serif;
	font-size: 1.55rem;
	font-weight: 800;
}

.day-card-card-front {
	transform: rotateY(180deg);
	background:
		radial-gradient(circle at 50% 20%, rgba(255,255,255,0.82), rgba(255,255,255,0) 42%),
		linear-gradient(145deg, #fbf6ff 0%, #eadcf2 100%);
	border: 1px solid rgba(230,217,250,0.96);
	color: #4a3260;
	padding: 1.1rem;
	text-align: center;
}

.day-card-card-front-number {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(74,50,96,0.54);
	font-weight: 900;
}

.day-card-card-front-art {
	position: relative;
	display: grid;
	place-items: center;
	width: 110px;
	height: 110px;
	margin-bottom: 1rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(230,217,250,0.94);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.76);
}

.day-card-card-front-icon {
	position: relative;
	z-index: 2;
	font-size: 3rem;
	color: #6E547F;
}

.day-card-card-front-title {

	display: block;
	max-width: 210px;
	font-family: "Libre Baskerville", serif;
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1.18;
	color: #4a3260;
}

.day-card-actions {
	margin-top: 1rem;
}

.day-card-new-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	border: 1px solid rgba(230,217,250,0.95);
	background: rgba(255,255,255,0.70);
	color: #4a3260;
	font-weight: 900;
	border-radius: 999px;
	padding: 0.62rem 1rem;
	opacity: 0;
	pointer-events: none;
	transform: translateY(6px);
	transition: opacity 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.day-card-new-btn.visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.day-card-new-btn:hover {
	box-shadow: 0 14px 32px rgba(74,50,96,0.12);
}

.day-card-loader {
	margin-top: 1rem;
	color: rgba(74,50,96,0.72);
	font-weight: 800;
}

.day-card-results {
	margin-top: 1.2rem;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.day-card-results.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.day-card-result-card,
.day-card-domain-card,
.day-card-conclusion,
.day-card-cta {
	border-radius: 24px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	box-shadow:
		0 18px 42px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.76);
	padding: 1.1rem;
}

.day-card-result-card__keywords {
	display: inline-flex;
	padding: 0.38rem 0.7rem;
	border-radius: 999px;
	background: rgba(74,50,96,0.08);
	color: #6E547F;
	font-weight: 900;
	margin-bottom: 0.75rem;
}

.day-card-result-card__text,
.day-card-domain-card__text,
.day-card-conclusion-text,
.day-card-cta p {
	color: rgba(74,50,96,0.72);
	line-height: 1.62;
}

.day-card-domain-card__icon {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	color: #6E547F;
	margin-bottom: 0.7rem;
}

.day-card-domain-card__title,
.day-card-conclusion h3,
.day-card-cta h3 {
	margin: 0 0 0.5rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.22rem;
	line-height: 1.18;
}

.day-card-ctaActions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
}

.kdt-tarotDay-editorialContent {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-tarotDay-editorialContent h2,
.kdt-tarotDay-editorialContent h3 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
}

.kdt-tarotDay-note {
	margin-top: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.76);
}

.kdt-tarotDay-sectionHead {
	margin-bottom: 1rem;
}

.kdt-tarotDay-linkGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-tarotDay-linkCard {
	display: block;
	padding: 1.15rem;
	color: #4a3260;
	text-decoration: none;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-tarotDay-linkCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 62px rgba(74,50,96,0.14);
	border-color: rgba(125,115,179,0.34);
	color: #4a3260;
	text-decoration: none;
}

.kdt-tarotDay-linkCard i {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	margin-bottom: 0.8rem;
}

.kdt-tarotDay-linkCard strong,
.kdt-tarotDay-linkCard span {
	display: block;
}

.kdt-tarotDay-linkCard strong {
	font-family: "Libre Baskerville", serif;
	font-size: 1.18rem;
	line-height: 1.2;
}

.kdt-tarotDay-linkCard span {
	margin-top: 0.45rem;
	color: rgba(74,50,96,0.66);
	line-height: 1.5;
}

@media (max-width: 1199.98px) {
	.kdt-tarotDay-heroGrid {
		grid-template-columns: 1fr;
	}

	.kdt-tarotDay-heroVisual {
		justify-content: flex-start;
	}
}

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

@media (max-width: 767.98px) {
	.kdt-tarotDay-hero {
		padding-top: 18px;
	}

	.kdt-tarotDay-heroCard,
	.kdt-tarotDay-board,
	.kdt-tarotDay-editorialPanel {
		border-radius: 26px;
	}

	.kdt-tarotDay-breadcrumb,
	.kdt-tarotDay-heroGrid {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-tarotDay-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-tarotDay-actions,
	.day-card-ctaActions {
		flex-direction: column;
	}

	.kdt-tarotDay-actions .kdt-btn,
	.day-card-ctaActions .kdt-btn {
		width: 100%;
	}

	.day-card-card {
		width: min(240px, 78vw);
	}

	.day-card-card-front-art {
		width: 92px;
		height: 92px;
	}

	.day-card-card-front-icon {
		font-size: 2.55rem;
	}
}

/* =========================================================
   TAROT - Tirage amour gratuit
   ========================================================= */

.kdt-loveTarot-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-loveTarot-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-loveTarot-heroCard,
.love-draw-board,
.kdt-loveTarot-editorialPanel,
.kdt-loveTarot-linkCard {
	position: relative;
	border-radius: 34px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.kdt-loveTarot-heroCard {
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border-color: rgba(255,255,255,0.14);
	color: #ffffff;
}

.kdt-loveTarot-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-loveTarot-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-loveTarot-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-loveTarot-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-loveTarot-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-loveTarot-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-loveTarot-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-loveTarot-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-loveTarot-title {
	margin: 0;
	max-width: 860px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-loveTarot-lead {
	margin: 0.95rem 0 0;
	max-width: 760px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-loveTarot-meta,
.kdt-loveTarot-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-loveTarot-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.14);
	color: rgba(255,255,255,0.78);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-loveTarot-heroVisual {
	display: flex;
	justify-content: center;
}

.kdt-loveTarot-previewCards {
	position: relative;
	width: min(340px, 100%);
	min-height: 320px;
}

.kdt-loveTarot-previewCard {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 225px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.26), rgba(232,213,160,0) 38%),
		linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: 0 26px 58px rgba(0,0,0,0.20);
	color: #ffffff;
	text-align: center;
}

.kdt-loveTarot-previewCard--one {
	left: 0;
	top: 42px;
	transform: rotate(-9deg);
}

.kdt-loveTarot-previewCard--two {
	left: 94px;
	top: 10px;
	z-index: 2;
}

.kdt-loveTarot-previewCard--three {
	right: 0;
	top: 42px;
	transform: rotate(9deg);
}

.kdt-loveTarot-previewCard i {
	font-size: 2.4rem;
	color: #e8d5a0;
}

.kdt-loveTarot-previewCard strong {
	margin-top: 0.8rem;
	font-family: "Libre Baskerville", serif;
	font-size: 1.15rem;
	color: #ffffff;
}

.kdt-loveTarot-boardSection,
.kdt-loveTarot-editorial,
.kdt-loveTarot-links {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.love-draw-board,
.kdt-loveTarot-editorialPanel {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.love-draw-board-header h2,
.kdt-loveTarot-sectionHead h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.6rem, 2.3vw, 2.25rem);
	line-height: 1.18;
}

.love-draw-board-header p,
.kdt-loveTarot-sectionHead p {
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.love-draw-feedback {
	margin: 1rem auto 0;
	max-width: 760px;
	border-radius: 18px;
}

.love-draw-hook {
	margin: 1rem auto 0;
	max-width: 820px;
	padding: 0.85rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.78);
	text-align: center;
	font-weight: 800;
}

.love-draw-step-hint {
	margin: 1.1rem 0 0;
	text-align: center;
	color: rgba(74,50,96,0.70);
	font-weight: 850;
	transition: opacity 0.18s ease;
}

.love-draw-step-hint.hidden {
	opacity: 0;
	height: 0;
	margin: 0;
	overflow: hidden;
}

.love-draw-cards-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.2vw, 1.6rem);
	align-items: start;
	max-width: 960px;
	margin: 1.35rem auto 0;
}

.love-draw-card-slot {
	text-align: center;
}

.love-draw-slot-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 86px;
	padding: 0.42rem 0.8rem;
	margin-bottom: 0.75rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	border: 1px solid rgba(230,217,250,0.94);
	color: #6E547F;
	font-weight: 900;
}

.love-draw-slot-desc {
	margin-top: 0.75rem;
	color: rgba(74,50,96,0.64);
	font-weight: 750;
	line-height: 1.4;
}

.love-draw-card {
	position: relative;
	display: block;
	width: min(220px, 100%);
	aspect-ratio: 0.68;
	margin: 0 auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	perspective: 1200px;
	transition: opacity 0.16s ease, transform 0.16s ease;
}

.love-draw-card.is-dimmed {
	opacity: 0.48;
	cursor: default;
}

.love-draw-card.is-active {
	opacity: 1;
}

.love-draw-card-inner {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.72s cubic-bezier(.2,.7,.2,1);
}

.love-draw-card.is-revealed .love-draw-card-inner {
	transform: rotateY(180deg);
}

.love-draw-card.is-pressed .love-draw-card-inner {
	transform: scale(0.96);
}

.love-draw-card.is-revealed.is-pressed .love-draw-card-inner {
	transform: rotateY(180deg) scale(0.96);
}

.love-draw-card-face {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 28px;
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	box-shadow:
		0 26px 62px rgba(74,50,96,0.18),
		inset 0 1px 0 rgba(255,255,255,0.72);
}

.love-draw-card-back {
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.28), rgba(232,213,160,0) 36%),
		linear-gradient(145deg, #3d2060 0%, #5b2b69 100%);
	border: 1px solid rgba(255,255,255,0.16);
	color: #ffffff;
}

.love-draw-card-back-frame {
	position: absolute;
	inset: 14px;
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,0.26);
}

.love-draw-card-back-heart {
	font-size: 2.6rem;
	color: #e8d5a0;
}

.love-draw-card-back-name {
	margin-top: 0.75rem;
	font-family: "Libre Baskerville", serif;
	font-size: 1.35rem;
	font-weight: 800;
}

.love-draw-card-front {
	transform: rotateY(180deg);
	background:
		radial-gradient(circle at 50% 20%, rgba(255,255,255,0.82), rgba(255,255,255,0) 42%),
		linear-gradient(145deg, #fbf6ff 0%, #eadcf2 100%);
	border: 1px solid rgba(230,217,250,0.96);
	color: #4a3260;
	padding: 1rem;
	text-align: center;
}

.love-draw-card-front-number {
	position: absolute;
	top: 0.9rem;
	left: 0.9rem;
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(74,50,96,0.54);
	font-weight: 900;
}

.love-draw-card-front-art {
	position: relative;
	display: grid;
	place-items: center;
	width: 92px;
	height: 92px;
	margin-bottom: 0.9rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(230,217,250,0.94);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.76);
}

.love-draw-card-front-icon {
	position: relative;
	z-index: 2;
	font-size: 2.6rem;
	color: #6E547F;
}

.love-draw-card-front-title {
	display: block;
	max-width: 180px;
	font-family: "Libre Baskerville", serif;
	font-size: 1.16rem;
	font-weight: 800;
	line-height: 1.18;
	color: #4a3260;
}

.love-draw-loader {
	margin-top: 1rem;
	color: rgba(74,50,96,0.72);
	font-weight: 800;
}

.love-draw-actions {
	margin-top: 1rem;
}

.love-draw-new-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	border: 1px solid rgba(230,217,250,0.95);
	background: rgba(255,255,255,0.70);
	color: #4a3260;
	font-weight: 900;
	border-radius: 999px;
	padding: 0.62rem 1rem;
	opacity: 0;
	pointer-events: none;
	transform: translateY(6px);
	transition: opacity 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.love-draw-new-btn.visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.love-draw-new-btn:hover {
	box-shadow: 0 14px 32px rgba(74,50,96,0.12);
}

.love-draw-results {
	margin-top: 1.2rem;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.love-draw-results.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.love-draw-result-card,
.love-draw-conclusion,
.love-draw-cta {
	border-radius: 24px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	box-shadow:
		0 18px 42px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.76);
	padding: 1.1rem;
}

.love-draw-result-card__position {
	display: inline-flex;
	padding: 0.38rem 0.7rem;
	border-radius: 999px;
	background: rgba(74,50,96,0.08);
	color: #6E547F;
	font-weight: 900;
	margin-bottom: 0.75rem;
}

.love-draw-result-card__title,
.love-draw-conclusion h3,
.love-draw-cta h3 {
	margin: 0 0 0.7rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.22rem;
	line-height: 1.18;
}

.love-draw-result-card__icon {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	color: #6E547F;
	margin-bottom: 0.7rem;
}

.love-draw-result-card__text,
.love-draw-conclusion-text,
.love-draw-cta p {
	color: rgba(74,50,96,0.72);
	line-height: 1.62;
}

.love-draw-result-card__keywords {
	color: rgba(74,50,96,0.62);
	font-size: 0.92rem;
}

.love-draw-ctaActions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
}

.kdt-loveTarot-editorialContent {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-loveTarot-editorialContent h2,
.kdt-loveTarot-editorialContent h3 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
}

.kdt-loveTarot-note {
	margin-top: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.76);
}

.kdt-loveTarot-sectionHead {
	margin-bottom: 1rem;
}

.kdt-loveTarot-linkGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-loveTarot-linkCard {
	display: block;
	padding: 1.15rem;
	color: #4a3260;
	text-decoration: none;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-loveTarot-linkCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 62px rgba(74,50,96,0.14);
	border-color: rgba(125,115,179,0.34);
	color: #4a3260;
	text-decoration: none;
}

.kdt-loveTarot-linkCard i {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	margin-bottom: 0.8rem;
}

.kdt-loveTarot-linkCard strong,
.kdt-loveTarot-linkCard span {
	display: block;
}

.kdt-loveTarot-linkCard strong {
	font-family: "Libre Baskerville", serif;
	font-size: 1.18rem;
	line-height: 1.2;
}

.kdt-loveTarot-linkCard span {
	margin-top: 0.45rem;
	color: rgba(74,50,96,0.66);
	line-height: 1.5;
}

@media (max-width: 1199.98px) {
	.kdt-loveTarot-heroGrid {
		grid-template-columns: 1fr;
	}

	.kdt-loveTarot-heroVisual {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.love-draw-cards-row,
	.kdt-loveTarot-linkGrid {
		grid-template-columns: 1fr;
	}

	.love-draw-card {
		width: min(230px, 74vw);
	}

	.kdt-loveTarot-previewCards {
		min-height: 260px;
	}
}

@media (max-width: 767.98px) {
	.kdt-loveTarot-hero {
		padding-top: 18px;
	}

	.kdt-loveTarot-heroCard,
	.love-draw-board,
	.kdt-loveTarot-editorialPanel {
		border-radius: 26px;
	}

	.kdt-loveTarot-breadcrumb,
	.kdt-loveTarot-heroGrid {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-loveTarot-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-loveTarot-actions,
	.love-draw-ctaActions {
		flex-direction: column;
	}

	.kdt-loveTarot-actions .kdt-btn,
	.love-draw-ctaActions .kdt-btn {
		width: 100%;
	}

	.kdt-loveTarot-previewCard {
		width: 128px;
		height: 190px;
	}

	.kdt-loveTarot-previewCard--one {
		left: 0;
		top: 38px;
	}

	.kdt-loveTarot-previewCard--two {
		left: 74px;
		top: 6px;
	}

	.kdt-loveTarot-previewCard--three {
		right: 0;
		top: 38px;
	}
}

@media (max-width: 420px) {
	.kdt-loveTarot-previewCards {
		min-height: 230px;
	}

	.kdt-loveTarot-previewCard {
		width: 108px;
		height: 164px;
		border-radius: 20px;
	}

	.kdt-loveTarot-previewCard--two {
		left: 60px;
	}

	.love-draw-card {

		width: min(215px, 78vw);
	}
}

/* =========================================================
   TAROT - Tarot de Marseille gratuit
   ========================================================= */

.kdt-marseilleTarot-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-marseilleTarot-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-marseilleTarot-heroCard,
.tarot-board,
.kdt-marseilleTarot-editorialPanel,
.kdt-marseilleTarot-linkCard {
	position: relative;
	border-radius: 34px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.kdt-marseilleTarot-heroCard {
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border-color: rgba(255,255,255,0.14);
	color: #ffffff;
}

.kdt-marseilleTarot-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-marseilleTarot-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-marseilleTarot-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-marseilleTarot-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-marseilleTarot-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-marseilleTarot-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-marseilleTarot-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-marseilleTarot-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-marseilleTarot-title {
	margin: 0;
	max-width: 860px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-marseilleTarot-lead {
	margin: 0.95rem 0 0;
	max-width: 760px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-marseilleTarot-meta,
.kdt-marseilleTarot-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-marseilleTarot-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.14);
	color: rgba(255,255,255,0.78);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-marseilleTarot-heroVisual {
	display: flex;
	justify-content: center;
}

.kdt-marseilleTarot-previewCards {
	position: relative;
	width: min(340px, 100%);
	min-height: 320px;
}

.kdt-marseilleTarot-previewCard {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 225px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.26), rgba(232,213,160,0) 38%),
		linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: 0 26px 58px rgba(0,0,0,0.20);
	color: #ffffff;
	text-align: center;
}

.kdt-marseilleTarot-previewCard--one {
	left: 0;
	top: 42px;
	transform: rotate(-9deg);
}

.kdt-marseilleTarot-previewCard--two {
	left: 94px;
	top: 10px;
	z-index: 2;
}

.kdt-marseilleTarot-previewCard--three {
	right: 0;
	top: 42px;
	transform: rotate(9deg);
}

.kdt-marseilleTarot-previewCard i {
	font-size: 2.4rem;
	color: #e8d5a0;
}

.kdt-marseilleTarot-previewCard strong {
	margin-top: 0.8rem;
	font-family: "Libre Baskerville", serif;
	font-size: 1.15rem;
	color: #ffffff;
}

.kdt-marseilleTarot-boardSection,
.kdt-marseilleTarot-editorial,
.kdt-marseilleTarot-links {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.tarot-board,
.kdt-marseilleTarot-editorialPanel {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.tarot-board-header h2,
.kdt-marseilleTarot-sectionHead h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.6rem, 2.3vw, 2.25rem);
	line-height: 1.18;
}

.tarot-board-header p,
.kdt-marseilleTarot-sectionHead p {
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-marseilleTarot-formGrid {
	display: grid;
	grid-template-columns: minmax(220px, 0.36fr) minmax(0, 1fr);
	gap: 1rem;
	margin: 1.2rem 0 0;
}

.tarot-type-wrap label,
.tarot-question-wrap label {
	display: block;
	margin-bottom: 0.45rem;
	color: #4a3260;
	font-weight: 900;
}

.tarot-type-wrap .form-control,
.tarot-question-wrap .form-control {
	border-radius: 18px;
	border: 1px solid rgba(230,217,250,0.95);
	background: rgba(255,255,255,0.72);
	color: #4a3260;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
}

.tarot-feedback {
	margin: 1rem auto 0;
	max-width: 760px;
	border-radius: 18px;
}

.tarot-cards-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.2vw, 1.6rem);
	align-items: start;
	max-width: 960px;
	margin: 1.35rem auto 0;
}

.tarot-card-slot {
	text-align: center;
}

.tarot-position {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 86px;
	padding: 0.42rem 0.8rem;
	margin-bottom: 0.75rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	border: 1px solid rgba(230,217,250,0.94);
	color: #6E547F;
	font-weight: 900;
}

.tarot-card {
	position: relative;
	display: block;
	width: min(220px, 100%);
	aspect-ratio: 0.68;
	margin: 0 auto;
	perspective: 1200px;
}

.tarot-card-inner {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.72s cubic-bezier(.2,.7,.2,1);
}

.tarot-card.is-revealed .tarot-card-inner {
	transform: rotateY(180deg);
}

.tarot-card-face {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 28px;
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	box-shadow:
		0 26px 62px rgba(74,50,96,0.18),
		inset 0 1px 0 rgba(255,255,255,0.72);
}

.tarot-card-face--front {
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.28), rgba(232,213,160,0) 36%),
		linear-gradient(145deg, #3d2060 0%, #5b2b69 100%);
	border: 1px solid rgba(255,255,255,0.16);
}

.tarot-card-face--back {
	transform: rotateY(180deg);
	background: #ffffff;
	border: 1px solid rgba(230,217,250,0.96);
}

.tarot-card-face img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tarot-actions {
	margin-top: 1rem;
}

.tarot-hook {
	margin: 1rem auto 0;
	max-width: 820px;
	padding: 0.85rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.78);
	text-align: center;
	font-weight: 800;
}

.tarot-loader {
	margin-top: 1rem;
	color: rgba(74,50,96,0.72);
	font-weight: 800;
}

.tarot-results {
	margin-top: 1.2rem;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.tarot-results.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.tarot-result-card,
.tarot-conclusion,
.tarot-cta {
	border-radius: 24px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	box-shadow:
		0 18px 42px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.76);
	padding: 1.1rem;
}

.tarot-result-card__position,
.tarot-result-card__sense {
	display: inline-flex;
	padding: 0.38rem 0.7rem;
	border-radius: 999px;
	background: rgba(74,50,96,0.08);
	color: #6E547F;
	font-weight: 900;
	margin-bottom: 0.75rem;
}

.tarot-result-card__sense {
	margin-left: 0.35rem;
	color: rgba(74,50,96,0.62);
}

.tarot-result-card__title,
.tarot-conclusion h3,
.tarot-cta h3 {
	margin: 0 0 0.7rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.22rem;
	line-height: 1.18;
}

.tarot-result-card__text,
.tarot-result-card__insight,
.tarot-conclusion-text,
.tarot-cta p {
	color: rgba(74,50,96,0.72);
	line-height: 1.62;
}

.tarot-result-card__insight {
	font-weight: 750;
	color: rgba(74,50,96,0.82);
}

.tarot-result-card__keywords {
	color: rgba(74,50,96,0.62);
	font-size: 0.92rem;
}

.tarot-ctaActions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
}

.kdt-marseilleTarot-editorialContent {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-marseilleTarot-editorialContent h2,
.kdt-marseilleTarot-editorialContent h3 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
}

.kdt-marseilleTarot-note {
	margin-top: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.76);
}

.kdt-marseilleTarot-sectionHead {
	margin-bottom: 1rem;
}

.kdt-marseilleTarot-linkGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-marseilleTarot-linkCard {
	display: block;
	padding: 1.15rem;
	color: #4a3260;
	text-decoration: none;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-marseilleTarot-linkCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 62px rgba(74,50,96,0.14);
	border-color: rgba(125,115,179,0.34);
	color: #4a3260;
	text-decoration: none;
}

.kdt-marseilleTarot-linkCard i {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	margin-bottom: 0.8rem;
}

.kdt-marseilleTarot-linkCard strong,
.kdt-marseilleTarot-linkCard span {
	display: block;
}

.kdt-marseilleTarot-linkCard strong {
	font-family: "Libre Baskerville", serif;
	font-size: 1.18rem;
	line-height: 1.2;
}

.kdt-marseilleTarot-linkCard span {
	margin-top: 0.45rem;
	color: rgba(74,50,96,0.66);
	line-height: 1.5;
}

@media (max-width: 1199.98px) {
	.kdt-marseilleTarot-heroGrid {
		grid-template-columns: 1fr;
	}

	.kdt-marseilleTarot-heroVisual {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.kdt-marseilleTarot-formGrid,
	.tarot-cards-row,
	.kdt-marseilleTarot-linkGrid {
		grid-template-columns: 1fr;
	}

	.tarot-card {
		width: min(230px, 74vw);
	}

	.kdt-marseilleTarot-previewCards {
		min-height: 260px;
	}
}

@media (max-width: 767.98px) {
	.kdt-marseilleTarot-hero {
		padding-top: 18px;
	}

	.kdt-marseilleTarot-heroCard,
	.tarot-board,
	.kdt-marseilleTarot-editorialPanel {
		border-radius: 26px;
	}

	.kdt-marseilleTarot-breadcrumb,
	.kdt-marseilleTarot-heroGrid {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-marseilleTarot-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-marseilleTarot-actions,
	.tarot-ctaActions {
		flex-direction: column;
	}

	.kdt-marseilleTarot-actions .kdt-btn,
	.tarot-ctaActions .kdt-btn {
		width: 100%;
	}

	.kdt-marseilleTarot-previewCard {
		width: 128px;
		height: 190px;
	}

	.kdt-marseilleTarot-previewCard--one {
		left: 0;
		top: 38px;
	}

	.kdt-marseilleTarot-previewCard--two {
		left: 74px;
		top: 6px;
	}

	.kdt-marseilleTarot-previewCard--three {
		right: 0;
		top: 38px;
	}
}

@media (max-width: 420px) {
	.kdt-marseilleTarot-previewCards {
		min-height: 230px;
	}

	.kdt-marseilleTarot-previewCard {
		width: 108px;
		height: 164px;
		border-radius: 20px;
	}

	.kdt-marseilleTarot-previewCard--two {
		left: 60px;
	}

	.tarot-card {
		width: min(215px, 78vw);
	}
}

/* =========================================================
   TAROT - Quelle carte du tarot êtes-vous
   ========================================================= */

.kdt-identityTarot-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-identityTarot-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-identityTarot-heroCard,
.tarot-identity-board,
.kdt-identityTarot-editorialPanel,
.kdt-identityTarot-linkCard {
	position: relative;
	border-radius: 34px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.kdt-identityTarot-heroCard {
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border-color: rgba(255,255,255,0.14);
	color: #ffffff;
}

.kdt-identityTarot-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-identityTarot-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-identityTarot-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-identityTarot-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-identityTarot-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-identityTarot-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-identityTarot-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-identityTarot-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-identityTarot-title {
	margin: 0;
	max-width: 860px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-identityTarot-lead {
	margin: 0.95rem 0 0;
	max-width: 760px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-identityTarot-meta,
.kdt-identityTarot-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-identityTarot-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.14);
	color: rgba(255,255,255,0.78);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-identityTarot-heroVisual {
	display: flex;
	justify-content: center;
}

.kdt-identityTarot-previewCard {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(260px, 100%);
	aspect-ratio: 0.68;
	border-radius: 28px;
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.26), rgba(232,213,160,0) 38%),
		linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: 0 26px 58px rgba(0,0,0,0.20);
	color: #ffffff;
	text-align: center;
}

.kdt-identityTarot-previewFrame {
	position: absolute;
	inset: 14px;
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.24);
}

.kdt-identityTarot-previewCard i {
	font-size: 3rem;
	color: #e8d5a0;
}

.kdt-identityTarot-previewCard strong {
	margin-top: 0.85rem;
	font-family: "Libre Baskerville", serif;
	font-size: 1.35rem;
	color: #ffffff;
}

.kdt-identityTarot-previewCard span {
	margin-top: 0.25rem;
	color: rgba(255,255,255,0.70);
	font-weight: 800;
}

.kdt-identityTarot-boardSection,
.kdt-identityTarot-editorial,
.kdt-identityTarot-links {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.tarot-identity-board,
.kdt-identityTarot-editorialPanel {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.tarot-identity-boardHeader h2,
.kdt-identityTarot-sectionHead h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.6rem, 2.3vw, 2.25rem);
	line-height: 1.18;
}

.tarot-identity-boardHeader p,
.kdt-identityTarot-sectionHead p {
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.tarot-identity-feedback {
	margin: 1rem auto 0;
	max-width: 760px;
	border-radius: 18px;
}

.tarot-identity-progress {
	max-width: 720px;
	margin: 1.25rem auto 0;
}

.tarot-identity-progress__label {
	color: rgba(74,50,96,0.70);
	font-weight: 900;
	text-align: center;
	margin-bottom: 0.5rem;
}

.tarot-identity-progress__track {
	overflow: hidden;
	height: 12px;
	border-radius: 999px;
	background: rgba(74,50,96,0.08);
	border: 1px solid rgba(230,217,250,0.94);
}

.tarot-identity-progress__bar {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #6E547F, #7D73B3);
	transition: width 0.22s ease;
}

.tarot-identity-question-block {
	max-width: 860px;
	margin: 1.3rem auto 0;
	text-align: center;
}

.tarot-identity-question-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.42rem 0.8rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	border: 1px solid rgba(230,217,250,0.94);
	color: #6E547F;
	font-weight: 900;
	margin-bottom: 0.75rem;
}

.tarot-identity-question-text {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	line-height: 1.2;
}

.tarot-identity-answers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
	margin-top: 1.15rem;
}

.tarot-identity-answer-btn {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 0.75rem;
	align-items: center;
	width: 100%;
	border: 1px solid rgba(230,217,250,0.95);
	border-radius: 22px;
	background: rgba(255,255,255,0.68);
	color: #4a3260;
	text-align: left;
	padding: 0.85rem;
	cursor: pointer;
	box-shadow:
		0 14px 32px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.78);
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.tarot-identity-answer-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 20px 44px rgba(74,50,96,0.12);
	border-color: rgba(125,115,179,0.34);
}

.tarot-identity-answer-letter {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: rgba(251,239,255,0.92);
	color: #6E547F;
	font-weight: 950;
}

.tarot-identity-answer-text {
	color: rgba(74,50,96,0.78);
	font-weight: 800;
	line-height: 1.42;
}

.tarot-identity-loader {
	margin-top: 1.2rem;
	color: rgba(74,50,96,0.72);
	font-weight: 800;
}

.tarot-identity-results {
	margin-top: 1.25rem;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.18s ease, transform 0.18s ease;
	text-align: center;
}

.tarot-identity-results.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.tarot-identity-result-eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4rem 0.8rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	border: 1px solid rgba(230,217,250,0.94);
	color: #6E547F;
	font-weight: 950;
}

.tarot-identity-result-subtitle {
	margin-top: 0.55rem;
	color: rgba(74,50,96,0.64);
	font-weight: 800;
}

.tarot-identity-result-card,
.tarot-identity-trait-card,
.tarot-identity-conclusion,
.tarot-identity-cta {
	border-radius: 24px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	box-shadow:
		0 18px 42px rgba(74,50,96,0.08),
		inset 0 1px 0 rgba(255,255,255,0.76);
	padding: 1.15rem;
}

.tarot-identity-result-card {
	max-width: 620px;
	margin: 1rem auto 0;
}

.tarot-identity-result-main-icon {
	display: inline-grid;
	place-items: center;
	width: 82px;
	height: 82px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	font-size: 2.35rem;
	margin-bottom: 0.85rem;
}

.tarot-identity-result-card__num {
	color: rgba(74,50,96,0.58);
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.85rem;
}

.tarot-identity-result-card__title {
	margin-top: 0.25rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.55rem, 2.4vw, 2.25rem);
	line-height: 1.12;
}

.tarot-identity-result-card__keywords {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 0.85rem;
}

.tarot-identity-result-card__keywords span {
	display: inline-flex;
	padding: 0.34rem 0.66rem;
	border-radius: 999px;
	background: rgba(74,50,96,0.08);
	color: #6E547F;
	font-weight: 900;
	font-size: 0.88rem;
}

.tarot-identity-result-card__desc,
.tarot-identity-conclusion-text,
.tarot-identity-cta__text {
	margin: 0.9rem 0 0;
	color: rgba(74,50,96,0.72);
	line-height: 1.62;
}

.tarot-identity-traits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
	max-width: 860px;
	margin: 1rem auto 0;
}

.tarot-identity-trait-card__icon {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	color: #6E547F;
	margin-bottom: 0.55rem;
}

.tarot-identity-trait-card__label {
	color: rgba(74,50,96,0.58);
	font-weight: 900;
	font-size: 0.86rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.tarot-identity-trait-card__value {
	margin-top: 0.2rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-weight: 800;
	font-size: 1.12rem;
}

.tarot-identity-conclusion {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

.tarot-identity-block-title,
.tarot-identity-cta__title {
	margin: 0 0 0.7rem;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.28rem;
	line-height: 1.18;
	text-align: center;
}

.tarot-identity-cta {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.tarot-identity-cta__icon {
	display: inline-grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background: rgba(251,239,255,0.86);
	color: #6E547F;
	margin-bottom: 0.75rem;
}

.tarot-identity-cta__text--strong {
	font-weight: 850;
	color: rgba(74,50,96,0.82);
}

.tarot-identity-ctaActions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
	margin-top: 1rem;
}

.tarot-identity-actions {
	margin-top: 1rem;
}

.tarot-identity-restart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	border: 1px solid rgba(230,217,250,0.95);
	background: rgba(255,255,255,0.70);
	color: #4a3260;
	font-weight: 900;
	border-radius: 999px;
	padding: 0.62rem 1rem;
	opacity: 0;
	pointer-events: none;
	transform: translateY(6px);
	transition: opacity 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.tarot-identity-restart-btn.visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.tarot-identity-restart-btn:hover {
	box-shadow: 0 14px 32px rgba(74,50,96,0.12);
}

.kdt-identityTarot-editorialContent {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-identityTarot-editorialContent h2,
.kdt-identityTarot-editorialContent h3 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
}

.kdt-identityTarot-note {
	margin-top: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.66);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.76);
}

.kdt-identityTarot-sectionHead {
	margin-bottom: 1rem;
}

.kdt-identityTarot-linkGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-identityTarot-linkCard {
	display: block;
	padding: 1.15rem;
	color: #4a3260;
	text-decoration: none;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-identityTarot-linkCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 62px rgba(74,50,96,0.14);
	border-color: rgba(125,115,179,0.34);
	color: #4a3260;
	text-decoration: none;
}

.kdt-identityTarot-linkCard i {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	margin-bottom: 0.8rem;
}

.kdt-identityTarot-linkCard strong,
.kdt-identityTarot-linkCard span {
	display: block;
}

.kdt-identityTarot-linkCard strong {
	font-family: "Libre Baskerville", serif;
	font-size: 1.18rem;
	line-height: 1.2;
}

.kdt-identityTarot-linkCard span {
	margin-top: 0.45rem;
	color: rgba(74,50,96,0.66);
	line-height: 1.5;
}

@media (max-width: 1199.98px) {
	.kdt-identityTarot-heroGrid {
		grid-template-columns: 1fr;
	}

	.kdt-identityTarot-heroVisual {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.tarot-identity-answers,
	.tarot-identity-traits,
	.kdt-identityTarot-linkGrid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.kdt-identityTarot-hero {
		padding-top: 18px;
	}

	.kdt-identityTarot-heroCard,
	.tarot-identity-board,
	.kdt-identityTarot-editorialPanel {
		border-radius: 26px;
	}

	.kdt-identityTarot-breadcrumb,
	.kdt-identityTarot-heroGrid {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-identityTarot-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-identityTarot-actions,
	.tarot-identity-ctaActions {
		flex-direction: column;
	}

	.kdt-identityTarot-actions .kdt-btn,
	.tarot-identity-ctaActions .kdt-btn {
		width: 100%;
	}

	.tarot-identity-answer-btn {
		grid-template-columns: 38px minmax(0, 1fr);
		border-radius: 20px;
	}

	.tarot-identity-answer-letter {
		width: 38px;
		height: 38px;
	}

	.kdt-identityTarot-previewCard {
		width: min(230px, 78vw);
	}
}

/* =========================================================
   TAROTS - Page hub tarots gratuits
   ========================================================= */

.kdt-tarotsHub-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-tarotsHub-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-tarotsHub-heroCard,
.kdt-tarotsHub-benefitCard,
.kdt-tarotsHub-card,
.kdt-tarotsHub-guidePanel,
.kdt-tarotsHub-guideCard,
.kdt-tarotsHub-ctaPanel {
	position: relative;
	border-radius: 34px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.kdt-tarotsHub-heroCard {
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border-color: rgba(255,255,255,0.14);
	color: #ffffff;
}

.kdt-tarotsHub-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-tarotsHub-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-tarotsHub-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-tarotsHub-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-tarotsHub-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-tarotsHub-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-tarotsHub-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-tarotsHub-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-tarotsHub-title {
	margin: 0;
	max-width: 860px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-tarotsHub-lead {
	margin: 0.95rem 0 0;
	max-width: 760px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-tarotsHub-meta,
.kdt-tarotsHub-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-tarotsHub-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.14);
	color: rgba(255,255,255,0.78);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-tarotsHub-heroVisual {
	display: flex;
	justify-content: center;
}

.kdt-tarotsHub-previewCards {
	position: relative;
	width: min(340px, 100%);
	min-height: 320px;
}

.kdt-tarotsHub-previewCard {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 225px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.26), rgba(232,213,160,0) 38%),
		linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: 0 26px 58px rgba(0,0,0,0.20);
	color: #ffffff;
	text-align: center;
}

.kdt-tarotsHub-previewCard--one {
	left: 0;
	top: 42px;
	transform: rotate(-9deg);
}

.kdt-tarotsHub-previewCard--two {
	left: 94px;
	top: 10px;
	z-index: 2;
}

.kdt-tarotsHub-previewCard--three {
	right: 0;
	top: 42px;
	transform: rotate(9deg);
}

.kdt-tarotsHub-previewCard i {
	font-size: 2.4rem;
	color: #e8d5a0;
}

.kdt-tarotsHub-previewCard strong {
	margin-top: 0.8rem;
	font-family: "Libre Baskerville", serif;
	font-size: 1.15rem;
	color: #ffffff;
}

.kdt-tarotsHub-benefits,
.kdt-tarotsHub-gridSection,
.kdt-tarotsHub-guide,
.kdt-tarotsHub-cta {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-tarotsHub-benefitGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-tarotsHub-benefitCard {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 0.75rem;
	align-items: center;
	padding: 1rem;
	border-radius: 26px;
}

.kdt-tarotsHub-benefitCard i {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	font-size: 1.25rem;
	grid-row: span 2;
}

.kdt-tarotsHub-benefitCard strong {
	display: block;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.12rem;
	line-height: 1.18;
}

.kdt-tarotsHub-benefitCard span {
	color: rgba(74,50,96,0.64);
	line-height: 1.45;
}

.kdt-tarotsHub-sectionHead {
	margin-bottom: 1rem;
}

.kdt-tarotsHub-sectionHead h2,
.kdt-tarotsHub-ctaPanel h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.6rem, 2.3vw, 2.25rem);
	line-height: 1.18;
}

.kdt-tarotsHub-sectionHead p,
.kdt-tarotsHub-ctaPanel p {
	margin: 0.45rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-tarotsHub-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-tarotsHub-card {
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(190px, 0.42fr) minmax(0, 1fr);
	min-height: 310px;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-tarotsHub-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 30px 70px rgba(74,50,96,0.16);
	border-color: rgba(125,115,179,0.34);
}

.kdt-tarotsHub-cardVisual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	padding: 1.2rem;
	background:
		radial-gradient(circle at 50% 24%, rgba(232,213,160,0.18), rgba(232,213,160,0) 42%),
		linear-gradient(145deg, rgba(61,32,96,0.95), rgba(91,43,105,0.92));
	text-decoration: none;
}

.kdt-tarotsHub-cardVisual:hover {
	text-decoration: none;
}

.kdt-tarotsHub-miniCards {
	position: relative;
	width: 210px;
	height: 230px;
}

.kdt-tarotsHub-miniCard {
	position: absolute;
	display: inline-grid;
	place-items: center;
	width: 118px;
	height: 174px;
	border-radius: 22px;
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.24), rgba(232,213,160,0) 38%),
		linear-gradient(145deg, rgba(255,255,255,0.20), rgba(255,255,255,0.06));
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: 0 22px 44px rgba(0,0,0,0.18);
	color: #e8d5a0;
	font-size: 2rem;
}

.kdt-tarotsHub-miniCard--left {
	left: 0;
	top: 36px;
	transform: rotate(-10deg);
}

.kdt-tarotsHub-miniCard--center {
	left: 46px;
	top: 8px;
	z-index: 2;
}

.kdt-tarotsHub-miniCard--right {
	right: 0;
	top: 36px;
	transform: rotate(10deg);
}

.kdt-tarotsHub-cardBody {
	padding: clamp(1.05rem, 2vw, 1.45rem);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.kdt-tarotsHub-cardBadge {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	padding: 0.38rem 0.7rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	border: 1px solid rgba(230,217,250,0.94);
	color: #6E547F;
	font-weight: 900;
	font-size: 0.88rem;
}

.kdt-tarotsHub-cardBody h3 {
	margin: 0.75rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.35rem, 1.9vw, 1.85rem);
	line-height: 1.15;
}

.kdt-tarotsHub-cardBody h3 a {
	color: inherit;
	text-decoration: none;
}

.kdt-tarotsHub-cardBody h3 a:hover {
	color: #6E547F;
	text-decoration: none;
}

.kdt-tarotsHub-cardBody p {
	margin: 0.65rem 0 1rem;
	color: rgba(74,50,96,0.68);
	line-height: 1.56;
}

.kdt-tarotsHub-cardBtn {
	margin-top: auto;
}

.kdt-tarotsHub-guidePanel {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-tarotsHub-editorial {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-tarotsHub-editorial h2,
.kdt-tarotsHub-editorial h3 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
}

.kdt-tarotsHub-guideGrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.kdt-tarotsHub-guideCard {
	padding: 1.05rem;
	border-radius: 24px;
}

.kdt-tarotsHub-guideCard h3 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: 1.18rem;
	line-height: 1.18;
}

.kdt-tarotsHub-guideCard p {
	margin: 0.55rem 0 0;
	color: rgba(74,50,96,0.66);
	line-height: 1.52;
}

.kdt-tarotsHub-guideCard a {
	display: inline-flex;
	margin-top: 0.75rem;
	color: #6E547F;
	font-weight: 900;
	text-decoration: none;
}

.kdt-tarotsHub-guideCard a:hover {
	color: #4a3260;
	text-decoration: none;
}

.kdt-tarotsHub-ctaPanel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-tarotsHub-ctaActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

@media (max-width: 1199.98px) {
	.kdt-tarotsHub-heroGrid,
	.kdt-tarotsHub-ctaPanel {
		grid-template-columns: 1fr;
	}

	.kdt-tarotsHub-heroVisual {
		justify-content: flex-start;
	}

	.kdt-tarotsHub-ctaActions {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.kdt-tarotsHub-grid,
	.kdt-tarotsHub-guideGrid,
	.kdt-tarotsHub-benefitGrid {
		grid-template-columns: 1fr;
	}

	.kdt-tarotsHub-card {
		grid-template-columns: 1fr;
	}

	.kdt-tarotsHub-cardVisual {
		min-height: 260px;
	}
}

@media (max-width: 767.98px) {
	.kdt-tarotsHub-hero {
		padding-top: 18px;
	}

	.kdt-tarotsHub-heroCard,
	.kdt-tarotsHub-card,
	.kdt-tarotsHub-guidePanel,
	.kdt-tarotsHub-ctaPanel {
		border-radius: 26px;
	}

	.kdt-tarotsHub-breadcrumb,
	.kdt-tarotsHub-heroGrid {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-tarotsHub-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-tarotsHub-actions,
	.kdt-tarotsHub-ctaActions {
		flex-direction: column;
	}

	.kdt-tarotsHub-actions .kdt-btn,
	.kdt-tarotsHub-ctaActions .kdt-btn {
		width: 100%;
	}

	.kdt-tarotsHub-benefitCard {
		grid-template-columns: 46px minmax(0, 1fr);
	}

	.kdt-tarotsHub-benefitCard i {
		width: 46px;
		height: 46px;
	}

	.kdt-tarotsHub-previewCards {
		min-height: 250px;
	}

	.kdt-tarotsHub-previewCard {
		width: 128px;
		height: 190px;
	}

	.kdt-tarotsHub-previewCard--one {
		left: 0;
		top: 38px;
	}

	.kdt-tarotsHub-previewCard--two {
		left: 74px;
		top: 6px;
	}

	.kdt-tarotsHub-previewCard--three {
		right: 0;
		top: 38px;
	}
}

@media (max-width: 420px) {
	.kdt-tarotsHub-previewCards {
		min-height: 230px;
	}

	.kdt-tarotsHub-previewCard {
		width: 108px;
		height: 164px;
		border-radius: 20px;
	}

	.kdt-tarotsHub-previewCard--two {
		left: 60px;
	}

	.kdt-tarotsHub-miniCards {
		width: 188px;
		height: 214px;
	}

	.kdt-tarotsHub-miniCard {
		width: 106px;
		height: 158px;
	}
}

/* =========================================================
   CMS - Pages de contenus génériques
   ========================================================= */

.kdt-cms-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-cms-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-cms-heroCard,
.kdt-cms-contentPanel,
.kdt-cms-sideCard,
.kdt-cms-sideLinks,
.kdt-cms-expertCard {
	position: relative;
	border-radius: 34px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.kdt-cms-heroCard {
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border-color: rgba(255,255,255,0.14);
	color: #ffffff;
}

.kdt-cms-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-cms-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-cms-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-cms-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-cms-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-cms-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-cms-heroContent {
	position: relative;
	z-index: 2;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-cms-kicker {

	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-cms-title {
	margin: 0;
	max-width: 900px;
	font-family: "Libre Baskerville", serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-cms-lead {
	margin: 0.95rem 0 0;
	max-width: 760px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-cms-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-cms-contentSection,
.kdt-cms-expertsSection {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-cms-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.32fr);
	gap: 1rem;
	align-items: start;
}

.kdt-cms-contentPanel,
.kdt-cms-sideCard,
.kdt-cms-sideLinks {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-cms-contentHead h2,
.kdt-cms-sectionHead h2,
.kdt-cms-sideCard h3 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.55rem, 2.2vw, 2.15rem);
	line-height: 1.18;
}

.kdt-cms-contentBody {
	color: rgba(74,50,96,0.76);
	line-height: 1.72;
}

.kdt-cms-contentBody h2,
.kdt-cms-contentBody h3,
.kdt-cms-contentBody h4 {
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	margin-top: 1.4rem;
}

.kdt-cms-contentBody p {
	margin-bottom: 1rem;
}

.kdt-cms-contentBody a {
	color: #6E547F;
	font-weight: 800;
	text-decoration: none;
}

.kdt-cms-contentBody a:hover {
	color: #4a3260;
	text-decoration: none;
}

.kdt-cms-contentBody ul,
.kdt-cms-contentBody ol {
	padding-left: 1.2rem;
}

.kdt-cms-contentBody img {
	max-width: 100%;
	height: auto;
	border-radius: 22px;
	box-shadow: 0 18px 42px rgba(74,50,96,0.10);
}

.kdt-cms-sideCard {
	text-align: center;
	margin-bottom: 1rem;
}

.kdt-cms-sideCard > i {
	display: inline-grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	font-size: 1.45rem;
	margin-bottom: 0.75rem;
}

.kdt-cms-sideCard p {
	color: rgba(74,50,96,0.66);
	line-height: 1.56;
}

.kdt-cms-sideLinks {
	display: grid;
	gap: 0.65rem;
}

.kdt-cms-sideLinks a {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.75rem 0.85rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	color: #4a3260;
	font-weight: 900;
	text-decoration: none;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-cms-sideLinks a:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(74,50,96,0.10);
	border-color: rgba(125,115,179,0.34);
	text-decoration: none;
}

.kdt-cms-sideLinks i {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
}

.kdt-cms-sectionHead {
	margin-bottom: 1rem;
}

.kdt-cms-sectionHead p {
	margin: 0.45rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.58;
}

.kdt-cms-expertGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-cms-expertCard {
	display: grid;
	grid-template-columns: 116px minmax(0, 1fr);
	gap: 1rem;
	padding: 1rem;
	border-radius: 28px;
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.kdt-cms-expertCard:hover {
	transform: translateY(-3px);
	box-shadow: 0 30px 70px rgba(74,50,96,0.15);
	border-color: rgba(125,115,179,0.34);
}

.kdt-cms-expertPhoto {
	display: block;
	width: 116px;
	height: 116px;
	border-radius: 999px;
	overflow: hidden;
	border: 4px solid rgba(251,239,255,0.96);
	box-shadow: 0 18px 36px rgba(74,50,96,0.12);
}

.kdt-cms-expertPhoto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kdt-cms-expertTop {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	align-items: flex-start;
}

.kdt-cms-expertTop h3 {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	font-size: 1.28rem;
	line-height: 1.15;
	color: #4a3260;
}

.kdt-cms-expertTop h3 a {
	color: inherit;
	text-decoration: none;
}

.kdt-cms-expertTop h3 a:hover {
	color: #6E547F;
	text-decoration: none;
}

.kdt-cms-expertTop p {
	margin: 0.25rem 0 0;
	color: rgba(74,50,96,0.62);
	font-weight: 800;
}

.kdt-cms-expertStatus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	border-radius: 999px;
	padding: 0.34rem 0.62rem;
	font-size: 0.78rem;
	font-weight: 900;
	background: rgba(74,50,96,0.08);
	color: #6E547F;
}

.kdt-cms-expertStatus--disponible {
	background: rgba(25,135,84,0.12);
	color: #198754;
}

.kdt-cms-expertStatus--occupe {
	background: rgba(255,193,7,0.18);
	color: #8a6400;
}

.kdt-cms-expertStatus--pause,
.kdt-cms-expertStatus--absent {
	background: rgba(108,117,125,0.12);
	color: #6c757d;
}

.kdt-cms-expertText {
	margin: 0.75rem 0 0;
	color: rgba(74,50,96,0.68);
	line-height: 1.5;
}

.kdt-cms-expertStats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.8rem;
	color: rgba(74,50,96,0.66);
	font-size: 0.9rem;
}

.kdt-cms-expertStats span {
	display: inline-flex;
	align-items: center;
	gap: 0.32rem;
}

.kdt-cms-expertActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.9rem;
}

.kdt-cms-actionBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.38rem;
	border-radius: 999px;
	padding: 0.5rem 0.75rem;
	background: rgba(251,239,255,0.90);
	border: 1px solid rgba(230,217,250,0.95);
	color: #4a3260;
	font-size: 0.88rem;
	font-weight: 900;
	text-decoration: none;
}

.kdt-cms-actionBtn:hover {
	color: #4a3260;
	text-decoration: none;
	box-shadow: 0 12px 26px rgba(74,50,96,0.10);
}

.kdt-cms-actionBtn.is-disabled {
	opacity: 0.58;
	cursor: default;
}

@media (max-width: 1199.98px) {
	.kdt-cms-layout {
		grid-template-columns: 1fr;
	}
}

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

@media (max-width: 767.98px) {
	.kdt-cms-hero {
		padding-top: 18px;
	}

	.kdt-cms-heroCard,
	.kdt-cms-contentPanel,
	.kdt-cms-sideCard,
	.kdt-cms-sideLinks,
	.kdt-cms-expertCard {
		border-radius: 26px;
	}

	.kdt-cms-breadcrumb,
	.kdt-cms-heroContent {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-cms-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-cms-actions {
		flex-direction: column;
	}

	.kdt-cms-actions .kdt-btn {
		width: 100%;
	}

	.kdt-cms-expertCard {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.kdt-cms-expertPhoto {
		margin: 0 auto;
	}

	.kdt-cms-expertTop {
		flex-direction: column;
		align-items: center;
	}

	.kdt-cms-expertStats,
	.kdt-cms-expertActions {
		justify-content: center;
	}
}

/* =========================================================
   CMS - Harmonisation typographique Summernote
   ========================================================= */

.kdt-cms-page {
	font-family: "Inter", "Montserrat", Arial, sans-serif;
}

.kdt-cms-contentBody,
.kdt-cms-contentBody p,
.kdt-cms-contentBody li,
.kdt-cms-contentBody td,
.kdt-cms-contentBody th,
.kdt-cms-contentBody blockquote,
.kdt-cms-contentBody div,
.kdt-cms-contentBody span,
.kdt-cms-contentBody strong,
.kdt-cms-contentBody em,
.kdt-cms-contentBody a {
	font-family: inherit !important;
}

.kdt-cms-contentBody h1,
.kdt-cms-contentBody h2,
.kdt-cms-contentBody h3,
.kdt-cms-contentBody h4,
.kdt-cms-contentBody h5,
.kdt-cms-contentBody h6,
.kdt-cms-contentBody h1 *,
.kdt-cms-contentBody h2 *,
.kdt-cms-contentBody h3 *,
.kdt-cms-contentBody h4 *,
.kdt-cms-contentBody h5 *,
.kdt-cms-contentBody h6 * {
	font-family: "Libre Baskerville", Georgia, serif !important;
}

.kdt-cms-contentBody p,
.kdt-cms-contentBody li,
.kdt-cms-contentBody td,
.kdt-cms-contentBody th,
.kdt-cms-contentBody blockquote,
.kdt-cms-contentBody div,
.kdt-cms-contentBody span {
	line-height: 1.72 !important;
}

.kdt-cms-contentBody p,
.kdt-cms-contentBody li {
	font-size: 1rem !important;
	color: rgba(74,50,96,0.76) !important;
}

.kdt-cms-contentBody strong,
.kdt-cms-contentBody b {
	font-weight: 850 !important;
	color: #4a3260 !important;
}

.kdt-cms-contentBody a {
	color: #6E547F !important;
	font-weight: 850 !important;
	text-decoration: none !important;
}

.kdt-cms-contentBody a:hover {
	color: #4a3260 !important;
	text-decoration: none !important;
}

/* =========================================================
   CONTACT - Modale footer Kanditel
   ========================================================= */

.modal-kanditel-contact .modal-content {
	border: 1px solid rgba(230,217,250,0.92);
	border-radius: 30px;
	background:
		radial-gradient(circle at 15% 0%, rgba(232,213,160,0.16), rgba(232,213,160,0) 32%),
		rgba(255,255,255,0.96);
	box-shadow: 0 34px 90px rgba(30,14,53,0.24);
	overflow: hidden;
}

.modal-kanditel-contact .modal-header {
	padding: 1.35rem 1.5rem 0.65rem;
}

.modal-kanditel-contact .modal-body {
	padding: 0.85rem 1.5rem 1.5rem;
}

.kdt-contact-modal-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0.5rem;
	padding: 0.38rem 0.72rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	border: 1px solid rgba(230,217,250,0.95);
	color: #6E547F;
	font-weight: 900;
	font-size: 0.86rem;
}

.modal-kanditel-contact .modal-title {
	margin: 0;
	font-family: "Libre Baskerville", serif;
	color: #4a3260;
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.15;
}

.kdt-contact-modal-intro {
	display: grid;
	gap: 0.35rem;
	margin-bottom: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 20px;
	background: rgba(251,239,255,0.68);
	border: 1px solid rgba(230,217,250,0.95);
	color: rgba(74,50,96,0.74);
	line-height: 1.48;
}

.kdt-contact-modal-intro strong {
	color: #4a3260;
}

.kdt-contact-field {
	position: relative;
}

.kdt-contact-field i {
	position: absolute;
	left: 0.95rem;
	top: 50%;
	transform: translateY(-50%);
	color: #6E547F;
	z-index: 2;
}

.kdt-contact-field .form-control-kanditel {
	padding-left: 2.6rem;
}

.kdt-contact-textarea {
	min-height: 150px;
	resize: vertical;
}

.kdt-contact-consent {
	margin: 0;
	padding: 0.85rem 0.95rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.70);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.72);
	font-size: 0.92rem;
	line-height: 1.5;
}

.kdt-contact-consent .form-check-input {
	margin-top: 0.25rem;
}

.kdt-contact-feedback {
	display: none;
	margin: 1rem 0;
	padding: 0.85rem 1rem;
	border-radius: 18px;
	font-weight: 800;
	line-height: 1.45;
}

.kdt-contact-feedback--success,
.kdt-contact-feedback--error {
	display: block;
}

.kdt-contact-feedback--success {
	background: rgba(25,135,84,0.10);
	border: 1px solid rgba(25,135,84,0.24);
	color: #198754;
}

.kdt-contact-feedback--error {
	background: rgba(220,53,69,0.10);
	border: 1px solid rgba(220,53,69,0.24);
	color: #b02a37;
}

.kdt-contact-submit {
	margin-top: 0.2rem;
}

@media (max-width: 767.98px) {
	.modal-kanditel-contact .modal-dialog {
		margin: 0.75rem;
	}

	.modal-kanditel-contact .modal-content {
		border-radius: 24px;
	}

	.modal-kanditel-contact .modal-header,
	.modal-kanditel-contact .modal-body {
		padding-left: 1.05rem;
		padding-right: 1.05rem;
	}
}

/* =========================================================
   PROGRAMME FIDELITE - Page refonte
   ========================================================= */

.kdt-fid-page {
	color: #4a3260;
	padding-bottom: 3.5rem;
}

.kdt-fid-hero {
	padding: clamp(24px, 3.2vw, 46px) 0 1.4rem;
}

.kdt-fid-heroPanel,
.kdt-fid-benefit,
.kdt-fid-thanks,
.kdt-fid-how,
.kdt-fid-faqPanel,
.kdt-fid-finalPanel {
	position: relative;
	border-radius: 34px;
	background: rgba(255,255,255,0.58);
	border: 1px solid rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.kdt-fid-heroPanel {
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 14%, rgba(232,213,160,0.22), rgba(232,213,160,0) 34%),
		linear-gradient(135deg, rgba(30,14,53,0.96) 0%, rgba(61,32,96,0.96) 58%, rgba(91,43,105,0.94) 100%);
	border-color: rgba(255,255,255,0.14);
	color: #ffffff;
}

.kdt-fid-glow {
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(4px);
	opacity: 0.55;
}

.kdt-fid-glow--one {
	width: 340px;
	height: 340px;
	left: -140px;
	top: -150px;
	background: radial-gradient(circle, rgba(201,168,76,0.34), rgba(201,168,76,0));
}

.kdt-fid-glow--two {
	width: 380px;
	height: 380px;
	right: -160px;
	bottom: -180px;
	background: radial-gradient(circle, rgba(214,179,224,0.26), rgba(214,179,224,0));
}

.kdt-fid-breadcrumb {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: clamp(20px, 2.2vw, 34px) clamp(20px, 3vw, 42px) 0;
	color: rgba(255,255,255,0.60);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-fid-breadcrumb a {
	color: rgba(255,255,255,0.78);
	text-decoration: none;
}

.kdt-fid-breadcrumb a:hover {
	color: #ffffff;
	text-decoration: none;
}

.kdt-fid-heroGrid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(310px, 0.44fr);
	gap: clamp(22px, 3vw, 42px);
	align-items: center;
	padding: clamp(20px, 3vw, 42px);
}

.kdt-fid-kicker {
	margin-bottom: 0.95rem;
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.16);
	color: rgba(255,255,255,0.86);
}

.kdt-fid-title {
	margin: 0;
	max-width: 880px;
	font-family: "Libre Baskerville", Georgia, serif;
	font-size: clamp(2.2rem, 3.9vw, 4.2rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #e8d5a0;
}

.kdt-fid-title span {
	color: #ffffff;
}

.kdt-fid-lead {
	margin: 0.95rem 0 0;
	max-width: 780px;
	color: rgba(255,255,255,0.78);
	font-size: clamp(1.04rem, 1.35vw, 1.22rem);
	line-height: 1.62;
}

.kdt-fid-heroMeta,
.kdt-fid-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1rem;
}

.kdt-fid-heroMeta span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.14);
	color: rgba(255,255,255,0.78);
	font-weight: 800;
	font-size: 0.9rem;
}

.kdt-fid-heroVisual {
	position: relative;
	min-height: 330px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kdt-fid-ticket,
.kdt-fid-amountCard {
	position: absolute;
	border: 1px solid rgba(255,255,255,0.18);
	box-shadow: 0 26px 58px rgba(0,0,0,0.20);
}

.kdt-fid-ticket {
	width: 210px;
	height: 280px;
	border-radius: 30px;
	background:
		radial-gradient(circle at 50% 12%, rgba(232,213,160,0.26), rgba(232,213,160,0) 38%),
		linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
	transform: rotate(-8deg);
}

.kdt-fid-ticketInner {
	position: absolute;
	inset: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255,255,255,0.24);
	border-radius: 24px;
	text-align: center;
}

.kdt-fid-ticketInner i {
	font-size: 2.7rem;
	color: #e8d5a0;
}

.kdt-fid-ticketInner strong {
	margin-top: 0.85rem;
	font-family: "Libre Baskerville", Georgia, serif;
	font-size: 1.35rem;
	color: #ffffff;
}

.kdt-fid-ticketInner span {
	margin-top: 0.25rem;
	color: rgba(255,255,255,0.70);
	font-weight: 800;
}

.kdt-fid-amountCard {
	right: 0;
	bottom: -60px;
	z-index: 2;
	width: 180px;
	padding: 1.05rem;
	border-radius: 24px;
	background: rgba(255,255,255,0.92);
	color: #4a3260;
	text-align: center;
}

.kdt-fid-amountCard span,
.kdt-fid-amountCard em {
	display: block;
	color: rgba(74,50,96,0.66);
	font-style: normal;
	font-weight: 800;
}

.kdt-fid-amountCard strong {
	display: block;
	font-family: "Libre Baskerville", Georgia, serif;
	font-size: 2.7rem;
	line-height: 1;
	color: #6E547F;
}

.kdt-fid-benefits,
.kdt-fid-main,
.kdt-fid-faqSection,
.kdt-fid-final {
	padding-top: 1rem;
	padding-bottom: 1.35rem;
}

.kdt-fid-benefitGrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.kdt-fid-benefit {
	padding: 1.15rem;
	border-radius: 26px;
	text-align: center;
}

.kdt-fid-benefit i {
	display: inline-grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 0.75rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	font-size: 1.45rem;
}

.kdt-fid-benefit strong,
.kdt-fid-benefit span {
	display: block;
}

.kdt-fid-benefit strong {
	font-family: "Libre Baskerville", Georgia, serif;
	color: #4a3260;
	font-size: 1.12rem;
	line-height: 1.18;
}

.kdt-fid-benefit span {
	margin-top: 0.45rem;
	color: rgba(74,50,96,0.64);
	line-height: 1.45;
}

.kdt-fid-main {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: 1rem;
}

.kdt-fid-thanks,
.kdt-fid-how,
.kdt-fid-faqPanel,
.kdt-fid-finalPanel {
	padding: clamp(1.15rem, 2.4vw, 2rem);
}

.kdt-fid-thanks h2,
.kdt-fid-how h2,
.kdt-fid-faqPanel h2,
.kdt-fid-finalPanel h2 {
	margin: 0.45rem 0 0;
	font-family: "Libre Baskerville", Georgia, serif;
	color: #4a3260;
	font-size: clamp(1.6rem, 2.3vw, 2.25rem);
	line-height: 1.18;
}

.kdt-fid-thanks p,
.kdt-fid-finalPanel p {
	margin: 0.75rem 0 0;
	color: rgba(74,50,96,0.70);
	line-height: 1.65;
}

.kdt-fid-regieContent {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.72);
	line-height: 1.65;
}

.kdt-fid-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
	margin-top: 1.1rem;
}

.kdt-fid-step {
	position: relative;
	padding: 1rem;
	border-radius: 24px;
	background: rgba(255,255,255,0.62);
	border: 1px solid rgba(230,217,250,0.90);
	text-align: center;
	box-shadow: 0 14px 32px rgba(74,50,96,0.07);
	transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.kdt-fid-step:hover {
	transform: translateY(-3px);
	box-shadow: 0 22px 46px rgba(74,50,96,0.11);
}

.kdt-fid-step span {
	position: absolute;
	top: 0.75rem;
	left: 0.85rem;
	font-family: "Libre Baskerville", Georgia, serif;
	color: rgba(110,84,127,0.28);
	font-size: 2.1rem;
	font-weight: 800;
	line-height: 1;
}

.kdt-fid-step i {
	display: inline-grid;
	place-items: center;
	width: 62px;
	height: 62px;
	margin-bottom: 0.75rem;
	border-radius: 999px;
	background: rgba(251,239,255,0.90);
	color: #6E547F;
	font-size: 1.65rem;
}

.kdt-fid-step strong {
	display: block;
	font-family: "Libre Baskerville", Georgia, serif;
	color: #4a3260;
	font-size: 1.04rem;
	line-height: 1.2;
}

.kdt-fid-step p {
	margin: 0.5rem 0 0;
	color: rgba(74,50,96,0.64);
	line-height: 1.45;
	font-size: 0.94rem;
}

.kdt-fid-faqPanel {
	text-align: left;
}

.kdt-fid-faqList {
	display: grid;
	gap: 0.8rem;
	margin-top: 1rem;
}

.kdt-fid-faq-card {
	border-radius: 20px;
	background: rgba(255,255,255,0.64);
	border: 1px solid rgba(230,217,250,0.90);
	box-shadow: 0 14px 32px rgba(74,50,96,0.07);
	overflow: hidden;
}

.kdt-fid-faq-card summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.1rem;
	cursor: pointer;
	list-style: none;
	color: #4a3260;
	font-weight: 900;
}

.kdt-fid-faq-card summary::-webkit-details-marker {
	display: none;
}

.kdt-fid-faq-card summary i {
	color: #6E547F;
	font-size: 1.25rem;
	transition: transform 0.16s ease;
}

.kdt-fid-faq-card[open] summary i {
	transform: rotate(45deg);
}

.kdt-fid-faq-answer {
	padding: 0 1.1rem 1rem;
	color: rgba(74,50,96,0.68);
	line-height: 1.56;
}

.kdt-fid-finalPanel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0%, rgba(232,213,160,0.18), rgba(232,213,160,0) 30%),
		rgba(255,255,255,0.58);
}

.kdt-fid-finalPanel h2 span {
	color: #6E547F;
}

.kdt-fid-finalActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

@media (max-width: 1199.98px) {
	.kdt-fid-heroGrid,
	.kdt-fid-main,
	.kdt-fid-finalPanel {
		grid-template-columns: 1fr;
	}

	.kdt-fid-finalActions {
		justify-content: flex-start;
	}

	.kdt-fid-heroVisual {
		justify-content: flex-start;
	}
}

@media (max-width: 991.98px) {
	.kdt-fid-benefitGrid,
	.kdt-fid-steps {
		grid-template-columns: 1fr;
	}

	.kdt-fid-heroVisual {
		min-height: 260px;
	}

	.kdt-fid-ticket {
		position: relative;
		left: auto;
		width: 180px;
		height: 240px;
	}

	.kdt-fid-amountCard {
		right: auto;
		left: 150px;
		bottom: 8px;
	}
}

@media (max-width: 767.98px) {
	.kdt-fid-hero {
		padding-top: 18px;
	}

	.kdt-fid-heroPanel,
	.kdt-fid-benefit,
	.kdt-fid-thanks,
	.kdt-fid-how,
	.kdt-fid-faqPanel,
	.kdt-fid-finalPanel {
		border-radius: 26px;
	}

	.kdt-fid-breadcrumb,
	.kdt-fid-heroGrid {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.kdt-fid-title {
		font-size: clamp(2.05rem, 10.5vw, 3.2rem);
	}

	.kdt-fid-actions,
	.kdt-fid-finalActions {
		flex-direction: column;
	}

	.kdt-fid-actions .kdt-btn,
	.kdt-fid-finalActions .kdt-btn {
		width: 100%;
	}

	.kdt-fid-heroVisual {
		min-height: 230px;
	}

	.kdt-fid-ticket {
		width: 150px;
		height: 205px;
		border-radius: 24px;
	}

	.kdt-fid-ticketInner {
		border-radius: 18px;
	}

	.kdt-fid-amountCard {
		left: 122px;
		width: 150px;
		padding: 0.85rem;
	}

	.kdt-fid-amountCard strong {
		font-size: 2.25rem;
	}
}

@media (max-width: 420px) {
	.kdt-fid-amountCard {
		left: 104px;
		width: 136px;
	}

	.kdt-fid-amountCard strong {
		font-size: 2rem;
	}
}

/* =========================================================
   DEVENIR EXPERT — Refond Kanditel (premium)
   Fichier : devenir-expert.css
   ========================================================= */

.kdt-join{
	padding-bottom: 60px;
}

.kdt-join-section{
	padding-top: clamp(50px, 7vw, 75px);
	padding-bottom: clamp(0, 2vw, 0);
}

/*.kdt-join-section--soft{
	background: linear-gradient(180deg, rgba(238,231,250,.55), rgba(255,255,255,0));
}*/

.kdt-join-breadcrumb{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: rgba(59,47,69,.72);
	font-weight: 650;
	margin: 10px 0 16px;
}

.kdt-join-bcLink{
	color: rgba(74,50,96,.86);
	text-decoration: none;
	border-bottom: 1px solid rgba(125,115,179,.20);
}

.kdt-join-bcLink:hover{
	color: rgba(74,50,96,1);
	border-bottom-color: rgba(125,115,179,.40);
}

.kdt-join-bcSep{
	opacity: .55;
}

.kdt-join-bcCurrent{
	color: rgba(59,47,69,.78);
}

/* Hero */
.kdt-join-hero{
	position: relative;
	padding: 35px 0 35px 0;
}

.kdt-join-heroMedia{
	position: absolute;
	inset: 0;
	min-height: 520px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.84)),
		radial-gradient(800px 480px at 75% 25%, rgba(185,163,234,.55), rgba(255,255,255,0) 60%),
		url("https://picsum.photos/1600/900?random=520") center/cover no-repeat;
	filter: saturate(.95);
}

.kdt-join-heroInner{
	position: relative;
	padding: 16px 0 28px;
}

.kdt-join-heroCard{
	max-width: 980px;
	margin: 0 auto;
	padding: clamp(18px, 2.6vw, 30px);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.64));
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 28px 70px rgba(52,36,63,.16);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.kdt-join-heroTop{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.kdt-join-heroBrandName{
	font-family: "Libre Baskerville", serif;
	font-size: 22px;
	color: rgba(59,47,69,.92);
	letter-spacing: .2px;
}

.kdt-join-heroLang{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.kdt-join-heroLangItem{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.70);
	border: 1px solid rgba(74,50,96,.10);
	color: rgba(59,47,69,.82);
	font-weight: 750;
}

.kdt-join-heroLogin{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	background: rgba(185,163,234,.45);
	border: 1px solid rgba(125,115,179,.24);
	color: rgba(59,47,69,.90);
	font-weight: 750;
	text-decoration: none;
}

.kdt-join-heroLogin:hover{
	background: rgba(185,163,234,.58);
}

.kdt-join-title{
	font-family: "Libre Baskerville", serif;
	color: rgba(59,47,69,.94);
	font-size: clamp(30px, 3.8vw, 48px);
	line-height: 1.08;
	margin: 8px 0 4px;
	text-align: center;
}

.kdt-join-subtitle{
	color: rgba(74,50,96,.82);
	font-style: italic;
	text-align: center;
	margin: 0 0 14px;
}

.kdt-join-heroText{
	max-width: 760px;
	margin: 0 auto;
	color: rgba(59,47,69,.84);
	text-align: center;
	line-height: 1.55;
}

.kdt-join-ctaRow{
	display: flex;
	justify-content: center;
	margin-top: 16px;
}

.kdt-join-ctaHint{
	text-align: center;
	margin-top: 8px;
	color: rgba(59,47,69,.70);
	font-weight: 650;
}

/* Section head */
.kdt-join-sectionHead{
	text-align: center;
	max-width: 860px;
	margin: 0 auto 18px;
}

.kdt-join-h2{
	font-family: "Libre Baskerville", serif;
	color: rgba(59,47,69,.94);
	font-size: clamp(22px, 2.6vw, 34px);
	margin: 0 0 8px;
}

.kdt-join-lead{
	color: rgba(59,47,69,.78);
	line-height: 1.55;
	margin: 0;
}

/* Pills */
.kdt-join-pillGrid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.kdt-join-pill{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 14px;
	border-radius: 16px;
	background: rgba(255,255,255,.70);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 16px 40px rgba(52,36,63,.08);
}

.kdt-join-pillIcon{
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(185,163,234,.35);
	border: 1px solid rgba(125,115,179,.18);
	color: rgba(74,50,96,.92);
	font-size: 20px;
}

.kdt-join-pillTitle{
	font-weight: 850;
	color: rgba(59,47,69,.92);
	line-height: 1.2;
}

.kdt-join-pillSub{
	color: rgba(59,47,69,.70);
	font-weight: 650;
	font-size: .95rem;
	margin-top: 2px;
}

.kdt-join-centerCta{
	display: flex;
	justify-content: center;
	margin-top: 18px;
}

/* Split */
.kdt-join-split{
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 18px;
	align-items: start;
}

.kdt-join-checkList{
	list-style: none;
	padding: 0;
	margin: 14px 0 0;
	display: grid;
	gap: 10px;
}

.kdt-join-checkItem{
	display: grid;
	grid-template-columns: 34px 1fr;
	align-items: start;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 14px;
	background: rgba(255,255,255,.62);
	border: 1px solid rgba(74,50,96,.08);
}

.kdt-join-checkIcon{
	width: 30px;
	height: 30px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(185,163,234,.35);
	border: 1px solid rgba(125,115,179,.18);
	color: rgba(74,50,96,.90);
}

.kdt-join-checkText{
	color: rgba(59,47,69,.86);
	font-weight: 650;
	line-height: 1.35;
}

/* Note */
.kdt-join-note{
	margin-top: 14px;
	padding: 14px 14px;
	border-radius: 16px;
	background: rgba(255,255,255,.62);
	border: 1px solid rgba(125,115,179,.20);
	box-shadow: 0 16px 40px rgba(52,36,63,.08);
}

.kdt-join-noteText{
	margin: 0;
	color: rgba(59,47,69,.78);
	font-weight: 650;
	text-align: center;
}

/* Highlight (Candidature box) */
.kdt-join-highlight{
	padding: 18px 18px;
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.64));
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 26px 66px rgba(52,36,63,.14);
}

.kdt-join-highlightTop{
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 12px;
	align-items: center;
	margin-bottom: 12px;
}

.kdt-join-highlightIcon{
	width: 48px;
	height: 48px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(185,163,234,.38);
	border: 1px solid rgba(125,115,179,.20);
	color: rgba(74,50,96,.94);
	font-size: 20px;
}

.kdt-join-highlightTitle{
	font-weight: 900;
	color: rgba(59,47,69,.92);
	line-height: 1.2;
}

.kdt-join-highlightSub{
	color: rgba(59,47,69,.72);
	font-weight: 650;
	margin-top: 2px;
}

.kdt-join-miniList{
	margin: 0;
	padding-left: 18px;
	color: rgba(59,47,69,.82);
	line-height: 1.55;
}

.kdt-join-highlightActions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.kdt-join-highlightFoot{
	margin-top: 10px;
	color: rgba(59,47,69,.68);
	font-weight: 650;
	font-size: .92rem;
	text-align: center;
}

/* Steps */
.kdt-join-steps{
	list-style: none;
	padding: 0;
	margin: 14px 0 0;
	display: grid;
	gap: 12px;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

.kdt-join-step{
	display: grid;
	grid-template-columns: 46px 1fr;
	gap: 12px;
	padding: 14px 14px;
	border-radius: 18px;
	background: rgba(255,255,255,.70);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 18px 44px rgba(52,36,63,.08);
	position: relative;
}

.kdt-join-stepIndex{
	width: 46px;
	height: 46px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(185,163,234,.35);
	border: 1px solid rgba(125,115,179,.18);
	color: rgba(74,50,96,.94);
	font-weight: 900;
}

.kdt-join-stepTitle{
	font-weight: 900;
	color: rgba(59,47,69,.92);
}

.kdt-join-stepText{
	color: rgba(59,47,69,.78);
	font-weight: 650;
	margin-top: 2px;
	line-height: 1.45;
}

.kdt-join-bottomCta{
	display: flex;
	justify-content: center;
	margin-top: 16px;
}

/* Responsive */
@media (max-width: 991.98px){
	.kdt-join-heroMedia{
		min-height: 560px;
	}
	.kdt-join-pillGrid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.kdt-join-split{
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575.98px){
	.kdt-join-heroCard{
		border-radius: 18px;
	}
	.kdt-join-pillGrid{
		grid-template-columns: 1fr;
	}
	.kdt-join-step{
		grid-template-columns: 40px 1fr;
	}
	.kdt-join-stepIndex{
		width: 40px;
		height: 40px;
		border-radius: 14px;
	}
}

/* =========================================================
   DEVENIR EXPERT — REFONTE BAS DE PAGE (style visuel cliente)
   À coller en FIN de fichier
   ========================================================= */

.kdt-join-section--for{
	position: relative;
	padding-top: clamp(42px, 4.2vw, 72px);
	/*padding-bottom: clamp(36px, 3.6vw, 64px);*/
	overflow: hidden;
}

/*.kdt-join-forBg{
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.88)),
		radial-gradient(900px 520px at 50% 10%, rgba(185,163,234,.40), rgba(255,255,255,0) 62%),
		radial-gradient(700px 420px at 85% 55%, rgba(185,163,234,.24), rgba(255,255,255,0) 70%);
	filter: saturate(.98);
}*/

.kdt-join-forInner{
	position: relative;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

.kdt-join-forTitle{
	margin-bottom: 14px;
}

.kdt-join-forChecks{
	list-style: none;
	padding: 0;
	margin: 0 auto;
	max-width: 760px;
	display: grid;
	gap: 12px;
	text-align: left;
}

.kdt-join-forCheck{
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 12px;
	align-items: center;
	padding: 14px 16px;
	border-radius: 16px;
	background: rgba(255,255,255,.58);
	border: 1px solid rgba(74,50,96,.08);
	box-shadow: 0 18px 44px rgba(52,36,63,.08);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.kdt-join-forCheckIcon{
	width: 30px;
	height: 30px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(185,163,234,.35);
	border: 1px solid rgba(125,115,179,.18);
	color: rgba(74,50,96,.90);
}

.kdt-join-forCheckText{
	color: rgba(59,47,69,.88);
	font-weight: 750;
	line-height: 1.25;
}

.kdt-join-forNote{
	margin: 16px auto 0;
	max-width: 760px;
	padding: 16px 18px;
	border-radius: 16px;
	background: rgba(255,255,255,.62);
	border: 1px solid rgba(125,115,179,.20);
	box-shadow: 0 18px 44px rgba(52,36,63,.08);
	color: rgba(59,47,69,.78);
	font-weight: 700;
}

.kdt-join-forCta{
	display: flex;
	justify-content: center;
	margin-top: 18px;
}

/* PROCESS — 4 colonnes (desktop), comme le visuel cliente */
.kdt-join-section--process{
	padding-top: clamp(44px, 4.6vw, 80px);
	padding-bottom: clamp(44px, 4.6vw, 80px);
}

.kdt-join-processGrid{
	position: relative;
	max-width: 980px;
	margin: 22px auto 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.kdt-join-processStep{
	padding: 16px 16px 18px;
	border-radius: 18px;
	background: rgba(255,255,255,.60);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 18px 44px rgba(52,36,63,.08);
	text-align: left;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	min-height: 130px;
}

.kdt-join-processIndex{
	width: 42px;
	height: 42px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(185,163,234,.35);
	border: 1px solid rgba(125,115,179,.18);
	color: rgba(74,50,96,.94);
	font-weight: 900;
	margin-bottom: 10px;
}

.kdt-join-processTitle{
	font-weight: 900;
	color: rgba(59,47,69,.92);
	margin-bottom: 4px;
}

.kdt-join-processText{
	color: rgba(59,47,69,.78);
	font-weight: 650;
	line-height: 1.35;
}

/* Responsive */
@media (max-width: 991.98px){
	.kdt-join-processGrid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px){
	.kdt-join-forChecks{
		text-align: left;
	}
	.kdt-join-processGrid{
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   DEVENIR EXPERT — Correctif mobile : le hero ne doit pas
   "déborder" sur la section suivante (desktop inchangé)
   ========================================================= */

@media (max-width: 767.98px){
	.kdt-join-heroMedia{
		min-height: 0;
		height: 100%;
	}
}

@media (max-width: 767.98px){
	.kdt-join-hero{
		overflow: hidden;
	}
}

/* =========================================================
   DEVENIR EXPERT — Breadcrumb padding mobile
   ========================================================= */

@media (max-width: 767.98px){
	.kdt-join-breadcrumb{
		padding-left: 16px;
		padding-right: 16px; /* optionnel mais cohérent */
	}
}

/* =========================================================
   DEVENIR EXPERT — Card hero padding horizontal mobile
   ========================================================= */

@media (max-width: 767.98px){
	.kdt-join-heroCard{
		margin-left: 16px;
		margin-right: 16px;
	}
}

/* =========================================================
   CANDIDATURE CONSULTANT — Refonte Kanditel (premium)
   Fichier : candidature-expert.css
   Dépendances : Bootstrap 5 + tes variables globales (style.css)
   ========================================================= */

.kdt-apply{
	padding: clamp(28px, 4vw, 44px) 0 10px;
}

.kdt-apply-hero{
	padding-top: clamp(22px, 3vw, 34px);
}

.kdt-apply-head{
	max-width: 980px;
	margin: 0 auto;
}

.kdt-apply-title{
	font-family: "Libre Baskerville", serif;
	font-size: clamp(28px, 3.5vw, 44px);
	line-height: 1.08;
	color: rgba(59,47,69,.94);
	margin: 0 0 6px;
	letter-spacing: .2px;
}

.kdt-apply-subtitle{
	color: rgba(74,50,96,.82);
	font-style: italic;
	margin: 0;
}

.kdt-apply-progress{
	margin-top: 14px;
	padding: 14px 16px;
	border-radius: 18px;
	background: rgba(255,255,255,.66);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 18px 44px rgba(52,36,63,.08);
}

.kdt-apply-progressTop{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}

.kdt-apply-progressLabel{
	color: rgba(59,47,69,.86);
	font-weight: 750;
}

.kdt-apply-progressHint{
	color: rgba(59,47,69,.70);
	font-weight: 650;
}

.kdt-apply-progressBar{
	height: 10px;
	border-radius: 999px;
	background: rgba(74,50,96,.10);
	margin-top: 10px;
	overflow: hidden;
}

.kdt-apply-progressFill{
	display: block;
	height: 100%;
	border-radius: 999px;
	background: rgba(125,115,179,.70);
}

.kdt-apply-body{
	padding: 18px 0 60px;
}

.kdt-apply-form{
	max-width: 980px;
	margin: 0 auto;
}

.kdt-apply-panel{
	padding: 18px 18px;
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.64));
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 26px 66px rgba(52,36,63,.12);
	margin-bottom: 14px;
}

.kdt-apply-panelHead{
	margin-bottom: 12px;
}

.kdt-apply-h2{
	font-family: "Libre Baskerville", serif;
	font-size: clamp(20px, 2.2vw, 28px);
	color: rgba(59,47,69,.94);
	margin: 0 0 6px;
}

.kdt-apply-lead{
	margin: 0;
	color: rgba(59,47,69,.76);
	font-weight: 650;
	line-height: 1.45;
}

.kdt-apply-label{
	color: rgba(59,47,69,.86);
	font-weight: 750;
}

.kdt-apply-muted{
	color: rgba(59,47,69,.68);
	font-weight: 650;
}

.kdt-apply-required{
	color: rgba(125,115,179,.95);
	font-weight: 900;
}

.kdt-apply-control{
	border-radius: 14px;
	border: 1px solid rgba(74,50,96,.14);
	background: rgba(255,255,255,.82);
	padding: 10px 12px;
	color: rgba(59,47,69,.90);
	box-shadow: none;
}

.kdt-apply-control:focus{
	border-color: rgba(125,115,179,.45);
	box-shadow: 0 0 0 .18rem rgba(185,163,234,.25);
}

.kdt-apply-controlWrap{
	position: relative;
}

.kdt-apply-controlIcon{
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(59,47,69,.60);
	pointer-events: none;
}

.kdt-apply-help{
	margin-top: 6px;
	color: rgba(59,47,69,.66);
	font-weight: 650;
	font-size: .92rem;
}

.kdt-apply-footNote{
	margin: 12px 0 0;
	color: rgba(59,47,69,.70);
	font-weight: 650;
}

.kdt-apply-textarea{
	resize: vertical;
	min-height: 46px;
}

.kdt-apply-counterRow{
	position: relative;
}

.kdt-apply-counterHint{
	position: absolute;
	right: 12px;
	top: 10px;
	color: rgba(59,47,69,.62);
	font-weight: 700;
	font-size: .88rem;
}

.kdt-apply-switchRow{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 6px;
	border-top: 1px solid rgba(74,50,96,.10);
}

.kdt-apply-switchLabel{
	color: rgba(59,47,69,.82);
	font-weight: 750;
}

.kdt-apply-switchText{
	color: rgba(59,47,69,.78);
	font-weight: 650;
}

/* Pratique (checkbox cards) */
.kdt-apply-checkGrid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 8px;
}

.kdt-apply-check{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 12px;
	border-radius: 16px;
	background: rgba(255,255,255,.62);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 18px 44px rgba(52,36,63,.06);
	cursor: pointer;
	user-select: none;
}

.kdt-apply-check .form-check-input{
	margin: 0;
}

.kdt-apply-checkText{
	color: rgba(59,47,69,.84);
	font-weight: 700;
	line-height: 1.2;
}

/* Tarif */
.kdt-apply-rateBox{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 14px;
	border-radius: 16px;
	background: rgba(255,255,255,.62);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 18px 44px rgba(52,36,63,.06);
	color: rgba(59,47,69,.90);
	text-decoration: none;
}

.kdt-apply-rateLeft{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.kdt-apply-rateIcon{
	width: 36px;
	height: 36px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(185,163,234,.35);
	border: 1px solid rgba(125,115,179,.18);
	color: rgba(74,50,96,.92);
}

.kdt-apply-rateChevron{
	color: rgba(59,47,69,.55);
}

/* Submit */
.kdt-apply-submitWrap{
	text-align: center;
	margin-top: 10px;
	padding: 10px 0 0;
}

.kdt-apply-submitBtn{
	padding: 12px 18px;
	border-radius: 999px;
	min-width: min(520px, 100%);
	font-weight: 800;
}

.kdt-apply-submitHint{
	margin-top: 8px;
	color: rgba(59,47,69,.68);
	font-weight: 650;
}

/* Aside */
.kdt-apply-aside{
	position: sticky;
	top: 92px;
	display: grid;
	gap: 12px;
}

.kdt-apply-asideCard{
	padding: 16px 16px;
	border-radius: 18px;
	background: rgba(255,255,255,.66);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 18px 44px rgba(52,36,63,.08);
}

.kdt-apply-asideTitle{
	font-family: "Libre Baskerville", serif;
	font-size: 18px;
	color: rgba(59,47,69,.92);
	margin: 0 0 10px;
}

.kdt-apply-asideList{
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
	color: rgba(59,47,69,.80);
	font-weight: 650;
}

.kdt-apply-asideDot{
	width: 10px;
	height: 10px;
	border-radius: 999px;
	display: inline-block;
	background: rgba(125,115,179,.55);
	margin-right: 8px;
	vertical-align: middle;
}

.kdt-apply-asideNext{
	padding: 16px 16px;
	border-radius: 18px;
	background: rgba(255,255,255,.60);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 18px 44px rgba(52,36,63,.06);
}

.kdt-apply-asideNextTitle{
	color: rgba(59,47,69,.88);
	font-weight: 900;
	margin-bottom: 8px;
}

.kdt-apply-asideNextLinks{
	list-style: none;
	padding: 0;
	margin: 0 0 10px;
	display: grid;
	gap: 8px;
	color: rgba(59,47,69,.78);
	font-weight: 650;
}

.kdt-apply-asideArrow{
	color: rgba(59,47,69,.55);
	margin-right: 6px;
}

.kdt-apply-asideNextHint{
	margin: 0;
	color: rgba(59,47,69,.66);
	font-weight: 650;
	line-height: 1.4;
}

/* Responsive */
@media (max-width: 991.98px){
	.kdt-apply-aside{
		position: static;
		top: auto;
	}
	.kdt-apply-checkGrid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px){
	.kdt-apply-progress{
		padding: 12px 12px;
	}
	.kdt-apply-panel{
		padding: 16px 16px;
		border-radius: 18px;
	}
	.kdt-apply-checkGrid{
		grid-template-columns: 1fr;
	}
	.kdt-apply-counterHint{
		position: static;
		transform: none;
		margin-top: 6px;
		text-align: right;
	}
}

/* Langues parlées (drapeaux) */
.kdt-langChips{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 10px 10px;
	border-radius: 16px;
	border: 1px solid rgba(74,50,96,.10);
	background: rgba(255,255,255,.62);
	box-shadow: 0 18px 44px rgba(52,36,63,.06);
}

.kdt-langChip{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 999px;
	border: 1px solid rgba(74,50,96,.10);
	background: rgba(255,255,255,.78);
	cursor: pointer;
	user-select: none;
}

.kdt-langInput{
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: rgba(125,115,179,.85);
}

.kdt-langFlag{
	width: 22px;
	height: 16px;
	border-radius: 4px;
	box-shadow: 0 10px 24px rgba(52,36,63,.10);
}

.kdt-langText{
	color: rgba(59,47,69,.84);
	font-weight: 700;
	line-height: 1.1;
}

@media (max-width: 575.98px){
	.kdt-langChips{
		padding: 10px 10px;
	}
	.kdt-langChip{
		width: 100%;
		justify-content: flex-start;
	}
}

/* =========================================================
   Variante "fenêtre" — Candidature Kanditel
   (add-on visuel, sans modifier le HTML)
   ========================================================= */

/* Effet fenêtre global */
.kdt-apply-body .container{
	max-width: 1180px;
	padding: 24px 26px 28px;
	border-radius: 26px;
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(74,50,96,.12);
	box-shadow:
		0 30px 80px rgba(52,36,63,.14),
		inset 0 1px 0 rgba(255,255,255,.6);
}

/* Colonne principale légèrement plus "rigide" */
.kdt-apply-form{
	background: rgba(255,255,255,.85);
	border-radius: 22px;
	padding: 14px 14px 4px;
}

/* Séparation visuelle subtile avec l’aside */
@media (min-width: 992px){
	.kdt-apply-body .row > .col-lg-8{
		padding-right: 20px;
	}
	.kdt-apply-body .row > .col-lg-4{
		padding-left: 8px;
	}
}

/* Bouton final semi-sticky (fin de parcours) */
.kdt-apply-submitWrap{
	position: sticky;
	bottom: 12px;
	background: linear-gradient(
		to top,
		rgba(255,255,255,.96),
		rgba(255,255,255,.75) 60%,
		rgba(255,255,255,0)
	);
	padding: 14px 0 6px;
	margin-top: 18px;
	z-index: 2;
}

/* Mobile : on évite tout effet "lourd" */
@media (max-width: 575.98px){
	.kdt-apply-body .container{
		padding: 18px 14px 20px;
		border-radius: 22px;
	}
	.kdt-apply-form{
		padding: 10px 10px 0;
	}
}

/* =========================================================
   Etat "presque fini" (tous champs required OK)
   ========================================================= */

.kdt-apply-submitBtn{
	transition: transform .15s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;
}

.kdt-apply-submitBtn:disabled{
	opacity: .55;
	filter: grayscale(.15);
	cursor: not-allowed;
	box-shadow: none;
}

/* Badge discret dans le sticky */
.kdt-apply-readyBadge{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(185,163,234,.25);
	border: 1px solid rgba(125,115,179,.18);
	color: rgba(59,47,69,.82);
	font-weight: 800;
	font-size: .92rem;
}

/* Etat READY sur le wrapper */
.kdt-apply--ready .kdt-apply-submitWrap{
	border-radius: 18px;
}

.kdt-apply--ready .kdt-apply-submitBtn{
	transform: translateY(-1px);
	box-shadow: 0 18px 44px rgba(52,36,63,.14);
}

.kdt-apply--ready .kdt-apply-submitHint{
	color: rgba(59,47,69,.78);
}

/* Indicateur visuel léger sur les champs OK */
.kdt-apply--ready .kdt-apply-control:valid{
	border-color: rgba(125,115,179,.30);
}

/* Optionnel : sur focus + valid, un poil plus premium */
.kdt-apply--ready .kdt-apply-control:focus:valid{
	box-shadow: 0 0 0 .18rem rgba(185,163,234,.22);
}

/* Toggle voir/masquer mot de passe (page candidature) */
.kdt-apply-eyeBtn{
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 12px;
	border: 1px solid rgba(74,50,96,.10);
	background: rgba(255,255,255,.78);
	color: rgba(59,47,69,.65);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
}

.kdt-apply-eyeBtn:hover{
	color: rgba(59,47,69,.82);
}

.kdt-apply-eyeBtn:focus{
	outline: none;
	box-shadow: 0 0 0 .18rem rgba(185,163,234,.22);
}

/* Laisse de la place au bouton dans les inputs password */
#password.kdt-apply-control,
#confirm.kdt-apply-control{
	padding-right: 52px;
}

/* =========================================================
   Correctif collision placeholder / compteur caractères
   (présentation courte & champs avec counter)
   ========================================================= */

/* On réserve de l’espace en haut du textarea */
.kdt-apply-counterRow .kdt-apply-textarea{
	padding-top: 28px; /* espace pour le compteur */
}

/* Compteur plus discret et mieux aligné */
.kdt-apply-counterHint{
	top: 8px;
	right: 12px;
	font-size: .85rem;
	opacity: .75;
	pointer-events: none;
}

/* Mobile : on évite l’effet tassé */
@media (max-width: 575.98px){
	.kdt-apply-counterRow .kdt-apply-textarea{
		padding-top: 32px;
	}
}

/* =========================================================
   DEVENIR EXPERT / CANDIDATURE - Harmonisation refonte Kanditel
   ========================================================= */

.kdt-join,
.kdt-apply-page {
	color: #4a3260;
}

.kdt-join a,
.kdt-apply-page a {
	text-decoration: none;
}

.kdt-join a:hover,
.kdt-apply-page a:hover {
	text-decoration: none;
}

.kdt-join-heroMedia {
	background:
		linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.86)),
		radial-gradient(900px 520px at 72% 22%, rgba(185,163,234,.46), rgba(255,255,255,0) 62%),
		radial-gradient(760px 460px at 18% 18%, rgba(232,213,160,.24), rgba(255,255,255,0) 58%);
}

.kdt-join-heroCard,
.kdt-join-pill,
.kdt-join-forCheck,
.kdt-join-processStep,
.kdt-apply-progress,
.kdt-apply-panel,
.kdt-apply-asideCard,
.kdt-apply-asideNext {
	border-color: rgba(230,217,250,0.86);
	box-shadow:
		0 24px 62px rgba(74,50,96,0.12),
		inset 0 1px 0 rgba(255,255,255,0.72);
}

.kdt-join-title,
.kdt-join-h2,
.kdt-apply-title,
.kdt-apply-h2,
.kdt-apply-asideTitle {
	font-family: "Libre Baskerville", Georgia, serif;
	color: #4a3260;
}

.kdt-join-subtitle,
.kdt-join-heroText,
.kdt-join-lead,
.kdt-apply-subtitle,
.kdt-apply-lead,
.kdt-apply-muted,
.kdt-apply-help {
	color: rgba(74,50,96,0.72);
}

.kdt-apply-infoBox {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 0.85rem;
	align-items: flex-start;
	padding: 1rem;
	border-radius: 18px;
	background: rgba(251,239,255,0.72);
	border: 1px solid rgba(230,217,250,0.95);
	color: rgba(74,50,96,0.74);
}

.kdt-apply-infoBox i {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: rgba(255,255,255,0.72);
	color: #6E547F;
	font-size: 1.25rem;
}

.kdt-apply-infoBox strong {
	display: block;
	color: #4a3260;
	font-weight: 900;
	margin-bottom: 0.25rem;
}

.kdt-apply-infoBox p {
	margin: 0;
	line-height: 1.5;
}

.kdt-hidden-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 767.98px) {
	.kdt-join-section {
		padding-top: 34px;
	}

	.kdt-join-hero {
		padding-top: 18px;
		padding-bottom: 22px;
	}

	.kdt-apply {
		padding-top: 22px;
	}

	.kdt-apply-body {
		padding-bottom: 42px;
	}
}

/* =========================================================
   HOME - Réactivation cards experts legacy
   ========================================================= */

.experts-section .expert-card-legacy {
	position: relative;
	overflow: visible;
}

.experts-section .expert-card-legacy .expert-name a {
	color: inherit;
	text-decoration: none;
}

.experts-section .expert-card-legacy .expert-name a:hover {
	color: #6b4b86;
	text-decoration: none;
}

.experts-section .expert-card-legacy .btn-status {
	margin-top: auto;
	width: 100%;
}

.experts-section .expert-card-legacy .expert-meta-inline {
	margin-top: 0.75rem;
	margin-bottom: 1rem;
}

@media (min-width: 768px) {
	.experts-section .expert-card-legacy {
		min-height: 315px;
	}

	.experts-section .expert-card-legacy .expert-photo {
		width: 144px;
		height: 144px;
	}

	.experts-section .expert-card-legacy .expert-name {
		font-size: 1.65rem;
		line-height: 1.15;
	}

	.experts-section .expert-card-legacy .expert-skill {
		min-height: 22px;
	}
}

@media (max-width: 767.98px) {
	.experts-section .expert-card-legacy {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		align-items: center;
		column-gap: 0.8rem;
		row-gap: 0.15rem;
		padding: 0.85rem 0.9rem;
		border-radius: 18px;
		text-align: left;
		min-height: auto;
	}

	.experts-section .expert-card-legacy .expert-photo {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 62px;
		height: 62px;
		border-radius: 999px;
		margin: 0;
	}

	.experts-section .expert-card-legacy .expert-photo::after {
		border-radius: 999px;
	}

	.experts-section .expert-card-legacy .expert-name {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
		font-size: 1.15rem;
		line-height: 1.15;
		text-align: left;
	}

	.experts-section .expert-card-legacy .expert-skill {
		grid-column: 2;
		grid-row: 2;
		margin: 0.15rem 0 0;
		font-size: 0.9rem;
		text-align: left;
		color: rgba(74,50,96,0.70);
	}

	.experts-section .expert-card-legacy .btn-status {
		grid-column: 3;
		grid-row: 1 / span 2;
		width: auto;
		min-width: 118px;
		margin: 0;
		padding: 0.35rem 0.7rem;
		border-radius: 999px;
		font-size: 0.9rem;
		line-height: 1.15;
		white-space: nowrap;
	}

	.experts-section .expert-card-legacy .expert-meta-inline {
		display: none !important;
	}

	.experts-section .expert-card-legacy .expert-ribbons {
		display: none !important;
	}
}

/* =========================================================
   HOME - Datas cards experts legacy
   ========================================================= */

.experts-section .expert-card-legacy .expert-card-miniStats {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0.35rem auto 0.55rem;
	color: rgba(74,50,96,0.68);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.2;
}

.experts-section .expert-card-legacy .expert-card-miniStats span {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.experts-section .expert-card-legacy .expert-card-miniStats span + span::before {
	content: "·";
	margin-right: 0.1rem;
	color: rgba(74,50,96,0.42);
	font-weight: 900;
}

.experts-section .expert-card-legacy .expert-card-rating i {
	color: #c79a38;
	font-size: 0.85rem;
}

.experts-section .expert-card-legacy .expert-card-rating strong {
	color: #4a3260;
	font-weight: 900;
}

.experts-section .expert-card-legacy .expert-skill {
	color: rgba(74,50,96,0.70);
	font-weight: 600;
}

@media (min-width: 768px) {
	.experts-section .expert-card-legacy {
		min-height: 340px;
	}

	.experts-section .expert-card-legacy .expert-skill {
		min-height: 38px;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.25;
	}
}

@media (max-width: 767.98px) {
	.experts-section .expert-card-legacy {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		grid-template-rows: auto auto auto;
	}

	.experts-section .expert-card-legacy .expert-photo {
		grid-row: 1 / span 3;
	}

	.experts-section .expert-card-legacy .expert-card-miniStats {
		grid-column: 2;
		grid-row: 3;
		justify-content: flex-start;
		margin: 0.15rem 0 0;
		font-size: 0.76rem;
		gap: 0.28rem;
	}

	.experts-section .expert-card-legacy .btn-status {
		grid-row: 1 / span 3;
	}

	.experts-section .expert-card-legacy .expert-skill {
		line-height: 1.18;
	}
}

/* =========================================================
   CANDIDATURE EXPERT - Traitement formulaire
   ========================================================= */

.kdt-apply-consentPanel {
	margin-top: 0;
}

.kdt-apply-consent {
	margin: 0;
	padding: 0.85rem 0.95rem;
	border-radius: 18px;
	background: rgba(255,255,255,0.70);
	border: 1px solid rgba(230,217,250,0.90);
	color: rgba(74,50,96,0.72);
	font-size: 0.92rem;
	line-height: 1.5;
}

.kdt-apply-consent .form-check-input {
	margin-top: 0.25rem;
}

.kdt-apply-feedback {
	display: none;
	max-width: 980px;
	margin: 0 auto 1rem;
	padding: 0.9rem 1rem;
	border-radius: 18px;
	font-weight: 800;
	line-height: 1.45;
}

.kdt-apply-feedback--success,
.kdt-apply-feedback--error {
	display: block;
}

.kdt-apply-feedback--success {
	background: rgba(25,135,84,0.10);
	border: 1px solid rgba(25,135,84,0.24);
	color: #198754;
}

.kdt-apply-feedback--error {
	background: rgba(220,53,69,0.10);
	border: 1px solid rgba(220,53,69,0.24);
	color: #b02a37;
}

.kdt-apply-submitBtn[disabled] {
	opacity: 0.72;
	cursor: not-allowed;
}

.kdt-apply-submitBtn .spinner-border {
	vertical-align: -0.12em;
}

/* ===============================
   FOOTER - BADGES APPLICATION
   =============================== */

.kdt-footer-wrapper .app-badges {
	width: 100%;
	align-items: stretch !important;
}

.kdt-footer-wrapper .app-badges .blog-explore-btn {
	width: 100%;
	min-height: 42px;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 0.35rem;

	padding: 0.55rem 0.85rem;

	font-size: 0.88rem;
	line-height: 1;
	white-space: nowrap;

	border-radius: 999px;
}

.kdt-footer-wrapper .app-badges .blog-explore-btn i {
	flex: 0 0 auto;
	margin-right: 0;
	font-size: 1rem;
	line-height: 1;
}

/* Desktop intermédiaire : on compacte encore un peu si la colonne est étroite */
@media (min-width: 768px) and (max-width: 1199.98px) {

	.kdt-footer-wrapper .app-badges .blog-explore-btn {
		padding: 0.5rem 0.65rem;
		font-size: 0.8rem;
	}
}

/* Mobile : on évite le côte-à-côte trop serré */
@media (max-width: 767.98px) {

	.kdt-footer-wrapper .app-badges {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.kdt-footer-wrapper .app-badges .blog-explore-btn {
		width: 100% !important;
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
		font-size: 0.88rem;
	}
}

/* ===============================
   MODALE DÉCONNEXION CLIENT
   =============================== */

.modal-client-logout .modal-content {
	overflow: hidden;
}

.kdt-logout-modal-intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.65rem;

	padding: 0.5rem 0 1.25rem;
	color: #4a3260;
}

.kdt-logout-modal-icon {
	width: 58px;
	height: 58px;
	border-radius: 999px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	background: rgba(255, 255, 255, 0.58);
	border: 1px solid rgba(230, 217, 250, 0.9);
	box-shadow:
		0 14px 32px rgba(74, 50, 96, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.kdt-logout-modal-icon i {
	font-size: 1.6rem;
	color: #6b4b86;
}

.kdt-logout-modal-intro p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: #4a3260;
}

.kdt-logout-modal-intro strong {
	color: #3c1859;
	font-weight: 700;
}

.kdt-logout-modal-intro span {
	font-size: 0.95rem;
	color: #6b5a82;
}

.kdt-logout-modal-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.kdt-logout-modal-actions .btn {
	min-height: 44px;
	border-radius: 999px;
}

@media (max-width: 575.98px) {

	.kdt-logout-modal-actions {
		grid-template-columns: 1fr;
	}

	.kdt-logout-modal-actions .btn-outline-kanditel {
		order: 2;
	}

	.kdt-logout-modal-actions .btn-kanditel-primary {
		order: 1;
	}
}

/* =========================================================
   CHAT PRIVÉ CLIENT — KANDITEL REFONTE
   Hooks VP conservés pour compatibilité JS
   ========================================================= */

.vp-chatClientDialog{
	max-width: min(1180px, calc(100vw - 24px));
}

.vp-chatClientModal{
	border: 0;
	border-radius: 28px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 26px 80px rgba(48, 30, 61, .24);
}

.vp-chatClientTopbar{
	display: grid;
	grid-template-columns: minmax(240px, 1fr) auto auto;
	gap: 18px;
	align-items: center;
	padding: 18px 20px;
	background:
		radial-gradient(circle at top left, rgba(214,179,224,.42), transparent 38%),
		linear-gradient(135deg, #4a3260, #6e547f);
	color: #fff;
}

.vp-chatClientExpert{
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.vp-chatClientAvatarWrap{
	width: 72px;
	height: 72px;
	border-radius: 999px;
	padding: 4px;
	background: rgba(255,255,255,.72);
	box-shadow: 0 14px 32px rgba(0,0,0,.18);
	flex: 0 0 auto;
}

.vp-chatClientAvatar{
	width: 100%;
	height: 100%;
	border-radius: 999px;
	object-fit: cover;
	display: block;
}

.vp-chatClientName{
	margin: 0;
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	color: #fff;
}

.vp-chatClientSpecialites{
	margin-top: 4px;
	color: rgba(255,255,255,.82);
	font-size: .9rem;
	font-weight: 600;
}

.vp-chatClientStatusBadge{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 7px;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	color: #fff;
	font-size: .82rem;
	font-weight: 800;
}

.vp-chatClientStatusBadge span{
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #61d394;
	box-shadow: 0 0 0 4px rgba(97,211,148,.18);
}

.vp-chatClientTopStats{
	display: flex;
	align-items: center;
	gap: 12px;
}

.vp-chatClientRate,
.vp-chatClientCreditBox{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 18px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.18);
}

.vp-chatClientRate strong,
.vp-chatClientTopStat strong{
	display: block;
	color: #fff;
	font-size: .95rem;
}

.vp-chatClientRate span,
.vp-chatClientTopStat span{
	display: block;
	color: rgba(255,255,255,.72);
	font-size: .76rem;
	font-weight: 700;
}

.vp-chatClientActions{
	display: flex;
	align-items: center;
	gap: 8px;
}

.vp-chatRechargeBtn,
.vp-chatEndBtn,
.vp-chatClientClose,
.vp-chatMobileNavBtn,
.vp-chatMobileRechargeStatBtn{
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	color: #fff;
	font-weight: 800;
	padding: 10px 13px;
}

.vp-chatClientClose,
.vp-chatMobileNavBtn{
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.vp-chatEndBtn{
	background: rgba(255,255,255,.10);
}

.vp-chatClientBody{
	background: linear-gradient(180deg, #faf7ff, #fff);
	padding: 16px;
}

.vp-chatClientLayout{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 16px;
}

.vp-chatClientConversation{
	min-width: 0;
	border-radius: 24px;
	background: rgba(255,255,255,.92);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 16px 44px rgba(52,36,63,.10);
	padding: 14px;
}

.vp-chatClientReady{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	margin-bottom: 12px;
	border-radius: 16px;
	background: rgba(125,115,179,.10);
	color: rgba(54,35,70,.82);
	font-size: .9rem;
}

.vp-chatClientReady strong{
	color: #4a3260;
}

.vp-chatClientFreeMessages{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
	margin-bottom: 12px;
	border-radius: 18px;
	background: rgba(214,179,224,.18);
	border: 1px solid rgba(214,179,224,.38);
}

.vp-chatClientFreeMessagesIcon{
	width: 42px;
	height: 42px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #4a3260;
	color: #fff;
	flex: 0 0 auto;
}

.vp-chatClientFreeMessagesTitle{
	font-weight: 900;
	color: #4a3260;
}

.vp-chatClientFreeMessagesText,
.vp-chatClientFreeMessagesMeta{
	color: rgba(54,35,70,.72);
	font-size: .9rem;
}

.vp-chatClientFreeMessagesProgress{
	height: 7px;
	margin: 8px 0;
	border-radius: 999px;
	background: rgba(74,50,96,.10);
	overflow: hidden;
}

.vp-chatClientFreeMessagesProgress span{
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #7d73b3, #d6b3e0);
}

.vp-chatClientPanels .page{
	min-height: 420px;
}

.vp-chatClientPanels .messages{
	height: 420px;
	overflow-y: auto;
	list-style: none;
	margin: 0;
	padding: 4px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.vp-chatClientComposer{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px !important;
}

.vp-chatClientInputWrap{
	flex: 1 1 auto;
	min-width: 0;
}

.vp-chatClientInputWrap .inputMessage{
	border-radius: 999px !important;
	border: 1px solid rgba(74,50,96,.14);
	padding: 11px 16px;
	font-weight: 650;
}

.vp-chatClientInputWrap small{
	display: block;
	margin-top: 4px;
	color: rgba(54,35,70,.50);
	font-size: .76rem;
}

.emojMessage,
.attachMessage,
.sendMessageBtn{
	width: 42px;
	height: 42px;
	border-radius: 999px !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(74,50,96,.14);
	background: #fff;
	color: #6e547f;
}

.sendMessageBtn{
	background: linear-gradient(135deg, #7d73b3, #6e547f);
	color: #fff;
	border: 0;
}

#chat-v2-emoji-panel{
	position: absolute;
	left: 0;
	bottom: 48px;
	z-index: 20;
	display: none;
	flex-wrap: wrap;
	gap: 6px;
	width: 220px;
	padding: 10px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid rgba(74,50,96,.12);
	box-shadow: 0 18px 42px rgba(52,36,63,.16);
}

#chat-v2-emoji-panel span{
	cursor: pointer;
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
}

#chat-v2-emoji-panel span:hover{
	background: rgba(125,115,179,.10);
}

.vp-chatClientSidebar{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.vp-chatSideCard{
	border-radius: 22px;
	background: rgba(255,255,255,.92);
	border: 1px solid rgba(74,50,96,.10);
	box-shadow: 0 14px 36px rgba(52,36,63,.08);
	padding: 14px;
}

.vp-chatSideCard h6{
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	color: #4a3260;
	font-weight: 900;
}

.vp-chatSideStats,
.vp-chatSideList{
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 8px;
}

.vp-chatSideStats li,
.vp-chatSideList li{
	display: flex;
	align-items: center;
	gap: 9px;
	color: rgba(54,35,70,.76);
	font-size: .9rem;
}

.vp-chatSideStats li{
	justify-content: space-between;
}

.vp-chatSideStats span{
	margin-right: auto;
}

.vp-chatSideStats strong{
	color: #4a3260;
}

.vp-chatSideRechargeBtn,
.vp-chatSideLink,
.vp-chatRechargePack,
.vp-chatPrivateNoteSave,
.vp-chatConfirmBtn{
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #7d73b3, #6e547f);
	color: #fff;
	font-weight: 800;
	padding: 10px 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.vp-chatSideChips{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.vp-chatSideChips span{
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(125,115,179,.10);
	color: #4a3260;
	font-size: .8rem;
	font-weight: 800;
}

.vp-chatPrivateNotePanel,
.vp-chatRechargePanel{
	position: fixed;
	inset: 0;
	z-index: 1085;
	background: rgba(35,24,44,.42);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.vp-chatPrivateNoteInner,
.vp-chatRechargePanelInner,
.vp-chatConfirmModal{
	width: min(520px, 100%);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 28px 80px rgba(35,24,44,.26);
	padding: 18px;
}

.vp-chatPrivateNoteHeader,
.vp-chatRechargePanelHeader{
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.vp-chatPrivateNoteHeader strong,
.vp-chatRechargePanelHeader strong{
	color: #4a3260;
	font-weight: 900;
}

.vp-chatPrivateNoteTextarea{
	width: 100%;
	min-height: 130px;
	border-radius: 18px;
	border: 1px solid rgba(74,50,96,.14);
	padding: 12px;
	resize: vertical;
}

.vp-chatPrivateNoteFooter{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
}

#vpChatPrivateNoteStatus.is-success{
	color: #198754;
	font-weight: 800;
}

#vpChatPrivateNoteStatus.is-error{
	color: #dc3545;
	font-weight: 800;
}

.vp-chatConfirmOverlay{
	z-index: 1090;
}

.vp-chatConfirmBody{
	text-align: center;
}

.vp-chatConfirmTitle{
	color: #4a3260;
	font-weight: 900;
}

.vp-chatConfirmActions{
	display: grid;
	gap: 8px;
	margin-top: 16px;
}

.vp-chatConfirmBtn--secondary{
	background: #fff;
	color: #4a3260;
	border: 1px solid rgba(74,50,96,.14);
}

.vp-chatClientMobileNav,
.vp-chatMobileRechargeStatBtn,
.vp-chatMobileInfoToggle,
.vp-chatMobileInfoBackdrop,
.vp-chatMobileInfoClose{
	display: none;
}

@media (max-width: 991.98px){
	.vp-chatClientTopbar{
		grid-template-columns: 1fr;
	}

	.vp-chatClientLayout{
		grid-template-columns: 1fr;
	}

	.vp-chatClientTopStats,
	.vp-chatClientActions{
		flex-wrap: wrap;
	}

	.vp-chatClientSidebar{
		display: none;
	}

	.vp-chatMobileInfoToggle{
		display: flex;
		width: 100%;
		margin-top: 12px;
		border: 0;
		border-radius: 18px;
		background: rgba(125,115,179,.10);
		color: #4a3260;
		font-weight: 900;
		padding: 12px;
		align-items: center;
		justify-content: space-between;
	}

	.vp-chatClientSidebar.is-mobile-open{
		display: flex;
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 12px;
		z-index: 1090;
		max-height: 78vh;
		overflow-y: auto;
		padding: 12px;
		border-radius: 24px;
		background: #faf7ff;
		box-shadow: 0 26px 80px rgba(35,24,44,.28);
	}

	.vp-chatMobileInfoBackdrop{
		display: none;
		position: fixed;
		inset: 0;
		z-index: 1089;
		background: rgba(35,24,44,.42);
		border: 0;
	}

	.vp-chatMobileInfoBackdrop.is-open{
		display: block;
	}

	.vp-chatMobileInfoClose{
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 0;
		border-radius: 18px;
		background: #4a3260;
		color: #fff;
		font-weight: 900;
		padding: 12px;
	}

	.vp-chatClientPanels .messages{
		height: 56vh;
	}
}

/* =========================================================
   FIX MODALE CHAT CLIENT / BACKDROP BOOTSTRAP
   ========================================================= */

#myModalWindow.kdt-modal-host{
	z-index: 1065 !important;
}

.modal-backdrop{
	z-index: 1050 !important;
}

.vp-chatConfirmOverlay{
	position: fixed;
	inset: 0;
	z-index: 1090;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(35,24,44,.42);
}

.vp-chatConfirmOverlay[aria-hidden="true"]{
	display: none !important;
}

.vp-chatConfirmOverlay[aria-hidden="false"]{
	display: flex !important;
}

body.vp-chatConfirmIsOpen{
	overflow: hidden;
}

/* =========================================================
   CHAT PRIVÉ CLIENT — BULLES DE DISCUSSION KANDITEL
   ========================================================= */

#myModalWindow #chatPanels .messages{
	height: 420px;
	overflow-y: auto;
	list-style: none;
	margin: 0;
	padding: 8px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

#myModalWindow #chatPanels li.vp-liveMsg{
	display: flex !important;
	width: 100%;
	margin: 12px 0 !important;
	padding: 0 !important;
	clear: both;
	list-style: none;
}

#myModalWindow #chatPanels li.vp-liveMsg.self{
	justify-content: flex-end !important;
}

#myModalWindow #chatPanels li.vp-liveMsg.other{
	justify-content: flex-start !important;
}

#myModalWindow #chatPanels .vp-liveMsgBubble{
	display: block !important;
	max-width: 72%;
	min-width: 190px;
	padding: 12px 14px !important;
	border-radius: 18px;
	background: rgba(255,255,255,.94);
	border: 1px solid rgba(74,50,96,.12);
	box-shadow: 0 14px 28px rgba(52,36,63,.08);
	color: rgba(35,24,44,.92);
}

#myModalWindow #chatPanels li.vp-liveMsg.self .vp-liveMsgBubble{
	background: linear-gradient(135deg, #7d73b3, #6e547f);
	border-color: rgba(125,115,179,.35);
	color: #fff;
	border-bottom-right-radius: 7px;
}

#myModalWindow #chatPanels li.vp-liveMsg.other .vp-liveMsgBubble{
	background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,247,255,.94));
	border-color: rgba(74,50,96,.12);
	color: rgba(35,24,44,.92);
	border-bottom-left-radius: 7px;
}

#myModalWindow #chatPanels .vp-liveMsgMeta{
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 7px;
	font-size: .78rem;
	line-height: 1;
	font-weight: 850;
	color: rgba(74,50,96,.68);
}

#myModalWindow #chatPanels li.vp-liveMsg.self .vp-liveMsgMeta{
	color: rgba(255,255,255,.82);
}

#myModalWindow #chatPanels .vp-liveMsgAuthor,
#myModalWindow #chatPanels .vp-liveMsgTime{
	display: block;
	float: none !important;
	white-space: nowrap;
}

#myModalWindow #chatPanels .vp-liveMsgTime{
	font-size: .74rem;
	opacity: .72;
}

#myModalWindow #chatPanels .vp-liveMsgContent,
#myModalWindow #chatPanels .vp-liveMsgContent span{
	display: block;
	float: none !important;
}

#myModalWindow #chatPanels .vp-liveMsgContent{
	font-size: .98rem;
	line-height: 1.48;
	word-break: break-word;
}

#myModalWindow #chatPanels li.typing .vp-liveMsgBubble{
	opacity: .74;
	font-style: italic;
}

#myModalWindow #chatPanels li.log{
	align-self: center;
	width: auto;
	max-width: 86%;
	margin: 12px auto !important;
	padding: 0;
	list-style: none;
	text-align: center;
}

#myModalWindow #chatPanels li.log .timestamp{
	display: inline;
	color: rgba(74,50,96,.52);
	font-size: .76rem;
	font-weight: 800;
}

#myModalWindow #chatPanels li.log .log-msg{
	display: inline;
	color: rgba(74,50,96,.72);
	font-size: .86rem;
	font-weight: 750;
}

#myModalWindow #chatPanels li.log .text-danger{
	color: #dc3545 !important;
}

#myModalWindow #chatPanels .vp-chatSystemMsg{
	list-style: none;
	text-align: center;
	margin: 18px 0;
}

#myModalWindow #chatPanels .vp-chatSystemSeparator{
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	padding: 9px 16px;
	border-radius: 16px;
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(74,50,96,.08);
	box-shadow: 0 8px 22px rgba(52,36,63,.06);
	max-width: 90%;
}

#myModalWindow #chatPanels .vp-chatSystemTime{
	font-size: .74rem;
	font-weight: 800;
	color: rgba(74,50,96,.48);
}

#myModalWindow #chatPanels .vp-chatSystemText{
	font-size: .84rem;
	font-weight: 750;
	color: rgba(54,35,70,.66);
}

@media (max-width: 575.98px){
	#myModalWindow #chatPanels .vp-liveMsgBubble{
		max-width: 88%;
		min-width: 0;
	}

	#myModalWindow #chatPanels .vp-liveMsgMeta{
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
}

/* =========================================================
   CHAT PRIVÉ — FINITIONS POINT 1
   Avatar expert / messages système / emojis
   ========================================================= */

#myModalWindow #chatPanels .vp-liveMsgRow{
	display: flex;
	align-items: flex-end;
	gap: 8px;
	max-width: 82%;
	min-width: 0;
}

#myModalWindow #chatPanels .vp-liveMsgRow .vp-liveMsgBubble{
	max-width: calc(100% - 42px);
	min-width: 0;
}

#myModalWindow #chatPanels .vp-liveMsgAvatar{
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(125,115,179,.12);
	border: 2px solid rgba(255,255,255,.92);
	box-shadow: 0 8px 18px rgba(52,36,63,.12);
	color: #6e547f;
}

#myModalWindow #chatPanels .vp-liveMsgAvatarImg{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: inherit;
}

#myModalWindow #chatPanels .vp-liveMsgAvatar.is-fallback{
	font-size: .95rem;
}

#myModalWindow #chatPanels .vp-chatSystemSeparator{
	flex-direction: row;
	justify-content: center;
	gap: 8px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(250,247,255,.94);
	border-color: rgba(125,115,179,.14);
	box-shadow: none;
}

#myModalWindow #chatPanels .vp-chatSystemTime{
	padding-right: 8px;
	border-right: 1px solid rgba(74,50,96,.12);
	white-space: nowrap;
}

#myModalWindow #chatPanels .vp-chatSystemText{
	line-height: 1.35;
}

#chat-v2-emoji-panel{
	max-height: 220px;
	overflow-y: auto;
	align-content: flex-start;
	overscroll-behavior: contain;
}

#chat-v2-emoji-panel::-webkit-scrollbar{
	width: 7px;
}

#chat-v2-emoji-panel::-webkit-scrollbar-thumb{
	background: rgba(125,115,179,.28);
	border-radius: 999px;
}

@media (max-width: 575.98px){
	#myModalWindow #chatPanels .vp-liveMsgRow{
		max-width: 92%;
	}

	#myModalWindow #chatPanels .vp-chatSystemSeparator{
		max-width: 94%;
		flex-wrap: wrap;
		border-radius: 16px;
	}

	#myModalWindow #chatPanels .vp-chatSystemTime{
		border-right: 0;
		padding-right: 0;
	}
}

/* =========================================================
   CHAT CLIENT KANDITEL - COMPACT FINAL POINT 1
   ========================================================= */

.vp-chatClientPanels .page,
#myModalWindow #chatPanels .page{
	min-height: 0 !important;
}

.vp-chatClientPanels .messages,
#myModalWindow #chatPanels .messages{
	height: clamp(260px, 32vh, 320px) !important;
	min-height: 260px;
	overflow-y: auto;
	margin: 0;
	padding: 6px;
}

.vp-chatClientComposer{
	margin-top: 8px !important;
	align-items: center;
	gap: 7px;
}

.vp-chatClientInputWrap small{
	display: none;
}

/* Avatar expert dans les messages */

#myModalWindow #chatPanels .vp-liveMsgRow{
	display: flex;
	align-items: flex-end;
	gap: 8px;
	max-width: 82%;
	min-width: 0;
}

#myModalWindow #chatPanels .vp-liveMsgRow .vp-liveMsgBubble{
	max-width: calc(100% - 42px);
	min-width: 0;
}

#myModalWindow #chatPanels .vp-liveMsgAvatar{
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(125,115,179,.12);
	border: 2px solid rgba(255,255,255,.92);
	box-shadow: 0 8px 18px rgba(52,36,63,.12);
	color: #6e547f;
}

#myModalWindow #chatPanels .vp-liveMsgAvatarImg{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: inherit;
}

#myModalWindow #chatPanels .vp-liveMsgAvatar.is-fallback{
	font-size: .95rem;
}

/* Messages système */

#myModalWindow #chatPanels .vp-chatSystemSeparator{
	flex-direction: row;
	justify-content: center;
	gap: 8px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(250,247,255,.94);
	border-color: rgba(125,115,179,.14);
	box-shadow: none;
}

#myModalWindow #chatPanels .vp-chatSystemTime{
	padding-right: 8px;
	border-right: 1px solid rgba(74,50,96,.12);
	white-space: nowrap;
}

#myModalWindow #chatPanels .vp-chatSystemText{
	line-height: 1.35;
}

/* Emojis */

#chat-v2-emoji-panel{
	max-height: 220px;
	overflow-y: auto;
	align-content: flex-start;
	overscroll-behavior: contain;
}

/* Tablette */

@media (max-width: 991.98px){

	.vp-chatClientPanels .messages,
	#myModalWindow #chatPanels .messages{
		height: clamp(230px, 34vh, 300px) !important;
		min-height: 230px;
	}
}

/* Mobile */

@media (max-width: 575.98px){

	.vp-chatClientTopbar{
		padding: 10px 12px;
		gap: 8px;
	}

	.vp-chatClientAvatarWrap{
		width: 48px;
		height: 48px;
		padding: 3px;
	}

	.vp-chatClientSpecialites{
		display: none !important;
	}

	.vp-chatEndBtn{
		padding: 6px 9px;
		font-size: .76rem;
		line-height: 1.05;
	}

	.vp-chatClientBody{
		padding: 10px;
	}

	.vp-chatClientConversation{
		padding: 10px;
		border-radius: 18px;
	}

	.vp-chatClientPanels .messages,
	#myModalWindow #chatPanels .messages{
		height: clamp(220px, 34vh, 280px) !important;
		min-height: 220px;
		padding: 4px;
	}

	.vp-chatClientComposer{
		margin-top: 6px !important;
		gap: 6px;
	}

	#chat-v2-attach-btn{
		display: none !important;
	}

	.vp-chatMobileInfoToggle{
		margin-top: 6px;
		padding: 9px 11px;
	}

	#myModalWindow #chatPanels .vp-liveMsgRow{
		max-width: 92%;
	}

	#myModalWindow #chatPanels .vp-chatSystemSeparator{
		max-width: 94%;
		flex-wrap: wrap;
		border-radius: 16px;
	}

	#myModalWindow #chatPanels .vp-chatSystemTime{
		border-right: 0;
		padding-right: 0;
	}
}

.expert-pill.kdt-live-consultation-disabled {
    opacity: .48;
    pointer-events: none;
    cursor: default;
    filter: grayscale(.2);
}

/* =========================================================
   CHAT CLIENT KANDITEL — AJUSTEMENT DESKTOP COMPACT
   ========================================================= */

@media (min-width: 992px) {

	/*
	 * Modale volontairement moins haute que le viewport.
	 * Sur un écran suffisamment haut, on plafonne à 820 px.
	 */
	#myModalWindow .vp-chatClientDialog{
		width: min(1180px, calc(100vw - 40px));
		max-width: min(1180px, calc(100vw - 40px));
		height: min(820px, calc(100vh - 40px));
		min-height: 0 !important;
		margin: 20px auto;
	}

	/*
	 * La modale devient un vrai conteneur vertical :
	 * topbar fixe + body qui occupe le reste.
	 */
	#myModalWindow .vp-chatClientModal{
		height: 100%;
		max-height: 100%;
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	/*
	 * Topbar légèrement compactée sur desktop.
	 */
	#myModalWindow .vp-chatClientTopbar{
		flex: 0 0 auto;
		padding: 12px 16px;
		gap: 14px;
	}

	#myModalWindow .vp-chatClientAvatarWrap{
		width: 58px;
		height: 58px;
	}

	#myModalWindow .vp-chatClientRate,
	#myModalWindow .vp-chatClientCreditBox{
		padding: 8px 10px;
		gap: 10px;
	}

	#myModalWindow .vp-chatRechargeBtn,
	#myModalWindow .vp-chatEndBtn{
		padding: 8px 11px;
	}

	/*
	 * Le body récupère exactement la hauteur restante
	 * sous la topbar.
	 */
	#myModalWindow .vp-chatClientBody{
		flex: 1 1 auto;
		min-height: 0;
		overflow: hidden;
		padding: 12px;
	}

	/*
	 * Les deux colonnes occupent la hauteur disponible,
	 * sans que la sidebar puisse agrandir toute la modale.
	 */
	#myModalWindow .vp-chatClientLayout{
		height: 100%;
		min-height: 0;
		grid-template-columns: minmax(0, 1fr) 290px;
		gap: 12px;
		align-items: stretch;
	}

	/*
	 * La conversation devient un flex vertical :
	 * bandeaux en haut, chat extensible, composer en bas.
	 */
	#myModalWindow .vp-chatClientConversation{
		display: flex;
		flex-direction: column;
		min-width: 0;
		min-height: 0;
		padding: 12px;
	}

	#myModalWindow .vp-chatClientReady{
		flex: 0 0 auto;
		margin-bottom: 8px;
		padding: 8px 10px;
	}

	#myModalWindow .vp-chatClientFreeMessages{
		flex: 0 0 auto;
		margin-bottom: 8px;
		padding: 10px;
	}

	/*
	 * Toute la zone de chat devient extensible.
	 */
	#myModalWindow #chat-zone{
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
	}

	#myModalWindow .vp-chatClientPanels{
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
	}

	#myModalWindow .vp-chatClientPanels .page,
	#myModalWindow #chatPanels .page{
		flex: 1 1 auto;
		min-height: 0 !important;
		display: flex;
		flex-direction: column;
	}

	/*
	 * La zone créée dynamiquement par chat-expert-browser.js
	 * prend toute la hauteur disponible.
	 *
	 * Pas de display:flex ici : jQuery pilote display:block/none
	 * lors des changements de salon.
	 */
	#myModalWindow #chatPanels .area{
		flex: 1 1 auto;
		height: 100%;
		min-height: 0;
		overflow: hidden;
	}

	/*
	 * IMPORTANT :
	 * on annule enfin les anciennes hauteurs fixes
	 * 420px puis clamp(260px, 32vh, 320px).
	 */
	#myModalWindow .vp-chatClientPanels .messages,
	#myModalWindow #chatPanels .messages{
		height: 100% !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow-y: auto;
	}

	/*
	 * Le composer reste désormais naturellement
	 * collé au bas de la conversation.
	 */
	#myModalWindow .vp-chatClientComposer{
		flex: 0 0 auto;
		margin-top: 8px !important;
	}

	/*
	 * Sidebar un peu plus compacte pour faire tenir
	 * l'ensemble confortablement sur desktop.
	 */
	#myModalWindow .vp-chatClientSidebar{
		height: 100%;
		min-height: 0;
		gap: 8px;
		overflow-y: auto;
		padding-right: 2px;
		scrollbar-width: thin;
	}

	#myModalWindow .vp-chatSideCard{
		flex: 0 0 auto;
		padding: 10px 12px;
		border-radius: 18px;
	}

	#myModalWindow .vp-chatSideCard h6{
		margin-bottom: 6px;
		font-size: .95rem;
	}

	#myModalWindow .vp-chatSideStats,
	#myModalWindow .vp-chatSideList{
		gap: 5px;
	}

	#myModalWindow .vp-chatSideStats li,
	#myModalWindow .vp-chatSideList li{
		font-size: .82rem;
		line-height: 1.25;
		gap: 7px;
	}

	#myModalWindow .vp-chatSideCard p{
		margin: 0 0 8px;
		font-size: .86rem;
		line-height: 1.35;
	}

	#myModalWindow .vp-chatSideRating{
		margin-bottom: 8px;
		font-size: .86rem;
	}

	#myModalWindow .vp-chatSideChips{
		gap: 4px;
		margin-bottom: 8px;
	}

	#myModalWindow .vp-chatSideChips span{
		padding: 4px 7px;
		font-size: .74rem;
	}

	#myModalWindow .vp-chatSideRechargeBtn,
	#myModalWindow .vp-chatSideLink{
		padding: 8px 12px;
	}

}

/* =========================================================
   CHAT CLIENT KANDITEL — SIDEBAR DESKTOP
   ========================================================= */

@media (min-width: 992px) {

	/*
	 * Un peu plus d'espace pour les informations
	 * de consultation sans agrandir la modale.
	 */
	#myModalWindow .vp-chatClientLayout{
		grid-template-columns: minmax(0, 1fr) 315px;
	}

	/*
	 * La première carte mérite davantage de respiration
	 * que les cartes éditoriales situées dessous.
	 */
	#myModalWindow .vp-chatSideCard--consult{
		padding: 14px;
	}

	#myModalWindow .vp-chatSideCard--consult h6{
		margin-bottom: 10px;
	}

	#myModalWindow .vp-chatSideCard--consult .vp-chatSideStats{
		gap: 8px;
	}

	/*
	 * Mise en grille régulière :
	 * icône | libellé | valeur
	 */
	#myModalWindow .vp-chatSideCard--consult .vp-chatSideStats li{
		display: grid;
		grid-template-columns: 18px minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 8px;
		row-gap: 2px;
		font-size: .84rem;
		line-height: 1.3;
	}

	#myModalWindow .vp-chatSideCard--consult .vp-chatSideStats li > i{
		width: 18px;
		text-align: center;
	}

	#myModalWindow .vp-chatSideCard--consult .vp-chatSideStats li > span{
		margin-right: 0;
		min-width: 0;
	}

	#myModalWindow .vp-chatSideCard--consult .vp-chatSideStats li > strong{
		text-align: right;
		white-space: nowrap;
	}

	/*
	 * Le CTA devient une vraie action de la carte,
	 * plutôt qu'un petit bouton coincé sous les chiffres.
	 */
	#myModalWindow .vp-chatSideCard--consult .vp-chatSideRechargeBtn{
		width: 100%;
		min-height: 42px;
		margin-top: 12px;
		padding: 9px 14px;
	}
}

/* =========================================================
   CHAT CLIENT KANDITEL — RECHARGE EN CONSULTATION
   ========================================================= */

.vp-chatRechargePanelHeader > div{
	min-width: 0;
}

.vp-chatRechargePanelHeader span{
	display: block;
	margin-top: 5px;
	color: rgba(54,35,70,.68);
	font-size: .88rem;
	line-height: 1.4;
}

.vp-chatRechargePanelClose{
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: rgba(125,115,179,.10);
	color: #4a3260;
	cursor: pointer;
}

.vp-chatRechargePacks{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.vp-chatRechargePack{
	width: 100%;
	min-width: 0;
	justify-content: space-between;
	cursor: pointer;
}

.vp-chatRechargePack span{
	min-width: 0;
	text-align: left;
}

.vp-chatRechargePack strong{
	flex: 0 0 auto;
	white-space: nowrap;
}

.vp-chatRechargeStatus{
	min-height: 20px;
	margin-top: 10px;
	font-size: .84rem;
	font-weight: 700;
	color: rgba(54,35,70,.68);
}

.vp-chatRechargeStatus.is-error{
	color: #b02a37;
}

@media (max-width: 575.98px){

	.vp-chatRechargePacks{
		grid-template-columns: 1fr;
	}

}

/* =========================================================
   CHAT CLIENT KANDITEL — PRIORITÉ RECHARGE MOBILE
   ========================================================= */

@media (max-width: 991.98px) {

	/*
	 * Le panneau de recharge doit toujours passer au-dessus
	 * du drawer "Informations sur la consultation".
	 *
	 * Drawer infos :
	 * backdrop = 1089
	 * panneau   = 1090
	 */
	#myModalWindow .vp-chatRechargePanel{
		z-index: 1110 !important;
	}

	#myModalWindow .vp-chatRechargePanelInner{
		position: relative;
		z-index: 1;
	}
}

/* =========================================================
   CHAT CLIENT KANDITEL — CRÉDIT FAIBLE / GRÂCE DE RECHARGE
   ========================================================= */

#myModalWindow .kdt-chatCreditAlert{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px 0;
	padding: 12px 14px;
	border-radius: 18px;
	border: 1px solid rgba(125,115,179,.22);
	background: rgba(251,239,255,.96);
	box-shadow: 0 10px 26px rgba(52,36,63,.08);
	color: #4a3260;
}

#myModalWindow .kdt-chatCreditAlert__icon{
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(125,115,179,.13);
	color: #4a3260;
	font-size: 1.05rem;
}

#myModalWindow .kdt-chatCreditAlert__content{
	min-width: 0;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

#myModalWindow .kdt-chatCreditAlert__content strong{
	font-size: .92rem;
	line-height: 1.25;
	font-weight: 900;
	color: #4a3260;
}

#myModalWindow .kdt-chatCreditAlert__content span{
	font-size: .82rem;
	line-height: 1.4;
	font-weight: 650;
	color: rgba(54,35,70,.72);
}

#myModalWindow .kdt-chatCreditAlert__button{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 38px;
	padding: 8px 13px;
	border: 0;
	border-radius: 999px;
	background: #4a3260;
	color: #fff;
	font-size: .82rem;
	font-weight: 850;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 8px 18px rgba(74,50,96,.18);
}

#myModalWindow .kdt-chatCreditAlert__button:hover,
#myModalWindow .kdt-chatCreditAlert__button:focus{
	background: #5f4378;
	color: #fff;
}

#myModalWindow .kdt-chatCreditAlert.is-low{
	background: #fff8e8;
	border-color: rgba(210,171,94,.48);
}

#myModalWindow .kdt-chatCreditAlert.is-low .kdt-chatCreditAlert__icon{
	background: rgba(210,171,94,.17);
	color: #8b6421;
}

#myModalWindow .kdt-chatCreditAlert.is-grace{
	background: #fff1f3;
	border-color: rgba(176,42,55,.25);
}

#myModalWindow .kdt-chatCreditAlert.is-grace .kdt-chatCreditAlert__icon{
	background: rgba(176,42,55,.10);
	color: #b02a37;
}

#myModalWindow .kdt-chatCreditAlert.is-success{
	background: #f1f8f3;
	border-color: rgba(46,125,73,.22);
}

#myModalWindow .kdt-chatCreditAlert.is-success .kdt-chatCreditAlert__icon{
	background: rgba(46,125,73,.10);
	color: #2e7d49;
}

#myModalWindow #chatPanels.is-credit-paused .vp-chatClientComposer{
	opacity: .58;
}

#myModalWindow #chatPanels.is-credit-paused .inputMessage,
#myModalWindow #chatPanels.is-credit-paused .sendMessageBtn,
#myModalWindow #chatPanels.is-credit-paused .emojMessage,
#myModalWindow #chatPanels.is-credit-paused .attachMessage{
	cursor: not-allowed;
}

@media (max-width: 767.98px){

	#myModalWindow .kdt-chatCreditAlert{
		align-items: flex-start;
		flex-wrap: wrap;
	}

	#myModalWindow .kdt-chatCreditAlert__content{
		flex: 1 1 calc(100% - 52px);
	}

	#myModalWindow .kdt-chatCreditAlert__button{
		width: 100%;
	}

}

/* =========================================================
   CHAT CLIENT KANDITEL — TYPING EXPERT COMPACT
   ========================================================= */

/*
 * L'avatar affiché uniquement pendant
 * "X est en train de rédiger sa réponse"
 * doit rester très discret.
 */
#myModalWindow #chatPanels li.vp-liveMsg--typingPremium .vp-typingAvatarWrap{
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	overflow: hidden;
	border-radius: 999px;
}

#myModalWindow #chatPanels li.vp-liveMsg--typingPremium .vp-typingAvatar{
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	max-width: 28px !important;
	max-height: 28px !important;

	display: block;
	object-fit: cover;
	border-radius: 999px;

	border: 2px solid rgba(255,255,255,.94);
	box-shadow: 0 5px 12px rgba(52,36,63,.12);
}

/*
 * Même encombrement pour le fallback
 * si l'expert n'a pas de photo.
 */
#myModalWindow #chatPanels li.vp-liveMsg--typingPremium .vp-typingAvatar--empty{
	display: inline-flex;
	align-items: center;
	justify-content: center;

	font-size: .72rem;
	color: #6e547f;
	background: rgba(125,115,179,.12);
}

/*
 * On resserre légèrement le composant complet.
 */
#myModalWindow #chatPanels li.vp-liveMsg--typingPremium .vp-typingPremium{
	gap: 8px;
	padding: 8px 12px 8px 8px;
}

#myModalWindow #chatPanels li.vp-liveMsg--typingPremium .vp-typingText{
	font-size: .84rem;
	line-height: 1.25;
}












