/* Site de Berrias-et-Casteljau
   Charte inspirée de Paris.fr (Montserrat, grille en trois colonnes, gris #F4F3F3), de la barre marine
   de la Métropole du Grand Paris et de l'onglet coloré d'AMP Métropole.
   Les trois couleurs (--navy, --accent, --second) sont définies dans Réglages du site : y mettre celles du logo. */

@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/montserrat-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/montserrat-latin-900-normal.woff2) format("woff2")}

:root{
  --navy:#1E3F66; --accent:#9A6212; --second:#C9952E;
  --navy-80:color-mix(in srgb,var(--navy) 80%,transparent); --marine:color-mix(in srgb,var(--navy) 80%,black);
  --accent-fond:color-mix(in srgb,var(--accent) 10%,white); --second-fond:color-mix(in srgb,var(--second) 14%,white);
  --gris:#F4F3F3; --gris-2:#E8E8E8; --gris-txt:#5F6E7B; --blanc:#FFFFFF;
  --vert:#257D1B; --vert-fond:#E6F2E4;
  --f:"Montserrat", Arial, sans-serif; --fs:16px;
  color-scheme:light;
}
@supports not (color:color-mix(in srgb,red,blue)){:root{--navy-80:#1E3F66;--marine:#14304F;--accent-fond:#F5EEE2;--second-fond:#F9F2E4}}
*,*::before,*::after{box-sizing:border-box}
html{font-size:var(--fs);scroll-padding-top:100px}
body{margin:0;background:var(--blanc);color:var(--navy);font-family:var(--f);font-size:1rem;line-height:1.5;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance;line-height:1.15}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w{max-width:1440px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.skip a{position:absolute;left:-999px;z-index:100}.skip a:focus{left:16px;top:8px;background:var(--blanc);padding:8px 12px}
.ico{width:18px;height:18px;flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
main:focus{outline:none}

/* Barre supérieure */
.topbar{background:var(--accent);color:var(--blanc);font-size:.75rem}
.topbar .w{display:flex;align-items:stretch;gap:0 4px;flex-wrap:wrap;min-height:34px}
.indic{display:flex;align-items:center;gap:6px;padding:6px 14px 6px 0;text-decoration:none}
.indic b{font-weight:600}
.indic-lieu{opacity:.8}
.indic .val{font-weight:700;color:#DFF5C8}
.indic[data-n="vig"] .val{color:#FFB04A}.indic[data-n="stop"] .val{color:#FF8F97}
.topbar nav{margin-left:auto;display:flex;flex-wrap:wrap}
.topbar nav a{display:flex;align-items:center;padding:6px 14px;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:.72rem;letter-spacing:.02em}
.topbar nav a.on{background:var(--second);color:var(--navy)}
.topbar nav a:hover{text-decoration:underline}

/* En-tête */
header.h{background:var(--blanc);border-bottom:1px solid var(--gris-2);position:sticky;top:0;z-index:40}
header.h > .w{display:flex;align-items:center;min-height:80px;gap:20px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--navy)}
.logo b{font-weight:800;font-size:1.55rem;letter-spacing:.01em}
.nav{display:flex;align-items:center;margin-left:32px}
.nav a{padding:4px 22px;text-decoration:none;font-weight:500;font-size:.95rem;white-space:nowrap;border-left:1px solid var(--gris-2)}
.nav a:first-child{border-left:0;padding-left:0}
.nav a[aria-current]{font-weight:700;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:10px}
.nav a:hover{text-decoration:underline}
.outils{margin-left:auto;display:flex;align-items:center}
.outils button{display:flex;align-items:center;gap:10px;background:none;border:0;padding:6px 20px;font-weight:500;font-size:.92rem;cursor:pointer}
.outils button+button{border-left:1px solid var(--gris-2)}
.outils button[aria-pressed="true"]{color:var(--navy)}
.outils .lbl{white-space:nowrap}
.burger{display:none!important}
@media (max-width:1100px){.nav a{padding-inline:12px;font-size:.88rem}.nav{margin-left:12px}}
@media (max-width:920px){.nav{display:none}.burger{display:flex!important}}
@media (max-width:560px){.outils .lbl{display:none}.outils button{padding:6px 8px}.logo b{font-size:1.2rem}header.h > .w{min-height:64px;gap:10px}.indic-lieu{display:none}.topbar nav a{padding:6px 10px}}
.menu-mobile{border-top:1px solid var(--gris-2);background:var(--blanc)}
.menu-mobile .w{display:grid;padding-block:8px}
.menu-mobile a{padding:12px 0;border-bottom:1px solid var(--gris-2);text-decoration:none;font-weight:600}

/* Alerte globale (prudence / interdit) */
.alerte-globale{background:var(--accent-fond);border-bottom:3px solid var(--accent)}
.alerte-globale[data-n="vig"]{background:var(--second-fond);border-color:var(--second)}
.alerte-globale .w{display:flex;gap:12px;align-items:flex-start;padding-block:12px;font-size:.9rem}
.alerte-globale .ico{margin-top:2px;color:var(--accent)}
.alerte-globale[data-n="vig"] .ico{color:var(--second)}
.alerte-globale a{font-weight:700}

/* Recherche plein écran */
.overlay{position:fixed;inset:0;z-index:80;background:var(--blanc);overflow:auto}
.overlay .w{max-width:960px;padding-block:32px;display:grid;gap:28px}
.overlay .haut{display:flex;justify-content:space-between;align-items:center}
.overlay h2{font-size:1.6rem;font-weight:800}
.overlay h3{font-size:1rem;margin-bottom:10px}
.fermer{display:flex;gap:8px;align-items:center;background:none;border:0;cursor:pointer;font-weight:600}
.champ{display:flex;gap:10px;align-items:center}
.champ input{flex:1;min-width:0;border:1px solid var(--navy);border-radius:999px;padding:14px 22px;font-size:1.05rem}
.champ button{width:52px;height:52px;flex:none;border-radius:50%;border:0;background:var(--navy);color:var(--blanc);display:grid;place-items:center;cursor:pointer}
.aide{font-size:.85rem;color:var(--gris-txt)}
.pastilles{display:flex;gap:8px;flex-wrap:wrap}
.pastilles a{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 12px;font-size:.8rem;text-decoration:none;font-weight:500}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.cats a{background:var(--gris);padding:16px;text-decoration:none;display:grid;gap:4px}
.cats b{font-size:1.05rem}
.cats span{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--accent)}

/* Fil d'Ariane */
.ariane ol{list-style:none;margin:0;padding:14px 0;display:flex;flex-wrap:wrap;gap:4px;font-size:.8rem;color:var(--gris-txt)}
.ariane li+li::before{content:"›";margin:0 6px 0 2px}
.ariane a{color:var(--gris-txt)}

/* Grille Paris.fr en 3 colonnes */
.grille{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;align-items:start}
@media (max-width:1180px){.grille{grid-template-columns:240px minmax(0,1fr) 260px}}
@media (max-width:980px){.grille{grid-template-columns:minmax(0,1fr)}}
.col-g{padding:28px 24px 28px 0;display:grid;gap:28px}
.col-c{padding:28px 32px;display:grid;grid-template-columns:minmax(0,1fr);gap:56px;min-width:0}
.col-d{background:var(--gris);padding:28px 24px;align-self:stretch}
@media (max-width:980px){.col-g,.col-c{padding:24px 0}.col-d{margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px))}.horaires-bloc{order:-1}}

/* Accès rapides */
.bloc-rapides{display:grid;gap:14px}
.col-g h2{font-size:1.15rem;font-weight:700;text-align:center}
.rapides{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rapides a{display:flex;align-items:center;gap:14px;background:var(--gris);padding:12px 14px;text-decoration:none;font-size:.8rem;font-weight:500;line-height:1.3;min-height:48px;overflow-wrap:anywhere}
.rapides a:hover{text-decoration:underline}
.rapides svg{width:20px;height:20px;flex:none;color:var(--navy-80)}
@media (max-width:980px){.rapides{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* À la une */
.une{display:grid}
.une > .img{aspect-ratio:16/9;max-width:100%;overflow:hidden;background:var(--gris)}
.une > .img svg,.une > .img img{width:100%;height:100%;object-fit:cover;display:block}
.une .carte{background:var(--blanc);margin:-110px 0 0 40px;padding:22px 24px 0;position:relative;max-width:640px;display:grid;gap:12px}
@media (max-width:640px){.une .carte{margin:-40px 0 0 12px;padding:16px 16px 0}}
.tags{display:flex;gap:14px;flex-wrap:wrap}
.tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.tag.r{color:var(--accent)}
.une h1,.une .titre-une{font-size:clamp(1.8rem,4vw,2.75rem);font-weight:800}
.une .titre-une a{text-decoration:none}.une .titre-une a:hover{text-decoration:underline}
.une p{font-size:.92rem;line-height:1.6;max-width:62ch}

/* Blocs et cartes */
.bloc{display:grid;gap:24px}
.titre-bloc{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.bloc h2,.bande h2,.chiffres h2{font-size:1.5rem;font-weight:800}
.plus{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--accent);text-decoration:none;letter-spacing:.04em}
.plus:hover{text-decoration:underline}
.deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 0}
.deux > *{padding-inline:22px}
.deux > *:nth-child(odd){padding-left:0;border-right:1px solid var(--gris-2)}
.deux > *:nth-child(even){padding-right:0}
@media (max-width:640px){.deux{grid-template-columns:minmax(0,1fr)}.deux > *{padding-inline:0!important;border-right:0!important}}
.trois{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:40px 32px}
.art{display:grid;gap:10px;text-decoration:none;align-content:start}
.art .img{aspect-ratio:16/10;max-width:100%;overflow:hidden;background:var(--gris)}
.art .img svg,.art .img img{width:100%;height:100%;object-fit:cover;display:block}
.art .txt{display:grid;gap:8px;padding-left:30px}
.trois .art .txt,.liste-cote .art .txt{padding-left:0}
@media (max-width:640px){.art .txt{padding-left:0}}
.art h3{font-size:1.05rem;font-weight:700;line-height:1.3}
.art:hover h3{text-decoration:underline}
.faits{font-size:.78rem;color:var(--navy-80);display:flex;gap:4px 14px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.faits b{color:var(--navy)}
.ferme{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--accent)}
.quand{font-size:.8rem;color:var(--gris-txt)}

/* Lettre d'information */
.newsletter{border:2px solid var(--navy);padding:28px 32px;text-align:center;display:grid;gap:14px;justify-items:center}
.newsletter h2{color:var(--navy);font-weight:900;font-size:1.7rem}
.newsletter > p{color:var(--navy);font-weight:700;max-width:44ch}
.newsletter form{display:flex;width:100%;max-width:560px}
.newsletter input[type=email]{flex:1;min-width:0;border:0;background:var(--gris-2);padding:14px 16px}
.newsletter button{border:0;background:var(--accent);color:var(--blanc);font-weight:700;padding:0 24px;cursor:pointer}
.newsletter .mention{color:var(--gris-txt);font-weight:400;font-size:.72rem}
@media (max-width:640px){.newsletter{padding:20px 16px}.newsletter h2{font-size:1.3rem}.newsletter form{flex-direction:column}.newsletter button{padding:12px}}

/* Fil info */
.col-d h2{color:var(--accent);font-size:1.15rem;font-weight:700;margin-bottom:18px}
.fil{list-style:none;margin:0;padding:0 0 0 30px;position:relative;display:grid;gap:26px}
.fil::before{content:"";position:absolute;left:7px;top:6px;bottom:0;width:1px;background:var(--accent)}
.fil li{position:relative;font-size:.8rem;line-height:1.55;display:grid;gap:8px}
.fil li svg{position:absolute;left:-30px;top:1px;width:15px;height:15px;color:var(--accent);background:var(--gris)}
.fil b{font-weight:700}
.fil .plus{justify-self:start}
.vide{font-size:.85rem;color:var(--gris-txt)}

/* Vous êtes… */
.bande{background:var(--gris)}
.bande .w{padding-block:44px;display:grid;gap:22px}
.profils{display:flex;gap:10px;flex-wrap:wrap}
.profils button{border:1px solid var(--navy);background:var(--blanc);padding:10px 20px;font-weight:700;font-size:.9rem;cursor:pointer}
.profils button[aria-pressed="true"]{background:var(--navy);color:var(--blanc)}
.reco{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.reco a{background:var(--blanc);padding:16px;text-decoration:none;font-weight:600;font-size:.9rem;display:flex;justify-content:space-between;gap:10px}
.reco a::after{content:"→";color:var(--accent);font-weight:700}
.reco a:hover{text-decoration:underline}

/* Chiffres */
.chiffres .w{padding-block:52px;display:grid;gap:26px}
.chiffres h2{text-align:center;color:var(--marine)}
.chiffres ul,.chiffres-mini{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;text-align:center}
.chiffres li b,.chiffres-mini b{display:block;font-size:2.6rem;font-weight:800;color:var(--marine);line-height:1.1;font-variant-numeric:tabular-nums}
.chiffres-mini b{font-size:1.9rem}
.chiffres li span,.chiffres-mini span{font-size:.85rem;color:var(--navy-80)}




/* Pages intérieures */
.page-liste{padding-block:8px 64px;display:grid;gap:32px}
.page-article{padding-block:8px 64px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.page-article > article{max-width:780px;display:grid;gap:24px;min-width:0}
.page-seule{grid-template-columns:minmax(0,1fr)}
@media (max-width:980px){.page-article{grid-template-columns:minmax(0,1fr);gap:32px}}
.entete-page{display:grid;gap:12px}
.entete-page h1{font-size:clamp(1.8rem,4vw,2.75rem);font-weight:800}
.chapo{font-size:1.05rem;line-height:1.6;max-width:62ch}
.img.large{aspect-ratio:16/9;overflow:hidden;background:var(--gris)}
.img.large svg,.img.large img{width:100%;height:100%;object-fit:cover}
.texte{font-size:.98rem;line-height:1.7;display:grid;gap:14px}
.texte h2{font-size:1.4rem;font-weight:800;margin-top:12px}
.texte h3{font-size:1.1rem;font-weight:700;margin-top:8px}
.texte ul,.texte ol{margin:0;padding-left:22px;display:grid;gap:6px}
.texte a{color:var(--navy);font-weight:600}
.a-cote{display:grid;gap:20px;align-content:start}
.petit-titre{font-size:1rem;font-weight:800}
.liste-cote{display:grid;gap:24px}
.encart-gris{background:var(--gris);padding:20px;display:grid;gap:10px;font-size:.88rem}
.fiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:2px;margin:0;background:var(--gris-2);border:1px solid var(--gris-2)}
.fiche div{background:var(--gris);padding:12px 14px}
.fiche dt{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--gris-txt);letter-spacing:.04em}
.fiche dd{margin:2px 0 0;font-weight:700}
.encart{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-left:6px solid var(--navy);background:#EEF0FB;font-size:.9rem}
.encart .ico{margin-top:2px}
.encart-stop{border-left-color:var(--accent);background:var(--accent-fond)}
.encart-ok{border-left-color:var(--vert);background:var(--vert-fond)}
.encart ul{margin:8px 0 0;padding-left:18px}
.encart > p,.encart > div{flex:1}
.encart:focus{outline:none}
.bouton{display:inline-block;background:var(--accent);color:var(--blanc);text-decoration:none;font-weight:700;padding:12px 22px;border:0;cursor:pointer;font-size:.9rem}
.bouton:hover{text-decoration:underline}
.filtres{display:flex;gap:8px;flex-wrap:wrap}
.filtres a{border:1px solid var(--navy);padding:6px 14px;font-size:.8rem;font-weight:600;border-radius:999px;text-decoration:none}
.filtres a[aria-current]{background:var(--navy);color:var(--blanc)}
.compte{font-size:.85rem;color:var(--gris-txt)}
.pagination{display:flex;gap:6px}
.pagination a{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--gris-2);text-decoration:none;font-weight:600}
.pagination a[aria-current]{background:var(--navy);color:var(--blanc)}

/* Agenda */
.agenda-liste{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.agenda-liste a{display:grid;grid-template-columns:84px minmax(0,1fr);gap:20px;text-decoration:none;background:var(--gris);padding:16px}
.agenda-liste a:hover .ev-titre{text-decoration:underline}
.jour{display:grid;place-items:center;align-content:center;background:var(--blanc);color:var(--accent);text-transform:uppercase;font-weight:700;font-size:.75rem;height:84px}
.jour b{font-size:2rem;line-height:1;color:var(--navy)}
.ev{display:grid;gap:4px;align-content:start}
.ev-titre{font-weight:700;font-size:1.05rem}
.ev-resume{font-size:.85rem}

/* Vivre à Vauvenargues */
.cartes-action{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.cartes-action a{display:flex;gap:14px;align-items:flex-start;background:var(--gris);padding:18px;text-decoration:none;font-size:.85rem}
.cartes-action svg{width:28px;height:28px;flex:none;color:var(--accent)}
.cartes-action b{display:block;font-size:1rem;margin-bottom:2px}
.cartes-action a:hover b{text-decoration:underline}
.demarches{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px 32px}
.dem-groupe h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);padding-bottom:10px;border-bottom:2px solid var(--navy)}
.dem-groupe ul{list-style:none;margin:0;padding:0}
.dem-groupe a{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--gris-2);text-decoration:none}
.dem-groupe a span{font-weight:700;font-size:.92rem}
.dem-groupe a small{font-size:.78rem;color:var(--gris-txt)}
.dem-groupe a:hover span{text-decoration:underline}
.mairie-infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.mairie-infos > div{background:var(--gris);padding:18px;display:grid;gap:6px;font-size:.88rem;align-content:start}
.mairie-infos h3{font-size:.95rem}

/* Formulaires */
.form{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
.form fieldset{border:0;padding:0;margin:0;display:grid;gap:20px}
.form legend{font-weight:800;font-size:1.05rem;margin-bottom:16px}
.champ-f{display:grid;gap:6px;grid-template-columns:minmax(0,1fr);min-width:0}
.champ-f label{font-weight:700;font-size:.9rem}
.champ-f input:not([type=checkbox]):not([type=file]),.champ-f select,.champ-f textarea{border:1px solid var(--navy);background:var(--blanc);padding:12px 14px;width:100%;border-radius:0}
.champ-f [aria-invalid="true"]{border:2px solid var(--accent)!important}
.champ-f.case{grid-template-columns:auto 1fr;align-items:start;gap:10px}
.champ-f.case .erreur{grid-column:1/-1}
.champ-f.case input{width:20px;height:20px;margin-top:2px}
.champ-f.case label{font-weight:500}
.indice{font-size:.78rem;color:var(--gris-txt)}
.erreur{font-size:.82rem;color:var(--accent);font-weight:700}
.aide-form,.mention{font-size:.78rem;color:var(--gris-txt)}
.mention a{color:inherit}
.recherche-page{max-width:720px}
.resultats{list-style:none;margin:0;padding:0;display:grid;gap:18px;max-width:780px}
.resultats li{display:grid;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--gris-2)}
.resultats a{font-weight:700;font-size:1.05rem}
.resultats p{font-size:.85rem;color:var(--navy-80)}
.plan ul{display:grid;gap:8px;padding-left:20px}
.plan > ul{padding-left:0;list-style:none}
.liens-404{display:grid;gap:8px}

/* Pied de page */
footer{background:var(--gris);margin-top:0}
footer > .w{padding-block:36px 20px;display:grid;gap:28px}
.pied{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.pied h2{font-size:1rem;font-weight:700;margin-bottom:10px}
.pied ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.85rem}
.pied a{text-decoration:none}.pied a:hover{text-decoration:underline}
.contact-pied{background:var(--blanc);padding:16px;display:grid;gap:6px;font-size:.85rem;align-content:start}
.contact-pied h2{margin-bottom:4px}
.contact-pied .plus{justify-self:start}
.legal{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.78rem;border-top:1px solid var(--gris-2);padding-top:16px}
.legal a{text-decoration:none}.legal a:hover{text-decoration:underline}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.topbar,header.h,.overlay,.col-g,.col-d,footer,.newsletter{display:none!important}.grille,.page-article{display:block}}

/* Ajouts Berrias-et-Casteljau */
.logo img{width:52px;height:48px;flex:none}
.logo span{display:grid;line-height:1.05}
.logo small{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-txt)}
.indic[data-ouvert="0"] .val{color:#FFD28A}
.alerte-globale[data-n="info"]{background:var(--gris);border-color:var(--navy)}
.alerte-globale[data-n="info"] .ico{color:var(--navy)}
.alerte-globale[data-n="stop"]{background:var(--accent-fond);border-color:var(--accent)}
.alerte-globale p{flex:1}
.horaires-bloc{background:var(--gris);padding:18px 16px;display:grid;gap:10px}
.horaires-bloc h2{font-size:1rem;font-weight:700}
.horaires-bloc ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.8rem}
.horaires-bloc li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--gris-2);padding-bottom:4px}
.horaires-bloc li b{text-align:right;font-weight:600}
.horaires-bloc p{font-size:.78rem;color:var(--gris-txt)}
.horaires-bloc .plus{justify-self:start}
.agenda-liste.grande a{grid-template-columns:96px minmax(0,1fr)}
.agenda-liste .ev .tag{margin-bottom:2px}
.agenda-liste li{margin:0}
.art .resume{font-size:.85rem;color:var(--navy-80);line-height:1.5}
.entete-page .tags{align-items:center}
.liens-cote{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.9rem}
.liens-cote a{font-weight:600}
.encart-gris.actions{gap:12px}
.encart-gris .bouton{justify-self:start}
.encart-gris h2{font-size:1rem}
.petit-titre.grand{font-size:1.4rem;margin-bottom:16px}
.texte table,table.horaires{border-collapse:collapse;width:100%;max-width:560px;font-size:.92rem}
.texte th,.texte td,table.horaires th,table.horaires td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--gris-2);vertical-align:top}
.texte th,table.horaires th{font-weight:700;background:var(--gris)}
.texte .etapes{list-style:none;padding:0;margin:0;counter-reset:etape;display:grid;gap:12px}
.texte .etapes li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}
.texte .etapes li::before{counter-increment:etape;content:counter(etape);width:36px;height:36px;display:grid;place-items:center;background:var(--navy);color:var(--blanc);font-weight:800;border-radius:50%}
.texte .bouton{color:var(--blanc)}
.bouton.secondaire{background:var(--blanc);color:var(--navy);border:2px solid var(--navy)}
.assos{display:grid;gap:18px}
.asso{border-top:2px solid var(--navy);padding-top:12px;display:grid;gap:6px;font-size:.92rem}
.asso h2{font-size:1.1rem;font-weight:800}
.asso-dom{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}
.cartes-action span{display:block}
.resultats .tag{display:block}
.encart.encart-ok div{display:grid;gap:4px}
.page-liste .encart{max-width:780px}
.page-liste > .champ{max-width:720px}

.credits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.credits li{display:grid;grid-template-columns:120px 1fr;gap:12px;font-size:.85rem;align-items:start}
.credits img{width:120px;height:80px;object-fit:cover;background:var(--gris)}
.credits .note{margin-top:4px}
