/* =========================================================
   CHRIS BOXE — Thème enfant Blocksy — Feuille de style
   Palette   : navy #08224B / rouge #E61717
   Typos     : Bebas Neue (titres) + Oswald (sous-titres/CTA) + Inter (body)
   Container : 1280px
   ========================================================= */

/* ---------- Tokens ---------- */
:root {
	--cb-navy: #08224B;
	--cb-navy-deep: #051636;
	--cb-red: #E61717;
	--cb-red-dark: #B50F0F;
	--cb-gold: #F4A261;
	--cb-white: #FFFFFF;
	--cb-offwhite: #F8F9FA;
	--cb-gray-light: #E9ECEF;
	--cb-gray: #6C757D;
	--cb-gray-dark: #343A40;
	--cb-radius: 15px;
	--cb-shadow-sm: 0 2px 8px rgba(8, 34, 75, 0.08);
	--cb-shadow: 0 8px 24px rgba(8, 34, 75, 0.12);
	--cb-shadow-lg: 0 16px 48px rgba(8, 34, 75, 0.18);

	/* Remap Blocksy tokens sur notre palette */
	--theme-palette-color-1: var(--cb-red);
	--theme-palette-color-2: var(--cb-red-dark);
	--theme-palette-color-3: var(--cb-gray-dark);
	--theme-palette-color-4: var(--cb-navy);
	--theme-palette-color-5: var(--cb-gray-light);
	--theme-palette-color-6: var(--cb-offwhite);
	--theme-palette-color-7: var(--cb-white);
	--theme-palette-color-8: var(--cb-gray);
}

/* ---------- Typographie globale ---------- */
body,
body.chris-boxe {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--cb-gray-dark);
	line-height: 1.6;
	background: var(--cb-white);
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--cb-navy);
	line-height: 1.1;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* h1 { font-size: clamp(44px, 6vw, 84px); } */
/* h2 { font-size: clamp(34px, 4.2vw, 50px); }
 */
h3 {
	font-weight: 600;
	font-size: clamp(18px, 1.5vw, 22px);
}
h4 {
	font-weight: 600;
	font-size: 18px;
}

p { margin: 0 0 1rem; }
a { color: var(--cb-red); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--cb-red-dark); }

.eyebrow,
.cb-eyebrow {
	font-size: 16px;
	letter-spacing: 1px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--cb-red);
	display: flex;
	align-items: center;
	justify-content: center;
  gap: 10px;
}

.cb-eyebrow-price{
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cb-red);
	display: flex;
	align-items: center;
	justify-content: left;
	gap: 10px;
	margin-bottom: 8px;
}

.cb-eyebrow-price::before,
.cb-eyebrow::before,
.cb-eyebrow::after {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background-color: currentColor;
}

/* ---------- HEADER ---------- */
.ct-header [data-row="top"] {
	background: var(--cb-navy-deep);
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.5px;
}
.ct-header [data-row="middle"] {
	background: rgba(8, 34, 75, 0.96);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.ct-header [data-row="middle"] .ct-main-menu > li > a,
.header-menu a {
	color: var(--cb-white);
	text-transform: uppercase;
	/* font-family: 'Oswald', sans-serif; */
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
}
.ct-header [data-row="middle"] .ct-main-menu > li > a:hover,
.ct-header [data-row="middle"] .ct-main-menu > li.current-menu-item > a {
	color: var(--cb-red);
}

.ct-icon-container svg {
	fill: #CBCCCF;
    transition: var(--theme-icon-transition, fill 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955));
}

/* ---------- Boutons ---------- */
.ct-button,
.wp-block-button__link,
.btn-primary,
.button:not(.ct-media-container button) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	background: var(--cb-red);
	/* color: var(--cb-white) !important; */
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0px;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
	border-radius: var(--cb-radius);
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: 0 4px 12px rgba(230, 23, 23, 0.25);
}
.ct-button:hover,
.wp-block-button__link:hover,
.btn-primary:hover,
.button:not(.ct-media-container button):hover {
	background: var(--cb-red-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}

.is-style-outline .wp-block-button__link,
.btn-outline {
	background: transparent;
	/* color: var(--cb-white) !important; */
	border: 2px solid var(--cb-white);
	box-shadow: none;
}
.is-style-outline .wp-block-button__link:hover,
.btn-outline:hover {
	background: var(--cb-white);
	color: var(--cb-navy) !important;
}

.white-btn a{

}

/* ---------- HERO ---------- */
.cb-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	color: var(--cb-white);
	overflow: hidden;
	background: var(--cb-navy);
}
.cb-hero__slider { position: absolute; inset: 0; z-index: 1; }
.cb-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	animation: cbSlideShow 18s infinite;
	background-size: cover;
	background-position: center;
}
.cb-hero__slide::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg,
		rgba(8, 34, 75, 0.85) 0%,
		rgba(8, 34, 75, 0.65) 50%,
		rgba(8, 34, 75, 0.75) 100%);
}
.cb-hero__slide:nth-child(1) { animation-delay: 0s; }
.cb-hero__slide:nth-child(2) { animation-delay: 6s; }
.cb-hero__slide:nth-child(3) { animation-delay: 12s; }

@keyframes cbSlideShow {
	0%, 30% { opacity: 1; transform: scale(1); }
	35%, 95% { opacity: 0; transform: scale(1.05); }
	100% { opacity: 0; }
}

.cb-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
	padding: 0 24px;
}
.cb-hero__badge {
	color: var(--cb-red);
	/* font-family: 'Inter', sans-serif; */
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 24px;
}
.cb-hero__title {
	color: var(--cb-white);
	font-size: clamp(48px, 7vw, 84px);
	line-height: 1.05;
	letter-spacing: 1px;
	margin-bottom: 16px;
}
.cb-hero__title--accent { color: var(--cb-red); }
.cb-hero__subtitle {
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: 24px;
}
.cb-hero__desc {
	font-size: 18px;
	line-height: 1.7;
	max-width: 620px;
	margin: 0 auto 40px;
	opacity: 0.92;
}
.cb-hero__ctas {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ---------- Sections ---------- */
.cb-section {
	padding: 100px 0;
	position: relative;
}
.cb-section--navy {
	background: var(--cb-navy);
	color: var(--cb-white);
}
.cb-section--navy h1,
.cb-section--navy h2,
.cb-section--navy h3 { color: var(--cb-white); }
.cb-section--offwhite { background: var(--cb-offwhite); }
.cb-section__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 60px;
}
.cb-section__head h2 { margin-bottom: 16px; }
.cb-section__head p { color: var(--cb-gray); font-size: 18px; }

/* ---------- Cartes avantages ---------- */
.cb-grid-avantages {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px;
}
.cb-card-avantage {
	background: var(--cb-white);
	border-radius: var(--cb-radius);
	padding: 32px 20px;
	text-align: center;
	border: 1px solid var(--cb-gray-light);
	transition: all 0.3s ease;
}
.cb-card-avantage:hover {
	transform: translateY(-6px);
	box-shadow: var(--cb-shadow);
	border-color: var(--cb-red);
}
.cb-card-avantage__icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 20px;
	color: var(--cb-navy);
	transition: color 0.3s ease;
}
.cb-card-avantage:hover .cb-card-avantage__icon { color: var(--cb-red); }
.cb-card-avantage h3 { margin-bottom: 8px; }
.cb-card-avantage p { color: var(--cb-gray); font-size: 14px; margin: 0; }

/* ---------- Cartes tarifs ---------- */
.cb-grid-tarifs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.cb-card-tarif {
	background: var(--cb-white);
	/* color: var(--cb-navy); */
	border-radius: var(--cb-radius);
	padding: 40px 28px;
	position: relative;
	transition: all 0.3s ease;
	border: 2px solid rgba(0,0,0,0);
}
.cb-card-tarif:hover {
	transform: translateY(-4px);
	border: 2px solid var(--cb-red) !important;
	background:#e617171a !important;
}
.cb-card-tarif--featured { border-color: var(--cb-red); }
.cb-card-tarif--featured::before {
	content: 'Recommandé';
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--cb-red);
	color: var(--cb-white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 6px 16px;
	border-radius: 4px;
}
.cb-card-tarif__price {
	font-size: 62px;
	line-height: 1;
	color: var(--cb-red);
	margin: 16px 0;
}
.cb-card-tarif__unit {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--cb-gray);
}
.cb-grid-tarifs h3{ 
	font-size:24px; 
	color:var(--cb-offwhite);
	font-weight: 900;
}
.cb-card-tarif ul {
  list-style: none;
  padding-left: 0;
}

.cb-card-tarif ul li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.cb-card-tarif ul li::before {
  content: "→";
  color: #ff2a2a;
  font-weight: bold;
  margin-top: 2px;
}

/* ---------- Vidéos ---------- */
.cb-grid-videos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 280px;
	gap: 20px;
}
.cb-card-video {
	position: relative;
	border-radius: var(--cb-radius);
	overflow: hidden;
	cursor: pointer;
	background: var(--cb-navy);
}
.cb-card-video--hero {
	grid-row: span 2;
}
.cb-card-video::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 40%, rgba(8,34,75,0.85));
	z-index: 2;
	pointer-events: none;
}
.cb-card-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 72px;
	height: 72px;
	background: rgba(230, 23, 23, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	transition: all 0.3s ease;
}
.cb-card-video:hover .cb-card-video__play {
	transform: translate(-50%, -50%) scale(1.1);
	box-shadow: 0 0 40px rgba(230, 23, 23, 0.6);
}
/* ---- Salles partenaires ---- */
.salles-partners{
	border-radius: 20px;
}
.salles-partners p{
text-transform: uppercase;
color: var(--wp--preset--color--palette-color-1);
font-weight: 900;

}
.salles-partners h3{
color: #fff;
}

/* ---------- Insta ---------- */
.cb-stars { color: var(--cb-gold); letter-spacing: 2px; font-size: 20px; }
.feed-wrapper {
  position: relative;
  overflow: hidden;
}

/* Dégradé blanc */
.feed-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 320px;
  background: linear-gradient(
    to bottom,
    rgba(248,249,250,0) 0%,
    rgba(248,249,250,0.7) 50%,
    rgba(248,249,250,1) 100%
  );
  pointer-events: none;
}

/* Bouton */
.feed-cta-gp{
	z-index:999
}
.feed-cta {
  position: absolute;
  left: 50%;
  bottom: 20px; /* position dans le dégradé */
  transform: translateX(-50%);
  z-index: 999;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  transition: all 0.2s ease;
}
/* Votre Coach*/
.methode-step::before {
    counter-increment: step;
    content: counter(step, decimal-leading-zero);
    position: absolute;
    top: -18px;
    left: 22px;
    background: var(--theme-palette-color-1);
    color: white;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 24px;
    padding: 4px 14px;
    letter-spacing: 2px;
    border-radius: 2px;
}
.methode {
counter-reset: step;
}
/* ---------- Actualités ---------- */
.blog h2.entry-title, .single-post h2{
	font-size:20px;
	text-transform: none;
}
.blog h2,.single-post h2{
	font-size:24px;
	text-transform: none !important;
}
.blog h3, .single-post h2{
	font-size:18px;
	text-transform: none !important;
}

/* ---------- Footer ---------- */
.ct-footer {
	background: var(--cb-navy);
	color: var(--cb-white);
}
.ct-footer a { color: rgba(255,255,255,0.75); }
.ct-footer a:hover { color: var(--cb-red); }
.ct-footer h4 {
	color: var(--cb-white);
	/* font-family: 'Oswald', sans-serif; */
	font-size: 14px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 2px;
	margin-bottom: 15px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.cb-grid-avantages { grid-template-columns: repeat(3, 1fr); }
	.cb-grid-tarifs { grid-template-columns: repeat(2, 1fr); }
	.cb-grid-videos { grid-template-columns: repeat(2, 1fr); }
	.cb-section { padding: 80px 0; }
}
@media (max-width: 768px) {
  .home .ct-iconbox,
  .home .stk-block-icon-box,
  .home .wp-block-stackable-icon-box {
    min-height: auto !important;
    height: auto !important;
    padding: 24px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 16px !important;
  }

  .home .ct-iconbox img,
  .home .stk-block-icon-box img,
  .home .wp-block-stackable-icon-box img {
    margin: 0 0 12px 0 !important;
  }

  .home .ct-iconbox h3,
  .home .ct-iconbox p,
  .home .stk-block-icon-box h3,
  .home .stk-block-icon-box p,
  .home .wp-block-stackable-icon-box h3,
  .home .wp-block-stackable-icon-box p {
    margin: 0 !important;
    transform: none !important;
    position: static !important;
  }
}
@media (max-width: 640px) {
	.cb-grid-avantages,
	.cb-grid-tarifs,
	.cb-grid-videos { grid-template-columns: 1fr; }
	.cb-hero { min-height: 80vh; }
	.cb-section { padding: 60px 0; }

	
}

/* ---------- Utilitaires ---------- */
.cb-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.cb-text-center { text-align: center; }
.cb-text-red { color: var(--cb-red); }
.cb-text-white { color: var(--cb-white); }
.cb-bg-navy { background: var(--cb-navy); color: var(--cb-white); }
.cb-bg-offwhite { background: var(--cb-offwhite); }


/* === Chris Boxe — overrides via Customizer === */

/* Boutons pills cohérents partout */
.wp-block-button__link,
.ct-button,
.btn-primary,
.button:not(.ct-media-container button) {
  border-radius: 999px !important;
  padding: 14px 36px !important;
}

.wp-block-button__link {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0px;
  text-transform: uppercase;
}

/* "DE COMBAT" — dégradé rouge avec transparence façon maquette XD */
.cb-hero h1 strong,
.cb-hero h1 .has-inline-color,
.wp-block-cover h1 strong,
.wp-block-cover h1 .has-inline-color,
.wp-block-cover h1 span[style*="color"] {
  background: linear-gradient(90deg,
    #FF2A2A 0%,
    #E61717 45%,
    #670000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent !important;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.35));
  display: inline-block;
}


/* Portfolio : transformer la description en titre sur l’image */
.wp-block-gallery figure,
.wp-block-image,
.wp-block-video,
figure {
  position: relative;
}

/* Description / légende sous l’image */
#portfolio .wp-block-gallery figcaption,
#portfolio .wp-block-image figcaption,
figure figcaption {
  position: absolute;
  left: 15px;
  bottom: 15px;
  z-index: 5;
  margin: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.5px;
  line-height: 1.1;
}

/* Fond sombre en bas de chaque visuel */
#portfolio .wp-block-gallery figure::after,
#portfolio .wp-block-image::after, #portfolio figure::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 45%;
  background: linear-gradient(to top, rgba(8, 20, 55, 0.95), transparent);
  z-index: 2;
  pointer-events: none;
}

/* Encadré rouge autour du mot en gras */
figcaption strong {
    display: table;
    background: #e3342f;
    color: #fff;
    padding: 6px 14px;
    margin-bottom: 5px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 2px;
}


/* FAQ Accordéon */
.schema-faq {
  display: grid;
  gap: 18px;
  max-width: 920px;
  margin: 0 auto;
}

.schema-faq-section {
  background: #fff;
  border-left: 5px solid #e50914;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.04);
  transition: all 0.25s ease;
}

.schema-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 30px 38px;
  color: #071f4a;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3;
  position: relative;
}

/* Icône + */
.schema-faq-question::after {
  content: "+";
  font-size: 32px;
  font-weight: 300;
  color: #e50914;
  transition: transform 0.25s ease;
}

/* Réponse cachée */
.schema-faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 38px;
  font-size: 20px;
  line-height: 1.7;
  color: #2d3138;
  transition:
    max-height 0.35s ease,
    opacity 0.25s ease,
    padding 0.25s ease;
	margin:0
}

/* État ouvert */
.schema-faq-section.active .schema-faq-answer {
  max-height: 300px;
  opacity: 1;
  padding: 0 38px 30px;
}

.schema-faq-section.active .schema-faq-question::after {
  content: "−";
}

/* Hover */
.schema-faq-section:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 35px rgba(0,0,0,0.08);
}

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

  .schema-faq-question {
    font-size: 20px;
    padding: 24px;
  }

  .schema-faq-answer {
    font-size: 17px;
    padding: 0 24px;
  }

  .schema-faq-section.active .schema-faq-answer {
    padding: 0 24px 24px;
  }
}


/*---- FORMULAIRE ----*/
form input,
form select,
form textarea {

}

form input::placeholder,
form textarea::placeholder {
}

form select {

}
form label, form p {
color:var(--cb-navy);
}

form p,
form .wpforms-field,
form .wpcf7-form-control-wrap {
  margin-bottom:0px !important;
}

form textarea {
  min-height: 150px !important;
  resize: vertical;
}

form input:focus,
form select:focus,
form textarea:focus {
  border-color: #ffffff !important;
  background: rgba(255,255,255,0.08) !important;
  outline: 2px solid #0063ff !important;
}

form input[type="submit"],
form button[type="submit"] {
  width: auto !important;
  background: #f21b1b !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 10px 25px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  cursor: pointer;
  margin-top:15px;
}

form input[type="submit"]:hover,
form button[type="submit"]:hover {
  background: #d91414 !important;
}

/* Ligne RGPD */
form + p,
.rgpd,
.form-rgpd {
  font-size: 22px !important;
  font-weight: 400 !important;
}

@media (max-width: 768px) {
  form label {
    font-size: 18px !important;
  }

  form input,
  form select,
  form textarea {
    font-size: 16px !important;
    padding: 5px 18px !important;
  }

  form textarea {
    min-height: 180px !important;
  }

  form input[type="submit"],
  form button[type="submit"] {
    font-size: 16px !important;
    padding: 14px 28px !important;
  }
}




/* =========================================================
   CORRECTIF RESPONSIVE MOBILE — Chris Boxe
   À COLLER EN FIN DE theme.css (thème enfant Blocksy)
   Date : 2026-06-03
   Testé en live à 390px (iPhone) sur toutes les pages.
   Problèmes corrigés :
   1. H1 jusqu'à 60px sur mobile -> coupure en plein mot ("IMMERSIO/N")
   2. H2 figé à 50px -> titres trop gros, multi-lignes envahissantes
   3. Portfolio : vignettes vidéo 2 colonnes -> bouton play masquait
      les légendes/badges sur petites cartes
   4. Sécurité anti-scroll horizontal + césures de mots propres
   ========================================================= */

/* ---- Titres fluides + pas de coupure en plein mot ---- */
@media (max-width: 781px) {
	html, body { overflow-x: hidden; max-width: 100%; }

	h1, h2, h3, h4,
	.wp-block-heading,
	.cb-hero__title,
	.cb-section__head h2 {
		overflow-wrap: normal;
		word-break: normal;
		-webkit-hyphens: none;
		hyphens: none;
	}

	/* H1 : de ~60px à une taille fluide lisible */
	h1, .cb-hero__title {
		font-size: clamp(32px, 9vw, 48px) !important;
		line-height: 1.1 !important;
		letter-spacing: 0.5px;
	}

	/* H2 : du 50px figé à une échelle mobile */
	h2, .cb-section__head h2 {
		font-size: clamp(26px, 7vw, 34px) !important;
		line-height: 1.15 !important;
	}

	/* H3 : léger ajustement */
	h3 {
		font-size: clamp(17px, 4.6vw, 20px) !important;
		line-height: 1.25 !important;
	}

	/* Badge "Recommandé" : ne jamais couper le mot */
	p.has-palette-color-1-background-color.has-background {
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		width: auto !important;
		max-width: none !important;
	}
}

/* ---- Portfolio : vidéos en 1 colonne sur mobile ---- */
@media (max-width: 600px) {
	/* Galeries natives WP empilées */
	.wp-block-gallery.has-nested-images {
		display: flex !important;
		flex-direction: column !important;
		gap: 14px !important;
	}
	.wp-block-gallery.has-nested-images > figure {
		width: 100% !important;
		margin: 0 !important;
	}
	.wp-block-gallery.has-nested-images > figure img {
		width: 100% !important;
	}

	/* Grille de blocs "Video Popup" (Stackable) -> 1 colonne pleine
	   largeur + espacement uniforme (le play ne masque plus le texte) */
	.wp-block-group.is-layout-grid:has(.wp-block-stackable-video-popup) {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
	}
	.wp-block-group.is-layout-grid:has(.wp-block-stackable-video-popup) > * {
		margin: 0 !important;
	}
}


/* =========================================================
   ITÉRATION 2 — retours mobile (FAQ, formulaire, alignement,
   boutons 1 ligne)
   ========================================================= */
@media (max-width: 781px) {

	/* ---- Tout le texte aligné à gauche ---- */
	.entry-content h1, .entry-content h2, .entry-content h3,
	.entry-content h4, .entry-content h5, .entry-content h6,
	.entry-content p, .entry-content li,
	.has-text-align-center, .has-text-align-right,
	.cb-section__head, .cb-section__head h2, .cb-section__head p {
		text-align: left !important;
	}
	.cb-eyebrow, .eyebrow { justify-content: flex-start !important; }

	/* Exception : les cartes "avantage" restent centrées (symbole + texte) */
	.cb-card-avantage,
	.cb-card-avantage h1, .cb-card-avantage h2, .cb-card-avantage h3,
	.cb-card-avantage h4, .cb-card-avantage p,
	.cb-card-avantage .has-text-align-center {
		text-align: center !important;
	}
	.cb-card-avantage img,
	.cb-card-avantage .wp-block-image,
	.cb-card-avantage figure {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* ---- Boutons : jamais sur 2 lignes (ex. "Voir sur Insta") ---- */
	.wp-block-button__link, .ct-button,
	.stk-button, .stk-link.stk-button,
	.button:not(.ct-media-container button) {
		white-space: nowrap !important;
	}

	/* ---- FAQ : blocs pleine largeur ----
	   Cause réelle : le groupe parent avait ~81px de padding latéral. */
	.wp-block-group.is-layout-constrained:has(> .schema-faq) {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.schema-faq {
		grid-template-columns: 1fr !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.schema-faq-section { width: 100% !important; }

	/* ---- Footer : 'Votre coach' et 'Services' côte à côte ---- */
	.ct-footer .ct-container:has(> [data-column="widget-area-1"]) {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 12px 24px !important;
	}
	.ct-footer .ct-container:has(> [data-column="widget-area-1"]) > [data-column="text"],
	.ct-footer .ct-container:has(> [data-column="widget-area-1"]) > [data-column="widget-area-3"] {
		grid-column: 1 / -1 !important;
	}

	/* ---- Formulaire contact : UX mobile ---- */
	.wpcf7-form p { margin-bottom: 16px !important; }
	.wpcf7-form label {
		display: block;
		font-size: 15px !important;
		font-weight: 600;
		color: var(--cb-navy);
		margin-bottom: 6px;
	}
	.wpcf7-form input:not([type=submit]):not([type=checkbox]),
	.wpcf7-form select,
	.wpcf7-form textarea {
		width: 100% !important;
		font-size: 16px !important;
		padding: 13px 16px !important;
		border: 1px solid #d0d5dd !important;
		border-radius: 12px !important;
		background: #fff !important;
		color: var(--cb-navy) !important;
	}
	.wpcf7-form input:not([type=submit]):focus,
	.wpcf7-form select:focus,
	.wpcf7-form textarea:focus {
		border-color: var(--cb-red) !important;
		outline: none !important;
		box-shadow: 0 0 0 3px rgba(230, 23, 23, 0.15) !important;
		background: #fff !important;
	}
	.wpcf7-form .wpcf7-acceptance {
		font-size: 14px !important;
		line-height: 1.45 !important;
	}
	.wpcf7-form input[type=submit],
	.wpcf7-form button[type=submit] {
		width: 100% !important;
		font-size: 17px !important;
		padding: 16px !important;
		border-radius: 999px !important;
	}

	/* ---- Cartes tarifs : badge "Recommandé" en coin haut-droit
	   + intitulé du forfait sur une seule ligne ---- */
	.cb-card-tarif { position: relative; }
	.cb-card-tarif p.has-palette-color-1-background-color.has-background {
		position: absolute !important;
		top: 18px;
		right: 18px;
		margin: 0 !important;
		padding: 9px 20px !important;
		z-index: 3;
		width: auto !important;
		white-space: nowrap !important;
	}
	.cb-card-tarif .cb-eyebrow-price { white-space: nowrap !important; }
	.cb-card-tarif:has(p.has-palette-color-1-background-color.has-background) {
		padding-top: 68px !important;
	}

	/* ---- Page "Votre coach" : cartes diplômes plus lisibles
	   (texte agrandi + icône/texte centrés verticalement) ---- */
	body.page-id-26 .wp-block-columns p {
		font-size: 18px !important;
		line-height: 1.4 !important;
	}
	body.page-id-26 .wp-block-columns {
		align-items: center !important;
	}

	/* ---- Accueil : cartes diplômes (icône + libellé) ----
	   Texte agrandi pour remplir le bandeau (était 13px). */
	body.home .wp-block-columns p.has-palette-color-7-color.has-small-font-size {
		font-size: 16px !important;
		line-height: 1.35 !important;
	}
	/* Cartes diplômes : icône et texte centrés verticalement */
	body.home .wp-block-columns.are-vertically-aligned-center {
		align-items: center !important;
	}

	/* ---- Boutons Stackable : retirer le margin-left de preset qui
	   désaligne le bouton sur mobile (spécificité renforcée) ---- */
	.wp-block-stackable-button.stk-block-button {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* ---- Footer : icônes réseaux sociaux centrées + agrandies ---- */
	.ct-footer .ct-social-box {
		justify-content: center !important;
		gap: 20px !important;
	}
	.ct-footer .ct-social-box svg {
		width: 24px !important;
		height: 24px !important;
	}
}

/* =========================================================
   GLOBAL (mobile + desktop)
   ========================================================= */

/* Bouton "Voir sur Insta" : ne doit pas passer au-dessus du menu.
   (était z-index:999, le header est bas) */
.feed-cta,
.feed-cta-gp {
	z-index: 1 !important;
}
