/*
Theme Name: InfoSDF Autonome
Theme URI: https://infosdf.be/
Description: Thème autonome du projet InfoSDF. Projet Radio Solidarité — New Line Info ASBL. Développé par Laurent Frémal.
Author: Radio Solidarité — New Line Info ASBL
Author URI: https://solidarite.tv/
Developer: Laurent Frémal
Version: 7.0.10
Text Domain: infosdf
*/

:root{--infosdf-purple:#6436d8;--infosdf-blue:#2585f5;--infosdf-cyan:#24c8d8;--infosdf-green:#25b56d;--infosdf-orange:#ff8a34;--infosdf-pink:#e63b91;--infosdf-ink:#30274a;--infosdf-soft:#f7f5ff;--infosdf-radius:22px}
#main-header{box-shadow:0 6px 26px rgba(48,39,74,.09)!important}
#logo{max-height:64px!important;width:auto!important;transition:none!important}
.et-fixed-header #logo{max-height:54px!important}
@media(max-width:980px){#logo{max-height:50px!important}}

.infosdf-theme-shell{max-width:1240px;margin:0 auto;padding:36px 22px 70px}
.infosdf-theme-hero{position:relative;overflow:hidden;border-radius:30px;padding:42px;background:linear-gradient(135deg,#6436d8 0%,#2585f5 50%,#24c8d8 100%);color:#fff;margin-bottom:30px;box-shadow:0 18px 55px rgba(59,48,132,.16)}
.infosdf-theme-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.12);right:-70px;top:-110px}
.infosdf-theme-hero h1,.infosdf-theme-hero h2{color:#fff!important;font-weight:900!important;line-height:1.06;margin:0 0 12px}
.infosdf-theme-hero p{font-size:18px;max-width:780px;margin:0;color:#fff}
.infosdf-theme-kicker{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);padding:7px 12px;border-radius:99px;font-weight:800;margin-bottom:14px}
.infosdf-theme-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
@media(max-width:980px){.infosdf-theme-grid{grid-template-columns:1fr}.infosdf-theme-shell{padding:24px 16px 50px}.infosdf-theme-hero{padding:28px 22px;border-radius:24px}}
.infosdf-theme-main,.infosdf-theme-side-card,.infosdf-news-card,.infosdf-contact-card{background:#fff;border:1px solid #ece8fb;border-radius:var(--infosdf-radius);box-shadow:0 10px 35px rgba(49,39,80,.07)}
.infosdf-theme-main{padding:24px}
.infosdf-theme-sidebar{display:grid;gap:18px}
.infosdf-theme-side-card{padding:18px}
.infosdf-theme-side-card h3{font-weight:900!important;color:var(--infosdf-purple)!important;margin:0 0 12px}
.infosdf-theme-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}
.infosdf-theme-action{display:block;text-decoration:none!important;color:#fff!important;border-radius:20px;padding:20px 16px;min-height:112px;font-weight:900;font-size:18px;box-shadow:0 10px 25px rgba(49,39,80,.1)}
.infosdf-theme-action small{display:block;font-size:13px;opacity:.92;margin-top:6px;font-weight:600}
.infosdf-theme-action:nth-child(6n+1){background:linear-gradient(135deg,#ff8a34,#ff5d65)}
.infosdf-theme-action:nth-child(6n+2){background:linear-gradient(135deg,#2585f5,#6436d8)}
.infosdf-theme-action:nth-child(6n+3){background:linear-gradient(135deg,#24c8d8,#25b56d)}
.infosdf-theme-action:nth-child(6n+4){background:linear-gradient(135deg,#e63b91,#8b42db)}
.infosdf-theme-action:nth-child(6n+5){background:linear-gradient(135deg,#25b56d,#80c73f)}
.infosdf-theme-action:nth-child(6n+6){background:linear-gradient(135deg,#ffbe2e,#ff8a34);color:#33274b!important}
@media(max-width:900px){.infosdf-theme-actions{grid-template-columns:repeat(2,1fr)}}

.infosdf-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.infosdf-news-card{overflow:hidden}
.infosdf-news-card img{display:block;width:100%;height:190px;object-fit:cover}
.infosdf-news-body{padding:20px}.infosdf-news-body h2,.infosdf-news-body h3{font-weight:900!important;line-height:1.18}
.infosdf-news-meta{font-size:13px;color:#776d8f;margin-bottom:8px}.infosdf-news-excerpt{color:#544d65}
.infosdf-news-featured{display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden;margin-bottom:24px}.infosdf-news-featured img{width:100%;height:100%;min-height:330px;object-fit:cover}.infosdf-news-featured .infosdf-news-body{padding:34px}
.infosdf-news-badge{display:inline-block;background:#f0eaff;color:#6436d8;border-radius:99px;padding:5px 10px;font-weight:800;font-size:12px;margin-bottom:10px}
@media(max-width:900px){.infosdf-news-grid{grid-template-columns:1fr}.infosdf-news-featured{grid-template-columns:1fr}.infosdf-news-featured img{min-height:220px}}

.infosdf-contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.infosdf-contact-card{padding:24px}.infosdf-contact-card h2{color:var(--infosdf-purple)!important;font-weight:900!important}.infosdf-contact-card label{display:block;font-weight:700;margin:12px 0}.infosdf-contact-card input,.infosdf-contact-card textarea{width:100%;padding:12px 14px;border:1px solid #ddd5f5;border-radius:12px;background:#fff}.infosdf-contact-card button{border:0;background:linear-gradient(135deg,#6436d8,#2585f5);color:#fff;font-weight:900;padding:13px 20px;border-radius:99px;cursor:pointer}.infosdf-contact-row{padding:11px 0;border-bottom:1px solid #eee9fb}.infosdf-contact-row strong{display:block;color:var(--infosdf-purple)}
@media(max-width:800px){.infosdf-contact-layout{grid-template-columns:1fr}}

.infosdf-theme-admin-wrap .infosdf-admin-card{background:#fff;border:1px solid #ddd;border-radius:14px;padding:18px;margin:14px 0;max-width:1100px}.infosdf-theme-admin-wrap code{font-size:13px}.infosdf-page-ok{color:#178342;font-weight:700}.infosdf-page-warn{color:#b36800;font-weight:700}

/* Empêche les sidebars WordPress génériques de polluer les pages InfoSDF lorsque Divi utilise le template pleine largeur. */
body.infosdf-page #sidebar{display:none!important}body.infosdf-page #left-area{width:100%!important;padding-right:0!important}body.infosdf-page #main-content .container:before{display:none!important}


/* === InfoSDF v4.0 : retour à l'identité POP colorée, sans casser Divi Builder === */
body{background:#f6f7fb;color:#172033}
#main-header{background:#fff!important;box-shadow:0 5px 24px rgba(23,32,51,.10)!important}
#logo{max-height:58px!important;width:auto!important;border-radius:14px}
#top-menu a{font-weight:850!important;color:#2d2449!important}
#top-menu li.current-menu-item>a,#top-menu a:hover{color:#e63b91!important}

.infosdf-pop-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);align-items:center;gap:30px;padding:clamp(34px,6vw,72px);border-radius:34px;background:linear-gradient(125deg,#6847ff 0%,#7d49f0 31%,#ed3f8f 70%,#ff8a25 100%);box-shadow:0 24px 65px rgba(88,50,170,.25);color:#fff}
.infosdf-pop-hero:before{content:"";position:absolute;inset:auto -70px -130px auto;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.12)}
.infosdf-pop-hero:after{content:"";position:absolute;left:-80px;top:-120px;width:260px;height:260px;border-radius:50%;background:rgba(255,201,40,.23)}
.infosdf-pop-hero__content,.infosdf-pop-hero__logo{position:relative;z-index:2}
.infosdf-pop-kicker{display:inline-flex;padding:8px 14px;border-radius:999px;background:#ffc928;color:#332600;font-size:13px;font-weight:950;letter-spacing:.045em;text-transform:uppercase}
.infosdf-pop-hero h1{margin:18px 0 18px!important;color:#fff!important;font-size:clamp(42px,6vw,76px)!important;line-height:.98!important;font-weight:950!important;letter-spacing:-.045em!important}
.infosdf-pop-hero h1 strong{color:#fff!important;text-shadow:0 3px 0 rgba(50,22,98,.18)}
.infosdf-pop-hero p{max-width:760px;color:#fff!important;font-size:clamp(17px,2vw,21px);line-height:1.55}
.infosdf-pop-hero__logo{background:#fff;padding:22px;border-radius:30px;box-shadow:0 22px 55px rgba(45,20,85,.25);transform:rotate(1.4deg)}
.infosdf-pop-hero__logo img{display:block;width:100%;height:auto}
.infosdf-pop-languages{margin-top:20px}.infosdf-pop-languages a,.infosdf-pop-languages button{background:#fff!important;color:#4a2f8f!important;border:0!important;border-radius:999px!important;font-weight:900!important}

.infosdf-pop-needs,.infosdf-pop-panel,.infosdf-pop-wall{margin:28px 0}
.infosdf-pop-heading span{display:inline-block;color:#e63b91;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.infosdf-pop-heading h2{color:#172033!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.05!important;font-weight:950!important;letter-spacing:-.025em!important;margin:6px 0 20px!important}
.infosdf-pop-need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.infosdf-pop-need{position:relative;overflow:hidden;display:flex;min-height:164px;padding:20px;border-radius:25px;flex-direction:column;justify-content:flex-end;text-decoration:none!important;color:#fff!important;box-shadow:0 14px 36px rgba(23,32,51,.14);transition:.2s transform,.2s box-shadow}
.infosdf-pop-need:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(23,32,51,.20)}
.infosdf-pop-need:nth-child(1){background:linear-gradient(135deg,#ff8a25,#f45b38)}
.infosdf-pop-need:nth-child(2){background:linear-gradient(135deg,#2684ff,#6557ff)}
.infosdf-pop-need:nth-child(3){background:linear-gradient(135deg,#15b8d4,#18a58c)}
.infosdf-pop-need:nth-child(4){background:linear-gradient(135deg,#f24b4b,#ed3f8f)}
.infosdf-pop-need:nth-child(5){background:linear-gradient(135deg,#24b36b,#68c83e)}
.infosdf-pop-need:nth-child(6){background:linear-gradient(135deg,#6c4cff,#9a42df)}
.infosdf-pop-need:nth-child(7){background:linear-gradient(135deg,#ffc928,#ff9f1c);color:#332600!important}
.infosdf-pop-need:nth-child(8){background:linear-gradient(135deg,#db2777,#7c3aed)}
.infosdf-pop-need__icon{position:absolute;top:17px;left:19px;font-size:38px;line-height:1}
.infosdf-pop-need strong{font-size:21px;color:inherit!important}.infosdf-pop-need small{margin-top:5px;font-weight:700;opacity:.92;color:inherit!important}

.infosdf-pop-panel{background:#fff;border:1px solid #ece8f6;border-top:8px solid #ffc928;border-radius:30px;padding:26px;box-shadow:0 14px 42px rgba(23,32,51,.09)}
.infosdf-pop-map{margin-top:24px;overflow:hidden;border-radius:22px}
.infosdf-pop-sidebar{display:grid;gap:18px}.infosdf-pop-side-card{background:#fff;border:1px solid #ece8f6;border-radius:24px;padding:18px;box-shadow:0 10px 28px rgba(23,32,51,.08)}
.infosdf-pop-side-card:nth-child(1){border-top:6px solid #15b8d4}.infosdf-pop-side-card:nth-child(2){border-top:6px solid #ff8a25}.infosdf-pop-side-card:nth-child(3){border-top:6px solid #e63b91}
.infosdf-pop-side-card h2,.infosdf-pop-side-card h3,.infosdf-pop-side-card h4{color:#6436d8!important;font-weight:950!important}
.infosdf-pop-wall{padding:clamp(22px,4vw,38px);border-radius:30px;background:linear-gradient(135deg,#fff7ed 0%,#ffe4e6 45%,#ede9fe 100%);border:2px solid rgba(124,58,237,.12);box-shadow:0 16px 45px rgba(109,40,217,.10)}

/* Harmonisation visuelle du plugin */
.infosdf-card,.infosdf-widget,.infosdf-calendar,.infosdf-search,.infosdf-directory,.infosdf-map-wrap{border-radius:22px!important}
.infosdf-btn,.infosdf-button,.infosdf-search button,input[type=submit].infosdf-btn{border-radius:999px!important;font-weight:900!important;background:linear-gradient(135deg,#6436d8,#2585f5)!important;color:#fff!important;border:0!important;box-shadow:0 8px 20px rgba(64,83,220,.20)!important}
.infosdf-search input,.infosdf-search select,.infosdf-search textarea{border-radius:14px!important}

@media(max-width:980px){.infosdf-pop-hero{grid-template-columns:1fr}.infosdf-pop-hero__logo{max-width:460px;transform:none}.infosdf-pop-need-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.infosdf-pop-hero{padding:34px 22px;border-radius:26px}.infosdf-pop-hero h1{font-size:43px!important}.infosdf-pop-need-grid{gap:10px}.infosdf-pop-need{min-height:142px;padding:15px}.infosdf-pop-need__icon{font-size:31px}.infosdf-pop-need strong{font-size:17px}.infosdf-pop-panel{padding:18px;border-radius:22px}}


/* === InfoSDF v4.1 : stabilité Divi / accueil === */
body.home #main-content{overflow:hidden;background:#f7f8fc}
body.home #main-content>.container{width:100%!important;max-width:none!important;padding:0!important}
body.home .et_pb_section{padding:18px 0!important;background:transparent!important}
body.home .et_pb_section:first-child{padding-top:24px!important}
body.home .et_pb_row{width:min(1180px,calc(100% - 32px))!important;max-width:1180px!important;padding:0!important}
body.home .et_pb_column,body.home .et_pb_code,body.home .et_pb_code_inner{min-width:0!important;max-width:100%!important}
body.home .et_pb_section_0_tb_header+ #et-main-area{margin-top:0!important}

/* Accueil legacy : même grille propre si une ancienne page contient encore [infosdf_home]. */
.infosdf-home-legacy-bridge{width:min(1180px,calc(100% - 32px));margin:24px auto 64px}
.infosdf-home-content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.82fr);gap:26px;align-items:start}
.infosdf-home-content-grid>*{min-width:0}

/* Hero : logo PNG robuste et dimensions contrôlées. */
.infosdf-pop-hero{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);padding:48px!important}
.infosdf-pop-hero__logo{display:flex!important;align-items:center;justify-content:center;min-height:180px!important;padding:22px!important}
.infosdf-pop-hero__logo img{display:block!important;width:100%!important;max-width:520px!important;height:auto!important;object-fit:contain!important}
.infosdf-pop-hero h1{font-size:clamp(38px,4.5vw,62px)!important}

/* Recherche : une seule ligne propre. */
.infosdf-pop-panel .infosdf-search{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(160px,.8fr) minmax(180px,.9fr) auto!important;gap:12px!important;align-items:center!important;margin:0!important}
.infosdf-pop-panel .infosdf-search>*{min-width:0!important;width:100%!important;box-sizing:border-box!important}
.infosdf-pop-panel .infosdf-search button{width:auto!important;white-space:nowrap!important;padding:13px 22px!important}

/* Carte : jamais plus large que sa colonne. */
.infosdf-pop-map,.infosdf-map-wrap,.infosdf-leaflet-map{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.infosdf-leaflet-map{overflow:hidden!important}
.infosdf-map-search{display:none!important} /* sur l'accueil la recherche principale suffit */

/* Sidebar et mur. */
.infosdf-pop-sidebar{min-width:0!important}
.infosdf-pop-side-card{overflow:hidden!important}
.infosdf-pop-side-card .infosdf-sidebar-widget{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.infosdf-pop-wall{width:100%!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}
.infosdf-pop-wall .infosdf-wall,.infosdf-pop-wall .infosdf-wall-wrap,.infosdf-pop-wall form{max-width:100%!important;box-sizing:border-box!important}
.infosdf-pop-wall input,.infosdf-pop-wall textarea{max-width:100%!important;width:100%!important;box-sizing:border-box!important}

/* Évite tout scrollbar horizontal généré par un module plugin. */
body.home #page-container,body.home #et-main-area,body.home #main-content{max-width:100vw!important;overflow-x:hidden!important}
body.home .infosdf-module,body.home .infosdf-card,body.home .infosdf-sidebar-widget{max-width:100%!important;box-sizing:border-box!important}

@media(max-width:980px){
 body.home .et_pb_section{padding:12px 0!important}
 .infosdf-home-content-grid{grid-template-columns:1fr}
 .infosdf-pop-hero{grid-template-columns:1fr;padding:34px 26px!important}
 .infosdf-pop-hero__logo{max-width:560px;min-height:0!important;margin-top:10px}
 .infosdf-pop-panel .infosdf-search{grid-template-columns:1fr 1fr!important}
 .infosdf-pop-panel .infosdf-search button{width:100%!important}
}
@media(max-width:600px){
 body.home .et_pb_row,.infosdf-home-legacy-bridge{width:calc(100% - 20px)!important}
 .infosdf-pop-panel .infosdf-search{grid-template-columns:1fr!important}
 .infosdf-pop-hero{padding:28px 20px!important;border-radius:24px}
 .infosdf-pop-hero__logo{padding:14px!important;border-radius:20px}
}

/* === InfoSDF v4.2 : logo hero garanti visible === */
.infosdf-pop-hero__logo{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  background:#fff!important;border:3px solid rgba(255,255,255,.9)!important;
  min-height:260px!important;padding:18px!important;border-radius:30px!important;
}
.infosdf-pop-hero__logo .infosdf-hero-brand{
  display:block!important;visibility:visible!important;opacity:1!important;
  width:100%!important;max-width:650px!important;height:auto!important;max-height:300px!important;
  object-fit:contain!important;border-radius:22px!important;
}
.infosdf-hero-tagline{
  margin-top:12px;padding:10px 18px;border-radius:999px;
  background:linear-gradient(90deg,#276dff,#6d43e8,#ed3f8f,#ff8a25);
  color:#fff;font-size:18px;font-weight:900;text-align:center;box-shadow:0 8px 20px rgba(65,55,160,.18)
}
@media(max-width:980px){.infosdf-pop-hero__logo{min-height:0!important}.infosdf-pop-hero__logo .infosdf-hero-brand{max-width:620px!important}}
@media(max-width:600px){.infosdf-hero-tagline{font-size:15px;padding:8px 14px}.infosdf-pop-hero__logo .infosdf-hero-brand{max-height:220px!important}}

/* InfoSDF v5.4 Performance Safe */
.infosdf-pop-hero__logo .infosdf-hero-brand{
 aspect-ratio:1430 / 640!important;
 width:100%!important;
 height:auto!important;
 object-fit:contain!important;
}


/* === InfoSDF v5.9 CLS Safe ===
   Réserve l'espace avant le chargement tardif des images/polices.
   Ne modifie pas volontairement le design. */

/* Header Divi : évite qu'il change de hauteur pendant le chargement. */
#main-header,
.et-l--header,
.et-l--header .et_pb_section:first-child{
    contain:layout style;
}
#main-header .container,
#main-header .logo_container{
    min-height:72px;
}

/* Le logo header garde son ratio et sa boîte dès le premier rendu. */
#main-header #logo,
.logo_container img,
.et_pb_menu__logo img,
.et_pb_fullwidth_menu__logo img,
.et-l--header .custom-logo{
    height:auto!important;
    object-fit:contain!important;
}

/* Hero : la place est réservée par son ratio réel avant décodage. */
.infosdf-pop-hero__logo{
    min-height:0;
}
.infosdf-pop-hero__logo .infosdf-hero-brand{
    display:block;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1430 / 640!important;
}

/* Les images du contenu ne doivent pas dépasser leur boîte. */
#et-main-area img{
    max-width:100%;
    height:auto;
}

/* Évite les sauts lors de l'apparition des icônes de réseaux. */
.et-social-icons,
ul.et-social-icons{
    min-height:24px;
}

/* Réserve une hauteur minimale au sélecteur/recherche InfoSDF. */
select[name="service"]{
    min-height:44px;
}


/* === InfoSDF v6.29 — PageSpeed 92+ SAFE === */
/* Réserve mieux la géométrie du header sans modifier le menu. */
#main-header #logo,
#main-header .logo_container img{
  aspect-ratio:320 / 141!important;
}
#main-header .logo_container{
  contain:layout paint;
}

/* Contraste Lighthouse : libellé INFOSDF dans les blocs clairs. */
.infosdf-pop-heading > span,
.infosdf-pop-panel .infosdf-pop-heading > span{
  color:#5b176f!important;
}

/* Cibles tactiles principales : min 44px sans agrandir visuellement le texte. */
#top-menu-nav > ul > li > a,
#et-secondary-menu a,
#et-info a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

/* Animations des cartes : transform uniquement, pas de box-shadow animé. */
.infosdf-pop-need{
  transition:transform .18s ease!important;
}
.infosdf-pop-need:hover{
  box-shadow:0 14px 36px rgba(23,32,51,.14)!important;
}


/* === InfoSDF 7.0 — structure native, sans Divi === */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f6f7fb;color:#172033;line-height:1.55}
a{color:#6436d8}.infosdf-site-header{position:relative;z-index:1000;background:#fff;box-shadow:0 5px 24px rgba(23,32,51,.10)}
.infosdf-topbar{background:#30274a;color:#fff}.infosdf-topbar__inner,.infosdf-header__inner,.infosdf-main,.infosdf-footer__inner{width:min(1180px,calc(100% - 32px));margin:0 auto}
.infosdf-topbar__inner{min-height:38px;display:flex;align-items:center;justify-content:flex-end}.infosdf-topbar a{color:#fff;text-decoration:none}
.infosdf-header__inner{min-height:92px;display:flex;align-items:center;gap:26px}.infosdf-brand{display:flex;align-items:center;flex:0 0 auto}.infosdf-brand img{display:block;width:auto;height:62px;max-width:240px}
.infosdf-nav{margin-left:auto}.infosdf-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.infosdf-nav li{margin:0}.infosdf-nav a{display:block;padding:12px 10px;color:#2d2449;text-decoration:none;font-weight:850;border-radius:12px}.infosdf-nav a:hover,.infosdf-nav .current-menu-item>a{color:#e63b91;background:#faf5ff}
.infosdf-menu-toggle{display:none;margin-left:auto;border:0;background:#f5efff;color:#6325a5;border-radius:12px;padding:10px 13px;font-weight:900;font-size:16px}
.infosdf-main{padding:28px 0 48px;min-height:60vh}.home .infosdf-main{padding-top:24px}.infosdf-content-card{background:#fff;border:1px solid #ece8f6;border-radius:24px;padding:clamp(20px,4vw,38px);box-shadow:0 12px 36px rgba(23,32,51,.08)}
.infosdf-content-card h1{font-size:clamp(32px,5vw,52px);line-height:1.05;color:#2d2449;margin-top:0}.infosdf-article-meta{color:#746b85;font-size:14px;margin:-8px 0 24px}.infosdf-featured{width:100%;height:auto;border-radius:20px;margin:0 0 24px}
.infosdf-site-footer{background:#30274a;color:#fff;padding:34px 0}.infosdf-site-footer a{color:#fff}.infosdf-footer__inner{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.infosdf-footer-menu ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}
@media(max-width:980px){.infosdf-topbar{display:none}.infosdf-header__inner{min-height:78px}.infosdf-brand img{height:52px}.infosdf-menu-toggle{display:block}.infosdf-nav{display:none;position:absolute;left:16px;right:16px;top:78px;background:#fff;padding:12px;border-radius:18px;box-shadow:0 18px 45px rgba(23,32,51,.18)}.infosdf-nav.is-open{display:block}.infosdf-nav ul{display:block}.infosdf-nav a{padding:12px}.infosdf-main{width:min(100% - 20px,1180px)}}

/* v7.0.1 — header autonome compact */
.infosdf-topbar__inner{min-height:44px;gap:20px}.infosdf-utility{display:flex;align-items:center;gap:20px;margin-left:auto}.infosdf-utility a{font-size:13px;font-weight:750;opacity:.96}.infosdf-langs{display:flex;gap:6px}.infosdf-langs a{display:grid;place-items:center;min-width:30px;height:26px;padding:0 7px;border-radius:999px;background:#fff;color:#30274a!important;font-size:11px;font-weight:950;text-decoration:none}.infosdf-langs a.is-active{background:#e83d91;color:#fff!important}
.infosdf-header__inner{min-height:104px;gap:28px}.infosdf-brand img{width:250px;height:auto;max-width:250px}.infosdf-nav{min-width:0}.infosdf-nav ul{justify-content:flex-end;gap:2px;flex-wrap:nowrap}.infosdf-nav a{padding:11px 9px;font-size:14px;white-space:nowrap}.infosdf-nav-emergency{background:#fff0f3!important;color:#c9254f!important}
@media(max-width:1120px){.infosdf-brand img{width:215px}.infosdf-nav a{font-size:13px;padding:10px 7px}.infosdf-header__inner{gap:16px}}
@media(max-width:980px){.infosdf-topbar{display:block}.infosdf-topbar__inner{min-height:38px}.infosdf-utility{display:none}.infosdf-langs{margin-left:auto}.infosdf-header__inner{min-height:78px}.infosdf-brand img{width:190px;height:auto}.infosdf-nav{top:78px}.infosdf-nav ul{display:block}.infosdf-nav a{font-size:15px;padding:12px}}
@media(max-width:480px){.infosdf-topbar__inner,.infosdf-header__inner{width:calc(100% - 20px)}.infosdf-brand img{width:165px}.infosdf-menu-toggle{font-size:14px;padding:9px 11px}}


/* v7.0.2 — finition accueil autonome */
.home .infosdf-main{width:min(1220px,calc(100% - 32px));padding-top:24px;padding-bottom:54px}
.infosdf-v7-home-grid{display:block!important;margin-top:34px}
.infosdf-v7-home-grid>div{width:100%;min-width:0}
.infosdf-v7-home-grid>aside{display:none!important}
.home .infosdf-pop-panel{width:100%!important;max-width:none!important;padding:30px!important}
.home .infosdf-pop-panel .infosdf-search{grid-template-columns:minmax(220px,1.45fr) minmax(170px,.8fr) minmax(190px,.9fr) auto!important}
.home .infosdf-pop-wall{margin-top:54px!important;padding:clamp(24px,3vw,38px)!important}
.home .infosdf-wall{margin:24px 0 0!important}
.home .infosdf-wall-ticker{padding:12px 26px 18px!important;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)!important}
.home .infosdf-wall-msg{padding:0 24px!important}
.infosdf-partners-section{width:min(1220px,calc(100% - 32px))!important;max-width:1220px!important;margin:38px auto 0!important;border-radius:24px!important;overflow:hidden!important}
.infosdf-partners-inner{max-width:100%!important}
.infosdf-partners-viewport{overflow:hidden!important}
.infosdf-partners-title{text-align:center!important;margin:0 0 12px!important;font-size:16px!important}
.infosdf-partner-item img{max-height:70px!important;width:auto!important;object-fit:contain!important}
@media(max-width:980px){
 .home .infosdf-main{width:min(100% - 20px,1220px)}
 .home .infosdf-pop-panel .infosdf-search{grid-template-columns:1fr 1fr!important}
 .home .infosdf-pop-panel .infosdf-search button{width:100%!important}
 .home .infosdf-pop-wall{margin-top:34px!important}
}
@media(max-width:620px){
 .home .infosdf-pop-panel{padding:20px!important}
 .home .infosdf-pop-panel .infosdf-search{grid-template-columns:1fr!important}
 .home .infosdf-wall-ticker{padding-left:12px!important;padding-right:12px!important}
 .infosdf-partners-section{width:calc(100% - 20px)!important}
}


/* v7.0.3 — compteurs actifs de l'accueil */
.infosdf-v7-live-stats{max-width:1220px;margin:20px auto 30px;padding:0 0}
.infosdf-v7-live-stats .infosdf-home-stats{margin:0!important;max-width:none!important;width:100%!important}
.infosdf-v7-live-stats .infosdf-home-stats-strip{width:100%!important}
@media(max-width:1280px){.infosdf-v7-live-stats{margin-left:3.5%;margin-right:3.5%}}
@media(max-width:767px){.infosdf-v7-live-stats{margin:14px 16px 24px}.infosdf-v7-live-stats .infosdf-home-stats,.infosdf-v7-live-stats .infosdf-home-stats-strip{min-height:0!important}}

/* v7.0.6 — Pagination visuelle de l'annuaire : 16 fiches par page */
.infosdf-directory-pagination{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:28px 0 8px}
.infosdf-directory-pagination button{appearance:none;border:1px solid #ded7f4;background:#fff;color:#35285d;border-radius:999px;padding:11px 18px;font-weight:900;cursor:pointer;box-shadow:0 7px 18px rgba(45,36,73,.08)}
.infosdf-directory-pagination button:hover:not(:disabled){background:#6f3ce8;color:#fff;border-color:#6f3ce8}
.infosdf-directory-pagination button:disabled{opacity:.35;cursor:not-allowed}
.infosdf-directory-pagination .infosdf-page-status{font-weight:900;color:#35285d;background:#f1edff;border-radius:999px;padding:10px 16px}
@media(max-width:600px){.infosdf-directory-pagination button{padding:10px 14px}.infosdf-directory-pagination .infosdf-page-status{width:100%;text-align:center;order:-1}}


/* v7.0.9 — À propos */
.infosdf-about{display:grid;gap:22px}.infosdf-about-lead,.infosdf-about-sign{padding:24px;border:1px solid #ece8fb;border-radius:22px;background:#fff;box-shadow:0 10px 35px rgba(49,39,80,.06)}.infosdf-about-lead h2,.infosdf-about-sign h3{color:var(--infosdf-purple);font-weight:900}.infosdf-about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.infosdf-about-grid article{padding:22px;border:1px solid #ece8fb;border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(49,39,80,.05)}.infosdf-about-grid h3{margin-top:0;color:var(--infosdf-ink);font-weight:900}@media(max-width:760px){.infosdf-about-grid{grid-template-columns:1fr}}

/* 7.0.10 — Mur solidaire + lecteur Radio Solidarité */
.infosdf-v7-wall-radio{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:stretch;margin-top:54px}
.infosdf-v7-wall-radio .infosdf-pop-wall{margin:0!important;height:100%;box-sizing:border-box}
.infosdf-v7-radio{height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 20px;border-radius:28px;background:linear-gradient(160deg,#211743,#171128);color:#fff;box-shadow:0 18px 45px rgba(33,23,67,.18);overflow:hidden}
.infosdf-v7-radio-live{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.12em;color:#ffb6d8;margin-bottom:12px}.infosdf-v7-radio-live i{width:9px;height:9px;border-radius:50%;background:#ef174f;box-shadow:0 0 0 0 rgba(239,23,79,.55);animation:infosdfV7Pulse 1.8s infinite}@keyframes infosdfV7Pulse{70%{box-shadow:0 0 0 9px rgba(239,23,79,0)}100%{box-shadow:0 0 0 0 rgba(239,23,79,0)}}
.infosdf-v7-radio img{width:112px;height:112px;object-fit:contain;background:#fff;border-radius:20px;padding:8px;margin:0 auto 14px;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.infosdf-v7-radio h2{color:#fff!important;font-size:22px!important;line-height:1.15;margin:0 0 8px!important}.infosdf-v7-radio p{color:rgba(255,255,255,.82);font-size:14px;margin:0 0 18px}.infosdf-v7-radio-play{border:0;border-radius:999px;padding:12px 18px;background:#fff;color:#28194f;font-weight:900;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.18)}.infosdf-v7-radio-play:hover{transform:translateY(-1px)}.infosdf-v7-radio small{margin-top:16px;font-size:9px;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.58)}
@media(max-width:900px){.infosdf-v7-home-grid,.infosdf-v7-wall-radio{grid-template-columns:1fr!important}.infosdf-v7-wall-radio{margin-top:34px}.infosdf-v7-radio{min-height:330px}}
