/* Souss Marep - slide-over category drawer */

/* "Catégorie" now opens the slide-over drawer: hide the old hover dropdown.
   (#cbp-hrmenu1-ul holds only the 7 category tabs — the page links
   "Qui sommes nous / Catalogue / ..." live outside it and stay visible.) */
#cbp-hrmenu1-ul { display: none !important; }
.cbp-vertical-title { cursor: pointer; }

.smh-drawer-overlay {
    position: fixed; inset: 0; background: rgba(0, 0, 0, .45);
    opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease;
    z-index: 10000;
}
.smh-drawer-overlay.is-open { opacity: 1; visibility: visible; }

.smh-drawer {
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 340px; max-width: 88vw;
    background: #fff; z-index: 10001;
    display: flex; flex-direction: column;
    transform: translateX(-100%); transition: transform .28s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 0 40px rgba(0, 0, 0, .25);
    font-family: "Noto Sans", -apple-system, Segoe UI, Roboto, sans-serif;
}
.smh-drawer.is-open { transform: translateX(0); }
body.smh-drawer-open { overflow: hidden; }

.smh-drawer-head {
    flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between;
    background: #dc283e; color: #fff; padding: 14px 18px;
}
.smh-drawer-title { font-size: 17px; font-weight: 700; letter-spacing: .2px; }
.smh-drawer-close {
    background: none; border: none; color: #fff; font-size: 30px; line-height: 1;
    cursor: pointer; padding: 0 4px; opacity: .9;
}
.smh-drawer-close:hover { opacity: 1; }

.smh-drawer-body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.smh-drawer-loading { padding: 20px; color: #8b9098; font-size: 14px; }

.smh-dr-list { list-style: none; margin: 0; padding: 0; }
.smh-dr-item { border-bottom: 1px solid #eceef0; }
.smh-dr-row { display: flex; align-items: stretch; }
.smh-dr-link {
    flex: 1 1 auto; padding: 13px 16px; font-size: 14px; color: #16181d;
    text-decoration: none; line-height: 1.35;
}
.smh-dr-link:hover { color: #dc283e; text-decoration: none; }
.smh-dr-toggle {
    flex: 0 0 46px; background: none; border: none; border-left: 1px solid #eceef0;
    font-size: 20px; line-height: 1; color: #6b7178; cursor: pointer;
}
.smh-dr-toggle:hover { background: #f6f7f9; color: #dc283e; }

/* nested levels: hidden until parent is open */
.smh-dr-sub { display: none; background: #fafbfc; }
.smh-dr-item.is-open > .smh-dr-sub { display: block; }
.smh-dr-sub .smh-dr-link { padding-left: 32px; font-size: 13.5px; color: #43484f; }
.smh-dr-sub .smh-dr-sub .smh-dr-link { padding-left: 48px; font-size: 13px; }
.smh-dr-sub .smh-dr-sub .smh-dr-sub .smh-dr-link { padding-left: 64px; }
.smh-dr-sub .smh-dr-item:last-child { border-bottom: none; }
