/* =========================================================
   Mobile Navigation (separate system)
   Desktop navigation unchanged.
   ========================================================= */
.mobile-hamburger,
.mobile-nav-panel,
.mobile-nav-backdrop { display:none; }

@media (max-width: 768px){
  /* Hide any header contact details on mobile */
  .header-contact, .top-contact, .contact-header { display:none !important; }

  /* Hide desktop nav bar on mobile (desktop stays unchanged) */
  .site-nav { display:none !important; }

  

  /* Hamburger sits in the header (does NOT follow scroll) */
  header.site-header{ position: relative !important; }

  .mobile-hamburger{
    display:block !important;
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    width:46px !important;
    height:46px !important;
    padding:10px !important;
    border:0 !important;
    background:transparent !important;
    z-index:10050 !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-hamburger span{
    display:block;
    width:100%;
    height:3px;
    margin:6px 0;
    background:#ffffff !important;
    border-radius:2px;
  }

.mobile-hamburger span{
    display:block;
    width:100%;
    height:3px;
    margin:6px 0;
    background:#ffffff !important;
    border-radius:2px;
  }

  .mobile-nav-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(0,0,0,0.38) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity 180ms ease !important;
    z-index:2147483645 !important;
  }
  .mobile-nav-backdrop.open{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .mobile-nav-panel{
    display:block !important;
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    height:100vh !important;
    width:min(86vw, 360px) !important;
    background:#3f3a5f !important;
    transform:translateX(110%) !important;
    transition:transform 220ms ease !important;
    overflow:auto !important;
    -webkit-overflow-scrolling: touch;
    z-index:2147483646 !important;
    border-top-left-radius:16px;
    border-bottom-left-radius:16px;
  }
  .mobile-nav-panel.open{ transform:translateX(0) !important; }

  .mobile-nav-inner{ padding:18px 18px 28px; }

  .mobile-nav-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:6px 0 14px;
    border-bottom:1px solid rgba(255,255,255,0.16);
    margin-bottom:12px;
  }
  .mobile-nav-title{
    color:#fff;
    font-size:18px;
    font-weight:700;
    letter-spacing:0.2px;
  }
  .mobile-nav-close{
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
  }

  .mobile-nav-list{
    list-style:none;
    margin:0;
    padding:0;
  }
  .mobile-nav-list li{ margin:0; padding:0; }
  .mobile-nav-list a{
    display:block !important;
    padding:12px 6px !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:18px !important;
    font-weight:700 !important;
    letter-spacing:0.6px;
    text-transform:uppercase;
  }



  /* Mobile dropdown items (Property, About) */
  .mobile-nav-details{
    margin:0;
    padding:0;
  }
  .mobile-nav-details > summary{
    display:block;
    padding:12px 6px;
    color:#fff;
    font-size:18px;
    font-weight:700;
    letter-spacing:0.6px;
    text-transform:uppercase;
    cursor:pointer;
    list-style:none;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-nav-details > summary::-webkit-details-marker{ display:none; }
  .mobile-nav-details > summary::after{
    content:"▾";
    float:right;
    font-size:16px;
    opacity:0.9;
    transform:translateY(2px);
  }
  .mobile-nav-details[open] > summary::after{ content:"▴"; }

  .mobile-submenu{
    list-style:none;
    margin:0 0 10px;
    padding:0 0 0 14px;
    border-left:1px solid rgba(255,255,255,0.18);
  }
  .mobile-submenu a{
    padding:10px 6px !important;
    font-size:16px !important;
    font-weight:600 !important;
    letter-spacing:0.2px !important;
    text-transform:none !important;
  }

  /* Prevent scroll behind panel when open */
  body.mobile-nav-open{ overflow:hidden; }
}


/* Lyon Legal mobile navigation refresh */
@media (max-width: 820px){
  .mobile-nav-text{
    display:block !important;
    padding:12px 6px !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:700 !important;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:0.92;
  }

  .mobile-nav-subdetails > summary{
    padding:10px 6px;
    font-size:16px;
    font-weight:600;
    letter-spacing:0.2px;
    text-transform:none;
  }

  .mobile-submenu-nested{
    margin-bottom:0;
    padding-left:14px;
  }

  .mobile-submenu .mobile-has-dropdown-nested{
    margin: 2px 0 4px;
  }
}
