
body.mobile-menu-active{
  overflow:hidden;
}

@media (max-width: 768px){
  .announcement-bar{
    text-align:left;
    font-size:.56rem;
    line-height:1.25;
    letter-spacing:.12em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    padding:9px 14px;
  }

  .site-header{
    top:42px;
    height:64px;
    padding:0 16px;
  }

  .header-logo{
    font-size:1.2rem;
  }

  .header-actions{
    gap:.65rem;
  }

  .header-action-btn:not(.cart-btn),
  .header-nav-wrap{
    display:none !important;
  }

  .mobile-menu-btn{
    display:inline-flex !important;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
  }

  .mobile-menu{
    background:rgba(10,10,10,.98);
    padding:96px 20px 28px;
    justify-content:flex-start;
    align-items:stretch;
    gap:1rem;
    overflow-y:auto;
  }

  .mobile-menu-close{
    top:52px;
    right:14px;
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .mobile-menu-links{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:.4rem;
  }

  .mobile-menu-link,
  .mobile-menu-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.95rem 0;
    background:transparent;
    border:0;
    border-bottom:1px solid rgba(245,241,234,.12);
    color:var(--ivory);
    font-family:var(--font-family-body);
    font-size:.9rem;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    text-decoration:none;
    text-align:left;
  }

  .mobile-menu-toggle-label{
    display:block;
  }

  .mobile-menu-toggle-icon,
  .mobile-sub-menu-toggle-icon{
    color:var(--beige);
    font-size:1.15rem;
    line-height:1;
    flex:0 0 auto;
  }

  .mobile-menu-group.is-open > .mobile-menu-toggle,
  .mobile-sub-menu-group.is-open > .mobile-sub-menu-toggle{
    border-bottom-color:rgba(184,149,106,.4);
  }

  .mobile-sub-menu{
    display:block;
    padding:.45rem 0 .3rem;
  }

  .mobile-sub-menu[hidden],
  .mobile-sub-menu-list[hidden]{
    display:none !important;
  }

  .mobile-sub-menu-group{
    border-bottom:1px solid rgba(245,241,234,.08);
  }

  .mobile-sub-menu-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.85rem 0;
    background:transparent;
    border:0;
    color:rgba(245,241,234,.92);
    font-family:var(--font-family-body);
    font-size:.64rem;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    text-align:left;
  }

  .mobile-sub-menu-title{
    color:var(--accent);
  }

  .mobile-sub-menu-list{
    display:grid;
    gap:.55rem;
    padding:0 0 .9rem;
  }

  .mobile-sub-menu-link{
    display:block;
    padding:.05rem 0 .05rem 1rem;
    color:rgba(245,241,234,.82);
    font-family:var(--font-family-display);
    font-size:1.12rem;
    line-height:1.2;
    text-decoration:none;
  }

  .mobile-sub-menu-link:hover{
    color:var(--ivory);
  }

  .mobile-menu-social{
    display:flex;
    gap:.75rem;
    margin-top:1rem;
  }
}

.single-product-related{
  margin-top:4.5rem;
}

.single-product-related-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.single-product-related-card{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  align-items:stretch;
  background:rgba(255,255,255,.03);
}

.single-product-related-media{
  height:100%;
}

.single-product-related-media img{
  width:100%;
  height:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.single-product-related-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.15rem;
  padding:1rem 1rem 1rem 1.05rem;
}

.single-product-related-name{
  font-size:1.08rem;
  line-height:1.2;
}

.single-product-related-price{
  font-size:1.05rem;
}

.single-product-related .product-badge{
  font-size:.52rem;
  padding:.28rem .55rem;
}

.related.products{
  display:none;
}

@media (max-width: 1100px){
  .single-product-related-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 768px){
  .single-product-related-grid{
    grid-template-columns:1fr;
  }

  .single-product-related-card{
    grid-template-columns:96px minmax(0,1fr);
  }

  .single-product-related-info{
    padding:.85rem .9rem;
  }

  .single-product-related-name{
    font-size:1rem;
  }

  .single-product-related-price{
    font-size:.98rem;
  }
}
