/* J&J Mobile Header v0.1.4 */
.jjmh-mobile-header { display:none; }

@media only screen and (max-width:767px) {
  #header .head > .logo-container,
  #header .head > #header-tools {
    display:none !important;
  }

  #navigation .toggle {
    display:none !important;
  }

  #header .head > .top_search_form_area {
    display:none !important;
    width:100% !important;
    float:none !important;
    margin:0 !important;
    padding:10px 16px 14px !important;
    box-sizing:border-box !important;
  }

  #header .head.jjmh-search-open > .top_search_form_area {
    display:block !important;
  }

  .jjmh-mobile-header {
    display:grid;
    grid-template-columns:48px 1fr auto;
    align-items:center;
    min-height:68px;
    width:100%;
    padding:6px 12px;
    box-sizing:border-box;
    background:#fff;
    border-bottom:1px solid rgba(0,0,0,.08);
    position:relative;
    z-index:20;
  }

  .jjmh-button {
    appearance:none;
    -webkit-appearance:none;
    border:0;
    background:transparent;
    padding:0;
    margin:0;
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:#222;
    position:relative;
  }

  .jjmh-logo {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    text-decoration:none;
  }

  .jjmh-logo-image {
    display:block !important;
    width:auto !important;
    height:54px !important;
    max-width:150px !important;
    max-height:54px !important;
    object-fit:contain !important;
  }

  .jjmh-site-name {
    font-size:18px;
    font-weight:700;
    line-height:1.1;
    text-align:center;
    color:#222;
  }

  .jjmh-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:2px;
  }

  .jjmh-hamburger { width:24px; display:block; }
  .jjmh-hamburger span {
    display:block;
    height:2px;
    margin:5px 0;
    background:currentColor;
    border-radius:2px;
  }

  .jjmh-search-icon {
    width:17px;
    height:17px;
    border:2px solid currentColor;
    border-radius:50%;
    position:relative;
    box-sizing:border-box;
  }

  .jjmh-search-icon::after {
    content:"";
    position:absolute;
    width:7px;
    height:2px;
    background:currentColor;
    right:-6px;
    bottom:-3px;
    transform:rotate(45deg);
    transform-origin:left center;
    border-radius:2px;
  }

  .jjmh-cart-icon {
    width:18px;
    height:17px;
    border:2px solid currentColor;
    border-radius:1px;
    position:relative;
    box-sizing:border-box;
    margin-top:5px;
  }

  .jjmh-cart-icon::before {
    content:"";
    position:absolute;
    left:3px;
    top:-8px;
    width:8px;
    height:8px;
    border:2px solid currentColor;
    border-bottom:0;
    border-radius:8px 8px 0 0;
    box-sizing:border-box;
  }

  .jjmh-cart-count {
    position:absolute;
    top:1px;
    right:0;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border-radius:9px;
    background:#8C2328;
    color:#fff;
    font-size:10px;
    font-weight:700;
    line-height:17px;
    text-align:center;
    box-sizing:border-box;
  }

  .main-menu-area {
    margin-top:0 !important;
  }



  /* ---------------------------------------------------------
     MOBILE CART DRAWER
     J&J controls the presentation instead of Barter positioning
     it from the now-hidden original cart trigger.
     --------------------------------------------------------- */

  #basket-menu.basket-sidebar {
    display:block !important;
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    bottom:0 !important;
    width:min(88vw, 360px) !important;
    max-width:360px !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:28px 22px 30px !important;
    box-sizing:border-box !important;
    overflow-y:auto !important;
    background:#fff !important;
    opacity:1 !important;
    transform:translateX(105%) !important;
    transition:transform .25s ease !important;
    visibility:hidden !important;
    pointer-events:none !important;
    z-index:100002 !important;
  }

  body.jjmh-cart-open #basket-menu.basket-sidebar {
    transform:translateX(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .jjmh-cart-overlay {
    position:fixed;
    inset:0;
    display:block;
    background:rgba(0,0,0,.42);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease, visibility .25s ease;
    z-index:100001;
  }

  body.jjmh-cart-open .jjmh-cart-overlay {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .jjmh-cart-close {
    appearance:none;
    -webkit-appearance:none;
    position:absolute;
    top:14px;
    right:14px;
    width:44px;
    height:44px;
    border:0;
    padding:0;
    margin:0;
    background:#fff;
    color:#222;
    cursor:pointer;
    z-index:20;
  }

  .jjmh-cart-close::before,
  .jjmh-cart-close::after {
    content:"";
    position:absolute;
    left:10px;
    top:21px;
    width:25px;
    height:2px;
    background:currentColor;
    border-radius:2px;
  }

  .jjmh-cart-close::before {
    transform:rotate(45deg);
  }

  .jjmh-cart-close::after {
    transform:rotate(-45deg);
  }

  body.jjmh-cart-open {
    overflow:hidden;
  }


  /* ---------------------------------------------------------
     MOBILE NAVIGATION DRAWER
     --------------------------------------------------------- */

  .jjmh-menu-drawer {
    position:fixed;
    inset:0 auto 0 0;
    width:min(86vw, 360px);
    max-width:360px;
    height:100dvh;
    background:#fff;
    transform:translateX(-105%);
    transition:transform .28s ease;
    z-index:100004;
    visibility:hidden;
    box-shadow:8px 0 28px rgba(0,0,0,.18);
  }

  body.jjmh-menu-open .jjmh-menu-drawer {
    transform:translateX(0);
    visibility:visible;
  }

  .jjmh-menu-drawer-inner {
    height:100%;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }

  .jjmh-drawer-header {
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 18px 0 22px;
    border-bottom:1px solid rgba(0,0,0,.08);
    box-sizing:border-box;
  }

  .jjmh-drawer-title {
    font-size:22px;
    line-height:1;
    font-weight:600;
    letter-spacing:.08em;
    color:#222;
  }

  .jjmh-drawer-close {
    appearance:none;
    -webkit-appearance:none;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    padding:0;
    margin:0;
    position:relative;
    cursor:pointer;
    color:#222;
  }

  .jjmh-drawer-close::before,
  .jjmh-drawer-close::after {
    content:"";
    position:absolute;
    left:10px;
    top:21px;
    width:25px;
    height:2px;
    background:currentColor;
    border-radius:2px;
  }

  .jjmh-drawer-close::before { transform:rotate(45deg); }
  .jjmh-drawer-close::after  { transform:rotate(-45deg); }

  .jjmh-drawer-nav {
    flex:1 1 auto;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:8px 0 18px;
  }

  .jjmh-drawer-nav ul {
    list-style:none;
    padding:0;
    margin:0;
  }

  .jjmh-drawer-nav > ul > li {
    position:relative;
    border-bottom:1px solid rgba(0,0,0,.07);
  }

  .jjmh-drawer-nav li > a {
    display:block;
    padding:17px 54px 17px 22px;
    color:#222 !important;
    text-decoration:none !important;
    font-size:17px;
    line-height:1.25;
    letter-spacing:.04em;
    box-sizing:border-box;
  }

  .jjmh-drawer-nav li.current-menu-item > a,
  .jjmh-drawer-nav li.current_page_item > a {
    color:#8C2328 !important;
    font-weight:600;
  }

  .jjmh-submenu-toggle {
    appearance:none;
    -webkit-appearance:none;
    position:absolute;
    top:4px;
    right:8px;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    padding:0;
    margin:0;
    cursor:pointer;
  }

  .jjmh-submenu-toggle::before {
    content:"";
    position:absolute;
    left:15px;
    top:15px;
    width:10px;
    height:10px;
    border-right:2px solid #555;
    border-bottom:2px solid #555;
    transform:rotate(45deg);
    transition:transform .2s ease;
  }

  .jjmh-submenu-toggle[aria-expanded="true"]::before {
    transform:rotate(225deg);
    top:20px;
  }

  .jjmh-drawer-nav .sub-menu {
    display:none;
    padding:0 0 8px;
    background:#f7f4ef;
  }

  .jjmh-drawer-nav li.jjmh-submenu-open > .sub-menu {
    display:block;
  }

  .jjmh-drawer-nav .sub-menu li > a {
    padding:13px 48px 13px 34px;
    font-size:15px;
    letter-spacing:.025em;
  }

  .jjmh-drawer-footer {
    flex:0 0 auto;
    padding:14px 18px calc(14px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(0,0,0,.08);
    background:#fff;
  }

  .jjmh-account-link {
    min-height:50px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 12px;
    color:#222 !important;
    text-decoration:none !important;
    font-size:16px;
    font-weight:600;
    letter-spacing:.04em;
  }

  .jjmh-account-icon {
    width:19px;
    height:19px;
    border:2px solid currentColor;
    border-radius:50%;
    position:relative;
    box-sizing:border-box;
  }

  .jjmh-account-icon::after {
    content:"";
    position:absolute;
    left:-4px;
    bottom:-10px;
    width:23px;
    height:12px;
    border:2px solid currentColor;
    border-radius:14px 14px 0 0;
    border-bottom:0;
    box-sizing:border-box;
  }

  .jjmh-menu-overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.42);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease, visibility .28s ease;
    z-index:100003;
  }

  body.jjmh-menu-open .jjmh-menu-overlay {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  body.jjmh-menu-open {
    overflow:hidden;
  }

}
