/* Ekolondoï V14 — pages légales, styles volontairement isolés */
.eko-legal-wrap{max-width:1050px}
.eko-legal-head{background:linear-gradient(135deg,#f8f5e9,#eaf1e4);border:1px solid #e2e6d8;border-radius:24px;padding:clamp(26px,5vw,55px);margin-bottom:18px;min-width:0}
.eko-legal-eyebrow{display:block;color:#4b775e;font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px}
.eko-legal-head h1{color:#304c38;font-size:clamp(1.95rem,4vw,3.2rem);letter-spacing:-.035em;line-height:1.16;margin:0 0 16px;overflow-wrap:anywhere}
.eko-legal-head p{margin:0 0 6px;color:#485548;font-size:1.02rem}
.eko-legal-approved{color:#646d65;font-size:.86rem}
.eko-legal-nav{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}
.eko-legal-nav a{display:inline-block;background:#fff;color:#31503d;padding:10px 16px;border:1px solid #dbe5d6;border-radius:999px;font-size:.92rem;font-weight:700;text-decoration:none}
.eko-legal-nav a:hover{border-color:#87a97c;background:#f2f6ed}
.eko-legal-nav a.active{background:#315b44;color:#fff;border-color:#315b44}
.eko-legal-body{border:1px solid #eceee6;background:#fff;border-radius:22px;padding:clamp(24px,5vw,54px);box-shadow:0 10px 35px rgba(35,71,52,.05);overflow-wrap:anywhere}
.eko-legal-section + .eko-legal-section{border-top:1px solid #e9eee5;margin-top:27px;padding-top:27px}
.eko-legal-section h2{color:#31503d;font-size:clamp(1.14rem,2.3vw,1.48rem);line-height:1.3;margin:0 0 14px;font-weight:800}
.eko-legal-section p{color:#3d453e;font-size:1rem;line-height:1.8;margin:0 0 13px;max-width:85ch}
.eko-legal-section p:last-child{margin-bottom:0}
.eko-legal-section a,.eko-legal-help a{color:#286c51;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.eko-legal-tablewrap{max-width:100%;overflow-x:auto;border:1px solid #dfe6da;border-radius:14px;margin:14px 0 18px}
.eko-legal-table{border-collapse:collapse;min-width:580px;width:100%;line-height:1.55;font-size:.9rem}
.eko-legal-table th,.eko-legal-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid #e8eee5;overflow-wrap:anywhere}
.eko-legal-table th{background:#eff5e8;color:#31503d;font-weight:800}
.eko-legal-table tr:nth-child(even) td{background:#fbfcf9}
.eko-legal-table tr:last-child td{border-bottom:0}
.eko-legal-help{background:#eef5e7;padding:17px 23px;border-radius:16px;margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;font-size:.9rem;color:#435345}
.eko-legal-help span{font-weight:800}
.eko-legal-wrap :focus-visible{outline:3px solid #d48334;outline-offset:3px}
@media(max-width:640px){.eko-legal-head,.eko-legal-body{border-radius:16px}.eko-legal-nav{display:grid;grid-template-columns:1fr;gap:8px}.eko-legal-nav a{border-radius:10px;text-align:center}.eko-legal-help{flex-direction:column;align-items:flex-start}.eko-legal-table{font-size:.82rem}}
@media print{.site-header,.site-footer,.eko-legal-nav,.eko-legal-help,.helloasso-modal{display:none!important}.eko-legal-head,.eko-legal-body{background:white;box-shadow:none;border:none;padding:0}.eko-legal-wrap{max-width:100%;margin:0}.eko-legal-section{break-inside:avoid}}
/* Sécurité du compte et confidentialité — extension isolée V14-RGPD */
.eko-session-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e4e4e0}
.eko-session-row strong{display:block;font-size:.9rem;overflow-wrap:anywhere}
.eko-session-row small{display:block;color:#656565;margin-top:.2rem}
.eko-session-row form{margin:0;flex-shrink:0}
@media(max-width:650px){.eko-session-row{flex-direction:column;align-items:flex-start}}
/* Préférences : clair, accessible sur mobile ; refus et acceptation visibles de façon équivalente. */
.eko-privacy-banner[hidden],.eko-privacy-backdrop[hidden]{display:none!important}
.eko-privacy-banner{position:fixed;bottom:0;left:0;right:0;z-index:10030;background:#fffaf0;color:#342353;border-top:2px solid #618252;box-shadow:0 -10px 36px #34235333;padding:clamp(12px,2.2vw,22px) max(16px,calc((100vw - 1200px)/2));display:flex;gap:1.4rem;align-items:center;justify-content:space-between}
.eko-privacy-banner strong{font-size:1.1rem}.eko-privacy-banner p{font-size:.9rem;max-width:750px;margin:.5rem 0 0;line-height:1.5}
.eko-privacy-buttons{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}
.eko-privacy-buttons button{font:inherit;font-weight:650;font-size:.9rem;cursor:pointer;border:1.5px solid #342353;border-radius:9px;padding:.68rem .85rem;background:#fff;color:#342353;min-height:44px}
.eko-privacy-buttons button:hover,.eko-privacy-buttons button:focus-visible{outline:2px solid #d87b00;outline-offset:2px}
.eko-privacy-backdrop{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:15px;background:#1d1333ac}
.eko-privacy-panel{width:min(100%,610px);max-height:calc(100vh - 36px);overflow:auto;background:#fffaf0;color:#342353;padding:clamp(18px,3vw,34px);border-radius:15px;box-shadow:0 12px 36px #0005}
.eko-privacy-panel p{line-height:1.55}.eko-privacy-panel label{display:block;padding:.8rem 0;border-top:1px solid #d6ddd0;font-weight:600}
.eko-privacy-panel input{accent-color:#386b4b;vertical-align:middle;margin-right:.6rem;width:18px;height:18px}
.eko-privacy-disabled{opacity:.7}
body.eko-privacy-open{overflow:hidden}
@media(max-width:820px){.eko-privacy-banner{flex-direction:column;align-items:stretch}.eko-privacy-buttons button{flex:1 1 120px}}


/* Tableau de bord : audience interne agrégée, accessible aux administrateurs. */
.eko-audience-line{display:grid;grid-template-columns:75px minmax(0,1fr) 60px;align-items:center;gap:12px;margin:.6rem 0;font-size:.9rem}
.eko-audience-line strong{text-align:right;font-variant-numeric:tabular-nums}
.eko-audience-track{width:100%;height:14px;appearance:none;border:0;border-radius:999px;background:#e7e0ea;overflow:hidden}
.eko-audience-track::-webkit-progress-bar{background:#e7e0ea;border-radius:999px}
.eko-audience-track::-webkit-progress-value{background:#6d8e54;border-radius:999px}
.eko-audience-track::-moz-progress-bar{background:#6d8e54;border-radius:999px}
.eko-audience-table{overflow:auto;margin:14px 0 20px}
.eko-audience-table table{width:100%;border-collapse:collapse;min-width:430px}
.eko-audience-table th,.eko-audience-table td{padding:10px;border-bottom:1px solid #e3dedf;text-align:left}
.eko-audience-table th{background:#f4f7ec;color:#38294f}
.eko-audience-table td:not(:first-child){font-variant-numeric:tabular-nums}
@media(max-width:550px){.eko-audience-line{grid-template-columns:58px minmax(0,1fr) 48px;gap:6px;font-size:.8rem}}
