/* ===== Base ===== */
body { overflow-x: hidden; }
.site-main { margin-block: 2.5rem; }

.gp-hero { position: relative; z-index: 0; }
.site-header, .main-navigation { position: relative; z-index: 1000; }

.site-header{
  caret-color: transparent;
  user-select: none;
}

.gp-language-switcher {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  margin-left: .95rem;
}

.gp-language-switcher__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  background: rgba(255, 255, 255, .24);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(31, 47, 57, .08);
  cursor: pointer;
  caret-color: transparent;
  list-style: none;
  padding: 0;
  user-select: none;
  -webkit-user-select: none;
}

.gp-language-switcher__toggle::-webkit-details-marker {
  display: none;
}

.gp-language-switcher__toggle * {
  caret-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

.gp-language-switcher__menu {
  position: absolute;
  top: calc(100% + .4rem);
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  gap: .15rem;
  min-width: 0;
  width: max-content;
  padding: .28rem;
  background: #fff;
  /*border: 1px solid rgba(31, 47, 57, .14);*/
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(31, 47, 57, .16);
  z-index: 1301;
}

.gp-language-switcher:not([open]) .gp-language-switcher__menu {
  display: none;
}

.gp-language-switcher__item {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 1.8rem;
  padding: 0.05rem;
  border-radius: 6px;
  color: inherit;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
}

.gp-language-switcher__item span:not(.gp-language-switcher__flag) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gp-language-switcher__item:hover,
.gp-language-switcher__item:focus,
.gp-language-switcher__item.is-active {
  background: #f0f8f8;
  color: #006b78;
  opacity: 1;
}

.gp-language-switcher__flag {
  display: inline-block;
  width: 1.05rem;
  height: .7rem;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(31, 47, 57, .14);
  flex: 0 0 auto;
  overflow: hidden;
}

.gp-language-switcher__flag--fr {
  background: linear-gradient(
    90deg,
    #0055a4 0 33.333%,
    #fff 33.333% 66.666%,
    #ef4135 66.666% 100%
  );
}

.gp-language-switcher__flag--gb {
  background:
    linear-gradient(0deg, transparent 42%, #c8102e 42% 58%, transparent 58%),
    linear-gradient(90deg, transparent 44%, #c8102e 44% 56%, transparent 56%),
    linear-gradient(32deg, transparent 46%, #c8102e 46% 54%, transparent 54%),
    linear-gradient(-32deg, transparent 46%, #c8102e 46% 54%, transparent 54%),
    linear-gradient(0deg, transparent 35%, #fff 35% 65%, transparent 65%),
    linear-gradient(90deg, transparent 38%, #fff 38% 62%, transparent 62%),
    linear-gradient(32deg, transparent 40%, #fff 40% 60%, transparent 60%),
    linear-gradient(-32deg, transparent 40%, #fff 40% 60%, transparent 60%),
    #012169;
}

@media (max-width: 768px) {
  .gp-language-switcher {
    margin-left: .55rem;
  }

  .gp-language-switcher__toggle {
    width: 1.75rem;
    height: 1.75rem;
  }

  .gp-language-switcher__menu {
    min-width: 0;
  }
}

/* ===== HERO pleine largeur (full-bleed) ===== */
/* HERO plein écran mais raisonnable */
.gp-hero{
  position:relative;
  width:100vw;
  left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw;

  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  color:#fff;

  min-height:45vh;   /* hauteur mini */
  max-height:70vh;   /* limite haute */
  display:flex; align-items:center; justify-content:center;
}
.gp-hero__overlay{ background:rgba(0,0,0,.38); padding:5rem 1.5rem; text-align:center; }
.gp-hero__content{ max-width:900px; margin:0 auto; }
.gp-hero__content h1{ font-size:clamp(2rem,3vw + 1rem,3rem); font-weight:800; margin:0 0 .6rem; }
.gp-hero__content p{ font-size:1.15rem; margin:0; }
@media (max-width:768px){ .gp-hero__overlay{ padding:4rem 1rem; } }


/* ===== Conteneurs ===== */
/* Si un grid-container se retrouve à l'intérieur d'un autre, on supprime le padding doublé */
.grid-container .grid-container{ padding-left: 0; padding-right: 0; }

/* Espacement des sections (les shortcodes injectent déjà .grid-container) */
.section--news,
.section--geoparcs,
.key-figures{ margin-block: 2.5rem; }

.home-map {
  max-width: 1200px; /* ou la taille que tu veux */
  margin: 0 auto;   /* pour centrer */
}

.document-single {
  max-width: 900px;
  margin: 2.5rem auto 3rem;
}

.document-single__title {
  font-size: 2rem;
  margin: 0 0 .75rem;
}

.document-single__meta {
  color: #666;
  font-size: .9rem;
  margin: 0 0 1.5rem;
}

.document-single__download .btn {
  display:inline-block;
  margin-bottom: .75rem;
}

/* =====================================================
   SINGLE DOCUMENT
   ===================================================== */

.document-single {
  max-width: 900px;
  margin: 3rem auto 4rem;
}

.document-single article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 3rem;
  align-items: start;
}

.document-single__header {
  padding-top: 1rem;
}

.document-single__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: #1f2933;
}

.document-single__meta {
  margin: 0 0 1.5rem;
  font-size: .95rem;
  color: #6b7280;
}

.document-single__download {
  margin: 1.5rem 0 0;
}

.document-single__download .btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.1rem;
  border-radius: 999px;
  background: var(--gp-primary, #163c77);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(22, 60, 119, .18);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.document-single__download .btn::before {
  content: "↓";
  font-weight: 800;
}

.document-single__download .btn:hover {
  transform: translateY(-2px);
  background: var(--gp-primary-hover, #0f2d5c);
  box-shadow: 0 12px 26px rgba(22, 60, 119, .24);
  color: #fff;
}

.document-single__thumb {
  margin: 0;
  justify-self: end;
}

.document-single__thumb img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 22px 55px rgba(22, 60, 119, .18);
}

.document-single__content {
  grid-column: 1 / -1;
  max-width: 760px;
  margin-top: 2rem;
  font-size: 1.05rem;
  line-height: 1.78;
  color: #1f2933;
}

.document-single__content:empty {
  display: none;
}

.document-single__content h2 {
  position: relative;
  margin: 3rem 0 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e3e8ef;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  line-height: 1.2;
  color: var(--gp-primary, #163c77);
}

.document-single__content h2::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 44px;
  height: 3px;
  background: var(--gp-primary, #163c77);
  border-radius: 999px;
}

.document-single__content p {
  margin: 0 0 1.35rem;
}

@media (max-width: 768px) {
  .document-single article {
    display: block;
  }

  .document-single__thumb {
    margin-top: 2rem;
  }

  .document-single__thumb img {
    max-width: 100%;
  }
}

.document-single__infos {
  margin: 0 0 1rem;
  font-size: .95rem;
  color: #6b7280;
}

.document-single__summary {
  grid-column: 1 / -1;
  max-width: 760px;
  margin-top: 2rem;
}

.document-single__summary h2,
.document-single__related h2 {
  position: relative;
  margin: 3rem 0 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e3e8ef;
  font-size: 1.5rem;
  color: var(--gp-primary, #163c77);
}

.document-single__summary h2::before,
.document-single__related h2::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 44px;
  height: 3px;
  background: var(--gp-primary, #163c77);
  border-radius: 999px;
}

.document-single__summary p {
  font-size: 1.05rem;
  line-height: 1.8;
}

.document-single__related {
  grid-column: 1 / -1;
  margin-top: 3rem;
}

.home hr{
  margin: 100px 0 50px;
  color: #efefef;
}

.home h2{
  text-transform: uppercase;
  font-weight: 300;
}


/* ===== Chiffres clés ===== */

.key-figures > div{
  background: #163c77;
  border-radius: 30px;
  padding: 1.5em;
  color: #FFF;
}

.key-figures h2{ margin-bottom: 5px; color: #5995d0; font-size: 2em; font-weight:800; text-transform: none;}
.key-figures p{font-size: 22px; margin-bottom: 0}
.key-figures__grid{
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.key-figures__grid div{
  background:#fff; border:1px solid #e5e8ea; border-radius:10px;
  padding:1.25rem; box-shadow:0 2px 6px rgba(0,0,0,.05); text-align:center;
}
.key-figures__grid strong{ display:block; font-size:2rem; color:var(--gp-primary,#003366); }
.key-figures__grid span{ display:block; color:#555; font-size:.95rem; margin-top:.25rem; }



/* ===== Child pages ===== */
.child-pages {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e3e6ec;
}

.child-pages__title {
  font-size: 1.25rem;
  margin: 0 0 1rem;
}

.child-pages__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
}

.child-pages__item a {
  text-decoration: none;
  font-weight: 600;
  color: var(--gp-primary, #163c77);
}

.child-pages__item a:hover {
  text-decoration: underline;
}


/* =====================================================
   Fil d'Ariane global
   ===================================================== */

.gp-breadcrumb {
  max-width: 1040px;
  margin: 2rem auto 0;
  padding: 0 1rem;
  font-size: .85rem;
  color: #6b7280;
}

.gp-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.gp-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.gp-breadcrumb__item:not(:last-child)::after {
  content: "›";
  color: #9ca3af;
}

.gp-breadcrumb a {
  color: var(--gp-primary, #163c77);
  font-weight: 600;
  text-decoration: none;
}

.gp-breadcrumb a:hover {
  text-decoration: underline;
}

.gp-breadcrumb [aria-current="page"] {
  color: #6b7280;
}

@media (max-width: 768px) {
  .gp-breadcrumb {
    margin-bottom: 1rem;
    font-size: .8rem;
  }
}

/* =====================================================
   SINGLE GEOPARC
   ===================================================== */

.geoparc-single {
  max-width: 1100px;
  margin: 0 auto;
}

.geoparc-single__article {
  margin-bottom: 3rem;
}

.geoparc-single__header {
  margin-bottom: 2rem;
}

.geoparc-single__region {
  margin: 0 0 .5rem;
  font-size: .95rem;
  font-weight: 700;
  color: var(--gp-primary, #163c77);
}

.geoparc-single__title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
}

.geoparc-single__tagline {
  max-width: 760px;
  margin: 1rem 0 0;
  padding-left: 1rem;
  border-left: 4px solid var(--gp-primary, #163c77);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  line-height: 1.45;
  font-weight: 600;
  color: var(--gp-primary, #163c77);
}

.geoparc-single__meta {
  margin-top: .75rem;
}

/* ===== Galerie Géoparc — style Gutenberg ===== */

.geoparc-single__iconography {
  margin: 0 0 3.5rem;
}

.geoparc-single__gallery.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
}

.geoparc-single__gallery .wp-block-image {
  position: relative;
  flex: 1 0 calc(33.333% - 1rem);
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #f3f4f6;
}

.geoparc-single__gallery .wp-block-image a {
  display: block;
  width: 100%;
  height: 100%;
}

.geoparc-single__gallery .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .25s ease;
}

.geoparc-single__gallery .wp-block-image:hover img {
  transform: scale(1.03);
}

.geoparc-single__gallery .wp-block-image figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 2rem .9rem .8rem;
  color: #fff;
  font-size: .85rem;
  line-height: 1.3;
  text-align: center;
  background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
  pointer-events: none;
}

@media (max-width: 900px) {
  .geoparc-single__gallery .wp-block-image {
    flex-basis: calc(50% - .5rem);
  }
}

@media (max-width: 600px) {
  .geoparc-single__gallery .wp-block-image {
    flex-basis: 100%;
  }
}

.geoparc-single__content,
.geoparc-single__sections,
.geoparc-links,
.geoparc-contact,
.geoparc-actus,
.geoparc-single__more {
  max-width: 850px;
}

.geoparc-single__content,
.geoparc-detail-section p {
  max-width: 760px;
}

.geoparc-single__content {
  margin-bottom: 2.5rem;
  font-size: 1.05rem;
  line-height: 1.78;
  color: #1f2933;
}

.geoparc-single__sections {
  display: grid;
  gap: 1.5rem;
  margin: 3rem 0;
}

.geoparc-detail-section {
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
}

.geoparc-detail-section h2,
.geoparc-links h2,
.geoparc-contact h2,
.geoparc-actus h2,
.geoparc-single__more h2 {
  position: relative;
  margin: 0 0 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e3e8ef;
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  line-height: 1.2;
  color: var(--gp-primary, #163c77);
}

.geoparc-detail-section h2::before,
.geoparc-links h2::before,
.geoparc-contact h2::before,
.geoparc-actus h2::before,
.geoparc-single__more h2::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 44px;
  height: 3px;
  background: var(--gp-primary, #163c77);
  border-radius: 999px;
}

.geoparc-detail-section p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.78;
  color: #1f2933;
}

.geoparc-detail-section + .geoparc-detail-section {
  margin-top: .5rem;
}

.geoparc-detail-section p + p {
  margin-top: 1.25rem;
}

.geoparc-links,
.geoparc-contact,
.geoparc-actus,
.geoparc-single__more {
  margin: 3rem 0;
}

.geoparc-links__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.geoparc-links__actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .72rem 1.05rem;
  border-radius: 999px;
  background: var(--gp-primary, #163c77);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(22, 60, 119, .16);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.geoparc-links__actions .btn:hover {
  transform: translateY(-2px);
  background: var(--gp-primary-hover, #0f2d5c);
  box-shadow: 0 10px 22px rgba(22, 60, 119, .22);
}

.geoparc-actus .cards-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.geoparc-actus .card {
  max-width: none;
}

.geoparc-single__more .cards-grid.geoparcs {
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.geoparc-single__more .cards-grid.geoparcs .card {
  border-radius: 16px;
}

/* ===== Contact Géoparc ===== */

.geoparc-contact__card {
  max-width: 850px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  column-gap: 2rem;
  align-items: start;

  padding: 1.6rem 1.8rem;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #dfe8f2;
  box-shadow: 0 10px 25px rgba(22, 60, 119, .08);
}

.geoparc-contact__card p {
  margin: 0 0 .45rem;
  line-height: 1.35;
}

.geoparc-contact__name {
  margin: 0 0 .35rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: #1f2933;
}

.geoparc-contact__role {
  margin: 0 0 .9rem;
  color: #555;
}

.geoparc-contact__socials {
  margin: .9rem 0 0;
  padding: 0;
  list-style: none;
}

.geoparc-contact__socials li {
  margin: 0 0 .25rem;
  line-height: 1.25;
}

.geoparc-contact__socials a {
  color: var(--gp-primary, #163c77);
  font-weight: 700;
  text-decoration: none;
}

.geoparc-contact__socials a:hover {
  text-decoration: underline;
}

.geoparc-contact__logo {
  grid-column: 2;
  grid-row: 1 / span 10;
  justify-self: end;
  align-self: start;
  margin: 0;
}

.geoparc-contact__logo-img {
  display: block;
  max-width: 240px;
  max-height: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
}

@media (max-width: 768px) {
  .geoparc-contact__card {
    display: block;
    padding: 1.2rem;
    border-radius: 14px;
  }

  .geoparc-contact__logo {
    margin: 0 0 1.25rem;
  }

  .geoparc-contact__logo-img {
    max-width: 160px;
  }
}

.geoparc-contact__social-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.geoparc-contact__social-icon {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  flex: 0 0 auto;
  background: currentColor;
}

.geoparc-contact__social-link--external .geoparc-contact__social-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3ZM5 5h6v2H7v10h10v-4h2v6H5V5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geoparc-contact__social-link--facebook .geoparc-contact__social-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.5 22v-8h2.7l.4-3h-3.1V9.1c0-.9.2-1.5 1.5-1.5h1.7V4.9c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3V11H7.2v3H10v8h3.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geoparc-contact__social-link--instagram .geoparc-contact__social-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 4a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.3-2.7a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 768px) {
  .geoparc-single__content,
  .geoparc-single__sections,
  .geoparc-links,
  .geoparc-contact,
  .geoparc-actus,
  .geoparc-single__more,
  .geoparc-detail-section p {
    max-width: none;
  }

  .geoparc-detail-section {
    padding: 0;
    border-radius: 0;
  }

  .geoparc-figures__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .geoparc-links__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .geoparc-links__actions .btn {
    width: 100%;
  }

  .geoparc-actus .cards-grid,
  .geoparc-single__more .cards-grid.geoparcs {
    grid-template-columns: 1fr;
  }
}

/* ===== Géoparc en chiffres ===== */

.geoparc-figures {
  max-width: 850px;
  margin: 0 0 3rem;
  padding: 1rem 0 1.5rem;
  background: transparent;
  border-top: 1px solid #e3e8ef;
  border-bottom: 1px solid #e3e8ef;
}

.geoparc-figures h2 {
  margin: 0 0 .9rem;
  font-size: 1.15rem;
  color: var(--gp-primary, #163c77);
}

.geoparc-figures__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .65rem;
}

.geoparc-figures__item {
  padding: .9rem .7rem;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e3e8ef;
  text-align: center;
}

.geoparc-figures__item strong {
  display: block;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1;
  color: var(--gp-primary, #163c77);
}

.geoparc-figures__item span {
  display: block;
  margin-top: .35rem;
  font-size: .78rem;
  color: #6b7280;
}

/* =====================================================
   SINGLE ACTUALITÉ
   ===================================================== */

.news-single {
  max-width: 1040px;
  margin: 0 auto;
}

.news-single__breadcrumb {
  margin: 0 0 2rem;
  font-size: .9rem;
  color: #666;
}

.news-single__article {
  max-width: 860px;
  margin: 0 auto;
}

.news-single__header {
  max-width: 850px;
  margin: 0 auto 2.25rem;
}

.news-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .5rem;
  align-items: center;
  margin: 0 0 .85rem;
  font-size: .88rem;
  color: #6b7280;
}

.news-single__meta a {
  color: var(--gp-primary, #163c77);
  font-weight: 700;
  text-decoration: none;
}

.news-single__meta a:hover {
  text-decoration: underline;
}

.news-single__meta-separator {
  color: #9ca3af;
}

.news-single__terms {
  display: inline;
}

.news-single__title {
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: #1f2933;
}

.news-single__content {
  max-width: 850px;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.78;
  color: #1f2933;
}

.news-single__content > * {
  max-width: 100%;
}

.news-single__content p {
  margin: 0 0 1.45rem;
}

.news-single__content h2 {
  position: relative;
  margin: 3.25rem 0 1rem;
  padding-top: 1.2rem;
  border-top: 1px solid #e3e8ef;
  font-size: clamp(1.55rem, 2vw, 1.9rem);
  line-height: 1.2;
  color: var(--gp-primary, #163c77);
}

.news-single__content h2::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 44px;
  height: 3px;
  background: var(--gp-primary, #163c77);
  border-radius: 999px;
}

.news-single__content h3 {
  margin: 2.4rem 0 .85rem;
  font-size: 1.35rem;
  line-height: 1.25;
  color: #1f2933;
}

.news-single__content img {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
}

.news-single__content figure {
  max-width: 100%;
  margin: 3rem 0;
}

.news-single__content .wp-block-image img {
  display: block;
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(22, 60, 119, .15);
}

.news-single__content figcaption {
  margin-top: .7rem;
  font-size: .82rem;
  color: #7a7f87;
  text-align: center;
}

.news-single__content .wp-block-image.alignwide,
.news-single__content .wp-block-gallery.alignwide {
  max-width: 100%;
}

.news-single__more {
  max-width: 760px;
  margin: 3.5rem auto 0;
  padding: 1.6rem 1.8rem;
  border-radius: 22px;
  background: linear-gradient(180deg, #f3f7fb, #eef3f8);
  border: 1px solid #dfe8f2;
  box-shadow: 0 10px 25px rgba(22, 60, 119, .08);
}

.news-single__content p,
.news-single__content ul,
.news-single__content ol,
.news-single__content blockquote {
  max-width: 760px;
}

.news-single__more h2 {
  margin: 0 0 1rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--gp-primary, #163c77);
}

.news-single__more p {
  margin: 0 0 .85rem;
  line-height: 1.55;
}

.news-single__more ul {
  margin: .9rem 0 0;
  padding-left: 1.2rem;
}

.news-single__more a {
  color: var(--gp-primary, #163c77);
  font-weight: 700;
}

.news-single__back {
  display: inline-block;
  max-width: 760px;
  margin: 2rem auto 0;
  color: var(--gp-primary, #163c77);
  font-weight: 700;
  text-decoration: none;
}

.news-single__back:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .news-single__article,
  .news-single__header,
  .news-single__content,
  .news-single__more {
    max-width: none;
  }

  .news-single__title {
    font-size: clamp(2rem, 10vw, 2.6rem);
  }

  .news-single__content {
    font-size: 1rem;
    line-height: 1.7;
  }

  .news-single__more {
    padding: 1.15rem;
    border-radius: 18px;
  }
}

/* =====================================================
   SINGLE ACTUALITÉ — liens “En savoir +”
   ===================================================== */

.news-single__links {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.news-single__links li {
  margin: 0;
}

.news-single__link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #dfe4ea;
  color: var(--gp-primary, #163c77);
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.news-single__link:hover {
  transform: translateY(-2px);
  border-color: var(--gp-primary, #163c77);
  background: #eef4fb;
  text-decoration: none;
}

.news-single__link-icon {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  background: currentColor;
  flex: 0 0 auto;
}

/* Icône générique : lien externe */
.news-single__link--external .news-single__link-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3ZM5 5h6v2H7v10h10v-4h2v6H5V5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Facebook */
.news-single__link--facebook .news-single__link-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.5 22v-8h2.7l.4-3h-3.1V9.1c0-.9.2-1.5 1.5-1.5h1.7V4.9c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3V11H7.2v3H10v8h3.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Instagram */
.news-single__link--instagram .news-single__link-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 4a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.3-2.7a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* LinkedIn */
.news-single__link--linkedin .news-single__link-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.98 3.5A2.5 2.5 0 1 1 5 8.5a2.5 2.5 0 0 1-.02-5ZM3 10h4v11H3V10Zm6 0h3.8v1.5h.1c.5-.9 1.8-1.9 3.7-1.9 4 0 4.7 2.6 4.7 6V21h-4v-4.8c0-1.1 0-2.6-1.6-2.6s-1.9 1.2-1.9 2.5V21H9V10Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* YouTube */
.news-single__link--youtube .news-single__link-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.6 7.2s-.2-1.5-.8-2.1c-.8-.8-1.7-.8-2.1-.9C15.8 4 12 4 12 4s-3.8 0-6.7.2c-.4.1-1.3.1-2.1.9-.6.6-.8 2.1-.8 2.1S2.2 9 2.2 10.8v1.7c0 1.8.2 3.6.2 3.6s.2 1.5.8 2.1c.8.8 1.9.8 2.4.9 1.8.2 6.4.2 6.4.2s3.8 0 6.7-.2c.4-.1 1.3-.1 2.1-.9.6-.6.8-2.1.8-2.1s.2-1.8.2-3.6v-1.7c0-1.8-.2-3.6-.2-3.6ZM10 14.8V8.9l5.4 3-5.4 2.9Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* X / Twitter */
.news-single__link--x .news-single__link-icon {
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9 2H22l-6.8 7.8L23.2 22h-6.3l-4.9-7.4L6.3 22H3.2l7.3-8.4L2.8 2h6.5l4.5 6.7L18.9 2Zm-1.1 17.9h1.7L8.4 4H6.6l11.2 15.9Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ===== Footer ===== */
footer .inside-site-info{
  display: block;
}

/* Le conteneur */
.footer-logos.wp-block-columns{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px !important;
  flex-wrap:nowrap;
  background: rgb(255, 255, 255);
  margin: 0;
  padding: 20px;
}

/* Colonnes = largeur au contenu (ne pas s'étirer) */
.footer-logos.wp-block-columns > .wp-block-column{
  flex:0 0 auto !important;  /* << le point clé */
  width:fit-content;
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
}

/* Le figure a souvent une marge par défaut */
.footer-logos .wp-block-image{
  margin:0 !important;
  display:inline-block;      /* shrink-wrap */
}

/* Images */
.footer-logos .wp-block-image img{
  display:block;
  height:65px;
  width:auto;
}

.footer-legal-nav {
  display: inline-block;
  margin-left: 1rem;
}

.footer-legal-menu {
  display: inline-flex;
  gap: 0.9rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
}

.footer-legal-menu a {
  text-decoration: none;
}

.footer-legal-menu a:hover,
.footer-legal-menu a:focus {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .footer-legal-nav {
  display: block;
    margin: 0.5rem 0 0;
  }
  .footer-legal-menu {
    justify-content: center;
    flex-wrap: wrap;
  }
}


/* =====================================================
   Sous-footer logos (plein largeur)
   ===================================================== */

/* Sous-footer logos (plein largeur) */
.sub-footer-logos{
  width: 100%;
  background: #f3f4f6; /* adapte la couleur */
  padding: 1.5rem 0;
}

/* Contenu aligné à la largeur du site */
.sub-footer-logos__inner{
  max-width: 1400px; /* ou la largeur container de ton thème */
  margin: 0 auto;
  padding: 0 1rem;

  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
}

/* Si tu mets un bloc Images / Galerie / HTML */
.sub-footer-logos__inner img{
  max-height: 64px;
  width: auto;
  height: 100px;
  opacity: .9;
}
