/**
 * single-training.css
 * ═══════════════════════════════════════════════════════════════════
 * Stylesheet dédiée à la fiche formation.
 * Design system local scopé à .st-page - ne touche à aucun autre style.
 *
 * Architecture :
 *   1. Design tokens (variables CSS)
 *   2. Layout (page, container, grid principal)
 *   3. Composants (hero, bref, urgency, benefits, TOC, cards, modal)
 *   4. Responsive (mobile-first puis upscale)
 * ═══════════════════════════════════════════════════════════════════
 */

/* ═══════════════════════════════════════════════════════════════════
   1. DESIGN TOKENS
   ═══════════════════════════════════════════════════════════════════ */
.st-page {
	/* ── Couleurs ─────────────────────────────────────────────── */
	--st-color-primary:        #F64522;
	--st-color-primary-dark:   #d93a1a;
	--st-color-primary-soft:   #FFF7F5;
	--st-color-primary-light:  #FFE8D6;
	--st-color-primary-border: #FFD4CA;

	--st-color-text:           #1a1a2e;
	--st-color-text-muted:     #4b5563;
	--st-color-text-subtle:    #6b7280;
	--st-color-text-faint:     #9ca3af;

	--st-color-bg:             #ffffff;
	--st-color-bg-soft:        #F9FBFD;
	--st-color-bg-cream:       #FAFAF7;
	--st-color-border:         #e5e7eb;
	--st-color-border-light:   #f3f4f6;

	--st-color-success:        #10b981;
	--st-color-warn-bg:        #FEF3C7;
	--st-color-warn-text:      #92400E;
	--st-color-warn-border:    #FDE68A;

	/* ── Échelle d'espacement (base 4px) ─────────────────────── */
	--st-space-1:   4px;
	--st-space-2:   8px;
	--st-space-3:  12px;
	--st-space-4:  16px;
	--st-space-5:  20px;
	--st-space-6:  24px;
	--st-space-8:  32px;
	--st-space-10: 40px;
	--st-space-12: 48px;
	--st-space-16: 64px;
	--st-space-20: 80px;
	--st-space-30: 100px;

	/* Espacement vertical entre sections (fluide mobile → desktop) */
	--st-section-gap:    clamp(32px, 5vw, 64px);
	--st-section-gap-sm: clamp(24px, 4vw, 40px);

	/* ── Typographie fluide ────────────────────────────────────── */
	--st-fs-xs:    11px;
	--st-fs-sm:    12px;
	--st-fs-base:  14px;
	--st-fs-md:    15px;
	--st-fs-body:  16px;
	--st-fs-lg:    clamp(16px, 2vw, 18px);
	--st-fs-xl:    clamp(18px, 2.5vw, 22px);
	--st-fs-2xl:   clamp(22px, 3.5vw, 32px);
	--st-fs-3xl:   clamp(28px, 5vw, 44px);

	--st-lh-tight:   1.2;
	--st-lh-snug:    1.35;
	--st-lh-normal:  1.5;
	--st-lh-relaxed: 1.65;

	/* ── Radius ────────────────────────────────────────────────── */
	--st-radius-xs:   4px;
	--st-radius-sm:   6px;
	--st-radius-md:   8px;
	--st-radius-lg:   12px;
	--st-radius-xl:   16px;
	--st-radius-2xl:  24px;
	--st-radius-3xl:  32px;
	--st-radius-pill: 9999px;

	/* ── Ombres ────────────────────────────────────────────────── */
	--st-shadow-xs: 0 1px 2px rgba(0,0,0,.04);
	--st-shadow-sm: 0 1px 3px rgba(0,0,0,.06);
	--st-shadow-md: 0 4px 12px rgba(0,0,0,.06);
	--st-shadow-lg: 0 8px 24px rgba(0,0,0,.08);
	--st-shadow-xl: 0 16px 48px rgba(0,0,0,.1);
	--st-shadow-brand: 0 8px 24px rgba(246,69,34,.15);

	/* ── Layout ────────────────────────────────────────────────── */
	--st-container-max:   1500px;
	--st-content-max:     760px;
	--st-sidebar-width:   340px;
	--st-toc-width:       220px;
	--st-padding-inline:  clamp(16px, 4vw, 40px);

	/* ── Transitions ───────────────────────────────────────────── */
	--st-transition-fast: .15s ease;
	--st-transition:      .2s ease;
}

/* ═══════════════════════════════════════════════════════════════════
   2. LAYOUT - page, containers, grille
   ═══════════════════════════════════════════════════════════════════ */

/* Le wrapper principal de la page */
.st-page {
	color: var(--st-color-text);
	line-height: var(--st-lh-normal);
}

/* Container standard : max-width + padding responsive aligné avec le reste du thème */
.st-container {
	max-width: var(--st-container-max);
	margin-inline: auto;
	padding-inline: var(--page-padding, 80px);
	box-sizing: border-box;
	width: 100%;
}

/* Le container dans la section contenu (sous le hero) prend toute la largeur,
   le hero garde sa contrainte normale. */
.st-content .st-container {
	max-width: 100%;
}

/* Override des paddings hérités de style.css sur #content pour la fiche formation */
#page-trainings #page-une-formation #content,
#page-une-formation #content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Container narrow : pour contenus à lecture (texte) */
.st-container--narrow {
	max-width: calc(var(--st-content-max) + var(--st-sidebar-width) + var(--st-toc-width) + 96px);
}

/* Sections : espacement vertical entre blocs */
.st-section {
	padding-block: var(--st-section-gap);
}
.st-section--sm {
	padding-block: var(--st-section-gap-sm);
}
.st-section--flush-top    { padding-top: 0; }
.st-section--flush-bottom { padding-bottom: 0; }

/* ═══════════════════════════════════════════════════════════════════
   3. HERO - image en premier dans colonne main, puis header + bref
   ═══════════════════════════════════════════════════════════════════ */

.st-hero {
	padding-top: var(--st-space-8);
	padding-bottom: var(--st-section-gap);
}

/* Layout 2 colonnes : main (image + contenu) | aside (inscription) */
.st-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.st-hero__main {
	display: flex;
	flex-direction: column;
	gap: var(--st-space-5);
	min-width: 0;
}
.st-hero__aside {
	min-width: 0;
}

/* Thumbnail */
.st-hero__media {
	position: relative;
	border-radius: var(--st-radius-3xl);
	overflow: hidden;
	box-shadow: var(--st-shadow-lg);
	aspect-ratio: 16/9;
	background: var(--st-color-bg-soft);
}
.st-hero__media img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	display: block;
	border-radius: 0 !important;
}

/* Header : tags + titre + trust */
.st-hero__header {
	display: flex;
	flex-direction: column;
	gap: var(--st-space-3);
	margin: 0;
	max-width: 100%;
}
.st-hero__head-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--st-space-2);
	margin: 0;
}
.st-hero__head-tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 11px;
	background: var(--st-color-bg-soft);
	border: 1px solid var(--st-color-border);
	border-radius: var(--st-radius-xs);
	color: var(--st-color-text-subtle);
	font-size: var(--st-fs-xs);
	font-weight: 600;
	line-height: 1.5;
}
.st-hero__head-tag--primary {
	background: var(--st-color-primary-soft);
	border-color: var(--st-color-primary-border);
	color: var(--st-color-primary);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 10px;
}
.st-hero__title {
	font-size: var(--st-fs-3xl);
	font-weight: 800;
	line-height: var(--st-lh-tight);
	color: var(--st-color-text);
	margin: 0;
	letter-spacing: -0.01em;
}

/* Trust row */
.st-hero__trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--st-space-5);
}
.st-hero__trainers {
	display: flex;
	align-items: center;
	gap: var(--st-space-3);
}
.st-hero__trainers-avatars {
	display: flex;
	align-items: center;
}
.st-hero__trainer-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--st-color-primary-light);
	border: 2px solid var(--st-color-bg);
	box-shadow: var(--st-shadow-sm);
	margin-left: -8px;
}
.st-hero__trainer-avatar:first-child { margin-left: 0; }
.st-hero__trainer-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.st-hero__trainer-avatar .initials {
	font-size: var(--st-fs-sm);
	font-weight: 700;
	color: var(--st-color-primary);
}
.st-hero__trainers-label {
	font-size: var(--st-fs-base);
	color: var(--st-color-text-muted);
	line-height: var(--st-lh-tight);
}
.st-hero__trainers-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 8px;
	margin-left: 4px;
	background: var(--st-color-text);
	color: #ffffff;
	font-weight: 700;
	font-size: 11px;
	border-radius: var(--st-radius-pill);
	line-height: 1.4;
	cursor: help;
	position: relative;
	transition: background var(--st-transition-fast);
}
.st-hero__trainers-more:hover,
.st-hero__trainers-more:focus {
	background: var(--st-color-primary);
	outline: none;
}

/* Tooltip au survol */
.st-hero__trainers-tooltip {
	position: absolute;
	bottom: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%) translateY(4px);
	min-width: 200px;
	max-width: 280px;
	padding: 10px 14px;
	background: var(--st-color-text);
	color: #ffffff;
	border-radius: var(--st-radius-md);
	box-shadow: 0 8px 24px rgba(0,0,0,.18);
	font-size: 12px;
	font-weight: 500;
	line-height: var(--st-lh-normal);
	white-space: normal;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--st-transition-fast), visibility var(--st-transition-fast), transform var(--st-transition-fast);
	z-index: 100;
	text-align: left;
}
.st-hero__trainers-tooltip strong {
	display: block;
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: rgba(255,255,255,.7);
	margin-bottom: 6px;
}
.st-hero__trainers-tooltip span {
	display: block;
	padding: 2px 0;
	color: #ffffff;
}
/* Petite flèche sous le tooltip */
.st-hero__trainers-tooltip::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: var(--st-color-text);
}
.st-hero__trainers-more:hover .st-hero__trainers-tooltip,
.st-hero__trainers-more:focus .st-hero__trainers-tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
	pointer-events: auto;
}

.st-hero__rating {
	display: inline-flex;
	align-items: center;
	gap: var(--st-space-3);
	padding: 6px 14px 6px 10px;
	background: var(--st-color-primary-soft);
	border: 1px solid var(--st-color-primary-border);
	border-radius: var(--st-radius-pill);
	text-decoration: none;
	transition: background var(--st-transition-fast), border-color var(--st-transition-fast);
}
.st-hero__rating:hover {
	background: var(--st-color-primary-light);
	border-color: var(--st-color-primary);
}
.st-hero__rating-stars {
	font-size: var(--st-fs-base);
	color: #d4d4d0;
	letter-spacing: 1px;
}
.st-hero__rating-stars .star.filled { color: var(--st-color-primary); }
.st-hero__rating-text {
	font-size: var(--st-fs-base);
	color: var(--st-color-text);
	line-height: var(--st-lh-tight);
}
.st-hero__rating-text strong { font-weight: 700; margin-right: 4px; }
.st-hero__rating-text span { color: var(--st-color-text-subtle); font-size: var(--st-fs-sm); }

/* En bref */
.st-hero__bref {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: var(--st-color-bg-soft);
	border: 1px solid var(--st-color-border);
	border-radius: var(--st-radius-lg);
	overflow: hidden;
}
.st-hero__bref-item {
	display: flex;
	align-items: center;
	gap: var(--st-space-3);
	padding: var(--st-space-3) var(--st-space-4);
	border-right: 1px solid var(--st-color-border);
	min-width: 0;
}
.st-hero__bref-item:last-child { border-right: none; }
.st-hero__bref-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: var(--st-color-bg);
	border-radius: var(--st-radius-md);
	color: var(--st-color-primary);
	flex-shrink: 0;
	box-shadow: var(--st-shadow-xs);
}
.st-hero__bref-icon .docto-lucide {
	width: 18px !important;
	height: 18px !important;
	stroke-width: 2;
}
.st-hero__bref-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: var(--st-lh-tight);
}
.st-hero__bref-label {
	font-size: 10px;
	font-weight: 600;
	color: var(--st-color-text-subtle);
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-bottom: 2px;
}
.st-hero__bref-value {
	font-size: 13px;
	font-weight: 700;
	color: var(--st-color-text);
	line-height: var(--st-lh-snug);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Actions hero (lien discret "Explorer") */
.st-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--st-space-3);
}
.st-hero__actions .st-btn--ghost {
	background: transparent;
	border: none;
	color: var(--st-color-text-muted);
	padding: 6px 0;
	box-shadow: none;
	font-weight: 600;
	font-size: var(--st-fs-base);
}
.st-hero__actions .st-btn--ghost:hover {
	color: var(--st-color-primary) !important;
	background: transparent;
	transform: none;
	box-shadow: none;
}

/* ═══════════════════════════════════════════════════════════════════
   Suscription block - version refondue, compacte, CTA visible haut
   ═══════════════════════════════════════════════════════════════════ */

.st-hero__aside .suscription.block {
	margin: 0 !important;
	max-width: 100% !important;
	border: 1px solid var(--st-color-border) !important;
	border-radius: var(--st-radius-2xl);
	padding: 0;
	background: var(--st-color-bg);
	box-shadow: var(--st-shadow-lg);
	overflow: hidden;
}

/* ── HEADER : titre + sous-titre (pas de background gradient) ── */
.st-hero__aside .suscription.block .block-header {
	padding: var(--st-space-5) var(--st-space-5) var(--st-space-4);
	text-align: center;
	border-bottom: 1px solid var(--st-color-border-light);
}
.st-hero__aside .suscription.block .block-header .title {
	font-size: var(--st-fs-xl) !important;
	font-weight: 800 !important;
	margin: 0 0 6px !important;
	line-height: var(--st-lh-tight) !important;
	color: var(--st-color-text) !important;
}
.st-hero__aside .suscription.block .soustitre {
	font-size: var(--st-fs-sm) !important;
	font-weight: 500 !important;
	color: var(--st-color-text-muted) !important;
	line-height: var(--st-lh-normal) !important;
}
.st-hero__aside .suscription.block .soustitre .duration-day {
	color: var(--st-color-primary) !important;
	font-weight: 700 !important;
}

/* ── BODY ── */
.st-hero__aside .suscription.block .block-body {
	padding: var(--st-space-4) var(--st-space-5) var(--st-space-3);
}
/* Neutralise les paddings hérités du thème (sauf qualiopi et tarifs qui ont leur propre padding) */
.st-hero__aside .suscription.block .block-body > div:not(.docto-qualiopi-badge):not(.tarifs) {
	padding: 32px !important;
	margin-bottom: var(--st-space-4);
}
.st-hero__aside .suscription.block .block-body > div:last-child {
	margin-bottom: 0;
}
/* next-sessions spécifiquement : padding-top/bottom 0 pour écraser la règle du thème */
.st-hero__aside .suscription.block .block-body > div.next-sessions {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Titres internes : section labels */
.st-hero__aside .suscription.block .block-body .title,
.st-hero__aside .suscription.block .tarifs .title {
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
	color: var(--st-color-text-subtle) !important;
	text-align: center !important;
	margin: 0 0 var(--st-space-3) !important;
	padding: 0 !important;
	font-family: inherit !important;
}
/* Override spécifique pour le titre des tarifs */
.st-hero__aside .suscription.block .tarifs .title {
	text-align: left !important;
	margin-bottom: 0px !important;
	padding-top: 8px !important;
}

/* ── PROCHAINES SESSIONS - compact ── */
.st-hero__aside .suscription.block ul.sessions-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--st-space-2);
}
.st-hero__aside .suscription.block ul.sessions-list li {
	display: flex !important;
	flex-direction: column;
	gap: 0;
	padding: 0 !important;
	background: transparent;
	border: none !important;
	border-radius: 0;
	list-style: none !important;
	margin: 0 !important;
}

/* Option sessions cliquables (radio hidden + label) */
.st-hero__aside .suscription.block .session-option {
	display: flex;
	align-items: flex-start;
	gap: var(--st-space-2);
	padding: var(--st-space-3);
	background: #ffffff;
	border: 1px solid var(--st-color-border);
	border-radius: var(--st-radius-md);
	cursor: pointer;
	transition: all var(--st-transition-fast);
	position: relative;
}
.st-hero__aside .suscription.block .session-option:hover {
	border-color: var(--st-color-primary);
	box-shadow: 0 2px 8px rgba(246,69,34,.08);
}
.st-hero__aside .suscription.block .session-radio {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	min-width: 18px;
	margin: 2px 0 0 0;
	border: 2px solid var(--st-color-border);
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	position: relative;
	transition: border-color var(--st-transition-fast), background var(--st-transition-fast);
	flex-shrink: 0;
}
.st-hero__aside .suscription.block .session-radio:checked {
	border-color: var(--st-color-primary);
	background: var(--st-color-primary);
	box-shadow: inset 0 0 0 3px #fff;
}
.st-hero__aside .suscription.block .session-radio:focus-visible {
	outline: 2px solid var(--st-color-primary);
	outline-offset: 2px;
}
.st-hero__aside .suscription.block .session-option:has(.session-radio:checked) {
	border-color: var(--st-color-primary);
	background: #FFF7F5;
	box-shadow: 0 2px 8px rgba(246,69,34,.12);
}
.st-hero__aside .suscription.block .session-option__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

/* Bouton "Copier le lien" de la session */
.st-hero__aside .suscription.block .session-share-btn {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid transparent;
	border-radius: var(--st-radius-sm);
	color: var(--st-color-text-faint);
	cursor: pointer;
	transition: all var(--st-transition-fast);
}
.st-hero__aside .suscription.block .session-share-btn:hover {
	background: #fff;
	border-color: var(--st-color-border);
	color: var(--st-color-primary);
}
.st-hero__aside .suscription.block .session-share-btn.copied {
	color: #10b981;
	border-color: #10b981;
	background: #ecfdf5;
}
.st-hero__aside .suscription.block .session-share-btn.copied svg {
	display: none;
}
.st-hero__aside .suscription.block .session-share-btn.copied::after {
	content: "✓";
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

/* Session complète (non cliquable) */
.st-hero__aside .suscription.block .session-option--full {
	display: flex;
	align-items: flex-start;
	gap: var(--st-space-2);
	padding: var(--st-space-3);
	background: #fafafa;
	border: 1px solid var(--st-color-border);
	border-radius: var(--st-radius-md);
	opacity: 0.6;
	cursor: not-allowed;
}
.st-hero__aside .suscription.block .session-option--full .full-label {
	color: var(--st-color-text-faint);
	font-size: var(--st-fs-xs);
	font-style: italic;
}
.st-hero__aside .suscription.block ul.sessions-list li::before,
.st-hero__aside .suscription.block ul.sessions-list li::marker {
	display: none !important;
	content: none !important;
}
.st-hero__aside .suscription.block .sessions-list span {
	display: block;
}
.st-hero__aside .suscription.block .sessions-list .date,
.st-hero__aside .suscription.block ul.sessions-list li .date {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--st-color-text) !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: var(--st-lh-snug) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.st-hero__aside .suscription.block ul.sessions-list li .date::before {
	display: none !important;
	content: none !important;
}
.st-hero__aside .suscription.block .sessions-list .duration {
	font-size: 12px !important;
	color: var(--st-color-text-subtle) !important;
	font-weight: 400 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.st-hero__aside .suscription.block .sessions-list .duration.limit {
	font-size: 11px !important;
	color: var(--st-color-text-faint) !important;
}
.st-hero__aside .suscription.block .sessions-list .full {
	opacity: .5;
}
.st-hero__aside .suscription.block .sessions-list .full .date {
	text-decoration: line-through;
}

/* Past sessions accordion */
.st-hero__aside .suscription.block .past-sessions-expand {
	margin-top: var(--st-space-3);
	margin-bottom: 0;
	border-radius: 8px;
	overflow: hidden;
}
.st-hero__aside .suscription.block .past-sessions-expand summary {
	font-size: 12px;
	color: var(--st-color-text-subtle);
	cursor: pointer;
	padding: 6px 10px;
	list-style: none;
	border: none;
	border-radius: var(--st-radius-sm);
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.st-hero__aside .suscription.block .past-sessions-expand summary:hover {
	background: var(--st-color-bg-soft);
	color: var(--st-color-text-muted);
}
.st-hero__aside .suscription.block .past-sessions-expand summary::-webkit-details-marker {
	display: none;
}
.st-hero__aside .suscription.block .past-sessions-expand summary::before {
	content: '▸';
	transition: transform .15s;
	font-size: 11px;
}
.st-hero__aside .suscription.block .past-sessions-expand[open] summary::before {
	transform: rotate(90deg);
}
.st-hero__aside .suscription.block .past-sessions-list {
	margin-top: var(--st-space-2);
}
.st-hero__aside .suscription.block .past-sessions-list li {
	background: var(--st-color-bg-cream);
	opacity: .7;
	padding-left: 8px !important;
	padding-right: 8px !important;
}

/* ── Qualiopi badge dans l'aside ── */
/* ── Qualiopi badge externe (sous l'aside) ── */
.st-hero__aside .st-qualiopi-external {
	margin-top: var(--st-space-3);
	padding: 14px;
	background: transparent;
	border: none;
	box-shadow: none;
}
.st-hero__aside .st-qualiopi-external .docto-qualiopi-badge,
.st-hero__aside .st-qualiopi-external .docto-qualiopi-badge--compact {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	gap: 8px !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	width: 100%;
	box-sizing: border-box;
	margin: 0 !important;
}
.st-hero__aside .st-qualiopi-external .docto-qualiopi-badge img {
	width: 120px !important;
	height: auto !important;
}
.st-hero__aside .st-qualiopi-external .docto-qualiopi-badge__text {
	text-align: center !important;
}
.st-hero__aside .st-qualiopi-external .docto-qualiopi-badge--compact .docto-qualiopi-badge__text strong {
	font-size: 13px !important;
}

/* ── TARIFS en ligne ── */
.st-hero__aside .suscription.block .tarifs {
	margin: 0 !important;
	padding: 8px 0 !important;
}
.st-hero__aside .suscription.block ul.tarifs-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.st-hero__aside .suscription.block ul.tarifs-list li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: var(--st-space-2) 0 !important;
	border-bottom: 1px solid var(--st-color-border-light);
	gap: var(--st-space-3);
	margin: 0 !important;
	padding-left: 0 !important;
	min-height: 0 !important;
}
.st-hero__aside .suscription.block ul.tarifs-list li::before {
	display: none !important;
	content: none !important;
}
.st-hero__aside .suscription.block ul.tarifs-list li:last-child {
	border-bottom: none;
	padding-bottom: 0 !important;
}
.st-hero__aside .suscription.block ul.tarifs-list li:first-child {
	padding-top: 0 !important;
}
.st-hero__aside .suscription.block ul.tarifs-list li .profil {
	font-size: var(--st-fs-sm) !important;
	color: var(--st-color-text-muted) !important;
	text-transform: capitalize !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	min-width: 0;
}
.st-hero__aside .suscription.block ul.tarifs-list li .price {
	font-size: var(--st-fs-xl) !important;
	font-weight: 700 !important;
	color: var(--st-color-text) !important;
	white-space: nowrap;
	padding: 0 !important;
}
.st-hero__aside .suscription.block ul.tarifs-list li .price .tax {
	font-size: 10px !important;
	font-weight: 500 !important;
	color: var(--st-color-text-faint) !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	margin-left: 3px !important;
}

/* Titres centrés dans le block-body (sauf tarifs, géré en dessous avec left) */
.st-hero__aside .suscription.block .block-body .title {
	text-align: center !important;
}
/* Override spécifique pour le titre des tarifs (spécificité +1 via ID) */
#page-une-formation .st-hero__aside .suscription.block .tarifs .title,
.st-hero__aside .suscription.block .block-body .tarifs .title {
	text-align: left !important;
	margin-bottom: 0px !important;
	padding-top: 8px !important;
}

/* ── CTA "Je m'inscris" - full-width ── */
.st-hero__aside .suscription.block .block-body .training-links {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	display: block;
}
.st-hero__aside .suscription.block .block-body .training-links a.btn.primary.fill,
.st-hero__aside .suscription.block .block-body .training-links button.btn.primary.fill,
.st-hero__aside .suscription.block .block-body .training-links .suscription-submit {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	padding: 14px 20px !important;
	margin-bottom: 12px !important;
	background: var(--st-color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--st-radius-md) !important;
	font-size: var(--st-fs-md) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	height: auto !important;
	--height: auto !important;
	box-sizing: border-box !important;
	box-shadow: 0 4px 12px rgba(246,69,34,.25);
	transition: background var(--st-transition-fast), transform var(--st-transition-fast);
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-family: inherit !important;
	cursor: pointer;
}
.st-hero__aside .suscription.block .block-body .training-links a.btn.primary.fill::after,
.st-hero__aside .suscription.block .block-body .training-links button.btn.primary.fill::after,
.st-hero__aside .suscription.block .block-body .training-links .suscription-submit::after {
	display: none !important;
	content: none !important;
}
.st-hero__aside .suscription.block .block-body .training-links a.btn.primary.fill:hover,
.st-hero__aside .suscription.block .block-body .training-links button.btn.primary.fill:hover,
.st-hero__aside .suscription.block .block-body .training-links .suscription-submit:hover {
	background: var(--st-color-primary-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

/* ── BLOCK FOOTER ── */
.st-hero__aside .suscription.block .block-footer {
	font-size: 12px !important;
	color: var(--st-color-text-subtle) !important;
	text-align: center !important;
	line-height: var(--st-lh-normal) !important;
	padding: var(--st-space-4) var(--st-space-5) !important;
	margin: 0 !important;
	background: var(--st-color-bg-cream);
	border-top: 1px solid var(--st-color-border-light);
}
.st-hero__aside .suscription.block .block-footer a {
	color: var(--st-color-primary) !important;
	text-decoration: underline !important;
}

/* ── Unavailable ── */
.st-hero__aside .suscription.block .unavailable {
	text-align: center;
	padding: var(--st-space-4) 0;
}
.st-hero__aside .suscription.block .unavailable h3,
.st-hero__aside .suscription.block .unavailable .unavailable__title {
	font-size: var(--st-fs-xl) !important;
	color: var(--st-color-text) !important;
	margin: 0 0 var(--st-space-3);
	font-weight: 700;
	letter-spacing: 0;
}
.st-hero__aside .suscription.block .unavailable__text {
	padding-bottom: 24px !important;
}

/* Override des paddings hérités du thème pour les li dans la page formation */
#page-trainings #page-une-formation .st-hero__aside .suscription.block li,
.st-hero__aside .suscription.block li {
	padding-left: 0 !important;
}
.st-hero__aside .suscription.block ul.sessions-list li {
	padding-left: var(--st-space-2) !important;
	padding-right: var(--st-space-2) !important;
}
/* Past sessions : override des paddings avec spécificité augmentée */
#page-trainings #page-une-formation .st-hero__aside .suscription.block ul.past-sessions-list li,
.st-hero__aside .suscription.block ul.past-sessions-list li {
	padding-left: 8px !important;
	padding-right: 8px !important;
}

/* Neutralise la pseudo-border arrondie d'origine */
.st-hero__aside .suscription.block::before,
.st-hero__aside .suscription.block::after {
	display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════
   URGENCY BANNER
   ═══════════════════════════════════════════════════════════════════ */

.st-urgency {
	background: linear-gradient(135deg, var(--st-color-primary-soft) 0%, var(--st-color-primary-light) 100%);
	border-top: 1px solid var(--st-color-primary-border);
	border-bottom: 1px solid var(--st-color-primary-border);
	padding-block: var(--st-space-4);
}
.st-urgency__inner {
	display: flex;
	align-items: center;
	gap: var(--st-space-4);
	flex-wrap: wrap;
}
.st-urgency__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--st-color-primary);
	color: #fff;
	border-radius: var(--st-radius-md);
	flex-shrink: 0;
}
.st-urgency__icon .docto-lucide {
	width: 22px !important;
	height: 22px !important;
}
.st-urgency__text {
	flex: 1;
	display: flex;
	align-items: center;
	gap: var(--st-space-3);
	flex-wrap: wrap;
	font-size: var(--st-fs-md);
	color: var(--st-color-text);
}
.st-urgency__text strong { font-weight: 700; }
.st-urgency__pill {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	background: var(--st-color-bg);
	border: 1px solid var(--st-color-primary-border);
	border-radius: var(--st-radius-lg);
	font-size: var(--st-fs-sm);
	font-weight: 700;
	color: var(--st-color-primary);
}
.st-urgency__pill--hot {
	background: var(--st-color-primary);
	color: #fff;
	border-color: var(--st-color-primary);
	animation: st-pulse 2s ease-in-out infinite;
}
.st-urgency__pill--warn {
	background: var(--st-color-warn-bg);
	color: var(--st-color-warn-text);
	border-color: var(--st-color-warn-border);
}
@keyframes st-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(246,69,34,.4); }
	50%      { box-shadow: 0 0 0 6px rgba(246,69,34,0); }
}

/* ═══════════════════════════════════════════════════════════════════
   BENEFITS - éditorial, plus calme
   ═══════════════════════════════════════════════════════════════════ */

.st-benefits {
	padding-block: var(--st-section-gap);
}
.st-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--st-space-6);
}
.st-benefit {
	background: transparent;
	border: none;
	border-top: 3px solid var(--st-color-primary);
	border-radius: 0;
	padding: var(--st-space-5) 0 0;
	transition: none;
}
.st-benefit:hover {
	transform: none;
	box-shadow: none;
}
.st-benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--st-color-primary-soft);
	border-radius: var(--st-radius-md);
	color: var(--st-color-primary);
	margin-bottom: var(--st-space-3);
}
.st-benefit__icon .docto-lucide {
	width: 22px !important;
	height: 22px !important;
	stroke-width: 2;
}
.st-benefit__title {
	font-size: var(--st-fs-lg);
	font-weight: 700;
	color: var(--st-color-text);
	margin: 0 0 var(--st-space-2);
	line-height: var(--st-lh-snug);
	letter-spacing: -0.005em;
}
.st-benefit__text {
	font-size: var(--st-fs-base);
	color: var(--st-color-text-muted);
	line-height: var(--st-lh-normal);
	margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   MAIN CONTENT - layout 2 colonnes (TOC | content) + sidebar
   ═══════════════════════════════════════════════════════════════════ */

.st-content {
	padding-top: var(--st-section-gap);
}
.st-content__heading {
	text-align: center;
	margin-bottom: var(--st-section-gap);
}
.st-content__heading-label {
	display: block;
	font-size: var(--st-fs-sm);
	font-weight: 700;
	color: var(--st-color-primary);
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: var(--st-space-2);
}
.st-content__heading h2 {
	font-size: var(--st-fs-2xl);
	font-weight: 700;
	color: var(--st-color-text);
	margin: 0;
	line-height: var(--st-lh-tight);
}

.st-content__layout {
	display: grid;
	grid-template-columns: var(--st-toc-width) minmax(0, 1fr) var(--st-toc-width);
	gap: var(--st-space-20);
	max-width: 100%;
	margin-inline: auto;
}

/* TOC sticky */
.st-toc {
	position: sticky;
	top: 100px;
	align-self: start;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
	padding-block: var(--st-space-5);
	border-left: 2px solid var(--st-color-border);
}
.st-toc__label {
	display: block;
	font-size: var(--st-fs-xs);
	font-weight: 700;
	color: var(--st-color-text-faint);
	text-transform: uppercase;
	letter-spacing: .08em;
	padding-inline: var(--st-space-5);
	margin-bottom: var(--st-space-3);
}
.st-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.st-toc__list li { margin: 0; padding: 0; }
.st-toc__list a {
	display: block;
	padding: var(--st-space-2) var(--st-space-5);
	color: var(--st-color-text-muted);
	font-size: 13px;
	text-decoration: none;
	border-left: 2px solid transparent;
	margin-left: -2px;
	transition: all var(--st-transition-fast);
	line-height: var(--st-lh-snug);
}
.st-toc__list a:hover { color: var(--st-color-text); }
.st-toc__list a.is-active {
	color: var(--st-color-primary);
	font-weight: 700;
	border-left-color: var(--st-color-primary);
}

/* Corps du contenu */
.st-content__body {
	min-width: 0;
	max-width: 820px;
	margin-inline: auto;
	width: 100%;
}
.st-content__body > * + * {
	margin-top: var(--st-space-30);
}

/* Sections thématiques du contenu */
.st-section-block {
	scroll-margin-top: 100px;
}
.st-section-block__title {
	display: flex;
	align-items: center;
	gap: var(--st-space-3);
	font-size: var(--st-fs-2xl);
	font-weight: 700;
	color: var(--st-color-text);
	margin: 0 0 var(--st-space-5);
	line-height: var(--st-lh-tight);
}
.st-section-block__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, var(--st-color-primary-soft), var(--st-color-primary-light));
	border-radius: var(--st-radius-md);
	color: var(--st-color-primary);
	flex-shrink: 0;
}
.st-section-block__icon .docto-lucide {
	width: 22px !important;
	height: 22px !important;
	stroke-width: 2.2;
}
.st-section-block__body {
	font-size: var(--st-fs-body);
	line-height: var(--st-lh-relaxed);
	color: var(--st-color-text);
}
/* Neutralise les paddings/margins hérités du thème (main p { padding-bottom: 40px } etc.) */
.st-section-block__body p,
.st-section-block__body ul,
.st-section-block__body ol,
.st-section-block__body li {
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}
.st-section-block__body p { margin: 0 0 var(--st-space-4); }
.st-section-block__body p:last-child { margin-bottom: 0; }
.st-section-block__body ul,
.st-section-block__body ol {
	margin: 16px 0 var(--st-space-4);
	padding-left: var(--st-space-6);
}
.st-section-block__body li { margin-bottom: var(--st-space-3); }
.st-section-block__body strong { color: var(--st-color-text); font-weight: 700; }
.st-section-block__body a { color: var(--st-color-primary); }

/* ═══════════════════════════════════════════════════════════════════
   Bloc équipe - grid desktop, carousel mobile
   Scope : .st-team__grid .speakers (n'affecte pas l'accueil)
   ═══════════════════════════════════════════════════════════════════ */
.st-team {
	scroll-margin-top: 100px;
}
.st-team__grid .speakers {
	padding: 0 !important;
	display: block;
}

/* Desktop : on force le grid, Swiper est inactif (destroy) */
.st-team__grid .st-team__swiper .swiper-wrapper {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	transform: none !important;
	width: 100% !important;
}
.st-team__grid .st-team__swiper .swiper-slide {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}
.st-team__grid .st-team__swiper .swiper-pagination {
	display: none;
}

/* Mobile : Swiper est activé, le wrapper redevient flex, les slides ont une largeur calculée */
.st-team__grid .st-team__swiper--active .swiper-wrapper {
	display: flex !important;
	grid-template-columns: none !important;
	gap: 0 !important;
}
.st-team__grid .st-team__swiper--active .swiper-slide {
	width: auto !important;
	flex-shrink: 0 !important;
}
.st-team__grid .st-team__swiper--active .swiper-pagination {
	display: block;
	position: relative;
	margin-top: 16px;
	bottom: auto;
}
.st-team__grid .st-team__swiper--active .swiper-pagination-bullet-active {
	background: var(--st-color-primary);
}

/* Navigation prev/next : cachées en desktop (grid mode), visibles en carousel mobile */
.st-team__grid .st-team__swiper .swiper-button-prev,
.st-team__grid .st-team__swiper .swiper-button-next {
	display: none !important;
}
.st-team__grid .st-team__swiper--active .swiper-button-prev,
.st-team__grid .st-team__swiper--active .swiper-button-next {
	display: flex !important;
	width: 40px !important;
	height: 40px !important;
	background: rgba(255, 255, 255, 0.95) !important;
	border: 1px solid var(--st-color-border) !important;
	border-radius: 50% !important;
	box-shadow: 0 4px 12px rgba(0,0,0,.1) !important;
	color: var(--st-color-primary) !important;
	--swiper-navigation-color: var(--st-color-primary) !important;
	--swiper-navigation-size: 16px !important;
	top: 50% !important;
	margin-top: -100px !important;
	transition: background var(--st-transition-fast), transform var(--st-transition-fast);
	cursor: pointer;
	z-index: 10;
}
.st-team__grid .st-team__swiper--active .swiper-button-prev {
	left: 4px !important;
}
.st-team__grid .st-team__swiper--active .swiper-button-next {
	right: 4px !important;
}
.st-team__grid .st-team__swiper--active .swiper-button-prev::after,
.st-team__grid .st-team__swiper--active .swiper-button-next::after {
	font-size: 14px !important;
	font-weight: 900 !important;
}
.st-team__grid .st-team__swiper--active .swiper-button-prev:hover,
.st-team__grid .st-team__swiper--active .swiper-button-next:hover {
	background: var(--st-color-primary) !important;
	color: #fff !important;
	--swiper-navigation-color: #fff !important;
	transform: scale(1.05);
}
.st-team__grid .st-team__swiper--active .swiper-button-disabled {
	opacity: 0.4 !important;
	pointer-events: none;
}

/* Reset total des styles hérités de .speakers .block pour la fiche formation */
.st-team__grid .speakers .block {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	height: auto !important;
	padding: 0 !important;
	background: #ffffff !important;
	border: 1px solid var(--st-color-border) !important;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	transition: transform var(--st-transition-fast), box-shadow var(--st-transition-fast);
}
.st-team__grid .speakers .block:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* Zone photo : aspect fixe, image ET placeholder SVG */
.st-team__grid .speakers .block img,
.st-team__grid .speakers .block .speaker-thumb,
.st-team__grid .speakers .block .speaker-placeholder {
	position: static !important;
	width: 100% !important;
	height: 280px !important;
	max-width: 100% !important;
	object-fit: cover;
	object-position: center top;
	display: block;
	border-radius: 0 !important;
	top: auto !important;
	right: auto !important;
}

/* Tag de rôle positionné sur la photo */
.st-team__grid .speaker-role-tag {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: 3px 9px;
	background: rgba(255,255,255,.95);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border-radius: 4px;
	color: var(--st-color-primary);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	line-height: 1.5;
	box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
.st-team__grid .speakers .block[data-role="intervenant"] .speaker-role-tag {
	color: var(--st-color-text-subtle);
}

/* Zone texte sous la photo */
.st-team__grid .speakers .block .name {
	display: block !important;
	padding: 16px 18px 4px !important;
	max-width: 100% !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--st-color-text) !important;
	line-height: var(--st-lh-snug) !important;
	text-align: left !important;
	margin: 0 !important;
	position: static !important;
}
.st-team__grid .speakers .block .name > span {
	display: inline !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit !important;
}
.st-team__grid .speakers .block .name > span:after {
	content: " ";
}

/* Lien "Découvrir le portrait →" */
.st-team__grid .speakers .block > a {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 6px 18px 18px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--st-color-primary) !important;
	text-decoration: none !important;
	align-self: flex-start;
	transition: gap var(--st-transition-fast);
	bottom: auto !important;
}
.st-team__grid .speakers .block > a::after {
	content: "→";
	font-size: 14px;
	transition: transform var(--st-transition-fast);
}
.st-team__grid .speakers .block > a:hover {
	color: var(--st-color-primary-dark) !important;
	gap: 10px;
}
.st-team__grid .speakers .block > a:hover::after {
	transform: translateX(2px);
}

/* Responsive : 3 large desktop → 2 medium/tablet → carousel mobile */
@media (max-width: 1280px) {
	.st-team__grid .st-team__swiper .swiper-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	/* Au <= 640px, Swiper prend le relais via .st-team__swiper--active */
	.st-team__grid .st-team__swiper:not(.st-team__swiper--active) .swiper-wrapper {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 480px) {
	.st-team__grid .speakers .block img,
	.st-team__grid .speakers .block .speaker-thumb,
	.st-team__grid .speakers .block .speaker-placeholder {
		height: 240px !important;
	}
	.st-team__grid .speakers .block .name {
		font-size: 16px !important;
		padding: 14px 14px 4px !important;
	}
	.st-team__grid .speakers .block > a {
		padding: 4px 14px 14px !important;
	}
}
@media (max-width: 480px) {
	.st-team__grid .speakers .block img,
	.st-team__grid .speakers .block .speaker-thumb,
	.st-team__grid .speakers .block .speaker-placeholder {
		height: 240px !important;
	}
	.st-team__grid .speakers .block .name {
		font-size: 16px !important;
		padding: 14px 14px 4px !important;
	}
	.st-team__grid .speakers .block > a {
		padding: 4px 14px 14px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   CONTACT CARD (dans le contenu)
   ═══════════════════════════════════════════════════════════════════ */

.st-contact-card {
	display: flex;
	align-items: flex-start;
	gap: var(--st-space-5);
	background: linear-gradient(135deg, var(--st-color-primary-soft) 0%, var(--st-color-primary-light) 100%);
	border: 1px solid var(--st-color-primary-border);
	border-radius: var(--st-radius-xl);
	padding: var(--st-space-6);
	box-shadow: 0 4px 16px rgba(246,69,34,.08);
}
.st-contact-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	background: var(--st-color-primary);
	color: #fff;
	border-radius: 50%;
	flex-shrink: 0;
	box-shadow: 0 3px 8px rgba(246,69,34,.25);
}
.st-contact-card__icon .docto-lucide {
	width: 26px !important;
	height: 26px !important;
	stroke-width: 2.2;
}
.st-contact-card__body {
	flex: 1;
	min-width: 0;
}
/* Override spécificité du thème sur #page-trainings #page-une-formation h3 */
#page-trainings #page-une-formation h3 {
	font-size: 28px;
}
#page-trainings #page-une-formation .st-contact-card__title,
.st-contact-card__title {
	font-size: var(--st-fs-xl) !important;
	font-weight: 700 !important;
	color: var(--st-color-text) !important;
	margin: 0 0 var(--st-space-1) !important;
	padding: 0 !important;
	line-height: var(--st-lh-snug) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	border: none !important;
	background: transparent !important;
}
.st-contact-card__text {
	font-size: var(--st-fs-base);
	color: var(--st-color-text-muted);
	margin: 0 0 var(--st-space-4);
	line-height: var(--st-lh-normal);
}
.st-contact-card__actions {
	display: flex;
	gap: var(--st-space-3);
	flex-wrap: wrap;
	align-items: center;
}

/* Bouton téléphone + bouton rappel : même shape, couleurs différentes */
.st-contact-card__phone,
.st-contact-card .st-btn.docto-open-rappel,
.st-contact-card .docto-open-rappel {
	display: inline-flex !important;
	align-items: center !important;
	gap: var(--st-space-2) !important;
	padding: 10px 16px !important;
	border-radius: var(--st-radius-md) !important;
	font-weight: 700 !important;
	font-size: var(--st-fs-base) !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	font-family: inherit !important;
	cursor: pointer;
	height: auto !important;
	--height: auto !important;
	box-sizing: border-box !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	transition: all var(--st-transition-fast);
	border: 1px solid var(--st-color-primary-border);
}

/* Téléphone : outline orange (fond blanc, texte orange) */
.st-contact-card__phone {
	background: var(--st-color-bg) !important;
	color: var(--st-color-primary) !important;
}
.st-contact-card__phone:hover {
	background: var(--st-color-primary) !important;
	color: #fff !important;
	border-color: var(--st-color-primary) !important;
}

/* Rappel : fill orange (fond orange, texte blanc) */
.st-contact-card .st-btn.docto-open-rappel,
.st-contact-card .docto-open-rappel {
	background: var(--st-color-primary) !important;
	color: #fff !important;
	border-color: var(--st-color-primary) !important;
	box-shadow: 0 2px 6px rgba(246,69,34,.25) !important;
}
.st-contact-card .st-btn.docto-open-rappel:hover,
.st-contact-card .docto-open-rappel:hover {
	background: var(--st-color-primary-dark) !important;
	border-color: var(--st-color-primary-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(246,69,34,.35) !important;
}
.st-contact-card .st-btn.docto-open-rappel::after,
.st-contact-card .docto-open-rappel::after {
	display: none !important;
	content: none !important;
}

.st-contact-card__phone .docto-lucide,
.st-contact-card .docto-open-rappel .docto-lucide {
	width: 16px !important;
	height: 16px !important;
}

.st-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--st-space-2);
	padding: 10px 22px;
	background: var(--st-color-primary);
	color: #fff;
	border: none;
	border-radius: var(--st-radius-md);
	font-weight: 700;
	font-size: var(--st-fs-base);
	font-family: inherit;
	cursor: pointer;
	line-height: 1.4;
	box-shadow: 0 2px 6px rgba(246,69,34,.25);
	transition: background var(--st-transition-fast), transform var(--st-transition-fast), box-shadow var(--st-transition-fast);
	text-decoration: none;
}
.st-btn:hover,
.st-btn:focus {
	background: var(--st-color-primary-dark);
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(246,69,34,.35);
}
.st-btn::after { display: none !important; }
.st-btn--ghost {
	background: var(--st-color-bg);
	color: var(--st-color-text);
	border: 1px solid var(--st-color-border);
	box-shadow: none;
}
.st-btn--ghost:hover {
	background: var(--st-color-bg-soft);
	color: var(--st-color-text) !important;
	border-color: var(--st-color-text-faint);
	box-shadow: none;
}

/* Si sticky CTA présent, padding-bottom pour éviter que le footer soit caché */
body.single-trainings {
	padding-bottom: 80px;
}
@media (max-width: 640px) {
	body.single-trainings { padding-bottom: 72px; }
}

/* ═══════════════════════════════════════════════════════════════════
   STICKY CTA - visible desktop + mobile, bandeau bas de page
   ═══════════════════════════════════════════════════════════════════ */

.st-sticky-cta {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #ffffff !important;
	border-top: 1px solid #e5e7eb;
	box-shadow: 0 -4px 20px rgba(0,0,0,.08);
	z-index: 999;
	padding: 16px;
	transform: translateY(100%);
	transition: transform .3s ease;
}
.st-sticky-cta.is-visible {
	transform: translateY(0);
}
.st-sticky-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-width: 1500px;
	margin-inline: auto;
	padding-right: 54px; /* place pour whatsapp */
}
.st-sticky-cta__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	line-height: 1.2;
	overflow: hidden;
}
.st-sticky-cta__title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 0;
}
.st-sticky-cta__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	color: #6b7280 !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.st-sticky-cta__price {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
}
.st-sticky-cta__next {
	font-size: 13px !important;
	color: #6b7280 !important;
}

/* Bouton du sticky : aligné sur le bouton du bloc suscription aside */
.st-sticky-cta a.st-btn,
.st-sticky-cta .st-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
	padding: 14px 28px !important;
	min-width: 220px;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	height: auto !important;
	--height: auto !important;
	white-space: nowrap;
	background: #F64522 !important;
	background-color: #F64522 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(246,69,34,.25) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-family: inherit !important;
	transition: background .15s ease, transform .15s ease;
}
.st-sticky-cta a.st-btn:hover,
.st-sticky-cta a.st-btn:focus,
.st-sticky-cta .st-btn:hover,
.st-sticky-cta .st-btn:focus {
	background: #d93a1a !important;
	background-color: #d93a1a !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}
.st-sticky-cta a.st-btn::after,
.st-sticky-cta .st-btn::after {
	display: none !important;
	content: none !important;
}

/* Version mobile */
@media (max-width: 768px) {
	.st-sticky-cta {
		padding: 10px 12px;
	}
	.st-sticky-cta__inner {
		gap: 10px;
		padding-right: 54px;
	}
	.st-sticky-cta__info {
		gap: 2px;
	}
	.st-sticky-cta__title {
		font-size: 13px !important;
	}
	.st-sticky-cta__meta {
		font-size: 12px;
		gap: 8px;
	}
	.st-sticky-cta__price {
		font-size: 16px !important;
	}
	.st-sticky-cta__next {
		font-size: 11px !important;
	}
	.st-sticky-cta a.st-btn,
	.st-sticky-cta .st-btn {
		padding: 10px 16px !important;
		font-size: 13px !important;
		min-width: 0;
		flex-shrink: 0;
	}
	a.whatsapp-bottom { bottom: 80px !important; }
}

/* Très petit écran : titre caché, n'affiche que prix + CTA */
@media (max-width: 480px) {
	.st-sticky-cta {
		padding: 10px;
	}
	.st-sticky-cta__inner {
		padding-right: 50px;
		gap: 8px;
	}
	.st-sticky-cta__title {
		display: none;
	}
	.st-sticky-cta__meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
	.st-sticky-cta__next {
		font-size: 10px !important;
	}
	.st-sticky-cta a.st-btn,
	.st-sticky-cta .st-btn {
		padding: 10px 14px !important;
		font-size: 12px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   4. RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */

/* Desktop : hero en 2 colonnes, TOC visible */
@media (min-width: 960px) {
	.st-hero__layout {
		grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.65fr);
		gap: 80px;
	}
}

/* Mobile / tablet */
@media (max-width: 1024px) {
	.st-content__layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.st-toc { display: none; }
	.st-benefits__grid { grid-template-columns: repeat(2, 1fr); gap: var(--st-space-5); }
	.st-hero__bref { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.st-hero__bref-item {
		border-right: none;
		border-bottom: 1px solid var(--st-color-border);
	}
	.st-hero__bref-item:nth-child(2n) { border-right: none; }
	.st-hero__bref-item:nth-last-child(-n+2) { border-bottom: none; }
}

@media (max-width: 768px) {
	a.whatsapp-bottom { bottom: 80px !important; }
	.st-urgency__inner { gap: var(--st-space-3); }
	.st-benefits__grid { grid-template-columns: 1fr; }
	.st-benefit { padding: var(--st-space-5); }
	.st-contact-card {
		flex-direction: column;
		text-align: center;
		padding: var(--st-space-6) var(--st-space-5);
	}
	.st-contact-card__icon { margin-inline: auto; }
	.st-contact-card__actions { justify-content: center; }
	.st-section-block__title { font-size: var(--st-fs-xl); }
	.st-section-block__icon {
		width: 34px; height: 34px;
	}
	.st-section-block__icon .docto-lucide {
		width: 18px !important; height: 18px !important;
	}
}

@media (max-width: 560px) {
	.st-hero__trust { gap: var(--st-space-3); flex-direction: column; align-items: flex-start; }
	.st-hero__bref { grid-template-columns: 1fr; }
	.st-hero__bref-item { border-right: none; border-bottom: 1px solid var(--st-color-border); }
	.st-hero__bref-item:last-child { border-bottom: none; }
	.st-hero__media { border-radius: var(--st-radius-2xl); }
	.st-contact-card__actions { flex-direction: column; width: 100%; }
	.st-contact-card__phone,
	.st-contact-card__cta { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════
   PROGRAMME - modules structurés
   ═══════════════════════════════════════════════════════════════════ */
.st-programme-module {
	margin-bottom: var(--st-space-12);
}
.st-programme-module:last-child { margin-bottom: 0; }
.st-programme-module__title {
	font-size: 17px;
	font-weight: 700;
	color: var(--st-color-text);
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--st-color-primary);
	display: inline-block;
}
.st-programme-module__items {
	list-style: none;
	padding: 0;
	margin: 0;
}
.st-programme-module__items li {
	padding: 6px 0;
	color: var(--st-color-text);
	line-height: var(--st-lh-relaxed);
}
.st-programme-module__items li strong,
.st-programme-module__items li b {
	color: var(--st-color-text);
	font-weight: 700;
}
.st-programme-module__items li a {
	color: var(--st-color-primary);
	text-decoration: underline;
}

/* ═══════════════════════════════════════════════════════════════════
   PARTENAIRES
   ═══════════════════════════════════════════════════════════════════ */
.st-partners-text {
	margin-bottom: 24px;
	color: var(--st-color-text);
	line-height: var(--st-lh-relaxed);
}
.st-partners-logos {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}
.st-partners-logo {
	background: var(--st-color-bg-soft);
	border: 1px solid var(--st-color-border);
	border-radius: var(--st-radius-md);
	padding: 14px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
	max-width: 180px;
	transition: border-color var(--st-transition-fast), transform var(--st-transition-fast);
}
.st-partners-logo:hover {
	border-color: var(--st-color-primary-border);
	transform: translateY(-2px);
}
.st-partners-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.st-partners-logo img {
	max-width: 140px;
	max-height: 60px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* ═══════════════════════════════════════════════════════════════════
   TEAM - note additionnelle sous les cards
   ═══════════════════════════════════════════════════════════════════ */
.st-team__note {
	margin-top: 18px;
	padding: 14px 18px;
	background: var(--st-color-bg-soft);
	border-left: 3px solid var(--st-color-primary);
	border-radius: var(--st-radius-sm);
	font-size: var(--st-fs-base);
	color: var(--st-color-text-muted);
	line-height: var(--st-lh-relaxed);
	font-style: italic;
}
.st-team__note p { margin: 0 0 8px; }
.st-team__note p:last-child { margin-bottom: 0; }
