/* Style validé sur /accueil-harmonise/ ; porté sur l’accueil réel uniquement. */
html body.home:not(.bv-accueil-preview) .bv-services-grid {
  width: calc(100% + var(--wp--style--root--padding-left, 50px) + var(--wp--style--root--padding-right, 50px)) !important;
  max-width: none !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: calc(-1 * var(--wp--style--root--padding-left, 50px)) !important;
  padding: 80px clamp(20px, 4vw, 56px) !important;
  background: #183863 !important;
}
/* The block theme wraps this section in an alignwide flex group and adds a
   50px content gutter. Let this full-width band own its horizontal frame. */
html body.home:not(.bv-accueil-preview) .wp-block-post-content:has(.bv-services-grid),
html body.home:not(.bv-accueil-preview) .wp-block-post-content :is(.wp-block-group, .wp-block-columns, .wp-block-column):has(.bv-services-grid) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-basis: auto !important;
}
html body.home:not(.bv-accueil-preview) .bv-services-grid__inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1200px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
}
html body.home:not(.bv-accueil-preview) .bv-services-grid__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-width: 0 !important;
  min-height: 390px !important;
  margin: 0 !important;
  padding: 28px !important;
  gap: 24px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.06) !important;
  box-shadow: none !important;
  grid-template: none !important;
}
html body.home:not(.bv-accueil-preview) .bv-services-grid__title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-transform: none !important;
}
html body.home:not(.bv-accueil-preview) .bv-services-grid__image {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: cover !important;
  margin: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
html body.home:not(.bv-accueil-preview) .bv-services-grid__desc {
  margin: auto 0 0 !important;
  color: #e8edf4 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  text-align: center !important;
}
@media (max-width: 900px) {
  html body.home:not(.bv-accueil-preview) .bv-services-grid__inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  html body.home:not(.bv-accueil-preview) .bv-services-grid { padding-block: 56px !important; }
  html body.home:not(.bv-accueil-preview) .bv-services-grid__inner { grid-template-columns: 1fr !important; }
  html body.home:not(.bv-accueil-preview) .bv-services-grid__item { min-height: 0 !important; }
}
