/* Regional navigation: compact sections, readable cards and native accordions. */
.af15-region :where(section,div,aside){min-width:0;box-sizing:border-box}
.af15-region .af11-region-hero{padding-top:clamp(32px,4.5vw,72px);padding-bottom:clamp(36px,5vw,76px);min-height:0;align-items:start}
.af15-region .af11-region-hero h1{font-size:clamp(2.3rem,4.4vw,4.25rem);overflow-wrap:break-word}
.af15-region .af11-region-card{margin-top:16px;border-radius:12px;padding:30px;background:#eeeae1}
.af15-region .af11-region-card>span{font-size:clamp(3.5rem,6vw,5rem)}
.af15-region .af11-region-card h2{font-size:1.8rem;line-height:1.2;margin:20px 0}
.af15-region-trades,.af15-department-section,.af15-about-sectors{max-width:1240px;margin:0 auto;padding:clamp(36px,5vw,76px) 40px;border-top:1px solid #d7d4cb}
.af15-region-trades{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:start}
.af15-trade-groups{display:grid;gap:10px}
.af15-trade-groups details{border:1px solid #d7d4cb;border-radius:10px;background:#fffdf8;overflow:hidden}
.af15-trade-groups summary{min-height:56px;display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;line-height:1.5;font-size:1rem;list-style:none;color:#263b2e;font-weight:600}
.af15-trade-groups summary::-webkit-details-marker{display:none}
.af15-trade-groups summary small{margin-left:auto;font-size:.8125rem;min-width:24px;text-align:center;background:#eeeae1;border-radius:16px;padding:2px 6px}
.af15-trade-groups summary::after{content:'+';font-size:1.25rem;line-height:1;flex:0 0 14px;font-weight:400}
.af15-trade-groups details[open] summary::after{content:'−'}
.af15-trade-groups details[open] summary{border-bottom:1px solid #d7d4cb;background:#f2eee6}
.af15-trade-groups details>div{padding:8px 18px 12px;display:grid}
.af15-trade-groups a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;border-bottom:1px solid #e7e2d8;padding:10px 0;color:#304535;text-decoration:none;font-size:.9375rem;line-height:1.6}
.af15-trade-groups a:last-child{border:0}
.af15-trade-groups a:hover{color:#88432d;text-decoration:underline;text-underline-offset:4px}
.af15-department-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.af15-department-grid>a{display:flex;flex-direction:column;min-width:0;border:1px solid #d7d4cb;border-radius:12px;padding:24px;background:#fffdf8;color:#263b2e;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}
.af15-department-grid>a:hover{border-color:#9b543c;background:#f3eee5}
.af15-dept-code{font-size:2.25rem;line-height:1;color:#925137;font-family:Georgia,serif}
.af15-department-grid h3{font-size:1.55rem;line-height:1.25;font-weight:400;margin:22px 0 12px;overflow-wrap:anywhere}
.af15-department-grid p{font-size:.9375rem;line-height:1.7;margin:0 0 24px}
.af15-department-grid strong{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;font-size:.875rem;line-height:1.5;font-weight:500}
.af15-idf-toggle{margin-top:18px;background:#f0ece3;border:1px solid #d7d4cb;border-radius:12px;padding:0 22px}
.af15-idf-toggle>summary{padding:18px 0;min-height:54px;cursor:pointer;line-height:1.5;font-size:1.25rem;color:#2b3d30}
.af15-idf-toggle>summary span{font-family:Arial,sans-serif;font-size:.875rem;margin-left:12px;color:#5c655b;white-space:normal}
.af15-idf-toggle .af12-sector-grid{padding:0 0 22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.af15-about-sectors h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2}
.af15-about-sectors p{max-width:75ch;line-height:1.8}
.af15-design .af12-search-status{max-width:100%;line-height:1.6;overflow-wrap:break-word}
.af15-design .af-sector-panel{max-height:min(720px,calc(100svh - 120px));overflow-y:auto;overscroll-behavior:contain}
.af15-design .af-sector-panel a{min-height:48px}
.af15-design .af-departments>a[href="/ile-de-france/"]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1.5fr;align-items:center;gap:12px 24px;background:#eeeae1}
.af15-design .af-departments>a[href="/ile-de-france/"] p{margin:0}
.af15-design .af-departments>a[href="/ile-de-france/"] .af-dept-link{grid-column:2/-1;margin-top:0}
.af15-region :where(a,summary):focus-visible,.af15-idf-toggle summary:focus-visible{outline:3px solid #925137;outline-offset:4px}
@media(max-width:1023px){
 .af15-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .af15-region-trades{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .af15-idf-toggle .af12-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .af15-region .af11-region-hero{gap:28px}
}
@media(max-width:767px){
 .af15-region-trades{grid-template-columns:1fr;gap:24px}
 .af15-region-trades,.af15-department-section,.af15-about-sectors{padding:36px 22px}
 .af15-region .af11-region-hero{grid-template-columns:1fr;padding:32px 22px 36px;gap:24px}
 .af15-region .af11-region-card{margin-top:0;padding:24px;display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px 18px}
 .af15-region .af11-region-card>span{grid-row:1/3;font-size:3.2rem}
 .af15-region .af11-region-card h2{font-size:1.6rem;margin:0}
 .af15-region .af11-region-card p{margin:0;font-size:.9375rem;line-height:1.65}
 .af15-region .af11-region-card p:last-child{grid-column:1/-1}
 .af15-region .af-local-actions{gap:16px}
 .af15-region .af-local-actions a{min-height:48px}
 .af15-idf-toggle{padding:0 16px}
 .af15-design .af-departments>a[href="/ile-de-france/"]{grid-template-columns:1fr;gap:8px}
 .af15-design .af-departments>a[href="/ile-de-france/"] .af-dept-link{grid-column:auto}
}
@media(max-width:599px){
 .af15-department-grid,.af15-idf-toggle .af12-sector-grid{grid-template-columns:1fr}
 .af15-department-grid>a{padding:22px}
 .af15-region .af-local-actions{display:flex;flex-direction:column;align-items:stretch}
 .af15-region .af-local-actions .af-button{justify-content:center;text-align:center;white-space:normal}
 .af15-trade-groups summary{padding:14px;gap:8px}
 .af15-trade-groups details>div{padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){.af15-department-grid>a{transition:none}}
