/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 20 2025 | 08:11:47 */
/* === ASM — Header propre, une seule ligne, logo lisible === */

/* Ligne principale : logo+titre à gauche, menu à droite, SANS retour à la ligne */
header.wp-block-template-part > .wp-block-group.is-layout-flex {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  padding-inline: 8px !important;   /* bord gauche/droite homogène */
  box-sizing: border-box !important;
}

/* Groupe gauche (logo + titre) : une seule ligne, pas de wrap */
header.wp-block-template-part .wp-block-group:has(.wp-block-site-logo) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Taille du logo (lisible) */
header.wp-block-template-part .wp-block-site-logo img {
  height: 64px !important;  /* ajuste 56–72 selon ton goût */
  width: auto !important;
}

/* Titre : reste sur une ligne, peut se contracter légèrement si besoin */
header.wp-block-template-part .wp-block-site-title,
header.wp-block-template-part .wp-block-site-title a {
  font-size: 1.6rem !important;     /* ajuste si besoin */
  line-height: 1.1 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Menu : calé à droite, une seule ligne */
header.wp-block-template-part nav.wp-block-navigation {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}
header.wp-block-template-part .wp-block-navigation__container {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;        /* espace entre liens */
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

/* Petites réductions sur laptop pour éviter la 2e ligne */
@media (max-width: 1366px) {
  header.wp-block-template-part .wp-block-navigation__container { gap: 12px !important; }
  header.wp-block-template-part .wp-block-navigation a,
  header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__content {
    font-size: 0.95rem !important;
    padding-inline: 0 !important;
    letter-spacing: 0 !important;
  }
  header.wp-block-template-part .wp-block-site-title a { font-size: 1.4rem !important; }
  header.wp-block-template-part .wp-block-site-logo img { height: 56px !important; }
}

/* Tablettes : un peu plus compact mais propre */
@media (max-width: 1024px) {
  header.wp-block-template-part .wp-block-site-title a { font-size: 1.2rem !important; }
  header.wp-block-template-part .wp-block-site-logo img { height: 48px !important; }
}

/* Logo plus grand (desktop) */
header.wp-block-template-part .wp-block-site-logo img,
header.wp-block-template-part .wp-block-site-logo a img {
  height: 72px !important;      /* 64–80px selon ton goût */
  width: auto !important;
}

/* Tablet / mobile : taille adaptée */
@media (max-width: 1024px) {
  header.wp-block-template-part .wp-block-site-logo img,
  header.wp-block-template-part .wp-block-site-logo a img {
    height: 56px !important;
  }
}
@media (max-width: 782px) {
  header.wp-block-template-part .wp-block-site-logo img,
  header.wp-block-template-part .wp-block-site-logo a img {
    height: 44px !important;
  }
}

/* Empêche tout débordement horizontal du header */
.site-header,
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group,
header.wp-block-template-part .wp-block-group.alignwide,
header.wp-block-template-part .wp-block-group.alignfull {
  width: 100% !important;      /* remplace 100vw */
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Sécurité globale anti-scroll horizontal */
html, body, .wp-site-blocks { overflow-x: hidden !important; }

/* Style spécifique à la page Donate (remplacer XXX par l'ID réel) */
body.page-id-XXX .entry-title,
body.page-id-XXX h1.entry-title,
body.page-id-XXX .wp-block-heading {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin: 1.25rem 0 1rem !important;
  color: #111827 !important;
}

body.page-id-XXX .entry-content p,
body.page-id-XXX .wp-block-paragraph {
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  text-align: center !important;   /* optionnel */
}

/* Si la page Donate n’a qu’un H2 "Coming soon" */
body.page-id-XXX h2 {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* Clamp the header to the page width (never 100vw) */
.site-header,
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group,
header.wp-block-template-part .wp-block-group.alignwide,
header.wp-block-template-part .wp-block-group.alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Remove the small left shift we added earlier (caused overflow) */
header.wp-block-template-part .wp-block-site-logo {
  transform: none !important;
  margin-left: 0 !important;
}

/* Kill any root paddings that can push 1–2px */
:root{
  --wp--style--root--padding-left: 0 !important;
  --wp--style--root--padding-right: 0 !important;
}
.wp-site-blocks{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Final safety: no horizontal scroll */
html, body { overflow-x: hidden !important; }

/* --- Respiration à droite, sans créer de débordement --- */
.site-header,
header.wp-block-template-part {
  padding-right: clamp(14px, 1.2vw, 22px) !important; /* marge droite visible */
  padding-left: clamp(10px, 1vw, 18px) !important;    /* garde la symétrie */
  width: min(100%, 100vw) !important;
  box-sizing: border-box !important;
}

/* Supprime tout décalage négatif du menu qui collait à droite */
header.wp-block-template-part .wp-block-navigation {
  margin-right: 0 !important;
}

/* Espace confortable entre les liens, sans wrap */
header.wp-block-template-part .wp-block-navigation__container {
  gap: 1rem !important;
  flex-wrap: nowrap !important;
}

/* Sécurité anti barre horizontale */
html, body { overflow-x: hidden !important; }

/* Desktop / tablette / mobile */
header.wp-block-template-part .wp-block-site-logo img {
  width: 120px !important;   /* essaye 130–150 si tu veux plus grand */
  height: auto !important;
}
@media (max-width: 1024px){
  header.wp-block-template-part .wp-block-site-logo img { width: 100px !important; }
}
@media (max-width: 600px){
  header.wp-block-template-part .wp-block-site-logo img { width: 80px !important; }
}

/* Pas de débordement horizontal, partout */
html, body { overflow-x: hidden !important; }

/* Le header occupe 100% de la largeur, avec un padding sûr */
:where(.wp-site-blocks) > header,
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding-inline: clamp(12px, 2vw, 24px) !important; /* + d’air à droite */
}

/* Annule les petits décalages à droite qui pouvaient créer un dépassement */
header.wp-block-template-part .wp-block-navigation { margin-right: 0 !important; }

/* Sécurise la page Donate si un style de page re-crée un débordement */
body.page-id-XXX :where(.wp-site-blocks) > header,
body.page-id-XXX header.wp-block-template-part {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: clamp(14px, 2vw, 28px) !important;
  overflow-x: clip !important;
}
/* Au cas où un style local remet un “push” du menu */
body.page-id-XXX header.wp-block-template-part .wp-block-navigation {
  margin-right: 0 !important;
}

/********** 1) LOGO VRAIMENT PLUS GRAND **********/
header.wp-block-template-part .wp-block-site-logo,
header.wp-block-template-part .wp-block-site-logo a {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
}

/* annule toute contrainte de thème (max-width, height fixe, etc.) */
header.wp-block-template-part .wp-block-site-logo img {
  width: auto !important;
  height: 72px !important;        /* ← ajuste 64 / 80 / 90 si tu veux */
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* si le thème ajoute une classe de taille par défaut, on l’écrase */
header.wp-block-template-part .wp-block-site-logo.is-default-size img {
  height: 72px !important;
  width: auto !important;
}

/********** 2) EMPÊCHER TOUT DÉBORDEMENT HORIZONTAL **********/
html, body { overflow-x: hidden !important; }

/* tout ce qui est “alignfull/alignwide” ne doit pas dépasser */
:where(.alignfull, .alignwide) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  max-width: 100% !important;
}

/* le template du header ne dépasse jamais 100% */
:where(.wp-site-blocks) > header,
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding-left: clamp(12px, 2vw, 24px) !important;
  padding-right: clamp(12px, 2vw, 24px) !important;
  overflow-x: clip !important;
}

/* au cas où un “-margin-right” pousserait le menu */
header.wp-block-template-part .wp-block-navigation {
  margin-right: 0 !important;
}

/********** 3) SPÉCIFIQUE PAGE DONATE (bande bleue à droite) **********/
/* Remplace XXX par l’ID de la page Donate (Pages > survole “Donate” → post=XXX) */
body.page-id-XXX :where(.wp-site-blocks) > header,
body.page-id-XXX header.wp-block-template-part,
body.page-id-XXX header.wp-block-template-part > .wp-block-group {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: clamp(16px, 2.2vw, 28px) !important;
  overflow-x: clip !important;
}

/* si un bloc bleu du header est “alignfull” sur Donate, on le neutralise */
body.page-id-XXX header :where(.alignfull, .alignwide) {
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* filet de sécurité : aucun élément de la page Donate ne dépasse */
body.page-id-XXX * {
  box-sizing: border-box !important;
}

/* --- A) Header = pleine largeur, jamais de débordement --- */
:where(.wp-site-blocks) > header,
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-inline: clamp(14px, 2.2vw, 28px) !important; /* un peu d’air à droite/gauche */
  box-sizing: border-box !important;
  overflow-x: clip !important;
}
html, body { overflow-x: hidden !important; }

/* Neutralise toute largeur basée sur 100vw qui provoque le débordement */
header.wp-block-template-part :where(.alignfull, .alignwide) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* --- B) Logo plus grand (desktop) --- */
header.wp-block-template-part .wp-block-site-logo img {
  height: 78px !important;       /* ← augmente/diminue (ex. 72 / 84 / 90) */
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* --- C) Tout sur UNE ligne + alignement vertical parfait --- */
header.wp-block-template-part .wp-block-group.is-layout-flex {
  display: flex !important;
  align-items: center !important;       /* aligne Logo / Titre / Menu au même axe */
  justify-content: space-between !important;
  gap: clamp(8px, 1.2vw, 18px) !important;
  flex-wrap: nowrap !important;         /* évite la 2e ligne sur desktop */
}
header.wp-block-template-part nav.wp-block-navigation,
header.wp-block-template-part .wp-block-navigation__container {
  align-items: center !important;
  line-height: 1.2 !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

/* --- D) Page Donate : filet de sécurité supplémentaire --- */
/* Remplace 123 par l’ID de ta page Donate (Pages > survole “Donate” → post=123) */
body.page-id-123 header.wp-block-template-part,
body.page-id-123 header.wp-block-template-part > .wp-block-group {
  padding-right: clamp(16px, 2.5vw, 32px) !important;  /* un peu plus d’air à droite */
  overflow-x: clip !important;
}

/* === 0) Sécurité anti-débordement (toutes pages) === */
html, body { overflow-x: hidden !important; }
:where(.wp-site-blocks) > header,
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: clamp(12px, 1.6vw, 24px) !important;   /* air à gauche */
  padding-right: clamp(12px, 1.6vw, 24px) !important;  /* air à droite */
  box-sizing: border-box !important;
  overflow-x: clip !important;
}
/* Les alignfull/alignwide ne dépassent pas */
header.wp-block-template-part :where(.alignfull, .alignwide) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* === 1) Rangée du header : tout à gauche, menu poussé à droite === */
header.wp-block-template-part .wp-block-group.is-layout-flex {
  display: flex !important;
  align-items: center !important;     /* aligne verticalement Logo/Titre/Menu */
  justify-content: flex-start !important;  /* tout commence à gauche */
  gap: clamp(8px, 1.2vw, 18px) !important;
  flex-wrap: nowrap !important;       /* pas de 2e ligne sur desktop */
}
/* Le menu est celui qui se met à droite */
header.wp-block-template-part nav.wp-block-navigation { 
  margin-left: auto !important;
  margin-right: 0 !important;         /* neutralise anciens -12px */
}
header.wp-block-template-part .wp-block-navigation__container {
  align-items: center !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}

/* === 2) Logo : plus grand et sans décalage parasite === */
header.wp-block-template-part .wp-block-site-logo {
  transform: none !important;         /* neutralise l'ancien translateX(-5px) */
  margin-left: 0 !important;
  padding: 0 !important;
}
header.wp-block-template-part .wp-block-site-logo img {
  height: 80px !important;            /* ← ajuste (72 / 84 / 90) selon ton goût */
  width: auto !important;
  object-fit: contain !important;
  max-width: none !important;
  max-height: none !important;
}

/* === 3) Page Donate : filet supplémentaire contre le débordement === */
/* Remplace 123 par l'ID réel de la page Donate */
body.page-id-123 header.wp-block-template-part,
body.page-id-123 header.wp-block-template-part > .wp-block-group {
  padding-right: clamp(16px, 2.2vw, 32px) !important;
  overflow-x: clip !important;
}

/* === ASM — PATCH FINAL (à coller tout en bas) ========================= */

/* 0) Anti-débordement global + padding homogène dans le header */
html, body { overflow-x: hidden !important; }
:where(.wp-site-blocks) > header,
.site-header,
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group {
  width: 100% !important;       /* plus de 100vw */
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: clamp(12px, 1.6vw, 24px) !important;
  padding-right: clamp(12px, 1.6vw, 24px) !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}
/* Les blocs alignfull/alignwide dans le header ne dépassent pas */
:where(header) :where(.alignfull, .alignwide) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* 1) Rangée du header : tout commence à gauche, menu à droite */
header.wp-block-template-part .wp-block-group.is-layout-flex,
.site-header .wp-block-group.is-layout-flex {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;  /* logo + titre collés à gauche */
  gap: clamp(8px, 1.2vw, 18px) !important;
  flex-wrap: nowrap !important;            /* pas de 2e ligne sur desktop */
}
header.wp-block-template-part nav.wp-block-navigation,
.site-header nav.wp-block-navigation {
  margin-left: auto !important;            /* pousse le menu à droite */
}

/* 2) Logo vraiment plus grand (responsive) */
:root { --asm-logo: 88px; }                /* desktop par défaut */
@media (max-width: 1024px) { :root { --asm-logo: 64px; } }   /* tablette */
@media (max-width: 600px)  { :root { --asm-logo: 52px; } }   /* mobile */

header .wp-block-site-logo { margin:0 !important; padding:0 !important; transform:none !important; }
header .wp-block-site-logo img,
header .wp-block-site-logo a img {
  height: var(--asm-logo) !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

/* 3) Menu sur une seule ligne + espacement raisonnable */
header .wp-block-navigation__container {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(10px, 1.1vw, 18px) !important;
  white-space: nowrap !important;
}
header .wp-block-navigation a,
header .wp-block-navigation .wp-block-navigation-item__content {
  white-space: nowrap !important;
  padding-inline: 0 !important;
}

/* 4) Page Donate : filet anti-débordement supplémentaire
      (remplace 123 par l’ID réel si tu le connais, sinon garde la règle générique) */
body.page-id-123 header.wp-block-template-part,
body.page-id-123 .site-header {
  padding-right: clamp(16px, 2.2vw, 32px) !important;
  overflow-x: clip !important;
}
/* Sécurité générique (au cas où l’ID n’est pas renseigné) */
body.page header.wp-block-template-part,
body.page .site-header {
  overflow-x: clip !important;
}

/* =========================================================
   ASM — OVERRIDE DUR ET CIBLÉ (logo + anti-débordement + alignement)
   Place ce bloc TOUT EN BAS.
   ========================================================= */

/* 0) Anti-débordement (cause fréquente: 100vw/alignfull dans le header) */
html, body { overflow-x: hidden !important; }

:where(.wp-site-blocks) > header,
header.wp-block-template-part,
.site-header {
  width: 100% !important;          /* stop 100vw */
  max-width: 100% !important;
  margin: 0 !important;
  left: auto !important; right: auto !important;
  padding-left: clamp(12px, 1.6vw, 24px) !important;
  padding-right: clamp(12px, 1.6vw, 24px) !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;      /* coupe toute fuite à droite */
}

/* Neutralise les alignfull/alignwide DANS le header (source n°1 des débordements) */
:where(.wp-site-blocks) > header :where(.alignfull, .alignwide),
header.wp-block-template-part :where(.alignfull, .alignwide),
.site-header :where(.alignfull, .alignwide) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* 1) Logo vraiment plus grand (on multiplie les sélecteurs pour battre le thème) */
:root { --asm-logo-desktop: 88px; --asm-logo-tab: 64px; --asm-logo-mobile: 52px; }

header.wp-block-template-part .wp-block-site-logo img,
header.wp-block-template-part .wp-block-site-logo a img,
.site-header .wp-block-site-logo img,
.site-header .wp-block-site-logo a img,
header .wp-block-site-logo img,
header .wp-block-site-logo a img,
[class*="site-logo"] img,
[class*="site-logo"] a img {
  height: var(--asm-logo-desktop) !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
  image-rendering: auto !important;
}

/* Tablette */
@media (max-width: 1024px) {
  header.wp-block-template-part .wp-block-site-logo img,
  header.wp-block-template-part .wp-block-site-logo a img,
  .site-header .wp-block-site-logo img,
  .site-header .wp-block-site-logo a img,
  header .wp-block-site-logo img,
  header .wp-block-site-logo a img,
  [class*="site-logo"] img,
  [class*="site-logo"] a img {
    height: var(--asm-logo-tab) !important;
  }
}

/* Mobile portrait */
@media (max-width: 600px) {
  header.wp-block-template-part .wp-block-site-logo img,
  header.wp-block-template-part .wp-block-site-logo a img,
  .site-header .wp-block-site-logo img,
  .site-header .wp-block-site-logo a img,
  header .wp-block-site-logo img,
  header .wp-block-site-logo a img,
  [class*="site-logo"] img,
  [class*="site-logo"] a img {
    height: var(--asm-logo-mobile) !important;
  }
}

/* 2) Alignement: bloc gauche (logo+titre) collé à gauche, menu poussé à droite */
header.wp-block-template-part .wp-block-group.is-layout-flex,
.site-header .wp-block-group.is-layout-flex,
header .wp-block-group.is-layout-flex {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;   /* logo + titre à gauche */
  gap: clamp(8px, 1.2vw, 18px) !important;
  flex-wrap: nowrap !important;             /* pas de 2e ligne en desktop */
}

/* Pousser la navigation à droite quoi qu’il arrive */
header.wp-block-template-part nav.wp-block-navigation,
.site-header nav.wp-block-navigation,
header nav.wp-block-navigation {
  margin-left: auto !important;
}

/* 3) Menu sur une seule ligne + liens non cassés */
header .wp-block-navigation__container {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(10px, 1.1vw, 18px) !important;
  white-space: nowrap !important;
}
header .wp-block-navigation a,
header .wp-block-navigation .wp-block-navigation-item__content {
  white-space: nowrap !important;
  padding-inline: 0 !important;
}

/* 4) Page Donate — double sécurité anti-débordement */
body.page .site-header,
body.page header.wp-block-template-part {
  overflow-x: clip !important;
  padding-right: clamp(16px, 2.2vw, 32px) !important; /* un peu + d’air côté droit */
}

/* === 1) LOGO VRAIMENT PLUS GRAND (desktop/tab/mobile) === */
:root{
  --asm-logo-desktop: 160px;  /* ↑ ajuste ici (140–180) */
  --asm-logo-tablet: 120px;
  --asm-logo-mobile: 90px;
}

header.wp-block-template-part .wp-block-site-logo img,
header.wp-block-template-part .wp-block-site-logo a img,
.site-header .wp-block-site-logo img,
.site-header .wp-block-site-logo a img,
.custom-logo,
.custom-logo-link img,
[class*="site-logo"] img,
[class*="site-logo"] a img {
  width: var(--asm-logo-desktop) !important;
  height: auto !important;
  max-width: none !important;   /* neutralise limites du thème */
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 1024px){
  header.wp-block-template-part .wp-block-site-logo img,
  header.wp-block-template-part .wp-block-site-logo a img,
  .site-header .wp-block-site-logo img,
  .site-header .wp-block-site-logo a img,
  .custom-logo,
  .custom-logo-link img,
  [class*="site-logo"] img,
  [class*="site-logo"] a img {
    width: var(--asm-logo-tablet) !important;
  }
}
@media (max-width: 600px){
  header.wp-block-template-part .wp-block-site-logo img,
  header.wp-block-template-part .wp-block-site-logo a img,
  .site-header .wp-block-site-logo img,
  .site-header .wp-block-site-logo a img,
  .custom-logo,
  .custom-logo-link img,
  [class*="site-logo"] img,
  [class*="site-logo"] a img {
    width: var(--asm-logo-mobile) !important;
  }
}

/* === 2) ANTIDÉBORDEMENT DE LA BANDE BLEUE (toutes pages, dont Donate) === */
html, body { overflow-x: hidden !important; }

:where(.wp-site-blocks) > header,
header.wp-block-template-part,
.site-header {
  width: 100% !important;          /* au lieu de 100vw */
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  padding-left: clamp(12px, 1.6vw, 24px) !important;
  padding-right: clamp(12px, 1.6vw, 24px) !important;
  overflow-x: clip !important;
}

/* coupe les alignfull/alignwide à l'intérieur du header (source du débordement) */
:where(.wp-site-blocks) > header :where(.alignfull, .alignwide),
header.wp-block-template-part :where(.alignfull, .alignwide),
.site-header :where(.alignfull, .alignwide) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Sécurité supplémentaire pour les pages classiques (ex. Donate) */
body.page header.wp-block-template-part,
body.page .site-header {
  padding-right: clamp(16px, 2.2vw, 32px) !important; /* un peu d’air à droite */
}

/* === 3) ALIGNEMENT: titre à gauche, menu bien à droite sur UNE LIGNE === */
header.wp-block-template-part .wp-block-group.is-layout-flex,
.site-header .wp-block-group.is-layout-flex {
  display: flex !important;
  align-items: center !important;
  gap: clamp(8px, 1.2vw, 18px) !important;
  flex-wrap: nowrap !important;     /* évite le passage sur 2 lignes */
}

header.wp-block-template-part nav.wp-block-navigation,
.site-header nav.wp-block-navigation { margin-left: auto !important; }

header .wp-block-navigation__container {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(10px, 1.1vw, 18px) !important;
  white-space: nowrap !important;
}

header .wp-block-navigation a,
header .wp-block-navigation .wp-block-navigation-item__content {
  white-space: nowrap !important;
  padding-inline: 0 !important;
}

/* Logo un peu plus petit */
:root{
  --asm-logo-desktop: 130px;  /* avant 160px */
  --asm-logo-tablet: 100px;   /* avant 120px */
  --asm-logo-mobile: 78px;    /* avant 90px */
}

/* Réduire l'espace entre le logo et le texte "Awdal State Movement" */
header.wp-block-template-part .wp-block-group.is-layout-flex,
.site-header .wp-block-group.is-layout-flex {
  gap: clamp(4px, 0.6vw, 10px) !important; /* avant ~18px */
}

/* Ajustement fin du centrage vertical si besoin */
header.wp-block-template-part .wp-block-site-logo,
.site-header .wp-block-site-logo {
  margin-bottom: 2px !important; /* ajuste + ou - selon le rendu */
}

/* Espace minimal entre le logo et le texte */
header.wp-block-template-part .wp-block-group.is-layout-flex,
.site-header .wp-block-group.is-layout-flex {
  gap: clamp(0px, 0.2vw, 4px) !important; /* presque collé */
}

/* Ajustement vertical subtil pour garder l’alignement parfait */
header.wp-block-template-part .wp-block-site-logo,
.site-header .wp-block-site-logo {
  margin-bottom: 2px !important;
}

/* === Aligner le menu avec le texte "Awdal State Movement" === */
.site-header .wp-block-navigation {
  align-self: center !important; /* centre verticalement dans le header */
  margin-top: 4px !important;    /* petit ajustement fin */
}

/* Assure que le groupe du header garde un alignement parfait */
.site-header .wp-block-group.is-layout-flex {
  align-items: center !important; /* centre logo, titre, menu sur la même ligne */
}

/* ===============================
   🔹 Uniformisation du header sur toutes les pages
   =============================== */

/* Hauteur, couleur et structure du bandeau */
header.wp-block-template-part,
.site-header,
.wp-block-template-part .site-header {
  background-color: #5672FC !important; /* même bleu que la page d'accueil */
  min-height: 120px !important;          /* même hauteur partout */
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 0 40px !important;
 box-shadow: 0 6px 20px rgb(0 0 0 / 25%) !important;
}

/* Supprimer marges parasites sur toutes les pages internes */
body:not(.home) .wp-site-blocks,
body:not(.home) main,
body:not(.home) header,
body:not(.home) .site-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Aligner verticalement logo, titre et menu */
.site-header .wp-block-group.is-layout-flex {
  align-items: center !important;
  gap: 14px !important; /* espace constant entre logo et texte */
}

/* Ajustement du menu */
.site-header .wp-block-navigation {
  align-self: center !important;
  margin-top: 4px !important; /* aligné avec "Awdal State Movement" */
}

/* Taille du logo uniforme */
.site-header .wp-block-site-logo img {
  height: 58px !important;  /* même que la page d'accueil */
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
}

/* Sur mobile et tablette — garder le même rendu fluide */
@media (max-width <=  782px) {
  header.wp-block-template-part,
  .site-header,
  .wp-block-template-part .site-header {
    padding: 8px 20px !important;
    min-height: auto !important;
  }

  .site-header .wp-block-site-logo img {
    height: 44px !important;
  }

  .site-header .wp-block-group.is-layout-flex {
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
  }
}

/* === Serrer le logo et le titre vers la gauche === */
.site-header .wp-block-group.is-layout-flex {
  justify-content: flex-start !important; /* colle le groupe à gauche */
  margin-left: 20px !important; /* ajuste l’espace du bord gauche */
  gap: 8px !important; /* réduit l’espace entre le logo et le titre */
}

/* Ajustement fin sur mobile */
@media (max-width <= 782px) {
  .site-header .wp-block-group.is-layout-flex {
    margin-left: 14px !important;
    gap: 6px !important;
  }
}

/* === Réduire l’espace entre le logo et le texte du titre === */
.site-header .wp-block-group.is-layout-flex {
  justify-content: flex-start !important;
  margin-left: 12px !important; /* collé un peu plus à gauche */
  gap: 4px !important; /* réduit au maximum l’espace logo ↔ texte */
}

/* Ajustement fin pour mobile */
@media (max-width <= 782px) {
  .site-header .wp-block-group.is-layout-flex {
    margin-left: 10px !important;
    gap: 3px !important;
  }
}


/* === Coller presque complètement le logo et le texte du titre === */
.site-header .wp-block-group.is-layout-flex {
  justify-content: flex-start !important;
  margin-left: 10px !important; /* légèrement plus proche du bord gauche */
  gap: 1px !important; /* espace minuscule entre logo et texte */
}

/* Version mobile (encore un peu plus compacte) */
@media (max-width <= 782px) {
  .site-header .wp-block-group.is-layout-flex {
    margin-left: 8px !important;
    gap: 0 !important; /* totalement collé sur mobile */
  }
}

/* === Coller complètement le logo et le texte (aucun espace) === */
.site-header .wp-block-group.is-layout-flex {
  justify-content: flex-start !important;
  margin-left: 0 !important;  /* collé au bord gauche */
  gap: 0 !important;          /* aucun espace entre logo et texte */
}

/* Version mobile : idem, parfaitement collé (syntaxe CSS moderne) */
@media (width <= 782px) {
  .site-header .wp-block-group.is-layout-flex {
    margin-left: 6px !important;
    gap: 0 !important;
  }
}

/* --- STOP débordement bande bleue sur pages internes (ex: Donate) --- */
html, body { overflow-x: hidden; }

/* Le header et ses wrappers ne dépassent jamais 100% */
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group,
header.wp-block-template-part .wp-block-group.alignfull,
header.wp-block-template-part .wp-block-group.alignwide {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Toute section "full" des pages internes est ramenée à 100% (pas 100vw) */
body:not(.home) .alignfull,
body:not(.home) .wp-block-cover.alignfull,
body:not(.home) .wp-block-group.alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
}

/* Un petit coussin interne pour éviter que ça colle au bord sur mobile */
header.wp-block-template-part { 
  padding-left: max(8px, env(safe-area-inset-left)) !important;
  padding-right: max(8px, env(safe-area-inset-right)) !important;
}

/* HOME — Bouton "Take Action" lisible sur mobile (pas de texte vertical) */
body.home .wp-block-button { 
  width: auto !important;                 /* pas de 100% qui écrase */
}

body.home .wp-block-button .wp-block-button__link {
  display: inline-flex !important;        /* centre proprement */
  align-items: center !important;
  justify-content: center !important;

  white-space: nowrap !important;         /* NE PAS couper les mots */
  text-wrap: nowrap;                      /* (spec moderne) */
  word-break: normal !important;
  writing-mode: horizontal-tb !important; /* au cas où un style vertical traîne */
  transform: none !important;             /* pas de rotation accidentelle */

  min-width: 9.5rem;                      /* ~152px : taille mini confortable */
  line-height: 1.2 !important;
  letter-spacing: 0 !important;

  padding: 12px 22px !important;          /* zone de clic confortable */
  border-radius: 999px !important;        /* style “pill” */
}

/* Mobile portrait : garde le bouton à sa taille, texte lisible */
@media (max-width <= 480px) {
  body.home .wp-block-button,
  body.home .wp-block-button__link {
    max-width: max-content !important;
    font-size: 16px !important;           /* ajuste si tu veux 15–18px */
  }
}

/* Sécurité : s’il y a un <br> inadvertant dans le bouton, on l’ignore */
body.home .wp-block-button__link br { display: none !important; }


/* === Donate: empêcher le bandeau bleu de dépasser (page-id 22) === */

/* 1) Pas de scroll horizontal sur cette page */
body.page-id-22,
html {
  overflow-x: hidden !important;
}

/* 2) Le header et ses conteneurs “plein écran” utilisent 100% (pas 100vw) */
body.page-id-22 header.wp-block-template-part,
body.page-id-22 header.wp-block-template-part .alignfull,
body.page-id-22 header.wp-block-template-part .wp-block-group.alignfull,
body.page-id-22 header.wp-block-template-part .wp-block-cover.alignfull {
  width: 100% !important;
  max-width: 100% !important;
  /* 3) On annule les marges négatives typiques du plein écran */
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* 4) S'il reste un padding global uniquement sur cette page, on le neutralise */
body.page-id-22 .wp-site-blocks {
  --wp--style--root--padding-left: 0 !important;
  --wp--style--root--padding-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
