/* Mobile-only editorial navigation drawer. Loaded after shared typography/navigation CSS. */
.mobile-nav__label,
.mobile-nav__actions,
.site-menu-scrim { display: none; }

@media (max-width: 980px) {
  body.site-menu-open { overflow: hidden; }

  body .site-menu-scrim {
    position: fixed;
    z-index: 1900;
    inset: 0;
    display: block;
    border: 0;
    opacity: 0;
    visibility: hidden;
    background: rgba(0, 0, 0, .74);
    backdrop-filter: blur(6px);
    transition: opacity .3s ease, visibility .3s ease;
  }

  body.site-menu-open .site-menu-scrim { opacity: 1; visibility: visible; }

  body .header.site-header .site-nav,
  body .catalogue-header.site-header .site-nav,
  body.site-menu-open .header.site-header .site-nav,
  body.site-menu-open .catalogue-header.site-header .site-nav {
    position: fixed !important;
    z-index: 2400 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    display: flex !important;
    width: min(88vw, 480px) !important;
    height: 100svh !important;
    max-height: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 34px 28px 26px !important;
    border: 0 !important;
    border-left: 1px solid rgba(212, 175, 55, .46) !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #050505 !important;
    box-shadow: -28px 0 64px rgba(0, 0, 0, .62) !important;
    transform: translateX(102%) !important;
    backdrop-filter: none !important;
    pointer-events: none !important;
    counter-reset: mobile-menu-item;
    transition: transform .34s cubic-bezier(.22, .7, .24, 1) !important;
  }

  body.site-menu-open .header.site-header .site-nav,
  body.site-menu-open .catalogue-header.site-header .site-nav {
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }

  body .header.site-header .site-menu-toggle,
  body .catalogue-header.site-header .site-menu-toggle { z-index: 2500 !important; }

  body.site-menu-open .header.site-header .site-menu-toggle,
  body.site-menu-open .catalogue-header.site-header .site-menu-toggle {
    position: fixed !important;
    top: 18px !important;
    right: 18px !important;
    border-color: rgba(212, 175, 55, .44) !important;
  }

  body .header.site-header .site-nav .mobile-nav__label,
  body .catalogue-header.site-header .site-nav .mobile-nav__label {
    order: 1;
    display: flex !important;
    min-height: 62px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 11px 64px 18px 0;
    border-bottom: 1px solid rgba(212, 175, 55, .26);
  }

  .mobile-nav__label span,
  .mobile-nav__label small {
    color: #d4af37;
    font: 700 10px/1 "Montserrat", sans-serif;
    letter-spacing: .22em;
    text-transform: uppercase;
  }

  .mobile-nav__label small { color: rgba(247, 241, 229, .42); font-size: 8px; }

  body .header.site-header .site-nav .nav-search,
  body .catalogue-header.site-header .site-nav .nav-search,
  body.site-menu-open .header.site-header .site-nav .nav-search,
  body.site-menu-open .catalogue-header.site-header .site-nav .nav-search {
    position: relative !important;
    order: 2 !important;
    display: grid !important;
    width: 100% !important;
    height: 46px !important;
    margin: 16px 0 8px !important;
    padding-inline: 12px 6px !important;
    flex: 0 0 auto !important;
    border: 1px solid rgba(212, 175, 55, .34) !important;
    background: #090909 !important;
  }

  body .header.site-header .site-nav > a,
  body .catalogue-header.site-header .site-nav > a,
  body .header.site-header .site-nav > .nav-item,
  body .catalogue-header.site-header .site-nav > .nav-item {
    order: 3;
    counter-increment: mobile-menu-item;
  }

  body .header.site-header .site-nav > a,
  body .catalogue-header.site-header .site-nav > a,
  body.site-menu-open .header.site-header .site-nav > a,
  body.site-menu-open .catalogue-header.site-header .site-nav > a,
  body .header.site-header .nav-item__toggle,
  body.site-menu-open .header.site-header .nav-item__toggle {
    display: flex !important;
    height: auto !important;
    min-height: 58px !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(212, 175, 55, .22) !important;
    color: #f7f1e5 !important;
    font: 500 clamp(29px, 8vw, 39px)/1 "Cormorant Garamond", "EB Garamond", serif !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
  }

  body .header.site-header .site-nav > a::before,
  body .catalogue-header.site-header .site-nav > a::before,
  body.site-menu-open .header.site-header .nav-item__toggle::before { display: none !important; }

  body .header.site-header .site-nav > a::after,
  body .catalogue-header.site-header .site-nav > a::after,
  body .header.site-header .nav-item__toggle::after {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto;
    content: counter(mobile-menu-item, decimal-leading-zero) !important;
    color: #d4af37 !important;
    background: none !important;
    font: 700 8px/1 "Montserrat", sans-serif !important;
    letter-spacing: .08em !important;
    transform: none !important;
  }

  body.site-menu-open .header.site-header .nav-item__toggle::after,
  body.site-menu-open .catalogue-header.site-header .nav-item__toggle::after {
    display: block !important;
    content: counter(mobile-menu-item, decimal-leading-zero) !important;
  }

  body .header.site-header .nav-item--dropdown,
  body.site-menu-open .header.site-header .nav-item--dropdown {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 58px !important;
    border-bottom: 1px solid rgba(212, 175, 55, .22) !important;
  }

  body .header.site-header .nav-item__toggle,
  body.site-menu-open .header.site-header .nav-item__toggle { border-bottom: 0 !important; }
  body .header.site-header .nav-item__caret { display: none !important; }

  body .header.site-header .nav-dropdown,
  body.site-menu-open .header.site-header .nav-dropdown {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    gap: 20px !important;
    padding: 0 0 13px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body .header.site-header .nav-dropdown a,
  body.site-menu-open .header.site-header .nav-dropdown a {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    color: rgba(212, 175, 55, .82) !important;
    background: transparent !important;
    font: 700 9px/1.4 "Montserrat", sans-serif !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
  }

  body .header.site-header .site-nav .nav-socials,
  body.site-menu-open .header.site-header .site-nav .nav-socials {
    order: 4;
    display: flex !important;
    gap: 22px !important;
    margin: auto 0 0 !important;
    padding: 24px 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(212, 175, 55, .22) !important;
  }

  body .header.site-header .site-nav .nav-socials a,
  body.site-menu-open .header.site-header .site-nav .nav-socials a {
    min-height: auto !important;
    padding: 0 !important;
    color: #d4af37 !important;
    font: 700 9px/1 "Montserrat", sans-serif !important;
    letter-spacing: .17em !important;
  }

  body .header.site-header .site-nav .mobile-nav__actions,
  body .catalogue-header.site-header .site-nav .mobile-nav__actions {
    order: 5;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding-top: 18px;
  }

  .mobile-nav__actions a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: rgba(247, 241, 229, .78) !important;
    font: 700 8px/1.4 "Montserrat", sans-serif !important;
    letter-spacing: .12em !important;
    text-transform: uppercase;
  }
}

@media (max-width: 420px) {
  body .header.site-header .site-nav,
  body .catalogue-header.site-header .site-nav,
  body.site-menu-open .header.site-header .site-nav,
  body.site-menu-open .catalogue-header.site-header .site-nav {
    width: 92vw !important;
    padding-right: 22px !important;
    padding-left: 22px !important;
  }

  body .header.site-header .site-nav > a,
  body .catalogue-header.site-header .site-nav > a,
  body .header.site-header .nav-item__toggle { min-height: 56px !important; }
}
