/* Top bar */
body.noscroll .topbar { position: fixed; top: 0; left: 0; width: 100vw;}
.topbar { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; position: sticky; top: 0; z-index: 1000; background: var(--bar); color: var(--bar-ink); box-shadow: 0 6px 18px rgba(0,0,0,.08); overflow: visible; }
.topbar-inner { display: flex; align-items: center; gap: 1rem; padding: calc(var(--baseline)/2) 1rem;}
.brand img { height: 46px; width: auto; }

nav.main-nav { margin-left: auto; }
.nav-list, .nav-list-other { display: flex; align-items: center; gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.nav-list-other { align-self: center; }
.nav-list a, .nav-list-other a { color: var(--bar-ink); opacity: .95; font-weight: 500; letter-spacing: .15px; }
.nav-list a:hover, .nav-list a:focus-visible, .nav-list-other a:hover, .nav-list-other a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.nav-list-other li.menu-item-cart { position: relative; }
.nav-list-other li.menu-item-cart a i { font-size: 25px; }
.nav-list-other li.menu-item-cart a:hover { text-decoration: none; color: var(--accent); }

.icon-btn { position: relative; display: grid; place-items: center; border: none; background: transparent; color: var(--bar-ink); cursor: pointer; transition: transform .06s ease, color .2s ease; padding: 0; }
.icon-btn i { font-size: 25px; }
.icon-btn:hover { color: var(--accent); }
.icon-btn:active { transform: translateY(1px) scale(.97); }
.icon { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; fill: none; }

/* Cart badge */
.cart-badge { position: absolute; top: -6px; right: -4px; background: #000; color: #fff; border-radius: 50%; font-size: 12px; font-weight: 600; padding: 2px 0px; width: 20px; height: 20px; text-align: center; box-shadow: 0 0 4px rgba(0,0,0,0.25); line-height: 1; border: 1px solid var(--badge); }

/* Secondary bar */
.subbar { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;  position: sticky; top: 73px; z-index: 999; background: var(--subbar); color: #f4f0ed; box-shadow: 0 4px 10px rgba(0,0,0,.1); }
.subbar-inner { display: flex; align-items: center; justify-content: flex-end; padding: 0; position: static; }
.subnav-list { display: flex; list-style: none; margin: 0; padding: 0; }
.subnav-list > li { position: static; }
.subnav-list > li > a { color: #f4f0ed; font-weight: 500; letter-spacing: .15px; padding: 1.7rem 1rem; display: inline-block; font-size: 18px; }
.subnav-list a:hover, .subnav-list a:focus-visible, .subnav-list a:focus { color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.subnav-list > li:hover .mega, .subnav-list > li:focus-within .mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }

ul.subnav-list li.menu-item-has-children div.sub-menu-wrapper {
  background: #553c2f;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  transition: all .2s;
  border: 0;
  list-style: none;
  padding: 40px;
}

ul.subnav-list li.menu-item-has-children:hover div.sub-menu-wrapper {
  visibility: visible;
  opacity: 1;
  padding-top: 18px;
  overflow: hidden;
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

ul.subnav-list li.menu-item-has-children:hover div.sub-menu-wrapper li.menu-item-has-children div.sub-menu-wrapper {
  position: relative;
  top: 0;
}

ul.subnav-list li.menu-item-has-children div.sub-menu-wrapper ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
  padding: 0;
  column-count: 6;
}

ul.subnav-list li.menu-item-has-children div.sub-menu-wrapper ul li ul {
  grid-template-columns: repeat(1, 1fr);
}

ul.subnav-list li.menu-item-has-children div.sub-menu-wrapper ul li a {
  padding: .5rem 1rem;
}

/* mobile menu button */
#primary-mobile-menu {
	background: none;
	padding: 0;
}
#primary-mobile-menu i {
	font-size: 25px;
}
#mobile-menu-nav {
	position: fixed;
	width: 100%;
	background: var(--bar);
	transition: all .2s ease-in-out;
	height: 0;
}
#mobile-menu-nav.show {
	height: 100%;
}
#mobile-menu-nav .mobile-menu-container {
	position: relative;
	height: 100vh;
}
#mobile-menu-nav .mobile-menu-container > div > ul {
	position: relative;
	padding: 0 20px;
}
#mobile-menu-nav .mobile-menu-container > div > ul li:first-child {
	border-top: 1px solid #FFF;
}
#mobile-menu-nav .mobile-menu-container > div > ul li {
	display: flex;
	position: static;
}
#mobile-menu-nav .mobile-menu-container > div > ul li a {
	color: #FFF;
	padding: 10px;
	display: inline-block;
	flex: 1;
}
#mobile-menu-nav .mobile-menu-container > div > ul li a:hover,
#mobile-menu-nav .mobile-menu-container > div > ul li a:focus,
#mobile-menu-nav .mobile-menu-container > div > ul li a:active {
	background: none;
}
#mobile-menu-nav .mobile-menu-container > div > ul li button {
	background: none;
	width: 50px;
	height: 50px;
	padding: 0;
}
#mobile-menu-nav .mobile-menu-container > div > ul li button i {
	font-size: 12px;
}

#mobile-menu-nav .mobile-menu-container ul.mobile-subnav-list {
  position: relative;
  transition: transform 0.3s ease;
}

/* push main menu left */
#mobile-menu-nav .mobile-menu-container ul.mobile-subnav-list.submenu-open {
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}
.submenu-toggle {
  background: none;
  border: none;
  float: right;
}
#mobile-menu-nav .mobile-menu-container ul li > div.sub-menu-wrapper {
  position: absolute;
  inset: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: block;
  background: none;
  border-radius: 0;
  background: var(--bar); color: var(--bar-ink);
  top: 0;
  height: 100vh;
  border: none;
  padding: 0 20px;
  visibility: hidden;
}
#mobile-menu-nav .mobile-menu-container ul li > div.sub-menu-wrapper ul {
  list-style: none;
  padding: 0;
}

#mobile-menu-nav .mobile-menu-container ul li > div.sub-menu-wrapper.submenu-active {
	left: 0;
	display: block;
	visibility: visible;
}

/* Custom hamburger */
.navbar-toggler-icon {
  background-image: none;
  width: 25px;
  height: 2px;
  background-color: #FFF;
  position: relative;
  transition: all 0.3s ease-in-out;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #FFF;
  transition: all 0.3s ease-in-out;
  left: 0;
}

.navbar-toggler-icon::before {
  top: -8px;
}

.navbar-toggler-icon::after {
  top: 8px;
}

/* X state */
.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
  background-color: transparent;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
  transform: rotate(45deg);
  top: 0;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
  transform: rotate(-45deg);
  top: 0;
}


@media (max-width: 768px) {

}