.infosdf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:20px 0}.infosdf-card{border:1px solid #e3e3e3;border-radius:14px;padding:20px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.05)}.infosdf-card h3,.infosdf-card h2{margin-top:0}.infosdf-btn,.infosdf-search button,.infosdf-report button{display:inline-block;border:0;border-radius:9px;padding:11px 16px;background:#111;color:#fff!important;text-decoration:none;cursor:pointer}.infosdf-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.infosdf-service{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:110px;border:1px solid #ddd;border-radius:14px;text-decoration:none;font-size:30px;background:#fff}.infosdf-service span{font-size:16px;font-weight:700;margin-top:8px;text-align:center}.infosdf-search{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin:20px 0}.infosdf-search input,.infosdf-search select,.infosdf-report input,.infosdf-report select,.infosdf-report textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:9px}.infosdf-report label{display:block;margin:12px 0}.infosdf-details>div{margin:8px 0}.infosdf-verified{font-size:.92em;opacity:.8}@media(max-width:700px){.infosdf-search{grid-template-columns:1fr}.infosdf-service{min-height:90px}}
.infosdf-languages{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}.infosdf-languages a{padding:7px 11px;border:1px solid #ddd;border-radius:8px;text-decoration:none}.infosdf-languages a.active{font-weight:700;border-width:2px}

/* InfoSDF 1.2 — actions et carte des fiches */
.infosdf-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.infosdf-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 18px;border-radius:999px;text-decoration:none!important;font-weight:800;color:#fff!important;box-shadow:0 5px 14px rgba(0,0,0,.12);transition:transform .18s ease,box-shadow .18s ease}
.infosdf-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.infosdf-call{background:#18a957}.infosdf-route{background:#1877f2}.infosdf-site{background:#7a3df0}.infosdf-email{background:#00a5a8}
.infosdf-map-card{overflow:hidden}.infosdf-map-frame{display:block;width:100%;height:360px;border:0;border-radius:16px;margin-top:12px}
.infosdf-details>div{padding:7px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.infosdf-details>div:last-child{border-bottom:0}
@media(max-width:600px){.infosdf-actions{display:grid;grid-template-columns:1fr 1fr}.infosdf-action{padding:12px 10px}.infosdf-map-frame{height:300px}}

/* v1.3 - fiche CPAS essentielle */
.infosdf-cpas-card h2{margin-top:0;margin-bottom:18px}.infosdf-cpas-grid{display:grid;gap:12px}.infosdf-cpas-row{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.72);display:grid;grid-template-columns:minmax(145px,220px) 1fr;gap:14px;align-items:start}.infosdf-cpas-row strong{font-weight:800}.infosdf-useful{grid-template-columns:minmax(145px,220px) 1fr}.infosdf-missing{opacity:.62;font-style:italic}.infosdf-source-bottom{margin:18px 0 28px;padding-top:14px;border-top:1px solid rgba(0,0,0,.12);font-size:.92em;opacity:.8}.infosdf-source-bottom a{font-weight:700}.infosdf-source-bottom small{margin-right:8px}@media(max-width:700px){.infosdf-cpas-row,.infosdf-useful{grid-template-columns:1fr;gap:6px}}

/* v1.4 - breathing room between CPAS modules */
.infosdf-cpas-card{margin-bottom:28px}
.infosdf-actions{margin-top:0;margin-bottom:34px}
.infosdf-map-card{margin-top:0;margin-bottom:42px}
.infosdf-report{margin-top:0;margin-bottom:34px;padding-top:28px;padding-bottom:28px}
.infosdf-report-intro{font-size:1.02rem;line-height:1.65;margin:0 0 24px}
.infosdf-source-bottom{margin-top:34px}
@media(max-width:700px){
  .infosdf-cpas-card{margin-bottom:22px}
  .infosdf-actions{margin-bottom:28px}
  .infosdf-map-card{margin-bottom:34px}
  .infosdf-report{margin-bottom:28px}
}

/* InfoSDF v1.5 — Mur / livre d'or */
.infosdf-wall{--iw-bg:#6C3CF0;--iw-text:#fff;--iw-accent:#FFD43B;--iw-form-bg:#fff;--iw-form-text:#202124;--iw-radius:18px;--iw-speed:32s;margin:34px 0;border-radius:var(--iw-radius);overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.12);background:var(--iw-bg);color:var(--iw-text)}
.infosdf-wall-title{padding:18px 22px 10px;font-size:clamp(1.1rem,2vw,1.55rem);font-weight:900;line-height:1.05}
.infosdf-wall-ticker{overflow:hidden;padding:12px 0 18px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.infosdf-wall-track{display:flex;width:max-content;animation:infosdf-wall-scroll var(--iw-speed) linear infinite;will-change:transform}
.infosdf-wall-set{display:flex;align-items:center;white-space:nowrap;flex:none}
.infosdf-wall-msg{font-weight:800;font-size:1rem;padding:0 18px}
.infosdf-wall-sep{color:var(--iw-accent);font-weight:900;padding:0 8px;font-size:1.2em}
@keyframes infosdf-wall-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.infosdf-wall-form{background:var(--iw-form-bg);color:var(--iw-form-text);padding:20px 22px}
.infosdf-wall-form form{display:grid;grid-template-columns:minmax(160px,.6fr) 1.4fr auto;gap:12px;align-items:end}
.infosdf-wall-form label{display:flex;flex-direction:column;gap:6px;font-weight:800}
.infosdf-wall-form input,.infosdf-wall-form textarea{width:100%;border:1px solid rgba(0,0,0,.16);border-radius:12px;padding:10px 12px;background:#fff;color:#111}
.infosdf-wall-form textarea{resize:vertical;min-height:70px}
.infosdf-wall-form button{border:0;border-radius:999px;padding:13px 18px;background:var(--iw-bg);color:var(--iw-text);font-weight:900;cursor:pointer}
.infosdf-wall-form small{grid-column:1/-1;opacity:.72}.infosdf-wall-notice{font-weight:800;margin:0 0 12px;grid-column:1/-1}
@media(max-width:780px){.infosdf-wall-form form{grid-template-columns:1fr}.infosdf-wall-form small{grid-column:auto}.infosdf-wall-track{animation-duration:calc(var(--iw-speed) * 1.15)}}
@media(prefers-reduced-motion:reduce){.infosdf-wall-track{animation-play-state:paused}}


/* InfoSDF v1.6 — fiches CPAS plus lisibles */
.infosdf-cpas-card>h2{font-weight:950!important;color:#5b32d6!important;font-size:clamp(1.6rem,3vw,2.25rem);letter-spacing:-.02em}
.infosdf-cpas-row>strong{font-weight:900!important;font-size:1.02rem;line-height:1.35}
.infosdf-cpas-row:nth-child(1)>strong{color:#e65100}
.infosdf-cpas-row:nth-child(2)>strong{color:#15803d}
.infosdf-cpas-row:nth-child(3)>strong{color:#007c91}
.infosdf-cpas-row:nth-child(4)>strong{color:#6d28d9}
.infosdf-cpas-row:nth-child(5)>strong{color:#c2410c}
.infosdf-cpas-row:nth-child(6)>strong{color:#b42375}
.infosdf-cpas-row>div{font-weight:600;line-height:1.6}
.infosdf-cpas-row a{font-weight:800;text-decoration-thickness:2px;text-underline-offset:3px}
.infosdf-map-card>h2,.infosdf-report>h2{font-weight:950!important;color:#5b32d6!important}

/* InfoSDF v1.8 — agenda multi-vues */
.infosdf-calendar{background:#fff;border:1px solid #ececf5;border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(34,25,70,.08);margin:24px 0}.infosdf-cal-head{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-bottom:18px}.infosdf-cal-head h3{margin:0;text-align:center;font-weight:950;color:#5b32d6;text-transform:capitalize}.infosdf-cal-nav,.infosdf-cal-views{display:flex;gap:8px;flex-wrap:wrap}.infosdf-cal-views{justify-content:flex-end}.infosdf-cal-head button{border:0;border-radius:999px;padding:9px 13px;font-weight:850;cursor:pointer;background:#f0edff;color:#4822be}.infosdf-cal-head button.active{background:linear-gradient(135deg,#6c3cf0,#f72585);color:#fff}.infosdf-month-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #eee;border-top:1px solid #eee}.infosdf-weekday{padding:10px;text-align:center;font-weight:900;background:#faf9ff;border-right:1px solid #eee;border-bottom:1px solid #eee}.infosdf-month-day{position:relative;min-height:105px;padding:10px;border-right:1px solid #eee;border-bottom:1px solid #eee;background:#fff}.infosdf-month-day.is-outside{background:#fafafa;color:#aaa}.infosdf-month-day.is-today{box-shadow:inset 0 0 0 2px #6c3cf0}.infosdf-daynum{font-weight:900}.infosdf-cal-bubble-wrap{position:absolute;right:9px;bottom:9px}.infosdf-cal-bubble{width:34px;height:34px;border:0;border-radius:50%;background:linear-gradient(135deg,#ff7a00,#f72585);color:#fff;font-weight:950;box-shadow:0 5px 14px rgba(247,37,133,.3);cursor:pointer}.infosdf-cal-popover{display:none;position:absolute;z-index:50;width:280px;right:0;bottom:42px;background:#171324;color:#fff;border-radius:15px;padding:10px;box-shadow:0 14px 34px rgba(0,0,0,.28)}.infosdf-cal-bubble-wrap:hover .infosdf-cal-popover,.infosdf-cal-bubble:focus+.infosdf-cal-popover{display:block}.infosdf-cal-popover a{display:block;color:#fff!important;text-decoration:none;padding:8px;border-radius:10px}.infosdf-cal-popover a:hover{background:rgba(255,255,255,.09)}.infosdf-cal-tooltip{display:grid;gap:3px}.infosdf-cal-tooltip span{font-size:.86em;opacity:.88}.infosdf-more{display:block;padding:6px 8px;font-weight:900}.infosdf-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto}.infosdf-week-day{background:#faf9ff;border-radius:16px;padding:12px;min-height:180px}.infosdf-week-day.is-today{box-shadow:inset 0 0 0 2px #6c3cf0}.infosdf-week-day h4{margin:0 0 10px;color:#4822be;text-transform:capitalize}.infosdf-week-event{display:grid;gap:3px;padding:9px;margin:7px 0;border-radius:11px;background:#fff;text-decoration:none!important;color:#222!important;box-shadow:0 2px 8px rgba(0,0,0,.06)}.infosdf-week-event span{font-size:.84em;color:#666}.infosdf-list-view h4{margin:22px 0 8px;color:#5b32d6;text-transform:capitalize}.infosdf-list-event{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:13px 15px;margin:7px 0;border-radius:13px;background:#faf9ff;text-decoration:none!important;color:#222!important}.infosdf-list-time{font-weight:950;color:#f15a24}.infosdf-list-event small{display:block;margin-top:3px;color:#666}.infosdf-empty-day{opacity:.4}
/* carte interactive */
.infosdf-map-wrap{margin:24px 0}.infosdf-leaflet-map{width:100%;min-height:360px;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.11)}.infosdf-map-popup{display:grid;gap:6px;min-width:210px}.infosdf-map-popup strong{font-size:1.08rem;color:#5b32d6}.infosdf-map-popup span{line-height:1.35}.infosdf-map-popup a{margin-top:5px;display:inline-block;padding:8px 11px;border-radius:999px;background:#6c3cf0;color:#fff!important;text-decoration:none!important;font-weight:900;text-align:center}.infosdf-map-admin-note{padding:10px 14px;border-radius:12px;background:#fff3cd;margin-top:10px}
/* widgets / colonne droite */
.infosdf-sidebar-widget{background:#fff;border:1px solid #ececf5;border-radius:18px;padding:17px;margin:0 0 18px;box-shadow:0 8px 24px rgba(34,25,70,.07)}.infosdf-sidebar-widget h3{margin:0 0 13px;font-size:1.08rem;font-weight:950;color:#5b32d6}.infosdf-widget-search{display:grid;gap:8px}.infosdf-widget-search input{width:100%;padding:10px;border:1px solid #ddd;border-radius:10px}.infosdf-widget-search button{border:0;border-radius:999px;padding:10px 12px;background:linear-gradient(135deg,#6c3cf0,#f72585);color:#fff;font-weight:900;cursor:pointer}.infosdf-widget-events,.infosdf-widget-links{list-style:none!important;padding:0!important;margin:0!important}.infosdf-widget-events li,.infosdf-widget-links li{border-top:1px solid #eee}.infosdf-widget-events li:first-child,.infosdf-widget-links li:first-child{border-top:0}.infosdf-widget-events a,.infosdf-widget-links a{display:grid;gap:3px;padding:9px 0;text-decoration:none!important}.infosdf-widget-events span{font-size:.82em;color:#666}.infosdf-sidebar-wall .infosdf-wall{margin:0;box-shadow:none}
.infosdf-a27-badge,.infosdf-a27-event-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:800}.infosdf-a27-badge{background:#7c3aed;color:#fff}.infosdf-a27-event-badge{background:#f59e0b;color:#111}
@media(max-width:850px){.infosdf-cal-head{grid-template-columns:1fr}.infosdf-cal-head h3{order:-1}.infosdf-cal-views{justify-content:flex-start}.infosdf-month-day{min-height:78px;padding:7px}.infosdf-cal-bubble{width:29px;height:29px}.infosdf-cal-popover{width:240px}.infosdf-weekday{font-size:.8rem;padding:7px 2px}}

/* InfoSDF v1.9 — intégration thème / pages / agenda recherché */
.infosdf-module{--p:var(--infosdf-primary,#6c4cff);--s:var(--infosdf-secondary,#ed3f8f);--a:var(--infosdf-accent,#ff8a25);--ink:var(--infosdf-ink,#172033);--soft:var(--infosdf-soft,#f5f7fb);--r:var(--infosdf-radius,24px);margin:28px 0}.infosdf-module-heading{margin:0 0 22px;padding:0 0 16px;border-bottom:4px solid color-mix(in srgb,var(--p) 18%,transparent)}.infosdf-module-heading h2{margin:0!important;color:var(--ink)!important;font-weight:950!important;font-size:clamp(1.8rem,3.5vw,2.7rem)!important;letter-spacing:-.025em}.infosdf-module-heading h2:after{content:"";display:block;width:82px;height:7px;margin-top:10px;border-radius:999px;background:linear-gradient(90deg,var(--p),var(--s),var(--a))}.infosdf-module-heading p{margin:8px 0 0;color:#667085}.infosdf-page-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.78fr);gap:28px;align-items:start}.infosdf-page-layout>aside{position:sticky;top:105px}.infosdf-page-module .infosdf-card,.infosdf-page-module .infosdf-calendar,.infosdf-page-module .infosdf-sidebar-widget{border-radius:var(--r)!important}.infosdf-page-module .infosdf-sidebar-widget{border-top-color:var(--p)!important}.infosdf-page-module .infosdf-btn,.infosdf-page-module button{transition:.18s transform,.18s filter}.infosdf-page-module .infosdf-btn:hover,.infosdf-page-module button:hover{transform:translateY(-1px);filter:saturate(1.05)}
.infosdf-agenda-search{margin:0 0 18px;padding:17px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--p) 9%,#fff),color-mix(in srgb,var(--s) 7%,#fff));border:1px solid color-mix(in srgb,var(--p) 18%,#eee)}.infosdf-agenda-search-title{font-weight:950;color:var(--ink);margin-bottom:10px}.infosdf-agenda-search-grid{display:grid;grid-template-columns:1.25fr 1fr .75fr auto;gap:9px}.infosdf-agenda-search input,.infosdf-agenda-search select{width:100%;min-height:44px;border:1px solid #ddd;border-radius:12px;padding:9px 11px;background:#fff}.infosdf-agenda-search button{border:0;border-radius:999px;padding:10px 15px;background:linear-gradient(135deg,var(--a),var(--s));color:#fff;font-weight:900;cursor:pointer}.infosdf-agenda-search-count{font-size:.86rem;font-weight:800;color:#667085;margin-top:8px}.infosdf-agenda-empty{padding:20px;border-radius:14px;background:#fff3cd;font-weight:800}.infosdf-cal-head button.active{background:linear-gradient(135deg,var(--p),var(--s))!important}.infosdf-cal-bubble{background:linear-gradient(135deg,var(--a),var(--s))!important}.infosdf-cal-head h3,.infosdf-list-view h4{color:var(--p)!important}.infosdf-map-popup strong{color:var(--p)!important}.infosdf-map-popup a{background:var(--p)!important}.infosdf-widget-searchbox{border-top-color:var(--a)!important}.infosdf-widget-search button{background:linear-gradient(135deg,var(--a),var(--s))!important}.infosdf-sidebar-widget h3{color:var(--ink)!important}.infosdf-a27-badge{background:var(--p)!important}.infosdf-a27-event-badge{background:var(--a)!important}.infosdf-page-wall .infosdf-wall{margin:0}
@media(max-width:980px){.infosdf-page-layout{grid-template-columns:1fr}.infosdf-page-layout>aside{position:static}.infosdf-agenda-search-grid{grid-template-columns:1fr 1fr}.infosdf-agenda-search button{grid-column:1/-1}}
@media(max-width:600px){.infosdf-agenda-search-grid{grid-template-columns:1fr}.infosdf-agenda-search button{grid-column:auto}.infosdf-module-heading h2{font-size:1.75rem!important}}

/* InfoSDF v2.0 — recherche et carte fiables */
.infosdf-results-meta,.infosdf-map-summary{display:inline-flex;align-items:center;gap:6px;margin:8px 0 14px;padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--infosdf-primary,#6c4cff) 10%,#fff);color:var(--infosdf-ink,#172033);font-weight:850}.infosdf-result-card{position:relative}.infosdf-result-type{display:inline-block;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:linear-gradient(135deg,var(--infosdf-primary,#6c4cff),var(--infosdf-secondary,#ed3f8f));color:#fff;font-size:.75rem;font-weight:900}.infosdf-map-search{display:grid;grid-template-columns:1.3fr 1fr auto;gap:10px;margin:0 0 15px}.infosdf-map-search input{min-height:46px;border:1px solid #ddd;border-radius:13px;padding:10px 12px;background:#fff}.infosdf-map-search button{border:0;border-radius:999px;padding:10px 18px;background:linear-gradient(135deg,var(--infosdf-primary,#6c4cff),var(--infosdf-secondary,#ed3f8f));color:#fff;font-weight:900;cursor:pointer}.infosdf-map-empty{margin-top:12px;padding:14px;border-radius:14px;background:#fff3cd;font-weight:800}@media(max-width:650px){.infosdf-map-search{grid-template-columns:1fr}.infosdf-map-search button{width:100%}}

.infosdf-map-approx{margin:8px 0;padding:6px 8px;border-radius:10px;background:#fff3cd;color:#664d03;font-size:12px;font-weight:700}.infosdf-map-summary{margin:0 0 10px;font-weight:800}
/* v3.4 espace membre */
.infosdf-member-area{max-width:1150px;margin:30px auto}.infosdf-member-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#5127cf,#a92fc6,#ff7043);color:#fff;margin-bottom:22px}.infosdf-member-head h2{color:#fff;margin:4px 0}.infosdf-member-kicker{font-weight:900;text-transform:uppercase;letter-spacing:.08em}.infosdf-member-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.infosdf-member-card{background:#fff;border:1px solid #eee8ff;border-radius:22px;padding:24px;box-shadow:0 12px 34px rgba(50,32,120,.08)}.infosdf-member-card-accent{background:linear-gradient(180deg,#fff,#faf7ff)}.infosdf-member-wide{grid-column:1/-1}.infosdf-member-card label{display:block;font-weight:700;margin:12px 0}.infosdf-member-card input,.infosdf-member-card select,.infosdf-member-card textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #dcd4ef;border-radius:12px;padding:11px 12px;background:#fff}.infosdf-member-card button,.infosdf-member-head button{border:0;border-radius:999px;padding:11px 18px;background:linear-gradient(135deg,#563bd8,#a831c7);color:#fff;font-weight:800;cursor:pointer}.infosdf-btn-secondary{background:#fff!important;color:#563bd8!important}.infosdf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.infosdf-service-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 14px}.infosdf-service-checks label{font-weight:500;margin:0}.infosdf-service-checks input,.infosdf-check input{width:auto}.infosdf-member-notice,.infosdf-member-error{padding:14px 18px;border-radius:14px;margin-bottom:16px;font-weight:700}.infosdf-member-notice{background:#e9fff2;color:#116333}.infosdf-member-error{background:#fff0f0;color:#9a2424}@media(max-width:760px){.infosdf-member-grid,.infosdf-form-grid,.infosdf-service-checks{grid-template-columns:1fr}.infosdf-member-head{display:block}}

/* InfoSDF v3.5 — bouton visible dans les infobulles Leaflet */
.infosdf-leaflet-map .leaflet-popup-content .infosdf-map-popup a,
.infosdf-leaflet-map .leaflet-popup-content a[href]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:10px 0 2px!important;
  padding:10px 16px!important;
  min-height:40px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--infosdf-primary,#6c4cff),var(--infosdf-secondary,#ed3f8f))!important;
  color:#fff!important;
  text-decoration:none!important;
  text-align:center!important;
  font-weight:900!important;
  line-height:1.25!important;
  box-shadow:0 7px 18px rgba(108,76,255,.24)!important;
}
.infosdf-leaflet-map .leaflet-popup-content .infosdf-map-popup a:hover,
.infosdf-leaflet-map .leaflet-popup-content a[href]:hover{
  filter:brightness(.96)!important;
  transform:translateY(-1px);
}
/* corrige l'ancienne variable locale non définie hors .infosdf-module */
.infosdf-map-popup a{background:var(--p,var(--infosdf-primary,#6c4cff))!important;color:#fff!important;}

/* InfoSDF 3.8 — cartes de services illustrées */
.infosdf-services.infosdf-services-visual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0}
.infosdf-service.infosdf-service-visual{position:relative;display:grid;grid-template-columns:88px 1fr 34px;align-items:center;gap:12px;min-height:112px;padding:12px 14px 12px 10px;border:1px solid #e8e3f3;border-radius:22px;background:#fff;color:#17122c!important;text-decoration:none;overflow:hidden;box-shadow:0 10px 28px rgba(45,31,94,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.infosdf-service.infosdf-service-visual:before{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:var(--infosdf-service-color,#6f3ce8)}
.infosdf-service.infosdf-service-visual:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(45,31,94,.14);border-color:color-mix(in srgb,var(--infosdf-service-color,#6f3ce8) 45%,#fff)}
.infosdf-service-visual-wrap{width:88px;height:82px;border-radius:17px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}
.infosdf-service-visual-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.infosdf-service-label{font-size:17px!important;font-weight:900!important;line-height:1.12;text-align:left!important;margin:0!important;color:#17122c}
.infosdf-service-arrow{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--infosdf-service-color,#6f3ce8);color:#fff;font-size:20px;font-weight:900;line-height:1;box-shadow:0 6px 16px rgba(43,32,86,.16)}
@media(max-width:980px){.infosdf-services.infosdf-services-visual{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.infosdf-services.infosdf-services-visual{grid-template-columns:1fr 1fr;gap:12px}.infosdf-service.infosdf-service-visual{grid-template-columns:70px 1fr 28px;min-height:96px;padding:9px;border-radius:18px}.infosdf-service-visual-wrap{width:70px;height:68px;border-radius:14px}.infosdf-service-label{font-size:15px!important}.infosdf-service-arrow{width:27px;height:27px;font-size:17px}}
@media(max-width:470px){.infosdf-services.infosdf-services-visual{grid-template-columns:1fr}.infosdf-service.infosdf-service-visual{grid-template-columns:78px 1fr 30px}.infosdf-service-visual-wrap{width:78px;height:72px}}

/* v3.13 — logos associatifs et horaires structurés */
.infosdf-structure-logo-wrap{display:flex;justify-content:center;margin:0 0 18px}.infosdf-structure-logo{display:block;max-width:220px;max-height:130px;width:auto;height:auto;object-fit:contain;border-radius:16px;background:#fff;padding:8px;border:1px solid rgba(79,70,229,.12);box-shadow:0 8px 24px rgba(40,35,90,.08)}
.infosdf-hours-table-wrap{overflow-x:auto}.infosdf-hours-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e8e5f1;border-radius:14px;overflow:hidden;background:#fff}.infosdf-hours-table th,.infosdf-hours-table td{padding:10px 12px;border-bottom:1px solid #eeeaf5;text-align:left}.infosdf-hours-table th{width:34%;color:#4f2fd0;font-weight:800}.infosdf-hours-table tr:last-child th,.infosdf-hours-table tr:last-child td{border-bottom:0}.infosdf-hours-table tr.is-closed{opacity:.62}.infosdf-hours-break{color:#8b82a5;font-size:.9em}
.infosdf-front-schedule{margin:18px 0;padding:16px;border:1px solid #e6e0f4;border-radius:16px;background:#faf9ff}.infosdf-front-schedule table{min-width:720px}.infosdf-front-schedule input[type=time]{max-width:130px}
@media(max-width:700px){.infosdf-structure-logo{max-width:170px;max-height:100px}.infosdf-hours-table th,.infosdf-hours-table td{padding:9px 8px;font-size:14px}}

/* InfoSDF 3.25 — catégories agenda + vue 7 jours */
.infosdf-agenda-categories{margin:0 0 18px;padding:16px;background:linear-gradient(135deg,#fbf9ff,#fff5fa);border:1px solid #ebe4f4;border-radius:18px}
.infosdf-agenda-categories-title{font-weight:950;color:#4c2773;margin-bottom:11px}
.infosdf-agenda-category-list{display:flex;gap:8px;flex-wrap:wrap}
.infosdf-agenda-category{display:inline-flex;align-items:center;gap:7px;border:1px solid #e7e1ee;background:#fff;border-radius:999px;padding:7px 10px;color:#312344;font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(45,30,75,.04)}
.infosdf-agenda-category img{width:28px;height:28px;border-radius:8px}
.infosdf-agenda-category b{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:#f0eafd;color:#6c35ba;font-size:11px}
.infosdf-agenda-category.is-active{border-color:#7c2bd2;background:#f7f0ff;box-shadow:0 0 0 2px rgba(124,43,210,.10)}
.infosdf-agenda-category.is-active b{background:linear-gradient(135deg,#7c2bd2,#ef2f78);color:#fff}
.infosdf-seven-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.infosdf-seven-day{background:#fff;border:1px solid #e9e4ef;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px rgba(45,30,75,.05);min-height:120px}
.infosdf-seven-day>header{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:11px 12px;background:#faf8fd;color:#462964;text-transform:capitalize}
.infosdf-seven-day>header b{font-size:10px;color:#ef2f78}
.infosdf-seven-day.is-today{border:2px solid #ef2f78}.infosdf-seven-day.is-today>header{background:#fff0f6}
.infosdf-seven-event{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-top:1px solid #f1edf5;text-decoration:none!important;color:#282035!important}
.infosdf-seven-event:hover{background:#fcfaff}.infosdf-seven-event strong{display:block;font-size:14px;line-height:1.25}.infosdf-seven-event small{display:block;margin-top:2px;color:#776d82}
.infosdf-seven-type-dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#7c2bd2,#ef2f78);margin-top:5px;flex:0 0 auto}
@media(max-width:950px){.infosdf-seven-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.infosdf-seven-grid{grid-template-columns:1fr}.infosdf-agenda-category-list{display:grid;grid-template-columns:1fr 1fr}.infosdf-agenda-category{justify-content:flex-start}.infosdf-agenda-category b{margin-left:auto}}

/* InfoSDF 3.26 — agenda compact */
.infosdf-agenda-categories-compact{padding:14px 16px}
.infosdf-agenda-categories-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.infosdf-agenda-toggle-categories{border:1px solid #e5def0;background:#fff;color:#6b2fc0;border-radius:999px;padding:7px 11px;font-weight:850;cursor:pointer}
.infosdf-agenda-category.is-extra{display:none}
.infosdf-calendar.show-all-categories .infosdf-agenda-category.is-extra{display:inline-flex}
.infosdf-agenda-category{padding:6px 9px}
.infosdf-agenda-category img{width:26px;height:26px}
.infosdf-agenda-search{margin-top:14px}
.infosdf-agenda-layout .infosdf-module-search,
.infosdf-agenda-sidebar .infosdf-module-search{display:none!important}
@media(max-width:980px){
 .infosdf-agenda-categories-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
 .infosdf-agenda-category-list{display:grid;grid-template-columns:1fr 1fr}
 .infosdf-agenda-category{width:100%;justify-content:flex-start}
 .infosdf-agenda-toggle-categories{width:100%}
}

/* InfoSDF 3.29 — événements récurrents */
.infosdf-recurring-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#efe7ff;color:#6d28d9;font-size:11px;font-weight:900;margin-left:4px}

/* InfoSDF 3.30 — infobulles calendrier */
.infosdf-cal-popover,
.infosdf-calendar .infosdf-popover,
.infosdf-calendar [class*="popover"],
.infosdf-calendar [class*="tooltip"]{
    background:#ffffff!important;
    color:#2f2341!important;
    border:1px solid #e6ddf2!important;
    border-top:3px solid #7c3aed!important;
    border-radius:16px!important;
    box-shadow:0 16px 40px rgba(55,35,85,.16)!important;
    padding:14px 16px!important;
}

.infosdf-cal-popover strong,
.infosdf-calendar .infosdf-popover strong,
.infosdf-calendar [class*="popover"] strong,
.infosdf-calendar [class*="tooltip"] strong{
    color:#2f2341!important;
    font-size:15px!important;
    line-height:1.35!important;
}

.infosdf-cal-popover small,
.infosdf-calendar .infosdf-popover small,
.infosdf-calendar [class*="popover"] small,
.infosdf-calendar [class*="tooltip"] small{
    color:#71657f!important;
}

.infosdf-cal-popover a,
.infosdf-calendar .infosdf-popover a,
.infosdf-calendar [class*="popover"] a,
.infosdf-calendar [class*="tooltip"] a{
    color:#6d28d9!important;
    text-decoration:none!important;
}

.infosdf-cal-popover:before,
.infosdf-cal-popover:after,
.infosdf-calendar .infosdf-popover:before,
.infosdf-calendar .infosdf-popover:after{
    border-bottom-color:#ffffff!important;
    border-top-color:#ffffff!important;
}

.infosdf-cal-popover .infosdf-recurring-badge,
.infosdf-calendar [class*="popover"] .infosdf-recurring-badge{
    background:#f2eaff!important;
    color:#6d28d9!important;
}

.infosdf-calendar .infosdf-event-location,
.infosdf-calendar .infosdf-event-date{
    color:#6e637a!important;
}

/* InfoSDF 3.37 — couleurs par type d’événement */
.infosdf-cal-popover,
.infosdf-calendar .infosdf-popover,
.infosdf-calendar [class*="popover"],
.infosdf-calendar [class*="tooltip"]{
    --event-color:#7c3aed;
    border:1px solid color-mix(in srgb,var(--event-color) 28%,#ffffff)!important;
    border-top:4px solid var(--event-color)!important;
    background:#fff!important;
    color:#2f2341!important;
}

.infosdf-cal-popover strong,
.infosdf-calendar .infosdf-popover strong,
.infosdf-calendar [class*="popover"] strong,
.infosdf-calendar [class*="tooltip"] strong{
    color:var(--event-color)!important;
}

.infosdf-cal-popover:after,
.infosdf-calendar .infosdf-popover:after{
    border-top-color:#fff!important;
    border-bottom-color:#fff!important;
}

.infosdf-cal-count{
    --event-color:#7c3aed;
    background:var(--event-color)!important;
    color:#fff!important;
    box-shadow:0 8px 18px color-mix(in srgb,var(--event-color) 32%,transparent)!important;
    border:2px solid #fff!important;
}

.infosdf-calendar .infosdf-event-item,
.infosdf-calendar .infosdf-list-event{
    border-left:4px solid var(--event-color,#7c3aed)!important;
}

.infosdf-calendar .infosdf-event-item a,
.infosdf-calendar .infosdf-list-event a{
    color:var(--event-color,#7c3aed)!important;
    font-weight:850!important;
}

.infosdf-calendar [data-cal-body] a[style*="--event-color"]{
    color:var(--event-color)!important;
    font-weight:850!important;
}

/* Accent de couleur sur les cartes latérales d’événements */
.infosdf-widget-prochains a,
.infosdf-widget-aujourdhui a{
    position:relative;
}
.infosdf-widget-prochains a[style*="--event-color"],
.infosdf-widget-aujourdhui a[style*="--event-color"]{
    color:var(--event-color)!important;
}

/* Fallback pour navigateurs sans color-mix */
@supports not (color:color-mix(in srgb, red 50%, white)){
    .infosdf-cal-popover,
    .infosdf-calendar .infosdf-popover,
    .infosdf-calendar [class*="popover"],
    .infosdf-calendar [class*="tooltip"]{
        border-color:#e5def0!important;
        border-top-color:var(--event-color)!important;
    }
}

/* InfoSDF 3.39 — infobulle native restaurée, une seule carte */
.infosdf-calendar .infosdf-cal-popover{
 display:none!important;
 position:absolute!important;
 z-index:9999!important;
 width:300px!important;
 background:#fff!important;
 border:1px solid color-mix(in srgb,var(--event-color,#7c3aed) 25%,#fff)!important;
 border-top:4px solid var(--event-color,#7c3aed)!important;
 border-radius:16px!important;
 box-shadow:0 18px 40px rgba(45,30,70,.16)!important;
 padding:10px!important;
 color:#2f2341!important;
}
.infosdf-calendar .infosdf-cal-bubble-wrap:hover>.infosdf-cal-popover,
.infosdf-calendar .infosdf-cal-bubble-wrap:focus-within>.infosdf-cal-popover{
 display:block!important;
}
.infosdf-calendar .infosdf-cal-popover>a{
 display:block!important;
 padding:10px!important;
 margin:0!important;
 border-radius:12px!important;
 text-decoration:none!important;
 background:#fff!important;
 color:#2f2341!important;
}
.infosdf-calendar .infosdf-cal-popover>a+a{border-top:1px solid #eee8f3!important}
.infosdf-calendar .infosdf-cal-tooltip{
 display:grid!important;
 gap:4px!important;
 background:transparent!important;
 border:0!important;
 box-shadow:none!important;
 padding:0!important;
 color:#2f2341!important;
}
.infosdf-calendar .infosdf-cal-tooltip strong{
 color:var(--event-color,#7c3aed)!important;
 font-size:14px!important;
 line-height:1.35!important;
}
.infosdf-calendar .infosdf-cal-tooltip span{color:#6d6377!important;font-size:12px!important}
.infosdf-calendar .infosdf-cal-bubble{
 background:var(--event-color,#7c3aed)!important;
 color:#fff!important;
 border-color:#fff!important;
}

/* InfoSDF 3.40 — infobulle teintée selon le type d’événement */
.infosdf-calendar .infosdf-cal-popover{
    background:color-mix(in srgb,var(--event-color,#7c3aed) 8%,#ffffff)!important;
    border:1px solid color-mix(in srgb,var(--event-color,#7c3aed) 35%,#ffffff)!important;
    border-top:5px solid var(--event-color,#7c3aed)!important;
}
.infosdf-calendar .infosdf-cal-popover>a{
    background:color-mix(in srgb,var(--event-color,#7c3aed) 4%,#ffffff)!important;
}
.infosdf-calendar .infosdf-cal-popover>a:hover{
    background:color-mix(in srgb,var(--event-color,#7c3aed) 12%,#ffffff)!important;
}
.infosdf-calendar .infosdf-cal-tooltip strong{
    color:var(--event-color,#7c3aed)!important;
}
.infosdf-calendar .infosdf-cal-tooltip span{
    color:#5f556b!important;
}
@supports not (background:color-mix(in srgb, red 10%, white)){
    .infosdf-calendar .infosdf-cal-popover{background:#f7f3fb!important}
    .infosdf-calendar .infosdf-cal-popover>a{background:#fff!important}
}

/* InfoSDF 3.41 — couleur des prochains événements / aujourd’hui */
.infosdf-event-sidebar-card{
    border-left:4px solid var(--event-color,#7c3aed)!important;
}
.infosdf-event-sidebar-card h3 a{
    color:var(--event-color,#7c3aed)!important;
    font-weight:900!important;
}
.infosdf-event-sidebar-card h3 a:hover{
    text-decoration:underline!important;
}
.infosdf-widget-prochains .infosdf-event-sidebar-card,
.infosdf-widget-aujourdhui .infosdf-event-sidebar-card{
    border-left-color:var(--event-color,#7c3aed)!important;
}

/* InfoSDF 3.42 — infobulle visible + couleurs des catégories */

/* Les catégories reprennent leur couleur propre */
.infosdf-agenda-category{
    --cat-color:#7c3aed;
    border:1px solid color-mix(in srgb,var(--cat-color) 28%,#ffffff)!important;
    background:color-mix(in srgb,var(--cat-color) 7%,#ffffff)!important;
    color:#2f2341!important;
}
.infosdf-agenda-category:hover{
    background:color-mix(in srgb,var(--cat-color) 14%,#ffffff)!important;
    border-color:var(--cat-color)!important;
}
.infosdf-agenda-category.is-active{
    background:color-mix(in srgb,var(--cat-color) 16%,#ffffff)!important;
    border:2px solid var(--cat-color)!important;
    box-shadow:0 6px 16px color-mix(in srgb,var(--cat-color) 18%,transparent)!important;
}
.infosdf-agenda-category b{
    background:color-mix(in srgb,var(--cat-color) 14%,#ffffff)!important;
    color:var(--cat-color)!important;
}
.infosdf-agenda-category.is-active b{
    background:var(--cat-color)!important;
    color:#fff!important;
}

/* L’infobulle native doit afficher son contenu, sans héritage caché */
.infosdf-calendar .infosdf-cal-popover{
    display:none!important;
    visibility:visible!important;
    opacity:1!important;
    overflow:visible!important;
    min-height:0!important;
    height:auto!important;
    background:color-mix(in srgb,var(--event-color,#7c3aed) 9%,#ffffff)!important;
}
.infosdf-calendar .infosdf-cal-bubble-wrap:hover>.infosdf-cal-popover,
.infosdf-calendar .infosdf-cal-bubble-wrap:focus-within>.infosdf-cal-popover{
    display:block!important;
}
.infosdf-calendar .infosdf-cal-popover>a{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#2f2341!important;
    background:transparent!important;
}
.infosdf-calendar .infosdf-cal-tooltip{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    gap:5px!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
.infosdf-calendar .infosdf-cal-tooltip-title{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:var(--event-color,#7c3aed)!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1.35!important;
}
.infosdf-calendar .infosdf-cal-tooltip-date,
.infosdf-calendar .infosdf-cal-tooltip-place{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#62586d!important;
    font-size:12px!important;
}
.infosdf-calendar .infosdf-cal-tooltip-types{
    display:inline-block!important;
    width:max-content!important;
    max-width:100%!important;
    margin-top:3px!important;
    padding:4px 7px!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--event-color,#7c3aed) 12%,#ffffff)!important;
    color:var(--event-color,#7c3aed)!important;
    font-size:10px!important;
    font-weight:850!important;
}

/* InfoSDF 3.43 — correction réelle infobulle + prochains événements */

/* PROCHAINS ÉVÉNEMENTS / AUJOURD'HUI : vraie structure compact_events() */
.infosdf-widget-events .infosdf-compact-event{
    --event-color:#7c3aed;
    position:relative;
    padding-left:12px!important;
    border-left:4px solid var(--event-color)!important;
}
.infosdf-widget-events .infosdf-compact-event>a{
    text-decoration:none!important;
}
.infosdf-widget-events .infosdf-compact-event>a>strong{
    display:block!important;
    color:var(--event-color)!important;
    font-weight:900!important;
}
.infosdf-widget-events .infosdf-compact-event>a>span{
    display:block!important;
    color:#6e6675!important;
}
.infosdf-widget-events .infosdf-compact-event:hover{
    background:color-mix(in srgb,var(--event-color) 6%,#ffffff)!important;
}

/* INFOBULLE NATIVE : un seul conteneur, contenu explicitement visible */
.infosdf-calendar .infosdf-cal-bubble-wrap{
    position:relative!important;
}
.infosdf-calendar .infosdf-cal-popover{
    display:none!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    left:0!important;
    bottom:calc(100% + 10px)!important;
    z-index:99999!important;
    width:310px!important;
    height:auto!important;
    min-height:0!important;
    padding:10px!important;
    overflow:visible!important;
    background:color-mix(in srgb,var(--event-color,#7c3aed) 9%,#ffffff)!important;
    border:1px solid color-mix(in srgb,var(--event-color,#7c3aed) 35%,#ffffff)!important;
    border-top:5px solid var(--event-color,#7c3aed)!important;
    border-radius:17px!important;
    box-shadow:0 18px 42px rgba(45,30,70,.18)!important;
}
.infosdf-calendar .infosdf-cal-bubble-wrap:hover > .infosdf-cal-popover,
.infosdf-calendar .infosdf-cal-bubble-wrap:focus-within > .infosdf-cal-popover{
    display:block!important;
}

/* Plus spécifique que les anciens sélecteurs génériques */
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    gap:5px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
}
.infosdf-calendar .infosdf-cal-popover > a{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    padding:10px!important;
    margin:0!important;
    text-decoration:none!important;
    background:transparent!important;
    border-radius:12px!important;
}
.infosdf-calendar .infosdf-cal-popover > a + a{
    border-top:1px solid color-mix(in srgb,var(--event-color,#7c3aed) 15%,#ffffff)!important;
}
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip-title,
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip strong{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:var(--event-color,#7c3aed)!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1.35!important;
}
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip-date,
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip-place,
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip span{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#5f5668!important;
    font-size:12px!important;
    line-height:1.4!important;
}
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip-types{
    display:inline-block!important;
    width:max-content!important;
    max-width:100%!important;
    padding:4px 7px!important;
    margin-top:2px!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--event-color,#7c3aed) 12%,#ffffff)!important;
    color:var(--event-color,#7c3aed)!important;
    font-size:10px!important;
    font-weight:850!important;
}

/* Pastille calendrier même couleur */
.infosdf-calendar .infosdf-cal-bubble{
    background:var(--event-color,#7c3aed)!important;
    color:#fff!important;
}

/* InfoSDF 3.44 — redesign visuel uniquement de l'infobulle fonctionnelle */

/* Carte extérieure : compacte et cohérente avec InfoSDF */
.infosdf-calendar .infosdf-cal-popover{
    width:300px!important;
    padding:0!important;
    background:color-mix(in srgb,var(--event-color,#7c3aed) 6%,#fff)!important;
    border:1px solid color-mix(in srgb,var(--event-color,#7c3aed) 28%,#fff)!important;
    border-top:4px solid var(--event-color,#7c3aed)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 18px 38px rgba(48,32,69,.17)!important;
}

/* Un événement = un bloc, sans effet "cartes empilées" */
.infosdf-calendar .infosdf-cal-popover>a{
    display:block!important;
    margin:0!important;
    padding:16px 17px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-decoration:none!important;
}
.infosdf-calendar .infosdf-cal-popover>a+a{
    border-top:1px solid color-mix(in srgb,var(--event-color,#7c3aed) 15%,#fff)!important;
}

/* Le contenu interne devient une mise en page simple */
.infosdf-calendar .infosdf-cal-tooltip{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}

/* Titre */
.infosdf-calendar .infosdf-cal-tooltip-title{
    margin:0 0 3px!important;
    padding:0!important;
    color:var(--event-color,#7c3aed)!important;
    font-size:15px!important;
    line-height:1.32!important;
    font-weight:900!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

/* Date et lieu : lignes sobres */
.infosdf-calendar .infosdf-cal-tooltip-date,
.infosdf-calendar .infosdf-cal-tooltip-place{
    display:block!important;
    margin:0!important;
    padding:0!important;
    color:#61586a!important;
    font-size:12px!important;
    line-height:1.45!important;
    font-weight:600!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}

/* Types : petite pastille, plus de grande boîte */
.infosdf-calendar .infosdf-cal-tooltip-types{
    display:inline-flex!important;
    align-self:flex-start!important;
    width:auto!important;
    max-width:100%!important;
    margin:3px 0 0!important;
    padding:5px 9px!important;
    color:var(--event-color,#7c3aed)!important;
    background:color-mix(in srgb,var(--event-color,#7c3aed) 10%,#fff)!important;
    border:1px solid color-mix(in srgb,var(--event-color,#7c3aed) 20%,#fff)!important;
    border-radius:999px!important;
    box-shadow:none!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:850!important;
}

/* Sécurité : neutralise les anciens cadres internes de l'infobulle uniquement */
.infosdf-calendar .infosdf-cal-popover .infosdf-cal-tooltip > *:not(.infosdf-cal-tooltip-types){
    box-shadow:none!important;
}


/* InfoSDF 3.51 — position définitive du compteur dans la vue Mois */
.infosdf-calendar .infosdf-month-grid .infosdf-month-day{
    position:relative!important;
}
.infosdf-calendar .infosdf-month-grid .infosdf-month-day > .infosdf-cal-bubble-wrap{
    position:absolute!important;
    right:8px!important;
    bottom:8px!important;
    left:auto!important;
    top:auto!important;
    margin:0!important;
    padding:0!important;
    width:34px!important;
    height:34px!important;
    display:block!important;
    transform:none!important;
    float:none!important;
    z-index:20!important;
}
.infosdf-calendar .infosdf-month-grid .infosdf-month-day > .infosdf-cal-bubble-wrap > .infosdf-cal-bubble{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    float:none!important;
}

/* L'infobulle reste ancrée au-dessus du rond sans déplacer le compteur */
.infosdf-calendar .infosdf-month-grid .infosdf-month-day > .infosdf-cal-bubble-wrap > .infosdf-cal-popover{
    right:0!important;
    bottom:44px!important;
    left:auto!important;
    top:auto!important;
}

/* InfoSDF 3.52 — événements sur plusieurs jours */
.infosdf-multiday-mark{
    font-style:normal!important;
    font-size:11px!important;
    opacity:.75!important;
}

/* InfoSDF 3.53 — widget Culture / Article 27 */
.infosdf-widget-a27-event a{display:grid!important;gap:3px!important}
.infosdf-widget-a27-event strong{color:var(--event-color,var(--infosdf-secondary));font-weight:900}
.infosdf-widget-a27-event small{display:block;color:#777;font-size:.78rem;line-height:1.35}

/* InfoSDF 3.63 — fiches associations */
.infosdf-association-card .infosdf-structure-logo-wrap{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    min-height:190px!important;
    margin:0 0 18px!important;
    padding:14px!important;
    background:#fff!important;
    border-radius:20px!important;
}
.infosdf-association-card .infosdf-structure-logo{
    width:auto!important;
    height:auto!important;
    max-width:320px!important;
    max-height:180px!important;
    object-fit:contain!important;
}
.infosdf-association-description,
.infosdf-association-useful{
    margin-top:18px!important;
}
.infosdf-association-description h2,
.infosdf-association-useful h2{
    margin:0 0 14px!important;
}
.infosdf-association-copy{
    font-size:15px!important;
    line-height:1.65!important;
}
.infosdf-association-copy p:last-child{margin-bottom:0!important}
.infosdf-association-map{
    width:100%!important;
    height:360px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#f5f2f8!important;
}
.infosdf-association-map-address{
    margin:10px 2px 0!important;
    color:#6d6377!important;
}
.infosdf-assoc-marker-shell{
    background:transparent!important;
    border:0!important;
}
.infosdf-assoc-marker{
    --marker:#ec2f77;
    position:relative;
    display:block;
    width:30px;
    height:30px;
    background:var(--marker);
    border:4px solid #fff;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    box-shadow:0 5px 15px rgba(0,0,0,.28);
}
.infosdf-assoc-marker:after{
    content:"";
    position:absolute;
    width:9px;height:9px;
    background:#fff;
    border-radius:50%;
    left:6px;top:6px;
}
.infosdf-assoc-map-missing{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    text-align:center;
    color:#6d6377;
    font-weight:800;
}

/* InfoSDF 3.64 */
.infosdf-association-info-list{display:grid;gap:14px}
.infosdf-association-info-item{padding:14px 0;border-top:1px solid #eee8f3}
.infosdf-association-info-item:first-child{border-top:0;padding-top:0}
.infosdf-association-info-item strong{display:block;margin-bottom:5px;color:#312342}
.infosdf-general-marker-shell{background:transparent!important;border:0!important}
.infosdf-general-marker{--marker:#64748b;position:relative;display:block;width:30px;height:30px;background:var(--marker);border:4px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 5px 15px rgba(0,0,0,.28)}
.infosdf-general-marker:after{content:"";position:absolute;width:9px;height:9px;background:#fff;border-radius:50%;left:6px;top:6px}
.infosdf-map-popup strong{color:var(--marker,#5b32d6)!important}
.infosdf-map-popup a{background:var(--marker,#6c3cf0)!important}

/* InfoSDF 3.65 — correction fiche association */
body.single-infosdf_structure .infosdf-association-card .infosdf-structure-logo-wrap{
    min-height:260px!important;
    padding:18px!important;
}
body.single-infosdf_structure .infosdf-association-card .infosdf-structure-logo-wrap img.infosdf-structure-logo{
    display:block!important;
    width:360px!important;
    height:220px!important;
    max-width:100%!important;
    max-height:220px!important;
    object-fit:contain!important;
    padding:6px!important;
}
.infosdf-association-useful{
    margin-top:18px!important;
    border-top:3px solid #ff8a25!important;
}
.infosdf-association-info-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
}
.infosdf-association-info-item{
    padding:4px 18px!important;
    border-top:0!important;
    border-left:1px solid #eee8f3!important;
}
.infosdf-association-info-item:first-child{
    border-left:0!important;
}
@media(max-width:850px){
    .infosdf-association-info-list{
        grid-template-columns:1fr!important;
    }
    .infosdf-association-info-item{
        border-left:0!important;
        border-top:1px solid #eee8f3!important;
        padding:14px 0!important;
    }
    .infosdf-association-info-item:first-child{
        border-top:0!important;
    }
}

/* InfoSDF 3.66 — fiche association : un seul titre, couleur de catégorie */
body.single-infosdf_structure .infosdf-association-card > h2{
    display:none!important;
}
body.single-infosdf_structure .entry-title,
body.single-infosdf_structure .wp-block-post-title{
    color:var(--infosdf-page-category-color,inherit);
}
body.single-infosdf_structure .infosdf-association-card{
    border-top:3px solid var(--infosdf-category-color,#ec2f77)!important;
}
body.single-infosdf_structure .infosdf-association-card .infosdf-cpas-row strong{
    color:var(--infosdf-category-color,#ec2f77)!important;
}


/* InfoSDF 4.40 — couleurs Agenda Solidaire forcées visuellement */
.infosdf-agenda-category{
    border-left:5px solid var(--cat-color,#7c3aed)!important;
}
.infosdf-agenda-category .infosdf-agenda-cat-icon{
    color:var(--cat-color,#7c3aed)!important;
}
.infosdf-agenda-category.is-active{
    border-color:var(--cat-color,#7c3aed)!important;
}
.infosdf-calendar .infosdf-cal-bubble{
    background:var(--event-color,#7c3aed)!important;
}
.infosdf-calendar .infosdf-cal-tooltip{
    border-left:5px solid var(--event-color,#7c3aed)!important;
    padding-left:9px!important;
}
.infosdf-calendar .infosdf-cal-tooltip-title{
    color:var(--event-color,#7c3aed)!important;
}
.infosdf-calendar .infosdf-list-event,
.infosdf-calendar .infosdf-event-item{
    border-left:6px solid var(--event-color,#7c3aed)!important;
}


/* InfoSDF 4.41 — une couleur réellement indépendante par catégorie */
.infosdf-agenda-category{
    border:2px solid var(--cat-color,#7c3aed)!important;
    color:var(--cat-color,#7c3aed)!important;
    background:#fff!important;
}
.infosdf-agenda-category span{
    color:var(--cat-color,#7c3aed)!important;
}
.infosdf-agenda-category b{
    background:var(--cat-color,#7c3aed)!important;
    color:#fff!important;
}
.infosdf-agenda-category:hover,
.infosdf-agenda-category.is-active{
    background:color-mix(in srgb,var(--cat-color,#7c3aed) 12%,#fff)!important;
}

/* InfoSDF 4.44 — sécurisation vue mois + couleurs vues 7 jours/liste */
.infosdf-seven-event{position:relative;border-left:5px solid var(--event-color,#7c3aed)!important}
.infosdf-seven-colorbar{display:block;width:5px;align-self:stretch;border-radius:4px}
.infosdf-list-event{border-left:5px solid var(--event-color,#7c3aed)!important}


/* InfoSDF 4.46 — véritable tableau de bord membre */
.infosdf-member-dashboard{margin:0 0 24px}
.infosdf-member-welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px;border-radius:20px;background:linear-gradient(135deg,#fff7fc,#f8f5fb);border:1px solid #eadfea}
.infosdf-member-welcome h2{margin:4px 0 6px;font-size:28px}.infosdf-member-welcome p{margin:0;color:#675d6c}
.infosdf-member-account-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.infosdf-member-mini-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid #dfd5e3;text-decoration:none!important;font-weight:800;color:#493a50!important}
.infosdf-member-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.infosdf-member-stat{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center;padding:14px;background:#fff;border:1px solid #e8e0e9;border-radius:14px}
.infosdf-member-stat>span{grid-row:1/3;font-size:23px}.infosdf-member-stat strong{font-size:22px;line-height:1}.infosdf-member-stat small{color:#6e6374;font-weight:700}
.infosdf-member-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.infosdf-member-actions.has-controller{grid-template-columns:repeat(4,minmax(0,1fr))}
.infosdf-member-main-action{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;padding:20px;border-radius:16px;text-decoration:none!important;border:2px solid #ece4ed;background:#fff;color:#302238!important;box-shadow:0 8px 22px rgba(50,35,60,.06)}
.infosdf-member-main-action>span{grid-row:1/3;font-size:30px}.infosdf-member-main-action strong{font-size:17px}.infosdf-member-main-action small{color:#6e6374}
.infosdf-member-action-assoc{border-left:6px solid #0d9488}.infosdf-member-action-event{border-left:6px solid #A81477}.infosdf-member-action-urgent{border-left:6px solid #dc2626}.infosdf-member-action-control{border-left:6px solid #7c3aed;background:linear-gradient(145deg,#fff,#faf5ff)}.infosdf-member-action-control span{background:#f3e8ff!important}.infosdf-member-action-control strong{color:#6d28d9}
.infosdf-member-main-action:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(50,35,60,.1)}
.infosdf-member-pending-note{padding:13px 16px;border-radius:12px;background:#fff8e8;border-left:5px solid #f59e0b;color:#594612}
.infosdf-member-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.infosdf-member-section-title>span{font-size:28px}.infosdf-member-section-title h3{margin:0 0 3px}.infosdf-member-section-title p{margin:0;color:#706676}
.infosdf-member-profile-card,.infosdf-contribution-form{scroll-margin-top:30px}
.infosdf-member-logout{text-align:right}
@media(max-width:1050px){.infosdf-member-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.infosdf-member-welcome{display:block}.infosdf-member-account-actions{justify-content:flex-start;margin-top:15px}.infosdf-member-actions{grid-template-columns:1fr}.infosdf-member-stats{grid-template-columns:repeat(2,1fr)}}


/* InfoSDF 4.63 — couleur unique de la catégorie principale sur l'annuaire */
.infosdf-result-card{
    --infosdf-card-color:#64748b;
    border-left:6px solid var(--infosdf-card-color)!important;
    border-top:1px solid color-mix(in srgb,var(--infosdf-card-color) 28%,#fff)!important;
}
.infosdf-result-card h3,
.infosdf-result-card h3 a{
    color:var(--infosdf-card-color)!important;
}
.infosdf-result-card .infosdf-result-type{
    background:color-mix(in srgb,var(--infosdf-card-color) 15%,#fff)!important;
    color:var(--infosdf-card-color)!important;
    border:1px solid color-mix(in srgb,var(--infosdf-card-color) 35%,#fff)!important;
}
.infosdf-result-card .infosdf-card-btn{
    background:var(--infosdf-card-color)!important;
    color:#fff!important;
}
.infosdf-service.infosdf-service-visual .infosdf-service-label{
    color:var(--infosdf-service-color,#64748b)!important;
}
.infosdf-service.infosdf-service-visual{
    border-left:5px solid var(--infosdf-service-color,#64748b)!important;
}

/* InfoSDF 4.65 — nombre de fiches dans les moteurs par catégorie */
.infosdf-category-count{
 display:inline-flex;align-items:center;justify-content:center;
 min-width:25px;height:25px;padding:0 7px;margin-left:8px;
 border-radius:999px;background:var(--infosdf-service-color,#64748b);
 color:#fff!important;font-size:12px;font-weight:900;line-height:1;
 vertical-align:middle;
}


/* InfoSDF 4.66 — pictogrammes + compteurs par catégorie */
.infosdf-service-visual-wrap{
    position:relative!important;
    color:var(--infosdf-service-color,#64748b)!important;
}
.infosdf-service-visual-wrap img{
    color:var(--infosdf-service-color,#64748b)!important;
}
.infosdf-service-count{
    position:absolute!important;
    right:-8px!important;
    top:-8px!important;
    min-width:28px!important;
    height:28px!important;
    padding:0 7px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:var(--infosdf-service-color,#64748b)!important;
    color:#fff!important;
    border:3px solid #fff!important;
    box-shadow:0 4px 10px rgba(0,0,0,.14)!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
}
.infosdf-service-fallback-icon{
    width:58px!important;
    height:58px!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:3px solid var(--infosdf-service-color,#64748b)!important;
    color:var(--infosdf-service-color,#64748b)!important;
    font-size:24px!important;
    font-weight:900!important;
}


/* InfoSDF 4.67 — pictogrammes illustrés cohérents */
.infosdf-service-visual-wrap img{
    width:64px!important;
    height:64px!important;
    object-fit:cover!important;
    border-radius:10px!important;
    display:block!important;
}
.infosdf-service[data-service="femmes"] .infosdf-service-visual-wrap img,
.infosdf-service[data-service="fontaines"] .infosdf-service-visual-wrap img,
.infosdf-service[data-service="mineurs-jeunes"] .infosdf-service-visual-wrap img,
.infosdf-service[data-service="travailleurs-du-sexe"] .infosdf-service-visual-wrap img{
    box-shadow:0 5px 12px color-mix(in srgb,var(--infosdf-service-color) 18%,transparent)!important;
}


/* InfoSDF 4.69 — baromètre accueil */
.infosdf-home-stats{
    margin:26px 0 32px;
}
.infosdf-home-stats-head{
    margin-bottom:16px;
}
.infosdf-home-stats-head>span{
    color:#A81477;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
}
.infosdf-home-stats-head h2{
    margin:4px 0 5px;
    font-size:clamp(25px,3vw,38px);
    line-height:1.05;
}
.infosdf-home-stats-head p{
    margin:0;
    color:#667085;
}
.infosdf-home-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.infosdf-home-stat{
    --stats-color:#A81477;
    position:relative;
    display:grid;
    grid-template-columns:52px 1fr 34px;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:12px;
    min-height:112px;
    padding:18px;
    border:1px solid #e7e1ee;
    border-bottom:5px solid var(--stats-color);
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 28px rgba(35,23,55,.07);
    text-decoration:none!important;
}
.infosdf-home-stat:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(35,23,55,.11);
}
.infosdf-home-stat-icon{
    grid-row:1/3;
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    background:color-mix(in srgb,var(--stats-color) 12%,#fff);
    font-size:25px;
}
.infosdf-home-stat-value{
    color:var(--stats-color);
    font-size:30px;
    line-height:1;
    font-weight:950;
}
.infosdf-home-stat-label{
    color:#1f2937;
    font-size:14px;
    font-weight:850;
    margin-top:5px;
}
.infosdf-home-stat-arrow{
    grid-column:3;
    grid-row:1/3;
    width:32px;
    height:32px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--stats-color);
    color:#fff;
    font-weight:900;
}
@media(max-width:900px){
    .infosdf-home-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
    .infosdf-home-stats-grid{grid-template-columns:1fr}
}


/* InfoSDF 4.70 — visibilité du baromètre dans Divi */
.infosdf-home-stats{
    display:block!important;
    width:100%!important;
    clear:both!important;
    position:relative!important;
    z-index:2!important;
}
.et_pb_module .infosdf-home-stats,
.et_pb_code_inner .infosdf-home-stats,
.et_pb_text_inner .infosdf-home-stats{
    max-width:100%!important;
}


/* InfoSDF 4.71 — baromètre accueil compact */
.infosdf-home-stats-compact{
    margin:10px 0 18px!important;
}
.infosdf-home-stats-compact .infosdf-home-stats-head{
    margin:0 0 8px!important;
}
.infosdf-home-stats-compact .infosdf-home-stats-head h2{
    margin:0!important;
    font-size:20px!important;
}
.infosdf-home-stats-strip{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    background:#fff!important;
    border:1px solid #e8e2ed!important;
    border-radius:16px!important;
    box-shadow:0 8px 22px rgba(35,23,55,.055)!important;
    overflow:hidden!important;
}
.infosdf-home-stat-item{
    --stats-color:#A81477;
    min-width:0!important;
    min-height:76px!important;
    display:grid!important;
    grid-template-columns:38px auto!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    column-gap:10px!important;
    padding:12px 16px!important;
    position:relative!important;
    text-decoration:none!important;
    background:#fff!important;
    border:0!important;
    border-right:1px solid #eee8f1!important;
    border-bottom:3px solid var(--stats-color)!important;
    box-shadow:none!important;
    border-radius:0!important;
    transform:none!important;
}
.infosdf-home-stat-item:last-child{
    border-right:0!important;
}
.infosdf-home-stat-item:hover{
    background:color-mix(in srgb,var(--stats-color) 4%,#fff)!important;
    transform:none!important;
    box-shadow:none!important;
}
.infosdf-home-stat-item .infosdf-home-stat-icon{
    grid-row:1/3!important;
    width:38px!important;
    height:38px!important;
    border-radius:11px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:color-mix(in srgb,var(--stats-color) 11%,#fff)!important;
    font-size:18px!important;
}
.infosdf-home-stat-item .infosdf-home-stat-value{
    color:var(--stats-color)!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:950!important;
}
.infosdf-home-stat-item .infosdf-home-stat-label{
    margin:3px 0 0!important;
    color:#26202c!important;
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:800!important;
}
.infosdf-home-stat-item .infosdf-home-stat-arrow{
    display:none!important;
}
@media(max-width:760px){
    .infosdf-home-stats-strip{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .infosdf-home-stat-item:nth-child(2){
        border-right:0!important;
    }
    .infosdf-home-stat-item:nth-child(-n+2){
        border-bottom:1px solid #eee8f1!important;
        box-shadow:inset 0 -3px 0 var(--stats-color)!important;
    }
}
@media(max-width:420px){
    .infosdf-home-stats-strip{
        grid-template-columns:1fr!important;
    }
    .infosdf-home-stat-item{
        border-right:0!important;
        border-bottom:1px solid #eee8f1!important;
        box-shadow:inset 0 -3px 0 var(--stats-color)!important;
    }
}


/* InfoSDF 4.73 — titres des cartes annuaire plus compacts */
.infosdf-card h2,
.infosdf-card h3,
.infosdf-structure-card h2,
.infosdf-structure-card h3,
.infosdf-results .infosdf-card-title,
.infosdf-card .infosdf-card-title,
.infosdf-structure-card .infosdf-card-title{
    font-size:22px!important;
    line-height:1.25!important;
    margin-top:0!important;
    margin-bottom:10px!important;
    overflow-wrap:anywhere;
}

@media(max-width:767px){
    .infosdf-card h2,
    .infosdf-card h3,
    .infosdf-structure-card h2,
    .infosdf-structure-card h3,
    .infosdf-results .infosdf-card-title,
    .infosdf-card .infosdf-card-title,
    .infosdf-structure-card .infosdf-card-title{
        font-size:19px!important;
        line-height:1.25!important;
    }
}


/* InfoSDF 4.74 — titre événement = couleur exacte de sa catégorie */
.infosdf-compact-event{
    border-left-color:var(--event-color,#7c3aed)!important;
}
.infosdf-compact-event strong,
.infosdf-compact-event a strong,
.infosdf-event-sidebar-card h3 a,
.infosdf-widget-a27-event strong,
.infosdf-seven-event strong,
.infosdf-list-event strong,
.infosdf-cal-tooltip-title{
    color:var(--event-color,#7c3aed)!important;
}
.infosdf-event-sidebar-card{
    border-left-color:var(--event-color,#7c3aed)!important;
}

/* InfoSDF v4.75 — carte automatique des catégories de l'annuaire */
.infosdf-category-map-block{margin:18px 0 28px;padding:18px;border:1px solid #e8e4f4;border-top:5px solid var(--infosdf-category-map-color,#6f3ce8);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(30,41,59,.07)}
.infosdf-category-map-head{margin-bottom:12px}.infosdf-category-map-head h2{margin:0 0 5px;color:var(--infosdf-category-map-color,#6f3ce8)!important;font-size:1.35rem}.infosdf-category-map-head p{margin:0;color:#5f6470}
.infosdf-category-map-block [data-map-open]{display:none!important}.infosdf-category-map-block .infosdf-map-wrap{margin:12px 0 0}.infosdf-category-map-block .infosdf-leaflet-map{min-height:420px}
@media(max-width:700px){.infosdf-category-map-block{padding:12px}.infosdf-category-map-block .infosdf-leaflet-map{min-height:340px;height:380px!important}}


/* InfoSDF 4.80 — profil membre : grade, lisibilité et espacement */
.infosdf-member-grade-badge{
 display:inline-flex;align-items:center;gap:7px;margin:8px 0 4px;padding:7px 12px;
 border-radius:999px;background:#17131a;color:#fff;font-size:13px;font-weight:700;
 border:1px solid #2d2730;box-shadow:0 4px 12px rgba(0,0,0,.07)
}
.infosdf-member-grade-badge strong{color:#fff;font-weight:900}.infosdf-member-grade-badge>span{font-size:15px}
.infosdf-member-grade-badge.grade-actif{background:#0f766e;border-color:#0f766e}
.infosdf-member-grade-badge.grade-confirme{background:#1d4ed8;border-color:#1d4ed8}
.infosdf-member-grade-badge.grade-expert{background:#A81477;border-color:#A81477}

/* Suppression du mauve sur les menus/actions de l'espace membre */
.infosdf-member-head{background:linear-gradient(135deg,#17131a,#A81477)!important}
.infosdf-member-card button,.infosdf-member-head button,
.infosdf409-create{
 background:#A81477!important;color:#fff!important;border:0!important
}
.infosdf-btn-secondary{background:#fff!important;color:#17131a!important;border:1px solid #d8d1d6!important}
.infosdf-member-action-control{border-left-color:#2563eb!important;background:#fff!important}
.infosdf-member-action-control span{background:#eff6ff!important}
.infosdf-member-action-control strong{color:#1d4ed8!important}
.infosdf-member-mini-btn:hover,.infosdf-member-main-action:hover{border-color:#cdbfc8!important}

/* Modules d'encodage : séparation plus nette */
.infosdf-member-profile-card,
.infosdf-contribution-form,
.infosdf-member-urgent-wrap,
.infosdf-member-area > .infosdf-member-card{
 margin-top:28px!important;margin-bottom:28px!important
}
.infosdf-contribution-form + .infosdf-contribution-form{margin-top:34px!important}
.infosdf-member-section-title{padding-bottom:14px;border-bottom:1px solid #eee6eb;margin-bottom:22px!important}
.infosdf-member-card{padding:26px!important}
.infosdf-form-grid{row-gap:14px!important}
.infosdf-member-card label{margin:14px 0!important}

/* Champs : meilleure lecture */
.infosdf-member-card input,.infosdf-member-card select,.infosdf-member-card textarea{
 border-color:#cfc7cc!important;background:#fff!important;color:#241d22!important
}
.infosdf-member-card input:focus,.infosdf-member-card select:focus,.infosdf-member-card textarea:focus{
 border-color:#A81477!important;box-shadow:0 0 0 3px rgba(168,20,119,.10)!important;outline:none!important
}


/* InfoSDF 4.81 — éditeur riche de l'espace membre : neutraliser les styles des boutons du profil */
.infosdf-member-card .wp-editor-wrap,
.infosdf-contribution-form .wp-editor-wrap,
.infosdf-member-area .wp-editor-wrap{
    margin-top:12px!important;
    margin-bottom:18px!important;
    border:1px solid #d7dce2!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(15,23,42,.05)!important;
}
.infosdf-member-card .wp-editor-container,
.infosdf-contribution-form .wp-editor-container,
.infosdf-member-area .wp-editor-container{
    border:0!important;
    background:#fff!important;
}
.infosdf-member-card .mce-toolbar-grp,
.infosdf-contribution-form .mce-toolbar-grp,
.infosdf-member-area .mce-toolbar-grp,
.infosdf-member-card .mce-top-part,
.infosdf-contribution-form .mce-top-part,
.infosdf-member-area .mce-top-part{
    background:#f7f8fa!important;
    border-color:#d7dce2!important;
    box-shadow:none!important;
}
.infosdf-member-card .mce-toolbar .mce-btn,
.infosdf-contribution-form .mce-toolbar .mce-btn,
.infosdf-member-area .mce-toolbar .mce-btn{
    background:#fff!important;
    border:1px solid transparent!important;
    border-radius:6px!important;
    box-shadow:none!important;
    margin:2px 1px!important;
}
.infosdf-member-card .mce-toolbar .mce-btn button,
.infosdf-contribution-form .mce-toolbar .mce-btn button,
.infosdf-member-area .mce-toolbar .mce-btn button,
.infosdf-member-card .mce-toolbar button,
.infosdf-contribution-form .mce-toolbar button,
.infosdf-member-area .mce-toolbar button{
    background:transparent!important;
    color:#27303b!important;
    border:0!important;
    box-shadow:none!important;
    min-height:28px!important;
    padding:3px 7px!important;
}
.infosdf-member-card .mce-toolbar .mce-ico,
.infosdf-contribution-form .mce-toolbar .mce-ico,
.infosdf-member-area .mce-toolbar .mce-ico{
    color:#27303b!important;
    text-shadow:none!important;
}
.infosdf-member-card .mce-toolbar .mce-txt,
.infosdf-contribution-form .mce-toolbar .mce-txt,
.infosdf-member-area .mce-toolbar .mce-txt{
    color:#27303b!important;
}
.infosdf-member-card .mce-toolbar .mce-btn:hover,
.infosdf-member-card .mce-toolbar .mce-btn:focus,
.infosdf-contribution-form .mce-toolbar .mce-btn:hover,
.infosdf-contribution-form .mce-toolbar .mce-btn:focus,
.infosdf-member-area .mce-toolbar .mce-btn:hover,
.infosdf-member-area .mce-toolbar .mce-btn:focus{
    background:#f1f3f5!important;
    border-color:#c9d0d8!important;
}
.infosdf-member-card .mce-toolbar .mce-btn.mce-active,
.infosdf-member-card .mce-toolbar .mce-btn.mce-active:hover,
.infosdf-contribution-form .mce-toolbar .mce-btn.mce-active,
.infosdf-member-area .mce-toolbar .mce-btn.mce-active{
    background:#f9eaf4!important;
    border-color:#A81477!important;
}
.infosdf-member-card .mce-toolbar .mce-btn.mce-active .mce-ico,
.infosdf-member-card .mce-toolbar .mce-btn.mce-active .mce-txt,
.infosdf-contribution-form .mce-toolbar .mce-btn.mce-active .mce-ico,
.infosdf-member-area .mce-toolbar .mce-btn.mce-active .mce-ico{
    color:#8d0f64!important;
}
.infosdf-member-card .mce-menubtn.mce-fixed-width,
.infosdf-contribution-form .mce-menubtn.mce-fixed-width,
.infosdf-member-area .mce-menubtn.mce-fixed-width{
    background:#fff!important;
    border:1px solid #cfd5dc!important;
    border-radius:7px!important;
}
.infosdf-member-card .mce-menubtn.mce-fixed-width button,
.infosdf-contribution-form .mce-menubtn.mce-fixed-width button,
.infosdf-member-area .mce-menubtn.mce-fixed-width button{
    color:#27303b!important;
}
.infosdf-member-card .mce-caret,
.infosdf-contribution-form .mce-caret,
.infosdf-member-area .mce-caret{
    border-top-color:#59636f!important;
}
.infosdf-member-card .wp-switch-editor,
.infosdf-contribution-form .wp-switch-editor,
.infosdf-member-area .wp-switch-editor{
    background:#f4f5f7!important;
    color:#27303b!important;
    border-color:#d2d7de!important;
}
.infosdf-member-card .html-active .switch-html,
.infosdf-member-card .tmce-active .switch-tmce,
.infosdf-contribution-form .html-active .switch-html,
.infosdf-contribution-form .tmce-active .switch-tmce,
.infosdf-member-area .html-active .switch-html,
.infosdf-member-area .tmce-active .switch-tmce{
    background:#fff!important;
    color:#8d0f64!important;
    border-bottom-color:#fff!important;
}
.infosdf-member-card .quicktags-toolbar,
.infosdf-contribution-form .quicktags-toolbar,
.infosdf-member-area .quicktags-toolbar{
    background:#f7f8fa!important;
    border-color:#d7dce2!important;
    padding:6px!important;
}
.infosdf-member-card .quicktags-toolbar input.button,
.infosdf-contribution-form .quicktags-toolbar input.button,
.infosdf-member-area .quicktags-toolbar input.button{
    background:#fff!important;
    color:#27303b!important;
    border:1px solid #cfd5dc!important;
    border-radius:6px!important;
    box-shadow:none!important;
}
/* Plus d'air autour des éditeurs et groupes de champs */
.infosdf-member-card .infosdf-rich-editor,
.infosdf-contribution-form .infosdf-rich-editor,
.infosdf-member-area .infosdf-rich-editor{
    margin-top:18px!important;
    margin-bottom:26px!important;
}


/* InfoSDF 4.89 — compteur de catégories séparé de l'image */
.infosdf-service.infosdf-service-visual{
 grid-template-columns:88px minmax(0,1fr) auto 30px!important;
}
.infosdf-service-count{display:none!important}
.infosdf-service-countbox{
 display:flex!important;flex-direction:column;align-items:center;justify-content:center;
 min-width:58px;min-height:52px;padding:6px 9px;border-radius:13px;
 background:color-mix(in srgb,var(--infosdf-service-color,#64748b) 10%,#fff);
 border:1px solid color-mix(in srgb,var(--infosdf-service-color,#64748b) 28%,#fff);
 color:var(--infosdf-service-color,#64748b)!important;line-height:1;
}
.infosdf-service-countbox strong{
 display:block;font-size:20px!important;font-weight:950!important;line-height:1!important;color:inherit!important;
}
.infosdf-service-countbox small{
 display:block;margin-top:4px;font-size:9.5px!important;font-weight:850!important;line-height:1!important;
 text-transform:uppercase;letter-spacing:.025em;color:#5f5961!important;
}
@media(max-width:760px){
 .infosdf-service.infosdf-service-visual{grid-template-columns:70px minmax(0,1fr) 54px 27px!important}
 .infosdf-service-countbox{min-width:50px;min-height:47px;padding:5px}
 .infosdf-service-countbox strong{font-size:18px!important}
}
@media(max-width:470px){
 .infosdf-service.infosdf-service-visual{grid-template-columns:72px minmax(0,1fr) 52px 26px!important}
}


/* InfoSDF 4.90 — correctifs compteurs et cartes catégories */

/* Barre Trouver une aide : 5 compteurs sur grand écran. */
.infosdf-home-stats-strip{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
@media(max-width:980px){
  .infosdf-home-stats-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .infosdf-home-stat-item{
    border-right:1px solid #eee8f1!important;
  }
}
@media(max-width:760px){
  .infosdf-home-stats-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:420px){
  .infosdf-home-stats-strip{
    grid-template-columns:1fr!important;
  }
}

/* Catégories : l'image et la flèche gardent leur place,
   le titre dispose de toute la largeur centrale. */
.infosdf-service.infosdf-service-visual{
  grid-template-columns:72px minmax(0,1fr) 34px!important;
  gap:12px!important;
  min-height:108px!important;
}
.infosdf-service-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:8px!important;
}
.infosdf-service-copy .infosdf-service-label{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.15!important;
}
.infosdf-service-copy .infosdf-service-countbox{
  min-width:0!important;
  min-height:0!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
}
.infosdf-service-copy .infosdf-service-countbox strong{
  font-size:16px!important;
  line-height:1!important;
}
.infosdf-service-copy .infosdf-service-countbox small{
  margin:0!important;
  font-size:9px!important;
  line-height:1!important;
}
.infosdf-service-visual-wrap{
  width:64px!important;
  height:64px!important;
}
.infosdf-service-visual-wrap img{
  width:64px!important;
  height:64px!important;
  object-fit:cover!important;
}
@media(max-width:760px){
  .infosdf-service.infosdf-service-visual{
    grid-template-columns:64px minmax(0,1fr) 30px!important;
    gap:10px!important;
  }
  .infosdf-service-visual-wrap,
  .infosdf-service-visual-wrap img{
    width:58px!important;
    height:58px!important;
  }
}


/* InfoSDF 4.91 — compteurs accueil : pictogramme puis nom lisible */
.infosdf-home-stats-strip{
  align-items:stretch!important;
}
.infosdf-home-stat-item{
  min-width:0!important;
  min-height:112px!important;
  padding:11px 7px 10px!important;
  display:grid!important;
  grid-template-columns:auto auto!important;
  grid-template-rows:auto minmax(32px,auto)!important;
  grid-template-areas:
    "icon value"
    "label label"!important;
  align-content:center!important;
  justify-content:center!important;
  column-gap:8px!important;
  row-gap:7px!important;
  text-align:center!important;
}
.infosdf-home-stat-icon{
  grid-area:icon!important;
  margin:0!important;
  align-self:center!important;
}
.infosdf-home-stat-value{
  grid-area:value!important;
  margin:0!important;
  align-self:center!important;
  font-size:22px!important;
  line-height:1!important;
}
.infosdf-home-stat-label{
  grid-area:label!important;
  width:100%!important;
  max-width:120px!important;
  margin:0 auto!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  line-height:1.12!important;
  font-size:11.5px!important;
  text-align:center!important;
}
@media(max-width:760px){
 .infosdf-home-stat-item{min-height:105px!important}
 .infosdf-home-stat-label{max-width:none!important}
}

/* Les quatre anciennes illustrations contiennent encore un compteur
   dessiné dans le fichier image. On masque proprement ce coin, puisque
   le vrai compteur est maintenant affiché sous le nom de catégorie. */
.infosdf-service[data-service="femmes"] .infosdf-service-visual-wrap::after,
.infosdf-service[data-service="fontaines"] .infosdf-service-visual-wrap::after,
.infosdf-service[data-service="mineurs-jeunes"] .infosdf-service-visual-wrap::after,
.infosdf-service[data-service="travailleurs-du-sexe"] .infosdf-service-visual-wrap::after{
 content:"";
 position:absolute;
 z-index:4;
 top:-1px;
 right:-1px;
 width:21px;
 height:21px;
 border-radius:0 10px 0 15px;
 pointer-events:none;
}
.infosdf-service[data-service="femmes"] .infosdf-service-visual-wrap::after{background:#efc3ed}
.infosdf-service[data-service="fontaines"] .infosdf-service-visual-wrap::after{background:#c9eafa}
.infosdf-service[data-service="mineurs-jeunes"] .infosdf-service-visual-wrap::after{background:#ead0f7}
.infosdf-service[data-service="travailleurs-du-sexe"] .infosdf-service-visual-wrap::after{background:#f34e91}


/* InfoSDF 4.92 — libellés des compteurs sous les pictogrammes */
.infosdf-home-stat-item{
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto auto!important;
  grid-template-areas:
    "icon"
    "value"
    "label"!important;
  justify-items:center!important;
  align-items:center!important;
  row-gap:4px!important;
  min-height:126px!important;
  padding:10px 6px 9px!important;
}
.infosdf-home-stat-icon{
  grid-area:icon!important;
  margin:0 0 2px!important;
}
.infosdf-home-stat-value{
  grid-area:value!important;
  font-size:23px!important;
  line-height:1!important;
  margin:0!important;
}
.infosdf-home-stat-label{
  grid-area:label!important;
  max-width:125px!important;
  min-height:28px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.08!important;
  font-size:11.5px!important;
  overflow:visible!important;
}
@media(max-width:760px){
  .infosdf-home-stat-item{min-height:118px!important}
  .infosdf-home-stat-label{max-width:100%!important}
}

/* Some historical service images had the old number baked into the top-right.
   Rather than masking the image, crop a few pixels from that edge so no trace remains. */
.infosdf-service[data-service="femmes"] .infosdf-service-visual-wrap,
.infosdf-service[data-service="fontaines"] .infosdf-service-visual-wrap,
.infosdf-service[data-service="mineurs-jeunes"] .infosdf-service-visual-wrap,
.infosdf-service[data-service="travailleurs-du-sexe"] .infosdf-service-visual-wrap{
  overflow:hidden!important;
}
.infosdf-service[data-service="femmes"] .infosdf-service-visual-wrap img,
.infosdf-service[data-service="fontaines"] .infosdf-service-visual-wrap img,
.infosdf-service[data-service="mineurs-jeunes"] .infosdf-service-visual-wrap img,
.infosdf-service[data-service="travailleurs-du-sexe"] .infosdf-service-visual-wrap img{
  width:72px!important;
  height:64px!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:left center!important;
  transform:translateX(0)!important;
}
/* Neutralize the old pseudo-mask from 4.91. */
.infosdf-service[data-service="femmes"] .infosdf-service-visual-wrap::after,
.infosdf-service[data-service="fontaines"] .infosdf-service-visual-wrap::after,
.infosdf-service[data-service="mineurs-jeunes"] .infosdf-service-visual-wrap::after,
.infosdf-service[data-service="travailleurs-du-sexe"] .infosdf-service-visual-wrap::after{
  display:none!important;
}


/* InfoSDF 4.93 — correction définitive des 5 compteurs accueil */
.infosdf-home-stat-item{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:132px!important;
  padding:10px 8px!important;
  text-align:center!important;
}
.infosdf-home-stat-item .infosdf-home-stat-icon,
.infosdf-home-stat-item .infosdf-home-stat-value,
.infosdf-home-stat-item .infosdf-home-stat-label{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  margin:0!important;
  float:none!important;
}
.infosdf-home-stat-item .infosdf-home-stat-icon{
  order:1!important;
  width:40px!important;
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 40px!important;
}
.infosdf-home-stat-item .infosdf-home-stat-value{
  order:2!important;
  display:block!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:950!important;
  min-height:24px!important;
}
.infosdf-home-stat-item .infosdf-home-stat-label{
  order:3!important;
  display:block!important;
  width:100%!important;
  max-width:130px!important;
  min-height:28px!important;
  font-size:11.5px!important;
  line-height:1.12!important;
  white-space:normal!important;
  text-align:center!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
@media(max-width:760px){
  .infosdf-home-stat-item{min-height:124px!important}
}

/* Les icônes nettoyées n'ont plus besoin d'aucun masque. */
.infosdf-service-visual-wrap::after{
  display:none!important;
}


/* InfoSDF 4.94 — le script marque les anciennes images contenant un compteur intégré.
   On affiche uniquement la partie utile de l'illustration. */
.infosdf-service-visual-wrap.infosdf-service-visual-crop{
  position:relative!important;
  overflow:hidden!important;
}
.infosdf-service-visual-wrap.infosdf-service-visual-crop img{
  width:82px!important;
  min-width:82px!important;
  max-width:none!important;
  height:64px!important;
  object-fit:cover!important;
  object-position:left center!important;
  transform:translateX(0)!important;
}
@media(max-width:760px){
  .infosdf-service-visual-wrap.infosdf-service-visual-crop img{
    width:76px!important;
    min-width:76px!important;
    height:58px!important;
  }
}


/* InfoSDF v5.15.45 — CAPTCHA du Mur : intégration compacte et cohérente */
.infosdf-wall-form form{
  grid-template-columns:minmax(170px,.62fr) minmax(300px,1.38fr) minmax(245px,285px);
  align-items:stretch;
}
.infosdf-wall-form .infosdf-human-check{
  margin:0!important;
  padding:13px 15px!important;
  border:1px solid #d8ccff!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#faf8ff 0%,#ffffff 100%)!important;
  box-shadow:0 5px 16px rgba(108,60,240,.07)!important;
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.infosdf-wall-form .infosdf-human-check > div:first-child{
  margin:0 0 10px!important;
  color:#5b32d6!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
.infosdf-wall-form .infosdf-human-check label{
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr 68px!important;
  gap:10px!important;
  align-items:center!important;
  color:#29213a!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:750!important;
}
.infosdf-wall-form .infosdf-human-check label strong{
  color:#4822be!important;
  font-size:16px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.infosdf-wall-form .infosdf-human-check input[type="number"]{
  width:68px!important;
  min-width:68px!important;
  max-width:68px!important;
  height:40px!important;
  margin:0!important;
  padding:5px 7px!important;
  text-align:center!important;
  border:1px solid #bba7f7!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#26134f!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.infosdf-wall-form .infosdf-human-check input[type="number"]:focus{
  outline:none!important;
  border-color:#6c3cf0!important;
  box-shadow:0 0 0 3px rgba(108,60,240,.12)!important;
}
.infosdf-wall-form .infosdf-turnstile-wrap{
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

/* Le bouton reste sous les champs, sans étirer le CAPTCHA. */
.infosdf-wall-form button{
  align-self:start;
  justify-self:start;
}

@media(max-width:980px){
  .infosdf-wall-form form{
    grid-template-columns:minmax(160px,.65fr) 1.35fr;
  }
  .infosdf-wall-form .infosdf-human-check{
    grid-column:1/-1;
    min-height:auto!important;
  }
  .infosdf-wall-form .infosdf-human-check label{
    grid-template-columns:auto 68px!important;
    justify-content:start!important;
  }
}
@media(max-width:780px){
  .infosdf-wall-form form{grid-template-columns:1fr!important}
  .infosdf-wall-form .infosdf-human-check{grid-column:auto}
  .infosdf-wall-form .infosdf-human-check label{
    grid-template-columns:1fr 68px!important;
  }
}
@media(max-width:480px){
  .infosdf-wall-form .infosdf-human-check{
    padding:12px!important;
    border-radius:12px!important;
  }
  .infosdf-wall-form .infosdf-human-check > div:first-child{
    font-size:12px!important;
  }
  .infosdf-wall-form .infosdf-human-check label{
    font-size:12.5px!important;
    gap:8px!important;
  }
}


/* InfoSDF v5.15.45 — Mot de passe oublié, sans écran WordPress */
.infosdf-password-reset{
  max-width:720px;
  margin:42px auto;
  padding:0 18px;
}
.infosdf-pr-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #e8e3f4;
  border-radius:24px;
  padding:34px;
  box-shadow:0 18px 50px rgba(46,28,95,.10);
}
.infosdf-pr-card:before{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-65px;top:-65px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(108,60,240,.12),rgba(247,37,133,.08));
}
.infosdf-pr-icon{
  width:58px;height:58px;
  display:flex;align-items:center;justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,#6c3cf0,#a81477);
  color:#fff;
  font-size:28px;
  box-shadow:0 10px 24px rgba(108,60,240,.22);
  margin-bottom:18px;
}
.infosdf-pr-kicker{
  color:#a81477;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.infosdf-pr-card h1{
  margin:7px 0 10px;
  color:#241a38;
  font-size:clamp(1.7rem,4vw,2.35rem);
  line-height:1.08;
}
.infosdf-pr-intro{
  margin:0 0 24px;
  color:#666071;
  line-height:1.6;
}
.infosdf-pr-form{
  display:grid;
  gap:16px;
}
.infosdf-pr-form label{
  display:grid;
  gap:7px;
  font-weight:800;
  color:#332843;
}
.infosdf-pr-form input[type="email"],
.infosdf-pr-form input[type="password"]{
  width:100%;
  min-height:50px;
  padding:11px 14px;
  border:1px solid #d8d1e4;
  border-radius:12px;
  background:#fff;
  color:#241a38;
  font-size:16px;
}
.infosdf-pr-form input:focus{
  outline:none;
  border-color:#6c3cf0;
  box-shadow:0 0 0 3px rgba(108,60,240,.12);
}
.infosdf-pr-form button,
.infosdf-pr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 20px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#6c3cf0,#a81477);
  color:#fff!important;
  font-weight:900;
  text-decoration:none!important;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(108,60,240,.18);
}
.infosdf-pr-form .infosdf-human-check{
  margin:2px 0!important;
}
.infosdf-pr-back{
  margin-top:20px;
  text-align:center;
}
.infosdf-pr-back a{
  color:#6c3cf0;
  font-weight:800;
  text-decoration:none;
}
.infosdf-pr-success,
.infosdf-pr-error{
  max-width:720px;
  margin:0 auto 18px;
  padding:14px 16px;
  border-radius:14px;
  line-height:1.5;
}
.infosdf-pr-success{
  background:#eefbf3;
  border:1px solid #bfe8ce;
  color:#17643a;
}
.infosdf-pr-error{
  background:#fff2f2;
  border:1px solid #f1c4c4;
  color:#8c2222;
}
@media(max-width:600px){
  .infosdf-password-reset{margin:24px auto;padding:0 12px}
  .infosdf-pr-card{padding:24px 18px;border-radius:18px}
}


/* InfoSDF 5.15.78 — Culture / Article 27 central */
.infosdf-page-a27 .infosdf-a27-intro{
  margin:0 0 24px;
  padding:18px 20px;
  border:1px solid #eadcf7;
  border-radius:18px;
  background:#fbf8ff;
}
.infosdf-page-a27 .infosdf-a27-events-central{margin-bottom:34px}
.infosdf-page-a27 .infosdf-a27-cover{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:14px;
  margin-bottom:12px;
}
.infosdf-page-a27 .infosdf-a27-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.infosdf-page-a27 .infosdf-a27-central-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.infosdf-page-a27 .infosdf-a27-central-card .infosdf-btn{margin-top:auto}
@media(max-width:767px){
  .infosdf-page-a27 .infosdf-a27-intro{padding:15px 16px}
}
