h2.block-news__title {
    font-weight: 500 !important;
}
.home-mission__text {
  padding-top: 0.5rem;
}

.home-mission {
  background-color: #000091;
}
.home-missions-row {
  align-items: stretch;
  border: 1px solid #ffffff57;
  border-top: none;
}
.home-missions__item {
  border: inherit;
  display: flex;
}

.home-missions__item > a {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 190px;
}
.home-missions__item > a:hover {
  background-color: #fff;
}
.home-missions__item > a:hover .home-mission__text,
.home-missions__item > a:hover .fr-link {
  color: #3939CF;
}
.home-missions__item > a:hover img {
  filter: brightness(0) saturate(100%) invert(19%) sepia(99%) saturate(7400%) hue-rotate(205deg) brightness(95%) contrast(101%);
}
/* La ligne principale doit stretch */
.home-missions__item .fr-grid-row {
    flex: 1;
}

/* Colonne texte en flex vertical */
.home-missions__item .fr-col-8 {
    display: flex;
    flex-direction: column;
}

/* Pousse "Voir plus" en bas */
.home-missions__item .fr-link {
    margin-top: auto;
}

.home-missions__intro h2 {
  line-height: 2.6rem !important;
}

.home-mission .fr-h2,
.home-mission .fr-h3,
.home-mission .fr-h4,
.home-mission .fr-link {
  color: #F2F2F2;
  font-weight: 700;
}
.home-mission .fr-h5 { color: #F2F2F2; font-weight: 600 !important;}
.home-mission .fr-h6,
.home-mission .fr-link {
  color: #F2F2F2;
  font-weight: 400 !important;
}

.home-social-icon,
.home-social-icon:hover,
.home-social-icon:focus,
.home-missions__item > a,
.home-missions__item > a:hover,
.home-missions__item > a:focus {
  text-decoration: none;
  background-image: none;
}
.home-social-icon span{
  color: #fff;
}
.home-social-icon:hover span{
  color: #A92931;
}
.fr-icon--lg::before {
    width: 3rem;
    height: 3rem;
  }
  
.spv-badge{
  background: #d32f2f;
  color: #fff;
}
.spv-card__meta{
  display:flex;
  align-items:center;
  gap: .9rem;
  margin-bottom: .75rem;
  font-size: 0.9rem;
}

/* ---- CARD 1 : image en bas ---- */
.spv-card--image-bottom{
  display:flex;
  flex-direction:column;
}
.spv-card--image-bottom .fr-card__body{ order: 1; }
.spv-card--image-bottom .fr-card__header{ order: 2; }

.spv-card__media{
  position: relative;
}
.spv-card--image-bottom .fr-card__img img{
  width:100%;
  height: 210px;      /* ajuste */
  object-fit: cover;
  display:block;
}

/* ---- CARD 2 : image à gauche ---- */
.spv-card--image-left{
  display:grid;
  grid-template-columns: 56% 44%; /* comme la capture */
  gap: 0;
}

/* media gauche */
.spv-card__media--left{
  height: 100%;
}
.spv-card__media--left img{
  width:100%;
  height: 100%;
  min-height: 340px; /* ajuste selon ta maquette */
  object-fit: cover;
  display:block;
}

/* ---- CTA "Voir plus" en overlay ---- */
.spv-card__cta{
  position:absolute;
  left:0;
  right:0;
  bottom:0;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:1rem 1.25rem;

  background: rgba(0,0,0,0.75); /* meilleur contraste */
  color:#fff;
  font-weight:400;

  text-decoration:none;
}
.spv-card__cta:hover {
    color: #000;
}
.spv-card__arrow{
  display:inline-block;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
}
.spv-card__arrow::before{
  content:"";
  display:block;
  width: .55rem;
  height: .55rem;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  margin-top: .25rem;
}

/* ---- Responsive ---- */
@media (max-width: 62em){
  .spv-card--image-left{
    grid-template-columns: 1fr;
  }
  .spv-card__media--left img{
    min-height: 220px;
  }
}

/* Grille 3 colonnes 2 lignes, comme la capture */
.steps-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  border-top: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
}

.steps-grid__cell{
  padding: 2.5rem 2rem;
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  background: #fff;
  min-height: 340px; /* harmonise les hauteurs (ajuste) */
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.steps-grid__cell .steps-grid__description {
    margin-bottom: auto;
}

/* numéro rouge */
.steps-grid__num{
  color: #d32f2f;
  font-weight: 700;
  margin: 0 0 1rem 0;
  font-size: 1.25rem;
}

/* Select + bouton loupe alignés */
.steps-grid__select{
  display:flex;
  align-items: stretch;
  gap: .5rem;
}
.steps-grid__select .fr-select{
  flex: 1;
}

/* médias : centre contenu */
.steps-grid__media{
  display:flex;
  align-items:center;
  justify-content:center;
}
.steps-grid__media img{
  max-width: 100%;
  height: auto;
}

/* (Optionnel) intro un peu plus "aéré" */
.steps-grid__intro .fr-text--sm{
  max-width: 38ch;
}

/* Responsive : empiler proprement */
@media (max-width: 62em){
  .steps-grid{
    grid-template-columns: 1fr;
  }
  .steps-grid__cell{
    min-height: auto;
  }
}

/* Encadré comme la capture */
.newsletter-onacvg__box{
  border: 2px solid #0055a4;
  border-radius: 8px;
  background: #fff; /* plus clean qu’un gris */
}

/* Logo à droite, centré */
.newsletter-onacvg__logo{
  display:flex;
  align-items:center;
  justify-content:center;
}
.newsletter-onacvg__logo img{
  max-width: 220px;
  width: 100%;
  height: auto;
}

/* Bouton hover accessible (pas seulement une couleur exotique) */
.newsletter-onacvg .fr-btn:hover{
  filter: brightness(0.92);
}

/* Messages DSFR-like */
.newsletter-onacvg__alert{
  padding: 1rem;
  border-left: 4px solid;
  background: #f6f6f6;
  border-radius: .25rem;
}
.newsletter-onacvg__alert--info{ border-left-color:#0063cb; }
.newsletter-onacvg__alert--success{ border-left-color:#18753c; }
.newsletter-onacvg__alert--error{ border-left-color:#ce0500; }



/* Ligne de tuiles centrées */
.partners__row{
  display:flex;
  gap: 1.25rem;
  justify-content:center;
  flex-wrap: wrap; /* wrap si écran étroit */
}

/* Tuile */
.partners__item{
  width: 160px;          /* ajuste si besoin */
  height: 120px;         /* ajuste pour match capture */
  background:#f3f3f3;
  border-radius: 6px;
  position: relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Petite bande grise en haut (comme capture) */
.partners__item::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height: 6px;
  background:none;
}

/* Lien (focus RGAA visible) */
.partners__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding: 1rem;
  text-decoration:none;
}
.partners__link:focus-visible{
  outline: 3px solid #000091;
  outline-offset: -3px;
}

/* Image centrée sans déformer */
.partners__img{
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display:block;
}

/* Mobile : tuiles un peu plus petites */
@media (max-width: 36em){
  .partners__item{
    width: 145px;
    height: 110px;
  }
}
a.wp-block-button__link {
  color: #fff;
}


/* Variante header avec image de fond (sans créer un "bloc hero" sous le header) */
.fr-header.fr-header--bg {
  position: relative;
  overflow: hidden; /* évite que l'image déborde */
}

/* Image de fond */
.fr-header.fr-header--bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--header-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

/* Overlay (optionnel mais conseillé pour lisibilité) */
.fr-header.fr-header--bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.15) 50%,
    rgba(0, 0, 0, 0.00) 100%
  );
  z-index: 0;
}

/* On remet tous les blocs DSFR au-dessus de l'image */
.fr-header.fr-header--bg > * {
  position: relative;
  z-index: 1;
}

/* Bandeau du header lisible, sans casser DSFR */
.fr-header.fr-header--bg .fr-header__body {
  background-color: rgba(255, 255, 255, 0.92);
}

/* Les modales doivent rester opaques */
.fr-header.fr-header--bg .fr-modal {
  background-color: #fff;
}
.fr-btn--close:hover {
  color: #fff;
}

/* Bandeau hero catégorie */
.fr-hero {
  position: relative;
  overflow: hidden;
}

/* image en fond (remplace l'img dans le flux) */
.fr-hero__image {
  min-height: 25rem; /* ~400px */
  background-size: cover;
  background-position: center;
  filter: grayscale(100%); /* si tu veux le rendu N&B comme ta capture */
}

/* overlay sombre pour lisibilité */
.fr-hero__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .35);
}

/* contenu centré sur l'image */
.fr-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem 1rem;
}

.fr-hero__content .fr-h1 {
  color: #fff;
  margin: 0;
}

/* barre basse */
.fr-hero__bottom {
  background: #f6f6f6;
  border-top: 1px solid #e5e5e5;
  padding: .75rem 0;
}

/* petit ajustement breadcrumb dans barre */
.fr-hero__bottom .fr-breadcrumb {
  margin: 0;
  padding: 0;
}

.actu-territoire .news--layout-teaser .news__title a::after  {
    display: none;
}

/* Bouton de controle partners */
.partners__controls {
    display: flex;
    flex-direction: column;
    /* justify-content: end; */
    margin-bottom: 2%;
    text-align: end;
    
}



.partners-prev, .partners-next{
  font-size: 1.875rem;
}

.partners-prev:visited,
.partners-next:visited {
    outline: 1px solid #000;
}

.partners-prev:active,
.partners-next:active {
    border: 1px solid #000;
    
}

.partners__controls a {
  color: rgb(19, 42, 103);
  font-size: 0.75rem !important;
  background-image: none !important;
  text-decoration: underline;
  text-transform: uppercase !important;
}

/* Ligne de tuiles centrées */
.partners__row{
  display:flex;
  gap: 1.25rem;
  justify-content:center;
  flex-wrap: wrap; /* wrap si écran étroit */
}

/* Tuile */
.partners__item{
  width: 160px;          /* ajuste si besoin */
  height: 120px;         /* ajuste pour match capture */
  background:#f3f3f3;
  border-radius: 6px;
  position: relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}



/* Petite bande grise en haut (comme capture) */
.partners__item::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height: 6px;
  background:none;
}

/* Lien (focus RGAA visible) */
.partners__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding: 1rem;
  text-decoration:none;
}
.partners__link:focus-visible{
  outline: 3px solid #000091;
  outline-offset: -3px;
}

/* Image centrée sans déformer */
.partners .partners__img {
    height: 70px;  /* hauteur fixe uniforme */
    width: auto;
    max-width: 80%;
    object-fit: contain !important;
}

/* Mobile : tuiles un peu plus petites */
@media (max-width: 36em){
  .partners__item{
    width: 145px;
    height: 110px;
  }
}
a.wp-block-button__link {
  color: #fff;
}


/* Variante header avec image de fond (sans créer un "bloc hero" sous le header) */
.fr-header.fr-header--bg {
  position: relative;
  overflow: hidden; /* évite que l'image déborde */
}

/* Image de fond */
.fr-header.fr-header--bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--header-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

/* Overlay (optionnel mais conseillé pour lisibilité) */
.fr-header.fr-header--bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.15) 50%,
    rgba(0, 0, 0, 0.00) 100%
  );
  z-index: 0;
}

/* On remet tous les blocs DSFR au-dessus de l'image */
.fr-header.fr-header--bg > * {
  position: relative;
  z-index: 1;
}

/* Bandeau du header lisible, sans casser DSFR */
.fr-header.fr-header--bg .fr-header__body {
  background-color: rgba(255, 255, 255, 0.92);
}

/* Les modales doivent rester opaques */
.fr-header.fr-header--bg .fr-modal {
  background-color: #fff;
}