/** Shopify CDN: Minification failed

Line 3200:14 Expected identifier but found whitespace
Line 3200:20 Unexpected "!"
Line 3866:14 Expected identifier but found whitespace
Line 3866:20 Unexpected "!"
Line 3884:14 Expected identifier but found whitespace
Line 3884:20 Unexpected "!"
Line 3908:14 Expected identifier but found whitespace
Line 3908:20 Unexpected "!"
Line 4142:14 Expected identifier but found whitespace
Line 4142:20 Unexpected "!"
... and 17 more hidden warnings

**/
* {
  box-sizing: border-box;
}

body {
  color: var(--color-foreground);
  background: var(--color-background);
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 100svh;
  font-variation-settings: 'slnt' 0;
}

:root {
  --hover-lift-amount: 4px;
  --hover-scale-amount: 1.03;
  --hover-subtle-zoom-amount: 1.015;
  --hover-shadow-color: var(--color-shadow);
  --hover-transition-duration: 0.25s;
  --hover-transition-timing: ease-out;
  --surface-transition-duration: 0.3s;
  --surface-transition-timing: var(--ease-out-quad);
  --submenu-animation-speed: 360ms;
  --submenu-animation-easing: cubic-bezier(0.25, 0.1, 0.25, 1);
}

html {
  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) var(--color-background);
  scroll-behavior: smooth;
}

@media (min-width: 990px) {
  html:has(.page-wrapper),
  html:has(.page-wrapper) body {
    height: 100dvh;
    overflow: hidden;
  }
}

html[scroll-lock],
html[scroll-lock] .page-wrapper {
  overflow: hidden;
}

.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  transition: margin-right var(--animation-speed) var(--animation-timing-fade-out);
}

@media (min-width: 990px) {
  .page-wrapper {
    height: 100dvh;
    overflow-y: auto;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) var(--color-background);
  }

  .page-wrapper--drawer-open shopify-account::part(dialog) {
    translate: calc(-1 * var(--theme-drawer-width, var(--sidebar-width)));
  }
}

.page-wrapper--drawer-open {
  margin-right: var(--theme-drawer-width, var(--sidebar-width));
  transition-timing-function: var(--animation-timing-fade-in);
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

img {
  width: 100%;
  height: auto;
}

input,
textarea,
select {
  font: inherit;
  border-radius: var(--style-border-radius-inputs);
}

/** override ios and firefox defaults */
select {
  background-color: var(--color-background);
  color: currentcolor;
}

.product-card,
.collection-card,
.predictive-search-results__card--product,
.predictive-search-results__card {
  position: relative;
  transition: transform var(--hover-transition-duration) var(--hover-transition-timing),
    box-shadow var(--hover-transition-duration) var(--hover-transition-timing);
  z-index: var(--layer-flat);
}

.product-card__link {
  position: absolute;
  inset: 0;
}

.product-card__content {
  position: relative;
}

.product-card__content {
  cursor: pointer;
}

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .card-hover-effect-lift .product-card:hover,
  .card-hover-effect-lift .collection-card:hover,
  .card-hover-effect-lift .predictive-search-results__card:hover {
    transform: translateY(calc(-1 * var(--hover-lift-amount)));
  }

  .card-hover-effect-scale .product-card:hover,
  .card-hover-effect-scale .collection-card:hover,
  .card-hover-effect-scale .predictive-search-results__card:hover {
    transform: scale(var(--hover-scale-amount));
  }

  .card-hover-effect-subtle-zoom .card-gallery,
  .card-hover-effect-subtle-zoom .collection-card__image,
  .card-hover-effect-subtle-zoom .product-card__image {
    overflow: hidden;
    transition: transform var(--hover-transition-duration) var(--hover-transition-timing);
  }

  .card-hover-effect-subtle-zoom .product-card:hover .card-gallery,
  .card-hover-effect-subtle-zoom .collection-card:hover .collection-card__image,
  .card-hover-effect-subtle-zoom .product-card:hover .product-card__image,
  .card-hover-effect-subtle-zoom .predictive-search-results__card:hover {
    transform: scale(var(--hover-subtle-zoom-amount));
  }
}

dialog {
  /* the ::backdrop inherits from the originating element, custom properties must be set on the dialog element */
  --backdrop-color-rgb: var(--color-shadow-rgb);

  background-color: var(--color-background);
  color: var(--color-foreground);
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

.wrap-text {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

p:empty {
  display: none;
}

:first-child:is(p, h1, h2, h3, h4, h5, h6),
:first-child:empty + :where(p, h1, h2, h3, h4, h5, h6) {
  margin-block-start: 0;
}

/* Remove bottom margin from last text item, or previous to last if the last is empty */
:last-child:is(p, h1, h2, h3, h4, h5, h6),
:where(p, h1, h2, h3, h4, h5, h6):nth-child(2):has(+ :last-child:empty) {
  margin-block-end: 0;
}

/* view transitions */

/*
 * The cross-document (MPA) opt-in `@view-transition { navigation: auto }` is declared per-layout
 * (layout/theme.liquid and layout/password.liquid), because this stylesheet is shared by both layouts
 * and a static stylesheet can't read theme settings.
 * It is gated on the same `settings.page_transition_enabled or settings.transition_to_main_product` condition as the
 * render blocker, so the opt-in and its opt-out switch can never disagree. The rules below only
 * take effect once an `@view-transition` opt-in is active, so they are inert without it.
 */
@media (prefers-reduced-motion: no-preference) {
  /* Keep page interactive while view transitions are running */
  :root {
    view-transition-name: none;
  }

  /* Have the root transition during page navigation */
  html:active-view-transition-type(page-navigation),
  html:active-view-transition-type(product-image-transition) {
    view-transition-name: root-custom;
  }

  ::view-transition {
    pointer-events: none;
  }

  html:active-view-transition-type(page-navigation) main[data-page-transition-enabled='true'] {
    view-transition-name: main-content;
  }

  html:active-view-transition-type(page-navigation) main[data-product-transition='true'][data-template*='product'] {
    view-transition-name: none;
  }

  ::view-transition-old(main-content) {
    animation: var(--view-transition-old-main-content);
  }

  ::view-transition-new(main-content) {
    animation: var(--view-transition-new-main-content);
  }

  html:active-view-transition-type(product-image-transition) {
    [data-view-transition-type='product-image-transition'] {
      view-transition-name: product-image-transition;
    }

    [data-view-transition-type='product-details'] {
      view-transition-name: product-details;
    }
  }

  ::view-transition-group(product-image-transition) {
    z-index: 1;
  }

  ::view-transition-group(product-image-transition),
  ::view-transition-group(product-details) {
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--animation-easing);
  }

  ::view-transition-old(product-image-transition),
  ::view-transition-new(product-image-transition) {
    block-size: 100%;
    overflow: hidden;
    object-fit: cover;
    animation-duration: 0.25s;
    animation-timing-function: var(--animation-easing);
  }

  ::view-transition-new(product-details) {
    animation: var(--view-transition-new-main-content);
  }
}

/* Focus */
*:focus-visible {
  outline: var(--focus-outline-width) solid currentcolor;
  outline-offset: var(--focus-outline-offset);
}

@supports not selector(:focus-visible) {
  *:focus {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }
}

.focus-inset {
  outline-offset: calc(var(--focus-outline-width) * -1);
}

/* Layout */
.content-for-layout {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.content-for-layout > .shopify-section:last-child {
  flex-grow: 1;
}

/* Set up page wis & margins */
.page-width-wide,
.page-width-normal,
.page-width-narrow,
.page-width-content {
  --page-margin: 16px;
}

@media screen and (min-width: 750px) {
  .page-width-wide,
  .page-width-normal,
  .page-width-narrow,
  .page-width-content {
    --page-margin: 40px;
  }
}

.page-width-wide {
  /* NOTE: This results in a page width of 2400px because of how we set up margins with grid */
  --page-content-width: var(--wide-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

.page-width-normal {
  --page-content-width: var(--normal-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

.page-width-narrow,
.page-width-content {
  /* NOTE: This results in a page width of 1400px because of how we set up margins with grid */
  --page-content-width: var(--narrow-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

.page-width-content {
  --page-content-width: var(--normal-content-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

/* Section width full vs. page
   The reason we use a grid to contain the section is to allow for the section to have a
   full-width background image even if the section content is constrained by the page width. Do not try
   to rewrite this to max-width: --page-width; margin: 0 auto;, it doesn't work. */
.section {
  --full-page-grid-central-column-width: min(
    var(--page-width) - var(--page-margin) * 2,
    calc(100% - var(--page-margin) * 2)
  );
  --full-page-grid-margin: minmax(var(--page-margin), 1fr);
  --full-page-grid-with-margins: var(--full-page-grid-margin) var(--full-page-grid-central-column-width)
    var(--full-page-grid-margin);

  /* Utility variable gives the grid's first column width. Provides an offset width for components like carousels */
  --util-page-margin-offset: max(
    var(--page-margin),
    calc((100% - min(var(--page-content-width), 100% - var(--page-margin) * 2)) / 2)
  );

  /* Offset for full-width sections to account for the page margin,
  used for Marquee — note that --util-page-margin-offset doesn't work here */
  --full-page-margin-inline-offset: calc(((100vw - var(--full-page-grid-central-column-width)) / 2) * -1);

  width: 100%;

  /* This is required to make background images work, which are <img> rendered absolutely */
  position: relative;

  /* Set up the grid */
  display: grid;
  grid-template-columns: var(--full-page-grid-with-margins);
  min-height: var(--section-min-height, 'auto');
}

/* Place all direct children in the center column by default */
.section > * {
  grid-column: 2;
}

/* Make the actual section background transparent, and instead apply it to a separate sibling element to enable stacking with hero shadow  */
.shopify-section:not(.header-section) :is(.section, .cart-summary) {
  background: transparent;
}

.shopify-section:not(.header-section):has(.section) {
  position: relative;
}

.shopify-section:not(.header-section) .section-background {
  content: '';
  position: absolute;
  inset: 0;
  z-index: var(--layer-section-background);
  background-color: var(--color-background);
}

/* For page-width sections, all content goes in the center column */
.section--page-width > * {
  grid-column: 2;
}

/* For full-width sections, content spans all columns */
.section--full-width > * {
  grid-column: 1 / -1;
}

@media screen and (max-width: 749px) {
  .section--mobile-full-width > * {
    grid-column: 1 / -1;
  }
}

/* Some page-width sections should still extend all the way to the right edge of the page, e.g. collection carousel */
.section--page-width.section--full-width-right > * {
  grid-column: 2 / 4;
}

/* For full-width sections with margin, content still spans full width but with space on the sides */
.section--full-width.section--full-width-margin > * {
  grid-column: 1 / -1;

  @media screen and (min-width: 750px) {
    padding-left: var(--page-margin);
    padding-right: var(--page-margin);
  }
}

/* Some section content break out to full width of the page */
.section > .force-full-width {
  grid-column: 1 / -1;
}

.section--height-small {
  --section-min-height: var(--section-height-small);
}

.section--height-medium {
  --section-min-height: var(--section-height-medium);
}

.section--height-large {
  --section-min-height: var(--section-height-large);
}

.section--height-full-screen {
  --section-min-height: 100svh;
}

.section-content-wrapper.section-content-wrapper {
  min-height: calc(var(--section-min-height, 'auto') - var(--section-height-offset, 0px));
  position: relative;
  width: 100%;
  height: 100%;
}

/* Utility */

.hidden {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

@media screen and (max-width: 749px) {
  .hidden--mobile,
  .mobile\:hidden {
    /* stylelint-disable-next-line declaration-no-important */
    display: none !important;
  }
}

@media screen and (min-width: 750px) {
  .hidden--desktop,
  .desktop\:hidden {
    /* stylelint-disable-next-line declaration-no-important */
    display: none !important;
  }
}

.hide-when-empty:empty {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

.visually-hidden:not(:focus, :active) {
  /* stylelint-disable-next-line declaration-no-important */
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  /* stylelint-disable-next-line declaration-no-important */
  word-wrap: normal !important;
}

.contents {
  display: contents;
}

.flex {
  display: flex;
  gap: var(--gap-md);
}

.grid {
  --centered-column-number: 12;
  --full-width-column-number: 14;
  --centered: column-1 / span var(--centered-column-number);
  --full-width: column-0 / span var(--full-width-column-number);

  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 750px) {
  .grid {
    display: grid;
    gap: 0;
    grid-template-columns: var(--margin-4xl) repeat(var(--centered-column-number), minmax(0, 1fr)) var(--margin-4xl);
    grid-template-areas: 'column-0 column-1 column-2 column-3 column-4 column-5 column-6 column-7 column-8 column-9 column-10 column-11 column-12 column-13';
  }
}

@media screen and (min-width: 1400px) {
  .grid {
    grid-template-columns:
      1fr repeat(
        var(--centered-column-number),
        minmax(0, calc((var(--page-width) - var(--page-margin) * 2) / var(--centered-column-number)))
      )
      1fr;
  }
}

.flex {
  display: flex;
  gap: var(--gap-md);
}

.flip-x {
  scale: -1 1;
}

.flip-y {
  scale: 1 -1;
}

.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

.text-left {
  --text-align: left;

  text-align: left;
}

.text-center {
  --text-align: center;

  text-align: center;
}

.text-right {
  --text-align: right;

  text-align: right;
}

.text-inherit {
  color: inherit;
}

.user-select-text {
  user-select: text;
}

.justify-left {
  justify-content: left;
}

.justify-center {
  justify-content: center;
}

.justify-right {
  justify-content: right;
}

.title--aligned-center {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.background-image-container {
  overflow: hidden;
  position: absolute;
  inset: 0;
  opacity: var(--image-opacity);
}

.background-image-container img,
.background-image-container svg {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.background-image-fit img,
.background-image-fit svg {
  object-fit: contain;
}

.svg-wrapper {
  color: currentcolor;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  pointer-events: none;
}

.svg-wrapper--smaller {
  width: var(--icon-size-2xs);
  height: var(--icon-size-2xs);
}

.svg-wrapper--small {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}

.svg-wrapper > svg {
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
}

.relative {
  position: relative;
}

/* Icons */
.icon-success,
.icon-error {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  flex-shrink: 0;
}

.icon-success {
  color: var(--color-success);
}

.icon-error {
  fill: var(--color-error);
}

.icon-default {
  fill: currentColor;
}

[data-placeholder='true'] * {
  cursor: default;
}

/* Base text and heading styles */
body,
.paragraph:not(.button),
.paragraph > *,
.text-block.paragraph :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-weight: var(--font-paragraph--weight);
  font-size: var(--font-paragraph--size);
  line-height: var(--font-paragraph--line-height);
  text-transform: var(--font-paragraph--case);
  -webkit-font-smoothing: antialiased;
  color: var(--color, var(--color-foreground));
}

/* Ensure inputs with type presets maintain minimum 16px on mobile to prevent iOS zoom */
@media screen and (max-width: 1200px) {
  input.paragraph.paragraph,
  input.paragraph.paragraph:not([type]),
  textarea.paragraph.paragraph,
  select.paragraph.paragraph {
    font-size: max(1rem, var(--font-paragraph--size));
  }
}

.paragraph > small {
  font-size: smaller;
}

/* Typography presets */

h1,
.h1.h1,
.text-block.h1 > *,
.text-block.h1 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h1--family);
  font-style: var(--font-h1--style);
  font-weight: var(--font-h1--weight);
  font-size: var(--font-h1--size);
  line-height: var(--font-h1--line-height);
  letter-spacing: var(--font-h1--letter-spacing);
  text-transform: var(--font-h1--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h1.h1,
  textarea.h1.h1,
  select.h1.h1 {
    font-size: max(1rem, var(--font-h1--size));
  }
}

h2,
.h2.h2,
.text-block.h2 > *,
.text-block.h2 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h2--family);
  font-style: var(--font-h2--style);
  font-weight: var(--font-h2--weight);
  font-size: var(--font-h2--size);
  line-height: var(--font-h2--line-height);
  letter-spacing: var(--font-h2--letter-spacing);
  text-transform: var(--font-h2--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h2.h2,
  textarea.h2.h2,
  select.h2.h2 {
    font-size: max(1rem, var(--font-h2--size));
  }
}

h3,
.h3,
.h3.h3,
.text-block.h3 > *,
.text-block.h3 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h3--family);
  font-style: var(--font-h3--style);
  font-weight: var(--font-h3--weight);
  font-size: var(--font-h3--size);
  line-height: var(--font-h3--line-height);
  letter-spacing: var(--font-h3--letter-spacing);
  text-transform: var(--font-h3--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h3,
  textarea.h3,
  select.h3 {
    font-size: max(1rem, var(--font-h3--size));
  }
}

h4,
.h4.h4,
.text-block.h4 > *,
.text-block.h4 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h4--family);
  font-style: var(--font-h4--style);
  font-weight: var(--font-h4--weight);
  font-size: var(--font-h4--size);
  line-height: var(--font-h4--line-height);
  letter-spacing: var(--font-h4--letter-spacing);
  text-transform: var(--font-h4--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h4.h4,
  textarea.h4.h4,
  select.h4.h4 {
    font-size: max(1rem, var(--font-h4--size));
  }
}

h5,
.h5.h5,
.text-block.h5 > *,
.text-block.h5 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h5--family);
  font-style: var(--font-h5--style);
  font-weight: var(--font-h5--weight);
  font-size: var(--font-h5--size);
  line-height: var(--font-h5--line-height);
  letter-spacing: var(--font-h5--letter-spacing);
  text-transform: var(--font-h5--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h5.h5,
  textarea.h5.h5,
  select.h5.h5 {
    font-size: max(1rem, var(--font-h5--size));
  }
}

h6,
.h6.h6,
.text-block.h6 > *,
.text-block.h6 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h6--family);
  font-style: var(--font-h6--style);
  font-weight: var(--font-h6--weight);
  font-size: var(--font-h6--size);
  line-height: var(--font-h6--line-height);
  letter-spacing: var(--font-h6--letter-spacing);
  text-transform: var(--font-h6--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h6.h6,
  textarea.h6.h6,
  select.h6.h6 {
    font-size: max(1rem, var(--font-h6--size));
  }
}

:first-child:is(.h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-start: 0;
}

:last-child:is(.h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-end: 0;
}

/* Links */
a {
  color: currentcolor;
  text-decoration-color: transparent;
  text-decoration-thickness: 0.075em;
  text-underline-offset: 0.125em;
  transition: text-decoration-color var(--animation-speed) var(--animation-easing),
    color var(--animation-speed) var(--animation-easing);
}

:is(h1, h2, h3, h4, h5, h6, p) > a:hover {
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / 0.7);
}

/* Add underline to text using our paragraph styles only. */
p:not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-secondary)),
.rte :is(p, ul, ol, table):not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-secondary)) {
  text-decoration-color: currentcolor;

  &:hover {
    text-decoration-color: currentcolor;
    color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / 0.7);
  }
}

.container-background-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

details[open] .summary-closed {
  display: none;
}

details:not([open]) .summary-open {
  display: none;
}

details[open] > summary .icon-animated > svg {
  transform: rotate(180deg);
}

/* iOS fix: hide the default arrow on the summary */
summary::-webkit-details-marker {
  display: none;
}

/* When header is transparent, pull the first main content section up to sit under the floating header */
body:has(.header[transparent]) .content-for-layout > .shopify-section:first-child {
  margin-top: calc(var(--header-group-height) * -1);
}

body:has(.header[transparent]) #header-group > .header-section {
  z-index: var(--layer-menu-drawer);
}

/* All other header group content should be beneath the floating header,
but above the rest of the page content */
body:has(.header[transparent]) #header-group > *:not(.header-section) {
  z-index: calc(var(--layer-menu-drawer) - 1);
}

.text-block {
  width: 100%;
}

.text-block > *:first-child,
.text-block > *:first-child:empty + * {
  margin-block-start: 0;
}

.text-block > *:last-child,
.text-block > *:has(+ *:last-child:empty) {
  margin-block-end: 0;
}

/* This is to deal with the margin applied to the p when custom styles are enabled. The p isn't the first child anymore due to the style tag */
.text-block > style + * {
  margin-block-start: 0;
}

/* Dialog */
.dialog-modal {
  border: none;
  box-shadow: var(--shadow-popover);

  @media screen and (min-width: 750px) {
    border-radius: var(--style-border-radius-popover);
    max-width: var(--normal-content-width);
  }

  @media screen and (max-width: 749px) {
    max-width: 100%;
    max-height: 100%;
    height: 100dvh;
    width: 100dvw;
    padding: var(--padding-md);
  }
}

.dialog-modal::backdrop {
  transition: backdrop-filter var(--animation-speed) var(--animation-easing);
  backdrop-filter: brightness(1);
  background: rgb(var(--backdrop-color-rgb) / var(--backdrop-opacity));
}

.dialog-modal[open] {
  animation: elementSlideInTop var(--animation-speed) var(--animation-easing) forwards;

  &::backdrop {
    animation: backdropFilter var(--animation-speed) var(--animation-easing) forwards;
    transition: opacity var(--animation-speed) var(--animation-easing);
  }
}

.dialog-modal.dialog-closing {
  animation: elementSlideOutTop var(--animation-speed) var(--animation-easing) forwards;

  &::backdrop {
    opacity: 0;
  }
}

/* stylelint-disable value-keyword-case */
.dialog-drawer {
  --dialog-drawer-opening-animation: move-and-fade;
  --dialog-drawer-closing-animation: move-and-fade;
}

.dialog-drawer--right {
  --dialog-drawer-opening-animation: move-and-fade;
  --dialog-drawer-closing-animation: move-and-fade;
}
/* stylelint-enable value-keyword-case */

.dialog-drawer[open] {
  --start-x: var(--custom-transform-from, 100%);
  --end-x: var(--custom-transform-to, 0px);
  --start-opacity: 1;

  animation: var(--dialog-drawer-opening-animation) var(--animation-speed) var(--animation-easing) forwards;
}

.dialog-drawer[open].dialog-closing {
  --start-x: 0px;
  --end-x: 100%;
  --start-opacity: 1;
  --end-opacity: 1;

  animation: var(--dialog-drawer-closing-animation) var(--animation-speed) var(--animation-easing);
}

.dialog-drawer--right[open] {
  --start-x: -100%;
  --start-opacity: 1;
}

.dialog-drawer--right[open].dialog-closing {
  --start-x: 0px;
  --end-x: -100%;
  --start-opacity: 1;
  --end-opacity: 1;

  animation: var(--dialog-drawer-closing-animation) var(--animation-speed) var(--animation-easing);
}

/* Buttons */
.button,
.button-secondary,
.button-custom,
button.shopify-payment-button__button--unbranded {
  --text-align: center;

  display: grid;
  align-content: center;
  text-decoration: none;
  text-align: var(--text-align);
  color: var(--button-color);
  appearance: none;
  background-color: var(--button-background-color);
  border: none;
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-weight: var(--font-paragraph--weight);
  font-size: var(--font-paragraph--size);
  line-height: var(--font-paragraph--line-height);
  margin-block: 0;
  transition: color var(--animation-speed) var(--animation-easing),
    box-shadow var(--animation-speed) var(--animation-easing),
    background-color var(--animation-speed) var(--animation-easing);
  cursor: pointer;
  width: fit-content;
  box-shadow: inset 0 0 0 var(--button-border-width) var(--button-border-color);
  padding-block: var(--button-padding-block);
  padding-inline: var(--button-padding-inline);
}

.button {
  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
  border-radius: var(--style-border-radius-buttons-primary);
}

.button:not(.button-secondary, .button-unstyled) {
  outline-color: var(--button-focus-outline-color, var(--button-background-color));
}

.button-secondary {
  font-family: var(--button-font-family-secondary);
  text-transform: var(--button-text-case-secondary);
  border-radius: var(--style-border-radius-buttons-secondary);
}

button.shopify-payment-button__button--unbranded {
  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
}

textarea,
input:not([type='checkbox'], [type='radio']) {
  background-color: var(--color-input-background);
  border-color: var(--color-input-border);
}

textarea::placeholder,
input::placeholder {
  color: rgb(var(--color-input-text-rgb) / var(--opacity-muted-text));
}

textarea:not(:placeholder-shown)::placeholder,
input:not(:placeholder-shown)::placeholder {
  opacity: 0;
}

/* The declaration above is messing with buttons that have an attribute of hidden as it overwrites the display value */
.button[hidden] {
  display: none;
}

.button[aria-disabled='true'],
.button-secondary[aria-disabled='true'],
.button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.button,
button.shopify-payment-button__button--unbranded {
  --button-color: var(--color-primary-button-text);
  --button-background-color: var(--color-primary-button-background);
  --button-border-color: var(--color-primary-button-border);
  --button-border-width: var(--style-border-width-primary);
  --button-focus-outline-color: var(--color-primary-button-focus-outline);
}

.button:hover,
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  --button-color: var(--color-primary-button-hover-text);
  --button-background-color: var(--color-primary-button-hover-background);
  --button-border-color: var(--color-primary-button-hover-border);
}

.button-secondary {
  --button-color: var(--color-secondary-button-text);
  --button-background-color: var(--color-secondary-button-background);
  --button-border-color: var(--color-secondary-button-border);
  --button-border-width: var(--style-border-width-secondary);
}

.button-secondary:hover {
  --button-color: var(--color-secondary-button-hover-text);
  --button-background-color: var(--color-secondary-button-hover-background);
  --button-border-color: var(--color-secondary-button-hover-border);
}

.button-custom {
  --button-color: var(--color-primary-button-text);
  --button-background-color: var(--color-primary-button-background);
  --button-border-color: var(--color-primary-button-border);
  --button-border-width: var(--style-border-width-secondary);
  --button-focus-outline-color: var(--color-primary-button-focus-outline);

  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
  border-radius: var(--style-border-radius-buttons-primary);
  outline-color: var(--button-focus-outline-color, var(--button-background-color));
}

.button-custom:hover {
  --button-color: var(--color-primary-button-hover-text);
  --button-background-color: var(--color-primary-button-hover-background);
  --button-border-color: var(--color-primary-button-hover-border);
}

/* Needed to override the default Shopify styles */
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: var(--button-background-color);
}

.button-unstyled {
  display: block;
  padding: 0;
  background-color: inherit;
  color: var(--color-foreground);
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-size: var(--font-paragraph--size);
}

.button-unstyled:hover {
  background-color: inherit;
}

/* Default hover dim for link-style buttons, scoped via :where() so component-specific
   hover rules (.facets__clear-all-link, .header-actions__action, etc.) still win. */
:where(.button-unstyled):hover {
  --hover-color-rgb: var(--color-foreground-rgb);

  color: rgb(var(--hover-color-rgb) / var(--opacity-70));
}

.button-unstyled--with-icon {
  color: var(--color-foreground);
  display: flex;
  gap: var(--gap-2xs);
  align-items: center;
}

.button-unstyled--transparent {
  background-color: transparent;
  box-shadow: none;
}

/* Collapsible row */

.icon-caret svg {
  transition: transform var(--animation-speed) var(--animation-easing);
}

.icon-caret--forward svg {
  transform: rotate(-90deg);
}

.icon-caret--backward svg {
  transform: rotate(90deg);
}

summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  padding-block: var(--padding-sm);
}

summary:hover {
  color: rgb(var(--color-foreground-rgb) / var(--opacity-80));
}

summary .svg-wrapper {
  margin-inline-start: auto;
  height: var(--icon-size-xs);
  width: var(--icon-size-xs);
  transition: transform var(--animation-speed) var(--animation-easing);
}

/* Shared plus/minus icon animations */
summary .icon-plus :is(.horizontal, .vertical) {
  transition: transform var(--animation-speed) var(--animation-easing);
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  opacity: 1;
}

details[open] > summary .icon-plus .horizontal {
  transform: rotate(90deg);
}

details[open] > summary .icon-plus .vertical {
  transform: rotate(90deg);
  opacity: 0;
}

/* Animate the UI elements in only after the view transition is complete */
.close-button {
  position: fixed;
  top: var(--margin-lg);
  right: var(--margin-lg);
  width: var(--minimum-touch-target);
  height: var(--minimum-touch-target);
  z-index: var(--layer-flat);
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;

  /* For the outline radius */
  border-radius: 50%;
}

/* This triggers iOS < 16.4. The outline bug is not recognized as a lack of @supports */

@supports not (background-color: rgb(from red 150 g b / alpha)) {
  /**
    There is a bug in safari < 16.4 that causes the outline to not follow the elements border radius. This is a workaround.
    Using element selector to increase specificity.
  **/

  .close-button:focus-visible {
    outline: none;
    overflow: visible;
  }

  .close-button:focus-visible::after {
    content: '';
    position: absolute;
    inset: calc(-1 * var(--focus-outline-offset));
    border: var(--focus-outline-width) solid currentColor;
    border-radius: 50%;
    display: inherit;
  }
}

.dialog--closed .close-button {
  animation: elementSlideOutBottom calc(var(--animation-speed) * 0.5) var(--animation-easing) forwards;
}

.close-button:hover {
  background-color: transparent;
  opacity: 0.8;
}

.close-button svg {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}

/* Product media */
.product-media {
  display: flex;
  flex: 1;
}

.sticky-content {
  position: sticky;
  top: var(--sticky-header-offset, 0);
  z-index: var(--layer-flat);
}

@media screen and (min-width: 750px) {
  .sticky-content--desktop,
  .sticky-content--desktop.full-height--desktop > .group-block {
    position: sticky;
    top: var(--sticky-header-offset, 0);
    z-index: var(--layer-flat);
  }
}

.price,
.compare-at-price,
.unit-price {
  white-space: nowrap;
}

.unit-price {
  display: block;
  font-size: min(0.85em, var(--font-paragraph--size));
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
}

.tax-note.tax-note.tax-note {
  font-size: min(0.85em, var(--font-paragraph--size));
  font-weight: var(--font-paragraph--weight);
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
}

.tax-note:empty {
  display: none;
}

product-price.text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) > *:not(.tax-note) {
  margin-block: 0;
}

/* Volume pricing note should match unit-price styling (small, grey text) */
product-price .volume-pricing-note,
product-price.text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) .volume-pricing-note {
  display: block;
  font-family: var(--font-body--family);
  font-weight: normal;
  font-size: var(--font-size--xs);
  line-height: normal;
  letter-spacing: normal;
  text-transform: none;
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
}

.compare-at-price {
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
  text-decoration-line: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-30));
}

.price-item__group {
  display: inline-block;
}

/* Spacing style */
.spacing-style {
  --spacing-scale: var(--spacing-scale-md);

  @media screen and (min-width: 990px) {
    --spacing-scale: var(--spacing-scale-default);
  }

  /* Must disable this, when you use these with calc and another unit type, things break — see logo.liquid */
  /* stylelint-disable length-zero-no-unit */
  --padding-block: 0px;
  --padding-block-start: var(--padding-block, 0px);
  --padding-block-end: var(--padding-block, 0px);
  --padding-inline: 0px;
  --padding-inline-start: var(--padding-inline, 0px);
  --padding-inline-end: var(--padding-inline, 0px);
  --margin-block: 0px;
  --margin-block-start: var(--margin-block, 0px);
  --margin-block-end: var(--margin-block, 0px);
  --margin-inline: 0px;
  --margin-inline-start: var(--margin-inline, 0px);
  --margin-inline-end: var(--margin-inline, 0px);
}

.spacing-style,
.inherit-spacing {
  padding-block: calc(var(--padding-block-start) + var(--section-top-offset, 0px)) var(--padding-block-end);
  padding-inline: var(--padding-inline-start) var(--padding-inline-end);
  margin-block: var(--margin-block-start) var(--margin-block-end);
  margin-inline: var(--margin-inline-start) var(--margin-inline-end);
}

/* Size style */
.size-style {
  width: var(--size-style-width-mobile, var(--size-style-width));
  height: var(--size-style-height-mobile, var(--size-style-height));

  @media screen and (min-width: 750px) {
    width: var(--size-style-width);
    height: var(--size-style-height);
  }
}

/* Custom Typography style */
.custom-typography,
.custom-typography > * {
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  text-transform: var(--text-transform);
  text-wrap: var(--text-wrap);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
}

.custom-typography {
  h1 {
    line-height: var(--line-height--display, var(--line-height));
  }

  h2,
  h3,
  h4 {
    line-height: var(--line-height--heading, var(--line-height));
  }

  p {
    line-height: var(--line-height--body, var(--line-height));
  }
}

.custom-font-size,
.custom-font-size > * {
  font-size: var(--font-size);
}

.custom-font-weight,
.custom-font-weight > * {
  font-weight: var(--font-weight);
}

/* Border override style */
.border-style {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
}

/* Gap scaling style */
.gap-style,
.layout-panel-flex {
  --gap-scale: var(--spacing-scale-md);

  @media screen and (min-width: 990px) {
    --gap-scale: var(--spacing-scale-default);
  }
}

.layout-panel-flex {
  display: flex;
  gap: var(--gap);
  height: 100%;
}

.shopify-block:has(> [shopify-block-empty]) {
  display: none;
}

.layout-panel-flex--row {
  flex-flow: row var(--flex-wrap);
  justify-content: var(--horizontal-alignment);
  align-items: var(--vertical-alignment);
}

.layout-panel-flex--column {
  flex-flow: column var(--flex-wrap);
  align-items: var(--horizontal-alignment);
  justify-content: var(--vertical-alignment);
}

@media screen and (max-width: 749px) {
  .mobile-column {
    flex-flow: column nowrap;
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment-mobile);
  }

  .layout-panel-flex--row:not(.mobile-column) {
    flex-wrap: var(--flex-wrap-mobile);
    height: auto;

    > .menu {
      flex: 1 1 min-content;
    }

    > .text-block {
      flex: 1 1 var(--max-width--display-tight);
    }

    > .image-block {
      flex: 1 1 var(--size-style-width-mobile-min);
    }

    > .button {
      flex: 0 0 fit-content;
    }

    > .group-block--height-fill {
      height: calc(var(--section-min-height, auto) - var(--section-height-offset, 0px));
    }
  }
}

@media screen and (min-width: 750px) {
  .layout-panel-flex {
    flex-direction: var(--flex-direction);
  }
}

/* Form fields */
.field {
  position: relative;
  width: 100%;
  display: flex;
  transition: box-shadow var(--animation-speed) ease;
}

.field__input {
  flex-grow: 1;
  text-align: left;
  border-radius: var(--style-border-radius-inputs);
  transition: box-shadow var(--animation-speed) ease, background-color var(--animation-speed) ease;
  padding: var(--input-padding);
  box-shadow: var(--input-box-shadow);
  background-color: var(--color-input-background);
  color: var(--color-input-text);
  border: none;
  outline: none;
  font-size: var(--font-paragraph--size);

  &:autofill {
    background-color: var(--color-input-background);
    color: var(--color-input-text);
  }
}

.field__input:focus {
  box-shadow: var(--input-box-shadow-focus);
}

.field__input--button-radius {
  border-radius: var(--style-border-radius-buttons-primary);
}

.field__input--button-padding {
  padding-inline: var(--padding-3xl);
}

.field__label {
  color: rgb(var(--color-input-text-rgb) / var(--opacity-80));
  font-size: var(--font-paragraph--size);
  left: var(--input-padding-x);
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--animation-speed) ease, font-size var(--animation-speed) ease;
}

/* RTE styles */
.rte,
.shopify-policy__title {
  :is(h1, h2, h3, h4, h5, h6) {
    margin-block: clamp(1.5rem, 1em * 3.3, 2.5rem) var(--font-heading--spacing);
  }

  :first-child:is(p, h1, h2, h3, h4, h5, h6),
  :first-child:empty + :is(p, h1, h2, h3, h4, h5, h6) {
    margin-block-start: 0;
  }

  ul,
  ol {
    margin-block-start: 0;
    padding-inline-start: 1.5em;
  }

  /* Only apply margin-block-end to the higher level list, not nested lists */
  :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
    margin-block-end: 1em;
  }

  blockquote {
    margin-inline: 1.5em 2.3em;
    margin-block: 3.8em;
    padding-inline-start: 0.8em;
    border-inline-start: 1.5px solid rgb(var(--color-foreground-rgb) / var(--opacity-25));
    font-style: italic;
    font-weight: 500;
  }

  .rte-table-wrapper {
    overflow-x: auto;
  }

  table {
    /* stylelint-disable-next-line declaration-no-important */
    width: 100% !important;
    border-collapse: collapse;
  }

  tr:not(:has(td)),
  thead {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    font-weight: bold;
    text-transform: uppercase;
  }

  tr:has(td) {
    border-bottom: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-10));
  }

  th,
  td {
    text-align: start;
    padding-inline: var(--padding-md);
    padding-block: var(--padding-sm);
  }
}

.shopify-policy__container {
  padding-block: var(--padding-xl);
}

/* Radio buttons and checkboxes - shared base styles */
:where(input[type='radio']),
:where(input[type='checkbox']) {
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  aspect-ratio: 1;
  margin: 0;
  margin-inline-end: var(--padding-3xs);
  padding: 0;
  border: var(--checkbox-border);
  appearance: none;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}

/* Radio buttons */
input[type='radio'] {
  border-radius: var(--style-border-radius-50);
  background: transparent;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

:where(input[type='radio']):checked {
  border-color: var(--color-foreground);
  background: var(--color-background);
}

:where(input[type='radio']):checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--checkbox-size) / 2);
  height: calc(var(--checkbox-size) / 2);
  background: var(--color-foreground);
  border-radius: var(--style-border-radius-50);
  transition: background 0.2s ease;
}

:where(input[type='radio']):disabled {
  border-color: var(--input-disabled-border-color);
  background-color: var(--input-disabled-background-color);
  cursor: not-allowed;
}

:where(input[type='radio']):disabled:checked::after {
  background: var(--input-disabled-background-color);
}

:where(input[type='radio']):not(:disabled):hover {
  border-color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
}

:where(input[type='radio']):not(:disabled):hover:checked {
  border-color: var(--color-foreground);
  background-color: var(--color-background);
}

:where(input[type='radio']):not(:disabled):hover:checked::after {
  background: rgb(var(--color-foreground-rgb) / var(--opacity-85));
}

/* Checkboxes */
:where(input[type='checkbox']) {
  border-radius: var(--checkbox-border-radius);
  background-color: var(--color-background);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

:where(input[type='checkbox']):checked {
  background-color: var(--color-foreground);
  border-color: var(--color-foreground);
}

:where(input[type='checkbox']):checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  background-color: var(--color-background);
  mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

:where(input[type='checkbox']):not(:disabled):hover {
  border-color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
}

:where(input[type='checkbox']):not(:disabled):hover:checked {
  border-color: var(--color-foreground);
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-85));
}

:where(input[type='checkbox']):disabled {
  background-color: var(--input-disabled-background-color);
  border-color: var(--input-disabled-border-color);
  cursor: not-allowed;
}

:where(input[type='checkbox']):disabled:checked::after {
  background-color: var(--input-disabled-text-color);
}

/* Shared styles for radio buttons and checkboxes */
:where(input[type='radio']) + label,
:where(input[type='checkbox']) + label {
  display: inline;
  vertical-align: middle;
  cursor: pointer;
}

:where(input[type='radio']):disabled + label,
:where(input[type='checkbox']):disabled + label {
  color: var(--input-disabled-text-color);
  cursor: not-allowed;
}

/* Flexbox for labels wrapping radio buttons or checkboxes */
label:has(input[type='radio']),
label:has(input[type='checkbox']) {
  display: inline-flex;
  align-items: center;
  gap: var(--padding-2xs);
  cursor: pointer;
}

label:has(input[type='radio']:disabled),
label:has(input[type='checkbox']:disabled) {
  cursor: not-allowed;
}

/* ------------------------------------------------------------------------------ */

/* ------------------------------------------------------------------------------ */

/* Animation declarations - to be kept at the bottom of the file for ease of find */
@keyframes grow {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes move-and-fade {
  from {
    transform: translate(var(--start-x, 0), var(--start-y, 0));
    opacity: var(--start-opacity, 0);
  }

  to {
    transform: translate(var(--end-x, 0), var(--end-y, 0));
    opacity: var(--end-opacity, 1);
  }
}

@keyframes slideInTopViewTransition {
  from {
    transform: translateY(100px);
  }
}

@keyframes elementSlideInTop {
  from {
    margin-top: var(--padding-sm);
    opacity: 0;
  }

  to {
    margin-top: 0;
    opacity: 1;
  }
}

@keyframes elementSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }
}

@keyframes elementSlideInBottom {
  from {
    transform: translateY(calc(-1 * var(--padding-sm)));
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes elementSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(calc(-1 * var(--padding-sm)));
    opacity: 0;
  }
}

@keyframes thumbnailsSlideInTop {
  from {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0;
  }

  to {
    transform: translateY(-50%);
    opacity: 1;
  }
}

@keyframes thumbnailsSlideOutTop {
  from {
    transform: translateY(-50%);
    opacity: 1;
  }

  to {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0;
  }
}

@keyframes thumbnailsSlideInBottom {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes thumbnailsSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(100%);
    opacity: 0;
  }
}

@keyframes search-element-slide-in-bottom {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes search-element-slide-out-bottom {
  0% {
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    transform: translateY(20px);
    opacity: 0;
  }
}

@keyframes dialogZoom {
  from {
    opacity: 1;
    transform: scale(1) translateY(0);
  }

  to {
    opacity: 0;
    transform: scale(0.95) translateY(1em);
  }
}

@keyframes thumbnail-selected {
  0%,
  100% {
    box-shadow: 0 0 0 2px transparent;
    scale: 0.9;
  }

  50% {
    box-shadow: 0 0 0 2px #000;
    scale: 1;
  }
}

@keyframes backdropFilter {
  from {
    backdrop-filter: brightness(1);
  }

  to {
    backdrop-filter: brightness(0.75);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes modalSlideInTop {
  from {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes modalSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }
}

/* Slideshow Arrow Hover Animation - must stay in base.css for proper CSS cascade */

:not(.media-gallery--carousel)
  > :is(slideshow-component:hover, slideshow-component:focus-within):not(:has(slideshow-controls:hover))
  > slideshow-container
  > slideshow-arrows
  .slideshow-control {
  animation: arrowsSlideIn var(--animation-speed) var(--animation-easing) forwards;
}

@keyframes arrowsSlideIn {
  from {
    transform: translate(var(--padding-sm), 0);
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.section-resource-list,
.section-carousel {
  row-gap: var(--gap);
}

.section-resource-list__content {
  display: flex;
  flex-direction: column;
  align-items: var(--horizontal-alignment);
  gap: var(--gap);
  width: 100%;
}

.section-resource-list__content:empty {
  display: none;
}

.section-resource-list__header:is(:empty, :has(.group-block-content:empty)),
.section-resource-list__content:empty {
  display: none;
}

:where(.section-resource-list.section--full-width) product-card[data-product-transition] > .group-block,
:where(.section-carousel.section--full-width) product-card[data-product-transition] > .group-block {
  @media screen and (max-width: 749px) {
    padding-inline: max(var(--padding-xs), var(--padding-inline-start))
      max(var(--padding-xs), var(--padding-inline-end));
  }
}

/* Base styles */
.group-block,
.group-block-content {
  position: relative;
}

.group-block:has(> video-background-component),
.group-block:has(> .background-image-container) {
  overflow: hidden;
}

.group-block-content {
  height: 100%;
  width: 100%;
}

/* Container styles */
.section-content-wrapper.section-content-wrapper:where(.layout-panel-flex) .group-block--fill {
  flex: 1;
}

/* Flex behavior for width variants */
.layout-panel-flex--row > .group-block--width-fit {
  flex: 0;
}

.layout-panel-flex--row > .group-block--width-fill {
  flex: 1;
}

.layout-panel-flex--row > .group-block--width-custom {
  flex-basis: var(--size-style-width);
}

/* Dimension utilities - Height */
.group-block--height-fit {
  height: auto;
}

.group-block--height-custom,
.group-block--height-fill {
  height: var(--size-style-height);
}

/* Flex behavior for height variants */
.layout-panel-flex--column > .group-block--height-fit {
  flex: 0 1 auto;
}

.layout-panel-flex--column > .group-block--height-fill {
  flex: 1;
}

.layout-panel-flex--column > .group-block--height-custom {
  flex-basis: var(--size-style-height);
}

/* Animation transitions */
.transition-background-color {
  transition: background-color var(--animation-speed-medium) ease-in-out;
}

.transition-transform {
  transition: transform var(--animation-speed-medium) var(--animation-timing-bounce);
}

.transition-border-color {
  transition: border-color var(--animation-speed-medium) var(--animation-timing-hover);
}

/* Global scrollbar styles */

/* Webkit browsers */
::-webkit-scrollbar {
  width: 20px;
}

::-webkit-scrollbar-track {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-40));
  border-radius: 20px;
  border: 6px solid transparent;
  background-clip: content-box;
  transition: background-color 0.2s;
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-60));
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

.product-card:hover,
.collection-card:hover,
.predictive-search-results__card--product:hover,
.predictive-search-results__card:hover {
  position: relative;
  z-index: var(--layer-raised);
  transition: transform var(--hover-transition-duration) var(--hover-transition-timing),
    box-shadow var(--hover-transition-duration) var(--hover-transition-timing);
}

/* Prevent iOS zoom on input focus by ensuring minimum 16px font size on mobile */
@media screen and (max-width: 1200px) {
  input,
  textarea,
  select,
  /* Higher specificity to override type preset classes like .paragraph, .h1, etc. */
  .paragraph.paragraph input,
  .paragraph.paragraph textarea,
  .paragraph.paragraph select,
  .h1.h1 input,
  .h1.h1 textarea,
  .h1.h1 select,
  .h2.h2 input,
  .h2.h2 textarea,
  .h2.h2 select,
  .h3.h3 input,
  .h3.h3 textarea,
  .h3.h3 select,
  .h4.h4 input,
  .h4.h4 textarea,
  .h4.h4 select,
  .h5.h5 input,
  .h5.h5 textarea,
  .h5.h5 select,
  .h6.h6 input,
  .h6.h6 textarea,
  .h6.h6 select {
    font-size: max(1rem, 100%);
  }
}

/* When the header is transparent, and when there is no header-section below it, offset the first main-section with
 * the height of the header
 */
main > .shopify-section:first-child .section:not(.disable-section-top-offset) {
  &.spacing-style,
  .spacing-style {
    --section-top-offset: calc(var(--header-height) * var(--transparent-header-offset-boolean));

    /* Any nested sections should not be offset */
    :is(.spacing-style, .inherit-spacing) {
      --section-top-offset: 0px;
    }
  }

  /* Make sticky content immediately stick to the top of the page */
  .sticky-content {
    margin-top: calc(var(--header-height) * var(--transparent-header-offset-boolean) * -1);
  }
}

.product-card__content{position:relative}
.product-card__ufo{position:absolute;bottom:8px;right:8px;width:45px;height:auto;pointer-events:none;object-fit:contain;opacity:0.85}

/* Trees, Rivers & UFOs: customer-facing page polish */

/* Match legal-policy typography to the Contact/About page system. */
.shopify-policy__title h1 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
}

.shopify-policy__body,
.shopify-policy__body :is(p, li) {
  font-family: Inter, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.shopify-policy__body h2 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
}

.shopify-policy__body h3 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
}

@media screen and (max-width: 749px) {
  .shopify-policy__title h1 {
    font-size: 2.5rem;
  }

  .shopify-policy__body h2 {
    font-size: 1.75rem;
  }
}

/* Homepage: Uncut Fierce Origins plaque */
[id$="__product_list_themegen"] .section-resource-list__header .text-block {
  width: fit-content !important;
  max-width: calc(100% - 4px);
  margin-right: 4px;
  margin-bottom: 4px;
  padding: 14px 28px;
  background: #f5e048;
  border: 4px solid #1a1a1a;
  box-shadow: 4px 4px 0 #6847b8;
}

[id$="__product_list_themegen"] .section-resource-list__header .text-block h1 {
  margin: 0;
  white-space: nowrap;
}

@media screen and (max-width: 749px) {
  [id$="__product_list_themegen"] .section-resource-list__header .text-block {
    max-width: calc(100% - 4px);
    margin-right: 4px;
    margin-bottom: 4px;
    padding: 12px 18px;
    border-width: 3px;
    box-shadow: 4px 4px 0 #6847b8;
  }

  [id$="__product_list_themegen"] .section-resource-list__header .text-block h1 {
    white-space: normal;
  }
}

/* Homepage: brand-video shadow */
[id$="__section_TtqfzA"] deferred-media {
  margin-bottom: 4px;
  box-shadow: 4px 4px 0 #6847b8;
}

@media screen and (max-width: 749px) {
  [id$="__section_TtqfzA"] deferred-media {
    margin-bottom: 4px;
    box-shadow: 4px 4px 0 #6847b8;
  }
}

/* Homepage: approved position-based product-card system */
[id$="__product_list_themegen"] .resource-list__item:is(
  :nth-of-type(12n + 1),
  :nth-of-type(12n + 2),
  :nth-of-type(12n + 3),
  :nth-of-type(12n + 4)
) .product-card__content {
  background-color: #8dd3f5 !important;
}

[id$="__product_list_themegen"] .resource-list__item:is(
  :nth-of-type(12n + 5),
  :nth-of-type(12n + 6),
  :nth-of-type(12n + 7),
  :nth-of-type(12n + 8)
) .product-card__content {
  background-color: #f3a7a8 !important;
}

[id$="__product_list_themegen"] .resource-list__item:is(
  :nth-of-type(12n + 9),
  :nth-of-type(12n + 10),
  :nth-of-type(12n + 11),
  :nth-of-type(12n + 12)
) .product-card__content {
  background-color: #d4a8f4 !important;
}

[id$="__product_list_themegen"] .product-card .product-card__content {
  transition: background-color 180ms ease;
}

[id$="__product_list_themegen"] .resource-list__item:is(
  :nth-of-type(12n + 1),
  :nth-of-type(12n + 2),
  :nth-of-type(12n + 3),
  :nth-of-type(12n + 4)
) .product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #d3f0fd !important;
}

[id$="__product_list_themegen"] .resource-list__item:is(
  :nth-of-type(12n + 5),
  :nth-of-type(12n + 6),
  :nth-of-type(12n + 7),
  :nth-of-type(12n + 8)
) .product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #fbd7d8 !important;
}

[id$="__product_list_themegen"] .resource-list__item:is(
  :nth-of-type(12n + 9),
  :nth-of-type(12n + 10),
  :nth-of-type(12n + 11),
  :nth-of-type(12n + 12)
) .product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #eedcfc !important;
}

[id$="__product_list_themegen"] .product-card:is(:hover, :focus-within) {
  transform: translateY(-4px);
  box-shadow: 6px 6px 0 #1a1a1a;
}

[id$="__product_list_themegen"] .product-card:focus-within {
  outline: 2px solid #2d6b1f;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  [id$="__product_list_themegen"] .product-card,
  [id$="__product_list_themegen"] .product-card .product-card__content {
    transition: none;
  }

  [id$="__product_list_themegen"] .product-card:is(:hover, :focus-within) {
    transform: none;
  }
}

/* Brand typography: homepage display heading */
[id$="__product_list_themegen"] .section-resource-list__header h1 {
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0.028em;
  text-wrap: balance;
}

@media screen and (max-width: 749px) {
  [id$="__product_list_themegen"] .section-resource-list__header h1 {
    font-size: clamp(2.25rem, 10.5vw, 2.75rem);
    line-height: 1;
  }
}


/* Brand typography: product-card name and metadata */
[id$="__product_list_themegen"] .product-card__brand-title {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
  line-height: 1;
}

[id$="__product_list_themegen"] .product-card__brand-name {
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(1.125rem, 1.7vw, 1.3125rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.028em;
  text-wrap: balance;
}

[id$="__product_list_themegen"] .product-card__brand-meta {
  font-family: "Space Mono", monospace;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media screen and (max-width: 749px) {
  [id$="__product_list_themegen"] .product-card__brand-name {
    font-size: clamp(0.9375rem, 4.2vw, 1.0625rem);
    line-height: 1.05;
  }

  [id$="__product_list_themegen"] .product-card__brand-meta {
    font-size: 0.625rem;
  }
}

/* Brand typography: product, information and policy pages */
main[data-template^="product"] h1,
main[data-template^="page."] h1,
.shopify-policy__title h1 {
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(2.5rem, 5vw, 3rem);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0.028em;
  text-wrap: balance;
}

main[data-template^="product"] .text-block h3,
main[data-template^="page."] h2,
.shopify-policy__body h2 {
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.028em;
  text-wrap: balance;
}

main[data-template^="page."] h3,
.shopify-policy__body h3 {
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(1.375rem, 3vw, 1.75rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0.028em;
  text-wrap: balance;
}

/* The Contact page keeps its main enquiry form, without a duplicate footer signup. */
body:has(main[data-template="page.contact"]) footer .email-signup-block {
  display: none !important;
}

@media screen and (max-width: 749px) {
  main[data-template^="product"] h1,
  main[data-template^="page."] h1,
  .shopify-policy__title h1 {
    font-size: clamp(2.25rem, 10vw, 2.5rem);
    line-height: 1;
  }

  main[data-template^="product"] .text-block h3,
  main[data-template^="page."] h2,
  .shopify-policy__body h2 {
    font-size: clamp(1.75rem, 8vw, 2rem);
  }

  main[data-template^="page."] h3,
  .shopify-policy__body h3 {
    font-size: clamp(1.3125rem, 6vw, 1.5rem);
  }
}

/* Override the previous Bebas display rules on customer-facing page headings. */
main[data-template^="product"] h1,
main[data-template^="page."] h1,
.shopify-policy__title h1,
main[data-template^="product"] .text-block h3,
main[data-template^="page."] h2,
main[data-template^="page."] h3,
.shopify-policy__body h2,
.shopify-policy__body h3 {
  font-family: "Bagel Fat One", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 0.028em !important;
}

/* Readable consent copy and a clear product-page title scale. */
.email-signup__consent,
.contact-form__consent {
  text-transform: none !important;
  letter-spacing: normal !important;
}

main[data-template^="product"] h1 {
  font-size: clamp(2.5rem, 5vw, 3rem) !important;
  line-height: 0.95 !important;
}

@media screen and (max-width: 749px) {
  main[data-template^="product"] h1 {
    font-size: clamp(2.25rem, 10vw, 2.5rem) !important;
    line-height: 1 !important;
  }
}

.email-signup__consent label,
.contact-form__consent label,
.email-signup__consent label a,
.contact-form__consent label a {
  font-family: Inter, sans-serif !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
/* Homepage category bars and primary display treatment */
:root {
  --tru-primary-heading-size: clamp(2rem, 5vw, 3rem);
}

[id$="__product_list_themegen"] .section-resource-list__header h1,
main[data-template^="product"] h1,
main[data-template^="page."] h1,
.shopify-policy__title h1,
.tru-drop-title {
  font-family: "Bagel Fat One", sans-serif !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: 0.028em !important;
  text-wrap: balance;
}

[id$="__product_list_themegen"] .product-card__content h3,
[id$="__product_list_themegen"] .product-card__content h4 {
  font-family: "Bagel Fat One", sans-serif !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.028em !important;
}

[id$="__product_list_themegen"] .resource-list > .tru-drop-title {
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
  margin: 20px 0 4px;
  padding: 12px 16px 9px;
  color: #1a1a1a;
  border: 2px solid #1a1a1a;
  box-shadow: 4px 4px 0 #1a1a1a;
  transform: rotate(-0.35deg);
}

.tru-drop-title--work {
  background: #8dd3f5;
}

.tru-drop-title--hangout {
  background: #f3a7a8;
  transform: rotate(0.35deg) !important;
}

.tru-drop-title--memories {
  background: #d4a8f4;
}

#shopify-section-template--29234757239117__section_TtqfzA {
  position: relative;
  overflow: visible;
}

#shopify-section-template--29234757239117__section_TtqfzA::after {
  content: "Uncut Fierce Origins";
  position: absolute;
  z-index: 17;
  top: 10px;
  right: 24px;
  padding: 10px 14px 8px;
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0.028em;
  white-space: nowrap;
  color: #1a1a1a;
  background: #ceffb8;
  border: 2px solid #1a1a1a;
  box-shadow: 4px 4px 0 #1a1a1a;
  transform: rotate(4deg);
  pointer-events: none;
}

@media screen and (max-width: 749px) {
  :root {
    --tru-primary-heading-size: clamp(1.75rem, 7vw, 2rem);
  }

  [id$="__product_list_themegen"] .resource-list > .tru-drop-title {
    margin-top: 14px;
    padding: 9px 12px 7px;
  }

  #shopify-section-template--29234757239117__section_TtqfzA::after {
    top: 6px;
    right: 3px;
    padding: 8px 10px 6px;
    font-size: 1.2rem;
    transform: rotate(3deg);
  }
}


/* Homepage: keep one semantic H1 without repeating the video-sticker message visually. */
[id$="__product_list_themegen"] .section-resource-list__header {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Homepage: right-edge scroll cue, matching the hard sticker system. */
.tru-scroll-sticker {
  position: fixed;
  z-index: 30;
  top: 50%;
  right: 10px;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 12px 9px;
  color: #1a1a1a;
  background: #ceffb8;
  border: 2px solid #1a1a1a;
  box-shadow: 4px 4px 0 #6847b8;
  font-family: "Bagel Fat One", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  cursor: pointer;
  transform: translateY(-50%) rotate(1deg);
  opacity: 1;
  visibility: visible;
  transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
}

.tru-scroll-sticker:hover,
.tru-scroll-sticker:focus-visible {
  background: #d3f0fd;
  box-shadow: 6px 6px 0 #6847b8;
  transform: translateY(calc(-50% - 3px)) rotate(1deg);
}

.tru-scroll-sticker:focus-visible {
  outline: 2px solid #2d6b1f;
  outline-offset: 3px;
}

.tru-scroll-sticker.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(calc(-50% + 10px)) rotate(1deg);
}

@media screen and (max-width: 749px) {
  .tru-scroll-sticker {
    right: 5px;
    padding: 9px 7px;
    font-size: 0.78rem;
    box-shadow: 3px 3px 0 #6847b8;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tru-scroll-sticker {
    transition: none;
  }
}


/* Visible category wording requested by the store owner. */
.tru-drop-title {
  font-size: 0 !important;
}

.tru-drop-title::after {
  font-family: "Bagel Fat One", sans-serif;
  font-size: var(--tru-primary-heading-size);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0.028em;
}

.tru-drop-title--work::after {
  content: "FOR WORK";
}

.tru-drop-title--hangout::after {
  content: "FOR HANGOUTS";
}

.tru-drop-title--memories::after {
  content: "FOR MEMORIES";
}


/* About page: editorial image treatment */
main[data-template="page.about"] .rte img {
  max-width: calc(100% - 4px);
  margin-inline-end: 4px;
  margin-block-end: 8px;
  border: 2px solid #1a1a1a;
  box-shadow: 4px 4px 0 #1a1a1a;
}


/* Product title single-line treatment */
main[data-template^="product"] h1,
main[data-template^="product"] .resource-card__title,
main[data-template^="product"] [class*="product_title"],
main[data-template="index"] .text-block h4,
main[data-template="index"] .text-block h4 strong {
  font-family: "Bagel Fat One", sans-serif;
  white-space: nowrap;
}

main[data-template^="product"] h1 {
  font-size: clamp(1.65rem, 8.2vw, 2.25rem);
  line-height: 1;
  letter-spacing: 0.015em;
}

main[data-template^="product"] .resource-card__title,
main[data-template^="product"] [class*="product_title"] {
  font-size: clamp(0.62rem, 3.05vw, 1rem);
  line-height: 1.1;
  letter-spacing: 0.005em;
}

main[data-template="index"] .text-block h4 {
  font-size: clamp(0.72rem, 4vw, 1.125rem);
  line-height: 1;
  letter-spacing: 0;
}

main[data-template="index"] .text-block h4 strong {
  font-size: inherit;
  line-height: inherit;
}


/* Mobile title fit: keep full names readable on one line */
@media screen and (max-width: 480px) {
  main[data-template^="product"] h1 {
    font-size: clamp(1.1rem, 6vw, 1.45rem) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  main[data-template^="product"] .resource-card__title,
  main[data-template^="product"] [class*="product_title"] {
    font-family: "Bagel Fat One", sans-serif !important;
    font-size: clamp(0.56rem, 2.75vw, 0.8rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  main[data-template="index"] .text-block h4,
  main[data-template="index"] .text-block h4 strong {
    font-size: clamp(0.62rem, 3.3vw, 0.82rem) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
}

/* TRU product-card UI system: aligned text, optical icon sizing, and limited-art badge. */
.product-card__content > a[ref="productTitleLink"] > .text-block,
.product-card__content > .group-block > .group-block-content > .text-block:first-of-type,
.product-card__content product-price {
  --padding-inline-start: 10px !important;
}

.product-card__content:has(> .product-card__ufo) > a[ref="productTitleLink"] > .text-block,
.product-card__content:has(> .product-card__ufo) > .group-block > .group-block-content > .text-block:first-of-type,
.product-card__content:has(> .product-card__ufo) product-price {
  --padding-inline-end: 62px !important;
}

.product-card__ufo {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  width: 42px;
  height: 42px;
  object-fit: contain;
  object-position: center;
  opacity: 0.9;
  pointer-events: none;
}

.product-card__icon--jellyfish-square {
  width: 45px;
  height: 45px;
}

.product-card__icon--jellyfish-portrait {
  right: 4px;
  bottom: 4px;
  width: 54px;
  height: 54px;
}

.product-card__icon--pizza {
  width: 40px;
  height: 40px;
}

.product-card__icon--ufo {
  width: 42px;
  height: 42px;
}

.product-card__limited {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 8px 3px;
  border: 2px solid #1a1a1a;
  background: #ffe843;
  color: #1a1a1a;
  box-shadow: 3px 3px 0 #ccbcff;
  font-family: var(--font-accent--family);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: rotate(6deg);
  transform-origin: center;
  pointer-events: none;
}


@media screen and (max-width: 749px) {
  .product-card__content:has(> .product-card__ufo) > a[ref="productTitleLink"] > .text-block,
  .product-card__content:has(> .product-card__ufo) > .group-block > .group-block-content > .text-block:first-of-type,
  .product-card__content:has(> .product-card__ufo) product-price {
    --padding-inline-end: 54px !important;
  }

  .product-card__icon--jellyfish-square {
    right: 6px;
    bottom: 6px;
    width: 40px;
    height: 40px;
  }

  .product-card__icon--jellyfish-portrait {
    right: 2px;
    bottom: 2px;
    width: 48px;
    height: 48px;
  }

  .product-card__icon--pizza {
    right: 6px;
    bottom: 6px;
    width: 36px;
    height: 36px;
  }

/* TRU footer alignment and pre-launch social-proof visibility */
footer a[href="/pages/seen-in-the-wild"] { display: none !important; }

@media screen and (min-width: 750px) {
  footer .footer-content {
    grid-template-columns: minmax(180px, 1fr) minmax(0, 3fr) !important;
    align-items: start !important;
    column-gap: clamp(32px, 5vw, 88px) !important;
  }
  footer .tru-trust-footer { padding: 0 !important; }
  footer .tru-trust-footer__nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(28px, 4vw, 72px) !important;
    align-items: start !important;
  }
}

@media screen and (max-width: 749px) {
  footer .footer-content,
  footer .tru-trust-footer__nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  footer .tru-trust-footer { padding: 0 !important; }
}

  .product-card__icon--ufo {
    right: 6px;
    bottom: 6px;
    width: 38px;
    height: 38px;
  }

  .product-card__limited {
    top: 7px;
    right: 7px;
    min-height: 23px;
    padding: 3px 6px 2px;
    box-shadow: 2px 2px 0 #ccbcff;
    font-size: 10px;
  }
}

/* TRU unified navigation, card spacing and mobile floating control */
@media (hover: hover) and (pointer: fine) {
  .header .menu-list__link:hover,
  .header .menu-list__link:focus-visible {
    background: #c7ffa8;
    color: #1a1a1a;
    box-shadow: 4px 4px 0 #ccbcff;
    transition: background-color 80ms linear, color 80ms linear, box-shadow 80ms linear !important;
  }
}

product-card .product-card__content {
  --product-card-gap: 0px !important;
  gap: 0 !important;
  position: relative;
}

product-card .product-card__colour-swatches {
  min-height: 40px;
  margin: 0 !important;
  padding: 12px 14px 2px !important;
}

product-card a[ref="productTitleLink"] .text-block {
  min-height: 50px;
  padding: 10px 64px 0 12px !important;
  display: flex;
  align-items: flex-start;
}

product-card product-price {
  min-height: 38px;
  padding: 0 64px 14px 12px !important;
  display: flex;
  align-items: flex-end;
}

product-card .product-card__ufo {
  right: 12px !important;
  bottom: 14px !important;
}

@media screen and (max-width: 749px) {
  tru-scroll-sticker {
    top: 25vh !important;
    bottom: auto !important;
  }

  product-card a[ref="productTitleLink"] .text-block {
    min-height: 48px;
    padding-right: 56px !important;
  }

  product-card product-price {
    min-height: 36px;
    padding-right: 56px !important;
    padding-bottom: 12px !important;
  }

  product-card .product-card__ufo {
    right: 10px !important;
    bottom: 12px !important;
  }
}


/* TRU: immediate desktop navigation feedback. */
@media screen and (min-width: 750px) {
  header a,
  header button,
  .header__menu-item,
  .menu-list__link {
    transition-delay: 0s !important;
    transition-duration: 60ms !important;
  }
}


/* TRU product-card consistency: flat hover states and flat colour chips */
[id$="__product_list_themegen"] .resource-list__item:is(:nth-of-type(12n+1), :nth-of-type(12n+2), :nth-of-type(12n+3), :nth-of-type(12n+4)) .product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #8dd3f5 !important;
}

[id$="__product_list_themegen"] .resource-list__item:is(:nth-of-type(12n+5), :nth-of-type(12n+6), :nth-of-type(12n+7), :nth-of-type(12n+8)) .product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #f3a7a8 !important;
}

[id$="__product_list_themegen"] .resource-list__item:is(:nth-of-type(12n+9), :nth-of-type(12n+10), :nth-of-type(12n+11), :nth-of-type(12n+12)) .product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #d4a8f4 !important;
}

[id$="__product_list_themegen"] .product-card:is(:hover, :focus-within) {
  transform: none !important;
  box-shadow: none !important;
}

.product-card__colour-swatches .variant-option__button-label--has-swatch,
.product-card__colour-swatches .variant-option__button-label--has-swatch:hover,
.product-card__colour-swatches .variant-option__button-label--has-swatch:has(input:checked),
.product-card__colour-swatches--static .tru-colour-static-chip {
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
}


/* Ensure later component styles cannot restore borders or selected shadows */
main product-card.product-card .product-card__colour-swatches .variant-option__button-label--has-swatch,
main product-card.product-card .product-card__colour-swatches .variant-option__button-label--has-swatch:hover,
main product-card.product-card .product-card__colour-swatches .variant-option__button-label--has-swatch:has(input:checked),
main product-card.product-card .product-card__colour-swatches--static .tru-colour-static-chip {
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
}


/* Keep every product card flat in resting, hover and focus states */
[id$="__product_list_themegen"] product-card.product-card {
  box-shadow: none !important;
}


/* TRU storefront consistency override 2026-08-28 */
html,
body,
.page-wrapper,
#MainContent,
main .shopify-section,
main .section-background {
  background-color: #f5e048 !important;
}

main product-card.product-card {
  display: block;
  overflow: visible;
  border: 2px solid #1a1a1a !important;
  box-shadow: 5px 5px 0 #1a1a1a !important;
  background: transparent !important;
}

main product-card.product-card .product-card__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: hidden;
  min-height: 100%;
}

main product-card.product-card .card-gallery {
  --gallery-aspect-ratio: 4 / 5 !important;
  aspect-ratio: 4 / 5 !important;
  flex: 0 0 auto;
  width: 100%;
  overflow: hidden;
  background: #f7f3e8;
}

main product-card.product-card .card-gallery slideshow-component,
main product-card.product-card .card-gallery slideshow-container,
main product-card.product-card .card-gallery slideshow-slides,
main product-card.product-card .card-gallery slideshow-slide,
main product-card.product-card .card-gallery .product-media {
  width: 100%;
  height: 100%;
}

main product-card.product-card .card-gallery .product-media__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main product-card.product-card .product-card__colour-swatches {
  display: grid !important;
  grid-template-columns: repeat(var(--tru-colour-count, 1), minmax(0, 1fr)) !important;
  gap: 12px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 10px 12px 0 !important;
  box-sizing: border-box;
}

main product-card.product-card .product-card__colour-swatches .tru-colour-static-chip,
main product-card.product-card .product-card__colour-swatches .variant-option__button-label--has-swatch {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  border: 1px solid #1a1a1a !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
}

main product-card.product-card a[ref="productTitleLink"] .text-block {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100%;
  height: 52px !important;
  min-height: 52px !important;
  padding: 11px 62px 4px 12px !important;
  text-align: left !important;
  box-sizing: border-box;
}

main product-card.product-card a[ref="productTitleLink"] .text-block p,
main product-card.product-card .product-card__brand-name {
  margin: 0 !important;
  font-family: "Bagel Fat One", sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(0.95rem, 1.45vw, 1.25rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0.035em !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

main product-card.product-card product-price {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  width: 100%;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 62px 12px 12px !important;
  text-align: left !important;
  box-sizing: border-box;
}

main product-card.product-card .product-card__ufo {
  right: 10px !important;
  bottom: 10px !important;
}

body:has(facets-form-component[data-collection-handle="tees"]) main product-card .product-card__content {
  background-color: #8dd3f5 !important;
}

body:has(facets-form-component[data-collection-handle="sweatshirts"]) main product-card .product-card__content {
  background-color: #f3a7a8 !important;
}

body:has(facets-form-component[data-collection-handle="art"]) main product-card .product-card__content {
  background-color: #d4a8f4 !important;
}

body:has(facets-form-component[data-collection-handle="bags"]) main product-card .product-card__content {
  background-color: #ceffb8 !important;
}

main[data-template="index"] [id$="__product_list_themegen"] .resource-list__item:nth-of-type(-n+4) .product-card__content {
  background-color: #8dd3f5 !important;
}

main[data-template="index"] [id$="__product_list_themegen"] .resource-list__item:nth-of-type(n+5):nth-of-type(-n+8) .product-card__content {
  background-color: #f3a7a8 !important;
}

main[data-template="index"] [id$="__product_list_themegen"] .resource-list__item:nth-of-type(n+9):nth-of-type(-n+16) .product-card__content {
  background-color: #d4a8f4 !important;
}

main[data-template="index"] [id$="__product_list_themegen"] .resource-list__item:nth-of-type(n+17):nth-of-type(-n+20) .product-card__content {
  background-color: #ceffb8 !important;
}

main product-card.product-card:is(:hover, :focus-within) {
  transform: none !important;
  box-shadow: 5px 5px 0 #1a1a1a !important;
}

main[data-template="index"] [id$="__product_list_themegen"] {
  padding-bottom: 48px;
}

@media screen and (min-width: 750px) {
  .header .menu-list__link,
  .header .header__menu-item {
    font-size: 1.25rem !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
  }
}

@media screen and (max-width: 749px) {
  main product-card.product-card {
    box-shadow: 4px 4px 0 #1a1a1a !important;
  }

  main product-card.product-card a[ref="productTitleLink"] .text-block {
    height: 48px !important;
    min-height: 48px !important;
    padding: 9px 54px 3px 10px !important;
  }

  main product-card.product-card a[ref="productTitleLink"] .text-block p,
  main product-card.product-card .product-card__brand-name {
    font-size: clamp(0.82rem, 4vw, 1rem) !important;
    line-height: 1.08 !important;
  }

  main product-card.product-card product-price {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 54px 10px 10px !important;
  }

  main product-card.product-card .product-card__colour-swatches {
    gap: 8px !important;
    padding-inline: 10px !important;
  }

  main product-card.product-card .product-card__ufo {
    right: 8px !important;
    bottom: 8px !important;
  }
}


/* TRU card normalization correction 2026-08-28 */
main product-card.product-card {
  container-type: inline-size;
  height: auto !important;
  align-self: start !important;
}

main product-card.product-card .product-card__content {
  height: auto !important;
  min-height: 0 !important;
}

main product-card.product-card .card-gallery {
  display: block !important;
  width: 100% !important;
  height: 125cqi !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}

main product-card.product-card .card-gallery slideshow-component,
main product-card.product-card .card-gallery slideshow-container,
main product-card.product-card .card-gallery slideshow-slides,
main product-card.product-card .card-gallery slideshow-slide,
main product-card.product-card .card-gallery .product-media {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}

main product-card.product-card .product-card__content > .group-block {
  flex: 0 0 94px !important;
  width: 100% !important;
  height: 94px !important;
  min-height: 94px !important;
  max-height: 94px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

main product-card.product-card .product-card__content > .group-block > .group-block-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  height: 94px !important;
  min-height: 94px !important;
  max-height: 94px !important;
  margin: 0 !important;
  padding: 0 !important;
}

main product-card.product-card .product-card__colour-swatches {
  grid-auto-rows: 30px !important;
  align-items: start !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 10px 12px 0 !important;
  overflow: hidden !important;
}

main product-card.product-card .product-card__colour-swatches:has(> :nth-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

main product-card.product-card .product-card__colour-swatches > * {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  border: 1px solid #1a1a1a !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

main product-card:has(.product-card__link[href*="/products/"][href*="unisex-tee"]) .product-card__content {
  background-color: #8dd3f5 !important;
}

main product-card:has(.product-card__link[href*="sweatshirt"]) .product-card__content {
  background-color: #f3a7a8 !important;
}

main product-card:has(.product-card__link[href*="pizza"]) .product-card__content {
  background-color: #d4a8f4 !important;
}

main product-card:has(.product-card__link[href*="/products/the-"][href*="jellyfish"]) .product-card__content,
main product-card:has(.product-card__link[href*="/products/treehouse-homes-art-print"]) .product-card__content {
  background-color: #d4a8f4 !important;
}

main product-card:has(.product-card__link[href*="tote-bag"]) .product-card__content {
  background-color: #ceffb8 !important;
}

@media screen and (min-width: 990px) {
  .header-menu .menu-list__link,
  .header-menu .menu-list__link span {
    font-size: 1.25rem !important;
    line-height: 1.15 !important;
    letter-spacing: 0.02em !important;
  }
}


/* Core tee hover: first white image to first sand image */
@media (hover: hover) and (pointer: fine) {
  main product-card:is(
    :has(.product-card__link[href*="/products/forest-unisex-tee"]),
    :has(.product-card__link[href*="/products/nimbus-unisex-tee"]),
    :has(.product-card__link[href*="/products/orchid-unisex-tee"]),
    :has(.product-card__link[href*="/products/sandstone-unisex-tee"])
  ):is(:hover, :focus-within) .card-gallery slideshow-slide {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  main product-card:is(
    :has(.product-card__link[href*="/products/forest-unisex-tee"]),
    :has(.product-card__link[href*="/products/nimbus-unisex-tee"]),
    :has(.product-card__link[href*="/products/orchid-unisex-tee"]),
    :has(.product-card__link[href*="/products/sandstone-unisex-tee"])
  ):is(:hover, :focus-within) .card-gallery slideshow-slide:nth-of-type(3) {
    position: absolute !important;
    inset: 0 !important;
    z-index: 4 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
  }
}


/* TRU definitive card, section and drawer repair 2026-08-28 */
#ResultsList,
.main-collection-grid,
results-list,
.product-grid-container,
.collection-wrapper,
.product-grid {
  background-color: #f5e048 !important;
}

/* One card structure for every product family */
main product-card.product-card .product-card__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto 40px 52px 42px !important;
  align-content: start !important;
  overflow: hidden !important;
}

main product-card.product-card .product-card__content > .group-block,
main product-card.product-card .product-card__content > .group-block > .group-block-content {
  display: contents !important;
}

/* Keep all gallery movement horizontal and contained */
main product-card.product-card .card-gallery {
  grid-row: 1 !important;
  position: relative !important;
  overflow: hidden !important;
}

main product-card.product-card .card-gallery slideshow-component,
main product-card.product-card .card-gallery slideshow-container {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

main product-card.product-card .card-gallery slideshow-slides {
  position: relative !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  width: 100% !important;
  height: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
}

main product-card.product-card .card-gallery slideshow-slides::-webkit-scrollbar {
  display: none !important;
}

main product-card.product-card .card-gallery slideshow-slide {
  position: relative !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  scroll-snap-align: start !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

main product-card.product-card .card-gallery slideshow-slide .product-media,
main product-card.product-card .card-gallery slideshow-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Clean, equal swatches without an extra wrapper border */
main product-card.product-card .product-card__colour-swatches {
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(var(--tru-colour-count, 2), minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 10px 12px 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

main product-card.product-card .product-card__colour-swatches > swatches-variant-picker-component {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

main product-card.product-card .product-card__colour-swatches swatches-variant-picker-component form,
main product-card.product-card .product-card__colour-swatches fieldset,
main product-card.product-card .product-card__colour-swatches .tru-colour-swatch-list {
  display: grid !important;
  grid-template-columns: repeat(var(--tru-colour-count, 2), minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  list-style: none !important;
}

main product-card.product-card .product-card__colour-swatches .variant-option__swatch {
  display: block !important;
  width: 100% !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

main product-card.product-card .product-card__colour-swatches .variant-option__button-label--has-swatch,
main product-card.product-card .product-card__colour-swatches .tru-colour-static-chip {
  display: block !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #1a1a1a !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

main product-card.product-card .product-card__colour-swatches input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Identical title and price rows */
main product-card.product-card a[ref="productTitleLink"] {
  grid-row: 3 !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

main product-card.product-card a[ref="productTitleLink"] .text-block {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  overflow: hidden !important;
  padding: 10px 62px 4px 12px !important;
  box-sizing: border-box !important;
}

main product-card.product-card a[ref="productTitleLink"] .text-block p,
main product-card.product-card a[ref="productTitleLink"] .product-card__brand-title {
  margin: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  font-family: "Bagel Fat One", sans-serif !important;
  font-size: clamp(0.95rem, 1.25vw, 1.25rem) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: 0.025em !important;
  text-align: left !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

main product-card.product-card product-price {
  grid-row: 4 !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 62px 12px 12px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Restore intentional product-card hover colour changes */
main[data-template="index"] product-card:has(.product-card__link[href*="unisex-tee"]):not(:has(.product-card__link[href*="pizza"])):is(:hover, :focus-within) .product-card__content {
  background-color: #d3f0fd !important;
}
main[data-template="index"] product-card:has(.product-card__link[href*="sweatshirt"]):is(:hover, :focus-within) .product-card__content {
  background-color: #fbd7d8 !important;
}
main[data-template="index"] product-card:has(.product-card__link[href*="pizza"]):is(:hover, :focus-within) .product-card__content,
main[data-template="index"] product-card:has(.product-card__link[href*="jellyfish"]):is(:hover, :focus-within) .product-card__content,
main[data-template="index"] product-card:has(.product-card__link[href*="treehouse-homes-art-print"]):is(:hover, :focus-within) .product-card__content {
  background-color: #eedcfc !important;
}
main[data-template="index"] product-card:has(.product-card__link[href*="tote-bag"]):is(:hover, :focus-within) .product-card__content {
  background-color: #e6ffd8 !important;
}

body:has(facets-form-component[data-collection-handle="tees"]) main product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #d3f0fd !important;
}
body:has(facets-form-component[data-collection-handle="sweatshirts"]) main product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #fbd7d8 !important;
}
body:has(facets-form-component[data-collection-handle="art"]) main product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #eedcfc !important;
}
body:has(facets-form-component[data-collection-handle="bags"]) main product-card:is(:hover, :focus-within) .product-card__content {
  background-color: #e6ffd8 !important;
}

/* Restore native horizontal hover slides after the earlier temporary rule */
@media (hover: hover) and (pointer: fine) {
  html body main product-card:is(
    :has(.product-card__link[href*="/products/forest-unisex-tee"]),
    :has(.product-card__link[href*="/products/nimbus-unisex-tee"]),
    :has(.product-card__link[href*="/products/orchid-unisex-tee"]),
    :has(.product-card__link[href*="/products/sandstone-unisex-tee"])
  ):is(:hover, :focus-within) .card-gallery slideshow-slide {
    position: relative !important;
    inset: auto !important;
    z-index: auto !important;
    flex: 0 0 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* Complete and colour-match all homepage section bars */
.tru-drop-title--memories {
  background-color: #d4a8f4 !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy p:first-of-type,
#shopify-section-template--29509606310221__product_list_KRMmHR h3:first-of-type {
  display: flex !important;
  align-items: center !important;
  width: calc(100% - 80px) !important;
  min-height: 80px !important;
  margin: 52px 40px 40px !important;
  padding: 12px 20px !important;
  color: #1a1a1a !important;
  border: 2px solid #1a1a1a !important;
  box-shadow: 5px 5px 0 #1a1a1a !important;
  font-family: "Bagel Fat One", sans-serif !important;
  font-size: clamp(2.2rem, 4.5vw, 4.2rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy p:first-of-type {
  background-color: #d4a8f4 !important;
}

#shopify-section-template--29509606310221__product_list_KRMmHR h3:first-of-type {
  background-color: #ceffb8 !important;
}

/* Larger desktop navigation */
@media screen and (min-width: 990px) {
  .header-menu .menu-list__link,
  .header-menu .menu-list__link span {
    font-size: 1.5rem !important;
    line-height: 1.1 !important;
  }
}

/* The MORE sticker must stay behind the cart drawer */
.tru-scroll-sticker {
  z-index: 5 !important;
}

/* Every quick action uses the same label */
product-card .quick-add__button {
  font-size: 0 !important;
}

product-card .quick-add__button::after {
  content: "Choose" !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}


/* Three-line product information hierarchy */
main product-card .tru-card-title-name,
main product-card .tru-card-title-type {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

main product-card .tru-card-title-name {
  font-family: "Bagel Fat One", sans-serif !important;
  font-size: 1em !important;
  line-height: 1.05 !important;
  letter-spacing: 0.025em !important;
}

main product-card .tru-card-title-type {
  margin-top: 2px !important;
  font-family: "Bagel Fat One", sans-serif !important;
  font-size: 0.78em !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
}

/* TRU final storefront alignment */
html body main product-card .group-block__media-wrapper {
  display: none !important;
}
html body main product-card .product-card__colour-swatches {
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 10px 12px 0 !important;
  box-sizing: border-box !important;
}
html body main product-card .product-card__colour-swatches > span,
html body main product-card .product-card__colour-swatches > button {
  display: inline-block !important;
  width: calc(50% - 6px) !important;
  height: 30px !important;
  margin: 0 8px 0 0 !important;
  border: 2px solid #171717 !important;
  box-sizing: border-box !important;
}
html body main product-card .product-card__colour-swatches > span:last-child,
html body main product-card .product-card__colour-swatches > button:last-child {
  margin-right: 0 !important;
}
html body main product-card .product-card__colour-swatches tru-colour-swatches,
html body main product-card .product-card__colour-swatches form,
html body main product-card .product-card__colour-swatches fieldset {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
html body main product-card .product-card__colour-swatches ul.tru-colour-swatch-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body main product-card .product-card__colour-swatches ul.tru-colour-swatch-list > li,
html body main product-card .product-card__colour-swatches ul.tru-colour-swatch-list label {
  display: block !important;
  width: 100% !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
html body main product-card .group-block-content > .text-block:not(product-price) {
  grid-row: 3 !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  padding: 7px 62px 4px 12px !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}
html body main product-card .group-block-content > .text-block:not(product-price) h4,
html body main product-card .group-block-content > .text-block:not(product-price) strong {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.05 !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}
html body main product-card .group-block-content > product-price {
  grid-row: 4 !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 4px 12px 8px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
html body main .tru-card-title-name,
html body main .tru-card-title-type {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}
html body main .tru-card-title-name { font-weight: 800 !important; }
html body main .tru-card-title-type { font-size: .82em !important; margin-top: 2px !important; }
html body main .tru-drop-title.tru-drop-title--memories {
  background: #d4a8f4 !important;
}
#shopify-section-template--29509606310221__product_list_DnDhQy rte-formatter,
#shopify-section-template--29509606310221__product_list_KRMmHR rte-formatter {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 80px !important;
  min-height: 80px !important;
  margin: 52px 0 40px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
#shopify-section-template--29509606310221__product_list_DnDhQy rte-formatter > p,
#shopify-section-template--29509606310221__product_list_KRMmHR rte-formatter > h3 {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  height: 80px !important;
  min-height: 80px !important;
  margin: 0 !important;
  padding: 10px 20px !important;
  border: 3px solid #171717 !important;
  box-shadow: 5px 7px 0 #171717 !important;
  box-sizing: border-box !important;
  font-size: clamp(2.4rem, 4.5vw, 4.5rem) !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
#shopify-section-template--29509606310221__product_list_DnDhQy rte-formatter > p { background: #d4a8f4 !important; }
#shopify-section-template--29509606310221__product_list_KRMmHR rte-formatter > h3 { background: #c8ffb3 !important; }
html body .header-menu .menu-list__link,
html body .header__heading-link + nav a {
  font-size: clamp(1.15rem, 1.45vw, 1.5rem) !important;
}
html body .more-menu-button,
html body .tru-more-button {
  z-index: 5 !important;
}
html body cart-drawer,
html body .cart-drawer {
  z-index: 100 !important;
}
html body main product-card .quick-add__submit,
html body main product-card .product-card__quick-add button {
  font-size: 0 !important;
}
html body main product-card .quick-add__submit::after,
html body main product-card .product-card__quick-add button::after {
  content: "Choose";
  font-size: 1rem !important;
}

html body main product-card .product-card__colour-swatches swatches-variant-picker-component {
  display:block !important;width:100% !important;max-width:none !important;height:30px !important;margin:0 !important;padding:0 !important;
}
html body main product-card product-swatches { display:none !important; }
html body main product-card .product-card__content {
  grid-template-rows: 201.875px 40px 52px 42px !important;
}
html body main product-card,
html body main product-card .product-card__content,
html body main product-card .product-card__link {
  height: 339.875px !important;
  min-height: 339.875px !important;
  max-height: 339.875px !important;
}
html body #shopify-section-template--29509606310221__product_list_DnDhQy .section-resource-list__header .group-block-content,
html body #shopify-section-template--29509606310221__product_list_KRMmHR .section-resource-list__header .group-block-content {
  display:block !important;width:100% !important;
}
html body #shopify-section-template--29509606310221__product_list_DnDhQy .section-resource-list__header a,
html body #shopify-section-template--29509606310221__product_list_KRMmHR .section-resource-list__header a {
  display:none !important;
}
html body #shopify-section-template--29509606310221__product_list_DnDhQy rte-formatter,
html body #shopify-section-template--29509606310221__product_list_KRMmHR rte-formatter {
  width:100% !important;
}
html body #shopify-section-template--29509606310221__product_list_DnDhQy rte-formatter > p,
html body #shopify-section-template--29509606310221__product_list_KRMmHR rte-formatter > h3 {
  width:100% !important;margin:0 !important;
}

html body main product-card .product-card__colour-swatches swatches-variant-picker-component > form {
  display:block !important;width:100% !important;max-width:none !important;height:30px !important;margin:0 !important;padding:0 !important;
}
html body main product-card .product-card__colour-swatches swatches-variant-picker-component > form > fieldset {
  display:block !important;width:100% !important;max-width:none !important;height:30px !important;margin:0 !important;padding:0 !important;border:0 !important;
}
html body main product-card .product-card__colour-swatches swatches-variant-picker-component > form > fieldset > ul.tru-colour-swatch-list {
  display:grid !important;width:100% !important;max-width:none !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;
}
html body main [id="shopify-section-template--29509606310221__product_list_DnDhQy"]#shopify-section-template--29509606310221__product_list_DnDhQy rte-formatter > p,
html body main [id="shopify-section-template--29509606310221__product_list_KRMmHR"]#shopify-section-template--29509606310221__product_list_KRMmHR rte-formatter > h3 {
  margin-left:0 !important;margin-right:0 !important;width:100% !important;max-width:none !important;
}

html body main product-card .product-card__colour-swatches swatches-variant-picker-component,
html body main product-card .product-card__colour-swatches swatches-variant-picker-component form,
html body main product-card .product-card__colour-swatches swatches-variant-picker-component fieldset {
  display:contents !important;
}
html body main product-card .product-card__colour-swatches ul.tru-colour-swatch-list {
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

html body main product-card .product-card__colour-swatches { position:relative !important; }
html body main product-card .product-card__colour-swatches ul.tru-colour-swatch-list {
  position:absolute !important;
  left:12px !important;
  right:12px !important;
  top:10px !important;
  width:auto !important;
  height:30px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

html body main [id="shopify-section-template--29509606310221__product_list_DnDhQy"]#shopify-section-template--29509606310221__product_list_DnDhQy rte-formatter > p {
  background:#b7a6ff !important;
}


/* TRU responsive card recovery */
html body main product-card,
html body main product-card .product-card__link,
html body main product-card .product-card__content {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
html body main product-card .product-card__content {
  grid-template-rows: auto 40px 56px 44px !important;
  overflow: visible !important;
}
html body main product-card .card-gallery {
  height: auto !important;
  min-height: 0 !important;
}
html body main product-card .card-gallery slideshow-slides,
html body main product-card .card-gallery slideshow-slide,
html body main product-card .card-gallery .product-media,
html body main product-card .card-gallery .product-media-container {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
html body main product-card .card-gallery img.product-media__image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1.25 !important;
  object-fit: cover !important;
}
html body main product-card .product-card__colour-swatches {
  grid-row: 2 !important;
  height: 40px !important;
  overflow: visible !important;
}
html body main product-card .group-block-content > .text-block:not(product-price) {
  grid-row: 3 !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  overflow: visible !important;
}
html body main product-card .group-block-content > product-price {
  grid-row: 4 !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
}
html body main product-card .group-block__media-wrapper,
html body main product-card product-swatches {
  display: none !important;
}

/* Universal product-card template: Items is the layout source of truth. */
html body main product-card .product-card__content {
  grid-template-rows: auto 40px 72px 48px !important;
  transition: filter 180ms ease !important;
}

html body main product-card:hover .product-card__content {
  filter: brightness(0.94) !important;
}

html body main product-card .product-card__colour-swatches {
  grid-row: 2 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 40px !important;
  padding: 0 12px !important;
}

html body main product-card .product-card__colour-swatches > *,
html body main product-card .product-card__colour-swatches form,
html body main product-card .product-card__colour-swatches fieldset,
html body main product-card .tru-colour-swatch-list {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

html body main product-card .group-block-content > .text-block:not(product-price),
html body main product-card a[ref="productTitleLink"] {
  grid-row: 3 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  overflow: hidden !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

html body main product-card a[ref="productTitleLink"],
html body main product-card a[ref="productTitleLink"] p {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

html body main product-card a[ref="productTitleLink"] p {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-heading--family) !important;
  font-size: clamp(16px, 1.2vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

html body main product-card .tru-card-title-name,
html body main product-card .tru-card-title-type {
  display: block !important;
  width: 100% !important;
  font: inherit !important;
  line-height: inherit !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

html body main product-card .group-block-content > product-price {
  grid-row: 4 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 3px 12px 12px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

html body main product-card .quick-add__button {
  font-size: 0 !important;
}

html body main product-card .quick-add__button::after {
  content: "Choose" !important;
  font-family: var(--font-body--family) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* Final structural alignment across generated and editor-built cards. */
html body main product-card a[ref="productTitleLink"] {
  padding: 0 !important;
}

html body main product-card a[ref="productTitleLink"] > .text-block {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  overflow: hidden !important;
}

html body main product-card a[ref="productTitleLink"] p,
html body main product-card .group-block-content h4,
html body main product-card .tru-card-title-name,
html body main product-card .tru-card-title-type {
  font-family: var(--font-heading--family) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

html body main product-card product-price {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 3px 12px 12px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy .section-resource-list__header p,
#shopify-section-template--29509606310221__product_list_KRMmHR .section-resource-list__header p {
  margin-block: 8px 32px !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy .section-resource-list__header,
#shopify-section-template--29509606310221__product_list_KRMmHR .section-resource-list__header {
  height: 76px !important;
  min-height: 76px !important;
  max-height: 76px !important;
}

html body main product-card .product-card__content a[ref="productTitleLink"] .text-block p {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}

html body main product-card .product-card__content > product-price,
html body main product-card .group-block-content > product-price {
  --padding-block-start: 3px !important;
  --padding-block-end: 12px !important;
  --padding-inline-start: 12px !important;
  --padding-inline-end: 12px !important;
  box-sizing: border-box !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 3px 12px 12px !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy .section-resource-list__header > * ,
#shopify-section-template--29509606310221__product_list_KRMmHR .section-resource-list__header > * {
  transform: translateY(-88px) !important;
}

/* Dynamic swatches: centred, equal-width chips with identical 1px outlines. */
html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 10px 12px 0 !important;
}

html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) swatches-variant-picker-component,
html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) form,
html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) fieldset,
html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) .tru-colour-swatch-list {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) .tru-colour-swatch-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
  gap: 12px !important;
  direction: ltr !important;
}

html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) .tru-colour-swatch,
html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) .variant-option__button-label {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 30px !important;
  margin: 0 !important;
}

html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) .variant-option__button-label {
  border: 1px solid #1a1a1a !important;
  border-radius: 0 !important;
}

/* Space titles are product labels, not section banners. */
#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

/* Desktop header navigation only; card typography is deliberately untouched. */
@media screen and (min-width: 990px) {
  html body .header-menu.header-menu .menu-list__link.menu-list__link,
  html body .header-menu.header-menu .menu-list__link.menu-list__link span {
    font-size: clamp(28px, 1.7vw, 34px) !important;
    line-height: 1 !important;
  }

  html body .header-menu.header-menu .menu-list.menu-list {
    column-gap: clamp(14px, 1.25vw, 24px) !important;
  }
}

/* Prevent the theme form grid from squeezing dynamic swatches into the right half. */
html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) form,
html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) fieldset {
  display: block !important;
}

html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) .tru-colour-swatch.tru-colour-swatch .variant-option__button-label.variant-option__button-label {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  border: 1px solid  #1a1a1a !important;
  outline: 0 !important;
  box-shadow: none !important;
}html body main product-card .product-card__colour-swatches:has(.tru-colour-swatch-list) .tru-colour-swatch.tru-colour-swatch .variant-option__button-label.variant-option__button-label {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  border: 1px solid #1a1a1a !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* One exact outline standard for every visible colour chip. */
html body main product-card .product-card__colour-swatches .tru-colour-static-chip.tru-colour-static-chip,
html body main product-card .product-card__colour-swatches.product-card__colour-swatches::before,
html body main product-card .product-card__colour-swatches.product-card__colour-swatches::after,
html body main product-card .product-card__colour-swatches .tru-colour-swatch.tru-colour-swatch .variant-option__button-label.variant-option__button-label {
  box-sizing: border-box !important;
  border-top: 1px solid #1a1a1a !important;
  border-right: 1px solid #1a1a1a !important;
  border-bottom: 1px solid #1a1a1a !important;
  border-left: 1px solid #1a1a1a !important;
  outline: 0 !important;
  box-shadow: none !important;
  background-clip: padding-box !important;
}border: 1px solid  #1a1a1a !important;border: 0 !important;: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  border: 1px solid #1a1a1a !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Match Space title rows to the clean Items title row. */
#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  position: relative !important;
  left: 2px !important;
  width: calc(100% - 2px) !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
}

  #shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p,
  #shopify-section-template--29509606310221__product_list_KRMmHR product-card a[ref="productTitleLink"] p {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}  text-align: left !important;
}

html body main product-card .group-block-content > product-price > * {
  transform: translateX(12px) !important;
}

#shopify-section-template--29509606310221__product_list_DnDhQy product-card a[ref="productTitleLink"] p {
  transform: translateX(-2px) !important;
}



/* Keep the homepage MORE tab behind modal drawers. */
body:has(#cart-drawer[open]) .tru-scroll-sticker {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


/* Optically center the two lower homepage bar labels only. */
.tru-home-bar-link {
  transform: translateY(-0.1em);
}


/* TRU editorial-page typography normalization. Scoped away from products, cards, collections, homepage bars, and navigation. */
main .section.page-width-content { padding-top: 8px !important; }
main .section.page-width-content > .section-content-wrapper { gap: 12px; }
main .section.page-width-content p { line-height: 1.4; }



/* TRU: zero-latency desk
top navigation hover. */
@media (hover: hover) and (pointer: fine) and (min-width: 990px) {
  .header-menu .menu-list__link,
  .header-menu .menu-list__link span {
    transition: none !important;
    transition-delay: 0s !important;
    animation: none !important;
  }
}

/* Hats launch navigation markers */
header-component a[href$="/collections/hats"] {
  position: relative;
}
header-component a[href$="/collections/hats"]::before {
  content: "✱";
  position: absolute;
  left: 50%;
  top: -12px;
  transform: translateX(-50%) rotate(-4deg);
  z-index: 2;
  padding: 1px 4px;
  border: 1.5px solid currentColor;
  background: #ffe33b;
  color: #111;
  font-family: var(--font-heading--family);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .06em;
  white-space: nowrap;
  pointer-events: none;
}

.header-menu .menu-list__list-item[slot="more"] {
  display: none !important;
}


/* Orchid Beanie launch stickers */
header-component a[href$="/collections/hats"]::before {
  top: -16px;
  padding: 2px 7px;
  border-width: 2px;
  font-size: 12px;
}

product-card:has(> a.product-card__link[href*="/products/orchid-beanie"]) {
  position: relative;
}

product-card:has(> a.product-card__link[href*="/products/orchid-beanie"])::before,
product-component[view-event-payload*="orchid-beanie"] > .product-information__media::before {
  
  
  /* TRU Hats launch marker: hand-drawn purple asterisk */
  header-component a[href$="/collections/hats"]::before {
    right: -0.18em;
      left: auto;
        top: -0.32em;
          padding: 0;
            border: 0;
              background: transparent;
                color: #c6a0ff;
                  font-family: cursive;
                    font-size: 0.52em;
                      font-weight: 700;
                        line-height: 1;
                          letter-spacing: 0;
                            transform: rotate(10deg);
                            }

                            /* TRU: valid neutral colour for the Heather Grey product swatch */
                            li.tru-colour-swatch--heather-grey {
                              --tru-colour: #b7b7b7 !important;
                              }


                              
  color: #111;
  font-family: var(--font-heading--family);
  font-size: clamp(15px, 1.2vw, 20px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .06em;
  white-space: nowrap;
  transform: rotate(-4deg);
  pointer-events: none;
}

product-component[view-event-payload*="orchid-beanie"] > .product-information__media {
  position: relative;
}

@media screen and (max-width: 749px) {
  header-component a[href$="/collections/hats"]::before {
    top: -14px;
    font-size: 11px;
  }

  product-card:has(> a.product-card__link[href*="/products/orchid-beanie"])::before,
  product-component[view-event-payload*="orchid-beanie"] > .product-information__media::before {
    top: 10px;
    left: 10px;
    padding: 5px 8px;
    border-width: 2px;
    box-shadow: 3px 3px 0 #111;
    font-size: 14px;
  }
}


/* Keep the enlarged navigation badge fully inside the header */
header-component a[href$="/collections/hats"]::before {
  top: -9px;
}

@media screen and (max-width: 749px) {
  header-component a[href$="/collections/hats"]::before {
    top: -8px;
  }
}


/* Desktop page rhythm: tighter first fold, consistent across page types */
@media screen and (min-width: 750px) {
  /* Collection pages: reduce both the header-to-title and description-to-filters gaps. */
  main[data-template="collection"] .section-content-wrapper {
    --padding-block-start: 28px !important;
    --padding-block-end: 28px !important;
            margin-top: -13px !important;


        padding-top: 28px !important;
  }

    /* Contact: match the standard page top spacing. */
      body main#MainContent[data-template="page.contact"] > .shopify-section:first-child .section-content-wrapper {
          margin-top: -20px !important;
            }

              /* Hats NEW sticker: larger and closer to the navigation label. */
                header-component a[href$="/collections/hats"]::before {
                    top: -8px;
                        padding: 2px 6px;
                            font-size: 11px;
                              }


  /* Product pages: bring the product title block closer to the header. */
  main[data-template^="product"] .product-details {
    padding-top: 16px !important;
  }

  main[data-template^="product"] .product-details > .group-block:first-child {
    --padding-block-start: 16px !important;
    padding-top: 16px !important;
  }

  /* About and footer-linked editorial pages: only reduce the first top gap. */
  main[data-template^="page."]
    > .shopify-section
    > section[class*="tru-"] {
    padding-top: 28px !important;
  }
}

/* TRU Hats marker final cascade override */
header-component a[href$="/collections/hats"]::before {
  right: -0.18em !important;
    left: auto !important;
      top: -0.32em !important;
        padding: 0 !important;
          border: 0 !important;
            background: transparent !important;
              color: #c6a0ff !important;
                font-family: cursive !important;
                  font-size: 0.52em !important;
                    font-weight: 700 !important;
                      line-height: 1 !important;
                        letter-spacing: 0 !important;
                          transform: rotate(10deg) !important;
                          }

                          /* TRU Heather Grey swatch final cascade override */
                          li.tru-colour-swatch--heather-grey,
                          li.tru-colour-swatch--heather-grey .tru-colour-chip {
                            --tru-colour: #b7b7b7 !important;
                              background-color: #b7b7b7 !important;
                              }


                              /* TRU Hats marker visual-size refinement */
                              header-component a[href$="/collections/hats"]::before {
                                right: -0.16em !important;
                                  top: -0.42em !important;
                                    font-size: 0.8em !important;
                                    }


                                    /* TRU Hats marker final position and outline */
                                    header-component a[href$="/collections/hats"]::before {
                                      top: -0.08em !important;
                                        -webkit-text-stroke: 1px #111 !important;
                                          paint-order: stroke fill !important;
                                          }

                                          
                                          
/* Final home Items width + Memories hover */
#shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header{padding-inline:0!important}#shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header>*{width:100%!important;max-width:none!important}.tru-drop-title--memories,product-card:has(a[href*="-pizza-unisex-tee"]) .product-card__content{transition:background-color .18s ease!important}.tru-drop-title--memories:hover,.tru-drop-title--memories:focus-within,product-card:has(a[href*="-pizza-unisex-tee"]):hover .product-card__content{background-color:#e7ccfa!important}

/* Final Memories hover colour override */
html body main .tru-drop-title--memories:hover,html body main .tru-drop-title--memories:focus-within,html body main product-card:has(a[href*="-pizza-unisex-tee"]):hover .product-card__content{background-color:#e7ccfa!important}
/* Home category colour and interaction system *//* Homepage category bars: full-width link target */
#MainContent .tru-drop-title {
  padding: 0 !important;
}

#MainContent .tru-drop-title .tru-drop-title__link {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 85px !important;
  padding: 16px 20px 12px !important;
  color: inherit !important;
  cursor: pointer;
  text-decoration: none !important;
}

#MainContent .section-resource-list__header:has(.tru-home-bar-link) {
  padding: 0 !important;
}

#MainContent .section-resource-list__header:has(.tru-home-bar-link) .tru-home-bar-link {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 78px !important;
  padding: 16px 20px 12px !important;
  color: inherit !important;
  cursor: pointer;
  text-decoration: none !important;
}

/* Home category colour and interaction system *//* Homepage category bars: exact Space reference geometry for every section */
#MainContent .tru-drop-title {
  height: 78px !important;
  min-height: 78px !important;
  padding: 0 !important;
}
#MainContent .tru-drop-title .tru-drop-title__link {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 78px !important;
  min-height: 78px !important;
  padding: 16px 20px 12px !important;
}

/* /* Homepage category bars: exact Space reference geometry for every section */
#MainContent .tru-drop-title {
  height: 78px !important;
  min-height: 78px !important;
  padding: 0 !important;
}
#MainContent .tru-drop-title .tru-drop-title__link {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 78px !important;
  min-height: 78px !important;
  padding: 16px 20px 12px !important;
}

/* Homepage category bars: match Space sizing and vertical type alignment */ */
@media screen and (min-width: 750px) {
  #MainContent .tru-drop-title {
    height: 78px !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  #MainContent .tru-drop-title .tru-drop-title__link {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 20px !important;
  }

  #MainContent #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header {
    height: 78px !important;
    min-height: 78px !important;
    padding: 0 !important;
  }

  #MainContent #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header > * {
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  #MainContent #shopify-section-template--29639282164045__product_list_KRMmHR .tru-home-bar-link {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 20px !important;
  }
}

#shopify-section-template--29639282164045__product_list_KRMmHR h3 { background-color:  #ceffb8 !important; }
#MainContent #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header rte-formatter { width: 100% !important; height: 78px !important; min-height: 78px !important; }
#MainContent #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header h3 { width: 100% !important; height: 78px !important; min-height: 78px !important; margin: 0 !important; padding: 0 !important; }
#MainContent #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header .tru-home-bar-link { display: block !important; box-sizing: border-box !important; width: 100% !important; height: 78px !important; min-height: 78px !important; padding: 16px 20px 12px !important; }
/* Home category colour and interaction system */
                                          #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title,
                                          #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header,
                                          #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header {
                                            box-sizing: border-box;
                                              height: 78px;
                                                min-height: 78px;
                                                  margin: 28px 0;
                                                    padding: 0 20px;
                                                      display: flex;
                                                        align-items: center;
                                                          transition: background-color .18s ease;
                                                          }
                                                          #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title__link,
                                                          #shopify-section-template--29639282164045__product_list_DnDhQy .tru-home-bar-link,
                                                          #shopify-section-template--29639282164045__product_list_KRMmHR .tru-home-bar-link {
                                                            height: 100%;
                                                              display: flex !important;
                                                                align-items: center;
                                                                }
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--work:hover,
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--work:focus-within { background: #b6e2f4; }
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--hangout:hover,
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--hangout:focus-within { background: #ffd0d1; }
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--memories:hover,
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--memories:focus-within { background: #e0c7f5; }
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header { background: #f4b36d; }
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header:hover,
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header:focus-within { background: #ffd2a3; }
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header:hover,
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR .section-resource-list__header:focus-within { background: #e4ffd8; }

                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--work ~ .resource-list__item:has(~ .tru-drop-title--hangout) .product-card__content { background: #87c9e6; }
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--hangout ~ .resource-list__item:has(~ .tru-drop-title--memories) .product-card__content { background: #f3a1a6; }
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--memories ~ .resource-list__item .product-card__content { background: #d4a8f4; }
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .product-card__content { background: #f4b36d; }
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR .product-card__content { background: #ceffb8; }
                                                                #shopify-section-template--29639282164045__product_list_themegen .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR .product-card__content { transition: background-color .18s ease; }
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--work ~ .resource-list__item:has(~ .tru-drop-title--hangout) product-card:hover .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--work ~ .resource-list__item:has(~ .tru-drop-title--hangout) product-card:focus-within .product-card__content { background: #b6e2f4; }
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--hangout ~ .resource-list__item:has(~ .tru-drop-title--memories) product-card:hover .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--hangout ~ .resource-list__item:has(~ .tru-drop-title--memories) product-card:focus-within .product-card__content { background: #ffd0d1; }
             #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header { background-color:  #f4b36d !important; }
#MainContent #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header rte-formatter,
#MainContent #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header p,
#MainContent #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header .tru-home-bar-link { width: 100% !important; }
#MainContent #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header .tru-home-bar-link { display: block !important; box-sizing: border-box !important; }
                                                   #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--memories ~ .resource-list__item product-card:hover .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_themegen .tru-drop-title--memories ~ .resource-list__item product-card:focus-within .product-card__content { background: #e0c7f5; }
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy product-card:hover .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy product-card:focus-within .product-card__content { background: #ffd2a3; }
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR product-card:hover .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR product-card:focus-within .product-card__content { background: #e4ffd8; }

                                                                
                                                                /* Builder overrides: keep Space and Items in the shared home colour system */
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header { background-color: #f4b36d !important; }
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header:hover,
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .section-resource-list__header:focus-within { background-color: #ffd2a3 !important; }
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy .product-card__content { background-color: #f4b36d !important; }
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy product-card:hover .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_DnDhQy product-card:focus-within .product-card__content { background-color: #ffd2a3 !important; }
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR h3 { background-color: #ceffb8 !important; }
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR h3:hover,
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR h3:focus-within { background-color: #e4ffd8 !important; }
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR .product-card__content { background-color: #ceffb8 !important; }
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR product-card:hover .product-card__content,
                                                                #shopify-section-template--29639282164045__product_list_KRMmHR product-card:focus-within .product-card__content { background-color: #e4ffd8 !important; }
