/* Public associations directory; individual association pages retain their own styles. */
.page-associations .associations-mobile-bar{display:none}
.page-associations .associations-search-toggle{border:1px solid var(--home-control-line);border-radius:12px;background:var(--home-surface)}
.associations-search-summary{display:flex;align-items:center;gap:10px;min-height:68px;padding:13px 14px;color:var(--home-ink);cursor:pointer;list-style:none}
.associations-search-summary::-webkit-details-marker{display:none}
.associations-search-summary>svg{flex:none;color:var(--home-teal)}
.associations-search-summary>span:first-of-type{flex:1;min-width:0}
.associations-search-summary strong{display:block;font-size:.93rem;line-height:1.3}
.associations-search-summary small{display:block;margin-top:4px;font-size:.75rem;line-height:1.45;color:var(--home-muted);overflow-wrap:anywhere}
.associations-search-state{font-size:.8rem;font-weight:650;color:var(--home-teal)}
.associations-search-chevron{transition:transform .16s}
.associations-search-toggle[open] .associations-search-chevron{transform:rotate(180deg)}
.associations-search-toggle[open]>summary{border-bottom:1px solid var(--home-line)}
.associations-search-content{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:end;gap:14px 18px;padding:18px}
.associations-search-content label{display:block;margin-bottom:8px;font-size:.84rem;font-weight:650;color:var(--home-ink)}
.associations-activity-filter,.associations-query-filter{min-width:0}
.associations-activity-filter select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--home-control-line);border-radius:8px;background:var(--home-surface);color:var(--home-ink);font:inherit;font-size:16px}
.page-associations .directory-search-row{flex-wrap:nowrap}
.page-associations .directory-search-input{flex-basis:auto}
.page-associations .directory-search-row>.directory-button{width:auto;flex-shrink:0}
.page-associations .directory-active-filters a{min-height:44px}
.associations-results-heading{margin:16px 0}
.associations-results-heading .directory-result-count{margin:0}
.associations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.association-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--home-line);border-radius:14px;background:var(--home-surface);color:var(--home-ink);overflow:hidden}
.association-card:hover{border-color:var(--home-control-line)}
.association-card-body{flex:1;min-width:0;padding:16px 16px 0}
.association-card h2{font-size:1.12rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 8px;overflow-wrap:anywhere}
.association-card h2 a{color:var(--home-ink);text-decoration:none}
.association-card h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.association-summary,.association-address{font-size:.86rem;line-height:1.5;color:var(--home-muted);overflow-wrap:anywhere;margin:8px 0}
.association-address{font-size:.8rem}
.association-contacts{list-style:none;padding:0;margin:7px 0 0;font-size:.8rem;line-height:1.4}
.association-contacts a{display:inline-flex;align-items:center;min-height:32px;max-width:100%;color:var(--home-teal);overflow-wrap:anywhere}
.association-categories{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:12px 16px 0;padding:0}
.association-categories li{max-width:100%;padding:4px 8px;border:1px solid #dce5dd;border-radius:999px;background:#edf1ec;color:#304e3b;font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}
.association-categories [data-category="sport"],.association-categories [data-category="nature"]{background:#eaf3e6;border-color:#d5e5cd;color:#34562b}
.association-categories [data-category="culture"]{background:#f9e8ed;border-color:#ecd2da;color:#8b3148}
.association-categories [data-category="traditions"]{background:#fbefcf;border-color:#ecddc5;color:#79520f}
.association-categories [data-category="solidarite"]{background:#eee7f6;border-color:#dfd5ec;color:#60408b}
.association-categories [data-category="familles"]{background:#e7eff8;border-color:#d2e4f3;color:#275a86}
.association-categories [data-category="vie-locale"]{background:#e2f1f1;border-color:#c9e5e2;color:#155e63}
.association-card-footer{margin:12px 16px 0;border-top:1px solid var(--home-line)}
.association-card-footer a{display:flex;align-items:center;min-height:48px;padding:10px 0;color:var(--home-teal);font-size:.83rem;line-height:1.45;font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.association-card-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.association-status{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:6px;background:#fff0d7;color:#79520f;font-size:.75rem}
.associations-notice{margin:0 0 16px;padding:14px 16px;border:1px solid #dfc78e;border-radius:10px;background:#fff5df;color:#664d1a;font-size:.88rem;line-height:1.5}
.associations-notice a{color:inherit;text-decoration:underline}
.associations-resources{margin-top:32px;padding-top:22px;border-top:1px solid var(--home-line)}
.associations-resource-location{margin:0 0 5px;color:var(--home-muted);font-size:.8rem}
.associations-resources>h2{font-size:1.2rem;line-height:1.35;margin:0 0 16px;color:var(--home-ink)}
.associations-resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.associations-resources-grid article{min-width:0;padding:16px;border:1px solid var(--home-line);border-radius:14px;background:var(--home-surface)}
.associations-resources-grid h3{font-size:1rem;line-height:1.35;margin:0 0 8px;color:var(--home-ink)}
.associations-resources-grid p,.associations-resource-source{font-size:.85rem;line-height:1.6;color:var(--home-muted);overflow-wrap:anywhere;margin:8px 0}
.associations-resource-links{display:flex;align-items:center;gap:4px 16px;flex-wrap:wrap}
.associations-resources a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:var(--home-teal);font-size:.85rem;overflow-wrap:anywhere}
.associations-resource-source a{display:inline;min-height:0;font-size:inherit}
.associations-back-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--home-surface);border-radius:50%;background:var(--home-teal);color:var(--home-surface);box-shadow:0 3px 12px #173f4830;cursor:pointer}
.associations-back-top[hidden]{display:none}
.associations-back-top svg{width:23px;height:23px}
.associations-back-top:hover{background:var(--home-ink)}
.page-associations :is(.associations-search-summary,select,input,button,.association-card a):focus-visible{outline:3px solid var(--home-teal);outline-offset:2px;border-radius:8px}
.page-associations .site-footer{padding-bottom:84px}
@media(min-width:701px) and (max-width:1000px){.associations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
    html:has(.page-associations){scroll-padding-top:calc(76px + env(safe-area-inset-top))}
    .page-associations{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
    .page-associations .directory-sticky-header{position:static;z-index:auto}
    .page-associations .associations-mobile-bar{position:sticky;top:0;z-index:80;display:flex;align-items:center;min-height:calc(64px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 100px 8px 10px;gap:4px;border-bottom:1px solid var(--home-line);background:var(--home-paper)}
    .associations-mobile-back{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex:none;color:var(--home-teal);text-decoration:none;border-radius:10px;font-size:.8rem;gap:1px;padding:0 4px}
    .associations-mobile-back:hover{background:var(--home-soft)}
    .associations-mobile-title{flex:1;text-align:center;font-size:.95rem;font-weight:700;line-height:1.3;min-width:0}
    .page-associations .directory-sticky-header .topbar{padding:0;border:0;background:transparent}
    .page-associations .directory-sticky-header .topbar-inner{min-height:0;height:0;padding:0;position:static}
    .page-associations .directory-sticky-header .topbar-logo,.page-associations .directory-sticky-header .categorybar{display:none}
    .page-associations .directory-breadcrumb{display:flex;flex-wrap:wrap;min-height:32px;padding-top:0;padding-bottom:6px;margin-bottom:0;font-size:.75rem}
    .page-associations .directory-sticky-header .site-language{position:fixed;z-index:90;top:calc(10px + env(safe-area-inset-top));right:54px}
    .page-associations .site-language summary{justify-content:center;width:44px;padding:0;gap:3px;font-size:.8rem}
    .page-associations .site-language summary svg{display:none}
    .page-associations .directory-sticky-header .topbar-user{position:fixed;z-index:90;top:calc(10px + env(safe-area-inset-top));right:10px}
    .page-associations .language-panel{right:-44px;width:min(245px,calc(100vw - 32px))}
    .page-associations .territory-form{padding-top:8px;padding-bottom:10px}
    .page-associations .territory-select select{background:var(--home-soft);border-color:var(--home-line)}
    .page-associations .directory-main{padding-top:12px!important;padding-bottom:max(28px,env(safe-area-inset-bottom))}
    .page-associations .directory-intro{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .associations-search-state{display:none}
    .associations-search-content{grid-template-columns:minmax(0,1fr);padding:16px}
    .associations-results-heading{margin:12px 0}
    .associations-results-heading .directory-result-count{font-size:.8rem;font-weight:650;color:var(--home-ink)}
    .associations-grid{grid-template-columns:minmax(0,1fr);gap:14px}
    .association-card-body{padding:12px 12px 0}
    .association-card h2{font-family:inherit;font-size:1.05rem}
    .association-summary{font-size:.8125rem;line-height:1.45}
    .association-categories{margin-inline:12px}
    .association-card-footer{margin-inline:12px}
    .association-card-footer a{min-height:54px;font-size:.8rem}
    .associations-resources-grid{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media(max-width:359px){.associations-search-summary{gap:8px;padding-inline:11px}.associations-search-summary>svg:first-child{width:19px}}
@media(prefers-reduced-motion:reduce){.associations-search-chevron{transition:none}}
