/** Shopify CDN: Minification failed

Line 159:22 Unexpected bad string token
Line 159:38 Unterminated string token

**/
/* =============================================================
   Full-width panel override
   position: fixed + JS-calculated top breaks out of any
   page-width ancestor and sits flush below the header.
   ============================================================= */
[id^="MegaMenu-Content-"] {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 101 !important;
  overflow-x: hidden;
}

/* =============================================================
   Mega menu utility classes
   Maps _-prefixed Tailwind-style utilities to standard CSS.
   Brand color variables at the bottom — adjust to match theme.
   ============================================================= */

/* Position */
._static   { position: static; }
._relative { position: relative; }
._absolute { position: absolute; }
._fixed    { position: fixed; }
._left-0   { left: 0; }
._right-0  { right: 0; }
._top-0    { top: 0; }
._top-full { top: 100%; }
._inset-0  { top: 0; right: 0; bottom: 0; left: 0; }
._-z-10    { z-index: -10; }

/* Display */
._block  { display: block; }
._inline { display: inline; }
._flex   { display: flex; }
._grid   { display: grid; }

/* Flex */
._flex-row     { flex-direction: row; }
._flex-col     { flex-direction: column; }
._flex-1       { flex: 1 1 0%; }
._flex-grow    { flex-grow: 1; }
._items-center { align-items: center; }
._items-start  { align-items: flex-start; }
._justify-between { justify-content: space-between; }
._justify-start   { justify-content: flex-start; }

/* Grid */
._grid-cols-2  { grid-template-columns: repeat(2, minmax(0, 1fr)); }
._grid-cols-4  { grid-template-columns: repeat(4, minmax(0, 1fr)); }
._grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
._col-span-3   { grid-column: span 3 / span 3; }
._col-span-4   { grid-column: span 4 / span 4; }
._col-span-5   { grid-column: span 5 / span 5; }

/* Gap */
._gap-2   { gap: 0.5rem; }
._gap-2\.5 { gap: 0.625rem; }
._gap-3   { gap: 0.75rem; }
._gap-4   { gap: 1rem; }
._gap-8   { gap: 2rem; }

/* Sizing */
._h-full { height: 100%; }
._h-10   { height: 2.5rem; }
._w-full { width: 100%; }
._w-2\.5 { width: 0.625rem; }
._w-5    { width: 1.25rem; }
._w-10   { width: 2.5rem; }

/* Padding */
._p-6      { padding: 1.5rem; }
._pt-1     { padding-top: 0.25rem; }
._pt-10    { padding-top: 2.5rem; }
._pb-12    { padding-bottom: 3rem; }
._pl-1\.5  { padding-left: 0.375rem; }
._pr-3     { padding-right: 0.75rem; }
._py-2\.5  { padding-top: 0.625rem; padding-bottom: 0.625rem; }
._py-3     { padding-top: 0.75rem; padding-bottom: 0.75rem; }

/* Margin */
._mb-2 { margin-bottom: 0.5rem; }
._mt-2 { margin-top: 0.5rem; }
._mb-3 { margin-bottom: 0.75rem; }
._mb-4 { margin-bottom: 1rem; }
._ml-8 { margin-left: 2rem; }

/* Overflow */
._overflow-hidden   { overflow: hidden; }
._overflow-y-hidden { overflow-y: hidden; }

/* Aspect ratio & object fit */
._aspect-square { aspect-ratio: 1 / 1; }
._object-cover  { object-fit: cover; }

/* Typography */
._text-xsm { font-size: 1.4rem; line-height: 2rem; text-transform: uppercase; }
._text-sm   { font-size: 1.6rem; line-height: 2.2rem; text-transform: uppercase; }
._text-base { font-size: 1rem;     line-height: 1.5rem; }
._text-2xl  { font-size: 2rem;   line-height: 2.5rem; font-weight: bold; }

._uppercase        { text-transform: uppercase; }
._tracking-widest  { letter-spacing: 0.1em; }
._underline        { text-decoration: underline; }
._underline-offset-4 { text-underline-offset: 4px; }
._font-semibold    { font-weight: 600; }

._font-heading-primary {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
}

._font-link {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
}

/* Misc */
._cursor-pointer    { cursor: pointer; }
._pointer-events-none { pointer-events: none; }
._isolate           { isolation: isolate; }
._-rotate-90        { transform: rotate(-90deg); }
._rounded-none      { border-radius: 0; }

/* Borders */
._border-t { border-top: 1px solid; }
._border-l { border-left: 1px solid; }

/* Opacity */
._opacity-80 { opacity: 0.8; }
._opacity-60 { opacity: 0.6; }

/* Secondary button — matches Dawn's .button--secondary */
._button-secondary {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  border: 0.1rem solid rgba(var(--color-button-text), 0.2);
  background-color: transparent;
  color: rgb(var(--color-foreground));
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: none;
}
._button-secondary:hover {
  background-color: rgba(var(--color-foreground), 0.06);
}

/* -------------------------------------------------------
   Before pseudo-element utilities (used on banner links
   to create a full-size clickable overlay over the card)
   ------------------------------------------------------- */
.before\:_content-\[\''\'\]\:\:before,
[class*="before:_content"]::before { content: ''; }
.before\:_absolute::before  { position: absolute; }
.before\:_inset-0::before   { top: 0; right: 0; bottom: 0; left: 0; }

/* Overlay removed — z-index conflicts with mega menu panel */

/* Larger carets on child links (By Product Type ›) */
#menu-category-list .svg-wrapper {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

/* Arrow stays right-aligned but pulled in from the edge */
#menu-category-list {
  padding-right: 2rem;
}
#menu-category-list li {
  justify-content: space-between;
}


/* -------------------------------------------------------
   Link reset — top-level nav and inside panel
   ------------------------------------------------------- */
.header__inline-menu a,
.header__inline-menu summary,
[id^="MegaMenu-Content-"] a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
}
.header__inline-menu a:hover,
.header__inline-menu summary:hover,
[id^="MegaMenu-Content-"] a:hover {
  text-decoration: none;
}

/* -------------------------------------------------------
   List reset — remove bullets and default padding
   ------------------------------------------------------- */
[id^="MegaMenu-Content-"] ul,
[id^="MegaMenu-Content-"] ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* -------------------------------------------------------
   Named group hover variants
   ------------------------------------------------------- */
._group\/menubanner:hover .group-hover\/menubanner\:_opacity-80 { opacity: 0.8; }
._group\/grandchildtile:hover .group-hover\/grandchildtile\:_opacity-60 { opacity: 0.6; }
._group\/grandchildcard:hover .group-hover\/grandchildcard\:_opacity-80 { opacity: 0.8; }

/* Hover utilities */
.hover\:_no-underline:hover { text-decoration: none; }

/* -------------------------------------------------------
   Brand colour tokens — adjust these to match your theme
   ------------------------------------------------------- */
:root {
  --mega-menu-bg:              #ffffff;
  --mega-menu-bg-light:        #ffffff;
  --mega-menu-bg-darker:       #ffffff;
  --mega-menu-text:            #1a1a1a;
  --mega-menu-border:          #e0e0e0;
}

._bg-brand-light            { background-color: var(--mega-menu-bg); }
._bg-brand-background-light { background-color: var(--mega-menu-bg-light); }
._bg-brand-background       { background-color: var(--mega-menu-bg-darker); }
._text-brand-dark           { color: var(--mega-menu-text); }
._border-brand-border       { border-color: var(--mega-menu-border); }

[id^="MegaMenu-Content-"],
[id^="MegaMenu-Content-"] > div,
[id^="MegaMenu-Content-"] nav,
[id^="MegaMenu-Content-"] section,
[id^="MegaMenu-Content-"] aside {
  background-color: var(--mega-menu-bg);
  color: var(--mega-menu-text);
}

/* Align all three columns to the top */
[id^="MegaMenu-Content-"] > div {
  align-items: start;
  grid-template-columns: minmax(250px, 2.5fr) minmax(0, 5.5fr) minmax(0, 4fr);
}

[id^="MegaMenu-Content-"] > div > nav    { grid-column: 1; }
[id^="MegaMenu-Content-"] > div > section { grid-column: 2; }
[id^="MegaMenu-Content-"] > div > aside  { grid-column: 3; }

/* Fix flex sizing for banner cards so aspect-ratio works correctly */
[id^="MegaMenu-Content-"] ._flex-row > a,
[id^="MegaMenu-Content-"] ._flex-row > div {
  min-width: 0;
}

[id^="MegaMenu-Content-"] ._aspect-square {
  width: 100%;
}

/* Constrain Best Sellers initial panel to match Featured column width */
/* Fixed width for banner cards in both Best Sellers and Featured — ensures identical sizes */
[data-js-panel-initial] > ._flex-row,
[id^="MegaMenu-Content-"] aside ._flex-row {
  gap: 1rem;
  justify-content: space-evenly;
}

/* Horizontal scroll on Best Sellers when items overflow */
[data-js-panel-initial] > ._flex-row {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

[data-js-panel-initial] > ._flex-row > a {
  scroll-snap-align: start;
  flex-shrink: 0;
}

[data-js-panel-initial] > ._flex-row > a,
[data-js-panel-initial] > ._flex-row > div {
  flex: 0 0 220px;
  width: 220px;
}

[id^="MegaMenu-Content-"] aside ._flex-row > a,
[id^="MegaMenu-Content-"] aside ._flex-row > div {
  flex: 1 1 0%;
  min-width: 0;
  width: auto;
  max-width: 220px;
}

/* Remove default top margin on paragraphs — bottom margin left for utility classes */
[id^="MegaMenu-Content-"] p {
  margin-top: 0;
}

/* -------------------------------------------------------
   Mobile drawer mega menu sections (Tiles → Nav → Panel)
   ------------------------------------------------------- */
.menu-drawer__mega-tiles,
.menu-drawer__mega-panel {
  padding: 1.6rem 2rem;
  border-top: 1px solid rgba(var(--color-foreground), 0.08);
}

/* Inline accordion for top-level nav items */
.menu-drawer__accordion-item > summary {
  list-style: none;
}
.menu-drawer__accordion-item > summary::-webkit-details-marker {
  display: none;
}
.menu-drawer__accordion-caret {
  display: none;
}
.menu-drawer__accordion-item > summary::after {
  content: '+';
  font-size: 2.8rem;
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
  margin-left: auto;
}
.menu-drawer__accordion-item[open] > summary::after {
  content: '−';
}
.menu-drawer__accordion-children {
  padding-left: 1.5rem;
  padding-bottom: 0.5rem;
}
.menu-drawer__accordion-children .menu-drawer__menu-item {
  font-size: 1.5rem;
  color: rgba(var(--color-foreground), 0.8);
}

/* Bolds specific menu items */
.mega-menu__link--bold {
  font-weight: 700;
}

/* Capitalise mobile drawer nav text */
.menu-drawer__menu-item {
  text-transform: uppercase;
}

.menu-drawer__mega-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}

.menu-drawer__mega-heading {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  font-size: 1.8rem;
  margin: 0;
}

.menu-drawer__mega-see-all {
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  opacity: 0.7;
}

.menu-drawer__mega-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.menu-drawer__mega-row::-webkit-scrollbar { display: none; }

.menu-drawer__mega-card {
  flex: 1 1 0%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.menu-drawer__mega-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin-bottom: 0.6rem;
  background-color: rgba(var(--color-foreground), 0.04);
}

.menu-drawer__mega-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-drawer__mega-placeholder {
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-foreground), 0.06);
}

.menu-drawer__mega-label {
  font-size: 1.2rem;
  line-height: 1.4;
  text-transform: uppercase;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.menu-drawer__mega-price {
  font-size: 1.2rem;
  margin-top: 0.3rem;
  opacity: 0.8;
}

.menu-drawer__mega-cta {
  display: inline-block;
  padding: 0.4rem 1rem;
  border: 0.1rem solid rgba(var(--color-foreground), 0.2);
  font-size: 1.2rem;
  margin-top: 0.5rem;
}
