/* RestorFX — menu mobile / tablette (concept « panneaux par niveaux »). Règles isolées sous #rfx-mm. Généré par tools/build_wp.py */
#rfx-mm {--yellow: #e1cd33; --u-automotive: #e1cd33; --u-industrial: #58b844; --u-marine: #6f93e6; --font: din-pro, "DIN Pro", "Helvetica Neue", Helvetica, Arial, sans-serif; --ease: cubic-bezier(.2,.7,.2,1); font-family: var(--font); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; text-align: left;}
#rfx-mm *,
#rfx-mm *::before,
#rfx-mm *::after {box-sizing: border-box;}
#rfx-mm ul,
#rfx-mm li {list-style: none; margin: 0; padding: 0;}
#rfx-mm a {text-decoration: none; color: inherit; box-shadow: none;}
#rfx-mm button {-webkit-appearance: none; appearance: none; border-radius: 0 !important; font: inherit; color: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; margin: 0;}
#rfx-mm h2,
#rfx-mm small,
#rfx-mm b,
#rfx-mm span {font-family: var(--font); text-transform: none; letter-spacing: normal;}
#rfx-mm .sr {position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;}
#rfx-mm svg {display: block;}
#rfx-mm .icon-btn {width: 44px; height: 44px; display: inline-grid; place-items: center; border: 0; border-radius: 50% !important; background: rgba(255,255,255,.08); cursor: pointer; color: #fff; padding: 0; position: relative;}
#rfx-mm .icon-btn svg {width: 24px; height: 24px;}
#rfx-mm .m3__count_unused {position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--yellow); color: #000; font-size: 11px; font-weight: 700; display: grid; place-items: center; line-height: 1;}
#rfx-mm .btn {display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 24px; border-radius: 999px; font-weight: 600; font-size: 17px; border: 2px solid transparent; transition: background .2s, color .2s, border-color .2s;}
#rfx-mm .btn svg {width: 20px; height: 20px;}
#rfx-mm .btn--primary {background: var(--yellow); color: #0d0d0d;}
#rfx-mm .btn--primary:hover {background: #efdc4a; color: #0d0d0d;}
#rfx-mm .btn--ghost {border-color: rgba(255,255,255,.35); color: #fff;}
#rfx-mm .btn--ghost:hover {background: #fff; color: #000;}
#rfx-mm .socials {display: flex; flex-wrap: wrap; gap: 8px;}
#rfx-mm .socials a {display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; font-size: 14px;}
#rfx-mm .dot {display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex: none;}
#rfx-mm .dot--automotive {background: var(--u-automotive);}
#rfx-mm .dot--industrial {background: var(--u-industrial);}
#rfx-mm .dot--marine {background: var(--u-marine);}
#rfx-mm a:focus-visible,
#rfx-mm button:focus-visible,
#rfx-mm input:focus-visible {outline: 3px solid #5b9dff; outline-offset: 3px;}
#rfx-mm .m3__row[aria-current="page"],
#rfx-mm .m3__sub[aria-current="page"] {color: var(--yellow);}
#rfx-mm {position: fixed; inset: 0; z-index: 100000;}
#rfx-mm:not(.is-open) {pointer-events: none;}
#rfx-mm .m3__drawer:focus {outline: none;}
@media (prefers-reduced-motion: reduce) {
#rfx-mm *,
#rfx-mm *::before,
#rfx-mm *::after {transition: none !important; animation: none !important;}
}

#rfx-mm {position: fixed; inset: 0; z-index: 100000; visibility: hidden; transition: visibility 0s .42s;}
#rfx-mm.is-open {visibility: visible; transition-delay: 0s;}
#rfx-mm .m3__scrim {position: absolute; inset: 0; background: rgba(0,0,0,.62); opacity: 0; transition: opacity .35s var(--ease);}
#rfx-mm.is-open .m3__scrim {opacity: 1;}
#rfx-mm .m3__drawer {position: absolute; top: 0; right: 0; bottom: 0; width: min(92vw, 440px); background: #111113; color: #fff; transform: translateX(100%); transition: transform .42s var(--ease); display: flex; flex-direction: column; box-shadow: -30px 0 80px rgba(0,0,0,.55); border-left: 1px solid rgba(255,255,255,.08);}
#rfx-mm.is-open .m3__drawer {transform: none;}
#rfx-mm .m3__top {display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 10px 0 22px; border-bottom: 1px solid rgba(255,255,255,.08); flex: none;}
#rfx-mm .m3__logo img {width: 140px; height: auto;}
#rfx-mm .icon-btn {color: #fff; background: rgba(255,255,255,.08);}
#rfx-mm .m3__stage {position: relative; flex: 1; overflow: hidden;}
#rfx-mm .rfx-panel {position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px 18px 24px; transition: transform .38s var(--ease), opacity .3s, visibility 0s .38s;}
#rfx-mm .rfx-panel[data-level="1"].is-behind {transform: translateX(-24%); opacity: 0; visibility: hidden;}
#rfx-mm .rfx-panel--sub {transform: translateX(100%); background: #111113; visibility: hidden;}
#rfx-mm .rfx-panel--sub.is-active {transform: none; visibility: visible; transition-delay: 0s;}
#rfx-mm .m3__search {position: relative; margin: 0;}
#rfx-mm .m3__search svg {position: absolute; left: 14px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: #8d8d95;}
#rfx-mm .m3__search input {width: 100%; min-height: 48px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: #1a1b1f; color: #fff; padding: 0 14px 0 44px; font: inherit; font-size: 16px;}
#rfx-mm .m3__search input::placeholder {color: #8d8d95;}
#rfx-mm .m3__list {list-style: none; margin: 14px 0 0; padding: 0;}
#rfx-mm .m3__row {display: flex; align-items: center; gap: 14px; width: 100%; min-height: 62px; padding: 0 6px; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 19px; font-weight: 600; color: #fff; text-decoration: none; text-align: left; cursor: pointer;}
#rfx-mm .m3__row:hover {background: rgba(255,255,255,.03);}
#rfx-mm .m3__ic svg {width: 22px; height: 22px; color: var(--yellow); display: block;}
#rfx-mm .m3__t {flex: 1;}
#rfx-mm .m3__row > svg {width: 18px; height: 18px; color: #8d8d95; flex: none;}
#rfx-mm .dots {display: inline-flex; gap: 5px; margin-right: 4px;}
#rfx-mm .m3__bar {display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin: -4px -4px 8px;}
#rfx-mm .m3__back {justify-self: start; display: inline-flex; align-items: center; gap: 2px; min-height: 44px; padding: 0 12px 0 0; background: none; border: 0; color: var(--yellow); font-size: 16px; font-weight: 600; cursor: pointer;}
#rfx-mm .m3__back svg {width: 20px; height: 20px;}
#rfx-mm .m3__bar h2 {margin: 0; font-size: 18px; color: #fff;}
#rfx-mm .m3__card {display: flex; align-items: center; gap: 14px; padding: 16px; margin-bottom: 10px; border-radius: 14px; background: #17181c; border: 1px solid rgba(255,255,255,.08); border-left: 4px solid; color: #fff; text-decoration: none; transition: background .2s, transform .2s var(--ease);}
#rfx-mm .m3__card:hover {background: #1d1e23; transform: translateX(2px);}
#rfx-mm .m3__card > svg {width: 18px; height: 18px; color: #8d8d95; flex: none;}
#rfx-mm .u--automotive {border-left-color: var(--u-automotive);}
#rfx-mm .u--industrial {border-left-color: var(--u-industrial);}
#rfx-mm .u--marine {border-left-color: var(--u-marine);}
#rfx-mm .m3__badge {width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; flex: none;}
#rfx-mm .m3__badge svg {width: 26px; height: 26px;}
#rfx-mm .u--automotive .m3__badge {color: var(--u-automotive); background: rgba(225,205,51,.13);}
#rfx-mm .u--industrial .m3__badge {color: var(--u-industrial); background: rgba(88,184,68,.14);}
#rfx-mm .u--marine .m3__badge {color: var(--u-marine); background: rgba(111,147,230,.15);}
#rfx-mm .m3__ct {flex: 1;}
#rfx-mm .m3__ct b {display: block; font-size: 17px;}
#rfx-mm .m3__ct small {color: #a6a6ae; font-size: 14px;}
#rfx-mm .m3__sub {display: flex; justify-content: space-between; align-items: center; min-height: 60px; padding: 0 6px; border-bottom: 1px solid rgba(255,255,255,.08); color: #fff; text-decoration: none; font-size: 18px;}
#rfx-mm .m3__sub small {display: block; color: #a6a6ae; font-size: 13px;}
#rfx-mm .m3__sub svg {width: 18px; height: 18px; color: #8d8d95;}
#rfx-mm .socials {margin-top: 24px;}
#rfx-mm .socials a {border: 1px solid rgba(255,255,255,.16); color: #cfcfd4;}
#rfx-mm .m3__actions {flex: none; padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.08); display: grid; gap: 10px; background: #0d0d0f;}
@media (min-width: 768px) {
#rfx-mm .m3__drawer {width: 460px;}
#rfx-mm .m3__row {min-height: 66px; font-size: 20px;}
#rfx-mm .m3__stage .rfx-panel {padding: 22px 26px 28px;}
}

/* règles globales (hors #rfx-mm) */
html.rfx-mm-on #slide-out-widget-area, html.rfx-mm-on #slide-out-widget-area-bg { display: none !important; }
html.rfx-mm-lock, html.rfx-mm-lock body { overflow: hidden !important; }
/* zone tactile du bouton hamburger : 44 x 44 px minimum (Salient la limite à 40 x 20), sans changer le dessin */
html.rfx-mm-on .slide-out-widget-area-toggle a { position: relative; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
html.rfx-mm-on .slide-out-widget-area-toggle a::after { content: ""; position: absolute; left: -12px; right: -12px; top: -14px; bottom: -14px; }
