/* Lycée Boisjoly Potier – styles principaux */
.bjp{--or:#e4581b;--or2:#f06a1f;--dk:#1d2025;--dk2:#1b1e23;--tx:#222;--pu:#5b2a86;--bl:#12456f;--gr:#3b6b1c;
font-family:'Montserrat',Arial,sans-serif;color:var(--tx);background:#fff;line-height:1.35;-webkit-font-smoothing:antialiased}
.bjp *,.bjp *::before,.bjp *::after{box-sizing:border-box}
.bjp a{text-decoration:none;color:inherit}
.bjp img{max-width:100%;height:auto}
.bjp svg{display:block}
body.bjp-body{margin:0;background:#fff}

/* ---- En-tête ---- */
.bjp-top{display:flex;justify-content:space-between;align-items:flex-start;height:132px;padding:0 14px 0 16px;position:relative;background:#fff}
.bjp-brand{display:flex;align-items:center;height:132px;gap:24px}
.bjp-logo{display:flex;align-items:center}
.bjp-logo-link{display:flex;align-items:center;gap:6px}
.bjp-logo img,.bjp-logo .custom-logo{height:100px;width:auto;max-width:none}
.bjp-mark{width:150px;height:100px}
.bjp-lname{line-height:1}
.bjp-lname b{display:block;font-weight:800;color:#2b3a4a;font-size:29px;letter-spacing:.2px;line-height:1.02}
.bjp-lname b.big{font-size:30px}
.bjp-lname span{display:block;font-size:19px;font-weight:400;color:#2b3a4a;margin-top:4px;letter-spacing:.1px}
.bjp-sep{width:2px;height:62px;background:var(--or)}
.bjp-tag{font-family:'Caveat','Segoe Script',cursive;font-style:italic;font-size:25px;line-height:1.15;color:#333;transform:skewX(-6deg)}
.bjp-quick{width:490px;max-width:50%;padding-top:2px}
.bjp-quick h2{margin:0 0 6px;font-weight:600;font-size:16px;letter-spacing:.3px;text-transform:uppercase;position:relative;padding-bottom:6px;display:inline-block;color:#222}
.bjp-quick h2::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--or)}
.bjp-qgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bjp-q{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:90px;border:1px solid #e1e1e1;border-radius:9px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.07);font-size:10px;font-weight:500;text-align:center;line-height:1.25;padding:4px;transition:.2s}
.bjp-q:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}

/* ---- Menu ---- */
.bjp-nav{background:var(--dk);height:45px;display:flex;align-items:stretch;padding-left:56px;position:relative;z-index:5}
.bjp-home{width:67px;background:var(--or);color:#fff!important;display:flex;align-items:center;justify-content:center;flex:none}
.bjp-menu{list-style:none;margin:0;padding:0 10px 0 25px;display:flex;flex:1;justify-content:space-around;align-items:center}
.bjp-menu li{margin:0;padding:0;position:relative;list-style:none}
.bjp-menu li a{color:#fff;font-size:13.5px;font-weight:500;text-transform:uppercase;white-space:nowrap;padding:12px 0;display:block;transition:color .2s}
.bjp-menu li a:hover,.bjp-menu li.current-menu-item>a,.bjp-menu li.current-menu-ancestor>a{color:var(--or2)}
.bjp-sbtn{color:#fff!important;width:50px;display:flex;align-items:center;justify-content:center;flex:none}
.bjp-burger{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:26px;padding:0 16px;cursor:pointer}


/* ---- Sous-menus ---- */
.bjp-menu>li.menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.bjp-menu .sub-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:250px;margin:0;padding:8px 0;list-style:none;background:var(--dk);border-top:3px solid var(--or);box-shadow:0 10px 24px rgba(0,0,0,.35);display:none;z-index:50}
.bjp-menu li:hover>.sub-menu,.bjp-menu li:focus-within>.sub-menu,.bjp-menu li.open>.sub-menu{display:block}
.bjp-menu .sub-menu li{display:block;width:100%}
.bjp-menu .sub-menu li a{padding:10px 20px;font-size:12.5px;white-space:normal;line-height:1.3}
.bjp-menu .sub-menu li a:hover{background:rgba(255,255,255,.07)}
.bjp-menu .sub-menu .sub-menu{top:-11px;left:100%;transform:none;border-top:0;border-left:3px solid var(--or)}
.bjp-menu .sub-menu li.menu-item-has-children>a::after{content:"›";float:right;margin-left:10px}
.bjp-menu>li:nth-last-child(-n+2)>.sub-menu{left:auto;right:0;transform:none}
.bjp-menu>li:nth-last-child(-n+2) .sub-menu .sub-menu{left:auto;right:100%}
.bjp-subtoggle{display:none}

/* ---- Slider ---- */
.bjp-hero{position:relative;height:279px;overflow:hidden;background:#2a2f3a}
.bjp-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;display:flex;flex-direction:column;justify-content:center;padding:0 0 0 117px;color:#fff;
background:linear-gradient(90deg,rgba(20,22,28,.55) 0%,rgba(20,22,28,.15) 55%,rgba(0,0,0,0) 100%),linear-gradient(115deg,#6e5a52 0%,#8d7d83 25%,#c07c58 40%,#7d8b66 62%,#9a5a46 78%,#456b2c 100%);background-size:cover;background-position:center}
.bjp-slide.on{opacity:1;visibility:visible}
.bjp-slide .sc{font-family:'Caveat','Segoe Script',cursive;font-style:italic;font-weight:600;font-size:58px;line-height:.9;transform:skewX(-8deg);text-shadow:0 2px 6px rgba(0,0,0,.35)}
.bjp-slide h1{margin:2px 0 8px;font-family:'Oswald','Bebas Neue',Impact,sans-serif;font-weight:700;color:var(--or2);font-size:44px;letter-spacing:.5px;line-height:1.05;text-shadow:0 2px 6px rgba(0,0,0,.3)}
.bjp-slide p{margin:0 0 20px;font-size:17.5px;font-weight:500;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.bjp-btn-o{display:inline-block;align-self:flex-start;border:1.5px solid #fff;border-radius:6px;padding:9px 22px;font-size:13.5px;font-weight:500;color:#fff!important;background:rgba(0,0,0,.15);transition:.2s}
.bjp-btn-o:hover{background:#fff;color:var(--dk)!important}
.bjp-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;padding:0}
.bjp-arrow:hover{background:rgba(0,0,0,.85)}
.bjp-arrow.l{left:19px}.bjp-arrow.r{right:19px}
.bjp-dots{position:absolute;left:0;right:0;bottom:21px;display:flex;justify-content:center;gap:9px;z-index:3}
.bjp-dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.8);cursor:pointer;padding:0}
.bjp-dots button.on{background:var(--or)}

/* ---- Formations + actualités ---- */
.bjp-mid{display:flex;min-height:371px;background:#fff}
.bjp-form{flex:0 0 41.3%;padding:12px 0 20px 64px;position:relative}
.bjp-form::after{content:"";position:absolute;right:0;top:0;height:258px;width:1px;background:#e3e3e3}
.bjp-h{margin:0;font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:.2px;position:relative;padding-bottom:7px;display:inline-block;color:#222}
.bjp-h::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--or)}
.bjp-fgrid{display:grid;grid-template-columns:repeat(2,268px);column-gap:22px;row-gap:22px;margin-top:11px;margin-left:3px}
.bjp-fc{position:relative;height:137px;overflow:hidden;border-radius:2px;display:block;background:#cdd3dc center/cover no-repeat}
.bjp-fc::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 38%,rgba(255,255,255,.2) 75%,rgba(255,255,255,0) 100%)}
.bjp-fc .ic{position:absolute;left:0;bottom:6px;width:55px;height:55px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.bjp-fc .ic svg{width:30px;height:30px}
.bjp-fc .bd{position:absolute;left:72px;top:34px;display:block}
.bjp-fc .ti{display:block;margin:0 0 15px;font-size:14px;font-weight:700;line-height:1.3;text-transform:uppercase}
.bjp-fc .bt{display:inline-block;border:1px solid;border-radius:3px;padding:6px 14px;font-size:11.5px;font-weight:500;background:#fff;text-transform:uppercase}
.bjp-fc.purple .ti{color:var(--pu)}.bjp-fc.purple .ic{background:var(--pu)}.bjp-fc.purple .bt{color:var(--pu);border-color:var(--pu)}
.bjp-fc.blue .ti{color:var(--bl)}.bjp-fc.blue .ic{background:var(--bl)}.bjp-fc.blue .bt{color:var(--bl);border-color:var(--bl)}
.bjp-fc.green .ti{color:var(--gr)}.bjp-fc.green .ic{background:var(--gr)}.bjp-fc.green .bt{color:var(--gr);border-color:var(--gr)}
.bjp-fc:hover .bt{filter:brightness(.92)}

.bjp-news{flex:1;padding:15px 40px 20px 44px}
.bjp-nh{display:flex;justify-content:space-between;align-items:flex-start;max-width:700px}
.bjp-nh a{color:var(--or)!important;font-size:10px;font-weight:500;text-transform:uppercase;display:flex;align-items:center;gap:7px;margin-top:5px}
.bjp-nh a svg{width:11px;height:11px}
.bjp-ngrid{display:grid;grid-template-columns:296px 204px 169px;gap:12px;margin-top:11px;align-items:start}
.bjp-nc{background:#fff;border:1px solid #ececec;border-radius:7px;box-shadow:0 1px 6px rgba(0,0,0,.09);overflow:hidden;display:block;transition:.2s;min-height:191px}
.bjp-nc:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.14)}
.bjp-nc .im{display:block;height:83px;background:#9aa6a0 center/cover no-repeat;position:relative}
.bjp-nc .im .ur{position:absolute;left:12px;top:13px;background:var(--or);color:#fff;font-size:8.5px;font-weight:600;padding:3px 7px;border-radius:3px;text-transform:uppercase}
.bjp-nc .tx{display:block;padding:8px 11px 12px}
.bjp-nc .dt{display:block;color:var(--or);font-size:10.5px;font-weight:500;text-transform:uppercase;margin-bottom:5px}
.bjp-nc .ti{display:block;margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.2;color:#111}
.bjp-nc .ex{display:block;font-size:10.5px;line-height:1.3;color:#333}

/* ---- Bandeau ---- */
.bjp-band{position:relative;height:194px;background:var(--dk2);color:#fff;overflow:hidden;border-top:1px solid #2a2d33}
.bjp-band .bg{position:absolute;right:0;top:0;bottom:0;width:36%;background:linear-gradient(90deg,var(--dk2) 0%,rgba(27,30,35,.2) 40%,rgba(27,30,35,0) 100%),linear-gradient(180deg,#27364d 0%,#3f5a7c 45%,#243b52 70%,#162736 100%)}
.bjp-band .in{position:absolute;left:62%;top:24px;width:300px;padding-left:0}
.bjp-band .in::before{content:"";position:absolute;left:-30px;top:-3px;height:152px;width:1px;background:#6b6f76}
.bjp-band .hd{display:flex;gap:14px;align-items:flex-start}
.bjp-band .lg{color:var(--or);flex:none;width:58px}
.bjp-band .lg svg{width:58px;height:44px;stroke:#fff}
.bjp-band h2{margin:8px 0 0;font-size:17px;font-weight:600;letter-spacing:.3px;color:#fff}
.bjp-band .pp{margin:14px 0 0;font-size:12px;line-height:1.55;max-width:272px}
.bjp-band .sl{font-family:'Caveat','Segoe Script',cursive;font-style:italic;color:var(--or2);font-size:19px;margin:15px 0 0;transform:skewX(-6deg)}

/* ---- Pied de page ---- */
.bjp-foot{background:#232830;color:#fff;min-height:100px;display:flex;align-items:center;padding:0 0 0 162px;font-size:12px}
.bjp-foot .col{padding:0 34px;border-left:1px solid #555a62;height:88px;display:flex;align-items:center;gap:14px;color:#fff}
.bjp-foot .col:first-child{border:0;padding-left:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;width:235px;height:auto}
.bjp-foot .col:first-child b{font-size:12.5px;font-weight:600;margin-bottom:12px;display:block}
.bjp-foot .col:first-child span{display:block;line-height:1.5;font-size:12.5px}
.bjp-foot .nm{display:block;font-size:13px;font-weight:600;text-transform:uppercase;margin-bottom:9px}
.bjp-foot .sm{display:block;font-size:12px;font-weight:400}
.bjp-foot .ico{width:34px;color:#fff;display:block}
.bjp-foot .ico svg{width:30px;height:30px;stroke-width:1.4}
.bjp-foot .col-soc{flex-direction:column;align-items:flex-start;gap:0;justify-content:center}
.bjp-foot .col-nb{border:0}
.bjp-foot .soc{display:flex;gap:11px;margin-top:11px}
.bjp-foot .soc a{width:26px;height:26px;border-radius:50%;border:1.5px solid #fff;display:flex;align-items:center;justify-content:center;color:#fff}
.bjp-foot .soc svg{width:15px;height:15px}
.bjp-foot .sv{font-size:12px;font-weight:600;text-transform:uppercase}
.bjp-reg{font-family:'Playfair Display',Georgia,serif;font-size:13px;display:block;border-top:2px solid #fff;padding-top:2px;letter-spacing:.2px}
.bjp-reg em{display:block;font-size:20px;font-style:italic;line-height:.8;margin-bottom:2px;letter-spacing:-1px}
.bjp-aca{display:flex;flex-direction:column;font-size:13px;font-weight:600;line-height:1.1;letter-spacing:.5px}
.bjp-aca .fl{display:flex;margin-bottom:6px}
.bjp-aca .fl i{width:14px;height:10px;background:#2a52a8;display:block}.bjp-aca .fl i+i{background:#fff}.bjp-aca .fl i+i+i{background:#e1202e}
.bjp-aca small{font-size:6px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;line-height:1.1;display:block;margin-top:4px;letter-spacing:0}

/* ---- Pages et articles ---- */
.bjp-wrap{max-width:980px;margin:40px auto;padding:0 20px;min-height:340px}
.bjp-pagetitle{font-size:26px;margin-bottom:22px}
.bjp-entry{margin-bottom:34px}
.bjp-etitle{margin:0 0 4px;font-size:20px;font-weight:700}
.bjp-etitle a:hover{color:var(--or)}
.bjp-meta{color:var(--or);font-size:12px;font-weight:500;margin-bottom:12px;text-transform:uppercase}
.bjp-thumb{margin-bottom:18px}
.bjp-content{font-size:15px;line-height:1.7}
.bjp-content a{color:var(--or);text-decoration:underline!important}
.bjp-wrap .nav-links{display:flex;gap:8px;justify-content:center}
.bjp-wrap .page-numbers{padding:6px 12px;border:1px solid #ddd;border-radius:4px}
.bjp-wrap .page-numbers.current{background:var(--or);color:#fff;border-color:var(--or)}

/* ---- Responsive ---- */
@media(max-width:1250px){
 .bjp-nav{padding-left:0}.bjp-menu{padding:0 6px}.bjp-menu>li>a{font-size:11.5px}
 .bjp-mid{flex-direction:column}.bjp-form{flex:none;padding:16px 20px}.bjp-form::after{display:none}
 .bjp-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bjp-news{padding:16px 20px}.bjp-ngrid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .bjp-band .in{left:8%}.bjp-foot{padding:14px 20px;flex-wrap:wrap;row-gap:14px}
}
@media(max-width:860px){
 .bjp-top{height:auto;flex-direction:column;padding:10px}.bjp-brand{height:auto;flex-wrap:wrap}.bjp-quick{width:100%;max-width:100%;margin-top:8px}
 .bjp-tag,.bjp-sep{display:none}
 .bjp-menu{display:none;position:absolute;top:45px;left:0;right:0;background:var(--dk);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:10px 20px}
 .bjp-nav.open .bjp-menu{display:flex}
 .bjp-menu li a{white-space:normal}
 .bjp-menu>li.menu-item-has-children>a::after{display:none}
 .bjp-menu li.menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center}
 .bjp-menu li.menu-item-has-children>a{flex:1}
 .bjp-subtoggle{display:block;width:40px;height:40px;background:none;border:0;color:#fff;cursor:pointer;position:relative}
 .bjp-subtoggle::before{content:"";position:absolute;left:15px;top:13px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
 .bjp-menu li.open>.bjp-subtoggle::before{transform:rotate(225deg);top:17px}
 .bjp-menu .sub-menu,.bjp-menu .sub-menu .sub-menu,.bjp-menu>li:nth-last-child(-n+2)>.sub-menu{position:static;transform:none;min-width:0;width:100%;flex-basis:100%;box-shadow:none;border:0;border-left:2px solid var(--or);background:rgba(255,255,255,.04);padding:2px 0;margin:0 0 6px 8px;display:none;left:auto;right:auto}
 .bjp-menu li:hover>.sub-menu,.bjp-menu li:focus-within>.sub-menu{display:none}
 .bjp-menu li.open>.sub-menu{display:block}
 .bjp-menu .sub-menu li.menu-item-has-children>a::after{display:none}.bjp-burger{display:block}.bjp-sbtn{display:none}
 .bjp-slide{padding:0 60px 0 28px}.bjp-slide h1{font-size:30px}.bjp-slide .sc{font-size:42px}.bjp-slide p{font-size:14px}.bjp-hero{height:300px}
 .bjp-fgrid,.bjp-ngrid{grid-template-columns:1fr}
 .bjp-band{height:auto;padding:24px 20px}.bjp-band .in{position:relative;left:0;top:0;width:auto}.bjp-band .in::before,.bjp-band .bg,.bjp-band .lg{display:none}
 .bjp-foot .col{border:0;padding:0 10px}
}
