
:root{--ink:#20292f;--yellow:#ffca05;--muted:#53636c;--line:#d6dfe4;--bg:#eef2f4;--link:#14566b}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--link)}header{background:var(--ink);color:white;border-top:7px solid var(--yellow);padding:30px max(22px,calc((100vw - 1180px)/2)) 28px}header small{color:var(--yellow);font-weight:750;letter-spacing:.1em}h1{font-size:clamp(28px,4vw,42px);line-height:1.15;max-width:900px;margin:13px 0}header p{color:#dce5e9;margin:8px 0}.edition{font-size:13px;color:#bacbd4}main{max-width:1224px;margin:auto;padding:22px}.tools{padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.filters{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}label{display:block;font-size:14px;font-weight:700}input,select,button{font:inherit;color:var(--ink);background:white;border:1px solid #a5b5bf;border-radius:7px;padding:11px}input,select{display:block;width:100%;margin-top:6px;min-height:48px}button{cursor:pointer}button:hover,a:hover{filter:brightness(.85)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:17px}.actions button:last-child{margin-left:auto}.hint{font-size:13px;color:var(--muted);margin:13px 0 0}.results{display:flex;align-items:center;gap:15px;justify-content:space-between;margin:24px 0 14px}.results strong{font-size:19px}.exports{display:flex;gap:8px;flex-wrap:wrap}.exports button{font-size:13px;padding:8px 11px}.downloads{background:white;border:1px solid var(--line);border-radius:10px;margin:15px 0;padding:13px 17px}.downloads summary{font-size:14px}.downloads nav{display:flex;gap:10px 20px;flex-wrap:wrap;padding:14px 0 3px}.downloads a{font-size:14px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.card{background:white;border:1px solid var(--line);border-top:4px solid var(--yellow);padding:21px;border-radius:10px;overflow-wrap:anywhere}.card h2{font-size:20px;line-height:1.3;margin:7px 0 10px}.city{font-size:14px;font-weight:750;color:var(--link)}.activity{font-size:14px;margin:0 0 12px;color:var(--muted)}.tag{display:inline-block;padding:4px 7px;border-radius:5px;font-size:12px;background:#edf2f5;margin:0 5px 5px 0}.status{color:#4a575f;font-size:12px;margin:4px 0 14px}.status.proof{color:#196247}.contact{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap;margin:12px 0 6px}.contact a{border:1px solid #b7cbd4;border-radius:6px;font-size:14px;text-decoration:none;padding:8px 10px}.role{font-size:12px;color:var(--muted);margin:5px 0}.card details{margin-top:14px;padding-top:11px;border-top:1px solid var(--line);font-size:14px}.card details p{margin:9px 0}summary{cursor:pointer;font-weight:700}.small{font-size:13px;color:var(--muted)}.empty{grid-column:1/-1;background:white;padding:35px;border-radius:10px;text-align:center}.help{margin-top:23px;font-size:14px;color:var(--muted)}.help p{max-width:1000px}footer{font-size:12px;color:var(--muted);margin:25px 0 35px}:focus-visible{outline:3px solid #ad7e00;outline-offset:3px}
@media(max-width:780px){main{padding:13px}.filters,.cards{grid-template-columns:1fr}.tools,.card{padding:16px}header{padding:24px 19px}.results{align-items:flex-start;flex-direction:column;gap:9px}.actions button{font-size:14px}.actions button:last-child{margin-left:0}.contact a{max-width:100%}}
@media print{header{background:white;color:black;padding:12px;border-top:3px solid #555}header small,header p,.edition{color:black}.tools,.downloads,.exports,.help,footer,.card details{display:none}body{background:white}main{padding:0}.cards{display:block}.card{break-inside:avoid;border-color:#aaa;margin-bottom:10px;padding:12px}.card h2{font-size:16px}.contact a{border:0;padding:0;color:black}.results{margin:12px 0}.tag{background:white;border:1px solid #ddd}}
.brand{display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:28px}.brand-copy{min-width:0}.brand-marks{display:flex;flex-direction:column;align-items:center;gap:6px;width:200px}.askoria-logo{display:block;width:160px;max-width:100%;height:auto;object-fit:contain}.tristan-logo{display:block;width:180px;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 5px #0002)}
@media(max-width:780px){.brand{grid-template-columns:minmax(0,1fr) 140px;gap:16px}.brand-marks{width:140px;gap:6px}.askoria-logo{width:116px}.tristan-logo{width:136px}header small{font-size:10px;letter-spacing:.06em}header p{font-size:14px}.edition{font-size:11px}}
@media(max-width:360px){.brand{grid-template-columns:minmax(0,1fr) 112px;gap:12px}.brand-marks{width:112px}.askoria-logo{width:92px}.tristan-logo{width:108px}h1{font-size:27px}}
@media print{.brand{grid-template-columns:1fr}.brand-marks{display:none}}

.description{font-size:14px;line-height:1.55;margin:5px 0 15px;color:var(--ink)}


/* Lexique et bannière L’asko’stage! validée avec trois logos gris. */
.lexique dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:18px 0 4px}
.lexique dl>div{border-top:1px solid var(--line);padding-top:10px;overflow-wrap:anywhere}
.lexique dt{font-size:14px;font-weight:750;color:var(--link)}
.lexique dd{margin:4px 0 0;font-size:14px}
.lexique dd p{margin:5px 0}
header.chosen-header{position:relative;padding:0;border-top:0;background:#16242c;overflow:hidden}
header.chosen-header .chosen-banner{display:block;width:100%;height:auto;margin:0}
.banner-accessible{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
header.chosen-header .mobile-banner-caption{display:none;margin:0;padding:12px 16px 2px;color:#dce5e9;font-size:14px;line-height:1.45}
header.chosen-header .edition{font-size:8px;line-height:10px;margin:0;padding:0 12px;color:#bacbd4;text-align:left;white-space:nowrap;-webkit-text-size-adjust:none;text-size-adjust:none}
@media(max-width:780px){.lexique dl{grid-template-columns:1fr}}
@media(max-width:600px){header.chosen-header .mobile-banner-caption{display:block}header.chosen-header .edition{text-align:left;padding:0 12px;font-size:8px;line-height:10px}}
@media print{header.chosen-header{background:white;color:black;padding:12px;border-top:3px solid #555}.chosen-banner{display:none!important}.banner-accessible{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal}header.chosen-header .mobile-banner-caption{display:block;color:black;padding:0}header.chosen-header .edition{display:none}}

/* Police embarquée : Baloo 2 ExtraBold, graisse 800 (SIL OFL 1.1). */
@font-face{font-family:"Baloo 2 Annuaire";src:url("/assets/baloo.woff") format("woff");font-style:normal;font-weight:800;font-display:swap}
body{font-family:"Baloo 2 Annuaire",system-ui,sans-serif;font-synthesis:none}
body,input,select,button,h1,h2,h3,label,summary,strong,b,.city,.lexique dt{font-weight:800}

.banner-visual{position:relative;margin:0;padding:0;line-height:0}
.askoria-banner-link{position:absolute;right:.7%;top:5%;width:15%;height:20%;display:block;z-index:1;border-radius:3px}
.askoria-banner-link:focus-visible{outline:2px solid #ffca05;outline-offset:2px}
@media print{.askoria-banner-link{display:none}}

.print-description{display:none}
@media print{.print-description{display:block}}

.card{scroll-margin-top:18px}
.card:target,.card:focus-visible{outline:2px solid var(--link);outline-offset:3px}
.shared-contact{margin-top:14px}
.shared-contact h3{font-size:14px;line-height:1.4;margin:0 0 8px}
.shared-contact ul{margin:6px 0 0;padding-left:20px}
.shared-contact li{margin:7px 0;line-height:1.45;overflow-wrap:anywhere}
.shared-contact .shared-commune{color:var(--muted);font-size:13px}
.shared-contact details{margin-top:0}

.lexique-search{display:block;margin:16px 0 8px;font-size:14px}
.lexique [hidden]{display:none!important}

/* V2 : filtre formation, sur la même page. */
.filters{grid-template-columns:1.1fr 1.15fr 1fr 1fr}
.filters label,.filters select{min-width:0}
.formation-control select{font-size:14px}
.formation-note{margin:12px 0 0;max-width:1000px}
.formation-note[hidden]{display:none}
.stage-note{margin:18px 0 0}
@media(max-width:1050px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.filters{grid-template-columns:1fr}.formation-control select{font-size:16px}}
@media print{.stage-note{font-size:10px}}

/* Choix natif accessible, avec intitulé complet qui revient à la ligne. */
.filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.formation-control{grid-column:auto;min-width:0}
.formation-select-shell{position:relative;display:block;margin-top:6px;min-height:54px;background:#fff;border:1px solid #a5b5bf;border-radius:7px;cursor:pointer}
.formation-selection{display:block;padding:12px 44px 12px 14px;white-space:normal;overflow-wrap:break-word;line-height:1.4;font-size:16px;color:var(--ink)}
.formation-chevron{position:absolute;right:14px;top:18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.formation-control .formation-select-shell select{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;font-size:16px}
.formation-select-shell:focus-within{outline:3px solid var(--link);outline-offset:3px}
.formation-select-shell:hover{border-color:var(--link)}
@media(max-width:1050px) and (min-width:781px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.filters{grid-template-columns:minmax(0,1fr);gap:18px}.formation-selection{padding:12px 40px 12px 12px;font-size:16px;line-height:1.45}.formation-select-shell{min-height:54px}}

/* Menus homogènes : Baloo, libellés complets et zones tactiles généreuses. */
.filter-control{min-width:0}
.select-source{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.select-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px;padding:11px 14px;border:1px solid #a5b5bf;border-radius:7px;background:#fff;text-align:left;font:800 16px/1.45 "Baloo 2 Annuaire",system-ui,sans-serif;filter:none}
.select-button:hover{border-color:var(--link);filter:none}
.select-button:focus-visible{outline:3px solid var(--link);outline-offset:3px}
.select-value{min-width:0;overflow-wrap:break-word;white-space:normal}
.select-arrow{flex:none;font:800 24px/1 "Baloo 2 Annuaire",sans-serif;align-self:flex-start;margin-top:1px;color:var(--muted)}
.select-button[aria-expanded="true"] .select-arrow{transform:rotate(180deg)}
.select-listbox{position:fixed;z-index:1000;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px;background:#fff;border:1px solid #a5b5bf;border-radius:10px;box-shadow:0 8px 28px #16242c2b;font:800 16px/1.45 "Baloo 2 Annuaire",system-ui,sans-serif;color:var(--ink)}
.select-listbox[hidden]{display:none!important}
.select-option{position:relative;min-height:48px;display:flex;align-items:center;padding:12px 34px 12px 12px;border-radius:6px;white-space:normal;overflow-wrap:break-word;cursor:pointer;border-bottom:1px solid #eef2f4}
.select-option:last-child{border-bottom:0}
.select-option:hover,.select-option.is-active{background:#eef2f4}
.select-option[aria-selected="true"]{background:#fff5ca}
.select-option[aria-selected="true"]:after{content:'✓';position:absolute;right:11px;top:12px;color:var(--link)}
@media(max-width:780px){.select-listbox{padding:5px}.select-option{padding:12px 30px 12px 10px}}
@media print{.select-listbox{display:none!important}}

.more-results-wrap{display:flex;justify-content:center;margin:22px 0 28px}.more-results-wrap button{font-family:"Baloo 2 Annuaire",sans-serif;font-weight:800;min-height:48px;padding:11px 24px}.more-results-wrap [hidden]{display:none}@media print{.more-results-wrap,.shared-contact{display:none!important}}
.result-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}.result-tools .exports{margin:0}.favorites-filter{min-height:44px}.favorites-filter[aria-pressed=true]{background:#fff5c9;border-color:#a58a12}.favorite-count{font-size:.85em}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.favorite-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:9px;border-radius:12px}.favorite-toggle svg{width:24px;height:24px;fill:none;stroke:#14566b;stroke-width:1.8;stroke-linejoin:round}.favorite-toggle[aria-pressed=true]{background:#fff5c9;border-color:#bba332}.favorite-toggle[aria-pressed=true] svg{fill:#ffca05}.card-actions{margin-top:14px}.report-trigger{font-size:.88em;min-height:44px;padding:8px 12px}.stage-status{margin-top:16px;padding:12px;border-radius:10px;background:#edf3f5}.email-item{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:3px}.email-item small{font-size:.8em;color:#53636c;overflow-wrap:anywhere}.email-item .mail-uncertain{color:#765500}.email-item a{overflow-wrap:anywhere;max-width:100%}.report-dialog{box-sizing:border-box;width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:22px;border:1px solid #b7c4ca;border-top:5px solid #ffca05;border-radius:16px;color:#20292f;background:#fff;font:800 16px/1.5 "Baloo 2 Annuaire",system-ui,sans-serif;overflow:auto}.report-dialog::backdrop{background:#14242c99}.report-heading{display:flex;justify-content:space-between;gap:12px}.report-heading h2{margin:0;font-size:1.4em}.report-close{width:44px;height:44px;flex:none;padding:5px}.report-dialog label,.report-dialog legend{font-weight:800}.report-dialog fieldset{border:0;padding:0;margin:18px 0}.report-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.report-options label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #d2dade;border-radius:8px;min-height:44px;box-sizing:border-box}.report-options input{width:auto;margin:0;flex:none}.report-field{display:flex;flex-direction:column;gap:6px;margin:16px 0}.report-dialog textarea,.report-dialog input[type=url]{box-sizing:border-box;width:100%;min-width:0;font:inherit;padding:10px;border:1px solid #9fadb5;border-radius:9px}.report-dialog textarea{min-height:120px;resize:vertical}.report-buttons{display:flex;gap:9px}.report-buttons button{flex:1;min-height:44px;white-space:normal}.report-copy{background:#20292f;color:#fff}.report-dialog .small{font-size:.85em}.report-dialog [hidden]{display:none!important}@media(max-width:780px){.result-tools{align-items:stretch}.result-tools button{font-size:.9em}.report-dialog{padding:14px;width:calc(100% - 28px)}.report-buttons button{padding:9px}.report-options label{font-size:.93em}}@media print{.result-tools,.favorite-toggle,.card-actions,.report-dialog,.favorites-message{display:none!important}}

.report-dialog{max-width:calc(100% - 28px)}.report-buttons button{min-width:0}@media(max-width:360px){.report-options{grid-template-columns:1fr}.report-buttons{flex-direction:column}}


.contact .email-item{max-width:100%;overflow-wrap:anywhere}.manager-contact{margin-top:1rem;padding-top:.7rem;border-top:1px solid #d6dde1}.manager-contact h3{font-size:1rem;margin-bottom:.3rem}.address-alternatives{margin:.6rem 0}.address-alternatives>summary{font-size:.95rem}



.manager-contact p{margin:.35rem 0;overflow-wrap:anywhere}.manager-name{font-weight:800}.missing-manager-contact{font-size:.9em;color:#64757e}.manager-contact a{overflow-wrap:anywhere}


.report-dialog input[type=email]{box-sizing:border-box;width:100%;min-width:0;font:inherit;padding:10px;border:1px solid #9fadb5;border-radius:9px}
.report-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.report-send-row{margin:16px 0 10px}.report-send-row button{width:100%;min-height:48px;white-space:normal}
.report-dialog button:disabled{opacity:.6;cursor:not-allowed}.report-dialog [readonly]{background:#f3f5f6}
#report-feedback{overflow-wrap:anywhere}

footer.annuaire-notice{box-sizing:border-box;padding:15px 17px;border:1px solid #e7bd32;border-radius:10px;background:#fff8dc;color:#20292f;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
footer.annuaire-notice h3{margin:0 0 6px;font-size:16px;line-height:1.4}
footer.annuaire-notice p{margin:6px 0}footer.annuaire-notice p:last-child{margin-bottom:0}
@media(max-width:780px){footer.annuaire-notice{padding:13px}}

/* Filigrane retenu le 3 novembre 2026 : 3 %, fixe et fond neutre commun. */
body{background:#fff}
body::after{content:"";position:fixed;left:0;top:0;width:100%;height:100vh;height:100lvh;background-image:url("/assets/visuel-19e8a9a3682a.svg");background-repeat:no-repeat;background-position:center top;background-size:auto 100%;opacity:.03;pointer-events:none;z-index:5;transform:translateZ(0);backface-visibility:hidden;contain:paint}
header.chosen-header{z-index:6}
@media print{body::after{display:none!important}}


.geographic-control{grid-column:1/-1}.multi-hint{margin:7px 0 0}.multi-summary{margin:5px 0 0;color:var(--ink)}.multi-summary[hidden]{display:none}.select-group-label{padding:10px 12px 4px;color:var(--link);font-size:13px}.select-listbox[aria-multiselectable=true] .select-option{padding-left:39px}.select-listbox[aria-multiselectable=true] .select-option:before{content:"";position:absolute;left:12px;top:16px;width:16px;height:16px;border:1.5px solid #667980;border-radius:3px;background:#fff}.select-listbox[aria-multiselectable=true] .select-option[aria-selected=true]:before{background:#ffca05;border-color:#14566b}.select-listbox[aria-multiselectable=true] .select-option[aria-selected=true]:after{right:auto;left:14px;top:13px;font-size:17px}.select-option:focus-visible{outline:2px solid var(--link);outline-offset:-2px}

/* V3 : mêmes fiches pour le 35 et le 56, mail en premier. */
.mail-contact{flex-direction:column;gap:8px;margin:12px 0 4px}
.contact.mail-contact a{border:0;background:none;border-radius:0;padding:3px 0;font-size:16px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;min-height:0}
.mail-uncertain{display:block;color:#765500;font-size:12px}.stage-application{margin-top:4px}
.stage-application a{font-size:14px;display:inline-block;min-height:40px;padding:7px 0}.stage-application small{display:block;font-size:12px;color:#53636c;line-height:1.45}
.address-preview{font-size:14px;line-height:1.5;margin:9px 0;overflow-wrap:anywhere}
.address-preview,.card .address-line{color:var(--link)}
.address-box{display:inline-block;max-width:100%;border:1px solid #b7cbd4;border-radius:6px;padding:8px 10px;box-sizing:border-box;min-height:44px}
.card details .structure-summary{line-height:1.5;margin:0 0 12px}
.secondary-contact{gap:8px;margin:5px 0}.secondary-contact a{min-height:44px;display:inline-flex;align-items:center}.contact:empty{display:none}.website-contact{margin-top:6px}
.shared-open{font-size:12px;line-height:1.5;min-height:40px;padding:5px 0;border:0;background:transparent;color:#14566b;text-align:left;text-decoration:underline;text-underline-offset:3px}
.card .shared-mail-group{padding-top:8px;margin-top:8px}.shared-mail-group summary{font-size:13px;overflow-wrap:anywhere}
@media print{.shared-open{display:none!important}.contact.mail-contact a{font-size:12px;padding:0}.address-preview{font-size:10px;min-height:0}.secondary-contact a{min-height:0}.stage-application a{min-height:0;padding:0}}


.address-conflict-warning{padding:8px 10px;border-left:4px solid #ffca05;background:#fff9e3;color:#38474c;overflow-wrap:anywhere}.publication-dates{margin:12px 0;padding-top:8px;border-top:1px solid #d8e1e4}.publication-dates a{color:#14566b;text-decoration:underline;overflow-wrap:anywhere}
.record-owner{min-width:0;max-width:100%}.record-owner .owner-label{font-size:.85em;font-weight:800;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin:0 0 7px}.record-related{margin:18px 0 12px;padding:16px;background:#f3f6f7;border:1px solid var(--line);border-radius:13px}.record-related .owner-name{font-size:1.15em;font-weight:800;margin:0 0 10px}.record-owner .contact{margin:10px 0}.record-owner small{display:block}.record-owner .email-item{max-width:100%}.record-owner .shared-owner-contact{margin:9px 0 0}.record-owner .address-box{overflow-wrap:anywhere}.record-note{overflow-wrap:anywhere}

.v4-admin-link{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #dfcd85;margin-top:20px;padding-top:14px;font-size:13px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stage-trigger{font-size:13px;background:#fff8d7;border-color:#d3bb58;color:#26333b}.v4-stage-confirmations{border-left:3px solid #56856b;background:#eef7f0;padding:12px 15px;margin:15px 0;border-radius:5px}.v4-stage-confirmations p{margin:7px 0}.report-dialog select{background:#fff}.report-dialog{max-height:90dvh;overflow-y:auto}.report-field{margin:14px 0}.report-dialog input[type=date]{min-width:0}#v4-state-warning{background:#fff5c9;padding:12px;border-radius:6px}#stage-form button[type=submit]{margin-top:10px}@media(max-width:500px){.stage-trigger,.report-trigger{flex:1 1 auto}.v4-admin-link{font-size:12px}}
