/** Shopify CDN: Minification failed

Line 1759:0 All "@import" rules must come first
Line 1813:0 All "@import" rules must come first

**/
/* Kafalo premium Shopify customization */
:root {
  --kafalo-primary: #ff4a1c;
  --kafalo-dark: #081a33;
  --kafalo-base: #ffffff;
  --kafalo-muted: rgba(8, 26, 51, 0.68);
  --kafalo-border: rgba(8, 26, 51, 0.1);
  --kafalo-shadow: 0 18px 45px rgba(8, 26, 51, 0.08);
}

body {
  color: var(--kafalo-dark);
}

#header-group .header-announcements,
#header-group .announcement-bar,
#header-group .announcement-bar .section,
#header-group .announcement-bar .section-background,
#header-group .shopify-section:first-child .section,
#header-group .shopify-section:first-child .section-background,
#shopify-section-header_announcements_kafalo .section,
#shopify-section-header_announcements_kafalo .section-background,
#shopify-section-header_announcements_kafalo .announcement-bar {
  background: #190e18 !important;
  background-color: #190e18 !important;
  color: #fff !important;
  --color-background: #190e18 !important;
  --color-background-rgb: 25 14 24 !important;
}

/* Keep announcement bar copy uppercase */
#header-group .announcement-bar,
#header-group .announcement-bar *,
#shopify-section-header_announcements_kafalo .announcement-bar,
#shopify-section-header_announcements_kafalo .announcement-bar * {
  text-transform: uppercase !important;
  color: #fff !important;
}

/* =====================================================================
   Kafalo navbar — clean, premium, single-row e-commerce layout
   Logo left · primary navigation centered · utility actions right
   ===================================================================== */
#header-component {
  --kafalo-navbar-height: 76px;
  --kafalo-row2-height: 46px;
  --kafalo-nav-gap: clamp(10px, 1.5vw, 22px);
  --kafalo-utility-gap: 16px;
  --kafalo-icon-size: 28px;
  position: relative;
}

/* Allow the custom dropdown panels (categories, collections, search) to overflow the header */
#header-component,
#header-group,
#header-component .header__row,
#header-component .header__columns,
#header-component .header__column--left,
#header-component .header__column--center,
#header-component .header__column--right,
#header-component search-button,
#header-component .kafalo-search-action {
  overflow: visible !important;
}

body {
  --header-height: calc(var(--kafalo-navbar-height, 76px) + var(--kafalo-row2-height, 46px));
}

#header-group {
  box-shadow: none;
}

#header-component .header__row--top {
  border-bottom: 1px solid rgba(8, 26, 51, 0.05);
}

#header-component .header__row--top .header__columns {
  --padding-block-start: 0px;
  --padding-block-end: 0px;

  min-height: var(--kafalo-navbar-height);
  align-items: center;
}

/* Top row center column now holds the search bar (not a <header-menu>), so
   force it to grow and fill the available width instead of hugging content. */
#header-component .header__row--top .header__columns:has(.kafalo-search-action) {
  --header-center: 1fr !important;
  --header-left: max-content !important;
  --header-right: max-content !important;
}

/* ---------- Row 2: category tab bar ---------- */
#header-component .header__row--bottom {
  border-bottom: 1px solid var(--kafalo-border);
  background: #fdfcfa;
}

#header-component .header__row--bottom .header__columns {
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  min-height: var(--kafalo-row2-height);
  align-items: center;
  justify-content: center;
}

/* Three-column rhythm: left logo, full-flex center category menu, right utility actions */
#header-component .header__row--top .header__columns {
  --header-left: max-content;
  --header-center: 1fr;
  --header-right: max-content;

  grid-template-columns: var(--header-left) var(--header-center) var(--header-right);
  column-gap: clamp(16px, 2.5vw, 36px);
}

#header-component .header-logo,
#header-component .header-logo a,
#header-component .header-logo__image-container {
  color: var(--kafalo-dark);
}

#header-component .header__row--top .header-logo :is(img, svg) {
  max-height: 48px !important;
  height: 48px !important;
  width: auto !important;
}

@media screen and (max-width: 989px) {
  #header-component {
    --kafalo-navbar-height: 54px !important;
  }

  body {
    --header-height: 54px !important;
  }

  #header-component .header__row--top .header__columns,
  #header-component[data-menu-style='drawer'] .header__columns {
    min-height: 54px !important;
    height: 54px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    --padding-block-start: 4px !important;
    --padding-block-end: 4px !important;
  }

  #header-component .header__row--top .header-logo :is(img, svg) {
    max-height: 32px !important;
    height: 32px !important;
    width: auto !important;
  }
}

#header-component .header__column--left {
  gap: 0;
  justify-content: flex-start;
  min-width: 0;
}

#header-component .header__column--center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin-inline: auto !important;
  min-width: 0;
  width: 100% !important;
  flex: 1 1 auto !important;
}

#header-component .header__column--right {
  gap: var(--kafalo-utility-gap);
  justify-content: flex-end;
  min-width: 0;
}

/* Primary navigation */
#header-component .menu-list {
  --menu-horizontal-gap: var(--kafalo-nav-gap, 26px);
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-inline: auto !important;
}

#header-component .menu-list__list {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: var(--kafalo-nav-gap, 18px) !important;
  margin-inline: auto !important;
}

#header-component .menu-list__link-title {
  padding-inline: 0 !important;
  text-align: center !important;
}

#header-component .menu-list__link {
  color: var(--kafalo-dark) !important;
  font-size: 0.8125rem !important;
  /* 13px refined font size */
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Caret affordance on links that open a dropdown / mega menu */
#header-component
  .menu-list__list-item:not([slot='overflow'])
  .menu-list__link[aria-haspopup='true']
  .menu-list__link-title::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-inline-start: 6px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: translateY(-2px) rotate(45deg);
  vertical-align: middle;
}

#header-component .menu-list__link:hover,
#header-component .menu-list__link[aria-expanded='true'] {
  color: var(--kafalo-primary);
}

/* Utility actions — flat icons, no pill chrome */
#header-component .header__column--right .header-actions__action,
#header-component .header__column--right .dropdown-localization__button,
#header-component .header__column--right .kafalo-mobile-search-button,
#header-component .header__column--right search-button,
#header-component .header__column--right shopify-account,
#header-component .header__column--right cart-icon {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--kafalo-dark) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Mobile/desktop-only header action toggles need to beat the specificity above */
@media screen and (max-width: 749px) {
  #header-component .header__column--right .hidden--mobile {
    display: none !important;
  }
}

@media screen and (min-width: 750px) {
  #header-component .header__column--right .hidden--desktop {
    display: none !important;
  }
}

#header-component .header__column--right .dropdown-localization__button {
  gap: 6px !important;
  font-weight: 600;
  font-size: 0.8125rem;
  padding: 5px 4px !important;
  margin-inline: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  transition: background 0.2s ease;
}

#header-component .header__column--right .dropdown-localization__button:hover {
  background: rgba(255, 74, 28, 0.07) !important;
}

/* Flag + currency code always visible (no hover reveal) */
#header-component .dropdown-localization__button .icon-flag {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  border-radius: 50%;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: inset 0 0 0 1px rgba(8, 26, 51, 0.15);
  margin-inline-end: 0 !important;
  flex-shrink: 0;
  opacity: 1 !important;
}

/* Smaller caret on the currency dropdown (the generic 22px icon rule is too big for it) */
#header-component .dropdown-localization__button .icon-caret,
#header-component .dropdown-localization__button .icon-caret svg {
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  min-height: 9px !important;
  max-width: 9px !important;
  max-height: 9px !important;
}

#header-component .dropdown-localization .currency-code,
#header-component .dropdown-localization__button .currency-code,
#header-component .dropdown-localization__button[aria-expanded='false'] .currency-code {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  position: static !important;
  font-size: 0.8125rem !important;
  color: var(--kafalo-dark) !important;
  letter-spacing: 0.02em;
}

/* Enforce uniform size for Search, Account, and Cart icons */
#header-component .header__column--right svg,
#header-component .header__column--right .svg-wrapper,
#header-component .header__column--right .account-button__icon,
#header-component .header__column--right .header-actions__action svg,
#header-component .header__column--right .kafalo-mobile-search-button svg,
#header-component .header__column--right .kafalo-header-search-submit svg,
#header-component .header__column--right cart-icon svg,
#header-component .header__column--right shopify-account svg {
  width: var(--kafalo-icon-size, 22px) !important;
  height: var(--kafalo-icon-size, 22px) !important;
  min-width: var(--kafalo-icon-size, 22px) !important;
  min-height: var(--kafalo-icon-size, 22px) !important;
  max-width: var(--kafalo-icon-size, 22px) !important;
  max-height: var(--kafalo-icon-size, 22px) !important;
  box-sizing: border-box !important;
}

#header-component .header__column--right .svg-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#header-component
  .header__column--right
  :is(.header-actions__action, .kafalo-mobile-search-button) {
  border-radius: 999px !important;
  width: 38px !important;
  height: 38px !important;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

#header-component
  .header__column--right
  :is(.header-actions__action, .kafalo-mobile-search-button):hover {
  color: var(--kafalo-primary) !important;
  background: rgba(255, 74, 28, 0.08) !important;
}

/* Guarantee only one single search icon is shown in the header */
#header-component .search-action ~ .search-action {
  display: none !important;
}

#header-component .cart-bubble {
  color: #fff;
}

#header-component .cart-bubble__text-count {
  background: transparent !important;
}

#header-component .header-actions__cart-icon {
  --cart-bubble-size: 14px;
}

#header-component .cart-bubble {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
}

#header-component .cart-bubble__text {
  font-size: 9px !important;
  line-height: 1 !important;
}

.button,
.shopify-payment-button__button,
.add-to-cart-button,
.kafalo-product-card__button,
.kafalo-deal-card__button,
.kafalo-hero__button {
  border-radius: 14px;
}

.product-card__content.product-grid__card {
  border: 1px solid rgba(8, 26, 51, 0.1) !important;
  border-radius: 18px !important;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 24px rgba(8, 26, 51, 0.04);
}

.product-card__content.product-grid__card:hover {
  box-shadow: var(--kafalo-shadow);
  transform: translateY(-2px);
}

.product-card__content .product-card__title,
.product-card__content [class*='product-title'] a,
.product-card__content .price {
  color: var(--kafalo-dark);
}

.product-card__content .price,
.price-item--sale {
  color: var(--kafalo-primary) !important;
  font-weight: 600;
}

.quick-add__button {
  --color-background: var(--kafalo-primary);
  --color-foreground: #fff;
  border: 0 !important;
}

.cart-drawer__dialog,
.cart-drawer__inner {
  color: var(--kafalo-dark);
}

.cart-drawer .button,
.cart__ctas .button,
.cart__checkout-button {
  background: var(--kafalo-primary) !important;
  color: #fff !important;
  border-color: var(--kafalo-primary) !important;
}

.cart-drawer .cart-drawer__view-cart-button,
.cart__warnings .button-secondary {
  background: #fff !important;
  color: var(--kafalo-primary) !important;
  border: 1px solid var(--kafalo-primary) !important;
}

footer,
footer .shopify-section,
.kafalo-footer {
  background: #190e18 !important;
  color: #fff !important;
}

footer a,
.kafalo-footer a {
  color: rgba(255, 255, 255, 0.84);
}

footer a:hover,
.kafalo-footer a:hover {
  color: #fff;
}

/* Utility cluster stays inline and never shrinks */
#header-component header-actions {
  display: inline-flex;
  align-items: center;
  gap: var(--kafalo-utility-gap);
}

#header-component .header-actions,
#header-component header-actions,
#header-component .dropdown-localization,
#header-component .header-actions__action,
#header-component .dropdown-localization__button {
  flex: 0 0 auto;
}

/* Tablet: tighten the rhythm slightly, keep the single row */
@media screen and (min-width: 750px) and (max-width: 1180px) {
  #header-component {
    --kafalo-nav-gap: 22px;
    --kafalo-utility-gap: 18px;
  }

  #header-component .header__row--top .header__columns {
    column-gap: clamp(16px, 3vw, 32px);
  }
}

/* Mobile: touch-target sizing for the utility icons (layout lives in kafalo-mobile-nav.css) */
@media screen and (max-width: 749px) {
  #header-component .header__column--right .header-actions__action,
  #header-component .header__column--right .kafalo-mobile-search-button {
    width: 38px;
    height: 38px;
  }
}

/* Native Shopify collection/search cards: keep product grid clean and add full Add to Cart button */
main[data-template^='collection'] .main-collection-grid .product-card__content.product-grid__card,
main[data-template^='search'] .main-collection-grid .product-card__content.product-grid__card {
  height: 100%;
  padding-bottom: 16px !important;
  gap: 10px !important;
}

main[data-template^='collection']
  .main-collection-grid
  .product-card__content.product-grid__card
  > a.contents,
main[data-template^='search']
  .main-collection-grid
  .product-card__content.product-grid__card
  > a.contents,
main[data-template^='collection']
  .main-collection-grid
  .product-card__content.product-grid__card
  > product-price,
main[data-template^='search']
  .main-collection-grid
  .product-card__content.product-grid__card
  > product-price {
  width: calc(100% - 32px) !important;
  margin-inline: 16px !important;
}

main[data-template^='collection']
  .main-collection-grid
  .product-card__content
  .text-block.rte
  p[role='heading'],
main[data-template^='search']
  .main-collection-grid
  .product-card__content
  .text-block.rte
  p[role='heading'] {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 4.05em;
  line-height: 1.35;
  font-weight: 600;
  color: var(--kafalo-dark);
}

main[data-template^='collection'] .main-collection-grid .product-card__content product-price,
main[data-template^='search'] .main-collection-grid .product-card__content product-price {
  color: var(--kafalo-primary) !important;
  font-weight: 800;
  overflow-wrap: anywhere;
}

main[data-template^='collection'] .main-collection-grid .product-card__content .quick-add,
main[data-template^='search'] .main-collection-grid .product-card__content .quick-add {
  display: none !important;
}

.kafalo-grid-atc-form {
  width: calc(100% - 32px);
  margin: auto 16px 0;
  position: relative;
  z-index: 3;
}

.kafalo-grid-atc-button {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  background: var(--kafalo-dark);
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.kafalo-grid-atc-button:hover {
  background: var(--kafalo-primary);
  transform: translateY(-1px);
}

.kafalo-grid-atc-button[disabled] {
  opacity: 0.58;
  cursor: not-allowed;
  transform: none;
}

@media screen and (max-width: 749px) {
  main[data-template^='collection']
    .main-collection-grid
    .product-card__content.product-grid__card
    > a.contents,
  main[data-template^='search']
    .main-collection-grid
    .product-card__content.product-grid__card
    > a.contents,
  main[data-template^='collection']
    .main-collection-grid
    .product-card__content.product-grid__card
    > product-price,
  main[data-template^='search']
    .main-collection-grid
    .product-card__content.product-grid__card
    > product-price {
    width: calc(100% - 24px) !important;
    margin-inline: 12px !important;
  }

  .kafalo-grid-atc-form {
    width: calc(100% - 24px);
    margin-inline: 12px;
  }

  .kafalo-grid-atc-button {
    min-height: 42px;
    font-size: 13px;
  }
}

/* Kafalo navbar: keep the utility cluster tight and aligned on desktop */
@media screen and (min-width: 990px) {
  #header-component .header__column--right {
    gap: var(--kafalo-utility-gap);
    overflow: visible;
  }

  #header-component header-actions {
    gap: var(--kafalo-utility-gap);
  }

  #header-component .header__column--right .dropdown-localization {
    flex: 0 0 auto;
  }
}

.product-badges__badge--sale,
.product-badges__badge--sale[class*='color-'] {
  background: var(--kafalo-primary) !important;
  color: #fff !important;
  border-color: var(--kafalo-primary) !important;
  box-shadow: 0 8px 18px rgba(255, 74, 28, 0.2);
}

/* Universal native product-card text spacing */
.product-card__content.product-grid__card > a.contents,
.product-card__content.product-grid__card > product-price {
  width: calc(100% - 32px) !important;
  margin-inline: 16px !important;
}

.product-card__content.product-grid__card .text-block.rte p[role='heading'],
.product-card__content.product-grid__card [class*='product-title'] a,
.product-card__content.product-grid__card .price,
.product-card__content.product-grid__card product-price {
  overflow-wrap: anywhere;
}

.product-card__content.product-grid__card .text-block.rte p[role='heading'] {
  padding-inline: 2px;
}

/* =====================================================================
   Shared Kafalo product card  (Popular picks, New arrivals, Deal of the Day,
   Related products, home collection sections). One source of truth.
   ===================================================================== */
.kafalo-product-card {
  background: #fff;
  border: 1px solid rgba(8, 26, 51, 0.1);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(8, 26, 51, 0.05);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  min-width: 0;
  height: 100%;
}

.kafalo-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(8, 26, 51, 0.1);
}

/* Media — a touch taller than 4:3 */
.kafalo-product-card__media {
  grid-row: 1;
  grid-column: 1;
  position: relative;
  aspect-ratio: 4 / 5;
  background: #f4f5f7;
  overflow: hidden;
}

.kafalo-product-card__media-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.kafalo-product-card__media > .kafalo-product-card__img,
.kafalo-product-card__media > .kafalo-product-card__ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: linear-gradient(135deg, #f6f7f9, #e8ecf2);
}

/* neutralise the theme's broad "media span/svg { width/height:100% }" for overlays */
.kafalo-product-card__media :where(span, strong, em, svg) {
  width: auto;
  height: auto;
  display: revert;
  object-fit: initial;
  background: none;
}

/* Hover slide: image 1 -> image 2, and back */
.kafalo-product-card__img {
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.kafalo-product-card__img--secondary {
  transform: translateX(100%);
}

.kafalo-product-card:hover .kafalo-product-card__img--primary:not(:only-of-type) {
  transform: translateX(-100%);
}

.kafalo-product-card:hover .kafalo-product-card__img--secondary {
  transform: translateX(0);
}

/* Tag badge (BESTSELLER / NEW) — top-left */
.kafalo-product-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  background: #081a33;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  padding: 5px 11px;
  border-radius: 999px;
  text-transform: uppercase;
}

/* Add-to-cart — revealed on hover, overlapping the image grid row */
.kafalo-product-card__cta {
  grid-row: 1;
  grid-column: 1;
  align-self: end;
  justify-self: stretch;
  margin: 0 14px 14px;
  z-index: 4;
  display: block;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.kafalo-product-card:hover .kafalo-product-card__cta,
.kafalo-product-card:focus-within .kafalo-product-card__cta {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.kafalo-product-card__button {
  position: relative;
  overflow: hidden;
  margin: 0;
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 14px;
  background: #190e18;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.01em;
  text-transform: none;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(25, 14, 24, 0.32);
  transition:
    background 0.2s ease,
    transform 0.12s ease;
}

.kafalo-product-card__button .add-to-cart-icon svg {
  width: 16px;
  height: 16px;
}

.kafalo-product-card__button:hover {
  background: var(--kafalo-primary, #ff4a1c);
  transform: none;
}

.kafalo-product-card__button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
}

/* Info */
.kafalo-product-card__info {
  grid-row: 2;
  grid-column: 1;
  padding: 14px 16px 16px !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.kafalo-product-card__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.kafalo-product-card__title {
  margin: 0 !important;
  padding: 0 !important;
  color: #081a33;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.35;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.kafalo-product-card__title a {
  color: inherit;
  text-decoration: none;
}

.kafalo-product-card__rating {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  font-size: 12.5px;
  color: #081a33;
  line-height: 1;
}

.kafalo-product-card__rating svg {
  width: 13px;
  height: 13px;
  color: var(--kafalo-primary, #ff4a1c);
}

.kafalo-product-card__rating strong {
  font-weight: 600;
}

.kafalo-product-card__rating em {
  color: rgba(8, 26, 51, 0.5);
  font-style: normal;
  font-weight: 500;
}

/* Pricing row — price, was-price, thin discount pill */
.kafalo-product-card__pricing {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}

.kafalo-product-card__price {
  margin: 0 !important;
  padding: 0 !important;
  color: #081a33 !important;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.01em;
}

.kafalo-product-card__compare {
  margin: 0 !important;
  color: rgba(8, 26, 51, 0.45);
  text-decoration: line-through;
  font-size: 13px;
  font-weight: 500;
}

.kafalo-product-card__save {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 5px;
  background: var(--kafalo-primary, #ff4a1c);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
  white-space: nowrap;
}

/* ============================================================================
   Product Card Add to Cart Responsive Rules:
   - Small to Medium Screens (<= 989px): Show ONLY icon button (no text)
   - Above Medium Screens (>= 990px): Show full text button when hovered over product card
   ============================================================================ */
@media screen and (max-width: 989px) {
  .kafalo-product-card .add-to-cart-text__content,
  .product-card .add-to-cart-text__content,
  .quick-add__button .add-to-cart-text__content {
    display: none !important;
  }

  .kafalo-product-card {
    grid-template-rows: auto auto !important;
  }

  .kafalo-product-card__cta,
  .product-card .quick-add {
    grid-row: 1 !important;
    grid-column: 1 !important;
    align-self: end !important;
    justify-self: end !important;
    margin: 0 10px 10px 0 !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 5 !important;
    width: auto !important;
  }

  .kafalo-product-card__button,
  .product-card .quick-add__button,
  .product-card .add-to-cart-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #190e18 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(25, 14, 24, 0.35) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .kafalo-product-card__button .add-to-cart-text,
  .product-card .add-to-cart-text {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .kafalo-product-card__button .add-to-cart-icon,
  .product-card .add-to-cart-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
  }

  .kafalo-product-card__button .add-to-cart-icon svg,
  .product-card .add-to-cart-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
  }
}

@media screen and (min-width: 990px) {
  .kafalo-product-card .add-to-cart-text__content,
  .product-card .add-to-cart-text__content,
  .quick-add__button .add-to-cart-text__content {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }

  .quick-add__button .add-to-cart-text__content > span span {
    opacity: 1 !important;
    translate: 0 0 !important;
    filter: none !important;
  }

  .kafalo-product-card__cta {
    grid-row: 1 !important;
    grid-column: 1 !important;
    align-self: end !important;
    justify-self: stretch !important;
    margin: 0 14px 14px !important;
    opacity: 0 !important;
    transform: translateY(10px) !important;
    pointer-events: none !important;
    transition:
      opacity 0.3s ease,
      transform 0.3s ease !important;
    z-index: 5 !important;
  }

  .kafalo-product-card__button,
  .product-card .quick-add__button {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 12px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .kafalo-product-card:hover .kafalo-product-card__cta,
  .kafalo-product-card:focus-within .kafalo-product-card__cta,
  .product-card:hover .quick-add__button,
  .product-card:focus-within .quick-add__button,
  .product-grid__item:hover .quick-add__button,
  .product-grid__item:hover .kafalo-product-card__cta {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kafalo-product-card__img {
    transition-duration: 0.01ms;
  }
}

.kafalo-related-product-grid {
  display: grid;
  grid-template-columns: repeat(var(--kafalo-related-columns, 4), minmax(0, 1fr));
  column-gap: var(--kafalo-related-column-gap, 20px);
  row-gap: var(--kafalo-related-row-gap, 24px);
  align-items: stretch;
}

.kafalo-related-products .section-resource-list__content {
  margin-bottom: 18px;
}

.kafalo-related-products .product-recommendations__skeleton-item {
  min-height: 360px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f6f7f9, #e8ecf2);
  border: 1px solid rgba(8, 26, 51, 0.08);
}

@media screen and (max-width: 749px) {
  .product-card__content.product-grid__card > a.contents,
  .product-card__content.product-grid__card > product-price {
    width: calc(100% - 24px) !important;
    margin-inline: 12px !important;
  }

  .kafalo-related-product-grid {
    grid-template-columns: repeat(var(--kafalo-related-mobile-columns, 2), minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 18px;
  }
}

.product-card__content.product-grid__card .text-block.rte p[role='heading'],
.product-card__content.product-grid__card [class*='product-title'],
.product-card__content.product-grid__card .price,
.product-card__content.product-grid__card product-price {
  padding-inline: 4px !important;
}

/* v6 price polish: selling price | regular price | percentage off */
.kafalo-price-line,
.kafalo-theme-price-line {
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  line-height: 1.25;
}

.kafalo-price-line__sale,
.kafalo-theme-price-line__sale,
.price__sale .price-item--sale.price {
  color: var(--kafalo-dark, #081a33) !important;
  font-weight: 700 !important;
}

.kafalo-price-line__mrp,
.kafalo-theme-price-line__mrp,
.kafalo-theme-price-line__mrp-label {
  color: rgba(8, 26, 51, 0.75) !important;
  font-weight: 500;
  font-size: 0.82em;
  letter-spacing: 0.02em;
}

.kafalo-price-line__mrp s,
.kafalo-theme-price-line .compare-at-price {
  color: rgba(8, 26, 51, 0.55) !important;
  text-decoration-thickness: 1.5px;
}

.kafalo-price-line__off,
.kafalo-theme-price-line__off {
  color: #0b7d82 !important;
  font-weight: 600;
  font-size: 0.86em;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.kafalo-stars {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 1px;
  background: linear-gradient(
    90deg,
    #ff4a1c var(--rating-percent),
    rgba(8, 26, 51, 0.18) var(--rating-percent)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.kafalo-rating-count {
  color: rgba(8, 26, 51, 0.62);
  font-size: 12px;
  font-weight: 700;
}

/* v6 product image mask/overlay remover for Kafalo grids */
.kafalo-product-card__media::before,
.kafalo-product-card__media::after,
.kafalo-deal-card__image::before,
.kafalo-deal-card__image::after,
.product-card__content .product-media-container::before,
.product-card__content .product-media-container::after,
.product-card__content .media::before,
.product-card__content .media::after,
.product-card__content [class*='overlay'] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.kafalo-product-card__media img,
.kafalo-deal-card__image img,
.product-card__content img {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  position: relative;
  z-index: 2;
}

.kafalo-product-card__media,
.kafalo-deal-card__image,
.product-card__content .product-media-container,
.product-card__content .media {
  background: transparent !important;
}

@media screen and (max-width: 749px) {
  .kafalo-price-line,
  .kafalo-theme-price-line {
    gap: 6px;
  }

  .kafalo-stars {
    font-size: 13px;
  }
}

/* v7 global price polish: sale price | regular price | off */
.kafalo-price-line,
.kafalo-theme-price-line {
  width: fit-content;
  max-width: 100%;
  background: linear-gradient(135deg, rgba(255, 74, 28, 0.08), rgba(11, 125, 130, 0.07));
  border: 1px solid rgba(255, 74, 28, 0.16);
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: 0 10px 22px rgba(8, 26, 51, 0.06);
}

.kafalo-product-card__price.kafalo-price-line {
  margin: 14px 0 18px !important;
}

.kafalo-theme-price-line__mrp-label {
  display: none !important;
}

.kafalo-price-line__sale,
.kafalo-theme-price-line__sale,
.price__sale .price-item--sale.price {
  color: var(--kafalo-dark, #081a33) !important;
  font-weight: 700 !important;
}

.kafalo-price-line__mrp,
.kafalo-theme-price-line__mrp,
.kafalo-theme-price-line .compare-at-price {
  color: rgba(8, 26, 51, 0.52) !important;
  font-size: 0.86em;
  font-weight: 500;
}

.kafalo-price-line__off,
.kafalo-theme-price-line__off {
  background: rgba(11, 125, 130, 0.1);
  color: #0b7d82 !important;
  border-radius: 999px;
  padding: 3px 8px;
  font-weight: 600;
}

/* v7 header predictive suggestions */
.kafalo-header-search-form {
  position: relative;
  overflow: visible !important;
  z-index: 100;
}

/* ============================================================================
   Product Details Page Redesign
   ============================================================================ */

/* Floating Discount Badge */
.custom-gallery-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  left: auto;
  background-color: #f75c00;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 20px;
  z-index: 2;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  letter-spacing: 0.5px;
}

/* Main Media Container Styles */
.kafalo-product-details .product__media-list .product__media-item {
  border-radius: 16px;
  overflow: hidden;
  background-color: #f5f5f5;
  /* Light grey backdrop */
}

.kafalo-product-details .product__media-list .product__media-item img {
  border-radius: 16px;
  object-fit: contain;
  /* To ensure full image is visible */
}

/* Thumbnails */
.kafalo-product-details slideshow-controls .slideshow-controls__thumbnails {
  margin-top: 16px;
  gap: 12px;
  display: flex;
  justify-content: flex-start;
}

.kafalo-product-details slideshow-controls .slideshow-controls__thumbnail {
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color 0.3s ease;
  background-color: #f5f5f5;
  width: 75px;
  height: 75px;
}

.kafalo-product-details slideshow-controls .slideshow-controls__thumbnail[aria-selected='true'],
.kafalo-product-details slideshow-controls .slideshow-controls__thumbnail:hover {
  border-color: #f75c00;
}

/* Form block spacing */
.kafalo-product-details .product-form__buttons {
  gap: 16px;
}

/* Adjust title font */
.kafalo-product-details .product__title h1 {
  font-weight: 700;
  font-size: 28px;
  color: #1a1a1a;
}

/* Header Tweaks */
#header-component header-actions {
  gap: 20px;
  /* Increased gap */
}

#header-component .localization-button__icon svg.icon-caret,
#header-component .dropdown-localization__button .icon-caret,
#header-component localization-form .icon-caret {
  width: 10px;
  height: 10px;
}

.kafalo-search-suggestions {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid rgba(8, 26, 51, 0.1);
  border-radius: 18px;
  box-shadow: 0 22px 55px rgba(8, 26, 51, 0.14);
  padding: 8px;
  display: none;
  max-height: min(420px, 70vh);
  overflow-y: auto;
  z-index: 999;
}

.kafalo-search-suggestions.is-visible {
  display: block;
}

.kafalo-search-suggestions__item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 9px;
  border-radius: 12px;
  text-decoration: none;
  color: var(--kafalo-dark, #081a33);
}

.kafalo-search-suggestions__item:hover,
.kafalo-search-suggestions__item:focus {
  background: rgba(255, 74, 28, 0.07);
}

.kafalo-search-suggestions__image {
  width: 54px;
  height: 54px;
  border-radius: 10px;
  background: #f4f5f7;
  overflow: hidden;
}

.kafalo-search-suggestions__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kafalo-search-suggestions__title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.kafalo-search-suggestions__price {
  margin-top: 4px;
  color: var(--kafalo-primary, #ff4a1c);
  font-size: 13px;
  font-weight: 700;
}

.kafalo-search-suggestions__empty {
  padding: 14px;
  color: rgba(8, 26, 51, 0.65);
  font-size: 14px;
  font-weight: 500;
}

@media screen and (max-width: 749px) {
  .kafalo-price-line,
  .kafalo-theme-price-line {
    border-radius: 16px;
    padding: 7px 9px;
  }
}

/* v8 correction: keep product-grid prices simple; highlight price only on product page */
.kafalo-product-card .kafalo-price-line,
.kafalo-product-card__price.kafalo-price-line {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 8px !important;
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
}

.kafalo-product-card .kafalo-price-line__sale {
  color: var(--kafalo-primary, #ff4a1c) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

.kafalo-product-card .kafalo-price-line__mrp,
.kafalo-product-card .kafalo-price-line__mrp s {
  color: rgba(8, 26, 51, 0.45) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration-thickness: 1.5px !important;
}

.kafalo-product-card .kafalo-price-line__off {
  background: transparent !important;
  color: #0b7d82 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
}

main[data-template*='product'] .kafalo-theme-price-line {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 12px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

main[data-template*='product'] .kafalo-theme-price-line__sale,
main[data-template*='product'] .price__sale .price-item--sale.price {
  color: var(--kafalo-dark, #081a33) !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}

main[data-template*='product'] .kafalo-theme-price-line__mrp,
main[data-template*='product'] .kafalo-theme-price-line .compare-at-price {
  color: rgba(8, 26, 51, 0.42) !important;
  font-size: clamp(15px, 1.15vw, 18px) !important;
  font-weight: 500 !important;
}

main[data-template*='product'] .kafalo-theme-price-line__off {
  background: var(--kafalo-primary, #ff4a1c) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 5px 11px !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}

main[data-template*='product'] product-price,
main[data-template*='product'] .price {
  margin-top: 10px;
}

@media screen and (max-width: 749px) {
  .kafalo-product-card .kafalo-price-line__sale {
    font-size: 15px !important;
  }

  .kafalo-product-card .kafalo-price-line__mrp,
  .kafalo-product-card .kafalo-price-line__mrp s,
  .kafalo-product-card .kafalo-price-line__off {
    font-size: 12px !important;
  }
}

/* v9: remove price decoration from collection/product-grid cards only */
#MainContent:not([data-template^='product']) .kafalo-theme-price-line,
#MainContent:not([data-template^='product']) .kafalo-price-line,
.product-card__content .kafalo-theme-price-line,
.product-card__content .kafalo-price-line,
.kafalo-product-card .kafalo-price-line,
.kafalo-product-card__price.kafalo-price-line {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

#MainContent:not([data-template^='product']) .kafalo-theme-price-line__sale,
#MainContent:not([data-template^='product']) .kafalo-price-line__sale,
.product-card__content .kafalo-theme-price-line__sale,
.kafalo-product-card .kafalo-price-line__sale {
  color: var(--kafalo-primary, #ff4a1c) !important;
  font-weight: 700 !important;
}

#MainContent:not([data-template^='product']) .kafalo-theme-price-line__off,
#MainContent:not([data-template^='product']) .kafalo-price-line__off,
.product-card__content .kafalo-theme-price-line__off,
.kafalo-product-card .kafalo-price-line__off {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #0b7d82 !important;
}

/* v9: keep product page price clean, slightly highlighted and larger only on product template */
#MainContent[data-template^='product'] .kafalo-theme-price-line {
  background: rgba(255, 74, 28, 0.05) !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 10px !important;
  padding: 6px 0 !important;
}

#MainContent[data-template^='product'] .kafalo-theme-price-line__sale,
#MainContent[data-template^='product'] .price__sale .price-item--sale.price {
  font-size: 24px !important;
  color: var(--kafalo-dark, #081a33) !important;
  font-weight: 700 !important;
}

#MainContent[data-template^='product'] .kafalo-theme-price-line__mrp,
#MainContent[data-template^='product'] .kafalo-theme-price-line .compare-at-price {
  font-size: 16px !important;
  color: rgba(8, 26, 51, 0.45) !important;
}

#MainContent[data-template^='product'] .kafalo-theme-price-line__off {
  background: var(--kafalo-primary, #ff4a1c) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 4px 9px !important;
  font-size: 15px !important;
}

/* v11: header search bar lives inside the search dropdown panel — rounded rectangle & expanded width */
#header-component search-button,
#header-component .kafalo-search-action,
.kafalo-topbar__row,
.kafalo-search-action {
  display: flex !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 680px !important;
}

.kafalo-header-search-form {
  border-radius: 14px !important;
  width: 100% !important;
  max-width: 680px !important;
}

.kafalo-header-search-input {
  border-radius: 0 !important;
}

.kafalo-header-search-submit {
  border-radius: 10px !important;
}

/* v10: remove product page price background bar and keep hidden sale price hidden on non-sale products */
.price__hidden,
.price__sale.price__hidden,
.price__sale.price__hidden.kafalo-theme-price-line {
  display: none !important;
}

#MainContent[data-template^='product'] .kafalo-theme-price-line,
main[data-template*='product'] .kafalo-theme-price-line {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#MainContent[data-template^='product'] .kafalo-theme-price-line__sale,
#MainContent[data-template^='product'] .price__sale .price-item--sale.price,
main[data-template*='product'] .kafalo-theme-price-line__sale,
main[data-template*='product'] .price__sale .price-item--sale.price {
  font-size: clamp(26px, 2.4vw, 34px) !important;
  line-height: 1.1 !important;
}

/* Keep sale badge always visible */
.card-gallery > .product-badges,
.card-gallery .product-badges,
[product-grid-view='zoom-out'] .card-gallery > .product-badges,
[product-grid-view='zoom-out'] .card-gallery .product-badges {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: 30 !important;
}

.product-badges__badge,
.product-badges__badge--sale,
.product-badges__badge--sale[class*='color-'] {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: #ff4a1c !important;
  color: #fff !important;
  border-color: #ff4a1c !important;
  border-radius: 999px !important;
  padding: 4px 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 20px rgba(255, 74, 28, 0.28) !important;
}

/* Search suggestion image fix */
.kafalo-search-suggestions__image {
  flex: 0 0 54px;
}

.kafalo-search-suggestions__image-placeholder {
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(135deg, #f5f6f8, #eceff3);
}

.kafalo-search-suggestions__price {
  color: #ff4a1c !important;
}

/* Fix: remove price box from product cards/search results only */
product-card .kafalo-theme-price-line,
.product-card .kafalo-theme-price-line,
.product-card__content .kafalo-theme-price-line,
.search-results .kafalo-theme-price-line,
.predictive-search .kafalo-theme-price-line,
.search-modal .kafalo-theme-price-line,
dialog .kafalo-theme-price-line,
.kafalo-product-card .kafalo-price-line {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Fix: remove discount percentage capsule from product cards/search */
product-card .kafalo-theme-price-line__off,
.product-card .kafalo-theme-price-line__off,
.product-card__content .kafalo-theme-price-line__off,
.search-results .kafalo-theme-price-line__off,
.predictive-search .kafalo-theme-price-line__off,
.search-modal .kafalo-theme-price-line__off,
dialog .kafalo-theme-price-line__off,
.kafalo-product-card .kafalo-price-line__off {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  color: #0b7d82 !important;
}

/* Ensure full-width and clean layout for kafalo-product-card in all Shopify grids & routes */
.product-grid__item,
.resource-list__item {
  display: flex;
  flex-direction: column;
}

.product-grid__item > product-card,
.resource-list__item > product-card,
.product-grid__item > .product-card,
.resource-list__item > .product-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.product-grid__item .kafalo-product-card,
.resource-list__item .kafalo-product-card {
  width: 100%;
  height: 100%;
}

/* =====================================================================
   Global Curated Collections Section Heading Typography Style
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,400;1,600&display=swap');

.kafalo-styled-heading {
  margin: 0 0 36px !important;
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  column-gap: 10px !important;
  row-gap: 4px !important;
  line-height: 1.1 !important;
}

.kafalo-styled-heading .kafalo-heading-main {
  color: #081a33;
  font-size: clamp(22px, 2.4vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}

.kafalo-styled-heading .kafalo-heading-highlight {
  color: #ff4a1c !important;
  font-family:
    'Alan Sans',
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    sans-serif !important;
  font-style: normal !important;
  font-size: clamp(23px, 2.5vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
}

@media screen and (max-width: 749px) {
  .kafalo-styled-heading .kafalo-heading-main {
    font-size: 19px !important;
  }

  .kafalo-styled-heading .kafalo-heading-highlight {
    font-size: 20px !important;
  }
}

/* Dark section heading main color override */
.section-dark .kafalo-styled-heading .kafalo-heading-main {
  color: #ffffff !important;
}

/* =====================================================================
   Global Site-Wide Font Family: Alan Sans & Anti-Aliasing Polish
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Alan+Sans:ital,wght@0,300..800;1,300..800&family=Playfair+Display:ital,wght@1,400;1,600&display=swap');

:root {
  --font-body-family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body--weight: 400;
  --font-heading-family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading--weight: 600;
  --font-paragraph--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-h1--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-h2--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-h3--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-h4--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-h5--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-h6--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-accent--family:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --button-font-family-primary:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --button-font-family-secondary:
    'Alan Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

html,
body {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

html,
body,
button,
input,
select,
textarea,
p,
span,
a,
li,
h1,
h2,
h3,
h4,
h5,
h6,
.heading,
.title,
.btn,
.button,
.product-card,
.kafalo-footer,
.kafalo-nav,
.header,
.menu-drawer,
.drawer,
.popover,
.modal {
  font-family: 'Outfit', sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Highlighted titles in two-tone headings — Outfit, upright (no italic) */
.kafalo-heading-highlight,
.curated-collections__heading-highlight,
.kafalo-story-card__heading-highlight {
  font-family: 'Outfit', sans-serif !important;
  font-style: normal !important;
}

/* =====================================================================
   Shared "View all" link — identical across homepage sections
   ===================================================================== */
.kafalo-view-all {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: #ff4a1c !important;
  text-decoration: none !important;
  white-space: nowrap;
  opacity: 1 !important;
}

.kafalo-view-all svg {
  transition: transform 0.25s ease;
}

.kafalo-view-all:hover {
  color: #ff4a1c !important;
}

.kafalo-view-all:hover svg {
  transform: translateX(4px);
}

@media screen and (max-width: 749px) {
  .kafalo-view-all__label {
    display: none;
  }

  .kafalo-view-all {
    gap: 0;
  }
}

/* =====================================================================
   Homepage Section Inner Content Padding (Left & Right Gutters)
   Adds left/right padding to inner content wrappers while keeping
   section background colors 100% full-width.
   ===================================================================== */
.kafalo-customer-trust-bar__inner,
.kafalo-shop-by-category__inner,
.curated-collections__inner,
.kafalo-product-collection__inner,
.kafalo-deal__inner,
.kafalo-story-trust__inner,
.kafalo-related-products-section__inner,
.kafalo-footer__inner,
.kafalo-hero__viewport,
#header-component .header__columns {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-left: clamp(28px, 4.5vw, 72px) !important;
  padding-right: clamp(28px, 4.5vw, 72px) !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 749px) {
  .kafalo-customer-trust-bar__inner,
  .kafalo-shop-by-category__inner,
  .curated-collections__inner,
  .kafalo-product-collection__inner,
  .kafalo-deal__inner,
  .kafalo-story-trust__inner,
  .kafalo-related-products-section__inner,
  .kafalo-footer__inner,
  #header-component .header__columns {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Hero slider: no side gutters, otherwise overflow:hidden clips at the padding box
     and the neighbouring slides peek through the gutters. */
  .kafalo-hero__viewport {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Ensure desktop navbar ALWAYS maintains 3-column layout (logo left, menu center, actions right) */
@media screen and (min-width: 990px) {
  #header-component,
  #header-component[data-menu-style='drawer'] {
    --header-menu-display: block;
  }

  #header-component .header-menu,
  #header-component header-menu,
  #header-component[data-menu-style='drawer'] .header-menu,
  #header-component[data-menu-style='drawer'] header-menu,
  #header-component .header-menu__inner,
  #header-component .menu-list {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #header-component .header__row--top .header__columns,
  #header-component[data-menu-style='drawer'] .header__columns,
  #header-component[data-menu-style='drawer'] .header__row--top .header__columns {
    grid-template-areas: 'left center right' !important;
    grid-template-columns: max-content 1fr max-content !important;
    column-gap: clamp(16px, 2vw, 32px) !important;
    align-items: center !important;
  }

  #header-component .header__column--left,
  #header-component[data-menu-style='drawer'] .header__column--left {
    grid-area: left !important;
    display: flex !important;
    justify-content: flex-start !important;
  }

  #header-component .header__column--center,
  #header-component[data-menu-style='drawer'] .header__column--center {
    grid-area: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  #header-component .header__column--right,
  #header-component[data-menu-style='drawer'] .header__column--right {
    grid-area: right !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(12px, 1.5vw, 20px) !important;
  }

  #header-component .header__icon--menu,
  #header-component .header-drawer,
  #header-component[data-menu-style='drawer'] .header__icon--menu,
  #header-component[data-menu-style='drawer'] .header-drawer {
    display: none !important;
  }

  #header-component .menu-list__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: var(--kafalo-nav-gap, 16px) !important;
  }

  #header-component overflow-list {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #header-component overflow-list::part(list) {
    display: flex !important;
    gap: var(--kafalo-nav-gap, 16px) !important;
    justify-content: center !important;
    visibility: visible !important;
  }

  #header-component overflow-list [slot='overflow'] {
    display: none !important;
  }
}

/* Enforce grid layout responsiveness: >=1440px (5 cols), 1024px-1439px (4 cols), 768px-1023px (3 cols), <768px (2 cols) */
@media screen and (min-width: 1440px) {
  .kafalo-product-collection .kafalo-product-grid,
  .kafalo-deal .kafalo-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .kafalo-product-collection .kafalo-product-grid,
  .kafalo-deal .kafalo-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .kafalo-product-collection .kafalo-product-grid,
  .kafalo-deal .kafalo-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 767px) {
  .kafalo-product-collection .kafalo-product-grid,
  .kafalo-deal .kafalo-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =====================================================================
   Cart drawer redesign — light theme, brand-forward layout
   ===================================================================== */
.cart-drawer__dialog {
  background: #ffffff !important;
}

/* ---- Header: eyebrow + big "Cart" title + item count, circle close ---- */
.kafalo-cart-drawer__header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding: 24px 24px 18px !important;
  gap: 16px;
}

.kafalo-cart-drawer__titles {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.kafalo-cart-drawer__eyebrow {
  margin: 0;
  color: #ff4a1c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.kafalo-cart-drawer__heading {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px;
  margin: 0 !important;
  font-size: clamp(28px, 4vw, 36px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: #081a33;
  line-height: 1;
}

.kafalo-cart-drawer__count {
  font-size: 14px;
  font-weight: 500;
  color: rgba(8, 26, 51, 0.5);
  letter-spacing: normal;
}

.kafalo-cart-drawer__close {
  flex-shrink: 0;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(8, 26, 51, 0.15) !important;
  background: #fff !important;
  color: #081a33 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}

.kafalo-cart-drawer__close:hover {
  border-color: rgba(8, 26, 51, 0.4) !important;
  color: #ffffff !important;
  transform: rotate(90deg);
}

.kafalo-cart-drawer__close:hover .svg-wrapper,
.kafalo-cart-drawer__close:hover .svg-wrapper svg {
  opacity: 1 !important;
  visibility: visible !important;
}

.kafalo-cart-drawer__close .svg-wrapper svg {
  width: 16px !important;
  height: 16px !important;
}

.cart-drawer__content {
  padding-inline: 20px !important;
}

/* ---- Line item cards ---- */
.cart-drawer .cart-items__table-row {
  background: #fbf9f6;
  border: 1px solid rgba(8, 26, 51, 0.07);
  border-radius: 18px;
  padding: 16px !important;
  margin-bottom: 14px !important;
}

.cart-drawer .cart-items--dividers .cart-items__table-row {
  border-bottom: 1px solid rgba(8, 26, 51, 0.07) !important;
}

.cart-drawer .cart-items__table-row {
  grid-template-columns: 84px minmax(0, 1fr) minmax(var(--cart-item-price-width), auto) !important;
}

.cart-drawer .cart-items__media-container {
  border-radius: 14px;
  aspect-ratio: 1 / 1 !important;
  background: linear-gradient(135deg, #f0ebe3, #e2dacd);
}

.cart-drawer .cart-items__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #081a33 !important;
  line-height: 1.35 !important;
}

.kafalo-cart-item__price-row {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.kafalo-cart-item__price-row > span:not(.visually-hidden) {
  font-size: 15px;
  font-weight: 700;
  color: #081a33;
}

.cart-drawer .compare-at-price {
  font-weight: 500 !important;
  color: rgba(8, 26, 51, 0.45) !important;
  font-size: 13px !important;
}

.kafalo-cart-item__badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  background: rgba(255, 74, 28, 0.12);
  color: #ff4a1c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.cart-drawer .cart-items__quantity {
  margin-block-start: 12px !important;
  padding-top: 12px;
  border-top: 1px dashed rgba(8, 26, 51, 0.1);
  width: 100% !important;
  justify-content: space-between !important;
}

.cart-drawer .cart-items__quantity-controls {
  gap: 10px;
}

.cart-drawer .quantity-selector {
  border: 1.5px solid rgba(8, 26, 51, 0.15) !important;
  border-radius: 999px !important;
  background: #fff !important;
  overflow: hidden;
}

.cart-drawer .quantity-selector .quantity-minus,
.cart-drawer .quantity-selector .quantity-plus {
  color: #081a33 !important;
  background: transparent !important;
}

.cart-drawer .quantity-selector input {
  color: #081a33 !important;
  font-weight: 700 !important;
  background: transparent !important;
}

.cart-drawer .cart-items__remove {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(8, 26, 51, 0.15) !important;
  color: rgba(8, 26, 51, 0.55) !important;
  background: transparent !important;
  transition:
    border-color 0.2s ease,
    color 0.2s ease,
    background 0.2s ease;
}

.cart-drawer .cart-items__remove:hover {
  border-color: #e53e3e !important;
  color: #e53e3e !important;
  background: transparent !important;
}

.cart-drawer .cart-items__price {
  display: none !important;
}

/* ---- Discount chip / form ---- */
.cart-drawer .cart-discount {
  border-radius: 16px;
  border: 1.5px dashed rgba(8, 26, 51, 0.16) !important;
  padding: 4px 16px !important;
  margin-top: 4px;
}

.cart-drawer .cart-discount__summary {
  padding-block: 12px;
}

.cart-drawer .cart-discount__label {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #081a33 !important;
}

.cart-drawer .cart-discount__label::before {
  content: '';
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background: #ff4a1c;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 11 3.83A2 2 0 0 0 9.59 3.24L3 3v6.59a2 2 0 0 0 .59 1.41l9.58 9.58a2 2 0 0 0 2.82 0l6.59-6.59a2 2 0 0 0 0-2.82Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5' fill='%23000'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 11 3.83A2 2 0 0 0 9.59 3.24L3 3v6.59a2 2 0 0 0 .59 1.41l9.58 9.58a2 2 0 0 0 2.82 0l6.59-6.59a2 2 0 0 0 0-2.82Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5' fill='%23000'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.cart-drawer .cart-discount__summary .cart-totals__icon svg {
  width: 14px;
  height: 14px;
  color: #081a33;
}

.cart-drawer .cart-discount__input {
  border-radius: 999px !important;
  border-color: rgba(8, 26, 51, 0.15) !important;
  background: #fbf9f6 !important;
}

.cart-drawer .cart-discount__input:focus {
  border-color: #ff4a1c !important;
  outline: none;
}

.cart-drawer .cart-discount__button {
  border-radius: 999px !important;
  background: #081a33 !important;
  color: #fff !important;
  padding-inline: 20px !important;
  font-weight: 700 !important;
}

.cart-drawer .cart-discount__button:hover {
  background: #ff4a1c !important;
}

/* ---- Totals + checkout ---- */
.cart-drawer .cart-totals {
  border-top: 1px solid rgba(8, 26, 51, 0.08) !important;
  padding-top: 18px !important;
}

.cart-drawer .cart-totals__total-label {
  font-size: 15px !important;
  color: rgba(8, 26, 51, 0.6) !important;
  font-weight: 500 !important;
}

.cart-drawer .cart-totals__total-value {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #081a33 !important;
}

.cart-drawer .cart-totals__tax-note {
  font-size: 13px !important;
  color: rgba(8, 26, 51, 0.5) !important;
}

.kafalo-cart-drawer__checkout.cart__checkout-button {
  background: #ff4a1c !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.01em;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 14px 28px -10px rgba(255, 74, 28, 0.5);
  transition:
    background 0.2s ease,
    transform 0.15s ease;
}

.kafalo-cart-drawer__checkout.cart__checkout-button:hover {
  background: #ff5b32 !important;
  transform: translateY(-1px);
}

.kafalo-cart-drawer__checkout.cart__checkout-button::after {
  content: '';
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.cart-drawer .additional-checkout-buttons {
  margin-top: 10px;
}

/* =====================================================================
   Product overview page (PDP) — visual refresh
   ===================================================================== */
#MainContent[data-template^='product'] {
  --kafalo-pdp-ink: #081a33;
  --kafalo-pdp-accent: #ff4a1c;
}

/* Media gallery: soften the frame, add a hover lift + zoom cursor */
#MainContent[data-template^='product'] .product-media-constraint-wrapper {
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

#MainContent[data-template^='product'] .product-media-constraint-wrapper img {
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

#MainContent[data-template^='product'] [data-zoom-mode] .product-media-constraint-wrapper {
  cursor: zoom-in;
}

#MainContent[data-template^='product'] .dialog-thumbnails-list__thumbnail,
#MainContent[data-template^='product'] .thumbnail-list__item {
  transition:
    outline-color 0.2s ease,
    opacity 0.2s ease;
}

/* Product title */
#MainContent[data-template^='product'] .product-details h1 {
  color: var(--kafalo-pdp-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.08 !important;
}

/* Review stars */
#MainContent[data-template^='product'] .kafalo-review-stars,
#MainContent[data-template^='product'] [class*='review'] svg {
  color: var(--kafalo-pdp-accent);
}

/* Variant picker: pill-style options with a clear selected state */
#MainContent[data-template^='product'] .variant-picker__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

#MainContent[data-template^='product'] .variant-option legend,
#MainContent[data-template^='product'] .variant-option__label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--kafalo-pdp-ink) !important;
  letter-spacing: 0.01em;
}

#MainContent[data-template^='product'] .variant-option--buttons label {
  border-radius: 999px !important;
  border-width: 1.5px !important;
  min-height: 42px;
  padding-inline: 18px !important;
  font-weight: 600 !important;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}

#MainContent[data-template^='product'] .variant-option--buttons label:has(input:checked) {
  border-color: var(--kafalo-pdp-accent) !important;
  background: var(--kafalo-pdp-accent) !important;
  color: #fff !important;
}

#MainContent[data-template^='product'] .swatch {
  transition:
    outline-color 0.2s ease,
    transform 0.2s ease;
}

#MainContent[data-template^='product'] input:checked + .swatch,
#MainContent[data-template^='product'] .swatch-input:checked ~ .swatch {
  outline: 2px solid var(--kafalo-pdp-accent) !important;
  outline-offset: 2px;
  transform: scale(1.05);
}

/* Quantity selector — same bordered pill as the cart drawer */
#MainContent[data-template^='product'] .quantity-selector {
  border: 1.5px solid rgba(8, 26, 51, 0.15) !important;
  border-radius: 999px !important;
  background: #fff !important;
  overflow: hidden;
}

#MainContent[data-template^='product'] .quantity-selector .quantity-minus,
#MainContent[data-template^='product'] .quantity-selector .quantity-plus {
  color: var(--kafalo-pdp-ink) !important;
  background: transparent !important;
}

#MainContent[data-template^='product'] .quantity-selector input {
  color: var(--kafalo-pdp-ink) !important;
  font-weight: 700 !important;
  background: transparent !important;
}

/* Buy buttons: bigger, bolder, brand shadow */
#MainContent[data-template^='product'] .product-form-buttons {
  gap: 12px !important;
}

#MainContent[data-template^='product'] .product-form-buttons .add-to-cart-button,
#MainContent[data-template^='product'] .product-form-buttons .button:not(.button-unstyled) {
  min-height: 54px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.01em;
  box-shadow: 0 16px 30px -10px rgba(255, 74, 28, 0.45);
  transition:
    transform 0.15s ease,
    box-shadow 0.2s ease;
}

#MainContent[data-template^='product'] .product-form-buttons .add-to-cart-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 36px -8px rgba(255, 74, 28, 0.55);
}

#MainContent[data-template^='product'] shopify-accelerated-checkout {
  --shopify-accelerated-checkout-button-border-radius: 999px;
  margin-top: 4px;
}

/* Description / RTE copy */
#MainContent[data-template^='product'] .product-details .rte,
#MainContent[data-template^='product'] .product-details p {
  color: rgba(8, 26, 51, 0.72);
  line-height: 1.7;
  font-size: 15px;
}

/* Accordion rows (shipping / returns / details) */
#MainContent[data-template^='product'] .accordion .details summary {
  padding-block: 16px !important;
  font-weight: 700 !important;
  color: var(--kafalo-pdp-ink) !important;
}

#MainContent[data-template^='product'] .accordion .details {
  border-color: rgba(8, 26, 51, 0.1) !important;
}

@media screen and (max-width: 749px) {
  #MainContent[data-template^='product'] .product-form-buttons .add-to-cart-button,
  #MainContent[data-template^='product'] .product-form-buttons .button:not(.button-unstyled) {
    min-height: 50px !important;
  }
}

/* =====================================================================
   PDP layout — sticky media (left), scrollable details (right)
   ===================================================================== */
/* =====================================================================
   PDP LAYOUT — STICKY MEDIA GALLERY (LEFT), SCROLLABLE DETAILS (RIGHT)
   ===================================================================== */
#MainContent[data-template^='product'] {
  overflow-x: hidden !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbf9f6 340px, #fbf9f6 100%);
}

#MainContent[data-template^='product'] .product-information {
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: clamp(16px, 3vw, 40px) !important;
  box-sizing: border-box !important;
}

/* Base grid structure */
#MainContent[data-template^='product'] .product-information__grid {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media screen and (min-width: 990px) {
  #MainContent[data-template^='product'] .product-information__grid,
  .product-information__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: clamp(32px, 4vw, 56px) !important;
    row-gap: 32px !important;
    align-items: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Left media gallery column: reset top offsets so top edge of thumbnails & main image aligns with product title */
  #MainContent[data-template^='product'] .product-information__media,
  .product-information__media {
    order: 0 !important;
    grid-column: 1 / 2 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    position: sticky !important;
    top: calc(var(--header-height, 120px) + 20px) !important;
    align-self: start !important;
    height: fit-content !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #MainContent[data-template^='product'] .product-information__media media-gallery,
  #MainContent[data-template^='product'] .product-information__media .media-gallery,
  .product-information__media media-gallery,
  .product-information__media .media-gallery {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .media-gallery .media-gallery__grid,
  .media-gallery slideshow-controls,
  .media-gallery .slideshow,
  .media-gallery .product-media-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Right details column top alignment */
  #MainContent[data-template^='product'] .product-details,
  #MainContent[data-template^='product'] .kafalo-product-details-container,
  .product-details {
    order: 1 !important;
    grid-column: 2 / 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-self: start !important;
  }

  #MainContent[data-template^='product'] .product-details > .group-block,
  .product-details > .group-block {
    margin-top: 0 !important;
    padding-top: 80px !important;
  }

  #MainContent[data-template^='product'] .product-details [class*='product-title'],
  #MainContent[data-template^='product'] .product-details h1 {
    margin-top: 16px !important;
    padding-top: 0 !important;
  }
}

@media screen and (max-width: 989px) {
  #MainContent[data-template^='product'] .product-information__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  #MainContent[data-template^='product'] .product-information__media {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    top: 0 !important;
  }

  #MainContent[data-template^='product'] .product-details,
  #MainContent[data-template^='product'] .kafalo-product-details-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Ensure product image is visible and scaled properly */
#MainContent[data-template^='product'] media-gallery,
#MainContent[data-template^='product'] .slideshow,
#MainContent[data-template^='product'] .product-media-container,
#MainContent[data-template^='product'] .product-media-constraint-wrapper {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

#MainContent[data-template^='product'] .product-media-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

#MainContent[data-template^='product'] .product-information__media .media-gallery {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 24px 48px -22px rgba(8, 26, 51, 0.22);
}

/* Scrollable details column spacing */
#MainContent[data-template^='product'] .product-details > .group-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Reduced Product Title Font Size & adjusted top margin to position product name lower */
#MainContent[data-template^='product'] .product-details h1,
#MainContent[data-template^='product'] .product-details .text-block h1,
#MainContent[data-template^='product'] .product-details .view-product-title,
#MainContent[data-template^='product'] .product-details .product-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #111827 !important;
  letter-spacing: -0.01em !important;
  margin: 16px 0 12px 0 !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  hyphens: auto !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Prevent Buy & Add to Cart Buttons from overflowing container */
#MainContent[data-template^='product'] .product-form-buttons {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  flex-wrap: wrap !important;
}

#MainContent[data-template^='product'] product-form-component,
#MainContent[data-template^='product'] add-to-cart-component,
#MainContent[data-template^='product'] shopify-payment-button,
#MainContent[data-template^='product'] .add-to-cart-button,
#MainContent[data-template^='product'] button[name='add'] {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Currency Dropdown Caret Icon Reduction */
.dropdown-localization__button .svg-wrapper.icon-caret,
.dropdown-localization__button .icon-caret,
dropdown-localization-component .icon-caret {
  width: 9px !important;
  height: 9px !important;
  max-width: 9px !important;
  max-height: 9px !important;
  margin-inline-start: 2px !important;
  opacity: 0.75 !important;
  transform: scale(0.8) !important;
}

.dropdown-localization__button .svg-wrapper.icon-caret svg,
.dropdown-localization__button .icon-caret svg,
dropdown-localization-component .icon-caret svg {
  width: 9px !important;
  height: 9px !important;
}

/* Cart drawer customisations */
.kafalo-cart-drawer__heading {
  font-size: 22px !important;
}

.cart-items__title {
  font-family: 'Outfit', sans-serif !important;
}

.cart-items__remove {
  background-color: transparent !important;
  color: rgba(8, 26, 51, 0.55) !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  border: 1.5px solid rgba(8, 26, 51, 0.15) !important;
}

.cart-items__remove:hover {
  color: #e53e3e !important;
  border-color: #e53e3e !important;
}

.cart-items__remove svg,
.cart-items__remove path {
  stroke: currentColor !important;
  fill: none !important;
}

.kafalo-cart-item__price-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px;
}

.kafalo-cart-item__price-row span:not(.kafalo-cart-item__badge) {
  font-weight: 700;
  color: #081a33;
}

.kafalo-cart-item__price-row .compare-at-price {
  color: rgba(8, 26, 51, 0.45) !important;
  text-decoration: line-through !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

.kafalo-cart-item__badge {
  background-color: #ffe4e6 !important;
  color: #e11d48 !important;
  padding: 4px 8px !important;
  border-radius: 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap;
}

.cart-drawer .button,
.cart-discount__button {
  outline: none !important;
  box-shadow: none !important;
}

.cart-drawer .button:focus,
.cart-drawer .button:focus-visible,
.cart-discount__button:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Currency dropdown gap */
#header-component .header__column--right .dropdown-localization {
  margin-right: 16px;
}

/* Global Font Family */
body,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
p,
a,
span,
div,
button,
input,
textarea,
select {
  font-family: 'Outfit', sans-serif !important;
}

/* Styling Shopify Policy Pages to match Kafalo standard pages */
.shopify-policy__container {
  max-width: 900px !important;
  margin: 60px auto !important;
  padding: 40px !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 36px rgba(8, 26, 51, 0.05) !important;
  font-family: 'Outfit', sans-serif !important;
  color: #081a33 !important;
  line-height: 1.7 !important;
}

@media (max-width: 768px) {
  .shopify-policy__container {
    margin: 30px 16px !important;
    padding: 24px !important;
  }
}

.shopify-policy__container h1,
.shopify-policy__container h2,
.shopify-policy__container h3,
.shopify-policy__title h1 {
  margin-bottom: 24px !important;
  color: #000000 !important;
  font-weight: 700 !important;
  margin-top: 32px !important;
  text-align: left !important;
}

.shopify-policy__container h1:first-child,
.shopify-policy__container h2:first-child,
.shopify-policy__title h1:first-child {
  margin-top: 0 !important;
}

.shopify-policy__container p {
  margin-bottom: 16px !important;
  color: rgba(8, 26, 51, 0.8) !important;
  font-size: 15px !important;
}

.shopify-policy__container ul,
.shopify-policy__container ol {
  margin-bottom: 16px !important;
  padding-left: 20px !important;
  color: rgba(8, 26, 51, 0.8) !important;
}

.shopify-policy__container li {
  margin-bottom: 8px !important;
}

/* Ensure all section titles and brand-color text use Outfit */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
[class*='__heading'],
[class*='__title'],
.kafalo-section-title,
.title,
.heading,
[style*='color: #ff4a1c'],
[style*='color: var(--brand-color)'] {
  font-family: 'Outfit', sans-serif !important;
}

/* Predictive Search & Recently Viewed Modal - List Format */
.predictive-search-results__wrapper-products {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.predictive-search-results__card--product {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.predictive-search-results__card--product .product-card__content,
.predictive-search-results__card--product product-card {
  display: grid !important;
  grid-template-columns: 70px 1fr !important;
  gap: 16px !important;
  align-items: center !important;
  text-align: left !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  height: auto !important;
}

.predictive-search-results__card--product .product-card__media {
  width: 70px !important;
  height: 70px !important;
  border-radius: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 70px !important;
}

.predictive-search-results__card--product .product-card__media img {
  border-radius: 8px !important;
}

.predictive-search-results__card--product .product-card__info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.predictive-search-results__card--product .product-card__info p[role='heading'] {
  font-size: 14px !important;
  margin: 0 0 4px !important;
  -webkit-line-clamp: 2 !important;
  min-height: auto !important;
}

.predictive-search-results__card--product product-price {
  margin: 0 !important;
  font-size: 13px !important;
  width: auto !important;
}

/* Ensure Profile and Customer sections use Outfit font */
.customer,
.customer *,
.account,
.account *,
#customer_login,
#customer_register,
.customer-login,
.customer-register {
  font-family: 'Outfit', sans-serif !important;
}

/* Ensure all specific homepage section titles use Outfit font */
.kafalo-shop-by-category__heading,
.kafalo-shop-by-category__title,
.kafalo-product-collection__heading,
.kafalo-product-collection__title,
.kafalo-deal__title,
.kafalo-deal-of-day__title,
.kafalo-curated__title,
.kafalo-curated__heading,
.collection-list-title,
.rich-text__heading,
.featured-collection__title,
.title-wrapper-with-link .title,
.title-wrapper .title,
.shopify-section .title,
.shopify-section h1,
.shopify-section h2,
.shopify-section h3,
.shopify-section p.h1,
.shopify-section p.h2,
.shopify-section p.h3,
.shopify-section [class*='__heading'],
.shopify-section [class*='__title'] {
  font-family: 'Outfit', sans-serif !important;
}

/* =====================================================================
   Shopify Inbox/Chat floating widget — hide on small screens only
   (it overlaps our own floating buttons and the bottom nav on mobile),
   shown from medium screens up.
   ===================================================================== */
@media screen and (max-width: 749px) {
  shopify-chat {
    display: none !important;
  }
}

/* Hide Judge.me stars when there are no reviews (0 reviews) */
.jdgm-prev-badge[data-number-of-reviews='0'],
.jdgm-prev-badge[data-number-of-reviews='0'][style],
.jdgm-widget .jdgm-prev-badge[data-number-of-reviews='0'],
.jdgm-preview-badge .jdgm-prev-badge[data-number-of-reviews='0'],
.jdgm-preview-badge[data-template] [data-number-of-reviews='0'],
[data-number-of-reviews='0'] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Hide discount badge on product media gallery */
.custom-gallery-badge,
.product-information__media .custom-gallery-badge,
.product-information__media .product-badges,
.product-media-gallery .custom-gallery-badge {
  display: none !important;
}

/* Product Grid Responsiveness for Collection & Search Pages:
   - >= 1440px: 5 columns (15-inch+ desktop)
   - 1024px–1439px: 4 columns (13-inch desktop)
   - 768px–1023px: 3 columns (tablets)
   - < 768px: 2 columns (mobile)
*/
@media screen and (min-width: 1440px) {
  #MainContent .product-grid:not([product-grid-view='zoom-out']):not(.product-grid--organic),
  #MainContent .product-grid--grid,
  #MainContent .main-collection-grid,
  #ResultsList .product-grid,
  [data-template*='search'] .product-grid,
  .template-search .product-grid,
  .product-grid-container .product-grid,
  .product-grid-container ul.product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    --product-grid-columns-desktop: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1439px) {
  #MainContent .product-grid:not([product-grid-view='zoom-out']):not(.product-grid--organic),
  #MainContent .product-grid--grid,
  #MainContent .main-collection-grid,
  #ResultsList .product-grid,
  [data-template*='search'] .product-grid,
  .template-search .product-grid,
  .product-grid-container .product-grid,
  .product-grid-container ul.product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    --product-grid-columns-desktop: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  #MainContent .product-grid:not([product-grid-view='zoom-out']):not(.product-grid--organic),
  #MainContent .product-grid--grid,
  #MainContent .main-collection-grid,
  #ResultsList .product-grid,
  [data-template*='search'] .product-grid,
  .template-search .product-grid,
  .product-grid-container .product-grid,
  .product-grid-container ul.product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    --product-grid-columns-desktop: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 767px) {
  #MainContent .product-grid:not([product-grid-view='zoom-out']):not(.product-grid--organic),
  #MainContent .product-grid--grid,
  #MainContent .main-collection-grid,
  #ResultsList .product-grid,
  [data-template*='search'] .product-grid,
  .template-search .product-grid,
  .product-grid-container .product-grid,
  .product-grid-container ul.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --product-grid-columns-desktop: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Filter Sidebar Width Reduction (Search & Collection pages) */
@media screen and (min-width: 750px) {
  .collection-wrapper {
    --facets-vertical-col-width: 4 !important;
  }

  .facets-block-wrapper--vertical,
  .facets--vertical,
  .facets-block-wrapper--vertical .facets__form-wrapper {
    max-width: 250px !important;
  }
}

/* Product Title Row & Share Button */
.kafalo-product-title-row,
#MainContent[data-template^='product'] .product-details .kafalo-product-title-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.kafalo-product-title-row h1,
.kafalo-product-title-row [class*='product-title'],
#MainContent[data-template^='product'] .product-details .kafalo-product-title-row h1 {
  margin: 0 !important;
  flex: 1 1 auto !important;
}

.kafalo-share-button {
  display: inline-flex !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

.kafalo-share-button__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(8, 26, 51, 0.14) !important;
  background: #ffffff !important;
  color: #081a33 !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 8px rgba(8, 26, 51, 0.05) !important;
}

.kafalo-share-button__btn:hover {
  background: rgba(255, 74, 28, 0.08) !important;
  color: #ff4a1c !important;
  border-color: rgba(255, 74, 28, 0.35) !important;
  transform: translateY(-1px) !important;
}

.kafalo-share-button__btn:active {
  transform: scale(0.95) !important;
}

.kafalo-share-button.is-copied .kafalo-share-button__btn {
  background: #10b981 !important;
  color: #ffffff !important;
  border-color: #10b981 !important;
}

.kafalo-share-button.is-copied .kafalo-share-button__icon {
  display: none !important;
}

.kafalo-share-button.is-copied .kafalo-share-button__check-icon {
  display: inline-flex !important;
}

.kafalo-share-button__tooltip {
  position: absolute !important;
  bottom: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(4px) !important;
  background: #081a33 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(8, 26, 51, 0.2) !important;
  z-index: 10 !important;
}

.kafalo-share-button__tooltip::after {
  content: '' !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-width: 5px 5px 0 5px !important;
  border-style: solid !important;
  border-color: #081a33 transparent transparent transparent !important;
}

.kafalo-share-button.is-copied .kafalo-share-button__tooltip {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* ============================================================================
   Product card quantity control (small screens, <= 749px)
   Desktop/tablet: wrapper is transparent and the extra controls are hidden.
   ============================================================================ */
.kafalo-card-qty {
  display: contents;
}

.kafalo-card-qty__minus,
.kafalo-card-qty__count {
  display: none;
}

@media screen and (max-width: 749px) {
  .kafalo-card-qty {
    display: inline-flex;
    align-items: center;
    height: 40px;
    border-radius: 999px;
    background: #190e18;
    color: #fff;
    box-shadow: 0 4px 12px rgba(25, 14, 24, 0.35);
  }

  .kafalo-card-qty[data-qty='0'] .kafalo-card-qty__minus,
  .kafalo-card-qty[data-qty='0'] .kafalo-card-qty__count {
    display: none;
  }

  .kafalo-card-qty:not([data-qty='0']) .kafalo-card-qty__minus {
    display: inline-flex;
  }

  .kafalo-card-qty:not([data-qty='0']) .kafalo-card-qty__count {
    display: inline-block;
  }

  .kafalo-card-qty__minus {
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .kafalo-card-qty__count {
    min-width: 16px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
  }

  /* The card's add-to-cart button becomes the `+` inside the pill */
  .kafalo-product-card .kafalo-card-qty .kafalo-product-card__button {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .kafalo-card-qty:not([data-qty='0']) .kafalo-product-card__button {
    width: 36px !important;
  }

  .kafalo-product-card .kafalo-card-qty[data-qty='0'] .kafalo-product-card__button {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    border-radius: 50% !important;
  }

  /* Swap the cart icon for a plus */
  .kafalo-card-qty .kafalo-product-card__button .add-to-cart-icon {
    display: none !important;
  }

  .kafalo-card-qty .kafalo-product-card__button .add-to-cart-text::before {
    content: '';
    width: 14px;
    height: 14px;
    background:
      linear-gradient(currentColor, currentColor) center / 100% 2.6px no-repeat,
      linear-gradient(currentColor, currentColor) center / 2.6px 100% no-repeat;
  }
}

/* ============================================================================
   Product page: remove top padding / margin above gallery and details
   ============================================================================ */
#MainContent[data-template^='product'] .product-information,
#MainContent[data-template^='product'] .product-information.section,
#MainContent[data-template^='product'] .product-information__grid {
  margin-top: 0 !important;
  padding-top: 0px !important;
}

#MainContent[data-template^='product'] .product-details > .group-block,
.product-details > .group-block {
  margin-top: 0 !important;
  padding-top: 0px !important;
}

#MainContent[data-template^='product'] .product-information__media,
.product-information__media {
  order: 0 !important;
  grid-column: 1 / 2 !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  position: sticky !important;
  top: 50px !important;
  align-self: start !important;
  height: fit-content !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================================================
   Cart item rows: the top-right line price duplicates the price shown under the title
   ============================================================================ */
.cart-items__table-row .cart-items__price {
  display: none !important;
}

.cart-items__table-row {
  grid-template-columns: clamp(2.5rem, 15cqi, 7.5rem) minmax(0, 1fr) 0;
}

/* ============================================================================
   Product grid cards (collection / search): uniform square media so the quick-add
   buttons line up across a row
   ============================================================================ */
.product-card .card-gallery {
  --gallery-aspect-ratio: 1 !important;
}

.product-card .card-gallery img,
.product-card .card-gallery video,
.product-card .card-gallery .product-media-container {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

@media screen and (max-width: 749px) {
  .kafalo-hero {
    overflow: hidden;
  }
}
