/** Shopify CDN: Minification failed

Line 592:15 Expected identifier but found whitespace
Line 592:24 Unexpected "0.25s"

**/
@charset "UTF-8";


.product-card--quickview, .product-card--quickview-small, .product-card-swatches .product-card-swatch {
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1); }

.no-js .product-card--quickview, .no-js .product-card--quickview-small {
  display: none !important; }


.product-card--image {
  scrollbar-width: none; }
  .product-card--image::-webkit-scrollbar {
    display: none; }

/* ========== PROGRESSIVE IMAGE LOADING FEATURE - START ========== */
/* Loading state for secondary/additional product card images when switching variants */
/* No loading spinner on primary image - only shows on additional images when scrolled to */
/* To disable this feature, set ENABLE_PROGRESSIVE_LOADING to false in app.js */

/* Loading spinner for individual secondary images (2nd, 3rd, etc.) */
.product-card--image-inner figure.product-card-image--loading {
  position: relative; }

.product-card--image-inner figure.product-card-image--loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  pointer-events: none;
  animation: fadeIn 0.15s ease-in; }

.product-card--image-inner figure.product-card-image--loading::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-top-color: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  z-index: 11;
  animation: spin 0.6s linear infinite;
  pointer-events: none; }

@keyframes spin {
  to {
    transform: rotate(360deg); } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .product-card--image-inner figure.product-card-image--loading::after {
    background: rgba(0, 0, 0, 0.85); }
  .product-card--image-inner figure.product-card-image--loading::before {
    border-color: rgba(255, 255, 255, 0.2);
    border-top-color: rgba(255, 255, 255, 0.8); } }
/* ========== PROGRESSIVE IMAGE LOADING FEATURE - END ========== */


.star-rating {
  --star-percent: calc(var(--star-rating) / 5 * 100%);
  display: inline-block;
  font-size: 1rem;
  font-family: Times;
  line-height: 1; }
  .star-rating:before {
    content: "★★★★★";
    background: linear-gradient(90deg, var(--color-star) var(--star-percent), #e1e1e1 var(--star-percent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; }
  .star-rating.simple {
    display: inline-flex;
    align-items: center;
    gap: 5px; }
    .star-rating.simple:before {
      content: "★"; }

.rating {
  display: inline-block;
  margin: 0; }

.rating-star {
  --letter-spacing: 0.3;
  --font-size: 1.5;
  --percent: calc((var(--rating) / var(--rating-max) + var(--rating-decimal) * var(--font-size) / (var(--rating-max) * (var(--letter-spacing) + var(--font-size)))) * 100%);
  letter-spacing: calc(var(--letter-spacing) * 1rem);
  font-size: calc(var(--font-size) * 1rem);
  line-height: 1;
  display: inline-block;
  font-family: Times;
  margin: 0; }

.rating-star:before {
  content: "\2605\2605\2605\2605\2605";
  background: linear-gradient(90deg, var(--color-reviews) var(--percent), rgba(var(--color-foreground), 0.15) var(--percent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

.rating-text {
  display: none; }

.rating-count {
  display: none;
  margin: 0; }

@media (forced-colors: active) {
  .rating {
    display: none; }
  .rating-text {
    display: block; } }


.products {
  list-style: none; }
  .products.carousel {
    min-width: 100%;
    padding: 0;
    --mobile-columns: 2;
    --column-gap: 4px;
    display: grid;
    row-gap: 20px;
    column-gap: var(--column-gap);
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--column-gap) * calc(var(--mobile-columns) - 1))) / var(--mobile-columns));
    scroll-snap-type: x mandatory; }
    .products.carousel .product-card {
      flex-shrink: 0;
      height: 100%; }
    @media only screen and (min-width: 768px) {
      .products.carousel {
        --column-gap: var(--product-card-spacing, 20px);
        --mobile-columns: var(--tablet-columns); } }
    @media only screen and (min-width: 1068px) {
      .products.carousel {
        --mobile-columns: var(--desktop-columns); } }
    .products.carousel .carousel__slide {
      scroll-snap-align: center; }
      .products.carousel .carousel__slide .product-card-promotion {
        min-height: 100%; }
    .products.carousel .product-card-promotion {
      margin-bottom: 0; }
  .products.grid {
    min-width: 100%;
    padding: 0;
    --mobile-columns: 2;
    --column-gap: 4px;
    display: grid;
    row-gap: 20px;
    column-gap: var(--column-gap);
    grid-template-columns: repeat(var(--mobile-columns), 1fr); }
    .products.grid .product-card {
      flex-shrink: 0;
      height: auto;
      margin-bottom: 0;
      min-height: 100%; }
    @media only screen and (min-width: 768px) {
      .products.grid {
        --column-gap: var(--product-card-spacing, 20px);
        --mobile-columns: var(--tablet-columns); } }
    @media only screen and (min-width: 1068px) {
      .products.grid {
        --mobile-columns: var(--desktop-columns); } }
    @media only screen and (max-width: 767px) {
      .swipe-on-mobile .products.grid {
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - (var(--column-gap) * calc(var(--mobile-columns) - 1))) / var(--mobile-columns));
        scroll-snap-type: x mandatory;
        grid-template-columns: none; } }
  .products.loading {
    position: relative; }
    .products.loading .products--column,
    .products.loading .product-card-promotion {
      opacity: 0.5; }
    .products.loading .loading-overlay {
      display: flex; }
  .products .loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none; }
    .products .loading-overlay--sticky {
      position: sticky;
      top: 0;
      display: inline-block;
      left: 0;
      height: 42px;
      padding: 20% 0;
      text-align: center;
      width: 100%; }
      .products .loading-overlay--sticky svg {
        position: static;
        width: 42px;
        height: 42px; }

.product-card {
  display: flex;
  flex-direction: column;
  min-height: calc(100% - 20px);
  position: relative;
  margin-bottom: 20px;
  width: 100%; }
  @media only screen and (min-width: 768px) {
    .product-card {
      margin-bottom: 30px;
      min-height: calc(100% - 30px); } }
  .carousel .product-card {
    margin-bottom: 0; }
  .product-card.text-center .product-card-info {
    padding: 0 5%; }
  .product-card--drawer .product-card-info {
    padding-left: 0 !important; }
  .product-card--image {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    z-index: 0;
    pointer-events: none; }
    /* Mobile: Enable horizontal scrolling with touch gestures */
    @media only screen and (max-width: 767px) {
      .product-card--image {
        pointer-events: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; }
      .product-card--image::-webkit-scrollbar {
        display: none; } }
    .product-card--image-wrapper {
      position: relative;
      margin-bottom: 15px; }
      @media only screen and (min-width: 768px) {
        .product-card--image-wrapper {
          margin-bottom: 20px; } }
    .animations-true .product-card--image-primary {
      opacity: 0;
      transform: scale(1.15); }
    .product-card--image-inner {
      display: flex; }
    .product-card--image .aspect-ratio {
      width: 100%;
      flex-shrink: 0;
      scroll-snap-align: start;
      overflow: hidden; }
      /* Mobile: Force scroll to stop at each image (no skipping) */
      @media only screen and (max-width: 767px) {
        .product-card--image .aspect-ratio {
          scroll-snap-stop: always; } }
    .product-card--image-link {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 10; }
      /* Mobile: Disable overlay link to allow scrolling */
      @media only screen and (max-width: 767px) {
        .product-card--image-link {
          pointer-events: none; } }
    .product-card--image--contain .aspect-ratio img,
    .product-card--image--contain .aspect-ratio video {
      object-fit: contain; }
  .product-card-vendor {
    margin-bottom: 6px; }
    .product-card-vendor a {
      color: rgba(var(--color-body-rgb), 0.7);
      text-transform: uppercase;
      font-size: 0.625rem;
      letter-spacing: 0.05em; }
  .product-card-title {
    font-size: calc(var(--font-product-title-scale, 1) * 1rem);
    line-height: calc(var(--font-product-title-line-height-scale, 1) * 1.5);
    font-weight: 400;
    letter-spacing: normal;
    display: block; }
    .product-title-uppercase-true .product-card-title {
      text-transform: uppercase; }
  .product-card-text-with-review {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: flex-start; }
    .product-card-text-with-review .star-rating {
      margin-bottom: 0; }
  .product-card--badges {
    position: absolute;
    z-index: 12;
    display: flex;
    flex-direction: column;
    gap: 4px; }
    .product-card--badges.bottom {
      bottom: 0px; }
    .product-card--badges.left {
      left: 0px;
      align-items: flex-start; }
    .product-card--badges.top {
      top: 0px; }
    .product-card--badges.right {
      right: 0px;
      align-items: flex-end; }
  .product-card--quickview {
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;
    z-index: 20;
    background: rgba(var(--bg-body-rgb), 0.8);
    color: var(--color-body);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 32px;
    border-radius: 21px;
    backdrop-filter: blur(10px);
    opacity: 0;
    transform: scale(0.8) translateY(10%);
    transform-origin: center 80%; }
    /* Mobile: Show quick view on interaction (controlled by JS) */
    @media only screen and (max-width: 767px) {
      .product-card.is-active .product-card--quickview {
        opacity: 1;
        transform: scale(1) translateY(0);
        pointer-events: auto; } }
    @media only screen and (min-width: 768px) {
      .product-card--quickview {
        bottom: 24px;
        left: 40px;
        right: 40px;
        height: 42px; } }
    .product-card--quickview:focus-within {
      opacity: 1;
      transform: scale(1) translateY(0%); }
    .product-card--quickview span {
      line-height: 1;
      font-size: 0.5625rem;
      font-weight: var(--font-body-medium-weight, 500);
      letter-spacing: 0.1em;
      padding-right: 0;
      white-space: nowrap;
      text-transform: uppercase;
      opacity: 1; }
      @media only screen and (min-width: 768px) {
        .product-card--quickview span {
          font-size: 0.6875rem; } }
    .product-card--quickview .loading-overlay {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0);
      z-index: 20;
      width: 18px;
      height: 18px; }
      .product-card--quickview .loading-overlay .spinner {
        width: 18px;
        height: 18px; }
        .product-card--quickview .loading-overlay .spinner-path {
          stroke: var(--color-body); }
    .product-card--quickview.loading .product-card--quickview-text {
      opacity: 0; }
  .product-card--quickview-small {
    background-color: rgba(var(--bg-body-rgb), 0.6);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    width: 28px;
    height: 28px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    z-index: 20;
    cursor: pointer; }
    @media only screen and (min-width: 768px) {
      .product-card--quickview-small {
        bottom: 14px;
        right: 14px; } }
    .product-card--quickview-small .loading-overlay {
      width: 100%;
      height: 100%;
      justify-content: center;
      align-items: center; }
      .product-card--quickview-small .loading-overlay svg {
        width: 16px; }
    .product-card--quickview-small.loading > svg {
      visibility: hidden; }
    .product-card--quickview-small.loading .loading-overlay {
      display: flex; }
  .product-card-subtitle {
    font-size: 0.8125rem;
    color: rgba(var(--color-body-rgb), 0.8);
    margin-top: 10px;
    margin-bottom: 0; }
  .product-card-sizes {
    display: inline-block;
    max-width: 100%;
    text-align: center;
    white-space: nowrap;
    overflow-x: auto; }
    .product-card-sizes--container {
      display: inline-flex;
      width: calc(100% - 40px);
      align-items: center;
      justify-content: center;
      margin: 0 20px;
      transform: translateY(100%);
      transition: all 0.25s linear; }
      /* Mobile: Show size options on interaction (controlled by JS) */
      @media only screen and (max-width: 767px) {
        .product-card.is-active .product-card-sizes--container {
          transform: translateY(0%); } }
      .product-card-sizes--container + span {
        display: none; }
      .product-card-sizes--container:focus-within {
        transform: translateY(0%); }
    .product-card-sizes--size {
      min-width: 24px;
      height: 24px;
      padding: 0 6px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: 0.6875rem;
      margin: 0 2px;
      cursor: pointer;
      position: relative;
      text-underline-offset: 2px; }
      .product-card-sizes--size:not(.is-disabled):hover {
        text-decoration: underline; }
      .product-card-sizes--size .loading-overlay {
        width: 14px;
        height: 14px; }
        .product-card-sizes--size .loading-overlay .spinner {
          width: 14px;
          height: 14px; }
      .product-card-sizes--size.is-disabled {
        text-decoration: none;
        cursor: not-allowed; }
        .product-card-sizes--size.is-disabled > span {
          opacity: 0.4; }
      .product-card-sizes--size.loading > span {
        opacity: 0; }
  .product-card-swatches {
    display: inline-grid;
    align-items: start;
  gap: 2px;
  grid-template-columns: repeat(var(--size, 5), var(--swatch-column-size, 14px)); }
  .product-card-swatches .product-card-swatch {
      display: inline-flex;
      margin: 0;
      width: 14px;
      height: 14px;
    border-radius: 0;
    border: 0.5px solid #cfcfcf; /* default gray outer border */
    padding: 0;
      position: relative;
      cursor: pointer;
      background-color: var(--bg-body, #fff); }
      .product-card-swatches .product-card-swatch:before {
        content: "";
        display: block;
        position: absolute;
        width: auto;
        height: auto;
        top: 1px;
        left: 1px;
        right: 1px;
        bottom: 1px;
        margin: 0;
        border-radius: 0;
        border: 0;
        background: var(--option-color);
        background-image: var(--option-color-image);
        background-size: cover; }
      .product-card-swatches .product-card-swatch:after {
        display: none; }
      .product-card-swatches .product-card-swatch-input {
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
        clip: rect(0 0 0 0); }
    .product-card-swatches .product-card-swatch-input:checked + .product-card-swatch {
      box-shadow: none; /* override inset highlight */
      border-color: #000; /* selected black border */
      border-width: 1px; }
    .product-card-color-options-text {
      font-size: 12px;
      color: #666;
      text-align: left;
      padding: 4px 0;
    }
          .product-card-swatches .product-card-swatch-input:checked + .product-card-swatch:before {
            background-color: var(--option-color);
            background-image: var(--option-color-image); }
          .product-card-swatches .product-card-swatch-input:checked + .product-card-swatch--variant:before {
            background-color: transparent; }
        .product-card-swatches .product-card-swatch-input:focus-visible + .product-card-swatch {
          box-shadow: inset 0 0 0 1px #015ecc; }
          .product-card-swatches .product-card-swatch-input:focus-visible + .product-card-swatch:after {
            display: none; }
    .product-card-swatches--container {
      position: relative;
      overflow: hidden;
      width: 100%;
      margin-top: 10px;
      display: inline-flex;
      align-items: center;
      gap: 1px; }
    .product-card-swatches--remaining {
      font-size: 0.6875rem;
      line-height: 1;
      color: rgba(var(--color-body-rgb), 0.6);
      margin-left: 4px; }
    .product-card-swatches-expand--true {
      --swatch-column-size: 16px;
      margin-right: 0;
      transition: all 0.25s ease; }
      .product-card-swatches-expand--true .product-card-swatch-input:checked + .product-card-swatch {
        --swatch-active-shadow: transparent; }
      .product-card-swatches-expand--true:focus-within {
        --swatch-column-size: 16px;
        margin-right: 0; }
  .product-card .star-rating.simple {
    font-size: 0.8125rem;
    line-height: 1;
    display: none; }
    @media only screen and (min-width: 768px) {
      .product-card .star-rating.simple {
        display: inline-flex; } }
  .product-card .star-rating--mobile.simple {
    display: inline-flex; }
    @media only screen and (min-width: 768px) {
      .product-card .star-rating--mobile.simple {
        display: none; } }
  .product-card:hover .product-card-swatches-expand--true {
    --swatch-column-size: 16px;
    margin-right: 0; }
    .product-card:hover .product-card-swatches-expand--true .product-card-swatch-input:checked + .product-card-swatch {
      --swatch-active-shadow: var(--color-body); }
  .product-card:hover .product-card--quickview {
    opacity: 1;
    transform: scale(1) translateY(0); }
  .product-card:hover .product-card--quickview-small {
    opacity: 1; }
  .product-card:hover .product-card--nav {
    opacity: 1; }
  .product-card:hover .product-card-sizes--container {
    transform: translateY(0%); }
  .product-card--nav {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 11;
    opacity: 0; }
    /* Mobile: Hide navigation arrows (use swipe instead) */
    @media only screen and (max-width: 767px) {
      .product-card--nav {
        display: none; } }
    transition: opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1); }
    .product-card--nav-prev {
      left: 0; }
    .product-card--nav-next {
      right: 0; }
    .product-card--nav svg {
      pointer-events: none; }
  .product-card--label-container {
    margin-top: 5px; }
  .product-card-spacing-small {
    --product-card-spacing: 4px; }
    .product-card-spacing-small .product-card-info {
      padding: 0 10px; }
  .product-card-spacing-medium {
    --product-card-spacing: 10px; }
  .product-card-spacing-large {
    --product-card-spacing: 20px; }

.collection-empty {
  text-align: center;
  padding: 10vh; }
  .collection-empty svg {
    margin-bottom: 30px; }
  .collection-empty .text-button {
    font-size: inherit; }
  .collection-empty p {
    font-size: 1.25rem; }


.product-card--label {
  font-size: 0.625rem;
  padding: 5px 8px;
  line-height: 1.2;
  color: rgba(var(--color-body-rgb), 0.8);
  border-radius: 3px;
  align-items: center;
  border: 1px solid var(--color-border); }
  .product-card--label-container {
    display: flex;
    gap: 2px;
    flex-wrap: wrap; }
