/* ============================================
   MyAI Factory — Style Global
   Fusion de design-system.css + styles page-spécifiques
   ============================================ */

/* WordPress isolation: keep the static mockup reset stronger than Astra/plugin CSS. */
html:has(body.myai-refonte-page) {
  font-size: 100% !important;
}

body.myai-refonte-page .myai-maquette-page,
body.myai-refonte-page .myai-maquette-page * ,
body.myai-refonte-page .myai-maquette-page *::before,
body.myai-refonte-page .myai-maquette-page *::after {
  box-sizing: border-box;
}


body.myai-refonte-page .myai-maquette-page :where(a) {
  color: inherit;
  text-decoration: none;
}

body.myai-refonte-page .myai-maquette-page :where(img) {
  display: block;
  max-width: 100%;
}

body.myai-refonte-page .myai-maquette-page :where(h1, h2, h3, h4, h5, h6, .text-display, .text-h1, .text-h2, .text-h3),
body.myai-refonte-page .entry-content .myai-maquette-page :where(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
  font-family: var(--font-display) !important;
  text-transform: none !important;
}

body.myai-refonte-page .myai-maquette-page :where(p, li, a, span, button, input, textarea, .text-body, .text-body-sm),
body.myai-refonte-page .entry-content .myai-maquette-page :where(p, li, a, span, button, input, textarea) {
  font-family: var(--font-body) !important;
}

body.myai-refonte-page :where(.myai-refonte-header, .myai-refonte-footer),
body.myai-refonte-page :where(.myai-refonte-header, .myai-refonte-footer) * {
  box-sizing: border-box;
}

body.myai-refonte-page :where(.myai-refonte-header, .myai-refonte-footer) :where(a) {
  color: inherit;
  text-decoration: none;
}

body.myai-refonte-page :where(.myai-refonte-header, .myai-refonte-footer) :where(ul, ol) {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.myai-refonte-page :where(.myai-refonte-header, .myai-refonte-footer) {
  font-family: var(--font-body);
}

body.myai-refonte-page :where(.myai-refonte-header, .myai-refonte-footer) .logo {
  font-family: var(--font-display);
  flex-shrink: 0;
  white-space: nowrap;
}

body.myai-refonte-page :where(.myai-refonte-header, .myai-refonte-footer) .logo-image img {
  width: auto;
  height: 42px;
  max-width: 180px;
  object-fit: contain;
}

body.myai-refonte-page .myai-refonte-header .navbar-inner {
  gap: var(--space-lg);
}

body.myai-refonte-page .myai-refonte-header .nav-links {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 1.6vw, var(--space-lg));
  flex: 1;
  justify-content: flex-end;
  min-width: 0;
}

body.myai-refonte-page .myai-refonte-header .nav-links > li {
  position: relative;
  flex-shrink: 1;
}

body.myai-refonte-page .myai-refonte-header .nav-links > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: clamp(0.82rem, 0.9vw, 0.9rem);
  line-height: 1.25;
}

body.myai-refonte-page .myai-refonte-header .nav-links > li:last-child > a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-black);
  color: var(--color-white);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.2rem 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  transition: all var(--duration-normal) var(--ease-spring);
}

body.myai-refonte-page .myai-refonte-header .nav-links > li:last-child > a::after {
  content: "→";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--duration-normal) var(--ease-spring);
}

body.myai-refonte-page .myai-refonte-header .nav-links > li:last-child > a:hover {
  background: var(--color-charcoal);
  transform: scale(0.98);
}

body.myai-refonte-page .myai-refonte-header .nav-links > li:last-child > a:hover::after {
  transform: translate(2px, -1px);
}

body.myai-refonte-page .myai-refonte-header .nav-links .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  padding: 0.9rem 0.8rem 0.8rem;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: 0 14px 36px rgba(0,0,0,0.08);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity var(--duration-fast) var(--ease-out-expo),
              transform var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-page .myai-refonte-header .nav-links li:hover > .sub-menu,
body.myai-refonte-page .myai-refonte-header .nav-links li:focus-within > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

body.myai-refonte-page .myai-refonte-header .nav-links .sub-menu a {
  display: block;
  padding: 0.55rem 0.7rem;
  border-radius: var(--radius-md);
  color: var(--color-gray-700);
  font-size: 0.88rem;
}

body.myai-refonte-page .myai-refonte-header .nav-links .sub-menu a:hover {
  background: var(--color-orange-light);
  color: var(--color-orange);
}

body.myai-refonte-page .myai-refonte-header .nav-links .sub-menu .sub-menu {
  top: -0.9rem;
  left: 100%;
  margin-left: 0;
}

body.myai-refonte-page .myai-refonte-header .nav-mobile-links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body.myai-refonte-page .myai-refonte-header .nav-mobile-links .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-left: 1rem;
}

body.myai-refonte-page .myai-refonte-footer .footer-menu-list {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

body.myai-refonte-page .myai-refonte-footer .footer-contact ul {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

body.myai-refonte-page .myai-maquette-page .wp-block-group,
body.myai-refonte-page .myai-maquette-page .wp-block-columns,
body.myai-refonte-page .myai-maquette-page .wp-block-column,
body.myai-refonte-page .myai-maquette-page .wp-block-image,
body.myai-refonte-page .myai-maquette-page .wp-block-buttons,
body.myai-refonte-page .myai-maquette-page .wp-block-button,
body.myai-refonte-page .myai-maquette-page .wp-block-gallery {
  /*margin-block-start: 0;
  margin-block-end: 0;*/
}

body.myai-refonte-page .myai-maquette-page .wp-block-button__link {
  background: transparent;
  border: 0;
  border-radius: inherit;
  color: inherit;
  font: inherit;
  padding: 0;
  text-transform: none !important;
}

body.myai-refonte-page .myai-maquette-page .wp-block-button:is(.btn-accent, .btn-primary, .btn-secondary) .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: inherit;
}

body.myai-refonte-page .myai-maquette-page .logo a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: inherit;
}

body.myai-refonte-page .myai-maquette-page .wp-block-navigation__container,
body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item,
body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item__content {
  gap: inherit;
  margin: 0;
  padding: 0;
}

body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item.btn-primary {
  padding: 0.9rem 1.8rem;
}

body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item.btn-primary .wp-block-navigation-item__content {
  color: var(--color-white);
}

body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item.nav-cta {
  display: inline-flex !important;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-black) !important;
  color: var(--color-white) !important;
  padding: 0.9rem 1.2rem 0.9rem 1.8rem !important;
  border-radius: var(--radius-full) !important;
  overflow: hidden;
}

body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item.nav-cta::after {
  content: "→";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--duration-normal) var(--ease-spring);
}

body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item.nav-cta:hover {
  background: var(--color-charcoal) !important;
  transform: scale(0.98);
}

body.myai-refonte-page .myai-maquette-page .wp-block-navigation-item.nav-cta:hover::after {
  transform: translate(2px, -1px);
}

body.myai-refonte-page .myai-maquette-page .wp-block-media-text.split-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
  align-items: center;
}

body.myai-refonte-page .myai-maquette-page .wp-block-media-text.split-section .wp-block-media-text__content {
  padding: 0;
}

body.myai-refonte-page .myai-maquette-page .wp-block-media-text.split-section .wp-block-media-text__media {
  overflow: hidden;
  border-radius: var(--radius-xl);
  aspect-ratio: 4 / 3;
}

body.myai-refonte-page .myai-maquette-page .wp-block-media-text.split-section .wp-block-media-text__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.myai-refonte-page .myai-maquette-page .trust-logos.wp-block-gallery {
  display: flex;
}

body.myai-refonte-page .myai-maquette-page .trust-logos .wp-block-image {
  width: auto !important;
}

body.myai-refonte-page .myai-maquette-page .trust-logos .wp-block-image img {
  height: 42px;
  width: auto;
  object-fit: contain !important;
}

body.myai-refonte-page .myai-maquette-page .faq-container {
  max-width: 800px;
}

body.myai-refonte-page .myai-maquette-page details.faq-item {
  cursor: pointer;
}

body.myai-refonte-page .myai-maquette-page details.faq-item summary {
  list-style: none;
}

body.myai-refonte-page .myai-maquette-page details.faq-item summary::-webkit-details-marker {
  display: none;
}

body.myai-refonte-page #cookie-notice,
body.myai-refonte-page #sound_container,
body.myai-refonte-page #sexy_tooltip_title,
body.myai-refonte-page #accessibility-trigger-button {
  display: none !important;
}

/* Global refonte shell: used on legacy Elementor pages too. */
body.myai-refonte-shell :where(.myai-refonte-header, .myai-refonte-footer),
body.myai-refonte-shell :where(.myai-refonte-header, .myai-refonte-footer) * {
  box-sizing: border-box;
}

body.myai-refonte-shell :where(.myai-refonte-header, .myai-refonte-footer) :where(a) {
  color: inherit;
  text-decoration: none;
}

body.myai-refonte-shell :where(.myai-refonte-header, .myai-refonte-footer) :where(ul, ol) {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.myai-refonte-shell :where(.myai-refonte-header, .myai-refonte-footer) {
  font-family: var(--font-body);
}

body.myai-refonte-shell :where(.myai-refonte-header, .myai-refonte-footer) .logo {
  font-family: var(--font-display);
  flex-shrink: 0;
  white-space: nowrap;
}

body.myai-refonte-shell :where(.myai-refonte-header, .myai-refonte-footer) .logo-image img {
  width: auto;
  height: 42px;
  max-width: 180px;
  object-fit: contain;
}

body.myai-refonte-shell .myai-refonte-header .navbar-inner {
  gap: var(--space-lg);
}

body.myai-refonte-shell .myai-refonte-header .nav-links {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 1.6vw, var(--space-lg));
  flex: 1;
  justify-content: flex-end;
  min-width: 0;
}

body.myai-refonte-shell .myai-refonte-header .nav-links > li {
  position: relative;
  flex-shrink: 1;
}

body.myai-refonte-shell .myai-refonte-header .nav-links > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: clamp(0.82rem, 0.9vw, 0.9rem);
  line-height: 1.25;
}

body.myai-refonte-shell .myai-refonte-header .nav-links > li:last-child > a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-black);
  color: var(--color-white);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.2rem 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  transition: all var(--duration-normal) var(--ease-spring);
}

body.myai-refonte-shell .myai-refonte-header .nav-links > li:last-child > a::after {
  content: "→";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--duration-normal) var(--ease-spring);
}

body.myai-refonte-shell .myai-refonte-header .nav-links > li:last-child > a:hover {
  background: var(--color-charcoal);
  transform: scale(0.98);
}

body.myai-refonte-shell .myai-refonte-header .nav-links > li:last-child > a:hover::after {
  transform: translate(2px, -1px);
}

body.myai-refonte-shell .myai-refonte-header .nav-links .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  padding: 0.9rem 0.8rem 0.8rem;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: 0 14px 36px rgba(0,0,0,0.08);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity var(--duration-fast) var(--ease-out-expo),
              transform var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-shell .myai-refonte-header .nav-links li:hover > .sub-menu,
body.myai-refonte-shell .myai-refonte-header .nav-links li:focus-within > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

body.myai-refonte-shell .myai-refonte-header .nav-links .sub-menu a {
  display: block;
  padding: 0.55rem 0.7rem;
  border-radius: var(--radius-md);
  color: var(--color-gray-700);
  font-size: 0.88rem;
}

body.myai-refonte-shell .myai-refonte-header .nav-links .sub-menu a:hover {
  background: var(--color-orange-light);
  color: var(--color-orange);
}

body.myai-refonte-shell .myai-refonte-header .nav-links .sub-menu .sub-menu {
  top: -0.9rem;
  left: 100%;
  margin-left: 0;
}

body.myai-refonte-shell .myai-refonte-header .nav-links .sub-menu.sub-menu-columns {
  display: grid;
  grid-template-rows: repeat(7, auto);
  grid-auto-flow: column;
  grid-auto-columns: minmax(230px, 1fr);
  gap: 0.12rem 0.35rem;
  min-width: 500px;
  max-width: min(760px, calc(100vw - 48px));
}

body.myai-refonte-shell .myai-refonte-header .nav-links .sub-menu.sub-menu-columns > li {
  min-width: 0;
}

body.myai-refonte-shell .myai-refonte-header .nav-mobile-links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body.myai-refonte-shell .myai-refonte-header .nav-mobile-links .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-left: 1rem;
}

body.myai-refonte-shell .myai-refonte-footer .footer-menu-list,
body.myai-refonte-shell .myai-refonte-footer .footer-contact ul {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

body.myai-refonte-shell .myai-refonte-footer .footer-grid {
  grid-template-columns: minmax(220px, 1.1fr) minmax(320px, 1.8fr) minmax(220px, 0.8fr);
}

body.myai-refonte-shell .myai-refonte-footer .footer-menu-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-lg);
}

body.myai-refonte-shell .myai-refonte-footer .footer-menu-column {
  min-width: 0;
}

body.myai-refonte-shell .myai-refonte-footer .footer-menu-heading {
  display: inline-flex;
  margin-bottom: 0.75rem;
  color: var(--color-black);
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 700;
}

body.myai-refonte-shell .myai-refonte-footer .footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: var(--space-md);
}

body.myai-refonte-shell .myai-refonte-footer .footer-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  color: var(--color-gray-700);
  font-size: 0.78rem;
  font-weight: 600;
  transition: border-color var(--duration-fast) var(--ease-out-expo),
              color var(--duration-fast) var(--ease-out-expo),
              transform var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-shell .myai-refonte-footer .footer-social-links a:hover {
  border-color: var(--color-orange);
  color: var(--color-orange);
  transform: translateY(-1px);
}

body.myai-refonte-shell #cookie-notice,
body.myai-refonte-shell #sound_container,
body.myai-refonte-shell #sexy_tooltip_title,
body.myai-refonte-shell #accessibility-trigger-button {
  display: none !important;
}

body.myai-refonte-shell #masthead,
body.myai-refonte-shell #ast-fixed-header,
body.myai-refonte-shell header.site-header,
body.myai-refonte-shell .site-header,
body.myai-refonte-shell .ast-mobile-header-wrap,
body.myai-refonte-shell .ast-main-header-wrap,
body.myai-refonte-shell .ast-above-header-wrap,
body.myai-refonte-shell .ast-below-header-wrap,
body.myai-refonte-shell #colophon,
body.myai-refonte-shell footer.site-footer,
body.myai-refonte-shell .site-footer,
body.myai-refonte-shell .site-primary-footer-wrap,
body.myai-refonte-shell .site-below-footer-wrap {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* ─── Design System ─── */
:root {
  /* ─── Brand Colors ─── */
  --color-orange: #EA580C;
  --color-orange-light: #FFF7ED;
  --color-orange-soft: #FDBA74;
  --color-black: #111111;
  --color-charcoal: #2F3437;
  --color-gray-900: #1A1A1A;
  --color-gray-700: #4A4A4A;
  --color-gray-500: #787774;
  --color-gray-300: #D4D4D4;
  --color-gray-200: #EAEAEA;
  --color-gray-100: #F5F5F5;
  --color-cream: #FAFAF8;
  --color-white: #FFFFFF;

  /* ─── Typography ─── */
  --font-display: 'Outfit', 'DM Sans', system-ui, -apple-system, sans-serif;
  --font-body: 'DM Sans', 'Switzer', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', monospace;

  /* ─── Spacing Scale ─── */
  --space-xs: 0.4rem;
  --space-sm: 0.8rem;
  --space-md: 1.2rem;
  --space-lg: 2rem;
  --space-xl: 2.8rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;

  /* ─── Radii ─── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-2xl: 28px;
  --radius-full: 9999px;

  /* ─── Motion ─── */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
  --duration-fast: 200ms;
  --duration-normal: 400ms;
  --duration-slow: 700ms;
  --duration-enter: 800ms;
}

/* ─── Reset & Base ─── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  color: var(--color-charcoal);
  background: var(--color-cream);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }

/* Restore native list bullets inside real content */
body.myai-refonte-page .entry-content ul,
body.myai-refonte-page .myai-post-content ul,
body.myai-refonte-page .myai-maquette-page .container ul {
  list-style: disc;
  list-style-position: outside;
  padding-left: 1.4rem;
}

body.myai-refonte-page .entry-content ol,
body.myai-refonte-page .myai-post-content ol,
body.myai-refonte-page .myai-maquette-page .container ol {
  list-style: decimal;
  list-style-position: outside;
  padding-left: 1.4rem;
}

body.myai-refonte-page .entry-content ul li,
body.myai-refonte-page .myai-post-content ul li,
body.myai-refonte-page .entry-content ol li,
body.myai-refonte-page .myai-post-content ol li {
  margin-bottom: 0.4rem;
}

/* ─── Typography Scale ─── */
.text-eyebrow {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-orange);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--space-sm);
}
.text-eyebrow::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  background: var(--color-orange);
  border-radius: 1px;
}

.text-display {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--color-black);
}

.text-h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--color-black);
}

.text-h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--color-black);
}

.text-h3 {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-black);
}

.text-body {
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--color-gray-500);
  max-width: 60ch;
}

.text-body-sm {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--color-gray-500);
}

.text-meta {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-gray-500);
}

/* ─── Layout ─── */
.container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

.section {
  padding: var(--space-3xl) 0;
  position: relative;
}

.section-sm { padding: var(--space-2xl) 0; }
.section-xs { padding: var(--space-xl) 0; }

/* ─── Components ─── */

/* Card - Bento style */
.card {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  transition: transform var(--duration-fast) var(--ease-out-expo),
              box-shadow var(--duration-fast) var(--ease-out-expo);
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

/* Double Bezel Card (premium) */
.card-premium {
  background: var(--color-white);
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
  position: relative;
}
.card-premium::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: calc(var(--radius-xl) + 1px);
  background: linear-gradient(135deg, var(--color-gray-200), transparent 50%);
  z-index: -1;
  opacity: 0.6;
}

/* Button Primary */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-black);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  transition: all var(--duration-normal) var(--ease-spring);
  position: relative;
  overflow: hidden;
}
.btn-primary:hover {
  background: var(--color-charcoal);
  transform: scale(0.98);
}
.btn-primary:active { transform: scale(0.96); }

.btn-primary .btn-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--duration-normal) var(--ease-spring);
}
.btn-primary:hover .btn-icon {
  transform: translate(2px, -1px);
}

/* Button Secondary (Ghost) */
.btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: transparent;
  color: var(--color-black);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-200);
  cursor: pointer;
  transition: all var(--duration-normal) var(--ease-spring);
}
.btn-secondary:hover {
  border-color: var(--color-black);
  background: var(--color-black);
  color: var(--color-white);
}

/* Button Accent (Orange) */
.btn-accent {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-orange);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  transition: all var(--duration-normal) var(--ease-spring);
  box-shadow: 0 4px 16px rgba(234,88,12,0.25);
}
.btn-accent:hover {
  background: #C2410C;
  transform: scale(0.98);
  box-shadow: 0 6px 20px rgba(234,88,12,0.3);
}

/* Tag / Badge */
.tag {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius-full);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.tag-orange {
  background: var(--color-orange-light);
  color: var(--color-orange);
}
.tag-gray {
  background: var(--color-gray-100);
  color: var(--color-gray-700);
}

/* FAQ Accordion — cartes papier premium */
.faq-item {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-sm);
  transition: border-color var(--duration-fast) var(--ease-out-expo),
              transform var(--duration-fast) var(--ease-out-expo),
              box-shadow var(--duration-fast) var(--ease-out-expo);
}
.faq-item:hover {
  border-color: var(--color-gray-300);
  transform: translateY(-1px);
}
.faq-item.open {
  border-color: var(--color-orange);
  transform: translateY(-2px);
}
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-black);
  cursor: pointer;
  gap: var(--space-md);
  line-height: 1.35;
}
.faq-toggle {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-gray-500);
  border: 1.5px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  transition: all var(--duration-fast) var(--ease-out-expo);
}
.faq-item:hover .faq-toggle {
  border-color: var(--color-gray-400);
  color: var(--color-gray-700);
}
.faq-item.open .faq-toggle {
  transform: rotate(45deg);
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--duration-slow) var(--ease-out-expo),
              opacity var(--duration-slow) var(--ease-out-expo),
              padding var(--duration-slow) var(--ease-out-expo);
  opacity: 0;
}
.faq-item.open .faq-answer {
  max-height: 400px;
  opacity: 1;
  padding-top: var(--space-sm);
}

/* ─── Scroll Reveal Animation ─── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--duration-enter) var(--ease-out-expo),
              transform var(--duration-enter) var(--ease-out-expo);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.stagger-children > * {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--duration-slow) var(--ease-out-expo),
              transform var(--duration-slow) var(--ease-out-expo);
}
.stagger-children.visible > *:nth-child(1) { transition-delay: 0ms; opacity: 1; transform: translateY(0); }
.stagger-children.visible > *:nth-child(2) { transition-delay: 80ms; opacity: 1; transform: translateY(0); }
.stagger-children.visible > *:nth-child(3) { transition-delay: 160ms; opacity: 1; transform: translateY(0); }
.stagger-children.visible > *:nth-child(4) { transition-delay: 240ms; opacity: 1; transform: translateY(0); }
.stagger-children.visible > *:nth-child(5) { transition-delay: 320ms; opacity: 1; transform: translateY(0); }
.stagger-children.visible > *:nth-child(6) { transition-delay: 400ms; opacity: 1; transform: translateY(0); }
.stagger-children.visible > *:nth-child(7) { transition-delay: 480ms; opacity: 1; transform: translateY(0); }
.stagger-children.visible > *:nth-child(8) { transition-delay: 560ms; opacity: 1; transform: translateY(0); }

/* ─── Decorative Elements ─── */
.orbit-lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.orbit-line {
  position: absolute;
  border: 1px solid var(--color-gray-200);
  border-radius: 50%;
  opacity: 0.4;
}

/* Noise texture overlay */
.noise-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px 256px;
}

/* ─── Utility ─── */
.bg-white { background: var(--color-white); }
.bg-cream { background: var(--color-cream); }
.bg-dark { background: var(--color-black); color: var(--color-white); }
.bg-orange-light { background: var(--color-orange-light); }

.text-orange { color: var(--color-orange); }
.text-white { color: var(--color-white); }
.text-muted { color: var(--color-gray-500); }

.grid-bento {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--space-md);
}

.border-subtle { border: 1px solid var(--color-gray-200); }

/* ─── Responsive ─── */
@media (max-width: 768px) {
  :root {
    --space-lg: 1.5rem;
    --space-xl: 2.5rem;
    --space-2xl: 3.5rem;
    --space-3xl: 4rem;
    --space-4xl: 5rem;
  }
  .container { padding: 0 var(--space-md); }
  .grid-bento { grid-template-columns: 1fr; }
  .card, .card-premium { padding: var(--space-md); }
  .section { padding: var(--space-2xl) 0; }
}


/* ─── Page-Specific Styles ─── */
/* ─── Styles from article.html ─── */
.page-hero {
      padding: calc(var(--space-4xl) + 60px) 0 var(--space-xl);
      background: var(--color-cream);
      position: relative;
      overflow: hidden;
    }
    .page-hero-bg {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 50% 30%, rgba(234,88,12,0.04) 0%, transparent 60%);
    }
    .breadcrumb {
      display: flex; align-items: center; gap: 0.5rem;
      font-size: 0.8rem; color: var(--color-gray-500);
      margin-bottom: var(--space-md);
    }
    .breadcrumb a:hover { color: var(--color-orange); }
    .breadcrumb-sep { opacity: 0.4; }

    .article-meta {
      display: flex;
      align-items: center;
      gap: var(--space-md);
      margin-bottom: var(--space-md);
      flex-wrap: wrap;
    }
    .article-meta .tag { margin: 0; }
    .article-meta .dot-sep {
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--color-gray-300);
    }
    .article-meta .reading-time {
      font-size: 0.8rem;
      color: var(--color-gray-500);
    }

    .article-layout {
      display: block;
    }
    .article-toc {
      position: sticky;
      top: 100px;
    }
    .article-toc h6 {
      font-family: var(--font-display);
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--color-black);
      margin-bottom: var(--space-sm);
    }
    .article-toc ul {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .article-toc a {
      font-size: 0.85rem;
      color: var(--color-gray-500);
      transition: color var(--duration-fast) var(--ease-out-expo);
      display: block;
      padding: 0.3rem 0;
      border-left: 2px solid transparent;
      padding-left: var(--space-sm);
      margin-left: calc(-1 * var(--space-sm));
    }
    .article-toc a:hover,
    .article-toc a.active {
      color: var(--color-orange);
      border-left-color: var(--color-orange);
    }

    .article-body {
      margin: 0 auto;
    }
    .article-body h2 {
      font-family: var(--font-display);
      font-size: 1.6rem;
      font-weight: 600;
      color: var(--color-black);
      margin: var(--space-xl) 0 var(--space-sm);
      line-height: 1.2;
    }
    .article-body h3 {
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--color-black);
      margin: var(--space-lg) 0 var(--space-xs);
    }
    .article-body p {
      font-size: 1.05rem;
      line-height: 1.7;
      color: var(--color-charcoal);
      margin-bottom: var(--space-sm);
    }
    .article-body p strong { color: var(--color-black); font-weight: 600; }
    .article-body ul {
      margin: var(--space-sm) 0 var(--space-sm) var(--space-md);
      list-style: disc;
    }
    .article-body ul li {
      font-size: 1rem;
      line-height: 1.7;
      color: var(--color-charcoal);
      margin-bottom: 0.4rem;
    }
    .article-body blockquote {
      border-left: 3px solid var(--color-orange);
      padding-left: var(--space-md);
      margin: var(--space-lg) 0;
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-weight: 500;
      color: var(--color-black);
      line-height: 1.4;
    }
    .article-body img {
      width: 100%;
      border-radius: var(--radius-lg);
      margin: var(--space-lg) 0;
    }
    .article-body .encadre {
      background: var(--color-orange-light);
      border: 1px solid rgba(234,88,12,0.15);
      border-radius: var(--radius-md);
      padding: var(--space-md);
      margin: var(--space-lg) 0;
    }
    .article-body .encadre h4 {
      font-family: var(--font-display);
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--color-orange);
      margin-bottom: var(--space-xs);
    }
    .article-body .encadre p {
      font-size: 0.95rem;
      margin: 0;
      color: var(--color-gray-700);
    }

    .article-sidebar {
      display: flex;
      flex-direction: column;
      gap: var(--space-md);
    }
    .sidebar-card {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      padding: var(--space-md);
    }
    .sidebar-card h6 {
      font-family: var(--font-display);
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--color-black);
      margin-bottom: var(--space-sm);
    }
    .sidebar-card ul {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    .sidebar-card a {
      font-size: 0.85rem;
      color: var(--color-gray-700);
      transition: color var(--duration-fast) var(--ease-out-expo);
      display: block;
      line-height: 1.4;
    }
    .sidebar-card a:hover { color: var(--color-orange); }
    .sidebar-card .cta-mini {
      display: block;
      background: var(--color-black);
      color: var(--color-white);
      text-align: center;
      padding: 0.8rem;
      border-radius: var(--radius-md);
      font-size: 0.85rem;
      font-weight: 600;
      margin-top: var(--space-sm);
      transition: background var(--duration-fast) var(--ease-out-expo);
    }
    .sidebar-card .cta-mini:hover { background: var(--color-charcoal); }

    .article-share {
      display: flex;
      gap: var(--space-xs);
      margin-top: var(--space-lg);
      padding-top: var(--space-lg);
      border-top: 1px solid var(--color-gray-200);
    }
    .share-btn {
      width: 36px; height: 36px;
      border-radius: 50%;
      border: 1px solid var(--color-gray-200);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--color-gray-500);
      font-size: 0.8rem;
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .share-btn:hover {
      border-color: var(--color-orange);
      color: var(--color-orange);
      background: var(--color-orange-light);
    }

    .related-articles {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-md);
      margin-top: var(--space-xl);
    }
    .related-card {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      overflow: hidden;
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .related-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.05);
    }
    .related-card img {
      width: 100%;
      height: 160px;
      object-fit: cover;
    }
    .related-card .related-body {
      padding: var(--space-md);
    }
    .related-card .tag { margin-bottom: 0.4rem; }
    .related-card h4 {
      font-family: var(--font-display);
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--color-black);
      line-height: 1.3;
    }

    @media (max-width: 1024px) {
      .article-layout { grid-template-columns: 1fr; }
      .article-toc { display: none; }
      .article-sidebar { order: 2; }
      .related-articles { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 768px) {
      .related-articles { grid-template-columns: 1fr; }
    }

/* ─── Styles from formations.html ─── */
.page-hero {
      padding: calc(var(--space-4xl) + 60px) 0 var(--space-3xl);
      background: var(--color-cream);
      position: relative;
      overflow: hidden;
    }
    .page-hero-bg {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 30% 40%, rgba(234,88,12,0.05) 0%, transparent 60%);
    }
    .breadcrumb {
      display: flex; align-items: center; gap: 0.5rem;
      font-size: 0.8rem; color: var(--color-gray-500);
      margin-bottom: var(--space-md);
    }
    .breadcrumb a:hover { color: var(--color-orange); }
    .breadcrumb-sep { opacity: 0.4; }

    .formation-card {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      overflow: hidden;
      transition: all var(--duration-fast) var(--ease-out-expo);
      display: flex;
      flex-direction: column;
    }
    .formation-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 32px rgba(0,0,0,0.06);
    }
    .formation-image {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }
    .formation-body {
      padding: var(--space-lg);
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    .formation-meta {
      display: flex;
      gap: var(--space-xs);
      margin-bottom: var(--space-sm);
      flex-wrap: wrap;
    }
    .formation-body h3 {
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--color-black);
      margin-bottom: var(--space-xs);
    }
    .formation-body p {
      font-size: 0.9rem;
      color: var(--color-gray-500);
      line-height: 1.5;
      flex: 1;
    }
    .formation-footer {
      margin-top: var(--space-md);
      padding-top: var(--space-sm);
      border-top: 1px solid var(--color-gray-200);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .formation-price {
      font-family: var(--font-display);
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--color-black);
    }
    .formation-price span {
      font-size: 0.75rem;
      font-weight: 400;
      color: var(--color-gray-500);
    }

    .formations-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-md);
    }
    @media (max-width: 1024px) {
      .formations-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 768px) {
      .formations-grid { grid-template-columns: 1fr; }
    }

    .program-list {
      margin-top: var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-xs);
    }
    .program-item {
      display: flex;
      align-items: center;
      gap: var(--space-sm);
      padding: 0.7rem var(--space-sm);
      border-radius: var(--radius-md);
      background: var(--color-cream);
      font-size: 0.9rem;
      color: var(--color-gray-700);
    }
    .program-item .dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--color-orange);
      flex-shrink: 0;
    }

    .highlight-formation {
      background: var(--color-black);
      border-radius: var(--radius-xl);
      padding: var(--space-2xl);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-2xl);
      align-items: center;
      margin-bottom: var(--space-2xl);
    }
    .highlight-formation h2,
    .highlight-formation h3 { color: var(--color-white); }
    .highlight-formation p { color: rgba(255,255,255,0.7); }
    .highlight-formation .check-list li { color: rgba(255,255,255,0.85); }
    .highlight-formation .check { background: rgba(234,88,12,0.3); color: var(--color-orange-soft); }
    @media (max-width: 1024px) {
      .highlight-formation { grid-template-columns: 1fr; }
    }

/* ─── Styles from index.html ─── */
/* ─── Hero Section ─── */
    .hero {
      min-height: 100dvh;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      background: var(--color-cream);
    }
    .hero-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }
    .hero-bg .blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(80px);
      opacity: 0.08;
      animation: blob-float 20s ease-in-out infinite;
    }
    .hero-bg .blob-1 {
      width: 600px; height: 600px;
      background: var(--color-orange);
      top: -10%; right: -5%;
      animation-delay: 0s;
    }
    .hero-bg .blob-2 {
      width: 400px; height: 400px;
      background: var(--color-orange-soft);
      bottom: 10%; left: -5%;
      animation-delay: -7s;
    }
    .hero-bg .blob-3 {
      width: 300px; height: 300px;
      background: var(--color-gray-300);
      top: 40%; right: 20%;
      animation-delay: -14s;
    }
    @keyframes blob-float {
      0%, 100% { transform: translate(0, 0) scale(1); }
      33% { transform: translate(30px, -30px) scale(1.05); }
      66% { transform: translate(-20px, 20px) scale(0.95); }
    }
    .hero-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-2xl);
      align-items: center;
      position: relative;
      z-index: 1;
    }
    .hero-content { max-width: 600px; }
    .hero-content .text-display {
      margin-bottom: var(--space-md);
      background: linear-gradient(135deg, var(--color-black) 60%, var(--color-orange));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .hero-content .text-body {
      font-size: 1.15rem;
      margin-bottom: var(--space-lg);
      color: var(--color-gray-700);
    }
    .hero-ctas {
      display: flex;
      gap: var(--space-sm);
      flex-wrap: wrap;
      margin-bottom: var(--space-xl);
    }
    .hero-proof {
      display: flex;
      align-items: center;
      gap: var(--space-md);
    }
    .hero-proof-avatars {
      display: flex;
    }
    .hero-proof-avatars img {
      width: 40px; height: 40px;
      border-radius: 50%;
      border: 2px solid var(--color-cream);
      margin-left: -10px;
      object-fit: cover;
    }
    .hero-proof-avatars img:first-child { margin-left: 0; }
    .hero-proof-text {
      font-size: 0.85rem;
      color: var(--color-gray-500);
      line-height: 1.4;
    }
    .hero-proof-text strong {
      color: var(--color-black);
      font-weight: 600;
    }
    .hero-visual {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .hero-visual-inner {
      position: relative;
      width: 100%;
      max-width: 520px;
      aspect-ratio: 1;
      min-height: 520px;
    }
    .hero-visual-card {
      position: absolute;
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      padding: var(--space-md);
      box-shadow: 0 4px 20px rgba(0,0,0,0.06);
      animation: card-float 6s ease-in-out infinite;
    }
    .hero-visual-card:nth-child(1) {
      top: 5%; left: 5%;
      width: 55%;
      animation-delay: 0s;
      z-index: 3;
    }
    .hero-visual-card:nth-child(2) {
      top: 25%; right: 0;
      width: 50%;
      animation-delay: -2s;
      z-index: 2;
    }
    .hero-visual-card:nth-child(3) {
      bottom: 10%; left: 15%;
      width: 60%;
      animation-delay: -4s;
      z-index: 1;
    }
    @keyframes card-float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-12px); }
    }
    .hero-visual-card .card-tag {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.3rem 0.7rem;
      border-radius: var(--radius-full);
      font-size: 0.7rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 0.6rem;
    }
    .hero-visual-card .card-tag.green {
      background: #EDF3EC;
      color: #346538;
    }
    .hero-visual-card .card-tag.blue {
      background: #E1F3FE;
      color: #1F6C9F;
    }
    .hero-visual-card .card-tag.orange {
      background: var(--color-orange-light);
      color: var(--color-orange);
    }
    .hero-visual-card h4 {
      font-family: var(--font-display);
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--color-black);
      margin-bottom: 0.3rem;
    }
    .hero-visual-card p {
      font-size: 0.75rem;
      color: var(--color-gray-500);
      line-height: 1.4;
    }

    /* ─── Navbar ─── */
    .navbar {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 100;
      padding: var(--space-sm) 0;
      transition: background var(--duration-normal) var(--ease-out-expo),
                  box-shadow var(--duration-normal) var(--ease-out-expo);
    }
    .navbar.scrolled {
      background: rgba(250, 250, 248, 0.85);
      backdrop-filter: blur(12px);
      box-shadow: 0 1px 0 rgba(0,0,0,0.04);
    }
    .navbar-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
      z-index: 101;
    }
    .logo {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-family: var(--font-display);
      font-weight: 800;
      font-size: 1.3rem;
      color: var(--color-black);
    }
    .logo-mark {
      width: 32px; height: 32px;
      background: var(--color-orange);
      border-radius: var(--radius-md);
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-size: 0.85rem;
      font-weight: 700;
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: var(--space-lg);
    }
    .nav-links a {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--color-gray-700);
      transition: color var(--duration-fast) var(--ease-out-expo);
      position: relative;
    }
    .nav-links a:hover { color: var(--color-black); }
    .nav-links a:hover { color: var(--color-orange); }
    .nav-cta {
      font-size: 0.8rem;
      padding: 0.6rem 1.2rem;
      color: var(--color-white) !important;
    }
    .nav-dropdown {
      position: relative;
    }
    .nav-dropdown > a {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
    }
    .nav-dropdown > a::after {
      content: '';
      display: inline-block;
      position: relative;
      width: 6px; height: 6px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: rotate(45deg) translateY(-2px);
      opacity: 0.5;
      transition: transform var(--duration-fast) var(--ease-out-expo);
    }
    .nav-dropdown:hover > a::after {
      transform: rotate(-135deg) translateY(2px);
      opacity: 1;
    }
    .nav-dropdown-menu {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      min-width: 420px;
      max-width: 520px;
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      padding: 0.8rem;
      padding-top: calc(0.8rem + 12px);
      margin-top: -12px;
      box-shadow: 0 16px 48px rgba(0,0,0,0.08);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 250ms ease, transform 250ms ease, visibility 250ms;
      transition-delay: 150ms;
      z-index: 200;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0.15rem;
    }
    .nav-dropdown:hover .nav-dropdown-menu {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
      transition-delay: 0ms;
    }
    .nav-dropdown-menu a {
      display: block;
      padding: 0.45rem 0.7rem;
      font-size: 0.78rem;
      font-weight: 500;
      color: var(--color-gray-700);
      border-radius: var(--radius-md);
      transition: all var(--duration-fast) var(--ease-out-expo);
      line-height: 1.3;
    }
    .nav-dropdown-menu a:hover {
      background: var(--color-orange-light);
      color: var(--color-orange);
    }
    .nav-dropdown-menu a::after { display: none; }
    .nav-mobile-toggle {
      display: none;
      flex-direction: column;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
      position: relative;
      z-index: 200;
    }
    .nav-mobile-toggle span {
      display: block;
      width: 24px;
      height: 2px;
      background: var(--color-black);
      border-radius: 1px;
      transition: all var(--duration-normal) var(--ease-spring);
    }

    /* ─── Mobile Menu Overlay ─── */
    .nav-mobile-overlay {
      position: fixed;
      inset: 0;
      background: rgba(250,250,248,0.98);
      backdrop-filter: blur(20px);
      z-index: 150;
      display: flex;
      flex-direction: column;
      padding: calc(var(--space-3xl) + 40px) var(--space-lg) var(--space-lg);
      opacity: 0;
      pointer-events: none;
      transform: translateY(-10px);
      transition: opacity var(--duration-normal) var(--ease-out-expo),
                  transform var(--duration-normal) var(--ease-out-expo);
      overflow-y: auto;
    }
    .nav-mobile-overlay.open {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0);
    }
    .nav-mobile-links {
      display: flex;
      flex-direction: column;
      gap: var(--space-xs);
      max-width: 400px;
      margin: 0 auto;
      width: 100%;
    }
    .nav-mobile-links a {
      font-family: var(--font-display);
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--color-black);
      padding: 0.7rem 0;
      border-bottom: 1px solid var(--color-gray-200);
      opacity: 0;
      transform: translateY(12px);
      transition: opacity 0.4s var(--ease-out-expo), transform 0.4s var(--ease-out-expo), color var(--duration-fast);
    }
    .nav-mobile-overlay.open .nav-mobile-links a {
      opacity: 1;
      transform: translateY(0);
    }
    .nav-mobile-overlay.open .nav-mobile-links a:nth-child(1) { transition-delay: 0.05s; }
    .nav-mobile-overlay.open .nav-mobile-links a:nth-child(2) { transition-delay: 0.10s; }
    .nav-mobile-overlay.open .nav-mobile-links a:nth-child(3) { transition-delay: 0.15s; }
    .nav-mobile-overlay.open .nav-mobile-links a:nth-child(4) { transition-delay: 0.20s; }
    .nav-mobile-overlay.open .nav-mobile-links a:nth-child(5) { transition-delay: 0.25s; }
    .nav-mobile-overlay.open .nav-mobile-links a:nth-child(6) { transition-delay: 0.30s; }
    .nav-mobile-links a:hover { color: var(--color-orange); }
    .nav-mobile-group {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-bottom: 0;
      border-bottom: 1px solid var(--color-gray-200);
    }
    .nav-mobile-group-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      font-family: var(--font-display);
      font-size: 1rem;
      font-weight: 600;
      color: var(--color-black);
      padding: 0.9rem 0;
      background: none;
      border: none;
      cursor: pointer;
      text-align: left;
      transition: color var(--duration-fast) var(--ease-out-expo);
    }
    .nav-mobile-group-title:hover { color: var(--color-orange); }
    .nav-mobile-group-title .accordion-chevron {
      transition: transform var(--duration-fast) var(--ease-out-expo);
      color: var(--color-gray-400);
      flex-shrink: 0;
    }
    .nav-mobile-group.open .nav-mobile-group-title .accordion-chevron { transform: rotate(180deg); }
    .nav-mobile-group-body {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.35s var(--ease-out-expo);
    }
    .nav-mobile-group.open .nav-mobile-group-body { grid-template-rows: 1fr; }
    .nav-mobile-group-body > div {
      overflow: hidden;
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .nav-mobile-group-body a {
      font-family: var(--font-display);
      font-size: 0.95rem;
      font-weight: 500;
      color: var(--color-gray-600);
      padding: 0.6rem 0 0.6rem 1rem;
      border-bottom: none;
      transition: color var(--duration-fast) var(--ease-out-expo);
    }
    .nav-mobile-group-body a:hover { color: var(--color-orange); }
    .nav-mobile-group-body a:last-child { padding-bottom: 0.9rem; }
    .nav-mobile-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
    .nav-mobile-toggle.open span:nth-child(2) { opacity: 0; }
    .nav-mobile-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

    /* ─── Services Section ─── */
    .services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-md);
    }
    .service-card {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      padding: var(--space-lg);
      transition: border-color var(--duration-fast) var(--ease-out-expo);
    }
    .service-card:hover {
      border-color: var(--color-orange);
    }
    .service-icon {
      width: 40px; height: 40px;
      border-radius: var(--radius-md);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: var(--space-sm);
      color: var(--color-charcoal);
      background: var(--color-cream);
      border: 1px solid var(--color-gray-200);
    }
    .service-card h3 {
      font-family: var(--font-display);
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.5rem;
      color: var(--color-black);
    }
    .service-card p {
      font-size: 0.9rem;
      color: var(--color-gray-500);
      line-height: 1.5;
    }
    .service-link {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      margin-top: var(--space-sm);
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--color-orange);
      transition: gap var(--duration-fast) var(--ease-out-expo);
    }
    .service-link:hover { gap: 0.7rem; }

    /* ─── Trust Logos ─── */
    .trust-logos {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: var(--space-lg);
      flex-wrap: nowrap;
    }
    .trust-logo {
      height: 56px;
      width: auto;
      max-width: 220px;
      object-fit: contain;
      opacity: 0.75;
      transition: opacity var(--duration-fast) var(--ease-out-expo), transform var(--duration-fast) var(--ease-out-expo);
    }
    .trust-logo:hover { opacity: 1; transform: translateY(-2px); }
    @media (max-width: 768px) {
      .trust-logos { flex-wrap: wrap; gap: var(--space-md); }
      .trust-logo { height: 48px; max-width: 180px; }
    }

    /* ─── Split Feature Section ─── */
    .split-section {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-3xl);
      align-items: center;
    }
    .split-visual {
      position: relative;
      border-radius: var(--radius-xl);
      overflow: hidden;
      background: var(--color-gray-100);
      aspect-ratio: 4/3;
    }
    .split-visual img {
      width: 100%; height: 100%;
      object-fit: cover;
    }
    .split-visual .visual-badge {
      position: absolute;
      bottom: var(--space-md);
      left: var(--space-md);
      background: var(--color-white);
      padding: 0.6rem 1rem;
      border-radius: var(--radius-md);
      font-size: 0.8rem;
      font-weight: 600;
      box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    }
    .split-content { max-width: 520px; }
    .check-list {
      margin-top: var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }
    .check-list li {
      display: flex;
      align-items: flex-start;
      gap: 0.7rem;
      font-size: 0.95rem;
      color: var(--color-gray-700);
    }
    .check-list .check {
      width: 20px; height: 20px;
      border-radius: 50%;
      background: var(--color-orange-light);
      color: var(--color-orange);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.65rem;
      flex-shrink: 0;
      margin-top: 2px;
    }

    /* ─── Formations Bento ─── */
    .bento-grid {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: var(--space-md);
    }
    .bento-item {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      padding: var(--space-lg);
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .bento-item:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.05);
    }
    .bento-item.col-8 { grid-column: span 8; }
    .bento-item.col-4 { grid-column: span 4; }
    .bento-item.col-6 { grid-column: span 6; }
    .bento-item.col-12 { grid-column: span 12; }
    .bento-item.highlight {
      background: var(--color-black);
      color: var(--color-white);
      border-color: var(--color-gray-900);
    }
    .bento-item.highlight h3,
    .bento-item.highlight .text-h3 { color: var(--color-white); }
    .bento-item.highlight p { color: rgba(255,255,255,0.7); }
    .bento-item.highlight .tag-orange {
      background: var(--color-orange);
      color: var(--color-white);
    }

    /* ─── Bento — Formation certifiante card enhancement ─── */
    .bento-item.col-8 {
      position: relative;
      overflow: hidden;
      padding-bottom: 0;
    }
    .bento-item.col-8 .tag.tag-orange {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.35rem 0.9rem;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      background: rgba(234, 88, 12, 0.08);
      color: var(--color-orange);
      border: 1px solid rgba(234, 88, 12, 0.15);
      margin-bottom: var(--space-sm);
    }
    .bento-item.col-8 .text-h3 {
      font-size: 1.35rem;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: var(--space-sm);
    }
    .bento-item.col-8 .text-body-sm {
      font-size: 0.95rem;
      line-height: 1.55;
      color: var(--color-gray-600);
      max-width: 480px;
      margin-bottom: var(--space-md);
    }
    .bento-item.col-8 .wp-block-image {
      margin: 0;
      border-radius: 0 0 var(--radius-lg) var(--radius-lg);
      overflow: hidden;
      aspect-ratio: 16 / 9;
    }
    .bento-item.col-8 .wp-block-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform var(--duration-slow) var(--ease-out-expo);
    }
    .bento-item.col-8:hover .wp-block-image img {
      transform: scale(1.03);
    }

    /* ─── Témoignages ─── */
    .testimonials-grid {
      display: grid !important;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-md);
    }
    .testimonial-card {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      padding: var(--space-lg);
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .testimonial-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.05);
    }
    .testimonial-stars {
      display: flex;
      gap: 3px;
      margin-bottom: var(--space-sm);
      color: var(--color-orange);
      font-size: 0.85rem;
    }
    .testimonial-text {
      font-size: 0.95rem;
      line-height: 1.6;
      color: var(--color-charcoal);
      margin-bottom: var(--space-md);
    }
    .testimonial-author {
      display: flex;
      align-items: center;
      gap: 0.8rem;
    }
    .testimonial-author img {
      width: 40px; height: 40px;
      border-radius: 50%;
      object-fit: cover;
    }
    .testimonial-author-info h5 {
      font-family: var(--font-display);
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--color-black);
    }
    .testimonial-author-info span {
      font-size: 0.8rem;
      color: var(--color-gray-500);
    }

    /* ─── CTA Section ─── */
    .cta-section {
      background: linear-gradient(165deg, var(--color-charcoal) 0%, var(--color-black) 60%, #1a1512 100%);
      border: 1px solid rgba(255,255,255,0.06);
      border-radius: var(--radius-lg);
      padding: var(--space-3xl) var(--space-2xl);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .cta-section::before {
      content: '';
      position: absolute;
      inset: 0;
      opacity: 0.03;
      background-image:
        linear-gradient(30deg, transparent 49%, rgba(255,255,255,0.4) 49%, rgba(255,255,255,0.4) 51%, transparent 51%),
        linear-gradient(-30deg, transparent 49%, rgba(255,255,255,0.4) 49%, rgba(255,255,255,0.4) 51%, transparent 51%);
      background-size: 48px 48px;
      pointer-events: none;
    }
    .cta-section .text-h1,
    .cta-section .text-display { color: var(--color-white); }
    .cta-section .text-body { color: rgba(255,255,255,0.55); margin: 0 auto var(--space-lg); }
    .cta-bg-pattern {
      position: absolute;
      inset: 0;
      opacity: 0;
      pointer-events: none;
    }

    /* ─── Footer ─── */
    .footer {
      border-top: 1px solid var(--color-gray-200);
      padding: var(--space-2xl) 0 var(--space-lg);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: var(--space-2xl);
      margin-bottom: var(--space-2xl);
    }
    .footer-brand p {
      font-size: 0.9rem;
      color: var(--color-gray-500);
      margin-top: var(--space-sm);
      max-width: 300px;
    }
    .footer-links h6 {
      font-family: var(--font-display);
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--color-black);
      margin-bottom: var(--space-md);
    }
    .footer-links ul { display: flex; flex-direction: column; gap: 0.6rem; }
    .footer-links a {
      font-size: 0.85rem;
      color: var(--color-gray-500);
      transition: color var(--duration-fast) var(--ease-out-expo);
    }
    .footer-links a:hover { color: var(--color-orange); }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-top: var(--space-lg);
      border-top: 1px solid var(--color-gray-200);
      font-size: 0.8rem;
      color: var(--color-gray-500);
    }
    .footer-partners {
      display: flex;
      align-items: center;
      gap: var(--space-md);
      opacity: 0.6;
    }
    .footer-partners img {
      height: 28px;
      width: auto;
      filter: grayscale(100%);
      transition: filter var(--duration-fast);
    }
    .footer-partners img:hover { filter: grayscale(0%); }

    /* ─── Section Header ─── */
    .section-header {
      max-width: 640px;
      margin-bottom: var(--space-xl);
    }
    .section-header.center { text-align: center; margin-left: auto; margin-right: auto; }

    /* ─── Numbers / Stats ─── */
    .stats-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--space-md);
      margin-top: var(--space-xl);
    }
    .stat-item {
      text-align: center;
      padding: var(--space-md);
    }
    .stat-number {
      font-family: var(--font-display);
      font-size: 2.5rem;
      font-weight: 700;
      color: var(--color-black);
      line-height: 1;
      margin-bottom: 0.4rem;
    }
    .stat-label {
      font-size: 0.8rem;
      color: var(--color-gray-500);
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }

    /* ─── Responsive ─── */
    @media (max-width: 1024px) {
      .hero-grid { grid-template-columns: 1fr; gap: var(--space-xl); }
      .hero-visual { display: none; }
      .split-section { grid-template-columns: 1fr; gap: var(--space-xl); }
      .split-visual { order: -1; }
      .services-grid { grid-template-columns: repeat(2, 1fr); }
      .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .stats-row { grid-template-columns: repeat(2, 1fr); }
      .bento-item.col-8 > div[style*="display:flex"] { flex-direction: column; }
      .bento-item.col-8 > div[style*="display:flex"] > div[style*="width:200px"] { width: 100% !important; height: 180px; }
    }
    @media (max-width: 768px) {
      .nav-links { display: none; }
      .nav-mobile-toggle { display: flex; }
      .services-grid { grid-template-columns: 1fr; }
      .testimonials-grid { grid-template-columns: 1fr; }
      .bento-item.col-8,
      .bento-item.col-4,
      .bento-item.col-6 { grid-column: span 12; }
      .footer-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
      .stats-row { grid-template-columns: 1fr 1fr; }
      .hero-ctas { flex-direction: column; }
      .hero-ctas .btn-primary,
      .hero-ctas .btn-secondary { width: 100%; justify-content: center; }
      .cta-section { padding: var(--space-2xl) var(--space-md); }
    }

/* ─── Styles from realisations.html ─── */
.page-hero {
      padding: calc(var(--space-4xl) + 60px) 0 var(--space-3xl);
      background: var(--color-cream);
      position: relative;
      overflow: hidden;
    }
    .page-hero-bg {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 60% 20%, rgba(234,88,12,0.05) 0%, transparent 60%);
    }
    .breadcrumb {
      display: flex; align-items: center; gap: 0.5rem;
      font-size: 0.8rem; color: var(--color-gray-500);
      margin-bottom: var(--space-md);
    }
    .breadcrumb a:hover { color: var(--color-orange); }
    .breadcrumb-sep { opacity: 0.4; }

    .case-list {
      display: flex;
      flex-direction: column;
      gap: var(--space-3xl);
    }
    .case-item {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-2xl);
      align-items: start;
    }
    .case-item:nth-child(even) .case-item-image { order: 2; }
    .case-item:nth-child(even) .case-item-content { order: 1; }
    .case-item-image {
      border-radius: var(--radius-xl);
      overflow: hidden;
      position: relative;
    }
    .case-item-image::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: var(--radius-xl);
      box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
      pointer-events: none;
    }
    .case-item-image img {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
      display: block;
      transition: transform var(--duration-slow) var(--ease-out-expo);
    }
    .case-item:hover .case-item-image img {
      transform: scale(1.03);
    }
    .case-item-content {
      display: flex;
      flex-direction: column;
      gap: var(--space-md);
      padding-top: var(--space-sm);
    }
    .case-item-content .tag { margin-bottom: 0; }
    .case-item-content h3 {
      font-family: var(--font-display);
      font-size: clamp(1.4rem, 2.5vw, 1.8rem);
      font-weight: 600;
      color: var(--color-black);
      line-height: 1.2;
    }
    .case-body-text {
      font-size: 0.95rem;
      color: var(--color-gray-500);
      line-height: 1.65;
    }
    .case-body-text strong {
      color: var(--color-charcoal);
      font-weight: 600;
    }
    .case-section {
      display: flex;
      flex-direction: column;
      gap: var(--space-xs);
    }
    .case-section-label {
      font-family: var(--font-display);
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--color-orange);
    }
    .case-badges {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-xs);
      margin-top: 0.2rem;
    }
    .case-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.5rem 1rem;
      background: var(--color-orange-light);
      color: var(--color-charcoal);
      font-size: 0.85rem;
      font-weight: 500;
      border-radius: var(--radius-full);
      border: 1px solid rgba(234,88,12,0.08);
    }
    .case-badge::before {
      content: '';
      display: inline-block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--color-orange);
      flex-shrink: 0;
    }

    .testimonial-banner {
      background: var(--color-black);
      border-radius: var(--radius-xl);
      padding: var(--space-2xl);
      margin-top: var(--space-2xl);
      display: grid;
      grid-template-columns: 2fr 1fr;
      gap: var(--space-2xl);
      align-items: center;
    }
    .testimonial-banner p {
      font-family: var(--font-display);
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.4;
      color: var(--color-white);
    }
    .testimonial-banner p::before {
      content: '"';
      color: var(--color-orange);
      font-size: 2rem;
      line-height: 0;
    }
    .testimonial-banner .author {
      display: flex;
      align-items: center;
      gap: var(--space-sm);
    }
    .testimonial-banner .author img {
      width: 48px; height: 48px;
      border-radius: 50%;
      object-fit: cover;
    }
    .testimonial-banner .author-info h5 {
      color: var(--color-white);
      font-family: var(--font-display);
      font-size: 0.95rem;
      font-weight: 600;
    }
    .testimonial-banner .author-info span {
      font-size: 0.8rem;
      color: rgba(255,255,255,0.5);
    }

    @media (max-width: 1024px) {
      .case-item { grid-template-columns: 1fr; gap: var(--space-xl); }
      .case-item:nth-child(even) .case-item-image { order: 1; }
      .case-item:nth-child(even) .case-item-content { order: 2; }
      .case-item-image img { aspect-ratio: 16/9; }
      .testimonial-banner { grid-template-columns: 1fr; }
    }

/* ─── Styles from solutions.html ─── */
.page-hero {
      padding: calc(var(--space-4xl) + 60px) 0 var(--space-3xl);
      background: var(--color-cream);
      position: relative;
      overflow: hidden;
    }
    .page-hero-bg {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 70% 30%, rgba(234,88,12,0.06) 0%, transparent 60%);
    }
    .breadcrumb {
      display: flex; align-items: center; gap: 0.5rem;
      font-size: 0.8rem; color: var(--color-gray-500);
      margin-bottom: var(--space-md);
    }
    .breadcrumb a:hover { color: var(--color-orange); }
    .breadcrumb-sep { opacity: 0.4; }

    .solution-detail {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-3xl);
      align-items: center;
      padding: var(--space-3xl) 0;
      border-bottom: 1px solid var(--color-gray-200);
    }
    .solution-detail:nth-child(even) .solution-visual { order: 2; }
    .solution-detail:nth-child(even) .solution-content { order: 1; }
    .solution-visual {
      border-radius: var(--radius-xl);
      overflow: hidden;
      background: var(--color-gray-100);
      aspect-ratio: 4/3;
    }
    .solution-visual img { width: 100%; height: 100%; object-fit: cover; }
    .solution-content { max-width: 520px; }
    .solution-content .text-h2 { margin-bottom: var(--space-sm); }
    .solution-content .text-body { margin-bottom: var(--space-md); }
    .solution-services {
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
      margin: var(--space-md) 0;
    }
    .solution-service {
      padding: var(--space-sm) var(--space-md);
      border-radius: var(--radius-md);
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .solution-service:hover {
      border-color: var(--color-orange);
      box-shadow: 0 4px 12px rgba(234,88,12,0.06);
    }
    .solution-service h4 {
      font-family: var(--font-display);
      font-size: 0.95rem; font-weight: 600;
      color: var(--color-black);
      margin-bottom: 0.25rem;
    }
    .solution-service p {
      font-size: 0.85rem; color: var(--color-gray-500); line-height: 1.5;
    }
    .solution-cta {
      margin-top: var(--space-md);
    }

    @media (max-width: 1024px) {
      .solution-detail { grid-template-columns: 1fr; gap: var(--space-xl); }
      .solution-detail:nth-child(even) .solution-visual,
      .solution-detail:nth-child(even) .solution-content { order: unset; }
      .solution-visual { order: -1; }
    }



/* ─── Styles from contact.html ─── */
.page-hero {
      padding: calc(var(--space-4xl) + 60px) 0 var(--space-3xl);
      background: var(--color-cream);
      position: relative;
      overflow: hidden;
    }
    .page-hero-bg {
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 50% 20%, rgba(234,88,12,0.04) 0%, transparent 60%);
    }
    .breadcrumb {
      display: flex; align-items: center; gap: 0.5rem;
      font-size: 0.8rem; color: var(--color-gray-500);
      margin-bottom: var(--space-md);
    }
    .breadcrumb a:hover { color: var(--color-orange); }
    .breadcrumb-sep { opacity: 0.4; }

    .contact-layout {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: var(--space-3xl);
      align-items: start;
    }
    .contact-info h2 {
      font-family: var(--font-display);
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--color-black);
      margin-bottom: var(--space-sm);
    }
    .contact-info > p {
      font-size: 1rem;
      color: var(--color-gray-500);
      line-height: 1.6;
      margin-bottom: var(--space-lg);
    }
    .contact-cards {
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
      margin-bottom: var(--space-lg);
    }
    .contact-card {
      display: flex;
      align-items: flex-start;
      gap: var(--space-sm);
      padding: var(--space-md);
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-lg);
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .contact-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.04);
    }
    .contact-card-icon {
      width: 40px; height: 40px;
      border-radius: var(--radius-md);
      background: var(--color-orange-light);
      color: var(--color-orange);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .contact-card-icon svg {
      width: 20px; height: 20px;
    }
    .contact-card-body h4 {
      font-family: var(--font-display);
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--color-black);
      margin-bottom: 0.2rem;
    }
    .contact-card-body p,
    .contact-card-body a {
      font-size: 0.9rem;
      color: var(--color-gray-500);
      line-height: 1.4;
    }
    .contact-card-body a:hover {
      color: var(--color-orange);
    }

    .contact-form-wrapper {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-xl);
      padding: var(--space-xl);
    }
    .contact-form-wrapper h2 {
      font-family: var(--font-display);
      font-size: 1.4rem;
      font-weight: 600;
      color: var(--color-black);
      margin-bottom: var(--space-xs);
    }
    .contact-form-wrapper > p {
      font-size: 0.95rem;
      color: var(--color-gray-500);
      margin-bottom: var(--space-lg);
    }
    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-md);
    }
    .form-group {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
    }
    .form-group.full {
      grid-column: span 2;
    }
    .form-group label {
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--color-gray-700);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }
    .form-group input,
    .form-group select,
    .form-group textarea {
      font-family: var(--font-body);
      font-size: 0.95rem;
      padding: 0.85rem 1rem;
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-md);
      background: var(--color-cream);
      color: var(--color-black);
      transition: border-color var(--duration-fast) var(--ease-out-expo),
                  box-shadow var(--duration-fast) var(--ease-out-expo);
    }
    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
      outline: none;
      border-color: var(--color-orange);
      box-shadow: 0 0 0 3px rgba(234,88,12,0.08);
    }
    .form-group textarea {
      resize: vertical;
      min-height: 120px;
    }
    .form-group select {
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23787774' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 1rem center;
      padding-right: 2.5rem;
    }
    .form-submit {
      grid-column: span 2;
      display: flex;
      justify-content: flex-end;
      margin-top: var(--space-sm);
    }

    .form-checkboxes {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--space-xs) var(--space-md);
      margin-top: var(--space-xs);
    }
    .form-checkbox {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--color-gray-700);
      cursor: pointer;
      padding: 0.35rem 0;
    }
    .form-checkbox input[type="checkbox"] {
      width: 18px; height: 18px;
      border: 1.5px solid var(--color-gray-200);
      border-radius: var(--radius-sm);
      appearance: none;
      cursor: pointer;
      flex-shrink: 0;
      transition: all var(--duration-fast) var(--ease-out-expo);
      accent-color: var(--color-orange);
    }
    .form-checkbox input[type="checkbox"]:checked {
      background: var(--color-orange);
      border-color: var(--color-orange);
      background-image: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
    }
    .form-checkbox input[type="checkbox"]:focus {
      outline: none;
      box-shadow: 0 0 0 3px rgba(234,88,12,0.12);
    }
    .form-radio-group {
      display: flex;
      gap: var(--space-md);
      margin-top: var(--space-xs);
    }
    .form-radio {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-size: 0.95rem;
      font-weight: 500;
      color: var(--color-gray-700);
      cursor: pointer;
    }
    .form-radio input[type="radio"] {
      width: 18px; height: 18px;
      border: 1.5px solid var(--color-gray-200);
      border-radius: 50%;
      appearance: none;
      cursor: pointer;
      flex-shrink: 0;
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .form-radio input[type="radio"]:checked {
      border-color: var(--color-orange);
      background: var(--color-orange);
      background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='3' cy='3' r='3' fill='white'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
    }
    .form-radio input[type="radio"]:focus {
      outline: none;
      box-shadow: 0 0 0 3px rgba(234,88,12,0.12);
    }

    .certif-row {
      display: flex;
      align-items: center;
      gap: var(--space-lg);
      margin-top: var(--space-lg);
      flex-wrap: wrap;
    }
    .certif-row span {
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--color-gray-500);
    }
    .certif-row .certif-badge {
      font-family: var(--font-display);
      font-size: 0.9rem;
      font-weight: 700;
      color: var(--color-gray-700);
      opacity: 0.6;
      transition: opacity var(--duration-fast);
    }
    .certif-row .certif-badge:hover { opacity: 1; }

    .map-section {
      position: relative;
      border-radius: var(--radius-xl);
      overflow: hidden;
      background: var(--color-gray-100);
      aspect-ratio: 21/9;
    }
    .map-section iframe {
      width: 100%; height: 100%;
      border: none;
      filter: grayscale(30%) contrast(1.1);
    }

    @media (max-width: 1024px) {
      .contact-layout { grid-template-columns: 1fr; gap: var(--space-xl); }
      .contact-info { order: 2; }
      .contact-form-wrapper { order: 1; }
      .form-grid { grid-template-columns: 1fr; }
      .form-group.full { grid-column: span 1; }
      .form-submit { grid-column: span 1; }
      .map-section { aspect-ratio: 16/9; }
    }
    @media (max-width: 640px) {
      .form-checkboxes { grid-template-columns: 1fr; }
    }

    /* ─── WPForms integration for contact page ─── */
    .contact-form-wrapper .wpforms-container {
      margin: 0;
      padding: 0;
    }
    .contact-form-wrapper .wpforms-field-label {
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--color-gray-700);
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 0.4rem;
      display: block;
    }
    .contact-form-wrapper .wpforms-field-label .wpforms-required-label {
      color: var(--color-orange);
    }
    .contact-form-wrapper .wpforms-field input,
    .contact-form-wrapper .wpforms-field textarea,
    .contact-form-wrapper .wpforms-field select {
      font-family: var(--font-body);
      font-size: 0.95rem;
      padding: 0.85rem 1rem;
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-md);
      background: var(--color-cream);
      color: var(--color-black);
      transition: border-color var(--duration-fast) var(--ease-out-expo),
                  box-shadow var(--duration-fast) var(--ease-out-expo);
      width: 100%;
      max-width: 100%;
    }
    .contact-form-wrapper .wpforms-field input:focus,
    .contact-form-wrapper .wpforms-field textarea:focus,
    .contact-form-wrapper .wpforms-field select:focus {
      outline: none;
      border-color: var(--color-orange);
      box-shadow: 0 0 0 3px rgba(234,88,12,0.08);
    }
    .contact-form-wrapper .wpforms-field textarea {
      resize: vertical;
      min-height: 120px;
    }
    .contact-form-wrapper .wpforms-field select {
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23787774' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 1rem center;
      padding-right: 2.5rem;
    }
    .contact-form-wrapper .wpforms-submit {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.9rem 1.8rem;
      background: var(--color-orange);
      color: white;
      font-family: var(--font-display);
      font-size: 0.95rem;
      font-weight: 600;
      border: none;
      border-radius: var(--radius-md);
      cursor: pointer;
      transition: all var(--duration-fast) var(--ease-out-expo);
      box-shadow: 0 4px 14px rgba(234,88,12,0.25);
      text-decoration: none;
    }
    .contact-form-wrapper .wpforms-submit:hover {
      background: var(--color-orange-dark);
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(234,88,12,0.3);
    }
    .contact-form-wrapper .wpforms-submit:active {
      transform: translateY(0) scale(0.98);
    }
    .contact-form-wrapper .wpforms-field {
      margin-bottom: var(--space-md);
    }
    .contact-form-wrapper .wpforms-field-checkbox ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .contact-form-wrapper .wpforms-field-checkbox li {
      margin-bottom: 0.4rem;
    }
    .contact-form-wrapper .wpforms-field-checkbox input[type="checkbox"] {
      width: 18px;
      height: 18px;
      border: 1.5px solid var(--color-gray-200);
      border-radius: var(--radius-sm);
      appearance: none;
      cursor: pointer;
      margin-right: 0.5rem;
      vertical-align: middle;
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .contact-form-wrapper .wpforms-field-checkbox input[type="checkbox"]:checked {
      background: var(--color-orange);
      border-color: var(--color-orange);
      background-image: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
    }
    .contact-form-wrapper .wpforms-field-checkbox label {
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--color-gray-700);
      cursor: pointer;
      vertical-align: middle;
    }
    /* Neutralise les marges internes de WPForms sur les rows */
    .contact-form-wrapper .wpforms-field .wpforms-field-row {
      margin-bottom: 0 !important;
    }
    .contact-form-wrapper .wpforms-field .wpforms-field-row:last-of-type {
      margin-bottom: 0 !important;
    }

    .contact-form-wrapper .wpforms-field-name .wpforms-field-row {
      display: block;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-md);
    }
    .contact-form-wrapper .wpforms-field-name .wpforms-field-row .wpforms-field-name-first,
    .contact-form-wrapper .wpforms-field-name .wpforms-field-row .wpforms-field-name-last {
      width: 100%;
    }
    .contact-form-wrapper .wpforms-submit-spinner {
      margin-left: 0.5rem;
    }

    /* ─── Styles from tarifs.html ─── */
    .pricing-table {
      max-width: 900px;
      margin: 0 auto var(--space-3xl);
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-xl);
      padding: var(--space-xl);
    }
    .pricing-table:last-of-type { margin-bottom: 0; }
    .pricing-title {
      font-family: var(--font-display);
      font-size: clamp(1.1rem, 2.5vw, 1.4rem);
      font-weight: 600;
      color: var(--color-black);
      margin-bottom: var(--space-md);
      padding-bottom: var(--space-sm);
      border-bottom: 1px solid var(--color-gray-200);
    }
    .pricing-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: var(--space-md);
      padding: var(--space-sm) 0;
      border-bottom: 1px solid var(--color-gray-100);
    }
    .pricing-row:last-child { border-bottom: none; }
    .pricing-cell { flex: 1; }
    .pricing-cell h4 {
      font-family: var(--font-display);
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--color-black);
      margin-bottom: 0.2rem;
    }
    .pricing-cell p {
      font-size: 0.85rem;
      color: var(--color-gray-500);
      line-height: 1.5;
    }
    .pricing-price {
      font-family: var(--font-display);
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--color-orange);
      white-space: nowrap;
      flex-shrink: 0;
    }
    @media (max-width: 640px) {
      .pricing-table { padding: var(--space-md); margin-bottom: var(--space-xl); }
      .pricing-row { flex-direction: column; gap: var(--space-xs); }
      .pricing-price { text-align: left; }
    }

    /* ─── Styles from guides.html ─── */
    .guide-filters {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-xs);
      margin-bottom: var(--space-xl);
      justify-content: center;
    }
    .guide-filter {
      font-family: var(--font-body);
      font-size: 0.8rem;
      font-weight: 500;
      padding: 0.5rem 1rem;
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-full);
      background: var(--color-white);
      color: var(--color-gray-700);
      cursor: pointer;
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .guide-filter:hover {
      border-color: var(--color-orange);
      color: var(--color-orange);
    }
    .guide-filter.active {
      background: var(--color-orange);
      border-color: var(--color-orange);
      color: var(--color-white);
    }
    .guide-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-lg);
    }
    .guide-card {
      background: var(--color-white);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-xl);
      overflow: hidden;
      transition: all var(--duration-normal) var(--ease-out-expo);
      display: flex;
      flex-direction: column;
    }
    .guide-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.06);
      border-color: var(--color-gray-300);
    }
    .guide-image {
      display: block;
      aspect-ratio: 3/2;
      overflow: hidden;
      background: var(--color-gray-100);
    }
    .guide-image img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform var(--duration-slow) var(--ease-out-expo);
    }
    .guide-card:hover .guide-image img {
      transform: scale(1.04);
    }
    .guide-body {
      padding: var(--space-md);
      display: flex;
      flex-direction: column;
      flex: 1;
    }
    .guide-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
      margin-bottom: var(--space-sm);
    }
    .guide-title {
      font-family: var(--font-display);
      font-size: 1.05rem;
      font-weight: 600;
      line-height: 1.35;
      color: var(--color-black);
      margin-bottom: var(--space-sm);
    }
    .guide-title a:hover { color: var(--color-orange); }
    .guide-body .text-body-sm {
      font-size: 0.88rem;
      color: var(--color-gray-500);
      line-height: 1.6;
      margin-bottom: var(--space-md);
      flex: 1;
    }
    .guide-link {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--color-orange);
      transition: gap var(--duration-fast) var(--ease-out-expo);
    }
    .guide-link:hover { gap: 0.6rem; }
    .guide-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-xs);
      margin-top: var(--space-2xl);
    }
    .guide-page {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px; height: 40px;
      border-radius: var(--radius-md);
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--color-gray-700);
      border: 1px solid var(--color-gray-200);
      background: var(--color-white);
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .guide-page:hover, .guide-page.active {
      background: var(--color-orange);
      border-color: var(--color-orange);
      color: var(--color-white);
    }
    .guide-page-dots {
      font-size: 0.9rem;
      color: var(--color-gray-500);
      padding: 0 var(--space-xs);
    }
    .guide-next {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--color-gray-700);
      padding: 0.5rem var(--space-sm);
      border: 1px solid var(--color-gray-200);
      border-radius: var(--radius-md);
      background: var(--color-white);
      transition: all var(--duration-fast) var(--ease-out-expo);
    }
    .guide-next:hover {
      border-color: var(--color-orange);
      color: var(--color-orange);
    }
    @media (max-width: 1024px) {
      .guide-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 640px) {
      .guide-grid { grid-template-columns: 1fr; }
      .guide-filters { justify-content: flex-start; }
    }

/* ─── Index articles / Nos guides ─── */
body.myai-refonte-page.myai-guides-index-page {
  background: var(--color-cream);
}

body.myai-refonte-page.myai-guides-index-page .site-content,
body.myai-refonte-page.myai-guides-index-page .site-main {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

.myai-guides-index .page-hero {
  padding-top: calc(var(--space-4xl) + 76px);
  padding-bottom: var(--space-2xl);
}

.myai-guides-index .page-hero .text-body {
  max-width: 720px;
}

.myai-guides-index .guides-list-section {
  padding-top: var(--space-xl);
}

.myai-guides-index .guide-image-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 22% 20%, rgba(234, 88, 12, 0.16), transparent 34%),
    linear-gradient(135deg, var(--color-cream), var(--color-white));
  color: var(--color-orange);
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.myai-guides-index .guide-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.myai-guides-index .guide-pagination .page-numbers li {
  margin: 0;
}

.myai-guides-index .guide-pagination .page-numbers :where(a, span) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding-inline: 0.85rem;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  background: var(--color-white);
  color: var(--color-gray-700);
  font-size: 0.9rem;
  font-weight: 600;
}

.myai-guides-index .guide-pagination .page-numbers .current,
.myai-guides-index .guide-pagination .page-numbers a:hover {
  border-color: var(--color-orange);
  background: var(--color-orange);
  color: var(--color-white);
}

.myai-guides-index .guides-empty {
  max-width: 680px;
  margin-inline: auto;
  padding: var(--space-2xl);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  text-align: center;
}

/* ─── Guides / Articles — modern enhancements ─── */
body.myai-refonte-page .myai-guides-index .guides-hero {
  position: relative;
  overflow: hidden;
}

body.myai-refonte-page .myai-guides-index .guides-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 30%, rgba(234, 88, 12, 0.08), transparent 40%),
    radial-gradient(circle at 82% 70%, rgba(234, 88, 12, 0.05), transparent 35%);
  pointer-events: none;
  z-index: 0;
}

body.myai-refonte-page .myai-guides-index .guides-hero .container {
  position: relative;
  z-index: 1;
}

body.myai-refonte-page .myai-guides-index .guides-counter {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: var(--space-md);
  padding: 0.45rem 1rem;
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-gray-600);
  letter-spacing: 0.02em;
}

body.myai-refonte-page .myai-guides-index .guides-counter::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-orange);
}

/* Filtres modernisés */
body.myai-refonte-page .myai-guides-index .guide-filters {
  gap: 0.5rem;
  margin-bottom: var(--space-2xl);
}

body.myai-refonte-page .myai-guides-index .guide-filter {
  font-size: 0.85rem;
  font-weight: 600;
  padding: 0.55rem 1.2rem;
  border: 1.5px solid var(--color-gray-200);
  background: var(--color-white);
  color: var(--color-gray-600);
  transition: all var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-page .myai-guides-index .guide-filter:hover {
  border-color: var(--color-orange);
  color: var(--color-orange);
  background: rgba(234, 88, 12, 0.04);
}

body.myai-refonte-page .myai-guides-index .guide-filter.active {
  background: var(--color-black);
  border-color: var(--color-black);
  color: var(--color-white);
}

/* Cartes modernisées */
body.myai-refonte-page .myai-guides-index .guide-grid {
  gap: var(--space-xl);
}

body.myai-refonte-page .myai-guides-index .guide-card {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  background: var(--color-white);
  transition: all var(--duration-normal) var(--ease-out-expo);
}

body.myai-refonte-page .myai-guides-index .guide-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.08);
  border-color: var(--color-gray-300);
}

body.myai-refonte-page .myai-guides-index .guide-image {
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

body.myai-refonte-page .myai-guides-index .guide-image img {
  transition: transform var(--duration-slow) var(--ease-out-expo);
}

body.myai-refonte-page .myai-guides-index .guide-card:hover .guide-image img {
  transform: scale(1.05);
}

body.myai-refonte-page .myai-guides-index .guide-body {
  padding: var(--space-lg);
}

body.myai-refonte-page .myai-guides-index .guide-meta {
  gap: 0.5rem;
  margin-bottom: var(--space-md);
}

body.myai-refonte-page .myai-guides-index .guide-meta .tag {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  border-radius: var(--radius-full);
  background: var(--color-gray-100);
  color: var(--color-gray-600);
  border: 1px solid var(--color-gray-200);
}

body.myai-refonte-page .myai-guides-index .guide-meta .tag.tag-orange {
  background: rgba(234, 88, 12, 0.08);
  color: var(--color-orange);
  border-color: rgba(234, 88, 12, 0.15);
}

body.myai-refonte-page .myai-guides-index .guide-title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: var(--space-sm);
}

body.myai-refonte-page .myai-guides-index .guide-title a {
  color: inherit;
  text-decoration: none;
}

body.myai-refonte-page .myai-guides-index .guide-body .text-body-sm {
  font-size: 0.9rem;
  color: var(--color-gray-600);
  line-height: 1.65;
  margin-bottom: var(--space-lg);
}

body.myai-refonte-page .myai-guides-index .guide-link {
  gap: 0.4rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--color-orange);
  margin-top: auto;
}

body.myai-refonte-page .myai-guides-index .guide-link-arrow {
  transition: transform var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-page .myai-guides-index .guide-link:hover .guide-link-arrow {
  transform: translateX(3px);
}

/* Pagination modernisée */
body.myai-refonte-page .myai-guides-index .guide-pagination {
  margin-top: var(--space-3xl);
}

body.myai-refonte-page .myai-guides-index .guide-pagination .page-numbers :where(a, span) {
  min-width: 44px;
  height: 44px;
  font-weight: 600;
  border: 1.5px solid var(--color-gray-200);
  transition: all var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-page .myai-guides-index .guide-pagination .page-numbers a:hover {
  background: var(--color-black);
  border-color: var(--color-black);
  color: var(--color-white);
}

body.myai-refonte-page .myai-guides-index .guide-pagination .page-numbers .current {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}

/* Empty state amélioré */
body.myai-refonte-page .myai-guides-index .guides-empty {
  border: 1.5px dashed var(--color-gray-300);
  background:
    radial-gradient(circle at 30% 30%, rgba(234, 88, 12, 0.04), transparent 40%),
    var(--color-white);
}

/* ─── Single post — Elementor adaptatif ─── */
body.myai-refonte-page.single-post.myai-refonte-elementor .site-content {
  padding-top: clamp(96px, 11vw, 136px) !important;
  padding-bottom: clamp(48px, 7vw, 88px) !important;
}

body.myai-refonte-page.single-post.myai-refonte-elementor article,
body.myai-refonte-page.single-post.myai-refonte-elementor .entry-content,
body.myai-refonte-page.single-post.myai-refonte-elementor .entry-content > * {
  max-width: 100% !important;
  margin-inline: auto !important;
}

body.myai-refonte-page.single-post.myai-refonte-elementor .entry-content :where(.elementor, .elementor-section, .elementor-container, .e-con) {
  max-width: 100% !important;
}

/* Single post non-Elementor — container lisible */
body.myai-refonte-page.single-post:not(.myai-refonte-elementor) .site-content {
  padding-top: clamp(96px, 11vw, 136px) !important;
  padding-bottom: clamp(48px, 7vw, 88px) !important;
}

body.myai-refonte-page.single-post:not(.myai-refonte-elementor) .entry-content {
  max-width: 780px;
  margin-inline: auto !important;
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--color-gray-700);
}

body.myai-refonte-page.single-post:not(.myai-refonte-elementor) .entry-content h1,
body.myai-refonte-page.single-post:not(.myai-refonte-elementor) .entry-content h2,
body.myai-refonte-page.single-post:not(.myai-refonte-elementor) .entry-content h3 {
  font-family: var(--font-display);
  color: var(--color-black);
  text-wrap: balance;
  margin-top: var(--space-xl);
}

body.myai-refonte-page.single-post:not(.myai-refonte-elementor) .entry-content a {
  color: var(--color-orange);
  font-weight: 600;
}

/* ─── Single post hero — modern article header ─── */
body.myai-refonte-page .myai-post-hero {
  position: relative;
  padding-top: calc(var(--space-4xl) + 76px);
  padding-bottom: var(--space-2xl);
  background:
    radial-gradient(circle at 18% 30%, rgba(234, 88, 12, 0.06), transparent 40%),
    radial-gradient(circle at 82% 70%, rgba(234, 88, 12, 0.03), transparent 35%),
    var(--color-cream);
  overflow: hidden;
}

body.myai-refonte-page .myai-post-hero-inner {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
}

body.myai-refonte-page .myai-post-category {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 1rem;
  background: rgba(234, 88, 12, 0.08);
  border: 1px solid rgba(234, 88, 12, 0.15);
  border-radius: var(--radius-full);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-orange);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: var(--space-md);
  transition: all var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-page .myai-post-category:hover {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}

body.myai-refonte-page .myai-post-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--color-black);
  text-wrap: balance;
  margin-bottom: var(--space-md);
}

body.myai-refonte-page .myai-post-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--color-gray-600);
  font-weight: 500;
}

body.myai-refonte-page .myai-post-meta .meta-separator {
  color: var(--color-gray-400);
  font-weight: 700;
}

body.myai-refonte-page .myai-post-hero-image {
  max-width: 720px;
  margin-top: var(--space-xl);
  margin-inline: auto;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}

body.myai-refonte-page .myai-post-hero-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 21 / 9;
  max-height: 340px;
}

/* Post article content wrapper */
body.myai-refonte-page .myai-post-article {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-3xl);
}

body.myai-refonte-page .myai-post-content {
  max-width: 780px;
  margin-inline: auto;
}

/* Elementor posts : le contenu doit rester full-width pour Elementor */
body.myai-refonte-page.single-post.myai-refonte-elementor .myai-post-content {
  max-width: 100%;
}

/* Post navigation */
body.myai-refonte-page .myai-post-nav {
  border-top: 1px solid var(--color-gray-200);
  padding-top: var(--space-xl);
  padding-bottom: var(--space-2xl);
  background: var(--color-white);
}

body.myai-refonte-page .myai-post-nav-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--space-lg);
  max-width: 1100px;
  margin-inline: auto;
}

body.myai-refonte-page .myai-post-nav-prev,
body.myai-refonte-page .myai-post-nav-next {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

body.myai-refonte-page .myai-post-nav-prev a,
body.myai-refonte-page .myai-post-nav-next a {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-decoration: none;
  color: inherit;
  transition: color var(--duration-fast) var(--ease-out-expo);
}

body.myai-refonte-page .myai-post-nav-prev a:hover,
body.myai-refonte-page .myai-post-nav-next a:hover {
  color: var(--color-orange);
}

body.myai-refonte-page .myai-post-nav-prev .nav-label,
body.myai-refonte-page .myai-post-nav-next .nav-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-gray-500);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

body.myai-refonte-page .myai-post-nav-prev .nav-title,
body.myai-refonte-page .myai-post-nav-next .nav-title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-black);
  line-height: 1.3;
  text-wrap: balance;
}

body.myai-refonte-page .myai-post-nav-prev a:hover .nav-title,
body.myai-refonte-page .myai-post-nav-next a:hover .nav-title {
  color: var(--color-orange);
}

body.myai-refonte-page .myai-post-nav-archive {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.4rem;
  border: 1.5px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-gray-600);
  text-decoration: none;
  transition: all var(--duration-fast) var(--ease-out-expo);
  white-space: nowrap;
}

body.myai-refonte-page .myai-post-nav-archive:hover {
  border-color: var(--color-orange);
  color: var(--color-orange);
  background: rgba(234, 88, 12, 0.04);
}

body.myai-refonte-page .myai-post-nav-prev {
  text-align: left;
}

body.myai-refonte-page .myai-post-nav-next {
  text-align: right;
}

@media (max-width: 640px) {
  body.myai-refonte-page .myai-post-nav-inner {
    grid-template-columns: 1fr;
    gap: var(--space-md);
    text-align: center;
  }

  body.myai-refonte-page .myai-post-nav-prev,
  body.myai-refonte-page .myai-post-nav-next {
    text-align: center;
  }

  body.myai-refonte-page .myai-post-nav-archive {
    order: -1;
  }
}

/* ─── Pages legales conservees sous Elementor ─── */
body.myai-refonte-page.myai-legal-page {
  background:
    radial-gradient(circle at 10% 0%, rgba(234, 88, 12, 0.10), transparent 28rem),
    linear-gradient(180deg, var(--color-cream) 0%, #ffffff 42rem);
}

body.myai-refonte-page.myai-legal-page .site-content {
  padding-top: clamp(96px, 11vw, 136px) !important;
  padding-bottom: clamp(48px, 7vw, 88px) !important;
}

body.myai-refonte-page.myai-legal-page .site-main {
  /*padding-inline: max(20px, calc((100vw - 1080px) / 2 + 20px)) !important;*/
}

body.myai-refonte-page.myai-legal-page article {
  max-width: 960px !important;
  margin-inline: auto !important;
}

body.myai-refonte-page.myai-legal-page .entry-content {
  max-width: 920px !important;
  margin-inline: auto !important;
}

body.myai-refonte-page.myai-legal-page .entry-content > * {
  max-width: 780px !important;
  margin-inline: auto !important;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(.elementor, .elementor-section, .elementor-container, .e-con) {
  max-width: 100% !important;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(.elementor-widget-container, .wp-block-group, .wp-block-columns) {
  margin-inline: auto;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(h1, h2, h3, h4, h5, h6) {
  color: var(--color-black);
  text-wrap: balance;
}

body.myai-refonte-page.myai-legal-page .entry-content h1 {
  margin-bottom: clamp(24px, 4vw, 40px);
  line-height: 0.98;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

body.myai-refonte-page.myai-legal-page .entry-content h2 {
  margin-top: clamp(36px, 5vw, 56px);
  margin-bottom: 0.8rem;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  line-height: 1.12;
}

body.myai-refonte-page.myai-legal-page .entry-content h3 {
  margin-top: 2rem;
  margin-bottom: 0.65rem;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.2;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(p, li) {
  color: var(--color-gray-700);
  font-size: clamp(1rem, 1.5vw, 1.08rem);
  line-height: 1.75;
  text-wrap: pretty;
}

body.myai-refonte-page.myai-legal-page .entry-content p + p {
  margin-top: 1rem;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(ul, ol) {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
  margin-bottom: 1.25rem;
  padding-left: 1.35rem;
  list-style-position: outside;
}

body.myai-refonte-page.myai-legal-page .entry-content ul {
  list-style: disc;
}

body.myai-refonte-page.myai-legal-page .entry-content ol {
  list-style: decimal;
}

body.myai-refonte-page.myai-legal-page .entry-content a {
  color: var(--color-orange);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(strong, b) {
  color: var(--color-charcoal);
  font-weight: 700;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(table) {
  width: 100%;
  border-collapse: collapse;
  margin-block: 1.5rem;
  overflow-wrap: anywhere;
}

body.myai-refonte-page.myai-legal-page .entry-content :where(th, td) {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--color-gray-200);
  text-align: left;
  vertical-align: top;
}

@media (max-width: 768px) {
  body.myai-refonte-page .myai-refonte-header .nav-links {
    display: none !important;
  }

  body.myai-refonte-shell .myai-refonte-header .nav-links {
    display: none !important;
  }

  body.myai-refonte-page .myai-refonte-header .nav-mobile-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 44px;
    padding: 0 !important;
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(47, 52, 55, 0.12) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 12px 30px rgba(47, 52, 55, 0.10);
  }

  body.myai-refonte-shell .myai-refonte-header .nav-mobile-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 44px;
    padding: 0 !important;
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(47, 52, 55, 0.12) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 12px 30px rgba(47, 52, 55, 0.10);
  }

  body.myai-refonte-page .myai-refonte-header .logo-image img {
    width: auto !important;
    height: 42px !important;
    max-width: 180px !important;
    object-fit: contain;
  }

  body.myai-refonte-shell .myai-refonte-header .logo-image img {
    width: auto !important;
    height: 42px !important;
    max-width: 180px !important;
    object-fit: contain;
  }

  body.myai-refonte-page .myai-refonte-header .nav-mobile-overlay:not(.open) {
    visibility: hidden;
  }

  body.myai-refonte-shell .myai-refonte-header .nav-mobile-overlay:not(.open) {
    visibility: hidden;
  }

  body.myai-refonte-page .myai-refonte-header .nav-mobile-overlay.open {
    visibility: visible;
  }

  body.myai-refonte-shell .myai-refonte-header .nav-mobile-overlay.open {
    visibility: visible;
  }

  body.myai-refonte-shell .myai-refonte-footer .footer-grid {
    grid-template-columns: 1fr;
  }

  body.myai-refonte-shell .myai-refonte-footer .footer-menu-columns {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  body.myai-refonte-page.myai-legal-page .site-content {
    padding-top: 88px !important;
  }

  body.myai-refonte-page.myai-legal-page .site-main {
    padding-inline: 16px !important;
  }

  body.myai-refonte-page.myai-legal-page .entry-content {
    padding: 26px 20px !important;
    border-radius: var(--radius-md);
  }

  body.myai-refonte-page.myai-legal-page .entry-content h1 {
    font-size: clamp(1.68rem, 8.8vw, 2.35rem);
    line-height: 1.08;
  }
}

/* ============================================
   CGV Formations — numbered articles list
   ============================================ */
.cgv-articles-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cgv-articles-list li {
  border-left: 3px solid var(--color-orange);
  padding-left: var(--space-md);
  margin-bottom: var(--space-xl);
  font-size: 0.95rem;
  color: var(--color-gray-500);
  line-height: 1.7;
}

.cgv-articles-list li:last-child {
  margin-bottom: 0;
}

.cgv-articles-list li strong {
  display: block;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-black);
  margin-bottom: var(--space-sm);
}

/* CGV Article blocks */
.cgv-article {
  border-left: 3px solid var(--color-orange);
  padding-left: var(--space-md);
  margin-bottom: var(--space-xl);
}

.cgv-article:last-child {
  margin-bottom: 0;
}

.cgv-article h2 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-black);
  margin-bottom: var(--space-sm);
  margin-top: 0;
}

.cgv-article h3 {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-black);
  margin-top: var(--space-md);
  margin-bottom: var(--space-sm);
}

.cgv-article p,
.cgv-article ul,
.cgv-article ol {
  font-size: 0.95rem;
  color: var(--color-gray-500);
  line-height: 1.7;
  margin-bottom: var(--space-sm);
}

.cgv-article ul,
.cgv-article ol {
  margin-left: var(--space-md);
}

.cgv-article li {
  margin-bottom: var(--space-xs);
}

.cgv-article li:last-child {
  margin-bottom: 0;
}

/* ============================================
   Corrections design global — MyAI Factory
   ============================================ */

/* ─── Service icon image ─── */
.service-icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

/* ─── Bento grid : forcer grid malgré Gutenberg ─── */
body.myai-refonte-page .wp-block-columns.bento-grid {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: var(--space-md) !important;
}
body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column {
  flex-basis: auto !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  width: auto !important;
}
body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column.bento-item.col-8 { grid-column: span 8 !important; }
body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column.bento-item.col-4 { grid-column: span 4 !important; }
body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column.bento-item.col-6 { grid-column: span 6 !important; }
body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column.bento-item.col-12 { grid-column: span 12 !important; }
@media (max-width: 768px) {
  body.myai-refonte-page .wp-block-columns.bento-grid {
    grid-template-columns: 1fr !important;
  }
  body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column.bento-item.col-8,
  body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column.bento-item.col-4,
  body.myai-refonte-page .wp-block-columns.bento-grid .wp-block-column.bento-item.col-6 { grid-column: span 1 !important; }
}

/* ─── CTA : bouton secondary visible sur fond noir ─── */
.cta-section .btn-secondary,
.cta-section .wp-block-button.btn-secondary .wp-block-button__link {
  border-color: rgba(255,255,255,0.25) !important;
  color: var(--color-white) !important;
}
.cta-section .btn-secondary:hover,
.cta-section .wp-block-button.btn-secondary .wp-block-button__link:hover {
  border-color: var(--color-white) !important;
  background: var(--color-white) !important;
  color: var(--color-black) !important;
}

/* ─── FAQ native (details/summary) ─── */
body.myai-refonte-page .myai-maquette-page details.faq-item,
body.myai-refonte-page .entry-content details.faq-item {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-sm);
  transition: border-color var(--duration-fast) var(--ease-out-expo),
              transform var(--duration-fast) var(--ease-out-expo),
              box-shadow var(--duration-fast) var(--ease-out-expo);
}
body.myai-refonte-page .myai-maquette-page details.faq-item:hover,
body.myai-refonte-page .entry-content details.faq-item:hover {
  border-color: var(--color-gray-300);
  transform: translateY(-1px);
}
body.myai-refonte-page .myai-maquette-page details.faq-item[open],
body.myai-refonte-page .entry-content details.faq-item[open] {
  border-color: var(--color-orange);
  transform: translateY(-2px);
}
body.myai-refonte-page .myai-maquette-page details.faq-item > summary,
body.myai-refonte-page .entry-content details.faq-item > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-black);
  cursor: pointer;
  gap: var(--space-md);
  line-height: 1.35;
  list-style: none;
}
body.myai-refonte-page .myai-maquette-page details.faq-item > summary::-webkit-details-marker,
body.myai-refonte-page .entry-content details.faq-item > summary::-webkit-details-marker {
  display: none;
}
body.myai-refonte-page .myai-maquette-page details.faq-item > summary::after,
body.myai-refonte-page .entry-content details.faq-item > summary::after {
  content: '+';
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-gray-500);
  border: 1.5px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  transition: all var(--duration-fast) var(--ease-out-expo);
}
body.myai-refonte-page .myai-maquette-page details.faq-item:hover > summary::after,
body.myai-refonte-page .entry-content details.faq-item:hover > summary::after {
  border-color: var(--color-gray-400);
  color: var(--color-gray-700);
}
body.myai-refonte-page .myai-maquette-page details.faq-item[open] > summary::after,
body.myai-refonte-page .entry-content details.faq-item[open] > summary::after {
  content: '×';
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}
body.myai-refonte-page .myai-maquette-page details.faq-item > p,
body.myai-refonte-page .entry-content details.faq-item > p,
body.myai-refonte-page .myai-maquette-page details.faq-item > .wp-block-paragraph,
body.myai-refonte-page .entry-content details.faq-item > .wp-block-paragraph {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height var(--duration-slow) var(--ease-out-expo),
              opacity var(--duration-slow) var(--ease-out-expo),
              padding var(--duration-slow) var(--ease-out-expo);
}
body.myai-refonte-page .myai-maquette-page details.faq-item[open] > p,
body.myai-refonte-page .entry-content details.faq-item[open] > p,
body.myai-refonte-page .myai-maquette-page details.faq-item[open] > .wp-block-paragraph,
body.myai-refonte-page .entry-content details.faq-item[open] > .wp-block-paragraph {
  max-height: 400px;
  opacity: 1;
  padding-top: var(--space-sm);
}

/* ─── Témoignages sans image ─── */
.testimonial-author {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-top: auto;
}
.testimonial-author h5 {
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-black);
  margin: 0;
}
.testimonial-author p {
  font-size: 0.8rem;
  color: var(--color-gray-500);
  margin: 0;
}

/* ─── Landing pages : styles myai-* ─── */

/* Hero */
.myai-hero,
.myai-page-hero {
  padding-top: calc(var(--space-4xl) + 60px);
  padding-bottom: var(--space-3xl);
  background: var(--color-cream);
  position: relative;
  overflow: hidden;
}
.myai-hero::before,
.myai-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 30%, rgba(234,88,12,0.04) 0%, transparent 60%);
  pointer-events: none;
}
.myai-hero > *:not(.page-hero-bg),
.myai-page-hero > *:not(.page-hero-bg) {
  position: relative;
  z-index: 1;
}
.myai-display {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--color-black);
  margin-bottom: var(--space-md);
}
.myai-eyebrow {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-orange);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--space-sm);
}
.myai-lead {
  font-family: var(--font-body);
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--color-gray-700);
  max-width: 60ch;
  margin-bottom: var(--space-lg);
}

/* Sections */
.myai-section {
  padding: var(--space-3xl) 0;
}
.myai-section-cream {
  background: var(--color-cream);
}
.myai-section-head {
  max-width: 640px;
  margin-bottom: var(--space-xl);
}
.myai-section-head.myai-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.myai-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--color-black);
  margin-bottom: var(--space-sm);
}
.myai-section-intro {
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--color-gray-500);
  max-width: 60ch;
}

/* Card grids */
.myai-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}
.myai-card-grid-second {
  margin-top: var(--space-md);
}
.myai-service-card {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  transition: border-color var(--duration-fast) var(--ease-out-expo);
}
.myai-service-card:hover {
  border-color: var(--color-orange);
}
.myai-card-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-sm);
  color: var(--color-charcoal) !important;
  background: var(--color-cream);
  border: 1px solid var(--color-gray-200);
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
}
.myai-service-card h3 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--color-black);
}
.myai-service-card p {
  font-size: 0.9rem;
  color: var(--color-gray-500);
  line-height: 1.5;
}
@media (max-width: 1024px) {
  .myai-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .myai-card-grid { grid-template-columns: 1fr; }
}

/* Bento */
.myai-bento {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.myai-bento-item {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  transition: all var(--duration-fast) var(--ease-out-expo);
}
.myai-bento-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
}
.myai-bento-wide { grid-column: span 1; }
.myai-bento-highlight {
  background: var(--color-black);
  color: var(--color-white);
  border-color: var(--color-gray-900);
}
.myai-bento-highlight h3 { color: var(--color-white); }
.myai-bento-highlight p { color: rgba(255,255,255,0.7); }
.myai-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius-full);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: var(--space-sm);
}
.myai-tag-orange {
  background: var(--color-orange-light);
  color: var(--color-orange);
}
.myai-tag-green {
  background: #EDF3EC;
  color: #346538;
}
.myai-tag-blue {
  background: #E1F3FE;
  color: #1F6C9F;
}
.myai-meta {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-gray-500);
  margin-top: var(--space-sm);
}
@media (max-width: 768px) {
  .myai-bento { grid-template-columns: 1fr; }
}

/* Stats */
.myai-stats {
  padding: var(--space-2xl) 0;
}
.myai-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
}
.myai-stat-number {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-black);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.myai-stat-label {
  font-size: 0.8rem;
  color: var(--color-gray-500);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
@media (max-width: 1024px) {
  .myai-stats-row { grid-template-columns: repeat(2, 1fr); }
}

/* Split */
.myai-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
  align-items: center;
}
.myai-split .myai-image img {
  width: 100%;
  border-radius: var(--radius-xl);
  object-fit: cover;
}
@media (max-width: 1024px) {
  .myai-split { grid-template-columns: 1fr; gap: var(--space-xl); }
  .myai-split .myai-image { order: -1; }
}

/* FAQ landing pages */
.myai-faq {
  max-width: 800px;
  margin: 0 auto;
}
.myai-faq details {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-sm);
  transition: border-color var(--duration-fast) var(--ease-out-expo),
              transform var(--duration-fast) var(--ease-out-expo),
              box-shadow var(--duration-fast) var(--ease-out-expo);
}
.myai-faq details:hover {
  border-color: var(--color-gray-300);
  transform: translateY(-1px);
}
.myai-faq details[open] {
  border-color: var(--color-orange);
  transform: translateY(-2px);
}
.myai-faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-black);
  cursor: pointer;
  gap: var(--space-md);
  line-height: 1.35;
  list-style: none;
}
.myai-faq summary::-webkit-details-marker { display: none; }
.myai-faq summary::after {
  content: '+';
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-gray-500);
  border: 1.5px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  transition: all var(--duration-fast) var(--ease-out-expo);
}
.myai-faq details:hover summary::after {
  border-color: var(--color-gray-400);
  color: var(--color-gray-700);
}
.myai-faq details[open] summary::after {
  content: '×';
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}
.myai-faq details > p,
.myai-faq details > .wp-block-paragraph {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height var(--duration-slow) var(--ease-out-expo),
              opacity var(--duration-slow) var(--ease-out-expo),
              padding var(--duration-slow) var(--ease-out-expo);
}
.myai-faq details[open] > p,
.myai-faq details[open] > .wp-block-paragraph {
  max-height: 400px;
  opacity: 1;
  padding-top: var(--space-sm);
}

/* CTA landing pages */
.myai-cta {
  background: linear-gradient(165deg, var(--color-charcoal) 0%, var(--color-black) 60%, #1a1512 100%);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--radius-lg);
  padding: var(--space-3xl) var(--space-2xl);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.myai-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.03;
  background-image:
    linear-gradient(30deg, transparent 49%, rgba(255,255,255,0.4) 49%, rgba(255,255,255,0.4) 51%, transparent 51%),
    linear-gradient(-30deg, transparent 49%, rgba(255,255,255,0.4) 49%, rgba(255,255,255,0.4) 51%, transparent 51%);
  background-size: 48px 48px;
  pointer-events: none;
}
.myai-cta > * {
  position: relative;
  z-index: 1;
}
.myai-cta .myai-eyebrow {
  color: var(--color-orange);
}
.myai-cta .myai-title {
  color: var(--color-white);
  max-width: 600px;
  margin: var(--space-sm) auto var(--space-md);
}
.myai-cta .myai-section-intro {
  color: rgba(255,255,255,0.55);
  max-width: 480px;
  margin: 0 auto var(--space-lg);
}

/* Boutons landing pages */
.myai-btn-accent,
.wp-block-button.myai-btn-accent .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-orange);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  transition: all var(--duration-normal) var(--ease-spring);
  box-shadow: 0 4px 16px rgba(234,88,12,0.25);
}
.myai-btn-accent:hover,
.wp-block-button.myai-btn-accent .wp-block-button__link:hover {
  background: #C2410C;
  transform: scale(0.98);
  box-shadow: 0 6px 20px rgba(234,88,12,0.3);
}

.myai-btn-outline,
.wp-block-button.myai-btn-outline .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: transparent;
  color: var(--color-black);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-200);
  cursor: pointer;
  transition: all var(--duration-normal) var(--ease-spring);
}
.myai-btn-outline:hover,
.wp-block-button.myai-btn-outline .wp-block-button__link:hover {
  border-color: var(--color-black);
  background: var(--color-black);
  color: var(--color-white);
}

/* Bouton outline visible sur CTA noir */
.myai-cta .myai-btn-outline,
.myai-cta .wp-block-button.myai-btn-outline .wp-block-button__link {
  border-color: rgba(255,255,255,0.25) !important;
  color: var(--color-white) !important;
}
.myai-cta .myai-btn-outline:hover,
.myai-cta .wp-block-button.myai-btn-outline .wp-block-button__link:hover {
  border-color: var(--color-white) !important;
  background: var(--color-white) !important;
  color: var(--color-black) !important;
}

/* Actions boutons landing */
.myai-actions {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--space-lg);
}

/* Page content wrapper */
.myai-page-content {
  background: var(--color-cream);
}
.myai-page-content > .myai-section:first-child {
  padding-top: 0;
}

/* Responsive landing */
@media (max-width: 768px) {
  .myai-hero,
  .myai-page-hero {
    padding-top: calc(var(--space-3xl) + 40px);
  }
  .myai-display {
    font-size: clamp(1.8rem, 8vw, 2.8rem);
  }
  .myai-actions {
    flex-direction: column;
  }
  .myai-actions .myai-btn-accent,
  .myai-actions .myai-btn-outline {
    width: 100%;
    justify-content: center;
  }
  .myai-cta {
    padding: var(--space-2xl) var(--space-md);
  }
}

/* ============================================
   Corrections visuelles — 29 mai 2026
   ============================================ */

/* ─── Fix 1 : Titre CTA blanc dans landing pages (spécificité) ─── */
body.myai-refonte-page .entry-content .myai-cta .myai-title,
body.myai-refonte-page .entry-content .myai-cta .myai-title.wp-block-heading,
body.myai-refonte-page .entry-content .myai-cta h2.myai-title {
  color: var(--color-white) !important;
}

/* ─── Fix 2 : Icônes services homepage (page existante en base) ───
   Injecte les SVG en background-image car la page a déjà été
   créée par l'installer et le HTML n'est pas régénéré.
   Ordre : Audit → Dev → Auto → Data → Local → Formation ─── */
.services-grid .service-card:nth-child(1) .service-icon svg,
.services-grid .service-card:nth-child(2) .service-icon svg,
.services-grid .service-card:nth-child(3) .service-icon svg,
.services-grid .service-card:nth-child(4) .service-icon svg,
.services-grid .service-card:nth-child(5) .service-icon svg,
.services-grid .service-card:nth-child(6) .service-icon svg {
  display: none;
}
.services-grid .service-card:nth-child(1) .service-icon {
  background-image: url('/wp-content/themes/myai-factory-child/assets/refonte/icons/service-audit.svg');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
}
.services-grid .service-card:nth-child(2) .service-icon {
  background-image: url('/wp-content/themes/myai-factory-child/assets/refonte/icons/service-dev.svg');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
}
.services-grid .service-card:nth-child(3) .service-icon {
  background-image: url('/wp-content/themes/myai-factory-child/assets/refonte/icons/service-auto.svg');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
}
.services-grid .service-card:nth-child(4) .service-icon {
  background-image: url('/wp-content/themes/myai-factory-child/assets/refonte/icons/service-data.svg');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
}
.services-grid .service-card:nth-child(5) .service-icon {
  background-image: url('/wp-content/themes/myai-factory-child/assets/refonte/icons/service-local.svg');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
}
.services-grid .service-card:nth-child(6) .service-icon {
  background-image: url('/wp-content/themes/myai-factory-child/assets/refonte/icons/service-formation.svg');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
}

/* ─── Fix 3 : Container landing pages — max-width + centrage ─── */
/* Wrapper principal : padding latéral mais pas de max-width (full-width) */
body.myai-refonte-page .entry-content .wp-block-group.myai-home,
body.myai-refonte-page .entry-content .wp-block-group.myai-page-content {
  padding: 0 var(--space-lg);
}

/* Hero : full-width mais contenu centré */
body.myai-refonte-page .entry-content .wp-block-group.myai-hero,
body.myai-refonte-page .entry-content .wp-block-group.myai-page-hero {
  padding: calc(var(--space-4xl) + 60px) var(--space-lg) var(--space-3xl);
}
body.myai-refonte-page .entry-content .wp-block-group.myai-hero > *,
body.myai-refonte-page .entry-content .wp-block-group.myai-page-hero > * {
  max-width: 1280px;
  margin-inline: auto;
}

/* Sections : centré avec max-width */
body.myai-refonte-page .entry-content .wp-block-group.myai-section,
body.myai-refonte-page .entry-content .wp-block-group.myai-stats,
body.myai-refonte-page .entry-content .wp-block-group.myai-cta {
  max-width: 1280px;
  margin-inline: auto;
  padding: var(--space-3xl) 0;
}

/* Les grilles à l'intérieur des sections restent fluides */
body.myai-refonte-page .entry-content .wp-block-group.myai-section .wp-block-columns,
body.myai-refonte-page .entry-content .wp-block-group.myai-stats .wp-block-columns,
body.myai-refonte-page .entry-content .wp-block-group.myai-cta .wp-block-group {
  max-width: none;
  margin-inline: 0;
}

/* Padding réduit sur mobile */
@media (max-width: 768px) {
  body.myai-refonte-page .entry-content .wp-block-group.myai-section,
  body.myai-refonte-page .entry-content .wp-block-group.myai-stats,
  body.myai-refonte-page .entry-content .wp-block-group.myai-cta {
    padding: var(--space-2xl) 0;
  }
}

/* ─── Désactiver margin-block-start: 0 du core Gutenberg ─── */
body.myai-refonte-page .is-layout-flow > :first-child {
  margin-block-start: revert !important;
  margin-block-end: revert !important;
}
body.myai-refonte-page .is-layout-constrained > :first-child {
  margin-block-start: revert !important;
  margin-block-end: revert !important;
}


.cta-section .text-h1{
  color: white !important;
}
/* ─── Styles spécifiques pages Elementor (auto-détectées) ───
   Seules ces règles de layout s'appliquent aux pages Elementor
   pour compenser le header fixe sans casser les pages Gutenberg. ─── */
body.myai-refonte-page.myai-refonte-elementor .site-content {
  padding-top: clamp(96px, 11vw, 136px) !important;
  padding-bottom: clamp(48px, 7vw, 88px) !important;
}

body.myai-refonte-page.myai-refonte-elementor article {
  max-width: 100% !important;
  margin-inline: auto !important;
}

body.myai-refonte-page.myai-refonte-elementor .entry-content {
  max-width: 100% !important;
  margin-inline: auto !important;
}

body.myai-refonte-page.myai-refonte-elementor .entry-content > * {
  max-width: 100% !important;
  margin-inline: auto !important;
}

body.myai-refonte-page.myai-refonte-elementor .entry-content :where(.elementor, .elementor-section, .elementor-container, .e-con) {
  max-width: 100% !important;
}

/* ============================================
   Récupération des styles globaux refonte
   (perdus lors du git checkout du 29 mai)
   ============================================ */

/* ─── Typographie globale : s'applique à TOUTES les pages refonte
   (Gutenberg + Elementor) pour unifier le design system ─── */
body.myai-refonte-page .entry-content :where(h1, h2, h3, h4, h5, h6) {
  color: var(--color-black);
  text-wrap: balance;
}

body.myai-refonte-page .entry-content h1 {
  font-family: var(--font-display);
  margin-bottom: clamp(24px, 4vw, 40px);
  line-height: 0.98;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

body.myai-refonte-page .entry-content h2 {
  font-family: var(--font-display);
  margin-top: clamp(36px, 5vw, 56px);
  margin-bottom: 0.8rem;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  line-height: 1.12;
}

body.myai-refonte-page .entry-content h3 {
  font-family: var(--font-display);
  margin-top: 2rem;
  margin-bottom: 0.65rem;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.2;
}

body.myai-refonte-page .entry-content :where(p, li) {
  color: var(--color-gray-700);
  line-height: 1.75;
  text-wrap: pretty;
}

body.myai-refonte-page .entry-content a {
  color: var(--color-orange);
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.myai-refonte-page .entry-content :where(strong, b) {
  color: var(--color-charcoal);
  font-weight: 700;
}

/* ─── Boutons Elementor ─── */
body.myai-refonte-page .entry-content .elementor-button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-black);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.9rem 1.8rem;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  transition: all var(--duration-normal) var(--ease-spring);
  position: relative;
  overflow: hidden;
}

body.myai-refonte-page .entry-content .elementor-button:hover {
  background: var(--color-charcoal);
  transform: scale(0.98);
}

body.myai-refonte-page .entry-content .elementor-button:active {
  transform: scale(0.96);
}

body.myai-refonte-page .entry-content .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: inherit;
}

body.myai-refonte-page .entry-content .elementor-button-icon {
  order: 1;
}

body.myai-refonte-page .entry-content .elementor-button-text {
  order: 0;
}

/* ─── Accordéons EA Elementor sur pages refonte ─── */
body.myai-refonte-page .eael-adv-accordion,
body.myai-refonte-page .eael-adv-accordion {
  border: 1px solid var(--color-gray-200) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  background: var(--color-white) !important;
  box-shadow: none !important;
}

body.myai-refonte-page .eael-adv-accordion .eael-accordion-list,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-list {
  border-bottom: 1px solid var(--color-gray-200) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.myai-refonte-page .eael-adv-accordion .eael-accordion-list:last-child,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-list:last-child {
  border-bottom: none !important;
}

body.myai-refonte-page .eael-adv-accordion .eael-accordion-header,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-list .eael-accordion-header,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-header,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-list .eael-accordion-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--space-md) !important;
  padding: var(--space-md) var(--space-lg) !important;
  background: var(--color-white) !important;
  cursor: pointer !important;
  transition: background var(--duration-fast) var(--ease-out-expo) !important;
  border: none !important;
  font-family: var(--font-body) !important;
}

body.myai-refonte-page .eael-adv-accordion .eael-accordion-header:hover,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-list.active .eael-accordion-header,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-header:hover,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-list.active .eael-accordion-header {
  background: var(--color-orange-light) !important;
}

body.myai-refonte-page .eael-adv-accordion .eael-accordion-header .eael-accordion-tab-title,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-header.active .eael-accordion-tab-title,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-header .eael-accordion-tab-title,
body.myai-refonte-page .eael-adv-accordion .eael-accordion-header.active .eael-accordion-tab-title {
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--color-black) !important;
  line-height: 1.35 !important;
}


.elementor-element {
    background-color: transparent;
    background-image: none !important; 
}