/** Shopify CDN: Minification failed

Line 714:5 Cannot use type selector "svg" directly after nesting selector "&"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:cart-drawer (INDEX:3) */
.cart__drawer{
    position: fixed;
    right: 0px;
    top: 0px;
    background-color: white;
    width: 100%;
    max-width: 480px;
    height: 100dvh;
    z-index: 999;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform var(--transition-default);
  }

  html.cart-drawer-open .cart__drawer {
    transform: translateX(0);
  }

  .cart__overlay{
    position: fixed;
    right: 0px;
    top: 0px;
    background-color: white;
    width: 100dvw;
    height: 100dvh;
    background-color: var(--component-colors-alpha-alpha-black-50);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-default), visibility var(--transition-default);
  }

  html.cart-drawer-open .cart__overlay {
    opacity: 1;
    visibility: visible;
  }

  html.cart-drawer-open,
  html.cart-drawer-open body {
    overflow: hidden;
  }

  /* Compensates for the vertical scrollbar disappearing when body gets
     overflow: hidden above — without this, the page content (and the
     scrollbar's own reclaimed width) shifts right on open and back left on
     close. --scrollbar-width is measured and set once in JS on open, so this
     only ever nudges the layout while the drawer is actually open. */
  html.cart-drawer-open body {
    padding-right: var(--scrollbar-width, 0px);
  }

  .cart__header{
    width: 100%;
    background-color: var(--colors-foreground-fg-secondary);
    border-radius: 0px 0px 40px 40px;
    padding: var(--spacing-4xl);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .cart__header p, .cart__header span {
    font-family: var(--font-title);
    color: white;
    font-size: var(--font-size-display-md);
  }

  .cart__close {
    background: none;
    border: none;
    color: white;
    font-size: var(--font-size-display-md);
    line-height: 1;
    cursor: pointer;
    padding: 0;
  }

  .cart__totals{
    padding: var(--spacing-3xl) var(--spacing-4xl);
    background-color: var(--colors-background-bg-secondary);
    border-top: 1px solid var(--colors-effects-focus-rings-border-border-secondary);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
  }

  .shipping__text{
    color: var(--colors-text-text-tertiary);
    margin-bottom: var(--spacing-xl);
  }

  .subtotal__parent {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--spacing-sm);
  }
  .subtotal__parent p:first-child {
    font-weight: var(--font-weight-semibold);
  }

  .subtotal__parent .subtotal{
    font-weight: var(--font-weight-bold);
  }

  .subtotal__parent .subtotal, .subtotal__parent p:first-child{
    font-size: var(--font-size-text-md);
  }

  .cart__content {
    padding: var(--spacing-4xl);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5xl);
    flex: 1;
    min-height: 0;
    overflow-y: auto;
  }

  .empty__cart {
    padding: var(--spacing-4xl);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--spacing-sm);
    flex: 1;
    min-height: 0;
  }

  .cart__free_shiping--text span {
    font-weight: var(--font-weight-semibold);
  }

  .cart__free_shiping--text {
    text-align: center;
    font-size: var(--font-size-text-sm);
  }

  .cart__free_shipping {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xl);
  }

  .cart__free_shipping--pb{
    width: 100%;
    background-color: var(--colors-background-bg-tertiary);
  }

  .cart__free_shipping--pb, .cart__free_shipping--pb__filled{
    height: 5px;
    border-radius: 9999px;
  }

  .cart__free_shipping--pb__filled{
    width: 0%;
    background-color: var(--colors-foreground-fg-tertiary);
    position: relative;
    transition: width var(--transition-default);
  }

  .cart__free_shiping--circle{
    width: 28px;
    height: 28px;
    background-color: var(--colors-foreground-fg-tertiary);
    border-radius: 100%;
    position: absolute;
    right: -14px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cart__items {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
  }

  .cart__product {
    display: flex;
    flex-direction: row;
    gap: var(--spacing-3xl);
    align-items: center;
  }

  /* Added by JS to just the row whose Remove link was clicked (see the
     'click' listener below) — pulses to signal the row is being removed,
     without affecting any other line item. Self-clears along with the row
     once the section re-renders without it. */
  .cart__product--removing {
    animation: cart-product-removing-pulse 1s ease-in-out infinite;
    pointer-events: none;
  }

  @keyframes cart-product-removing-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
  }

  .cart__product_left{
    width: 100%;
    max-width: 150px;
  }

  .cart__product_right {
    display: flex;
    flex-grow: 1;
    flex-direction: column;
  }

  .cart__seperator{
    width: 100%;
    height: 1px;
    background-color: var(--colors-effects-focus-rings-border-border-secondary);
  }

  .cart__product_title a{
    color: var(--colors-text-text-tertiary);
    text-transform: uppercase;
    font-size: var(--font-size-text-xs);
  }

  .cart__product_variant a {
       font-weight: var(--font-weight-semibold);
  }

  .cart__product_title a, .cart__product_variant a {
    text-decoration: none;
  }

  .cart__remove_item{
    color: var(--colors-text-text-tertiary);
  }

  .cart__qty {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .cart__qty_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--colors-effects-focus-rings-border-border-primary);
    border-radius: var(--radius-xs);
    user-select: none;
    text-decoration: none;
  }
  .cart__qty_btn:first-of-type {
    border-right: none;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
  }

  .cart__qty_btn:last-of-type {
    border-left: none;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
  }

  .cart__qty_btn[aria-disabled="true"] {
    pointer-events: none;
    color: var(--colors-text-text-tertiary);
  }

  .cart__qty_input, .cart__qty_btn {
    font-size: var(--font-size-text-sm);
    font-family: var(--font-body);
    height: 35px;
  }
  
  .cart__qty_input {
    width: 40px;
    text-align: center;
    border: 1px solid var(--colors-effects-focus-rings-border-border-primary);
    border-radius: var(--radius-xs);
    font-weight: var(--font-weight-medium);
    -moz-appearance: textfield;
    font-family: var(--font-body);
    border-radius: 0px;
    border-right: 0px;
    border-left: 0px;
  }

  .cart__qty_input::-webkit-outer-spin-button,
  .cart__qty_input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .cart__item_errors {
    color: var(--colors-text-text-error-primary);
    font-size: var(--font-size-text-xs);
    margin-top: var(--spacing-xs);
    font-family: var(--font-body);
  }

  .cart__product_actions {
    display: flex;
    flex-direction:row-reverse;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: var(--spacing-md);
  }

  .empty__cart_mascot {
    width: 100px;
  }

  .empty__cart_text{
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }


  .empty__cart_title{
    width: 100px;
    margin-bottom: var(--spacing-sm);
  }
/* END_SECTION:cart-drawer */

/* START_SECTION:collection (INDEX:5) */
.collection-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
  }

  .collection-parent {
    display: flex;
    flex-direction: row;
    gap: var(--spacing-7xl);
    & .filters {
      width: 250px;
    }
    & .collection-products {
      flex: 1;
      min-width: 0;
    }
  }

  .filter__title {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    p {
      font-size: var(--font-size-text-md);
      font-weight: var(--font-weight-bold);
      text-transform: uppercase;
    }
  }

  .filter-group__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
    padding-bottom: var(--spacing-md);
    border-bottom: 1px solid var(--colors-effects-focus-rings-border-border-primary);

    &::-webkit-details-marker {
      display: none;
    }
  }

  .filter-group__title {
    font-weight: var(--font-weight-bold);
  }

  .filter-group__chevron {
    display: inline-flex;
    transform: rotate(-90deg);
    transition: transform var(--transition-default);

    svg {
      width: 16px;
      stroke: var(--colors-foreground-fg-disabled);
    }
  }

  .filter-group:not([open]) .filter-group__chevron {
    transform: rotate(90deg);
  }

  .filter-group__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    padding-top: var(--spacing-xl);
  }

  .price-range__track {
    position: relative;
    height: 4px;
    margin: var(--spacing-xl) 0 var(--spacing-sm);
    background: var(--colors-background-bg-secondary);
    border-radius: var(--radius-xs);
  }

  .price-range__track-fill {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0%;
    right: 80%;
    background: var(--colors-background-bg-brand-solid);
    border-radius: var(--radius-xs);
  }

  .price-range__handle {
    position: absolute;
    top: 50%;
    width: 16px;
    height: 16px;
    background: var(--colors-base-white);
    border: 2px solid var(--colors-background-bg-brand-solid);
    border-radius: 50%;
    transform: translate(-50%, -50%);
  }

  .price-range__bounds {
    display: flex;
    justify-content: space-between;
    font-size: var(--font-size-text-xs);
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--spacing-lg);
  }

  .price-range__inputs {
    display: flex;
    align-items: flex-end;
    gap: var(--spacing-sm);
  }

  .price-range__field {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxs);
    flex: 1;
    font-size: var(--font-size-text-xs);
    color: var(--colors-text-text-tertiary);

    input {
      border: 1px solid var(--colors-effects-focus-rings-border-border-black);
      border-radius: var(--radius-xs);
      padding: var(--spacing-sm);
      font-size: var(--font-size-text-sm);
    }
  }

  .price-range__separator {
    padding-bottom: var(--spacing-sm);
    color: var(--colors-text-text-tertiary);
  }

  .filter-groups{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xl);
    margin-top: var(--spacing-4xl);
  }
/* END_SECTION:collection */

/* START_SECTION:collections (INDEX:6) */
.collections {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--collection-card-size), 100%), 1fr));
    gap: var(--grid-gap);
  }
  .collections--compact {
    --collection-card-size: 160px;
  }
  .collections--full {
    --collection-card-size: 280px;
  }
  .collection-card {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
/* END_SECTION:collections */

/* START_SECTION:contact (INDEX:7) */
.contact {
    max-width: 500px;
    margin: 0 auto;
    position: relative;
  }

  .contact__title {
    margin-block-end: var(--spacing-8);
  }

  .contact__success {
    color: var(--colors-foreground-fg-success-primary);
    margin-block-end: var(--spacing-6);
  }

  .contact__fields {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xl);
    margin-block-end: var(--spacing-3xl);
  }

  .input-group{
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: var(--spacing-xl);
    & .form-field{
      width: 100%;
    }
  }

  .post-message{
    margin-top: var(--spacing-3xl);
    display: flex;
    flex-direction: row;
    gap: var(--spacing-md);
    padding: var(--spacing-xs);
    padding-right: var(--spacing-md);
    border-radius: var(--radius-xs);
    align-items: center;
    width: fit-content;
  }

  .post-message.post-success {
    background-color: var(--component-colors-utility-success-utility-success-500);
  }

  .post-message.post-error {
    background-color: var(--component-colors-utility-error-utility-error-500);
  }

  .post-message .contact--head__success{
    background-color: black;
    color: white;
    padding: var(--spacing-xxs) var(--spacing-md);
    border-radius: var(--radius-xs);
  }

  .post-message .contact--head__error{
    background-color: white;
    color: var(--colors-text-text-error-primary);
    padding: var(--spacing-xxs) var(--spacing-md);
    border-radius: var(--radius-xs);
  }

  .post-message .contact--body__success, .post-message .contact--body__error{
    font-weight: var(--font-weight-semibold);
  }

  .post-message .contact--body__error{
    color: white;
  }

  .contact_mascot{
    max-width: 380px;
    width: 100%;
    position: absolute;
    right: -400px;
    bottom: -100px;
    z-index: -1;
  }
/* END_SECTION:contact */

/* START_SECTION:custom-section (INDEX:8) */
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
/* END_SECTION:custom-section */

/* START_SECTION:faq (INDEX:9) */
.faq {
    max-width: var(--paragraph-max-width);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    padding: 0px var(--spacing-4xl);
  }

  .block__group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4xl);
  }

  .faq__separator {
    border: none;
    border-block-start: 1px solid var(--colors-effects-focus-rings-border-border-primary);
    margin: 0;
  }
/* END_SECTION:faq */

/* START_SECTION:footer (INDEX:10) */
.footer__main{
    background-color: var(--colors-background-bg-brand-solid);
    padding-top: var(--spacing-7xl);
    padding-bottom: var(--spacing-6xl);
    border-radius: 40px 40px 0px 0px;
  }

  .footer__wrapper{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4xl);
  }

  .easter__egg {
    text-align: center;
    padding: var(--spacing-lg) 0;
  }
  .easter__egg p{
    font-size: 16px;
    font-family: "Kojaq";
  }

  .tag__line{ 
    color: white;

  }
  .footer__menus{
    display: inline-flex;
    flex: 1;
    justify-content: space-between;
  }
  .footer__column, .footer__links{
    display: flex;
    flex-direction: column;
  }

  .footer__links{
    gap: var(--spacing-lg);
  }

  .footer__column{
    gap: var(--spacing-xl);
    & a {
      color: var(--colors-text-text-tertiary_on-brand);
      text-decoration: none;
      font-weight: var(--font-weight-medium);
      transition: color var(--transition-default);
      width: fit-content;
      &:hover{
        color: var(--colors-text-text-white);
      }
    }
    & h4 {
      font-family: "GeneralSans";
      font-weight: var(--font-weight-semibold);
      color:white;
      font-size: var(--font-size-text-sm);
    }
  }

  .footer__branding{
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);

    &svg{
      height: 130px;
    }
  }

  .footer__info{
    display: flex;
    width: 100%;
    gap: var(--spacing-10xl)
  }

  .footer__logo svg{
    fill: white;
    width: 100%;
  }

  .footer__seperator{
    width: 100%;
    height: 1px;
    background-color: var(--colors-text-text-tertiary_on-brand);

  }

  .footer__copyright p{
    color: var(--colors-text-text-tertiary_on-brand);
    font-weight: var(--font-weight-medium);
  }

  .footer__copyright__wrapper{
    display: inline-flex;
    justify-content: space-between;
    align-content: center;
  }

  .footer__copyright__wrapper .socials {
    display: inline-flex;
    gap: var(--spacing-xl);
  }

  .footer__copyright__wrapper .socials svg, .footer__copyright__wrapper .socials svg rect{
    height: 18px;
    width: 18px;
    color: white;
    opacity: 0.7;
    transition: opacity var(--transition-default);
    &:hover{
      opacity: 1;
    }
  }
/* END_SECTION:footer */

/* START_SECTION:header (INDEX:11) */
.header__cart {
    position: relative;
  }

  .js-ajax-cart-empty .header__cart_count {
    display: none;
  }

  .header__cart span {
    background-color: var(--colors-background-bg-brand-solid);
    color: white;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--radius-full);
    font-weight: var(--font-weight-semibold);
    position: absolute;
    top: -10px;
    right: -10px;
    font-size: var(--font-size-text-xs);
  }

  .header__menu_parent {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: var(--spacing-4xl);
  }
  header {
    width: 100%;
    background-color: white;
    border-bottom: 1px solid var(--colors-effects-focus-rings-border-border-primary);
    height: 80px;
  }

  header a {
    position: relative;
    text-decoration: none;
    color: var(--color-foreground);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-text-sm);
  }
  
  header a sup {
    position: absolute;
    left: 100%;
    overflow: hidden;
    max-width: var(--page-margin);
  }

  .header__parent{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
  }

  header .header__menu {
    display: flex;
    gap: var(--spacing-3xl);
  }

  header .header__menu a {
    padding-block: 6px;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    transition: background-size 0.3s ease;
  }

  header .header__menu a:hover {
    text-decoration: none;
    background-position: 0% 100%;
    background-size: 100% 1px;
  }

  header .header__icons {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
  }

  .header__icons svg{
    width: 24px;
  }

  /* Before Shopify's <shopify-account> web component registers, the browser
     just shows our plain light-DOM icon-user.svg at 24px (via the rule
     above). Once its JS upgrades the element, it replaces that with its own
     shadow-DOM avatar rendered at a different default size — a different box
     entirely, which is what shifts the cart icon next to it. Pinning the
     host's box size AND telling the component to render its avatar at that
     same size keeps the footprint identical across that transition. */
  shopify-account {
    --shopify-account-avatar-size: 24px;
    --shopify-account-signed-in-avatar-size: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
  }

  .header__icons .btn {
    margin-right: var(--spacing-xl);
  }
  .header__logo {
    width: 100px;
    display: block;
  }

  .header__logo svg {
    width: 100%;
    height: auto;
  }

  .header__logo svg path {
    fill: black;
  }
/* END_SECTION:header */

/* START_SECTION:hello-world (INDEX:12) */
.welcome {
    display: grid;
    grid-template-columns: var(--content-grid);
    background-color: #f6f6f7;
    padding: 72px 0;
  }

  .welcome-content {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 24px;
  }

  .welcome-description {
    max-width: 80ch;
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  .icon {
    width: 300px;
  }

  .highlights {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
  }

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

  .highlight {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border-radius: 8px;
    background-color: #eef3ff;
    color: rgb(92, 95, 98);
    line-height: 1.4;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight h3 {
    font-size: 1rem;
    color: rgb(32, 34, 35);
  }

  .highlight-description {
    flex: 1 1;
  }

  .highlight a {
    display: flex;
    width: fit-content;
    background-color: rgb(250, 251, 251);
    box-shadow: rgba(0, 0, 0, 0.2) 0px -3px 0px 0px inset, rgba(255, 255, 255, 0.9) 0px 2px 0px 0px inset;
    border: 1px solid rgb(140, 145, 150);
    border-radius: 4px;
    color: rgb(92, 95, 98);
    padding: 3px 10px 5px;
    text-decoration: none;
  }
/* END_SECTION:hello-world */

/* START_SECTION:password (INDEX:15) */
.pw-page img {
    max-width: initial;
  }

  .pw-pswd {
    border: none;
    padding: var(--spacing-md);
    border-radius: var(--radius-xs);
    font-family: var(--font-body);
    font-size: var(--font-size-text-sm);
  }

  .pw-form-field {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-top: var(--spacing-xl);
    max-width: 200px;
  }

  /* -------------------------------------------------------------------------- */
  /*                                  Animation                                 */
  /* -------------------------------------------------------------------------- */

  @keyframes pw-fadeUp {
      from {
          opacity: 0;
          transform: translateY(24px);
      }
      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  .pw-logo,
  .pw-content,
  .pw-marquee,
  .pw-mascot {
      opacity: 0;
      animation: pw-fadeUp 0.6s ease forwards;
  }

  .pw-logo    { animation-delay: 0s; }
  .pw-content { animation-delay: 0.15s; }
  .pw-marquee { animation-delay: 0.3s; }
  .pw-mascot  { animation-delay: 0.45s; }

  /* -------------------------------------------------------------------------- */
  /*                                   Styling                                  */
  /* -------------------------------------------------------------------------- */

  .password-body {
      margin: 0;
      height: 100vh;
      overflow: hidden;
      background: var(--colors-brand-500);
  }

  .shopify-section:has(.pw-page) {
    max-width: none;
    padding: 0;
    margin: 0;
  }

  .pw-page {
      font-weight: 500;
      color: white;
      height: 100vh;
      padding: 64px;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-direction: column;
      max-width: 100vw;
  }

  .pw-logo {
      width: 115px;
  }

  .pw-heading {
      font-size: var(--font-size-display-xl);
      line-height: var(--text-heading);
      font-weight: normal;
      margin: 0px;
  }

  .pw-message {
      margin: 0px;
  }

  .pw-message,
  .pw-message__link {
      color: var(--colors-text-text-tertiary_on-brand);
      text-transform: uppercase;
      font-weight: var(--font-weight-semibold);
      font-size: var(--font-size-text-md);
  }

  .pw-message__link:hover {
      cursor: url("./cursor_hover.svg") 12 12, auto;
  }

  .pw-content,
  .pw-socials,
  .pw-marquee {
      text-align: center;
      justify-content: center;
  }

  .pw-mascot {
      width: 320px;
      position: absolute;
      bottom: -100px;
      right: -50px;
  }

  .pw-mascot--mobile {
      display: none;
      height: 150px;
      margin: 0 auto;
      margin-bottom: var(--spacing-3xl);
  }

  .pw-socials {
      display: flex;
      gap: var(--spacing-lg);
      align-items: center;
      margin-top: var(--spacing-3xl);
  }

  /* -------------------------------------------------------------------------- */
  /*                                    Logos                                   */
  /* -------------------------------------------------------------------------- */

  .pw-marquee__flm {
      height: 50px;
  }

  .pw-marquee__pnp, .pw-marquee__choppies {
      height: 30px;
  }

  .pw-marquee__bp {
    height: 70px;
  }

  .pw-marquee__lr {
      height: 35px;
  }

  /* -------------------------------------------------------------------------- */
  /*                               Responsiveness                               */
  /* -------------------------------------------------------------------------- */

  /* Large desktop (≤1536px) */
  @media (max-width: 1536px) {

  }

  /* Desktop (≤1280px) */
  @media (max-width: 1280px) {

  }

  /* Small desktop / large tablet (≤1024px) */
  @media (max-width: 1024px) {
      .pw-heading {
          font-size: 54px;
          line-height: 54px;
      }
      .pw-message__break {
          display: none;
      }
      .pw-page {
          padding: 48px;
      }
      .pw-message,
      .pw-message__link {
        margin-top: var(--spacing-md);
      }
  }

  /* Tablet (≤768px) */
  @media (max-width: 768px) {
      .pw-heading {
          font-size: 40px;
          line-height: 40px;
      }
      .pw-mascot {
          display: none;
      }
      .pw-mascot--mobile {
          display: block;
          height: 100px;
      }
      .pw-mascot--mobile {
          height: 130px;
      }
      .pw-message,
      .pw-message__link {
          font-size: 14px;
      }
      .pw-page {
          padding: 32px;
      }

      .pw-marquee__flm {
          height: 40px;
      }

      .pw-marquee__pnp, .pw-marquee__choppies {
          height: 20px;
      }

      .pw-marquee__bp {
      height: 60px;
      }

      .pw-marquee__lr {
          height: 25px;
      }

  }

  /* Mobile landscape / large phones (≤480px) */
  @media (max-width: 480px) {
      .pw-mascot--mobile {
          height: 100px;
      }
      .pw-heading {
          margin-bottom: var(--spacing-xl);
      }
  }
/* END_SECTION:password */

/* START_SECTION:policy (INDEX:16) */
.policy {
    max-width: var(--paragraph-max-width);
    margin: 0 auto;
  }

  .policy__title {
    font-size: var(--font-size-display-md);
  }

  .policy__body {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
  }

  .policy__body h2,
  .policy__body h3 {
    margin-block-start: var(--spacing-xl);
    &:first-of-type {
      margin-block-start: var(--spacing-3xl);
    }
    & > * {
      font-family: var(--font-body);
      font-weight: var(--font-weight-semibold);
      font-size: var(--font-size-text-lg);
    }
  }

  .policy__body a {
    color: var(--colors-foreground-fg-secondary);
    text-decoration: underline;
    font-weight: var(--font-weight-semibold);
  }

  .policy__body a:hover {
    color: var(--colors-foreground-fg-secondary_hover);
  }

  .policy__body ul,
  .policy__body ol {
    padding-inline-start: var(--spacing-6);
  }

  .policy__body .last-updated {
    order: -1;
    color: var(--colors-text-text-tertiary);
    font-weight: var(--font-weight-medium);
  }

  .policy__body table {
    table-layout: fixed;
    border-collapse: collapse;
  }

  .policy__body th, .policy__body th > * {
    font-weight: var(--font-weight-semibold);
  }

  .policy__body th {
    background-color: var(--colors-background-bg-secondary);
    text-align: left;
    padding: var(--spacing-2xl) var(--spacing-3xl);
    border: 1px solid var(--colors-effects-focus-rings-border-border-primary);
  }

  .policy__body td {
    padding: var(--spacing-3xl);
    border: 1px solid var(--colors-effects-focus-rings-border-border-primary);
    vertical-align: top;
  }

  .policy__body strong {
    font-weight: var(--font-weight-bold);
  }

  .policy__body ul,
  .policy__body ol {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
  }
/* END_SECTION:policy */

/* START_SECTION:search (INDEX:18) */
.search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .search-results .prev,
  .search-results .page,
  .search-results .next {
    grid-column: 1 / -1;
  }
/* END_SECTION:search */

/* START_SECTION:store-locator (INDEX:19) */
.store {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
  }
  .store-locator {
    display: flex;
    flex-direction: row;
    margin-block: calc(-1 * var(--spacing-7xl));
    height: calc(100svh - var(--header-height, 0px));
  }

  .info__parent {
    width: 500px;
    flex-shrink: 0;
    height: 100%;
    padding: var(--spacing-7xl) var(--spacing-4xl);
    overflow-y: auto;
    box-sizing: border-box;
    padding-left: 0px;
  }

  .map__parent {
    flex: 1;
    min-width: 0;
    position: relative;
  }

  .store__name{
    margin-bottom: var(--spacing-xs);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-text-md);
  }

  .store__address{
    color: var(--colors-text-text-tertiary);
    margin-bottom: var(--spacing-xs);
  }

  .store__status__wrapper {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);

    & > p {
      color: var(--colors-text-text-tertiary);
    }
  }

  .distance__wrapper {
    display: none;
  }

  .store-locator--located .distance__wrapper {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    & svg {
      width: 20px;
    }

  }

  .store__distance {
    font-size: var(--font-size-text-sm);
  }

  .store__status {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-text-sm);
    color: var(--colors-text-text-tertiary);
&[data-open="true"] {
      color: var(--colors-text-text-success-primary);
    }
    &[data-open="false"] {
      color: var(--colors-text-text-brand-primary);
    }
  }

  .store{
    transform: translateX(calc(-1 * var(--spacing-4xl)));
    padding: var(--spacing-xl) var(--spacing-4xl);
    border-radius: var(--radius-xs);
    transition: background-color var(--transition-default);
    &:hover {
      background-color: var(--colors-background-bg-secondary);
      cursor: pointer;
    }
  }

  .location-dot {
    width: 12px;
    height: 12px;
    background: var(--colors-background-bg-brand-solid);
    border-radius: 50%;
    position: relative;
    &::before,
    &::after {
      content: '';
      position: absolute;
      inset: -6px;
      background: var(--colors-brand-200);
      border-radius: 50%;
      animation: location-pulse 2s ease-out infinite;
      z-index: -1;
    }
    &::before {
      animation-delay: 1s;
    }
  }

  @keyframes location-pulse {
    0%   { transform: scale(0.5); opacity: 1; }
    100% { transform: scale(2);   opacity: 0; }
  }

  .map__location-btn {
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 1px solid var(--colors-border-border-secondary);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: background-color var(--transition-default);
    padding: 0;
  }

  #map {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: calc(-1 * (max(0px, (100vw - var(--container-max-width-desktop)) / 2) + var(--container-padding-desktop)));
  }
/* END_SECTION:store-locator */

/* START_SECTION:subheader (INDEX:20) */
.subheader{
        background-color: var(--colors-background-bg-tertiary);
        height: 40px;
        display: inline-flex;
        align-items: center;
    }

    .subheader__wrapper{
        display: inline-flex;
        gap: var(--spacing-lg);
        justify-content: right;
    }

    .subheader span, .subheader a{
        font-size: var(--font-size-text-xs);
        color: var(--colors-text-text-tertiary);
        font-weight: var(--font-weight-medium);
    }

    .subheader a{
        text-decoration: none;
        transition: color var(--transition-default);

        &:hover{
            color: var(--colors-text-text-primary);
        }
    }
/* END_SECTION:subheader */

/* CSS from block stylesheet tags */
/* START_BLOCK:faq-group (INDEX:21) */
.faq__group-header {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    margin-block-end: var(--spacing-4);
  }

  .faq__group-title {
    font-family: var(--font-body);
    font-size: var(--font-size-text-lg);
    font-weight: var(--font-weight-semibold);
  }

  .faq__group-subtext {
    font-size: var(--font-size-text-sm);
    color: var(--colors-text-text-tertiary);
  }

  .faq__group-items {
    display: flex;
    flex-direction: column;
  }
/* END_BLOCK:faq-group */

/* START_BLOCK:faq-item (INDEX:22) */
.faq__question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    color: var(--colors-text-text-primary);
    gap: var(--spacing-8);
    padding: var(--spacing-2xl) 0px;
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-text-sm);
    position: relative;
    font-family: var(--font-body);
  }

  .faq__question::before {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline: -25px;
    background: var(--colors-background-bg-secondary);
    border-radius: var(--radius-xs);
    z-index: -1;
    opacity: 0;
    transition: opacity var(--transition-default);
  }

  .faq__question:hover::before,
  .faq__question--active::before {
    opacity: 1;
  }

  .faq__icon {
    flex-shrink: 0;
    position: relative;
    color: var(--colors-foreground-fg-secondary);
    border: 2px solid var(--colors-foreground-fg-secondary);
    border-radius: 5px;
    padding: 8px;
  }

  .faq__question--active .faq__icon {
    background-color: var(--colors-foreground-fg-secondary);
    color: white;
    transition: all var(--transition-default);
  }

  .faq__icon::before,
  .faq__icon::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: var(--radius-full);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .faq__icon::before {
    width: 8px;
    height: 2px;
  }

  .faq__icon::after {
    width: 2px;
    height: 8px;
    transition: transform var(--transition-default), opacity var(--transition-default);
  }

  .faq__question--active .faq__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
  }

  .faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-default);
  }

  .faq__answer-inner {
    padding-top: var(--spacing-2xl);
    padding-bottom: var(--spacing-2xl);
    font-size: var(--font-size-text-sm);
    color: var(--colors-text-text-tertiary);
  }

  .faq__answer-inner a {
    color: var(--colors-brand-500);
    font-weight: var(--font-weight-semibold);
  }
/* END_BLOCK:faq-item */

/* START_BLOCK:group (INDEX:23) */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
/* END_BLOCK:group */

/* START_BLOCK:text (INDEX:24) */
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }
/* END_BLOCK:text */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:add-to-cart-button (INDEX:25) */
.collection-product .btn {
    width: 100%;
    margin-top: var(--spacing-2xl);
  }

  /* Mirrors the button component's .btn--loading look, keyed off Liquid Ajax
     Cart's own `processing` attribute instead of a JS-toggled class. */
  ajax-cart-product-form[processing] .btn {
    cursor: wait;
    pointer-events: none;
  }

  ajax-cart-product-form[processing] .btn__icon {
    display: none;
  }

  ajax-cart-product-form[processing] .btn__spinner {
    display: block;
  }

  .add-to-cart-form__errors {
    color: var(--colors-text-text-error-primary);
    font-size: var(--font-size-text-xs);
    margin-top: var(--spacing-xs);
  }
/* END_SNIPPET:add-to-cart-button */

/* START_SNIPPET:age-verification (INDEX:26) */
html[data-age-verified] .age__verification__wrapper {
    display: none;
  }

  .mascot {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translate(-50%, -100%);
  }

  .mascot svg {
    height: 130px;
    width: auto;
    display: block;
  }

  .age__verification__wrapper{
    position: relative;
    z-index: 9999;
  }
  .age__buttons{
    display: inline-flex;
    gap: var(--spacing-md);
  }

  .age__verification__positioner {
    position: relative;
  }

  .age__verification {
    padding: var(--spacing-5xl) var(--spacing-7xl);
    background: white;
    border-radius: var(--radius-xs);
    position: fixed;
    inset: 0;
    margin: auto;
    height: fit-content;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 550px;
    gap: var(--spacing-3xl);
  }

  .age__heading {
    font-family: var(--font-title);
    font-size: var(--font-size-display-md);
    text-align: center;
  }

  .age__body{
    color: var(--colors-text-text-tertiary);
    text-align: center;
  }

  .age__info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  .backdrop {
    position: fixed;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    background-color: black;
    opacity: 90%;
    top: 0;
    left: 0;
  }
/* END_SNIPPET:age-verification */

/* START_SNIPPET:breadcrumb (INDEX:27) */
.breadcrumb {
    margin-bottom: var(--spacing-xs);
  }

  .breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .breadcrumb__item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--font-size-text-sm);
    color: var(--colors-text-text-tertiary);
  }

  .breadcrumb__item svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
  }

  .breadcrumb__item:has(+ .breadcrumb__item:last-child) svg {
    color: var(--colors-base-black);
  }

  .breadcrumb__link {
    color: var(--colors-text-text-tertiary);
    text-decoration: none;
    transition: color var(--transition-default);
  }

  .breadcrumb__link:hover {
    color: var(--colors-text-text-primary);
  }

  .breadcrumb__current {
    color: var(--colors-text-text-primary);
    font-weight: var(--font-weight-semibold)
  }

  .breadcrumb__current, .breadcrumb__link {
    text-transform: uppercase;
    font-size: var(--font-size-text-xs);
  }
/* END_SNIPPET:breadcrumb */

/* START_SNIPPET:button (INDEX:28) */
.btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: var(--radius-xs);
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    height: fit-content;
    transition: background var(--transition-default), color var(--transition-default), border-color var(--transition-default), opacity var(--transition-default);
    gap: var(--spacing-xs);
  }

  .btn span {
    font-weight: var(--font-weight-semibold);
  }

  /* Sizes */
  .btn--sm { padding: var(--spacing-md) var(--spacing-lg);  font-size: var(--font-size-text-sm); }
  .btn--md { padding: 10px 14px; font-size: var(--font-size-text-sm); }
  .btn--lg { padding: 10px 16px; font-size: var(--font-size-text-md); }
  .btn--xl { padding: 12px 18px; font-size: var(--font-size-text-md); }

  /* Primary */
  .btn--primary { background: var(--colors-background-bg-brand-solid); color: var(--colors-base-white); border-color: var(--colors-background-bg-brand-solid); }
  .btn--primary:hover { background: var(--colors-background-bg-brand-solid_hover); border-color: var(--colors-background-bg-brand-solid_hover); }
  
  /* Primary Outlined */
  .btn--primary-outline { background: transparent; color: var(--colors-text-text-brand-primary); border-color: var(--colors-background-bg-brand-solid); }
  .btn--primary-outline:hover { background: var(--colors-background-bg-brand-solid); color: var(--colors-text-text-white)}

  /* Secondary */
  .btn--secondary { background: transparent; color: var(--colors-text-text-secondary); border-color: var(--colors-effects-focus-rings-border-border-black); }
  .btn--secondary:hover { background: var(--colors-background-bg-primary_alt); color: var(--colors-text-text-white); }

  /* Secondary Filled */
  .btn--secondary-filled { background: var(--colors-background-bg-primary_alt); color: var(--colors-base-white); border-color: var(--colors-effects-focus-rings-border-border-black); }
  .btn--secondary-filled:hover { background: var(--colors-background-bg-primary_alt); color: var(--colors-text-text-white); }

  /* Tertiary */
  .btn--tertiary { background: transparent; color: var(--colors-text-text-quaternary); border-color: var(--colors-foreground-fg-tertiary); }
  .btn--tertiary:hover { background: var(--colors-background-bg-quaternary); color: var(--colors-text-text-white)}

  /* Tertiary Filled */
  .btn--tertiary-filled { background: var(--colors-background-bg-quaternary); color: var(--colors-text-text-white); border-color: var(--colors-foreground-fg-tertiary); }
  .btn--tertiary-filled:hover { background: var(--colors-background-bg-quaternary); color: var(--colors-text-text-white)}


  /* Link */
  .btn--link { background: transparent; color: var(--colors-text-text-secondary); border-color: transparent; padding-inline: 0; }
  .btn--link:hover { color: var(--colors-text-text-secondary); }

  /* Disabled */
  .btn--disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }

  /* Icons */
  .btn__icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }

  .btn__icon svg {
    width: 20px;
  }
  
  .btn__icon svg path {
    fill: none;
    stroke: currentColor;
  }

  /* Loading */
  .btn--loading { cursor: wait; pointer-events: none; }
  .btn--loading .btn__icon { display: none; }

  .btn__spinner {
    display: none;
  }
  .btn--loading .btn__spinner { display: block; }
/* END_SNIPPET:button */

/* START_SNIPPET:cookie-consent (INDEX:29) */
.cookie__consent{
        padding: var(--spacing-4xl);
        background-color: var(--colors-background-bg-secondary);
        border-radius: var(--radius-xs);
        max-width: 600px;
        width: 100%;
        display: none;
        flex-direction: column;
        gap: var(--spacing-sm);
        position: fixed;
        bottom: 30px;
        left: 30px;
        z-index: 9999;
        & h6{
            font-size: var(--font-size-text-lg);
            font-family: "GeneralSans";
            font-weight: var(--font-weight-bold);
        }
    }

    .cookie__info {
        display: flex;
        gap: var(--spacing-4xl);
        color: var(--colors-text-text-tertiary);
    }

    .cookie__buttons {
        display: flex;
        gap: var(--spacing-md);
    }
/* END_SNIPPET:cookie-consent */

/* START_SNIPPET:form-choice (INDEX:31) */
.form-choice {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    cursor: pointer;

    input[type="radio"],
    input[type="checkbox"] {
      appearance: none;
      margin: 0;
      width: 16px;
      height: 16px;
      border: 1px solid var(--colors-effects-focus-rings-border-border-black);
      display: grid;
      place-content: center;
      cursor: pointer;
      transition: border-color var(--transition-default), background-color var(--transition-default);

      &::before {
        content: "";
        transform: scale(0);
        transition: 120ms transform ease-in-out;
      }

      &:checked {
        border-color: var(--colors-background-bg-brand-solid);
      }

      &:checked::before {
        transform: scale(1);
      }

      &:focus-visible {
        outline: 2px solid var(--colors-background-bg-brand-solid);
        outline-offset: 2px;
      }
    }

    input[type="radio"] {
      border-radius: 50%;

      &::before {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: var(--colors-background-bg-brand-solid);
      }
    }

    input[type="checkbox"] {
      position: relative;
      border-radius: var(--radius-xs);

      &::before {
        content: none;
      }

      &:checked {
        background-color: var(--colors-background-bg-brand-solid);
        animation: form-choice-shrink-bounce 200ms cubic-bezier(0.4, 0, 0.23, 1);
      }

      &:checked::before {
        content: "";
        position: absolute;
        top: 48%;
        left: 17%;
        width: 2px;
        height: 0;
        border-right: 2px solid transparent;
        border-bottom: 2px solid transparent;
        transform: translate3d(0, 0, 0) rotate(45deg);
        transform-origin: 0% 100%;
        animation: form-choice-checkbox-check 125ms 250ms cubic-bezier(0.4, 0, 0.23, 1) forwards;
      }
    }
  }

  @keyframes form-choice-shrink-bounce {
    0% {
      transform: scale(1);
    }
    33% {
      transform: scale(0.85);
    }
    100% {
      transform: scale(1);
    }
  }

  @keyframes form-choice-checkbox-check {
    0% {
      width: 2px;
      height: 0;
      border-color: var(--colors-base-white);
      transform: translate3d(0, 0, 0) rotate(45deg);
    }
    33% {
      width: 2px;
      height: 0;
      transform: translate3d(0, 0, 0) rotate(45deg);
    }
    100% {
      width: 2px;
      height: 6px;
      border-color: var(--colors-base-white);
      transform: translate3d(0, -6px, 0) rotate(45deg);
    }
  }
/* END_SNIPPET:form-choice */

/* START_SNIPPET:image (INDEX:32) */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }
/* END_SNIPPET:image */

/* START_SNIPPET:input (INDEX:33) */
.form-field {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  .form-field label {
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-text-sm);
  }

  .form-field input,
  .form-field textarea {
    width: 100%;
    padding: var(--spacing-3) var(--spacing-4);
    border: 1px solid var(--colors-effects-focus-rings-border-border-primary);
    border-radius: var(--radius-xs);
    font-size: var(--font-size-text-sm);
    font-family: var(--font-body);
    font-weight: var(--font-weight-medium);
    outline: none;
  }

  .form-field input:focus,
  .form-field textarea:focus {
    border-color: var(--colors-effects-focus-rings-focus-ring);
  }

  .form-field textarea {
    resize: none;
  }

  .form-field span {
    font-weight: var(--font-weight-bold);
    color: var(--colors-text-text-brand-tertiary);
  }

  .form-field .error-message {
    color: var(--colors-text-text-error-primary);
  }
/* END_SNIPPET:input */

/* START_SNIPPET:page-header (INDEX:35) */
.page-header {
    margin-block-end: var(--spacing-5xl);
  }

  .page-header__title{
    font-size: var(--font-size-display-md);
  }

  .page-header__subtext {
    margin-block-start: var(--spacing-xs);
    color: var(--colors-text-text-tertiary);
  }
  .page-header__subtext a {
    font-weight: var(--font-weight-semibold);
    color: var(--colors-text-text-brand-primary);
  }
/* END_SNIPPET:page-header */

/* START_SNIPPET:product-card-badge (INDEX:36) */
.product__badges {
        position: absolute;
        top: 16px;
        right: 16px;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: var(--spacing-sm);
        z-index: 2;
    }

    .product__badge {
    font-family: var(--font-title);
    text-transform: uppercase;
    font-size: var(--font-size-text-xs);
    padding: var(--spacing-xxs) var(--spacing-sm);
    color: white;
    border-radius: var(--radius-xs);

        &.badge--sale{
            background-color: var(--colors-background-bg-brand-solid);
        }

        &.badge--oos{
            background-color: var(--component-colors-utility-gray-utility-gray-400);
        }

        &.badge--new{
            background-color: var(--colors-background-bg-quaternary);
        }
    }
/* END_SNIPPET:product-card-badge */

/* START_SNIPPET:product-card-image (INDEX:37) */
.product-card-image {
    position: relative;
    display: block;
    overflow: hidden;
  }

  .product-card-image__img {
    background-color: var(--colors-background-bg-secondary);
    padding: var(--spacing-xl);
    border-radius: var(--radius-sm);
    width: 100%;
    height: auto;
    display: block;
    opacity: 0;
    transition: opacity 0.4s ease;
  }

  .product-card-image__img.product-card-image__img--loaded {
    opacity: 1;
  }

  .product-card-image__img--sold-out.product-card-image__img--loaded {
    opacity: 70%;
  }

  .product-card-image__img--instant {
    opacity: 1;
    transition: none;
  }

  .product-card-image__img--instant.product-card-image__img--sold-out {
    opacity: 70%;
  }

  /* Logo placeholder shown while the (often lazy-loaded) image is still
     loading — pulses, then fades out once the image gets --loaded (its
     load/error listener, see the javascript block below). Must come after
     the <img> in markup for this sibling selector to reach it. Sits below
     the badge/flavour-panel overlays (both z-index: 2). */
  .product-card-image__placeholder {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-4xl);
    background-color: var(--colors-background-bg-secondary);
    border-radius: var(--radius-sm);
    animation: product-card-image-pulse 1.5s ease-in-out infinite;
    transition: opacity 0.4s ease;
    pointer-events: none;
  }

  .product-card-image__placeholder svg {
    width: 60%;
    height: auto;
  }

  .product-card-image__placeholder svg path {
    fill: var(--colors-effects-focus-rings-border-border-primary);
  }

  .product-card-image__img--loaded ~ .product-card-image__placeholder {
    opacity: 0;
    animation: none;
  }

  @keyframes product-card-image-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.2; }
  }

  /* Static fallback when the variant/product has no image at all — no
     animation, nothing is "loading". */
  .product-card-image__no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 290px;
    padding: var(--spacing-4xl);
    background-color: var(--colors-background-bg-secondary);
    border-radius: var(--radius-sm);
  }

  .product-card-image__no-image svg {
    width: 60%;
    height: auto;
  }

  .product-card-image__no-image svg path {
    fill: var(--colors-effects-focus-rings-border-border-primary);
  }
/* END_SNIPPET:product-card-image */

/* START_SNIPPET:product-card-info (INDEX:38) */
.product__title a{
    text-decoration: none;
    color: var(--colors-text-text-tertiary);
    font-size: var(--font-size-text-xs);
  }

  .product__variant a{
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
  }

  .product__details {
    margin-bottom: var(--spacing-md);
  }
/* END_SNIPPET:product-card-info */

/* START_SNIPPET:product-card-price (INDEX:39) */
.product__price--compare-parent{
    display: flex;
    flex-direction: row;
    gap: var(--spacing-md);
  }

  .product__price {
    font-weight: var(--font-weight-bold);
  }

  /* The compare-at/"was" price — struck through and muted. */
  .product__price--compare-parent .product__price--compare {
    text-decoration: line-through;
    color: var(--colors-text-text-tertiary);
  }

  /* The current/sale price — the prominent one, not struck through. */
  .product__price--compare-parent .product__price:not(.product__price--compare) {
    color: var(--colors-text-text-brand-primary);
  }

  /* Cart-only: swap this specific line's price for a spinner while its own
     request is in flight, instead of letting the number suddenly jump once
     the section re-renders. The .product__price--pending class is added by
     JS (see cart-drawer.liquid) to just the line whose quantity control
     changed — not a global "any request is in flight" signal — since the
     whole cart section re-renders together and would otherwise spinner-ize
     every line's price at once. */
  .product__price--live {
    position: relative;
    display: inline-block;
  }

  .product__price--spinner {
    display: none;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .product__price--pending > *:not(.product__price--spinner) {
    visibility: hidden;
  }

  .product__price--pending .product__price--spinner {
    display: block;
  }
/* END_SNIPPET:product-card-price */

/* START_SNIPPET:product-card (INDEX:40) */
.collection-product {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    position: relative;
  }

  .product-flavour__rankings {
    border-radius: var(--radius-sm);
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: var(--spacing-xl) var(--spacing-3xl);
    transform: translateY(100%);
    transition: transform var(--transition-default);
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxs);
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
  }

  .product-card-image:hover .product-flavour__rankings {
    transform: translateY(0);
  }

  .flavour__circle__parent{
    display: flex;
    flex-direction: row;
    gap: var(--spacing-xs);
  }

  .flavour__circle {
    width: 10px;
    height: 10px;
    background-color: transparent;
    border: 1px solid black;
    border-radius: 100%;

    &.filled {
      background-color: black;
    }
  }

  .product-flavour__rank{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    & p {
      font-weight: var(--font-weight-semibold);
    }
  }
/* END_SNIPPET:product-card */

/* START_SNIPPET:select (INDEX:41) */
.form-field {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  .form-field label {
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-text-sm);
  }

  .form-field select {
    width: 100%;
    padding: var(--spacing-3) var(--spacing-4);
    border: 1px solid var(--colors-effects-focus-rings-border-border-primary);
    border-radius: var(--radius-xs);
    font-size: var(--font-size-text-sm);
    font-family: var(--font-body);
    font-weight: var(--font-weight-medium);
    outline: none;
  }

  .form-field span {
    font-weight: var(--font-weight-bold);
    color: var(--colors-text-text-brand-tertiary);
  }

  .form-field .error-message {
    color: var(--colors-text-text-error-primary);
  }
/* END_SNIPPET:select */

/* START_SNIPPET:spinner (INDEX:42) */
.spin {
    display: inline-flex;
  }

  .spin-ring {
    width: var(--sz);
    height: var(--sz);
    border-radius: 50%;
    border: var(--thick) solid rgba(0, 0, 0, 0.3);
    border-top-color: var(--c);
    animation: spin-ring-rotate var(--dur) linear infinite;
  }

  @keyframes spin-ring-rotate {
    to { transform: rotate(360deg); }
  }
/* END_SNIPPET:spinner */