/** Shopify CDN: Minification failed

Line 2308:0 Unexpected "}"
Line 3128:35 Expected ":"

**/


/*Header bottom*/
/* Header bottom line – all screen sizes */
/* Header bottom line – all breakpoints */

/* Desktop header */
.m-header__inner {
  position: relative;
  box-shadow: none !important;
}

.m-header__inner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(0, 0, 0, 0.12);
}

/* Mobile header (separate DOM) */
.m-header__mobile,
.m-header__mobile-inner {
  position: relative;
}

.m-header__mobile::after,
.m-header__mobile-inner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(0, 0, 0, 0.12);
}


/*Header text*/
/* HEADER: make menu typography + dropdown level-2 match level-1 */
.m-header .m-menu {
  font-weight: var(--font-weight-body);
}

.m-menu-customer__label {
  font-weight: var(--font-weight-body) !important;
}


.m-header .m-menu__link--main {
  font-weight: inherit;
}

/* Dropdown / 2nd level links: same color + same weight as top level */
.m-header .m-sub-menu__item > a {
  color: rgb(var(--color-foreground)) !important;
  font-weight: inherit !important;
  opacity: 1 !important;
}

/*full width image with text */
/* IMAGE WITH TEXT (Full width): image can touch the page edge, but keep text padded */

.m-image-with-text > .container-full{
  padding-left: 0;
  padding-right: 0;
}

/* If the section has a header (heading/subheading/description), keep it padded */
.m-image-with-text > .container-full > .m-section__header{
  padding-left: 50px;
  padding-right: 50px;
}

/* Keep the actual text content padded from the page edge (works for image left OR right) */
.m-image-with-text > .container-full .m-image-with-text__content .m-content-box{
  padding-left: 50px;
  padding-right: 50px;
}
/* Image with text (full width): add vertical spacing on mobile only */
@media (max-width: 767px) {
  .m-image-with-text > .container-full {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
/* Collapsible tabs titles - Policy pages */
.m-collapsible--button {
  font-weight: var(--font-weight-body--bold) !important;
}

/* GLOBAL: product card info left padding (same as collection) */
.m-product-card__content{
  padding-left: 15px !important;
}

/* GLOBAL: product title weight follows theme typography (same as collection) */
.m-product-card__name{
  font-weight: var(--font-weight-body) !important;
}
/* COLLECTION (product grid): true edge-to-edge when section container is set to "Full width". */
.template-collection .facest-filters-section > .container-full {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* COLLECTION: ultra-tight horizontal spacing (almost a thin line between products) */
.template-collection .m-collection-products{
  margin-left: -1px !important;
  margin-right: -1px !important;
}
.template-collection .m-collection-products .m-product-item{
  padding-left: 1px !important;
  padding-right: 1px !important;
}

/* Optional: slightly larger on very large screens, still very tight */
@media screen and (min-width: 1280px){
  .template-collection .m-collection-products{
    margin-left: -1px !important;
    margin-right: -1px !important;
  }
  .template-collection .m-collection-products .m-product-item{
    padding-left: 1px !important;
    padding-right: 1px !important;
  }
}

/* COLLECTION (full width): keep images flush, but give UI/text a left inset */

/* 1) Toolbar (Filter + Suggested) */
.template-collection .facest-filters-section > .container-full .m-collection-toolbar--wrapper {
  padding-left: 15px !important;
}

/* 2) Product card information (title/price/swatches) */

/* Active filters row (the whole line that contains "× Tops" + "Clear All") */
.template-collection .m-active-facets {
  padding-left: 5px !important;
}

/* Also target the id used by the theme (it's a DIV in facets mode and a UL in tags mode) */
.template-collection #ActiveFacets {
  padding-left: 5px !important;
}

/* COLLECTION PAGE — force toolbar + product titles to follow theme typography weight */
.template-collection .m-collection-toolbar{
  font-weight: var(--font-weight-body) !important;
}

.template-collection .m-collection-toolbar .m-sidebar--open{
  font-weight: inherit !important;
}

/* Product titles in collection grid */
.template-collection .m-product-card__name{
  font-weight: var(--font-weight-body) !important;
}

/* Collection toolbar: product count (top-right) */
.template-collection .m-collection-toolbar .m-toolbar--products-count {
  padding-right: 15px;
}

/* Collection toolbar: product count (top-right) */
.template-collection .m-collection-toolbar .m-toolbar--products-count {
  margin-left: auto;
  white-space: nowrap;
  line-height: 1;
}

/*Recently viewed products section*/
.m-recently-viewed > .container,
.m-recently-viewed > .container-fluid,
.m-recently-viewed > .container-full {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.m-recently-viewed .m-mixed-layout--mobile-scroll {
  --page-padding: 0px;
  padding-inline: 0 !important;
  margin-inline: 0 !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
}


/* PRODUCT RECOMMENDATIONS: remove left/right gutters (works for Full width + Default container types) */
.template-product .m-product-recommendations product-recommendations > .container-full,
.template-product .m-product-recommendations product-recommendations > .container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
}
/* Hide options by default, then fade them in on card hover */
/* .m-product-card .m-product-option--content.m\:inline-flex.m\:flex-wrap {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.m-product-card:hover .m-product-option--content.m\:inline-flex.m\:flex-wrap {
  display: inline-flex;
  opacity: 1;
} */
/* Only affect the mega-banner inside the full_preview block */
.m-custom-collection-full_preview .m-mega-banner__inner {
  padding-top: 20px;
}

.m-custom-collection-full_preview .m-mega-banner__button.m-button--link {
  text-decoration: underline;
  text-underline-offset: 0.5em;
}


.m-custom-collection-list__image {
  position: relative;
}
.m-sub-menu__item--level-1 > a {
  display: inline-block;
}
/* Only affect the mega-banner inside the full_preview block */
.m-custom-page-full_preview .m-mega-banner__inner {
  padding-top: 20px;
}

.m-custom-page-full_preview .m-mega-banner__button.m-button--link {
  text-decoration: underline;
  text-underline-offset: 0.5em;
}


.m-custom-page-list__image {
  position: relative;
}

/* Replace header shadow with a thin bottom border */
.m-header.stuck .m-header__wrapper,
.m-header.header-sticky-always .m-header__wrapper {
  box-shadow: none !important;
  border-bottom: 1px solid rgb(var(--color-border));
}
@media screen and (min-width: 1024px) {
  /* Remove the top gap under header (was coming from product.css) */
  .template-product .m-main-product {
    margin-top: 0 !important;
  }

  /* Remove outer container padding so the image can go flush-left */
  .template-product .m-main-product > .container-full {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* IMPORTANT: do NOT use flex gap here (it will wrap columns) */
  .template-product .m-main-product--wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Make the MEDIA column flush to the left edge */
  .template-product .m-main-product--media {
    padding-left: 0 !important;
  }
  
  /* RTL Product Image Fix */
  [dir="rtl"] .template-product .m-main-product--media {
      padding-right: 0 !important;
      padding-left: 0 !important;
  }
.template-product .m-main-product--info .m-product-info--wrapper {
    padding-inline: 24px !important;
  }
}
/* =========================================================
   PRODUCT SIDEBAR DRAWER — FIXES
   ========================================================= */

/* Ensure drawer sits above everything */
.m-product-sidebar__drawer .m-drawer__wrapper {
  z-index: 9999; /* higher than theme defaults */
}

/* Make sure close button positions correctly inside the panel */
.m-product-sidebar__drawer .m-drawer__content {
  position: relative; /* needed for .m-drawer__close absolute positioning */
}

.m-product-sidebar__drawer .m-drawer__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
}

/* Give header some right padding so title doesn't collide with X */
.m-product-sidebar__drawer .m-drawer__header {
  padding-right: 56px;
}

/* ONLY drawer body scrolls */
.m-product-sidebar__drawer .m-drawer__body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Sidebar clickable block — force natural casing */
.template-product .main-product__block .m-product-sidebar__trigger {
  text-transform: none !important;
  letter-spacing: normal !important;
}
/* Sidebar trigger text */
  .template-product .main-product__block .m-product-sidebar__trigger {
    font-size: 14px;
    line-height: 1.4;
    padding: 8px 0; /* reduce vertical spacing */
  }

  /* Optional icon / arrow inside trigger */
  .template-product .main-product__block .m-product-sidebar__trigger svg {
    width: 14px;
    height: 14px;
  }

  /* Tighten spacing between sidebar blocks */
  .template-product .main-product__block {
    margin-bottom: 12px;
  }



/* =========================================================
   PRODUCT PAGE — right info column refinement (theme-safe)
   ========================================================= */

/* Slightly more breathing room from top (responsive) */
.template-product .m-main-product--info{
  padding-top: 3rem; /* replaces 48px */
}

/* Product title — slightly larger, responsive, theme-driven */
.template-product .m-main-product--info .m-product-title{
  font-size: 1.75em;       /* scales with theme + breakpoints */
  line-height: 1.35;
  font-weight: inherit;   /* use theme heading weight */
}

/* Option labels (Color, Size, etc.) — inherit theme weight */
.template-product .m-main-product--info
.m-product-option--label{
  font-size: 0.9em;
  font-weight: var(--font-weight-body);
}

/* Dropdowns & inputs — readable but compact */
.template-product .m-main-product--info
select,
.template-product .m-main-product--info
input,
.template-product .m-main-product--info
.form-field{
  font-size: 0.95em;
}

/* Add to cart button text — same scale as inputs */
.template-product .m-main-product--info
.m-add-to-cart{
  font-size: 0.95em;
}

.template-product .m-main-product--info
.m-product-option--swatch
.m-product-option--node__label{
  width: 20px !important;
  height: 20px !important;
  margin: 4px !important;
  border-radius: 50% !important; /* Force Circle */
  overflow: hidden;
}

/* RTL Size Guide Position */
[dir="rtl"] .m-product-option--label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
[dir="rtl"] .foxkit-sizechart-button {
    /* Flex handles positioning (Label Right, Button Left) */
    margin: 0 !important; 
}

/* RTL Mobile Sticky Add to Cart */
[dir="rtl"] .m-sticky-addtocart--mobile-middle {
    /* Allow natural RTL flow (Item1 Right, Item2 Left) */
    flex-direction: row !important; 
}
[dir="rtl"] .m-sticky-addtocart--mobile-title {
    text-align: right; 
    margin-left: 10px;
    margin-right: 0;
}
[dir="rtl"] .m-sticky-addtocart--mobile-price {
    text-align: left; 
}



/* End PRODUCT PAGE Reduce elements sizes */



/* PRODUCT PAGE — vertically center sticky info column safely */
@media screen and (min-width: 1024px) {
  .template-product .m-main-product--info .m-product-info--wrapper {
    top: calc(
      50vh -
      0.5 * var(--pdp-info-height, 360px)
    ) !important;
  }
}



/* =========================================================
   PDP SIDEBAR DRAWER (PORTALED) — clean, centered, padded layout
   This styles the REAL rendered drawer (the wrapper is moved to <body>)
   Hook: .pdp-sdrawer__wrap
   ========================================================= */

.pdp-sdrawer__wrap{
  z-index: 9999;
  --m-bg-opacity: 0.28 !important;

  /* ↓ LESS left & right padding */
  --pdp-sdrawer-pad: clamp(10px, 2.5vw, 36px);

  /* ↑ MORE top padding */
  --pdp-sdrawer-top: clamp(48px, 8vw, 110px);
}


/* Panel width (scoped ONLY to this drawer) */
@media (min-width: 768px){
  .pdp-sdrawer__panel{
    width: 50vw !important;
    max-width: none !important;
  }
}
@media (max-width: 767px){
  .pdp-sdrawer__panel{
    width: 100vw !important;
  }
}

/* Ensure our panel is the positioning context for the close button */
.pdp-sdrawer__panel{
  position: relative;
}

/* Centered content column inside the drawer */
.pdp-sdrawer__container{
  max-width: min(820px, 84%);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--pdp-sdrawer-pad);
  padding-right: var(--pdp-sdrawer-pad);
}

/* Header spacing like the reference */
.pdp-sdrawer__header{
  padding: 0 !important; /* kill theme padding */
}
.pdp-sdrawer__header .pdp-sdrawer__container{
  padding-top: var(--pdp-sdrawer-top);
  padding-bottom: 14px;
}
.pdp-sdrawer__title{
  margin: 0;
}

/* Close button: small bordered square like the screenshot */
.pdp-sdrawer__close{
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  padding: 8px !important;
}

/* Body padding controlled by our container (so remove theme padding) */
.pdp-sdrawer__body{
  padding: 0 !important;
}
.pdp-sdrawer__body .pdp-sdrawer__container{
  padding-top: 8px;
  padding-bottom: 56px;
}

/* Content typography spacing (so it doesn’t look “stuck”) */
.pdp-sdrawer__content{
  line-height: 1.7;
}
.pdp-sdrawer__content p{
  margin: 0 0 14px;
}
.pdp-sdrawer__content ul{
  margin: 14px 0 18px;
  padding-left: 20px;
}
.pdp-sdrawer__content li{
  margin: 6px 0;
}

/* Accordion separators like the reference */
.pdp-sdrawer__accordion{
  margin-top: 38px !important;
  border-top: 1px solid rgb(var(--color-border));
}
.pdp-sdrawer__accordion .m-accordion--item{
  border-bottom: 1px solid rgb(var(--color-border));
  margin: 0 !important;
}

/* Accordion row: label left, chevron right */
.pdp-sdrawer__accordion-btn{
  width: 100%;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px;

  padding: 22px 0 !important;
  background: transparent !important;
}

.pdp-sdrawer__accordion-label {
  font-weight: var(--font-weight-body) !important;
}

/* Chevron built in CSS (no theme icon conflicts) */
.pdp-sdrawer__accordion-icon{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: none !important;
}
/* Chevron base (down) */
.pdp-sdrawer__accordion-icon::before{
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  transition: transform 220ms ease;
}

/* Chevron up when open */
.pdp-sdrawer__accordion .m-accordion--item.open .pdp-sdrawer__accordion-icon::before,
.pdp-sdrawer__accordion .m-accordion--item.is-open .pdp-sdrawer__accordion-icon::before,
.pdp-sdrawer__accordion .m-accordion--item.active .pdp-sdrawer__accordion-icon::before,
.pdp-sdrawer__accordion .m-accordion--item.is-active .pdp-sdrawer__accordion-icon::before,
.pdp-sdrawer__accordion
.pdp-sdrawer__accordion-btn[aria-expanded="true"]
.pdp-sdrawer__accordion-icon::before{
  transform: rotate(-135deg) !important;
}



.pdp-sdrawer__accordion-content{
  padding: 0 !important; /* keep it clean */
}
/* FIX: prevent accordion content "peeking" on initial drawer open (closed state) */
.pdp-sdrawer__accordion .m-accordion--item > .m-accordion--item-content{
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Show only when open (cover common theme states) */
.pdp-sdrawer__accordion .m-accordion--item.open > .m-accordion--item-content,
.pdp-sdrawer__accordion .m-accordion--item.is-open > .m-accordion--item-content,
.pdp-sdrawer__accordion .m-accordion--item.active > .m-accordion--item-content,
.pdp-sdrawer__accordion .m-accordion--item.is-active > .m-accordion--item-content,
.pdp-sdrawer__accordion .m-accordion--item-button[aria-expanded="true"] + .m-accordion--item-content{
  display: block !important;
  padding-bottom: 18px !important;
}
/* =========================================================
   PDP SIDEBAR DRAWER — unify title typography (responsive)
   ========================================================= */

.m\:font-medium {
    font-weight: var(--font-weight-body);
}
.m-cart-item__title {
    font-weight: var(--font-weight-body);
    font-size: 1.3rem;
}
.m-cart-addon__header button {
    font-weight: var(--font-weight-body);
}

/* Cartttt */
/* CART: match reference layout (no button color/shape changes) */

/* 6) Whole cart page background */
.template-cart #MainContent {
  background: rgb(247, 247, 247);
  min-height: 75vh;

}

/* Desktop 2-column layout */
@media screen and (min-width: 1024px) {
  .template-cart #MinimogCart form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 500px; /* Significantly wider right column */
    gap: 24px; /* Tighter gap */
    align-items: start;
  }

  .template-cart #MinimogCart .m-cart__footer {
    display: block !important;
    width: 100% !important;
    justify-content: initial !important;
  }

  .template-cart #MinimogCart .m-cart__footer--wrapper {
    width: 100% !important; /* Force to fill grid column */
    position: sticky;
    top: calc(
      var(--m-header-height, 0px) +
      var(--m-topbar-height, 0px) +
      var(--m-announcement-height, 0px) +
      24px
    );
  }
}

/* Keep header row hidden */
.template-cart #MinimogCart .m-cart__header {
  display: none !important;
}

/* 4) LEFT panel (one card holding title + all items) */
.template-cart #MinimogCart .m-cart__wrapper {
  background: #fff;
  border: 1px solid rgb(var(--color-border));
  padding: 24px;
}

/* 3) Title inside the left panel, top-left */
.template-cart #MinimogCart .m-cart__page-title {
  margin: 0 0 18px;
  text-align: left;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 600;
}

/* 2) Make items look like one list with separators (NOT separate cards) */
.template-cart #MinimogCart .m-cart__items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Remove theme border around the list (wrapper is the card now) */
@media screen and (min-width: 768px) {
  .template-cart #MinimogCart .m-cart__items {
    border: 0 !important;
  }
}

.template-cart #MinimogCart .m-cart-item {
  border: 0 !important;
  border-bottom: 1px solid rgb(var(--color-border)) !important;
  padding: 22px 0 !important;
  align-items: stretch;
}

.template-cart #MinimogCart .m-cart-item:first-child {
  padding-top: 0 !important;
}
.template-cart #MinimogCart .m-cart-item:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove the "total per item" (subtotal) column to gain space */
@media screen and (min-width: 768px) {
  .template-cart #MinimogCart .m-cart__column--subtotal {
    display: none !important;
  }
}

/* Mobile: keep your anti-wrapping layout */
@media screen and (max-width: 767px) {
  .template-cart #MinimogCart .m-cart__wrapper {
    padding: 16px;
  }

  .template-cart #MinimogCart .m-cart-item {
    padding: 16px 0 !important;
  }

  .template-cart #MinimogCart .m-cart__column--price {
    flex: 0 0 110px;
    width: 110px;
    padding-right: 0;
    text-align: right;
  }

  .template-cart #MinimogCart .m-cart__column--product {
    flex: 1 1 calc(100% - 110px);
    min-width: 0;
  }
}

/* Keep product info behaving nicely */
.template-cart #MinimogCart .m-cart-item__product {
  gap: 16px;
}
.template-cart #MinimogCart .m-cart-item__info {
  min-width: 0;
}

/* Product title: allow natural wrapping */
.template-cart #MinimogCart .m-cart-item__title {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  line-height: 1.35;
}

/* Variant options/properties: fix break-all */
.template-cart #MinimogCart .m-cart-item__option,
.template-cart #MinimogCart .m-cart-item__property {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

/* Long custom property values can break anywhere */
.template-cart #MinimogCart .m-cart-item__property [data-cart-item-property-value] {
  overflow-wrap: anywhere !important;
}

/* Prices: keep them from splitting */
.template-cart #MinimogCart .m-cart__column--price,
.template-cart #MinimogCart .m-cart-item__price,
.template-cart #MinimogCart .m-cart-item__price--regular,
.template-cart #MinimogCart .m-cart-item__price--final {
  white-space: nowrap;
}

.template-cart #MinimogCart [data-cart-item-original-price],
.template-cart #MinimogCart [data-cart-item-final-price] {
  white-space: nowrap !important;
}
.template-cart #MinimogCart [data-cart-item-original-price] *,
.template-cart #MinimogCart [data-cart-item-final-price] * {
  display: inline !important;
  white-space: nowrap !important;
}

/* 5) RIGHT subtotal panel: white background */
.template-cart #MinimogCart .m-cart__footer--wrapper {
  background: #fff;
  border: 1px solid rgb(var(--color-border));
  padding: 24px;
}

/* Remove shadow ONLY from addon panels (note/shipping/coupon) */
.template-cart #MinimogCart .m-cart .m-cart-addon__body,
.template-cart #MinimogCart .m-cart__footer--wrapper .m-cart-addon,
.template-cart #MinimogCart .m-cart__footer--wrapper .m-cart-addon__body,
.template-cart #MinimogCart .m-cart__footer--wrapper .m-cart-addon__content,
.template-cart #MinimogCart .m-cart__footer--wrapper .m-cart-addon__inner {
  box-shadow: none !important;
}

/* Space between checkout button and pills */
.template-cart #MinimogCart .m-cart__checkout .m-cart__checkout-button {
  margin-bottom: 14px;
}

/* Keep image clean */
.template-cart #MinimogCart .m-cart-item__image {
  border-radius: 0 !important;
}

/* Desktop ordering: qty then price */
@media screen and (min-width: 768px) {
  .template-cart #MinimogCart .m-cart__column--product { min-width: 0; }
  .template-cart #MinimogCart .m-cart__column--quantity { order: 2; }
  .template-cart #MinimogCart .m-cart__column--price { order: 3; }
}

/* Cart page: space below header */
.template-cart #MainContent {
  padding-top: 40px;
  padding-bottom: 40px;

}

@media (max-width: 767px) {
  .template-cart #MainContent {
    padding-top: 24px;
  padding-bottom: 24px;

  }
}
.m-cart {
    margin-bottom: 0px;
}

/* =========================================================
   REFACTORED CART LAYOUT (Global & Responsive)
   ========================================================= */

/* --- 1. GLOBAL COMPONENT STYLES (Apply everywhere) --- */

/* Cart Item Base */
.template-cart #MinimogCart .m-cart-item {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid rgb(var(--color-border));
  padding-bottom: 24px !important;
  gap: 16px; 
}

/* Typography */
.template-cart #MinimogCart .m-cart-item__title {
  font-size: 1.1rem;
  font-weight: var(--font-weight-body);
  margin-bottom: 4px;
  line-height: 1.3;
}
.template-cart #MinimogCart .m-cart-item__option,
.template-cart #MinimogCart .m-cart-item__property {
  line-height: 1.5;
  margin-bottom: 2px;
  font-size: 0.9rem;
  color: rgb(var(--color-foreground));
  display: block;
}

/* Remove Button (Clean) */
.template-cart #MinimogCart .m-cart-item__remove-wrapper {
    line-height: normal; 
    display: flex;
    align-items: flex-end; 
    padding-top: 8px;
}
.template-cart #MinimogCart .m-cart-item__remove {
  text-decoration: none !important;
  border-bottom: 1px solid currentColor;
  font-size: 0.85rem;
  cursor: pointer;
  line-height: 1.2;
  transition: all 0.2s;
}
.template-cart #MinimogCart .m-cart-item__remove::after,
.template-cart #MinimogCart .m-cart-item__remove::before {
    display: none !important; 
    content: none !important;
}
.template-cart #MinimogCart .m-cart-item__remove:hover {
    border-color: transparent;
}

/* Price (Bold) */
.template-cart #MinimogCart .m-cart-item__price {
  font-size: 1.05rem;
  font-weight: 600;
  white-space: nowrap;
}

/* Quantity Selector (Modern Pill) - GLOBAL */
.template-cart #MinimogCart .m-product-quantity {
  display: flex;
  align-items: center;
  background-color: #ffffff !important;
  border: 1px solid #e2e2e2 !important;
  border-radius: 50px;
  padding: 1px 3px;
  height: 36px; /* Slightly smaller on mobile default, override on desktop */
  width: auto;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
  gap: 0;
}
.template-cart #MinimogCart .m-product-quantity:hover {
    border-color: #cdcdcd !important;
}
.template-cart #MinimogCart .m-product-quantity__input {
  background: transparent;
  border: none;
  font-weight: 600;
  width: 28px;
  text-align: center;
  padding: 0;
  color: #000;
  font-size: 0.9rem;
}
.template-cart #MinimogCart .m-product-quantity__button {
  border: none;
  background: transparent;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 1;
  transition: background 0.2s ease;
}
.template-cart #MinimogCart .m-product-quantity__button:hover {
  background: #f0f0f0;
  color: #000;
}


/* --- 2. MOBILE & TABLET LAYOUT (< 1024px) --- */
@media screen and (max-width: 1023px) {
  .template-cart #MinimogCart .m-cart-item {
    align-items: stretch; /* Ensure content matches image height */
  }
  
  /* Image */
  .template-cart #MinimogCart .m-cart-item__media-wrapper {
    flex: 0 0 110px; /* Good size for mobile/tablet list */
    width: 110px;
    display: flex;
    flex-direction: column;
  }
  .template-cart #MinimogCart .m-cart-item__image {
     width: 100% !important;
     height: 100%;
     border-radius: 4px;
     max-width: 100% !important;
  }
  .template-cart #MinimogCart .m-cart-item__image img {
     height: 100%;
     object-fit: cover; /* Cover ensures it fills height */
     width: 100%;
  }

  /* GRID LAYOUT FOR CONTENT */
  .template-cart #MinimogCart .m-cart-item__content-wrapper {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr auto;
    /* 3 Rows: Title / Options / Footer (pushes to bottom) */
    grid-template-rows: min-content min-content 1fr; 
    grid-template-areas: 
      "title price" 
      "options options" 
      "remove quantity";
    column-gap: 12px;
    row-gap: 4px;
    align-items: start;
  }

  /* Unwrap containers */
  .template-cart #MinimogCart .m-cart-item__info,
  .template-cart #MinimogCart .m-cart-item__actions {
    display: contents;
  }
  
  /* Title */
  .template-cart #MinimogCart .m-cart-item__title {
    grid-area: title;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.3;
    padding-right: 4px;
  }

  /* Price */
  .template-cart #MinimogCart .m-cart__column--price {
    grid-area: price;
    text-align: right;
    padding: 0 !important;
    white-space: nowrap;
    align-self: start;
  }
  .template-cart #MinimogCart .m-cart-item__price {
    font-size: 1rem;
    font-weight: 600;
  }

  /* Options */
  .template-cart #MinimogCart .m-cart-item__option,
  .template-cart #MinimogCart .m-cart-item__property {
    grid-area: options;
    font-size: 0.85rem;
    color: #666;
  }

  /* Remove Link (Bottom Left) */
  .template-cart #MinimogCart .m-cart-item__remove-wrapper {
      grid-area: remove;
      align-self: end; /* Sit at bottom */
      margin-top: 0; 
      padding-top: 0;
      margin-bottom: 0 !important; /* Strict 0 offset */
      padding-bottom: 2px; /* Tiny optical adjustment only */
  }
  .template-cart #MinimogCart .m-cart-item__remove {
      font-size: 0.85rem;
      color: #888;
      text-decoration: underline !important;
      border: none;
  }

  /* Quantity (Bottom Right) */
  .template-cart #MinimogCart .m-cart__column--quantity {
    grid-area: quantity;
    justify-self: end;
    align-self: end; /* Sit at bottom */
    padding: 0 !important;
    margin: 0 !important; /* Force zero margin */
    margin-top: auto !important; 
    line-height: 0; /* Kill line-height spacing */
  }
  
  /* Mobile Quantity Pill */
  .template-cart #MinimogCart .m-product-quantity {
     height: 32px; 
     background: #fff !important;
     border: 1px solid #ddd !important;
     margin-bottom: 0 !important; /* Strict 0 */
  }
}


/* --- 3. DESKTOP LAYOUT (>= 1024px) --- */
@media screen and (min-width: 1024px) {
  .template-cart #MinimogCart .m-cart-item {
    padding-bottom: 24px !important;
    gap: 24px;
  }

  /* Desktop Image */
  .template-cart #MinimogCart .m-cart-item__media-wrapper {
    flex: 0 0 280px;
    width: 280px;
    display: flex;
  }
  .template-cart #MinimogCart .m-cart-item__image {
     width: 100% !important;
     max-width: 100% !important;
     height: 100%;
  }
  .template-cart #MinimogCart .m-cart-item__image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }

  /* Content Row */
  .template-cart #MinimogCart .m-cart-item__content-wrapper {
    flex: 1;
    display: flex;
    justify-content: space-between;
  }

  /* Info Col */
  .template-cart #MinimogCart .m-cart-item__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: 0 !important;
    padding-right: 20px;
  }

  /* Info Spacing */
  .template-cart #MinimogCart .m-cart-item__title {
    font-size: 1.15rem;
    margin-bottom: 8px;
    font-weight: var(--font-weight-body);
  }

  /* Remove Button Bottom */
  .template-cart #MinimogCart .m-cart-item__remove-wrapper {
      margin-top: auto;
      padding-top: 16px;
  }

  /* Actions Col (Right) */
  .template-cart #MinimogCart .m-cart-item__actions {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    text-align: right;
    min-width: 140px; 
    padding-bottom: 0;
  }
  
  /* Price Top */
  .template-cart #MinimogCart .m-cart-item__price {
    font-size: 1.1rem;
  }
  .template-cart #MinimogCart .m-cart__column--price {
      order: 1 !important;
      width: auto !important;
      padding: 0 !important;
  }
  
  /* Qty Bottom */
  .template-cart #MinimogCart .m-cart__column--quantity {
    order: 2 !important;
    width: auto !important;
    padding: 0 !important;
    margin-top: auto;
  }
  
  /* Larger Desktop Quantity Pill */
  .template-cart #MinimogCart .m-product-quantity {
    height: 40px; 
    padding: 2px 4px;
    gap: 2px;
  }
  .template-cart #MinimogCart .m-product-quantity__input {
      width: 32px;
      font-size: 1rem;
  }
  .template-cart #MinimogCart .m-product-quantity__button {
      width: 30px;
      height: 30px;
      font-size: 1rem;
  }
}

/* --- 4. GRID ADJUSTMENTS (Responsive) --- */
/* Prevent Squashing on Tablets/Small Laptops (1024px - 1199px) */
@media screen and (min-width: 1024px) and (max-width: 1250px) {
  .template-cart #MinimogCart form {
    grid-template-columns: minmax(0, 1fr) 380px !important; /* Prevent excessive width */
    gap: 24px;
  }
}

/* Footer Font Refinements */
.m-footer .m-footer--block-title, 
.m-footer .m-link, 
.m-footer .m-footer--block-newsletter-desc,
.m-footer .block-text {
  font-weight: var(--font-weight-body) !important;
}

/* Sidebar title font weight */
.m-sidebar--title {
  font-weight: var(--font-weight-body) !important;
}

/* Filter widget/block title font weight */
.m-filter--widget-title {
  font-weight: var(--font-weight-body) !important;
}

/* ----------------------------------------------------------------
   SIDEBAR & FILTERS ENHANCEMENTS
   ---------------------------------------------------------------- */

/* 1. Increase sidebar width to ~50% of the screen on desktop AND tablet */
@media screen and (min-width: 768px) {
  .m-sidebar--fixed .m-sidebar--content,
  .m-sidebar--fixed-right .m-sidebar--content {
    width: 50vw !important;
    max-width: 800px; /* Optional cap to prevent it getting too huge */
  }
}

/* 2. Add line separators between filter widgets */
.m-filter--widget {
  border-bottom: 1px solid rgb(var(--color-border));
  padding-bottom: 24px;
  margin-bottom: 24px;
}
.m-filter--widget:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* 3. Enhance Color Filter: 2 columns, visible labels */
.m-filter--swatches.m-filter--swatches-show-label {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px;
  padding: 10px 0 10px 10px !important; /* Added padding to prevent cutoff/corruption on edges */
  /* Reset flex/block behaviors from theme */
  flex-direction: row !important; 
}

/* Ensure individual items layout correctly (swatch + text) */
.m-filter--swatches.m-filter--swatches-show-label .m-facet--item {
  width: 100%;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  padding: 0 !important;
}

/* Ensure the link inside acts as a flex container [Swatch][Text] */
.m-filter--swatches.m-filter--swatches-show-label .m-facet--item a {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  width: 100%;
  padding: 0 !important; /* Remove theme padding if any */
  text-decoration: none;
  gap: 10px; /* Space between circle and text */
}

/* Style the swatch circle */
.m-filter--swatches.m-filter--swatches-show-label .m-facet--color-label {
  position: static !important; /* Reset absolute positioning */
  flex-shrink: 0;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.1); /* Subtle border for white colors */
  background-repeat: no-repeat !important; 
  background-size: 110% !important; /* Slightly larger to prevent white gaps/edges */
  background-position: center !important;
}

/* Style the text label */
.m-filter--swatches.m-filter--swatches-show-label .m-facet--item a {
  font-size: 1rem; /* Adjust as needed */
  color: rgb(var(--color-foreground));
}

/* Hide the default link behavior if it conflicts */
.m-filter--swatches.m-filter--swatches-show-label .m-facet--item.active a {
  font-weight: 600; /* Highlight selected */
}

/* 4. Increase Sidebar Content Padding (Title + Filter Area) */
/* Override default padding to give more breathing room */
.m-sidebar--title {
  padding: 40px 40px 20px 40px !important; /* Top Right Bottom Left */
}

.m-filter--wrapper {
  padding: 0 40px 40px 40px !important; /* Top Right Bottom Left */
}

/* 5. Fix Color Swatch Text Spacing (Gap between circle and text) */
/* We already added gap: 10px to the 'a' tag in step 3, but let's reinforce it 
   and ensure the item wrapper also allows spacing if structure differs. 
   Also ensure the circle doesn't stick to the text.
*/
.m-filter--swatches.m-filter--swatches-show-label .m-facet--item {
  gap: 12px; /* Gap between circle (outside a) and link (inside a) if they are siblings */
}

.m-filter--swatches.m-filter--swatches-show-label .m-facet--item a {
  gap: 12px !important; /* Gap between content inside the link */
}

/* Also ensure the circle itself has a margin just in case flex gap isn't supported/active */
.m-filter--swatches.m-filter--swatches-show-label .m-facet--color-label {
  margin-right: 0 !important; /* Let flex gap handle it */
}

/* 6. Off-Canvas Right Sidebar Implementation */

/* Swap Toolbar items (Count Left, Tools Right) */
[data-filters-position="fixed-right"] .m-collection-toolbar--wrapper {
  flex-direction: row-reverse;
}

[data-filters-position="fixed-right"] .m-toolbar--products-count {
  margin-left: 0 !important;
  margin-right: auto;
  padding-right: 0 !important;
  padding-left: 15px; /* Add padding for visual balance */
}

/* Position Sidebar on the Right */
/* Position Sidebar on the Right */
/* Position Sidebar on the Right using Flex/Margin logic to avoid absolute pos issues */
.m-sidebar--fixed-right .m-sidebar--content {
  display: block !important; /* Override inline-block */
  margin-left: auto !important; /* Push to right */
  margin-right: 0 !important;
  background-color: rgb(var(--color-background, 255, 255, 255)) !important; /* Ensure solid background */
  box-shadow: -2px 0 10px rgba(0,0,0,0.1); /* Add shadow for better separation */
  --m-translate-x: 100%; /* Start off-screen right */
  transform: translate3d(var(--m-translate-x), 0, 0) !important;
}

/* Ensure the fixed-right class is treated like fixed for positioning */
.m-sidebar--fixed-right .m-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  z-index: 100;
}



/* --- SIDEBAR LAYOUT CONFIG (Responsive Padding) --- */
.m-sidebar--content {
  --sidebar-px: clamp(20px, 4vw, 50px);
}

/* Close button on the RIGHT for right sidebar - Fluid alignment */
.m-sidebar--fixed-right .m-sidebar--close {
  left: auto;
  right: var(--sidebar-px) !important; 
  top: 55px; /* Visual alignment with text baseline */
}

/* Adjust title padding - Align with filter titles - FIX: Responsive padding */
.m-sidebar--fixed-right .m-sidebar--title {
  padding-left: var(--sidebar-px) !important; 
  padding-right: var(--sidebar-px) !important; 
  padding-top: 50px !important;
  padding-bottom: 20px !important;
}

/* Update Wrapper Padding logic for Full Width Separators */
/* Remove horizontal padding from wrapper so borders span full width */
.m-filter--wrapper {
  padding: 0 !important;
}

/* Widget: Full-width border, internal padding for content */
.m-filter--widget {
  padding: 12px 0px !important; /* Reduced vertical */
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important; /* Full width separator */
}

/* Internal padding for widget content to maintain alignment but allow full-width borders */
.m-filter--widget-title,
.m-filter--widget-content {
  padding-left: var(--sidebar-px) !important;
  padding-right: var(--sidebar-px) !important;
}

.m-filter--widget:last-child {
  border-bottom: none !important;
}

/* Fix Sort Dropdown Overflow for Fixed Right */
[data-filters-position="fixed-right"] .m-select-custom--options {
  right: 0 !important;
  left: auto !important;
  transform-origin: top right !important;
}

[dir="rtl"] [data-filters-position="fixed-right"] .m-select-custom--options {
  left: 0 !important;
  right: auto !important;
  transform-origin: top left !important;
}

/* 7. New Sidebar UX Refinements */

/* Style for "CLEAR FILTERS" link in header */
/* Match weight/size of H5/Widget Title */
.m-sidebar--clear-all {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  text-transform: uppercase !important;
  font-size: 1.125rem !important;  /* Revert to inherit title styles but force bold to match appearance */
  font-size: 14px !important; /* Matched to widget titles */
  font-weight: 600 !important; /* Force bold to match "Category" */
  letter-spacing: 0.05em;
  cursor: pointer;
  color: rgb(var(--color-foreground)) !important;
  display: inline-block;
  margin-bottom: 0px; 
}

.m-sidebar--clear-all.m-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  text-decoration: none !important; /* Optional: remove underline when disabled */
}

/* Global Smoother Animation for Sidebar */
.m-sidebar,
.m-sidebar--content {
  transition-duration: 0.5s !important; /* Slow down from 0.25s to 0.5s */
}

/* 8. Remove White Box Loading Overlay */
/* Override MinimogLibs.AnimateLoading overlay */
.m-animate-loading__overlay {
  background-color: transparent !important;
  opacity: 0 !important;
  /* Prevent interaction blocking if it's over the sidebar */
  pointer-events: none !important; 
  /* Ensure it's below the sidebar (z-index 100) */
  z-index: 90 !important; 
}

/* If the theme uses a different class for the product container loading state */
[data-product-container].m-loading,
.facest-filters-section.m-loading {
    opacity: 1 !important; /* Prevent opacity drop */
}

/* 9. Mobile Specific Refinements */
@media screen and (max-width: 767px) {
  /* Full Width Sidebar */
  .m-sidebar--fixed-right .m-sidebar--content {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Compact Padding - Align title with filter titles */
  .m-sidebar--fixed-right .m-sidebar--title {
    padding: 25px var(--sidebar-px) 15px var(--sidebar-px) !important; /* Responsive padding */
    border-bottom: none; /* Let widget borders handle separation */
  }

  .m-filter--wrapper {
    padding: 0 !important;
  }

  /* Adjust Close Button */
  .m-sidebar--fixed-right .m-sidebar--close {
    right: 15px !important;
    top: 22px !important; 
  }

  /* Compact Widget Padding & Full Width Borders */
  .m-filter--widget {
    padding: 10px 0px !important; /* Further reduced vertical on mobile */
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important; /* Full width separator */
  }

  .m-filter--widget-title,
  .m-filter--widget-content {
    padding-left: var(--sidebar-px) !important;
    padding-right: var(--sidebar-px) !important;
  }
  
  .m-filter--widget:last-child {
      border-bottom: none; 
  }

  /* Smaller Inline Text on Mobile */
  .m-facets:not(.m-filter--swatches) {
      gap: 10px 15px !important; /* Tighter gaps */
      padding: 5px 0 8px 0;
  }

  .m-facets:not(.m-filter--swatches) .m-facet--label {
      font-size: 13px !important; /* Smaller on mobile */
  }

  /* Smaller Color Swatches on Mobile */
  .m-filter--swatches .m-facet--color-label {
      width: 18px !important; /* Reduced from 20px/24px */
      height: 18px !important;
      background-size: 110% !important;
      background-position: center !important;
      background-repeat: no-repeat !important;
      overflow: hidden;
      -webkit-mask-image: -webkit-radial-gradient(white, black);
  }
  
  .m-filter--swatches .m-facet--color-name {
    font-size: 12px !important; /* Smaller on mobile */
  }

  .m-filter--swatches .m-facet--item {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }
}

.m-filter--swatches .m-facet--item .m-facet--product-count {
  display: none !important;
}

  .m-filter--swatches .m-facet--item {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important; /* Grid handles gap */
}

/* Desktop Spacing Adjustment */
@media screen and (min-width: 768px) {
    .m-sidebar--fixed-right .m-sidebar--title {
        padding-bottom: 40px !important; /* Add more space below header on desktop */
    }
}

/* 10. Toolbar Refinements (Left Count, Separator, Sort Label) */

/* Add padding from page edges (Global Alignment) */
[data-filters-position="fixed-right"] .m-collection-toolbar--wrapper {
    padding-right: 10px !important;
    padding-left: 10px !important;
    padding-top: 10px !important;   /* Reduce Vertical (Smaller Option) */
    padding-bottom: 10px !important; /* Reduce Vertical (Smaller Option) */
}

/* Ensure no extra padding on product count globally */
[data-filters-position="fixed-right"] .m-toolbar--products-count {
    padding-left: 0 !important;
}

/* Mobile Sort Button Styling - SCROLLABLE MOBILE ONLY */
@media screen and (max-width: 767px) {
    [data-filters-position="fixed-right"] .m-sortby--open {
        border-left: 1px solid currentColor;
        padding-left: 20px; /* Symmetric spacing */
        margin-left: 20px;  /* Symmetric spacing */
        height: 18px;
        display: flex;
        align-items: center;
        /* typography handled by global rule below */
        text-transform: capitalize;
    }

    /* Hide Dynamic value on Mobile, but keep icon */
    /* [data-filters-position="fixed-right"] .m-sortby--open span[data-sortby-option] {
        display: none;
    } */

    /* Restore "Sort" Label on Mobile */
    /* [data-filters-position="fixed-right"] .m-sortby--open::before {
        content: "Sort";
        margin-right: 5px;
    } */
}

/* Ensure hidden on desktop */
@media screen and (min-width: 768px) {
    [data-filters-position="fixed-right"] .m-sortby--open {
        display: none !important;
    }
}

/* Remove default margin from Filter button to ensure symmetry */
[data-filters-position="fixed-right"] .m-sidebar--open {
    margin-right: 0 !important;
}

/* GLOBAL TYPOGRAPHY STANDARDIZATION (Mobile & Desktop) */
/* Ensure Filter, Sort, and Count all share exact same font specs */
[data-filters-position="fixed-right"] .m-sidebar--open, 
[data-filters-position="fixed-right"] .m-sidebar--open span,
[data-filters-position="fixed-right"] .m-sortby--open,
[data-filters-position="fixed-right"] .m-toolbar--products-count {
    font-size: 13px !important;
    font-weight: 700 !important; /* Standard transparency fallback */
    -webkit-text-stroke: 0.4px currentColor; /* Artificial Bold parameter */
    letter-spacing: 0.05em; 
}

/* DESKTOP ONLY Refinements */
@media screen and (min-width: 768px) {
    /* Add Separator between Filters and Sort (Desktop Dropdown) */
    [data-filters-position="fixed-right"] .m-toolbar--sortby {
        border-left: 1px solid currentColor; /* Match text color/weight */
        padding-left: 20px; /* Symmetric spacing */
        margin-left: 20px;  /* Symmetric spacing */
        height: 18px; 
        display: flex;
        align-items: center;
    }

    /* Add "SORT BY:" Label */
    [data-filters-position="fixed-right"] .m-select-custom--trigger-text::before {
        /* content: "SORT BY: "; REMOVED to allow translation */
        font-weight: 700 !important; /* Match global */
        -webkit-text-stroke: 0.4px currentColor; /* Match global */
        margin-right: 5px;
        text-transform: uppercase;
        font-size: 13px;
    }

    /* Ensure trigger text matching */
    [data-filters-position="fixed-right"] .m-select-custom--trigger-text {
        text-transform: uppercase;
        font-weight: 700 !important; /* Match global */
        -webkit-text-stroke: 0.4px currentColor; /* Match global */
        font-size: 13px;
        letter-spacing: 0.05em;
    }
}

/* Collection Page Spacing Fixes */
.m-collection-products {
    margin: 0 -8px 0 !important;
}

.m-collection--wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* --------------------------------------------------------- */
/* STOREFRONT FILTERS: INLINE TEXT (Non-Color)               */
/* --------------------------------------------------------- */
/* Layout: Horizontal Flex with gap and bottom spacing */
.m-facets:not(.m-filter--swatches) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px 25px !important; /* Row gap, Column gap */
    padding: 10px 0 15px 0; /* Space below items */
}

/* Item Wrapper */
.m-facets:not(.m-filter--swatches) .m-facet--item {
    width: auto !important; 
    margin: 0 !important;
}

/* Label as Text Link (No Border/Bg) */
.m-facets:not(.m-filter--swatches) label {
    display: flex !important;
    align-items: center;
    cursor: pointer;
    background-color: transparent; 
    border: none;
    padding: 0;
    transition: all 0.2s ease;
    min-height: auto; 
    position: relative;
    color: rgb(var(--color-foreground));
    font-weight: var(--font-weight-body) !important; /* Use body weight */
    text-decoration: none !important; /* No underline by default */
}

/* Hide Native Checkbox & Icon */
.m-facets:not(.m-filter--swatches) input[type="checkbox"],
.m-facets:not(.m-filter--swatches) svg {
    display: none !important;
}

/* Hide Product Count */
.m-facets:not(.m-filter--swatches) .m-facet--product-count {
    display: none !important;
}

/* Hover State: Show Underline */
.m-facets:not(.m-filter--swatches) label:hover {
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* Active State: Bold + Underline */
.m-facets:not(.m-filter--swatches) label:has(input:checked) {
    font-weight: 600 !important; /* Make bold when selected */
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* Text Styling: Bigger, Clearer */
.m-facets:not(.m-filter--swatches) .m-facet--label {
    font-size: 15px !important; /* Larger text */
    line-height: 1.3;
    letter-spacing: 0.01em; /* Slightly clearer */
}

/* --------------------------------------------------------- */
/* STOREFRONT FILTERS: COLOR GRID (2 Cols Desktop, 1 Mobile) */
/* --------------------------------------------------------- */

/* Select both old class and new Storefront List class */
.m-filter--swatches.m-filter--swatches-show-label,
.m-filter--swatches.m-filter--swatches-list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px;
  padding: 10px 0 10px 10px !important;
  border: none; /* Clean reset */
}

/* Mobile Single Column */
@media screen and (max-width: 767px) {
  .m-filter--swatches.m-filter--swatches-show-label,
  .m-filter--swatches.m-filter--swatches-list {
      grid-template-columns: 1fr !important;
  }
}

/* Item Structure */
.m-filter--swatches.m-filter--swatches-list .m-facet--item {
  width: 100%;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  padding: 0 !important;
}

/* Swatch Circle + Text Label Wrapper */
.m-filter--swatches.m-filter--swatches-list label {
    display: flex !important;
    align-items: center;
    width: 100%;
    cursor: pointer;
    gap: 10px;
}

/* Swatch Circle Style */
.m-filter--swatches.m-filter--swatches-list .m-facet--color-label {
  position: static !important;
  flex-shrink: 0;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.1);
  background-size: cover !important; 
}

/* Label Text Style */
.m-filter--swatches.m-filter--swatches-list .m-facet--color-name {
    font-size: 14px;
    color: rgb(var(--color-foreground));
}

/* Hide Tooltip if present (fallback) */
.m-filter--swatches.m-filter--swatches-list .m-tooltip__content {
    display: none !important;
}

/* Decrease space between product images in the gallery */
.template-product .m-media-gallery__list.m\:grid {
    row-gap: 2px !important;
}

/* Product Page Font Weights */
.m-product-option--dropdown select,
.m-product-option--dropdown select option,
.m-product-option--dropdown-select,
.m-product-option--dropdown-select option,
.m-sticky-addtocart--title h3 {
    font-weight: var(--font-weight-body) !important;
}

/* Mobile Product Page: Edge-to-edge images */
@media screen and (max-width: 767px) {
  /* Remove padding from the main container to let images touch edges */
  .template-product .m-main-product > .container-full {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Add padding back to the info section so text isn't flush against the screen */
  .template-product .m-main-product--info .m-product-info--wrapper {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* Reduce vertical gap between images and info */
  .template-product .m-main-product--info {
    padding-top: 10px !important;
  }
  .m-product-media--slider {
    margin-bottom: 0 !important;
  }

  /* Fix for stacked images: disable column spanning and opacity logic */
  .template-product .m-product-media--item.m-col-span-2 {
    grid-column: auto !important;
  }
  .template-product .m-product-media--item {
    width: 100% !important;
    opacity: 1 !important;
  }
  .template-product .m-product-media {
    opacity: 1 !important; 
  }

  /* Hide thumbnails on mobile (stacked layout doesn't need them) */
  .template-product .m-product-media--slider__thumbnails {
    display: none !important;
  }

  /* Stacked gallery layout: Use grid to overlap pagination without adding height */
  @media screen and (max-width: 767px) {
    .template-product .m-media-gallery__wrapper {
      display: grid !important;
      overflow: visible !important;
      position: relative !important;
    }
    .template-product .m-media-gallery__inner {
      grid-area: 1 / 1;
    }
    .template-product .m-product-media--slider__pagination {
      grid-area: 1 / 1;
      position: sticky !important;
      align-self: end;
      justify-self: start;
      left: 15px !important;
      bottom: calc(var(--f-sticky-atc-bar-height, 60px) + 20px) !important;
      z-index: 50 !important;
      width: fit-content !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin: 0 0 20px 15px !important;
      transition: opacity 0.25s ease !important;
      pointer-events: none;
    }
    .template-product .m-product-media--slider__pagination .scroll-indicator-dot {
      pointer-events: auto;
    }
  }

  .template-product .m-product-media--slider__pagination .scroll-indicator-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.3) !important;
    cursor: pointer;
    transition: background 0.2s ease;
  }

  .template-product .m-product-media--slider__pagination .scroll-indicator-dot.active {
    background: rgba(0, 0, 0, 0.9) !important;
  }
}

/* Mobile Sticky ATC Refined Enhancements */
@media screen and (max-width: 767px) {
  .m-sticky-addtocart {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border-top: none !important;
    height: calc(100vh - var(--header-height, 60px)) !important;
    height: calc(100dvh - var(--header-height, 60px)) !important;
    transform: translate3d(0, 100%, 0) !important;
    display: block !important;
    z-index: 50 !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    overflow: hidden;
  }

  .m-sticky-addtocart.stick-atc-show {
    transform: translate3d(0, var(--m-drag-translate-y, calc(100% - var(--f-sticky-atc-bar-height, 80px))), 0) !important;
  }

  .m-sticky-addtocart.stick-atc-hidden {
    transform: translate3d(0, 101%, 0) !important;
  }

  .m-sticky-addtocart.is-dragging {
    transition: none !important;
  }

  .m-sticky-addtocart--mobile-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px 0 30px !important;
    background: rgb(var(--color-background));
    border-top: 1px solid rgb(var(--color-border));
    pointer-events: auto;
    box-shadow: 0 -5px 15px rgba(0,0,0,0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 2;
  }

  /* Just a tiny bit of horizontal spacing for text elements */
  .m-sticky-addtocart--mobile-title,
  .m-sticky-addtocart--mobile-middle,
  .m-sticky-addtocart--mobile-footer {
    padding-left: 10px;
    padding-right: 10px;
  }

  .m-sticky-addtocart .container,
  .m-sticky-addtocart .container-full,
  .m-sticky-addtocart .m-sticky-addtocart--wrapper {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Force desktop blocks to hide */
  .m-sticky-addtocart--leftblock,
  .m-sticky-addtocart--rightblock {
    display: none !important;
  }

  .m-sticky-addtocart--mobile-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .m-sticky-addtocart--mobile-handle {
    width: 60px;
    height: 5px;
    background: rgb(var(--color-foreground));
    margin: 0 auto 8px;
    border-radius: 3px;
    cursor: pointer;
    transition: width 0.2s ease;
    position: relative;
  }

  .m-sticky-addtocart--mobile-handle::after {
    content: '';
    position: absolute;
    top: -15px;
    bottom: -15px;
    left: -20px;
    right: -20px;
  }

  .m-sticky-addtocart--mobile-handle:hover {
    width: 80px;
  }

  /* Expanded Content - Hidden by default */
  .m-sticky-addtocart--expanded-content {
    display: none;
    flex-direction: column;
    width: 100%;
    height: calc(100vh - 70px);
    max-height: calc(100dvh - 70px);
    overflow-y: auto;
    padding: 0 0 20px;
    -webkit-overflow-scrolling: touch;
    background: rgb(var(--color-background));
  }

  .m-sticky-addtocart--expanded-content .m-sticky-addtocart--expanded-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0 15px;
    position: relative;
  }

  .m-sticky-addtocart--expanded-content .m-sticky-addtocart--close-btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
  }

  .m-sticky-addtocart--expanded-content .m-sticky-addtocart--close-btn svg {
    width: 20px;
    height: 20px;
  }

  .m-sticky-addtocart--expanded-content .m-sticky-addtocart--cloned-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  /* Expanded State - Mobile wrapper transforms */
  .m-sticky-addtocart--mobile-wrapper.is-expanded {
    height: calc(100vh - var(--header-height, 60px));
    height: calc(100dvh - var(--header-height, 60px));
    max-height: calc(100vh - var(--header-height, 60px));
    max-height: calc(100dvh - var(--header-height, 60px));
    padding-top: 10px;
    transition: height 0.3s ease, padding 0.3s ease;
  }

  .m-sticky-addtocart--mobile-wrapper.is-expanded .m-sticky-addtocart--mobile-title,
  .m-sticky-addtocart--mobile-wrapper.is-expanded .m-sticky-addtocart--mobile-middle,
  .m-sticky-addtocart--mobile-wrapper.is-expanded .m-sticky-addtocart--mobile-price,
  .m-sticky-addtocart--mobile-wrapper.is-expanded .m-sticky-addtocart--mobile-options,
  .m-sticky-addtocart--mobile-wrapper.is-expanded .m-sticky-addtocart--size-panel,
  .m-sticky-addtocart--mobile-wrapper.is-expanded .m-sticky-addtocart--mobile-footer,
  .m-sticky-addtocart--mobile-wrapper.is-pulling-up .m-sticky-addtocart--mobile-title,
  .m-sticky-addtocart--mobile-wrapper.is-pulling-up .m-sticky-addtocart--mobile-middle,
  .m-sticky-addtocart--mobile-wrapper.is-pulling-up .m-sticky-addtocart--mobile-price,
  .m-sticky-addtocart--mobile-wrapper.is-pulling-up .m-sticky-addtocart--mobile-options,
  .m-sticky-addtocart--mobile-wrapper.is-pulling-up .m-sticky-addtocart--size-panel,
  .m-sticky-addtocart--mobile-wrapper.is-pulling-up .m-sticky-addtocart--mobile-footer {
    display: none !important;
    visibility: hidden !important;
  }

  .m-sticky-addtocart--mobile-wrapper.is-expanded .m-sticky-addtocart--expanded-content,
  .m-sticky-addtocart--mobile-wrapper.is-pulling-up .m-sticky-addtocart--expanded-content {
    display: flex;
  }

  /* Parent sticky bar adjustments for expanded state */
  .m-sticky-addtocart.is-expanded {
    transform: translate3d(0, var(--m-drag-translate-y, 0), 0) !important;
    bottom: 0 !important;
    top: auto !important;
    height: calc(100vh - var(--header-height, 60px)) !important;
    height: calc(100dvh - var(--header-height, 60px)) !important;
    z-index: 50 !important;
    pointer-events: auto;
  }

  .m-sticky-addtocart.is-expanded .m-sticky-addtocart--leftblock {
    display: none !important;
  }

  /* Ensure cloned content is visible */
  .m-sticky-addtocart--cloned-info {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .m-sticky-addtocart--mobile-title {
    font-size: 16px;
    font-weight: 600;
    color: rgb(var(--color-foreground));
    line-height: 1.2;
    text-align: left;
    margin: 0;
  }

  .m-sticky-addtocart--mobile-middle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 32px;
  }

  .m-sticky-addtocart--mobile-price {
    display: block !important;
  }

  .m-sticky-addtocart--mobile-price .m-price-item {
    font-size: 16px;
    font-weight: var(--font-weight-body);
    color: rgb(var(--color-foreground));
  }

  .m-sticky-addtocart--mobile-options {
    display: flex !important;
    align-items: center !important;
  }

  .m-sticky-addtocart--mobile-swatches {
    display: flex !important;
    gap: 8px;
  }

  .m-sticky-addtocart--mobile-swatch-wrapper {
    width: 28px;
    height: 28px;
    padding: 2px;
    border: 1px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .m-sticky-addtocart--mobile-swatch-wrapper.active {
    border-color: rgb(var(--color-foreground));
  }

  .m-sticky-addtocart--mobile-swatch {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50% !important;
    box-shadow: 0 0 0 1px rgba(var(--color-foreground), .1);
    background-size: 110% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  .m-sticky-addtocart--mobile-footer {
    width: 100% !important;
  }

  .m-sticky-addtocart--mobile-footer .m-add-to-cart {
    width: 100% !important;
    margin: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    height: auto !important; /* Unified button style uses padding for height */
    min-height: 44px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgb(var(--color-button)) !important;
    color: rgb(var(--color-button-text)) !important;
    border-radius: var(--btn-border-radius, 0) !important;
  }

  /* Size Options Panel in Sticky ATC */
  .m-sticky-addtocart--size-panel {
    width: 100%;
    padding: 0 15px;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.2s ease, padding 0.3s ease;
  }

  .m-sticky-addtocart--size-panel.m-sticky-addtocart--size-panel-open {
    max-height: 200px;
    opacity: 1;
    padding: 10px 15px 5px;
  }

  .m-sticky-addtocart--size-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
  }

  .m-sticky-addtocart--size-option {
    padding: 8px 16px;
    border: 1px solid rgb(var(--color-border));
    background: transparent;
    color: rgb(var(--color-foreground));
    font-size: 14px;
    font-weight: 500;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 48px;
    text-align: center;
  }

  .m-sticky-addtocart--size-option:hover {
    border-color: rgb(var(--color-foreground));
  }

  .m-sticky-addtocart--size-option.active {
    background: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
    border-color: rgb(var(--color-foreground));
  }

  /* Hide Scroll to top on mobile product page */
  body.template-product #scroll-to-top-button,
  body.template-product #scroll-to-top-button.is-show {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* =========================================================
   Z-INDEX OVERRIDES: Ensure modals/popups appear above 
   the expanded sticky bar (z-index: 999)
   ========================================================= */
/* Cart drawer - must appear above sticky ATC bar */
.m-cart-drawer,
.m-cart-drawer--active {
  z-index: 1000 !important;
}

/* Ask a Question modal */
.m-modal,
.m-modal__backdrop {
  z-index: 10000 !important;
}

/* Product addon sharing popup (displayed inline) */
.m-product-addon--sharing:not(.m\\:hidden) {
  z-index: 10000 !important;
  position: relative;
}

/* Size guide modal/drawer */
.foxkit-sizechart-modal,
.foxkit-modal {
  z-index: 10000 !important;
}

/* Generic drawer wrappers (for any other drawers) */
.m-drawer__wrapper:not(.m\\:hidden) {
  z-index: 10000 !important;
}

/* Desktop Pagination Dots (Vertical Sticky) - Matches Mobile Logic */
@media screen and (min-width: 768px) {
  /* Desktop: Use grid layout with sticky positioning like mobile */
  .template-product .m-media-gallery__wrapper {
    display: grid !important;
    overflow: visible !important;
    position: relative !important;
  }
  
  .template-product .m-media-gallery__inner {
    grid-area: 1 / 1;
  }

  /* Sticky Pagination Container - Left side */
  .template-product .m-product-media--slider__pagination {
    grid-area: 1 / 1;
    position: sticky !important;
    align-self: end;
    justify-self: start;
    left: 20px !important;
    bottom: 40px !important;
    top: auto !important;
    z-index: 50 !important;
    width: fit-content !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 0 40px 20px !important;
    pointer-events: none;
    transition: opacity 0.25s ease;
  }
  
  [dir="rtl"] .template-product .m-product-media--slider__pagination {
      left: auto !important;
      right: 20px !important;
      margin: 0 20px 40px 0 !important;
  }

  /* Dots Styling */
  .template-product .m-product-media--slider__pagination .scroll-indicator-dot {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.2) !important;
    cursor: pointer;
    pointer-events: auto;
    transition: all 0.2s ease;
    border: 1px solid transparent;
  }

  /* Active Dot */
  .template-product .m-product-media--slider__pagination .scroll-indicator-dot.active {
    background: rgba(0, 0, 0, 0.9) !important;
    transform: scale(1.2);
  }

  /* Hover State */
  .template-product .m-product-media--slider__pagination .scroll-indicator-dot:hover {
    background: rgba(0, 0, 0, 0.5) !important;
  }
}

  /* RTL Mobile Pagination Dots */
  [dir="rtl"] .template-product .m-product-media--slider__pagination {
      left: auto !important; 
      right: 20px !important; /* Ensure distance from edge */
      margin: 0 20px 20px 0 !important;
  }
}

/* Selected variant value text (e.g., "Off White", "XS") - use body font weight */
.template-product .option-label--selected {
  font-weight: var(--font-weight-body) !important;
}

/* =========================================================
   SIZE SELECTOR SIDEBAR (Prada-style)
   ========================================================= */

/* Trigger button styling - matches original dropdown look */
.m-size-selector__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 16px;
  border: 1px solid rgb(var(--color-foreground));
  border-radius: var(--btn-border-radius, 0);
  background: #fff;
  color: rgb(var(--color-foreground));
  cursor: pointer;
  font-size: 1em;
  text-align: left;
  line-height: 1.5;
  transition: all var(--m-duration-default, 0.25s) ease-in-out;
  appearance: none;
  -webkit-appearance: none;
}

.m-size-selector__trigger:hover,
.m-size-selector__trigger:focus {
  border-color: rgb(var(--color-foreground));
}

/* When no option is selected - center the text */
.m-size-selector__trigger--empty {
  position: relative;
  justify-content: center;
  text-align: center;
}

.m-size-selector__trigger--empty .m-size-selector__text {
  flex: none;
}

.m-size-selector__trigger--empty .m-size-selector__arrow {
  position: absolute;
  right: 16px;
}

.m-size-selector__text {
  flex: 1;
  font-weight: var(--font-weight-body);
}

.m-size-selector__label {
  margin-right: 4px;
}

.m-size-selector__arrow {
  flex-shrink: 0;
  margin-left: 8px;
}

/* Size options list (Prada style - clean vertical list) */
.m-size-sidebar__options {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}

.m-size-sidebar__option {
  display: block;
  width: 100%;
  padding: 18px 0;
  border: none;
  border-bottom: 1px solid rgb(var(--color-border));
  background: transparent;
  text-align: left;
  font-size: 0.95em;
  font-weight: var(--font-weight-body);
  cursor: pointer;
  transition: opacity 0.2s ease;
  color: rgb(var(--color-foreground));
}

.m-size-sidebar__option:first-child {
  border-top: 1px solid rgb(var(--color-border));
}

.m-size-sidebar__option:hover:not(.is-unavailable) {
  opacity: 0.6;
}

/* Unavailable (sold out) sizes - greyed out */
.m-size-sidebar__option.is-unavailable {
  color: rgba(var(--color-foreground), 0.35);
  cursor: not-allowed;
}

.m-size-sidebar__option.is-unavailable .m-size-sidebar__option-text {
  text-decoration: line-through;
  text-decoration-color: rgba(var(--color-foreground), 0.2);
}

/* Selected size indicator */
.m-size-sidebar__option.is-selected {
  font-weight: 600;
}

/* Hide the hidden select */
.m-size-sidebar__hidden-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Ensure size sidebar uses same drawer styling as other sidebars */
.m-size-sidebar.m-product-sidebar__drawer .m-drawer__wrapper {
  z-index: 9999;
}

/* =========================================================
   CART COLLAPSIBLE SECTIONS (Prada-style)
   ========================================================= */

/* Container for all collapsibles */
.m-cart-collapsibles {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  padding-bottom: 20px;
}

/* Individual collapsible item */
.m-cart-collapsible {
  border-top: 1px solid rgb(var(--color-border));
}

.m-cart-collapsible:last-child {
  border-bottom: 1px solid rgb(var(--color-border));
}

/* Collapsible header button */
.m-cart-collapsible__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.m-cart-collapsible__header:hover {
  opacity: 0.7;
}

/* Header title - clean, readable */
.m-cart-collapsible__title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgb(var(--color-foreground));
}

/* Chevron icon */
.m-cart-collapsible__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease;
  color: rgb(var(--color-foreground));
}

/* Rotate chevron when open */
.m-cart-collapsible[open="true"] .m-cart-collapsible__icon,
.m-cart-collapsible.open .m-cart-collapsible__icon {
  transform: rotate(180deg);
}

/* Content area */
.m-cart-collapsible__content {
  overflow: hidden;
}

.m-cart-collapsible__inner {
  padding: 0 0 16px;
}

/* Rich text content */
.m-cart-collapsible__inner .rte {
  font-size: 13px;
  line-height: 1.6;
  font-weight: var(--font-weight-body);
  color: rgb(var(--color-foreground));
}

.m-cart-collapsible__inner .rte p {
  display: inline;
  margin: 0;
}

/* Add space between inline paragraphs */
.m-cart-collapsible__inner .rte p + p::before {
  content: ' ';
}

.m-cart-collapsible__inner .rte p:last-child {
  margin-bottom: 0;
}

.m-cart-collapsible__inner .rte a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.m-cart-collapsible__inner .rte a::after,
.m-cart-collapsible__inner .rte a::before,
.m-cart-item__remove::after,
.m-cart-item__remove::before {
  display: none !important;
}

.m-cart-item__remove {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.m-cart-collapsible__inner .rte a:hover {
  opacity: 0.7;
}

/* Payment icons row */
.m-cart-collapsible__icons {
  margin-top: 12px;
  text-align: center;
}

.m-cart-collapsible__icons img {
  display: inline-block;
  max-width: 15.625rem;
  height: auto;
}

/* =========================================================
   CART DRAWER ITEM ENHANCEMENTS
   ========================================================= */

/* Larger images - significant size increase */
.m-cart-drawer-item__image.m-cart-item__image {
  width: 12rem !important;
  min-width: 12rem !important;
  overflow: hidden;
  border: 1px solid #f3f3f3; /* Subtle border to see container */
}

/* Force image to cover container and fix whitespace */
.m-cart-drawer-item__image .m-image {
  padding-bottom: 0 !important;
  height: 100% !important;
  width: 100% !important;
  aspect-ratio: 12/15 !important; /* Control image shape */
}

.m-cart-drawer-item__image img {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: none !important; /* Remove theme limits */
}

/* Alignment: Stretch wrapper so info column matches image height */
.m-cart-item--drawer__wrapper {
  align-items: stretch !important;
}

/* Info stack */
.m-cart-drawer-item__info {
  display: flex !important;
  flex-direction: column !important;
  padding-left: 1.5rem !important;
  flex: 1;
}

/* Push Qty row to absolute bottom of image */
.m-cart-drawer-item__quantity {
  margin-top: auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important; /* Bottom align text/selector */
  padding: 0 !important;
}

/* Fix Remove text line-height/alignment */
.m-cart-item__remove {
  line-height: normal !important;
  text-underline-offset: 4px;
  display: inline-block;
  margin-bottom: 5px; /* Adjust to match quantity selector bottom */
  font-size: 14px !important;
  text-decoration: underline !important;
}

/* Match pill-shaped quantity selector from cart page */
.m-cart-drawer .m-quantity {
  background: #ffffff !important;
  border-radius: 50px !important;
  border: 0.8px solid #dddddd !important;
  height: 36px !important;
  padding: 0 10px !important;
  margin-bottom: 0 !important;
}

.m-cart-drawer .m-quantity__button {
  background: transparent !important;
  color: #000 !important;
}

.m-cart-drawer .m-quantity__input {
  background: transparent !important;
}

/* Gray Space Fix above subtotal */
.m-cart-addon__header, 
.m-cart-addon__content {
  background-color: #ffffff !important;
}

.m-cart-drawer__addons {
  border-top: 1px solid #eee !important;
  margin-top: 1rem;
}

/* Mobile responsive refinements */
@media (max-width: 767px) {
  .m-cart-drawer-item__image.m-cart-item__image {
    width: 10rem !important;
    min-width: 10rem !important;
  }
  
  .m-cart-drawer-item__info {
    padding-left: 1rem !important;
  }

  .m-cart-drawer .m-quantity {
    width: 90px !important;
    min-width: 90px !important;
  }
}

/* Cart Addons (Mobile/iPad) - Icon on top, title below, full width */
@media (max-width: 1023px) {
  .m-cart-addon__header {
    width: 100% !important;
    display: flex !important;
    gap: 8px !important;
  }

  .m-cart-addon__header button.m-cart-addon--trigger-button {
    flex: 1 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 10px !important;
    min-height: 80px !important;
    height: auto !important;
    width: auto !important;
  }

  .m-cart-addon__header button .m-cart-addon__text {
    max-width: 100% !important;
    width: auto !important;
    overflow: visible !important;
    margin-left: 0 !important;
    margin-top: 6px !important;
    font-size: 12px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-align: center !important;
  }
  
  .m-cart-addon__header button svg {
    margin-bottom: 0 !important;
    width: 24px !important;
    height: 24px !important;
  }
}

/* =========================================================
   CONTACT PAGE: Font weight fixes
   ========================================================= */

/* Contact form info box titles (Address, Information, Social Media, etc.) */
.m-contact-form__info .m-info-box h3,
.m-contact-form__heading,
.m-contact-information h3 {
  font-weight: var(--font-weight-body);
}

/* =========================================================
   FIX: White space below footer on product pages
   The theme incorrectly adds padding-bottom to .template-product.
   This fix removes it for desktop and only applies it for mobile
   when the sticky bar is actually visible.
   ========================================================= */

/* Desktop: Remove padding */
@media screen and (min-width: 768px) {
  .template-product {
    padding-bottom: 0 !important;
  }
}

/* Mobile: Apply padding only when sticky bar shown */
@media screen and (max-width: 767px) {
  .template-product {
    padding-bottom: 0 !important;
  }
  html.stick-atc-show .template-product {
    padding-bottom: var(--f-sticky-atc-bar-height, 0px) !important;
  }
}


/* =========================================================
   FIX: Slideshow Pagination Position in RTL
   Ensures that vertical pagination dots stay on the visual left
   and are NOT horizontally centered.
   ========================================================= */
/* Specific fix for vertical pagination layout on desktop */
@media screen and (min-width: 768px) {
  .m-slider .swiper-pagination--vertical {
    width: auto !important;
    min-width: unset !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }
}

/* Ensure pagination dots are horizontal on mobile even if the vertical class is present */
@media screen and (max-width: 767px) {
  .m-slider .swiper-pagination--vertical {
    flex-direction: row !important;
    justify-content: center !important;
    width: 100% !important;
  }
}

[dir=rtl] .m-slider-controls--absolute.m-slider-controls--pagination-left .swiper-pagination,
[dir=rtl] .m-slider-controls--absolute[class*=-right] .swiper-pagination {
  left: var(--pagination-offset-left, 40px) !important;
  right: auto !important;
}

/* Specific fix for the alignment when the container spans width */
@media screen and (min-width: 768px) {
  [dir=rtl] .m-slider-controls--absolute[class*=-right] .swiper-pagination,
  [dir=rtl] .m-slider-controls--absolute .m-slider-controls--pagination-left .swiper-pagination {
    left: 40px !important;
    right: auto !important;
    position: absolute !important;
    transform: translateY(-50%) !important;
    top: 50% !important;
  }
}

/* Ensure the wrapper doesn't force centering if absolute positioning fails for any reason */
.m-slider-controls--absolute.m-slider-controls--pagination-left .m-slider-controls__wrapper,
.m-slider-controls--absolute.m-slider-controls--pagination-right .m-slider-controls__wrapper {
  justify-content: flex-start !important;
}
[dir=rtl] .m-slider-controls--absolute.m-slider-controls--pagination-right .m-slider-controls__wrapper {
  justify-content: flex-start !important;
}




/* RTL Fixes for Collection Toolbar */
[dir="rtl"] [data-filters-position="fixed-right"] .m-collection-toolbar--wrapper {
    flex-direction: row-reverse !important; /* Mirror of LTR row-reverse in RTL puts Child 1 (Sort) on LEFT */
}

[dir="rtl"] [data-filters-position="fixed-right"] .m-toolbar--right {
    display: flex !important;
    justify-content: space-between !important; /* Spread tools and products to opposite ends */
    flex: 1 !important;
}

[dir="rtl"] [data-filters-position="fixed-right"] .m-toolbar--products-count {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-left: 15px !important;
    padding-right: 0 !important;
}

[dir="rtl"] [data-filters-position="fixed-right"] .m-toolbar--sortby,
[dir="rtl"] [data-filters-position="fixed-right"] .m-sortby--open {
    border-left: none !important;
    border-right: 1px solid currentColor !important;
    padding-left: 0 !important;
    padding-right: 20px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

[dir="rtl"] [data-filters-position="fixed-right"] .m-sidebar--open {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

[dir="rtl"] [data-filters-position="fixed-right"] .m-select-custom--trigger-text::before {
    margin-right: 0 !important;
    margin-left: 5px !important;
}


@media screen and (max-width: 767px) {
    [dir="rtl"] [data-filters-position="fixed-right"] .m-sortby--open {
        border-left: none !important;
        border-right: 1px solid currentColor !important;
        padding-right: 20px !important;
        padding-left: 0 !important;
        margin-right: 10px !important; /* Small gap between Sort and edge */
        margin-left: 0 !important;
    }
}

/* Sidebar RTL Header Fixes */
[dir="rtl"] .m-sidebar--content {
    /* display: flex; */
    /* flex-direction: column; */
    display: block !important;
}

[dir="rtl"] .m-sidebar--clear-all {
    left: auto !important;
    right: 30px !important; /* Position on RIGHT in RTL, matching LTR LEFT */
    text-align: right !important;
    width: fit-content !important;
}

[dir="rtl"] .m-sidebar--close {
    right: auto !important;
    left: 45px !important; /* Desktop Alignment */
}

@media screen and (max-width: 1279px) {
    [dir="rtl"] .m-sidebar--close {
        left: 20px !important; /* Mobile/Tablet Alignment */
    }
}


/* Toolbar Arrow Consistency and Spacing */
[dir="rtl"] .m-sortby--open svg,
[dir="rtl"] .m-sidebar--open svg {
    margin-right: 8px !important; 
    margin-left: 8px !important;
}

[dir="rtl"] .m-sortby--open {
    border-left: 1px solid #ddd !important; /* The | separator in RTL */
    border-right: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-right: 0 !important;
}

[dir="rtl"] .m-sidebar--open {
    padding-right: 15px !important;
    padding-left: 15px !important;
    margin-left: 0 !important;
}

/* Ensure consistent arrow look */
[dir="rtl"] .m-sortby--open svg,
[dir="rtl"] .m-sidebar--open svg,
[dir="rtl"] .m-accordion--item-icon svg {
    width: 12px !important;
    height: 12px !important;
}

/* Tag Styles Consistency - Underlined Look */
/* Tag Styles Consistency - Underlined Look */
.m-link-lists--inline .m-link {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    text-underline-offset: 4px;
    border: none !important;
    border-radius: 0 !important;
}

.m-link-lists--inline .m-link:hover,
.m-link-lists--inline .m-link.active {
    text-decoration: underline !important;
}


/* Product Card RTL Padding Fix */
[dir="rtl"] .m-product-card__info {
    padding-right: 20px !important;
    padding-left: 0 !important;
}

[dir="rtl"] .m-link-lists--inline .m-link {
    margin: 0 15px 0 0 !important;
}

[dir="ltr"] .m-link-lists--inline .m-link {
    margin: 0 !important;
}


/* Ensure swatches are visible in RTL if they rely on padding/margin */
[dir="rtl"] .m-facet--color-label {
    margin-left: 10px !important;
    margin-right: 0 !important;
    position: relative !important;
    top: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    border: 1px solid #ddd !important;
}

[dir="rtl"] .m-facet--item.m-facet--color {
    display: flex !important;
    align-items: center !important;
    flex-direction: row-reverse !important;
    justify-content: flex-end !important;
}

[dir="rtl"] .m-facet--color-name {
    margin-right: 0 !important;
    margin-left: 10px !important;
    text-align: right !important;
}

/* Fix for standard checkbox filters in RTL */
[dir="rtl"] .m-facet--item .m-facet--checkbox {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

[dir="rtl"] .m-facet--item .m-facet--checkbox input {
    margin-left: 10px !important;
    margin-right: 0 !important;
}

[dir="rtl"] .m-facet--item .m-facet--checkbox svg {
    margin-left: 10px !important; 
    margin-right: 0 !important;
    transform: none !important; /* Ensure checkmark isn't flipped if not needed */
}

[dir="rtl"] .m-facet--item .m-facet--checkbox .m-facet--label {
    margin-right: 0 !important;
    text-align: right !important;
}

[dir="rtl"] .m-facet--item .m-facet--product-count {
    margin-right: auto !important;
    margin-left: 0 !important;
}

/* Force Visibility Patch for RTL Filters */
[dir="rtl"] .m-filter--widget {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[dir="rtl"] .m-filter--widget-title,
[dir="rtl"] .m-accordion--item-button {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[dir="rtl"] .m-filter--widget-content,
[dir="rtl"] .m-accordion--item-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

[dir="rtl"] .m-filter--widget-content[style*="display: none"] {
    display: none !important; /* Allow JS toggling to still hide closed accordions */
}

/* RTL Size Selector Sidebar Trigger */
[dir="rtl"] .m-size-selector__text {
    flex-direction: row-reverse;
    justify-content: flex-end;
}
[dir="rtl"] .m-size-selector__label {
    margin-right: 0;
    margin-left: 5px;
}
[dir="rtl"] .m-size-selector__trigger {
    text-align: right;
}

/* RTL Mobile Pagination Dots - Applied to Desktop as well */
[dir="rtl"] .template-product .m-product-media--slider__pagination {
    left: auto !important; 
    right: 20px !important; 
    margin: 0 20px 20px 0 !important;
}

/* RTL Size Guide Icon Styling */
[dir="rtl"] .m-product-addon--item svg,
[dir="rtl"] .foxkit-sizechart-button svg {
    margin-left: 12px !important; /* Increased for visibility */
    margin-right: 0 !important;
}

/* Force body font weight for selected option values AND Text Labels */
.m-product-option--label .m-product-option--selected-value,
.m-size-selector__selected,
.option-label--title {
    font-weight: var(--font-weight-body) !important;
}

/* Apply Cairo font for Arabic language - User Requested */
[lang^="ar"],
[dir="rtl"] {
  font-family: 'Cairo', sans-serif !important;
}

/* Apply Cairo font for Arabic language - User Requested (Robust Version) */
[lang^="ar"], [lang^="ar"] *,
[dir="rtl"], [dir="rtl"] * {
  font-family: 'Cairo', sans-serif !important;
}

/* Fix for Size Selector Width in RTL */
[dir="rtl"] .m-product-option--dropdown .m-product-option--content {
    display: flex !important;
    width: 100% !important;
}


/* Adjust Mobile Sort Close Button Position */
.m-sortby-mobile--close {
    top: 24px !important; /* Move it down from the edge */
    padding: 12px !important; /* Ensure touch target is big enough */
}

/* RTL Fix: Rich-text section alignment */
/* The global [dir=rtl]{text-align:right} rule overrides center alignment for child elements */
/* Shopify's translation system also adds inline style="text-align:right;direction:rtl" */
/* This ensures text blocks in rich-text sections respect the content_alignment setting */
[dir="rtl"] .m-richtext.m\:text-center,
[dir="rtl"] .m-richtext.m\:text-center .m-richtext__description,
[dir="rtl"] .m-richtext.m\:text-center .rte,
[dir="rtl"] .m-richtext.m\:text-center .rte p,
[dir="rtl"] .m-richtext.m\:text-center p {
    text-align: center !important;
}
[dir="rtl"] .m-richtext.m\:text-left,
[dir="rtl"] .m-richtext.m\:text-left .m-richtext__description,
[dir="rtl"] .m-richtext.m\:text-left .rte,
[dir="rtl"] .m-richtext.m\:text-left .rte p,
[dir="rtl"] .m-richtext.m\:text-left p {
    text-align: right !important;
}
[dir="rtl"] .m-richtext.m\:text-right,
[dir="rtl"] .m-richtext.m\:text-right .m-richtext__description,
[dir="rtl"] .m-richtext.m\:text-right .rte,
[dir="rtl"] .m-richtext.m\:text-right .rte p,
[dir="rtl"] .m-richtext.m\:text-right p {
    text-align: left !important;
}

/* RTL Fix: Shopify Forms app - form field placeholders and inputs */
[dir="rtl"] input,
[dir="rtl"] textarea,
[dir="rtl"] select {
    text-align: right !important;
    direction: rtl !important;
}
[dir="rtl"] input::placeholder,
[dir="rtl"] textarea::placeholder {
    text-align: right !important;
    direction: rtl !important;
}

/* =========================================================
   SEARCH PAGE: Match Collection Page Styling
   Copy of collection styles but targeting .template-search
   ========================================================= */

/* Reduce top spacing */
.template-search .m-page-header {\n    margin-bottom: 2rem !important; /* Reduced from default */
    padding-bottom: 0 !important;
}
/* Add spacing between results text and search bar */
.template-search .m-page-header .m-search--form {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}
@media screen and (max-width: 767px) {
    .template-search .m-page-header {
        margin-bottom: 1rem !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .template-search .m-page-header .m-search--form {
        margin-top: 15px !important;
    }
}

/* Edge-to-edge layout for full width */
.template-search .facest-filters-section > .container-full {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Ultra-tight horizontal spacing (1px gaps like collection) */
.template-search .m-collection-products {
  margin-left: -1px !important;
  margin-right: -1px !important;
}
.template-search .m-collection-products .m-product-item {
  padding-left: 1px !important;
  padding-right: 1px !important;
}

/* Large screens - maintain 1px gaps */
@media screen and (min-width: 1280px) {
  .template-search .m-collection-products {
    margin-left: -1px !important;
    margin-right: -1px !important;
  }
  .template-search .m-collection-products .m-product-item {
    padding-left: 1px !important;
    padding-right: 1px !important;
  }
}


/* Active filters row - HIDDEN on search page */
.template-search .m-active-facets,
.template-search #ActiveFacets {
  display: none !important;
}

/* Typography weight - match collection */
.template-search .m-collection-toolbar {
  font-weight: var(--font-weight-body) !important;
}
.template-search .m-collection-toolbar .m-sidebar--open {
  font-weight: inherit !important;
}

/* Product count positioning */
.template-search .m-collection-toolbar .m-toolbar--products-count {
  padding-right: 15px;
  margin-left: auto;
  white-space: nowrap;
  line-height: 1;
}

/* Product card styling */
.template-search .m-product-card__name {
  font-weight: var(--font-weight-body) !important;
}
.template-search .m-product-card__content {
  padding-left: 15px !important;
}

/* Collection wrapper margin reset */
.template-search .m-collection--wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Grid margin reset - mobile only */
@media screen and (max-width: 767px) {
  .template-search .m-collection-products {
    margin-top: 12px !important;
  }
}

/* Toolbar overflow prevention */
/* Toolbar overflow prevention REMOVED to allow dropdowns */
.template-search .m-collection-toolbar--wrapper {
  /* overflow: hidden; REMOVED */
  max-width: 100%;
}
.template-search .m-toolbar--right {
  /* overflow: hidden; REMOVED */
  flex-wrap: nowrap;
}

/* RTL specific: mirror the toolbar alignment */
[dir="rtl"] .template-search .m-toolbar--products-count {
  padding-right: 0;
  padding-left: 15px;
  margin-right: auto;
  margin-left: 0;
}

/* Sidebar Overlay */
.template-search .m-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}
.template-search .m-overlay.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


/* Fix Toolbar Layout in RTL: Keep Count on Left, Sort/Filter on Right */
[dir="rtl"] .m-collection-toolbar--wrapper .m-toolbar--right {
    flex-direction: row-reverse !important;
}

/* Search Page Sidebar: Close button absolute positioning (matches collection page) */
.template-search .m-sidebar--close {
    position: absolute;
    cursor: pointer;
    top: 55px; /* Aligned with CLEAR ALL title baseline */
    right: 16px;
    z-index: 10;
}
[dir="rtl"] .template-search .m-sidebar--close {
    right: auto;
    left: 16px;
}

/* CLEAR ALL title styling for search page - matching collection page */
.template-search .m-sidebar--title {
    display: block;
    font-size: 30px;
    font-weight: 500;
    padding: 20px;
    padding-top: 50px; /* Space for absolute close button */
    color: rgb(var(--color-heading));
}

/* Search Page: Full-width separator lines for filter widgets */
.template-search .m-filter--widget {
    padding: 12px 0 !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}
.template-search .m-filter--widget:last-child {
    border-bottom: none !important;
}
.template-search .m-filter--widget-title,
.template-search .m-filter--widget-content {
    padding-left: var(--sidebar-px, 20px) !important;
    padding-right: var(--sidebar-px, 20px) !important;
}
.template-search .m-filter--wrapper {
    padding: 0 !important;
}

/* Sidebar: MOBILE ONLY - slide-in drawer using TRANSFORM (matches collection page behavior) */
@media screen and (max-width: 767px) {
    .template-search .m-sidebar {
        position: fixed;
        top: 0;
        right: 0; /* Fixed at right edge */
        left: auto;
        width: 100% !important;
        max-width: 100vw !important;
        height: 100vh;
        background: #fff;
        z-index: 100;
        overflow-y: auto;
        padding: 0;
        box-shadow: none !important;
        border-radius: 0 !important;
        /* Use transform for animation (not position) - always slides RIGHT on close */
        transform: translate3d(100%, 0, 0);
        transition: transform 0.3s ease;
    }
    .template-search .m-sidebar--content {
        padding: 0; /* Header handles padding */
        background: transparent !important;
        box-shadow: none !important;
        width: 100%;
        transform: none; /* Override any parent transform */
    }
    .template-search .m-sidebar.open {
        transform: translate3d(0, 0, 0); /* Visible: at normal position */
    }
    
    /* RTL: Fixed-right sidebar ALSO closes to RIGHT (100%) - matches collection JS behavior */
    [dir="rtl"] .template-search .m-sidebar {
        right: 0; /* Same as LTR - fixed at right edge */
        left: auto;
        transform: translate3d(100%, 0, 0); /* Off-screen to the RIGHT */
    }
    [dir="rtl"] .template-search .m-sidebar.open {
        transform: translate3d(0, 0, 0); /* Visible */
    }
    
    /* Mobile: Collapse filters by default (unless has .open class) */
    .template-search .m-accordion--item:not(.open) .m-accordion--item-content {
        opacity: 0 !important;
        max-height: 0 !important;
        overflow: hidden;
    }
    
    /* Mobile header adjustments */
    .template-search .m-sidebar--header {
        padding: 15px var(--sidebar-px, 15px);
    }
}

/* Desktop: Force all accordions open */
@media screen and (min-width: 768px) {
    .template-search .m-accordion--item .m-accordion--item-content {
        opacity: 1 !important;
        max-height: none !important;
        display: block !important;
    }
    .template-search .m-accordion--item .m-accordion--item-icon {
        transform: rotate(180deg);
    }
    
    /* Hide overlay on desktop */
    .template-search .m-overlay {
        display: none !important;
    }
}





