/** Shopify CDN: Minification failed

Line 284:33 Unexpected "{"
Line 284:44 Expected ":"
Line 284:47 Unexpected ","
Line 285:28 Unexpected "{"
Line 285:39 Expected ":"
Line 285:42 Unexpected ","
Line 286:34 Unexpected "{"
Line 286:45 Expected ":"
Line 286:49 Unexpected "{"

**/
.list-unstyled > li + li {
  margin-top: 14px !important;
}
@media only screen and (min-width: 990px) {
.mega-menu .mega-menu__content ul.mega-menu__list li ul li {
  margin-top: 14px !important;
}
}

 .label_popup_div .tooltip_div {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .ai-product-gallery-as1fzdfbmkzlkbxu5naigenblock13bf6edm7bx3j {
    display: block !important;
  }
  .ai-product-gallery-adjncsjrmohl2dtfenaigenblock13bf6edgqwrtk {
    display: block !important;
  }
  .ai-product-gallery-acflqdvzazg16repbraigenblock13bf6edrvhnub {
    display: block !important;
  }

  #prod-gallery {
    display: block !important;
  }
  .mob-gallery {
    display: block !important;
  }
@media (max-width: 749px) {
  #prod-gallery {
    display: block !important;
  }
   .mob-gallery {
    display: block !important;
  }
   .ai-product-gallery-as1fzdfbmkzlkbxu5naigenblock13bf6edm7bx3j {
    display: block !important;
  }

  .ai-product-gallery-container-adnpvcfdryna0cfrsraigenblock13bf6edqtdrrp {
   display: block !important;
  }
  .ai-product-gallery-acflqdvzazg16repbraigenblock13bf6edrvhnub {
    display: block !important;
  }
  .ai-product-gallery-adjncsjrmohl2dtfenaigenblock13bf6edgqwrtk {
    display: block !important;
  }
 .product--thumbnail_slider .product__media-list {
  display: none;
 }
}


/* Overlay logo */
.ai-gallery-brand-overlay {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 5;
  pointer-events: none; /* doesn't block swipe/click */
  opacity: 0.9;
}

.ai-gallery-brand-overlay img {
  display: block;
  width: 330px;     /* tweak */
  height: auto;
}

/* Mobile sizing */
@media (max-width: 749px) {
  .ai-gallery-brand-overlay img {
    width: 300px;  /* tweak */
  }
}
.ai-product-gallery-thumbnails-as1fzdfbmkzlkbxu5naigenblock13bf6edm7bx3j {
  padding-left: 10px;
}
/* =========================================================
   Dawn: Fix mobile menu opening off-screen after scrolling (iOS)
   Ensures drawer + overlays are fixed to viewport and scrollable.
   ========================================================= */
@media screen and (max-width: 749px) {
  /* Drawer container itself */
  .menu-drawer {
    position: fixed !important;
    inset: 0 !important;          /* top/right/bottom/left: 0 */
    height: 100dvh !important;    /* iOS dynamic viewport */
    max-height: 100dvh !important;
    overflow: hidden !important;
    z-index: 9999;
  }

  /* Overlay/backdrop must be fixed too */
  .menu-drawer__overlay {
    position: fixed !important;
    inset: 0 !important;
    height: 100dvh !important;
    width: 100vw !important;
  }

  /* Allow internal scrolling inside menu */
  .menu-drawer__navigation,
  .menu-drawer__inner-container,
  .menu-drawer__navigation-container,
  .menu-drawer__submenu,
  .menu-drawer__inner-submenu {
    max-height: 100% !important;
    height: auto;
  }

  /* The element that actually scrolls */
  .menu-drawer__navigation {
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Prevent weird jump when submenus open */
  .menu-drawer__submenu {
    position: fixed !important;
    inset: 0 !important;
    height: 100dvh !important;
    overflow: hidden !important;
  }

  .menu-drawer__inner-submenu {
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* Second-level submenus (e.g. "By Brand") have no .menu-drawer__inner-submenu
   wrapper: their list is a direct child of .menu-drawer__submenu, which the
   rule above locks to overflow: hidden. Give that direct list its own scroll. */
.menu-drawer__submenu:has(> .menu-drawer__menu) {
  display: flex;
  flex-direction: column;
}

.menu-drawer__submenu > .menu-drawer__menu {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
}

.menu-drawer__close-drawer-icon {
  padding-top: 7px;
}
.menu-drawer__close-drawer-button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  margin: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  text-align: left;
}

.menu-drawer__close-drawer-button:hover {
  opacity: 0.9;
}

.menu-drawer__close-drawer-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.menu-drawer__close-drawer-text {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
/* Force thumbnails below main image (mobile / Chrome weird flex ordering) */
@media (max-width: 749px) {
  .product__media-wrapper,
  .product__media-gallery,
  .product__media {
    display: flex;
    flex-direction: column;
  }

  /* If your AI thumbnail wrapper has a known container, add it here.
     This targets anything that contains AI gallery thumbnails. */
  .product__media-wrapper [class*="ai-product-gallery-thumbnail-"] {
    order: 2;
  }
}
.modal-scroll {
  margin-top: 90px !important;
}
#CartDrawer .right_side_part {
  width: 300px;
}
@media screen and (max-width: 749px) {
  #CartDrawer .right_side_part {
  width: 200px;
}
  /* Wrapper for the theme gallery */
  .product__media-wrapper,
  product-media-gallery,
  .product-media-gallery {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Main media list FIRST */
  .product__media-wrapper .product__media-list,
  product-media-gallery .product__media-list,
  .product-media-gallery .product__media-list {
    order: 1 !important;
  }

  /* Thumbnail strip SECOND */
  .product__media-wrapper .thumbnail-slider,
  product-media-gallery .thumbnail-slider,
  .product-media-gallery .thumbnail-slider {
    order: 2 !important;
  }
}






/* Custom disabled style for Diameter pills - higher specificity */
.diameter-pill.disabled-custom {
  opacity: 0.5 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  background: #f5f5f5 !important;
  color: #999 !important;
  border-color: #ddd !important;
}

.diameter-pill:not(.disabled-custom) {
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.thmb {
  padding-left: 10px;
}


/* =======================================================
   Mobile: Disable browser scroll anchoring on product pages
   (prevents jump-up / jump-back during variant DOM updates)
======================================================= */
@media (max-width: 749px) {
  html, body,
  main,
  #MainContent,
  .main-product,
  .product,
  product-info,
  .product__info-wrapper,
  .product__media-wrapper,
  .ai-product-gallery-container-{{ ai_gen_id }},
  .ai-product-gallery-main-{{ ai_gen_id }},
  .ai-product-gallery-main-image-{{ ai_gen_id }} {
    overflow-anchor: none !important;
  }
}

/* Optional toggle class (used by JS below) */
@media (max-width: 749px) {
  html.disable-scroll-anchoring * {
    overflow-anchor: none !important;
  }
  .product-info-standard .product-form__input--swatch .swatch-input__input + .swatch-input__label {
    --swatch-input--size: 5.5rem;
  }
  .selected-color-label {

  line-height: 24px;
  height: 50px;
}
}
@media (max-width: 385px - 392px) {
.product-form__input {
  max-width: 360px!important;
}
}
.rt-compare-color-popup.product-popup-modal__content {
  padding: 8px 12px 1px 12px !important;
}
.qty-container .qty-minus, .qty-container .qty-plus {
  color: #4d5d53;
}
.selected-color-label {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 500;

}

.drawer__footer {
  border-top: 0.1rem solid rgba(var(--color-foreground), 0.2);
  background-color: #ececec;
  border-top: none;
  padding: 1.5rem 1.5rem 4rem 1.5rem;
}
/* =========================
   IPAD (768px – 1370px)
========================= */
@media (min-width: 768px) and (max-width: 1370px) {
.drawer__footer {
  padding: 1.5rem 1.5rem 12rem 1.5rem;

}
}
/* =========================
   MOBILE (0 – 767px)
========================= */
@media (max-width: 767px) {
  .drawer__footer {
    padding: 1.5rem 1.5rem calc(2.5rem + env(safe-area-inset-bottom, 0px)) 1.5rem;
  }
  .drawer {
    height: 100vh;   /* fallback for older browsers */
    height: 100dvh;  /* wins where supported — tracks Safari's real toolbar state */
  }
}

.cart-drawer #CartDrawer-Checkout {
   text-transform: uppercase !important;
   font-weight: bold;
}

a.pagination__item.pagination__item--current.light {
  padding-top: 27px;
}
/* #sca-gift-thumbnail {
  display: none;
} */
.rt-size-cart-popup.product-popup-modal__content {
  margin-top: 120px !important;
}
.product-info-standard .product-option--color {
  padding-left: 20px !important;
}
@media (max-width: 767px) {
.product-info-standard .product-option--color {
  padding-left: 5px;
}
}
.product__sku {
  font-size: 13px !important;
}
.product-popup-modal__content-info>* {
  max-height: 100% !important;
}
.price:not(.price--show-badge) .price-item--last:last-of-type {
color: #4d5d53;
}
.airtable-field {
  font-family: "DM Sans", sans-serif;
}
.mobile-menu-banner {
  padding: 24px 20px 28px;
}

.mobile-menu-banner__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  min-height: 180px;
  object-fit: cover;
}
.iti {
  width: 100%;
}

.iti__tel-input,
.iti input.field__input,
.iti input[type="tel"] {
  width: 100% !important;
  height: 5.2rem;
  padding-left: 8.5rem !important;
  box-sizing: border-box;
}

.iti__country-container {
  z-index: 5;
}

.iti--separate-dial-code .iti__selected-flag {
  background: transparent !important;
  padding-left: 1.2rem;
  padding-right: 1rem;
  border-right: 1px solid rgba(82, 95, 84, 0.2);
}

.iti__selected-dial-code {
  font-size: 1.4rem;
  color: inherit;
}

.iti__country-list {
 z-index: 9999;
}

.newsletter-form__fields {
  overflow: visible !important;
}

.newsletter-form__field-wrapper {
  overflow: visible !important;
}

.newsletter .field {
  overflow: visible !important;
}
.iti__flag {
  background-image: url("https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/img/flags.png");
}

.iti__flag.iti__globe {
  background-image: url("https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/img/globe.png");
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .iti__flag {
    background-image: url("https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/img/flags@2x.png");
  }
}
.newsletter-phone-field {
  position: relative;
}
.newsletter-phone-field .field__input {
  padding-left: 7.8rem !important;
}
.newsletter-phone-field .field__label {
  left: 7.8rem !important;
  transition: top 0.2s ease, font-size 0.2s ease, letter-spacing 0.2s ease;
}
.newsletter-phone-field.phone-active .field__label {
  top: 0.7rem;
  font-size: 1rem;
  letter-spacing: 0.04rem;
}
.iti input.field__input,
.iti input[type="tel"] {
  width: 100% !important;
}
@media screen and (min-width: 750px) {
  .product__media-wrapper [data-ai-gallery="true"] {
    width: 100%;
    max-width: 100%;
    display: block;
  }
}
/* =========================
   AI gallery generic fixes
========================= */

/* Always show the AI gallery */
[data-ai-gallery="true"] {
  display: block !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Desktop layout */
@media screen and (min-width: 750px) {
  [data-ai-gallery="true"] [class*="ai-product-gallery-container-"] {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-thumbnails-"] {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 90px;
    flex: 0 0 90px;
    align-self: stretch;
    overflow-y: auto;
    overflow-x: hidden;
    padding-left: 10px;
    padding-right: 6px;
    scrollbar-width: thin;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-thumbnails-"]::after {
    content: "⌄";
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 48px;
    margin-top: auto;
    font-size: 20px;
    color: #4d5d53;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.96) 60%);
    pointer-events: none;
    z-index: 2;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-main-"] {
    flex: 1 1 auto;
    min-width: 0;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-main-image-"] {
    position: relative;
    aspect-ratio: 1 / 1.1;
    overflow: hidden;
  }
}

/* Mobile layout */
@media screen and (max-width: 749px) {
  [data-ai-gallery="true"] {
    display: block !important;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-container-"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-main-"] {
    order: 1 !important;
    width: 100% !important;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-thumbnails-"] {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    padding-left: 0;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-thumbnail-"] {
    width: 72px !important;
    flex: 0 0 72px !important;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-main-image-"] {
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  [data-ai-gallery="true"] [class*="ai-product-gallery-main-image-"] img,
  [data-ai-gallery="true"] [class*="ai-product-gallery-main-image-"] picture,
  [data-ai-gallery="true"] [class*="ai-product-gallery-main-image-"] video,
  [data-ai-gallery="true"] [class*="ai-product-gallery-main-image-"] iframe,
  [data-ai-gallery="true"] [class*="ai-product-gallery-main-image-"] model-viewer {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}
@media screen and (max-width: 1290px) {
.mega-menu__promo {
  display: none;
}
}
/* ============================================================
   Digital Pattern – Badge styles (in-stock & out-of-stock)
   Add these rules to your theme's CSS (e.g. base.css or a
   section-specific stylesheet).
   ============================================================ */

/* Shared badge base */
.digital-pattern-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 1.2rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 10px;
  margin-top: 6px;
  line-height: 1.4;
}

/* "Included with purchase" — green */
.digital-pattern-badge--included {
  background-color: #e6f4ec;
  color: #1a7c3e;
  border: 1px solid #a8d9b8;
}

/* "Out of stock" — red */
.digital-pattern-badge--oos {
  background-color: #fdecea;
  color: #c0392b;
  border: 1px solid #f5b7b1;
}

/* Greyed-out price when OOS */
.addon-price--oos {
  color: #aaa;
  text-decoration: line-through;
}

/* Hide the old toggle row entirely (belt-and-suspenders,
   in case any other template still renders it) */
.quantity-toggle {
  display: none !important;
}

/* Hide the old error span (replaced by badge) */
.ErrorOnEnable,
.ErrorOnEnable--persistent {
  display: none !important;
}
.addon-item {
      border-radius: 20px;
}
.addon-image {
  border-radius: 20px;
  min-width: 100px !important;
  margin: 8px;
}
.addon-details {
  padding: 0rem 1rem 0rem 1.6rem !important;
}
.color-products-list .addon-item {
  padding: 0px !important;
}
.color-products-list .addon-details {
  padding: 7px 12px !important;
}
.accessories-add-btn {
  display: inline-block;
  margin-top: 1rem;
  padding: 8px 16px;
  margin-left: 10px;
  background-color: #f8f9f8;
  border: 1px solid #4d5d53;
  color: #4d5d53;
  border-radius: 59px;
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}
.accessories-add-btn:hover {
  background-color: #4d5d53;
  color: #fff;
}
.accessories-qty-wrap {
  margin-top: 1rem;
  flex-wrap: wrap;
  gap: 12px;
}
.accessories-remove-btn {
  background: none;
  border: none;
  color: #4d5d53;
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}
@media screen and (max-width: 749px) {
  [data-ai-gallery="true"] [class*="ai-product-gallery-thumbnails-"] {
    padding-left: 10px;
  }
  [data-ai-gallery="true"] [class*="ai-product-gallery-main-"] {
    border-radius: 0px;
  }
  .price__regular .price-item--regular {
    font-size: 16px !important;
  }
  .addon-item .addon-details {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
  }
  .ai-product-gallery-main-image-template--27523179905307__main {
    border-radius: 0px !important;
  }

  /* Title and subtitle take full width — own row */
  .addon-item .addon-details .color-product-info {
    flex: 0 0 100%;
  }

  /* CTA (Change Colour + qty) sits left */
  .addon-item .color_product-cta {
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    flex: 0 1 auto;
  }

  /* Price sits right on the same row as CTA */
  .addon-item .price_wrap {
    flex: 0 1 auto;
    margin-left: auto;
  }
  .price_wrap {
    float: right;
  }
  .addon-parent-title {
    line-height: 1.2 !important;
    margin-top: 5px;
  }
  .price>* {
    font-size: 2.3rem !important;
  }
}
.sideCartMain {
  display: flex;
 
}
.right_side_part {
  flex: 1;
  min-width: 0;

}
.left_side_part {
  flex-shrink: 0;
}
.left_side_part:empty {
  display: none;
}
.cart-drawer #CartDrawer-Checkout {
  border-radius: 5px !important;
   outline: none !important;
}
.timeslotButton {
  position: relative; /* only if not already set */
}

.spots_left_label {
  position: absolute;
  top: -1em;
  left: 1.5rem;
  padding: 0.15em 0.7em;
  border-radius: 999px;
  background: #fbe3ce;
  color: #7a4a1e;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.6;
  white-space: nowrap;
  padding: 2px 15px;
  
}
.form__label {
  padding-bottom: 8px !important;
}
.product-form__input--class-options .timeslotButton {
  margin-bottom: 3rem !important;
}

.product-form__input--class-options .timeslotButton:last-of-type {
  margin-bottom: 0;
}
.timeslotButton .btnTextGroup {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.25;
}

.timeslotButton .timeslot_sku {
  font-size: 0.9rem;
  font-weight: 400;
  opacity: 0.75;
  letter-spacing: 0.02em;
}
.reputon-slider-modal,
.reputon-slider-modal-container {
  z-index: 100000 !important;
}