/* Hover bouton header */
.ast-header-button a {
  transition: all 0.3s ease;
}

.ast-header-button a:hover {
  background-color: #1d4ed8 !important;
  transform: translateY(-1px);
}
/* Hover menu */
.main-header-menu a {
  transition: all 0.2s ease;
}

.main-header-menu a:hover {
  color: #2563eb !important;
}
.main-header-menu a {
  position: relative;
}

.main-header-menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 2px;
  background: #2563eb;
  transition: width 0.3s ease;
}

.main-header-menu a:hover::after {
  width: 100%;
}
.site-header {
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
/* Sous-menus plus propres */
.main-header-menu .sub-menu {
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(0,0,0,0.10);
  border-radius: 10px;
  padding: 10px 0;
}

/* Liens du sous-menu */
.main-header-menu .sub-menu a {
  color: #111111 !important;
  padding: 12px 18px !important;
  line-height: 1.4;
}

/* Hover sous-menu */
.main-header-menu .sub-menu a:hover {
  background: #eff6ff;
  color: #2563eb !important;
}
/* Sous-sous-menu mieux détaché */
.main-header-menu .sub-menu .sub-menu {
  margin-left: 8px;
  border-radius: 10px;
}
.site-header {
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}/* Fond du dropdown */
.main-header-menu .sub-menu {
  background: #ffffff !important;
  backdrop-filter: none !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
  border-radius: 12px;
  padding: 10px 0;
  min-width: 260px;
}

/* Items */
.main-header-menu .sub-menu li a {
  color: #1a1a1a !important;
  padding: 14px 20px !important;
  font-size: 14px;
  font-weight: 500;
}

/* Hover clean */
.main-header-menu .sub-menu li a:hover {
  background: #f1f5ff !important;
  color: #2563eb !important;
}

/* Enlever l'effet bleu dégueu */
.main-header-menu .sub-menu {
  opacity: 1 !important;
}
.main-header-menu .sub-menu {
  margin-top: 10px;
}
.main-header-menu .sub-menu {
  transition: all 0.2s ease;
}
.site-header {
  border-bottom: 1px solid #E5E7EB;
}
.ast-site-identity {
  display: flex;
  align-items: center;
}
.main-header-menu .menu-link:hover {
  color: #2563EB;
}
.ast-button:hover {
  background-color: #1D4ED8;
  transform: translateY(-1px);
  transition: all 0.2s ease;
}
.site-header .ast-site-identity {
  padding-left: 15px;
}.main-header-menu > li > a {
  font-weight: 500;
  font-size: 15px;
}.main-header-menu > li > a:hover {
  color: #2563EB;
}.ast-button {
  border-radius: 30px;
  padding: 12px 22px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.ast-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3);
}/* Supprime les trous entre les sous-menus */
.main-header-menu .sub-menu {
  margin-top: 0 !important;
}

/* Rend le hover plus tolérant */
.main-header-menu li.menu-item-has-children:hover > .sub-menu {
  display: block;
}

/* Zone invisible pour éviter les coupures */
.main-header-menu li.menu-item-has-children {
  position: relative;
}

.main-header-menu li.menu-item-has-children::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 20px;
}/* Alignement propre des sous-menus */
.main-header-menu .sub-menu {
  border-radius: 10px;
  padding: 10px 0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}/* Flèches menu mobile Astra */
.ast-menu-toggle {
    color: #000 !important;
    opacity: 1 !important;
}

/* Icônes flèches sous-menu */
.ast-icon.icon-arrow svg {
    fill: #000 !important;
    color: #000 !important;
    opacity: 1 !important;
}
/* ===================================================================
   LOT 1 — Fix responsive mobile (2026-07-06) — retours equipe MEGD
   Mobile only (<=781px). Desktop inchange. Backup durable: BRAIN/MEGD.
   =================================================================== */
@media (max-width: 781px){
  .entry-content .wp-block-heading,
  .entry-content h1, .entry-content h2,
  .has-xx-large-font-size, .has-x-large-font-size, .has-large-font-size{
    font-size: clamp(22px, 6.2vw, 30px) !important;
    line-height: 1.25 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
  }
  .entry-content h3{
    font-size: clamp(19px, 5.2vw, 24px) !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
  }
  .entry-content .wp-block-columns{ flex-direction: column !important; }
  .entry-content .wp-block-columns,
  .entry-content .wp-block-column,
  .entry-content .wp-block-group{ min-width: 0 !important; max-width: 100% !important; width: 100% !important; }
  .entry-content .wp-block-columns,
  .entry-content .wp-block-column{ padding-left: 0 !important; padding-right: 0 !important; }
  .entry-content > .wp-block-columns,
  .entry-content > .wp-block-cover,
  .entry-content > .wp-block-group{ padding-left: 14px !important; padding-right: 14px !important; }
  .entry-content .alignfull,
  .entry-content .alignwide{ margin-left: auto !important; margin-right: auto !important; max-width: 100% !important; }
  .jetpack-contact-form-container,
  .jetpack-contact-form-container.alignwide{ width: 100% !important; max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
  .contact-form input, .contact-form textarea, .contact-form select{ max-width: 100% !important; box-sizing: border-box !important; }
  .entry-content img:not(.wp-block-cover__image-background),
  .entry-content iframe{ max-width: 100% !important; height: auto !important; }
  /* Fix regression : les images de fond des covers doivent remplir (pas height:auto) */
  .entry-content .wp-block-cover__image-background{ height: 100% !important; width: 100% !important; object-fit: cover !important; }
}

/* ===== Loupe recherche header — visible (bleu MEGD) + taille ===== */
/* Par defaut le SVG sort en 0x0 et blanc sur desktop -> invisible */
.ast-search-menu-icon a,
.ast-search-menu-icon .astra-search-icon{ color:#0274be !important; }
.ast-search-menu-icon svg{ width:20px !important; height:20px !important; fill:#0274be !important; }
.ast-search-menu-icon .ast-icon{ font-size:20px !important; }

/* ===================================================================
   Touches de couleur MEGD (2026-07-06) — retour equipe (cartes ternes)
   =================================================================== */
/* Icones des cartes de services en bleu MEGD (etaient gris ardoise) */
.kt-info-svg svg, .kt-info-svg svg *,
.wp-block-kadence-infobox .kb-svg-icon-wrap svg,
.wp-block-kadence-infobox .kb-svg-icon-wrap svg * { fill:#006afe !important; color:#006afe !important; }
/* Effet survol des cartes (desktop) : soulevement + ombre + bordure bleue */
@media (min-width:769px){
  .kt-blocks-info-box-link-wrap{ transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important; }
  .kt-blocks-info-box-link-wrap:hover{ transform: translateY(-6px) !important; box-shadow: 0 16px 34px -14px rgba(0,106,254,.45) !important; border-color:#006afe !important; }
}

/* ===== Formulaire Contact desktop : bouton ENVOYER sur sa propre ligne ===== */
/* Le form Jetpack est en display:flex -> le bouton se cale a droite du champ Message.
   Les champs sont deja tous pleine largeur, donc block = layout propre. */
@media (min-width:782px){
  .wp-block-jetpack-contact-form{ display:block !important; }
  .wp-block-jetpack-contact-form .wp-block-button{ text-align:center; margin-top:14px; }
}

/* Espace sous la grille de services (avant "Pourquoi choisir MEGD") */
/* #megd-services-grid espace */
#megd-services-grid{ margin-top:20px !important; margin-bottom:64px !important; }

/* Polish grille : titres reservent 2 lignes -> descriptions alignees */
/* msg-title min-height */
#megd-services-grid .msg-title{ min-height:50px; }
@media(max-width:600px){ #megd-services-grid .msg-title{ min-height:0; } }

/* Centrage page Politique de cookies (UE) - gabarit pleine largeur */
.page-id-10059 .entry-content {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}