/* Ekolondoï — conception originale, couleurs issues du logo historique. */
:root{--violet:#3c295f;--violet2:#6d4aa8;--lav:#f0eafb;--orange:#ff9900;--orange2:#ffc166;--sage:#99cc66;--sage-bg:#eaf3dd;--cream:#fffaf0;--paper:#fffefd;--ink:#292737;--muted:#686573;--line:#e6e0d7;--radius:24px;--shadow:0 12px 35px #3c295f0b;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);line-height:1.62;font-size:16px}button,input,textarea,select{font:inherit}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14;letter-spacing:-.046em}h1,h2{color:var(--violet)}h1{font-size:clamp(2.7rem,5.9vw,5.4rem);font-weight:850}h2{font-size:clamp(1.75rem,3.7vw,3rem)}h3{font-size:1.23rem}p{color:#5b5661}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(20px,3.5vw,42px)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-200px;left:16px;background:var(--orange);z-index:999;padding:12px}.skip:focus{top:12px}.eyebrow{font-weight:850;letter-spacing:.13em;font-size:.73rem;color:var(--violet2)}.text-orange{color:var(--orange)}.text-link{font-weight:800;color:var(--violet2);text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:4px}.text-link:hover{color:var(--violet)}.subtle{color:var(--muted)}.space-top{margin-top:20px}
.btn{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:14px;border:2px solid transparent;text-decoration:none;cursor:pointer;font-weight:800;transition:background .16s,transform .16s,border-color .16s;white-space:normal;text-align:center;line-height:1.35}.btn:hover{transform:translateY(-1px)}.btn-orange{background:var(--orange);color:#2d2134}.btn-orange:hover{background:var(--orange2)}.btn-dark{background:var(--violet);color:#fff}.btn-dark:hover{background:var(--violet2)}.btn-light{border-color:#ffffff80;background:#fffdf0eb;color:var(--violet)}.btn-ghost{border-color:#d6c7e3;color:var(--violet);background:#fff}.btn-ghost:hover{background:var(--lav)}.btn-small{font-size:.88rem;padding:8px 14px;min-height:40px;border-radius:11px}.btn-danger{color:#9b302e;background:#fff1ee;border-color:#ecc8c4}.btn-danger:hover{background:#ffe1db}.btn.full{width:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.site-header{background:var(--cream);border-bottom:2px solid var(--orange);position:relative;z-index:50}.header-content{display:flex;align-items:center;min-height:98px;gap:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:196px}.brand img{width:64px;height:64px;object-fit:contain}.brand strong{display:block;color:var(--violet);font-size:1.58rem;line-height:1;letter-spacing:-.06em}.brand small{display:block;color:var(--violet2);font-size:.63rem;letter-spacing:.14em;font-weight:850;margin-top:7px}.main-nav{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(12px,1.3vw,23px)}.main-nav a{font-size:.88rem;text-decoration:none;font-weight:750;white-space:nowrap}.main-nav a:hover{color:var(--violet2)}.header-actions{display:flex;gap:7px;align-items:center;margin-left:auto}.user-menu{position:relative}.user-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;background:#e6f4d6;border:1px solid #cbe2b0;padding:7px 12px 7px 7px;border-radius:999px;color:var(--violet);font-weight:800}.user-menu summary::-webkit-details-marker{display:none}.user-menu .avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:var(--violet)}.user-menu-list{position:absolute;right:0;top:calc(100% + 9px);min-width:224px;background:var(--paper);border:1px solid #e2d5f1;border-radius:18px;box-shadow:0 24px 48px #3c295f22;padding:9px}.user-menu-list a,.user-menu-list button{display:block;width:100%;text-align:left;padding:12px 13px;border:0;background:none;border-radius:12px;text-decoration:none;font-weight:700;color:var(--violet);cursor:pointer}.user-menu-list a:hover,.user-menu-list button:hover{background:var(--lav)}.nav-toggle{display:none;border:none;background:var(--lav);color:var(--violet);font-size:1.45rem;border-radius:11px;padding:8px 13px;cursor:pointer}
.hero{position:relative;isolation:isolate;min-height:650px;color:#fff;display:flex;align-items:center;background:#304929;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-2;background-image:url('../../uploads/pub/Images-site/art-7c01fad822b2.jpg');background-size:cover;background-position:center 54%}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#192a20ed 0%,#1c3024cc 37%,#23382244 100%)}.hero-content{width:100%;padding-block:90px}.hero h1{color:white;margin:16px 0 24px;max-width:720px;font-size:clamp(3.7rem,7.7vw,7rem);letter-spacing:-.071em;line-height:.99}.hero h1 em{font-style:normal;color:var(--orange2)}.hero p{color:#fff9eb;max-width:510px;font-size:1.16rem;line-height:1.68}.hero-label{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:.83rem;font-weight:800;letter-spacing:.04em}.dot{background:var(--orange);width:10px;height:10px;border-radius:50%}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-sticker{position:absolute;right:max(5%,40px);bottom:10%;border-radius:50%;width:150px;height:150px;display:grid;place-items:center;background:var(--orange);color:var(--violet);font-size:1.18rem;font-weight:900;line-height:1.17;text-align:center;transform:rotate(13deg);box-shadow:0 9px 25px #0003}
.section{padding-block:clamp(65px,8vw,105px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.section-heading h2{margin:8px 0 0}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.action-tile{background:#fff;border-radius:24px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .2s}.action-tile:hover{transform:translateY(-5px)}.action-photo{height:210px;position:relative;overflow:hidden;background:var(--sage-bg)}.action-photo img{height:100%;width:100%;object-fit:cover;transition:transform .25s}.action-tile:hover img{transform:scale(1.05)}.action-num{position:absolute;top:14px;left:14px;background:var(--orange);border-radius:99px;color:var(--violet);font-weight:850;padding:5px 13px;font-size:.77rem}.action-body{padding:24px 22px;min-height:190px;position:relative}.action-body h3{color:var(--violet);font-size:1.25rem;max-width:190px;margin-bottom:10px}.action-body p{font-size:.91rem;margin:0 0 25px;line-height:1.55}.arrow-round{position:absolute;right:17px;bottom:16px;border-radius:50%;background:var(--sage-bg);display:grid;place-items:center;width:37px;height:37px;color:var(--violet);font-size:1.12rem}.green-section{background:var(--sage-bg)}.split-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}.split-feature h2{font-size:clamp(2.7rem,5vw,5.3rem);margin:17px 0 20px}.split-feature p{font-size:1.08rem;max-width:460px}.split-feature img{width:100%;height:420px;object-fit:cover;border-radius:36px}.home-updates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.white-panel,.panel{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;background:var(--paper);padding:clamp(22px,3vw,34px);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:8px}.panel-head h2,.panel-head h3{margin:0;color:var(--violet)}.panel-head h3{font-size:1.35rem}.panel-head a{font-size:.88rem;font-weight:750;color:var(--violet2)}.update-row{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr auto;gap:15px;align-items:center;text-decoration:none}.update-row:last-child{border:0}.update-row>span:first-child{font-size:.77rem;color:var(--muted)}.update-row strong{font-size:.97rem;color:var(--violet)}.update-row>span:last-child{color:var(--orange)}.newsletter-section{background:var(--violet);color:#fff}.newsletter-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw}.newsletter-section .eyebrow{color:var(--orange2)}.newsletter-section h2{font-size:clamp(3rem,5vw,5.5rem);color:#fff;margin:18px 0}.newsletter-section p{color:#ebe2f5}.newsletter-box{background:#fff;color:var(--ink);padding:32px;border-radius:28px}.newsletter-box .check{margin-block:14px 22px}.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.partner{background:#fff;padding:26px;border:1px solid var(--line);border-radius:17px;height:126px;display:grid;place-items:center}.partner img{max-height:75px;max-width:160px;object-fit:contain}
.page-layout{padding-top:65px;padding-bottom:100px}.page-layout.narrow{max-width:900px}.page-intro{margin-bottom:38px}.page-intro h1{margin:9px 0 12px}.page-intro p{font-size:1.13rem;max-width:750px}.wide-photo{width:100%;max-height:430px;object-fit:cover;border-radius:28px;margin:0 0 44px}.reading{max-width:850px;font-size:1.09rem;line-height:1.85;color:#4c4852}.reading h2,.reading h3{margin-top:1.6em;margin-bottom:.55em}.reading p{color:#4c4852}.reading img{border-radius:16px;margin:24px 0}.reading a{color:var(--violet2)}.reading ul{padding-left:1.25em}.objective-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.objective-grid .carte-objectif{display:flex;align-items:flex-start;gap:22px;min-height:145px;padding:26px;border:1px solid #dbe5cc;background:#f3f8eb;border-radius:22px}.objective-grid .carte-objectif>span{display:grid;place-items:center;flex:0 0 64px;height:64px;border-radius:19px;background:white;color:var(--violet);font-size:0;background-image:url('../../uploads/pub/Images-site/fleur-jaune.png');background-size:70%;background-repeat:no-repeat;background-position:center}.objective-grid .carte-objectif p{margin:0;font-size:.96rem;line-height:1.6}.subhead{margin-top:65px}.info-strip{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:36px;border-radius:25px;background:var(--lav)}.info-strip h2{margin:10px 0}.team-list{display:grid;gap:14px}.team-row{display:flex;align-items:center;gap:28px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px;text-decoration:none;box-shadow:var(--shadow)}.team-row:hover{border-color:var(--violet2)}.team-mark{display:grid;place-items:center;background:var(--sage-bg);color:var(--violet2);border-radius:22px;width:78px;height:78px;font-size:2.4rem;flex:none}.team-row h2{margin:0 0 4px;font-size:1.5rem}.team-row p{margin:0}.team-arrow{margin-left:auto;font-size:1.5rem;color:var(--violet2)}.group-title{margin:55px 0 20px}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.person-card{background:#fff;border-radius:20px;padding:24px;border:1px solid var(--line)}.person-avatar{width:62px;height:62px;border-radius:50%;background:var(--lav);color:var(--violet);font-size:1.55rem;font-weight:900;display:grid;place-items:center;margin-bottom:15px}.person-avatar.small{width:42px;height:42px;font-size:1rem;margin:0}.person-card h3{color:var(--violet)}.person-role{display:inline-flex;border-radius:40px;padding:5px 9px;margin:0 5px 8px 0;background:var(--sage-bg);font-size:.72rem;font-weight:750;color:#3b5935}.person-card p{font-size:.88rem;white-space:normal}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.article-card{display:block;border-radius:25px;overflow:hidden;border:1px solid var(--line);background:#fff;text-decoration:none}.article-image{height:210px;overflow:hidden}.article-image img{width:100%;height:100%;object-fit:cover}.article-card-body{padding:26px}.article-card h2{font-size:1.46rem;margin:12px 0}.article-card p{font-size:.93rem;max-height:110px;overflow:hidden}.events-grid{display:grid;gap:20px}.event-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:25px;background:white;border:1px solid var(--line);border-radius:25px;padding:28px;box-shadow:var(--shadow)}.event-date{background:var(--sage-bg);border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;height:112px;color:var(--violet)}.event-date strong{font-size:2.6rem;line-height:1}.event-date span{text-transform:uppercase;font-size:.83rem;font-weight:800}.event-tags{display:flex;gap:8px;flex-wrap:wrap}.pill{background:var(--sage-bg);color:#376032;font-weight:800;font-size:.72rem;padding:7px 11px;border-radius:99px;display:inline-flex;align-items:center}.pill.muted{background:#f1edf5;color:var(--violet2)}.pill.state{background:var(--orange2)}.event-details h2{font-size:1.55rem;margin:12px 0}.event-details p{margin-bottom:10px}.event-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.event-controls form{display:inline-flex}.event-details small{color:var(--muted)}.empty-state{padding:30px 15px;text-align:center;background:#faf7f0;border:1px dashed #dbcbdc;border-radius:17px;color:var(--muted)}.empty-state span{font-size:2.2rem;color:var(--violet2)}.empty-state p{margin:0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.contact-aside{background:var(--sage-bg);padding:36px;border-radius:25px}.contact-aside h2{margin:0 0 25px}.contact-aside a{font-weight:800;color:var(--violet)}
.form-field{display:grid;gap:7px;margin:0 0 16px;min-width:0}.form-field>span{font-weight:750;font-size:.85rem;color:var(--violet)}.form-field small{font-size:.78rem;color:var(--muted)}.form-field input,.form-field textarea,.form-field select{display:block;width:100%;min-width:0;border:1px solid #d9d0e1;padding:12px 14px;background:white;border-radius:11px;color:var(--ink);min-height:47px}.form-field input:disabled{background:#f4f2f5}.form-field textarea{resize:vertical}.check{display:flex;gap:11px;align-items:flex-start;font-size:.86rem;line-height:1.5;color:#544d5b;cursor:pointer;margin:12px 0}.check input{accent-color:var(--violet2);margin-top:5px;width:18px;height:18px;flex:none}.check a{color:var(--violet2)}.honey{position:absolute;left:-99999px;height:0;overflow:hidden}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.auth-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-block:60px 90px;min-height:560px}.auth-illustration{position:relative;overflow:hidden;border-radius:29px 0 0 29px;background:var(--sage-bg)}.auth-illustration img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.auth-illustration::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1b3219e5,transparent 70%)}.auth-illustration>div{position:absolute;left:45px;bottom:36px;z-index:1}.auth-illustration h2{font-size:3.9rem;color:#fff;margin:8px 0}.auth-illustration .eyebrow{color:var(--orange2)}.auth-panel{border-radius:0 29px 29px 0;background:white;padding:clamp(24px,4vw,62px)}.auth-panel .page-intro{margin-bottom:23px}.auth-panel h1{font-size:2.6rem}.auth-panel>p{font-size:.9rem;margin:20px 0}.auth-panel a{color:var(--violet2)}.resend{margin-top:23px;border-top:1px solid var(--line);padding-top:16px}.resend summary{font-weight:700;cursor:pointer}.resend form{margin-top:14px}.flash{margin-top:18px;padding-block:15px;border-radius:12px;background:var(--sage-bg);color:#2e5a28;border:1px solid #b7d99b;font-weight:700}.flash-error{background:#fff1eb;color:#9b332d;border-color:#eeb7ae}.flash-info{background:var(--lav);color:var(--violet)}
.dashboard-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:30px;align-items:start;padding-top:45px;padding-bottom:100px}.dashboard-nav{background:var(--violet2);border-radius:25px;padding:22px;color:#fff;position:sticky;top:25px;box-shadow:var(--shadow)}.dashboard-brand{display:flex;gap:12px;align-items:center;padding:7px 6px 22px;border-bottom:1px solid #ffffff40}.dashboard-brand strong{font-size:1.12rem;display:block}.dashboard-brand small{display:block;color:#e8dff5;font-size:.77rem}.dashboard-symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--orange);color:var(--violet);font-size:1.9rem}.dashboard-nav nav{display:grid;gap:6px;padding:20px 0}.dashboard-nav nav a,.dashboard-nav-foot a{display:block;border-radius:12px;padding:12px 14px;color:#fff;text-decoration:none;font-weight:750;font-size:.91rem}.dashboard-nav nav a:hover{background:#ffffff25}.dashboard-nav nav a.on{background:#fff2d3;color:var(--violet);box-shadow:inset 4px 0 var(--orange)}.dashboard-nav-foot{padding-top:18px;border-top:1px solid #ffffff45}.dashboard-nav-foot small{display:block;padding:7px 14px;color:#e8dff5}.dashboard-main{min-width:0}.dashboard-heading{padding:24px 0 16px}.dashboard-heading h1{font-size:clamp(2.5rem,4.3vw,4.6rem);margin:12px 0}.dashboard-heading p{margin:0}.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:22px 0}.metric{padding:21px;border:1px solid #e5ddcf;border-radius:20px;background:var(--paper)}.metric span{color:var(--violet2);font-size:.69rem;font-weight:850;letter-spacing:.09em;display:block}.metric strong{display:block;font-size:1.65rem;color:var(--violet);margin-top:6px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-main .panel{padding:25px}.dashboard-main .panel h2{font-size:1.45rem}.dashboard-main .panel h3{color:var(--violet);font-size:1.12rem;margin:0 0 5px}.dash-list-row{display:flex;gap:13px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}.dash-list-row:last-child{border-bottom:0}.dash-list-row div{min-width:0}.dash-list-row strong{display:block;font-size:.92rem;color:var(--violet);overflow-wrap:anywhere}.dash-list-row small,.mini-event small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}.mini-date{background:var(--lav);color:var(--violet);font-weight:850;font-size:.75rem;border-radius:10px;padding:10px;white-space:nowrap}.mini-icon{width:37px;height:37px;border-radius:10px;flex:none;background:var(--sage-bg);color:var(--violet);display:grid;place-items:center;font-weight:900}.mini-event{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.mini-event div{flex:1;min-width:0}.mini-event a{font-weight:800;font-size:.85rem;color:var(--violet2)}.warm-panel{background:#fff1d8}.status-large{font-size:2rem;font-weight:900;letter-spacing:-.05em;color:var(--violet)}.danger-panel{background:#fffaf8;border-color:#f0dcda}.danger-panel h2{color:#873e46}
.admin-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 28px}.admin-shortcuts a{text-decoration:none;font-size:.83rem;font-weight:800;padding:9px 14px;border-radius:99px;background:#fff;border:1px solid #dfd3e8;color:var(--violet)}.admin-shortcuts a:hover{background:var(--lav)}.admin-panel{margin:0 0 28px;scroll-margin-top:25px}.admin-panel .panel-head h2{font-size:1.64rem;margin:5px 0}.admin-panel>p{font-size:.9rem}.admin-list{display:grid;gap:13px;margin-top:19px}.manage-item{background:#fffdf9;border:1px solid var(--line);border-radius:18px;padding:20px;min-width:0}.manage-item.compact{display:flex;align-items:center;flex-wrap:wrap;gap:14px;justify-content:space-between}.manage-item.compact>div{min-width:0;flex:1}.manage-item.compact p{width:100%;font-size:.87rem}.manage-item-head{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.manage-item-head>div{flex:1;min-width:170px}.manage-item small{display:block;color:var(--muted);font-size:.78rem}.manage-item .form-field{margin-bottom:8px}.manage-item .btn{align-self:start}.editor-disclosure,.sub-details,.danger-details{margin-top:15px;border:1px solid #d9cde6;border-radius:15px;background:#fff;padding:15px}.editor-disclosure>summary,.sub-details>summary,.danger-details>summary{font-weight:850;cursor:pointer;color:var(--violet);list-style:none}.editor-disclosure>summary{display:flex;justify-content:space-between}.editor-disclosure[open]>summary,.sub-details[open]>summary,.danger-details[open]>summary{margin-bottom:16px}.danger-details{border-color:#f0d5d0;background:#fff8f5}.danger-details>summary{color:#8e3833}.registration-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.registration-row form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.registration-row select{min-height:40px;border:1px solid #d7cce2;border-radius:9px;max-width:180px;padding:8px}.inline-actions{display:flex;gap:10px;align-items:center}.inline-actions a{font-weight:750;color:var(--violet2)}.user-card-head{display:flex;gap:13px;align-items:center;margin-bottom:18px}.user-card-head>div{min-width:0;overflow-wrap:anywhere}.search-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.search-form .form-field{flex:1;min-width:170px}.page-key-list{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0}.page-key-list a{padding:8px 11px;border-radius:9px;background:var(--lav);color:var(--violet);font-size:.78rem;text-decoration:none;font-weight:750}.page-key-list a.selected{background:var(--orange)}.muted-panel{background:var(--sage-bg);border-radius:17px;padding:20px;margin-top:15px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:22px 0}.media-item{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.media-item img{width:100%;height:100px;object-fit:cover}.media-item code{display:block;font-size:.65rem;overflow-wrap:anywhere;padding:8px}.site-footer{background:var(--violet);border-top:8px solid var(--orange);color:#fff;margin-top:45px;padding:66px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:35px}.site-footer h3{color:#fff;font-size:1.02rem;margin-bottom:17px}.site-footer p{color:#e5dcf2;font-size:.91rem}.site-footer a{display:block;color:#fff4dc;text-decoration:none;margin-bottom:10px;font-size:.9rem}.site-footer a:hover{text-decoration:underline}.footer-brand{display:flex!important;gap:13px;align-items:center;font-size:1.5rem!important;font-weight:900}.footer-brand img{background:#fff;border-radius:15px;width:63px;height:63px;object-fit:contain}.footer-bottom{border-top:1px solid #ffffff3b;padding-top:20px;margin-top:45px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.77rem;color:#e1d6f0}.privacy h2{font-size:1.45rem}
@media(max-width:1220px){.main-nav{gap:11px}.brand{min-width:172px}.main-nav a{font-size:.8rem}.header-actions .btn-ghost{display:none}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell{grid-template-columns:225px minmax(0,1fr);gap:20px}}
@media(max-width:980px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:2px solid var(--orange);padding:18px 25px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{font-size:1rem;padding:12px}.nav-toggle{display:block;order:3}.header-content{min-height:83px}.header-actions{margin-left:auto}.dashboard-shell{grid-template-columns:1fr}.dashboard-nav{position:static}.dashboard-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-brand{padding-bottom:13px}.dashboard-main{width:100%}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.hero{min-height:570px}.hero-content{padding-block:80px}.hero h1{font-size:clamp(3.5rem,12vw,5rem)}.hero-sticker{display:none}.split-feature,.newsletter-layout,.home-updates,.contact-grid,.auth-wrap,.dashboard-grid,.info-strip{grid-template-columns:1fr}.split-feature img{height:310px}.auth-illustration{min-height:230px;border-radius:22px 22px 0 0}.auth-illustration>div{bottom:18px;left:25px}.auth-illustration h2{font-size:2.6rem}.auth-panel{border-radius:0 0 22px 22px}.objective-grid,.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.objective-grid .carte-objectif{padding:17px;gap:14px}.objective-grid .carte-objectif>span{flex-basis:47px;height:47px}.section-heading{align-items:start;flex-direction:column}.event-card{grid-template-columns:1fr;gap:12px}.event-date{width:100px;height:90px}.page-layout{padding-top:40px;padding-bottom:65px}.form-grid{grid-template-columns:1fr}.footer-grid{gap:20px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.wrap{padding-inline:18px}.header-content{gap:9px}.brand{min-width:0}.brand img{width:45px;height:45px}.brand strong{font-size:1.25rem}.brand small{font-size:.5rem}.header-actions .btn-dark{font-size:.75rem;padding:7px 10px}.user-menu summary{font-size:.8rem}.user-menu .avatar{width:29px;height:29px}.user-menu-list{min-width:190px}.action-grid,.article-grid,.people-grid{grid-template-columns:1fr}.partner-grid{gap:9px}.partner{padding:16px;height:95px}.partner img{max-height:54px}.objective-grid{grid-template-columns:1fr}.dashboard-nav nav{grid-template-columns:1fr}.dashboard-main .panel{padding:18px}.manage-item{padding:15px}.search-form .btn{width:100%}.registration-row form{width:100%}.registration-row select{flex:1}.event-card{padding:20px}.footer-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V2 — Contenu sur toute la largeur utile des pages ; conserve une marge de lecture. */
.page-layout:not(.narrow) > .reading,
.page-layout:not(.narrow) > .reading :is(p,div,ul,ol,blockquote,table) {max-width:100%;}
.page-layout:not(.narrow) > .reading{width:100%;font-size:clamp(1.04rem,1.2vw,1.15rem);line-height:1.85;overflow-wrap:anywhere;}
.page-layout:not(.narrow) > .reading > p{margin-bottom:1.25em;}
.page-layout .reading img{max-width:100%;height:auto;}
.reading .text-center,.editor-preview .text-center{text-align:center}
.reading .text-right,.editor-preview .text-right{text-align:right}
.reading .text-justify,.editor-preview .text-justify{text-align:justify}
.reading .editor-table,.editor-canvas .editor-table{border-collapse:collapse;width:100%;margin:20px 0}
.reading .editor-table :is(td,th),.editor-canvas .editor-table :is(td,th){border:1px solid #ddcedd;padding:12px;min-width:40px}
.reading .editor-table th{background:#f3ecfa}

/* Les huit objectifs redeviennent de vraies cartes avec la fleur originale d'Ekolondoï. */
.objective-grid{gap:18px;align-items:stretch;}
.objective-grid .objective-card{display:flex;align-items:flex-start;gap:22px;min-height:166px;padding:clamp(22px,2.1vw,29px);background:#fffefa;border:1px solid #dce9ce;border-radius:24px;box-shadow:0 12px 34px #34235309;min-width:0;}
.objective-flower{display:grid;place-items:center;flex:0 0 82px;width:82px;height:82px;background:#f0f7e6;border:1px solid #d9ebc4;border-radius:24px;}
.objective-flower img{display:block;width:64px;height:64px;object-fit:contain}
.objective-description{min-width:0;align-self:center;}
.objective-description p{margin:0;color:#3e3943;font-size:1.01rem;line-height:1.67;overflow-wrap:anywhere}
.objective-grid .objective-card:nth-child(4n+2) .objective-flower{background:#fff0da;border-color:#f5dfb9}
.objective-grid .objective-card:nth-child(4n+3) .objective-flower{background:#eee7f9;border-color:#dfd1f4}
.objective-grid .objective-card:nth-child(4n+4) .objective-flower{background:#f6f9e8}
@media(max-width:920px){.objective-grid{grid-template-columns:minmax(0,1fr)}.objective-grid .objective-card{min-height:0}}
@media(max-width:530px){.objective-grid .objective-card{padding:17px;gap:15px;border-radius:18px}.objective-flower{width:62px;height:62px;flex-basis:62px;border-radius:18px}.objective-flower img{width:48px;height:48px}.objective-description p{font-size:.96rem}}

/* V2 — Éditeur visuel privé, local, sans CDN externe. */
[hidden]{display:none!important}
.visual-editor{--editor-stroke:#ded4e8;--editor-purple:#3c295f;background:#fff;border:1px solid var(--editor-stroke);border-radius:22px;padding:clamp(12px,2vw,24px);margin:18px 0 22px;min-width:0;box-shadow:0 10px 30px #3c295f0b}
.visual-editor .editor-toolbar,.visual-editor .editor-tools-secondary,.visual-editor .editor-media-tools{display:none}
.visual-editor.js-ready .editor-toolbar{display:flex}
.visual-editor.js-ready .editor-tools-secondary{display:flex}
.visual-editor .editor-toolbar{position:sticky;top:0;z-index:12;background:#f5f0fa;border:1px solid #e4d9ee;border-radius:14px;padding:10px;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:10px;box-shadow:0 8px 20px #3c295f0a}
.editor-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:37px;min-height:38px;border:1px solid transparent;background:#fff;border-radius:9px;color:#3c295f;font-size:.86rem;font-weight:750;cursor:pointer;padding:6px 9px}
.editor-toolbar button:hover{background:#fff0d7;border-color:#edc78a}
.editor-toolbar button:focus-visible,.editor-mode:focus-visible{outline:3px solid #ff9900;outline-offset:2px}
.editor-format-label{display:inline-flex;gap:7px;align-items:center;color:#5a4578;font-weight:800;font-size:.8rem;margin-right:4px}
.editor-format-label select{min-height:37px;border:1px solid #dbcce9;border-radius:9px;color:#3c295f;background:white;padding:5px 8px;max-width:150px}
.editor-tool-divider{width:1px;height:26px;background:#d3c3e1;margin:0 5px}
.editor-tools-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:10px}
.editor-mode{padding:8px 13px;border-radius:9px;border:1px solid #ded2e9;background:#fff;color:#513e69;cursor:pointer;font-weight:800;font-size:.83rem}
.editor-mode.active{background:#3c295f;color:#fff;border-color:#3c295f}
.editor-status{color:#715f6f;font-size:.77rem;margin-left:auto;font-weight:600}
.editor-paper{border-radius:13px;background:#fff;border:1px solid #e9e2ec;min-height:300px;padding:clamp(20px,3vw,42px)}
.visual-editor .editor-canvas{min-height:275px;width:100%;max-width:none;outline:none;color:#322b38;line-height:1.7;overflow-wrap:anywhere}
.visual-editor .editor-canvas:focus{box-shadow:inset 0 0 0 2px #dac7ef;border-radius:7px}
.editor-canvas img,.editor-preview img{height:auto;max-width:100%;margin:14px auto;border-radius:13px}
.editor-preview{width:100%;max-width:none;min-height:220px;overflow-wrap:anywhere}
.editor-preview :is(h2,h3,h4),.editor-canvas :is(h2,h3,h4){color:#3c295f;margin:1.2em 0 .5em}
.editor-preview p,.editor-canvas p{margin:0 0 1.1em}
.editor-source-label{margin:14px 0 8px!important}
.visual-editor.js-ready .editor-source-label{display:none}
.visual-editor.js-ready[data-mode="source"] .editor-source-label{display:grid}
.editor-source{font:normal .86rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace!important;min-height:340px;white-space:pre-wrap}
.editor-helper{font-size:.81rem!important;line-height:1.6;color:#6c6574;margin:11px 0 4px}
.editor-media-tools{display:grid!important;grid-template-columns:minmax(0,1fr);gap:9px;padding:18px;background:#f1f7e9;border:1px solid #d6e8c8;border-radius:13px;margin-bottom:12px}
.editor-media-tools[hidden]{display:none!important}
.editor-media-tools .form-field{margin-bottom:4px}
.editor-media-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.editor-upload-label{display:inline-flex;align-items:center;gap:9px;font-size:.84rem;font-weight:750;color:#3b295f;cursor:pointer}
.editor-upload-input{max-width:235px;font-size:.75rem}
.editor-objectives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.editor-objective-card{display:flex;align-items:flex-start;gap:16px;padding:18px;border:1px solid #dbe9ca;border-radius:16px;background:#fbfff5;min-width:0}
.editor-objective-card .objective-flower{width:64px;height:64px;flex-basis:64px}
.editor-objective-card .objective-flower img{width:49px;height:49px}
.editor-goal-text{flex:1;min-width:0;min-height:87px;line-height:1.6;padding:10px;border:1px dashed #b5c99e;border-radius:8px;background:white;outline:none;overflow-wrap:anywhere}
.editor-goal-text:focus{border-color:#6d4aa8;box-shadow:0 0 0 2px #6d4aa833}
.editor-preview .editor-objectives{margin:0}
@media(max-width:1000px){.editor-objectives{grid-template-columns:1fr}}
@media(max-width:560px){.visual-editor{padding:10px;border-radius:15px}.editor-paper{padding:14px}.editor-toolbar{gap:4px}.editor-tool-divider{display:none}.editor-status{width:100%;margin-left:0}.editor-upload-label{flex-direction:column;align-items:flex-start}}
.editor-media-preview img{height:130px;width:min(280px,100%);object-fit:contain;object-position:left center;background:white;border:1px solid #dfe8d4;border-radius:10px;padding:8px}
.editor-section-title{display:block;font-weight:800;color:var(--violet);margin:12px 0 0}
.editor-page-context{padding:12px 16px;background:#f0f7e8;border-radius:12px;border:1px solid #dbe9cb;color:#484152;font-size:.87rem}
.edit-context-links{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:24px}
.edit-context-links a{display:inline-flex;align-items:center;min-height:37px;padding:6px 13px;border-radius:999px;text-decoration:none;background:#f0e8fa;border:1px solid #ddcce9;color:#3c295f;font-weight:750;font-size:.79rem}
.edit-context-links a:hover{background:#ffe8c3;border-color:#ffc166}

/* V3 — Harmonisation visuelle des objectifs. */
.objective-grid{gap:20px;align-items:stretch}
.objective-grid .objective-card{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:flex-start;gap:22px;min-height:0}
.objective-grid .objective-card .objective-flower{margin-top:0}
.objective-grid .objective-card .objective-description{padding-top:4px;align-self:flex-start;display:block}
.objective-grid .objective-card .objective-description p{margin:0;min-height:0}
@media(max-width:530px){.objective-grid .objective-card{grid-template-columns:62px minmax(0,1fr);gap:14px}.objective-grid .objective-card .objective-description{padding-top:1px}}

/* V3 — Rendu des médias et embeds dans les contenus. */
.reading figure.media-block,.editor-canvas figure.media-block,.editor-preview figure.media-block{margin:24px 0 28px}
.reading figure.media-block img,.editor-canvas figure.media-block img,.editor-preview figure.media-block img{display:block;width:100%;height:auto;border-radius:18px}
.reading figure.media-block figcaption,.editor-canvas figure.media-block figcaption,.editor-preview figure.media-block figcaption{margin-top:10px;font-size:.88rem;line-height:1.55;color:#6a6372}
.reading figure.media-block.align-left,.editor-canvas figure.media-block.align-left,.editor-preview figure.media-block.align-left{margin-right:auto;text-align:left}
.reading figure.media-block.align-center,.editor-canvas figure.media-block.align-center,.editor-preview figure.media-block.align-center{margin-left:auto;margin-right:auto;text-align:center}
.reading figure.media-block.align-right,.editor-canvas figure.media-block.align-right,.editor-preview figure.media-block.align-right{margin-left:auto;text-align:right}
.reading figure.media-block.size-small,.editor-canvas figure.media-block.size-small,.editor-preview figure.media-block.size-small{max-width:280px}
.reading figure.media-block.size-medium,.editor-canvas figure.media-block.size-medium,.editor-preview figure.media-block.size-medium{max-width:460px}
.reading figure.media-block.size-large,.editor-canvas figure.media-block.size-large,.editor-preview figure.media-block.size-large{max-width:760px}
.reading figure.media-block.size-full,.editor-canvas figure.media-block.size-full,.editor-preview figure.media-block.size-full{max-width:none;width:100%}
.reading .video-embed,.editor-canvas .video-embed,.editor-preview .video-embed{position:relative;width:100%;max-width:900px;margin:26px auto;padding-top:56.25%;border-radius:22px;overflow:hidden;background:#1f1a29;box-shadow:var(--shadow)}
.reading .video-embed iframe,.editor-canvas .video-embed iframe,.editor-preview .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* V3 — Éditeur enrichi. */
.editor-paper{overflow:hidden}
.editor-preview,.editor-canvas{max-width:none}
.media-library-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.media-library-backdrop{position:absolute;inset:0;background:#241a34a6;backdrop-filter:blur(2px)}
.media-library-dialog{position:relative;width:min(1100px,100%);max-height:min(88vh,920px);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:16px;background:#fffdfb;border:1px solid #e2d7ea;border-radius:26px;box-shadow:0 25px 70px #241a3430;padding:24px;overflow:hidden}
.media-library-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px}
.media-library-head h2{margin:6px 0 8px;font-size:2rem}
.media-library-head p{margin:0;max-width:720px}
.media-library-tools{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:14px;align-items:end}
.media-library-tools .editor-helper{grid-column:1/-1;margin:0}
.media-library-upload{min-height:50px;padding:11px 14px;border-radius:14px;border:1px solid #d9cde6;background:#f6f1fb;justify-content:center;font-weight:800}
.media-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;overflow:auto;padding-right:4px}
.media-library-item{display:grid;gap:8px;text-align:left;padding:10px;border:1px solid #e2ddd4;background:#fff;border-radius:16px;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s;min-width:0}
.media-library-item:hover{transform:translateY(-2px);border-color:#cfc3e3;box-shadow:var(--shadow)}
.media-library-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#f5f0e6}
.media-library-item .media-library-name{font-weight:800;color:var(--violet);font-size:.86rem;overflow-wrap:anywhere}
.media-library-item small{color:var(--muted)}
.article-cover-picker{margin:10px 0 18px}
.article-cover-box{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:18px;padding:18px;border:1px solid #dfd7cb;background:#fff;border-radius:18px}
.article-cover-preview{display:grid;place-items:center;min-height:180px;border-radius:16px;background:#f5f0e8;border:1px dashed #d8d0c3;overflow:hidden}
.article-cover-preview img{width:100%;height:100%;max-height:240px;object-fit:cover}
.article-cover-placeholder{padding:18px;text-align:center;color:#6d6572;font-weight:600}
.article-cover-meta{display:grid;align-content:start;gap:10px}
.article-cover-meta p{margin:0;font-size:.92rem}
.article-cover-meta code{display:block;padding:10px 12px;border-radius:10px;background:#f7f4ef;border:1px solid #e7ddd0;font-size:.78rem;overflow-wrap:anywhere;color:#5f5364}
@media(max-width:980px){.media-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-cover-box{grid-template-columns:1fr}.media-library-tools{grid-template-columns:1fr}}
@media(max-width:720px){.media-library-dialog{padding:18px;border-radius:20px}.media-library-head{flex-direction:column}.media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.media-library-grid{grid-template-columns:1fr}.media-library-modal{padding:10px}}

/* V4 — couleurs de texte limitées à la palette et conservées par le filtre HTML. */
.reading .text-color-purple,.editor-canvas .text-color-purple,.editor-preview .text-color-purple{color:#6749a4}
.reading .text-color-orange,.editor-canvas .text-color-orange,.editor-preview .text-color-orange{color:#bd6500}
.reading .text-color-green,.editor-canvas .text-color-green,.editor-preview .text-color-green{color:#336b3b}
.reading .text-color-blue,.editor-canvas .text-color-blue,.editor-preview .text-color-blue{color:#2b5c9b}
.reading .text-color-red,.editor-canvas .text-color-red,.editor-preview .text-color-red{color:#a42f32}
.reading .text-color-grey,.editor-canvas .text-color-grey,.editor-preview .text-color-grey{color:#657081}
.editor-color-label{display:inline-flex;align-items:center;gap:8px;color:#5a4578;font-size:.81rem;font-weight:800}
.editor-color-label select{border:1px solid #dacde9;border-radius:9px;background:#fff;min-height:38px;padding:7px;color:#342353;max-width:190px}
.editor-canvas figure.media-block.is-selected{outline:3px solid #ff9900;outline-offset:4px;border-radius:18px}
.editor-canvas figure.media-block img{cursor:pointer}
.library-open{overflow:hidden}
.media-library-dialog{grid-template-rows:auto auto auto minmax(0,1fr)}
.media-library-tabs{display:flex;gap:9px;flex-wrap:wrap}
.media-library-tab{background:#fff;border:1px solid #dfd4e8;padding:9px 16px;border-radius:999px;color:#6749a4;font-size:.86rem;font-weight:800;cursor:pointer}
.media-library-tab.active{background:#6749a4;color:#fff;border-color:#6749a4}
.media-library-document{min-height:170px;align-content:start}
.media-library-file-icon{display:grid;place-items:center;min-height:98px;background:#eff7e6;color:#3d6c36;border:1px solid #d8e6c9;border-radius:12px;font-size:.9rem;font-weight:850}
.admin-pagination{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid #eee4d8;margin:16px 0 0;padding:15px 0 4px}
.admin-pagination .page-count{color:#6c6174;font-size:.84rem;font-weight:650;margin-right:auto}
.admin-pagination a{display:inline-flex;justify-content:center;align-items:center;min-height:40px;min-width:40px;padding:8px 13px;border:1px solid #ddd3e8;border-radius:12px;background:#fff;color:#493078;text-decoration:none;font-size:.86rem;font-weight:800}
.admin-pagination a:hover,.admin-pagination a[aria-current=page]{background:#6749a4;color:#fff;border-color:#6749a4}
@media(max-width:650px){.admin-pagination .page-count{width:100%}.media-library-dialog{grid-template-rows:auto auto auto minmax(0,1fr)}}

.reading .video-consent{display:grid;place-content:center;justify-items:center;gap:16px;background:#342353;color:#fff;min-height:280px;border-radius:22px;padding:35px;text-align:center;margin:25px 0}
.reading .video-consent p{color:#fff;max-width:540px;margin:0}
.reading .video-consent .btn{background:#ff9900;color:#342353}
.reading .video-consent-loaded{position:relative;display:block;min-height:0;padding:56.25% 0 0;background:#1e1729;overflow:hidden}
.reading .video-consent-loaded iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* V5 — Barre de couleur visible, menu contextuel et gestion des médias. */
.visual-editor{position:relative}
.editor-color-label{display:inline-flex;align-items:center;gap:9px;background:#fff8e9;border:1px solid #eccb94;border-radius:10px;padding:4px 8px;color:#3c295f;font-size:.85rem;font-weight:800;min-height:39px}
.editor-color-label select,.editor-context-color select{min-width:95px;min-height:32px;border:1px solid #d9cce6;border-radius:8px;padding:5px 7px;background:#fff;color:#3c295f;font-weight:700}
.editor-context-menu{position:absolute;z-index:3000;width:min(245px,100%);max-height:70vh;overflow:auto;background:#fffdf8;border:1px solid #d9c9e7;border-radius:15px;padding:8px;box-shadow:0 16px 42px rgba(46,30,72,.23);display:grid;gap:2px}
.editor-context-menu[hidden]{display:none!important}
.editor-context-menu button,.editor-context-color{display:block;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:9px 11px;color:#342353;font-size:.86rem;font-weight:700;cursor:pointer}
.editor-context-menu button:hover{background:#f1eafb}
.editor-context-menu button:disabled{opacity:.35;cursor:not-allowed}
.editor-context-color{display:grid;gap:5px;border-top:1px solid #e9e1ed;margin:3px 0}
.media-library-tools{grid-template-columns:minmax(0,1.2fr) minmax(170px,.75fr) auto}
.media-library-selected{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:9px 12px;border-radius:12px;background:#edf5e5;color:#3c295f;font-size:.82rem;grid-column:1/-1}
.media-library-selected-label{flex:1;min-width:150px}
.media-library-name-label{margin:0!important}
.partner-band{display:flex;align-items:center;justify-content:center;column-gap:clamp(12px,1.5vw,22px);row-gap:14px;flex-wrap:wrap;border-top:1px solid #e5dfd0;border-bottom:1px solid #e5dfd0;padding:clamp(25px,4vw,46px) 10px;background:transparent}
.partner-logo{display:flex;align-items:center;justify-content:center;flex:0 1 130px;min-width:85px;max-width:145px;height:86px}
.partner-logo img{width:100%;height:100%;object-fit:contain;filter:grayscale(100%);opacity:.69;transition:filter .3s ease,opacity .3s ease,transform .3s ease}
.partner-logo img:hover,.partner-logo img:focus-visible{filter:grayscale(0);opacity:1;transform:scale(1.06)}
@media(max-width:850px){.media-library-tools{grid-template-columns:1fr 1fr}.media-library-upload{align-self:end}}
@media(max-width:570px){.media-library-tools{grid-template-columns:1fr}.partner-logo{height:68px;flex-basis:100px}.editor-color-label{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.partner-logo img{transition:none}}

/* V7 — Renommage explicite et galerie publique unifiée. */
.media-library-selected{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}
.media-library-selection-help{display:grid;gap:4px;min-width:0;flex:1}
.media-library-selection-help strong{color:var(--violet);font-size:.9rem}
.media-library-selection-help small{color:#5e5765;line-height:1.5}
.media-library-selection-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.media-library-item.is-selected{border:2px solid #6749a4;background:#f3ecff;box-shadow:0 0 0 3px #6749a426}
.media-library-item[aria-pressed="true"] .media-library-name{color:#3c295f}
.media-library-item:focus-visible{outline:3px solid #ff9900;outline-offset:2px}
.media-library-tools .media-library-name-label{min-width:0}
.media-admin-filters{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr) minmax(170px,1.3fr) auto auto;align-items:end;gap:12px;margin:22px 0 16px;padding:17px;background:#f6f0fb;border:1px solid #e1d5eb;border-radius:19px}
.media-admin-filters .form-field{margin:0}
.media-admin-filters .btn{align-self:end}
.media-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.media-admin-item{min-width:0;display:grid;grid-template-rows:auto auto 1fr;gap:14px;padding:14px;border:1px solid #e1d7e8;background:#fff;border-radius:20px;box-shadow:0 7px 23px #3423530a}
.media-admin-thumb{height:170px;display:grid;place-items:center;overflow:hidden;background:#f2f5e9;border-radius:14px}
.media-admin-thumb img{width:100%;height:100%;object-fit:contain}
.media-admin-filetype{display:grid;place-items:center;width:90px;height:108px;border:2px solid #adc792;border-radius:14px;background:#e3f0d5;color:#315c2f;font-weight:900;font-size:1.1rem}
.media-admin-details{display:grid;gap:5px;min-width:0}
.media-admin-details strong{color:var(--violet);font-size:.95rem;overflow-wrap:anywhere}
.media-admin-details small{color:#71697a;line-height:1.45;overflow-wrap:anywhere}
.media-admin-rename{display:grid;align-self:end;gap:8px;padding-top:10px;border-top:1px solid #ece5de}
.media-admin-rename .form-field{margin:0}
.media-admin-rename .form-field input{width:100%;min-width:0}
.media-admin-rename .btn{width:100%}
@media(max-width:1140px){.media-admin-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.media-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.media-admin-filters{grid-template-columns:1fr}.media-admin-grid{grid-template-columns:1fr}.media-library-selection-actions{width:100%}.media-library-selection-actions .btn{flex:1 1 140px}.media-library-selected{align-items:stretch;flex-direction:column}}


/* V8 — navigation accessible au défilement, rythmes verticaux resserrés. */
html{scroll-padding-top:105px}
.site-header{position:sticky;top:0;z-index:250;background:var(--cream);box-shadow:0 5px 16px rgba(60,41,95,.07)}
.header-content{min-height:82px;gap:clamp(10px,1.35vw,20px)}
.brand img{width:54px;height:54px}
.brand{min-width:175px}
.brand strong{font-size:1.48rem}
.section{padding-block:clamp(42px,5.2vw,72px)}
.section-heading{margin-bottom:24px}
.hero{min-height:570px}
.hero-content{padding-block:72px}
.hero-buttons{margin-top:23px}
.action-body{min-height:160px;padding:20px 20px}
.action-photo{height:190px}
.split-feature{gap:clamp(24px,5vw,72px)}
.split-feature img{height:370px}
.split-feature h2{margin:12px 0 16px}
.white-panel,.panel{padding:clamp(20px,2.4vw,28px)}
.update-row{padding:14px 0}
.newsletter-box{padding:25px}
.page-layout{padding-top:44px;padding-bottom:64px}
.page-intro{margin-bottom:28px}
.wide-photo{margin-bottom:30px}
.subhead{margin-top:44px}
.info-strip{margin-top:52px;padding:27px}
.group-title{margin:40px 0 16px}
.dashboard-shell{padding-top:33px;padding-bottom:65px}
.dashboard-nav{top:106px}
.dashboard-heading{padding:12px 0}
.dashboard-heading h1{margin:9px 0}
.admin-panel{scroll-margin-top:105px;margin-bottom:23px}
.site-footer{margin-top:26px;padding:38px 0 14px;border-top-width:6px}
.footer-grid{gap:clamp(15px,2.4vw,28px)}
.site-footer h3{margin-bottom:10px}
.site-footer p{margin-bottom:8px;line-height:1.55}
.site-footer a{margin-bottom:6px;line-height:1.5}
.footer-brand img{width:52px;height:52px}
.footer-bottom{margin-top:24px;padding-top:14px}
/* Bandeau de logos partenaires : blanc, une ligne sur ordinateur portable. */
.partners{background:#fff;border-top:1px solid #e8e5db;border-bottom:1px solid #e8e5db}
.partners .section-heading{margin-bottom:20px}
.partner-band{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;align-items:center;justify-items:center;padding:12px 0;background:#fff;border:0}
.partner-logo{width:100%;min-width:0;max-width:none;height:78px;padding:4px}
.partner-logo img{display:block;max-width:100%;max-height:68px;width:100%;height:100%;object-fit:contain;filter:grayscale(100%);opacity:.76;transition:filter .22s,opacity .22s,transform .22s}
.partner-logo:hover img,.partner-logo img:hover,.partner-logo img:focus-visible{filter:grayscale(0);opacity:1;transform:scale(1.035)}
.editor-toolbar .editor-align-button{padding:7px 11px;min-width:auto;font-size:.8rem;white-space:nowrap}
@media(max-width:1050px){.header-content{min-height:76px}.partner-logo{height:70px}}
@media(max-width:880px){.partner-band{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:14px;row-gap:7px}.partner-logo{height:66px}}
@media(max-width:720px){.hero{min-height:510px}.hero-content{padding-block:62px}.section{padding-block:42px}.page-layout{padding-top:30px;padding-bottom:48px}.dashboard-shell{padding-top:25px;padding-bottom:50px}.dashboard-nav{top:auto}.footer-grid{gap:22px}.site-footer{padding-top:35px}.header-content{min-height:70px}.main-nav{max-height:calc(100dvh - 72px);overflow-y:auto}}
@media(max-width:500px){.partner-band{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:6px}.partner-logo{height:68px}.brand img{width:43px;height:43px}.header-content{min-height:65px}.footer-bottom{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.partner-logo img{transition:none}}

/* V9 — Accueil : sous-titre plus discret et accès direct à l'adhésion. */
.hero h1 .hero-tagline{display:block;margin-top:14px;color:#ffcc99;font-size:clamp(1.42rem,2.75vw,2.55rem);font-weight:650;letter-spacing:-.025em;line-height:1.25}
.hero-buttons .btn-hero-outline{background:transparent;border-color:#fff9eb99;color:#fffdf6}
.hero-buttons .btn-hero-outline:hover{background:#fffdf61a;border-color:#fffdf6}
@media(max-width:500px){.hero h1 .hero-tagline{font-size:clamp(1.22rem,5.5vw,1.65rem);line-height:1.32;margin-top:12px}}


/* V10 — Partenaires accolés au pied de page sur l’accueil. */
main.home-page + .site-footer{margin-top:0}

/* V10 — Icônes sociales discrètes dans le pied de page. */
.footer-socials{display:flex;align-items:center;gap:10px;margin-top:14px}
.site-footer .footer-socials a{width:42px;height:42px;display:grid;place-items:center;margin:0;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.08);color:#fff4dc;text-decoration:none;transition:background .18s,transform .18s,border-color .18s}
.site-footer .footer-socials a:hover,.site-footer .footer-socials a:focus-visible{background:#ff9900;border-color:#ff9900;color:#35254c;transform:translateY(-2px)}
.footer-socials svg{width:23px;height:23px;fill:currentColor}

/* V10 — Fenêtre adhésion HelloAsso, chargée sur demande explicite. */
.helloasso-modal[hidden]{display:none!important}
body.helloasso-modal-open{overflow:hidden}
.helloasso-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(10px,2vw,24px)}
.helloasso-backdrop{position:absolute;inset:0;background:rgba(30,19,46,.72);backdrop-filter:blur(4px)}
.helloasso-dialog{position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(920px,100%);max-height:min(94dvh,1020px);min-height:min(620px,88dvh);overflow:hidden;border-radius:24px;border:1px solid #e5d9ef;background:#fffdf8;box-shadow:0 30px 90px rgba(24,14,39,.38)}
.helloasso-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 28px 16px;border-bottom:1px solid #e9dfd4}
.helloasso-dialog-head .eyebrow{font-size:.72rem}
.helloasso-dialog-head h2{font-size:clamp(1.4rem,3.5vw,2.15rem);color:var(--violet);margin:5px 0 8px}
.helloasso-dialog-head p{font-size:.9rem;margin:0}
.helloasso-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#f5edf9;color:var(--violet);border:1px solid #dbcce9;cursor:pointer;font-size:1.9rem;line-height:1}
.helloasso-close:hover{background:#ffe5bf}
.helloasso-frame-area{display:flex;flex:1 1 auto;min-height:320px;flex-direction:column;background:#fff;overflow:auto}
.helloasso-frame-message{padding:10px 24px;font-size:.82rem;color:#594a69;background:#eff7e8;border-bottom:1px solid #d6e5c8}
.helloasso-iframe{display:block;min-height:420px;width:100%;flex:1 1 auto;border:0;background:white}
.helloasso-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 24px;border-top:1px solid #e9dfd4}
.helloasso-dialog-foot p{font-size:.78rem;max-width:560px;margin:0;color:#645968}
.helloasso-dialog-foot .btn{white-space:nowrap}
@media(max-width:640px){.helloasso-dialog{max-height:96dvh;min-height:0;height:96dvh;border-radius:16px}.helloasso-dialog-head{padding:16px}.helloasso-dialog-head h2{font-size:1.45rem}.helloasso-dialog-head p{font-size:.8rem}.helloasso-frame-message{padding:9px 14px}.helloasso-dialog-foot{padding:12px 14px}.helloasso-dialog-foot p{font-size:.76rem}.helloasso-dialog-foot .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.footer-socials a{transition:none!important}}


/* V11 — Médiathèque : cinq sections explicites ; plus de compression de la zone de sélection. */
.media-library-dialog {
  height: min(90dvh, 920px);
  max-height: calc(100dvh - 20px);
  grid-template-rows: auto auto auto auto minmax(130px, 1fr);
  min-height: 0;
}
.media-library-selected {
  grid-column: auto;
  width: 100%;
  min-width: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  overflow: visible;
}
.media-library-selection-help {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 5px;
}
.media-library-selection-help strong,
.media-library-selection-help small { display: block; line-height: 1.45; }
.media-library-selection-help small { font-size: .79rem; }
.media-library-selection-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}
.media-library-selection-actions .btn { min-height: 42px; }
.media-library-dialog > .media-library-grid {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  padding-bottom: 10px;
}
@media (max-width: 880px) {
  .media-library-selected {grid-template-columns: minmax(0,1fr); gap: 12px;}
  .media-library-selection-actions {justify-content: flex-start;}
}
@media (max-width: 700px) {
  .media-library-dialog {
    height: min(96dvh, 960px);
    max-height: calc(100dvh - 12px);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    gap: 12px;
  }
  .media-library-head,
  .media-library-tabs,
  .media-library-tools,
  .media-library-selected {flex: 0 0 auto;}
  .media-library-dialog > .media-library-grid {
    min-height: 180px;
    flex: 1 0 200px;
    overflow: visible;
  }
  .media-library-selection-actions {width: 100%;}
  .media-library-selection-actions .btn {flex: 1 1 150px;}
}

/* V11 — En-tête réellement fixe sur Mon espace, Mes informations et Gestion. */
body.is-dashboard-page {padding-top: 82px;}
body.is-dashboard-page .site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 250;
}
body.is-dashboard-page .dashboard-nav {top: 106px;}
body.is-dashboard-page .visual-editor .editor-toolbar {top: 92px;}
@media (max-width: 1050px) {
  body.is-dashboard-page {padding-top: 76px;}
  body.is-dashboard-page .dashboard-nav {top: 98px;}
  body.is-dashboard-page .visual-editor .editor-toolbar {top: 85px;}
}
@media (max-width: 720px) {
  body.is-dashboard-page {padding-top: 70px;}
  body.is-dashboard-page .dashboard-nav {top: auto;}
  body.is-dashboard-page .visual-editor .editor-toolbar {top: 75px;}
}
@media (max-width: 500px) {
  body.is-dashboard-page {padding-top: 65px;}
  body.is-dashboard-page .visual-editor .editor-toolbar {top: 70px;}
}

/* R8 — Rubriques de gestion accessibles même en bas des longues pages.
   Un conteneur sticky distinct évite que l'overflow horizontal du menu
   n'empêche son positionnement vertical. Aucune incidence hors gestion. */
body.is-dashboard-page .admin-shortcuts-bar {
  position: sticky;
  top: calc(var(--eko-admin-header-height, 82px) + 8px);
  z-index: 130;
  max-width: 100%;
  margin: 16px 0 26px;
  padding: 6px;
  border: 1px solid #dfd3e8;
  border-radius: 17px;
  background: rgba(255, 250, 240, .98);
  box-shadow: 0 8px 23px rgba(60, 41, 95, .13);
}
body.is-dashboard-page .admin-shortcuts-bar .admin-shortcuts {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  margin: 0;
  padding: 5px 4px;
}
body.is-dashboard-page .admin-shortcuts-bar .admin-shortcuts a {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  text-align: center;
  padding: 8px 13px;
}
body.is-dashboard-page .admin-shortcuts-bar .admin-shortcuts a[aria-current="location"] {
  color: #fff;
  background: var(--violet);
  border-color: var(--violet);
}
body.is-dashboard-page .admin-shortcuts-bar .admin-shortcuts a:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: -2px;
}
body.is-dashboard-page .admin-panel {
  scroll-margin-top: calc(var(--eko-admin-header-height, 82px) + var(--eko-admin-nav-height, 64px) + 20px);
}
@media (max-width: 720px) {
  body.is-dashboard-page .admin-shortcuts-bar {
    margin: 12px 0 20px;
    padding: 5px;
    border-radius: 13px;
  }
  body.is-dashboard-page .admin-shortcuts-bar .admin-shortcuts a {
    min-height: 40px;
    padding: 8px 11px;
    font-size: .81rem;
  }
}
