/* Le Réseau des savoirs — feuille de style commune.
   Première partie : la direction visuelle du prototype, reprise telle quelle.
   Seconde partie : ce que la version en ligne ajoute (comptes, inscriptions, console). */

:root{--ink:#26392b;--muted:#526052;--paper:#f8f5eb;--lime:#e5efb4;--line:#d9decd}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}header,main,footer{max-width:1160px;margin:auto;padding:0 28px}header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:14px}header strong{font-family:Georgia,serif;font-size:25px}nav,.actions,.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}a{color:inherit;text-decoration:none}nav a:hover{text-decoration:underline}button,.button{font:inherit;font-weight:650;border-radius:999px;border:1px solid var(--ink);padding:9px 17px;background:none;color:inherit;cursor:pointer;display:inline-block}button:hover,.button:hover{box-shadow:0 0 0 2px #a7b18d}button[aria-pressed=true],.primary{background:var(--ink);color:white}button:focus-visible,a:focus-visible{outline:3px solid #947225;outline-offset:4px}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:20px;background:var(--lime);border-radius:28px;padding:clamp(24px,5vw,68px);overflow:hidden}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:750}h1,h2,h3{font-family:Georgia,serif;line-height:1.05;margin:0}h1{font-size:clamp(42px,6.6vw,82px);letter-spacing:-.05em}h2{font-size:clamp(32px,4vw,48px)}h3{font-size:27px}.hero p:not(.eyebrow){max-width:46ch;margin:20px 0 26px}svg{width:100%;height:auto}section:not(.hero){margin:60px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:16px}.section-top p{margin:8px 0 0}.filters{margin:20px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);background:#fffdf6;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.card-icon{font-size:42px;padding:12px 20px;background:#f0dfc6}.card:nth-child(3n+2) .card-icon{background:#dce9d5}.card:nth-child(3n+3) .card-icon{background:#f0dfcd}.card-body{padding:19px;flex:1;display:flex;flex-direction:column;align-items:start;gap:12px}.card-body p{margin:0;color:var(--muted)}.card-body button{margin-top:auto}.note{background:#edf0e4;padding:13px 18px;border-radius:12px;font-size:14px}.muted,footer{color:var(--muted)}footer{padding-block:16px 36px}dialog{width:min(92vw,510px);max-height:88vh;color:var(--ink);border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:24px}dialog::backdrop{background:#14281888}form{display:grid;gap:13px}label{display:grid;gap:4px}label.check{display:flex;align-items:center}input,textarea,select{font:inherit;border:1px solid #939d8c;border-radius:8px;padding:8px;background:white;width:100%}input[type=checkbox]{width:auto}.form-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.close{padding:3px 10px}@media(max-width:780px){.grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero svg{max-width:250px;margin:auto}}@media(max-width:520px){header,main,footer{padding-inline:16px}.grid{grid-template-columns:1fr}}

:root{--ink:#243e35;--muted:#617167;--paper:#fcf8f1;--lime:#f7bd49;--line:#dce2d4}
header,main,footer{max-width:1360px}header{padding-block:22px}header strong{font-family:system-ui;font-weight:850;letter-spacing:-1px}
.hero{background:#245346;color:#fff9ed;border-radius:8px 80px 8px 8px;padding:42px 48px;position:relative}.hero h1{font-size:clamp(40px,5.5vw,70px)}.hero .primary{background:#f7bd49;color:#243e35;border-color:#f7bd49}.hero button{border-color:#b9cdb5}.hero svg{max-height:300px;transform:rotate(-8deg)}
h2{letter-spacing:-1.5px}section:not(.hero){margin:42px 0}.note{background:transparent;border-left:3px solid #f7bd49;border-radius:0;padding-block:3px;font-size:12px}.filters button{border-color:#d9dfd1;background:white}.filters button[aria-pressed=true]{background:#245346;color:white;border-color:#245346}
.explore{display:grid;grid-template-columns:1.6fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white}.map-wrap{position:relative;min-height:430px;background:#e9eddf}#map{height:100%;min-height:430px;z-index:0}.map-caption{position:absolute;top:14px;left:54px;background:#fffdf5;padding:7px 13px;border-radius:20px;z-index:500;font-size:12px;box-shadow:0 3px 12px #243e3520}.event-detail{padding:26px;display:flex;flex-direction:column;justify-content:center;background:#fffdf8}.event-detail .card{border:0;background:transparent}.event-detail .card-body{padding:16px 0}.event-detail .card-icon{border-radius:12px;background:#f7bd49;font-size:32px}.event-detail h3{font-size:32px}.event-detail .eyebrow{color:#245346}.map-pin{display:grid;place-items:center;width:38px;height:38px;border:3px solid white;border-radius:50% 50% 50% 5px;background:#245346;color:white;font:bold 15px system-ui;box-shadow:0 3px 8px #24204655;transform:rotate(-8deg)}
.timeline-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 4px}.timeline-head h3{font-size:26px}.timeline-scroll{overflow-x:auto;padding:10px 2px 15px}.timeline-track{display:flex;gap:18px;min-width:max-content;padding-top:18px;background:linear-gradient(#245346,#245346) 0 8px/100% 2px no-repeat}.time-event{position:relative;width:255px;border:1px solid #d9dfd1;border-radius:14px;background:white;text-align:left;padding:17px;white-space:normal;font-weight:400}.time-event:before{content:'';position:absolute;top:-17px;left:24px;width:12px;height:12px;border-radius:50%;background:#f7bd49;border:3px solid var(--paper)}.time-event.selected{background:#edf2df;border-color:#245346}.time-event strong,.time-event span{display:block}.time-event strong{font:22px/1.15 Georgia;margin:9px 0}.time-event .when{font-weight:750;color:#245346;font-size:13px}.time-event .where{font-size:13px;color:#617167}.card{border-radius:16px;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card-icon{background:#f9c24f}.card:nth-child(3n+2) .card-icon{background:#a5cdb4}.card:nth-child(3n+3) .card-icon{background:#dca68a}#initiative-list{margin-top:25px}.list-heading{margin-top:30px!important;font-size:22px}#idees{background:#f2e7d8;padding:30px;border-radius:22px}
@media(max-width:780px){.explore{grid-template-columns:1fr}.event-detail{padding:20px}.hero{padding:28px}.hero svg{display:none}.map-wrap,#map{min-height:340px;height:340px}.timeline-head{align-items:start;flex-direction:column}#idees{padding:20px}}
.join-banner{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;background:#245346;color:#fff9ed;padding:38px;border-radius:24px}.join-banner .primary{background:#f7bd49;color:#243e35}.app-box{background:#fff9ed;color:#243e35;padding:25px;border-radius:18px}.join-banner h2{font-size:38px}.app-box p:last-child{font-size:12px}#resources .card-icon{font-size:20px;font-weight:700}.resource-byline{font-size:13px}#map iframe{display:block}.map-caption{top:auto;bottom:28px;left:14px}@media(max-width:780px){.join-banner{grid-template-columns:1fr;padding:24px}#map iframe{height:340px!important}}


/* ---- Version en ligne ---------------------------------------------------------- */

[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header nav a.button{padding:8px 15px}
#map iframe{width:100%;height:430px;border:0}
.card-body h3{font-size:24px}
.card-body .actions{margin-top:auto;gap:8px}
.card-body .actions button{margin-top:0}
.eyebrow.small{font-size:11px}
.vide{color:var(--muted);font-style:italic}

/* Badges de statut */
.badge{display:inline-block;font-size:12px;font-weight:750;border-radius:999px;padding:2px 10px;background:#edf0e4;color:var(--ink);white-space:nowrap}
.badge.publie,.badge.inscrit,.badge.actif{background:#dce9d5;color:#1f4a35}
.badge.en_attente,.badge.attente{background:#fbe6b4;color:#6b4a07}
.badge.refuse,.badge.annule,.badge.suspendu{background:#f3d2c8;color:#7a2a17}
.badge.realisee,.badge.admin{background:#245346;color:#fff9ed}
.badge.animateur{background:#a5cdb4;color:#1f4a35}

/* Jauge de places */
.places{display:grid;gap:4px;width:100%;font-size:13px;color:var(--muted)}
.jauge{height:6px;border-radius:3px;background:#e7eadf;overflow:hidden}
.jauge span{display:block;height:100%;background:#245346}
.jauge.pleine span{background:#b5502f}

/* Messages */
#status{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);max-width:min(92vw,560px);background:#243e35;color:#fff9ed;padding:11px 18px;border-radius:14px;box-shadow:0 6px 24px #0003;z-index:1000;font-size:15px}
#status:empty{display:none}
#status.erreur{background:#7a2a17}
.erreur-champ{color:#7a2a17;font-size:14px;margin:0}
.aide{font-size:13px;color:var(--muted);margin:0}

/* Formulaires */
dialog{width:min(94vw,600px)}
dialog.large{width:min(94vw,860px)}
dialog h3{font-size:26px}
.ligne{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.ligne{grid-template-columns:1fr}}
fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0}
legend{font-weight:700;padding:0 6px}
.choix-themes{display:flex;flex-wrap:wrap;gap:8px 18px}
.separateur{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;margin:6px 0}
.separateur:before,.separateur:after{content:'';flex:1;border-top:1px solid var(--line)}
button[disabled]{opacity:.55;cursor:wait}
button.danger{border-color:#7a2a17;color:#7a2a17}
button.danger.primary{background:#7a2a17;color:#fff}
button.petit{padding:4px 12px;font-size:14px}
.liens-texte{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}
.liens-texte a,.lien{text-decoration:underline}
.texte-long{white-space:pre-wrap}

/* Pages simples (connexion, compte) */
.page{max-width:920px;margin:28px auto 60px}
.page-etroite{max-width:520px}
.panneau{background:#fffdf6;border:1px solid var(--line);border-radius:20px;padding:24px;margin:18px 0}
.panneau h2{font-size:30px;margin-bottom:12px}
.onglets{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.onglets button[aria-selected=true]{background:#245346;color:#fff;border-color:#245346}
.liste{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.liste li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 16px}
.liste li .titre{font-weight:700}
.liste li .meta{font-size:13px;color:var(--muted)}

/* Console d'administration */
.console{display:grid;grid-template-columns:220px 1fr;gap:24px;max-width:1360px;margin:10px auto 60px;padding:0 28px}
.console nav{flex-direction:column;align-items:stretch;gap:6px;position:sticky;top:12px;align-self:start}
.console nav button{text-align:left;border-color:transparent;border-radius:12px;display:flex;justify-content:space-between;align-items:center}
.console nav button[aria-selected=true]{background:#245346;color:#fff}
.console nav .compteur{background:#f7bd49;color:#243e35;border-radius:999px;font-size:12px;padding:0 8px}
.console nav .compteur:empty{display:none}
@media(max-width:860px){.console{grid-template-columns:1fr;padding:0 16px}.console nav{flex-direction:row;flex-wrap:wrap;position:static}}
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:16px 0 26px}
.chiffre{background:#fffdf6;border:1px solid var(--line);border-radius:16px;padding:16px}
.chiffre strong{display:block;font:34px/1.1 Georgia,serif}
.chiffre span{font-size:13px;color:var(--muted)}
.chiffre.alerte{background:#fbe6b4}
.barre-outils{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}
.barre-outils input,.barre-outils select{width:auto;min-width:180px}
.tableau-defilant{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid #eceee6;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fbf9f3}
tr:last-child td{border-bottom:0}
td .actions{gap:6px;flex-wrap:nowrap}
.carte-moderation{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin:12px 0;display:grid;gap:10px}
.carte-moderation h4{margin:0;font:22px/1.2 Georgia,serif}
.carte-moderation textarea{min-height:60px}
.time-event[aria-pressed=true]{color:var(--ink)}

/* Modification des textes sur la page (administrateurs) */
.barre-edition{position:fixed;left:16px;bottom:16px;z-index:900;display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:calc(100vw - 32px)}
.barre-edition .aide-edition{display:none;background:#fffdf6;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;box-shadow:0 3px 12px #243e3520}
body.edition-textes .barre-edition .aide-edition{display:inline-block}
body.edition-textes [data-texte]{outline:2px dashed #f7bd49;outline-offset:3px;cursor:pointer;border-radius:4px}
body.edition-textes [data-texte]:hover{background:#f7bd4933}
/* Le bandeau d'inscription est masqué pour qui est connecté : en mode édition, il revient,
   sans quoi l'administrateur ne pourrait pas modifier ses textes sur la page. */
body.edition-textes #bandeau-inscription[hidden]{display:grid!important}
