/** Shopify CDN: Minification failed

Line 275:70 Unexpected "{"

**/
/* 
  LEALE Custom Styles – custom.css

  This file contains all custom CSS overrides and additions 
  for the LEALE Shopify theme. Instead of relying on the theme editor's 
  "Custom CSS" fields, this centralized file ensures better maintainability, 
  portability across theme updates, and cleaner code management.

  -----------------------------------------------

  ⚙️  HOW TO INTEGRATE AFTER A THEME UPGRADE:
  1. Copy this file (assets/custom.css) into the new theme’s Assets folder.
  2. Open layout/theme.liquid and add this line before </head>:
     {{ 'custom.css' | asset_url | stylesheet_tag }}
  3. Save and test to ensure styles are properly applied.

  -----------------------------------------------

  ✅ ORGANIZATION GUIDE:
  - Typography tweaks
  - Header & navigation
  - Product page overrides
  - Buttons & forms
  - Responsive fixes
*/

/* ========== Typography Tweaks ========== */
/* Font sizing */
:root {
  --text-h1: max(
    var(--text-base),
    clamp(
        calc(var(--text-base) + 0.3125rem),
        calc(var(--text-base) + 0.08384rem + 0.975609vw),
        calc(var(--text-base) + 0.9375rem)
      ) * var(--text-heading-size-factor)
  );
  --text-h2: max(
    var(--text-base),
    clamp(
        calc(var(--text-base) + 0.1875rem),
        calc(var(--text-base) + 0.00457rem + 0.780488vw),
        calc(var(--text-base) + 0.6875rem)
      ) * var(--text-heading-size-factor)
  );
  --text-h3: max(
    var(--text-base),
    clamp(
        calc(var(--text-base) + 0.0625rem),
        calc(var(--text-base) - 0.02896rem + 0.390244vw),
        calc(var(--text-base) + 0.3125rem)
      ) * var(--text-heading-size-factor)
  );
  --text-h4: max(
    var(--text-base),
    clamp(
        calc(var(--text-base) - 0.0625rem),
        calc(var(--text-base) - 0.10823rem + 0.195122vw),
        calc(var(--text-base) + 0.0625rem)
      ) * var(--text-heading-size-factor)
  );
  --text-h5: max(
    var(--text-base),
    clamp(
        calc(var(--text-base) - 0.1875rem),
        calc(var(--text-base) - 0.1875rem + 0.1vw),
        calc(var(--text-base) - 0.125rem)
      ) * var(--text-heading-size-factor)
  );
  --text-h6: max(
    var(--text-base),
    clamp(
        calc(var(--text-base) - 0.3125rem),
        calc(var(--text-base) - 0.3125rem + 0.05vw),
        calc(var(--text-base) - 0.25rem)
      ) * var(--text-heading-size-factor)
  );
}

/* Enforce body text style for prices */
sale-price.h4.text-subdued,
sale-price.h6.text-subdued,
sale-price.h4.text-on-sale,
sale-price.h6.text-on-sale,
compare-at-price.h4.text-subdued, 
compare-at-price.h6.text-subdued {
  font-family: var(--text-font-family) !important;
  font-weight: var(--text-font-weight) !important;
  font-style: var(--text-font-style) !important;
} 


/* ========== Header & Navigation ========== */


/* ========== Product Page Overrides ========== */
/* Hide price-list and color swatches globally in every shop the look on mobile*/
shop-the-look-popover price-list,
shop-the-look-popover fieldset.h-stack.wrap.justify-center.gap-1 {
  display: none !important;
}

/* ========== Buttons & Forms ========== */


/* ==========   Kaching Bundles app style overrides  ========== */
/* Fonts */

.kaching-bundles .kaching-bundles__block-title,
.kaching-bundles .kaching-bundles__bundle-products__title, 
.kaching-bundles .kaching-bundles__free-gift__text, 
.kaching-bundles .kaching-bundles__bar-subtitle
.kaching-bundles .kaching-bundles__bar-price,
.kaching-bundles .kaching-bundles__bar-full-price,
.kaching-bundles .kaching-bundles__bar-unit-price,
.kaching-bundles .kaching-bundles__bundle-products__price,
.kaching-bundles .kaching-bundles__bundle-products__full-price,
.kaching-bundles .kaching-bundles__free-gift__full-price {
  font-size: var(--text-base) !important;
  font-family: var(--text-font-family) !important;
  font-weight: var(--text-font-weight) !important;
  font-style: var(--text-font-style) !important;
}

.kaching-bundles__bar-title  {
  font-size: var(--text-h4) !important;
  font-family: var(--heading-font-family) !important;
  font-weight: var(--heading-font-weight) !important;
  font-style: var(--heading-font-style) !important;
  letter-spacing: var(--heading-letter-spacing) !important;
  text-transform: var(--heading-text-transform) !important;
}

/* Separator line thickness */
.kaching-bundles .kaching-bundles__block-title::before, .kaching-bundles .kaching-bundles__block-title::after {
  height: 1px !important;
}

.kaching-bundles .kaching-bundles__bundle-products {
  border: none !important;
}

.kaching-bundles .kaching-bundles__collection-product__choose-product-button,
.kaching-bundles .kaching-bundles__choose-product__product-button {
  --initial-gradient: linear-gradient(rgb(var(--button-background)), rgb(var(--button-background))) !important;
  --hover-gradient: linear-gradient(transparent, transparent) !important;
  --initial-background-position: var(--transform-origin-end) !important;
  --hover-background-position: var(--transform-origin-start) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  text-transform: var(--button-text-transform) !important;
  /* font: var(--button-font) !important; */
  letter-spacing: var(--button-letter-spacing) !important;
  text-shadow: none !important;
  text-align: center !important;
  cursor: pointer !important;
  color: rgb(var(--button-text-color)) !important;
  border: 1px solid rgb(var(--button-outline-color, var(--button-background))) !important;
  border-radius: var(--button-border-radius) !important;
  background-color: #0000 !important;
  background-image: var(--initial-gradient),var(--hover-gradient) !important;
  background-size: 101% 101%,0 101% !important;
  background-position: var(--initial-background-position) !important;
  background-repeat: no-repeat !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 1.125rem !important;
  padding: .65rem 1.75rem !important;
  transition: background-size .45s cubic-bezier(.785,.135,.15,.86),background-position .45s step-end,color .45s cubic-bezier(.785,.135,.15,.86),border .45s cubic-bezier(.785,.135,.15,.86) !important;
  /* display: inline-flex !important;
  position: relative !important;
  width: 100% !important !important; */
}

/* ==========   Bundler app style overrides  ========== */

/* fill width/height */
.bndlr-container {
  padding: 0px !important;
  margin: 0px !important;
}
.bndlr-products-container {
  padding: 0px !important;
  margin: 0px !important;
  /* margin: var(--product-info-gap) 0 var(--product-info-gap) !important; */ /* hide because bundle title/description is not translatable */
}


/* title like product title */
.bndlr-bundle-title {
  display: none; /* hide because bundle title/description is not translatable */
  font-size: var(--text-h3);
  line-height: 1.6;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  letter-spacing: var(--heading-letter-spacing);
  text-transform: var(--heading-text-transform);
  overflow-wrap: anywhere;
  text-align: left !important;
}


/* left align description text */
.bndlr-bundle-description {
  display: none; /* hide because bundle title/description is not translatable */
  width: 100% !important;
  text-align: left !important;
}

/* simple 3 per row
.bndlr-inner-products-container {
  width: 100% !important;
  max-width: 100% !important;
}

.bndlr-product {
  border: none !important;
  max-width: calc(33.3% - 10px) !important;
}
*/

/* flexbox 3 per row */
.bndlr-inner-products-container{
  display: flex !important;
  flex-wrap: wrap !important;
  column-gap: 10px !important;
  row-gap: 0.25rem !important;
  padding: 0 !important;
  margin: 0px !important;
  /* margin: 1rem 0 0 0 !important; */ /* hide because bundle title/description is not translatable */
  justify-content: space-between !important;
  box-sizing: border-box !important;
}
.bndlr-inner-products-container div {
  gap: inherit !important;

}
.bndlr-product {
  border: none !important;
  flex: 1 0 calc((100% - 20px) / 3); 
  box-sizing: border-box !important;
  max-width: calc((100% - 20px) / 3) !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* vertical alignment within product card */
.bndlr-product .bndlr-product-image-url {
  margin-bottom: 0;
}
.bndlr-bottom-pusher {
  margin-bottom: auto !important;
}

/* like on catalog page */
.bndlr-product-title {
  font-size: var(--text-h6);
  line-height: 1.7;
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight) !important;
  font-style: var(--heading-font-style);
  letter-spacing: var(--heading-letter-spacing);
  text-transform: var(--heading-text-transform);
  overflow-wrap: anywhere;
}

/* Needed also on product section css for money formatting, otherwise overwritten */
.bndlr-money, .bndlr-new-price, .bndlr-old-price, .bndlr-total-price, {
  font-family: var(--text-font-family) !important;
  font-weight: var(--text-font-weight) !important;
  font-style: var(--text-font-style) !important;
}

/* product old-new product price in two lines */
.bndlr-product .bndlr-money{
  display:block;
  overflow:hidden;
  width:100%;
}
/* product old-new total price in one line */
.bndlr-inner-products-container .bndlr-total-price {
  width: 100%;
  margin-top: .5rem;
}

/* plus sign vertical position */
.bndlr-product:not(:last-of-type)::after {
  top: calc(21%) !important;
}


/* button styling */
.bndlr-add-to-cart {
  --initial-gradient: linear-gradient(rgb(var(--button-background)), rgb(var(--button-background)));
  --hover-gradient: linear-gradient(transparent, transparent);
  --initial-background-position: var(--transform-origin-end);
  --hover-background-position: var(--transform-origin-start);
  -webkit-appearance: none;
  appearance: none;
  text-transform: var(--button-text-transform);
  font: var(--button-font);
  letter-spacing: var(--button-letter-spacing);
  text-shadow: none;
  text-align: center;
  cursor: pointer;
  color: rgb(var(--button-text-color));
  border: 1px solid rgb(var(--button-outline-color, var(--button-background)));
  border-radius: var(--button-border-radius);
  background-color: #0000;
  background-image: var(--initial-gradient),var(--hover-gradient);
  background-size: 101% 101%,0 101%;
  background-position: var(--initial-background-position);
  background-repeat: no-repeat;
  justify-content: center;
  align-items: center;
  column-gap: 1.125rem;
  padding: .65rem 1.75rem;
  transition: background-size .45s cubic-bezier(.785,.135,.15,.86),background-position .45s step-end,color .45s cubic-bezier(.785,.135,.15,.86),border .45s cubic-bezier(.785,.135,.15,.86);
  display: inline-flex;
  position: relative;
  width: 100% !important;
}