/* RU Réseau | vitrine et onglet des hubs | charte bleue RU Design. */
.ru-reseau-widget{
  --rw-accent:var(--ru-accent,#1d5c8f);
  --rw-accent-dark:var(--ru-accent-fonce,#124b7c);
  --rw-ink:var(--ru-texte,#0e2438);
  --rw-muted:var(--ru-discret,#66758a);
  --rw-line:var(--ru-bord,#e2e8ef);
  --rw-navy:#071f35;
  --rw-font:var(--ru-police,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif);
  width:100%; min-width:0;box-sizing:border-box;font-family:var(--rw-font);
  background:#fff;color:var(--rw-ink);line-height:1.5;
}
.ru-reseau-widget *, .ru-reseau-widget *::before,.ru-reseau-widget *::after{box-sizing:border-box}
.ru-reseau-widget a{text-decoration:none}
.ru-reseau-widget p,.ru-reseau-widget h1,.ru-reseau-widget h2,.ru-reseau-widget h3{margin:0}
.ru-reseau-widget [hidden]{display:none!important}
.ru-reseau-widget .rw-screenreader{position:absolute!important;overflow:hidden;width:1px;height:1px;white-space:nowrap;clip:rect(0,0,0,0);clip-path:inset(50%)}
.ru-reseau-widget :is(a,button,input,select):focus-visible{outline:3px solid var(--rw-accent);outline-offset:3px}
.ru-reseau-widget .rw-content{width:min(1250px,calc(100% - 64px));margin-inline:auto;min-width:0}
/* Coque publique RU Design inchangée. Seule la vitrine occupe la largeur de la fenêtre. */
.ru-reseau-widget--public{position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;border:0;border-radius:0;box-shadow:none;overflow:clip}
.ru-reseau-widget--hub{background:#fff;border:1px solid var(--rw-line);border-radius:17px;padding:22px 24px 30px;box-shadow:0 2px 8px rgba(3,22,39,.04);max-width:100%;overflow:hidden}
.ru-reseau-widget--hub .rw-content{width:min(100% - 48px,1250px)}
.ru-reseau-widget--hub .rw-hub-heading{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.ru-reseau-widget .rw-logo-slot{width:118px;min-width:118px;height:46px;padding:0 4px;display:flex;align-items:center}
.ru-reseau-widget .rw-logo{height:40px;width:auto;max-height:40px;object-fit:contain;display:block}
.ru-reseau-widget .rw-hub-heading strong{font-size:19px;line-height:1.2;color:var(--rw-ink)}
.ru-reseau-widget .rw-hub-heading p{font-size:13px;line-height:1.45;color:var(--rw-muted);margin-top:4px}
/* Grande introduction, image du fond fournie localement avec le module. */
.ru-reseau-widget .rw-hero{isolation:isolate;position:relative;min-height:390px;display:flex;align-items:center;background:linear-gradient(108deg,#082741,#071d31);color:white;overflow:hidden}
.ru-reseau-widget .rw-hero-visual{position:absolute;z-index:-1;inset:0 0 0 39%;pointer-events:none;background-image:linear-gradient(90deg,#092740 0%,rgba(8,33,56,.77) 12%,rgba(7,30,50,.12) 48%,rgba(7,30,50,.12) 100%),linear-gradient(0deg,rgba(5,23,41,.62),transparent 30%),url('../img/reseau-hero.webp');background-repeat:no-repeat;background-size:cover;background-position:center 39%}
.ru-reseau-widget .rw-hero-inner{position:relative;min-height:390px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:37px 34px}
.ru-reseau-widget .rw-hero-copy{position:relative;z-index:1;width:min(595px,65%)}
.ru-reseau-widget .rw-eyebrow{letter-spacing:.23em;text-transform:uppercase;font-size:12px;font-weight:800;color:#70bfff;margin-bottom:10px}
.ru-reseau-widget .rw-hero h1{font-size:clamp(42px,5.2vw,66px);letter-spacing:-.035em;font-weight:800;line-height:1.05;color:#fff;margin-bottom:6px}
.ru-reseau-widget .rw-hero-lead{font-size:19px;font-weight:750;max-width:440px;line-height:1.4;color:#f8fafc;margin-top:7px}
.ru-reseau-widget .rw-hero-desc{font-size:14px;line-height:1.55;max-width:535px;margin-top:12px;color:#edf4fc}
.ru-reseau-widget .rw-search-wrap{height:46px;border-radius:11px;max-width:495px;display:flex;align-items:center;gap:12px;padding:0 14px;background:#fff;margin-top:20px;box-shadow:0 6px 20px rgba(0,0,0,.12);cursor:text}
.ru-reseau-widget .rw-search-wrap svg{flex:0 0 17px;width:17px;height:17px;stroke:#708398;stroke-width:1.9;fill:none}
.ru-reseau-widget input[data-rr-search]{appearance:none;display:block;flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;font-family:inherit;font-size:15px!important;color:var(--rw-ink);height:44px!important}
.ru-reseau-widget input[data-rr-search]::placeholder{color:#6b7890;opacity:1}
.ru-reseau-widget .rw-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.ru-reseau-widget .rw-filter{appearance:none;cursor:pointer;background:rgba(6,30,52,.55);border:1px solid rgba(230,241,251,.4);border-radius:25px;color:#fff;font:600 12px/1.2 var(--rw-font);min-height:37px;padding:9px 14px;transition:background .18s,border-color .18s}
.ru-reseau-widget .rw-filter:hover{background:rgba(48,111,163,.55);border-color:#aacde9}
.ru-reseau-widget .rw-filter.is-active,.ru-reseau-widget .rw-filter[aria-pressed="true"]{background:var(--rw-accent);border-color:#80bbef;color:#fff;box-shadow:0 2px 9px rgba(0,0,0,.14)}
.ru-reseau-widget .rw-hero-quote{position:absolute;top:47px;right:0;font-family:var(--rw-font);font-size:clamp(15px,2vw,25px);font-weight:850;line-height:1.15;font-style:italic;text-align:right;max-width:280px;letter-spacing:-.025em;text-transform:uppercase;text-shadow:0 2px 9px rgba(3,10,21,.65);transform:rotate(-5deg)}
.ru-reseau-widget .rw-hero-quote span{display:block}
.ru-reseau-widget .rw-hero-quote::after{content:'';display:block;height:4px;width:94px;margin:10px 0 0 auto;transform:rotate(-7deg);background:#f7c744;border-radius:6px}
.ru-reseau-widget--hub .rw-hero,.ru-reseau-widget--hub .rw-hero-inner{min-height:315px}
.ru-reseau-widget--hub .rw-hero-inner{padding-block:30px}
.ru-reseau-widget--hub .rw-hero h1{font-size:clamp(34px,4.3vw,51px)}
.ru-reseau-widget--hub .rw-hero-lead{font-size:17px}
.ru-reseau-widget--hub .rw-hero-quote{font-size:16px;top:23px}
/* Contenu */
.ru-reseau-widget .rw-body{padding-top:32px;padding-bottom:35px}
.ru-reseau-widget .rw-section + .rw-section{border-top:1px solid #e8edf3;margin-top:28px;padding-top:25px}
.ru-reseau-widget .rw-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}
.ru-reseau-widget .rw-section-header h2{font-size:23px;font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--rw-ink)}
.ru-reseau-widget .rw-section-header p{font-size:14px;color:var(--rw-muted);line-height:1.5;margin-top:4px}
.ru-reseau-widget .rw-see-all{color:var(--rw-accent);border:1px solid #a9c7e6;border-radius:24px;white-space:nowrap;font-size:13px;font-weight:700;min-height:37px;padding:8px 14px;display:inline-flex;gap:8px;align-items:center;justify-content:center}
.ru-reseau-widget .rw-see-all:hover{background:#eaf4fd}
/* Cartes principales avec photos (aucune icône ajoutée sur les cartes). */
.ru-reseau-widget .rw-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ru-reseau-widget .rw-feature-card{min-width:0;border-radius:13px;border:1px solid #e3eaf1;box-shadow:0 5px 16px rgba(18,42,64,.065);background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.ru-reseau-widget .rw-feature-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,42,64,.12)}
.ru-reseau-widget .rw-feature-image{height:145px;position:relative;overflow:hidden;background:linear-gradient(125deg,#124c7f,#081d31)}
.ru-reseau-widget .rw-feature-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.ru-reseau-widget .rw-feature-image--empty::after{content:'';position:absolute;inset:20px;border:1px solid rgba(255,255,255,.14);border-radius:9px}
.ru-reseau-widget .rw-feature-content{display:flex;flex-direction:column;flex:1;align-items:flex-start;padding:18px 18px 19px;gap:10px}
.ru-reseau-widget .rw-feature-content h3{font-size:19px;font-weight:800;color:var(--rw-ink);line-height:1.25}
.ru-reseau-widget .rw-feature-content p{font-size:14px;line-height:1.55;color:var(--rw-muted);min-height:44px}
.ru-reseau-widget .rw-primary-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;background:var(--rw-accent);color:#fff!important;font-size:13px;font-weight:750;min-height:40px;border-radius:9px;padding:10px 16px;transition:background .15s,transform .15s}
.ru-reseau-widget .rw-primary-link:hover{background:var(--rw-accent-dark);color:#fff!important;transform:translateY(-1px)}
/* Petites cartes : ni icônes, ni pastilles "Communauté", "Carrière", etc. */
.ru-reseau-widget .rw-main-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ru-reseau-widget .rw-main-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;min-height:150px;padding:20px;border:1px solid #e2e9f0;border-radius:13px;background:#fff;color:var(--rw-ink);transition:box-shadow .2s,border-color .2s,transform .2s;box-shadow:0 1px 2px rgba(18,42,64,.015)}
.ru-reseau-widget a.rw-main-card:hover{box-shadow:0 7px 19px rgba(20,55,83,.08);border-color:#a7c9e2;transform:translateY(-2px)}
.ru-reseau-widget .rw-main-card-top{display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:1px}
.ru-reseau-widget .rw-card-accent{display:block;width:31px;height:4px;border-radius:5px;background:var(--card-accent,var(--rw-accent))}
.ru-reseau-widget .rw-arrow{font-size:17px;line-height:1;color:#7e8da1}
.ru-reseau-widget .rw-main-card strong{font-size:16px;line-height:1.22;font-weight:800;color:var(--rw-ink)}
.ru-reseau-widget .rw-card-desc{font-size:13.5px;line-height:1.52;color:var(--rw-muted)}
.ru-reseau-widget .rw-sort-label{flex-shrink:0}
.ru-reseau-widget .rw-sort-label select{font:600 13px var(--rw-font);border:1px solid #d6e0e9;border-radius:10px;min-height:41px;max-width:210px;padding:8px 30px 8px 12px;background:#fff;color:var(--rw-ink)}
.ru-reseau-widget .rw-no-results{font-size:15px;color:var(--rw-muted);padding:22px 0}
/* Rejoindre le mouvement : aucun chiffre de membres non vérifié. */
.ru-reseau-widget .rw-join{margin-top:26px;min-height:185px;display:flex;align-items:center;border-radius:14px;overflow:hidden;background-image:linear-gradient(90deg,#edf5ff 0%,#e4f0fd 54%,rgba(224,240,253,.48) 70%,rgba(6,33,60,.12) 100%),url('../img/reseau-cta.webp');background-size:cover,auto 100%;background-repeat:no-repeat;background-position:center,right center;padding:26px 32px}
.ru-reseau-widget .rw-join > div{max-width:650px}
.ru-reseau-widget .rw-join h2{font-size:27px;line-height:1.2;letter-spacing:-.035em;color:#092942;font-weight:800}
.ru-reseau-widget .rw-join p{font-size:15px;line-height:1.55;color:#28445d;margin:8px 0 14px}
.ru-reseau-widget .rw-join .rw-primary-link{margin-top:0}
@media(max-width:1099px){
 .ru-reseau-widget .rw-main-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ru-reseau-widget--hub .rw-feature-grid{gap:12px}
 .ru-reseau-widget--hub .rw-feature-content{padding:15px}
}
@media(max-width:799px){
 .ru-reseau-widget .rw-content,.ru-reseau-widget--hub .rw-content{width:calc(100% - 38px)}
 .ru-reseau-widget .rw-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .ru-reseau-widget .rw-main-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .ru-reseau-widget .rw-hero-visual{left:30%;opacity:.85}
 .ru-reseau-widget .rw-hero-copy{width:min(575px,80%)}
 .ru-reseau-widget .rw-hero-quote{opacity:.7;top:28px}
 .ru-reseau-widget .rw-join{padding:26px}
}
@media(max-width:599px){
 .ru-reseau-widget--public{max-width:100%;left:auto;margin-left:0;width:100%}
 .ru-reseau-widget--hub{padding:14px 12px 24px;border-radius:13px}
 .ru-reseau-widget .rw-content,.ru-reseau-widget--hub .rw-content{width:calc(100% - 28px)}
 .ru-reseau-widget .rw-hero,.ru-reseau-widget .rw-hero-inner,.ru-reseau-widget--hub .rw-hero,.ru-reseau-widget--hub .rw-hero-inner{min-height:0}
 .ru-reseau-widget .rw-hero-inner{padding-block:34px 27px}
 .ru-reseau-widget .rw-hero-visual{inset:0 0 0 20%;opacity:.35;background-position:center}
 .ru-reseau-widget .rw-hero-copy{width:100%;max-width:100%}
 .ru-reseau-widget .rw-eyebrow{font-size:10px}
 .ru-reseau-widget .rw-hero h1,.ru-reseau-widget--hub .rw-hero h1{font-size:37px}
 .ru-reseau-widget .rw-hero-lead,.ru-reseau-widget--hub .rw-hero-lead{font-size:17px}
 .ru-reseau-widget .rw-hero-desc{font-size:14px}
 .ru-reseau-widget .rw-hero-quote{display:none}
 .ru-reseau-widget .rw-search-wrap{width:100%}
 .ru-reseau-widget .rw-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:7px;margin-right:-14px}
 .ru-reseau-widget .rw-filter{flex-shrink:0;min-height:44px;padding-inline:13px}
 .ru-reseau-widget .rw-body{padding-top:24px}
 .ru-reseau-widget .rw-section-header{align-items:flex-start;gap:12px;flex-direction:column}
 .ru-reseau-widget .rw-section-header h2{font-size:21px}
 .ru-reseau-widget .rw-section-header p{font-size:13px}
 .ru-reseau-widget .rw-feature-grid{grid-template-columns:1fr}
 .ru-reseau-widget .rw-feature-image{height:150px}
 .ru-reseau-widget .rw-feature-content p{min-height:0}
 .ru-reseau-widget .rw-main-grid{grid-template-columns:1fr}
 .ru-reseau-widget .rw-main-card{min-height:0;padding:17px;gap:7px}
 .ru-reseau-widget .rw-main-card strong{font-size:16px}
 .ru-reseau-widget .rw-card-desc{font-size:14px}
 .ru-reseau-widget .rw-join{padding:24px 18px;background-position:center,right center}
 .ru-reseau-widget .rw-join h2{font-size:23px}
 .ru-reseau-widget .rw-join p{font-size:14px}
 .ru-reseau-widget .rw-primary-link,.ru-reseau-widget .rw-see-all{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.ru-reseau-widget *, .ru-reseau-widget *::before{transition:none!important;scroll-behavior:auto!important}}
/* Hub abonnés : pas de double boîte, la section du hub constitue déjà la carte. */
.ru-hub-section .ru-reseau-widget--hub{border:0;box-shadow:none;padding:0;border-radius:0}
.ru-reseau-widget .rw-all-services.rw-section--empty .rw-main-grid{display:none}

@media(max-width:999px){.ru-reseau-widget .rw-filter,.ru-reseau-widget .rw-see-all,.ru-reseau-widget .rw-primary-link,.ru-reseau-widget .rw-sort-label select{min-height:44px}}

@media(max-width:599px){.ru-reseau-widget .rw-hero-desc,.ru-reseau-widget .rw-feature-content p{font-size:16px}.ru-reseau-widget .rw-card-desc{font-size:16px}}

/* Liens sociaux : section distincte, exactement le même style de carte sans icône. */
.ru-reseau-widget .rw-social-section .rw-section-header{margin-bottom:16px}
.ru-reseau-widget .rw-social-section .rw-main-card{min-height:132px}

/* 30 octobre 2026 : UX discrète, sans nouvelles icônes ni pastilles dans les cartes. */
.ru-reseau-widget .rw-search-wrap:focus-within{box-shadow:0 0 0 3px rgba(118,191,248,.45),0 6px 20px rgba(0,0,0,.12)}
.ru-reseau-widget .rw-search-clear{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:0;border-radius:50%;background:#edf3f8;color:var(--rw-ink);font:500 20px/1 var(--rw-font);cursor:pointer}
.ru-reseau-widget .rw-search-clear:hover{background:#d8eafb}
.ru-reseau-widget .rw-discoverybar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;max-width:495px}
.ru-reseau-widget .rw-live-count{color:#d5eafa;font-size:13px;font-weight:600;letter-spacing:.01em}
.ru-reseau-widget .rw-random-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(212,233,251,.6);border-radius:9px;color:#fff;background:rgba(10,53,88,.68);font:650 13px/1.25 var(--rw-font);min-height:38px;padding:8px 13px;cursor:pointer;transition:background .18s,border-color .18s}
.ru-reseau-widget .rw-random-button:hover:not(:disabled){background:var(--rw-accent);border-color:#a5cffa}
.ru-reseau-widget .rw-random-button:disabled{opacity:.45;cursor:default}
.ru-reseau-widget .rw-feature-image img{transition:transform .3s ease}
@media(hover:hover) and (pointer:fine){.ru-reseau-widget .rw-feature-card:hover .rw-feature-image img{transform:scale(1.025)}}
.ru-reseau-widget .rw-feature-card.is-discovered,.ru-reseau-widget .rw-main-card.is-discovered{border-color:#3b8ac5;box-shadow:0 0 0 3px rgba(43,130,202,.21),0 10px 26px rgba(13,65,108,.12)}
.ru-reseau-widget .rw-no-results{background:#f4f8fc;border:1px solid #dceaf6;border-radius:13px;padding:23px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.ru-reseau-widget .rw-no-results p{font-size:15px;color:var(--rw-ink)}
.ru-reseau-widget .rw-reset-button{min-height:44px;border:1px solid #b5d0e8;background:#fff;border-radius:9px;padding:9px 15px;color:var(--rw-accent);font:700 13px/1.3 var(--rw-font);cursor:pointer}
.ru-reseau-widget .rw-reset-button:hover{background:#e8f4fd}
@media(max-width:599px){
 .ru-reseau-widget .rw-search-wrap{height:48px}
 .ru-reseau-widget input[data-rr-search]{font-size:16px!important}
 .ru-reseau-widget .rw-discoverybar{gap:10px}
 .ru-reseau-widget .rw-random-button{min-height:44px}
 .ru-reseau-widget .rw-no-results{padding:18px}
}
@media(prefers-reduced-motion:reduce){.ru-reseau-widget .rw-feature-image img{transition:none!important}}

.ru-reseau-widget .rw-backtotop{display:table;margin:27px 0 0 auto;padding:8px 3px;color:var(--rw-accent);font:700 13px/1.4 var(--rw-font);text-decoration:none}
.ru-reseau-widget .rw-backtotop:hover{text-decoration:underline}

/* Reparation non-regressive : grille 4 colonnes / sociaux distincts.
   Pas de pastilles, d'icones de services, ni d'accents violets. */
.ru-reseau-widget .rw-social-section{border:1px solid #e2ebf5;border-radius:16px;background:linear-gradient(160deg,#f3f8fd 0%,#fff 80%);padding:24px 24px 26px;margin-top:28px}
.ru-reseau-widget .rw-social-section .rw-main-card{background:#fff;min-height:145px}
.ru-reseau-widget .rw-main-card{will-change:auto}
@media(hover:hover) and (pointer:fine){.ru-reseau-widget .rw-social-card:hover{border-color:#89b9da;background:#fcfeff}}
@media(max-width:599px){.ru-reseau-widget .rw-social-section{padding:15px 13px;border-radius:14px}}
.ru-reseau-widget .rw-join{margin-bottom:8px}
