/** Shopify CDN: Minification failed

Line 944:1 Expected "}" to go with "{"

**/
/* Base styles: Ensure product item has relative positioning */
.product-item {
    position: relative;
    min-height: 100%; /* Ensures uniform height */
}

/* Base positioning for the wishlist heart */
.swym-wishlist-collections-v2 {
    position: absolute !important;
    top: 24px; /* Default stable positioning */
    right: -5px; /* Slight right adjustment */
    transform: translateX(85%);
    z-index: 5;
}

/* --- Desktop (3 products per row) --- */
@media (min-width: 750px) {
    /* First row (1st, 2nd, 3rd products) - Keep stable */
    .product-item:nth-child(-n+3) .swym-wishlist-collections-v2 {
        top: 24px;
        right: -5px;
        transform: translateX(90%);
    }

    /* Second row (4th, 5th, 6th products) - Lower on initial load but rises slightly on resize */
    .product-item:nth-child(n+4):nth-child(-n+6) .swym-wishlist-collections-v2 {
        top: clamp(28px, 5vw, 18px);
        right: -5px;
        transform: translateX(90%);
    }

    /* All rows after the second row (starting from 7th product) - Even lower on initial load */
    .product-item:nth-child(n+7) .swym-wishlist-collections-v2 {
        top: clamp(32px, 6vw, 20px);
        right: -5px;
        transform: translateX(90%);
    }
}

/* --- Mobile (2 products per row) --- */
@media (max-width: 749px) {
    /* First row (1st and 2nd products) - Move almost to the right edge */
    .product-item:nth-child(-n+2) .swym-wishlist-collections-v2 {
        top: 6px; /* Keep height stable */
        right: -8px; /* Push further to the right */
        transform: translateX(180%); /* Move further right */
    }

    /* All rows after the first (starting from 3rd product) */
    .product-item:nth-child(n+3) .swym-wishlist-collections-v2 {
        top: 8px; /* Keep slight height adjustment */
        right: -8px; /* Push further to the right */
        transform: translateX(180%);
    }
}



/* Custom Wishlist Heart Icon */
.swym-wishlist i.fa-regular.fa-heart {
  font-size: 24px !important;
  line-height: 1 !important;
  display: inline-block;
  color: inherit;
}

.header__desktop__button .swym-wishlist {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  height: auto !important;
}

/* Add padding around the heart icon */
.swym-wishlist i.fa-heart {
  padding: 10px; /* Tweak this value — try 4 to 6px */
  box-sizing: content-box; /* Prevents shrinking if parent is flex */
}

/* Reset all button margins */
.header__desktop__button {
  margin-right: 8px; /* Set equal spacing between all icons */
}

/* Remove margin from the last icon (cart) so it doesn’t overflow */
.header__desktop__button:last-child {
  margin-right: 0;
}


summary.signature-required-label.signature-error,
.cart__widget__title.signature-required-label.signature-error {
  color: #c60000 !important; /* vivid red */
  font-weight: 600;
}
.checkout-tooltip-wrapper {
  position: relative;
  display: block;
  width: 100%;
}

.cart__checkout[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  padding: 7px 7px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 10;
}

.cart__checkout[data-tooltip]:hover::after {
  opacity: 1;
}

  /* = Strong black outline for selected variant buttons and swatches = */

/* ✅ Keep square border only for non-swatch buttons */
.radio__fieldset:not(.radio__fieldset--swatches) .radio__button input:checked ~ label {
  border: 2px solid #000;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.radio__button label,
.swatch__button label {
  transition: all 0.2s ease;
}
.swatch__button input:checked ~ label::after {
  content: none !important;
}

/* Mobile + Default */
.product-item__image-content p,
.product-item__image-content .p1 {
  font-size: 12px !important;
  line-height: 1.1 !important;
  text-align: center !important;
  color: var(--text, #fcfbf9) !important;
  font-family: inherit !important;
  font-weight: normal !important;
  max-width: 100%;
  margin: 0 auto;
}

/* Desktop override */
@media screen and (min-width: 750px) {
  .product-item__image-content p,
  .product-item__image-content .p1 {
    font-size: 18px !important;     /* or try 20px for even more impact */
    line-height: 1.3 !important;    /* give it a touch more breathing room */
    max-width: 90%;                 /* gives some left/right margin on large screens */
  }
}

@media screen and (min-width: 750px) {
  .product-item__image-overlay .product-item__image-content p,
  .product-item__image-overlay .product-item__image-content .p1 {
    font-size: clamp(1rem, 1.2vw, 1.2rem);
  }
}

/* Default + mobile */
.product-item__image-content .heading-small {
  font-size: 1.2rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 0.5rem;
}

/* Desktop */
@media screen and (min-width: 750px) {
  .product-item__image-content .heading-small {
    font-size: 1.8rem; /* or use clamp for flexibility */
    line-height: 1.2;
  }
}

.product-item__image-content {
  display: flex;
  flex-direction: column;
  align-items: center;     /* center content horizontally */
  justify-content: center; /* center content vertically */
  text-align: center;
  width: 100%;             /* make sure it stretches full width */
}

/* Light grey overlay for sold-out products */
.product-item.sold-out {
    position: relative;
}

/* Ensure overlay does not block hover effects */
.product-item.sold-out::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5); /* Light grey overlay */
  z-index: 2; /* Below wishlist hearts and badges */
  pointer-events: none; /* Allow hover events through */
}

/* Ensure "Sold Out" badge remains on top */
.product-item.sold-out .badge-box {
  position: absolute;
  top: 5px;
  left: 5px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 4px 8px;
  font-size: 14px;
  font-weight: 400;
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 5;
}

/* Keep hover effect working on sold-out products */
.product-item.sold-out .product-item__image:hover::before {
    opacity: 0; /* Removes the overlay effect on hover */
}

.radio__legend__option-name {
  white-space: nowrap;
  word-break: keep-all;
}

.radio__buttons {
  display: flex;
  justify-content: flex-end;
  gap: 8px; /* Optional: space between swatches */
}
.radio__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 220px; /* Adjust to fit ~4 swatches */
}

@media screen and (max-width: 768px) {
  .product-tabs .tab-content {
    display: none;
  }

  .product-tabs .tab-content.mobile-open,
  .product-tabs .tab-content.static-content {
    display: block;
  }

  .product-tabs .tab-link {
    cursor: pointer;
  }
}

.tab-link {
  display: inline-block;
  padding: 0.25em 0;
  border: none;
  text-decoration: none;
  white-space: nowrap;
}

/* Label only — controls the underline */
.tab-link .tab-label {
  text-decoration: none;
  border-bottom: none;
}

.tab-link.current .tab-label {
  border-bottom: 1px solid currentColor;
}

/* Icon — make sure it's clean and aligned */
.tab-toggle-icon {
  font-weight: 500;
  font-size: 1em;
  margin-left: 0.25em;
  position: relative;
  top: -2px;
  line-height: 1;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  background: none !important;
  display: inline;
}

/* Prevent wrapping issues between label and icon */
.tab-link span {
  display: inline;
}

.tab-link.current .tab-toggle-icon {
  text-decoration: none !important;
  border-bottom: none !important;
}

@media screen and (min-width: 769px) {
  .tab-toggle-icon {
    display: none !important;
  }
}


.radio__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px; /* adjust spacing between buttons */
  --option-image-width: 40px !important; /* overrides inline style if needed */
}



/* =============================== */
/* Main variant grid styling block */
/* =============================== */
.radio__buttons {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
  gap: 6px;
  justify-content: end;
  flex: 1 1 auto;
  max-width: 100%;
  width: 100%;
  padding-right: 0;
  margin-left: auto;
}

/* Limit fieldset to same width as Add to Cart container */
.form__width .radio__fieldset {
  width: 100%;
  max-width: 720px;
  margin-left: auto;
}

/* ========================== */
/* Swatch-specific layout     */
/* ========================== */
@media screen and (min-width: 768px) {
  .radio__fieldset--variant-option-image .radio__buttons {
    grid-template-columns: repeat(6, 56px);
    justify-content: end;
  }

  .radio__fieldset--variant-option-image .radio__button label {
    width: 56px;
    height: 56px;
  }
}

/* ======================= */
/* Variant Button Styling  */
/* ======================= */

.radio__button {
  flex: 0 0 auto;
}

.radio__button input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* TEXT-BASED VARIANT BUTTONS */
.radio__fieldset:not(.radio__fieldset--variant-option-image) .radio__button label {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 40px;
  min-width: 40px;
  padding: 0 10px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  position: relative;
  text-align: center;
  white-space: nowrap;
}

.radio__button .option-title {
  display: inline-block;
  width: auto;
  line-height: 1;
  text-align: center;
}

.radio__button .option-image {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden;
  pointer-events: none;
}

/* Generic swatches layout */
.radio__fieldset:not(.radio__fieldset--variant-option-image) .radio__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  margin-left: auto;
  max-width: 100%;
  width: 100%;
}

/* =============================== */
/* Swatch Styling - Clean Circle  */
/* =============================== */
.radio__buttons .swatch__button {
  width: 48px;
  height: 48px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--swatch, #ccc);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none !important;
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  margin: 2px;
  box-shadow: none !important;
}

/* Remove default borders on all swatch states */
.radio__buttons .swatch__button,
.radio__buttons .swatch__button * {
  box-shadow: none !important;
  border: none !important;
  background-color: transparent !important;
}

/* Fully reset label */
.radio__buttons .swatch__button label {
  all: unset;
  position: absolute;
  inset: 0;
  display: block;
  cursor: pointer;
  border-radius: 50%;
  z-index: 1;
}

/* ✅ Black circular ring when selected */
.radio__buttons .swatch__button input[type="radio"]:checked + label::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 58px;
  height: 58px;
  border: 2px solid black;
  border-radius: 50%;
  pointer-events: none;
  background: transparent;
  z-index: 2;
}

/* Hide native radio input */
.radio__buttons .swatch__button input[type="radio"] {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

/* Nuke unwanted theme defaults — BUT KEEP our selected outline */
.radio__buttons .swatch__button label::after {
  content: none !important;
  display: none !important;
}

.radio__buttons .swatch__button label::before {
  display: none !important;
}

/* ✅ Restore only for selected state */
.radio__buttons .swatch__button input[type="radio"]:checked + label::before {
  display: block !important;
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 58px;
  height: 58px;
  border: 2px solid black;
  border-radius: 50%;
  pointer-events: none;
  background: transparent;
  z-index: 2;
}

@media screen and (max-width: 749px) {
  .predictive-search svg.swym-wishlist-collections-icon-heart-unfilled,
  .predictive-search .swym-button-bar,
  .predictive-search [class*="swym"],
  .predictive-search svg path.swym-wishlist-collections-icon-heart-unfilled {
    display: none !important;
  }
}

.cart__reduced-packaging-option {
  position: relative;
  padding: 0 2rem 0 0; /* right padding pulled back a bit */
  margin: 2rem 0rem .8rem; /* top and bottom margin + left indent */
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: var(--font-body-x-small);
  line-height: 1.16;
  font-weight: var(--FONT-WEIGHT-BODY-BOLD);
  font-family: inherit;
  justify-content: flex-start;
  text-align: left;
}

.cart__reduced-packaging-option input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.drawer__inner .cart__reduced-packaging-option {
  margin-left: .8rem; /* pushes it to the right in the drawer only */
}
.cart__reduced-packaging-option label {
  white-space: nowrap;
}

.drawer__inner .rte ul,
.drawer__inner .rte ol {
  margin: 0 !important;
  padding-left: 1.2em !important;
}

.drawer__inner .rte li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  display: list-item !important;
}

.drawer__inner .rte li br {
  display: none !important;
}

/* Make the hover image container cover the main image */
.product-item__bg__under {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none; /* Allow mouse events to pass to parent */
  z-index: 2; /* Make sure it overlays correctly */
}

/* Make each hover slide full size */
.product-item__bg__slide {
  width: 100% !important;
  height: 100% !important;
}

/* Make Flickity properly show slides */
.product-item__bg__slider {
  width: 100%;
  height: 100%;
}

/* Optional: add fade effect if you want smooth hover */
.product-item__bg__under .flickity-slider {
  transition: opacity 0.3s ease;
}

/* Make sure lazy-loaded images stretch */
.product-item__bg__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Position wishlist hearts properly on product grid cards */
.product-item {
  position: relative; /* Make sure the parent has relative positioning */
}

.swym-wishlist-collections-v2-container {
  position: absolute;
  top: 1rem; /* adjust as needed */
  right: 1rem; /* adjust as needed */
  z-index: 5;
}

.swym-wishlist-collections-v2 {
  transform: none !important; /* Remove weird shifting */
}

@media screen and (max-width: 749px) {
  .product-item.sold-out .product-item__bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5); /* grey overlay */
    z-index: 3;
    pointer-events: none;
  }

  .product-item.sold-out .product-item__bg img {
    position: relative;
    z-index: 2;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Ensure image wrapper preserves proper layout */
  .product-item__bg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .product-item__bg figure {
    width: 100%;
    height: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 749px) {
  .product-item__bg__under,
  .product-item__bg__under *,
  .product-item__bg__under img {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
  }
}
/* COLLECTION PAGE — reposition wishlist heart higher */
.template-collection .product-item:not(.product-item--featured-image) {
  position: relative;
}

.template-collection
.product-item:not(.product-item--featured-image)
.swym-wishlist-collections-v2 {
  position: absolute !important;
  top: 8px !important;       /* adjust this value as needed */
  right: 3px !important;

  transform: none !important; /* kill Swym inline transform */
  z-index: 5;
}
/* HOMEPAGE — reposition wishlist heart higher & further right */
.template-index .product-item {
  position: relative;
}

.template-index
.product-item
.swym-wishlist-collections-v2 {
  position: absolute !important;
  top: 8px !important;     /* same height as collection */
  right: 4px !important;  /* same right alignment */

  transform: none !important;
  z-index: 5;
}
/* Fix Pre-Order Quick Add Button Colors */
.product-item .pre-order-custom {
  background-color: #000 !important;
}

.product-item .pre-order-custom .pre-order-2-button {
  color: #fff !important;
}

.product-item .pre-order-custom:hover {
  background-color: #000 !important;
}

.product-item .pre-order-custom:hover .pre-order-2-button {
  color: #fff !important;
}
/* Ensure product card is positioning context */
.template-search .product-item {
  position: relative;
}

/* Move wishlist heart to upper right corner in search results */
.template-search .product-item .swym-wishlist-collections-v2 {
  position: absolute !important;
  top: 8px !important;   /* adjust if needed */
  right: 3px !important; /* adjust if needed */
  transform: none !important;
  z-index: 5;
}
/* Page search cover images */
.template-search .search-results-item__bg--page{
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #f8f8f8; /* subtle fill behind image */
}
/* PDP Benefits Row */
.pdp-benefits{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  align-items: center;
  justify-content: center; /* remove if you want left aligned */
  margin: 10px 0;
}

.pdp-benefit{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap; /* keeps each check + sentence together */
}

.pdp-benefit__icon{
  font-size: 14px;
  line-height: 1;
}

.pdp-benefit__text{
  font-size: 14px;
  line-height: 1.2;
}
/* =========================================================
   PRODUCT TABS
   - Panels: only show active (.current)
   - Desktop: tight one-row scroll tabs + black hover/active
   - Arrow: clean chevron overlay
     * Right arrow always visible as scroll hint
     * Left arrow shown only when JS adds .ap-show
   ========================================================= */

/* Only show active panel */
tabs-component.product-tabs .tab-content{ display:none; }
tabs-component.product-tabs .tab-content.current{ display:block; }

@media (min-width: 990px){

  /* Header becomes positioning container */
  tabs-component.product-tabs .product-tabs__head{
    position: relative !important;
  }

  /* Remove Broadcast scroll fade/shadow */
  tabs-component.product-tabs .product-tabs__head:before,
  tabs-component.product-tabs .product-tabs__head:after,
  tabs-component.product-tabs native-scrollbar:before,
  tabs-component.product-tabs native-scrollbar:after{
    display:none !important;
    content:none !important;
  }

  /* Row: horizontal scroll */
  tabs-component.product-tabs .tabs.product-tabs-title{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:4px !important;
    width:100% !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;

    padding:0 !important;
    margin-top:14px !important;

    scrollbar-width:none;
  }

  tabs-component.product-tabs .tabs.product-tabs-title::-webkit-scrollbar{
    display:none;
  }

  /* Tab boxes */
  tabs-component.product-tabs .tabs.product-tabs-title .tab-link{
    flex:0 0 auto !important;
    min-width:104px !important;
    height:40px !important;
    padding:0 10px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid #9f9f9f !important;
    border-radius:6px !important;

    background:transparent !important;
    color:#111 !important;

    cursor:pointer !important;
    user-select:none !important;

    line-height:1 !important;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease !important;
  }

  /* Label */
  tabs-component.product-tabs .tabs.product-tabs-title .tab-link .tab-label{
  white-space:nowrap !important;
  font-size:13px !important;
  letter-spacing:.06em !important;
  line-height:1 !important;
  transform:translateY(1px);   /* move text DOWN slightly */
  color:inherit !important;
}

  /* Remove underline */
  tabs-component.product-tabs .tab-link,
  tabs-component.product-tabs .tab-link *{
    text-decoration:none !important;
    border-bottom:none !important;
  }

  /* Hover */
  tabs-component.product-tabs .tabs.product-tabs-title .tab-link:hover,
  tabs-component.product-tabs .tabs.product-tabs-title .tab-link.current{
    background:#000 !important;
    border-color:#000 !important;
    color:#fff !important;
  }

  tabs-component.product-tabs .tabs.product-tabs-title .tab-link:hover *,
  tabs-component.product-tabs .tabs.product-tabs-title .tab-link.current *{
    color:#fff !important;
  }

  /* Hide + icon */
  tabs-component.product-tabs .tab-toggle-icon{
    display:none !important;
  }

  /* =========================
     ARROWS
     ========================= */

  tabs-component.product-tabs .product-tabs__arrow{
    position:absolute !important;

    /* bring inward */
    right:10px !important;

    /* drop slightly lower than center */
    top:calc(50% + 8px) !important;
    transform:translateY(-50%) !important;

    width:28px !important;
    height:28px !important;

    background:transparent !important;
    border:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    z-index:50 !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  /* Left arrow placement */
  tabs-component.product-tabs .product-tabs__arrow--prev{
    left:10px !important;
    right:auto !important;
    display:none !important;
  }

  /* Right arrow always visible */
  tabs-component.product-tabs .product-tabs__arrow--next{
    display:flex !important;
  }

  /* Show left arrow when JS adds ap-show */
  tabs-component.product-tabs .product-tabs__arrow--prev.ap-show{
    display:flex !important;
  }

  /* Chevron styling */
  tabs-component.product-tabs .product-tabs__arrow svg{
    width:26px !important;
    height:26px !important;
  }

  tabs-component.product-tabs .product-tabs__arrow svg path{
    stroke:#000 !important;
    stroke-width:3.5 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    fill:none !important;
  }

  /* Allow arrows even if theme adds is-hidden */
  tabs-component.product-tabs .product-tabs__arrow.is-hidden{
    display:flex !important;
  }
  /* Force-hide arrow when JS says so */
tabs-component.product-tabs .product-tabs__arrow.ap-hide{
  display: none !important;
}