/** Shopify CDN: Minification failed

Line 69:34 Expected identifier but found whitespace
Line 69:36 Unexpected "{"
Line 69:46 Expected ":"
Line 70:28 Expected identifier but found whitespace
Line 70:30 Unexpected "{"
Line 70:40 Expected ":"

**/

/* Changes fonts sitewide to Adobe Fonts IvyPresto + HK Grotesk */
:root {
  --font-heading-family: "ivyora-display", serif !important;
  --font-body-family: "hanken-grotesk", sans-serif !important;
}

/* Fluid type variables */

:root {
  --text-2xs: 1.3rem;
  --text-xs: 1.4rem;
  --text-sm: 1.5rem;
  --text-base: 1.6rem;
  --text-md: 1.7rem;
  --text-lg: 1.8rem;
  --text-xl: 2rem;
}

@media screen and (min-width: 750px) {
  :root {
    --text-md: 1.8rem;
    --text-lg: 2rem;
    --text-xl: 2.2rem;
  }
}

/* Font-size changes */

h1.product__title {
  font-size: 2.4rem;
}

@media screen and (min-width: 750px) {
  h1.product__title {
    font-size: 3.2rem;
  }
}

.announcement-bar__message.h5 {
  font-family: var(--font-body-family); /* Changes from header to body font */
  font-weight: var(--font-body-weight);
  font-size: 1.3rem;
  margin-bottom:0;
  margin-block-start: 0rem;
}

.footer {
  h1,
  h2,
  h3,
  h4,
  h5 {
    font-family: var(--font-body-family);
  }
}

:root {
        --button-hover-background: {{ settings.button_hover_background }};
        --button-hover-text: {{ settings.button_hover_text }};
      }
  

.card__heading.h5 {
  font-family: var(--font-body-family);
  font-size: var(--text-base);
}

.card__information .price {
  margin-top: 0.2rem;
  font-weight: 400;
}

/* Typography-based Margins */
h1, .h1, 
h2, .h2, 
h3, .h3, 
h4, .h4, 
h5, .h5,
.hxxl, .hxl, .h0 {
  margin-block-start: 1rem;
}

/* Mobile margins - using the font-size directly in calc() */
h1, .h1 { margin-block-end: calc(var(--font-heading-scale) * 1.5rem); } /* Half of 3rem */
h2, .h2 { margin-block-end: calc(var(--font-heading-scale) * 1rem); } /* Half of 2rem */
h3, .h3 { margin-block-end: calc(var(--font-heading-scale) * 0.85rem); } /* Half of 1.7rem */
h4, .h4 { margin-block-end: calc(var(--font-heading-scale) * 0.75rem); } /* Half of 1.5rem */
h5, .h5 { margin-block-end: calc(var(--font-heading-scale) * 0.6rem); } /* Half of 1.2rem */
.hxxl { margin-block-end: calc(var(--font-heading-scale) * 2.8rem); } /* Half of 5.6rem (approx) */
.hxl { margin-block-end: calc(var(--font-heading-scale) * 2.5rem); } /* Half of 5rem */
.h0 { margin-block-end: calc(var(--font-heading-scale) * 2rem); } /* Half of 4rem */

/* Desktop margins */
@media only screen and (min-width: 750px) {
  h1, .h1 { margin-block-end: calc(var(--font-heading-scale) * 2rem); } /* Half of 4rem */
  h2, .h2 { margin-block-end: calc(var(--font-heading-scale) * 1.6rem); } /* Half of 3.2rem */
  h3, .h3 { margin-block-end: calc(var(--font-heading-scale) * 1rem); } /* Half of 2rem */
  h5, .h5 { margin-block-end: calc(var(--font-heading-scale) * 0.65rem); } /* Half of 1.3rem */
  .hxl { margin-block-end: calc(var(--font-heading-scale) * 3.1rem); } /* Half of 6.2rem */
  .h0 { margin-block-end: calc(var(--font-heading-scale) * 2.6rem); } /* Half of 5.2rem */
}

/* Blog customisations */

@media screen and (min-width: 991px) {
  .blog-articles {
    grid-template-columns: 1fr 1fr 1fr !important;
    column-gap: 2rem !important;
    row-gap: 2rem !important;
  }
}

.blog-articles .article-card__footer {
  display: none;
}

.blog-articles .card__heading {
  font-family: var(--font-body-family);
  line-height: 1.4;
  font-size: var(--text-base);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 2;
  -webkit-line-clamp: 2;
}

.blog-articles .article-card__excerpt {
  display: none;
}

/* Fix accordion styling */

.accordion__title {
  margin: auto 0 0;
  padding-top: 0.3rem;
  font-family: var(--font-body-family);
  font-size: var(--text-sm);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.underlined-link {
  font-size: var(--text-sm);
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Increase gap between list items */

.rte ul li,
.rte ol li {
  margin-bottom: 0.5rem;
}

.form-status-list li {
  list-style-position: outside;
}

.rte ul,
.rte ol {
  list-style-position: outside;
}

/* 
@media screen and (min-width: 990px) {
  .rich-text .rich-text__blocks {
    max-width: 70rem;
  }
}
*/

.ratio-4-3 {
  padding-bottom: 75%; /* (3/4 = 0.75 = 75%) */
}

.ratio-3-2 {
  padding-bottom: 66.67%; /* (2/3 = 0.6667 = 66.67%) */
}

.ratio-16-9 {
  padding-bottom: 56.25%; /* (9/16 = 0.5625 = 56.25%) */
}

@media screen and (min-width: 750px) {
  .multicolumn .title-wrapper-with-link {
    margin-left: 1.5rem;
  }

  .accordion {
    margin-top: 0rem !important;
  }
}

@media screen and (min-width: 990px) {
  .multicolumn__title {
    max-width: 70rem;
  }
}


.background-none .multicolumn-card__info {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

  .newsletter__wrapper {
    padding-right: 25vw !important;
    padding-left: 25vw !important;
    text-wrap: balance;
  }

.card__heading--placeholder {
  font-family: var(--font-body-family);
  line-height: 1.4;
  font-size: var(--text-base);
}

.predictive-search__item-heading {
  font-family: var(--font-body-family);
  line-height: 1.4;
  font-size: var(--text-sm);
}

/* Hides tax and pickup options on product */
.product__tax,
.product__pickup-availabilities {
  display: none;
}

.related-products-heading {
  line-height: 1.2;
  margin: 1rem 0 0;
}

/* Fix Dawn theme bug: Forces button border width to prevent ::after pseudo-element collapse
   Dawn's theme.liquid sets --buttons-border-width to 0px when buttons_border_opacity is 0,
   which causes the ::after element to collapse to 0x0 dimensions and breaks button display */
:root {
  --buttons-border-width: 0.1rem !important;
  --buttons-border-opacity: 1 !important;
}

/* Button hover color overrides */
.button:hover,
.button:focus,
.button.button--primary:hover,
.button.button--primary:focus {
  background-color: var(--button-hover-background);
  color: var(--button-hover-text);
  transition: background-color 0.2s ease, color 0.2s ease;
}

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

.parent-products-heading {
  line-height: 1.2;
  margin: 1rem 0 0;
}

.product__inventory {
  padding-top: 0.5rem;
  font-size: var(--text-sm);
}

@media screen and (min-width: 750px) {
  .collection__description {
    max-width: 70ch;
  }
}

/* For line dividers between sections */
.has-bottom-divider {
  border-bottom: 1px solid #ebe5d8;
}

.has-top-divider {
  border-top: 1px solid #ebe5d8;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  letter-spacing: 0rem;
  line-height: 1;
  padding: 0.6rem 1.3rem 0.5rem;
  min-height: 2.4rem;
}

.cart-item__name {
  font-family: var(--font-body-family);
}

.totals__total {
  font-family: var(--font-body-family);
}

.footer-block .list-menu__item--link {
  line-height: 0.7rem;
}

.shopify-section-group-footer-group {
  z-index: 3;
}

.button {
  text-transform: uppercase;
}

/* Wishlist styling */

#wp_addwishlistbtn img,
.wp_removewishlistbtn img,
.wp-wishlistbutton_icon img {
  width: 2rem !important;
  height: 2rem !important;
  position: absolute;
  top: -2.4rem;
  left: 0rem;
}

.wishlist-item {
  border: 1px solid #e0dbcc;
  padding: 30px 20px;
  width: 300px;
  text-align: center;
  background-color: #f5f2ec;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 4px;
  font-family: var(--font-body-family);
}

.wishlist-item .product-title,
.wishlist-item .price-title {
  font-size: var(--text-base);
  font-weight: 400;
  color: #142038;
}

.wishlist-item .variant-title {
  display: none;
}

.wishlist-item .add-to-cart-btn,
.wishlist-item .rem-btn {
  text-transform: uppercase;
  font-family: var(--font-body-family);
  font-weight: 400;
  letter-spacing: 0.0125rem;
  font-size: 1.2rem;
  border-radius: 0px;
}

.wishlist-item .add-to-cart-btn {
  background-color: #142038;
  color: #ffffff;
}

.wishlist-item .rem-btn {
  background-color: #f5f2ec;
  color: #142038;
}

/* Videowise Styling */
.stories-container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: transparent !important;
  padding: 6px 0px !important;
}

.preview-outer-story {
  background: transparent !important;
}

.preview-outer-story-img {
  background: transparent !important;
}

.preview-outer-story-img img {
  border: 0px !important;
}

.preview-title-story {
  font-size: 11px !important;
}

.vw-story-arrow {
  display: none !important;
}

.story-container:not(:first-child) {
  margin-left: 8px !important;
}


/* Remove space under title-wrapper */
.title,
.title-wrapper-with-link {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 990px) {
  .title,
  .title-wrapper-with-link {
  margin-bottom: 2rem;
  }}



a.cart-item__name.h4.break {
  font-size: 1.5rem;
  letter-spacing: 0;
}

/* Mobile Grid Classes (< 750px) */
@media screen and (max-width: 749px) {
  .grid--1-col-mobile .grid__item {
    width: 100%;
    max-width: 100%;
  }

  .grid--2-col-mobile .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
    max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

    .grid--2-col-mobile .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
    max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

  .grid--3-col-mobile .grid__item {
    width: calc(33.33% - var(--grid-mobile-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-mobile-horizontal-spacing) * 2 / 3);
  }
}

/* Tablet Grid Classes (750px - 989px) */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .grid--1-col-tablet .grid__item {
    width: 100%;
    max-width: 100%;
  }
}

/* Small Desktop Grid Classes (990px - 1279px) */
@media screen and (min-width: 990px) and (max-width: 1279px) {
  .grid--1-col-desktop-small .grid__item {
    width: 100%;
    max-width: 100%;
  }

  .grid--2-col-desktop-small .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--3-col-desktop-small .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--4-col-desktop-small .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .grid--5-col-desktop-small .grid__item {
    width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
    max-width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
  }
}

/* Responsive Protection - Override user choices when screen gets too small */

/* Force 1 column on very small screens (< 375px) regardless of user setting */
@media screen and (max-width: 374px) {
  .grid--2-col-mobile .grid__item,
  .grid--3-col-mobile .grid__item {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Force max 2 columns on small mobile (375px - 599px) */
@media screen and (min-width: 375px) and (max-width: 599px) {
  .grid--3-col-mobile .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2) !important;
    max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2) !important;
  }
}

/* Force max 3 columns on tablet when user selects 4+ */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .grid--4-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3) !important;
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3) !important;
  }
}

/* Ensure swatch cards have minimum width for readability */
@media screen and (max-width: 749px) {
  .product-card-wrapper[data-product-group] .grid__item,
  .product-card-wrapper[data-mini-swatches] .grid__item {
    min-width: 280px; /* Minimum width for swatch functionality */
  }
  
  /* If screen is too narrow for 2 columns with min-width, force 1 column */
  @media screen and (max-width: 374px) {
    .product-card-wrapper[data-product-group] .grid__item,
    .product-card-wrapper[data-mini-swatches] .grid__item {
      width: 100% !important;
      max-width: 100% !important;
      min-width: unset;
    }
  }
}

/* Klaviyo Teaser Customisation */
.kl-teaser-VhrZa9 {
  z-index: 2 !important;
  left: 8px !important;
  right: auto !important;
  margin: 12px !important;
  width: 180px !important;
}

/* Klaviyo Teaser Button Customisation */
.kl-teaser-UmgN4Z {
  z-index: 2 !important;
  left: 8px !important;
  right: auto !important;
  margin: 12px !important;
  width: 180px !important;
}

/* Klaviyo Teaser Button Customisation */
.kl-teaser-VUWg5g {
  z-index: 2 !important;
  left: 8px !important;
  right: auto !important;
  margin: 12px !important;
  width: 180px !important;
}

/* Shopify Chat Button - only when closed */
#shopify-chat:not(:has(.chat-app--is-open)),
#ShopifyChat:not([is-open="true"]),
inbox-online-store-chat:not([is-open="true"]) {
  bottom: 8px !important;
  right: 8px !important;
}

/* Chat window when open - mobile only full screen */
@media screen and (max-width: 499x) {
  #shopify-chat:has(.chat-app--is-open),
  #ShopifyChat[is-open="true"],
  inbox-online-store-chat[is-open="true"] {
    bottom: 0 !important;
    right: 0 !important;
    left: 0 !important;
    top: 0 !important;
  }
}

/* Desktop - keep positioned from button location */
@media screen and (min-width: 500px) {
  #shopify-chat:has(.chat-app--is-open),
  #ShopifyChat[is-open="true"],
  inbox-online-store-chat[is-open="true"] {
    bottom: 11px !important;
    right: 8px !important;
  }
}

/* Mobile product card border radius override */
@media screen and (max-width: 749px) {
  :root {
    --mobile-border-radius: 0.6rem;
  }
  
  .card--card,
  .card--standard .card__inner {
    border-radius: var(--mobile-border-radius) !important;
  }
  
  .card--card:after,
  .card--standard .card__inner:after {
    border-radius: var(--mobile-border-radius) !important;
  }
  
  .card .card__inner .card__media {
    border-radius: calc(var(--mobile-border-radius) - var(--border-width) - var(--image-padding)) !important;
  }
  
  .card--card .card__inner .card__media {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }
}

.mobile-facets__arrow {
  display: none;
}

.mobile-facets__heading {
  font-family: var(--font-body-family);
}

.cart__login-title {
  font-family: var(--font-body-family);
  font-size: 1.6rem;
  font-weight: 400;
}


#swym-custom-product-title {
  font-family: var(--font-body-family);
}

.swym-collections-variant-popup-header-title {
  font-family: var(--font-body-family);
}

.swym-wishlist-collections-v2-container {
  z-index: 1!important;
}

/* MENU TEXT REPLACEMENT */

/* Hide hamburger icon permanently */
.header__icon--menu .icon-hamburger {
  display: none !important;
  visibility: hidden !important;
}

/* Fixed-width container for both states */
.header__icon--menu {
  width: 7rem;
  min-width: 7rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.header__icon--menu span {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Remove all transitions on icons */
.header__icon--menu .icon {
  transition: none !important;
}

/* MENU text styling - shows by default */
.header__icon--menu span::before {
  content: "MENU";
  font-family: var(--font-body-family);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: rgb(var(--color-foreground));
  line-height: 1;
  white-space: nowrap;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgb(var(--color-foreground));
}

/* Hide MENU text ONLY when menu is opening (with .menu-opening class) */
details[open].menu-opening .header__icon--menu span::before {
  content: "";
}

/* Hide close icon by default */
.header__icon--menu .icon-close {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Show close icon ONLY when menu is opening (with .menu-opening class) */
details[open].menu-opening .header__icon--menu .icon-close {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Override base.css transition states that cause the gap */
.js details[open]:not(.menu-opening) > .header__icon--menu .icon-close,
.js details[open]:not(.menu-opening) > .header__icon--menu .icon-hamburger {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Ensure MENU text shows during closing animation */
.js details[open]:not(.menu-opening) .header__icon--menu span::before {
  content: "MENU" !important;
}

/* HEADER LAYOUT */

/* Fixed header padding */
@media screen and (max-width: 749px) {
  .header {
  padding: 0.4rem 1.6rem !important;
}
}

/* Prevent logo resizing on menu open */
.header__heading-logo-wrapper {
  transition: none !important;
}

.header__heading-logo {
  max-width: 100% !important;
  width: auto !important;
}

.slider-buttons.quick-add-hidden{
 margin-top: -5rem;
 position: relative;
 z-index: 2;
}

.slider-counter.caption {
  border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.25);       
    backdrop-filter: blur(20px) saturate(120%);       
    -webkit-backdrop-filter: blur(20px) saturate(120%);

}

.product__media-list.grid {
  margin-bottom: 1rem;
}

.checkout-info-container {
max-width: 48rem;
}