/* Panneau Bootstrap : styles limités au menu pour préserver la grille des templates. */
.sn-bcnc{--sn-bg:#291f19;--sn-accent:#ffdc39;--sn-font:Rubik,Arial,sans-serif}
.sn-martin{--sn-bg:#13304c;--sn-accent:#acd53a;--sn-font:Raleway,Arial,sans-serif}
.sn-techni{--sn-bg:#242425;--sn-accent:#ff7848;--sn-font:Raleway,Arial,sans-serif}
#site-nav-open,#site-nav,#site-nav *{box-sizing:border-box}
#site-nav-open{position:fixed;z-index:1000;right:max(15px,env(safe-area-inset-right));top:14px;display:none;align-items:center;gap:9px;height:44px;padding:0 15px;border:1px solid #ffffff55;border-radius:6px;color:white;background:var(--sn-bg);font:700 15px/1 var(--sn-font);letter-spacing:.015em;cursor:pointer;box-shadow:0 2px 8px #0002}
#site-nav-open:hover{border-color:var(--sn-accent)}
.sn-bars,.sn-bars::before,.sn-bars::after{display:block;width:18px;height:2px;background:var(--sn-accent);border-radius:1px}
.sn-bars{position:relative}.sn-bars::before,.sn-bars::after{content:"";position:absolute;left:0;top:-5px}.sn-bars::after{top:5px}
#site-nav{position:fixed;top:0;bottom:0;right:0;z-index:1055;display:flex;flex-direction:column;width:min(430px,100%);max-width:100%;height:100%;height:100dvh;background:var(--sn-bg);color:#fff;border:0;visibility:hidden;transform:translateX(101%);transition:transform .26s ease;outline:0;overscroll-behavior:contain;font-family:var(--sn-font);text-align:left;box-shadow:-10px 0 42px #0002}
#site-nav.show,#site-nav.showing,#site-nav.hiding{display:flex!important;visibility:visible}
#site-nav.show:not(.hiding),#site-nav.showing{transform:none}
.offcanvas-backdrop{position:fixed;inset:0;z-index:1050;background:#080b0f;opacity:0;transition:opacity .2s}.offcanvas-backdrop.show{opacity:.55}
#site-nav .sn-cap{padding:18px clamp(22px,6vw,34px);padding-top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff30;flex:none}
#site-nav .sn-cap img{width:168px;max-width:48vw;height:60px;object-fit:contain;object-position:left}
#site-nav .sn-close{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:transparent;color:#fff;border:1px solid #ffffff66;font:300 32px/1 Arial;cursor:pointer}
#site-nav .sn-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;padding:22px clamp(22px,6vw,34px) max(25px,env(safe-area-inset-bottom))}
#site-nav h2{margin:0 0 12px;color:var(--sn-accent);font:700 12px/1.2 var(--sn-font);letter-spacing:.15em;text-transform:uppercase}
#site-nav h2::before{content:none}
#site-nav .sn-list{list-style:none;padding:0;margin:0}
#site-nav .sn-list li{padding:0;margin:0;border-bottom:1px solid #ffffff28}
#site-nav a{color:inherit;text-decoration:none}
#site-nav .sn-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:49px;padding:9px 2px;font:600 clamp(20px,3.6vw,24px)/1.25 var(--sn-font)}
#site-nav.sn-bcnc .sn-list a{font-family:Georgia,serif;font-weight:700}
#site-nav .sn-list a::after{content:"";width:8px;height:8px;border:solid currentColor;border-width:1px 1px 0 0;transform:rotate(45deg);margin-right:5px;opacity:.65}
#site-nav a[aria-current],#site-nav .sn-list a:hover,#site-nav .sn-legal a:hover{color:var(--sn-accent)}
#site-nav .sn-extra,#site-nav .sn-legal{display:flex;flex-wrap:wrap;gap:8px 12px}
#site-nav .sn-extra{margin-top:19px}
#site-nav .sn-extra a{display:inline-flex;align-items:center;min-height:44px;padding:6px 15px;border:1px solid #ffffff70;border-radius:24px;font:600 15px/1.2 var(--sn-font)}
#site-nav .sn-extra a:hover,#site-nav .sn-close:hover{border-color:var(--sn-accent);color:var(--sn-accent)}
#site-nav address{border-left:2px solid var(--sn-accent);padding-left:12px;margin:23px 0 12px;font:400 14px/1.6 var(--sn-font);color:#eee}
#site-nav address span{display:block;color:white;font-weight:700}
#site-nav address a{text-decoration:underline;text-underline-offset:3px}
#site-nav .sn-legal a{display:inline-flex;align-items:center;min-height:40px;font:500 13px/1.35 var(--sn-font);text-decoration:underline;text-underline-offset:3px}
#site-nav :focus-visible,#site-nav-open:focus-visible{outline:3px solid var(--sn-accent);outline-offset:3px}
@media(min-width:1200px){#site-nav.offcanvas{position:static;display:none!important}}
@media not all and (min-width:1200px){#site-nav-open{display:inline-flex}.nivmenu .blocnav .col-lg-9,.nivmenu .blocnav_white .col-lg-9{visibility:hidden;pointer-events:none}}
@media(max-width:575px){#site-nav-open{right:10px;top:8px;padding:0 12px}#site-nav-open.sn-bcnc{top:15px}}
@media(prefers-reduced-motion:reduce){#site-nav,.offcanvas-backdrop{transition:none}}
@media print{#site-nav,#site-nav-open,.offcanvas-backdrop{display:none!important}}
