/** Shopify CDN: Minification failed

Line 26:0 All "@import" rules must come first

**/
/* ============================================================================
   FJS CUSTOM STYLES
   Overrides and extensions to the base LBD Shopify theme.
   ============================================================================ */


/* ============================================================================
   GLOBAL UTILITY CLASSES
   ============================================================================ */

.text-left   { text-align: left; }
.text-center { text-align: center; }
.text-right  { text-align: right; }

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

/* ============================================================================
   FONT IMPORT
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');

/* ============================================================================
   TYPE SCALE — LBD Design System
   Source: designer spec. Fluid via clamp(), viewport range 375px → 1440px.
   Format per entry: font-size / line-height (px), mobile → desktop.
   ============================================================================ */

/* H1+ / Display — 64/60 → 96/82 */
.h0 {
  font-size:   clamp(4rem,    3.30rem + 3.00vw,  6rem);
  line-height: clamp(3.75rem, 3.27rem + 2.07vw,  5.13rem);
}

/* H1 — 48/50 → 64/60 */
h1, .h1 {
  font-size:   clamp(3rem,    2.65rem + 1.50vw,  4rem);
  line-height: clamp(3.13rem, 2.91rem + 0.94vw,  3.75rem);
}

/* H2 — 32/38 → 50/56 */
h2, .h2 {
  font-size:   clamp(2rem,    1.60rem + 1.69vw,  3.13rem);
  line-height: clamp(2.38rem, 1.98rem + 1.69vw,  3.5rem);
}

/* H3 — 28/18 (same mobile & desktop; intentionally tight leading — verify with designer) */
h3, .h3 {
  font-size:   1.75rem;
  line-height: 1.13rem;
}

/* H4 — 15/17 → 28/32 */
h4, .h4 {
  font-size:   clamp(0.94rem, 0.65rem + 1.22vw,  1.75rem);
  line-height: clamp(1.06rem, 0.73rem + 1.41vw,  2rem);
}

/* H5 — 20/22 → 24/26 */
h5, .h5 {
  font-size:   clamp(1.25rem, 1.16rem + 0.38vw,  1.5rem);
  line-height: clamp(1.38rem, 1.29rem + 0.38vw,  1.63rem);
}

/* Sub H / H6 — 18/24 → 24/28 */
h6, .h6 {
  font-size:   clamp(1.13rem, 0.99rem + 0.56vw,  1.5rem);
  line-height: clamp(1.5rem,  1.41rem + 0.38vw,  1.75rem);
}

/* Body 1 — 16/24 → 18/26 */
.body-1 {
  font-size:   clamp(1rem,    0.96rem + 0.19vw,  1.13rem);
  line-height: clamp(1.5rem,  1.46rem + 0.19vw,  1.63rem);
}

/* Body 2 — 14/22 → 16/24 */
.body-2 {
  font-size:   clamp(0.88rem, 0.83rem + 0.19vw,  1rem);
  line-height: clamp(1.38rem, 1.33rem + 0.19vw,  1.5rem);
}

/* Buttons — 16/20 → 18/26 */
.text-button {
  font-size:   clamp(1rem,    0.96rem + 0.19vw,  1.13rem);
  line-height: clamp(1.25rem, 1.12rem + 0.56vw,  1.63rem);
}

/* Labels — 12/14 mobile → 8/12 desktop (intentionally smaller on desktop)
   Negative slope: clamp(min=desktop, decreasing-formula, max=mobile) */
.text-label {
  font-size:   clamp(0.5rem,  0.84rem - 0.38vw,  0.75rem);
  line-height: clamp(0.75rem, 0.92rem - 0.19vw,  0.88rem);
}

/* ============================================================================
   RICH TEXT — BUTTON SVG ICON
   ============================================================================ */

/* Wrapper keeps the SVG inline-flex so it sits flush with the text baseline */
.fjs-btn-svg {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

/* Scale SVG to match the button's current font size */
.fjs-btn-svg svg {
  width: 1em;
  height: 1em;
}


/* ============================================================================
   FOOTER
   ============================================================================ */

.footer .h6 {
  color: #BC9312;
}

/* ============================================================================
   PDP
   ============================================================================ */
x-tabs button.h6 strong {
  font-family: 'Instrument Sans', sans-serif;
  font-size: 1rem;
}

x-tabs .prose h2 {
  font-family: 'Instrument Sans', sans-serif;
  font-size: clamp(1.15rem, 2.5vw, 1.75rem);
}

x-tabs .prose p,
x-tabs .prose ul {
  font-size: 1rem;
}

x-tabs .prose ul { text-align: left; } 

price-list .h4 {
  font-family: 'Instrument Sans', sans-serif;
  font-weight: 300;
  color: rgb(var(--success-text)); 
}


/* ============================================================================
   PRODUCT CARD
   ============================================================================ */

.product-card { margin-bottom: 1rem; }

   /* FJS - Price font family handling: apply card-only price color via CSS variable */
.product-card__info .price-list,
.product-card__info .text-subdued,
.product-card__info .text-on-sale {
  /*color: var(--product-card-price-color, inherit);*/
  color: rgb(var(--success-text));
}

.product-card__info .text-subdued, 
.price-list .text-subdued {
  font-family: 'Instrument Sans', sans-serif;
}

.product-card__info .text-subdued.line-through, 
.price-list .text-subdued.line-through {
    color: rgba(0, 0, 0, 0.35);
}

.product-card__image,
.homepage-media-grid img {
  border-radius: 20px;
}

/* Product badges — metafield custom.badges + automatic sale/sold-out */
.badge {
  border-radius: 0.3rem;
  margin-top: 0.5rem;
  margin-left: 0.5rem;
  font-family: 'Instrument Sans', sans-serif;
  padding: 0.1rem 1rem;
}

/* Metafield: "ON SALE" → badge--on-sale | automatic discount badge */
.badge--on-sale,
.badge--custom.badge--on-sale {
  background: #BC9312;
  color: #fff;
}

/* Metafield: "BESTSELLER" or "BEST SELLER" */
.badge--custom.badge--bestseller,
.badge--custom.badge--best-seller {
  background: #000;
  color: #fff;
}



/* ============================================================================
   Welcome15 formatting
   ============================================================================ */

.go2324193863 {
    top: -6px !important;
    left: -6px !important;
}

.kl-teaser-RdwyP2 {
    height: auto !important;
    width: fit-content !important;
    bottom: 60px !important;
    margin: 0 20px !important;
}

.Teaser-pointer-Hn1zd {
    border-radius: 4% !important;
}

.button.chat-toggle.chat-toggle--text-button {
    height: 36px !important;
}

button.chat-toggle.chat-toggle--text-button .chat-title {
    height: 36px !important;
    font-size: 20px !important;
}

#ShopifyChat {
    height: 36px !important;
}


/* ============================================================================
   Product card quick add button
   ============================================================================ */

.product-card__quick-add-button {
    width: calc(100% - 4rem);
    inset-inline: 2rem;
    margin-bottom: 1rem;
    background: unset;
    background: #fff;
    color: #000;
    font-weight: 600;
    padding: unset;
    letter-spacing: 1px;
    padding: 0.4rem;
    border-color: #ddd;
}
.product-card__quick-add-button:hover {
   color: #000 !important;
   background: rgba(255, 255, 255, 0.6);
   backdrop-filter: blur(5px);
}

@media screen and (pointer: fine) {
    .product-card__quick-add-button {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .product-card__quick-add-button :is(svg) {
        transition: none;
    }

    .product-card__quick-add-button:focus svg,
    .product-card__quick-add-button:hover svg {
        transform: none;
    }
}


/* Product title — PDP & quick-buy modal */
product-list .product-title,
product-list .product-title a {
  font-size: clamp(1rem, 1.5vw, 2rem);
  line-height: 1.25;
}

product-rerender .product-title,
product-rerender .product-title a {
  font-size: clamp(2.5rem, 2.5vw, 3.5rem);
  line-height: 1.25;
}

/* Shop Pay installments — PDP & quick-buy modal */
.payment-terms,
.payment-terms shopify-payment-terms {
  font-size: 0.7rem !important;
  letter-spacing: 0 !important;
}

/* Variant picker buttons — PDP & quick-buy modal */
.variant-picker :is(.block-swatch, .color-swatch, .thumbnail-swatch) {
  border-radius: 2.5rem;
}

/* ============================================================================
   QUICK BUY MODAL
   ============================================================================ */

.quick-buy-modal::part(content) {
  border-radius: 20px;
  overflow: hidden;
}

@media screen and (min-width: 700px) {
  .quick-buy-modal__content {
    align-items: start;
  }

  .quick-buy-modal__gallery-wrapper,
  .quick-buy-modal__info-wrapper {
    align-self: start;
  }
}

/* Variant picker buttons — 20% smaller in quick-buy modal only */
.quick-buy-modal .variant-picker .block-swatch {
  --swatch-padding: calc((var(--input-padding-block, 0.65rem) - 1px) * 0.8) calc(0.875rem * 0.8);
  min-width: 2rem;
  font-size: 80%;
  column-gap: 0.7rem;
}

.quick-buy-modal .variant-picker .color-swatch {
  --swatch-size: 1.7rem;
}

.quick-buy-modal .variant-picker .color-swatch--underline {
  --swatch-size: 1.4rem;
}

.quick-buy-modal .variant-picker .thumbnail-swatch {
  --swatch-size: 2.4rem;
}

@media screen and (min-width: 700px) {
  .quick-buy-modal .variant-picker .thumbnail-swatch {
    --swatch-size: 3.4rem;
  }
}

.quick-buy-modal .variant-picker__option-values {
  gap: 0.5rem 0.625rem;
}

.discount-badge {
  color: #fff;
}
