/* ============================================================
 * Goodies Pub France — Footer B2B (sous-thème goodies)
 * Autonome : ne touche pas goodies.css. Utilise les tokens gp-*.
 * Cible le markup statique (.gp-footer-*) ET les blocs rendus par
 * le hook displayFooter (ps_linklist, ps_emailsubscription).
 *
 * DURCISSEMENT : le thème parent et plusieurs modules injectent des
 * <style> INLINE après nos <link>. Toutes les règles sont donc
 * préfixées par "body " (classes doublées sur les blocs structurants)
 * et les propriétés critiques de mise en page / d'identité portent
 * !important. Aucune valeur de design n'a été modifiée.
 * ============================================================ */

body .gp-footer.gp-footer{
  background:var(--gp-bg)!important;
  color:var(--gp-muted2)!important;
  border-top:1px solid var(--gp-line)!important;
  font-family:var(--gp-font-body)!important;
  font-size:14px!important;
  line-height:1.6!important;
}
body .gp-footer .container{
  max-width:1280px!important;width:100%!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:24px!important;padding-right:24px!important;
  box-sizing:border-box!important;
}
body .gp-footer a{color:var(--gp-muted2)!important;text-decoration:none!important;transition:color .15s}
body .gp-footer a:hover{color:var(--gp-primary)!important}
body .gp-footer .gp-ft-ic{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:var(--gp-primary)!important;font-style:normal!important}

/* ---- Bandeau réassurance ---- */
body .gp-footer-trust{background:var(--gp-bg2)!important;border-bottom:1px solid var(--gp-line)!important}
body .gp-footer-trust-list.gp-footer-trust-list{
  list-style:none!important;margin:0!important;padding:16px 0!important;
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  gap:14px 32px!important;align-items:center!important;justify-content:center!important;
  font-size:13px!important;font-weight:600!important;color:var(--gp-text)!important;
}
body .gp-footer-trust-list.gp-footer-trust-list > li{
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;
  width:auto!important;float:none!important;list-style:none!important;
}
body .gp-footer-trust-list .gp-ft-ic{font-size:15px!important}

/* ---- Corps ---- */
body .gp-footer-main{padding:44px 0 32px!important}
body .gp-footer-row.gp-footer-row{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  margin-left:-16px!important;margin-right:-16px!important;
}
body .gp-footer-row.gp-footer-row > *{
  padding-left:16px!important;padding-right:16px!important;
  box-sizing:border-box!important;margin-bottom:24px!important;float:none!important;
}

/* Colonne marque */
body .gp-footer-brand.gp-footer-brand{flex:1 1 260px!important;max-width:340px!important;min-width:0!important}
body .gp-footer-wordmark{display:flex!important;flex-direction:column!important;line-height:1.2!important;margin-bottom:14px!important}
body .gp-footer-wordmark b{font-family:var(--gp-font-head)!important;font-size:20px!important;font-weight:800!important;letter-spacing:-.3px;color:var(--gp-text)!important}
body .gp-footer-wordmark small{font-size:12px!important;color:var(--gp-muted)!important;margin-top:3px!important}
body .gp-footer-pitch{font-size:14px!important;line-height:1.6!important;color:var(--gp-muted2)!important;margin:0 0 16px!important}
body .gp-footer-contact{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:9px!important}
body .gp-footer-contact li{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;list-style:none!important}
body .gp-footer-contact .gp-ft-ic{width:20px!important;font-size:15px!important}
body .gp-footer-contact a{font-weight:600!important;color:var(--gp-text)!important}
body .gp-footer-contact a:hover{color:var(--gp-primary)!important}

/* ---- Habillage des blocs rendus par displayFooter (modules PS) ---- */
/* Mise en colonnes des blocs modules dans .gp-footer-row */
body .gp-footer-row.gp-footer-row > .footer-block,
body .gp-footer-row.gp-footer-row > .links,
body .gp-footer-row.gp-footer-row > .linklist,
body .gp-footer-row.gp-footer-row > .block_newsletter,
body .gp-footer-row.gp-footer-row > div[class*="col-"]:not(.gp-footer-brand){
  flex:1 1 200px!important;max-width:100%!important;min-width:0!important;
}
/* Sous-grille interne de ps_linklist (wrappers de colonnes) */
body .gp-footer-main .links > .row,
body .gp-footer-main .footer-block > .row,
body .gp-footer-main .linklist > .row{display:flex!important;flex-wrap:wrap!important;margin-left:0!important;margin-right:0!important}
body .gp-footer-main .links > .row > *,
body .gp-footer-main .footer-block > .row > *{flex:1 1 160px!important;max-width:100%!important;min-width:0!important;padding-left:0!important;padding-right:0!important}
/* Titres de colonnes */
body .gp-footer-main .footer-block h3,
body .gp-footer-main .links h3,
body .gp-footer-main .block_newsletter h3,
body .gp-footer-main .linklist .title,
body .gp-footer-main .footer-block .title{
  font-family:var(--gp-font-head)!important;
  font-size:15px!important;font-weight:700!important;letter-spacing:-.2px;
  color:var(--gp-text)!important;margin:0 0 14px!important;text-transform:none!important;
}
/* Listes de liens */
body .gp-footer-main .footer-block ul,
body .gp-footer-main .links ul,
body .gp-footer-main .linklist ul{list-style:none!important;margin:0!important;padding:0!important;display:block!important}
body .gp-footer-main .footer-block ul li,
body .gp-footer-main .links ul li{margin:0 0 9px!important;list-style:none!important;float:none!important}
body .gp-footer-main .footer-block ul li a,
body .gp-footer-main .links ul li a{font-size:14px!important;color:var(--gp-muted2)!important}
body .gp-footer-main .footer-block ul li a:hover,
body .gp-footer-main .links ul li a:hover{color:var(--gp-primary)!important}
/* Masque les toggles mobiles hérités du thème parent */
body .gp-footer-main .links .h3.hidden-md-up,
body .gp-footer-main .title .navbar-toggler{display:none!important}
/* Les listes repliables du thème parent restent ouvertes en desktop */
body .gp-footer-main .links ul.collapse{display:block!important}

/* Bloc newsletter (ps_emailsubscription) */
body .gp-footer-main .block_newsletter p{font-size:14px!important;color:var(--gp-muted2)!important;margin:0 0 12px!important}
body .gp-footer-main .block_newsletter form .input-wrapper{margin-bottom:10px!important}
body .gp-footer-main .block_newsletter input[type=email],
body .gp-footer-main .block_newsletter input[type=text]{
  width:100%!important;height:44px!important;padding:0 14px!important;box-sizing:border-box!important;
  border:1px solid #D1D5DB!important;border-radius:var(--gp-radius)!important;
  background:#fff!important;font-size:14px!important;color:var(--gp-text)!important;
}
body .gp-footer-main .block_newsletter input[type=email]:focus{
  outline:none;border-color:var(--gp-primary)!important;box-shadow:0 0 0 3px rgba(30,78,140,.15)
}
body .gp-footer-main .block_newsletter input[type=submit],
body .gp-footer-main .block_newsletter button[type=submit],
body .gp-footer-main .block_newsletter .btn{
  min-height:44px!important;padding:0 18px!important;border:1px solid var(--gp-primary)!important;border-radius:var(--gp-radius)!important;
  background:var(--gp-primary)!important;color:#fff!important;font-weight:600!important;font-size:14px!important;cursor:pointer;
}
body .gp-footer-main .block_newsletter input[type=submit]:hover,
body .gp-footer-main .block_newsletter button[type=submit]:hover,
body .gp-footer-main .block_newsletter .btn:hover{background:var(--gp-primary-h)!important;border-color:var(--gp-primary-h)!important}

/* ---- Encart Collectivités ---- */
body .gp-footer-collectivites{padding:0 0 8px!important}
body .gp-footer-collectivites-inner.gp-footer-collectivites-inner{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;
  gap:20px!important;flex-wrap:wrap!important;
  padding:18px 22px!important;border:1px solid var(--gp-blue-line)!important;border-radius:var(--gp-radius)!important;
  background:var(--gp-blue-bg)!important;
}
body .gp-fc-text{display:flex!important;flex-direction:column!important;gap:3px!important}
body .gp-fc-text strong{font-family:var(--gp-font-head)!important;font-size:16px!important;font-weight:700!important;color:var(--gp-text)!important}
body .gp-fc-text span{font-size:14px!important;color:var(--gp-muted2)!important}
body .gp-footer-collectivites .gp-btn{flex:none!important}

/* ---- Barre légale ---- */
body .gp-footer-bottom{background:var(--gp-bg2)!important;border-top:1px solid var(--gp-line)!important;margin-top:24px!important}
body .gp-footer-bottom-inner.gp-footer-bottom-inner{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;
  flex-wrap:wrap!important;gap:12px 24px!important;
  padding:18px 0!important;font-size:13px!important;color:var(--gp-muted)!important;
}
body .gp-footer-copyright{margin:0!important;order:1!important}
body .gp-footer-legal.gp-footer-legal{
  list-style:none!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  gap:8px 18px!important;order:2!important;
}
body .gp-footer-legal.gp-footer-legal > li{display:block!important;width:auto!important;margin:0!important;float:none!important;list-style:none!important}
body .gp-footer-legal a{font-size:13px!important;color:var(--gp-muted2)!important}
body .gp-footer-legal a:hover{color:var(--gp-primary)!important}
body .gp-footer-pay.gp-footer-pay{
  list-style:none!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  gap:6px!important;order:3!important;
}
body .gp-footer-pay.gp-footer-pay > li{
  font-size:11px!important;font-weight:600!important;color:var(--gp-muted2)!important;
  padding:5px 9px!important;margin:0!important;border:1px solid var(--gp-line)!important;border-radius:6px!important;background:#fff!important;
  width:auto!important;float:none!important;list-style:none!important;
}

/* ---- Responsive ---- */
@media(max-width:992px){
  body .gp-footer-brand.gp-footer-brand{max-width:none!important;flex:0 0 100%!important;width:100%!important}
}
@media(max-width:768px){
  body .gp-footer-main{padding:32px 0 20px!important}
  body .gp-footer-trust-list.gp-footer-trust-list{gap:10px 20px!important;padding:14px 0!important}
  body .gp-footer-collectivites-inner.gp-footer-collectivites-inner{flex-direction:column!important;align-items:flex-start!important}
  body .gp-footer-collectivites .gp-btn{width:100%!important}
  body .gp-footer-bottom-inner.gp-footer-bottom-inner{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
}
