:root{--blue:#00558f;--blue-dark:#003b66;--green:#007f67;--green-dark:#00604f;--ink:#172b3a;--muted:#526575;--bg:#fff;--soft:#eef8f8;--focus:#ffbf47;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:Arial,"Helvetica Neue",sans-serif;font-size:1rem;line-height:1.6}.wrap{width:min(var(--max),calc(100% - 2rem));margin-inline:auto}a{color:var(--blue-dark);text-decoration-thickness:.12em;text-underline-offset:.18em}a:hover{text-decoration-thickness:.18em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-10rem;background:#fff;color:#000;padding:.75rem 1rem;z-index:9999;font-weight:700}.skip-link:focus{top:1rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.utility{background:var(--blue-dark);color:#fff;font-size:.875rem}.utility-inner{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.45rem 0}.utility nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.utility a,.utility button{color:#fff}.utility button{border:1px solid #fff;background:transparent;border-radius:.25rem;padding:.35rem .6rem}.brand{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1rem 0}.brand-link img{display:block;max-width:min(720px,65vw);height:auto}.site-search{display:flex;max-width:360px}.site-search input{min-width:0;padding:.7rem;border:2px solid #b7c4cc;border-radius:.25rem 0 0 .25rem}.site-search button,.finder button{background:var(--green);color:#fff;border:0;padding:.7rem 1rem;font-weight:700;border-radius:0 .25rem .25rem 0}.main-nav{border-block:1px solid #d7e1e7;background:#fff}.menu{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0;flex-wrap:wrap}.menu a{display:block;padding:1rem .25rem;text-decoration:none;font-weight:700;color:var(--blue-dark)}.menu a:hover,.menu .current-menu-item>a{box-shadow:inset 0 -4px 0 var(--green)}.hero{background:linear-gradient(110deg,#fff 0 43%,#e8f4fb 43% 72%,var(--blue) 72%);padding:3.5rem 0}.hero-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:3rem;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--blue-dark);font-weight:700}.hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.95;margin:.4rem 0 1rem;color:var(--blue-dark)}.hero h1 span{color:var(--green)}.lead{font-size:1.15rem;max-width:60ch}.button{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:.75rem 1.1rem;border-radius:.4rem}.hero-quote{background:rgba(0,59,102,.92);color:#fff;padding:2rem;border-left:6px solid var(--green)}.hero-quote blockquote{font:italic 1.55rem/1.45 Georgia,serif;margin:0}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:2rem 0}.quick-card{border:1px solid #dbe6eb;border-radius:.5rem;padding:1.4rem;background:#fff}.quick-card:nth-child(even){background:var(--soft)}.quick-card h3{color:var(--blue-dark);line-height:1.15;font-size:1.3rem}.finder,.stats{background:var(--soft);padding:2rem 0}.finder-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem;align-items:center}.finder form label{display:block;font-weight:700;margin-bottom:.4rem}.search-row{display:flex}.search-row input{flex:1;min-width:0;border:2px solid #a9bbc5;padding:.75rem}.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.topics,.news{padding:2.5rem 0}.topics h2,.news h2,.stats h2{color:var(--blue-dark)}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.topic{min-height:90px;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;border:1px solid #d9e6eb;background:#f7fbfc;text-decoration:none;font-weight:700}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.news-card{border:1px solid #d9e3e8;border-radius:.4rem;overflow:hidden;background:#fff}.news-card img{width:100%;height:190px;object-fit:cover}.news-card>div{padding:1rem}.news-card h3{line-height:1.25}.meta{font-weight:700;color:var(--green-dark);font-size:.875rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-grid>div{padding:1rem;text-align:center;border-right:1px solid #c8d9df}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-size:1.5rem;color:var(--blue-dark)}.content{padding:3rem 0;max-width:900px}.page-header h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;color:var(--blue-dark)}.entry-content h2{margin-top:2rem;color:var(--blue-dark)}.entry-content a{text-decoration:underline}.site-footer{background:var(--blue-dark);color:#fff;padding:2.5rem 0 1rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:2rem}.site-footer h2{font-size:1.1rem;border-bottom:2px solid var(--green);padding-bottom:.4rem}.site-footer a{color:#fff}.site-footer ul{list-style:none;padding:0}.site-footer address{font-style:normal}.copyright{margin-top:2rem;border-top:1px solid rgba(255,255,255,.3);padding-top:1rem}.high-contrast{--blue:#00365f;--blue-dark:#001f3a;--green:#005c49;--green-dark:#004436;--ink:#000;--soft:#fff}.high-contrast a{text-decoration:underline}.high-contrast .quick-card,.high-contrast .topic,.high-contrast .news-card{border:2px solid #000}@media(max-width:900px){.brand{align-items:flex-start;flex-direction:column}.brand-link img{max-width:100%}.hero{background:#eef7fb}.hero-grid,.finder-grid{grid-template-columns:1fr}.quick,.topic-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){body{font-size:1rem}.utility-inner{align-items:flex-start;flex-direction:column}.menu{display:block}.menu a{padding:.7rem 0}.quick,.topic-grid,.stat-grid,.footer-grid{grid-template-columns:1fr}.search-row,.site-search{width:100%}.hero{padding:2rem 0}.hero-quote{padding:1.25rem}.section-head{align-items:flex-start;flex-direction:column}.stat-grid>div{border-right:0;border-bottom:1px solid #c8d9df}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* V2 — accueil photo et pages intérieures */
.hero-photo{position:relative;isolation:isolate;background-image:url('../images/palais-monthyon.jpg');background-size:cover;background-position:center 52%;padding:0;min-height:520px;color:#fff}.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,38,67,.93) 0%,rgba(0,38,67,.78) 31%,rgba(0,38,67,.20) 58%,rgba(0,38,67,.20) 73%,rgba(0,59,102,.86) 100%)}.hero-photo-grid{min-height:520px;display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,.55fr);gap:3rem;align-items:center}.hero-copy{max-width:560px;padding:2.25rem 0}.hero-photo .eyebrow,.hero-photo .lead,.hero-photo h1{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}.hero-photo h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.9;margin:.45rem 0 1.2rem}.hero-photo h1 span{color:#42d2ae}.hero-photo .button{background:#005a96;border:2px solid #fff}.hero-photo .button:hover{background:#003b66}.hero-photo .hero-quote{align-self:center;background:rgba(0,59,102,.9);border-left:6px solid #42d2ae}.hero-photo .hero-quote p{font-weight:700;margin-bottom:0}.card-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#d9edf8;color:var(--blue-dark);font-weight:800}.quick-card:nth-child(even) .card-icon{background:#d8f3eb;color:var(--green-dark)}.advanced{display:inline-block;margin-top:.5rem}.partners{padding:2.5rem 0}.interior-hero{background:linear-gradient(115deg,var(--blue-dark),var(--blue));color:#fff;padding:2.4rem 0}.interior-hero .eyebrow{color:#d7f7ef}.interior-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.05;margin:.35rem 0}.breadcrumbs{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.95rem}.breadcrumbs a{color:#fff}.page-intro{font-size:1.2rem;max-width:65ch}.interior-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,.8fr);gap:3rem;padding:3rem 0}.interior-layout .entry-content{max-width:78ch}.entry-content h2{font-size:1.8rem}.entry-content h3{color:var(--green-dark);font-size:1.35rem}.entry-content li+li{margin-top:.35rem}.page-aside{align-self:start;background:var(--soft);border-top:5px solid var(--green);padding:1.25rem;position:sticky;top:1rem}.page-aside h2{margin-top:0;color:var(--blue-dark);font-size:1.25rem}.page-aside ul{padding-left:1.2rem}.page-aside li+li{margin-top:.6rem}@media(max-width:900px){.hero-photo{background-position:center}.hero-overlay{background:rgba(0,38,67,.78)}.hero-photo-grid{grid-template-columns:1fr;gap:1rem}.hero-photo .hero-quote{margin-bottom:2rem}.interior-layout{grid-template-columns:1fr}.page-aside{position:static}}@media(max-width:600px){.hero-photo,.hero-photo-grid{min-height:auto}.hero-copy{padding:2rem 0 0}.hero-photo h1{font-size:3.25rem}.hero-photo .hero-quote{margin-top:0}.interior-hero{padding:1.75rem 0}}
/* V3 — annuaire et sous-pages métier */
.directory-lead{font-size:1.2rem;max-width:72ch}.directory-layout{padding:2.5rem 0 4rem}.directory-filter{background:#f2f8fa;border:1px solid #cddde4;border-top:5px solid var(--green);padding:1.4rem;margin-bottom:2rem}.directory-filter h2{margin-top:0;color:var(--blue-dark)}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.filter-grid p{margin:0}.filter-grid label{display:block;font-weight:700;margin-bottom:.35rem}.filter-grid input,.filter-grid select{width:100%;min-height:48px;border:2px solid #8298a5;background:#fff;padding:.65rem;border-radius:.2rem;font:inherit}.filter-keyword{grid-column:span 2}.filter-actions{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}.filter-actions .button{border:0;font:inherit}.results{display:grid;gap:1rem}.result-card{display:flex;justify-content:space-between;align-items:center;gap:2rem;border:1px solid #cedde4;border-left:5px solid var(--green);padding:1.25rem;background:#fff}.result-card h3{margin:.15rem 0;font-size:1.35rem}.result-kicker{margin:0;color:var(--green-dark);font-weight:700;text-transform:uppercase;font-size:.82rem;letter-spacing:.04em}.result-link{font-weight:700;white-space:nowrap}.tags{color:var(--muted);margin-bottom:0}.no-results{border:2px dashed #8096a3;padding:1.5rem}.consultation-detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:3rem;padding:3rem 0}.detail-list{display:grid;gap:.7rem}.detail-list>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #d7e2e7;padding:.6rem 0}.detail-list dt{font-weight:700;color:var(--blue-dark)}.detail-list dd{margin:0}.entry-content .button{color:#fff;text-decoration:none}.high-contrast .directory-filter,.high-contrast .result-card{border:2px solid #000}.high-contrast .result-card{border-left:7px solid #000}@media(max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}.consultation-detail{grid-template-columns:1fr}}@media(max-width:600px){.filter-grid{grid-template-columns:1fr}.filter-keyword{grid-column:auto}.result-card{align-items:flex-start;flex-direction:column;gap:.5rem}.detail-list>div{grid-template-columns:1fr}.result-link{white-space:normal}}
/* V3.2 — pages éditoriales enrichies */
.feature-grid,.service-grid,.news-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0 2.25rem}.feature-card,.service-grid article,.news-feature article{border:1px solid #cfdee5;border-radius:.65rem;padding:1.5rem;background:#fff;box-shadow:0 8px 24px rgba(0,59,102,.06)}.feature-card.accent{border-top:5px solid var(--green);background:linear-gradient(145deg,#fff,#eef9f6)}.feature-card:not(.accent){border-top:5px solid var(--blue)}.card-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--green-dark);margin:0 0 .35rem}.feature-card h2,.service-grid h3,.news-feature h2{margin-top:0}.service-grid article{border-top:4px solid var(--green)}.icon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.icon-list>div{display:grid;grid-template-columns:110px 1fr;gap:.8rem;border-left:5px solid var(--blue);background:#f5f9fb;padding:1rem}.icon-list strong{color:var(--blue-dark)}.icon-list span{color:var(--ink)}.cta-panel{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin:2.5rem 0;padding:1.5rem 1.7rem;border-radius:.7rem;background:linear-gradient(110deg,var(--blue-dark),var(--blue));color:#fff}.cta-panel h2{color:#fff;margin:0 0 .35rem}.cta-panel p{margin:.35rem 0}.button-secondary{background:#fff!important;color:var(--blue-dark)!important;border:2px solid var(--blue-dark)}.cta-panel .button-secondary{border-color:#fff}.rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2.5rem}.rights-grid a{display:flex;flex-direction:column;min-height:125px;justify-content:center;border:1px solid #cfdee5;border-left:6px solid var(--green);border-radius:.5rem;padding:1.2rem;text-decoration:none;background:#fff}.rights-grid a:hover{background:var(--soft)}.rights-grid strong{font-size:1.2rem;color:var(--blue-dark)}.rights-grid span{color:var(--ink);margin-top:.25rem}.check-list{list-style:none;padding:0}.check-list li{position:relative;padding:.65rem .8rem .65rem 2.4rem;border-bottom:1px solid #dce6ea}.check-list li:before{content:'✓';position:absolute;left:.55rem;top:.55rem;font-weight:900;color:var(--green-dark)}.notice{border-left:6px solid var(--green);background:#eef8f5;padding:1.2rem 1.4rem;margin:1.75rem 0}.notice.urgent{border-left-color:var(--blue);background:#eef6fb}.notice p:last-child{margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0 2rem}.steps>div{position:relative;border:1px solid #cfdee5;padding:1.25rem;padding-top:3.5rem}.steps>div>span{position:absolute;top:0;left:0;display:grid;place-items:center;width:44px;height:44px;background:var(--blue-dark);color:#fff;font-weight:800;font-size:1.2rem}.steps h3{margin:.2rem 0;color:var(--blue-dark)}.partner-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.partner-categories section{border-top:5px solid var(--blue);background:#f6fafc;padding:1.3rem}.report-list{display:grid;gap:1rem;margin:1.5rem 0}.report-list article{display:flex;justify-content:space-between;align-items:center;gap:2rem;border:1px solid #cfdee5;border-left:6px solid var(--green);padding:1.3rem}.report-list h2{margin:.2rem 0}.news-feature article{border-top:5px solid var(--green)}.contact-card{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;margin:1.5rem 0}.contact-card>div{border:1px solid #cfdee5;padding:1.5rem}.contact-help{background:var(--soft);border-top:5px solid var(--green)!important}.contact-card address{font-style:normal}.high-contrast .feature-card,.high-contrast .service-grid article,.high-contrast .rights-grid a,.high-contrast .steps>div,.high-contrast .report-list article,.high-contrast .contact-card>div{border:2px solid #000}.high-contrast .cta-panel{background:#000}.high-contrast .notice{border:2px solid #000;background:#fff}@media(max-width:760px){.feature-grid,.service-grid,.news-feature,.rights-grid,.icon-list,.partner-categories,.steps,.contact-card{grid-template-columns:1fr}.icon-list>div{grid-template-columns:1fr}.cta-panel,.report-list article{align-items:flex-start;flex-direction:column}.report-list article .button{width:100%;text-align:center}}

/* V3.3 regulatory pages */
.sitemap-grid,.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:2rem 0}.sitemap-grid .feature-card,.privacy-grid .feature-card{height:100%}.sitemap-grid ul{margin:.75rem 0 0;padding-left:1.25rem}.sitemap-grid li{margin:.45rem 0}.entry-content h2{scroll-margin-top:7rem}.notice.urgent{border-left-width:6px}.entry-content address{font-style:normal}.entry-content a:not(.button){text-underline-offset:.18em}@media(max-width:760px){.sitemap-grid,.privacy-grid{grid-template-columns:1fr}}

/* V3.4 — finition navigation, annuaire et communes */
.main-nav .menu{align-items:stretch}.main-nav .menu>li{position:relative}.main-nav .menu>li>a{min-height:54px;display:flex;align-items:center}.main-nav .sub-menu{position:absolute;z-index:50;top:100%;left:0;min-width:290px;margin:0;padding:12px;background:#fff;border-radius:0 0 14px 14px;box-shadow:0 16px 40px rgba(0,45,75,.18);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.15s}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.main-nav .sub-menu a{display:block;padding:11px 13px;border-radius:8px;color:#17324a;text-decoration:none;font-weight:650}.main-nav .sub-menu a:hover,.main-nav .sub-menu a:focus{background:#eef7fb;color:#004f7d}.main-nav .menu-mega{position:static}.main-nav .menu-mega>.sub-menu{left:50%;transform:translate(-50%,8px);width:min(900px,calc(100vw - 40px));display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:22px}.main-nav .menu-mega:hover>.sub-menu,.main-nav .menu-mega:focus-within>.sub-menu{transform:translate(-50%,0)}
.directory-filter{position:sticky;top:12px}.directory-filter input,.directory-filter select,.commune-toolbar input{min-height:48px;border:1px solid #8aa5b5;border-radius:8px;padding:10px 12px;background:#fff}.results[aria-busy="true"]{opacity:.55;transition:opacity .15s}.result-card{transition:transform .15s,box-shadow .15s}.result-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,55,90,.10)}
.commune-toolbar{max-width:600px;margin:28px 0}.commune-toolbar label{display:block;font-weight:700;margin-bottom:7px}.commune-toolbar input{width:100%}.commune-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 48px}.commune-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;padding:18px;border:1px solid #d9e6ec;border-radius:14px;background:#fff;color:#17324a;text-decoration:none;box-shadow:0 4px 16px rgba(0,55,90,.05)}.commune-card:hover,.commune-card:focus{border-color:#007a5e;box-shadow:0 10px 24px rgba(0,55,90,.10)}.commune-initial{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eaf6f2;color:#006b53;font-size:20px;font-weight:800}.commune-card strong,.commune-card small{display:block}.commune-card small{margin-top:4px;color:#526a79}.commune-card[hidden]{display:none}
.consultation-premium{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:28px}.consultation-facts{background:#f2f8fb;border-radius:16px;padding:22px}.consultation-facts dt{font-weight:800;color:#00558c;margin-top:14px}.consultation-facts dd{margin:4px 0 0}.consultation-badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#eaf6f2;color:#006b53;font-weight:800;font-size:.9rem}
@media(max-width:900px){.main-nav .menu-mega>.sub-menu{grid-template-columns:repeat(2,1fr)}.commune-grid{grid-template-columns:repeat(2,1fr)}.consultation-premium{grid-template-columns:1fr}.directory-filter{position:static}}@media(max-width:640px){.main-nav .menu{display:block}.main-nav .sub-menu,.main-nav .menu-mega>.sub-menu{position:static;width:auto;min-width:0;opacity:1;visibility:visible;transform:none!important;display:block;box-shadow:none;border-left:3px solid #d6e8ef;border-radius:0;margin-left:12px;padding:4px}.commune-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.main-nav .sub-menu,.result-card{transition:none}}


/* V3.4.1 — contrôle accessible de taille du texte */
html[data-text-size="small"]{font-size:87.5%}
html[data-text-size="normal"]{font-size:100%}
html[data-text-size="large"]{font-size:125%}
.text-size-controls{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.text-size-label{font-weight:700;margin-right:.15rem}
.utility .text-size-button{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;min-height:2.35rem;padding:.25rem .45rem;border:1px solid rgba(255,255,255,.9);border-radius:.25rem;background:transparent;color:#fff;font:inherit;font-weight:800;line-height:1;cursor:pointer}
.utility .text-size-small{font-size:.82em}.utility .text-size-normal{font-size:1em}.utility .text-size-large{font-size:1.16em}
.utility .text-size-button[aria-pressed="true"]{background:#fff;color:var(--blue-dark);box-shadow:inset 0 0 0 2px var(--blue-dark)}
.utility .text-size-button:hover{background:rgba(255,255,255,.16)}
.utility .text-size-button[aria-pressed="true"]:hover{background:#fff}
@media(max-width:900px){.utility nav{row-gap:.55rem}.text-size-controls{width:100%}}
@media(max-width:600px){html[data-text-size="large"]{font-size:118.75%}.text-size-label{width:100%}}

/* V3.4.2 — festivals et téléchargements */
.home-documents{padding:4rem 0;background:#f3f8fb}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.document-card{background:#fff;border:1px solid #d8e5ed;border-radius:18px;padding:2rem;box-shadow:0 8px 28px rgba(0,54,91,.08)}.document-card.accent{border-top:5px solid #007a5e}.button.is-disabled{opacity:.65;cursor:not-allowed;display:inline-block}.festival-grid .news-card{border-top:4px solid #00558c}.festival-grid .news-card:nth-child(2){border-top-color:#007a5e}@media(max-width:760px){.document-grid{grid-template-columns:1fr}}

/* V3.4.3 — Majeurs protégés */
.protected-grid,.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0 2.5rem}.protected-card,.download-card,.download-tile{border:1px solid #d8e3ea;border-radius:18px;background:#fff;padding:1.5rem;box-shadow:0 8px 24px rgba(0,55,92,.07)}.protected-card.accent{border-top:5px solid #007a5e}.download-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.25rem 0 2.5rem;border-left:5px solid #005a91}.download-tile{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:#173042;min-height:150px;transition:transform .15s ease,box-shadow .15s ease}.download-tile:not(.is-info):hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,55,92,.12)}.download-tile span{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#007a5e}.download-tile strong{font-size:1.12rem;color:#004e7c}.download-tile small{margin-top:auto;font-size:.92rem;color:#435766}.download-tile:not(.is-info) small::before{content:"↓ ";font-weight:900}.download-tile.is-info{background:#f4f8fa;border-style:dashed}.text-link{font-weight:700}.protected-card .button{margin-top:.5rem}@media(max-width:760px){.protected-grid,.download-grid{grid-template-columns:1fr}.download-card{align-items:flex-start;flex-direction:column}}


/* V3.4.6 — bandeau partenaires en bas de l’accueil */
.partner-logos{padding:3.5rem 0 4rem}.partner-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.partner-logo-card{min-height:150px;border:1px solid #d8e3ea;border-radius:14px;background:#fff;padding:1.2rem;display:flex;align-items:center;justify-content:center;text-align:center}.partner-logo-card img{display:block;max-width:100%;max-height:95px;width:auto;height:auto;object-fit:contain}.partner-logo-card.partner-text{background:#f7fafc;color:var(--blue-dark)}.partner-logo-card.partner-text strong{font-size:1.05rem;line-height:1.25}.partner-logo-card.partner-text small{font-size:.82rem;font-weight:600}.high-contrast .partner-logo-card{border:2px solid #000}@media(max-width:900px){.partner-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.partner-logo-grid{grid-template-columns:1fr}.partner-logo-card{min-height:125px}}

/* V3.4.9 — pictogrammes des accès rapides */
.card-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* V3.4.13 — carte interactive des permanences */
.consultation-map-section{margin:2rem 0 2.5rem}.consultation-map{height:520px;min-height:360px;border:1px solid #cbd5e1;border-radius:18px;overflow:hidden;background:#eef3f6}.map-help,.map-status{max-width:78ch}.map-status{font-size:.95rem;color:#4b5563;margin-top:.65rem}.cdad-map-popup hr{border:0;border-top:1px solid #ddd;margin:.65rem 0}.cdad-map-popup a{font-weight:700}.map-home-link{margin-left:1rem}@media(max-width:700px){.consultation-map{height:420px;border-radius:12px}.map-home-link{display:block;margin:.6rem 0 0}}
/* V3.4.15 — permet de réordonner les blocs d'accueil depuis l'administration. */
.home-manageable{display:flex;flex-direction:column}

/* V3.5.1 — réseaux sociaux du CDAD13 dans le pied de page */
.footer-social{margin-top:1.5rem}.footer-social h2{margin-bottom:.8rem}.social-links{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid rgba(255,255,255,.8);border-radius:50%;color:#fff;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.social-link svg{width:24px;height:24px;fill:currentColor;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-link:nth-child(2) svg{fill:none}.social-link:nth-child(3) svg{fill:none}.social-link:hover{background:#fff;color:var(--blue-dark);border-color:#fff}.social-link:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.high-contrast .social-link{border-color:#fff}@media(prefers-reduced-motion:reduce){.social-link{transition:none}}

/* V3.5.7 — Liens utiles */
.useful-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:2rem 0}.useful-link-card{border:1px solid #d7e0e7;border-radius:.75rem;padding:1.35rem;background:#fff}.useful-link-card h2{margin-top:0;color:#073b5c}.useful-link-card .button{display:inline-block;margin-top:.4rem}@media(max-width:720px){.useful-links-grid{grid-template-columns:1fr}}
/* V3.6.0 — présentation vocale */
.voice-intro-button,.voice-intro-controls button{font:inherit;border:2px solid currentColor;border-radius:.35rem;padding:.42rem .65rem;background:#fff;color:#073b5c;font-weight:700;cursor:pointer}.voice-intro-button:hover,.voice-intro-controls button:hover{background:#eef7f4}.voice-intro-button:focus-visible,.voice-intro-controls button:focus-visible{outline:3px solid #ffd43b;outline-offset:3px}.voice-intro-controls{display:inline-flex;gap:.35rem}.voice-intro-controls[hidden]{display:none}.voice-intro-first-visit{box-shadow:0 0 0 4px #ffd43b}.contrast-high .voice-intro-button,.contrast-high .voice-intro-controls button{background:#000;color:#fff;border-color:#fff}@media(max-width:850px){.voice-intro-button{width:100%;margin:.35rem 0}.voice-intro-controls{width:100%;justify-content:center}}
\n\n/* V3.6.1 — Responsive & Mobile */
html,body{max-width:100%;overflow-x:clip}.mobile-menu-toggle{display:none}.entry-content img,.entry-content video,.entry-content iframe,.entry-content svg{max-width:100%;height:auto}.entry-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.button,button,input,select,textarea{max-width:100%}input,select,textarea{font-size:16px}.leaflet-container{max-width:100%}
@media(max-width:900px){
 .wrap{width:min(var(--max),calc(100% - 1.5rem))}.utility-inner{gap:.65rem}.utility nav{width:100%}.brand{gap:1rem;padding:.75rem 0}.site-search{max-width:none;width:100%}
 .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:48px;border:0;background:var(--blue-dark);color:#fff;font:inherit;font-weight:800;padding:.7rem 1rem;cursor:pointer}.mobile-menu-toggle span[aria-hidden]{font-size:1.3rem}.mobile-menu-toggle:focus-visible{outline:4px solid var(--focus);outline-offset:-4px}
 .primary-navigation{display:none;padding:.35rem 0 .75rem}.mobile-menu-open .primary-navigation{display:block}.main-nav .menu{display:block}.main-nav .menu>li>a{min-height:48px;display:flex;align-items:center;padding:.7rem .25rem}.main-nav .sub-menu,.main-nav .menu-mega>.sub-menu{position:static!important;width:auto!important;min-width:0!important;opacity:1!important;visibility:visible!important;transform:none!important;display:block!important;box-shadow:none!important;border-radius:0!important;border-left:3px solid #d6e8ef!important;margin:0 0 .25rem .75rem!important;padding:.15rem .4rem!important}.main-nav .sub-menu a{min-height:44px;display:flex;align-items:center;padding:.55rem .5rem}
 .hero-photo-grid{min-height:auto}.hero-copy{max-width:none}.quick-card,.topic,.news-card{min-width:0}.interior-layout{gap:1.5rem;padding:2rem 0}.content{padding:2rem 0}.consultation-map-section{margin:1.25rem 0}.consultation-map{height:min(62vh,520px);min-height:380px;border-radius:10px}.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.finder form input,.finder form select,.finder form button,.directory-filter input,.directory-filter select,.commune-toolbar input{min-height:48px}.button,.finder button,.site-search button{min-height:48px}.footer-grid{gap:1.25rem}
}
@media(max-width:600px){
 .wrap{width:calc(100% - 1rem)}.utility{font-size:.9rem}.utility nav{gap:.55rem}.utility a,.utility button{min-height:44px;display:inline-flex;align-items:center}.text-size-controls{gap:.4rem}.utility .text-size-button{min-width:44px;min-height:44px}.brand-link img{max-height:92px;object-fit:contain;object-position:left center}.site-search input{width:100%}.site-search button{padding-inline:.85rem}
 .hero-photo{background-position:58% center}.hero-overlay{background:rgba(0,38,67,.84)}.hero-copy{padding:1.5rem 0 0}.hero-photo h1{font-size:clamp(2.35rem,12vw,3.25rem);line-height:1}.hero-photo .lead{font-size:1.05rem}.hero-photo .hero-quote{margin-bottom:1.25rem}.hero-photo .hero-quote blockquote{font-size:1.2rem}.quick{gap:.75rem;padding:1.25rem 0}.quick-card{padding:1rem}.finder,.stats{padding:1.5rem 0}.search-row{display:grid;grid-template-columns:1fr}.search-row input,.search-row button{border-radius:.35rem!important;width:100%}.search-row button{margin-top:.5rem}.topic-grid,.news-grid,.stat-grid,.partner-logo-grid,.useful-links-grid,.document-grid,.protected-grid,.download-grid{grid-template-columns:1fr!important}.section-head{gap:.25rem}.page-header h1,.interior-hero h1{overflow-wrap:anywhere}.interior-hero{padding:1.5rem 0}.breadcrumbs{font-size:.9rem}.entry-content{overflow-wrap:anywhere}.entry-content pre,.entry-content code{max-width:100%;overflow:auto}.consultation-map{height:68vh;min-height:420px;width:100vw;max-width:none;margin-left:calc(50% - 50vw);border-radius:0}.map-home-link{width:100%;text-align:center;margin:.75rem 0 0}.social-link{width:48px;height:48px}
}
@media(max-width:390px){.hero-photo h1{font-size:2.25rem}.voice-intro-controls{display:grid;grid-template-columns:1fr 1fr}.voice-intro-controls button{min-height:48px}.card-icon{width:48px;height:48px}.quick-card h3{font-size:1.15rem}}
@media(orientation:landscape) and (max-height:520px) and (max-width:950px){.consultation-map{height:78vh;min-height:300px}.hero-photo-grid{min-height:auto}.hero-copy{padding:1.25rem 0}.hero-photo .hero-quote{margin-bottom:1rem}.primary-navigation{max-height:65vh;overflow:auto}}
@supports not (overflow:clip){html,body{overflow-x:hidden}}



/* V3.6.6 — Correctif alignement Actualités accueil */
.news-grid .news-card-home{display:flex;flex-direction:column;min-width:0;overflow:visible}
.news-grid .news-card-home>div{display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:1.25rem}
.news-grid .news-card-home .event-date{margin:0 0 .55rem;padding:0;min-height:0}
.news-grid .news-card-home h3{margin:0 0 .7rem;padding:0}
.news-grid .news-card-home h3 a{display:inline}
.news-grid .news-card-home p:not(.event-date){margin:.1rem 0 1rem}
.news-grid .news-card-home .text-link{margin-top:auto}
@media(max-width:900px){.news-grid .news-card-home>div{padding:1.1rem}}

/* V3.6.7 — gabarit homogène des actualités */
.news-detail{max-width:980px}.news-detail-header{margin-bottom:1.5rem}.news-detail-header .event-date{display:inline-block;margin:0 0 .55rem;padding:.35rem .65rem;background:var(--soft);border-left:4px solid var(--green);border-radius:.2rem}.news-detail-header h1{margin-top:.25rem}.news-featured-image{margin:0 0 2rem}.news-featured-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:.45rem}.news-template-grid{margin:1.5rem 0 2rem}.news-template-grid .feature-card{height:100%}.news-practical{margin-top:2rem;padding:1.25rem;background:var(--soft);border-left:5px solid var(--green)}.news-practical h2{margin-top:0}.news-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.button-secondary{background:var(--green)}@media(max-width:700px){.news-template-grid{grid-template-columns:1fr!important}.news-featured-image img{max-height:none}.news-actions .button{width:100%;text-align:center}}


/* V3.7.0 — Actions, contact & accès pro */
.action-links-grid,.mjd-grid,.pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.action-link-card,.mjd-card,.pro-card,.contact-form-wrap{border:1px solid #d8e0e6;border-radius:12px;padding:20px;background:#fff}.action-link-card h2,.mjd-card h2,.pro-card h2{margin-top:0}.contact-form{max-width:760px}.contact-form label{font-weight:700;display:block;margin:0 0 6px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box;font:inherit;padding:11px;border:1px solid #657786;border-radius:6px;margin-bottom:16px}.contact-form textarea{min-height:150px}.contact-form .hp{position:absolute;left:-9999px}.notice-success{padding:12px 16px;border-left:5px solid #007a5e;background:#edf8f4}.notice-error{padding:12px 16px;border-left:5px solid #b42318;background:#fff1f0}.pro-login{max-width:620px;margin:24px auto;padding:24px;border:1px solid #d8e0e6;border-radius:12px;background:#f7fafb}.signalconso-box{padding:20px;border-left:5px solid #007a5e;background:#edf8f4;margin:24px 0}.cdad-phone-cta{font-size:1.15rem;font-weight:700}@media(max-width:800px){.action-links-grid,.mjd-grid,.pro-grid{grid-template-columns:1fr}}


/* V3.7.1 — Nos actions : sous-menu accessible et accordéon mobile */
.submenu-toggle{display:none}.cdad-actions-menu{position:relative}.cdad-actions-menu>a{padding-right:.25rem}.cdad-actions-menu>.cdad-actions-submenu{min-width:340px}
@media(max-width:760px){
 .cdad-actions-menu{display:grid!important;grid-template-columns:1fr 48px;align-items:stretch}
 .cdad-actions-menu>a{grid-column:1;grid-row:1}
 .cdad-actions-menu>.submenu-toggle{display:flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
 .cdad-actions-menu>.submenu-toggle:focus-visible{outline:4px solid var(--focus);outline-offset:-4px}
 .cdad-actions-menu>.submenu-toggle span[aria-hidden]{font-size:1.3rem;transition:transform .15s ease}
 .cdad-actions-menu>.cdad-actions-submenu{grid-column:1/-1;display:none!important;margin-left:.75rem!important}
 .cdad-actions-menu.submenu-open>.cdad-actions-submenu{display:block!important}
 .cdad-actions-menu.submenu-open>.submenu-toggle span[aria-hidden]{transform:rotate(180deg)}
}

/* V3.8.2 — formulaires accessibles */
.contact-form .field-error{display:block;color:#8a1c1c;font-weight:700;margin:.25rem 0}.contact-form [aria-invalid="true"]{border:3px solid #8a1c1c}.notice-error:focus,.notice-success:focus{outline:4px solid var(--focus);outline-offset:3px}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* V3.8.3 — RGAA : focus visible et contraste des composants */
:root{--focus:#002f55;--focus-light:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,
.social-link:focus-visible,.voice-intro-button:focus-visible,.voice-intro-controls button:focus-visible,
.cdad-actions-menu>.submenu-toggle:focus-visible,.mobile-menu-toggle:focus-visible{
 outline:3px solid var(--focus)!important;outline-offset:3px!important;box-shadow:0 0 0 5px var(--focus-light)!important;
}
.utility a:focus-visible,.utility button:focus-visible,.site-footer a:focus-visible,.site-footer button:focus-visible,
.hero-quote a:focus-visible,.hero-quote button:focus-visible{
 outline-color:#fff!important;box-shadow:0 0 0 5px #002f55!important;
}
.cdad-assistant-head h2{margin:0;color:#fff;font-size:1rem;line-height:1.3}


/* ===== V3.9.0 — Accès au droit des jeunes ===== */
.jeunes-page{--jeunes-blue:#07558a;--jeunes-green:#087b67;--jeunes-soft:#f1f8f7;display:grid;gap:2rem}.jeunes-intro{padding:clamp(1.4rem,4vw,2.6rem);border-radius:18px;background:linear-gradient(135deg,#073f68,#075f88);color:#fff}.jeunes-intro h2{color:#fff;font-size:clamp(1.8rem,4vw,2.7rem);max-width:18ch}.jeunes-intro p{max-width:72ch}.jeunes-kicker{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.85rem}.jeunes-quick{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.3rem}.jeunes-quick a{display:inline-block;background:#fff;color:#064f7e;border-radius:999px;padding:.6rem .9rem;font-weight:700;text-decoration:none}.jeunes-quick a:focus-visible{outline:3px solid #111;outline-offset:3px}.jeunes-stats{padding:1.5rem;border:1px solid #d6e5e8;border-radius:16px}.jeunes-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.jeunes-stat-grid div{background:#f5f9fb;border-radius:12px;padding:1.25rem;text-align:center}.jeunes-stat-grid strong{display:block;color:var(--jeunes-green);font-size:clamp(2rem,5vw,3rem);line-height:1}.jeunes-stat-grid span{display:block;margin-top:.45rem;font-weight:700}.jeunes-section{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding:1.6rem;border-left:6px solid var(--jeunes-green);background:#fff;border-radius:0 14px 14px 0;box-shadow:0 5px 20px rgba(0,55,85,.08)}.jeunes-section-alt{background:var(--jeunes-soft)}.jeunes-number,.jeunes-action-num{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:3px solid var(--jeunes-green);border-radius:50%;color:var(--jeunes-green);font-size:1.4rem;font-weight:900;margin:0}.jeunes-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.jeunes-locations article{border:1px solid #cfdde3;border-radius:12px;padding:1rem}.jeunes-locations h4{margin-top:0;color:var(--jeunes-blue);font-size:1.15rem}.jeunes-contact{padding:1rem;background:#fff;border-radius:10px}.jeunes-themes{padding:clamp(1.2rem,3vw,2rem);background:#f6fafb;border-radius:16px}.jeunes-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;counter-reset:jeunetheme;padding:0;list-style:none}.jeunes-theme-grid li{position:relative;padding:1rem 1rem 1rem 3.7rem;background:#fff;border:1px solid #d7e3e8;border-radius:12px;counter-increment:jeunetheme}.jeunes-theme-grid li:before{content:counter(jeunetheme);position:absolute;left:1rem;top:1rem;color:var(--jeunes-green);font-size:1.35rem;font-weight:900}.jeunes-theme-grid h3{margin:0 0 .35rem;color:var(--jeunes-blue);font-size:1.05rem}.jeunes-theme-grid p{margin:0}.jeunes-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.jeunes-action-grid article{position:relative;padding:1.25rem;border:1px solid #d4e1e6;border-radius:14px}.jeunes-action-grid h3{color:var(--jeunes-blue)}.jeunes-guide{padding:clamp(1.5rem,4vw,2.5rem);border-radius:16px;background:#eaf6f2;border:2px solid #b8ddd1}.jeunes-final-contact{padding:clamp(1.5rem,4vw,2.4rem);text-align:center;border-radius:16px;background:#073f68;color:#fff}.jeunes-final-contact h2{color:#fff}.jeunes-final-contact .button-secondary{background:#fff;color:#064f7e}.jeunes-page a:not(.button):not(.jeunes-quick a){text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.15em}@media(max-width:760px){.jeunes-stat-grid,.jeunes-theme-grid,.jeunes-action-grid,.jeunes-locations{grid-template-columns:1fr}.jeunes-section{grid-template-columns:1fr}.jeunes-quick{display:grid;grid-template-columns:1fr 1fr}.jeunes-quick a{text-align:center}.jeunes-final-contact .button{display:block;margin:.6rem 0;width:100%}}@media(max-width:430px){.jeunes-quick{grid-template-columns:1fr}.jeunes-theme-grid li{padding-left:3.4rem}}
