/* ==========================================================================
   roots-header — the only front-end stylesheet of the package.

   Figma: Sticky_nav 30:5425 (solid), Main_navigation 28:3621 (transparent),
          Sidebar 30:6461 + Bg 30:6278 (cart drawer).

   House rules: every selector naming a package class is written twice in
   one list — `.root .el` and `#top #wrap_all .root .el` — so Enfold's
   `#top #wrap_all .all_colors h2 / a` colour rules (2,1,1) lose on the
   class count. No !important. Longhand margin/padding only.
   ========================================================================== */

@property --roots-fb { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --roots-hd-tt { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --roots-hd-tb { syntax: "<length>"; inherits: false; initial-value: 0px; }

/* --------------------------------------------------------------------------
   Tokens
   -------------------------------------------------------------------------- */

.roots-hd-slot,
.roots-hd,
.roots-hd-cart,
#top #wrap_all .roots-hd-slot,
#top #wrap_all .roots-hd,
#top #wrap_all .roots-hd-cart {
  --roots-hd-h: 88px;
  --roots-hd-bg: #3b2a20;
  --roots-hd-fg: #f1ede1;
  --roots-hd-accent: #b39b75;
  --roots-hd-red: #ed2b2a;
  --roots-hd-max: 1728px;
  --roots-hd-pad-x: clamp(20px, 9.2593vw, 160px);
  --roots-hd-ease: 0.3s ease;
  --roots-hd-top: 0px;
  --roots-hd-font: "Inter", "Helvetica Neue", Arial, sans-serif;
  --roots-hd-serif: "Prata", Georgia, serif;
  /* cap-trim metrics — DESIGN constants (Inter v20); a harness never overrides these */
  --cap-b: 0.7275;
  --desc: 0.1362;
  /* unregistered COPIES the trim reads — a harness may override these */
  --cap-b-t: var(--cap-b);
  --desc-t: var(--desc);
}

@supports not ((text-box: trim-both cap alphabetic) or (text-box-trim: trim-both)) {
  .roots-hd, .roots-hd-cart, #top #wrap_all .roots-hd, #top #wrap_all .roots-hd-cart { --roots-fb: 1; }
}

/* --------------------------------------------------------------------------
   Cap trim (project-wide pattern; the tokens are this package's own)
   -------------------------------------------------------------------------- */

.roots-hd-cart .roots-hd-t,
#top #wrap_all .roots-hd-cart .roots-hd-t {
  display: block;
  --roots-hd-tt: calc(var(--roots-fb) * (var(--lh) - var(--fs) * var(--cap-b-t)) / 2);
  --roots-hd-tb: calc(var(--roots-fb) * ((var(--lh) - var(--fs)) / 2 + var(--fs) * var(--desc-t)));
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  text-box: trim-both cap alphabetic;
  margin-top: calc(-1 * var(--roots-hd-tt));
  margin-bottom: calc(-1 * var(--roots-hd-tb));
}

.roots-hd-cart .roots-hd-t--prata,
#top #wrap_all .roots-hd-cart .roots-hd-t--prata {
  --cap-b-t: 0.969;
  --desc-t: 0.1845;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

.roots-hd *,
.roots-hd *::before,
.roots-hd *::after,
.roots-hd-cart *,
.roots-hd-cart *::before,
.roots-hd-cart *::after,
#top #wrap_all .roots-hd *,
#top #wrap_all .roots-hd *::before,
#top #wrap_all .roots-hd *::after,
#top #wrap_all .roots-hd-cart *,
#top #wrap_all .roots-hd-cart *::before,
#top #wrap_all .roots-hd-cart *::after {
  box-sizing: border-box;
}

.roots-hd .roots-hd__sr,
.roots-hd-cart .roots-hd__sr,
#top #wrap_all .roots-hd .roots-hd__sr,
#top #wrap_all .roots-hd-cart .roots-hd__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  margin-top: -1px;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: -1px;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
}

/* The in-flow slot: holds the bar's space on solid pages, nothing on transparent ones. */
.roots-hd-slot,
#top #wrap_all .roots-hd-slot {
  display: block;
  height: var(--roots-hd-h);
}

.roots-hd-slot--transparent,
#top #wrap_all .roots-hd-slot--transparent {
  height: 0;
}

/* Set by the script once the bar is mounted: anchor jumps land below it (88 = --roots-hd-h). */
html.roots-hd-ready {
  scroll-padding-top: 88px;
}

html.roots-hd-lock,
html.roots-hd-lock body {
  overflow: hidden;
}

html.roots-hd-lock body {
  padding-right: var(--roots-hd-sbw, 0px);
}

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

.roots-hd,
#top #wrap_all .roots-hd {
  --roots-hd-pad-y: 16px;
  --roots-hd-logo-w: 89px;
  --roots-hd-logo-h: 56px;
  position: fixed;
  top: var(--roots-hd-top);
  right: var(--roots-hd-sbw, 0px);
  left: 0;
  z-index: 600;
  width: auto;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  background-color: var(--roots-hd-bg);
  color: var(--roots-hd-fg);
  font-family: var(--roots-hd-font);
  transition: background-color var(--roots-hd-ease);
}

/* Transparent variant: over the hero until scrolled or opened. */
.roots-hd--transparent:not(.is-scrolled):not(.is-solid),
#top #wrap_all .roots-hd--transparent:not(.is-scrolled):not(.is-solid) {
  --roots-hd-pad-y: 28px;
  --roots-hd-logo-w: 127px;
  --roots-hd-logo-h: 80px;
  background-color: transparent;
}

.admin-bar .roots-hd,
#top.admin-bar #wrap_all .roots-hd {
  --roots-hd-top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .roots-hd,
  #top.admin-bar #wrap_all .roots-hd {
    --roots-hd-top: 46px;
  }
}

.roots-hd .roots-hd__bar,
#top #wrap_all .roots-hd .roots-hd__bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  column-gap: 80px;
  max-width: var(--roots-hd-max);
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-top: var(--roots-hd-pad-y);
  padding-right: var(--roots-hd-pad-x);
  padding-bottom: var(--roots-hd-pad-y);
  padding-left: var(--roots-hd-pad-x);
  transition: padding-top var(--roots-hd-ease), padding-bottom var(--roots-hd-ease);
}

/* ---- logo ---- */

.roots-hd .roots-hd__logo,
#top #wrap_all .roots-hd .roots-hd__logo {
  display: block;
  flex: 0 0 auto;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  line-height: 0;
  text-decoration: none;
}

.roots-hd .roots-hd__logo-img,
#top #wrap_all .roots-hd .roots-hd__logo-img {
  display: block;
  width: var(--roots-hd-logo-w);
  height: var(--roots-hd-logo-h);
  max-width: none;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: contain;
  transition: width var(--roots-hd-ease), height var(--roots-hd-ease);
}

/* ---- menu ---- */

.roots-hd .roots-hd__nav,
.roots-hd .roots-hd__mobile-nav,
#top #wrap_all .roots-hd .roots-hd__nav,
#top #wrap_all .roots-hd .roots-hd__mobile-nav {
  flex: 0 0 auto;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  background: transparent;
}

.roots-hd .roots-hd__menu,
.roots-hd .roots-hd__menu ul,
#top #wrap_all .roots-hd .roots-hd__menu,
#top #wrap_all .roots-hd .roots-hd__menu ul {
  list-style: none;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.roots-hd .roots-hd__menu,
#top #wrap_all .roots-hd .roots-hd__menu {
  display: flex;
  align-items: center;
  column-gap: 32px;
}

.roots-hd .roots-hd__menu li,
#top #wrap_all .roots-hd .roots-hd__menu li {
  position: relative;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  line-height: 28px;
}

.roots-hd .roots-hd__menu a,
#top #wrap_all .roots-hd .roots-hd__menu a {
  display: block;
  position: relative;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--roots-hd-fg);
  font-family: var(--roots-hd-font);
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  transition: color var(--roots-hd-ease);
}

/* The three dots (Figma "Group 176"): 28 × 4, sitting 12px under the cap baseline. */
.roots-hd .roots-hd__menu > li > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li > a::after {
  content: "";
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  width: 28px;
  height: 4px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: -14px;
  background-image: url("../assets/dots.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 4px;
  opacity: 0;
  transition: opacity var(--roots-hd-ease);
}

.roots-hd .roots-hd__menu > li:hover > a::after,
.roots-hd .roots-hd__menu > li:focus-within > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li:hover > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li:focus-within > a::after {
  opacity: 0.5;
}

.roots-hd .roots-hd__menu > li.current-menu-item > a::after,
.roots-hd .roots-hd__menu > li.current-menu-ancestor > a::after,
.roots-hd .roots-hd__menu > li.current-menu-parent > a::after,
.roots-hd .roots-hd__menu > li.current_page_parent > a::after,
.roots-hd .roots-hd__menu > li.current_page_ancestor > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li.current-menu-item > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li.current-menu-ancestor > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li.current-menu-parent > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li.current_page_parent > a::after,
#top #wrap_all .roots-hd .roots-hd__menu > li.current_page_ancestor > a::after {
  opacity: 1;
}

.roots-hd .roots-hd__menu a:focus-visible,
#top #wrap_all .roots-hd .roots-hd__menu a:focus-visible {
  outline: 2px solid var(--roots-hd-accent);
  outline-offset: 4px;
}

/* ---- submenu (depth 2, if the client adds one) ---- */

.roots-hd .roots-hd__menu .sub-menu,
#top #wrap_all .roots-hd .roots-hd__menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1;
  min-width: 200px;
  padding-top: 12px;
  padding-bottom: 12px;
  background-color: var(--roots-hd-bg);
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--roots-hd-ease), visibility 0s linear 0.3s;
}

.roots-hd .roots-hd__menu .sub-menu::before,
#top #wrap_all .roots-hd .roots-hd__menu .sub-menu::before {
  content: "";
  position: absolute;
  top: -24px;
  right: 0;
  left: 0;
  height: 24px;
}

.roots-hd .roots-hd__menu > li:hover > .sub-menu,
.roots-hd .roots-hd__menu > li:focus-within > .sub-menu,
#top #wrap_all .roots-hd .roots-hd__menu > li:hover > .sub-menu,
#top #wrap_all .roots-hd .roots-hd__menu > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transition: opacity var(--roots-hd-ease), visibility 0s;
}

.roots-hd .roots-hd__menu .sub-menu a,
#top #wrap_all .roots-hd .roots-hd__menu .sub-menu a {
  padding-top: 8px;
  padding-right: 24px;
  padding-bottom: 8px;
  padding-left: 24px;
  font-size: 16px;
  line-height: 24px;
}

.roots-hd .roots-hd__menu .sub-menu a:hover,
.roots-hd .roots-hd__menu .sub-menu .current-menu-item > a,
#top #wrap_all .roots-hd .roots-hd__menu .sub-menu a:hover,
#top #wrap_all .roots-hd .roots-hd__menu .sub-menu .current-menu-item > a {
  color: var(--roots-hd-accent);
}

/* ---- tools ---- */

.roots-hd .roots-hd__tools,
#top #wrap_all .roots-hd .roots-hd__tools {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  column-gap: 20px;
}

.roots-hd .roots-hd__tool,
.roots-hd .roots-hd__search-submit,
#top #wrap_all .roots-hd .roots-hd__tool,
#top #wrap_all .roots-hd .roots-hd__search-submit {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--roots-hd-fg);
  font-family: var(--roots-hd-font);
  line-height: 0;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: color var(--roots-hd-ease);
}

.roots-hd .roots-hd__tool svg,
.roots-hd .roots-hd__search-submit svg,
#top #wrap_all .roots-hd .roots-hd__tool svg,
#top #wrap_all .roots-hd .roots-hd__search-submit svg {
  display: block;
  width: 24px;
  height: 24px;
}

.roots-hd .roots-hd__tool svg path,
.roots-hd .roots-hd__search-submit svg path,
#top #wrap_all .roots-hd .roots-hd__tool svg path,
#top #wrap_all .roots-hd .roots-hd__search-submit svg path {
  stroke: currentColor;
}

.roots-hd .roots-hd__tool:hover,
.roots-hd .roots-hd__tool:focus-visible,
.roots-hd .roots-hd__search-submit:hover,
.roots-hd .roots-hd__search-submit:focus-visible,
#top #wrap_all .roots-hd .roots-hd__tool:hover,
#top #wrap_all .roots-hd .roots-hd__tool:focus-visible,
#top #wrap_all .roots-hd .roots-hd__search-submit:hover,
#top #wrap_all .roots-hd .roots-hd__search-submit:focus-visible {
  color: var(--roots-hd-accent);
}

.roots-hd .roots-hd__tool:focus-visible,
.roots-hd .roots-hd__search-submit:focus-visible,
#top #wrap_all .roots-hd .roots-hd__tool:focus-visible,
#top #wrap_all .roots-hd .roots-hd__search-submit:focus-visible {
  outline: 2px solid var(--roots-hd-accent);
  outline-offset: 4px;
}

.roots-hd .roots-hd__cart-count,
#top #wrap_all .roots-hd .roots-hd__cart-count {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  padding-top: 0;
  padding-right: 4px;
  padding-bottom: 0;
  padding-left: 4px;
  border-radius: 8px;
  background-color: var(--roots-hd-accent);
  color: var(--roots-hd-bg);
  font-family: var(--roots-hd-font);
  font-size: 10px;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
}

.roots-hd .roots-hd__cart-count[data-count="0"],
#top #wrap_all .roots-hd .roots-hd__cart-count[data-count="0"] {
  display: none;
}

/* ---- burger (no Figma frame yet — phone fallback) ---- */

.roots-hd .roots-hd__tool--burger,
#top #wrap_all .roots-hd .roots-hd__tool--burger {
  display: none;
}

.roots-hd .roots-hd__burger,
#top #wrap_all .roots-hd .roots-hd__burger {
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
}

.roots-hd .roots-hd__burger-line,
.roots-hd .roots-hd__burger::before,
.roots-hd .roots-hd__burger::after,
#top #wrap_all .roots-hd .roots-hd__burger-line,
#top #wrap_all .roots-hd .roots-hd__burger::before,
#top #wrap_all .roots-hd .roots-hd__burger::after {
  content: "";
  position: absolute;
  left: 2px;
  width: 20px;
  height: 2px;
  background-color: currentColor;
  transition: transform var(--roots-hd-ease), opacity var(--roots-hd-ease);
}

.roots-hd .roots-hd__burger::before,
#top #wrap_all .roots-hd .roots-hd__burger::before {
  top: 4px;
}

.roots-hd .roots-hd__burger-line,
#top #wrap_all .roots-hd .roots-hd__burger-line {
  top: 11px;
}

.roots-hd .roots-hd__burger::after,
#top #wrap_all .roots-hd .roots-hd__burger::after {
  top: 18px;
}

.roots-hd .roots-hd__tool--burger.is-open .roots-hd__burger::before,
#top #wrap_all .roots-hd .roots-hd__tool--burger.is-open .roots-hd__burger::before {
  transform: translateY(7px) rotate(45deg);
}

.roots-hd .roots-hd__tool--burger.is-open .roots-hd__burger-line,
#top #wrap_all .roots-hd .roots-hd__tool--burger.is-open .roots-hd__burger-line {
  opacity: 0;
}

.roots-hd .roots-hd__tool--burger.is-open .roots-hd__burger::after,
#top #wrap_all .roots-hd .roots-hd__tool--burger.is-open .roots-hd__burger::after {
  transform: translateY(-7px) rotate(-45deg);
}

/* ---- search bar ---- */

.roots-hd .roots-hd__search,
#top #wrap_all .roots-hd .roots-hd__search {
  position: relative;
  z-index: 2;
  display: none;
  max-width: var(--roots-hd-max);
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-top: 0;
  padding-right: var(--roots-hd-pad-x);
  padding-bottom: 24px;
  padding-left: var(--roots-hd-pad-x);
}

.roots-hd .roots-hd__search.is-open,
#top #wrap_all .roots-hd .roots-hd__search.is-open {
  display: block;
}

.roots-hd .roots-hd__search-form,
#top #wrap_all .roots-hd .roots-hd__search-form {
  display: flex;
  align-items: center;
  column-gap: 16px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 16px;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-top: 1px solid rgba(241, 237, 225, 0.2);
}

.roots-hd .roots-hd__search-input,
#top #wrap_all .roots-hd .roots-hd__search-input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  height: 48px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-bottom: 1px solid rgba(241, 237, 225, 0.4);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--roots-hd-fg);
  font-family: var(--roots-hd-font);
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
}

.roots-hd .roots-hd__search-input::placeholder,
#top #wrap_all .roots-hd .roots-hd__search-input::placeholder {
  color: rgba(241, 237, 225, 0.5);
  opacity: 1;
}

.roots-hd .roots-hd__search-input:focus,
#top #wrap_all .roots-hd .roots-hd__search-input:focus {
  border-bottom-color: var(--roots-hd-accent);
}

/* ---- mobile panel ---- */

.roots-hd .roots-hd__mobile,
#top #wrap_all .roots-hd .roots-hd__mobile {
  position: fixed;
  top: var(--roots-hd-top);
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: calc(var(--roots-hd-h) + 24px);
  padding-right: var(--roots-hd-pad-x);
  padding-bottom: 40px;
  padding-left: var(--roots-hd-pad-x);
  overflow-y: auto;
  background-color: var(--roots-hd-bg);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 0.35s;
}

.roots-hd .roots-hd__mobile.is-open,
#top #wrap_all .roots-hd .roots-hd__mobile.is-open {
  transform: none;
  visibility: visible;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s;
}

.roots-hd .roots-hd__mobile-menu,
.roots-hd .roots-hd__mobile-menu ul,
#top #wrap_all .roots-hd .roots-hd__mobile-menu,
#top #wrap_all .roots-hd .roots-hd__mobile-menu ul {
  list-style: none;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.roots-hd .roots-hd__mobile-menu,
#top #wrap_all .roots-hd .roots-hd__mobile-menu {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}

.roots-hd .roots-hd__mobile-menu li,
#top #wrap_all .roots-hd .roots-hd__mobile-menu li {
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.roots-hd .roots-hd__mobile-menu a,
#top #wrap_all .roots-hd .roots-hd__mobile-menu a {
  display: block;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  color: var(--roots-hd-fg);
  font-family: var(--roots-hd-font);
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  text-decoration: none;
}

.roots-hd .roots-hd__mobile-menu .current-menu-item > a,
.roots-hd .roots-hd__mobile-menu .current-menu-ancestor > a,
.roots-hd .roots-hd__mobile-menu a:hover,
#top #wrap_all .roots-hd .roots-hd__mobile-menu .current-menu-item > a,
#top #wrap_all .roots-hd .roots-hd__mobile-menu .current-menu-ancestor > a,
#top #wrap_all .roots-hd .roots-hd__mobile-menu a:hover {
  color: var(--roots-hd-accent);
}

.roots-hd .roots-hd__mobile-menu .sub-menu,
#top #wrap_all .roots-hd .roots-hd__mobile-menu .sub-menu {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  margin-top: 12px;
  margin-left: 16px;
}

.roots-hd .roots-hd__mobile-menu .sub-menu a,
#top #wrap_all .roots-hd .roots-hd__mobile-menu .sub-menu a {
  font-size: 18px;
  line-height: 28px;
}

/* Phone/tablet: the list hides, the burger shows. The README documents this width. */
@media (max-width: 1023.98px) {
  .roots-hd .roots-hd__nav,
  #top #wrap_all .roots-hd .roots-hd__nav {
    display: none;
  }

  .roots-hd .roots-hd__tool--burger,
  #top #wrap_all .roots-hd .roots-hd__tool--burger {
    display: flex;
  }
}

/* --------------------------------------------------------------------------
   Cart drawer (Figma 30:6461 on Bg 30:6278)
   -------------------------------------------------------------------------- */

.roots-hd-cart,
#top #wrap_all .roots-hd-cart {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 700;
  visibility: hidden;
  pointer-events: none;
  color: var(--roots-hd-bg);
  font-family: var(--roots-hd-font);
  transition: visibility 0s linear 0.35s;
}

.roots-hd-cart.is-open,
#top #wrap_all .roots-hd-cart.is-open {
  visibility: visible;
  pointer-events: auto;
  transition: visibility 0s;
}

.roots-hd-cart .roots-hd-cart__overlay,
#top #wrap_all .roots-hd-cart .roots-hd-cart__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(241, 237, 225, 0.64);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.roots-hd-cart.is-open .roots-hd-cart__overlay,
#top #wrap_all .roots-hd-cart.is-open .roots-hd-cart__overlay {
  opacity: 1;
}

.roots-hd-cart .roots-hd-cart__panel,
#top #wrap_all .roots-hd-cart .roots-hd-cart__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  width: 378px;
  max-width: 100%;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 32px;
  padding-right: 32px;
  padding-bottom: 32px;
  padding-left: 32px;
  background-color: #fff;
  outline: 0;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.roots-hd-cart.is-open .roots-hd-cart__panel,
#top #wrap_all .roots-hd-cart.is-open .roots-hd-cart__panel {
  transform: none;
}

/* ---- head: 314 × 59 ---- */

.roots-hd-cart .roots-hd-cart__head,
#top #wrap_all .roots-hd-cart .roots-hd-cart__head {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(59, 42, 32, 0.2);
}

.roots-hd-cart .roots-hd-cart__title,
#top #wrap_all .roots-hd-cart .roots-hd-cart__title {
  --fs: 24px;
  --lh: 28px;
  margin-right: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  color: var(--roots-hd-bg);
  font-family: var(--roots-hd-serif);
  font-size: var(--fs);
  font-weight: 400;
  line-height: var(--lh);
  letter-spacing: -0.48px;
  text-transform: none;
}

.roots-hd-cart .roots-hd-cart__close,
#top #wrap_all .roots-hd-cart .roots-hd-cart__close {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-radius: 0;
  background-color: rgba(237, 43, 42, 0.08);
  box-shadow: none;
  color: var(--roots-hd-red);
  line-height: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color var(--roots-hd-ease);
}

.roots-hd-cart .roots-hd-cart__close:hover,
.roots-hd-cart .roots-hd-cart__close:focus-visible,
#top #wrap_all .roots-hd-cart .roots-hd-cart__close:hover,
#top #wrap_all .roots-hd-cart .roots-hd-cart__close:focus-visible {
  background-color: rgba(237, 43, 42, 0.16);
}

.roots-hd-cart .roots-hd-cart__close svg,
#top #wrap_all .roots-hd-cart .roots-hd-cart__close svg {
  display: block;
  width: 18px;
  height: 18px;
}

/* ---- content (the fragment) ---- */

.roots-hd-cart .roots-hd-cart__content,
#top #wrap_all .roots-hd-cart .roots-hd-cart__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 40px;
  min-height: 0;
}

.roots-hd-cart .roots-hd-cart__items,
#top #wrap_all .roots-hd-cart .roots-hd-cart__items {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  row-gap: 48px;
  min-height: 0;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  overflow-y: auto;
  list-style: none;
}

/* ---- item: 314 × 104 ---- */

.roots-hd-cart .roots-hd-cart__item,
#top #wrap_all .roots-hd-cart .roots-hd-cart__item {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  column-gap: 12px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  transition: opacity var(--roots-hd-ease);
}

.roots-hd-cart .roots-hd-cart__item.is-busy,
#top #wrap_all .roots-hd-cart .roots-hd-cart__item.is-busy {
  opacity: 0.5;
  pointer-events: none;
}

.roots-hd-cart .roots-hd-cart__thumb,
#top #wrap_all .roots-hd-cart .roots-hd-cart__thumb {
  flex: 0 0 104px;
  width: 104px;
  height: 104px;
  padding-top: 2px;
  padding-right: 2px;
  padding-bottom: 2px;
  padding-left: 2px;
  line-height: 0;
}

.roots-hd-cart .roots-hd-cart__thumb a,
#top #wrap_all .roots-hd-cart .roots-hd-cart__thumb a {
  display: block;
  height: 100%;
  border: 0;
}

.roots-hd-cart .roots-hd-cart__img,
#top #wrap_all .roots-hd-cart .roots-hd-cart__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: contain;
}

.roots-hd-cart .roots-hd-cart__details,
#top #wrap_all .roots-hd-cart .roots-hd-cart__details {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 14px;
  min-width: 0;
}

.roots-hd-cart .roots-hd-cart__name,
#top #wrap_all .roots-hd-cart .roots-hd-cart__name {
  --fs: 14px;
  --lh: 20px;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  color: var(--roots-hd-bg);
  font-family: var(--roots-hd-font);
  font-size: var(--fs);
  font-weight: 400;
  line-height: var(--lh);
  opacity: 0.72;
}

.roots-hd-cart .roots-hd-cart__name a,
#top #wrap_all .roots-hd-cart .roots-hd-cart__name a {
  border: 0;
  color: inherit;
  text-decoration: none;
}

.roots-hd-cart .roots-hd-cart__name a:hover,
#top #wrap_all .roots-hd-cart .roots-hd-cart__name a:hover {
  text-decoration: underline;
}

/* quantity box: 98 × 34 */
.roots-hd-cart .roots-hd-cart__qty,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty {
  display: inline-flex;
  align-items: center;
  column-gap: 14px;
  padding-top: 7px;
  padding-right: 8px;
  padding-bottom: 7px;
  padding-left: 8px;
  border: 2px solid rgba(179, 155, 117, 0.4);
  background-color: #fff;
}

.roots-hd-cart .roots-hd-cart__qty--fixed,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty--fixed {
  padding-right: 24px;
  padding-left: 24px;
}

.roots-hd-cart .roots-hd-cart__qty-btn,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty-btn {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--roots-hd-bg);
  line-height: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.roots-hd-cart .roots-hd-cart__qty-btn svg,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty-btn svg {
  display: block;
  width: 16px;
  height: 16px;
}

.roots-hd-cart .roots-hd-cart__qty-btn svg path,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty-btn svg path {
  stroke: currentColor;
}

.roots-hd-cart .roots-hd-cart__qty-btn:hover,
.roots-hd-cart .roots-hd-cart__qty-btn:focus-visible,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty-btn:hover,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty-btn:focus-visible {
  color: var(--roots-hd-accent);
}

.roots-hd-cart .roots-hd-cart__qty-btn[disabled],
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty-btn[disabled] {
  opacity: 0.3;
  cursor: default;
}

.roots-hd-cart .roots-hd-cart__qty-value,
#top #wrap_all .roots-hd-cart .roots-hd-cart__qty-value {
  display: block;
  min-width: 18px;
  color: var(--roots-hd-bg);
  font-family: var(--roots-hd-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 16px;
  text-align: center;
}

/* "1 × €180.00" */
.roots-hd-cart .roots-hd-cart__price,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price {
  display: flex;
  align-items: center;
  column-gap: 5px;
  color: var(--roots-hd-bg);
  font-family: var(--roots-hd-font);
  font-size: 14px;
  line-height: 20px;
}

.roots-hd-cart .roots-hd-cart__price-qty,
.roots-hd-cart .roots-hd-cart__price-amount,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-qty,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-amount {
  --fs: 14px;
  --lh: 20px;
  margin-right: 0;
  margin-left: 0;
  color: var(--roots-hd-bg);
  font-size: var(--fs);
  line-height: var(--lh);
  white-space: nowrap;
}

.roots-hd-cart .roots-hd-cart__price-qty,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-qty {
  font-weight: 500;
}

.roots-hd-cart .roots-hd-cart__price-amount,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-amount {
  font-weight: 400;
}

.roots-hd-cart .roots-hd-cart__price-amount .amount,
.roots-hd-cart .roots-hd-cart__price-amount bdi,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-amount .amount,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-amount bdi {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.roots-hd-cart .roots-hd-cart__price-x,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-x {
  display: block;
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  line-height: 0;
}

.roots-hd-cart .roots-hd-cart__price-x svg,
#top #wrap_all .roots-hd-cart .roots-hd-cart__price-x svg {
  display: block;
  width: 12px;
  height: 12px;
}

.roots-hd-cart .roots-hd-cart__remove,
#top #wrap_all .roots-hd-cart .roots-hd-cart__remove {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: auto;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--roots-hd-red);
  line-height: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: opacity var(--roots-hd-ease);
}

.roots-hd-cart .roots-hd-cart__remove svg,
#top #wrap_all .roots-hd-cart .roots-hd-cart__remove svg {
  display: block;
  width: 18px;
  height: 18px;
}

.roots-hd-cart .roots-hd-cart__remove:hover,
.roots-hd-cart .roots-hd-cart__remove:focus-visible,
#top #wrap_all .roots-hd-cart .roots-hd-cart__remove:hover,
#top #wrap_all .roots-hd-cart .roots-hd-cart__remove:focus-visible {
  opacity: 0.6;
}

.roots-hd-cart .roots-hd-cart__empty,
#top #wrap_all .roots-hd-cart .roots-hd-cart__empty {
  --fs: 14px;
  --lh: 20px;
  margin-right: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  color: var(--roots-hd-bg);
  font-family: var(--roots-hd-font);
  font-size: var(--fs);
  line-height: var(--lh);
  opacity: 0.72;
}

/* ---- footer / button: 314 × 56 ---- */

.roots-hd-cart .roots-hd-cart__footer,
#top #wrap_all .roots-hd-cart .roots-hd-cart__footer {
  flex: 0 0 auto;
}

.roots-hd-cart .roots-hd-cart__btn,
#top #wrap_all .roots-hd-cart .roots-hd-cart__btn {
  display: block;
  width: 100%;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 20px;
  padding-right: 32px;
  padding-bottom: 20px;
  padding-left: 34px;
  border: 2px solid var(--roots-hd-bg);
  border-radius: 0;
  background-color: var(--roots-hd-bg);
  color: var(--roots-hd-fg);
  text-align: center;
  text-decoration: none;
  transition: background-color var(--roots-hd-ease), color var(--roots-hd-ease);
}

.roots-hd-cart .roots-hd-cart__btn:hover,
.roots-hd-cart .roots-hd-cart__btn:focus-visible,
#top #wrap_all .roots-hd-cart .roots-hd-cart__btn:hover,
#top #wrap_all .roots-hd-cart .roots-hd-cart__btn:focus-visible {
  background-color: transparent;
  color: var(--roots-hd-bg);
}

.roots-hd-cart .roots-hd-cart__btn-label,
#top #wrap_all .roots-hd-cart .roots-hd-cart__btn-label {
  --fs: 16px;
  --lh: 24px;
  margin-right: 0;
  margin-left: 0;
  font-family: var(--roots-hd-font);
  font-size: var(--fs);
  font-weight: 500;
  line-height: var(--lh);
  letter-spacing: 0.32px;
  text-transform: uppercase;
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Motion preference
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .roots-hd,
  .roots-hd *,
  .roots-hd *::after,
  .roots-hd-cart,
  .roots-hd-cart *,
  #top #wrap_all .roots-hd,
  #top #wrap_all .roots-hd *,
  #top #wrap_all .roots-hd *::after,
  #top #wrap_all .roots-hd-cart,
  #top #wrap_all .roots-hd-cart * {
    transition-duration: 0.01s;
  }
}
