/* Mamre mobile navigation: independent viewport drawer; no desktop changes. */
body.mamre-nav-open { overflow: hidden; }
.mamre-mobile-drawer { display: none; }
@media (max-width: 900px) {
  .navbar { z-index: 1101; }
  .navbar .navbar-inner {
    box-sizing: border-box;
    width: 100%; max-width: 100%; min-width: 0;
    padding: 0 clamp(12px, 4vw, 24px);
    gap: 10px; justify-content: space-between; align-items: center;
  }
  .navbar .navbar-logo { flex: 1 1 auto; min-width: 0; max-width: calc(100% - 62px); overflow: hidden; }
  .navbar .navbar-logo-icon {
    display: block; width: min(245px, calc(100vw - 108px)); max-width: 100%;
    height: auto; max-height: 58px; object-fit: contain; object-position: left center;
  }
  .navbar .navbar-actions { flex: 0 0 48px; width: 48px; margin-left: auto; justify-content: flex-end; }
  .navbar .navbar-toggle {
    display: inline-flex !important; align-items: center; justify-content: center;
    flex: 0 0 46px; width: 46px; height: 46px; padding: 0;
    border: 1px solid #e9d9dc; border-radius: 13px; background: #fff7f7;
    color: #8b2025; box-shadow: 0 2px 9px rgba(88,18,23,.09);
    position: relative; z-index: 2;
  }
  .navbar .navbar-toggle:hover, .navbar .navbar-toggle:focus-visible { background: #ffebec; outline: 2px solid #bf656b; outline-offset: 2px; }
  .navbar .navbar-menu { display: none !important; }
  .mamre-burger-lines { width: 22px; height: 18px; display: flex; flex-direction: column; justify-content: space-between; }
  .mamre-burger-lines span { width: 100%; height: 2.5px; display: block; border-radius: 9px; background: #852126; }
  .nav-overlay { z-index: 2490; background: rgba(11, 20, 35, .6); backdrop-filter: blur(5px); }
  .mamre-mobile-drawer {
    display: flex; position: fixed; inset: 0 0 0 auto;
    width: min(360px, calc(100vw - 42px)); height: 100vh; height: 100dvh;
    flex-direction: column; background: #fff; z-index: 2500;
    box-shadow: -20px 0 65px rgba(21, 13, 29, .2);
    transform: translateX(104%); visibility: hidden; pointer-events: none;
    transition: transform .27s ease, visibility .27s ease;
    border-radius: 22px 0 0 22px; overflow: hidden;
  }
  .mamre-mobile-drawer.is-open { transform: translateX(0); visibility: visible; pointer-events: auto; }
  .mamre-drawer-top {
    padding: 22px 18px 20px 23px; background: linear-gradient(125deg,#760d17,#bf2d35);
    display:flex; align-items:center; gap: 12px; justify-content:space-between;
  }
  .mamre-drawer-brand { min-width:0; flex:1 1 auto; }
  .mamre-drawer-brand img { display:block; width: 204px; max-width:100%; height:auto; max-height:58px; object-fit:contain; object-position:left center; }
  .mamre-drawer-close {
    border:1px solid rgba(255,255,255,.4); color:#fff; background:rgba(255,255,255,.14);
    border-radius:12px; width:43px; height:43px; flex:0 0 43px; display:grid; place-items:center;
    cursor:pointer; font-size:19px;
  }
  .mamre-drawer-close:hover, .mamre-drawer-close:focus-visible { background:rgba(255,255,255,.28); outline:2px solid #fff; outline-offset:2px; }
  .mamre-drawer-content { display:flex; flex:1; flex-direction:column; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding: 24px 16px max(18px, env(safe-area-inset-bottom)); }
  .mamre-drawer-caption { margin: 0 9px 12px; font-size:11px; font-weight:800; letter-spacing:.15em; color:#8c6671; }
  .mamre-drawer-links { display:grid; gap:6px; }
  .mamre-drawer-links a {
    display:flex; align-items:center; gap:15px; padding: 13px 13px; border-radius:13px;
    font-family:"Plus Jakarta Sans",sans-serif; color:#283348; font-size:15px; font-weight:700;
    text-decoration:none; transition:background .16s ease, color .16s ease;
  }
  .mamre-drawer-links a > i:first-child { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:11px; font-size:16px; color:#a92a31; background:#fff0f1; }
  .mamre-drawer-links a span { flex:1; }
  .mamre-drawer-links a .mamre-drawer-arrow { font-size:11px; color:#9ca5b3; }
  .mamre-drawer-links a.is-active { background:#fff0f1; color:#8c1520; }
  .mamre-drawer-links a.is-active > i:first-child { background:#bd303a; color:#fff; }
  .mamre-drawer-links a:hover, .mamre-drawer-links a:focus-visible { background:#f6f7f9; outline:2px solid transparent; }
  .mamre-drawer-links a.is-active:hover { background:#ffe5e7; }
  .mamre-drawer-bottom { border-top:1px solid #e8ebf0; margin-top:auto; padding:20px 7px 0; }
  .mamre-drawer-login {
    display:flex; align-items:center; justify-content:center; gap:10px; color:#fff; background:#9a1c25;
    min-height:47px; border-radius:12px; font-size:14px; font-weight:800; text-decoration:none;
  }
  .mamre-drawer-login:hover, .mamre-drawer-login:focus-visible { background:#79121c; color:#fff; }
  .mamre-drawer-bottom p { margin:16px 0 0; color:#8b97aa; font-size:11px; text-align:center; }
}
@media (max-width: 360px) {
  .navbar .navbar-inner { padding: 0 11px; gap:7px; }
  .navbar .navbar-logo-icon { width: min(222px, calc(100vw - 91px)); }
  .navbar .navbar-actions { flex-basis:44px; width:44px; }
  .navbar .navbar-toggle { flex-basis:42px; width:42px; height:42px; }
  .mamre-mobile-drawer { width:min(330px,calc(100vw - 28px)); }
}
@media (prefers-reduced-motion: reduce) {
  .mamre-mobile-drawer { transition:none; }
}
