/* Le réseau conserve les repères de la vitrine ; les actions privées restent lisibles sur le terrain. */
.reseau{background:#FAF9F7;color:#171816;padding:44px 0 80px;min-height:calc(100svh - 64px)}
.reseau [hidden]{display:none!important}
.reseau .reseau-conteneur{max-width:920px;margin-inline:auto;padding-inline:var(--gouttiere,24px)}
.reseau-entete{margin-bottom:28px;scroll-margin-top:100px}
.reseau-kicker{font:600 12px/1.5 var(--texte,Archivo,sans-serif);letter-spacing:.09em;text-transform:uppercase;color:#595b53;margin:0 0 12px}
body.vitrine .reseau h1{font-family:var(--titre,Bricolage),sans-serif;font-size:clamp(36px,5vw,60px);line-height:1.06;letter-spacing:-.045em;max-width:18ch;margin:0}
.reseau-intro{max-width:58ch;margin:18px 0 0;font-size:18px;line-height:1.6;color:#45473f}
.reseau-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:28px;font-size:14px}
.reseau-nav a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px}
.reseau-papier{background:#fff;border:1px solid #deded7;border-radius:16px;padding:clamp(22px,4vw,40px);margin-top:20px;min-width:0;overflow-wrap:anywhere}
.reseau-papier>:first-child{margin-top:0}
.reseau h2{font-family:var(--titre,Bricolage),sans-serif;font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.025em;margin:0 0 20px}
.reseau h3{font-family:var(--titre,Bricolage),sans-serif;font-size:23px;line-height:1.25;margin:0 0 12px}
.reseau p{line-height:1.6}
.reseau-champ{display:grid;gap:8px;margin:24px 0 0;min-width:0}
.reseau-champ label,.reseau-champ legend{font-size:15px;font-weight:600;line-height:1.5}
.reseau-champ label span{font-weight:400;color:#595b53}
.reseau-champ p,.reseau-aide{margin:0;font-size:14px;line-height:1.6;color:#595b53}
.reseau-champ input:not([type=checkbox]):not([type=radio]),.reseau-champ select,.reseau-champ textarea{width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid #94988a;border-radius:9px;background:#fff;color:#171816;font:400 16px/1.5 var(--texte,Archivo,sans-serif)}
.reseau-champ textarea{resize:vertical}
.reseau-champ input::placeholder{color:#65675e;opacity:1}
/* Lot 24 : « Je reçois au plus [3] demandes à la fois » — le nombre se lit dans la phrase. */
.reseau-champ.reseau-capacite label input[type=number]{display:inline-block;width:4.6em;min-height:44px;margin:0 6px;padding:8px 10px;text-align:center}
.reseau-code{font-size:24px!important;letter-spacing:.22em;font-variant-numeric:tabular-nums;max-width:270px}
.reseau fieldset{min-width:0;border:0;padding:0;margin:24px 0 0}
.reseau legend{font-size:15px;font-weight:600;line-height:1.5;margin-bottom:10px}
.reseau-choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.reseau-option,.reseau-accord{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:13px 14px;border:1px solid #deded7;border-radius:9px;cursor:pointer;font-size:15px;line-height:1.55}
.reseau-option:has(:checked){background:#F5F3EF;border-color:#A94733}
.reseau-option input,.reseau-accord input{flex-shrink:0;width:20px;height:20px;margin:2px 0 0;accent-color:#C13D28}
.reseau-accord{margin-top:20px;border:0;padding:8px 0}
.reseau-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-top:30px}
/* Lot 21 : la page « une demande vous attend ». Le bouton principal vient d'abord dans le document (lecteur d'écran, téléphone) ;
   vu au téléphone le 03/10, le bouton, long, passait à la ligne SOUS « Pas intéressé ». À l'ordinateur, rien ne bouge : le lien à
   gauche, le bouton à droite. */
.reseau-actions-principal{flex-direction:row-reverse}
.reseau .btn{min-height:50px;font-family:var(--texte,Archivo,sans-serif);padding:13px 24px;background:#C13D28;color:#fff;border:1px solid #C13D28;box-shadow:none;transform:none}
.reseau .btn:hover{background:#A73020;transform:none;box-shadow:none}
body.vitrine.page-reseau .reseau .btn:not(.btn-secondaire){background:#C13D28}
body.vitrine.page-reseau .reseau .btn:not(.btn-secondaire):hover{background:#A73020}
.reseau .btn-secondaire{background:#fff!important;color:#171816!important;border-color:#9da18e}
.reseau .btn:disabled{opacity:.65;cursor:wait}
.reseau-lien{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:none;border:0;padding:8px 0;color:#30322c;font:500 14px/1.5 var(--texte,Archivo,sans-serif);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.reseau :is(button,a,input,select,textarea):focus-visible{outline:3px solid #d23c25;outline-offset:4px}
.reseau-alerte{margin:20px 0;padding:16px 18px;border:1px solid #bd7a69;border-radius:9px;background:#fff5ef;font-size:15px;line-height:1.6;color:#733321}
.reseau-message{margin:20px 0;padding:16px 18px;border:1px solid #bac4ae;border-radius:9px;background:#f1f5ec;font-size:15px;line-height:1.6;color:#303e26}
.reseau-statuts{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;line-height:1.5;padding:5px 9px;border:1px solid #c1c6b7;border-radius:6px;background:#F5F3EF;color:#44503c}
.reseau-statuts::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.reseau-releve{margin:24px 0 0}
.reseau-releve>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:18px 0;border-top:1px solid #deded7}
.reseau-releve dt{font-size:14px;color:#595b53;font-weight:500}
.reseau-releve dd{margin:0;font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.reseau-etapes{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:0 0 24px;list-style:none;font-size:13px;color:#696d60}
.reseau-etapes li[aria-current=step]{font-weight:600;color:#171816}
.reseau-etapes li+li::before{content:"/";margin-right:18px;color:#8c9183}
.reseau-resultats{display:grid;gap:8px;margin-top:12px}
.reseau-resultats .reseau-option{border-radius:8px}
.reseau-commune-recherche{display:flex;align-items:center;gap:10px}
.reseau-commune-recherche input{flex:1;min-width:0}
.reseau-commune-recherche .reseau-lien{flex-shrink:0;padding-inline:5px}
.reseau-liste{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.reseau-liste .reseau-papier{margin:0}
.reseau-listetete{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.reseau-listetete h2,.reseau-listetete h3{margin:0;max-width:38ch;white-space:pre-wrap}
.reseau-mini{font-size:14px;color:#595b53;margin:12px 0 0}
.reseau-deux{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.reseau-vide{padding-block:36px}
.reseau-contact{display:grid;gap:8px;font-size:16px;padding-top:16px;margin-top:16px;border-top:1px solid #deded7}
.reseau-contact a{overflow-wrap:anywhere;min-height:36px;display:flex;align-items:center;text-underline-offset:4px}
.reseau-sous-section{margin-top:42px;scroll-margin-top:100px}
.reseau-confirmation{margin:26px 0 0;padding-top:22px;border-top:1px solid #deded7}
.reseau-confirmation summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.reseau-confirmation form{padding:14px 0}
.reseau-bouton-danger{color:#853c2a!important;background:#fff!important;border-color:#ba8f83!important}
.reseau-qualifier{border-top:1px solid #deded7;margin-top:28px;padding-top:20px}
@media(max-width:600px){
 .reseau{padding-block:30px 48px}
 .reseau-entete{margin-bottom:24px}
 .reseau-intro{font-size:16px;margin-top:16px}
 .reseau-papier{padding:24px 20px;border-radius:12px}
 .reseau-choix,.reseau-deux{grid-template-columns:1fr}
 .reseau-releve>div{grid-template-columns:1fr;gap:6px;padding:16px 0}
 .reseau-actions{align-items:stretch;gap:12px;margin-top:24px}
 .reseau-actions .btn{max-width:100%;text-align:center;white-space:normal}
 .reseau-actions-principal{flex-direction:column;align-items:flex-start}
 .reseau-nav{gap:0 20px;margin-bottom:20px}
 .reseau-champ{margin-top:20px}
 .reseau-etapes{font-size:12px;gap:8px 12px}
 .reseau-etapes li+li::before{margin-right:12px}
 .reseau-listetete{gap:12px}
}
@media(prefers-reduced-motion:reduce){.reseau *{scroll-behavior:auto!important}}
.reseau-acces-compte{display:flex;align-items:center;flex-wrap:wrap;gap:0 20px;margin-top:16px}
.reseau-acces-compte .reseau-mini{margin:0}
.reseau-deconnexion{display:inline-flex;margin:0}

/* Une sélection justifiée, distincte des réponses réellement reçues. */
.reseau-autres{margin-top:18px}
.reseau-autres summary,.reseau-qualifier summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;text-underline-offset:4px}
.reseau-cartes{list-style:none;padding:0;margin:22px 0;display:grid;gap:16px}
.reseau-carte{border:1px solid #DEDAD3;border-left:3px solid #D23C25;border-radius:10px;padding:22px;background:#FAF9F7;min-width:0}
.reseau-carte .reseau-listetete{margin-bottom:8px;gap:8px}
.reseau-carte h3{margin-bottom:8px}
.reseau-apercu{font-size:15px;color:#54504A;margin:0}
.reseau-detail-selection{margin-top:10px}
.reseau-detail-selection>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.reseau summary:focus-visible{outline:3px solid #D23C25;outline-offset:4px;border-radius:3px}
.reseau-etiquette{font-size:12px;border:1px solid #DEDAD3;border-radius:5px;padding:4px 8px;background:white;color:#54504A}
.reseau-raison-titre{font-weight:600;margin:18px 0 6px;font-size:15px}
.reseau-raisons{margin:0;padding-left:20px;font-size:15px;line-height:1.65}
.reseau-raisons li+li{margin-top:6px}
.reseau-source{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:14px;font-weight:600;text-underline-offset:4px}
.reseau-pistes{margin-top:30px}
.reseau-pistes:first-child{margin-top:0}
@media(min-width:1000px){.reseau-pistes .reseau-cartes{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
.reseau-message-pret{background:#F5F3EF;border-radius:10px;padding:24px;margin-top:28px}
.reseau-message-pret .btn{margin-top:16px}
.reseau-message-pret textarea{width:100%;box-sizing:border-box;resize:vertical;font:400 16px/1.6 var(--texte,Archivo,sans-serif);padding:12px;border:1px solid #94918B;border-radius:6px;color:#171816;background:white}
/* Lot 23, vu sur les captures des lecteurs à froid neufs : « Saint-André- » en fin de ligne, « les-Vergers » dessous, dans le
   rappel du projet. Une commune ne se coupe pas à ses traits d'union ; le point médian reste collé au texte d'avant. */
.reseau-insecable{white-space:nowrap}
.reseau-visuellement-cache{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reseau h2.reseau-depot-titre{margin-top:32px}
@media(max-width:600px){.reseau-carte{padding:18px 16px}.reseau-message-pret{padding:20px 16px}.reseau-carte h3{font-size:23px}.reseau-message-pret .btn{width:100%}}

/* Lot 22 : « Qui reçoit votre demande ? » (périmètre du pilote) — une question, ses deux réponses en cartes, le reste replié. */
.reseau-qui-rappel{margin:0 0 6px;font-weight:600;color:#45473f}
/* Lot 22, test à froid du 04/10 : sur l'adresse et le code, la demande rappelée se détache du champ qui suit. */
.reseau-papier>[data-acces-rappel]{margin-bottom:18px}
/* Aucun inscrit ne couvre la demande : un état, dit avant les deux cases, en texte plein (pas une note de bas d'écran). */
.reseau-qui-etat{margin:10px 0 0;font-size:16px;line-height:1.5;color:#30322c}
.reseau .reseau-qui{border:1px solid #deded7;border-radius:10px;padding:14px 16px;margin-top:14px}
.reseau .reseau-qui:has(:checked){background:#F5F3EF;border-color:#A94733}
/* Lot 22 : la réclamation en trois écrans, puis la demande sur le sien. Le texte du particulier se lit comme une citation. */
.reseau-reglage summary{font-weight:500;color:#30322c}
.reseau-besoin{margin:0;padding:4px 0 4px 16px;border-left:3px solid #D23C25;font-size:18px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
/* Lot 22 : le pont vers l'espace pro, sous les coordonnées du particulier. */
.reseau-pont{margin-top:24px;padding-top:22px;border-top:1px solid #deded7}
.reseau-pont .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.reseau-pont .reseau-mini+.reseau-mini{margin-top:4px}
.reseau-pont .reseau-mini+.btn{margin-top:10px}
/* Relu le 04/10 : écrire au particulier est l'action de l'écran accepté — un bouton plein, l'adresse en clair dessous. */
.reseau-contact .btn{justify-self:start;display:inline-flex;justify-content:center;text-decoration:none;margin-top:4px}
.reseau-contact .reseau-adresse{margin:0;overflow-wrap:anywhere;user-select:all}
/* Lot 24 : le numéro du particulier en premier, en gros ; « Écrire » à côté, sur la même ligne tant qu'elle tient. */
.reseau-contact-gestes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.reseau-contact .reseau-contact-gestes .btn{margin-top:0;width:auto}
.reseau-contact .reseau-appeler{font-size:20px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:600px){.reseau-contact .btn{justify-self:stretch;width:100%;white-space:normal}}
@media(max-width:600px){.reseau-pont .btn{width:100%;text-align:center;white-space:normal}}
/* Vu sur les captures du 04/10 : le bouton seul de l'écran « Vous êtes bien … ? » flottait sous une marge vide, et les coordonnées,
   en tête de l'écran de la demande acceptée, ouvraient le papier par un filet. */
/* Seul sur sa ligne, le bouton se lit à gauche, comme le texte : à l'ordinateur, la ligne inversée le jetait à droite d'un vide. */
form[data-reclamer-identite]>.reseau-actions:first-of-type{margin-top:0;flex-direction:row;justify-content:flex-start}
.reseau-papier>.reseau-contact:first-child{border-top:0;padding-top:0;margin-top:0}
/* Lot 23 : venu d'une page du service, le projet et la commune sont rappelés, jamais redemandés. */
.reseau-projet{margin:0 0 4px}
.reseau-projet .reseau-mini{margin:8px 0 0 19px;font-weight:600;color:#45473f}
.reseau-papier>[data-projet-rappel]{margin-bottom:18px}
[data-projet-commune] fieldset{margin-top:0}
[data-projet-commune] details{margin-top:14px}
/* Lot 23 : le téléphone de l'autre partie, après l'acceptation — « Ou l'appeler : 07 98 76 54 32 » sur une ligne. */
.reseau-contact p[data-invitation-telephone],.reseau-contact p[data-reponse-telephone]{margin:0}
.reseau-contact p[data-invitation-telephone] a,.reseau-contact p[data-reponse-telephone] a{display:inline;min-height:0;white-space:nowrap}
/* Lot 25 : les photos de la demande — des vignettes carrées qui s'agrandissent (le lien ouvre la grande), « Retirer » dessous,
   « Ajouter des photos » en bouton secondaire (le seul aplat de l'écran reste « Continuer »). Le champ de fichier est caché à
   l'œil, pas au clavier : son focus se voit sur l'étiquette. Avec le script, « Envoyer les photos choisies » disparaît. */
.reseau-photos{margin:24px 0 0;padding:0;border:0;min-width:0}
.reseau-photos legend{font-size:15px;font-weight:600;line-height:1.5;padding:0}
.reseau-photos legend span{font-weight:400;color:#595b53}
.reseau-photos .reseau-aide{margin:6px 0 0}
.reseau-photos-liste{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.reseau-photos-liste:empty{display:none}
.reseau-photos-liste li{display:grid;gap:2px;justify-items:center;min-width:0}
.reseau-photos-liste a{display:block;width:100%}
.reseau-photos-liste img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid #deded7;background:#f3f3ef}
.reseau-photos-liste .reseau-lien{min-height:36px}
.reseau-photos-ajout{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px;position:relative}
.reseau-photos-ajout[hidden]{display:none}
.reseau-photos-choix{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden}
.reseau-photos-choix:focus-visible+label{outline:3px solid #171816;outline-offset:2px}
.reseau-photos-ajout label.btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin:0}
.reseau-photos[data-photos-js] [data-photos-envoyer]{display:none}
.reseau-photos-projet{margin:16px 0 4px}
.reseau-photos-projet .reseau-photos-liste{margin-top:8px}
.reseau-releve [data-photos-vignettes]{margin:0;grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}
