/* === BANNIÈRE GMF en haut (injectée via JS) === */
#cmb-gmf-banner {
  background: linear-gradient(90deg, #1A2D3A 0%, #2C4254 100%);
  color: #FAFAF7;
  padding: 0.7rem 1.5rem;
  font-size: 0.86rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  font-family: "Inter", -apple-system, sans-serif;
}
#cmb-gmf-banner .badge {
  background: #7DC6D2;
  color: #1A2D3A;
  padding: 0.22rem 0.7rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-block;
}
#cmb-gmf-banner .sep { opacity: 0.4; }
#cmb-gmf-banner a {
  color: #7DC6D2 !important;
  text-decoration: none;
  font-weight: 600;
  margin-left: 0.4rem;
  transition: color 0.2s;
}
#cmb-gmf-banner a:hover { color: #fff !important; }
@media (max-width: 768px) {
  #cmb-gmf-banner { font-size: 0.76rem; gap: 0.6rem; padding: 0.5rem 1rem; flex-direction: column; }
  #cmb-gmf-banner .sep { display: none; }
}

/* === Banner injection via CSS (no JS) === */
body::before {
  content: "";
  display: block;
  height: 0;
}

/* ============================================
   PALETTE DE MARQUE — CLINIQUE MÉDICALE BLAINVILLE
   Inspirée du logo ArtMedic
   ============================================ */
:root {
  /* Couleurs principales ArtMedic */
  --cmb-orange: #E94E3B;        /* Orange corail (CTA principal) */
  --cmb-orange-dark: #C73E2D;   /* Orange foncé (hover) */
  --cmb-turquoise: #7DC6D2;     /* Turquoise clair (accent) */
  --cmb-turquoise-dark: #5BA8B5;/* Turquoise foncé (hover) */

  /* Couleurs structurelles */
  --cmb-marine: #1A2D3A;        /* Marine profond (structure) */
  --cmb-marine-soft: #2C4254;   /* Marine moyen */
  --cmb-charcoal: #2C3E50;      /* Texte principal */
  --cmb-gray-soft: #6B7785;     /* Texte secondaire */
  --cmb-cream: #FAFAF7;         /* Fond doux */
  --cmb-white: #FFFFFF;
  --cmb-border: #E8ECEF;
}

/* === Overrides des variables Astra globales === */
.ast-global-color-0,
:root {
  --ast-global-color-0: #E94E3B;  /* Couleur 1 = Orange corail */
  --ast-global-color-1: #C73E2D;  /* Couleur 2 = Orange dark */
  --ast-global-color-2: #1A2D3A;  /* Couleur 3 = Marine */
  --ast-global-color-3: #2C3E50;  /* Couleur 4 = Texte */
  --ast-global-color-4: #6B7785;  /* Couleur 5 = Gris */
  --ast-global-color-5: #7DC6D2;  /* Couleur 6 = Turquoise */
  --ast-global-color-6: #FAFAF7;  /* Couleur 7 = Crème */
  --ast-global-color-7: #FFFFFF;  /* Couleur 8 = Blanc */
  --ast-global-color-8: #E8ECEF;  /* Couleur 9 = Bordure */
}

/* === TYPOGRAPHIE === */
body, p, li, span, div { font-family: 'Inter', -apple-system, system-ui, sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Inter', sans-serif; font-weight: 600; letter-spacing: -0.01em; color: var(--cmb-marine); }
h1 { font-weight: 700; letter-spacing: -0.02em; }
h2 { font-weight: 700; }

/* === LIENS === */
a { color: var(--cmb-orange); transition: color 0.2s ease; }
a:hover { color: var(--cmb-orange-dark); }

/* Liens dans contenus structurés */
.entry-content a, .ast-builder-html-element a { color: var(--cmb-orange); }
.entry-content a:hover { color: var(--cmb-orange-dark); text-decoration: underline; }

/* === BOUTONS === */
.wp-block-button__link, .ast-button, .button, button[type="submit"], input[type="submit"], .menu-item .ast-custom-button {
  background: var(--cmb-orange) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  padding: 0.75rem 1.5rem !important;
  border: 2px solid var(--cmb-orange) !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(233,78,59,0.18);
}
.wp-block-button__link:hover, .ast-button:hover, .button:hover, button[type="submit"]:hover {
  background: var(--cmb-orange-dark) !important;
  border-color: var(--cmb-orange-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(233,78,59,0.28);
}

/* Bouton secondaire (outline turquoise) */
.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--cmb-turquoise-dark) !important;
  border: 2px solid var(--cmb-turquoise) !important;
  box-shadow: none;
}
.is-style-outline .wp-block-button__link:hover {
  background: var(--cmb-turquoise) !important;
  color: #fff !important;
}

/* === HEADER === */
.site-header { transition: all 0.3s ease; }
.ast-builder-menu .menu-item > a { font-weight: 600; letter-spacing: 0.01em; color: var(--cmb-marine); transition: color 0.2s ease; }
.ast-builder-menu .menu-item > a:hover { color: var(--cmb-orange); }
.ast-builder-menu .current-menu-item > a { color: var(--cmb-orange); }

/* CTA dans le header (bouton Prenez rendez-vous) */
.ast-builder-button-wrap .ast-custom-button,
.header-button .ast-custom-button {
  background: var(--cmb-orange) !important;
  color: #fff !important;
  border-radius: 6px !important;
  padding: 0.65rem 1.4rem !important;
  font-weight: 600 !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(233,78,59,0.18);
  transition: all 0.2s ease;
}
.ast-builder-button-wrap .ast-custom-button:hover,
.header-button .ast-custom-button:hover {
  background: var(--cmb-orange-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(233,78,59,0.28);
}

/* === SECTIONS / CARDS === */
.entry-content > div { transition: all 0.3s ease; }

/* Cards modernes avec ombres douces */
.wp-block-group.has-background,
.ast-card,
article.post {
  border-radius: 10px;
  transition: all 0.25s ease;
}

/* Hover doux sur les cartes cliquables */
.wp-block-group.has-background:hover {
  box-shadow: 0 8px 24px rgba(26,45,58,0.08);
  transform: translateY(-2px);
}

/* === BADGES / TAGS === */
.cmb-badge, .ast-badge {
  display: inline-flex;
  align-items: center;
  background: rgba(125,198,210,0.15);
  color: var(--cmb-turquoise-dark);
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.cmb-badge-orange {
  background: rgba(233,78,59,0.1);
  color: var(--cmb-orange-dark);
}

/* === HERO === */
.ast-hero, .hero-section {
  background: linear-gradient(180deg, var(--cmb-cream) 0%, #fff 100%);
}

/* === FOOTER override === */
.site-footer { background: var(--cmb-marine) !important; color: #FAFAF7; }
.site-footer a { color: #FAFAF7; transition: color 0.2s; }
.site-footer a:hover { color: var(--cmb-turquoise) !important; }
.site-footer .widget-title, .site-footer h2, .site-footer h3, .site-footer h4 {
  color: #fff !important; font-size: 0.78rem !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  margin-bottom: 1rem !important;
}

/* === FORMULAIRES === */
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  border: 1px solid var(--cmb-border) !important;
  border-radius: 6px !important;
  padding: 0.7rem 0.9rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus {
  border-color: var(--cmb-turquoise) !important;
  box-shadow: 0 0 0 3px rgba(125,198,210,0.18) !important;
  outline: none !important;
}

/* === ANIMATIONS === */
.ast-builder-header-elements > * { transition: all 0.2s ease; }

/* === RESPONSIVE === */
@media (max-width: 768px) {
  h1 { font-size: 2rem !important; }
  h2 { font-size: 1.5rem !important; }
}

/* === Import Inter font === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');


/* === FOOTER FIXES === */
.site-footer ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.site-footer ul li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.site-footer ul li::before, .site-footer ul li::marker { content: none !important; display: none !important; }
.site-footer a:hover { color: #fff !important; text-decoration: none !important; }
.site-footer .ast-builder-html-element a { color: inherit; }
.site-footer { padding: 0 !important; }
.footer-widget-area, .ast-builder-html-element { padding: 0 !important; }

/* Hide default Astra footer borders */
.site-below-footer-wrap { display: none !important; }


/* === BANNIÈRE GMF (au-dessus du header) === */
.cmb-gmf-banner {
  background: linear-gradient(90deg, rgba(125,198,210,0.12) 0%, rgba(125,198,210,0.18) 100%);
  color: #1A2D3A;
  padding: 0.6rem 1.5rem;
  font-size: 0.85rem;
  text-align: center;
  border-bottom: 1px solid rgba(125,198,210,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.cmb-gmf-banner strong {
  color: #1A2D3A;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.cmb-gmf-banner .badge {
  background: #7DC6D2;
  color: #fff;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cmb-gmf-banner a {
  color: #E94E3B !important;
  text-decoration: none;
  font-weight: 600;
}
.cmb-gmf-banner a:hover { text-decoration: underline; }
@media (max-width: 768px) {
  .cmb-gmf-banner { font-size: 0.78rem; gap: 0.8rem; padding: 0.5rem 1rem; }
  .cmb-gmf-banner .badge { font-size: 0.65rem; }
}

/* === Amélioration visuelle générale === */
.entry-content h2 { margin-top: 2.5rem; }
.entry-content section { padding: 3rem 0; }

/* Smooth scroll */
html { scroll-behavior: smooth; }


/* === HEADER MENU FIX === */
.site-header .ast-builder-menu .menu-item > a,
.site-header .ast-builder-menu a,
.site-header .site-title,
.site-header .site-title a {
  color: #1A2D3A !important;
}
.site-header .ast-builder-menu .menu-item > a:hover,
.site-header .ast-builder-menu .current-menu-item > a {
  color: #E94E3B !important;
}
.site-header .site-title {
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: -0.01em;
  color: #1A2D3A !important;
}
.site-header .site-title a:hover {
  color: #E94E3B !important;
}

/* Make sure header has proper height */
.site-header { min-height: 76px; }
.ast-primary-header-bar { padding: 0.5rem 0 !important; }


/* ============================================
   BANNIÈRE GMF MSSS — Above Header (stratégique)
   ============================================ */
.cmb-gmf-topbar {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  background: linear-gradient(90deg, #1A2D3A 0%, #2C4254 100%);
  color: #FAFAF7;
  padding: 0.55rem 1.5rem;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  border-bottom: 2px solid #E94E3B;
  width: 100%;
}
.cmb-gmf-badge {
  background: #7DC6D2;
  color: #1A2D3A;
  padding: 0.28rem 0.85rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  white-space: nowrap;
}
.cmb-gmf-text {
  color: #FAFAF7;
  opacity: 0.95;
  font-weight: 500;
}
.cmb-gmf-tel {
  color: #E94E3B !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: color 0.2s;
  white-space: nowrap;
}
.cmb-gmf-tel:hover { color: #FAFAF7 !important; }

/* Above header row container — make full width */
.ast-above-header-wrap,
.ast-above-header {
  background: transparent !important;
  padding: 0 !important;
}
.ast-above-header .ast-builder-html-element {
  margin: 0 !important;
  padding: 0 !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .cmb-gmf-topbar {
    font-size: 0.74rem;
    gap: 0.6rem;
    padding: 0.5rem 0.75rem;
  }
  .cmb-gmf-badge {
    font-size: 0.65rem;
    padding: 0.2rem 0.65rem;
  }
}

/* ============================================
   RÉÉQUILIBRAGE — Section stats trop turquoise
   ============================================ */
/* Reduce intensity where --ast-global-color-5 is used as background */
:root {
  --ast-global-color-5: #EAF4F6 !important; /* very light turquoise instead of #7DC6D2 */
}
/* But keep turquoise as accent color where needed via dedicated var */
.cmb-accent-turquoise { color: #5BA8B5 !important; }

/* Stats section softer */
.entry-content .wp-block-group[style*="ast-global-color-5"],
.wp-block-group.has-background[style*="--ast-global-color-5"] {
  background-color: #F2F8F9 !important;
}

/* Hero "GMF désigné" floating badge over hero */
.cmb-hero-gmf-pin {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  z-index: 50;
  background: rgba(26, 45, 58, 0.85);
  backdrop-filter: blur(6px);
  color: #FAFAF7;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-left: 3px solid #E94E3B;
}
.cmb-hero-gmf-pin strong { color: #7DC6D2; }


/* ============================================
   GMF Topbar — Force FULL WIDTH (override)
   ============================================ */
.ast-above-header,
.ast-above-header-wrap,
.ast-above-header .ast-builder-grid-row,
.ast-above-header .ast-builder-grid-row-container,
.ast-above-header .ast-builder-grid-row-container-inner,
.ast-above-header .site-above-header-wrap,
.ast-above-header-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.ast-above-header .ast-builder-grid-row {
  display: block !important;
}
.ast-above-header .ast-builder-html-element,
.ast-above-header [class*="html-2"] {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}


/* Hero readability: dark overlay on hero image */
.elementor-section .elementor-background-overlay,
.wp-block-cover__background {
  background: linear-gradient(135deg, rgba(26,45,58,0.55) 0%, rgba(26,45,58,0.35) 100%) !important;
}
/* Generic hero text contrast boost */
.entry-content .wp-block-cover .wp-block-cover__inner-container h1,
.entry-content .wp-block-cover .wp-block-cover__inner-container h2 {
  text-shadow: 0 2px 16px rgba(0,0,0,0.45);
}
.wp-block-cover .wp-block-cover__inner-container * {
  text-shadow: 0 1px 8px rgba(0,0,0,0.35);
}

/* === GMF Topbar — Corrected width === */
.ast-above-header .cmb-gmf-topbar {
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}
.ast-above-header .ast-builder-html-element,
.ast-above-header .ast-header-html,
.ast-above-header .ast-header-html-2,
.ast-above-header .site-header-above-section-left {
  width: 100% !important;
  flex: 1 1 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* === FORMULAIRE JETPACK - DEMANDE PATIENT === */
/* Centrage vertical et style des champs */
.wp-block-jetpack-contact-form input[type="text"],
.wp-block-jetpack-contact-form input[type="email"],
.wp-block-jetpack-contact-form input[type="tel"],
.wp-block-jetpack-contact-form input[type="date"],
.wp-block-jetpack-contact-form input[type="url"],
.wp-block-jetpack-contact-form input[type="number"],
.wp-block-jetpack-contact-form select,
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-field-name input,
.wp-block-jetpack-field-text input,
.wp-block-jetpack-field-email input,
.wp-block-jetpack-field-date input,
.wp-block-jetpack-field-select select,
.wp-block-jetpack-field-textarea textarea {
  height: 52px !important;
  padding: 0 18px !important;
  line-height: 52px !important;
  vertical-align: middle !important;
  border: 1.5px solid #e0e6ec !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  color: #2C3E50 !important;
  background-color: #FFFFFF !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Textarea : hauteur différente */
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-field-textarea textarea {
  height: 110px !important;
  min-height: 110px !important;
  line-height: 1.5 !important;
  padding: 14px 18px !important;
}

/* Select Jetpack - centrer verticalement + flèche custom */
.wp-block-jetpack-contact-form select,
.wp-block-jetpack-field-select select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3e%3cpath fill='none' stroke='%231A2D3A' stroke-width='2' d='M1 1l6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 14px 8px !important;
  padding-right: 48px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
}

/* Focus state - turquoise */
.wp-block-jetpack-contact-form input:focus,
.wp-block-jetpack-contact-form select:focus,
.wp-block-jetpack-contact-form textarea:focus {
  border-color: #7DC6D2 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(125,198,210,0.18) !important;
}

/* Labels */
.wp-block-jetpack-contact-form label,
.wp-block-jetpack-label label {
  font-weight: 600 !important;
  color: #1A2D3A !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  font-size: 0.95rem !important;
  margin-bottom: 8px !important;
  display: inline-block !important;
}

/* Required indicator */
.wp-block-jetpack-contact-form .required-text,
.wp-block-jetpack-contact-form span.required-text {
  color: #E94E3B !important;
  font-weight: 500 !important;
  font-size: 0.85rem !important;
}

/* Bouton ENVOYER - orange ArtMedic */
.wp-block-jetpack-contact-form button[type="submit"],
.wp-block-jetpack-button button,
.wp-block-jetpack-contact-form .wp-block-jetpack-button button {
  background-color: #E94E3B !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 16px 36px !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(233,78,59,0.20) !important;
  width: auto !important;
}
.wp-block-jetpack-contact-form button[type="submit"]:hover,
.wp-block-jetpack-button button:hover {
  background-color: #C73E2D !important;
  box-shadow: 0 4px 14px rgba(233,78,59,0.35) !important;
  transform: translateY(-1px) !important;
}

/* Zone upload de fichier */
.wp-block-jetpack-field-file .wp-block-jetpack-input-file,
.wp-block-jetpack-field-file label[for] {
  border: 2px dashed #7DC6D2 !important;
  border-radius: 10px !important;
  background-color: rgba(125,198,210,0.06) !important;
  padding: 28px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.wp-block-jetpack-field-file .wp-block-jetpack-input-file:hover {
  background-color: rgba(125,198,210,0.12) !important;
  border-color: #5BA8B5 !important;
}

/* Checkbox consentement Loi 25 */
.wp-block-jetpack-field-consent input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  accent-color: #E94E3B !important;
  margin-right: 10px !important;
  cursor: pointer !important;
}
.wp-block-jetpack-field-consent label {
  font-weight: 400 !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  color: #2C3E50 !important;
}

/* Espacement entre les champs */
.wp-block-jetpack-contact-form .wp-block-jetpack-field-name,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-text,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-email,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-date,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-telephone,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-select,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-textarea,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-file,
.wp-block-jetpack-contact-form .wp-block-jetpack-field-consent {
  margin-bottom: 20px !important;
}

/* Titre de la page formulaire */
.page-id-643 .entry-title,
.page-id-643 h1.entry-title {
  color: #1A2D3A !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
}
/* === FIN FORMULAIRE JETPACK === */


/* === FIX TEXTAREA HAUTEUR === */
textarea.wp-block-jetpack-input.grunion-field,
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-field-textarea textarea,
.grunion-field-wrap textarea {
  height: 120px !important;
  min-height: 120px !important;
  max-height: 200px !important;
  line-height: 1.5 !important;
  padding: 14px 18px !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}
/* === FIN FIX TEXTAREA === */
/* === GMF Blainville : corrections globales (oct. 2026) === */
.ast-above-header-wrap{display:none!important;}
body.page:has(.hs-hero) .entry-header{display:none!important;}
.hs-hero .hs-h1,.hs-hero h1{color:#FAFAF7!important;}
.entry-content a.hs-btn{text-decoration:none!important;}
.entry-content a.hs-btn-primary{color:#fff!important;}
.entry-content a.hs-btn-ghost{color:#FAFAF7!important;}
.entry-content .hs-breadcrumb a{color:#D4A574!important;text-decoration:none!important;}
.ast-builder-button-wrap .ast-custom-button{white-space:nowrap!important;}
@media (min-width:922px){.main-header-menu .menu-item > .menu-link{padding-left:.75em!important;padding-right:.75em!important;white-space:nowrap;}}

@media (min-width:922px){.main-header-menu .menu-item > .menu-link{padding-left:.55em!important;padding-right:.55em!important;font-size:14px!important;letter-spacing:.02em;}.site-header-primary-section-center,.ast-builder-grid-row{flex-wrap:nowrap!important;}}

/* En-tete blanc + logo */
.ast-primary-header-bar,.main-header-bar,.ast-mobile-header-wrap .ast-primary-header-bar{background:#FFFFFF!important;border-bottom:1px solid #e3e3e0!important;}
.ast-theme-transparent-header .ast-primary-header-bar{background:#FFFFFF!important;}
.site-header .custom-logo-link img,.site-header .custom-logo{width:230px!important;max-width:230px!important;height:auto!important;}
@media (max-width:921px){.site-header .custom-logo-link img,.site-header .custom-logo{width:210px!important;max-width:210px!important;}}
.main-header-menu .menu-item > .menu-link{color:#1A2D3A!important;}
.main-header-menu .current-menu-item > .menu-link,.main-header-menu .menu-item > .menu-link:hover{color:#1F6F8B!important;}
.ast-builder-button-wrap .ast-custom-button{background:#1F6F8B!important;border-color:#1F6F8B!important;color:#fff!important;}
.ast-builder-button-wrap .ast-custom-button:hover{background:#185670!important;}
.site-title,.site-description{display:none!important;}

@media (min-width:922px) and (max-width:1300px){.main-header-menu .menu-item > .menu-link{padding-left:.45em!important;padding-right:.45em!important;font-size:13px!important;}}
.main-header-menu .current-menu-item > .menu-link,.main-header-menu .current_page_item > .menu-link,.main-header-menu .menu-item.current-menu-item > a{color:#1F6F8B!important;}
.ast-primary-header-bar .ast-builder-grid-row{grid-column-gap:12px;}

/* Pages specialistes (sp-) */
body.page:has(.sp-doc) .entry-header{display:none!important;}.sp-doc{display:inline-flex;align-items:center;gap:.9rem;background:rgba(255,255,255,.06);border:1px solid rgba(250,250,247,.25);border-radius:8px;padding:.9rem 1.2rem;}.sp-doc strong{display:block;color:#FAFAF7;font-size:1.05rem;}.sp-doc span{color:#9BD1DE;font-size:.9rem;}.sp-hero{background:#1A2D3A;color:#FAFAF7;padding:4.5rem 2rem 3.5rem;}.sp-wrap{max-width:1000px;margin:0 auto;}.sp-bc{font-size:.9rem;opacity:.75;margin-bottom:1.25rem;}.sp-bc a{color:#D4A574!important;text-decoration:none!important;}.sp-tag{display:inline-block;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;color:#D4A574;border:1px solid rgba(212,165,116,.5);padding:.35rem .85rem;border-radius:4px;margin-bottom:1.25rem;}.sp-h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.15;font-weight:700;margin:0 0 1rem;color:#FAFAF7!important;}.sp-sub{font-size:1.08rem;max-width:760px;line-height:1.6;opacity:.92;margin:0 0 1.75rem;}.sp-sec{padding:3.25rem 2rem;}.sp-sec.alt{background:#F5F3EE;}.sp-eye{display:block;color:#1f6f8b;font-size:.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.6rem;}.sp-h2{font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.2;font-weight:700;color:#1A2D3A;margin:0 0 1rem;}.sp-lead{font-size:1.03rem;color:#3a4a55;line-height:1.7;max-width:820px;margin:0;}.sp-lead + .sp-lead{margin-top:.8rem;}.sp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;margin-top:1.5rem;counter-reset:s;}.sp-step{background:#fff;border:1px solid #e3e3e0;border-top:3px solid #D4A574;border-radius:8px;padding:1.4rem;counter-increment:s;}.sp-step h3{margin:0 0 .5rem;color:#1A2D3A;font-size:1.02rem;}.sp-step h3::before{content:counter(s) '. ';color:#1f6f8b;}.sp-step p{margin:0;color:#3a4a55;font-size:.95rem;line-height:1.6;}.sp-alert{background:#fff4ef;border-left:3px solid #c14a3a;padding:1.15rem 1.4rem;border-radius:6px;margin-top:1.5rem;max-width:880px;}.sp-alert p{margin:0;color:#3a4a55;line-height:1.6;}.sp-list{margin:1rem 0 0;padding-left:1.2rem;color:#3a4a55;line-height:1.8;max-width:820px;}.sp-faq{max-width:880px;margin-top:1.25rem;}.sp-faq details{background:#fff;border:1px solid #e3e3e0;border-radius:6px;padding:1.05rem 1.35rem;margin-bottom:.55rem;}.sp-faq details[open]{border-color:#1f6f8b;}.sp-faq summary{cursor:pointer;font-weight:600;color:#1A2D3A;}.sp-faq p{color:#3a4a55;line-height:1.65;margin:.7rem 0 0;}.sp-faq a,.sp-lead a,.sp-list a{color:#1f6f8b!important;font-weight:600;text-decoration:none!important;}.sp-final{background:#1A2D3A;color:#FAFAF7;padding:2.75rem 2rem;text-align:center;border-radius:8px;}.sp-final h2{color:#FAFAF7;font-size:1.5rem;margin:0 0 .6rem;}.sp-final p{opacity:.9;margin:0 0 1.4rem;}.sp-btn{display:inline-flex;padding:.85rem 1.5rem;border-radius:6px;text-decoration:none!important;font-weight:600;}.sp-btn-p{background:#1f6f8b;color:#fff!important;}.sp-btn-g{border:1px solid rgba(250,250,247,.45);color:#FAFAF7!important;}.sp-cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;}


/* ============================================
   CHARTE CMB 2026 — STYLE SOBRE ET MÉDICAL
   Palette du logo : marine #1A2D3A · sarcelle #1F6F8B · or #D4A574
   (bloc ajouté en dernier : il remplace les couleurs ArtMedic ci-dessus)
   ============================================ */
:root {
  --cmb-orange: #1F6F8B !important;        /* ancien CTA orange -> sarcelle */
  --cmb-orange-dark: #185670 !important;
  --cmb-turquoise: #7FB6C6 !important;     /* accent clair (fonds foncés) */
  --cmb-turquoise-dark: #1F6F8B !important;
  --cmb-teal: #1F6F8B;
  --cmb-teal-dark: #185670;
  --cmb-gold: #D4A574;
  --cmb-marine: #1A2D3A !important;
  --cmb-charcoal: #33424D !important;
  --cmb-gray-soft: #5F6B75 !important;
  --cmb-border: #E3E8EC !important;
  --ast-global-color-0: #1F6F8B !important;
  --ast-global-color-1: #185670 !important;
  --ast-global-color-2: #1A2D3A !important;
  --ast-global-color-3: #33424D !important;
  --ast-global-color-4: #FFFFFF !important;
  --ast-global-color-5: #F4F7F8 !important;
  --ast-global-color-6: #FAFAF7 !important;
  --ast-global-color-7: #FFFFFF !important;
  --ast-global-color-8: #E3E8EC !important;
}

/* Fond général : blanc, sections alternées gris-bleu très pâle */
body, .ast-plain-container, .site-content { background-color: #FFFFFF !important; }
.hs-section { background-color: #FFFFFF; }
.hs-section.alt { background-color: #F4F7F8 !important; }

/* Typographie : Archivo pour tous les titres, Inter pour le texte */
h1, h2, h3, h4, h5, h6, .hs-h1, .hs-h2, .entry-title {
  font-family: 'Archivo', 'Inter', sans-serif !important;
  letter-spacing: -0.015em;
}
.hs-h2 { color: #1A2D3A; }
.hs-eyebrow { color: #1F6F8B !important; letter-spacing: 0.12em; }

/* Boutons : sarcelle, coins arrondis, marine au survol */
.ast-button, .button, button:not(.menu-toggle):not(.ast-mobile-menu-trigger-minimal), input[type="submit"],
.wp-block-button__link, .hs-btn-primary, .ast-custom-button {
  background-color: #1F6F8B !important;
  border-color: #1F6F8B !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  transition: background-color .2s, border-color .2s, transform .2s;
}
.ast-button:hover, .button:hover, input[type="submit"]:hover,
.wp-block-button__link:hover, .hs-btn-primary:hover, .ast-custom-button:hover {
  background-color: #1A2D3A !important;
  border-color: #1A2D3A !important;
  color: #FFFFFF !important;
}
.hs-btn, .hs-btn-outline, .hs-btn-ghost { border-radius: 8px !important; }
.hs-btn-outline { color: #1F6F8B !important; border-color: #1F6F8B !important; }
.hs-btn-outline:hover { background: #1F6F8B !important; color: #FFFFFF !important; }

/* En-tête fixe avec ombre légère */
#masthead.site-header {
  position: sticky; top: 0; z-index: 999;
  background: #FFFFFF;
  box-shadow: 0 1px 0 #E3E8EC, 0 6px 18px rgba(26,45,58,0.06);
}
.admin-bar #masthead.site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead.site-header { top: 0; } }

/* Menu : page active soulignée en sarcelle */
.main-header-menu .menu-item > .menu-link { color: #1A2D3A; transition: color .2s; }
.main-header-menu .menu-item > .menu-link:hover { color: #1F6F8B !important; }
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link {
  color: #1F6F8B !important;
  box-shadow: none !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

/* Liens */
.entry-content a:not([class*="btn"]):not(.button) { color: #1F6F8B; }
.entry-content a:not([class*="btn"]):not(.button):hover { color: #1A2D3A; }

/* Cartes : coins et ombres uniformes */
.hp-svc, .hs-rdv, .hp-res, .hp-strip-item {
  border-radius: 10px !important;
  border: 1px solid #E3E8EC;
  box-shadow: 0 1px 2px rgba(26,45,58,0.04);
  transition: box-shadow .2s, transform .2s;
}
.hp-svc:hover, .hs-rdv:hover, .hp-res:hover {
  box-shadow: 0 10px 24px rgba(26,45,58,0.09);
  transform: translateY(-2px);
}

/* Formulaires : contour sarcelle sur le champ actif */
input[type="text"], input[type="email"], input[type="tel"], input[type="date"],
input[type="number"], select, textarea {
  border: 1px solid #D5DDE2 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, select:focus, textarea:focus {
  border-color: #1F6F8B !important;
  box-shadow: 0 0 0 3px rgba(31,111,139,0.15) !important;
  outline: none !important;
}

/* Pied de page : bouton orange -> sarcelle, accents harmonisés */
.site-footer a[style*="#E94E3B"] {
  background: #1F6F8B !important;
  box-shadow: 0 2px 8px rgba(31,111,139,0.30) !important;
}
.site-footer a[style*="#E94E3B"]:hover { background: #185670 !important; }
.site-footer [style*="#7DC6D2"] { color: #8FC3D2 !important; }

.is-style-outline .wp-block-button__link { color: #1F6F8B !important; border-color: #1F6F8B !important; background: transparent !important; }
.is-style-outline .wp-block-button__link:hover { background: #1F6F8B !important; color: #FFFFFF !important; }

/* Pied de page : colonnes alignées à gauche */
.site-footer .ast-builder-html-element,
.site-footer .ast-builder-html-element p,
.site-footer .ast-builder-html-element div,
.site-footer .ast-builder-html-element h3,
.site-footer .ast-builder-html-element h4,
.site-footer .ast-builder-html-element ul,
.site-footer .ast-builder-html-element li { text-align: left !important; }
.site-footer .ast-builder-html-element a { line-height: 1.5; }

/* Menu mobile : icône hamburger visible (marine) */
#masthead .menu-toggle, #masthead .menu-toggle:hover, #masthead .menu-toggle:focus {
  color: #1A2D3A !important; background: transparent !important; border-color: transparent !important;
}
#masthead .menu-toggle .ast-mobile-svg, #masthead .menu-toggle svg { fill: #1A2D3A !important; color: #1A2D3A !important; }

/* En-tête : bouton Portail patient */
#masthead .ast-header-html-1 { display: flex; align-items: center; }
#masthead .cmb-portail {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.55rem 1rem; margin-right: 0;
  border: 1.5px solid #1F6F8B; border-radius: 8px;
  color: #1F6F8B !important; background: #FFFFFF;
  font-weight: 600; font-size: 0.9rem; line-height: 1; text-decoration: none !important;
  white-space: nowrap; transition: background-color .2s, color .2s;
}
#masthead .cmb-portail:hover, #masthead .cmb-portail:focus-visible { background: #1F6F8B; color: #FFFFFF !important; }
#masthead .cmb-portail-ico {
  width: 18px; height: 18px; flex: 0 0 18px; background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 921px) {
  #masthead .cmb-portail { padding: 0.5rem; margin-right: 0.25rem; }
  #masthead .cmb-portail-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* En-tête : menu sur une seule ligne */
@media (min-width: 922px) {
  #ast-desktop-header .main-header-menu { flex-wrap: nowrap; }
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link { white-space: nowrap; }
  #ast-desktop-header .site-header-primary-section-center { flex: 1 1 auto; justify-content: center; }
}
@media (min-width: 922px) and (max-width: 1023px) {
  #masthead .cmb-portail { padding: 0.55rem; }
  #masthead .cmb-portail-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* Mobile : icône portail compacte, menu toujours visible */
@media (max-width: 921px) {
  #ast-mobile-header .site-header-primary-section-right { gap: 0.25rem; flex-wrap: nowrap; }
  #ast-mobile-header .cmb-portail { margin-right: 0; padding: 0.4rem; }
  #ast-mobile-header .site-logo-img img { max-width: 170px; height: auto; }
}
@media (max-width: 921px) {
  #ast-mobile-header .site-header-primary-section-left { flex: 1 1 auto; min-width: 0; }
  #ast-mobile-header .site-header-primary-section-right { flex: 0 0 auto; }
  #ast-mobile-header .custom-logo-link img, #ast-mobile-header .site-logo-img img { max-width: 150px !important; width: 150px; height: auto; }
  #ast-mobile-header .ast-header-html-1 { margin-right: 0 !important; padding: 0 !important; }
}

/* Bannière (hero) : numéro de téléphone retiré pour diriger vers le portail et le formulaire */
.hs-hero a[href^="tel:"] { display: none !important; }

/* Ancres : compenser l'en-tête fixe */
[id] { scroll-margin-top: 140px; }

/* Mentions « GMF désigné MSSS » retirées */
.cmb-hero-gmf-pin, #cmb-gmf-banner, .cmb-gmf-topbar { display: none !important; } 
/* CMB-DESIGN START — Clinique médicale Blainville · système de design commun (v1, 2026-10-12)
   Couleurs : marine #1A2D3A · sarcelle #1F6F8B · or #D4A574 (décor seulement) · vert doux #2F7A62
   Polices : Fraunces (titres) · Inter (texte). Ne pas modifier entre START et END : bloc géré. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --cmb-marine:#1A2D3A; --cmb-sarcelle:#1F6F8B; --cmb-sarcelle-f:#185A71; --cmb-sarcelle-t:#E7F0F4;
  --cmb-or:#D4A574; --cmb-or-t:#F1DCC0; --cmb-vert:#2F7A62; --cmb-vert-f:#25634F; --cmb-vert-t:#E9F3EE;
  --cmb-fond:#F3F6F8; --cmb-blanc:#FFFFFF; --cmb-ligne:#DFE7ED; --cmb-texte:#1A2D3A; --cmb-texte-2:#33495A; --cmb-texte-3:#4F6475;
  --cmb-titre:'Fraunces',Georgia,serif; --cmb-corps:'Inter','Segoe UI',system-ui,sans-serif;
}

/* Base */
body,button,input,select,textarea{font-family:var(--cmb-corps)}
.cmb, .cmb *{box-sizing:border-box}
.cmb{color:var(--cmb-texte);font-family:var(--cmb-corps);font-size:16px;line-height:1.6}
.cmb a{color:var(--cmb-sarcelle-f)} .cmb a:hover{color:var(--cmb-marine)}
.cmb a:focus-visible,.cmb button:focus-visible,.cmb summary:focus-visible{outline:3px solid var(--cmb-or);outline-offset:3px;border-radius:6px}
.cmb h1,.cmb h2{font-family:var(--cmb-titre);font-weight:500;color:var(--cmb-marine);line-height:1.15;margin:0}
.cmb h3{font-family:var(--cmb-corps);font-weight:600;color:var(--cmb-marine);margin:0}
.cmb p{margin:0}
.cmb-wrap{max-width:1240px;margin:0 auto;padding-left:32px;padding-right:32px}
.cmb-section{padding-top:56px;padding-bottom:56px}
.cmb-stack{display:flex;flex-direction:column;gap:16px}

/* Bandeau de titre (marine) */
.cmb-hero{background:var(--cmb-marine);color:#FFFFFF;position:relative;overflow:hidden}
.cmb-hero .cmb-wrap{padding-top:44px;padding-bottom:64px;display:flex;flex-direction:column;gap:16px;position:relative}
.cmb-hero h1{color:#FFFFFF;font-size:clamp(34px,4.6vw,54px);max-width:780px;text-wrap:balance}
.cmb-hero .cmb-lead{color:#C9D6DE;font-size:18px;max-width:660px}
.cmb-crumbs{font-size:14px;color:#B7C7D1}
.cmb-crumbs a{color:var(--cmb-or-t)!important;text-decoration:none}
.cmb-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cmb-sarcelle)}
.cmb-hero .cmb-eyebrow{color:var(--cmb-or)}
.cmb-eyebrow::before{content:"";width:24px;height:2px;background:var(--cmb-or)}
.cmb-hero-arc{position:absolute;right:-40px;bottom:-60px;width:520px;opacity:.5;pointer-events:none}

/* Boutons */
.cmb-actions{display:flex;gap:12px;flex-wrap:wrap}
.cmb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;border-radius:12px;font-weight:600;text-decoration:none!important;border:1px solid transparent;transition:background .2s,transform .2s}
.cmb-btn:hover{transform:translateY(-1px)}
.cmb-btn--teal{background:var(--cmb-sarcelle);color:#FFFFFF!important} .cmb-btn--teal:hover{background:var(--cmb-sarcelle-f)}
.cmb-btn--light{background:#FFFFFF;color:var(--cmb-marine)!important} .cmb-btn--light:hover{background:var(--cmb-sarcelle-t)}
.cmb-btn--ghost{border-color:rgba(255,255,255,.45);color:#FFFFFF!important} .cmb-btn--ghost:hover{background:rgba(255,255,255,.10)}
.cmb-btn--line{border-color:var(--cmb-ligne);background:#FFFFFF;color:var(--cmb-marine)!important} .cmb-btn--line:hover{border-color:var(--cmb-sarcelle)}
.cmb-btn--green{background:var(--cmb-vert);color:#FFFFFF!important} .cmb-btn--green:hover{background:var(--cmb-vert-f)}

/* Cartes et grilles */
.cmb-card{background:#FFFFFF;border:1px solid var(--cmb-ligne);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:12px}
.cmb-card h2{font-size:28px}
.cmb-tile{background:#FFFFFF;border:1px solid var(--cmb-ligne);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px;text-decoration:none!important;color:var(--cmb-marine)!important;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.cmb-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(26,45,58,.10);border-color:var(--cmb-sarcelle)}
.cmb-tile span{color:var(--cmb-texte-3);font-size:15px}
.cmb-tile .cmb-more{margin-top:auto;color:var(--cmb-sarcelle);font-weight:600;font-size:14px}
.cmb-grid-2,.cmb-grid-3,.cmb-grid-4{display:grid;gap:16px}
.cmb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cmb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cmb-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cmb-soft{background:var(--cmb-fond);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:6px}

/* Étapes numérotées */
.cmb-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:cmb}
.cmb-step{background:var(--cmb-fond);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px;counter-increment:cmb}
.cmb-step::before{content:counter(cmb);width:34px;height:34px;border-radius:50%;background:var(--cmb-sarcelle);color:#FFFFFF;display:grid;place-items:center;font-weight:700}
.cmb-step span{font-size:15px;color:var(--cmb-texte-3)}

/* Encadrés */
.cmb-callout{border:1px solid #CFE0E8;background:#F1F7FA;border-radius:16px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.cmb-alert{background:#FFF6F2;border:1px solid #F1D3C3;border-radius:20px;padding:22px 26px;color:#6B3210}
.cmb-alert strong{color:#6B3210}
.cmb-private{background:var(--cmb-vert-t);border:1px solid #CFE3D9;border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:14px}
.cmb-private .cmb-eyebrow{color:var(--cmb-vert-f)}

/* Horaires */
.cmb-hours{display:grid;grid-template-columns:1fr auto;gap:6px 16px;font-size:15px}
.cmb-hours span{color:var(--cmb-texte-3)}

/* FAQ */
.cmb details{border:1px solid var(--cmb-ligne);border-radius:14px;padding:16px 20px;background:#FFFFFF}
.cmb details+details{margin-top:10px}
.cmb summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600}
.cmb summary::-webkit-details-marker{display:none}
.cmb summary::after{content:"+";font-size:22px;color:var(--cmb-sarcelle);transition:transform .25s}
.cmb details[open] summary::after{transform:rotate(45deg)}
.cmb details p{margin-top:10px;color:var(--cmb-texte-3)}

/* Mise en page avec colonne latérale */
.cmb-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.cmb-aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}

/* Mouvement discret */
@keyframes cmbRise{from{transform:translateY(16px);opacity:.4}to{transform:none;opacity:1}}
@keyframes cmbArc{from{stroke-dashoffset:520}to{stroke-dashoffset:0}}
.cmb-hero .cmb-wrap>*{animation:cmbRise .9s cubic-bezier(.2,.7,.2,1) both}
.cmb-hero .cmb-wrap>*:nth-child(2){animation-delay:.08s}
.cmb-hero .cmb-wrap>*:nth-child(3){animation-delay:.16s}
.cmb-hero .cmb-wrap>*:nth-child(4){animation-delay:.24s}
.cmb-hero-arc path:first-child{stroke-dasharray:520;animation:cmbArc 2.4s cubic-bezier(.2,.7,.2,1) .3s both}
@supports (animation-timeline: view()){
  @keyframes cmbReveal{from{transform:translateY(24px);opacity:.7}to{transform:none;opacity:1}}
  .cmb-reveal{animation:cmbReveal linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
}
@media (prefers-reduced-motion: reduce){
  .cmb-hero .cmb-wrap>*,.cmb-hero-arc path,.cmb-reveal{animation:none!important}
  .cmb-tile,.cmb-btn{transition:none}
}

/* Adaptatif */
@media (max-width:1080px){
  .cmb-layout{grid-template-columns:minmax(0,1fr)}
  .cmb-aside{position:static}
  .cmb-grid-4,.cmb-grid-3,.cmb-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .cmb-grid-4,.cmb-grid-3,.cmb-grid-2,.cmb-steps{grid-template-columns:minmax(0,1fr)}
  .cmb-wrap{padding-left:16px;padding-right:16px}
  .cmb-hero-arc{display:none}
  .cmb-card{padding:22px}
}
/* CMB-DESIGN END */
