/* Navigation drawer: a quiet, solid side panel in both storefront themes.
   IDs intentionally outrank the older shared glass-navigation rules. */
#tc-mobile-drawer,
#tc-mobile-drawer-overlay {display:none;}
#tc-mobile-drawer[hidden],
#tc-mobile-drawer-overlay[hidden] {display:none !important;}

@media (max-width:1024px) {
  /* The catalog keeps body overflow visible inline for its sticky toolbar.
     Lock the document scroller too, without disabling the drawer gestures. */
  html:has(body.tc-mobile-drawer-open),
  html.tc-lumi:has(body.tc-mobile-drawer-open) {overflow:hidden !important;}
  /* Do not disable touch gestures on this ancestor: iOS also applies that
     restriction to the drawer, making the lower navigation links unreachable. */
  body.tc-mobile-drawer-open {overflow:hidden !important;}
  #tc-mobile-drawer-overlay {
    display:block;
    position:fixed !important;
    inset:0 !important;
    z-index:10080 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(0,0,0,.56) !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    opacity:0;
    cursor:pointer;
    transition:opacity .2s ease;
  }
  #tc-mobile-drawer-overlay.is-open {opacity:1;}
  #tc-mobile-drawer {
    display:flex;
    position:fixed !important;
    inset:0 0 0 auto !important;
    z-index:10090 !important;
    width:min(420px,87vw) !important;
    height:100vh !important;
    height:100dvh !important;
    max-height:none !important;
    margin:0 !important;
    padding:max(14px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom)) !important;
    flex-direction:column;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    touch-action:pan-y;
    background:#1c1d20 !important;
    color:#f5f5f7 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:-16px 0 44px rgba(0,0,0,.18) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    scrollbar-width:thin;
    scrollbar-color:#494a50 transparent;
    transform:translate3d(100%,0,0) !important;
    opacity:0;
    transition:transform .24s cubic-bezier(.22,.8,.3,1),opacity .18s ease !important;
  }
  #tc-mobile-drawer.is-open {transform:translate3d(0,0,0) !important;opacity:1;}
  #tc-mobile-drawer .tc-mobile-drawer-head {
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex:none;margin:0 0 10px;padding:0;
    background:transparent !important;
  }
  #tc-mobile-drawer-title {
    margin:0 !important;color:#f5f5f7 !important;
    font:700 18px/1.25 'Syne',sans-serif !important;
    letter-spacing:-.025em !important;
    background:transparent !important;
  }
  #tc-mobile-drawer-close {
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;min-width:44px;min-height:44px;
    margin:0 -10px 0 0;padding:0;
    color:#b9bac2 !important;background:transparent !important;
    border:0 !important;border-radius:50% !important;box-shadow:none !important;
    cursor:pointer;
  }
  #tc-mobile-drawer .tc-mobile-drawer-links {display:block;padding:0;background:transparent !important;}
  #tc-mobile-drawer .tc-mobile-drawer-group,
  #tc-mobile-drawer .tc-mobile-service-group {
    display:block !important;
    margin:0 !important;padding:19px 0 !important;
    border:0 !important;border-radius:0 !important;
    background:transparent !important;box-shadow:none !important;
    overflow:visible;
  }
  #tc-mobile-drawer .tc-mobile-drawer-group:first-child {padding-top:4px !important;}
  #tc-mobile-drawer .tc-mobile-drawer-group + .tc-mobile-drawer-group,
  #tc-mobile-drawer .tc-mobile-service-group + .tc-mobile-service-group {
    border-top:1px solid #45464b !important;
  }
  #tc-mobile-drawer .tc-mobile-drawer-section-title,
  #tc-mobile-drawer .tc-mobile-service-group-title {
    display:block !important;margin:0 0 8px !important;padding:0 !important;
    color:#a3a4ad !important;background:transparent !important;
    font:600 13px/1.4 'Manrope',sans-serif !important;
    letter-spacing:0 !important;text-transform:none !important;
  }
  #tc-mobile-drawer .tc-mobile-drawer-submenu,
  #tc-mobile-drawer .tc-mobile-service-groups {
    display:block !important;padding:0 !important;gap:0;
    background:transparent !important;
  }
  #tc-mobile-drawer #tc-drawer-services {padding:0 !important;}
  #tc-mobile-drawer .tc-mobile-service-group:first-child {padding-top:0 !important;}
  #tc-mobile-drawer .tc-mobile-service-group:last-child {padding-bottom:0 !important;}
  #tc-mobile-drawer .tc-mobile-drawer-link {
    display:flex !important;align-items:center;gap:13px;
    width:100%;min-width:0;min-height:52px;
    margin:0 !important;padding:10px 0 !important;
    border:0 !important;border-radius:0 !important;
    color:#f2f2f4 !important;background:transparent !important;box-shadow:none !important;
    font:500 16px/1.35 'Manrope',sans-serif !important;
    letter-spacing:-.015em !important;text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }
  #tc-mobile-drawer .tc-mobile-drawer-link > span {min-width:0;flex:1;overflow-wrap:anywhere;}
  #tc-mobile-drawer .tc-mobile-drawer-icon {
    flex:0 0 22px;width:22px;height:22px;color:#d3d3d9 !important;
    background:transparent !important;stroke-width:1.8;
  }
  #tc-mobile-drawer .tc-mobile-drawer-chevron {
    flex:0 0 17px;width:17px;height:17px;margin-left:auto;
    color:#96979f !important;background:transparent !important;stroke-width:1.8;
  }
  #tc-mobile-drawer .tc-mobile-service-copy strong {
    display:block;color:inherit !important;background:transparent !important;
    font:inherit !important;
  }
  #tc-mobile-drawer .tc-mobile-service-copy small {display:none !important;}
  #tc-mobile-drawer .tc-mobile-drawer-link.active {
    color:#cf91fa !important;background:transparent !important;
  }
  #tc-mobile-drawer .tc-mobile-drawer-link.active .tc-mobile-drawer-icon {color:inherit !important;}
  #tc-mobile-drawer .tc-mobile-drawer-link:is(:hover,:focus-visible) {
    color:#e0b4ff !important;background:transparent !important;
  }
  #tc-mobile-drawer .tc-mobile-drawer-link:focus-visible,
  #tc-mobile-drawer-close:focus-visible {
    outline:2px solid #c77dff !important;outline-offset:3px;
  }
  #tc-mobile-drawer-close:hover {color:#fff !important;}
}
@media (max-width:360px) {
  #tc-mobile-drawer {width:calc(100vw - 36px) !important;padding-inline:18px !important;}
  #tc-mobile-drawer .tc-mobile-drawer-link {font-size:15px !important;gap:11px;}
}
@media (prefers-reduced-motion:reduce) {
  #tc-mobile-drawer,#tc-mobile-drawer-overlay {transition:none !important;}
}
