@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&family=Inter:wght@400;500;600&display=swap');
/* === Masquer le titre Drupal "Accueil" (front) === */
.path-frontpage h1.page-title,
.path-frontpage .page-title,
.path-frontpage .block-page-title-block,
.path-frontpage #page-title,
.path-frontpage header.page-header h1,
.path-frontpage .region-content > h1:first-child{
  display:none !important;
}

/* === A11y === */
.sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.hero-ici2050 a:focus-visible,
.hero-ici2050 button:focus-visible,
.hero-ici2050 input:focus-visible{
  outline:3px solid #ffcc00;
  outline-offset:3px;
}

/* === Pleine largeur (section) === */
.hero-ici2050--full{
  width: 100%;
  margin: 0;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.10);
  border-bottom: 1px solid rgba(0,0,0,.10);
}

/* si ton thème impose un container centré, ce hack force full-bleed */
.hero-ici2050--full{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* === Bandeau === */
.hero-ici2050__media{ margin:0; }
.hero-ici2050__media p{ margin:0; } /* à cause de Drupal qui injecte des <p> */
.hero-ici2050__media img{
  display:block;
  width:100%;
  height: clamp(220px, 22vw, 360px);
  object-fit: cover;
}

/* === ICI : on enlève le max-width => tout s’étale sur la page === */
.hero-ici2050__content{
  max-width: none;        /* <-- clé */
  width: 100%;
  margin: 0;
  padding: 34px clamp(16px, 4vw, 56px) 42px; /* responsive */
}

/* === TITRE + INTRO : beaucoup plus gros === */
.hero-ici2050__title{
  margin: 0 0 22px;
  font-size: clamp(3rem, 5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.hero-ici2050__lead{
  margin: 0 0 32px;
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  line-height: 1.6;
  font-weight: 500;
  max-width: 90ch;
}

/* === CTA (pleine largeur) === */
.hero-ici2050__cta{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  width: 100%;
  margin: 0 0 18px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.02);
}

/* Boutons */
.hero-ici2050__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 54px;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration:none;
  cursor:pointer;
  border:2px solid transparent;
  font-size: 1.05rem;
}
.hero-ici2050__btn--cta{
  background:#0b3b2e;
  color:#fff;
  border-color:#0b3b2e;
}
.hero-ici2050__btn--primary{
  background:#1f3a8a;
  color:#fff;
  border-color:#1f3a8a;
}

/* mini logo à droite */
.hero-ici2050__miniLogo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding: 6px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  background:#fff;
}
.hero-ici2050__miniLogo img{
  display:block;
  height: 38px;
  width: auto;
}

/* === Recherche (pleine largeur, champ + placeholder noir) === */
.hero-ici2050__search{
  width: 100%;
  margin: 0 0 28px;
  padding: 26px;
  border-radius: 22px;
  border: 2px solid #1f3a8a;
  background: #f4f7ff;
}

.hero-ici2050__searchRow{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:stretch;
}

.hero-ici2050__search input[type="search"]{
  flex: 1 1 700px;
  width: 100%;
  min-height: 64px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 2px solid #1f3a8a;
  background: #ffffff;
  font-size: 1.25rem;
  font-weight: 600;
  color: #1f3a8a !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.hero-ici2050__search input[type="search"]{
  color: #1f3a8a !important;
}
/* Placeholder noir bien visible */
.hero-ici2050__search input[type="search"]::placeholder{
  color:#1f3a8a !important;
  opacity:1;
  font-weight:500;
}

/* Focus fort et propre */
.hero-ici2050__search input[type="search"]:focus{
  border-color:#0b3b2e;
  box-shadow: 0 0 0 4px rgba(11,59,46,0.15);
  outline:none;
}

/* === FORCE styles sur le champ de recherche (ciblage par ID) === */
#home_search_bar{
  color: #000 !important;            /* noir (fallback sûr) */
  font-weight: 800 !important;       /* tout en gras */
  -webkit-text-fill-color: #000 !important; /* Safari/Chrome (souvent la cause du "reste blanc") */
  caret-color: #000 !important;      /* curseur */
}

/* Placeholder en noir + gras */
#home_search_bar::placeholder{
  color: #1f3a8a !important;
  -webkit-text-fill-color: #1f3a8a !important;
  caret-color: #1f3a8a !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
#home_search_bar::-webkit-input-placeholder{
  color: #1f3a8a !important;
  font-weight: 800 !important;
}
#home_search_bar:-ms-input-placeholder{
  color: #1f3a8a !important;
  font-weight: 800 !important;
}

/* Si tu préfères BLEU (décommente ces lignes et commente le noir ci-dessus)
#home_search_bar{
  color: #1f3a8a !important;
  -webkit-text-fill-color: #1f3a8a !important;
  caret-color: #1f3a8a !important;
}
#home_search_bar::placeholder{
  color: #1f3a8a !important;
}
*/

/* Bonus : si le thème met le texte "transparent" via une propriété bizarre */
#home_search_bar{
  text-shadow: none !important;
  opacity: 1 !important;
  background-color: #fff !important;
}
.hero-ici2050__btn--primary{
  min-height: 64px;
  padding: 0 26px;
  border-radius: 18px;
  font-size: 1.1rem;
}
#home_search_bar{
  font-size: 1.9rem !important;   /* plus gros */
  font-weight: 800 !important;
  line-height: 1.4 !important;
}
#home_search_bar{
  border-bottom: 3px solid #1f3a8a !important;
}
.hero-ici2050__hint{
  color: #1f3a8a !important;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.02em;
}
.hero-ici2050__search{
  border: 3px solid #1f3a8a !important;
}

.hero-ici2050__search input:focus{
  border-color: #0b3b2e !important;
  box-shadow: 0 0 0 5px rgba(31,58,138,0.15) !important;
}
/* === Cartes : pleine largeur (1 colonne), images sans marges Drupal === */
.hero-ici2050__stack{
  width: 100%;
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 8px;
}
.hero-ici2050__card{
  margin:0;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.12);
  background:#fff;
}
.hero-ici2050__card p{ margin:0; } /* neutralise les <p> autour des images */
.hero-ici2050__card img{
  display:block;
  width:100%;
  height:auto;
  border-radius: 14px;
}
.hero-ici2050__card figcaption{
  margin-top: 12px;
  font-weight: 900;
  font-size: 1.15rem;
}

/* Footer */
.hero-ici2050__footer{
  margin: 24px 0 0;
  font-size: 1.05rem;
}
.hero-ici2050{
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

.hero-ici2050__title{
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
}
.hero-ici2050__lead{
  border-left: 6px solid #1f3a8a;
  padding-left: 18px;
}

/* ===== ACTUALITÉS (bloc views_block__actualites_block_1) ===== */

/* Conteneur global du bloc (sécurisé) */
#block-views-block-actualites-block-1,
.block-views-blockactualites-block-1,
.views_block__actualites_block_1{
  margin-top: 26px;
}

/* Titre + lien "Toutes les actualités" alignés proprement */
#block-views-block-actualites-block-1 .block-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;

  margin: 0 0 14px;
  padding-left: 16px;
  position: relative;

  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 900;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  line-height: 1.1;
}

/* Rubrique couleur à gauche du titre */
#block-views-block-actualites-block-1 .block-title::before{
  content:"";
  position:absolute;
  left:0;
  top: .12em;
  width: 7px;
  height: 1.05em;
  border-radius: 999px;
  background: #1f3a8a;
}

/* Lien "Toutes les actualités" en bouton discret */
#block-views-block-actualites-block-1 .block-title a{
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;

  padding: 10px 12px;
  border-radius: 999px;
  border: 2px solid rgba(31,58,138,.25);
  background: rgba(31,58,138,.08);
  color: #1f3a8a;
  white-space: nowrap;
}

/* Hover/focus */
#block-views-block-actualites-block-1 .block-title a:hover{
  border-color: rgba(31,58,138,.45);
  background: rgba(31,58,138,.12);
}
#block-views-block-actualites-block-1 .block-title a:focus-visible{
  outline: 3px solid #ffcc00;
  outline-offset: 3px;
}

/* Grille des actus */
#block-views-block-actualites-block-1 .view-content{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 980px){
  #block-views-block-actualites-block-1 .view-content{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px){
  #block-views-block-actualites-block-1 .view-content{
    grid-template-columns: 1fr;
  }
}

/* Carte actu */
#block-views-block-actualites-block-1 .views-row{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 16px;
  background: #fff;
  padding: 14px;

  display:flex;
  flex-direction: column;
  gap: 8px;

  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

/* Effet survol */
#block-views-block-actualites-block-1 .views-row:hover{
  border-color: rgba(31,58,138,.35);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

/* Image : si vide, on masque le bloc image (évite un trou) */
#block-views-block-actualites-block-1 .views-field-field-image{
  margin:0;
}
#block-views-block-actualites-block-1 .views-field-field-image .field-content:empty{
  display:none;
}

/* Date */
#block-views-block-actualites-block-1 .views-field-created .field-content{
  display:inline-block;
  font-weight: 800;
  font-size: .95rem;
  color: #1f3a8a;
}

/* Titre de l'actu */
#block-views-block-actualites-block-1 .views-field-title a{
  display:inline-block;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 900;
  font-size: 1.15rem;
  line-height: 1.25;
  color:#111;
  text-decoration: none;
}
#block-views-block-actualites-block-1 .views-field-title a:hover{
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(31,58,138,.55);
}
#block-views-block-actualites-block-1 .views-field-title a:focus-visible{
  outline: 3px solid #ffcc00;
  outline-offset: 3px;
}

/* Introduction */
#block-views-block-actualites-block-1 .views-field-field-intoduction .field-content{
  font-size: 1.05rem;
  line-height: 1.55;
  color: #222;
}

/* Si l'introduction est vide, on évite les espaces */
#block-views-block-actualites-block-1 .views-field-field-intoduction .field-content:empty{
  display:none;
}

/* Nettoyage : cacher les boutons/chevrons s’ils ne servent pas */
#block-views-block-actualites-block-1 #nav-previous,
#block-views-block-actualites-block-1 #nav-next{
  display:none !important;
}