/*
Theme Name: Twenty Twenty-Five Child – Chamonix
Theme URI: https://example.com/twentytwentyfive-chamonix-child
Author: Versatik
Author URI: https://versatik.ai
Description: Child theme of Twenty Twenty-Five with Chamonix massage homepage and reusable patterns.
Version: 1.0.6
Template: twentytwentyfive
Text Domain: twentytwentyfive-chamonix-child
*/

/* --- Chamonix utilities --- */
.is-style-links a { text-decoration: none; font-weight: 600; }
.is-style-links a:hover { text-decoration: underline; }
.wp-block-separator.is-style-wide { opacity: .35; }
.wp-block-button__link { border-radius: 10px; }

/* --- Force strong tags to be bold --- */
strong, b {
  font-weight: 700 !important;
}

/* Specific override for content areas */
.wp-block-post-content strong,
.entry-content strong,
p strong {
  font-weight: bold !important;
  font-weight: 700 !important;
}

/* --- Fix: Remove white margin below header --- */
.wp-site-blocks > .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Alternative: target any content immediately after header */
header + .wp-block-post-content,
header + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Force remove all spacing for post-content in page templates */
.wp-block-post-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Remove default WordPress margins */
.wp-site-blocks > * {
  margin-block-start: 0 !important;
}

/* Target Twenty Twenty-Five specific spacing */
:root :where(.is-layout-flow) > :first-child {
  margin-block-start: 0 !important;
}

/* --- Chamonix Booking Form 2-Column Layout --- */
.chamonix-form-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  margin-bottom: 1.5rem !important;
}

.chamonix-form-col {
  flex: 1 1 calc(50% - 0.5rem) !important;
  min-width: 200px !important;
  max-width: calc(50% - 0.5rem) !important;
}

.chamonix-form-input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Force 2-column layout even if WordPress tries to override */
#chamonix-booking-form .chamonix-form-row {
  display: flex !important;
  flex-direction: row !important;
}

#chamonix-booking-form .chamonix-form-col {
  flex: 1 !important;
  display: block !important;
}

/* Mobile responsive - stack on small screens */
@media (max-width: 600px) {
  .chamonix-form-col {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

/* --- Simple 2-Column Test --- */
/* Remove all custom CSS for now to test basic WordPress columns */

.is-sticky { position: sticky; }
.top-0 { top: 0; }
.z-50 { z-index: 50; }
.has-shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.06); }
.has-border-bottom { border-bottom-style: solid; }
.no-underline a { text-decoration: none !important; }

/* ================= SOLUTION AGRESSIVE POUR MARGE HEADER ================= */

/* Forcer marge 0 avec spécificité maximale */
html body .wp-site-blocks > *:first-child,
html body .wp-site-blocks > .wp-block-group:first-child,
html body .wp-site-blocks > .wp-block-group.alignfull:first-child,
html body .wp-site-blocks > .wp-block-group.alignfull.has-spa-grey-2-background-color {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* CIBLER SPÉCIFIQUEMENT LA BANDE GRISE (deuxième élément après header) */
html body .wp-site-blocks .wp-block-group.alignfull.has-spa-grey-2-background-color,
html body .wp-block-group.alignfull.has-spa-grey-2-background-color,
.wp-block-group.alignfull.has-spa-grey-2-background-color {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}

/* S'assurer qu'il n'y a pas d'espace entre header et bande grise */
header.wp-block-group.is-sticky + .wp-block-group.alignfull.has-spa-grey-2-background-color {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Forcer sur TOUS les éléments qui suivent le header */
.wp-site-blocks > .wp-block-group:nth-child(2) {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Wrapper global sans marge */
html body .wp-site-blocks,
html body main.wp-site-blocks {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
}

/* Surcharger toute règle :where() de WordPress */
html body .is-layout-flow > .wp-block-group:first-child {
  margin-block-start: 0 !important;
}

/* RESET COMPLET HTML/BODY */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Reset du premier élément */
body *:first-child,
.wp-site-blocks > *:first-child {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Reset de l'admin bar WordPress si présent */
body.admin-bar {
  margin-top: 0 !important;
  padding-top: 32px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar {
    padding-top: 46px !important;
  }
}

/* Utiliser une approche avec animation pour forcer */
@keyframes resetMargin {
  0%, 100% { margin-top: 0 !important; margin-block-start: 0 !important; }
}

.wp-site-blocks > .wp-block-group:first-child {
  animation: resetMargin 0.01s;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Restaurer l'espacement normal pour le contenu APRÈS le header */
.wp-site-blocks > .wp-block-post-content {
  margin-top: 0 !important;
}

/* Espacement normal entre les sections de contenu */
.wp-block-post-content > * {
  margin-block-start: 1.2rem;
}

/* EXCEPTION: Premier élément du contenu ne doit pas avoir de marge */
.wp-block-post-content > *:first-child {
  margin-block-start: 0 !important;
}

/* Ajuster la taille du titre du site */
.wp-block-site-title a {
  font-size: clamp(20px, 5vw, 28px) !important;
  font-weight: 700 !important;
}

/* Diminuer la taille des liens de navigation */
.wp-block-navigation .wp-block-navigation-item a {
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* ================= MOBILE OPTIMIZATIONS ================= */

/* Mobile menu styling */
@media (max-width: 781px) {
  /* Show hamburger menu button on mobile */
  .wp-block-navigation__responsive-container-open {
    display: block !important;
  }

  /* Hamburger button styling - WHITE (visible on black header) */
  .wp-block-navigation__responsive-container-open button {
    background: transparent !important;
    border: none !important;
    color: white !important;
    font-size: 24px !important;
    padding: 8px !important;
  }

  /* Hamburger icon lines - make them white */
  .wp-block-navigation__responsive-container-open button svg,
  .wp-block-navigation__responsive-container-open button svg path {
    fill: white !important;
    stroke: white !important;
  }

  /* Mobile menu container background */
  .wp-block-navigation__responsive-container.is-menu-open {
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px) !important;
    padding: 1rem !important;
  }

  /* Mobile menu text - black, left aligned, reduced spacing */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
    color: black !important;
    text-align: left !important;
    display: block !important;
    padding: 0.5rem 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* Mobile menu list alignment - FORCE LEFT */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    text-align: left !important;
    padding: 0 !important;
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* Mobile menu items alignment - FORCE LEFT */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    text-align: left !important;
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
  }

  /* Force the menu overlay to align left */
  .wp-block-navigation__responsive-container.is-menu-open {
    text-align: left !important;
  }

  /* If no menu is set, hide the navigation completely on mobile */
  .wp-block-navigation:not(.has-modal-open):not(.is-responsive) {
    display: none !important;
  }

  /* Larger text on mobile (excluding titles) */
  p,
  .wp-block-paragraph,
  li,
  .wp-block-list-item,
  td,
  .wp-block-table td,
  .wp-block-button__link {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  /* Table text on mobile */
  table td,
  table th {
    font-size: 16px !important;
  }

  /* CTA paragraph text */
  .wp-block-group.alignfull p {
    font-size: 18px !important;
  }

  /* Sidebar titles larger on mobile */
  .wp-block-columns .wp-block-column .wp-block-group .wp-block-heading,
  .wp-block-columns .wp-block-column .wp-block-group h3 {
    font-size: 20px !important;
  }

  /* Force responsive navigation on mobile - more careful approach */
  .wp-block-navigation__responsive-container-open {
    display: block !important;
  }

  /* Hide desktop menu items on mobile when responsive menu is available */
  .wp-block-navigation.has-modal-open .wp-block-navigation__container {
    display: none !important;
  }
}

/* Styles pour CTA Gradient buttons */
.btn-ghost-spa {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  transition: all 0.3s ease !important;
}

.btn-ghost-spa:hover {
  background-color: rgba(145,141,188,0.3) !important;
}

/* Hauteurs naturelles pour les Features 3 cards */
.wp-block-columns .wp-block-column .wp-block-group {
  height: auto;
}

/* Forcer centrage des titres Features 3 cards */
.wp-block-columns .wp-block-column .wp-block-group.has-text-align-center .wp-block-heading,
.wp-block-columns .wp-block-column .wp-block-group .wp-block-heading.has-text-align-center,
.wp-block-columns .wp-block-column .wp-block-group .wp-block-heading {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-block-columns .wp-block-column .wp-block-group.has-text-align-center p,
.wp-block-columns .wp-block-column .wp-block-group p.has-text-align-center {
  text-align: center !important;
}

/* Force centrage sur tout le contenu des cartes Features */
.wp-block-columns .wp-block-column .wp-block-group.has-text-align-center * {
  text-align: center !important;
}

/* Sous-titre hero (équiv. Tailwind max-w-2xl) */
.max-width-2xl { max-width: 42rem; margin-left: auto; margin-right: auto; }

/* Sécurise le token gradient si theme.json n'est pas encore chargé */
:root { --wp--preset--gradient--spa-gradient: linear-gradient(90deg, #918dbc 0%, #d6adb7 100%); }

/* Appliquer le gradient preset si référencé en inline */
.has-spa-gradient-gradient-background,
.wp-block-group.has-background[style*="--wp--preset--gradient--spa-gradient"],
.wp-block-group[style*="--wp--preset--gradient--spa-gradient"] {
  background: var(--wp--preset--gradient--spa-gradient) !important;
}

/* ================= FULL-BLEED ROBUSTE (Group/Cover) ================= */

/* RESET complet pour éviter le padding WordPress */
html, body {
  overflow-x: clip;
}

.wp-site-blocks {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* APPROCHE SIMPLE FULL-WIDTH */
.alignfull {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: auto !important;
  right: auto !important;
  position: static !important;
}

/* Spécifique pour les conteneurs avec contraintes */
.is-layout-constrained > .alignfull,
.wp-site-blocks .alignfull {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* 4) Petits ajustements pour Cover full-bleed */
.wp-block-cover.alignfull { border-radius: 0; }
.wp-block-cover.alignfull > .wp-block-cover__inner-container { position: relative; z-index: 1; }

/* Évite le scroll horizontal avec 100vw */
html, body { overflow-x: clip; }

/* ================= VIOLET BAR ALIGNMENT ================= */

/* Force violet decorative bar to align left */
.wp-block-group div[style*="background-color: #918dbc"],
div[style*="background-color: #918dbc"][style*="height: 0.25rem"] {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
  float: none !important;
  display: block !important;
}

/* ================= Z-INDEX MANAGEMENT ================= */

/* Header/Navigation must be above full-width patterns */
header[role="banner"],
.wp-block-template-part[data-type="header"],
.site-header,
nav {
  position: relative;
  z-index: 100 !important;
}

/* Full-width patterns should be below navigation */
.alignfull,
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
  z-index: 1;
  position: relative;
}

/* 1) Séparateur violet (bloc natif WP Separator avec class "chx-accent") */
.wp-site-blocks .wp-block-separator.chx-accent {
  border: 0 !important;
  height: 0.25rem !important;
  width: 4rem !important;
  background: #918dbc !important;
  margin: 0 0 2rem 0 !important;  /* collé à gauche */
  display: block !important;
  opacity: 1 !important;          /* annule l'opacité par défaut du thème */
}
/* Empêche les variantes (wide/dots) d'écraser nos dimensions */
.wp-site-blocks .wp-block-separator.chx-accent.is-style-wide,
.wp-site-blocks .wp-block-separator.chx-accent:not(.is-style-dots) {
  width: 4rem !important;
}

/* 2) Garde le titre + barre alignés à gauche dans ce wrapper */
.chx-left-align {
  display: grid;             /* simple et robuste */
  justify-items: start;      /* tout à gauche */
}
.chx-left-align > * {
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: none !important;
}

/* 3) (Optionnel) barre via <div class="chx-accent-bar"> si tu l’utilises encore */
.chx-accent-bar {
  width: 4rem;
  height: 0.25rem;
  background: #918dbc;
  display: block;
  margin: 0 0 2rem 0;
}

/* Forcer l'alignement à gauche dans le wrapper du textblock */
.wp-site-blocks .chx-left-align,
.wp-site-blocks .chx-left-align * {
  text-align: left !important;
}

/* Le titre ne doit pas se recentrer via margins auto */
.wp-site-blocks .chx-left-align .wp-block-heading {
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-self: start; /* au cas où le wrapper est en grid */
}

/* La barre violette collée à gauche */
.wp-site-blocks .chx-left-align .wp-block-separator.chx-accent {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Barre d'annonce en dégradé */
.ph-announce {
  background: linear-gradient(90deg, #2f74c0 0%, #7a4aa0 50%, #ff2b59 100%) !important;
}

/* Header sticky (optionnel) */
.ph-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  border-bottom: 1px solid #e6eef6;
  transition: all 0.3s ease;
}

/* Logo transition au scroll */
.ph-header img {
  transition: all 0.3s ease;
}

/* Fond semi-transparent blanc sous le logo pour meilleure visibilité */

.ph-header-home figure.wp-block-image {
    /*background: radial-gradient(circle, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.15) 60%, transparent 100%) !important;*/
    background: white !important;*/
	padding: 8px 16px !important;
    border-radius: 8px !important;
    backdrop-filter: blur(10px) !important;
    display: inline-block !important;
}


/* Header scrollé avec logo plus petit */
.ph-header.scrolled {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.ph-header.scrolled img {
  width: 120px !important;
}

/* Menu : léger effet hover */
.ph-header .wp-block-navigation a {
  text-decoration: none;
  color: #000000 !important;
  font-weight: 700 !important;
}
.ph-header .wp-block-navigation a:hover {
  opacity: .85;
}

/* Header Home transparent avec fonts blanches */
.ph-absolute-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999 !important;
  width: 100% !important;
}

.ph-header-home {
  background-color: transparent !important;
  border-bottom: none !important;
}

.ph-header-home .wp-block-navigation a {
  color: #ffffff !important;
}

/* Au scroll, le header devient sticky avec fond blanc */
.ph-absolute-wrapper.scrolled {
  position: fixed !important;
}

.ph-header-home.scrolled {
  background-color: rgba(255, 255, 255, 1) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.ph-header-home.scrolled .wp-block-navigation a {
  color: #000000 !important;
}

/* CTA primaire (dégradé PulsHeart) */
.ph-cta-primary .wp-block-button__link {
  font-weight: 700;
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(47,116,192,.14), 0 6px 18px rgba(15,23,42,.06);
  background: linear-gradient(90deg, #2f74c0 0%, #7a4aa0 50%, #ff2b59 100%);
  padding: .66rem 1rem;
  color: #ffffff !important;
  border: none !important;
}

/* CTA ghost (contour + texte blanc semi-transparent) */
.ph-cta-ghost .wp-block-button__link {
  border: 1px solid rgba(255,255,255,.2) !important;
  background: rgba(255,255,255,.05) !important;
  color: #ffffff !important;
  border-radius: 12px;
  padding: .66rem 1rem;
  backdrop-filter: blur(10px) !important;
}

.ph-cta-ghost .wp-block-button__link:hover {
  border-color: rgba(255,255,255,.4) !important;
  background: rgba(255,255,255,.15) !important;
}

/* ===== HERO – CTAs alignés à gauche (nettoyé) ===== */
.ph-hero .wp-block-buttons,
.ph-hero .ph-container.is-layout-constrained > .wp-block-buttons,
.ph-hero .wp-block-group.is-layout-constrained > .wp-block-buttons,
.ph-hero .ph-hero-buttons {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: 100% !important; /* empêche le recentrage par margin:auto */
}

.ph-hero .wp-block-buttons .wp-block-button,
.ph-hero .ph-hero-buttons .wp-block-button {
  width: auto !important;
}

.ph-hero .wp-block-buttons .wp-block-button + .wp-block-button,
.ph-hero .ph-hero-buttons .wp-block-button + .wp-block-button {
  margin-left: 12px !important;
}

/* CORRECTION : Boutons en colonne dès 600px pour éviter le débordement */
@media (max-width: 600px) {
  .ph-hero .wp-block-buttons,
  .ph-hero .ph-hero-buttons {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  
  .ph-hero .wp-block-button {
    width: 100% !important;
    margin-left: 0 !important;
  }
  
.ph-hero .wp-block-button__link {
  font-size: 14px !important;
  padding: 0.65rem 1rem !important;
  width: 100% !important;
  text-align: center !important;
  display: block !important;
}

/* Fin séparateur dégradé sous le header */
.ph-separator {
  height: 5px;
  background: linear-gradient(90deg, #2f74c0 0%, #7a4aa0 50%, #ff2b59 100%);
  width: 100%;
}

/* Badge pill - semi-transparent comme bouton ghost */
.ph-pill {
  display: inline-block;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  color: #ffffff !important;
  backdrop-filter: blur(10px) !important;
}

/* Hero – minimal, sans décalage latéral global */
.ph-hero {
  min-height: 520px !important;
}

.ph-hero .wp-block-cover__image-background {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

/* Logos partenaires - effet grayscale */
.ph-logos img {
  filter: grayscale(100%);
  opacity: 0.9;
  transition: opacity 0.2s ease, filter 0.2s ease;
}
.ph-logos img:hover {
  opacity: 1;
  filter: grayscale(0%);
}

/* Mobile responsive pour hero */
@media (max-width: 980px) {
  .ph-hero { min-height: 460px !important; }
  .ph-logos .wp-block-columns { gap: 20px !important; }
}

@media (max-width: 782px) {
  .ph-hero {
    min-height: 400px !important;
    padding-top: 130px !important;
    padding-bottom: 40px !important;
  }
  .ph-hero h1 {
    font-size: clamp(24px, 6vw, 32px) !important;
    line-height: 1.2 !important;
  }
  .ph-hero p { font-size: 16px !important; }
  .ph-hero .wp-block-button { width: 100% !important; }
}

@media (max-width: 640px) {
  /* Logos en 2 colonnes sur mobile */
  .ph-logos .wp-block-column {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
}

/* ================= SECTION PLATFORM - OUTILS INSUFFISANTS ================= */

/* Wrapper de section - aligner avec les autres sections */
.ph-platform-hero {
  /* Le padding est défini dans le pattern pour correspondre à testimonials */
}

/* Barre titre - pas de forçage, alignement naturel */

/* Titre H2 de la section platform - forcer alignement */
.ph-platform-hero > h2 {
  text-align: left !important;
}

/* Barre doit suivre le même alignement que H2 */
.ph-platform-hero .ph-title-bar {
  text-align: left !important;
}

/* Bande de fond douce avec radiaux */
.ph-band-bg {
  background:
    radial-gradient(1600px 420px at 10% 0%, rgba(47,116,192,.12), transparent 60%),
    radial-gradient(1400px 360px at 90% 20%, rgba(255,43,89,.12), transparent 60%);
}

/* Carte métrique - motif de points décoratif */
.ph-dots {
  margin-top: 14px;
  width: 100%;
  height: 110px;
  border-radius: 12px;
  opacity: 0.9;
  background:
    radial-gradient(circle 2px at 10px 12px, #627482 99%, transparent 101%) 0 0/24px 18px repeat,
    radial-gradient(circle 2px at 10px 12px, #ff6f8b 99%, transparent 101%) 0 10px/32px 24px repeat;
}

/* Pastille icône / chiffre des stats */
.ph-ico {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-bottom: 6px;
  background: linear-gradient(145deg, #ffe7ec, #fff);
  box-shadow: inset 0 0 0 1px #ffd0da;
  font-weight: 800;
  color: #d9274d;
  font-size: 14px;
}

/* Cartes statistiques - même hauteur */
.ph-stat {
  min-height: 180px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Alignement des colonnes statistiques - comme testimonials */
.ph-stats3 {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ph-stats3.wp-block-columns {
  align-items: flex-start !important;
}

.ph-stats3 .wp-block-column {
  align-self: stretch !important;
}

/* Paragraphe lead */
.ph-lead {}

/* Responsive section platform */
@media (max-width: 1024px) {
  .ph-platform-hero {
    padding-top: 42px !important;
  }
}

/* Réduire espacement vertical autour du logo */
.ph-header .wp-block-group,
.ph-header .wp-block-image {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Réduire espacement dans le flow layout du header */
.ph-header :where(.is-layout-flow) > *,
.ph-header.is-layout-constrained > *,
.ph-header .is-layout-flex > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Override WordPress core margin for header */
:root :where(.ph-header.is-layout-flow) > *,
:root :where(.ph-header) > *,
:root :where(.ph-header) :where(.is-layout-flow) > *,
:root .ph-header :where(.is-layout-flow) > *,
.ph-header.is-layout-constrained :where(.is-layout-flow) > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Ultra-specific override for WordPress blockGap in header */
header.ph-header :where(.is-layout-flow) > *,
header.ph-header.has-global-padding :where(.is-layout-flow) > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Nuclear option: Override ALL children of header without :where() */
header.wp-block-group.ph-header > *,
header.wp-block-group.ph-header > * > *,
header.wp-block-group.ph-header .wp-block-group,
header.wp-block-group.ph-header .wp-block-image,
header.wp-block-group.ph-header figure {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* FORCE WHITE BACKGROUND - MAX SPECIFICITY */
html body.home,
html body.page-id-60 {
  background-color: #ffffff !important;
}

html body.home .wp-site-blocks,
html body.page-id-60 .wp-site-blocks {
  background-color: #ffffff !important;
}

html body,
html body .wp-site-blocks,
html body main {
  background-color: #ffffff !important;
}

/* CORRECTION : Centrage de l'image défibrillateur sur mobile */
@media (max-width: 782px) {
  /* Cibler la colonne qui contient l'image défibrillateur */
  .ph-section-gradient .wp-block-columns .wp-block-column:has(div[style*="pulsheart-scp.jpg"]) {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  
  /* Ajuster la hauteur de l'image sur mobile */
div[style*="pulsheart-scp.jpg"] {
  height: 22rem !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: #f3f4f6 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 600px !important;
}
  
  /* S'assurer que les colonnes sont bien empilées */
  .ph-section-gradient .wp-block-columns {
    flex-direction: column !important;
  }
  
  .ph-section-gradient .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

div[style*="pulsheart-scp.jpg"] {
  height: 18rem !important;
  max-width: 100% !important;
}

html, body {
    overflow-x: clip !important;
    overflow-y: auto !important;
  }
