/* ===========================================================
   Danz Builder : Frontend & preview-mode CSS.
   Breakpoints :
     - mobile  : ≤ 767px
     - tablet  : 768px → 1024px
     - desktop : ≥ 1025px
   =========================================================== */

/* === Spacer responsive ================================================== */
@media (max-width: 1024px) { .danz-spacer { height: var(--db-spacer-tab, inherit) !important; } }
@media (max-width: 767px)  { .danz-spacer { height: var(--db-spacer-mob, inherit) !important; } }

/* === Visibility utilities (per device) =================================== */
@media (max-width: 767px) {
	.danz-hide-mobile { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.danz-hide-tablet { display: none !important; }
}
@media (min-width: 1025px) {
	.danz-hide-desktop { display: none !important; }
}

/* === Columns ============================================================= */

/* Largeurs preservées par défaut (controls définissent grid-template-columns inline). */
.danz-columns { display: grid; min-width: 0; }
.danz-columns > .danz-columns__col { min-width: 0; }

/* --- Stack on tablet (default) and mobile --- */
@media (max-width: 1024px) {
	.danz-columns--stack-tablet {
		grid-template-columns: 1fr !important;
		gap: var(--db-cols-gap-tab, 20px) !important;
	}
}
@media (max-width: 767px) {
	.danz-columns--stack-mobile,
	.danz-columns--stack-tablet {
		grid-template-columns: 1fr !important;
		gap: var(--db-cols-gap-mob, 16px) !important;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.danz-columns--stack-mobile { gap: var(--db-cols-gap-tab, 20px) !important; }
}

/* --- Reverse stack order --- */
@media (max-width: 767px) {
	.danz-columns--stack-mobile.is-reverse-stack > .danz-columns__col,
	.danz-columns--stack-tablet.is-reverse-stack > .danz-columns__col {
		order: calc(-1 * var(--db-col-i, 0));
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.danz-columns--stack-tablet.is-reverse-stack > .danz-columns__col {
		order: calc(-1 * var(--db-col-i, 0));
	}
}

/* === Section container helper ============================================ */
.danz-section--boxed .danz-section__inner { padding: 0 24px; }
@media (max-width: 768px) {
	.danz-section--boxed .danz-section__inner { padding: 0 16px; }
}

/* === Buttons hover ====================================================== */
.danz-builder-content .danz-btn {
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease, filter .15s ease;
}
.danz-builder-content .danz-btn:hover { filter: brightness(.96); }

/* === Studio widget wrappers ============================================= */
/* v1.4.3 : Le réglage BO « largeur du planning » (90/95/100vw + marges
   négatives calc(50% - Nvw)) fait éclater le contenu HORS du wrapper du
   widget quand le thème contraint la largeur (ex. danz-theme ~1232px) :
   les panneaux débordaient du fond dégradé sur grand écran. Dans le
   builder, c'est le widget qui gouverne la largeur. */
.danz-studio-widget .danz-fe-planning[data-width] {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.danz-studio-widget { width: 100%; }
.danz-studio-widget--danz-horaire,
.danz-studio-widget--danz-prof-fiches {
	max-width: 100%;
}

/* Variables locales par widget : overridées via inline `--ds-*`. */
.danz-studio-widget {
	--ds-accent: var(--danz-color-primary, #6366f1);
	--ds-bg:     var(--danz-color-surface, #ffffff);
	--ds-text:   var(--danz-color-text, #0f172a);
	--ds-border: var(--danz-color-border, #e5e7eb);
	--ds-radius: 12px;
	--ds-pad:    20px;
}

/* ===========================================================
   PLANNING : designs (sélecteurs larges [class*="planning"]
   conservés pour le CONTENU uniquement).
   v1.3.4 : fin du sélecteur piège [class*="filter"] : il matchait
   aussi __filter, __filter-label, __filter-select, __filters-inner
   et __filters-actions, et créait des « boîtes dans des boîtes »
   collées (bug réel constaté). Les filtres sont désormais ciblés
   par classes EXACTES : .danz-fe-planning__filters (panneau),
   .danz-fe-planning__filter-select (champs),
   .danz-fe-planning__filter-label (labels).
   =========================================================== */

/* default : pas d'override d'identité : seuls les correctifs communs
   ci-dessous (aération, badge « Terminé », navigation) s'appliquent. */

/* -----------------------------------------------------------
   v1.3.4 : CORRECTIFS COMMUNS (tous les designs)
   ----------------------------------------------------------- */

/* Navigation : le thème du site (ex. Astra) souligne les liens :
   les boutons de navigation ne sont JAMAIS soulignés, quel que
   soit l'état. */
.danz-studio-widget--danz-horaire .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire .danz-fe-planning__nav-btn:hover,
.danz-studio-widget--danz-horaire .danz-fe-planning__nav-btn:focus,
.danz-studio-widget--danz-horaire .danz-fe-planning__nav-btn:focus-visible,
.danz-studio-widget--danz-horaire .danz-fe-planning__nav-btn:active {
	text-decoration: none !important;
}

/* AÉRATION (plainte n°1) : planchers communs.
   Panneau de filtres ≥ 16px 18px, gap ≥ 12px entre filtres. */
.danz-studio-widget--danz-horaire .danz-fe-planning__filters {
	padding: 16px 18px !important;
}
.danz-studio-widget--danz-horaire .danz-fe-planning__filters-inner {
	gap: 12px !important;
}
/* Labels de filtres (STYLE / NIVEAU / STUDIO) : détachés du champ
   (margin-bottom ≥ 6px), jamais encadrés ni remplis : c'était la
   source des « boîtes dans des boîtes ». */
.danz-studio-widget--danz-horaire .danz-fe-planning__filter-label {
	display: inline-block;
	margin: 0 0 6px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	line-height: 1.4;
}
/* Selects : confort de lecture et cible tactile. */
.danz-studio-widget--danz-horaire .danz-fe-planning__filter-select {
	padding: 10px 12px !important;
	min-height: 44px !important;
}
/* Cartes : padding plancher (aération). */
.danz-studio-widget--danz-horaire .danz-fe-planning__card,
.danz-studio-widget--danz-horaire .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire .danz-fe-planning__wrooms-card {
	padding: 16px !important;
}
.danz-studio-widget--danz-horaire .danz-fe-planning__week-card {
	padding: 14px !important;
}
/* Badge « Terminé » (::after, position:absolute top:4px right:4px) :
   les cartes passées réservent la place en haut à droite : le badge
   ne chevauche JAMAIS le titre, quel que soit le design. */
.danz-studio-widget--danz-horaire .danz-fe-planning__card.is-past,
.danz-studio-widget--danz-horaire .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire .danz-fe-planning__wrooms-card.is-past {
	padding-top: 30px !important;
}

/* CARDS : transforme chaque ligne du planning en carte colorée avec accent.
   v1.3.4 : thead exclu (tbody tr) : la ligne d'en-têtes n'est plus
   transformée en carte. */
.danz-studio-widget--danz-horaire.danz-design--cards [class*="planning"] tbody tr,
.danz-studio-widget--danz-horaire.danz-design--cards [class*="planning"] li,
.danz-studio-widget--danz-horaire.danz-design--cards [class*="planning"] [role="row"]:not(:first-child),
.danz-studio-widget--danz-horaire.danz-design--cards .danz-fe-planning__row,
.danz-studio-widget--danz-horaire.danz-design--cards .danz-planning__row,
.danz-studio-widget--danz-horaire.danz-design--cards .danz-planning-item,
.danz-studio-widget--danz-horaire.danz-design--cards .danz-fe-empty-state {
	/* Fond OPAQUE apparié (règle d'or) : le site peut être sombre. */
	background: linear-gradient(135deg, #eef2ff, #fdf2f8) !important;
	color: #1e293b !important;
	border-left: 4px solid var(--ds-accent, var(--danz-color-primary, #6366f1)) !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	margin-bottom: 12px !important;
	box-shadow: 0 2px 12px rgba(15,23,42,.06) !important;
	display: block !important;
	transition: transform .15s, box-shadow .15s !important;
}
.danz-studio-widget--danz-horaire.danz-design--cards [class*="planning"] tbody tr:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(99,102,241,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cards [class*="planning"] table {
	border-collapse: separate !important;
	border-spacing: 0 12px !important;
}

/* v1.3.4 : vue SEMAINE lisible en cartes (plainte réelle : « impossible
   d'associer les jours aux cours ») : chaque cellule affiche son jour,
   les cellules vides disparaissent, l'heure reste un titre de groupe. */

/* La ligne d'en-têtes de la grille semaine devient inutile (le jour est
   répété sur chaque cellule) : masquée, jamais transformée en carte. */
.danz-studio-widget--danz-horaire.danz-design--cards .danz-fe-planning__week-table thead {
	display: none !important;
}
/* L'heure (th) = titre du groupe de cartes, bien visible. */
.danz-studio-widget--danz-horaire.danz-design--cards th.danz-fe-planning__week-time {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	background: transparent !important;
	/* Encre explicite : la carte-ligne est claire et opaque. */
	color: #1e293b !important;
	border: 0 !important;
	padding: 0 0 10px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}
/* Les cellules de cours s'empilent, chacune étiquetée par son jour
   (petites majuscules, couleur accent) via l'attribut data-day. */
.danz-studio-widget--danz-horaire.danz-design--cards td.danz-fe-planning__week-cell {
	display: block !important;
	width: 100% !important;
	padding: 8px 0 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--cards td.danz-fe-planning__week-cell::before {
	content: attr(data-day);
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--ds-accent, var(--danz-color-primary, #6366f1));
	/* Assombri vers l'encre : lisible sur la carte claire même si
	   l'accent choisi est pâle. */
	color: color-mix(in srgb, var(--ds-accent, #6366f1) 65%, #1e293b);
}
/* Cellules vides : masquées quand :has est supporté (règle isolée pour
   ne pas invalider le reste sur vieux navigateurs)… */
.danz-studio-widget--danz-horaire.danz-design--cards td.danz-fe-planning__week-cell:has(> .danz-fe-planning__week-empty:only-child) {
	display: none !important;
}
/* …fallback sans :has : le tiret reste, discret. */
.danz-studio-widget--danz-horaire.danz-design--cards .danz-fe-planning__week-empty {
	display: inline-block;
	opacity: .35;
	font-size: 12px;
}

/* MINIMAL : épuré, sans fond, séparateurs fins. */
/* v1.4.1 : RÈGLE D'OR : « minimal » ne peut pas compter sur le fond de la
   page (site sombre = texte encre invisible). Le skin pose sa propre feuille
   claire appariée ; l'esprit épuré est conservé (fond plat, filets fins). */
.danz-studio-widget--danz-horaire.danz-design--minimal {
	background: var(--ds-bg, #ffffff) !important;
	color: var(--ds-text, #1f2937) !important;
	padding: 24px !important;
	border-radius: var(--ds-radius, 12px);
}
.danz-studio-widget--danz-horaire.danz-design--minimal .danz-fe-planning__filter-label {
	color: var(--ds-text, #374151) !important;
	opacity: .8;
}
.danz-studio-widget--danz-horaire.danz-design--minimal .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-design--minimal .danz-fe-planning__nav-range {
	color: var(--ds-text, #1f2937) !important;
}
.danz-studio-widget--danz-horaire.danz-design--minimal [class*="planning"] tr,
.danz-studio-widget--danz-horaire.danz-design--minimal [class*="planning"] li,
.danz-studio-widget--danz-horaire.danz-design--minimal table tr {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	padding: 14px 4px !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
/* v1.3.4 : panneau ciblé par classe exacte (fini [class*="filter"]) ;
   le padding vient du plancher commun (16px 18px). */
.danz-studio-widget--danz-horaire.danz-design--minimal .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--minimal .danz-fe-filters {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--minimal .danz-fe-planning__filter-select {
	background: transparent !important;
	color: inherit !important;
	border: 1px solid rgba(0,0,0,.18) !important;
	border-radius: 8px !important;
}

/* DARK : fond sombre élégant avec accents néon. */
.danz-studio-widget--danz-horaire.danz-design--dark {
	background: var(--ds-dark-bg, #0a0a0a) !important;
	color: var(--ds-dark-text, #f1f5f9) !important;
	padding: 24px !important;
	border-radius: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-design--dark *:not(.button):not(button):not(a) {
	color: inherit !important;
	background-color: transparent !important;
}
/* v1.3.4 : panneau ciblé par classe exacte (fini [class*="filter"]). */
.danz-studio-widget--danz-horaire.danz-design--dark .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--dark .danz-fe-filters {
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	border-radius: 12px !important;
}
.danz-studio-widget--danz-horaire.danz-design--dark [class*="planning"] tr {
	border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.danz-studio-widget--danz-horaire.danz-design--dark select,
.danz-studio-widget--danz-horaire.danz-design--dark input[type="text"] {
	background: rgba(255,255,255,.06) !important;
	color: #f1f5f9 !important;
	border: 1px solid rgba(255,255,255,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-design--dark .button,
.danz-studio-widget--danz-horaire.danz-design--dark button[type="submit"],
.danz-studio-widget--danz-horaire.danz-design--dark .danz-fe-btn--primary {
	/* v1.4.1 : stops assombris : blanc lisible sur tout le dégradé (≥5.5:1). */
	background: linear-gradient(135deg, #4338ca, #9d174d) !important;
	color: #fff !important;
	border: 0 !important;
}

/* COMPACT : très dense, lignes serrées.
   v1.3.4 : l'ancien [class*="filter"] { padding:12px } est supprimé :
   le panneau de filtres suit le plancher commun (16px 18px), la
   densité reste sur les lignes/cellules du planning. */
.danz-studio-widget--danz-horaire.danz-design--compact [class*="planning"] table td,
.danz-studio-widget--danz-horaire.danz-design--compact [class*="planning"] table th {
	padding: 6px 8px !important;
	font-size: .85em !important;
}
.danz-studio-widget--danz-horaire.danz-design--compact [class*="planning"] tr {
	padding: 6px 8px !important;
}

/* PASTEL (v1.3.2) : douceur rosée : chaque fond est apparié à sa couleur
   de texte, lisible sur site clair OU sombre (design autonome). */
.danz-studio-widget--danz-horaire.danz-design--pastel {
	background: var(--ds-pastel-bg, linear-gradient(160deg, #fdf2f8, #fce7f3)) !important;
	color: var(--ds-pastel-text, #831843) !important;
	padding: 16px !important;
	border-radius: 20px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--pastel { padding: 26px !important; }
}
/* v1.3.4 : panneau ciblé par classe exacte (fini [class*="filter"]). */
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #831843 !important;
	border: 1px solid #fbcfe8 !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__filter-label { color: #9d174d !important; }
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #831843 !important;
	border: 1px solid #f9a8d4 !important;
	border-radius: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__nav-center strong { color: #831843 !important; }
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__nav-range { color: #9d174d !important; }
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__nav-btn {
	background: #fdf2f8 !important;
	color: #831843 !important;
	border: 1px solid #f9a8d4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--pastel [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #831843 !important;
	border-radius: 16px !important;
	overflow: hidden;
}
.danz-studio-widget--danz-horaire.danz-design--pastel [class*="planning"] th {
	background: #831843 !important;
	color: #fdf2f8 !important;
}
.danz-studio-widget--danz-horaire.danz-design--pastel [class*="planning"] td { color: #831843 !important; }
.danz-studio-widget--danz-horaire.danz-design--pastel .button,
.danz-studio-widget--danz-horaire.danz-design--pastel button[type="submit"],
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-btn--primary {
	background: #db2777 !important;
	color: #ffffff !important;
	border: 0 !important;
}

/* VERRE DÉPOLI (v1.3.2) : glassmorphism sombre : fond dégradé profond
   garanti (lisible même sans support de backdrop-filter). */
.danz-studio-widget--danz-horaire.danz-design--glass {
	/* v1.3.3 : fond personnalisable (contrôles « Fond du style Verre dépoli »),
	   texte auto-apparié par luminance côté widget. */
	background: var(--ds-glass-bg, linear-gradient(150deg, #1e1b4b 0%, #4c1d95 55%, #831843 100%)) !important;
	color: var(--ds-glass-text, #f5f3ff) !important;
	padding: 16px !important;
	border-radius: 22px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--glass { padding: 28px !important; }
}
/* v1.3.4 : panneau ciblé par classe exacte (fini [class*="filter"]). */
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-design--glass [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__week-wrap {
	background: rgba(255,255,255,.10) !important;
	color: #f5f3ff !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	border-radius: 16px !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__filter-label,
.danz-studio-widget--danz-horaire.danz-design--glass [class*="planning"] th,
.danz-studio-widget--danz-horaire.danz-design--glass [class*="planning"] td { color: var(--ds-glass-text, #f5f3ff) !important; }
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__nav-range { color: #ddd6fe !important; }
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__nav-btn {
	background: rgba(255,255,255,.16) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,.35) !important;
}
.danz-studio-widget--danz-horaire.danz-design--glass select,
.danz-studio-widget--danz-horaire.danz-design--glass input[type="text"] {
	background: rgba(255,255,255,.92) !important;
	color: #1e1b4b !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--glass .button,
.danz-studio-widget--danz-horaire.danz-design--glass button[type="submit"],
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-btn--primary {
	background: #ffffff !important;
	color: #4c1d95 !important;
	border: 0 !important;
}

/* AFFICHE N&B (v1.3.2) : poster contrasté noir/blanc, accents jaunes,
   typographies majuscules : contraste maximal (AAA). */
.danz-studio-widget--danz-horaire.danz-design--poster {
	background: var(--ds-poster-bg, #ffffff) !important;
	color: var(--ds-poster-text, #111111) !important;
	padding: 16px !important;
	border: 3px solid #111111 !important;
	border-radius: 0 !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--poster { padding: 28px !important; }
}
/* v1.3.4 : panneau ciblé par classe exacte (fini [class*="filter"]). */
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__filter-label {
	color: #111111 !important;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__nav-center strong {
	color: #111111 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__nav-btn {
	background: #111111 !important;
	color: #ffffff !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	text-transform: uppercase;
	font-size: 12px !important;
	letter-spacing: .05em;
}
.danz-studio-widget--danz-horaire.danz-design--poster [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--poster [class*="planning"] th {
	background: #111111 !important;
	color: #ffffff !important;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.danz-studio-widget--danz-horaire.danz-design--poster [class*="planning"] td { color: #111111 !important; }
.danz-studio-widget--danz-horaire.danz-design--poster .button,
.danz-studio-widget--danz-horaire.danz-design--poster button[type="submit"],
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-btn--primary {
	background: #fde047 !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	font-weight: 800 !important;
}

/* v1.2.13 : plus de fond forcé : l'aperçu montre l'apparence réelle du site (sombre ou clair). */
body.danz-preview-mode .danz-skip-link { display: none; }

[data-db-id] { transition: outline-color .12s ease, box-shadow .12s ease; }


/* ===========================================================
   v1.3.3 : ÉTATS DES BOUTONS (hover / focus / actif) APPARIÉS
   Le thème du site (ex. Astra) ne doit JAMAIS pouvoir rendre un
   bouton illisible au survol : chaque design fixe explicitement
   fond ET texte pour chaque état.
   =========================================================== */

/* Base (tous designs) : focus clavier toujours visible. */
.danz-studio-widget .danz-fe-btn:focus-visible,
.danz-studio-widget button:focus-visible,
.danz-studio-widget .button:focus-visible,
.danz-studio-widget [class*="card-btn"]:focus-visible {
	outline: 3px solid currentColor !important;
	outline-offset: 2px;
}

/* Boutons des cartes (Réserver) : états universels lisibles quel que soit
   le fond de carte : hover = blanc quasi opaque + texte encre ; actif =
   encre + texte blanc. Neutralise les hovers du thème. */
.danz-studio-widget .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget .danz-fe-planning__studios-card-btn:hover,
.danz-studio-widget .danz-fe-planning__wrooms-btn:hover {
	background: rgba(255,255,255,.92) !important;
	color: #111827 !important;
	border-color: #111827 !important;
}
.danz-studio-widget .danz-fe-planning__week-card-btn:active,
.danz-studio-widget .danz-fe-planning__studios-card-btn:active,
.danz-studio-widget .danz-fe-planning__wrooms-btn:active {
	background: #111827 !important;
	color: #ffffff !important;
	border-color: #111827 !important;
}

/* GLASS */
.danz-studio-widget--danz-horaire.danz-design--glass .button:hover,
.danz-studio-widget--danz-horaire.danz-design--glass button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-btn--primary:hover {
	background: #ede9fe !important;
	color: #3b0764 !important;
}
.danz-studio-widget--danz-horaire.danz-design--glass .button:active,
.danz-studio-widget--danz-horaire.danz-design--glass button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-btn--primary:active {
	background: #c4b5fd !important;
	color: #3b0764 !important;
}
.danz-studio-widget--danz-horaire.danz-design--glass .danz-fe-planning__nav-btn:hover {
	background: rgba(255,255,255,.35) !important;
	/* Suit le texte auto-lisible : encre si fond personnalisé clair. */
	color: var(--ds-glass-text, #ffffff) !important;
}

/* PASTEL */
.danz-studio-widget--danz-horaire.danz-design--pastel .button:hover,
.danz-studio-widget--danz-horaire.danz-design--pastel button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-btn--primary:hover {
	background: #be185d !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-design--pastel .button:active,
.danz-studio-widget--danz-horaire.danz-design--pastel button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-btn--primary:active {
	background: #9d174d !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-design--pastel .danz-fe-planning__nav-btn:hover {
	background: #fbcfe8 !important;
	color: #831843 !important;
}

/* AFFICHE N&B */
.danz-studio-widget--danz-horaire.danz-design--poster .button:hover,
.danz-studio-widget--danz-horaire.danz-design--poster button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-btn--primary:hover {
	background: #111111 !important;
	color: #fde047 !important;
}
.danz-studio-widget--danz-horaire.danz-design--poster .button:active,
.danz-studio-widget--danz-horaire.danz-design--poster button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-btn--primary:active {
	background: #fde047 !important;
	color: #111111 !important;
}
.danz-studio-widget--danz-horaire.danz-design--poster .danz-fe-planning__nav-btn:hover {
	background: #ffffff !important;
	color: #111111 !important;
}

/* SOMBRE ÉLÉGANT (existant) : garde le texte blanc dans tous les états. */
.danz-studio-widget--danz-horaire.danz-design--dark .button:hover,
.danz-studio-widget--danz-horaire.danz-design--dark button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-design--dark .danz-fe-btn--primary:hover {
	background: linear-gradient(135deg, #a5b4fc, #f9a8d4) !important;
	color: #1e1b4b !important;
}
.danz-studio-widget--danz-horaire.danz-design--dark .danz-fe-planning__nav-btn:hover {
	background: rgba(255,255,255,.18) !important;
	color: #f1f5f9 !important;
}

/* ===========================================================
   PROFESSEURS : designs
   =========================================================== */

/* cards : déjà rendu par le plugin (par défaut). */

/* list : forcer une seule colonne, alignement horizontal photo + texte */
.danz-studio-widget--danz-prof-fiches.danz-design--list .danz-prof-card,
.danz-studio-widget--danz-prof-fiches.danz-design--list .danz-prof,
.danz-studio-widget--danz-prof-fiches.danz-design--list > * > div {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	gap: 20px;
	align-items: center;
	margin-bottom: 16px;
	padding: var(--ds-pad);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
}
.danz-studio-widget--danz-prof-fiches.danz-design--list img {
	width: 100px !important; height: 100px !important;
	border-radius: 50% !important;
	object-fit: cover;
	flex-shrink: 0;
}

/* minimal : photos rondes en grille avec nom dessous */
.danz-studio-widget--danz-prof-fiches.danz-design--minimal img {
	border-radius: 50% !important;
	aspect-ratio: 1; object-fit: cover;
}
.danz-studio-widget--danz-prof-fiches.danz-design--minimal .danz-prof__bio,
.danz-studio-widget--danz-prof-fiches.danz-design--minimal .danz-prof-card__bio {
	display: none !important;
}

/* story : grandes cartes avec image full-width */
.danz-studio-widget--danz-prof-fiches.danz-design--story > * > div {
	border-radius: var(--ds-radius);
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(15,23,42,.10);
	margin-bottom: 32px;
}
.danz-studio-widget--danz-prof-fiches.danz-design--story img {
	width: 100% !important;
	aspect-ratio: 16/9;
	object-fit: cover;
}

/* circular : photos rondes uniquement */
.danz-studio-widget--danz-prof-fiches.danz-design--circular img {
	border-radius: 50% !important;
	aspect-ratio: 1; object-fit: cover;
	box-shadow: 0 4px 12px rgba(15,23,42,.08);
}

/* v1.6.7 : Couleurs des BOUTONS du planning (widget « Planning des
   cours » → groupe 🔘 Boutons) : s'applique à TOUS les boutons rendus
   par le shortcode (filtres, navigation de semaine, Réserver/Annuler,
   Essayer gratuitement), quelle que soit la vue. !important requis :
   les vues posent leurs couleurs en dur/inline. */
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-fe-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-fe-planning__wrooms-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-fe-planning__filter-select,
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-trial__btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg .danz-trial__add {
	background: var(--ds-btn-bg) !important;
	border-color: var(--ds-btn-bg) !important;
}
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-fe-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-fe-planning__wrooms-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-fe-planning__filter-select,
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-trial__btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text .danz-trial__add {
	color: var(--ds-btn-text) !important;
}
/* Survol, focus, appui : les skins (sombre, verre…) reposent leur propre
   paire au survol ; le bouton personnalisé garde la sienne (1.14.1). */
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg :is(.danz-fe-btn, .danz-fe-planning__studios-card-btn, .danz-fe-planning__week-card-btn, .danz-fe-planning__wrooms-btn, .danz-fe-planning__nav-btn, .danz-trial__btn, .danz-trial__add):is(:hover, :focus, :focus-visible, :active) {
	background: var(--ds-btn-bg) !important;
	border-color: var(--ds-btn-bg) !important;
}
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text :is(.danz-fe-btn, .danz-fe-planning__studios-card-btn, .danz-fe-planning__week-card-btn, .danz-fe-planning__wrooms-btn, .danz-fe-planning__nav-btn, .danz-trial__btn, .danz-trial__add):is(:hover, :focus, :focus-visible, :active) {
	color: var(--ds-btn-text) !important;
}

/* v1.6.6 : Pont personnalisation → layouts natifs du shortcode profs.
   Les 8 layouts (danz-dpf--*) lisent leurs PROPRES variables --dpf-*,
   posées en inline par le shortcode → sans ce pont, les couleurs de la
   section « Personnalisation » du widget (accent, fond, texte, bordures,
   arrondi) restaient sans effet. !important requis : on surcharge un
   style inline. */
.danz-studio-widget--danz-prof-fiches.has-ds-accent .danz-dpf {
	--dpf-accent: var(--ds-accent) !important;
	--dpf-style-color: var(--ds-accent) !important;
}
.danz-studio-widget--danz-prof-fiches.has-ds-bg .danz-dpf {
	--dpf-card-bg: var(--ds-bg) !important;
}
.danz-studio-widget--danz-prof-fiches.has-ds-text .danz-dpf {
	--dpf-name-color: var(--ds-text) !important;
}
.danz-studio-widget--danz-prof-fiches.has-ds-border .danz-dpf {
	--dpf-card-border: var(--ds-border) !important;
}
.danz-studio-widget--danz-prof-fiches.has-ds-radius .danz-dpf {
	--dpf-radius: var(--ds-radius) !important;
}

/* v1.6.5 : « Photos entières » (fiches profs) : visuels avec texte
   incrusté → object-fit contain au lieu de cover, fond neutre. Les images
   rondes (cercles, annuaire, modale) restent en cover. */
.danz-studio-widget--danz-prof-fiches.danz-photos-full .danz-dpf__poster-img,
.danz-studio-widget--danz-prof-fiches.danz-photos-full .danz-dpf__flip-img,
.danz-studio-widget--danz-prof-fiches.danz-photos-full .danz-dpf__ovh-img,
.danz-studio-widget--danz-prof-fiches.danz-photos-full .danz-dpf__polaroid-img,
.danz-studio-widget--danz-prof-fiches.danz-photos-full .danz-dpf__mag-img,
.danz-studio-widget--danz-prof-fiches.danz-photos-full .danz-dpf__show-img {
	object-fit: contain !important;
	background: rgba(127, 127, 127, .12);
}

/* ===========================================================
   CONTACT : designs
   =========================================================== */

/* split : déjà 2 colonnes par défaut (le shortcode produit info + map). */

/* centered : info au-dessus, carte en dessous */
.danz-studio-widget--danz-contact-page.danz-design--centered .danz-contact-page,
.danz-studio-widget--danz-contact-page.danz-design--centered > * {
	display: flex !important;
	flex-direction: column !important;
	text-align: center;
	gap: 24px;
}
/* v1.6.7 : la vraie grille du shortcode est .danz-contact__grid (2 colonnes
   dès 900px) : sans cette règle, la carte restait À CÔTÉ des infos et le
   design « Centré » ne centrait que le texte. */
.danz-studio-widget--danz-contact-page.danz-design--centered .danz-contact__grid {
	grid-template-columns: 1fr !important;
}

/* card : carte flottante sur image en arrière-plan */
.danz-studio-widget--danz-contact-page.danz-design--card {
	background: linear-gradient(135deg, var(--ds-accent), var(--danz-color-primary-dark, #4f46e5));
	border-radius: var(--ds-radius);
	padding: 60px 40px;
	color: #fff;
	box-shadow: 0 20px 48px rgba(99,102,241,.30);
}
.danz-studio-widget--danz-contact-page.danz-design--card * { color: inherit; }
.danz-studio-widget--danz-contact-page.danz-design--card a:not(.button) {
	color: rgba(255,255,255,.95); text-decoration: underline;
}

/* minimal : info uniquement, pas de carte.
   v1.6.7 : on masque aussi .danz-contact__map (la vraie classe du shortcode :
   ne cacher que l'iframe laissait une colonne vide) et la grille repasse en
   1 colonne. */
.danz-studio-widget--danz-contact-page.danz-design--minimal iframe,
.danz-studio-widget--danz-contact-page.danz-design--minimal .danz-contact-map,
.danz-studio-widget--danz-contact-page.danz-design--minimal .danz-contact__map {
	display: none !important;
}
.danz-studio-widget--danz-contact-page.danz-design--minimal .danz-contact__grid {
	grid-template-columns: 1fr !important;
}
.danz-studio-widget--danz-contact-page.danz-design--minimal {
	max-width: 600px; margin: 0 auto;
}

/* ===========================================================
   ACCOUNT : designs
   =========================================================== */

/* tabs : barre horizontale en haut.
   v1.6.7 : [danz_compte_complet] rend désormais une app à SIDEBAR par
   défaut : sans ces règles, « Onglets horizontaux » (design par défaut du
   widget !) affichait… la sidebar. On aplatit la sidebar en topbar : nav en
   ligne, groupes fusionnés, titres de groupe masqués, déconnexion à droite. */
.danz-studio-widget--danz-compte-complet.danz-design--tabs .danz-fe-account--app {
	display: block !important;
}
.danz-studio-widget--danz-compte-complet.danz-design--tabs .danz-fe-account__sidebar {
	position: static;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	margin-bottom: 24px;
}
.danz-studio-widget--danz-compte-complet.danz-design--tabs .danz-fe-account__user {
	border-bottom: 0;
	padding: 0;
	margin: 0;
}
.danz-studio-widget--danz-compte-complet.danz-design--tabs .danz-fe-account__nav {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}
.danz-studio-widget--danz-compte-complet.danz-design--tabs .danz-fe-account__group {
	display: contents;
}
.danz-studio-widget--danz-compte-complet.danz-design--tabs .danz-fe-account__group-title {
	display: none;
}
.danz-studio-widget--danz-compte-complet.danz-design--tabs .danz-fe-account__logout {
	border-top: 0;
	margin: 0 0 0 auto;
}

/* sidebar : nav verticale + contenu à droite (= rendu par défaut du
   shortcode depuis l'app sidebar ; les règles ci-dessous ne servent que si
   un thème a cassé la disposition). */
.danz-studio-widget--danz-compte-complet.danz-design--sidebar > * {
	display: grid !important;
	grid-template-columns: 240px 1fr;
	gap: 32px;
}
.danz-studio-widget--danz-compte-complet.danz-design--sidebar nav,
.danz-studio-widget--danz-compte-complet.danz-design--sidebar .danz-account-tabs,
.danz-studio-widget--danz-compte-complet.danz-design--sidebar [role="tablist"] {
	flex-direction: column !important;
	display: flex !important;
	gap: 4px;
}

/* cards : sections empilées en cartes */
.danz-studio-widget--danz-compte-complet.danz-design--cards [role="tabpanel"],
.danz-studio-widget--danz-compte-complet.danz-design--cards .danz-account-section {
	background: var(--ds-bg);
	color: var(--ds-text);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	padding: var(--ds-pad);
	margin-bottom: 16px;
	box-shadow: 0 2px 6px rgba(15,23,42,.04);
}

/* dashboard : le contenu du panneau actif coule sur 2 colonnes.
   v1.6.7 : l'ancienne règle (`> *` en 1fr 1fr) écrasait la sidebar de l'app
   à 50 % de largeur SANS produire de grille de contenu. Les colonnes CSS
   fonctionnent quel que soit le markup interne des panneaux (cartes wallet,
   réservations, profil…). */
.danz-studio-widget--danz-compte-complet.danz-design--dashboard .danz-fe-account__panel.is-active {
	column-count: 2;
	column-gap: 20px;
}
.danz-studio-widget--danz-compte-complet.danz-design--dashboard .danz-fe-account__panel.is-active > * {
	break-inside: avoid;
}
.danz-studio-widget--danz-compte-complet.danz-design--dashboard .danz-fe-account__main > .danz-fe-account__panel {
	max-width: none;
}
@media (max-width: 768px) {
	.danz-studio-widget--danz-compte-complet.danz-design--dashboard .danz-fe-account__panel.is-active {
		column-count: 1;
	}
}

/* ===========================================================
   INSCRIPTION : designs
   =========================================================== */

/* compact : déjà par défaut */

/* card : carte avec ombre et padding */
.danz-studio-widget--danz-inscription-rapide.danz-design--card {
	background: var(--ds-bg);
	color: var(--ds-text);
	border-radius: var(--ds-radius);
	padding: 40px;
	box-shadow: 0 12px 32px rgba(15,23,42,.10);
	max-width: 520px; margin: 0 auto;
	border: 1px solid var(--ds-border);
}

/* wizard : étapes (visuellement séparées avec progress) */
.danz-studio-widget--danz-inscription-rapide.danz-design--wizard form {
	max-width: 600px; margin: 0 auto;
}
.danz-studio-widget--danz-inscription-rapide.danz-design--wizard form::before {
	content: 'Étape 1 sur 3';
	display: block;
	font-size: .75rem; font-weight: 700;
	color: var(--ds-accent);
	text-transform: uppercase; letter-spacing: .1em;
	margin-bottom: 8px;
}

/* inline : tout sur une ligne (pour newsletter style) */
.danz-studio-widget--danz-inscription-rapide.danz-design--inline form {
	display: flex !important;
	flex-direction: row !important;
	gap: 8px;
	align-items: stretch;
	max-width: 600px;
	margin: 0 auto;
}
.danz-studio-widget--danz-inscription-rapide.danz-design--inline form > *:not([type="submit"]):not(button) {
	flex: 1;
}
@media (max-width: 600px) {
	.danz-studio-widget--danz-inscription-rapide.danz-design--inline form {
		flex-direction: column !important;
	}
}

/* ===========================================================
   Buttons inside Studio widgets : adapter aux tokens du thème
   =========================================================== */
.danz-studio-widget .button,
.danz-studio-widget button[type="submit"],
.danz-studio-widget input[type="submit"],
.danz-studio-widget .filter-button,
.danz-studio-widget [class*="filter"] button {
	background: var(--ds-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--danz-btn-radius, 6px) !important;
	padding: var(--danz-btn-py, 12px) var(--danz-btn-px, 20px) !important;
	font-weight: var(--danz-btn-fw, 600) !important;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}
.danz-studio-widget .button:hover,
.danz-studio-widget button[type="submit"]:hover {
	filter: brightness(.92);
	transform: translateY(-1px);
}

/* === Preview / editor mode ============================================== */
/* v1.2.13 : plus de fond forcé : l'aperçu montre l'apparence réelle du site (sombre ou clair). */
body.danz-preview-mode .danz-skip-link { display: none; }

[data-db-id] { transition: outline-color .12s ease, box-shadow .12s ease; }


/* ===========================================================
   v1.4.0 : NOUVEAUX DESIGNS PLANNING (flotte : timeline, ardoise,
   sunset, soft, magazine, cyber)
   =========================================================== */

/* timeline : « Fil du temps » : timeline verticale claire et très aérée, pensée pour la vue LISTE :
   fil continu couleur accent à gauche, point par cours, heure mise en avant (chip agrandi, couleur du
   cours conservée). Vues week/grid/table : panneaux blancs propres, points accent en rappel du fil.
   Fond de bloc personnalisable via --ds-timeline-bg. */
.danz-studio-widget--danz-horaire.danz-design--timeline {
	background: var(--ds-timeline-bg, linear-gradient(175deg, #fafaff 0%, #f1f0fa 100%)) !important;
	color: #262244 !important;
	padding: var(--ds-pad, 18px) !important;
	border-radius: var(--ds-radius, 20px) !important;
	line-height: 1.5;
}

/* Filtres */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filters {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid var(--ds-border, #e5e3f4) !important;
	border-radius: 16px !important;
	padding: 18px !important;
	margin: 0 0 18px !important;
	box-shadow: 0 6px 18px rgba(38,34,68,.06) !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filters-inner { gap: 14px 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filter { gap: 6px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filter-label {
	color: #55507a !important;
	font-size: 11px !important;
	letter-spacing: .05em !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #d7d4ec !important;
	border-radius: 12px !important;
	padding: 10px 14px !important;
	min-height: 44px !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 1px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filters-actions { gap: 10px !important; }

/* Boutons (états appariés fond+texte) */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn {
	background: #ffffff !important;
	color: #40396b !important;
	border: 1px solid #d7d4ec !important;
	border-radius: 999px !important;
	padding: 11px 20px !important;
	min-height: 44px;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease, transform .12s ease;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn:hover {
	background: #262244 !important;
	color: #ffffff !important;
	border-color: #262244 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn:active {
	background: #161330 !important;
	color: #ffffff !important;
	border-color: #161330 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn--primary {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 6px 16px rgba(79,70,229,.28);
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn--primary:hover {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.9);
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn--primary:active {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.78);
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #262244 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-btn--sm {
	padding: 8px 14px !important;
	min-height: 38px;
	font-size: 13px !important;
}

/* Navigation semaine */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 12px 14px !important;
	margin: 0 0 20px !important;
	gap: 10px !important;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-btn {
	background: #f4f3fb !important;
	color: #40396b !important;
	border: 1px solid #dedbf0 !important;
	border-radius: 999px !important;
	padding: 10px 16px !important;
	min-height: 44px;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-btn:hover {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	border-color: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-btn:active {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.8);
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-btn.is-disabled {
	background: #f4f3fb !important;
	color: #67628f !important;
	border-color: #e9e7f5 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-center { text-align: center; padding: 2px 8px; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-center strong { color: #262244 !important; font-size: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-range { color: #55507a !important; }

/* Vue LISTE : la timeline (fil + points) */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 8px 2px 8px 34px !important;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__list::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 3px;
	background: var(--ds-accent, #4f46e5);
	opacity: .85;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__list > li {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__list > li::before {
	content: "";
	position: absolute;
	left: -28px;
	top: 24px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #ffffff;
	border: 3px solid var(--ds-accent, #4f46e5);
	box-shadow: 0 0 0 4px rgba(79,70,229,.14);
	z-index: 1;
}

/* Cartes de cours (liste + grid) ; le border-left inline (couleur du cours) est conservé */
.danz-studio-widget--danz-horaire.danz-design--timeline article.danz-fe-planning__card {
	position: relative;
	background: #ffffff !important;
	color: #262244 !important;
	border-top: 1px solid #e7e5f4 !important;
	border-right: 1px solid #e7e5f4 !important;
	border-bottom: 1px solid #e7e5f4 !important;
	border-radius: 16px !important;
	padding: 20px !important;
	box-shadow: 0 8px 22px rgba(38,34,68,.08) !important;
	transition: transform .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--timeline article.danz-fe-planning__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(38,34,68,.13) !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__card-h {
	gap: 12px !important;
	margin: 0 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__title {
	color: #262244 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__subtitle {
	color: #55507a !important;
	font-size: 13px !important;
	margin: 4px 0 0 !important;
}
/* L'heure mise en avant : chip agrandi, couleurs inline du cours conservées. */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__time-chip {
	font-size: 15px !important;
	font-weight: 800 !important;
	padding: 9px 14px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 12px rgba(38,34,68,.16);
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__info {
	gap: 8px !important;
	margin: 12px 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__chip {
	background: #f1f0fa !important;
	color: #40396b !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__cap { margin: 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__cap-text {
	color: #55507a !important;
	font-size: 13px !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__cap-text strong { color: #262244 !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__full {
	color: #be123c !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__cap-bar {
	background: #eceaf6 !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__cap-bar-fill { border-radius: 999px !important; }

/* Badge « Terminé » : place réservée + restylage */
.danz-studio-widget--danz-horaire.danz-design--timeline article.danz-fe-planning__card.is-past {
	padding-top: 36px !important;
	opacity: .88;
}
.danz-studio-widget--danz-horaire.danz-design--timeline article.danz-fe-planning__card.is-past::after {
	background: #ecebf7 !important;
	color: #4c4677 !important;
	top: 10px !important;
	right: 10px !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .03em;
}

/* Vue GRID : titres de jour avec point-repère du fil */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__grid { gap: 24px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__day-title {
	color: #262244 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: .02em;
	margin: 0 0 12px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__day-title::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ds-accent, #4f46e5);
	flex: 0 0 auto;
}

/* Vue SEMAINE : grille propre, structure conservée */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-table {
	min-width: 680px;
	border-collapse: separate !important;
	border-spacing: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-table thead th {
	background: #f4f3fb !important;
	color: #40396b !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 12px 10px !important;
	border: 0 !important;
	border-radius: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-time {
	background: #ffffff !important;
	color: #262244 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	padding: 10px !important;
	border: 0 !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-cell {
	background: #fbfbfe !important;
	border: 1px solid #efedf8 !important;
	border-radius: 12px !important;
	padding: 8px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-empty { color: #c6c2e0 !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card {
	border-radius: 12px !important;
	padding: 12px !important;
	box-shadow: 0 3px 10px rgba(38,34,68,.10);
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card-title {
	font-weight: 800 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card-meta {
	font-size: 11.5px !important;
	line-height: 1.45 !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card-cap { margin: 0 0 8px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-cap-pill {
	background: rgba(255,255,255,.28) !important;
	color: inherit !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-cap-full {
	background: #ffffff !important;
	color: #be123c !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card-btn {
	border-radius: 999px !important;
	padding: 9px 10px !important;
	min-height: 36px;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card-btn:hover {
	background: rgba(255,255,255,.94) !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card-btn:active {
	background: #111827 !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid #111827 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__week-card.is-past::after {
	background: rgba(255,255,255,.92) !important;
	color: #40396b !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}

/* Vue TABLEAU */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table-day {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table-day-title {
	color: #262244 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	margin: 0 0 14px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table-day-title::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ds-accent, #4f46e5);
	flex: 0 0 auto;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table { border-collapse: collapse !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table thead th {
	background: #f4f3fb !important;
	color: #40396b !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 12px 14px !important;
	border: 0 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table tbody td {
	background: transparent !important;
	color: #262244 !important;
	padding: 14px !important;
	border-bottom: 1px solid #efedf8 !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table tbody tr:last-child td { border-bottom: 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__table tbody tr.is-past td { color: #6f6a92 !important; }

/* Vue COMPACT + titres des vues studios/salles (fond clair du wrapper) */
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__compact-day-title {
	color: #262244 !important;
	font-weight: 800 !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__compact-item {
	background: #ffffff !important;
	color: #262244 !important;
	padding: 12px 14px !important;
	border-radius: 12px !important;
	margin: 0 0 10px !important;
	box-shadow: 0 3px 10px rgba(38,34,68,.06) !important;
}
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__wrooms-col-title { color: #262244 !important; }

/* État vide */
.danz-studio-widget--danz-horaire.danz-design--timeline p.danz-fe-card {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 18px 20px !important;
}

/* Responsive */
@media (max-width: 767px) {
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filter { min-width: 100% !important; flex: 1 1 100%; }
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filters-actions { width: 100%; margin-left: 0 !important; }
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto; justify-content: center; text-align: center; min-height: 46px; }
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-center { flex: 1 1 100%; order: -1; margin-bottom: 4px; }
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__nav-btn { flex: 1 1 auto; justify-content: center; min-height: 46px; }
	.danz-studio-widget--danz-horaire.danz-design--timeline article.danz-fe-planning__card { padding: 18px 16px !important; }
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--timeline { padding: var(--ds-pad, 28px) !important; }
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__list { padding: 10px 4px 10px 62px !important; gap: 22px !important; }
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__list::before { left: 24px; }
	.danz-studio-widget--danz-horaire.danz-design--timeline .danz-fe-planning__list > li::before { left: -44px; width: 16px; height: 16px; }
	.danz-studio-widget--danz-horaire.danz-design--timeline article.danz-fe-planning__card { padding: 22px 24px !important; }
}
@media (min-width: 1025px) {
	.danz-studio-widget--danz-horaire.danz-design--timeline { padding: var(--ds-pad, 34px) !important; }
}

/* ardoise : « Ardoise », tableau noir de studio : fond ardoise profond encadré bois, écriture craie
   (blanc cassé + jaune/rose pâle, police type Chalkboard), bordures irrégulières façon craie.
   Les couleurs par cours sont écrasées (!important) pour l'unité visuelle, MAIS un liseré gauche de la
   couleur du cours est conservé : sur les cartes semaine/studios, un background-image !important
   recouvre la carte SAUF les 6 premiers px, laissant transparaître la background-color inline du cours.
   Fond personnalisable via --ds-ardoise-bg. */
.danz-studio-widget--danz-horaire.danz-design--ardoise {
	background: var(--ds-ardoise-bg, radial-gradient(130% 100% at 18% 0%, #24322b 0%, #1a2421 48%, #101815 100%)) !important;
	color: var(--ds-ardoise-text, #f2f0e4) !important;
	padding: var(--ds-pad, 16px) !important;
	border: 8px solid #5d4433 !important;
	border-radius: var(--ds-radius, 14px) !important;
	box-shadow: inset 0 0 70px rgba(0,0,0,.45), 0 12px 32px rgba(0,0,0,.25) !important;
	line-height: 1.55;
}

/* Écriture craie sur les titres et boutons */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__compact-day-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__wrooms-col-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filter-label,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__time-chip,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card-btn {
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	letter-spacing: .02em;
}

/* Filtres */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filters {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.65) !important;
	border-radius: 18px 4px 16px 6px / 5px 16px 4px 18px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filters-inner { gap: 14px 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filter { gap: 6px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filter-label {
	color: #fde68a !important;
	font-size: 11px !important;
	letter-spacing: .07em !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filter-select {
	background: #121b17 !important;
	color: #f2f0e4 !important;
	border: 1.5px solid rgba(242,240,228,.55) !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	min-height: 44px !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid #fde68a !important;
	outline-offset: 1px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filters-actions { gap: 10px !important; }
/* Sélecteurs de places (styles inline clairs dans le markup) repeints ardoise. */
.danz-studio-widget--danz-horaire.danz-design--ardoise select.js-danz-seats {
	background: #121b17 !important;
	color: #f2f0e4 !important;
	border: 1.5px solid rgba(242,240,228,.55) !important;
	border-radius: 8px !important;
}

/* Boutons (états appariés fond+texte) */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn {
	background: rgba(242,240,228,.08) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.85) !important;
	border-radius: 14px 4px 12px 5px / 4px 12px 5px 14px !important;
	padding: 11px 20px !important;
	min-height: 44px;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn:active {
	background: #d9d4bd !important;
	color: #1a2421 !important;
	border-color: #d9d4bd !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn--primary {
	background: #fde68a !important;
	color: #241d04 !important;
	border-color: #fde68a !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn--primary:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn--primary:active {
	background: #eec95b !important;
	color: #241d04 !important;
	border-color: #eec95b !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn--primary:focus-visible {
	outline: 3px dashed #f2f0e4 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-btn--sm {
	padding: 8px 14px !important;
	min-height: 38px;
	font-size: 13px !important;
}

/* Navigation semaine */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav {
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 6px 18px 5px 16px / 16px 5px 18px 6px !important;
	padding: 12px 14px !important;
	margin: 0 0 20px !important;
	gap: 10px !important;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-btn {
	background: rgba(242,240,228,.08) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.7) !important;
	border-radius: 12px 4px 14px 5px / 4px 14px 5px 12px !important;
	padding: 10px 16px !important;
	min-height: 44px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-btn:active {
	background: #fde68a !important;
	color: #241d04 !important;
	border-color: #fde68a !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-btn.is-disabled {
	background: rgba(242,240,228,.04) !important;
	color: rgba(242,240,228,.72) !important;
	border-color: rgba(242,240,228,.25) !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-center { text-align: center; padding: 2px 8px; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-center strong { color: #f2f0e4 !important; font-size: 18px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-range { color: #d9d4bd !important; }

/* Vue SEMAINE : grille craie, liseré couleur de cours conservé */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-wrap {
	background: rgba(242,240,228,.04) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 16px 5px 18px 6px / 6px 18px 5px 16px !important;
	padding: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-table {
	min-width: 680px;
	border-collapse: separate !important;
	border-spacing: 7px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-table thead th {
	background: rgba(242,240,228,.12) !important;
	color: #fde68a !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 12px 10px !important;
	border: 0 !important;
	border-radius: 10px 3px 9px 4px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-time {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	padding: 10px !important;
	border: 0 !important;
	border-radius: 3px 9px 4px 10px !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-cell {
	background: rgba(255,255,255,.02) !important;
	border: 1.5px solid rgba(242,240,228,.18) !important;
	border-radius: 10px !important;
	padding: 8px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-empty { color: rgba(242,240,228,.35) !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card {
	/* Recouvre le fond inline (couleur du cours) SAUF 6px à gauche = liseré d'identification. */
	background-image: linear-gradient(90deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 6px, #1d2a24 6px, #1d2a24 100%) !important;
	background-clip: padding-box !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 4px 12px 5px 13px / 12px 4px 13px 5px !important;
	padding: 12px 12px 12px 16px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-title {
	color: #f2f0e4 !important;
	font-size: 13.5px !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-meta {
	color: #d9d4bd !important;
	font-size: 11.5px !important;
	line-height: 1.45 !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-cap { margin: 0 0 8px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-cap-pill {
	background: rgba(242,240,228,.16) !important;
	color: #f2f0e4 !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-cap-full {
	background: #f6c8d4 !important;
	color: #5b1220 !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card-btn {
	background: #fde68a !important;
	color: #241d04 !important;
	border: 0 !important;
	border-radius: 10px 3px 11px 4px !important;
	padding: 9px 10px !important;
	min-height: 36px;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card-btn:active {
	background: #eec95b !important;
	color: #241d04 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__week-card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 8px 3px 9px 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}

/* Vues LISTE + GRID : cartes craie, border-left inline (couleur du cours) conservé */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 4px 2px !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__list > li { margin: 0 !important; padding: 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise article.danz-fe-planning__card {
	position: relative;
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	border-top: 2px solid rgba(242,240,228,.55) !important;
	border-right: 2px solid rgba(242,240,228,.55) !important;
	border-bottom: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 14px 4px 16px 5px / 5px 16px 4px 14px !important;
	padding: 20px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__card-h {
	gap: 12px !important;
	margin: 0 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__title {
	color: #f2f0e4 !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__subtitle {
	color: #d9d4bd !important;
	font-size: 13px !important;
	margin: 4px 0 0 !important;
}
/* Chip heure unifié craie (couleur de cours écrasée ; l'identification passe par le liseré gauche). */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__time-chip {
	background: rgba(242,240,228,.12) !important;
	color: #fde68a !important;
	border: 1.5px solid rgba(242,240,228,.45) !important;
	border-radius: 3px 10px 4px 11px / 10px 3px 11px 4px !important;
	padding: 8px 14px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__info {
	gap: 8px !important;
	margin: 12px 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__chip {
	background: rgba(242,240,228,.10) !important;
	color: #f2f0e4 !important;
	border: 1px solid rgba(242,240,228,.3) !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__cap { margin: 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__cap-text {
	color: #d9d4bd !important;
	font-size: 13px !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__cap-text strong { color: #f2f0e4 !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__full {
	color: #f6c8d4 !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__cap-bar {
	background: rgba(242,240,228,.15) !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__cap-bar-fill {
	background: #fde68a !important;
	border-radius: 999px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise article.danz-fe-planning__card.is-past {
	padding-top: 38px !important;
	opacity: .8;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise article.danz-fe-planning__card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 10px !important;
	right: 10px !important;
	padding: 3px 10px !important;
	border-radius: 9px 3px 10px 4px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__grid { gap: 24px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__day-title {
	color: #fde68a !important;
	font-size: 17px !important;
	letter-spacing: .04em;
	border-bottom: 2px dashed rgba(242,240,228,.35) !important;
	padding: 0 0 8px !important;
	margin: 0 0 14px !important;
}

/* Vue TABLEAU */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table-day {
	background: rgba(242,240,228,.04) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 16px 5px 18px 6px / 6px 18px 5px 16px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table-day-title {
	color: #fde68a !important;
	font-size: 17px !important;
	letter-spacing: .04em;
	margin: 0 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table { border-collapse: collapse !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table thead th {
	background: rgba(242,240,228,.10) !important;
	color: #fde68a !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 12px 14px !important;
	border: 0 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table tbody td {
	background: transparent !important;
	color: #f2f0e4 !important;
	padding: 14px !important;
	border-bottom: 1px dashed rgba(242,240,228,.28) !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table tbody tr:last-child td { border-bottom: 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__table tbody tr.is-past td { color: #b7b29e !important; }

/* Vue COMPACT + studios (couverture ardoise) */
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__compact-day-title {
	color: #fde68a !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__compact-item {
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	padding: 12px 14px !important;
	border-radius: 8px 3px 10px 4px !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__wrooms-col-title { color: #fde68a !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card {
	background-image: linear-gradient(90deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 6px, #1d2a24 6px, #1d2a24 100%) !important;
	background-clip: padding-box !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 4px 12px 5px 13px / 12px 4px 13px 5px !important;
	padding: 14px 14px 14px 18px !important;
}
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card-time { color: #fde68a !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__studios-card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 8px 3px 9px 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}

/* État vide */
.danz-studio-widget--danz-horaire.danz-design--ardoise p.danz-fe-card {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	border: 2px dashed rgba(242,240,228,.5) !important;
	border-radius: 14px 5px 16px 6px !important;
	padding: 18px 20px !important;
}

/* Responsive */
@media (max-width: 767px) {
	.danz-studio-widget--danz-horaire.danz-design--ardoise { border-width: 6px !important; }
	.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filter { min-width: 100% !important; flex: 1 1 100%; }
	.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filters-actions { width: 100%; margin-left: 0 !important; }
	.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto; justify-content: center; text-align: center; min-height: 46px; }
	.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-center { flex: 1 1 100%; order: -1; margin-bottom: 4px; }
	.danz-studio-widget--danz-horaire.danz-design--ardoise .danz-fe-planning__nav-btn { flex: 1 1 auto; justify-content: center; min-height: 46px; }
	.danz-studio-widget--danz-horaire.danz-design--ardoise article.danz-fe-planning__card { padding: 18px 16px !important; }
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--ardoise { padding: var(--ds-pad, 28px) !important; }
	.danz-studio-widget--danz-horaire.danz-design--ardoise article.danz-fe-planning__card { padding: 22px 24px !important; }
}
@media (min-width: 1025px) {
	.danz-studio-widget--danz-horaire.danz-design--ardoise { padding: var(--ds-pad, 34px) !important; }
}

/* sunset : Coucher de soleil : dégradé chaud personnalisable (--ds-sunset-bg),
   texte auto-apparié (--ds-sunset-text, mécanisme identique à glass), panneaux
   translucides chauds, en-têtes de jours en pilules contrastées. La vue semaine
   GARDE sa structure tabulaire (colonnes claires, jours bien visibles). Très aéré. */
.danz-studio-widget--danz-horaire.danz-design--sunset {
	background: var(--ds-sunset-bg, linear-gradient(160deg, #7c2d12 0%, #be185d 55%, #f59e0b 100%)) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	padding: 18px !important;
	border-radius: var(--ds-radius, 24px) !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--sunset { padding: 28px !important; }
}
@media (min-width: 1025px) {
	.danz-studio-widget--danz-horaire.danz-design--sunset { padding: 34px !important; }
}

/* Panneaux translucides chauds (filtres, nav, semaine, jours du tableau, état vide). */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table-day,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-empty-state {
	background: rgba(255, 247, 237, .12) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .26) !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-empty-state {
	padding: 28px !important;
	text-align: center;
	line-height: 1.5 !important;
}

/* --- Filtres : champs crème lisibles, rien ne touche les contours. --- */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filters {
	padding: 18px !important;
	margin: 0 0 20px !important;
	/* v1.4.1 : voile sombre : la crème lit ≥ 5:1 même sur la zone ambre. */
	background: rgba(59, 7, 16, .62) !important;
	border: 1px solid rgba(255, 247, 237, .28) !important;
	border-radius: 16px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filters { padding: 22px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filter { gap: 6px !important; min-width: 150px; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filter-label {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filter-select {
	background: #fff7ed !important;
	color: #431407 !important;
	border: 1px solid rgba(67, 20, 7, .2) !important;
	border-radius: 12px !important;
	padding: 12px 14px !important;
	min-height: 46px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filter-select:focus-visible {
	background: #fff7ed !important;
	color: #431407 !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filters-actions { gap: 10px !important; }

/* --- Boutons génériques (pilules). Le bouton danger « Annuler ma réservation »
   (.js-danz-cancel) garde son style inline rouge pâle, lisible partout. --- */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn:not(.js-danz-cancel) {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .5) !important;
	border-radius: 999px !important;
	padding: 12px 22px !important;
	min-height: 46px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn:not(.js-danz-cancel):focus-visible {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn:not(.js-danz-cancel):hover {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn:not(.js-danz-cancel):active {
	background: #ffedd5 !important;
	color: #431407 !important;
	border-color: #ffedd5 !important;
}
/* Primaire (« Filtrer », « Réserver ») : ambre vitaminé + brun très foncé (AA large). */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn.danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.danz-design--sunset .button,
.danz-studio-widget--danz-horaire.danz-design--sunset button[type="submit"] {
	background: #fbbf24 !important;
	color: #451a03 !important;
	border: 1px solid #fbbf24 !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn.danz-fe-btn--primary:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--sunset .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--sunset button[type="submit"]:focus-visible {
	background: #fbbf24 !important;
	color: #451a03 !important;
	outline: 3px solid #fff7ed !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn.danz-fe-btn--primary:hover,
.danz-studio-widget--danz-horaire.danz-design--sunset .button:hover,
.danz-studio-widget--danz-horaire.danz-design--sunset button[type="submit"]:hover {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn.danz-fe-btn--primary:active,
.danz-studio-widget--danz-horaire.danz-design--sunset .button:active,
.danz-studio-widget--danz-horaire.danz-design--sunset button[type="submit"]:active {
	background: #451a03 !important;
	color: #fde68a !important;
	border-color: #451a03 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-btn.danz-fe-btn--sm {
	padding: 8px 16px !important;
	min-height: 40px !important;
}

/* --- Navigation semaine. --- */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav {
	padding: 14px 18px !important;
	margin: 0 0 20px !important;
	gap: 12px !important;
	/* v1.4.1 : même voile sombre que les filtres (« Cette semaine » en crème). */
	background: rgba(59, 7, 16, .62) !important;
	border: 1px solid rgba(255, 247, 237, .28) !important;
	border-radius: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-btn {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .5) !important;
	border-radius: 999px !important;
	padding: 10px 18px !important;
	min-height: 44px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-btn:focus-visible {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-btn:hover:not(.is-disabled) {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-btn:active:not(.is-disabled) {
	background: #ffedd5 !important;
	color: #431407 !important;
	border-color: #ffedd5 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-btn.is-disabled {
	background: rgba(255, 247, 237, .08) !important;
	color: rgba(255,237,213,.92) !important;
	opacity: .5 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-center strong {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-range {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}

/* --- Vue SEMAINE : structure tabulaire conservée, cellules espacées,
   en-têtes de jours en pilules crème très visibles. --- */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-wrap { padding: 12px !important; }
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-wrap { padding: 16px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-table {
	border-collapse: separate !important;
	border-spacing: 8px !important;
	min-width: 720px;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-table { border-spacing: 10px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--sunset th.danz-fe-planning__week-day-col {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset th.danz-fe-planning__week-time-col {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset th.danz-fe-planning__week-time {
	background: rgba(255, 247, 237, .10) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	white-space: nowrap;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-design--sunset td.danz-fe-planning__week-cell {
	background: rgba(255, 247, 237, .07) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 8px !important;
	vertical-align: top !important;
	min-width: 104px;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-empty {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	opacity: .35;
}
/* Cartes de cours : on GARDE les couleurs par cours (inline), on ajoute
   arrondi, air intérieur et relief. */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-card {
	border-radius: 12px !important;
	padding: 12px !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	box-shadow: 0 8px 20px rgba(67, 20, 7, .30) !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card-meta {
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-bottom: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card-cap { margin-bottom: 10px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-cap-pill {
	background: rgba(255, 255, 255, .92) !important;
	color: #431407 !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-cap-full,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-cap-full {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
/* Bouton des cartes : encre chaude lisible sur N'IMPORTE quelle couleur de cours. */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-btn {
	background: #431407 !important;
	color: #fff7ed !important;
	border: 1px solid rgba(255, 255, 255, .35) !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	min-height: 42px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	width: 100%;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__studios-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-btn:focus-visible {
	background: #431407 !important;
	color: #fff7ed !important;
	outline: 3px solid #fff7ed !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__studios-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-btn:hover {
	background: #fff7ed !important;
	color: #431407 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__studios-card-btn:active,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-btn:active {
	background: #fde68a !important;
	color: #431407 !important;
	border-color: #fde68a !important;
}

/* --- Vues LISTE et GRID : cartes translucides chaudes, liseré couleur de
   cours conservé (on ne touche PAS au border-left inline). --- */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__grid { gap: 26px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__list { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__day-title {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 16px !important;
	margin: 0 0 14px !important;
	letter-spacing: .08em !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__card {
	background: rgba(255, 247, 237, .12) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border-top: 1px solid rgba(255, 247, 237, .26) !important;
	border-right: 1px solid rgba(255, 247, 237, .26) !important;
	border-bottom: 1px solid rgba(255, 247, 237, .26) !important;
	border-radius: 18px !important;
	padding: 20px !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__card:hover {
	box-shadow: 0 12px 28px rgba(67, 20, 7, .35) !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__card-h {
	gap: 12px !important;
	margin-bottom: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__title {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__subtitle {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__info {
	gap: 8px !important;
	margin-bottom: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__chip {
	background: rgba(255, 247, 237, .16) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .3) !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__cap { margin-bottom: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__cap-text {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__cap-text strong {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__full {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__cap-bar {
	background: rgba(255, 247, 237, .22) !important;
	color: #431407 !important;
	height: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__seats {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	gap: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__seats select {
	background: #fff7ed !important;
	color: #431407 !important;
	border: 1px solid rgba(67, 20, 7, .2) !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
}

/* --- Vue TABLEAU (groupée par jour). --- */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table-wrap { gap: 20px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table-day { padding: 18px !important; }
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table-day { padding: 22px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table-day-title {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 14px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table {
	border-collapse: separate !important;
	border-spacing: 0 8px !important;
	width: 100% !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table thead th {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	border: 0 !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table thead th:first-child { border-radius: 10px 0 0 10px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table thead th:last-child { border-radius: 0 10px 10px 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table tbody td {
	background: rgba(255, 247, 237, .08) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	padding: 14px !important;
	line-height: 1.45 !important;
	vertical-align: middle;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table tbody td:first-child { border-radius: 12px 0 0 12px !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table tbody td:last-child { border-radius: 0 12px 12px 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table tbody tr:hover td {
	background: rgba(255, 247, 237, .16) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
}
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table tbody tr.is-past td,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__table tbody tr.is-full td { opacity: .65; }

/* --- Badges d'état. --- */
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__wrooms-card.is-past::after {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 3px 10px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	top: 8px !important;
	right: 8px !important;
}
/* .danz-fe-planning__cancelled-badge : style inline rouge pâle du cœur,
   déjà apparié et lisible sur ce fond : on n'y touche pas. */

/* --- Mobile (≤767px) : filtres empilés pleine largeur, cibles ≥44px. --- */
@media (max-width: 767px) {
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filter { min-width: 100% !important; }
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filters-actions {
		width: 100% !important;
		margin-left: 0 !important;
	}
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto !important; }
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__nav-center {
		min-width: 100% !important;
		order: -1;
	}
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__card { padding: 18px !important; }
	.danz-studio-widget--danz-horaire.danz-design--sunset .danz-fe-planning__card.is-past { padding-top: 32px !important; }
}

/* soft : Douceur : neumorphisme doux et premium. Tout est moulé dans le même
   fond (var(--ds-soft-bg, #e8ecf3)) : cartes en relief (double ombre claire/
   sombre), champs « creusés » (inset), texte encre #2d3748 et accents francs
   var(--ds-accent, #7c3aed) pour compenser le faible contraste du style.
   Aération maximale. */
.danz-studio-widget--danz-horaire.danz-design--soft {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: var(--ds-soft-text, #2d3748) !important;
	padding: 20px !important;
	border-radius: var(--ds-radius, 28px) !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--soft { padding: 30px !important; }
}
@media (min-width: 1025px) {
	.danz-studio-widget--danz-horaire.danz-design--soft { padding: 36px !important; }
}

/* Panneaux en relief neumorphique (filtres, nav, semaine, jours du tableau, état vide). */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table-day,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-empty-state {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: var(--ds-soft-text, #2d3748) !important;
	border: 0 !important;
	border-radius: 22px !important;
	box-shadow: 9px 9px 20px rgba(163, 177, 198, .55), -9px -9px 20px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-empty-state {
	padding: 30px !important;
	text-align: center;
	line-height: 1.5 !important;
}

/* --- Filtres : panneau en relief, champs creusés (inset). --- */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filters {
	padding: 20px !important;
	margin: 0 0 26px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filters { padding: 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filter { gap: 6px !important; min-width: 160px; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filter-label {
	background: transparent !important;
	color: #4a5568 !important;
	letter-spacing: .07em !important;
	line-height: 1.4 !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filter-select {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 12px 16px !important;
	min-height: 46px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .55), inset -3px -3px 8px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filter-select:focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filters-actions { gap: 12px !important; }

/* --- Boutons pilules neumorphiques. Le bouton danger « Annuler ma réservation »
   (.js-danz-cancel) garde son style inline rouge pâle, lisible partout. --- */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn:not(.js-danz-cancel) {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
	min-height: 46px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .55), -5px -5px 12px rgba(255, 255, 255, .9) !important;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn:not(.js-danz-cancel):focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn:not(.js-danz-cancel):hover {
	background: #f4f7fb !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn:not(.js-danz-cancel):active {
	background: #dce3ee !important;
	color: #111827 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .6), inset -3px -3px 8px rgba(255, 255, 255, .85) !important;
}
/* Primaire : accent franc, blanc pur : contraste net assumé. */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn.danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.danz-design--soft .button,
.danz-studio-widget--danz-horaire.danz-design--soft button[type="submit"] {
	background: var(--ds-accent, #7c3aed) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	box-shadow: 5px 5px 14px rgba(124, 58, 237, .3), -5px -5px 12px rgba(255, 255, 255, .8) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn.danz-fe-btn--primary:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--soft .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--soft button[type="submit"]:focus-visible {
	background: var(--ds-accent, #7c3aed) !important;
	color: #ffffff !important;
	outline: 3px solid #2d3748 !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn.danz-fe-btn--primary:hover,
.danz-studio-widget--danz-horaire.danz-design--soft .button:hover,
.danz-studio-widget--danz-horaire.danz-design--soft button[type="submit"]:hover {
	background: #6d28d9 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 82%, #111827) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn.danz-fe-btn--primary:active,
.danz-studio-widget--danz-horaire.danz-design--soft .button:active,
.danz-studio-widget--danz-horaire.danz-design--soft button[type="submit"]:active {
	background: #5b21b6 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 68%, #111827) !important;
	color: #ffffff !important;
	box-shadow: inset 3px 3px 8px rgba(17, 24, 39, .35) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-btn.danz-fe-btn--sm {
	padding: 8px 18px !important;
	min-height: 40px !important;
}

/* --- Navigation semaine. --- */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav {
	padding: 16px 18px !important;
	margin: 0 0 26px !important;
	gap: 12px !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-btn {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	min-height: 44px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .55), -5px -5px 12px rgba(255, 255, 255, .9) !important;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-btn:focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-btn:hover:not(.is-disabled) {
	background: #f4f7fb !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-btn:active:not(.is-disabled) {
	background: #dce3ee !important;
	color: #111827 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .6), inset -3px -3px 8px rgba(255, 255, 255, .85) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-btn.is-disabled {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #51607a !important;
	box-shadow: none !important;
	opacity: .6 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-center strong {
	background: transparent !important;
	color: #111827 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-range {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}

/* --- Vue SEMAINE : pilules de jours en relief, heures creusées, cellules douces. --- */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-wrap { padding: 16px !important; }
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-wrap { padding: 20px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-table {
	border-collapse: separate !important;
	border-spacing: 10px !important;
	min-width: 740px;
	/* Les tokens sombres du site ne doivent pas transparaître sous les
	   cellules translucides : la grille repose sur le fond Douceur. */
	background: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-table tbody,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-table tbody tr {
	background: transparent !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-table { border-spacing: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--soft th.danz-fe-planning__week-day-col {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .5), -5px -5px 12px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft th.danz-fe-planning__week-time-col {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4a5568 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .5), -5px -5px 12px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft th.danz-fe-planning__week-time {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4a5568 !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	/* L'heure passe sur deux lignes plutôt que d'être rognée. */
	white-space: normal;
	min-width: 82px;
	vertical-align: top;
	box-shadow: inset 3px 3px 7px rgba(163, 177, 198, .45), inset -3px -3px 7px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft td.danz-fe-planning__week-cell {
	background: rgba(163, 177, 198, .14) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 8px !important;
	vertical-align: top !important;
	min-width: 104px;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-empty {
	background: transparent !important;
	color: #94a3b8 !important;
}
/* Cartes de cours : couleurs par cours conservées, relief doux. */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-card {
	border-radius: 14px !important;
	padding: 12px !important;
	border: 0 !important;
	box-shadow: 6px 6px 14px rgba(163, 177, 198, .5) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card-meta {
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-bottom: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card-cap { margin-bottom: 10px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-cap-pill {
	background: rgba(255, 255, 255, .95) !important;
	color: #1a202c !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-cap-full,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-cap-full {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
/* Bouton des cartes : blanc/encre, net sur toute couleur de cours. */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-btn {
	background: #ffffff !important;
	color: #1a202c !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	min-height: 42px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	width: 100%;
	box-shadow: 0 3px 8px rgba(26, 32, 44, .25) !important;
	transition: background-color .15s ease, color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__studios-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-btn:focus-visible {
	background: #ffffff !important;
	color: #1a202c !important;
	outline: 3px solid #1a202c !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__studios-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-btn:hover {
	background: #1a202c !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__studios-card-btn:active,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-btn:active {
	background: #5b21b6 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 70%, #111827) !important;
	color: #ffffff !important;
}

/* --- Vues LISTE et GRID : cartes moulées, liseré couleur de cours conservé
   (border-left inline non touché). --- */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__grid { gap: 28px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__cards { gap: 18px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__list { gap: 18px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__day-title {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 16px !important;
	letter-spacing: .08em !important;
	line-height: 1.4 !important;
	box-shadow: 4px 4px 10px rgba(163, 177, 198, .5), -4px -4px 10px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__card {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-radius: 20px !important;
	padding: 22px !important;
	box-shadow: 9px 9px 20px rgba(163, 177, 198, .55), -9px -9px 20px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__card:hover {
	box-shadow: 12px 12px 26px rgba(163, 177, 198, .6), -10px -10px 22px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__card.is-past { padding-top: 36px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__card-h {
	gap: 12px !important;
	margin-bottom: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__title {
	background: transparent !important;
	color: #111827 !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__subtitle {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__info {
	gap: 8px !important;
	margin-bottom: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__chip {
	background: #ffffff !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	line-height: 1.3 !important;
	box-shadow: 3px 3px 8px rgba(163, 177, 198, .4), -3px -3px 8px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__cap { margin-bottom: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__cap-text {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__cap-text strong {
	background: transparent !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__full {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__cap-bar {
	background: rgba(163, 177, 198, .3) !important;
	color: #2d3748 !important;
	height: 8px !important;
	box-shadow: inset 2px 2px 5px rgba(163, 177, 198, .5) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__seats {
	background: transparent !important;
	color: #2d3748 !important;
	gap: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__seats select {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
	box-shadow: inset 2px 2px 6px rgba(163, 177, 198, .5), inset -2px -2px 6px rgba(255, 255, 255, .9) !important;
}

/* --- Vue TABLEAU (groupée par jour). --- */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table-wrap { gap: 26px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table-day { padding: 20px !important; }
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table-day { padding: 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table-day-title {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 16px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	border: 0 !important;
	box-shadow: 4px 4px 10px rgba(163, 177, 198, .5), -4px -4px 10px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table {
	border-collapse: separate !important;
	border-spacing: 0 10px !important;
	width: 100% !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table thead th {
	background: rgba(163, 177, 198, .18) !important;
	color: #4a5568 !important;
	border: 0 !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table thead th:first-child { border-radius: 10px 0 0 10px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table thead th:last-child { border-radius: 0 10px 10px 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table tbody td {
	background: #ffffff !important;
	color: #2d3748 !important;
	border: 0 !important;
	padding: 14px !important;
	line-height: 1.45 !important;
	vertical-align: middle;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table tbody td:first-child { border-radius: 14px 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table tbody td:last-child { border-radius: 0 14px 14px 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table tbody tr:hover td {
	background: #f7f9fc !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table tbody tr.is-past td,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__table tbody tr.is-full td { opacity: .65; }

/* --- Badges d'état. --- */
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__wrooms-card.is-past::after {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 3px 10px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	top: 8px !important;
	right: 8px !important;
}
/* .danz-fe-planning__cancelled-badge : style inline rouge pâle du cœur,
   déjà apparié et lisible sur ce fond clair : on n'y touche pas. */

/* --- Mobile (≤767px) : filtres empilés pleine largeur, cibles ≥44px. --- */
@media (max-width: 767px) {
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filter { min-width: 100% !important; }
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filters-actions {
		width: 100% !important;
		margin-left: 0 !important;
	}
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto !important; }
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__nav-center {
		min-width: 100% !important;
		order: -1;
	}
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__card { padding: 18px !important; }
	.danz-studio-widget--danz-horaire.danz-design--soft .danz-fe-planning__card.is-past { padding-top: 34px !important; }
}

/* magazine : éditorial chic : ivoire, filets d'encre fins, titres serif, accent vermillon.
   Fond de bloc personnalisable via --ds-magazine-bg (défaut #faf7f2).
   Règle d'or respectée : chaque fond posé est apparié à sa couleur de texte. */
.danz-studio-widget--danz-horaire.danz-design--magazine {
	background: var(--ds-magazine-bg, #faf7f2) !important;
	color: #1c1917 !important;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	line-height: 1.55;
	padding: 20px 16px !important;
	border-top: 3px solid #1c1917 !important;
	border-bottom: 1px solid #1c1917 !important;
	border-radius: var(--ds-radius, 0) !important;
	font-size: 14px;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine { padding: 32px 28px !important; }
}
@media (min-width: 1025px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine { padding: 44px 40px !important; }
}

/* Titres éditoriaux en serif. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__card-h {
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 700;
}

/* Panneaux filtres + navigation : blocs papier à filet fin, très aérés. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 18px 16px !important;
	margin-bottom: 20px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filters,
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav { padding: 22px 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filter { gap: 8px !important; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filter-label {
	color: #7c2d12 !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	padding: 0 2px 2px;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filter-label { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	min-height: 44px;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #ffffff !important;
	color: #1c1917 !important;
}

/* Navigation semaine. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav { gap: 14px !important; align-items: center; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-center strong {
	color: #1c1917 !important;
	font-size: 21px !important;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-range {
	color: #57534e !important;
	font-variant-numeric: oldstyle-nums;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-btn {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 18px !important;
	min-height: 44px;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.3;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-btn { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-btn:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-btn:active {
	background: #44403c !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #faf7f2 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav-btn.is-disabled {
	background: #f1ece2 !important;
	color: #57534e !important;
	border-color: #a8a29e !important;
}

/* ÉTATS DES BOUTONS : fond + texte posés à chaque état (bat le thème du site). */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-design--magazine .button,
.danz-studio-widget--danz-horaire.danz-design--magazine button[type="submit"] {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 20px !important;
	min-height: 44px;
	font-weight: 600;
	font-size: 13px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.3;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn:hover,
.danz-studio-widget--danz-horaire.danz-design--magazine .button:hover,
.danz-studio-widget--danz-horaire.danz-design--magazine button[type="submit"]:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn:active,
.danz-studio-widget--danz-horaire.danz-design--magazine .button:active,
.danz-studio-widget--danz-horaire.danz-design--magazine button[type="submit"]:active {
	background: #44403c !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--magazine .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--magazine button[type="submit"]:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #faf7f2 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn--primary {
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn--primary:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn--primary:active {
	background: #7c2d12 !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #1c1917 !important;
	outline-offset: 2px;
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn--sm { padding: 10px 14px !important; min-height: 44px; }
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-btn--sm { padding: 8px 14px !important; min-height: 38px; }
}

/* Vue SEMAINE : grille papier, filets fins, jours en petites capitales espacées. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-wrap {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-table {
	border-collapse: collapse !important;
	background: #fffdf8 !important;
	color: #1c1917 !important;
	width: 100%;
	min-width: 760px;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-table thead th {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 600;
	padding: 16px 12px !important;
	border-bottom: 2px solid #1c1917 !important;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-table thead th { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine th.danz-fe-planning__week-time {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 400;
	font-variant-numeric: oldstyle-nums;
	font-size: 14px !important;
	padding: 14px 12px !important;
	border-right: 1px solid #1c1917 !important;
	border-bottom: 1px solid #e5ddcd !important;
	white-space: nowrap;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-design--magazine td.danz-fe-planning__week-cell {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border-bottom: 1px solid #e5ddcd !important;
	padding: 10px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-empty { color: #6f675a !important; }

/* Cartes de cours : blocs ivoire à filet d'encre, liseré vermillon (identité du skin
   → repeint les couleurs inline des cours en semaine, paire fond+texte). */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__wrooms-card {
	background: #ffffff !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-left: 4px solid var(--ds-accent, #c2410c) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 14px 14px 14px 16px !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-title {
	color: #1c1917 !important;
	font-size: 15px !important;
	line-height: 1.4;
	margin: 0 0 6px;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-meta {
	color: #57534e !important;
	font-size: 13px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-cap { margin-top: 10px; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-cap-pill {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 4px 10px !important;
	font-size: 13px !important;
	letter-spacing: .05em;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-cap-full {
	background: #7f1d1d !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	padding: 4px 10px !important;
	font-size: 13px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-cap-pill,
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-cap-full { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-btn {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	width: 100%;
	margin-top: 12px;
	padding: 11px 14px !important;
	min-height: 44px;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.2;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-btn { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-btn:hover {
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-btn:active {
	background: #7c2d12 !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #1c1917 !important;
	color: #faf7f2 !important;
}

/* Badges d'état : place réservée en haut à droite + badge encre sur ivoire. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__wrooms-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__wrooms-card.is-past::after {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-radius: 0 !important;
	padding: 3px 8px !important;
	font-size: 11px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	top: 6px;
	right: 6px;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__card.is-cancelled,
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__week-card.is-cancelled {
	background: #fbf3ef !important;
	color: #7f1d1d !important;
	border-color: #7f1d1d !important;
}

/* Vues LISTE / GRID : cartes papier, le liseré gauche inline (couleur du cours)
   est conservé : on ne repeint que les 3 autres côtés. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__list > li { margin: 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__card {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border-top: 1px solid #1c1917 !important;
	border-right: 1px solid #1c1917 !important;
	border-bottom: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 20px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__card { padding: 24px 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__card-h {
	padding: 0 0 12px !important;
	margin: 0 0 14px !important;
	border-bottom: 1px solid #e5ddcd !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__title-wrap { gap: 10px; }

/* Vue TABLEAU par jour : titres serif soulignés d'un filet, lignes aérées. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table-day { margin: 0 0 30px !important; }
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table-day-title {
	color: #1c1917 !important;
	font-size: 21px !important;
	line-height: 1.4;
	padding: 0 0 10px !important;
	margin: 0 0 14px !important;
	border-bottom: 2px solid #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-collapse: collapse !important;
	width: 100%;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table thead th {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 700;
	padding: 13px 14px !important;
	border-bottom: 2px solid #1c1917 !important;
	text-align: left;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table thead th { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table tbody td {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	padding: 14px !important;
	border-bottom: 1px solid #e5ddcd !important;
	font-size: 14px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table tbody tr:hover td {
	background: #f5efe3 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__table tbody tr.is-past td {
	background: #f7f3ea !important;
	color: #6f675a !important;
}

/* État vide. */
.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-empty-state {
	background: #fffdf8 !important;
	color: #57534e !important;
	border: 1px dashed #1c1917 !important;
	border-radius: 0 !important;
	padding: 28px !important;
	text-align: center;
}

/* Mobile : filtres empilés, cibles tactiles pleine largeur, rien ne colle aux bords. */
@media (max-width: 767px) {
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filters-inner {
		flex-direction: column;
		align-items: stretch !important;
		gap: 14px !important;
	}
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filter { min-width: 0 !important; width: 100%; }
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filters-actions {
		margin-left: 0 !important;
		width: 100%;
		flex-direction: column;
		gap: 10px !important;
	}
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__filters-actions .danz-fe-btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
	.danz-studio-widget--danz-horaire.danz-design--magazine .danz-fe-planning__nav { justify-content: center; }
}

/* cyber : néon nuit : nightclub assumé sur noir bleuté, bordures et bandeaux néon,
   boutons fond néon → texte NOIR (hover inversé). Fond personnalisable via
   --ds-cyber-bg (défaut #050510). Le glow reste sur les boîtes (spread négatif),
   jamais en flou sur le corps du texte : lisibilité AA garantie. */
.danz-studio-widget--danz-horaire.danz-design--cyber {
	background: var(--ds-cyber-bg, #050510) !important;
	color: #e0f2fe !important;
	line-height: 1.55;
	padding: 18px 14px !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: var(--ds-radius, 18px) !important;
	box-shadow: 0 0 24px -8px var(--ds-accent, #22d3ee), inset 0 0 40px -30px var(--ds-accent, #22d3ee) !important;
	font-size: 14px;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber { padding: 28px 24px !important; }
}
@media (min-width: 1025px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber { padding: 36px 32px !important; }
}

/* Titres : blanc pur + halo néon subtil (le glyphe reste net, le glow est derrière). */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card-h {
	color: #ffffff !important;
	text-shadow: 0 0 10px var(--ds-accent, #22d3ee);
}

/* Panneaux filtres + navigation : plaques sombres cerclées de néon, très aérées. */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav {
	background: #0b0b1e !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 18px -8px var(--ds-accent, #22d3ee) !important;
	padding: 18px 16px !important;
	margin-bottom: 20px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filters,
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav { padding: 22px 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filter { gap: 8px !important; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filter-label {
	color: #7dd3fc !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .14em;
	padding: 0 2px 2px;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filter-label { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filter-select,
.danz-studio-widget--danz-horaire.danz-design--cyber select,
.danz-studio-widget--danz-horaire.danz-design--cyber input[type="text"] {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	min-height: 44px;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-design--cyber select option {
	background: #0d0d24;
	color: #e0f2fe;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filter-select:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--cyber select:focus-visible {
	outline: 3px solid var(--ds-accent, #22d3ee) !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}

/* Navigation semaine. */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav { gap: 14px !important; align-items: center; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-center strong { font-size: 20px !important; line-height: 1.4; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-range {
	color: #7dd3fc !important;
	font-variant-numeric: tabular-nums;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-btn {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 18px !important;
	min-height: 44px;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.3;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-btn:hover {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border-color: var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 14px -2px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-btn:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav-btn.is-disabled {
	background: #0b0b1e !important;
	color: #94a3b8 !important;
	border-color: rgba(148,163,184,.3) !important;
	box-shadow: none !important;
}

/* ÉTATS DES BOUTONS : néon → texte NOIR, hover inversé (fond noir → texte néon). */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-design--cyber .button,
.danz-studio-widget--danz-horaire.danz-design--cyber button[type="submit"] {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 20px !important;
	min-height: 44px;
	font-weight: 600;
	font-size: 13px !important;
	letter-spacing: .04em;
	line-height: 1.3;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn:hover,
.danz-studio-widget--danz-horaire.danz-design--cyber .button:hover,
.danz-studio-widget--danz-horaire.danz-design--cyber button[type="submit"]:hover {
	background: #16163a !important;
	color: #ffffff !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn:active,
.danz-studio-widget--danz-horaire.danz-design--cyber .button:active,
.danz-studio-widget--danz-horaire.danz-design--cyber button[type="submit"]:active {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--cyber .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-design--cyber button[type="submit"]:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn--primary {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee) !important;
	font-weight: 800;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn--primary:hover {
	background: #050510 !important;
	color: var(--ds-accent, #22d3ee) !important;
	border-color: var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 14px -2px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn--primary:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn--sm { padding: 10px 14px !important; min-height: 44px; }
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-btn--sm { padding: 8px 14px !important; min-height: 38px; }
}

/* Vue SEMAINE : en-têtes de jours en bandeaux néon (texte noir, net, sans glow). */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-wrap {
	background: #08081a !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 18px -8px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-table {
	border-collapse: collapse !important;
	background: #08081a !important;
	color: #e0f2fe !important;
	width: 100%;
	min-width: 760px;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-table thead th {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 800;
	padding: 13px 12px !important;
	border: 0 !important;
	border-right: 1px solid rgba(5,5,16,.35) !important;
	text-shadow: none;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-table thead th { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--cyber th.danz-fe-planning__week-time {
	background: #0b0b1e !important;
	color: #7dd3fc !important;
	font-variant-numeric: tabular-nums;
	font-size: 13px !important;
	font-weight: 600;
	padding: 14px 12px !important;
	border-right: 1px solid rgba(125,211,252,.25) !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	white-space: nowrap;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-design--cyber td.danz-fe-planning__week-cell {
	background: #08081a !important;
	color: #e0f2fe !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	padding: 10px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-empty { color: #94a3b8 !important; }

/* Cartes de cours : plaques sombres à bordure néon + glow (identité du skin →
   repeint les couleurs inline des cours, paire fond+texte). */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__wrooms-card {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: 12px !important;
	box-shadow: 0 0 12px -1px var(--ds-accent, #22d3ee) !important;
	padding: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-title {
	font-size: 15px !important;
	line-height: 1.4;
	margin: 0 0 6px;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-meta {
	color: #bae6fd !important;
	font-size: 13px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-cap { margin-top: 10px; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-cap-pill {
	background: #16163a !important;
	color: #7dd3fc !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 999px !important;
	padding: 4px 11px !important;
	font-size: 13px !important;
	letter-spacing: .04em;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-cap-full {
	background: #fb7185 !important;
	color: #050510 !important;
	border-radius: 999px !important;
	padding: 4px 11px !important;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-cap-pill,
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-cap-full { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-btn {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: 8px !important;
	width: 100%;
	margin-top: 12px;
	padding: 11px 14px !important;
	min-height: 44px;
	font-size: 13px !important;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee) !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-btn { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-btn:hover {
	background: #050510 !important;
	color: var(--ds-accent, #22d3ee) !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-btn:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
}

/* Badges d'état : place réservée en haut à droite, badge ardoise lisible. */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__wrooms-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__wrooms-card.is-past::after {
	background: #334155 !important;
	color: #f1f5f9 !important;
	border-radius: 999px !important;
	padding: 3px 9px !important;
	font-size: 11px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	top: 6px;
	right: 6px;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card.is-past {
	border-color: rgba(148,163,184,.45) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card.is-cancelled,
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__week-card.is-cancelled {
	background: #1a0d16 !important;
	color: #fecdd3 !important;
	border-color: #fb7185 !important;
	box-shadow: 0 0 12px -3px #fb7185 !important;
}

/* Vues LISTE / GRID : plaques néon, le liseré gauche inline (couleur du cours)
   est conservé comme tranche lumineuse : on ne repeint que les 3 autres côtés. */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__list > li { margin: 0 !important; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border-top: 1px solid rgba(125,211,252,.35) !important;
	border-right: 1px solid rgba(125,211,252,.35) !important;
	border-bottom: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 14px -6px var(--ds-accent, #22d3ee) !important;
	padding: 20px !important;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card { padding: 24px 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__card-h {
	padding: 0 0 12px !important;
	margin: 0 0 14px !important;
	border-bottom: 1px solid rgba(125,211,252,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__title-wrap { gap: 10px; }

/* Vue TABLEAU par jour : titre de jour en bandeau néon, lignes sombres aérées. */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table-day { margin: 0 0 30px !important; }
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table-day-title {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	display: inline-block;
	padding: 8px 16px !important;
	margin: 0 0 14px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	line-height: 1.4;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee);
	text-shadow: none;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table {
	background: #08081a !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.3) !important;
	border-radius: 12px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden;
	width: 100%;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table thead th {
	background: #16163a !important;
	color: #7dd3fc !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 700;
	padding: 13px 14px !important;
	border-bottom: 1px solid var(--ds-accent, #22d3ee) !important;
	text-align: left;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table thead th { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table tbody td {
	background: #08081a !important;
	color: #e0f2fe !important;
	padding: 14px !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	font-size: 14px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table tbody tr:hover td {
	background: #131335 !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__table tbody tr.is-past td {
	background: #0b0b1e !important;
	color: #94a3b8 !important;
}

/* État vide. */
.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-empty-state {
	background: #0b0b1e !important;
	color: #bae6fd !important;
	border: 1px dashed rgba(125,211,252,.5) !important;
	border-radius: 14px !important;
	padding: 28px !important;
	text-align: center;
}

/* Mobile : filtres empilés, cibles tactiles pleine largeur, glow contenu. */
@media (max-width: 767px) {
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filters-inner {
		flex-direction: column;
		align-items: stretch !important;
		gap: 14px !important;
	}
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filter { min-width: 0 !important; width: 100%; }
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filters-actions {
		margin-left: 0 !important;
		width: 100%;
		flex-direction: column;
		gap: 10px !important;
	}
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__filters-actions .danz-fe-btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
	.danz-studio-widget--danz-horaire.danz-design--cyber .danz-fe-planning__nav { justify-content: center; }
}

/* =====================================================================
   v1.4.2 : COUCHE DE PERSONNALISATION PRIORITAIRE (classes has-ds-*)
   Le widget n'émet ces classes QUE si l'utilisateur a réellement défini
   le réglage (Personnalisation : fond, texte, accent, bordures, arrondi,
   espace intérieur, taille du texte). Elles doivent alors GAGNER sur les
   couleurs en dur des skins : spécificité volontairement gonflée par
   répétition de classe. Les cartes de cours (couleurs par cours en style
   inline) et les boutons (paires propres) ne sont pas écrasés, sauf
   l'accent qui recolore les boutons primaires avec texte auto-apparié
   (--ds-accent-contrast calculé côté widget).
   ===================================================================== */

/* Fond du bloc : remplace aussi les dégradés des skins (choix explicite). */
.danz-studio-widget.has-ds-bg.has-ds-bg.has-ds-bg {
	background: var(--ds-bg) !important;
}

/* Espace intérieur. */
.danz-studio-widget.has-ds-pad.has-ds-pad.has-ds-pad {
	padding: var(--ds-pad) !important;
}

/* Arrondi : bloc + panneaux + champs + boutons + cartes. */
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius,
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius .danz-fe-planning__filters,
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius .danz-fe-planning__filter-select,
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius .danz-fe-planning__nav,
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius .danz-fe-planning__nav-btn,
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius .danz-fe-btn,
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius .danz-fe-card,
.danz-studio-widget.has-ds-radius.has-ds-radius.has-ds-radius .danz-fe-planning__week-card {
	border-radius: var(--ds-radius) !important;
}

/* Couleur des bordures. */
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-planning__filters,
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-planning__filter-select,
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-planning__nav,
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-card,
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-planning__week-table th,
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-planning__week-table td,
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-planning__table th,
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border .danz-fe-planning__table td {
	border-color: var(--ds-border) !important;
}

/* Couleur du texte : textes « libres » du bloc. Les cartes de cours
   (style inline par cours) et l'intérieur des boutons gardent leur paire. */
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__filter-label,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__nav-center strong,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__nav-range,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__table-day-title,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__week-table th,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__week-table td,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__table th,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__table td,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-planning__compact-item,
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text .danz-fe-empty-state {
	color: var(--ds-text) !important;
}

/* Jetons des composants Danz Studio (contact, espace élève, cartes…). Ils
   valent au niveau :root, réglés par le thème d'après son ambiance : sans
   cela, un bloc sombre posé sur une ambiance claire garde l'encre sombre
   du thème (texte invisible). Le bloc personnalisé les redéfinit pour
   tout ce qu'il contient. */
.danz-studio-widget.has-ds-text.has-ds-text.has-ds-text {
	--danz-fe-text: var(--ds-text);
	--danz-fe-text-muted: color-mix(in srgb, var(--ds-text) 72%, transparent);
}
.danz-studio-widget.has-ds-bg.has-ds-bg.has-ds-bg {
	--danz-fe-bg: var(--ds-bg);
	--danz-fe-surface: color-mix(in srgb, var(--ds-bg) 94%, #808080);
	--danz-fe-surface-2: var(--ds-bg);
}
.danz-studio-widget.has-ds-border.has-ds-border.has-ds-border {
	--danz-fe-border: var(--ds-border);
}

/* Accent : boutons primaires + bandeaux de jours, texte auto-apparié. */
.danz-studio-widget.has-ds-accent.has-ds-accent.has-ds-accent.has-ds-accent .danz-fe-btn--primary,
.danz-studio-widget.has-ds-accent.has-ds-accent.has-ds-accent.has-ds-accent .danz-fe-planning__filters button[type="submit"] {
	background: var(--ds-accent) !important;
	border-color: var(--ds-accent) !important;
	color: var(--ds-accent-contrast, #ffffff) !important;
}
.danz-studio-widget.has-ds-accent.has-ds-accent.has-ds-accent.has-ds-accent .danz-fe-btn--primary:hover,
.danz-studio-widget.has-ds-accent.has-ds-accent.has-ds-accent.has-ds-accent .danz-fe-planning__filters button[type="submit"]:hover {
	background: var(--ds-accent) !important;
	border-color: var(--ds-accent) !important;
	color: var(--ds-accent-contrast, #ffffff) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-accent) 35%, transparent) !important;
}
/* 4e répétition : l'accent (fond posé) doit battre la couche texte
   (règle d'or : le texte apparié suit le fond). */
.danz-studio-widget.has-ds-accent.has-ds-accent.has-ds-accent.has-ds-accent th.danz-fe-planning__week-day-col {
	background: var(--ds-accent) !important;
	border-color: var(--ds-accent) !important;
	color: var(--ds-accent-contrast, #ffffff) !important;
}

/* Taille du texte : corps ; les titres suivent proportionnellement. */
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__week-table td,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__week-table th,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__table td,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__table th,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__filter-label,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__filter-select,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__compact-item,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-card {
	font-size: var(--ds-fs) !important;
}
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__table-day-title,
.danz-studio-widget.has-ds-fs.has-ds-fs.has-ds-fs .danz-fe-planning__nav-center strong {
	font-size: calc(var(--ds-fs) * 1.2) !important;
}

/* =====================================================================
   v1.9.0 : Habillage « Simple Max » : une couleur de fond par jour.

   Sur un horaire chargé, l'œil cherche d'abord le jour. Cet habillage
   reste sobre (ni ombre ni dégradé) et confie toute la lecture à un
   aplat derrière chaque journée. Les sept teintes viennent du builder
   (`--ds-day-1` … `--ds-day-7`, avec leur encre appariée) et le rendu
   marque chaque journée d'un `data-dow` (1 = lundi), calculé sur la
   date réelle : en fenêtre glissante, un nth-child se tromperait.
   ===================================================================== */
.danz-studio-widget--danz-horaire.danz-design--simple_max {
	background: var(--ds-bg, #ffffff);
	color: var(--ds-text, #111827);
}
.danz-studio-widget--danz-horaire.danz-design--simple_max .danz-fe-planning__day,
.danz-studio-widget--danz-horaire.danz-design--simple_max .danz-fe-planning__wrooms-day,
.danz-studio-widget--danz-horaire.danz-design--simple_max .danz-fe-planning__studios-day,
.danz-studio-widget--danz-horaire.danz-design--simple_max .danz-fe-planning__table-day {
	border-radius: var(--ds-radius, 14px);
	padding: 14px 16px;
	margin-bottom: 14px;
	border: 0;
	box-shadow: none;
	transition: background-color .2s ease;
}
/* v1.9.1 : Les aplats par jour s'ajoutent à N'IMPORTE quel habillage.
   Colorer ses journées ne doit pas coûter sa palette à une école : la
   classe `has-ds-days` suffit, l'habillage en place n'est pas touché. */
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="1"] { background: var(--ds-day-1, #dbeafe) !important; background-color: var(--ds-day-1, #dbeafe) !important; }
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="2"] { background: var(--ds-day-2, #dcfce7) !important; background-color: var(--ds-day-2, #dcfce7) !important; }
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="3"] { background: var(--ds-day-3, #fef3c7) !important; background-color: var(--ds-day-3, #fef3c7) !important; }
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="4"] { background: var(--ds-day-4, #fce7f3) !important; background-color: var(--ds-day-4, #fce7f3) !important; }
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="5"] { background: var(--ds-day-5, #e0e7ff) !important; background-color: var(--ds-day-5, #e0e7ff) !important; }
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="6"] { background: var(--ds-day-6, #ffedd5) !important; background-color: var(--ds-day-6, #ffedd5) !important; }
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="7"] { background: var(--ds-day-7, #e2e8f0) !important; background-color: var(--ds-day-7, #e2e8f0) !important; }
/* Le titre du jour prend l'encre appariée à SON fond : pas celle héritée
   de l'habillage, qui serait un gris clair sur une teinte claire. Les
   boutons, eux, ne sont pas concernés : ils gardent leurs couleurs. */
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="1"] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="1"] .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="1"] .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="1"] .danz-fe-planning__compact-day-title {
	color: var(--ds-day-1-text, #111827) !important;
	opacity: .9;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="2"] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="2"] .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="2"] .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="2"] .danz-fe-planning__compact-day-title {
	color: var(--ds-day-2-text, #111827) !important;
	opacity: .9;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="3"] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="3"] .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="3"] .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="3"] .danz-fe-planning__compact-day-title {
	color: var(--ds-day-3-text, #111827) !important;
	opacity: .9;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="4"] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="4"] .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="4"] .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="4"] .danz-fe-planning__compact-day-title {
	color: var(--ds-day-4-text, #111827) !important;
	opacity: .9;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="5"] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="5"] .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="5"] .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="5"] .danz-fe-planning__compact-day-title {
	color: var(--ds-day-5-text, #111827) !important;
	opacity: .9;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="6"] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="6"] .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="6"] .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="6"] .danz-fe-planning__compact-day-title {
	color: var(--ds-day-6-text, #111827) !important;
	opacity: .9;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="7"] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="7"] .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="7"] .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow="7"] .danz-fe-planning__compact-day-title {
	color: var(--ds-day-7-text, #111827) !important;
	opacity: .9;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] {
	border-radius: var(--ds-radius, 14px);
	padding: 12px 14px;
	margin-bottom: 12px;
	/* L'aplat de couleur délimite déjà la journée : le liseré du planning
	   par-dessus faisait un cadre inutile, et sale sur teinte soutenue. */
	border: 0 !important;
	box-shadow: none !important;
}

/* Chaque cours se détache de l'aplat de la journée.
   Sur un fond coloré, les cartes se fondaient dans la couleur du jour :
   deux cours qui se suivent formaient un pavé continu. On leur rend une
   surface propre, un liseré discret et de l'air entre elles ; le créneau
   horaire, lui, devient une pastille pleine qui se lit d'un coup d'œil. */
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] .danz-fe-planning__wrooms-card,
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] .danz-fe-planning__card {
	/* Surtout PAS de blanc : une école en thème sombre choisit des teintes
	   de jour sombres, et son texte est clair. Un fond blanc imposé rendait
	   les intitulés invisibles. Un voile blanc à 9 % éclaircit juste assez
	   pour détacher la carte, quelle que soit la teinte du jour, et le
	   texte garde la couleur de l'habillage. */
	background-color: rgba(255, 255, 255, .09) !important;
	border: 1px solid rgba(127, 127, 127, .30) !important;
	border-radius: 10px;
	box-shadow: none;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] .danz-fe-planning__wrooms-col-body {
	gap: 14px;
}
/* Le créneau : pastille pleine, encre appariée au jour, bien lisible. */
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] .danz-fe-planning__wrooms-slot {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .02em;
	padding: 5px 10px;
	border-radius: 999px;
	background-color: rgba(17, 24, 39, .82) !important;
	color: #ffffff !important;
	margin-top: 10px;
	display: inline-block;
	align-self: center;
}
/* Chaque cours dans son enveloppe : un voile clair posé sur l'aplat du
   jour, qui réunit l'heure et sa carte et sépare nettement deux cours
   d'une même salle. La couleur de la journée transparaît au travers :
   on garde le repère du jour tout en distinguant les cours. */
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] .danz-fe-planning__wrooms-item {
	/* Un voile NEUTRE, pas un fond blanc : à 44 % de blanc, la teinte du
	   jour était délavée et l'enveloppe paraissait blanche. Une ombre
	   translucide très légère suffit à détourer le cours en laissant la
	   couleur de la journée dominer. `!important` est nécessaire : les
	   habillages sombres imposent `background-color: transparent` à tous
	   leurs descendants. */
	background-color: rgba(255, 255, 255, .05) !important;
	border: 1px solid rgba(127, 127, 127, .26) !important;
	border-radius: 14px;
	padding: 10px 10px 12px;
}
.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] .danz-fe-planning__wrooms-item .danz-fe-planning__wrooms-slot {
	margin-top: 0;
}

/* Boutons et liens d'action : hors de portée des aplats de jour. */
.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .danz-fe-btn,
.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .danz-fe-planning__wrooms-btn,
.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.has-ds-days [data-dow] button,
.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .button {
	/* v1.9.8 : Le bouton « Réserver » peut avoir SA couleur, réglée à côté
	   des teintes de jour. À défaut, il garde celle des boutons du widget,
	   puis l'accent. Les filtres, eux, ne sont pas concernés : ils vivent
	   hors des blocs de journée. */
	color: var(--ds-daybtn-text, var(--ds-btn-text, #ffffff));
	background-color: var(--ds-daybtn-bg, var(--ds-btn-bg, var(--ds-accent, #6366f1)));
}

.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow="1"] { background: var(--ds-day-1, #dbeafe); color: var(--ds-day-1-text, #111827); }
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow="2"] { background: var(--ds-day-2, #dcfce7); color: var(--ds-day-2-text, #111827); }
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow="3"] { background: var(--ds-day-3, #fef3c7); color: var(--ds-day-3-text, #111827); }
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow="4"] { background: var(--ds-day-4, #fce7f3); color: var(--ds-day-4-text, #111827); }
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow="5"] { background: var(--ds-day-5, #e0e7ff); color: var(--ds-day-5-text, #111827); }
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow="6"] { background: var(--ds-day-6, #ffedd5); color: var(--ds-day-6-text, #111827); }
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow="7"] { background: var(--ds-day-7, #e2e8f0); color: var(--ds-day-7-text, #111827); }
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow] .danz-fe-planning__wrooms-day-title {
	color: inherit;
	opacity: .85;
}
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow] .danz-fe-planning__card,
.danz-studio-widget--danz-horaire.danz-design--simple_max [data-dow] .danz-fe-planning__wrooms-card {
	background: rgba(255, 255, 255, .82);
	color: #111827;
	border: 1px solid rgba(17, 24, 39, .08);
	box-shadow: none;
}
/* ==========================================================================
   v1.7.3 : Vos couleurs de boutons passent devant celles de l'habillage.
   --------------------------------------------------------------------------
   Chaque habillage écrit ses boutons en `!important`, et les variantes
   desktop/mobile (`danz-dd--`, `danz-dm--`) les réécrivent plus bas dans le
   fichier. La couche de personnalisation, posée à la ligne 700, perdait donc
   contre elles par simple ordre d'écriture : on choisissait un fond de
   bouton qui ne s'appliquait nulle part.

   Cette couche-ci est la dernière du fichier et double la classe pour peser
   plus lourd. Elle ne s'active que si une couleur a été choisie : un site
   qui n'y touche pas garde exactement ses boutons d'origine.
   ========================================================================== */
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg button[type="submit"],
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__wrooms-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-trial__btn,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-trial__add {
	background: var(--ds-btn-bg) !important;
	background-image: none !important;   /* certains habillages posent un dégradé */
	border-color: var(--ds-btn-bg) !important;
}
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text button[type="submit"],
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-planning__wrooms-btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-trial__btn,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-trial__add,
/* Les filtres sont des <select> : ils reçoivent le fond des boutons, il leur
   faut donc la même encre. Sans cette ligne, un filtre au fond sombre gardait
   le texte sombre de l'habillage : noir sur noir, illisible. */
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-planning__filter-select,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text .danz-fe-planning__filter-select option,
.danz-studio-widget--danz-horaire.has-ds-btn-text.has-ds-btn-text select {
	color: var(--ds-btn-text) !important;
}
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__filter-select,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg select {
	background: var(--ds-btn-bg) !important;
	background-image: none !important;
	border-color: var(--ds-btn-bg) !important;
}
/* Une liste déroulante ouverte est peinte par le système : ses options
   doivent porter un couple fond+texte cohérent, sinon le navigateur mélange
   le fond du site et l'encre de l'habillage. */
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__filter-select option {
	background: var(--ds-btn-bg) !important;
}

/* Survol, clic et focus suivent la même couleur, simplement assombrie :
   un bouton qui change de teinte au survol trahirait le réglage. */
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn:hover,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn--primary:hover,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__nav-btn:hover,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-trial__btn:hover {
	background: var(--ds-btn-bg) !important;
	filter: brightness(.92);
}
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn:active,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn--primary:active,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg button[type="submit"]:active,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__nav-btn:active {
	background: var(--ds-btn-bg) !important;
	filter: brightness(.84);
}
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn:focus-visible,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-btn--primary:focus-visible,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg button[type="submit"]:focus-visible,
.danz-studio-widget--danz-horaire.has-ds-btn-bg.has-ds-btn-bg .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid var(--ds-btn-text, #ffffff) !important;
	outline-offset: 2px !important;
}

/* ==========================================================================
   v1.7.5 : Le planning d'un habillage clair reste clair, même si le visiteur
   a choisi le mode sombre de son système.
   --------------------------------------------------------------------------
   Danz Studio bascule ses jetons de couleur sous `prefers-color-scheme: dark`
   ce qui est utile pour l'espace membre, désastreux ici : l'habillage « Standard »,
   « Affiche N&B » ou « Magazine » garde son fond blanc et recevait un texte
   quasi blanc. Les titres de jour, les intitulés de filtre et la navigation
   passaient donc à 1,1:1 (invisibles) chez tout visiteur en mode sombre.
   Le fond était clair, l'encre suivait le système : personne ne pouvait le
   voir depuis un back-office en mode clair.

   Un habillage décide de ses couleurs : on restaure donc la palette claire
   dans le widget. Les habillages sombres (Sombre élégant, Néon nuit, Ardoise…)
   réécrivent la leur juste après, en `!important` : ils ne sont pas touchés.
   ========================================================================== */
@media (prefers-color-scheme: dark) {
	.danz-studio-widget--danz-horaire {
		--danz-fe-bg: #ffffff;
		--danz-fe-surface: #ffffff;
		--danz-fe-surface-2: #f9fafb;
		--danz-fe-text: #111827;
		--danz-fe-text-muted: #6b7280;
		--danz-fe-border: #e5e7eb;
	}
	/* Un habillage explicitement sombre reprend la palette sombre. */
	.danz-studio-widget--danz-horaire.danz-design--dark,
	.danz-studio-widget--danz-horaire.danz-design--cyber,
	.danz-studio-widget--danz-horaire.danz-design--ardoise,
	.danz-studio-widget--danz-horaire.danz-design--glass,
	.danz-studio-widget--danz-horaire.danz-dd--dark,
	.danz-studio-widget--danz-horaire.danz-dd--cyber,
	.danz-studio-widget--danz-horaire.danz-dd--ardoise,
	.danz-studio-widget--danz-horaire.danz-dd--glass,
	.danz-studio-widget--danz-horaire.danz-dm--dark,
	.danz-studio-widget--danz-horaire.danz-dm--cyber,
	.danz-studio-widget--danz-horaire.danz-dm--ardoise,
	.danz-studio-widget--danz-horaire.danz-dm--glass {
		--danz-fe-bg: #0f172a;
		--danz-fe-surface: #1e293b;
		--danz-fe-surface-2: #0f172a;
		--danz-fe-text: #f1f5f9;
		--danz-fe-text-muted: #94a3b8;
		--danz-fe-border: #334155;
	}
}

/* v1.7.5 : Le bouton principal passait à 4,47:1 en blanc sur indigo, sous la
   barre des 4,5:1. Un indigo à peine plus profond suffit : 5,1:1. */
.danz-studio-widget--danz-horaire { --danz-fe-primary: #5457d8; }

/* ==========================================================================
   v1.8.2 : La navigation de semaine suit l'accent choisi.
   --------------------------------------------------------------------------
   The Embassy Room avait dû écrire ces règles à la main dans sa page pour
   que « Semaine précédente / suivante » porte son bordeaux : le widget
   n'exposait aucun lien entre l'accent et ces boutons. On généralise, et
   cette CSS sur mesure devient inutile : chez eux comme chez les autres.

   Ne s'applique qu'à une école qui a choisi un accent : sans réglage,
   l'habillage garde ses couleurs d'origine.
   ========================================================================== */
.danz-studio-widget--danz-horaire.has-ds-accent .danz-fe-planning__nav-btn:not(.is-disabled) {
	background: var(--ds-accent) !important;
	background-image: none !important;
	color: var(--ds-accent-contrast, #fff) !important;
	border: 1px solid var(--ds-accent) !important;
	opacity: 1;
}
.danz-studio-widget--danz-horaire.has-ds-accent .danz-fe-planning__nav-btn:not(.is-disabled):hover {
	/* Un anneau plutôt qu'un fond assombri : l'encre choisie pour le fond
	   d'origine y perdrait son contraste (noir sur rose : 4,7 → 3,8:1). */
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-accent) 35%, transparent) !important;
}
.danz-studio-widget--danz-horaire.has-ds-accent .danz-fe-planning__nav-btn:not(.is-disabled):focus-visible {
	outline: 3px solid var(--ds-accent-contrast, #fff) !important;
	outline-offset: 2px !important;
}
/* Désactivé : atténué mais lisible, jamais un bouton fantôme. */
.danz-studio-widget--danz-horaire.has-ds-accent .danz-fe-planning__nav-btn.is-disabled {
	background: rgba(127,127,127,.10) !important;
	color: var(--danz-fe-text-muted, #6b7280) !important;
	border: 1px solid transparent !important;
}

/* ===DANZ-DEVICE-SKINS:BEGIN=== (généré par scripts/generate-device-skins.py, NE PAS ÉDITER) */
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cards [class*="planning"] tbody tr,
.danz-studio-widget--danz-horaire.danz-dd--cards [class*="planning"] li,
.danz-studio-widget--danz-horaire.danz-dd--cards [class*="planning"] [role="row"]:not(:first-child),
.danz-studio-widget--danz-horaire.danz-dd--cards .danz-fe-planning__row,
.danz-studio-widget--danz-horaire.danz-dd--cards .danz-planning__row,
.danz-studio-widget--danz-horaire.danz-dd--cards .danz-planning-item,
.danz-studio-widget--danz-horaire.danz-dd--cards .danz-fe-empty-state {
	/* Fond OPAQUE apparié (règle d'or) : le site peut être sombre. */
	background: linear-gradient(135deg, #eef2ff, #fdf2f8) !important;
	color: #1e293b !important;
	border-left: 4px solid var(--ds-accent, var(--danz-color-primary, #6366f1)) !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	margin-bottom: 12px !important;
	box-shadow: 0 2px 12px rgba(15,23,42,.06) !important;
	display: block !important;
	transition: transform .15s, box-shadow .15s !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cards [class*="planning"] tbody tr:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(99,102,241,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cards [class*="planning"] table {
	border-collapse: separate !important;
	border-spacing: 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cards .danz-fe-planning__week-table thead {
	display: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cards th.danz-fe-planning__week-time {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	background: transparent !important;
	/* Encre explicite : la carte-ligne est claire et opaque. */
	color: #1e293b !important;
	border: 0 !important;
	padding: 0 0 10px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cards td.danz-fe-planning__week-cell {
	display: block !important;
	width: 100% !important;
	padding: 8px 0 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cards td.danz-fe-planning__week-cell::before {
	content: attr(data-day);
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--ds-accent, var(--danz-color-primary, #6366f1));
	/* Assombri vers l'encre : lisible sur la carte claire même si
	   l'accent choisi est pâle. */
	color: color-mix(in srgb, var(--ds-accent, #6366f1) 65%, #1e293b);
}
.danz-studio-widget--danz-horaire.danz-dd--cards td.danz-fe-planning__week-cell:has(> .danz-fe-planning__week-empty:only-child) {
	display: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cards .danz-fe-planning__week-empty {
	display: inline-block;
	opacity: .35;
	font-size: 12px;
}
.danz-studio-widget--danz-horaire.danz-dd--minimal {
	background: var(--ds-bg, #ffffff) !important;
	color: var(--ds-text, #1f2937) !important;
	padding: 24px !important;
	border-radius: var(--ds-radius, 12px);
}
.danz-studio-widget--danz-horaire.danz-dd--minimal .danz-fe-planning__filter-label {
	color: var(--ds-text, #374151) !important;
	opacity: .8;
}
.danz-studio-widget--danz-horaire.danz-dd--minimal .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dd--minimal .danz-fe-planning__nav-range {
	color: var(--ds-text, #1f2937) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--minimal [class*="planning"] tr,
.danz-studio-widget--danz-horaire.danz-dd--minimal [class*="planning"] li,
.danz-studio-widget--danz-horaire.danz-dd--minimal table tr {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	padding: 14px 4px !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--minimal .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--minimal .danz-fe-filters {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--minimal .danz-fe-planning__filter-select {
	background: transparent !important;
	color: inherit !important;
	border: 1px solid rgba(0,0,0,.18) !important;
	border-radius: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark {
	background: var(--ds-dark-bg, #0a0a0a) !important;
	color: var(--ds-dark-text, #f1f5f9) !important;
	padding: 24px !important;
	border-radius: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark *:not(.button):not(button):not(a) {
	color: inherit !important;
	background-color: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--dark .danz-fe-filters {
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	border-radius: 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark [class*="planning"] tr {
	border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark select,
.danz-studio-widget--danz-horaire.danz-dd--dark input[type="text"] {
	background: rgba(255,255,255,.06) !important;
	color: #f1f5f9 !important;
	border: 1px solid rgba(255,255,255,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark .button,
.danz-studio-widget--danz-horaire.danz-dd--dark button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dd--dark .danz-fe-btn--primary {
	/* v1.4.1 : stops assombris : blanc lisible sur tout le dégradé (≥5.5:1). */
	background: linear-gradient(135deg, #4338ca, #9d174d) !important;
	color: #fff !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--compact [class*="planning"] table td,
.danz-studio-widget--danz-horaire.danz-dd--compact [class*="planning"] table th {
	padding: 6px 8px !important;
	font-size: .85em !important;
}
.danz-studio-widget--danz-horaire.danz-dd--compact [class*="planning"] tr {
	padding: 6px 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel {
	background: var(--ds-pastel-bg, linear-gradient(160deg, #fdf2f8, #fce7f3)) !important;
	color: var(--ds-pastel-text, #831843) !important;
	padding: 16px !important;
	border-radius: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--pastel { padding: 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #831843 !important;
	border: 1px solid #fbcfe8 !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__filter-label { color: #9d174d !important; }
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #831843 !important;
	border: 1px solid #f9a8d4 !important;
	border-radius: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__nav-center strong { color: #831843 !important; }
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__nav-range { color: #9d174d !important; }
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__nav-btn {
	background: #fdf2f8 !important;
	color: #831843 !important;
	border: 1px solid #f9a8d4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #831843 !important;
	border-radius: 16px !important;
	overflow: hidden;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel [class*="planning"] th {
	background: #831843 !important;
	color: #fdf2f8 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel [class*="planning"] td { color: #831843 !important; }
.danz-studio-widget--danz-horaire.danz-dd--pastel .button,
.danz-studio-widget--danz-horaire.danz-dd--pastel button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-btn--primary {
	background: #db2777 !important;
	color: #ffffff !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--glass {
	/* v1.3.3 : fond personnalisable (contrôles « Fond du style Verre dépoli »),
	   texte auto-apparié par luminance côté widget. */
	background: var(--ds-glass-bg, linear-gradient(150deg, #1e1b4b 0%, #4c1d95 55%, #831843 100%)) !important;
	color: var(--ds-glass-text, #f5f3ff) !important;
	padding: 16px !important;
	border-radius: 22px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--glass { padding: 28px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-dd--glass [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__week-wrap {
	background: rgba(255,255,255,.10) !important;
	color: #f5f3ff !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	border-radius: 16px !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__filter-label,
.danz-studio-widget--danz-horaire.danz-dd--glass [class*="planning"] th,
.danz-studio-widget--danz-horaire.danz-dd--glass [class*="planning"] td { color: var(--ds-glass-text, #f5f3ff) !important; }
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__nav-range { color: #ddd6fe !important; }
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__nav-btn {
	background: rgba(255,255,255,.16) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,.35) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--glass select,
.danz-studio-widget--danz-horaire.danz-dd--glass input[type="text"] {
	background: rgba(255,255,255,.92) !important;
	color: #1e1b4b !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--glass .button,
.danz-studio-widget--danz-horaire.danz-dd--glass button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-btn--primary {
	background: #ffffff !important;
	color: #4c1d95 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--poster {
	background: var(--ds-poster-bg, #ffffff) !important;
	color: var(--ds-poster-text, #111111) !important;
	padding: 16px !important;
	border: 3px solid #111111 !important;
	border-radius: 0 !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--poster { padding: 28px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__filter-label {
	color: #111111 !important;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__nav-center strong {
	color: #111111 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__nav-btn {
	background: #111111 !important;
	color: #ffffff !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	text-transform: uppercase;
	font-size: 12px !important;
	letter-spacing: .05em;
}
.danz-studio-widget--danz-horaire.danz-dd--poster [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--poster [class*="planning"] th {
	background: #111111 !important;
	color: #ffffff !important;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.danz-studio-widget--danz-horaire.danz-dd--poster [class*="planning"] td { color: #111111 !important; }
.danz-studio-widget--danz-horaire.danz-dd--poster .button,
.danz-studio-widget--danz-horaire.danz-dd--poster button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-btn--primary {
	background: #fde047 !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--glass .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--glass button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-btn--primary:hover {
	background: #ede9fe !important;
	color: #3b0764 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--glass .button:active,
.danz-studio-widget--danz-horaire.danz-dd--glass button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-btn--primary:active {
	background: #c4b5fd !important;
	color: #3b0764 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--glass .danz-fe-planning__nav-btn:hover {
	background: rgba(255,255,255,.35) !important;
	/* Suit le texte auto-lisible : encre si fond personnalisé clair. */
	color: var(--ds-glass-text, #ffffff) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--pastel button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-btn--primary:hover {
	background: #be185d !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel .button:active,
.danz-studio-widget--danz-horaire.danz-dd--pastel button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-btn--primary:active {
	background: #9d174d !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--pastel .danz-fe-planning__nav-btn:hover {
	background: #fbcfe8 !important;
	color: #831843 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--poster .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--poster button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-btn--primary:hover {
	background: #111111 !important;
	color: #fde047 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--poster .button:active,
.danz-studio-widget--danz-horaire.danz-dd--poster button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-btn--primary:active {
	background: #fde047 !important;
	color: #111111 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--poster .danz-fe-planning__nav-btn:hover {
	background: #ffffff !important;
	color: #111111 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--dark button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dd--dark .danz-fe-btn--primary:hover {
	background: linear-gradient(135deg, #a5b4fc, #f9a8d4) !important;
	color: #1e1b4b !important;
}
.danz-studio-widget--danz-horaire.danz-dd--dark .danz-fe-planning__nav-btn:hover {
	background: rgba(255,255,255,.18) !important;
	color: #f1f5f9 !important;
}
.danz-studio-widget--danz-prof-fiches.danz-dd--list .danz-prof-card,
.danz-studio-widget--danz-prof-fiches.danz-dd--list .danz-prof,
.danz-studio-widget--danz-prof-fiches.danz-dd--list > * > div {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	gap: 20px;
	align-items: center;
	margin-bottom: 16px;
	padding: var(--ds-pad);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
}
.danz-studio-widget--danz-prof-fiches.danz-dd--list img {
	width: 100px !important; height: 100px !important;
	border-radius: 50% !important;
	object-fit: cover;
	flex-shrink: 0;
}
.danz-studio-widget--danz-prof-fiches.danz-dd--minimal img {
	border-radius: 50% !important;
	aspect-ratio: 1; object-fit: cover;
}
.danz-studio-widget--danz-prof-fiches.danz-dd--minimal .danz-prof__bio,
.danz-studio-widget--danz-prof-fiches.danz-dd--minimal .danz-prof-card__bio {
	display: none !important;
}
.danz-studio-widget--danz-prof-fiches.danz-dd--story > * > div {
	border-radius: var(--ds-radius);
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(15,23,42,.10);
	margin-bottom: 32px;
}
.danz-studio-widget--danz-prof-fiches.danz-dd--story img {
	width: 100% !important;
	aspect-ratio: 16/9;
	object-fit: cover;
}
.danz-studio-widget--danz-prof-fiches.danz-dd--circular img {
	border-radius: 50% !important;
	aspect-ratio: 1; object-fit: cover;
	box-shadow: 0 4px 12px rgba(15,23,42,.08);
}
.danz-studio-widget--danz-contact-page.danz-dd--centered .danz-contact-page,
.danz-studio-widget--danz-contact-page.danz-dd--centered > * {
	display: flex !important;
	flex-direction: column !important;
	text-align: center;
	gap: 24px;
}
.danz-studio-widget--danz-contact-page.danz-dd--centered .danz-contact__grid {
	grid-template-columns: 1fr !important;
}
.danz-studio-widget--danz-contact-page.danz-dd--card {
	background: linear-gradient(135deg, var(--ds-accent), var(--danz-color-primary-dark, #4f46e5));
	border-radius: var(--ds-radius);
	padding: 60px 40px;
	color: #fff;
	box-shadow: 0 20px 48px rgba(99,102,241,.30);
}
.danz-studio-widget--danz-contact-page.danz-dd--card * { color: inherit; }
.danz-studio-widget--danz-contact-page.danz-dd--card a:not(.button) {
	color: rgba(255,255,255,.95); text-decoration: underline;
}
.danz-studio-widget--danz-contact-page.danz-dd--minimal iframe,
.danz-studio-widget--danz-contact-page.danz-dd--minimal .danz-contact-map,
.danz-studio-widget--danz-contact-page.danz-dd--minimal .danz-contact__map {
	display: none !important;
}
.danz-studio-widget--danz-contact-page.danz-dd--minimal .danz-contact__grid {
	grid-template-columns: 1fr !important;
}
.danz-studio-widget--danz-contact-page.danz-dd--minimal {
	max-width: 600px; margin: 0 auto;
}
.danz-studio-widget--danz-compte-complet.danz-dd--tabs .danz-fe-account--app {
	display: block !important;
}
.danz-studio-widget--danz-compte-complet.danz-dd--tabs .danz-fe-account__sidebar {
	position: static;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	margin-bottom: 24px;
}
.danz-studio-widget--danz-compte-complet.danz-dd--tabs .danz-fe-account__user {
	border-bottom: 0;
	padding: 0;
	margin: 0;
}
.danz-studio-widget--danz-compte-complet.danz-dd--tabs .danz-fe-account__nav {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}
.danz-studio-widget--danz-compte-complet.danz-dd--tabs .danz-fe-account__group {
	display: contents;
}
.danz-studio-widget--danz-compte-complet.danz-dd--tabs .danz-fe-account__group-title {
	display: none;
}
.danz-studio-widget--danz-compte-complet.danz-dd--tabs .danz-fe-account__logout {
	border-top: 0;
	margin: 0 0 0 auto;
}
.danz-studio-widget--danz-compte-complet.danz-dd--sidebar > * {
	display: grid !important;
	grid-template-columns: 240px 1fr;
	gap: 32px;
}
.danz-studio-widget--danz-compte-complet.danz-dd--sidebar nav,
.danz-studio-widget--danz-compte-complet.danz-dd--sidebar .danz-account-tabs,
.danz-studio-widget--danz-compte-complet.danz-dd--sidebar [role="tablist"] {
	flex-direction: column !important;
	display: flex !important;
	gap: 4px;
}
.danz-studio-widget--danz-compte-complet.danz-dd--cards [role="tabpanel"],
.danz-studio-widget--danz-compte-complet.danz-dd--cards .danz-account-section {
	background: var(--ds-bg);
	color: var(--ds-text);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	padding: var(--ds-pad);
	margin-bottom: 16px;
	box-shadow: 0 2px 6px rgba(15,23,42,.04);
}
.danz-studio-widget--danz-compte-complet.danz-dd--dashboard .danz-fe-account__panel.is-active {
	column-count: 2;
	column-gap: 20px;
}
.danz-studio-widget--danz-compte-complet.danz-dd--dashboard .danz-fe-account__panel.is-active > * {
	break-inside: avoid;
}
.danz-studio-widget--danz-compte-complet.danz-dd--dashboard .danz-fe-account__main > .danz-fe-account__panel {
	max-width: none;
}
@media (max-width: 768px) {
.danz-studio-widget--danz-compte-complet.danz-dd--dashboard .danz-fe-account__panel.is-active {
		column-count: 1;
	}
}
.danz-studio-widget--danz-inscription-rapide.danz-dd--card {
	background: var(--ds-bg);
	color: var(--ds-text);
	border-radius: var(--ds-radius);
	padding: 40px;
	box-shadow: 0 12px 32px rgba(15,23,42,.10);
	max-width: 520px; margin: 0 auto;
	border: 1px solid var(--ds-border);
}
.danz-studio-widget--danz-inscription-rapide.danz-dd--wizard form {
	max-width: 600px; margin: 0 auto;
}
.danz-studio-widget--danz-inscription-rapide.danz-dd--wizard form::before {
	content: 'Étape 1 sur 3';
	display: block;
	font-size: .75rem; font-weight: 700;
	color: var(--ds-accent);
	text-transform: uppercase; letter-spacing: .1em;
	margin-bottom: 8px;
}
.danz-studio-widget--danz-inscription-rapide.danz-dd--inline form {
	display: flex !important;
	flex-direction: row !important;
	gap: 8px;
	align-items: stretch;
	max-width: 600px;
	margin: 0 auto;
}
.danz-studio-widget--danz-inscription-rapide.danz-dd--inline form > *:not([type="submit"]):not(button) {
	flex: 1;
}
@media (max-width: 600px) {
.danz-studio-widget--danz-inscription-rapide.danz-dd--inline form {
		flex-direction: column !important;
	}
}
.danz-studio-widget--danz-horaire.danz-dd--timeline {
	background: var(--ds-timeline-bg, linear-gradient(175deg, #fafaff 0%, #f1f0fa 100%)) !important;
	color: #262244 !important;
	padding: var(--ds-pad, 18px) !important;
	border-radius: var(--ds-radius, 20px) !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filters {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid var(--ds-border, #e5e3f4) !important;
	border-radius: 16px !important;
	padding: 18px !important;
	margin: 0 0 18px !important;
	box-shadow: 0 6px 18px rgba(38,34,68,.06) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filters-inner { gap: 14px 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filter { gap: 6px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filter-label {
	color: #55507a !important;
	font-size: 11px !important;
	letter-spacing: .05em !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #d7d4ec !important;
	border-radius: 12px !important;
	padding: 10px 14px !important;
	min-height: 44px !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 1px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn {
	background: #ffffff !important;
	color: #40396b !important;
	border: 1px solid #d7d4ec !important;
	border-radius: 999px !important;
	padding: 11px 20px !important;
	min-height: 44px;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease, transform .12s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn:hover {
	background: #262244 !important;
	color: #ffffff !important;
	border-color: #262244 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn:active {
	background: #161330 !important;
	color: #ffffff !important;
	border-color: #161330 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn--primary {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 6px 16px rgba(79,70,229,.28);
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn--primary:hover {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.9);
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn--primary:active {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.78);
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #262244 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-btn--sm {
	padding: 8px 14px !important;
	min-height: 38px;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 12px 14px !important;
	margin: 0 0 20px !important;
	gap: 10px !important;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-btn {
	background: #f4f3fb !important;
	color: #40396b !important;
	border: 1px solid #dedbf0 !important;
	border-radius: 999px !important;
	padding: 10px 16px !important;
	min-height: 44px;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-btn:hover {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	border-color: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-btn:active {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.8);
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-btn.is-disabled {
	background: #f4f3fb !important;
	color: #67628f !important;
	border-color: #e9e7f5 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-center { text-align: center; padding: 2px 8px; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-center strong { color: #262244 !important; font-size: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-range { color: #55507a !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 8px 2px 8px 34px !important;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__list::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 3px;
	background: var(--ds-accent, #4f46e5);
	opacity: .85;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__list > li {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__list > li::before {
	content: "";
	position: absolute;
	left: -28px;
	top: 24px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #ffffff;
	border: 3px solid var(--ds-accent, #4f46e5);
	box-shadow: 0 0 0 4px rgba(79,70,229,.14);
	z-index: 1;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline article.danz-fe-planning__card {
	position: relative;
	background: #ffffff !important;
	color: #262244 !important;
	border-top: 1px solid #e7e5f4 !important;
	border-right: 1px solid #e7e5f4 !important;
	border-bottom: 1px solid #e7e5f4 !important;
	border-radius: 16px !important;
	padding: 20px !important;
	box-shadow: 0 8px 22px rgba(38,34,68,.08) !important;
	transition: transform .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline article.danz-fe-planning__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(38,34,68,.13) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__card-h {
	gap: 12px !important;
	margin: 0 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__title {
	color: #262244 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__subtitle {
	color: #55507a !important;
	font-size: 13px !important;
	margin: 4px 0 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__time-chip {
	font-size: 15px !important;
	font-weight: 800 !important;
	padding: 9px 14px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 12px rgba(38,34,68,.16);
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__info {
	gap: 8px !important;
	margin: 12px 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__chip {
	background: #f1f0fa !important;
	color: #40396b !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__cap { margin: 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__cap-text {
	color: #55507a !important;
	font-size: 13px !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__cap-text strong { color: #262244 !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__full {
	color: #be123c !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__cap-bar {
	background: #eceaf6 !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__cap-bar-fill { border-radius: 999px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline article.danz-fe-planning__card.is-past {
	padding-top: 36px !important;
	opacity: .88;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline article.danz-fe-planning__card.is-past::after {
	background: #ecebf7 !important;
	color: #4c4677 !important;
	top: 10px !important;
	right: 10px !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .03em;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__grid { gap: 24px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__day-title {
	color: #262244 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: .02em;
	margin: 0 0 12px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__day-title::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ds-accent, #4f46e5);
	flex: 0 0 auto;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-table {
	min-width: 680px;
	border-collapse: separate !important;
	border-spacing: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-table thead th {
	background: #f4f3fb !important;
	color: #40396b !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 12px 10px !important;
	border: 0 !important;
	border-radius: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-time {
	background: #ffffff !important;
	color: #262244 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	padding: 10px !important;
	border: 0 !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-cell {
	background: #fbfbfe !important;
	border: 1px solid #efedf8 !important;
	border-radius: 12px !important;
	padding: 8px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-empty { color: #c6c2e0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card {
	border-radius: 12px !important;
	padding: 12px !important;
	box-shadow: 0 3px 10px rgba(38,34,68,.10);
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card-title {
	font-weight: 800 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card-meta {
	font-size: 11.5px !important;
	line-height: 1.45 !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card-cap { margin: 0 0 8px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-cap-pill {
	background: rgba(255,255,255,.28) !important;
	color: inherit !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-cap-full {
	background: #ffffff !important;
	color: #be123c !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card-btn {
	border-radius: 999px !important;
	padding: 9px 10px !important;
	min-height: 36px;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card-btn:hover {
	background: rgba(255,255,255,.94) !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card-btn:active {
	background: #111827 !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid #111827 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__week-card.is-past::after {
	background: rgba(255,255,255,.92) !important;
	color: #40396b !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table-day {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table-day-title {
	color: #262244 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	margin: 0 0 14px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table-day-title::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ds-accent, #4f46e5);
	flex: 0 0 auto;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table { border-collapse: collapse !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table thead th {
	background: #f4f3fb !important;
	color: #40396b !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 12px 14px !important;
	border: 0 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table tbody td {
	background: transparent !important;
	color: #262244 !important;
	padding: 14px !important;
	border-bottom: 1px solid #efedf8 !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table tbody tr:last-child td { border-bottom: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__table tbody tr.is-past td { color: #6f6a92 !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__compact-day-title {
	color: #262244 !important;
	font-weight: 800 !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__compact-item {
	background: #ffffff !important;
	color: #262244 !important;
	padding: 12px 14px !important;
	border-radius: 12px !important;
	margin: 0 0 10px !important;
	box-shadow: 0 3px 10px rgba(38,34,68,.06) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__wrooms-col-title { color: #262244 !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline p.danz-fe-card {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 18px 20px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filter { min-width: 100% !important; flex: 1 1 100%; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filters-actions { width: 100%; margin-left: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto; justify-content: center; text-align: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-center { flex: 1 1 100%; order: -1; margin-bottom: 4px; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__nav-btn { flex: 1 1 auto; justify-content: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dd--timeline article.danz-fe-planning__card { padding: 18px 16px !important; }
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--timeline { padding: var(--ds-pad, 28px) !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__list { padding: 10px 4px 10px 62px !important; gap: 22px !important; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__list::before { left: 24px; }
.danz-studio-widget--danz-horaire.danz-dd--timeline .danz-fe-planning__list > li::before { left: -44px; width: 16px; height: 16px; }
.danz-studio-widget--danz-horaire.danz-dd--timeline article.danz-fe-planning__card { padding: 22px 24px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dd--timeline { padding: var(--ds-pad, 34px) !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise {
	background: var(--ds-ardoise-bg, radial-gradient(130% 100% at 18% 0%, #24322b 0%, #1a2421 48%, #101815 100%)) !important;
	color: var(--ds-ardoise-text, #f2f0e4) !important;
	padding: var(--ds-pad, 16px) !important;
	border: 8px solid #5d4433 !important;
	border-radius: var(--ds-radius, 14px) !important;
	box-shadow: inset 0 0 70px rgba(0,0,0,.45), 0 12px 32px rgba(0,0,0,.25) !important;
	line-height: 1.55;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__compact-day-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__wrooms-col-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filter-label,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__time-chip,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card-btn {
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	letter-spacing: .02em;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filters {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.65) !important;
	border-radius: 18px 4px 16px 6px / 5px 16px 4px 18px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filters-inner { gap: 14px 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filter { gap: 6px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filter-label {
	color: #fde68a !important;
	font-size: 11px !important;
	letter-spacing: .07em !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filter-select {
	background: #121b17 !important;
	color: #f2f0e4 !important;
	border: 1.5px solid rgba(242,240,228,.55) !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	min-height: 44px !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid #fde68a !important;
	outline-offset: 1px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise select.js-danz-seats {
	background: #121b17 !important;
	color: #f2f0e4 !important;
	border: 1.5px solid rgba(242,240,228,.55) !important;
	border-radius: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn {
	background: rgba(242,240,228,.08) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.85) !important;
	border-radius: 14px 4px 12px 5px / 4px 12px 5px 14px !important;
	padding: 11px 20px !important;
	min-height: 44px;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn:active {
	background: #d9d4bd !important;
	color: #1a2421 !important;
	border-color: #d9d4bd !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn--primary {
	background: #fde68a !important;
	color: #241d04 !important;
	border-color: #fde68a !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn--primary:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn--primary:active {
	background: #eec95b !important;
	color: #241d04 !important;
	border-color: #eec95b !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn--primary:focus-visible {
	outline: 3px dashed #f2f0e4 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-btn--sm {
	padding: 8px 14px !important;
	min-height: 38px;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav {
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 6px 18px 5px 16px / 16px 5px 18px 6px !important;
	padding: 12px 14px !important;
	margin: 0 0 20px !important;
	gap: 10px !important;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-btn {
	background: rgba(242,240,228,.08) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.7) !important;
	border-radius: 12px 4px 14px 5px / 4px 14px 5px 12px !important;
	padding: 10px 16px !important;
	min-height: 44px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-btn:active {
	background: #fde68a !important;
	color: #241d04 !important;
	border-color: #fde68a !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-btn.is-disabled {
	background: rgba(242,240,228,.04) !important;
	color: rgba(242,240,228,.72) !important;
	border-color: rgba(242,240,228,.25) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-center { text-align: center; padding: 2px 8px; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-center strong { color: #f2f0e4 !important; font-size: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-range { color: #d9d4bd !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-wrap {
	background: rgba(242,240,228,.04) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 16px 5px 18px 6px / 6px 18px 5px 16px !important;
	padding: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-table {
	min-width: 680px;
	border-collapse: separate !important;
	border-spacing: 7px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-table thead th {
	background: rgba(242,240,228,.12) !important;
	color: #fde68a !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 12px 10px !important;
	border: 0 !important;
	border-radius: 10px 3px 9px 4px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-time {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	padding: 10px !important;
	border: 0 !important;
	border-radius: 3px 9px 4px 10px !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-cell {
	background: rgba(255,255,255,.02) !important;
	border: 1.5px solid rgba(242,240,228,.18) !important;
	border-radius: 10px !important;
	padding: 8px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-empty { color: rgba(242,240,228,.35) !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card {
	/* Recouvre le fond inline (couleur du cours) SAUF 6px à gauche = liseré d'identification. */
	background-image: linear-gradient(90deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 6px, #1d2a24 6px, #1d2a24 100%) !important;
	background-clip: padding-box !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 4px 12px 5px 13px / 12px 4px 13px 5px !important;
	padding: 12px 12px 12px 16px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-title {
	color: #f2f0e4 !important;
	font-size: 13.5px !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-meta {
	color: #d9d4bd !important;
	font-size: 11.5px !important;
	line-height: 1.45 !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-cap { margin: 0 0 8px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-cap-pill {
	background: rgba(242,240,228,.16) !important;
	color: #f2f0e4 !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-cap-full {
	background: #f6c8d4 !important;
	color: #5b1220 !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card-btn {
	background: #fde68a !important;
	color: #241d04 !important;
	border: 0 !important;
	border-radius: 10px 3px 11px 4px !important;
	padding: 9px 10px !important;
	min-height: 36px;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card-btn:active {
	background: #eec95b !important;
	color: #241d04 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__week-card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 8px 3px 9px 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 4px 2px !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__list > li { margin: 0 !important; padding: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise article.danz-fe-planning__card {
	position: relative;
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	border-top: 2px solid rgba(242,240,228,.55) !important;
	border-right: 2px solid rgba(242,240,228,.55) !important;
	border-bottom: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 14px 4px 16px 5px / 5px 16px 4px 14px !important;
	padding: 20px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__card-h {
	gap: 12px !important;
	margin: 0 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__title {
	color: #f2f0e4 !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__subtitle {
	color: #d9d4bd !important;
	font-size: 13px !important;
	margin: 4px 0 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__time-chip {
	background: rgba(242,240,228,.12) !important;
	color: #fde68a !important;
	border: 1.5px solid rgba(242,240,228,.45) !important;
	border-radius: 3px 10px 4px 11px / 10px 3px 11px 4px !important;
	padding: 8px 14px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__info {
	gap: 8px !important;
	margin: 12px 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__chip {
	background: rgba(242,240,228,.10) !important;
	color: #f2f0e4 !important;
	border: 1px solid rgba(242,240,228,.3) !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__cap { margin: 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__cap-text {
	color: #d9d4bd !important;
	font-size: 13px !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__cap-text strong { color: #f2f0e4 !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__full {
	color: #f6c8d4 !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__cap-bar {
	background: rgba(242,240,228,.15) !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__cap-bar-fill {
	background: #fde68a !important;
	border-radius: 999px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise article.danz-fe-planning__card.is-past {
	padding-top: 38px !important;
	opacity: .8;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise article.danz-fe-planning__card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 10px !important;
	right: 10px !important;
	padding: 3px 10px !important;
	border-radius: 9px 3px 10px 4px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__grid { gap: 24px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__day-title {
	color: #fde68a !important;
	font-size: 17px !important;
	letter-spacing: .04em;
	border-bottom: 2px dashed rgba(242,240,228,.35) !important;
	padding: 0 0 8px !important;
	margin: 0 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table-day {
	background: rgba(242,240,228,.04) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 16px 5px 18px 6px / 6px 18px 5px 16px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table-day-title {
	color: #fde68a !important;
	font-size: 17px !important;
	letter-spacing: .04em;
	margin: 0 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table { border-collapse: collapse !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table thead th {
	background: rgba(242,240,228,.10) !important;
	color: #fde68a !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 12px 14px !important;
	border: 0 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table tbody td {
	background: transparent !important;
	color: #f2f0e4 !important;
	padding: 14px !important;
	border-bottom: 1px dashed rgba(242,240,228,.28) !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table tbody tr:last-child td { border-bottom: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__table tbody tr.is-past td { color: #b7b29e !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__compact-day-title {
	color: #fde68a !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__compact-item {
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	padding: 12px 14px !important;
	border-radius: 8px 3px 10px 4px !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__wrooms-col-title { color: #fde68a !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card {
	background-image: linear-gradient(90deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 6px, #1d2a24 6px, #1d2a24 100%) !important;
	background-clip: padding-box !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 4px 12px 5px 13px / 12px 4px 13px 5px !important;
	padding: 14px 14px 14px 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card-time { color: #fde68a !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__studios-card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 8px 3px 9px 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--ardoise p.danz-fe-card {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	border: 2px dashed rgba(242,240,228,.5) !important;
	border-radius: 14px 5px 16px 6px !important;
	padding: 18px 20px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dd--ardoise { border-width: 6px !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filter { min-width: 100% !important; flex: 1 1 100%; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filters-actions { width: 100%; margin-left: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto; justify-content: center; text-align: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-center { flex: 1 1 100%; order: -1; margin-bottom: 4px; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise .danz-fe-planning__nav-btn { flex: 1 1 auto; justify-content: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise article.danz-fe-planning__card { padding: 18px 16px !important; }
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--ardoise { padding: var(--ds-pad, 28px) !important; }
.danz-studio-widget--danz-horaire.danz-dd--ardoise article.danz-fe-planning__card { padding: 22px 24px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dd--ardoise { padding: var(--ds-pad, 34px) !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--sunset {
	background: var(--ds-sunset-bg, linear-gradient(160deg, #7c2d12 0%, #be185d 55%, #f59e0b 100%)) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	padding: 18px !important;
	border-radius: var(--ds-radius, 24px) !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--sunset { padding: 28px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dd--sunset { padding: 34px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table-day,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-empty-state {
	background: rgba(255, 247, 237, .12) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .26) !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-empty-state {
	padding: 28px !important;
	text-align: center;
	line-height: 1.5 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filters {
	padding: 18px !important;
	margin: 0 0 20px !important;
	/* v1.4.1 : voile sombre : la crème lit ≥ 5:1 même sur la zone ambre. */
	background: rgba(59, 7, 16, .62) !important;
	border: 1px solid rgba(255, 247, 237, .28) !important;
	border-radius: 16px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filters { padding: 22px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filter { gap: 6px !important; min-width: 150px; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filter-label {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filter-select {
	background: #fff7ed !important;
	color: #431407 !important;
	border: 1px solid rgba(67, 20, 7, .2) !important;
	border-radius: 12px !important;
	padding: 12px 14px !important;
	min-height: 46px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filter-select:focus-visible {
	background: #fff7ed !important;
	color: #431407 !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn:not(.js-danz-cancel) {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .5) !important;
	border-radius: 999px !important;
	padding: 12px 22px !important;
	min-height: 46px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn:not(.js-danz-cancel):focus-visible {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn:not(.js-danz-cancel):hover {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn:not(.js-danz-cancel):active {
	background: #ffedd5 !important;
	color: #431407 !important;
	border-color: #ffedd5 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn.danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.danz-dd--sunset .button,
.danz-studio-widget--danz-horaire.danz-dd--sunset button[type="submit"] {
	background: #fbbf24 !important;
	color: #451a03 !important;
	border: 1px solid #fbbf24 !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn.danz-fe-btn--primary:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--sunset .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--sunset button[type="submit"]:focus-visible {
	background: #fbbf24 !important;
	color: #451a03 !important;
	outline: 3px solid #fff7ed !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn.danz-fe-btn--primary:hover,
.danz-studio-widget--danz-horaire.danz-dd--sunset .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--sunset button[type="submit"]:hover {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn.danz-fe-btn--primary:active,
.danz-studio-widget--danz-horaire.danz-dd--sunset .button:active,
.danz-studio-widget--danz-horaire.danz-dd--sunset button[type="submit"]:active {
	background: #451a03 !important;
	color: #fde68a !important;
	border-color: #451a03 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-btn.danz-fe-btn--sm {
	padding: 8px 16px !important;
	min-height: 40px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav {
	padding: 14px 18px !important;
	margin: 0 0 20px !important;
	gap: 12px !important;
	/* v1.4.1 : même voile sombre que les filtres (« Cette semaine » en crème). */
	background: rgba(59, 7, 16, .62) !important;
	border: 1px solid rgba(255, 247, 237, .28) !important;
	border-radius: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-btn {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .5) !important;
	border-radius: 999px !important;
	padding: 10px 18px !important;
	min-height: 44px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-btn:focus-visible {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-btn:hover:not(.is-disabled) {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-btn:active:not(.is-disabled) {
	background: #ffedd5 !important;
	color: #431407 !important;
	border-color: #ffedd5 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-btn.is-disabled {
	background: rgba(255, 247, 237, .08) !important;
	color: rgba(255,237,213,.92) !important;
	opacity: .5 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-center strong {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-range {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-wrap { padding: 12px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-wrap { padding: 16px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-table {
	border-collapse: separate !important;
	border-spacing: 8px !important;
	min-width: 720px;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-table { border-spacing: 10px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--sunset th.danz-fe-planning__week-day-col {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset th.danz-fe-planning__week-time-col {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset th.danz-fe-planning__week-time {
	background: rgba(255, 247, 237, .10) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	white-space: nowrap;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset td.danz-fe-planning__week-cell {
	background: rgba(255, 247, 237, .07) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 8px !important;
	vertical-align: top !important;
	min-width: 104px;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-empty {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	opacity: .35;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-card {
	border-radius: 12px !important;
	padding: 12px !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	box-shadow: 0 8px 20px rgba(67, 20, 7, .30) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card-meta {
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-bottom: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card-cap { margin-bottom: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-cap-pill {
	background: rgba(255, 255, 255, .92) !important;
	color: #431407 !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-cap-full,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-cap-full {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-btn {
	background: #431407 !important;
	color: #fff7ed !important;
	border: 1px solid rgba(255, 255, 255, .35) !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	min-height: 42px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	width: 100%;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__studios-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-btn:focus-visible {
	background: #431407 !important;
	color: #fff7ed !important;
	outline: 3px solid #fff7ed !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__studios-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-btn:hover {
	background: #fff7ed !important;
	color: #431407 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__studios-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-btn:active {
	background: #fde68a !important;
	color: #431407 !important;
	border-color: #fde68a !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__grid { gap: 26px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__list { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__day-title {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 16px !important;
	margin: 0 0 14px !important;
	letter-spacing: .08em !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__card {
	background: rgba(255, 247, 237, .12) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border-top: 1px solid rgba(255, 247, 237, .26) !important;
	border-right: 1px solid rgba(255, 247, 237, .26) !important;
	border-bottom: 1px solid rgba(255, 247, 237, .26) !important;
	border-radius: 18px !important;
	padding: 20px !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__card:hover {
	box-shadow: 0 12px 28px rgba(67, 20, 7, .35) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__card-h {
	gap: 12px !important;
	margin-bottom: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__title {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__subtitle {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__info {
	gap: 8px !important;
	margin-bottom: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__chip {
	background: rgba(255, 247, 237, .16) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .3) !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__cap { margin-bottom: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__cap-text {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__cap-text strong {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__full {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__cap-bar {
	background: rgba(255, 247, 237, .22) !important;
	color: #431407 !important;
	height: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__seats {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	gap: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__seats select {
	background: #fff7ed !important;
	color: #431407 !important;
	border: 1px solid rgba(67, 20, 7, .2) !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table-wrap { gap: 20px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table-day { padding: 18px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table-day { padding: 22px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table-day-title {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 14px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table {
	border-collapse: separate !important;
	border-spacing: 0 8px !important;
	width: 100% !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table thead th {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	border: 0 !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table thead th:first-child { border-radius: 10px 0 0 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table thead th:last-child { border-radius: 0 10px 10px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table tbody td {
	background: rgba(255, 247, 237, .08) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	padding: 14px !important;
	line-height: 1.45 !important;
	vertical-align: middle;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table tbody td:first-child { border-radius: 12px 0 0 12px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table tbody td:last-child { border-radius: 0 12px 12px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table tbody tr:hover td {
	background: rgba(255, 247, 237, .16) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table tbody tr.is-past td,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__table tbody tr.is-full td { opacity: .65; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__wrooms-card.is-past::after {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 3px 10px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	top: 8px !important;
	right: 8px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filter { min-width: 100% !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filters-actions {
		width: 100% !important;
		margin-left: 0 !important;
	}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__nav-center {
		min-width: 100% !important;
		order: -1;
	}
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__card { padding: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dd--sunset .danz-fe-planning__card.is-past { padding-top: 32px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--soft {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: var(--ds-soft-text, #2d3748) !important;
	padding: 20px !important;
	border-radius: var(--ds-radius, 28px) !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--soft { padding: 30px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dd--soft { padding: 36px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table-day,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-empty-state {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: var(--ds-soft-text, #2d3748) !important;
	border: 0 !important;
	border-radius: 22px !important;
	box-shadow: 9px 9px 20px rgba(163, 177, 198, .55), -9px -9px 20px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-empty-state {
	padding: 30px !important;
	text-align: center;
	line-height: 1.5 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filters {
	padding: 20px !important;
	margin: 0 0 26px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filters { padding: 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filter { gap: 6px !important; min-width: 160px; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filter-label {
	background: transparent !important;
	color: #4a5568 !important;
	letter-spacing: .07em !important;
	line-height: 1.4 !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filter-select {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 12px 16px !important;
	min-height: 46px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .55), inset -3px -3px 8px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filter-select:focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filters-actions { gap: 12px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn:not(.js-danz-cancel) {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
	min-height: 46px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .55), -5px -5px 12px rgba(255, 255, 255, .9) !important;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn:not(.js-danz-cancel):focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn:not(.js-danz-cancel):hover {
	background: #f4f7fb !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn:not(.js-danz-cancel):active {
	background: #dce3ee !important;
	color: #111827 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .6), inset -3px -3px 8px rgba(255, 255, 255, .85) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn.danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.danz-dd--soft .button,
.danz-studio-widget--danz-horaire.danz-dd--soft button[type="submit"] {
	background: var(--ds-accent, #7c3aed) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	box-shadow: 5px 5px 14px rgba(124, 58, 237, .3), -5px -5px 12px rgba(255, 255, 255, .8) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn.danz-fe-btn--primary:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--soft .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--soft button[type="submit"]:focus-visible {
	background: var(--ds-accent, #7c3aed) !important;
	color: #ffffff !important;
	outline: 3px solid #2d3748 !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn.danz-fe-btn--primary:hover,
.danz-studio-widget--danz-horaire.danz-dd--soft .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--soft button[type="submit"]:hover {
	background: #6d28d9 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 82%, #111827) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn.danz-fe-btn--primary:active,
.danz-studio-widget--danz-horaire.danz-dd--soft .button:active,
.danz-studio-widget--danz-horaire.danz-dd--soft button[type="submit"]:active {
	background: #5b21b6 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 68%, #111827) !important;
	color: #ffffff !important;
	box-shadow: inset 3px 3px 8px rgba(17, 24, 39, .35) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-btn.danz-fe-btn--sm {
	padding: 8px 18px !important;
	min-height: 40px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav {
	padding: 16px 18px !important;
	margin: 0 0 26px !important;
	gap: 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-btn {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	min-height: 44px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .55), -5px -5px 12px rgba(255, 255, 255, .9) !important;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-btn:focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-btn:hover:not(.is-disabled) {
	background: #f4f7fb !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-btn:active:not(.is-disabled) {
	background: #dce3ee !important;
	color: #111827 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .6), inset -3px -3px 8px rgba(255, 255, 255, .85) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-btn.is-disabled {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #51607a !important;
	box-shadow: none !important;
	opacity: .6 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-center strong {
	background: transparent !important;
	color: #111827 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-range {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-wrap { padding: 16px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-wrap { padding: 20px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-table {
	border-collapse: separate !important;
	border-spacing: 10px !important;
	min-width: 740px;
	/* Les tokens sombres du site ne doivent pas transparaître sous les
	   cellules translucides : la grille repose sur le fond Douceur. */
	background: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-table tbody,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-table tbody tr {
	background: transparent !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-table { border-spacing: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--soft th.danz-fe-planning__week-day-col {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .5), -5px -5px 12px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft th.danz-fe-planning__week-time-col {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4a5568 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .5), -5px -5px 12px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft th.danz-fe-planning__week-time {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4a5568 !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	/* L'heure passe sur deux lignes plutôt que d'être rognée. */
	white-space: normal;
	min-width: 82px;
	vertical-align: top;
	box-shadow: inset 3px 3px 7px rgba(163, 177, 198, .45), inset -3px -3px 7px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft td.danz-fe-planning__week-cell {
	background: rgba(163, 177, 198, .14) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 8px !important;
	vertical-align: top !important;
	min-width: 104px;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-empty {
	background: transparent !important;
	color: #94a3b8 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-card {
	border-radius: 14px !important;
	padding: 12px !important;
	border: 0 !important;
	box-shadow: 6px 6px 14px rgba(163, 177, 198, .5) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card-meta {
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-bottom: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card-cap { margin-bottom: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-cap-pill {
	background: rgba(255, 255, 255, .95) !important;
	color: #1a202c !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-cap-full,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-cap-full {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-btn {
	background: #ffffff !important;
	color: #1a202c !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	min-height: 42px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	width: 100%;
	box-shadow: 0 3px 8px rgba(26, 32, 44, .25) !important;
	transition: background-color .15s ease, color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__studios-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-btn:focus-visible {
	background: #ffffff !important;
	color: #1a202c !important;
	outline: 3px solid #1a202c !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__studios-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-btn:hover {
	background: #1a202c !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__studios-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-btn:active {
	background: #5b21b6 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 70%, #111827) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__grid { gap: 28px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__cards { gap: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__list { gap: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__day-title {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 16px !important;
	letter-spacing: .08em !important;
	line-height: 1.4 !important;
	box-shadow: 4px 4px 10px rgba(163, 177, 198, .5), -4px -4px 10px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__card {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-radius: 20px !important;
	padding: 22px !important;
	box-shadow: 9px 9px 20px rgba(163, 177, 198, .55), -9px -9px 20px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__card:hover {
	box-shadow: 12px 12px 26px rgba(163, 177, 198, .6), -10px -10px 22px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__card.is-past { padding-top: 36px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__card-h {
	gap: 12px !important;
	margin-bottom: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__title {
	background: transparent !important;
	color: #111827 !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__subtitle {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__info {
	gap: 8px !important;
	margin-bottom: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__chip {
	background: #ffffff !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	line-height: 1.3 !important;
	box-shadow: 3px 3px 8px rgba(163, 177, 198, .4), -3px -3px 8px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__cap { margin-bottom: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__cap-text {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__cap-text strong {
	background: transparent !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__full {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__cap-bar {
	background: rgba(163, 177, 198, .3) !important;
	color: #2d3748 !important;
	height: 8px !important;
	box-shadow: inset 2px 2px 5px rgba(163, 177, 198, .5) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__seats {
	background: transparent !important;
	color: #2d3748 !important;
	gap: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__seats select {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
	box-shadow: inset 2px 2px 6px rgba(163, 177, 198, .5), inset -2px -2px 6px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table-wrap { gap: 26px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table-day { padding: 20px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table-day { padding: 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table-day-title {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 16px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	border: 0 !important;
	box-shadow: 4px 4px 10px rgba(163, 177, 198, .5), -4px -4px 10px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table {
	border-collapse: separate !important;
	border-spacing: 0 10px !important;
	width: 100% !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table thead th {
	background: rgba(163, 177, 198, .18) !important;
	color: #4a5568 !important;
	border: 0 !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table thead th:first-child { border-radius: 10px 0 0 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table thead th:last-child { border-radius: 0 10px 10px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table tbody td {
	background: #ffffff !important;
	color: #2d3748 !important;
	border: 0 !important;
	padding: 14px !important;
	line-height: 1.45 !important;
	vertical-align: middle;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table tbody td:first-child { border-radius: 14px 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table tbody td:last-child { border-radius: 0 14px 14px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table tbody tr:hover td {
	background: #f7f9fc !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table tbody tr.is-past td,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__table tbody tr.is-full td { opacity: .65; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__wrooms-card.is-past::after {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 3px 10px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	top: 8px !important;
	right: 8px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filter { min-width: 100% !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filters-actions {
		width: 100% !important;
		margin-left: 0 !important;
	}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__nav-center {
		min-width: 100% !important;
		order: -1;
	}
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__card { padding: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dd--soft .danz-fe-planning__card.is-past { padding-top: 34px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine {
	background: var(--ds-magazine-bg, #faf7f2) !important;
	color: #1c1917 !important;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	line-height: 1.55;
	padding: 20px 16px !important;
	border-top: 3px solid #1c1917 !important;
	border-bottom: 1px solid #1c1917 !important;
	border-radius: var(--ds-radius, 0) !important;
	font-size: 14px;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine { padding: 32px 28px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine { padding: 44px 40px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__card-h {
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 700;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 18px 16px !important;
	margin-bottom: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav { padding: 22px 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filter { gap: 8px !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filter-label {
	color: #7c2d12 !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	padding: 0 2px 2px;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filter-label { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	min-height: 44px;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #ffffff !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav { gap: 14px !important; align-items: center; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-center strong {
	color: #1c1917 !important;
	font-size: 21px !important;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-range {
	color: #57534e !important;
	font-variant-numeric: oldstyle-nums;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-btn {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 18px !important;
	min-height: 44px;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.3;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-btn { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-btn:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-btn:active {
	background: #44403c !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #faf7f2 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav-btn.is-disabled {
	background: #f1ece2 !important;
	color: #57534e !important;
	border-color: #a8a29e !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-dd--magazine .button,
.danz-studio-widget--danz-horaire.danz-dd--magazine button[type="submit"] {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 20px !important;
	min-height: 44px;
	font-weight: 600;
	font-size: 13px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.3;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn:hover,
.danz-studio-widget--danz-horaire.danz-dd--magazine .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--magazine button[type="submit"]:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn:active,
.danz-studio-widget--danz-horaire.danz-dd--magazine .button:active,
.danz-studio-widget--danz-horaire.danz-dd--magazine button[type="submit"]:active {
	background: #44403c !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--magazine .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--magazine button[type="submit"]:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #faf7f2 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn--primary {
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn--primary:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn--primary:active {
	background: #7c2d12 !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #1c1917 !important;
	outline-offset: 2px;
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn--sm { padding: 10px 14px !important; min-height: 44px; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-btn--sm { padding: 8px 14px !important; min-height: 38px; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-wrap {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-table {
	border-collapse: collapse !important;
	background: #fffdf8 !important;
	color: #1c1917 !important;
	width: 100%;
	min-width: 760px;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-table thead th {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 600;
	padding: 16px 12px !important;
	border-bottom: 2px solid #1c1917 !important;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-table thead th { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine th.danz-fe-planning__week-time {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 400;
	font-variant-numeric: oldstyle-nums;
	font-size: 14px !important;
	padding: 14px 12px !important;
	border-right: 1px solid #1c1917 !important;
	border-bottom: 1px solid #e5ddcd !important;
	white-space: nowrap;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine td.danz-fe-planning__week-cell {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border-bottom: 1px solid #e5ddcd !important;
	padding: 10px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-empty { color: #6f675a !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__wrooms-card {
	background: #ffffff !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-left: 4px solid var(--ds-accent, #c2410c) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 14px 14px 14px 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-title {
	color: #1c1917 !important;
	font-size: 15px !important;
	line-height: 1.4;
	margin: 0 0 6px;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-meta {
	color: #57534e !important;
	font-size: 13px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-cap { margin-top: 10px; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-cap-pill {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 4px 10px !important;
	font-size: 13px !important;
	letter-spacing: .05em;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-cap-full {
	background: #7f1d1d !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	padding: 4px 10px !important;
	font-size: 13px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-cap-full { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-btn {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	width: 100%;
	margin-top: 12px;
	padding: 11px 14px !important;
	min-height: 44px;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.2;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-btn { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-btn:hover {
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-btn:active {
	background: #7c2d12 !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #1c1917 !important;
	color: #faf7f2 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__wrooms-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__wrooms-card.is-past::after {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-radius: 0 !important;
	padding: 3px 8px !important;
	font-size: 11px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	top: 6px;
	right: 6px;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__card.is-cancelled,
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__week-card.is-cancelled {
	background: #fbf3ef !important;
	color: #7f1d1d !important;
	border-color: #7f1d1d !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__list > li { margin: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__card {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border-top: 1px solid #1c1917 !important;
	border-right: 1px solid #1c1917 !important;
	border-bottom: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__card { padding: 24px 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__card-h {
	padding: 0 0 12px !important;
	margin: 0 0 14px !important;
	border-bottom: 1px solid #e5ddcd !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__title-wrap { gap: 10px; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table-day { margin: 0 0 30px !important; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table-day-title {
	color: #1c1917 !important;
	font-size: 21px !important;
	line-height: 1.4;
	padding: 0 0 10px !important;
	margin: 0 0 14px !important;
	border-bottom: 2px solid #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-collapse: collapse !important;
	width: 100%;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table thead th {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 700;
	padding: 13px 14px !important;
	border-bottom: 2px solid #1c1917 !important;
	text-align: left;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table thead th { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table tbody td {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	padding: 14px !important;
	border-bottom: 1px solid #e5ddcd !important;
	font-size: 14px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table tbody tr:hover td {
	background: #f5efe3 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__table tbody tr.is-past td {
	background: #f7f3ea !important;
	color: #6f675a !important;
}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-empty-state {
	background: #fffdf8 !important;
	color: #57534e !important;
	border: 1px dashed #1c1917 !important;
	border-radius: 0 !important;
	padding: 28px !important;
	text-align: center;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filters-inner {
		flex-direction: column;
		align-items: stretch !important;
		gap: 14px !important;
	}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filter { min-width: 0 !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filters-actions {
		margin-left: 0 !important;
		width: 100%;
		flex-direction: column;
		gap: 10px !important;
	}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__filters-actions .danz-fe-btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
.danz-studio-widget--danz-horaire.danz-dd--magazine .danz-fe-planning__nav { justify-content: center; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber {
	background: var(--ds-cyber-bg, #050510) !important;
	color: #e0f2fe !important;
	line-height: 1.55;
	padding: 18px 14px !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: var(--ds-radius, 18px) !important;
	box-shadow: 0 0 24px -8px var(--ds-accent, #22d3ee), inset 0 0 40px -30px var(--ds-accent, #22d3ee) !important;
	font-size: 14px;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber { padding: 28px 24px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber { padding: 36px 32px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card-h {
	color: #ffffff !important;
	text-shadow: 0 0 10px var(--ds-accent, #22d3ee);
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav {
	background: #0b0b1e !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 18px -8px var(--ds-accent, #22d3ee) !important;
	padding: 18px 16px !important;
	margin-bottom: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav { padding: 22px 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filter { gap: 8px !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filter-label {
	color: #7dd3fc !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .14em;
	padding: 0 2px 2px;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filter-label { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filter-select,
.danz-studio-widget--danz-horaire.danz-dd--cyber select,
.danz-studio-widget--danz-horaire.danz-dd--cyber input[type="text"] {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	min-height: 44px;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber select option {
	background: #0d0d24;
	color: #e0f2fe;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filter-select:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--cyber select:focus-visible {
	outline: 3px solid var(--ds-accent, #22d3ee) !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav { gap: 14px !important; align-items: center; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-center strong { font-size: 20px !important; line-height: 1.4; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-range {
	color: #7dd3fc !important;
	font-variant-numeric: tabular-nums;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-btn {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 18px !important;
	min-height: 44px;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.3;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-btn:hover {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border-color: var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 14px -2px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-btn:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav-btn.is-disabled {
	background: #0b0b1e !important;
	color: #94a3b8 !important;
	border-color: rgba(148,163,184,.3) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-dd--cyber .button,
.danz-studio-widget--danz-horaire.danz-dd--cyber button[type="submit"] {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 20px !important;
	min-height: 44px;
	font-weight: 600;
	font-size: 13px !important;
	letter-spacing: .04em;
	line-height: 1.3;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn:hover,
.danz-studio-widget--danz-horaire.danz-dd--cyber .button:hover,
.danz-studio-widget--danz-horaire.danz-dd--cyber button[type="submit"]:hover {
	background: #16163a !important;
	color: #ffffff !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn:active,
.danz-studio-widget--danz-horaire.danz-dd--cyber .button:active,
.danz-studio-widget--danz-horaire.danz-dd--cyber button[type="submit"]:active {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--cyber .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dd--cyber button[type="submit"]:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn--primary {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee) !important;
	font-weight: 800;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn--primary:hover {
	background: #050510 !important;
	color: var(--ds-accent, #22d3ee) !important;
	border-color: var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 14px -2px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn--primary:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn--sm { padding: 10px 14px !important; min-height: 44px; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-btn--sm { padding: 8px 14px !important; min-height: 38px; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-wrap {
	background: #08081a !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 18px -8px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-table {
	border-collapse: collapse !important;
	background: #08081a !important;
	color: #e0f2fe !important;
	width: 100%;
	min-width: 760px;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-table thead th {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 800;
	padding: 13px 12px !important;
	border: 0 !important;
	border-right: 1px solid rgba(5,5,16,.35) !important;
	text-shadow: none;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-table thead th { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber th.danz-fe-planning__week-time {
	background: #0b0b1e !important;
	color: #7dd3fc !important;
	font-variant-numeric: tabular-nums;
	font-size: 13px !important;
	font-weight: 600;
	padding: 14px 12px !important;
	border-right: 1px solid rgba(125,211,252,.25) !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	white-space: nowrap;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber td.danz-fe-planning__week-cell {
	background: #08081a !important;
	color: #e0f2fe !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	padding: 10px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-empty { color: #94a3b8 !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__wrooms-card {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: 12px !important;
	box-shadow: 0 0 12px -1px var(--ds-accent, #22d3ee) !important;
	padding: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-title {
	font-size: 15px !important;
	line-height: 1.4;
	margin: 0 0 6px;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-meta {
	color: #bae6fd !important;
	font-size: 13px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-cap { margin-top: 10px; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-cap-pill {
	background: #16163a !important;
	color: #7dd3fc !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 999px !important;
	padding: 4px 11px !important;
	font-size: 13px !important;
	letter-spacing: .04em;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-cap-full {
	background: #fb7185 !important;
	color: #050510 !important;
	border-radius: 999px !important;
	padding: 4px 11px !important;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-cap-full { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-btn {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: 8px !important;
	width: 100%;
	margin-top: 12px;
	padding: 11px 14px !important;
	min-height: 44px;
	font-size: 13px !important;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee) !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-btn { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-btn:hover {
	background: #050510 !important;
	color: var(--ds-accent, #22d3ee) !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-btn:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__wrooms-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__wrooms-card.is-past::after {
	background: #334155 !important;
	color: #f1f5f9 !important;
	border-radius: 999px !important;
	padding: 3px 9px !important;
	font-size: 11px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	top: 6px;
	right: 6px;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card.is-past {
	border-color: rgba(148,163,184,.45) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card.is-cancelled,
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__week-card.is-cancelled {
	background: #1a0d16 !important;
	color: #fecdd3 !important;
	border-color: #fb7185 !important;
	box-shadow: 0 0 12px -3px #fb7185 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__list > li { margin: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border-top: 1px solid rgba(125,211,252,.35) !important;
	border-right: 1px solid rgba(125,211,252,.35) !important;
	border-bottom: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 14px -6px var(--ds-accent, #22d3ee) !important;
	padding: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card { padding: 24px 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__card-h {
	padding: 0 0 12px !important;
	margin: 0 0 14px !important;
	border-bottom: 1px solid rgba(125,211,252,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__title-wrap { gap: 10px; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table-day { margin: 0 0 30px !important; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table-day-title {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	display: inline-block;
	padding: 8px 16px !important;
	margin: 0 0 14px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	line-height: 1.4;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee);
	text-shadow: none;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table {
	background: #08081a !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.3) !important;
	border-radius: 12px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden;
	width: 100%;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table thead th {
	background: #16163a !important;
	color: #7dd3fc !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 700;
	padding: 13px 14px !important;
	border-bottom: 1px solid var(--ds-accent, #22d3ee) !important;
	text-align: left;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table thead th { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table tbody td {
	background: #08081a !important;
	color: #e0f2fe !important;
	padding: 14px !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	font-size: 14px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table tbody tr:hover td {
	background: #131335 !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__table tbody tr.is-past td {
	background: #0b0b1e !important;
	color: #94a3b8 !important;
}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-empty-state {
	background: #0b0b1e !important;
	color: #bae6fd !important;
	border: 1px dashed rgba(125,211,252,.5) !important;
	border-radius: 14px !important;
	padding: 28px !important;
	text-align: center;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filters-inner {
		flex-direction: column;
		align-items: stretch !important;
		gap: 14px !important;
	}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filter { min-width: 0 !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filters-actions {
		margin-left: 0 !important;
		width: 100%;
		flex-direction: column;
		gap: 10px !important;
	}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__filters-actions .danz-fe-btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
.danz-studio-widget--danz-horaire.danz-dd--cyber .danz-fe-planning__nav { justify-content: center; }
}
.danz-studio-widget--danz-horaire.danz-dd--simple_max {
	background: var(--ds-bg, #ffffff);
	color: var(--ds-text, #111827);
}
.danz-studio-widget--danz-horaire.danz-dd--simple_max .danz-fe-planning__day,
.danz-studio-widget--danz-horaire.danz-dd--simple_max .danz-fe-planning__wrooms-day,
.danz-studio-widget--danz-horaire.danz-dd--simple_max .danz-fe-planning__studios-day,
.danz-studio-widget--danz-horaire.danz-dd--simple_max .danz-fe-planning__table-day {
	border-radius: var(--ds-radius, 14px);
	padding: 14px 16px;
	margin-bottom: 14px;
	border: 0;
	box-shadow: none;
	transition: background-color .2s ease;
}
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow="1"] { background: var(--ds-day-1, #dbeafe); color: var(--ds-day-1-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow="2"] { background: var(--ds-day-2, #dcfce7); color: var(--ds-day-2-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow="3"] { background: var(--ds-day-3, #fef3c7); color: var(--ds-day-3-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow="4"] { background: var(--ds-day-4, #fce7f3); color: var(--ds-day-4-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow="5"] { background: var(--ds-day-5, #e0e7ff); color: var(--ds-day-5-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow="6"] { background: var(--ds-day-6, #ffedd5); color: var(--ds-day-6-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow="7"] { background: var(--ds-day-7, #e2e8f0); color: var(--ds-day-7-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow] .danz-fe-planning__wrooms-day-title {
	color: inherit;
	opacity: .85;
}
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow] .danz-fe-planning__card,
.danz-studio-widget--danz-horaire.danz-dd--simple_max [data-dow] .danz-fe-planning__wrooms-card {
	background: rgba(255, 255, 255, .82);
	color: #111827;
	border: 1px solid rgba(17, 24, 39, .08);
	box-shadow: none;
}
@media (prefers-color-scheme: dark) {
.danz-studio-widget--danz-horaire.danz-dd--dark,
.danz-studio-widget--danz-horaire.danz-dd--cyber,
.danz-studio-widget--danz-horaire.danz-dd--ardoise,
.danz-studio-widget--danz-horaire.danz-dd--glass {
		--danz-fe-bg: #0f172a;
		--danz-fe-surface: #1e293b;
		--danz-fe-surface-2: #0f172a;
		--danz-fe-text: #f1f5f9;
		--danz-fe-text-muted: #94a3b8;
		--danz-fe-border: #334155;
	}
}
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dm--cards [class*="planning"] tbody tr,
.danz-studio-widget--danz-horaire.danz-dm--cards [class*="planning"] li,
.danz-studio-widget--danz-horaire.danz-dm--cards [class*="planning"] [role="row"]:not(:first-child),
.danz-studio-widget--danz-horaire.danz-dm--cards .danz-fe-planning__row,
.danz-studio-widget--danz-horaire.danz-dm--cards .danz-planning__row,
.danz-studio-widget--danz-horaire.danz-dm--cards .danz-planning-item,
.danz-studio-widget--danz-horaire.danz-dm--cards .danz-fe-empty-state {
	/* Fond OPAQUE apparié (règle d'or) : le site peut être sombre. */
	background: linear-gradient(135deg, #eef2ff, #fdf2f8) !important;
	color: #1e293b !important;
	border-left: 4px solid var(--ds-accent, var(--danz-color-primary, #6366f1)) !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	margin-bottom: 12px !important;
	box-shadow: 0 2px 12px rgba(15,23,42,.06) !important;
	display: block !important;
	transition: transform .15s, box-shadow .15s !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cards [class*="planning"] tbody tr:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(99,102,241,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cards [class*="planning"] table {
	border-collapse: separate !important;
	border-spacing: 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cards .danz-fe-planning__week-table thead {
	display: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cards th.danz-fe-planning__week-time {
	display: block !important;
	width: 100% !important;
	text-align: left !important;
	background: transparent !important;
	/* Encre explicite : la carte-ligne est claire et opaque. */
	color: #1e293b !important;
	border: 0 !important;
	padding: 0 0 10px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cards td.danz-fe-planning__week-cell {
	display: block !important;
	width: 100% !important;
	padding: 8px 0 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cards td.danz-fe-planning__week-cell::before {
	content: attr(data-day);
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--ds-accent, var(--danz-color-primary, #6366f1));
	/* Assombri vers l'encre : lisible sur la carte claire même si
	   l'accent choisi est pâle. */
	color: color-mix(in srgb, var(--ds-accent, #6366f1) 65%, #1e293b);
}
.danz-studio-widget--danz-horaire.danz-dm--cards td.danz-fe-planning__week-cell:has(> .danz-fe-planning__week-empty:only-child) {
	display: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cards .danz-fe-planning__week-empty {
	display: inline-block;
	opacity: .35;
	font-size: 12px;
}
.danz-studio-widget--danz-horaire.danz-dm--minimal {
	background: var(--ds-bg, #ffffff) !important;
	color: var(--ds-text, #1f2937) !important;
	padding: 24px !important;
	border-radius: var(--ds-radius, 12px);
}
.danz-studio-widget--danz-horaire.danz-dm--minimal .danz-fe-planning__filter-label {
	color: var(--ds-text, #374151) !important;
	opacity: .8;
}
.danz-studio-widget--danz-horaire.danz-dm--minimal .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dm--minimal .danz-fe-planning__nav-range {
	color: var(--ds-text, #1f2937) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--minimal [class*="planning"] tr,
.danz-studio-widget--danz-horaire.danz-dm--minimal [class*="planning"] li,
.danz-studio-widget--danz-horaire.danz-dm--minimal table tr {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	padding: 14px 4px !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--minimal .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--minimal .danz-fe-filters {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--minimal .danz-fe-planning__filter-select {
	background: transparent !important;
	color: inherit !important;
	border: 1px solid rgba(0,0,0,.18) !important;
	border-radius: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark {
	background: var(--ds-dark-bg, #0a0a0a) !important;
	color: var(--ds-dark-text, #f1f5f9) !important;
	padding: 24px !important;
	border-radius: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark *:not(.button):not(button):not(a) {
	color: inherit !important;
	background-color: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--dark .danz-fe-filters {
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	border-radius: 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark [class*="planning"] tr {
	border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark select,
.danz-studio-widget--danz-horaire.danz-dm--dark input[type="text"] {
	background: rgba(255,255,255,.06) !important;
	color: #f1f5f9 !important;
	border: 1px solid rgba(255,255,255,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark .button,
.danz-studio-widget--danz-horaire.danz-dm--dark button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dm--dark .danz-fe-btn--primary {
	/* v1.4.1 : stops assombris : blanc lisible sur tout le dégradé (≥5.5:1). */
	background: linear-gradient(135deg, #4338ca, #9d174d) !important;
	color: #fff !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--compact [class*="planning"] table td,
.danz-studio-widget--danz-horaire.danz-dm--compact [class*="planning"] table th {
	padding: 6px 8px !important;
	font-size: .85em !important;
}
.danz-studio-widget--danz-horaire.danz-dm--compact [class*="planning"] tr {
	padding: 6px 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel {
	background: var(--ds-pastel-bg, linear-gradient(160deg, #fdf2f8, #fce7f3)) !important;
	color: var(--ds-pastel-text, #831843) !important;
	padding: 16px !important;
	border-radius: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--pastel { padding: 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #831843 !important;
	border: 1px solid #fbcfe8 !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__filter-label { color: #9d174d !important; }
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #831843 !important;
	border: 1px solid #f9a8d4 !important;
	border-radius: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__nav-center strong { color: #831843 !important; }
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__nav-range { color: #9d174d !important; }
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__nav-btn {
	background: #fdf2f8 !important;
	color: #831843 !important;
	border: 1px solid #f9a8d4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #831843 !important;
	border-radius: 16px !important;
	overflow: hidden;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel [class*="planning"] th {
	background: #831843 !important;
	color: #fdf2f8 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel [class*="planning"] td { color: #831843 !important; }
.danz-studio-widget--danz-horaire.danz-dm--pastel .button,
.danz-studio-widget--danz-horaire.danz-dm--pastel button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-btn--primary {
	background: #db2777 !important;
	color: #ffffff !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--glass {
	/* v1.3.3 : fond personnalisable (contrôles « Fond du style Verre dépoli »),
	   texte auto-apparié par luminance côté widget. */
	background: var(--ds-glass-bg, linear-gradient(150deg, #1e1b4b 0%, #4c1d95 55%, #831843 100%)) !important;
	color: var(--ds-glass-text, #f5f3ff) !important;
	padding: 16px !important;
	border-radius: 22px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--glass { padding: 28px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-dm--glass [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__week-wrap {
	background: rgba(255,255,255,.10) !important;
	color: #f5f3ff !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	border-radius: 16px !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__filter-label,
.danz-studio-widget--danz-horaire.danz-dm--glass [class*="planning"] th,
.danz-studio-widget--danz-horaire.danz-dm--glass [class*="planning"] td { color: var(--ds-glass-text, #f5f3ff) !important; }
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__nav-range { color: #ddd6fe !important; }
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__nav-btn {
	background: rgba(255,255,255,.16) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,.35) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--glass select,
.danz-studio-widget--danz-horaire.danz-dm--glass input[type="text"] {
	background: rgba(255,255,255,.92) !important;
	color: #1e1b4b !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--glass .button,
.danz-studio-widget--danz-horaire.danz-dm--glass button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-btn--primary {
	background: #ffffff !important;
	color: #4c1d95 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--poster {
	background: var(--ds-poster-bg, #ffffff) !important;
	color: var(--ds-poster-text, #111111) !important;
	padding: 16px !important;
	border: 3px solid #111111 !important;
	border-radius: 0 !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--poster { padding: 28px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-filters,
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__filter-label {
	color: #111111 !important;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__nav-center strong {
	color: #111111 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__nav-btn {
	background: #111111 !important;
	color: #ffffff !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	text-transform: uppercase;
	font-size: 12px !important;
	letter-spacing: .05em;
}
.danz-studio-widget--danz-horaire.danz-dm--poster [class*="planning"] table,
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--poster [class*="planning"] th {
	background: #111111 !important;
	color: #ffffff !important;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.danz-studio-widget--danz-horaire.danz-dm--poster [class*="planning"] td { color: #111111 !important; }
.danz-studio-widget--danz-horaire.danz-dm--poster .button,
.danz-studio-widget--danz-horaire.danz-dm--poster button[type="submit"],
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-btn--primary {
	background: #fde047 !important;
	color: #111111 !important;
	border: 2px solid #111111 !important;
	border-radius: 0 !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--glass .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--glass button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-btn--primary:hover {
	background: #ede9fe !important;
	color: #3b0764 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--glass .button:active,
.danz-studio-widget--danz-horaire.danz-dm--glass button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-btn--primary:active {
	background: #c4b5fd !important;
	color: #3b0764 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--glass .danz-fe-planning__nav-btn:hover {
	background: rgba(255,255,255,.35) !important;
	/* Suit le texte auto-lisible : encre si fond personnalisé clair. */
	color: var(--ds-glass-text, #ffffff) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--pastel button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-btn--primary:hover {
	background: #be185d !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel .button:active,
.danz-studio-widget--danz-horaire.danz-dm--pastel button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-btn--primary:active {
	background: #9d174d !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--pastel .danz-fe-planning__nav-btn:hover {
	background: #fbcfe8 !important;
	color: #831843 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--poster .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--poster button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-btn--primary:hover {
	background: #111111 !important;
	color: #fde047 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--poster .button:active,
.danz-studio-widget--danz-horaire.danz-dm--poster button[type="submit"]:active,
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-btn--primary:active {
	background: #fde047 !important;
	color: #111111 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--poster .danz-fe-planning__nav-btn:hover {
	background: #ffffff !important;
	color: #111111 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--dark button[type="submit"]:hover,
.danz-studio-widget--danz-horaire.danz-dm--dark .danz-fe-btn--primary:hover {
	background: linear-gradient(135deg, #a5b4fc, #f9a8d4) !important;
	color: #1e1b4b !important;
}
.danz-studio-widget--danz-horaire.danz-dm--dark .danz-fe-planning__nav-btn:hover {
	background: rgba(255,255,255,.18) !important;
	color: #f1f5f9 !important;
}
.danz-studio-widget--danz-prof-fiches.danz-dm--list .danz-prof-card,
.danz-studio-widget--danz-prof-fiches.danz-dm--list .danz-prof,
.danz-studio-widget--danz-prof-fiches.danz-dm--list > * > div {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	gap: 20px;
	align-items: center;
	margin-bottom: 16px;
	padding: var(--ds-pad);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
}
.danz-studio-widget--danz-prof-fiches.danz-dm--list img {
	width: 100px !important; height: 100px !important;
	border-radius: 50% !important;
	object-fit: cover;
	flex-shrink: 0;
}
.danz-studio-widget--danz-prof-fiches.danz-dm--minimal img {
	border-radius: 50% !important;
	aspect-ratio: 1; object-fit: cover;
}
.danz-studio-widget--danz-prof-fiches.danz-dm--minimal .danz-prof__bio,
.danz-studio-widget--danz-prof-fiches.danz-dm--minimal .danz-prof-card__bio {
	display: none !important;
}
.danz-studio-widget--danz-prof-fiches.danz-dm--story > * > div {
	border-radius: var(--ds-radius);
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(15,23,42,.10);
	margin-bottom: 32px;
}
.danz-studio-widget--danz-prof-fiches.danz-dm--story img {
	width: 100% !important;
	aspect-ratio: 16/9;
	object-fit: cover;
}
.danz-studio-widget--danz-prof-fiches.danz-dm--circular img {
	border-radius: 50% !important;
	aspect-ratio: 1; object-fit: cover;
	box-shadow: 0 4px 12px rgba(15,23,42,.08);
}
.danz-studio-widget--danz-contact-page.danz-dm--centered .danz-contact-page,
.danz-studio-widget--danz-contact-page.danz-dm--centered > * {
	display: flex !important;
	flex-direction: column !important;
	text-align: center;
	gap: 24px;
}
.danz-studio-widget--danz-contact-page.danz-dm--centered .danz-contact__grid {
	grid-template-columns: 1fr !important;
}
.danz-studio-widget--danz-contact-page.danz-dm--card {
	background: linear-gradient(135deg, var(--ds-accent), var(--danz-color-primary-dark, #4f46e5));
	border-radius: var(--ds-radius);
	padding: 60px 40px;
	color: #fff;
	box-shadow: 0 20px 48px rgba(99,102,241,.30);
}
.danz-studio-widget--danz-contact-page.danz-dm--card * { color: inherit; }
.danz-studio-widget--danz-contact-page.danz-dm--card a:not(.button) {
	color: rgba(255,255,255,.95); text-decoration: underline;
}
.danz-studio-widget--danz-contact-page.danz-dm--minimal iframe,
.danz-studio-widget--danz-contact-page.danz-dm--minimal .danz-contact-map,
.danz-studio-widget--danz-contact-page.danz-dm--minimal .danz-contact__map {
	display: none !important;
}
.danz-studio-widget--danz-contact-page.danz-dm--minimal .danz-contact__grid {
	grid-template-columns: 1fr !important;
}
.danz-studio-widget--danz-contact-page.danz-dm--minimal {
	max-width: 600px; margin: 0 auto;
}
.danz-studio-widget--danz-compte-complet.danz-dm--tabs .danz-fe-account--app {
	display: block !important;
}
.danz-studio-widget--danz-compte-complet.danz-dm--tabs .danz-fe-account__sidebar {
	position: static;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	margin-bottom: 24px;
}
.danz-studio-widget--danz-compte-complet.danz-dm--tabs .danz-fe-account__user {
	border-bottom: 0;
	padding: 0;
	margin: 0;
}
.danz-studio-widget--danz-compte-complet.danz-dm--tabs .danz-fe-account__nav {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}
.danz-studio-widget--danz-compte-complet.danz-dm--tabs .danz-fe-account__group {
	display: contents;
}
.danz-studio-widget--danz-compte-complet.danz-dm--tabs .danz-fe-account__group-title {
	display: none;
}
.danz-studio-widget--danz-compte-complet.danz-dm--tabs .danz-fe-account__logout {
	border-top: 0;
	margin: 0 0 0 auto;
}
.danz-studio-widget--danz-compte-complet.danz-dm--sidebar > * {
	display: grid !important;
	grid-template-columns: 240px 1fr;
	gap: 32px;
}
.danz-studio-widget--danz-compte-complet.danz-dm--sidebar nav,
.danz-studio-widget--danz-compte-complet.danz-dm--sidebar .danz-account-tabs,
.danz-studio-widget--danz-compte-complet.danz-dm--sidebar [role="tablist"] {
	flex-direction: column !important;
	display: flex !important;
	gap: 4px;
}
.danz-studio-widget--danz-compte-complet.danz-dm--cards [role="tabpanel"],
.danz-studio-widget--danz-compte-complet.danz-dm--cards .danz-account-section {
	background: var(--ds-bg);
	color: var(--ds-text);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	padding: var(--ds-pad);
	margin-bottom: 16px;
	box-shadow: 0 2px 6px rgba(15,23,42,.04);
}
.danz-studio-widget--danz-compte-complet.danz-dm--dashboard .danz-fe-account__panel.is-active {
	column-count: 2;
	column-gap: 20px;
}
.danz-studio-widget--danz-compte-complet.danz-dm--dashboard .danz-fe-account__panel.is-active > * {
	break-inside: avoid;
}
.danz-studio-widget--danz-compte-complet.danz-dm--dashboard .danz-fe-account__main > .danz-fe-account__panel {
	max-width: none;
}
@media (max-width: 768px) {
.danz-studio-widget--danz-compte-complet.danz-dm--dashboard .danz-fe-account__panel.is-active {
		column-count: 1;
	}
}
.danz-studio-widget--danz-inscription-rapide.danz-dm--card {
	background: var(--ds-bg);
	color: var(--ds-text);
	border-radius: var(--ds-radius);
	padding: 40px;
	box-shadow: 0 12px 32px rgba(15,23,42,.10);
	max-width: 520px; margin: 0 auto;
	border: 1px solid var(--ds-border);
}
.danz-studio-widget--danz-inscription-rapide.danz-dm--wizard form {
	max-width: 600px; margin: 0 auto;
}
.danz-studio-widget--danz-inscription-rapide.danz-dm--wizard form::before {
	content: 'Étape 1 sur 3';
	display: block;
	font-size: .75rem; font-weight: 700;
	color: var(--ds-accent);
	text-transform: uppercase; letter-spacing: .1em;
	margin-bottom: 8px;
}
.danz-studio-widget--danz-inscription-rapide.danz-dm--inline form {
	display: flex !important;
	flex-direction: row !important;
	gap: 8px;
	align-items: stretch;
	max-width: 600px;
	margin: 0 auto;
}
.danz-studio-widget--danz-inscription-rapide.danz-dm--inline form > *:not([type="submit"]):not(button) {
	flex: 1;
}
@media (max-width: 600px) {
.danz-studio-widget--danz-inscription-rapide.danz-dm--inline form {
		flex-direction: column !important;
	}
}
.danz-studio-widget--danz-horaire.danz-dm--timeline {
	background: var(--ds-timeline-bg, linear-gradient(175deg, #fafaff 0%, #f1f0fa 100%)) !important;
	color: #262244 !important;
	padding: var(--ds-pad, 18px) !important;
	border-radius: var(--ds-radius, 20px) !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filters {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid var(--ds-border, #e5e3f4) !important;
	border-radius: 16px !important;
	padding: 18px !important;
	margin: 0 0 18px !important;
	box-shadow: 0 6px 18px rgba(38,34,68,.06) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filters-inner { gap: 14px 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filter { gap: 6px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filter-label {
	color: #55507a !important;
	font-size: 11px !important;
	letter-spacing: .05em !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #d7d4ec !important;
	border-radius: 12px !important;
	padding: 10px 14px !important;
	min-height: 44px !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 1px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn {
	background: #ffffff !important;
	color: #40396b !important;
	border: 1px solid #d7d4ec !important;
	border-radius: 999px !important;
	padding: 11px 20px !important;
	min-height: 44px;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease, transform .12s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn:hover {
	background: #262244 !important;
	color: #ffffff !important;
	border-color: #262244 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn:active {
	background: #161330 !important;
	color: #ffffff !important;
	border-color: #161330 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn--primary {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 6px 16px rgba(79,70,229,.28);
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn--primary:hover {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.9);
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn--primary:active {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.78);
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #262244 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-btn--sm {
	padding: 8px 14px !important;
	min-height: 38px;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 12px 14px !important;
	margin: 0 0 20px !important;
	gap: 10px !important;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-btn {
	background: #f4f3fb !important;
	color: #40396b !important;
	border: 1px solid #dedbf0 !important;
	border-radius: 999px !important;
	padding: 10px 16px !important;
	min-height: 44px;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-btn:hover {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	border-color: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-btn:active {
	background: var(--ds-accent, #4f46e5) !important;
	color: #ffffff !important;
	filter: brightness(.8);
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #4f46e5) !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-btn.is-disabled {
	background: #f4f3fb !important;
	color: #67628f !important;
	border-color: #e9e7f5 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-center { text-align: center; padding: 2px 8px; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-center strong { color: #262244 !important; font-size: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-range { color: #55507a !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 8px 2px 8px 34px !important;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__list::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 3px;
	background: var(--ds-accent, #4f46e5);
	opacity: .85;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__list > li {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__list > li::before {
	content: "";
	position: absolute;
	left: -28px;
	top: 24px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #ffffff;
	border: 3px solid var(--ds-accent, #4f46e5);
	box-shadow: 0 0 0 4px rgba(79,70,229,.14);
	z-index: 1;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline article.danz-fe-planning__card {
	position: relative;
	background: #ffffff !important;
	color: #262244 !important;
	border-top: 1px solid #e7e5f4 !important;
	border-right: 1px solid #e7e5f4 !important;
	border-bottom: 1px solid #e7e5f4 !important;
	border-radius: 16px !important;
	padding: 20px !important;
	box-shadow: 0 8px 22px rgba(38,34,68,.08) !important;
	transition: transform .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline article.danz-fe-planning__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(38,34,68,.13) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__card-h {
	gap: 12px !important;
	margin: 0 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__title {
	color: #262244 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__subtitle {
	color: #55507a !important;
	font-size: 13px !important;
	margin: 4px 0 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__time-chip {
	font-size: 15px !important;
	font-weight: 800 !important;
	padding: 9px 14px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 12px rgba(38,34,68,.16);
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__info {
	gap: 8px !important;
	margin: 12px 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__chip {
	background: #f1f0fa !important;
	color: #40396b !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__cap { margin: 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__cap-text {
	color: #55507a !important;
	font-size: 13px !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__cap-text strong { color: #262244 !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__full {
	color: #be123c !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__cap-bar {
	background: #eceaf6 !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__cap-bar-fill { border-radius: 999px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline article.danz-fe-planning__card.is-past {
	padding-top: 36px !important;
	opacity: .88;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline article.danz-fe-planning__card.is-past::after {
	background: #ecebf7 !important;
	color: #4c4677 !important;
	top: 10px !important;
	right: 10px !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .03em;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__grid { gap: 24px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__day-title {
	color: #262244 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: .02em;
	margin: 0 0 12px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__day-title::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ds-accent, #4f46e5);
	flex: 0 0 auto;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-wrap {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-table {
	min-width: 680px;
	border-collapse: separate !important;
	border-spacing: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-table thead th {
	background: #f4f3fb !important;
	color: #40396b !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 12px 10px !important;
	border: 0 !important;
	border-radius: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-time {
	background: #ffffff !important;
	color: #262244 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	padding: 10px !important;
	border: 0 !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-cell {
	background: #fbfbfe !important;
	border: 1px solid #efedf8 !important;
	border-radius: 12px !important;
	padding: 8px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-empty { color: #c6c2e0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card {
	border-radius: 12px !important;
	padding: 12px !important;
	box-shadow: 0 3px 10px rgba(38,34,68,.10);
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card-title {
	font-weight: 800 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card-meta {
	font-size: 11.5px !important;
	line-height: 1.45 !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card-cap { margin: 0 0 8px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-cap-pill {
	background: rgba(255,255,255,.28) !important;
	color: inherit !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-cap-full {
	background: #ffffff !important;
	color: #be123c !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card-btn {
	border-radius: 999px !important;
	padding: 9px 10px !important;
	min-height: 36px;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card-btn:hover {
	background: rgba(255,255,255,.94) !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card-btn:active {
	background: #111827 !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid #111827 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__week-card.is-past::after {
	background: rgba(255,255,255,.92) !important;
	color: #40396b !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table-day {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table-day-title {
	color: #262244 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	margin: 0 0 14px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table-day-title::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ds-accent, #4f46e5);
	flex: 0 0 auto;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table { border-collapse: collapse !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table thead th {
	background: #f4f3fb !important;
	color: #40396b !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 12px 14px !important;
	border: 0 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table tbody td {
	background: transparent !important;
	color: #262244 !important;
	padding: 14px !important;
	border-bottom: 1px solid #efedf8 !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table tbody tr:last-child td { border-bottom: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__table tbody tr.is-past td { color: #6f6a92 !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__compact-day-title {
	color: #262244 !important;
	font-weight: 800 !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__compact-item {
	background: #ffffff !important;
	color: #262244 !important;
	padding: 12px 14px !important;
	border-radius: 12px !important;
	margin: 0 0 10px !important;
	box-shadow: 0 3px 10px rgba(38,34,68,.06) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__wrooms-col-title { color: #262244 !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline p.danz-fe-card {
	background: #ffffff !important;
	color: #262244 !important;
	border: 1px solid #e5e3f4 !important;
	border-radius: 16px !important;
	padding: 18px 20px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filter { min-width: 100% !important; flex: 1 1 100%; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filters-actions { width: 100%; margin-left: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto; justify-content: center; text-align: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-center { flex: 1 1 100%; order: -1; margin-bottom: 4px; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__nav-btn { flex: 1 1 auto; justify-content: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dm--timeline article.danz-fe-planning__card { padding: 18px 16px !important; }
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--timeline { padding: var(--ds-pad, 28px) !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__list { padding: 10px 4px 10px 62px !important; gap: 22px !important; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__list::before { left: 24px; }
.danz-studio-widget--danz-horaire.danz-dm--timeline .danz-fe-planning__list > li::before { left: -44px; width: 16px; height: 16px; }
.danz-studio-widget--danz-horaire.danz-dm--timeline article.danz-fe-planning__card { padding: 22px 24px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dm--timeline { padding: var(--ds-pad, 34px) !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise {
	background: var(--ds-ardoise-bg, radial-gradient(130% 100% at 18% 0%, #24322b 0%, #1a2421 48%, #101815 100%)) !important;
	color: var(--ds-ardoise-text, #f2f0e4) !important;
	padding: var(--ds-pad, 16px) !important;
	border: 8px solid #5d4433 !important;
	border-radius: var(--ds-radius, 14px) !important;
	box-shadow: inset 0 0 70px rgba(0,0,0,.45), 0 12px 32px rgba(0,0,0,.25) !important;
	line-height: 1.55;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__compact-day-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__wrooms-col-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filter-label,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__time-chip,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-btn,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card-btn {
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	letter-spacing: .02em;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filters {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.65) !important;
	border-radius: 18px 4px 16px 6px / 5px 16px 4px 18px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filters-inner { gap: 14px 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filter { gap: 6px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filter-label {
	color: #fde68a !important;
	font-size: 11px !important;
	letter-spacing: .07em !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filter-select {
	background: #121b17 !important;
	color: #f2f0e4 !important;
	border: 1.5px solid rgba(242,240,228,.55) !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	min-height: 44px !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid #fde68a !important;
	outline-offset: 1px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise select.js-danz-seats {
	background: #121b17 !important;
	color: #f2f0e4 !important;
	border: 1.5px solid rgba(242,240,228,.55) !important;
	border-radius: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn {
	background: rgba(242,240,228,.08) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.85) !important;
	border-radius: 14px 4px 12px 5px / 4px 12px 5px 14px !important;
	padding: 11px 20px !important;
	min-height: 44px;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn:active {
	background: #d9d4bd !important;
	color: #1a2421 !important;
	border-color: #d9d4bd !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn--primary {
	background: #fde68a !important;
	color: #241d04 !important;
	border-color: #fde68a !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn--primary:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn--primary:active {
	background: #eec95b !important;
	color: #241d04 !important;
	border-color: #eec95b !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn--primary:focus-visible {
	outline: 3px dashed #f2f0e4 !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-btn--sm {
	padding: 8px 14px !important;
	min-height: 38px;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav {
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 6px 18px 5px 16px / 16px 5px 18px 6px !important;
	padding: 12px 14px !important;
	margin: 0 0 20px !important;
	gap: 10px !important;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-btn {
	background: rgba(242,240,228,.08) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.7) !important;
	border-radius: 12px 4px 14px 5px / 4px 14px 5px 12px !important;
	padding: 10px 16px !important;
	min-height: 44px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	border-color: #f2f0e4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-btn:active {
	background: #fde68a !important;
	color: #241d04 !important;
	border-color: #fde68a !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-btn.is-disabled {
	background: rgba(242,240,228,.04) !important;
	color: rgba(242,240,228,.72) !important;
	border-color: rgba(242,240,228,.25) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-center { text-align: center; padding: 2px 8px; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-center strong { color: #f2f0e4 !important; font-size: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-range { color: #d9d4bd !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-wrap {
	background: rgba(242,240,228,.04) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 16px 5px 18px 6px / 6px 18px 5px 16px !important;
	padding: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-table {
	min-width: 680px;
	border-collapse: separate !important;
	border-spacing: 7px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-table thead th {
	background: rgba(242,240,228,.12) !important;
	color: #fde68a !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 12px 10px !important;
	border: 0 !important;
	border-radius: 10px 3px 9px 4px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-time {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	padding: 10px !important;
	border: 0 !important;
	border-radius: 3px 9px 4px 10px !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-cell {
	background: rgba(255,255,255,.02) !important;
	border: 1.5px solid rgba(242,240,228,.18) !important;
	border-radius: 10px !important;
	padding: 8px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-empty { color: rgba(242,240,228,.35) !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card {
	/* Recouvre le fond inline (couleur du cours) SAUF 6px à gauche = liseré d'identification. */
	background-image: linear-gradient(90deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 6px, #1d2a24 6px, #1d2a24 100%) !important;
	background-clip: padding-box !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 4px 12px 5px 13px / 12px 4px 13px 5px !important;
	padding: 12px 12px 12px 16px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-title {
	color: #f2f0e4 !important;
	font-size: 13.5px !important;
	line-height: 1.35 !important;
	margin: 0 0 4px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-meta {
	color: #d9d4bd !important;
	font-size: 11.5px !important;
	line-height: 1.45 !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-cap { margin: 0 0 8px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-cap-pill {
	background: rgba(242,240,228,.16) !important;
	color: #f2f0e4 !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-cap-full {
	background: #f6c8d4 !important;
	color: #5b1220 !important;
	padding: 2px 9px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card-btn {
	background: #fde68a !important;
	color: #241d04 !important;
	border: 0 !important;
	border-radius: 10px 3px 11px 4px !important;
	padding: 9px 10px !important;
	min-height: 36px;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card-btn:hover {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card-btn:active {
	background: #eec95b !important;
	color: #241d04 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card-btn:focus-visible {
	outline: 3px dashed #fde68a !important;
	outline-offset: 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__week-card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 8px 3px 9px 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 4px 2px !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__list > li { margin: 0 !important; padding: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise article.danz-fe-planning__card {
	position: relative;
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	border-top: 2px solid rgba(242,240,228,.55) !important;
	border-right: 2px solid rgba(242,240,228,.55) !important;
	border-bottom: 2px solid rgba(242,240,228,.55) !important;
	border-radius: 14px 4px 16px 5px / 5px 16px 4px 14px !important;
	padding: 20px !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__card-h {
	gap: 12px !important;
	margin: 0 0 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__title {
	color: #f2f0e4 !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__subtitle {
	color: #d9d4bd !important;
	font-size: 13px !important;
	margin: 4px 0 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__time-chip {
	background: rgba(242,240,228,.12) !important;
	color: #fde68a !important;
	border: 1.5px solid rgba(242,240,228,.45) !important;
	border-radius: 3px 10px 4px 11px / 10px 3px 11px 4px !important;
	padding: 8px 14px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	white-space: nowrap;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__info {
	gap: 8px !important;
	margin: 12px 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__chip {
	background: rgba(242,240,228,.10) !important;
	color: #f2f0e4 !important;
	border: 1px solid rgba(242,240,228,.3) !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	font-size: 13px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__cap { margin: 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__cap-text {
	color: #d9d4bd !important;
	font-size: 13px !important;
	margin: 0 0 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__cap-text strong { color: #f2f0e4 !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__full {
	color: #f6c8d4 !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__cap-bar {
	background: rgba(242,240,228,.15) !important;
	height: 8px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__cap-bar-fill {
	background: #fde68a !important;
	border-radius: 999px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise article.danz-fe-planning__card.is-past {
	padding-top: 38px !important;
	opacity: .8;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise article.danz-fe-planning__card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 10px !important;
	right: 10px !important;
	padding: 3px 10px !important;
	border-radius: 9px 3px 10px 4px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__grid { gap: 24px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__day-title {
	color: #fde68a !important;
	font-size: 17px !important;
	letter-spacing: .04em;
	border-bottom: 2px dashed rgba(242,240,228,.35) !important;
	padding: 0 0 8px !important;
	margin: 0 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table-day {
	background: rgba(242,240,228,.04) !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 16px 5px 18px 6px / 6px 18px 5px 16px !important;
	padding: 18px !important;
	margin: 0 0 20px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table-day-title {
	color: #fde68a !important;
	font-size: 17px !important;
	letter-spacing: .04em;
	margin: 0 0 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table { border-collapse: collapse !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table thead th {
	background: rgba(242,240,228,.10) !important;
	color: #fde68a !important;
	font-family: "Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 12px 14px !important;
	border: 0 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table tbody td {
	background: transparent !important;
	color: #f2f0e4 !important;
	padding: 14px !important;
	border-bottom: 1px dashed rgba(242,240,228,.28) !important;
	font-size: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table tbody tr:last-child td { border-bottom: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__table tbody tr.is-past td { color: #b7b29e !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__compact-day-title {
	color: #fde68a !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__compact-item {
	background: rgba(242,240,228,.05) !important;
	color: #f2f0e4 !important;
	padding: 12px 14px !important;
	border-radius: 8px 3px 10px 4px !important;
	margin: 0 0 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-col-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__wrooms-day-title,
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__wrooms-col-title { color: #fde68a !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card {
	background-image: linear-gradient(90deg, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 6px, #1d2a24 6px, #1d2a24 100%) !important;
	background-clip: padding-box !important;
	color: #f2f0e4 !important;
	border: 2px solid rgba(242,240,228,.5) !important;
	border-radius: 4px 12px 5px 13px / 12px 4px 13px 5px !important;
	padding: 14px 14px 14px 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card-time { color: #fde68a !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__studios-card.is-past::after {
	background: #f2f0e4 !important;
	color: #1a2421 !important;
	top: 8px !important;
	right: 8px !important;
	padding: 2px 8px !important;
	border-radius: 8px 3px 9px 4px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--ardoise p.danz-fe-card {
	background: rgba(242,240,228,.06) !important;
	color: #f2f0e4 !important;
	border: 2px dashed rgba(242,240,228,.5) !important;
	border-radius: 14px 5px 16px 6px !important;
	padding: 18px 20px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dm--ardoise { border-width: 6px !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filter { min-width: 100% !important; flex: 1 1 100%; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filters-actions { width: 100%; margin-left: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto; justify-content: center; text-align: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-center { flex: 1 1 100%; order: -1; margin-bottom: 4px; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise .danz-fe-planning__nav-btn { flex: 1 1 auto; justify-content: center; min-height: 46px; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise article.danz-fe-planning__card { padding: 18px 16px !important; }
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--ardoise { padding: var(--ds-pad, 28px) !important; }
.danz-studio-widget--danz-horaire.danz-dm--ardoise article.danz-fe-planning__card { padding: 22px 24px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dm--ardoise { padding: var(--ds-pad, 34px) !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--sunset {
	background: var(--ds-sunset-bg, linear-gradient(160deg, #7c2d12 0%, #be185d 55%, #f59e0b 100%)) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	padding: 18px !important;
	border-radius: var(--ds-radius, 24px) !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--sunset { padding: 28px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dm--sunset { padding: 34px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table-day,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-empty-state {
	background: rgba(255, 247, 237, .12) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .26) !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-empty-state {
	padding: 28px !important;
	text-align: center;
	line-height: 1.5 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filters {
	padding: 18px !important;
	margin: 0 0 20px !important;
	/* v1.4.1 : voile sombre : la crème lit ≥ 5:1 même sur la zone ambre. */
	background: rgba(59, 7, 16, .62) !important;
	border: 1px solid rgba(255, 247, 237, .28) !important;
	border-radius: 16px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filters { padding: 22px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filter { gap: 6px !important; min-width: 150px; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filter-label {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filter-select {
	background: #fff7ed !important;
	color: #431407 !important;
	border: 1px solid rgba(67, 20, 7, .2) !important;
	border-radius: 12px !important;
	padding: 12px 14px !important;
	min-height: 46px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filter-select:focus-visible {
	background: #fff7ed !important;
	color: #431407 !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn:not(.js-danz-cancel) {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .5) !important;
	border-radius: 999px !important;
	padding: 12px 22px !important;
	min-height: 46px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn:not(.js-danz-cancel):focus-visible {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn:not(.js-danz-cancel):hover {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn:not(.js-danz-cancel):active {
	background: #ffedd5 !important;
	color: #431407 !important;
	border-color: #ffedd5 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn.danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.danz-dm--sunset .button,
.danz-studio-widget--danz-horaire.danz-dm--sunset button[type="submit"] {
	background: #fbbf24 !important;
	color: #451a03 !important;
	border: 1px solid #fbbf24 !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn.danz-fe-btn--primary:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--sunset .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--sunset button[type="submit"]:focus-visible {
	background: #fbbf24 !important;
	color: #451a03 !important;
	outline: 3px solid #fff7ed !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn.danz-fe-btn--primary:hover,
.danz-studio-widget--danz-horaire.danz-dm--sunset .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--sunset button[type="submit"]:hover {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn.danz-fe-btn--primary:active,
.danz-studio-widget--danz-horaire.danz-dm--sunset .button:active,
.danz-studio-widget--danz-horaire.danz-dm--sunset button[type="submit"]:active {
	background: #451a03 !important;
	color: #fde68a !important;
	border-color: #451a03 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-btn.danz-fe-btn--sm {
	padding: 8px 16px !important;
	min-height: 40px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav {
	padding: 14px 18px !important;
	margin: 0 0 20px !important;
	gap: 12px !important;
	/* v1.4.1 : même voile sombre que les filtres (« Cette semaine » en crème). */
	background: rgba(59, 7, 16, .62) !important;
	border: 1px solid rgba(255, 247, 237, .28) !important;
	border-radius: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-btn {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .5) !important;
	border-radius: 999px !important;
	padding: 10px 18px !important;
	min-height: 44px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-btn:focus-visible {
	background: rgba(255, 247, 237, .15) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	outline: 3px solid #fde68a !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-btn:hover:not(.is-disabled) {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-btn:active:not(.is-disabled) {
	background: #ffedd5 !important;
	color: #431407 !important;
	border-color: #ffedd5 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-btn.is-disabled {
	background: rgba(255, 247, 237, .08) !important;
	color: rgba(255,237,213,.92) !important;
	opacity: .5 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-center strong {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-range {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-wrap { padding: 12px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-wrap { padding: 16px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-table {
	border-collapse: separate !important;
	border-spacing: 8px !important;
	min-width: 720px;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-table { border-spacing: 10px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--sunset th.danz-fe-planning__week-day-col {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset th.danz-fe-planning__week-time-col {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset th.danz-fe-planning__week-time {
	background: rgba(255, 247, 237, .10) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	white-space: nowrap;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset td.danz-fe-planning__week-cell {
	background: rgba(255, 247, 237, .07) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 8px !important;
	vertical-align: top !important;
	min-width: 104px;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-empty {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	opacity: .35;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-card {
	border-radius: 12px !important;
	padding: 12px !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	box-shadow: 0 8px 20px rgba(67, 20, 7, .30) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card-meta {
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-bottom: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card-cap { margin-bottom: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-cap-pill {
	background: rgba(255, 255, 255, .92) !important;
	color: #431407 !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-cap-full,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-cap-full {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-btn {
	background: #431407 !important;
	color: #fff7ed !important;
	border: 1px solid rgba(255, 255, 255, .35) !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	min-height: 42px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	width: 100%;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__studios-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-btn:focus-visible {
	background: #431407 !important;
	color: #fff7ed !important;
	outline: 3px solid #fff7ed !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__studios-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-btn:hover {
	background: #fff7ed !important;
	color: #431407 !important;
	border-color: #fff7ed !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__studios-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-btn:active {
	background: #fde68a !important;
	color: #431407 !important;
	border-color: #fde68a !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__grid { gap: 26px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__cards { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__list { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__day-title {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 16px !important;
	margin: 0 0 14px !important;
	letter-spacing: .08em !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__card {
	background: rgba(255, 247, 237, .12) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border-top: 1px solid rgba(255, 247, 237, .26) !important;
	border-right: 1px solid rgba(255, 247, 237, .26) !important;
	border-bottom: 1px solid rgba(255, 247, 237, .26) !important;
	border-radius: 18px !important;
	padding: 20px !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__card:hover {
	box-shadow: 0 12px 28px rgba(67, 20, 7, .35) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__card-h {
	gap: 12px !important;
	margin-bottom: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__title {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__subtitle {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__info {
	gap: 8px !important;
	margin-bottom: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__chip {
	background: rgba(255, 247, 237, .16) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 1px solid rgba(255, 247, 237, .3) !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__cap { margin-bottom: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__cap-text {
	background: transparent !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__cap-text strong {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__full {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__cap-bar {
	background: rgba(255, 247, 237, .22) !important;
	color: #431407 !important;
	height: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__seats {
	background: transparent !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	gap: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__seats select {
	background: #fff7ed !important;
	color: #431407 !important;
	border: 1px solid rgba(67, 20, 7, .2) !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table-wrap { gap: 20px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table-day { padding: 18px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table-day { padding: 22px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table-day-title {
	background: #fff7ed !important;
	color: #7c2d12 !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 14px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	border: 0 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table {
	border-collapse: separate !important;
	border-spacing: 0 8px !important;
	width: 100% !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table thead th {
	background: rgba(255, 247, 237, .14) !important;
	color: var(--ds-sunset-text, #ffedd5) !important;
	border: 0 !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table thead th:first-child { border-radius: 10px 0 0 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table thead th:last-child { border-radius: 0 10px 10px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table tbody td {
	background: rgba(255, 247, 237, .08) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
	border: 0 !important;
	padding: 14px !important;
	line-height: 1.45 !important;
	vertical-align: middle;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table tbody td:first-child { border-radius: 12px 0 0 12px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table tbody td:last-child { border-radius: 0 12px 12px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table tbody tr:hover td {
	background: rgba(255, 247, 237, .16) !important;
	color: var(--ds-sunset-text, #fff7ed) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table tbody tr.is-past td,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__table tbody tr.is-full td { opacity: .65; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__wrooms-card.is-past::after {
	background: #431407 !important;
	color: #fde68a !important;
	border-radius: 999px !important;
	padding: 3px 10px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	top: 8px !important;
	right: 8px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filter { min-width: 100% !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filters-actions {
		width: 100% !important;
		margin-left: 0 !important;
	}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__nav-center {
		min-width: 100% !important;
		order: -1;
	}
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__card { padding: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dm--sunset .danz-fe-planning__card.is-past { padding-top: 32px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--soft {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: var(--ds-soft-text, #2d3748) !important;
	padding: 20px !important;
	border-radius: var(--ds-radius, 28px) !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--soft { padding: 30px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dm--soft { padding: 36px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table-day,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-empty-state {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: var(--ds-soft-text, #2d3748) !important;
	border: 0 !important;
	border-radius: 22px !important;
	box-shadow: 9px 9px 20px rgba(163, 177, 198, .55), -9px -9px 20px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-empty-state {
	padding: 30px !important;
	text-align: center;
	line-height: 1.5 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filters {
	padding: 20px !important;
	margin: 0 0 26px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filters { padding: 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filter { gap: 6px !important; min-width: 160px; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filter-label {
	background: transparent !important;
	color: #4a5568 !important;
	letter-spacing: .07em !important;
	line-height: 1.4 !important;
	padding: 0 2px 2px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filter-select {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 12px 16px !important;
	min-height: 46px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .55), inset -3px -3px 8px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filter-select:focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filters-actions { gap: 12px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn:not(.js-danz-cancel) {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
	min-height: 46px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .55), -5px -5px 12px rgba(255, 255, 255, .9) !important;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn:not(.js-danz-cancel):focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn:not(.js-danz-cancel):hover {
	background: #f4f7fb !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn:not(.js-danz-cancel):active {
	background: #dce3ee !important;
	color: #111827 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .6), inset -3px -3px 8px rgba(255, 255, 255, .85) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn.danz-fe-btn--primary,
.danz-studio-widget--danz-horaire.danz-dm--soft .button,
.danz-studio-widget--danz-horaire.danz-dm--soft button[type="submit"] {
	background: var(--ds-accent, #7c3aed) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	box-shadow: 5px 5px 14px rgba(124, 58, 237, .3), -5px -5px 12px rgba(255, 255, 255, .8) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn.danz-fe-btn--primary:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--soft .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--soft button[type="submit"]:focus-visible {
	background: var(--ds-accent, #7c3aed) !important;
	color: #ffffff !important;
	outline: 3px solid #2d3748 !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn.danz-fe-btn--primary:hover,
.danz-studio-widget--danz-horaire.danz-dm--soft .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--soft button[type="submit"]:hover {
	background: #6d28d9 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 82%, #111827) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn.danz-fe-btn--primary:active,
.danz-studio-widget--danz-horaire.danz-dm--soft .button:active,
.danz-studio-widget--danz-horaire.danz-dm--soft button[type="submit"]:active {
	background: #5b21b6 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 68%, #111827) !important;
	color: #ffffff !important;
	box-shadow: inset 3px 3px 8px rgba(17, 24, 39, .35) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-btn.danz-fe-btn--sm {
	padding: 8px 18px !important;
	min-height: 40px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav {
	padding: 16px 18px !important;
	margin: 0 0 26px !important;
	gap: 12px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-btn {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	min-height: 44px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .55), -5px -5px 12px rgba(255, 255, 255, .9) !important;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-btn:focus-visible {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	outline: 3px solid var(--ds-accent, #7c3aed) !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-btn:hover:not(.is-disabled) {
	background: #f4f7fb !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-btn:active:not(.is-disabled) {
	background: #dce3ee !important;
	color: #111827 !important;
	box-shadow: inset 3px 3px 8px rgba(163, 177, 198, .6), inset -3px -3px 8px rgba(255, 255, 255, .85) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-btn.is-disabled {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #51607a !important;
	box-shadow: none !important;
	opacity: .6 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-center strong {
	background: transparent !important;
	color: #111827 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-range {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-wrap { padding: 16px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-wrap { padding: 20px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-table {
	border-collapse: separate !important;
	border-spacing: 10px !important;
	min-width: 740px;
	/* Les tokens sombres du site ne doivent pas transparaître sous les
	   cellules translucides : la grille repose sur le fond Douceur. */
	background: transparent !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-wrap,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-table tbody,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-table tbody tr {
	background: transparent !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-table { border-spacing: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--soft th.danz-fe-planning__week-day-col {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .5), -5px -5px 12px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft th.danz-fe-planning__week-time-col {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4a5568 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 10px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	text-align: center !important;
	line-height: 1.4 !important;
	box-shadow: 5px 5px 12px rgba(163, 177, 198, .5), -5px -5px 12px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft th.danz-fe-planning__week-time {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4a5568 !important;
	border: 0 !important;
	border-radius: 14px !important;
	padding: 12px 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	/* L'heure passe sur deux lignes plutôt que d'être rognée. */
	white-space: normal;
	min-width: 82px;
	vertical-align: top;
	box-shadow: inset 3px 3px 7px rgba(163, 177, 198, .45), inset -3px -3px 7px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft td.danz-fe-planning__week-cell {
	background: rgba(163, 177, 198, .14) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 8px !important;
	vertical-align: top !important;
	min-width: 104px;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-empty {
	background: transparent !important;
	color: #94a3b8 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-card {
	border-radius: 14px !important;
	padding: 12px !important;
	border: 0 !important;
	box-shadow: 6px 6px 14px rgba(163, 177, 198, .5) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-card.is-past { padding-top: 30px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card-meta {
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-bottom: 8px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card-cap { margin-bottom: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-cap-pill {
	background: rgba(255, 255, 255, .95) !important;
	color: #1a202c !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-cap-full,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-cap-full {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card-btn,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__studios-card-btn,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-btn {
	background: #ffffff !important;
	color: #1a202c !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	min-height: 42px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	width: 100%;
	box-shadow: 0 3px 8px rgba(26, 32, 44, .25) !important;
	transition: background-color .15s ease, color .15s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__studios-card-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-btn:focus-visible {
	background: #ffffff !important;
	color: #1a202c !important;
	outline: 3px solid #1a202c !important;
	outline-offset: 2px;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__studios-card-btn:hover,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-btn:hover {
	background: #1a202c !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__studios-card-btn:active,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-btn:active {
	background: #5b21b6 !important;
	background: color-mix(in srgb, var(--ds-accent, #7c3aed) 70%, #111827) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__grid { gap: 28px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__cards { gap: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__list { gap: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__day-title {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 16px !important;
	letter-spacing: .08em !important;
	line-height: 1.4 !important;
	box-shadow: 4px 4px 10px rgba(163, 177, 198, .5), -4px -4px 10px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__card {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-radius: 20px !important;
	padding: 22px !important;
	box-shadow: 9px 9px 20px rgba(163, 177, 198, .55), -9px -9px 20px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__card:hover {
	box-shadow: 12px 12px 26px rgba(163, 177, 198, .6), -10px -10px 22px rgba(255, 255, 255, .95) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__card.is-past { padding-top: 36px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__card-h {
	gap: 12px !important;
	margin-bottom: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__title {
	background: transparent !important;
	color: #111827 !important;
	line-height: 1.3 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__subtitle {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__info {
	gap: 8px !important;
	margin-bottom: 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__chip {
	background: #ffffff !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	line-height: 1.3 !important;
	box-shadow: 3px 3px 8px rgba(163, 177, 198, .4), -3px -3px 8px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__cap { margin-bottom: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__cap-text {
	background: transparent !important;
	color: #4a5568 !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__cap-text strong {
	background: transparent !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__full {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 4px 12px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__cap-bar {
	background: rgba(163, 177, 198, .3) !important;
	color: #2d3748 !important;
	height: 8px !important;
	box-shadow: inset 2px 2px 5px rgba(163, 177, 198, .5) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__seats {
	background: transparent !important;
	color: #2d3748 !important;
	gap: 10px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__seats select {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #2d3748 !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
	box-shadow: inset 2px 2px 6px rgba(163, 177, 198, .5), inset -2px -2px 6px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table-wrap { gap: 26px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table-day { padding: 20px !important; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table-day { padding: 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table-day-title {
	background: var(--ds-soft-bg, #e8ecf3) !important;
	color: #4c1d95 !important;
	color: color-mix(in srgb, var(--ds-accent, #7c3aed) 62%, #111827) !important;
	display: inline-block !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin: 0 0 16px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	border: 0 !important;
	box-shadow: 4px 4px 10px rgba(163, 177, 198, .5), -4px -4px 10px rgba(255, 255, 255, .9) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table {
	border-collapse: separate !important;
	border-spacing: 0 10px !important;
	width: 100% !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table thead th {
	background: rgba(163, 177, 198, .18) !important;
	color: #4a5568 !important;
	border: 0 !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	text-align: left;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table thead th:first-child { border-radius: 10px 0 0 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table thead th:last-child { border-radius: 0 10px 10px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table tbody td {
	background: #ffffff !important;
	color: #2d3748 !important;
	border: 0 !important;
	padding: 14px !important;
	line-height: 1.45 !important;
	vertical-align: middle;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table tbody td:first-child { border-radius: 14px 0 0 14px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table tbody td:last-child { border-radius: 0 14px 14px 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table tbody tr:hover td {
	background: #f7f9fc !important;
	color: #111827 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table tbody tr.is-past td,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__table tbody tr.is-full td { opacity: .65; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__wrooms-card.is-past::after {
	background: #1a202c !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	padding: 3px 10px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	top: 8px !important;
	right: 8px !important;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filter { min-width: 100% !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filters-actions {
		width: 100% !important;
		margin-left: 0 !important;
	}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__filters-actions .danz-fe-btn { flex: 1 1 auto !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__nav-center {
		min-width: 100% !important;
		order: -1;
	}
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__card { padding: 18px !important; }
.danz-studio-widget--danz-horaire.danz-dm--soft .danz-fe-planning__card.is-past { padding-top: 34px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine {
	background: var(--ds-magazine-bg, #faf7f2) !important;
	color: #1c1917 !important;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	line-height: 1.55;
	padding: 20px 16px !important;
	border-top: 3px solid #1c1917 !important;
	border-bottom: 1px solid #1c1917 !important;
	border-radius: var(--ds-radius, 0) !important;
	font-size: 14px;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine { padding: 32px 28px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine { padding: 44px 40px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table-day-title,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__card-h {
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 700;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 18px 16px !important;
	margin-bottom: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav { padding: 22px 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filter { gap: 8px !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filter-label {
	color: #7c2d12 !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	padding: 0 2px 2px;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filter-label { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filter-select {
	background: #ffffff !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	min-height: 44px;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filter-select:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #ffffff !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav { gap: 14px !important; align-items: center; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-center strong {
	color: #1c1917 !important;
	font-size: 21px !important;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-range {
	color: #57534e !important;
	font-variant-numeric: oldstyle-nums;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-btn {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 18px !important;
	min-height: 44px;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.3;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-btn { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-btn:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-btn:active {
	background: #44403c !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #faf7f2 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav-btn.is-disabled {
	background: #f1ece2 !important;
	color: #57534e !important;
	border-color: #a8a29e !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-dm--magazine .button,
.danz-studio-widget--danz-horaire.danz-dm--magazine button[type="submit"] {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 12px 20px !important;
	min-height: 44px;
	font-weight: 600;
	font-size: 13px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.3;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn:hover,
.danz-studio-widget--danz-horaire.danz-dm--magazine .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--magazine button[type="submit"]:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn:active,
.danz-studio-widget--danz-horaire.danz-dm--magazine .button:active,
.danz-studio-widget--danz-horaire.danz-dm--magazine button[type="submit"]:active {
	background: #44403c !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--magazine .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--magazine button[type="submit"]:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #faf7f2 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn--primary {
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn--primary:hover {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn--primary:active {
	background: #7c2d12 !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #1c1917 !important;
	outline-offset: 2px;
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn--sm { padding: 10px 14px !important; min-height: 44px; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-btn--sm { padding: 8px 14px !important; min-height: 38px; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-wrap {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-table {
	border-collapse: collapse !important;
	background: #fffdf8 !important;
	color: #1c1917 !important;
	width: 100%;
	min-width: 760px;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-table thead th {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 600;
	padding: 16px 12px !important;
	border-bottom: 2px solid #1c1917 !important;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-table thead th { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine th.danz-fe-planning__week-time {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 400;
	font-variant-numeric: oldstyle-nums;
	font-size: 14px !important;
	padding: 14px 12px !important;
	border-right: 1px solid #1c1917 !important;
	border-bottom: 1px solid #e5ddcd !important;
	white-space: nowrap;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine td.danz-fe-planning__week-cell {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border-bottom: 1px solid #e5ddcd !important;
	padding: 10px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-empty { color: #6f675a !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__wrooms-card {
	background: #ffffff !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-left: 4px solid var(--ds-accent, #c2410c) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 14px 14px 14px 16px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-title {
	color: #1c1917 !important;
	font-size: 15px !important;
	line-height: 1.4;
	margin: 0 0 6px;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-meta {
	color: #57534e !important;
	font-size: 13px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-cap { margin-top: 10px; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-cap-pill {
	background: #faf7f2 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	padding: 4px 10px !important;
	font-size: 13px !important;
	letter-spacing: .05em;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-cap-full {
	background: #7f1d1d !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	padding: 4px 10px !important;
	font-size: 13px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-cap-full { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-btn {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	width: 100%;
	margin-top: 12px;
	padding: 11px 14px !important;
	min-height: 44px;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.2;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-btn { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-btn:hover {
	background: var(--ds-accent, #c2410c) !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-btn:active {
	background: #7c2d12 !important;
	color: #ffffff !important;
	border-color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid var(--ds-accent, #c2410c) !important;
	outline-offset: 2px;
	background: #1c1917 !important;
	color: #faf7f2 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__wrooms-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__wrooms-card.is-past::after {
	background: #1c1917 !important;
	color: #faf7f2 !important;
	border-radius: 0 !important;
	padding: 3px 8px !important;
	font-size: 11px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	top: 6px;
	right: 6px;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__card.is-cancelled,
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__week-card.is-cancelled {
	background: #fbf3ef !important;
	color: #7f1d1d !important;
	border-color: #7f1d1d !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__list > li { margin: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__card {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border-top: 1px solid #1c1917 !important;
	border-right: 1px solid #1c1917 !important;
	border-bottom: 1px solid #1c1917 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__card { padding: 24px 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__card-h {
	padding: 0 0 12px !important;
	margin: 0 0 14px !important;
	border-bottom: 1px solid #e5ddcd !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__title-wrap { gap: 10px; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table-day { margin: 0 0 30px !important; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table-day-title {
	color: #1c1917 !important;
	font-size: 21px !important;
	line-height: 1.4;
	padding: 0 0 10px !important;
	margin: 0 0 14px !important;
	border-bottom: 2px solid #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	border: 1px solid #1c1917 !important;
	border-collapse: collapse !important;
	width: 100%;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table thead th {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 700;
	padding: 13px 14px !important;
	border-bottom: 2px solid #1c1917 !important;
	text-align: left;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table thead th { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table tbody td {
	background: #fffdf8 !important;
	color: #1c1917 !important;
	padding: 14px !important;
	border-bottom: 1px solid #e5ddcd !important;
	font-size: 14px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table tbody tr:hover td {
	background: #f5efe3 !important;
	color: #1c1917 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__table tbody tr.is-past td {
	background: #f7f3ea !important;
	color: #6f675a !important;
}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-empty-state {
	background: #fffdf8 !important;
	color: #57534e !important;
	border: 1px dashed #1c1917 !important;
	border-radius: 0 !important;
	padding: 28px !important;
	text-align: center;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filters-inner {
		flex-direction: column;
		align-items: stretch !important;
		gap: 14px !important;
	}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filter { min-width: 0 !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filters-actions {
		margin-left: 0 !important;
		width: 100%;
		flex-direction: column;
		gap: 10px !important;
	}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__filters-actions .danz-fe-btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
.danz-studio-widget--danz-horaire.danz-dm--magazine .danz-fe-planning__nav { justify-content: center; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber {
	background: var(--ds-cyber-bg, #050510) !important;
	color: #e0f2fe !important;
	line-height: 1.55;
	padding: 18px 14px !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: var(--ds-radius, 18px) !important;
	box-shadow: 0 0 24px -8px var(--ds-accent, #22d3ee), inset 0 0 40px -30px var(--ds-accent, #22d3ee) !important;
	font-size: 14px;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber { padding: 28px 24px !important; }
}
@media (min-width: 1025px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber { padding: 36px 32px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-center strong,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-title,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card-h {
	color: #ffffff !important;
	text-shadow: 0 0 10px var(--ds-accent, #22d3ee);
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav {
	background: #0b0b1e !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 18px -8px var(--ds-accent, #22d3ee) !important;
	padding: 18px 16px !important;
	margin-bottom: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filters,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav { padding: 22px 24px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filters-inner { gap: 16px !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filter { gap: 8px !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filters-actions { gap: 10px !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filter-label {
	color: #7dd3fc !important;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .14em;
	padding: 0 2px 2px;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filter-label { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filter-select,
.danz-studio-widget--danz-horaire.danz-dm--cyber select,
.danz-studio-widget--danz-horaire.danz-dm--cyber input[type="text"] {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	min-height: 44px;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber select option {
	background: #0d0d24;
	color: #e0f2fe;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filter-select:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--cyber select:focus-visible {
	outline: 3px solid var(--ds-accent, #22d3ee) !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav { gap: 14px !important; align-items: center; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-center strong { font-size: 20px !important; line-height: 1.4; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-range {
	color: #7dd3fc !important;
	font-variant-numeric: tabular-nums;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-btn {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 18px !important;
	min-height: 44px;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.3;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-btn:hover {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border-color: var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 14px -2px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-btn:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-btn:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav-btn.is-disabled {
	background: #0b0b1e !important;
	color: #94a3b8 !important;
	border-color: rgba(148,163,184,.3) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn,
.danz-studio-widget--danz-horaire.danz-dm--cyber .button,
.danz-studio-widget--danz-horaire.danz-dm--cyber button[type="submit"] {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 10px !important;
	padding: 12px 20px !important;
	min-height: 44px;
	font-weight: 600;
	font-size: 13px !important;
	letter-spacing: .04em;
	line-height: 1.3;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn:hover,
.danz-studio-widget--danz-horaire.danz-dm--cyber .button:hover,
.danz-studio-widget--danz-horaire.danz-dm--cyber button[type="submit"]:hover {
	background: #16163a !important;
	color: #ffffff !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn:active,
.danz-studio-widget--danz-horaire.danz-dm--cyber .button:active,
.danz-studio-widget--danz-horaire.danz-dm--cyber button[type="submit"]:active {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--cyber .button:focus-visible,
.danz-studio-widget--danz-horaire.danz-dm--cyber button[type="submit"]:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: #0d0d24 !important;
	color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn--primary {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee) !important;
	font-weight: 800;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn--primary:hover {
	background: #050510 !important;
	color: var(--ds-accent, #22d3ee) !important;
	border-color: var(--ds-accent, #22d3ee) !important;
	box-shadow: 0 0 14px -2px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn--primary:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn--primary:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn--sm { padding: 10px 14px !important; min-height: 44px; }
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-btn--sm { padding: 8px 14px !important; min-height: 38px; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-wrap {
	background: #08081a !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 18px -8px var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-table {
	border-collapse: collapse !important;
	background: #08081a !important;
	color: #e0f2fe !important;
	width: 100%;
	min-width: 760px;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-table thead th {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 800;
	padding: 13px 12px !important;
	border: 0 !important;
	border-right: 1px solid rgba(5,5,16,.35) !important;
	text-shadow: none;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-table thead th { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber th.danz-fe-planning__week-time {
	background: #0b0b1e !important;
	color: #7dd3fc !important;
	font-variant-numeric: tabular-nums;
	font-size: 13px !important;
	font-weight: 600;
	padding: 14px 12px !important;
	border-right: 1px solid rgba(125,211,252,.25) !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	white-space: nowrap;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber td.danz-fe-planning__week-cell {
	background: #08081a !important;
	color: #e0f2fe !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	padding: 10px !important;
	vertical-align: top;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-empty { color: #94a3b8 !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__studios-card,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__wrooms-card {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: 12px !important;
	box-shadow: 0 0 12px -1px var(--ds-accent, #22d3ee) !important;
	padding: 14px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-title {
	font-size: 15px !important;
	line-height: 1.4;
	margin: 0 0 6px;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-meta {
	color: #bae6fd !important;
	font-size: 13px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-cap { margin-top: 10px; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-cap-pill {
	background: #16163a !important;
	color: #7dd3fc !important;
	border: 1px solid rgba(125,211,252,.45) !important;
	border-radius: 999px !important;
	padding: 4px 11px !important;
	font-size: 13px !important;
	letter-spacing: .04em;
	line-height: 1.4;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-cap-full {
	background: #fb7185 !important;
	color: #050510 !important;
	border-radius: 999px !important;
	padding: 4px 11px !important;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-cap-pill,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-cap-full { font-size: 11.5px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-btn {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	border: 1px solid var(--ds-accent, #22d3ee) !important;
	border-radius: 8px !important;
	width: 100%;
	margin-top: 12px;
	padding: 11px 14px !important;
	min-height: 44px;
	font-size: 13px !important;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee) !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-btn { font-size: 12px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-btn:hover {
	background: #050510 !important;
	color: var(--ds-accent, #22d3ee) !important;
	border-color: var(--ds-accent, #22d3ee) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-btn:active {
	background: #e0f2fe !important;
	color: #050510 !important;
	border-color: #e0f2fe !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card-btn:focus-visible {
	outline: 3px solid #e0f2fe !important;
	outline-offset: 2px;
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card.is-past { padding-top: 34px !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__studios-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__wrooms-card.is-past { padding-top: 32px !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__studios-card.is-past::after,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__wrooms-card.is-past::after {
	background: #334155 !important;
	color: #f1f5f9 !important;
	border-radius: 999px !important;
	padding: 3px 9px !important;
	font-size: 11px !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	top: 6px;
	right: 6px;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card.is-past,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card.is-past {
	border-color: rgba(148,163,184,.45) !important;
	box-shadow: none !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card.is-cancelled,
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__week-card.is-cancelled {
	background: #1a0d16 !important;
	color: #fecdd3 !important;
	border-color: #fb7185 !important;
	box-shadow: 0 0 12px -3px #fb7185 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 18px !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__list > li { margin: 0 !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card {
	background: #0d0d24 !important;
	color: #e0f2fe !important;
	border-top: 1px solid rgba(125,211,252,.35) !important;
	border-right: 1px solid rgba(125,211,252,.35) !important;
	border-bottom: 1px solid rgba(125,211,252,.35) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 14px -6px var(--ds-accent, #22d3ee) !important;
	padding: 20px !important;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card { padding: 24px 26px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__card-h {
	padding: 0 0 12px !important;
	margin: 0 0 14px !important;
	border-bottom: 1px solid rgba(125,211,252,.18) !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__title-wrap { gap: 10px; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table-day { margin: 0 0 30px !important; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table-day-title {
	background: var(--ds-accent, #22d3ee) !important;
	color: #050510 !important;
	display: inline-block;
	padding: 8px 16px !important;
	margin: 0 0 14px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	line-height: 1.4;
	box-shadow: 0 0 12px -2px var(--ds-accent, #22d3ee);
	text-shadow: none;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table {
	background: #08081a !important;
	color: #e0f2fe !important;
	border: 1px solid rgba(125,211,252,.3) !important;
	border-radius: 12px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden;
	width: 100%;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table thead th {
	background: #16163a !important;
	color: #7dd3fc !important;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px !important;
	font-weight: 700;
	padding: 13px 14px !important;
	border-bottom: 1px solid var(--ds-accent, #22d3ee) !important;
	text-align: left;
	line-height: 1.4;
}
@media (min-width: 768px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table thead th { font-size: 11px !important; }
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table tbody td {
	background: #08081a !important;
	color: #e0f2fe !important;
	padding: 14px !important;
	border-bottom: 1px solid rgba(125,211,252,.12) !important;
	font-size: 14px !important;
	line-height: 1.5;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table tbody tr:hover td {
	background: #131335 !important;
	color: #ffffff !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__table tbody tr.is-past td {
	background: #0b0b1e !important;
	color: #94a3b8 !important;
}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-empty-state {
	background: #0b0b1e !important;
	color: #bae6fd !important;
	border: 1px dashed rgba(125,211,252,.5) !important;
	border-radius: 14px !important;
	padding: 28px !important;
	text-align: center;
}
@media (max-width: 767px) {
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filters-inner {
		flex-direction: column;
		align-items: stretch !important;
		gap: 14px !important;
	}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filter { min-width: 0 !important; width: 100%; }
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filters-actions {
		margin-left: 0 !important;
		width: 100%;
		flex-direction: column;
		gap: 10px !important;
	}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__filters-actions .danz-fe-btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
.danz-studio-widget--danz-horaire.danz-dm--cyber .danz-fe-planning__nav { justify-content: center; }
}
.danz-studio-widget--danz-horaire.danz-dm--simple_max {
	background: var(--ds-bg, #ffffff);
	color: var(--ds-text, #111827);
}
.danz-studio-widget--danz-horaire.danz-dm--simple_max .danz-fe-planning__day,
.danz-studio-widget--danz-horaire.danz-dm--simple_max .danz-fe-planning__wrooms-day,
.danz-studio-widget--danz-horaire.danz-dm--simple_max .danz-fe-planning__studios-day,
.danz-studio-widget--danz-horaire.danz-dm--simple_max .danz-fe-planning__table-day {
	border-radius: var(--ds-radius, 14px);
	padding: 14px 16px;
	margin-bottom: 14px;
	border: 0;
	box-shadow: none;
	transition: background-color .2s ease;
}
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow="1"] { background: var(--ds-day-1, #dbeafe); color: var(--ds-day-1-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow="2"] { background: var(--ds-day-2, #dcfce7); color: var(--ds-day-2-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow="3"] { background: var(--ds-day-3, #fef3c7); color: var(--ds-day-3-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow="4"] { background: var(--ds-day-4, #fce7f3); color: var(--ds-day-4-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow="5"] { background: var(--ds-day-5, #e0e7ff); color: var(--ds-day-5-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow="6"] { background: var(--ds-day-6, #ffedd5); color: var(--ds-day-6-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow="7"] { background: var(--ds-day-7, #e2e8f0); color: var(--ds-day-7-text, #111827); }
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow] .danz-fe-planning__day-title,
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow] .danz-fe-planning__wrooms-day-title {
	color: inherit;
	opacity: .85;
}
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow] .danz-fe-planning__card,
.danz-studio-widget--danz-horaire.danz-dm--simple_max [data-dow] .danz-fe-planning__wrooms-card {
	background: rgba(255, 255, 255, .82);
	color: #111827;
	border: 1px solid rgba(17, 24, 39, .08);
	box-shadow: none;
}
@media (prefers-color-scheme: dark) {
.danz-studio-widget--danz-horaire.danz-dm--dark,
.danz-studio-widget--danz-horaire.danz-dm--cyber,
.danz-studio-widget--danz-horaire.danz-dm--ardoise,
.danz-studio-widget--danz-horaire.danz-dm--glass {
		--danz-fe-bg: #0f172a;
		--danz-fe-surface: #1e293b;
		--danz-fe-surface-2: #0f172a;
		--danz-fe-text: #f1f5f9;
		--danz-fe-text-muted: #94a3b8;
		--danz-fe-border: #334155;
	}
}
}
/* ===DANZ-DEVICE-SKINS:END=== */

/* === v1.10.2 : Planning : lisibilité au téléphone ==========================
 * L'habillage « couleurs par jour » fixe la pastille d'horaire à 12 px avec
 * une spécificité triplée, ce qui l'emportait sur le réglage mobile du
 * plugin. Sous 640 px la carte occupe toute la largeur : on peut lire
 * confortablement sans rien serrer. */
@media (max-width: 640px) {
	.danz-studio-widget--danz-horaire.has-ds-days.has-ds-days.has-ds-days [data-dow] .danz-fe-planning__wrooms-slot {
		font-size: 14px;
		padding: 7px 14px;
	}
	.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .danz-fe-planning__wrooms-btn,
	.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .danz-fe-planning__week-card-btn,
	.danz-studio-widget--danz-horaire.has-ds-days [data-dow] .danz-fe-planning__studios-card-btn {
		font-size: 15px;
		min-height: 44px;
	}
}

/* === v1.10.3 : Habillage sombre : le « texte atténué » doit rester lisible ==
 * `--danz-fe-text-muted` vaut #6b7280, une encre pensée pour un fond clair.
 * Posée sur l'habillage sombre, elle tombait à 3,9:1 (mesuré sur la
 * navigation de semaine désactivée). On la redéfinit en blanc atténué :
 * 6,7:1 : toujours perçu comme secondaire, mais lisible. */
.danz-studio-widget--danz-horaire.danz-design--dark,
.danz-studio-widget--danz-horaire.danz-design--glass {
	--danz-fe-text-muted: rgba(241, 245, 249, .62);
}

/* =========================================================================
   Galerie photo (widget « gallery ») : v1.11.0
   Grille et mosaïque en CSS pur : la galerie s'affiche même sans JavaScript.
   ========================================================================= */

.danz-gallery {
	--dg-cols: 3;
	--dg-cols-t: 2;
	--dg-cols-m: 1;
	--dg-gap: 12px;
	--dg-radius: 12px;
}

/* --- Grille régulière : toutes les tuiles au même format. --- */
.danz-gallery--grid {
	display: grid;
	grid-template-columns: repeat(var(--dg-cols), minmax(0, 1fr));
	gap: var(--dg-gap);
}

/* --- Mosaïque : des colonnes, chaque photo garde sa hauteur. --- */
.danz-gallery--masonry {
	column-count: var(--dg-cols);
	column-gap: var(--dg-gap);
}
.danz-gallery--masonry .danz-gallery__item {
	break-inside: avoid;
	margin: 0 0 var(--dg-gap);
	display: inline-block;
	width: 100%;
}

.danz-gallery__item {
	margin: 0;
	position: relative;
	overflow: hidden;
	border-radius: var(--dg-radius);
}

.danz-gallery__item img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: inherit;
}

/* Format imposé : la photo remplit la tuile, quitte à être recadrée. */
.danz-gallery--ratio .danz-gallery__item img {
	aspect-ratio: var(--dg-ratio);
	object-fit: cover;
	height: 100%;
}

.danz-gallery__lien {
	display: block;
	line-height: 0;
	border-radius: inherit;
	cursor: zoom-in;
}

.danz-gallery__legende {
	margin-top: 6px;
	font-size: .85em;
	line-height: 1.4;
	color: #64748b;
	text-align: center;
}
/* La légende sous une tuile ne doit pas être rognée par l'overflow du cadre. */
.danz-gallery__item:has(> .danz-gallery__legende) { overflow: visible; }
.danz-gallery__item:has(> .danz-gallery__legende) > .danz-gallery__lien,
.danz-gallery__item:has(> .danz-gallery__legende) > img { border-radius: var(--dg-radius); overflow: hidden; }

/* --- Effets au survol --- */
.danz-gallery--fx-zoom .danz-gallery__item img { transition: transform .45s cubic-bezier(.2,.7,.3,1); }
.danz-gallery--fx-zoom .danz-gallery__item:hover img { transform: scale(1.06); }

.danz-gallery--fx-lift .danz-gallery__item { transition: transform .3s ease, box-shadow .3s ease; }
.danz-gallery--fx-lift .danz-gallery__item:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(15,23,42,.25); }

.danz-gallery--fx-grayscale .danz-gallery__item img { filter: grayscale(1); transition: filter .4s ease; }
.danz-gallery--fx-grayscale .danz-gallery__item:hover img { filter: grayscale(0); }

.danz-gallery__voile {
	position: absolute; inset: 0;
	display: flex; align-items: flex-end;
	padding: 14px;
	background: linear-gradient(to top, rgba(15,23,42,.78), rgba(15,23,42,0) 60%);
	color: #fff; font-size: .9rem; line-height: 1.35;
	opacity: 0; transition: opacity .3s ease;
	border-radius: inherit;
	pointer-events: none;
}
.danz-gallery--fx-reveal .danz-gallery__item:hover .danz-gallery__voile { opacity: 1; }

/* --- Adaptation aux écrans --- */
@media (max-width: 900px) {
	.danz-gallery--grid    { grid-template-columns: repeat(var(--dg-cols-t), minmax(0, 1fr)); }
	.danz-gallery--masonry { column-count: var(--dg-cols-t); }
}
@media (max-width: 560px) {
	.danz-gallery--grid    { grid-template-columns: repeat(var(--dg-cols-m), minmax(0, 1fr)); }
	.danz-gallery--masonry { column-count: var(--dg-cols-m); }
}

/* --- Plusieurs galeries en onglets (v1.12.0) --- */
.danz-gallery__onglets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: var(--dgo-align, flex-start);
	margin: 0 0 16px;
}
.danz-gallery__onglet {
	appearance: none;
	border: 1px solid currentColor;
	background: transparent;
	color: var(--dgo-color, #64748b);
	font: inherit;
	font-size: var(--dgo-size, 14px);
	font-weight: 600;
	line-height: 1.2;
	padding: 9px 18px;
	border-radius: 999px;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.danz-gallery__onglet:not(.is-active):hover { color: var(--dgo-active-bg, #111827); } /* 1.14.3 : l'onglet actif prenait sa propre couleur de fond au survol (1:1) */
.danz-gallery__onglet.is-active {
	background: var(--dgo-active-bg, #111827);
	border-color: var(--dgo-active-bg, #111827);
	color: var(--dgo-active-color, #ffffff);
}
/* Variante soulignée : pas de pastille, un trait sous l'onglet actif. */
.danz-gallery__onglets--underline .danz-gallery__onglet {
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 6px 4px;
	background: transparent;
}
.danz-gallery__onglets--underline .danz-gallery__onglet.is-active {
	background: transparent;
	color: var(--dgo-active-bg, #111827);
	border-bottom-color: var(--dgo-active-bg, #111827);
}
.danz-gallery__onglet:focus-visible {
	outline: 2px solid var(--dgo-active-bg, #111827);
	outline-offset: 2px;
}
/* Le panneau inactif est masqué par l'attribut hidden : le CSS ne fait que
   le confirmer, pour les thèmes qui redéfinissent display sur les div. */
.danz-gallery__panneau[hidden] { display: none; }

/* --- Visionneuse plein écran --- */
.danz-lb {
	position: fixed; inset: 0; z-index: 99999;
	background: rgba(8, 11, 20, .94);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; transition: opacity .22s ease;
}
.danz-lb.is-open { opacity: 1; }
.danz-lb__img {
	max-width: 92vw; max-height: 84vh;
	object-fit: contain;
	border-radius: 6px;
	box-shadow: 0 24px 70px rgba(0,0,0,.6);
}
.danz-lb__btn {
	position: absolute;
	background: rgba(255,255,255,.10);
	color: #fff; border: 0; cursor: pointer;
	width: 48px; height: 48px; border-radius: 50%;
	font-size: 22px; line-height: 1;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s ease;
}
.danz-lb__btn:hover  { background: rgba(255,255,255,.22); }
.danz-lb__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.danz-lb__close { top: 18px; right: 18px; }
.danz-lb__prev  { left: 18px;  top: 50%; transform: translateY(-50%); }
.danz-lb__next  { right: 18px; top: 50%; transform: translateY(-50%); }
.danz-lb__legende {
	position: absolute; left: 0; right: 0; bottom: 22px;
	text-align: center; color: #e2e8f0;
	font-size: .95rem; padding: 0 70px;
	text-shadow: 0 1px 4px rgba(0,0,0,.7);
}
.danz-lb__compteur {
	position: absolute; top: 24px; left: 22px;
	color: #94a3b8; font-size: .85rem; letter-spacing: .04em;
}
@media (max-width: 560px) {
	.danz-lb__btn   { width: 42px; height: 42px; font-size: 19px; }
	.danz-lb__prev  { left: 8px; }
	.danz-lb__next  { right: 8px; }
	.danz-lb__legende { padding: 0 16px; bottom: 14px; font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
	.danz-lb, .danz-gallery__item, .danz-gallery__item img, .danz-gallery__voile { transition: none !important; }
}

/* ============================================================================
   Carrousel d'accueil (heroslider) : flèches, points, apparition du texte.
   v1.13.5. La mécanique de base (diapositives empilées, fondu, Ken Burns)
   est encore portée par chaque thème (builder-widgets.css) ; ces règles la
   complètent et gagnent sur elles grâce au préfixe `.danz-heroslider`.
   ========================================================================== */
.danz-heroslider .danz-hs-arrow { width: 64px; height: 64px; opacity: .72; -webkit-tap-highlight-color: transparent; transition: opacity .25s, background-color .25s, border-color .25s, color .25s; }
.danz-heroslider .danz-hs-arrow:hover, .danz-heroslider .danz-hs-arrow:focus-visible { opacity: 1; }
.danz-heroslider .danz-hs-arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.danz-heroslider .danz-hs-arrow span { transition: transform .3s cubic-bezier(.2,.7,.2,1), width .3s cubic-bezier(.2,.7,.2,1); }

/* Chevron fin : un peu plus grand, et qui avance vers le bord au survol. */
.danz-heroslider.danz-hs--chevron .danz-hs-arrow span { width: 20px; height: 20px; }
.danz-heroslider.danz-hs--chevron .danz-hs-prev:hover span { transform: translateX(-4px) rotate(135deg); }
.danz-heroslider.danz-hs--chevron .danz-hs-next:hover span { transform: translateX(4px) rotate(-45deg); }

/* Trait + chevron : un trait HORIZONTAL terminé par une pointe (les thèmes
   faisaient tourner le trait entier, d'où une diagonale). Le trait s'allonge
   au survol. */
.danz-heroslider.danz-hs--line .danz-hs-arrow { width: auto; min-width: 64px; padding: 0 8px; }
.danz-heroslider.danz-hs--line .danz-hs-arrow span { position: relative; width: 56px; height: 0; border: 0; border-bottom: 2px solid currentColor; transform: none; }
.danz-heroslider.danz-hs--line .danz-hs-arrow:hover span, .danz-heroslider.danz-hs--line .danz-hs-arrow:focus-visible span { width: 76px; }
.danz-heroslider.danz-hs--line .danz-hs-arrow span::after { content: ""; position: absolute; top: -6px; width: 13px; height: 13px; border: 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.danz-heroslider.danz-hs--line .danz-hs-next span::after { right: -1px; transform: rotate(-45deg); }
.danz-heroslider.danz-hs--line .danz-hs-prev span::after { left: -1px; transform: rotate(135deg); }

/* Cercle et carré : pastille en verre dépoli, remplie de la couleur d'accent au survol. */
.danz-heroslider.danz-hs--circle .danz-hs-arrow, .danz-heroslider.danz-hs--square .danz-hs-arrow { width: 56px; height: 56px; border: 1.5px solid currentColor; background: rgba(0,0,0,.18); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.danz-heroslider.danz-hs--square .danz-hs-arrow { border-radius: 6px; }
.danz-heroslider.danz-hs--circle .danz-hs-arrow:hover, .danz-heroslider.danz-hs--square .danz-hs-arrow:hover, .danz-heroslider.danz-hs--circle .danz-hs-arrow:focus-visible, .danz-heroslider.danz-hs--square .danz-hs-arrow:focus-visible { background: var(--danz-hs-accent, var(--danz-color-primary, #E11D2A)); border-color: transparent; color: #fff; }
.danz-heroslider.danz-hs--circle .danz-hs-arrow span, .danz-heroslider.danz-hs--square .danz-hs-arrow span { width: 12px; height: 12px; }
.danz-heroslider.danz-hs--circle .danz-hs-prev span, .danz-heroslider.danz-hs--square .danz-hs-prev span { transform: translateX(3px) rotate(135deg); }
.danz-heroslider.danz-hs--circle .danz-hs-next span, .danz-heroslider.danz-hs--square .danz-hs-next span { transform: translateX(-3px) rotate(-45deg); }

/* Points : le point actif devient une pastille allongée. */
.danz-heroslider .danz-hs-dot { transition: background .25s, width .3s cubic-bezier(.2,.7,.2,1); }
.danz-heroslider .danz-hs-dot.is-active { width: 28px; border-radius: 5px; transform: none; }

/* Apparition en cascade du texte de la diapositive qui arrive (classe posée par heroslider.js). */
.danz-heroslider .danz-hs-slide.is-entering .danz-hs-inner > * { animation: danz-hs-in .85s cubic-bezier(.2,.7,.2,1) both; }
.danz-heroslider .danz-hs-slide.is-entering .danz-hs-inner > :nth-child(2) { animation-delay: .12s; }
.danz-heroslider .danz-hs-slide.is-entering .danz-hs-inner > :nth-child(3) { animation-delay: .24s; }
.danz-heroslider .danz-hs-slide.is-entering .danz-hs-inner > :nth-child(4) { animation-delay: .36s; }
@keyframes danz-hs-in { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
	/* Sur téléphone, les flèches descendent aux coins du bas, à hauteur des
	   points : au milieu, elles chevauchaient le texte. Le balayage reste le
	   geste principal. */
	.danz-heroslider .danz-hs-arrow { width: 48px; height: 48px; top: auto; bottom: 0; transform: none; }
	.danz-heroslider .danz-hs-prev { left: 10px; }
	.danz-heroslider .danz-hs-next { right: 10px; }
	.danz-heroslider.danz-hs--line .danz-hs-arrow { min-width: 48px; padding: 0 4px; }
	.danz-heroslider.danz-hs--line .danz-hs-arrow span, .danz-heroslider.danz-hs--line .danz-hs-arrow:hover span { width: 34px; }
	.danz-heroslider.danz-hs--circle .danz-hs-arrow, .danz-heroslider.danz-hs--square .danz-hs-arrow { width: 44px; height: 44px; }
}
/* 1.15.0 : de 601 à 1259 px, les flèches (centrées en hauteur, à 18 px du bord)
   mordaient sur le début du titre et du sous-titre : le bloc de texte (1100 px
   au plus, 32 px de marge intérieure dans tous les thèmes) n'avait pas encore
   assez de marge automatique pour les éviter. Le texte se décale juste assez
   pour laisser la place de la flèche (--danz-hs-room : bord + largeur + 14 px
   d'air, trait allongé au survol compris), des deux côtés pour rester centré.
   Au-delà de 1259 px, la formule retombe sur les 32 px du thème ; sous 601 px,
   les flèches sont déjà aux coins du bas. Le galet a sa propre mise en page. */
.danz-heroslider.danz-hs--has-arrows { --danz-hs-room: 96px; }
.danz-heroslider.danz-hs--has-arrows.danz-hs--line { --danz-hs-room: 112px; }
.danz-heroslider.danz-hs--has-arrows.danz-hs--circle, .danz-heroslider.danz-hs--has-arrows.danz-hs--square { --danz-hs-room: 88px; }
@media (min-width: 601px) and (max-width: 1259px) {
	.danz-heroslider.danz-hs--has-arrows:not(.danz-hs--caption-galet) .danz-hs-inner {
		/* 100 % = largeur du carrousel : le bloc y est centré par ses marges automatiques. */
		padding-left: max(32px, min(var(--danz-hs-room), calc(var(--danz-hs-room) - (100% - 1100px) / 2)));
		padding-right: max(32px, min(var(--danz-hs-room), calc(var(--danz-hs-room) - (100% - 1100px) / 2)));
	}
}
@media (prefers-reduced-motion: reduce) {
	.danz-heroslider .danz-hs-slide.is-entering .danz-hs-inner > * { animation: none; }
	.danz-heroslider .danz-hs-arrow, .danz-heroslider .danz-hs-arrow span, .danz-heroslider .danz-hs-dot { transition: none; }
}

/* =====================================================================
v1.14.0 : Modules « vivants » : Prochains cours, Disciplines, Titre
   animé, Étapes, Questions fréquentes, Heures d'ouverture.
   Couleurs lues dans les variables du thème actif (--danz-color-*), avec
   des replis sûrs : les modules suivent le mode clair / sombre du thème.
   Textes secondaires à 72 % minimum de la couleur du texte (lisibles), jamais sous 13 px, cibles tactiles de 44 px.
   ===================================================================== */
.danz-next, .danz-disc, .danz-kh, .danz-steps, .danz-faq, .danz-hours {
	--dz-ink: var(--danz-color-text, #111);
	--dz-muted: color-mix(in srgb, var(--dz-ink) 72%, transparent);
	--dz-rule: color-mix(in srgb, var(--dz-ink) 16%, transparent);
	--dz-accent: var(--danz-color-primary, var(--danz-color-accent, #2b3bff));
	/* Aplats (pastilles, balayage) : la paire du bouton principal du thème. */
	--dz-fill: var(--danz-btn-primary-bg, var(--dz-accent));
	--dz-on-fill: var(--danz-btn-primary-text, #fff);
	--dz-mono: var(--danz-font-mono, var(--tpo-font-mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace));
	color: var(--dz-ink);
}
.danz-next .danz-next__eyebrow, .danz-disc .danz-disc__eyebrow, .danz-kh .danz-kh__eyebrow, .danz-steps .danz-steps__eyebrow, .danz-faq .danz-faq__eyebrow, .danz-hours .danz-hours__eyebrow {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 10px;
	font-family: var(--dz-mono);
	font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
	color: var(--dz-muted);
}
.danz-next .danz-next__eyebrow::before, .danz-disc .danz-disc__eyebrow::before, .danz-kh .danz-kh__eyebrow::before, .danz-steps .danz-steps__eyebrow::before, .danz-faq .danz-faq__eyebrow::before, .danz-hours .danz-hours__eyebrow::before {
	content: ""; width: 26px; height: 2px; background: var(--dz-accent); flex: none;
}
.danz-next .danz-next__title, .danz-disc .danz-disc__title, .danz-steps .danz-steps__title, .danz-faq .danz-faq__title, .danz-hours .danz-hours__title {
	margin: 0 0 22px;
	font-family: var(--danz-font-heading, inherit);
	font-size: clamp(28px, 5vw, 48px);
	font-weight: 800; line-height: 1.05; letter-spacing: -.02em;
	color: var(--dz-ink);
}

/* ------------------------------------------------ Prochains cours */
.danz-next { --dz-accent: var(--danz-next-accent, var(--danz-color-primary, var(--danz-color-accent, #2b3bff))); --dz-fill: var(--danz-next-accent, var(--danz-btn-primary-bg, var(--dz-accent))); }
.danz-next[style*="--danz-next-ink"] { --dz-ink: var(--danz-next-ink); }
.danz-next .danz-next__list { list-style: none; margin: 0; padding: 0; }
.danz-next .danz-next__item[hidden] { display: none; }
.danz-next .danz-next__link {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 4px 16px;
	padding: 16px 0;
	border-top: 1px solid var(--dz-rule);
	color: inherit; text-decoration: none;
	transition: background-color .25s ease, padding .35s cubic-bezier(.2,.7,.2,1);
}
.danz-next .danz-next__item:last-child .danz-next__link { border-bottom: 1px solid var(--dz-rule); }
a.danz-next__link:hover, a.danz-next__link:focus-visible { padding-left: 10px; background: color-mix(in srgb, var(--dz-accent) 8%, transparent); }
a.danz-next__link:focus-visible { outline: 2px solid var(--dz-accent); outline-offset: 2px; }
.danz-next .danz-next__when { grid-row: span 2; display: flex; flex-direction: column; font-family: var(--dz-mono); line-height: 1.2; }
.danz-next .danz-next__day { font-size: 13px; color: var(--dz-muted); }
.danz-next .danz-next__time { font-size: 22px; font-weight: 700; color: var(--dz-ink); }
.danz-next .danz-next__end { font-size: 13px; color: var(--dz-muted); }
.danz-next .danz-next__end::before { content: "- "; }
.danz-next .danz-next__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.danz-next .danz-next__name { font-size: 19px; font-weight: 800; line-height: 1.2; }
.danz-next .danz-next__meta { font-size: 15px; line-height: 1.45; color: var(--dz-muted); }
.danz-next .danz-next__side { grid-column: 2; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.danz-next .danz-next__status:empty { display: none; }
.danz-next .danz-next__status, .danz-next .danz-next__left {
	font-family: var(--dz-mono); font-size: 13px; letter-spacing: .04em;
}
.danz-next .danz-next__status { color: var(--dz-accent); font-weight: 700; }
.danz-next .danz-next__item.is-live .danz-next__status { display: inline-flex; align-items: center; gap: 7px; }
.danz-next .danz-next__item.is-live .danz-next__status::before {
	content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor;
	animation: danz-next-pulse 1.6s ease-out infinite;
}
@keyframes danz-next-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 60%, transparent); } 100% { box-shadow: 0 0 0 10px transparent; } }
.danz-next .danz-next__left { color: var(--dz-muted); }
.danz-next .danz-next__left.is-full { color: var(--dz-ink); font-weight: 700; text-decoration: line-through; }
.danz-next .danz-next__empty { margin: 0; padding: 18px 0; color: var(--dz-muted); font-size: 16px; }
.danz-next .danz-next__more { margin: 22px 0 0; }
@media (min-width: 768px) {
.danz-next .danz-next__link { grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; padding: 20px 0; }
.danz-next .danz-next__when { grid-row: auto; }
.danz-next .danz-next__side { grid-column: 3; flex-direction: column; align-items: flex-end; }
.danz-next .danz-next__name { font-size: 22px; }
}
/* Variante cartes */
.danz-next--cards .danz-next__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.danz-next--cards .danz-next__link, .danz-next--cards .danz-next__item:last-child .danz-next__link {
	height: 100%;
	grid-template-columns: 1fr; align-content: start;
	padding: 20px;
	border: 1px solid var(--dz-rule);
	border-radius: var(--danz-radius, 16px);
	background: var(--danz-next-card, var(--danz-color-surface, transparent));
}
.danz-next--cards .danz-next__when { grid-row: auto; flex-direction: row; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.danz-next--cards .danz-next__side { grid-column: 1; flex-direction: row; align-items: center; margin-top: 8px; }
.danz-next--cards a.danz-next__link:hover { padding-left: 20px; transform: translateY(-3px); }

/* ---------------------------------------------------- Disciplines */
.danz-disc { --dz-accent: var(--danz-disc-accent, var(--danz-color-primary, var(--danz-color-accent, #2b3bff))); --dz-fill: var(--danz-disc-accent, var(--danz-btn-primary-bg, var(--dz-accent))); }
.danz-disc[style*="--danz-disc-ink"] { --dz-ink: var(--danz-disc-ink); }
.danz-disc .danz-disc__list { list-style: none; margin: 0; padding: 0; }
.danz-disc .danz-disc__link {
	position: relative;
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 16px;
	color: inherit; text-decoration: none;
	isolation: isolate;
}
.danz-disc .danz-disc__num { font-family: var(--dz-mono); font-size: 13px; color: var(--dz-muted); align-self: start; padding-top: .5em; }
.danz-disc .danz-disc__name {
	font-family: var(--danz-font-heading, inherit);
	font-weight: 800; line-height: .95; letter-spacing: -.03em;
	overflow-wrap: anywhere;
	transition: transform .5s cubic-bezier(.2,.7,.2,1), letter-spacing .5s cubic-bezier(.2,.7,.2,1);
}
.danz-disc--upper .danz-disc__name { text-transform: uppercase; }
.danz-disc .danz-disc__count { grid-column: 2; font-family: var(--dz-mono); font-size: 13px; letter-spacing: .04em; color: var(--dz-muted); }
.danz-disc .danz-disc__arrow { grid-row: 1; grid-column: 3; font-size: 26px; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
a.danz-disc__link:hover .danz-disc__arrow, a.danz-disc__link:focus-visible .danz-disc__arrow { transform: rotate(45deg); color: var(--dz-accent); }
a.danz-disc__link:focus-visible { outline: 2px solid var(--dz-accent); outline-offset: 4px; }
/* Grandes lignes : le fond d'accent balaie la ligne au survol. */
.danz-disc--lines .danz-disc__link { padding: 18px 4px; border-top: 1px solid var(--dz-rule); }
.danz-disc--lines .danz-disc__item:last-child .danz-disc__link { border-bottom: 1px solid var(--dz-rule); }
.danz-disc--lines .danz-disc__name { font-size: clamp(34px, 9vw, var(--danz-disc-size, 72px)); }
.danz-disc--lines .danz-disc__link::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: var(--dz-fill);
	transform: scaleY(0); transform-origin: bottom;
	transition: transform .5s cubic-bezier(.7,0,.2,1);
}
/* 1.15.0 : le texte changeait de couleur d'un coup alors que le fond met
   0,5 s à monter : on voyait l'encre du survol sur le fond de la page (sombre
   sur sombre en ambiance foncée). La bascule se fait désormais quand le fond
   atteint la moitié de la ligne (vers 230 ms avec cette courbe), à l'aller
   comme au retour. Numéro, compte et flèche suivent le même tempo. */
.danz-disc--lines .danz-disc__link, .danz-disc--lines .danz-disc__num, .danz-disc--lines .danz-disc__count { transition: color .16s linear .15s; }
.danz-disc--lines .danz-disc__arrow { transition: transform .45s cubic-bezier(.2,.7,.2,1), color .16s linear .15s; }
@media (hover: hover) {
.danz-disc--lines a.danz-disc__link:hover { color: var(--dz-on-fill); }
.danz-disc--lines a.danz-disc__link:hover .danz-disc__num, .danz-disc--lines a.danz-disc__link:hover .danz-disc__count, .danz-disc--lines a.danz-disc__link:hover .danz-disc__arrow { color: var(--dz-on-fill); }
.danz-disc--lines a.danz-disc__link:hover::before { transform: scaleY(1); }
.danz-disc--lines a.danz-disc__link:hover .danz-disc__name { transform: translateX(12px); }
}
/* Tuiles */
.danz-disc--tiles .danz-disc__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 900px) { .danz-disc--tiles .danz-disc__list { grid-template-columns: repeat(var(--danz-disc-cols, 3), minmax(0, 1fr)); } }
.danz-disc--tiles .danz-disc__link {
	height: 100%; min-height: 150px;
	grid-template-columns: 1fr auto; align-content: space-between;
	padding: 18px;
	border: 1px solid var(--dz-rule);
	border-radius: var(--danz-radius, 16px);
	background: var(--danz-color-surface, transparent);
	transition: border-color .3s ease, transform .4s cubic-bezier(.2,.7,.2,1);
}
.danz-disc--tiles .danz-disc__num { grid-column: 1; padding: 0; }
.danz-disc--tiles .danz-disc__arrow { grid-column: 2; grid-row: 1; font-size: 20px; }
.danz-disc--tiles .danz-disc__name { grid-column: 1 / -1; font-size: clamp(22px, 5.4vw, calc(var(--danz-disc-size, 72px) * .45)); }
.danz-disc--tiles .danz-disc__count { grid-column: 1 / -1; }
.danz-disc--tiles a.danz-disc__link:hover { border-color: var(--dz-accent); transform: translateY(-4px); }
.danz-disc .danz-disc__empty { padding: 18px; border: 1px dashed var(--dz-rule); border-radius: 12px; color: var(--dz-muted); font-size: 15px; }

/* --------------------------------------------------- Titre animé */
.danz-kh { --dz-accent: var(--danz-kh-accent, var(--danz-color-primary, var(--danz-color-accent, #2b3bff))); --dz-fill: var(--danz-kh-accent, var(--danz-btn-primary-bg, var(--dz-accent))); }
.danz-kh .danz-kh__text {
	margin: 0;
	font-family: var(--danz-font-heading, inherit);
	font-size: clamp(36px, 11vw, var(--danz-kh-size, 96px));
	font-weight: inherit;
	line-height: .98; letter-spacing: -.03em;
	color: inherit;
	overflow-wrap: anywhere;
}
.danz-kh--upper .danz-kh__text { text-transform: uppercase; }
.danz-kh .danz-kh__w { display: inline-block; vertical-align: top; }
.danz-kh .danz-kh__w > span { display: inline-block; }
.danz-kh .danz-kh__w--accent { color: var(--dz-accent); }
/* Les mots montent (masque ligne par ligne). */
.danz-kh--rise .danz-kh__w { overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.danz-kh--rise.is-armed .danz-kh__w > span { transform: translateY(105%); }
.danz-kh--rise.is-in .danz-kh__w > span {
	transform: none;
	transition: transform .9s cubic-bezier(.2,.8,.2,1) calc(var(--i, 0) * 70ms);
}
/* Les lettres s'étirent. */
.danz-kh--stretch.is-armed .danz-kh__text { letter-spacing: -.12em; opacity: 0; font-stretch: 75%; }
.danz-kh--stretch.is-in .danz-kh__text {
	letter-spacing: -.03em; opacity: 1; font-stretch: 100%;
	transition: letter-spacing 1.2s cubic-bezier(.2,.8,.2,1), font-stretch 1.2s cubic-bezier(.2,.8,.2,1), opacity .6s ease;
}
/* Le contour se remplit, mot après mot. */
.danz-kh--outline .danz-kh__w > span {
	background: linear-gradient(currentColor, currentColor) no-repeat 0 0 / 100% 100%;
	-webkit-background-clip: text; background-clip: text;
}
/* 1.15.1 : on vide le remplissage des lettres (text-fill-color) sans toucher à
   « color » : avec « color: transparent », currentColor (contour et dégradé)
   devenait transparent et les mots hors accent restaient invisibles. */
.danz-kh--outline.is-armed .danz-kh__w > span {
	-webkit-text-fill-color: transparent; -webkit-text-stroke: 1.5px currentColor;
	background-size: 0% 100%;
}
.danz-kh--outline .danz-kh__w--accent > span { -webkit-text-stroke-color: var(--dz-accent); background-image: linear-gradient(var(--dz-accent), var(--dz-accent)); }
.danz-kh--outline.is-in .danz-kh__w > span {
	background-size: 100% 100%;
	transition: background-size 1s cubic-bezier(.7,0,.2,1) calc(var(--i, 0) * 110ms);
}

/* -------------------------------------------------------- Étapes */
.danz-steps { --dz-accent: var(--danz-steps-accent, var(--danz-color-primary, var(--danz-color-accent, #2b3bff))); --dz-fill: var(--danz-steps-accent, var(--danz-btn-primary-bg, var(--dz-accent))); }
.danz-steps .danz-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: dzs; }
.danz-steps .danz-steps__item { position: relative; padding: 0 0 28px 64px; }
.danz-steps .danz-steps__item::before {
	/* Le fil qui relie les numéros. */
	content: ""; position: absolute; left: 21px; top: 46px; bottom: 4px;
	width: 2px; background: var(--dz-rule);
}
.danz-steps .danz-steps__item:last-child { padding-bottom: 0; }
.danz-steps .danz-steps__item:last-child::before { display: none; }
.danz-steps .danz-steps__num {
	position: absolute; left: 0; top: 0;
	width: 44px; height: 44px; border-radius: 50%;
	display: grid; place-items: center;
	font-family: var(--dz-mono); font-size: 14px; font-weight: 700;
	background: var(--dz-fill); color: var(--dz-on-fill);
}
.danz-steps .danz-steps__t { margin: 8px 0 6px; font-size: 21px; font-weight: 800; line-height: 1.2; color: inherit; }
.danz-steps .danz-steps__p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--dz-muted); }
@media (min-width: 900px) {
.danz-steps--row .danz-steps__list { grid-template-columns: repeat(var(--danz-steps-n, 3), minmax(0, 1fr)); gap: 28px; }
.danz-steps--row .danz-steps__item { padding: 64px 0 0; }
.danz-steps--row .danz-steps__item::before { left: 54px; right: -18px; top: 21px; bottom: auto; width: auto; height: 2px; }
}
.danz-steps.is-armed .danz-steps__item { opacity: 0; transform: translateY(24px); }
.danz-steps.is-in .danz-steps__item {
	opacity: 1; transform: none;
	transition: opacity .6s ease calc(var(--i, 0) * 140ms), transform .8s cubic-bezier(.2,.8,.2,1) calc(var(--i, 0) * 140ms);
}

/* ------------------------------------------- Questions fréquentes */
.danz-faq { --dz-accent: var(--danz-faq-accent, var(--danz-color-primary, var(--danz-color-accent, #2b3bff))); --dz-fill: var(--danz-faq-accent, var(--danz-btn-primary-bg, var(--dz-accent))); }
.danz-faq .danz-faq__item { border-top: 1px solid var(--dz-rule); }
.danz-faq .danz-faq__item:last-child { border-bottom: 1px solid var(--dz-rule); }
.danz-faq .danz-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 18px;
	min-height: 44px;
	padding: 18px 2px;
	font-size: 18px; font-weight: 700; line-height: 1.35;
	cursor: pointer; list-style: none;
}
.danz-faq .danz-faq__q::-webkit-details-marker { display: none; }
.danz-faq .danz-faq__q:focus-visible { outline: 2px solid var(--dz-accent); outline-offset: 2px; border-radius: 6px; }
.danz-faq .danz-faq__icon { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid currentColor; transition: background-color .3s ease, transform .45s cubic-bezier(.7,0,.2,1); }
.danz-faq .danz-faq__icon::before, .danz-faq .danz-faq__icon::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; margin: -.75px 0 0 -6px; background: currentColor;
	transition: transform .45s cubic-bezier(.7,0,.2,1);
}
.danz-faq .danz-faq__icon::after { transform: rotate(90deg); }
.danz-faq .danz-faq__item[open] .danz-faq__icon { transform: rotate(180deg); background: var(--dz-fill); border-color: var(--dz-fill); color: var(--dz-on-fill); }
.danz-faq .danz-faq__item[open] .danz-faq__icon::after { transform: rotate(0deg); }
.danz-faq .danz-faq__a { padding: 0 52px 20px 2px; font-size: 16px; line-height: 1.6; color: var(--dz-muted); }
.danz-faq .danz-faq__a p { margin: 0 0 .8em; }
.danz-faq .danz-faq__a p:last-child { margin-bottom: 0; }
.danz-faq .danz-faq__item[open] .danz-faq__a { animation: danz-faq-in .45s cubic-bezier(.2,.8,.2,1); }
@keyframes danz-faq-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* -------------------------------------------- Heures d'ouverture */
.danz-hours { --dz-accent: var(--danz-hours-accent, var(--danz-color-primary, var(--danz-color-accent, #2b3bff))); --dz-fill: var(--danz-hours-accent, var(--danz-btn-primary-bg, var(--dz-accent))); }
.danz-hours .danz-hours__head .danz-hours__title { margin-bottom: 12px; }
.danz-hours .danz-hours__status { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 18px; font-family: var(--dz-mono); font-size: 14px; font-weight: 700; color: var(--dz-muted); }
.danz-hours .danz-hours__status[hidden] { display: none; }
.danz-hours .danz-hours__dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.danz-hours .danz-hours__status.is-open { color: var(--dz-accent); }
.danz-hours .danz-hours__status.is-open .danz-hours__dot { animation: danz-next-pulse 1.6s ease-out infinite; }
.danz-hours .danz-hours__list { list-style: none; margin: 0; padding: 0; }
.danz-hours .danz-hours__day {
	display: flex; justify-content: space-between; gap: 16px;
	padding: 12px 0;
	border-top: 1px solid var(--dz-rule);
	font-size: 16px;
}
.danz-hours .danz-hours__day:last-child { border-bottom: 1px solid var(--dz-rule); }
.danz-hours .danz-hours__time { font-family: var(--dz-mono); font-size: 15px; text-align: right; }
.danz-hours .danz-hours__day.is-closed .danz-hours__time { color: var(--dz-muted); }
.danz-hours .danz-hours__day.is-today { font-weight: 800; }
.danz-hours .danz-hours__day.is-today .danz-hours__name::after {
	content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 10px; vertical-align: middle;
	border-radius: 50%; background: var(--dz-accent);
}
.danz-hours .danz-hours__note { margin: 14px 0 0; font-size: 15px; line-height: 1.5; color: var(--dz-muted); }

@media (prefers-reduced-motion: reduce) {
.danz-kh .danz-kh__w > span, .danz-kh .danz-kh__text, .danz-steps .danz-steps__item, .danz-disc .danz-disc__name, .danz-next .danz-next__link { transition: none !important; transform: none !important; opacity: 1 !important; }
/* 1.15.0 : le fond des grandes lignes garde son échelle (repos 0, survol 1) et
   perd seulement son animation : « transform: none » l'affichait en permanence,
   sous un texte resté à l'encre de repos. Les couleurs basculent d'un coup. */
.danz-disc .danz-disc__link::before, .danz-disc--lines .danz-disc__link, .danz-disc--lines .danz-disc__num, .danz-disc--lines .danz-disc__count, .danz-disc--lines .danz-disc__arrow { transition: none !important; }
.danz-next .danz-next__item.is-live .danz-next__status::before, .danz-hours .danz-hours__status.is-open .danz-hours__dot { animation: none; }
}

/* =====================================================================
   v1.15.0 : modules Seuil, Semainier, Carton d'invitation et Portes ;
   formes arche et galet ; tons du thème.
   Tout est rangé sous les classes des nouveaux modules ou des nouvelles
   options : une page qui ne les emploie pas s'affiche comme avant.
   Couleurs lues dans les tons du thème (--danz-tone-<id> et leur encre
   --danz-tone-<id>-ink), avec des replis pour les thèmes qui n'en ont pas.
   ===================================================================== */

/* Tons du thème : replis à spécificité nulle, pour que ceux du thème
   gagnent quel que soit l'ordre des feuilles. */
:where(:root){
  --danz-tone-paper:var(--danz-color-bg,#ffffff);--danz-tone-paper-ink:var(--danz-color-text,#111111);
  --danz-tone-surface:var(--danz-color-surface,#f5f5f4);--danz-tone-surface-ink:var(--danz-color-text,#111111);
  --danz-tone-deep:#1a1a1a;--danz-tone-deep-ink:#ffffff;
  --danz-tone-accent:var(--danz-btn-primary-bg,var(--danz-color-primary,#111111));--danz-tone-accent-ink:var(--danz-btn-primary-text,#ffffff);
  --danz-tone-soft:var(--danz-color-surface,#f5f5f4);--danz-tone-soft-ink:var(--danz-color-text,#111111);
  --danz-tone-ink:var(--danz-color-text,#111111);--danz-tone-ink-ink:var(--danz-color-bg,#ffffff);
}

/* Ancres : une section visée par un lien ne passe pas sous l'en-tête collant. */
:where(.danz-section[id]) { scroll-margin-top: calc(var(--danz-sticky-top, 0px) + 16px); }

/* Grain de papier (option « Texture » des sections) : posé sous le contenu,
   au-dessus du fond. Le thème règle son intensité et son mode de fusion. */
.danz-grain { position: relative; isolation: isolate; }
.danz-grain::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
	background-size: 160px 160px;
	opacity: var(--danz-grain-opacity, .05);
	mix-blend-mode: var(--danz-grain-blend, multiply);
}

/* Texte réservé aux lecteurs d'écran, à l'intérieur des nouveaux modules
   (tous les thèmes ne fournissent pas la classe). */
.danz-seuil .screen-reader-text, .danz-week .screen-reader-text, .danz-invite .screen-reader-text, .danz-doors .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap;
}

/* ------------------------------------------------ Boutons des modules
   Repli sans poids (:where) : les boutons du thème actif gagnent toujours.
   Seules les variantes propres aux modules (lien souligné, boutons sur un
   fond sombre ou coloré) ont une vraie priorité. */
:where(.danz-seuil, .danz-invite) :where(.danz-btn) {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 24px; box-sizing: border-box;
	border: 1px solid transparent; border-radius: 999px;
	font-size: 16px; font-weight: 600; line-height: 1.2;
	text-decoration: none; cursor: pointer;
}
:where(.danz-seuil, .danz-invite) :where(.danz-btn--primary) { background: var(--danz-btn-primary-bg, var(--danz-color-primary, #111111)); color: var(--danz-btn-primary-text, #ffffff); }
:where(.danz-seuil, .danz-invite) :where(.danz-btn--secondary) { background: var(--danz-tone-surface); color: var(--danz-tone-surface-ink); }
:where(.danz-seuil, .danz-invite) :where(.danz-btn--ghost) { background: transparent; color: inherit; border-color: currentColor; }
.danz-seuil .danz-btn--link {
	min-height: 44px; padding: 10px 4px; border: 0; border-radius: 0; background: none; box-shadow: none;
	color: var(--danz-color-primary, currentColor);
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .28em;
}
.danz-seuil .danz-btn--link:hover { text-decoration-thickness: 2px; }
.danz-seuil--tone-deep .danz-btn--link { color: inherit; }
.danz-seuil--tone-deep .danz-btn--ghost, .danz-invite--tone-deep .danz-btn--ghost, .danz-invite--tone-accent .danz-btn--ghost { background: transparent; color: inherit; border-color: currentColor; }
/* Sur le carton à la couleur de l'école, le bouton principal s'inverse. */
.danz-invite--tone-accent .danz-btn--primary { background: var(--danz-tone-accent-ink); color: var(--danz-tone-accent); border-color: transparent; }
.danz-seuil .danz-btn:focus-visible, .danz-invite .danz-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* ------------------------------------------------ Seuil (héros d'accueil) */
.danz-seuil {
	--seuil-muted: color-mix(in srgb, currentColor 78%, transparent);
	position: relative; box-sizing: border-box;
	padding: 24px var(--danz-pad, 16px) 40px;
	overflow-x: clip;
}
.danz-seuil--tone-surface { background: var(--danz-tone-surface); color: var(--danz-tone-surface-ink); }
.danz-seuil--tone-deep { background: var(--danz-tone-deep); color: var(--danz-tone-deep-ink); }
.danz-seuil--screen { display: grid; align-content: center; min-height: calc(100svh - var(--danz-sticky-top, 0px)); }
.danz-seuil__in { display: grid; gap: 24px; width: 100%; max-width: var(--danz-max-width, 1240px); margin: 0 auto; }
.danz-seuil__text { min-width: 0; }
.danz-seuil__eyebrow { margin: 0 0 14px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: var(--danz-color-primary, currentColor); }
.danz-seuil--tone-deep .danz-seuil__eyebrow { color: inherit; opacity: .85; }
.danz-seuil__title {
	margin: 0 0 18px;
	font-family: var(--danz-font-heading, inherit);
	font-size: clamp(2.875rem, 2rem + 4.2vw, 5.75rem);
	font-weight: 500; line-height: 1.02; letter-spacing: -.02em;
	color: inherit; overflow-wrap: break-word;
}
.danz-seuil__title em { font-style: italic; color: var(--danz-color-primary, currentColor); }
.danz-seuil--tone-deep .danz-seuil__title em { color: inherit; }
.danz-seuil__sub { max-width: 34em; margin: 0 0 28px; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.55; color: var(--seuil-muted); }
.danz-seuil__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 0 0 28px; }
.danz-seuil__actions:last-child { margin-bottom: 0; }

/* Prochain cours : un galet avec un point « en direct ». */
.danz-seuil__next {
	display: inline-flex; align-items: center; gap: 10px;
	max-width: 100%; min-height: 44px; margin: 0; padding: 10px 16px; box-sizing: border-box;
	border-radius: 999px;
	background: var(--danz-tone-surface); color: var(--danz-tone-surface-ink);
	font-size: 14px; line-height: 1.35; text-decoration: none;
}
.danz-seuil--tone-surface .danz-seuil__next { background: var(--danz-tone-paper); color: var(--danz-tone-paper-ink); }
a.danz-seuil__next:hover strong { text-decoration: underline; text-underline-offset: .2em; }
a.danz-seuil__next:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
/* week.js retire le galet quand aucun cours à venir n'est écrit dans la page. */
.danz-seuil .danz-seuil__next[hidden] { display: none; }
.danz-seuil__dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--danz-live, #c0392b); animation: danz-seuil-pouls 2s ease-out infinite; }
@keyframes danz-seuil-pouls {
	0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--danz-live, #c0392b) 55%, transparent); }
	100% { box-shadow: 0 0 0 8px transparent; }
}

/* L'arche : forme portrait 4:5, arc parfait. Pas d'overflow caché sur la
   figure, pour que le sceau puisse déborder ; l'image reprend les arrondis. */
.danz-seuil__arch {
	position: relative; margin: 0 auto;
	width: min(100%, 420px); aspect-ratio: 4 / 5;
	border-radius: 50% 50% var(--danz-radius, 16px) var(--danz-radius, 16px) / 40% 40% var(--danz-radius, 16px) var(--danz-radius, 16px);
	background: var(--danz-tone-soft); color: var(--danz-color-primary, currentColor);
}
.danz-seuil__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: inherit; }
.danz-seuil__arch--empty { display: flex; align-items: center; justify-content: center; }
.danz-seuil__seal {
	position: absolute; left: -12px; bottom: -12px; z-index: 1;
	display: block; padding: 6px; border-radius: 50%; line-height: 0;
	background: var(--danz-tone-paper); color: var(--danz-color-primary, currentColor);
}
.danz-seuil__seal svg { display: block; width: 88px; height: 88px; }
.danz-seuil__seal .danz-sceau__ring { transform-box: view-box; transform-origin: 60px 60px; animation: danz-sceau-tourne 60s linear infinite; }
@keyframes danz-sceau-tourne { to { transform: rotate(360deg); } }
/* Sans image : le sceau en grand au centre de l'arche. */
.danz-seuil__seal.danz-seuil__seal--big { position: static; width: min(192px, 56%); padding: 0; background: none; }
.danz-seuil__seal.danz-seuil__seal--big svg { width: 100%; height: auto; }

@media (max-width: 1023px) {
	.danz-seuil--m-image .danz-seuil__arch { order: -1; }
}
@media (min-width: 1024px) {
	.danz-seuil { padding: clamp(32px, 4vw, 64px) var(--danz-pad-lg, 32px) clamp(48px, 6vw, 96px); }
	.danz-seuil__in { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(32px, 5vw, 80px); }
	.danz-seuil--split-left .danz-seuil__in { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
	.danz-seuil--split-left .danz-seuil__arch { order: -1; }
	.danz-seuil__arch { width: min(100%, calc(min(78svh, 720px) * .8)); max-height: min(78svh, 720px); }
	.danz-seuil__seal svg { width: 112px; height: 112px; }
	.danz-seuil--stack .danz-seuil__in { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.danz-seuil--stack .danz-seuil__text { max-width: 900px; }
	.danz-seuil--stack .danz-seuil__sub { margin-inline: auto; }
	.danz-seuil--stack .danz-seuil__actions { justify-content: center; }
	.danz-seuil--stack .danz-seuil__arch {
		width: min(100%, 960px); aspect-ratio: 16 / 9;
		border-radius: var(--danz-arch-r, min(46vw, 28%)) var(--danz-arch-r, min(46vw, 28%)) var(--danz-radius, 16px) var(--danz-radius, 16px);
	}
}

/* ------------------------------------------------ Semainier
   Sans script, tous les jours s'affichent l'un sous l'autre ; week.js en
   fait des onglets (rangée des 7 jours, un seul panneau visible). */
.danz-week {
	--wk-rule: var(--danz-color-border, color-mix(in srgb, currentColor 16%, transparent));
	--wk-muted: color-mix(in srgb, currentColor 72%, transparent);
	--wk-day: color-mix(in srgb, currentColor 6%, transparent);
	box-sizing: border-box;
}
.danz-week--tone-surface, .danz-week--tone-deep { padding: clamp(20px, 4vw, 40px); border-radius: calc(var(--danz-radius, 16px) * 1.5); }
.danz-week--tone-surface { background: var(--danz-tone-surface); color: var(--danz-tone-surface-ink); --wk-day: var(--danz-tone-paper); }
.danz-week--tone-deep {
	background: var(--danz-tone-deep); color: var(--danz-tone-deep-ink);
	--wk-rule: color-mix(in srgb, currentColor 22%, transparent);
	--wk-day: color-mix(in srgb, currentColor 10%, transparent);
}
.danz-week__head { margin: 0 0 20px; }
.danz-week__eyebrow { margin: 0 0 8px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: var(--wk-muted); }
.danz-week__title { margin: 0; font-family: var(--danz-font-heading, inherit); font-size: clamp(28px, 1.4rem + 2vw, 44px); font-weight: 500; line-height: 1.1; letter-spacing: -.01em; color: inherit; }

.danz-week__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin: 0 0 20px; }
.danz-week .danz-week__days[hidden] { display: none; }
/* Jours écoulés et cours terminés, retirés par week.js sur une page restée en cache. */
.danz-week[hidden], .danz-week .danz-week__day[hidden], .danz-week .danz-week__item[hidden] { display: none; }
.danz-week .danz-week__day {
	-webkit-appearance: none; appearance: none;
	position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
	min-width: 0; min-height: 64px; margin: 0; padding: 8px 2px 10px; box-sizing: border-box;
	border: 0; border-radius: 999px 999px 12px 12px;
	background: var(--wk-day); color: inherit; box-shadow: none;
	font: inherit; line-height: 1.1; text-align: center; cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.danz-week__dow { font-size: 13px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.danz-week__num { font-family: var(--danz-font-heading, inherit); font-size: 22px; line-height: 1.1; font-variant-numeric: lining-nums tabular-nums; }
.danz-week__count { font-size: 13px; color: var(--wk-muted); font-variant-numeric: tabular-nums; }
/* Jour sans cours : plus discret, mais toujours sélectionnable. */
.danz-week .danz-week__day.is-empty { opacity: .7; }
.danz-week .danz-week__day.is-empty .danz-week__count { color: inherit; }
.danz-week .danz-week__day.is-today .danz-week__num { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.danz-week .danz-week__day:not([aria-selected="true"]):hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.danz-week.is-enhanced .danz-week__day[aria-selected="true"] { background: var(--danz-tone-accent); color: var(--danz-tone-accent-ink); opacity: 1; }
.danz-week.is-enhanced .danz-week__day[aria-selected="true"] .danz-week__count { color: inherit; }
/* Sur l'écrin sombre, l'accent se détache peu du fond : le jour choisi porte
   aussi un anneau à l'encre, repère qui ne dépend pas de la couleur. */
.danz-week--tone-deep.is-enhanced .danz-week__day[aria-selected="true"] { box-shadow: inset 0 0 0 2px currentColor; }
.danz-week .danz-week__day:focus-visible { outline: 2px solid var(--danz-tone-accent); outline-offset: 2px; }

.danz-week .danz-week__panel[hidden] { display: none; }
.danz-week__panel + .danz-week__panel { margin-top: 24px; }
/* En onglets, un seul panneau est visible : il ne doit pas sauter d'un jour à l'autre. */
.danz-week.is-enhanced .danz-week__panel + .danz-week__panel { margin-top: 0; }
.danz-week .danz-week__panel:focus-visible { outline: 2px solid var(--danz-tone-accent); outline-offset: 4px; }
.danz-week__panel-title { margin: 0 0 8px; font-family: var(--danz-font-heading, inherit); font-size: 20px; font-weight: 500; line-height: 1.25; color: inherit; }
.danz-week__panel-title::first-letter { text-transform: uppercase; }

/* Liste en carnet : heure dans une colonne de 64 px, filets fins. */
.danz-week__list { list-style: none; margin: 0; padding: 0; }
.danz-week__item {
	display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: baseline;
	margin: 0; padding: 14px 0; border-bottom: 1px solid var(--wk-rule);
}
.danz-week__item:first-child { border-top: 1px solid var(--wk-rule); }
/* Cours terminés masqués par week.js : le filet passe à la première ligne restante. */
.danz-week__item.is-first { border-top: 1px solid var(--wk-rule); }
.danz-week__time { grid-column: 1; grid-row: 1; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.danz-week__end { grid-column: 1; grid-row: 2; font-size: 13px; color: var(--wk-muted); font-variant-numeric: tabular-nums; }
/* Le trait est décoratif : les lecteurs d'écran lisent « jusqu'à ». */
.danz-week__end::before { content: "– "; content: "– " / ""; }
.danz-week__name { grid-column: 2; grid-row: 1; font-family: var(--danz-font-heading, inherit); font-size: 20px; line-height: 1.25; overflow-wrap: anywhere; }
.danz-week__meta { grid-column: 2; grid-row: 2; font-size: 14px; line-height: 1.4; color: var(--wk-muted); }
.danz-week__status { grid-column: 2; grid-row: 3; justify-self: start; margin-top: 6px; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; line-height: 1.3; }
.danz-week__status--few { background: var(--danz-tone-accent); color: var(--danz-tone-accent-ink); }
.danz-week__status--full { background: color-mix(in srgb, currentColor 12%, transparent); }
.danz-week__status--closed { border: 1px solid var(--wk-rule); color: var(--wk-muted); }
.danz-week__item.is-closed .danz-week__time, .danz-week__item.is-closed .danz-week__name { color: var(--wk-muted); }
.danz-week__empty { margin: 0; padding: 16px 0; font-size: 15px; line-height: 1.5; color: var(--wk-muted); }
.danz-week__more {
	display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px;
	font-weight: 600; color: inherit;
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em;
}
.danz-week__more:hover { text-decoration-thickness: 2px; }
.danz-week__more:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 359px) {
	.danz-week__days { gap: 4px; }
	.danz-week__dow { letter-spacing: 0; }
}
@media (min-width: 1024px) {
	.danz-week .danz-week__day { min-height: 80px; }
	.danz-week__list--cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
	.danz-week__list--cols > .danz-week__item:nth-child(2) { border-top: 1px solid var(--wk-rule); }
	.danz-week__list--cols > .danz-week__item.is-second { border-top: 1px solid var(--wk-rule); }
}

/* ------------------------------------------------ Carton d'invitation */
.danz-invite { display: grid; gap: 24px; align-items: center; }
.danz-invite__card {
	--inv-line: color-mix(in srgb, currentColor 35%, transparent);
	position: relative; box-sizing: border-box;
	width: 100%; max-width: 640px; margin: 0 auto;
	padding: 32px; border-radius: calc(var(--danz-radius, 16px) * 1.5);
	text-align: center;
}
.danz-invite--tone-paper .danz-invite__card { background: var(--danz-tone-paper); color: var(--danz-tone-paper-ink); box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 16px 40px -18px rgba(0, 0, 0, .28); }
.danz-invite--tone-deep .danz-invite__card { background: var(--danz-tone-deep); color: var(--danz-tone-deep-ink); }
.danz-invite--tone-accent .danz-invite__card { background: var(--danz-tone-accent); color: var(--danz-tone-accent-ink); }
.danz-invite--frame-double .danz-invite__card { border: 1px solid var(--inv-line); outline: 1px solid var(--inv-line); outline-offset: -12px; }
.danz-invite--frame-fin .danz-invite__card { border: 1px solid var(--inv-line); }
/* Le sceau, comme un cachet : centré au-dessus du texte sur téléphone,
   posé sur le bord haut du carton à partir de 768 px. */
.danz-invite__seal { display: block; width: 64px; margin: 0 auto 12px; line-height: 0; color: var(--danz-color-primary, currentColor); transform: rotate(-8deg); }
.danz-invite__seal svg { display: block; width: 100%; height: auto; }
.danz-invite--tone-accent .danz-invite__seal { color: inherit; }
.danz-invite__kicker { margin: 0 0 10px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; }
.danz-invite__title {
	margin: 0 0 22px;
	font-family: var(--danz-font-heading, inherit);
	font-size: clamp(2.125rem, 1.6rem + 2.4vw, 3.5rem);
	font-weight: 500; line-height: 1.05; letter-spacing: -.015em;
	color: inherit; overflow-wrap: break-word;
}
.danz-invite__title em { font-style: italic; color: var(--danz-color-primary, currentColor); }
.danz-invite--tone-accent .danz-invite__title em { color: inherit; }
/* Sur l'écrin sombre, l'accent n'atteint pas 3:1 : l'italique suffit à marquer le mot. */
.danz-invite--tone-deep .danz-invite__title em, .danz-invite--tone-deep .danz-invite__seal { color: inherit; }
.danz-invite__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 32px; margin: 0 0 20px; }
.danz-invite__meta > div { min-width: 0; }
.danz-invite__meta dt { margin: 0 0 2px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, currentColor 78%, transparent); }
.danz-invite__meta dd { margin: 0; font-family: var(--danz-font-heading, inherit); font-size: 20px; line-height: 1.3; }
.danz-invite__text { max-width: 34em; margin: 0 auto 24px; font-size: 16px; line-height: 1.6; }
.danz-invite__text > :first-child { margin-top: 0; }
.danz-invite__text > :last-child { margin-bottom: 0; }
.danz-invite__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.danz-invite__media {
	position: relative; width: min(100%, 420px); margin: 0 auto; aspect-ratio: 4 / 5; overflow: hidden;
	border-radius: 50% 50% var(--danz-radius, 16px) var(--danz-radius, 16px) / 40% 40% var(--danz-radius, 16px) var(--danz-radius, 16px);
	background: var(--danz-tone-soft);
}
.danz-invite__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
@media (max-width: 479px) {
	.danz-invite__actions .danz-btn { width: 100%; }
}
@media (min-width: 768px) {
	.danz-invite__card { padding: 40px; }
	.danz-invite__card:has(> .danz-invite__seal) { margin-top: 18px; }
	.danz-invite__seal { position: absolute; top: -18px; right: 24px; width: 80px; margin: 0; padding: 4px; border-radius: 50%; background: inherit; }
}
@media (min-width: 1024px) {
	.danz-invite__card { padding: 56px; }
	.danz-invite--img-right { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 72px); }
	.danz-invite--img-left { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); }
	.danz-invite--img-left .danz-invite__media { order: -1; }
}

/* ------------------------------------------------ Portes */
.danz-doors { --doors-muted: var(--danz-color-text-muted, color-mix(in srgb, currentColor 72%, transparent)); box-sizing: border-box; }
.danz-doors--tone-surface, .danz-doors--tone-deep { padding: clamp(20px, 4vw, 40px); border-radius: calc(var(--danz-radius, 16px) * 1.5); }
.danz-doors--tone-surface { background: var(--danz-tone-surface); color: var(--danz-tone-surface-ink); }
.danz-doors--tone-deep { background: var(--danz-tone-deep); color: var(--danz-tone-deep-ink); --doors-muted: color-mix(in srgb, currentColor 78%, transparent); }
.danz-doors__eyebrow { margin: 0 0 8px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: var(--doors-muted); }
.danz-doors__title { margin: 0 0 24px; font-family: var(--danz-font-heading, inherit); font-size: clamp(28px, 1.4rem + 2vw, 44px); font-weight: 500; line-height: 1.1; letter-spacing: -.01em; color: inherit; }
.danz-doors__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; margin: 0; padding: 0; list-style: none; }
.danz-doors__list > li { min-width: 0; margin: 0; }
.danz-doors__door { display: flex; flex-direction: column; gap: 6px; color: inherit; text-decoration: none; border-radius: var(--danz-radius, 16px); }
.danz-doors__arch {
	position: relative; display: flex; align-items: center; justify-content: center;
	margin-bottom: 6px; aspect-ratio: 4 / 5; overflow: hidden;
	border-radius: 50% 50% var(--danz-radius, 16px) var(--danz-radius, 16px) / 40% 40% var(--danz-radius, 16px) var(--danz-radius, 16px);
	background: var(--danz-tone-soft); color: var(--danz-color-primary, currentColor);
	transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.danz-doors .danz-doors__icon { width: 40px; height: 40px; }
.danz-doors__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.danz-doors__label { font-family: var(--danz-font-heading, inherit); font-size: 22px; font-weight: 500; line-height: 1.2; overflow-wrap: anywhere; }
.danz-doors__text { font-size: 14px; line-height: 1.4; color: var(--doors-muted); }
@media (hover: hover) {
	a.danz-doors__door:hover .danz-doors__arch { transform: translateY(-4px); }
	a.danz-doors__door:hover .danz-doors__img { transform: scale(1.04); }
}
a.danz-doors__door:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
@media (max-width: 767px) {
	/* Nombre impair : la dernière porte prend toute la largeur, en paysage. */
	.danz-doors__list > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.danz-doors__list > li:last-child:nth-child(odd) .danz-doors__arch {
		aspect-ratio: 16 / 9;
		border-radius: 50% 50% var(--danz-radius, 16px) var(--danz-radius, 16px) / 80% 80% var(--danz-radius, 16px) var(--danz-radius, 16px);
	}
}
@media (min-width: 768px) {
	.danz-doors__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; }
	/* 2 ou 4 portes : pas de porte orpheline sur tablette. */
	.danz-doors--n2 .danz-doors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.danz-doors--n4 .danz-doors__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.danz-doors .danz-doors__list { grid-template-columns: repeat(var(--danz-doors-cols, 4), minmax(0, 1fr)); }
	.danz-doors .danz-doors__icon { width: 56px; height: 56px; }
}

/* ------------------------------------------------ Héros et carrousel : arche et galet
   Classes posées seulement quand la forme est pilotée (option ou thème) :
   sans elles, le rendu d'avant est inchangé. */
.danz-hero--frame-arche,.danz-hs--frame-arche{margin-inline:var(--danz-frame-inset,16px);
  border-radius:var(--danz-arch-r,min(46vw,28%)) var(--danz-arch-r,min(46vw,28%)) var(--danz-radius,16px) var(--danz-radius,16px);
  overflow:hidden;isolation:isolate}
.danz-hero--caption-galet .danz-galet,.danz-hs--caption-galet .danz-galet{
  background:var(--danz-tone-surface);color:var(--danz-tone-surface-ink);
  border-radius:28px;padding:20px 20px 24px;margin:12px;align-self:end;max-width:560px}
@media (min-width:1024px){
  .danz-hero--frame-arche,.danz-hs--frame-arche{margin-inline:var(--danz-frame-inset-lg,32px)}
  .danz-hero--caption-galet .danz-galet,.danz-hs--caption-galet .danz-galet{margin:32px;padding:32px 36px;border-radius:32px}
}
/* Le galet ne déborde jamais du cadre, et se range selon l'alignement choisi. */
.danz-hero--caption-galet .danz-galet, .danz-hs--caption-galet .danz-galet { box-sizing: border-box; width: calc(100% - 24px); }
.danz-hs--caption-galet .danz-galet.danz-hs--center { margin-left: auto; margin-right: auto; }
.danz-hs--caption-galet .danz-galet.danz-hs--right { margin-left: auto; }
.danz-heroslider.danz-hs--caption-galet .danz-hs-slide { align-items: flex-end; }
@media (min-width: 1024px) {
	.danz-hero--caption-galet .danz-galet, .danz-hs--caption-galet .danz-galet { width: calc(100% - 64px); }
}
/* Points du carrousel en galet : en haut au centre, sur un petit galet clair ;
   chaque point garde une cible de 24 px. */
.danz-heroslider.danz-hs--caption-galet .danz-hs-dots {
	top: 16px; bottom: auto; left: 50%; right: auto; transform: translateX(-50%);
	gap: 0; padding: 0 6px; border-radius: 999px;
	background: color-mix(in srgb, var(--danz-tone-paper) 92%, transparent);
}
.danz-heroslider.danz-hs--caption-galet .danz-hs-dot {
	width: 24px; height: 24px; padding: 8px; box-sizing: border-box;
	border: 0; border-radius: 999px; transform: none;
	background-color: color-mix(in srgb, var(--danz-tone-paper-ink) 60%, transparent); background-clip: content-box;
}
.danz-heroslider.danz-hs--caption-galet .danz-hs-dot.is-active { width: 38px; border-radius: 999px; transform: none; background-color: var(--danz-color-primary, var(--danz-tone-paper-ink)); }
.danz-heroslider.danz-hs--caption-galet .danz-hs-dot:focus-visible { outline: 2px solid var(--danz-tone-paper-ink); outline-offset: -2px; }
/* Flèches : masquées sur téléphone et tablette (le balayage suffit) ; à
   partir de 1024 px, deux boutons ronds en bas à droite de l'arche. */
.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow { display: none; }
@media (min-width: 1024px) {
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow,
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow:hover,
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow:focus-visible {
		display: flex; align-items: center; justify-content: center;
		top: auto; bottom: 24px; width: 48px; height: 48px; min-width: 0; padding: 0;
		border: 0; border-radius: 50%; opacity: 1; transform: none;
		background: color-mix(in srgb, var(--danz-tone-paper) 92%, transparent); color: var(--danz-tone-paper-ink);
		-webkit-backdrop-filter: none; backdrop-filter: none;
	}
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow:focus-visible { outline: 2px solid var(--danz-tone-paper-ink); outline-offset: 3px; }
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow.danz-hs-prev { left: auto; right: 84px; }
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow.danz-hs-next { right: 24px; }
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow.danz-hs-prev span,
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow.danz-hs-next span {
		position: static; display: block; width: 10px; height: 10px; min-width: 0;
		border: 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	}
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow.danz-hs-prev span { transform: translateX(2px) rotate(135deg); }
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow.danz-hs-next span { transform: translateX(-2px) rotate(-45deg); }
	.danz-heroslider.danz-hs--caption-galet .danz-hs-arrow span::after { content: none; }
	/* Galet aligné à droite : il remonte au-dessus des deux flèches (24 + 48 px). */
	.danz-hs--caption-galet .danz-galet.danz-hs--right { margin-bottom: 96px; }
}

/* ------------------------------------------------ Bouton pleine largeur sur téléphone */
@media (max-width:767px){.danz-button-wrap--full-mobile .danz-btn{width:100%;justify-content:center}}

/* ------------------------------------------------ Formes des images (arche, ovale, galet)
   Appliquées au média ; le contour et l'aplat de l'image encadrée suivent. */
.danz-image--shape-arche img,
.danz-fimg--shape-arche .danz-fimg__media, .danz-fimg--shape-arche .danz-fimg__outline, .danz-fimg--shape-arche .danz-fimg__fill {
	border-radius: 50% 50% var(--danz-radius, 16px) var(--danz-radius, 16px) / 40% 40% var(--danz-radius, 16px) var(--danz-radius, 16px) !important;
}
.danz-image--shape-ovale img,
.danz-fimg--shape-ovale .danz-fimg__media, .danz-fimg--shape-ovale .danz-fimg__outline, .danz-fimg--shape-ovale .danz-fimg__fill {
	border-radius: 50% !important;
}
.danz-image--shape-galet img,
.danz-fimg--shape-galet .danz-fimg__media, .danz-fimg--shape-galet .danz-fimg__outline, .danz-fimg--shape-galet .danz-fimg__fill {
	border-radius: 44% 56% 48% 52% / 38% 42% 58% 62% !important;
}
.danz-image--shape-arche img, .danz-image--shape-ovale img,
.danz-fimg--shape-arche .danz-fimg__media, .danz-fimg--shape-ovale .danz-fimg__media { aspect-ratio: 4 / 5 !important; }
.danz-image--shape-galet img, .danz-fimg--shape-galet .danz-fimg__media { aspect-ratio: 1 !important; }
.danz-image--shape-arche img, .danz-image--shape-ovale img, .danz-image--shape-galet img { object-fit: cover !important; }

/* ------------------------------------------------ Galerie en arches */
.danz-gallery--grid.danz-gallery--arches { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
.danz-gallery--arches .danz-gallery__item,
.danz-gallery--arches .danz-gallery__item > .danz-gallery__lien,
.danz-gallery--arches .danz-gallery__item > img {
	border-radius: 50% 50% var(--danz-radius, 16px) var(--danz-radius, 16px) / 40% 40% var(--danz-radius, 16px) var(--danz-radius, 16px);
}
.danz-gallery--arches .danz-gallery__item > .danz-gallery__lien, .danz-gallery--arches .danz-gallery__item > img { overflow: hidden; }
/* Avec une légende dessous, l'arche reste sur l'image : sur la figure entière,
   elle serait calculée sur image + légende et rognerait le texte. */
.danz-gallery--arches .danz-gallery__item:has(> .danz-gallery__legende) { border-radius: 0; overflow: visible; }
.danz-gallery--arches .danz-gallery__item img { aspect-ratio: 4 / 5; object-fit: cover; height: auto; }
.danz-gallery--arches .danz-gallery__legende { margin-top: 10px; font-family: var(--danz-font-heading, inherit); font-size: 17px; line-height: 1.3; color: inherit; }
@media (min-width: 768px) { .danz-gallery--grid.danz-gallery--arches { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px; } }
@media (min-width: 1024px) { .danz-gallery--grid.danz-gallery--arches { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ------------------------------------------------ Disciplines en arches */
.danz-disc--arches .danz-disc__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
.danz-disc--arches .danz-disc__link { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.danz-disc--arches .danz-disc__arch {
	display: flex; align-items: center; justify-content: center;
	width: 100%; aspect-ratio: 4 / 5; margin-bottom: 4px;
	border-radius: 50% 50% var(--danz-radius, 16px) var(--danz-radius, 16px) / 40% 40% var(--danz-radius, 16px) var(--danz-radius, 16px);
	background: var(--danz-tone-soft); color: var(--danz-color-primary, currentColor);
	transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.danz-disc--arches .danz-disc__seal { width: min(96px, 62%); height: auto; }
.danz-disc--arches .danz-disc__num { align-self: center; padding: 0; font-family: var(--danz-font-heading, inherit); font-size: clamp(34px, 6vw, 48px); font-style: italic; color: inherit; }
.danz-disc--arches .danz-disc__name { font-size: 20px; font-weight: 500; line-height: 1.2; letter-spacing: 0; }
.danz-disc--arches .danz-disc__count { grid-column: auto; }
@media (hover: hover) {
	.danz-disc--arches a.danz-disc__link:hover .danz-disc__arch { transform: translateY(-4px); }
}
@media (min-width: 768px) { .danz-disc--arches .danz-disc__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; } }
@media (min-width: 1024px) { .danz-disc--arches .danz-disc__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ------------------------------------------------ Prochains cours en carnet */
.danz-next--carnet .danz-next__link, .danz-next--carnet .danz-next__item:last-child .danz-next__link {
	grid-template-columns: 88px minmax(0, 1fr);
	border-top: 0; border-bottom: 1px solid var(--danz-color-border, var(--dz-rule));
}
.danz-next--carnet .danz-next__item:first-child .danz-next__link { border-top: 1px solid var(--danz-color-border, var(--dz-rule)); }
.danz-next--carnet .danz-next__when { font-family: inherit; }
.danz-next--carnet .danz-next__day { font-family: var(--danz-font-heading, inherit); font-size: 17px; font-style: italic; color: inherit; }
.danz-next--carnet .danz-next__time { font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; }
.danz-next--carnet .danz-next__end { font-variant-numeric: tabular-nums; }
.danz-next--carnet .danz-next__name { font-family: var(--danz-font-heading, inherit); font-size: 22px; font-weight: 500; }
.danz-next--carnet .danz-next__meta { font-size: 14px; }
.danz-next--carnet .danz-next__status:not(:empty), .danz-next--carnet .danz-next__left {
	display: inline-flex; align-items: center; padding: 3px 12px; border-radius: 999px;
	background: var(--danz-tone-surface); color: var(--danz-tone-surface-ink);
	font-family: inherit; font-size: 13px; letter-spacing: 0;
}
@media (min-width: 768px) {
	.danz-next--carnet .danz-next__link { grid-template-columns: 88px minmax(0, 1fr) auto; }
}

/* ------------------------------------------------ Questions en galets */
.danz-faq--galets .danz-faq__item, .danz-faq--galets .danz-faq__item:last-child {
	margin: 0 0 16px; padding: 0 20px; border: 0; border-radius: 24px;
	background: var(--danz-tone-surface); color: var(--danz-tone-surface-ink);
}
.danz-faq--galets .danz-faq__item:last-child { margin-bottom: 0; }
.danz-faq--galets .danz-faq__q { padding: 18px 0; }
.danz-faq--galets .danz-faq__a { padding: 0 44px 20px 0; color: color-mix(in srgb, currentColor 82%, transparent); }
.danz-faq--galets .danz-faq__icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 0; background: transparent; }
.danz-faq--galets .danz-faq__icon::before, .danz-faq--galets .danz-faq__icon::after { content: none; }
.danz-faq--galets .danz-faq__icon svg { display: block; width: 20px; height: 20px; }
.danz-faq--galets .danz-faq__item[open] .danz-faq__icon { transform: rotate(45deg); background: transparent; color: inherit; }

/* ------------------------------------------------ Témoignage en bulle */
.danz-testimonial--bulle { position: relative; margin-bottom: 14px; }
.danz-testimonial--bulle::after {
	content: ""; position: absolute; left: 40px; bottom: -9px;
	width: 20px; height: 20px; border-radius: 0 0 5px 0;
	background: inherit; transform: rotate(45deg); pointer-events: none;
}
.danz-testimonial--bulle > p { font-family: var(--danz-font-heading, inherit); font-style: italic; }

@media (prefers-reduced-motion: reduce) {
	.danz-seuil__dot, .danz-seuil__seal .danz-sceau__ring { animation: none; }
	.danz-doors__arch, .danz-doors__img, .danz-disc--arches .danz-disc__arch, .danz-week .danz-week__day, .danz-faq--galets .danz-faq__icon { transition: none; }
	a.danz-doors__door:hover .danz-doors__arch, a.danz-doors__door:hover .danz-doors__img, .danz-disc--arches a.danz-disc__link:hover .danz-disc__arch { transform: none; }
}
