/* Annuaire des collèges et lycées : charte du site (Montserrat, orange #ef662f, anthracite #30373b, bleu #368fcf) */
.lbpa{--o:#ef662f;--od:#d9541f;--os:#fdeee7;--ink:#30373b;--txt:#4f4f4f;--mut:#7a8085;--b:#368fcf;--bs:#eaf3fa;--line:#eaeaea;--grey:#f7f7f7;
  color:var(--txt);font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.7;margin:0!important;
  padding:var(--lbpa-top,80px) 0 0!important} /* place sous l'en-tête fixe du thème (hauteur mesurée en JS) */
.lbpa *{box-sizing:border-box}
.lbpa a{color:var(--b)}
.lbpa-wrap{max-width:1140px;margin:0 auto;padding-left:20px;padding-right:20px}
.lbpa h1,.lbpa h2,.lbpa h3{font-family:inherit;text-transform:none;letter-spacing:0}
.lbpa h2{color:var(--ink);font-weight:700;font-size:26px;line-height:1.25;margin:0 0 .8rem}
.lbpa h3{color:var(--ink);font-size:15px;font-weight:700;margin:0 0 .25rem}
.lbpa p{margin:0 0 .8rem;max-width:70ch}
.lbpa table{margin:0}
.lbpa-o{color:var(--o)}
.lbpa-kicker{font-size:11.5px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--o);font-weight:700;margin:0 0 .2rem!important}
.lbpa-note{font-size:13px;color:var(--mut)}
.lbpa-up{color:#2e8b57;font-weight:700}.lbpa-down{color:#b8441a;font-weight:700}.lbpa-eq{font-weight:700;color:var(--ink)}

/* Bandeau */
.lbpa-hero{background:linear-gradient(115deg,#2e3a44 0%,#45535e 55%,#5b6a74 100%);color:#fff}
.lbpa-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.5rem;align-items:center;padding-top:2.2rem;padding-bottom:2.6rem}
.lbpa-hero-grid>*,.lbpa-layout>*{min-width:0}
.lbpa-hero-solo{max-width:900px;padding-top:2.2rem;padding-bottom:2.6rem}
.lbpa-crumbs{font-size:12px;color:#d5dbe0;display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.8rem}
.lbpa-crumbs a{color:#d5dbe0;text-decoration:none}.lbpa-crumbs a:hover{color:#fff}
.lbpa-hero h1{color:var(--o);font-weight:700;font-size:clamp(26px,3.4vw,36px);line-height:1.2;margin:0 0 .8rem;text-wrap:balance}
.lbpa-lede{font-size:16px;color:#fff;max-width:58ch}
.lbpa-lede strong{color:#ffc823}
.lbpa-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.lbpa-chips span{font-size:12px;font-weight:600;background:rgba(255,255,255,.15);padding:.25rem .7rem;border-radius:20px}
.lbpa-fresh{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:1rem 0 0!important;font-size:12.5px;color:#d5dbe0}
.lbpa-fresh b{color:#fff}
.lbpa-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#5fd38d;margin-right:.4rem}

/* Formulaire Gravity Forms n°1 dans le bandeau */
.lbpa-form{background:rgba(255,255,255,.2);border-radius:4px;padding:1.2rem}
.lbpa-form-title{color:#fff;font-size:20px;font-weight:700;margin:0!important}
.lbpa-form-sub{color:#eef1f3;font-size:14px;margin:0 0 .4rem!important}
.lbpa-form .gform_wrapper{margin:0!important;max-width:none!important}
.lbpa-form .gform_wrapper ul.gform_fields li.gfield{padding:0!important;margin:0 0 .7rem!important}
.lbpa-form .gform_wrapper .gfield_label{display:none!important}
.lbpa-form .gform_wrapper select{width:100%!important;height:auto!important;padding:.7rem .8rem!important;border-radius:4px;border:1px solid #d9d9d9;font-size:14px;background:#fff;color:var(--txt)}
/* Le thème remplace les listes par « nice-select » (texte blanc par défaut) */
.lbpa-form .nice-select{float:none!important;width:100%!important;background:#fff!important;border:1px solid #d9d9d9!important;border-radius:4px!important;color:var(--txt)!important;height:44px;line-height:42px}
.lbpa-form .nice-select .current{color:var(--txt)!important}
.lbpa-form .nice-select .list{width:100%;max-height:300px;overflow-y:auto;z-index:20}
.lbpa-form .nice-select .option{color:var(--txt)!important}
.lbpa-form .nice-select:after{border-color:var(--mut)!important}
.lbpa-form .gform_wrapper .gform_footer{margin:0!important;padding:0!important}
.lbpa-form .gform_wrapper .gform_footer input[type=submit]{width:100%!important;background:var(--o)!important;color:#fff!important;border:0!important;border-radius:5px!important;padding:.85rem 1rem!important;font-weight:700!important;font-size:15px!important;box-shadow:0 3px 0 var(--od)}
.lbpa-free{display:flex;justify-content:flex-end;gap:.4rem;font-size:13px;font-weight:700;color:#fff;margin:.6rem 0 0!important}
.lbpa-free b{color:var(--o);font-size:16px}

/* Mise en page */
.lbpa-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;padding-top:2.4rem;padding-bottom:3rem}
.lbpa-main section{padding:1.8rem 0;border-top:1px solid var(--line)}
.lbpa-main section:first-child{border-top:0;padding-top:0}
.lbpa-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.lbpa-kpi{background:var(--grey);border-radius:6px;padding:1rem;display:flex;flex-direction:column;gap:.15rem}
.lbpa-kpi .lab{font-size:12px;font-weight:700;color:var(--ink)}
.lbpa-kpi .yr{font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.lbpa-kpi .big{font-size:32px;font-weight:700;color:var(--o);line-height:1.15;font-variant-numeric:tabular-nums}
.lbpa-kpi .big small{font-size:14px;color:var(--mut);font-weight:600}
.lbpa-kpi .cmp{font-size:12.5px;color:var(--mut);line-height:1.45}
.lbpa-figure{border:1px solid var(--line);border-radius:6px;padding:1rem}
.lbpa-chart{width:100%;height:auto;display:block}
.lbpa-chart text{fill:var(--mut);font:12px Montserrat,Arial,sans-serif}
.lbpa-chart text.lbl{fill:var(--ink);font-weight:700}
.lbpa-figcap{font-size:12.5px;color:var(--mut);margin:.5rem 0 0!important}
.lbpa-mentions{display:flex;height:34px;border-radius:4px;overflow:hidden;margin:.6rem 0}
.lbpa-mentions span{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden}
.lbpa-mentions .lbpa-rest{background:#e3e3e3;color:var(--mut)}
.lbpa-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:13px;color:var(--mut);margin-bottom:.8rem}
.lbpa-legend i{display:inline-block;width:.8em;height:.8em;border-radius:2px;margin-right:.35em;vertical-align:-.05em}
.lbpa-va{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:.9rem}
.lbpa-va3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lbpa-va1{grid-template-columns:minmax(0,1fr)}
.lbpa-va>div{background:var(--os);border-radius:6px;padding:.9rem 1rem}
.lbpa-va p{margin:.2rem 0 0!important;font-size:13.5px}
.lbpa-tablebox{overflow-x:auto}
.lbpa table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
.lbpa th,.lbpa td{text-align:left;padding:.6rem .7rem;border:0;border-bottom:1px solid var(--line)}
.lbpa th{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-weight:700;background:var(--grey)}
.lbpa .r{text-align:right}
.lbpa tr.lbpa-me td{background:var(--os);font-weight:700;color:var(--ink)}
.lbpa td a{text-decoration:none;font-weight:600}
.lbpa details{border-bottom:1px solid var(--line);padding:.85rem 0}
.lbpa summary{cursor:pointer;font-weight:700;color:var(--ink)}
.lbpa details p{margin:.5rem 0 0!important}
.lbpa-src{font-size:13px;color:var(--mut);padding-left:1.1rem}
.lbpa-infos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.5rem;margin:0}
.lbpa-infos dt{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}
.lbpa-infos dd{margin:0;font-size:14px}
.lbpa-timeline{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.lbpa-timeline li{border-top:3px solid var(--line);padding-top:.6rem;font-size:13px}
.lbpa-timeline li.done{border-top-color:var(--o)}
.lbpa-timeline li.next{border-top:3px dashed var(--b)}
.lbpa-timeline .when{display:block;font-weight:700;color:var(--ink);font-size:13.5px}
.lbpa-timeline .st{display:inline-block;margin-top:.35rem;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .45rem;border-radius:3px;background:var(--grey);color:var(--mut)}
.lbpa-timeline li.done .st{background:var(--os);color:var(--od)}
.lbpa-timeline li.next .st{background:var(--bs);color:var(--b)}

/* Encadré latéral */
.lbpa-box{position:sticky;top:90px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.lbpa-box-top{background:var(--ink);color:#fff;padding:1rem 1.1rem}
.lbpa-box-title{color:#fff;font-size:18px;font-weight:700;margin:0!important}
.lbpa-box-top p:last-child{margin:.3rem 0 0!important;font-size:13px;color:#d5dbe0}
.lbpa-box-body{padding:1.1rem}
.lbpa-btn{display:inline-block;font-weight:700;font-size:15px;background:var(--o);color:#fff!important;border:0;border-radius:5px;padding:.85rem 1.2rem;cursor:pointer;box-shadow:0 3px 0 var(--od);text-decoration:none!important}
.lbpa-btn:hover{background:var(--od)}
.lbpa-btn-block{display:block;text-align:center}
.lbpa-perks{list-style:none;margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:13px;font-weight:600;color:var(--ink)}
.lbpa-perks li{display:flex;gap:.55rem;align-items:center}
.lbpa-perks li:before{content:"✓";width:18px;height:18px;flex:none;border-radius:50%;background:var(--os);color:var(--o);font-size:11px;display:flex;align-items:center;justify-content:center}
.lbpa-score{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin:0!important;font-size:12.5px;color:var(--mut)}
.lbpa-score b{font-size:24px;color:var(--o)}
.lbpa-stars{color:#ffc823;letter-spacing:1px}
.lbpa-citylink{margin:.8rem 0 0!important;font-size:13.5px;font-weight:600}

/* Carte de France */
.lbpa-search{display:flex;gap:.6rem;margin-top:1.2rem;max-width:620px}
.lbpa-search input{flex:1;min-width:0;padding:.85rem 1rem;font-size:15px;border:1px solid #d9d9d9;border-radius:4px;color:var(--txt)}
.lbpa-results{padding:2rem 0 0}
.lbpa-results ul{list-style:none;margin:0;padding:0;columns:2 320px}
.lbpa-results li{padding:.3rem 0;break-inside:avoid}
.lbpa-results li a{font-weight:700;text-decoration:none}
.lbpa-results li span{color:var(--mut);font-size:13px}
.lbpa-mapsec{padding:2.2rem 0 1rem}
.lbpa-maphead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.lbpa-maphead h2{margin:0}
.lbpa-seg{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.lbpa-seg button{font:600 13px Montserrat,Arial,sans-serif;background:#fff;color:var(--ink);border:0;border-left:1px solid var(--line);padding:.55rem .9rem;cursor:pointer}
.lbpa-seg button:first-child{border-left:0}
.lbpa-seg button[aria-selected="true"]{background:var(--ink);color:#fff}
.lbpa-mapgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;align-items:start}
.lbpa-mapgrid>*{min-width:0}
.lbpa-map{width:100%;height:auto;display:block;max-height:640px}
.lbpa-dep{stroke:#fff;stroke-width:.7;cursor:pointer}
.lbpa-dep:hover,.lbpa-dep.hov{stroke:var(--ink);stroke-width:1.6}
.lbpa-dep:focus{outline:none;stroke:var(--b);stroke-width:2.5}
.lbpa-dep.sel{stroke:var(--ink);stroke-width:2.2}
.lbpa-legend-bar{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;margin-top:.8rem;font-size:12.5px;color:var(--mut)}
.lbpa-legend-bar .lt{font-weight:700;color:var(--ink)}
.lbpa-legend-bar i{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:.3rem;vertical-align:-1px}
.lbpa-om{margin-top:1rem;display:flex;flex-direction:column;gap:.4rem}
.lbpa-omlist{display:flex;flex-wrap:wrap;gap:.4rem}
.lbpa-omb{font:600 12.5px Montserrat,Arial,sans-serif;background:#fff;border:1px solid var(--line);border-radius:20px;padding:.3rem .7rem;cursor:pointer;color:var(--ink);display:flex;align-items:center;gap:.4rem}
.lbpa-omb i{width:10px;height:10px;border-radius:50%;display:inline-block}
.lbpa-omb.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.lbpa-panel{border:1px solid var(--line);border-radius:6px;padding:1.2rem;display:flex;flex-direction:column;gap:.8rem;position:sticky;top:90px}
.lbpa-pname{font-size:24px!important;margin:0!important}
.lbpa-pkpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.lbpa-pkpi div{background:var(--grey);border-radius:5px;padding:.7rem .8rem;display:flex;flex-direction:column}
.lbpa-pkpi b{font-size:22px;color:var(--o);line-height:1.2}
.lbpa-pkpi span{font-size:12px;color:var(--mut);line-height:1.4}
.lbpa-pkpi em{font-style:normal;color:var(--ink);font-weight:600}
.lbpa-soonbox{background:var(--bs);color:var(--ink);border-radius:5px;padding:.7rem .8rem;font-size:13px}
.lbpa-alpha,.lbpa-steps{padding:1.6rem 0;border-top:1px solid var(--line)}
.lbpa-cols-dep{columns:4 220px;column-gap:1.5rem;font-size:13.5px}
.lbpa-cols-dep>a,.lbpa-cols-dep>span{display:block;padding:.15rem 0;color:var(--txt);text-decoration:none;break-inside:avoid}
.lbpa-cols-dep>a:hover{color:var(--o)}
.lbpa-cols-dep>* span{display:inline-block;width:2.4em;color:var(--o);font-weight:700}
.lbpa-cols-dep .lbpa-soon{color:#a7acb0}
.lbpa-cols-dep .lbpa-soon span{color:#c9cdd0}
.lbpa-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.lbpa-steps-grid div{background:var(--grey);border-radius:6px;padding:1rem}
.lbpa-steps-grid p{margin:.3rem 0 0!important;font-size:14px}
.lbpa-band{background:var(--ink);color:#fff;border-radius:8px;padding:1.5rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:center;margin:1.6rem 0 2.5rem}
.lbpa-band h2{color:#fff;margin:0 0 .3rem}
.lbpa-band p{color:#d5dbe0}
.lbpa-band .lbpa-form{background:rgba(255,255,255,.08)}

@media (max-width:980px){
  .lbpa-hero-grid,.lbpa-layout,.lbpa-mapgrid,.lbpa-band{grid-template-columns:minmax(0,1fr)}
  .lbpa-box,.lbpa-panel{position:static}
  .lbpa-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .lbpa h2{font-size:22px}
  .lbpa-va,.lbpa-va3,.lbpa-steps-grid,.lbpa-infos{grid-template-columns:minmax(0,1fr)}
  .lbpa-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lbpa-search{flex-direction:column}
}

/* Recherche avec suggestions */
.lbpa-search{position:relative}
.lbpa-search-field{position:relative;flex:1;min-width:0}
.lbpa-search-field input{width:100%}
.lbpa-ac{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;list-style:none;margin:0;padding:.3rem 0;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.18);max-height:420px;overflow-y:auto;text-align:left}
.lbpa-ac-h{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--o);padding:.5rem .9rem .2rem}
.lbpa-ac-i,.lbpa-ac-all{padding:.5rem .9rem;cursor:pointer;display:flex;flex-direction:column;line-height:1.35}
.lbpa-ac-i b{color:var(--ink);font-size:14px}
.lbpa-ac-i span{color:var(--mut);font-size:12.5px}
.lbpa-ac-i.on,.lbpa-ac-i:hover,.lbpa-ac-all.on,.lbpa-ac-all:hover{background:var(--os)}
.lbpa-ac-all{font-weight:700;color:var(--b);font-size:13.5px;border-top:1px solid var(--line);margin-top:.3rem}
.lbpa-ac-empty{padding:.7rem .9rem;color:var(--mut);font-size:13.5px}
.lbpa-searchbar{padding-top:1.2rem}
.lbpa-search-compact{max-width:none!important;margin:0!important}
.lbpa-search-compact input{border:1px solid #d9d9d9!important;padding:.75rem 1rem!important}
.lbpa-res-villes,.lbpa-res-etabs{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem}
.lbpa-res-villes a,.lbpa-res-etabs a{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;padding:.7rem .9rem;text-decoration:none;line-height:1.4}
.lbpa-res-villes a:hover,.lbpa-res-etabs a:hover{border-color:var(--o)}
.lbpa-res-villes b,.lbpa-res-etabs b{color:var(--ink)}
.lbpa-res-villes span,.lbpa-res-etabs span{color:var(--mut);font-size:13px}
.lbpa-results h3{margin-top:.6rem}

/* Tri */
.lbpa-th-sort{cursor:pointer;user-select:none;white-space:nowrap}
.lbpa-th-sort:after{content:"↕";margin-left:.35em;color:#c3c7ca;font-size:11px}
.lbpa-th-sort[aria-sort=ascending]:after{content:"↑";color:var(--o)}
.lbpa-th-sort[aria-sort=descending]:after{content:"↓";color:var(--o)}
.lbpa-th-sort:focus{outline:2px solid var(--b);outline-offset:-2px}
.lbpa-sorthint{margin:-.4rem 0 .5rem!important}

/* Classements */
.lbpa-topcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;border-top:0!important;padding-top:0!important}
.lbpa-topcard{display:flex;flex-direction:column;gap:.15rem;background:var(--os);border-radius:6px;padding:1rem 1.1rem;text-decoration:none!important;border:1px solid transparent}
.lbpa-topcard:hover{border-color:var(--o)}
.lbpa-topcard b{color:var(--ink);font-size:16px;line-height:1.3}
.lbpa-topcard span:last-child{color:var(--mut);font-size:13px}
.lbpa-toplinks-inline{font-weight:600;font-size:14px}
.lbpa-filter{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:.5rem}
.lbpa-filter button{font:600 13px Montserrat,Arial,sans-serif;background:#fff;color:var(--ink);border:0;border-left:1px solid var(--line);padding:.55rem .9rem;cursor:pointer}
.lbpa-filter button:first-child{border-left:0}
.lbpa-filter button[aria-pressed=true]{background:var(--ink);color:#fff}
.lbpa-rank .lbpa-rk{font-weight:700;color:var(--o);width:3.5em}
.lbpa-rank tbody tr:nth-child(-n+3) .lbpa-rk{font-size:16px}
.lbpa-quartier{display:block;font-size:12px;color:var(--mut);font-weight:500}
.lbpa-topcards-hub{padding:1.6rem 0!important;border-top:1px solid var(--line)!important}
.lbpa-cols-reg .lbpa-reg{display:block;padding:.25rem 0;break-inside:avoid;color:var(--txt)}
.lbpa-cols-reg .lbpa-reg b{color:var(--ink);display:inline!important;width:auto!important;font-weight:700}
.lbpa-cols-reg .lbpa-reg a{font-weight:600;text-decoration:none}
.lbpa-zonelinks{columns:3 200px;list-style:none;padding:0;margin:0 0 1rem}
.lbpa-zonelinks li{padding:.15rem 0;break-inside:avoid}
.lbpa-zonelinks a{font-weight:600;text-decoration:none}
.lbpa-panel-links{font-size:13.5px;font-weight:600;margin:0!important;text-align:center}
.lbpa-panel-links a{text-decoration:none}

