
/* = = = = = Z-Indexes = = = = = 

#mob-nav-bg                     {z-index: 25}
nav#mobile                      {z-index: 25} 
.image-logo-white               {z-index: 30}
#brand-mobile                   {z-index: 30}
#brand-mobile .image-logo-white {z-index: 30}
#brand-mobile ul.name-title     {z-index: 30}
#mob-nav-list                   {z-index: 30}
#mobile-burger-button.open      {z-index: 35}

= = = = = = = = = = = = = = = */




/* 
= = = = = = = = = = = = = = 
GLOBAL Nav button styling 
= = = = = = = = = = = = = = 
*/	

/* Disable the index page logo link */
.page-home a:has(.image-logo-white),
.page-home a:has(.image-logo) {
  pointer-events: none;
  cursor: default;
}

/* Disable the index page logo rotation as there is no link */
.page-home a:has(.image-logo-white):hover .image-logo-white,
.page-home a:has(.image-logo):hover .image-logo {
  transform: none;
}



ul.navigation li a, ul.navigation li a .active, ul.navigation li a:hover {
  background-color: none;
  border-radius: 24px;
  padding: 12px 16px; 
}

ul.navigation li a .active, ul.navigation li a:hover {
  background-color:#ECECEC; 
}


ul.navigation li a.active, ul.navigation li a:hover {
  background-color:#ECECEC;}


ul.navigation li a.contact {
  color:#ffffff !important;
  background-color: #1A1A1A;
}

ul.navigation li a.contact:hover {
  color:#ffffff;
  background-color: #228822 !important;
}

ul.navigation li a.active {
  cursor: default;
  pointer-events: none;
}




/* = = = = = = = = = = = = =
Desktop Navigation (768+)
= = = = = = = = = = = = = = */	

@media only screen 
and (min-width : 768px)
{


  /* Hide the 768+ navigation for Mobile */
  nav#mobile {
    display: none;
    
  }

  /* - - - - - Header - - - - - */


  /* Logo-Name-Title (LEFT SIDE) */
  header 	{
    padding-top: 32px;
  } 


  /* Navigation (RIGHT SIDE) */

  ul.navigation   {
    width: auto;
    height: auto;
    float: right; 
    background-color:#ffffff;
    border-radius: 10px;
    padding: 20px 8px; 
    margin-top:26px;
    display: flex;
    gap: 8px; /* ← spacing between li items */
}


  ul.navigation li {
list-style: none;
  }

  #mobile-hammy {
    display: none;
  }

  /* End 769+ */ 




} 



@media only screen
and (min-width : 769px)
and (max-width : 1023px) {

  ul.navigation   {
    margin-top:16px;
  }

}





/* = = = = = = = = = = = = = = =  
Mobile Navigation HEADER (0-767)
= = = = = = = = = = = = = = =  */


@media only screen 
and (min-width : 0px)
and (max-width : 767px)
{


  /* Hide the 768+ navigation for Mobile */
  #tablet-desktop { /* OK */
    display: none;
  }

  /* = = = = = MOBILE OVERLAY = = = = =  */

  /* ||| Hide vertical scrollbar to prevent jumping */
  ::-webkit-scrollbar {
      display: none; /* Chrome, Safari */
  }



  /*  ||| Make Mobile Nav TOP LAYER */
  nav#mobile {
    position: absolute !important;
    z-index: 25;
    height: auto;
  }


  /* ||| Ensures full screen height & Width*/
  #mobile {
    width: 100%;
    height: 100vh; 
  }


  /* = = = = = = = = = = 
  HAMBURGER MENU BUTTON 
  = = = = = = = = = = = = */


  #mobile-burger-button { /* Burger BG & position */
    width: 64px;
    height: 55px;
    border-radius: 6px;
    background-color: #1A1A1A;
    display: block;
    cursor: pointer;
    position: fixed;
    left: 50%;
    bottom: 32px;
    transform: translateX(-50%) translateY(var(--burger-shift, 0px));
    transition: transform 0.4s ease;
    will-change: transform;
  }

  /* On scroll event - move down off-screen */
  #mobile-burger-button.is-hidden {
    --burger-shift: 140px;
  }

  /* add delay ONLY when showing */
  #mobile-burger-button.is-showing {
    transition-delay: 0.4s;
  }


  /* = = = = = Burger ||| Closed = = = = = */

  #mobile-burger-button span     {
    display: block;
    position: relative;
    height: 1px;
    width: 24px;
    background-color:#F8F8F8;
    opacity: 1;
    left: 20px;
    transform: rotate(0deg);
    transition: .25s cubic-bezier(.4, 0, .2, 1);
  }


  #mobile-burger-button span:nth-child(1) {
    top: 20px;
  }


  #mobile-burger-button span:nth-child(2) {
  top:27px;
  transition-delay: 0.03s;
  }


  #mobile-burger-button span:nth-child(3) {
    top:34px;
    transition-delay: 0.06s ;
  }

  #mobile-burger-button span:nth-child(4),
  #mobile-burger-button span:nth-child(5) {
    top: 24px;
    opacity: 0;
  }





  /* - - - - - Mobile Burger Menu BUTTON X OPEN - - - - - */


  #mobile-burger-button.open span:nth-child(1),
  #mobile-burger-button.open span:nth-child(2),
  #mobile-burger-button.open span:nth-child(3) {
  opacity: 0;
  top: 20px;
  }


  #mobile-burger-button.open span:nth-child(4) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 1;
    left: 20px;
  }

  #mobile-burger-button.open span:nth-child(5) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    opacity: 1;
    left: 20px;
    top: 23px;
  }

  #mobile-burger-button span:nth-child(4),
  #mobile-burger-button span:nth-child(5) {
    background-color: #1A1A1A;
    width: 24px;
    height: 1px;
  }

  #mobile-burger-button.open {
    background-color:#ECECEC !important;
    z-index: 35;
  }


  /* = = = = = = = = = = = 
  Mobile Menu Background 
  = = = = = = = = = = = = */


  /* Background: hidden */
  #mob-nav-bg{
    position: fixed;
    inset: 0;                 /* top:0; right:0; bottom:0; left:0 */
    width: 100vw;
    height: 100vh;            /* fallback */
    height: 100dvh;           /* better on modern mobile browsers */
    opacity: 0;
    transition: opacity 400ms ease-in-out; /* fade only */
    visibility: hidden;
    pointer-events: none;
    z-index: 25;             /* ensure it sits above page content */
    background-color: #1A1A1A;
  }

  /* Background: Visible */
  #mob-nav-bg.show{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }


  /* Mobile Logo */

  .image-logo-white {
    position: fixed;
    background-image: url("../img/furniture/ah-logo-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 30;
    width: 40px;
    height: 40px;
    flex-shrink: 0;        /* prevents squashing */
    transition: transform 400ms ease-in-out;
  }

  /* Mobile Logo, Name & Title: Hidden */
  #brand-mobile {
    position: fixed;
    top: 20px;
    left: 16px;
    margin: 0;  /* IMPORTANT: don't use margins to position fixed UI */
    opacity: 0;
    transition: opacity 400ms ease-in-out; /* fade only */
    display: flex;
    align-items: center;
    z-index: 30;
    pointer-events: none;  /* prevents clicks when hidden */
  }

  /* Mobile Logo, Name & Title: Visible */
  #brand-mobile.show {
    opacity: 1;
    pointer-events: auto;
  }

  /* Make the logo position within the brand block (not separately fixed) */
  #brand-mobile .image-logo-white {
    position: relative;        /* was fixed */
    width: 40px;
    height: 40px;
    background-image: url("../img/furniture/ah-logo-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 30;
    flex-shrink: 0;
  }

  #brand-mobile ul.name-title {
    margin: -4px 0 0 12px;        /* spacing from logo */
    z-index: 30;
  }

  /* Mobile nav List: Hidden */
  #mob-nav-list {
    position: fixed;
    top: 134px;
    left: 0;
    right: 0;                  /* full overlay width */
    padding: 0 calc(16px + env(safe-area-inset-right))
            0 calc(16px + env(safe-area-inset-left));

    margin: 0;
    opacity: 0;
    transition: opacity 50ms ease-in-out !important; /* fade only */
    z-index: 30;
    pointer-events: none;
    box-sizing: border-box;    /* protects against padding width creep */
  }

  /* Mobile nav List: Visible */
  #mob-nav-list.show {
    opacity: 1 !important;
    pointer-events: auto;
  }

a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  background: url("../img/furniture/ne-arrow.svg") center/contain no-repeat;
}


/* iOS-safe scroll lock when mobile menu is open */
html.nav-locked,
body.nav-locked {
  overflow: hidden;
  height: 100%;
  touch-action: pan-x pan-y pinch-zoom; /* allow pinch-zoom */
}



  /* = = = = = = End 0 - 767 = = = = =  */  

} 









/*
= = = = = = = = = = = = = = = = 
Footer Navigation
= = = = = = = = = = = = = = = = 
*/

/* Footer objects Position */

/* NAV CONTAINER */
footer ul.navigation{
  margin: 0;
  padding: 8px;
  background-color:#fff;
  border-radius: 10px;
  display: flex;  /* make the li items align nicely */
  align-items: center;
  gap: 8px;        
  list-style: none;
}


/* BUTTON BASE (applies to BOTH links) */
footer ul.navigation li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;      /* same height */
  line-height: 1;          /* prevents font metrics from changing height */
  border-radius: 24px;
  box-sizing: border-box;  /* border won't change height */
  text-decoration: none;
  white-space: nowrap;
}




ul.navigation li a.std {
  border: 1px solid #ECECEC;
}


/* BACK TO TOP - Light button */
footer ul.navigation li a.to-top {
  border: 1px solid #ECECEC;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 4px; 
}

footer ul.navigation li a.to-top::before {
  content: "";
  width: 12px;
  height: 12px;
  background: url("../img/furniture/arrow.svg") no-repeat center;
  background-size: contain;
  transition: transform 0.25s ease;
}

footer ul.navigation li a.to-top:hover::before{
  transform: translateY(-4px);
}



/* CONTACT (dark button) */
footer ul.navigation li a.contact{
  color:#fff;
  background-color:#1A1A1A;
  border: 1px solid transparent; /* keeps height identical to .to-top */
}

footer ul.navigation li a.contact:hover{
  background-color:#228822;
}


/* 1) Vertically center item1 + item2 within the grid row */
.footer-wrap.grid-container-margins.grid-8-4{
  align-items: center; /* centers grid items vertically */
}

/* Ensure each grid cell centers its own contents */
.footer-wrap .item1,
.footer-wrap .item2{
  display: flex;
  align-items: center;      /* vertical-align middle of their contents */
  margin: 24px 0;
}

/* Keep item2 nav aligned to the right on desktop */
.footer-wrap .item2{
  justify-content: flex-end;
}






/* = = = = FOOTER Mobile Only Rules = = = = */

@media (max-width: 767px){
 
  footer ul.navigation{display: none;}  /* Hide Nav on Mobile */
  footer .footer-wrap .item1 p {padding-bottom: 16px !important;}

}