:root {
  --nlf-plum: oklch(32% .12 320);
  --nlf-rose: oklch(62% .22 350);
  --nlf-leaf: oklch(50% .13 145);
  --nlf-gold: oklch(78% .13 80);
  --nlf-bg: oklch(98.5% .012 60);
  --nlf-muted-bg: oklch(96% .012 60);
  --nlf-chip: oklch(95% .025 350);
  --nlf-line: oklch(90% .02 350);
  --nlf-text: oklch(22% .06 320);
  --nlf-muted: oklch(50% .04 320);
  --nlf-shadow: 0 10px 40px -15px oklch(32% .12 320 / .18);
  --nlf-bloom-shadow: 0 20px 60px -20px oklch(62% .22 350 / .35);
}

/* Shop/category polish. */
.nlf-shop-hero,
.nlf-shop-strip {
  width: min(1180px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nlf-shop-hero {
  margin-top: 22px !important;
  min-height: 210px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 18px !important;
  padding: 34px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(79,23,79,.90), rgba(79,23,79,.58) 52%, rgba(212,63,145,.18)),
    url("../nlf/banner-luxe.jpg") center/cover no-repeat !important;
  box-shadow: 0 18px 42px rgba(75,23,74,.14) !important;
}

.nlf-shop-hero-copy span {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  color: #ffd166 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.nlf-shop-hero h1 {
  max-width: 620px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 5vw, 64px) !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
}

.nlf-shop-hero p {
  max-width: 540px !important;
  margin: 12px 0 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.nlf-shop-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.nlf-shop-hero-actions a,
.nlf-shop-strip span {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.nlf-shop-hero-actions a {
  padding: 0 18px !important;
  background: rgba(255,255,255,.93) !important;
  color: var(--nlf-plum) !important;
}

.nlf-shop-strip {
  margin-top: 12px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.nlf-shop-strip span {
  min-width: 0 !important;
  padding: 0 12px !important;
  border: 1px solid var(--nlf-line) !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  font-size: 12px !important;
  box-shadow: 0 10px 24px rgba(75,23,74,.06) !important;
}

#left_sidebar {
  display: none !important;
}

.product-list .col-lg-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.product-list {
  margin-top: 16px !important;
  padding-top: 0 !important;
}

.product-filter {
  min-height: 60px !important;
  margin-bottom: 16px !important;
  padding: 10px 12px 10px 18px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(75,23,74,.06) !important;
}

.product-filter p {
  color: var(--nlf-plum) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.product-filter .custom-select {
  width: min(250px, 100%) !important;
  min-height: 42px !important;
  padding-left: 16px !important;
  background-color: #faf3f6 !important;
  margin-bottom: 0 !important;
}

.product-parent {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.product-parent .product-card {
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(75,23,74,.06) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

.product-parent .product-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 34px rgba(75,23,74,.12) !important;
}

.product-parent .product-content {
  width: auto !important;
  margin: 0 !important;
  padding: 11px 12px 0 !important;
}

.product-parent .product-cate p {
  color: #d43f91 !important;
  font-size: 9px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.product-parent .product-name {
  width: auto !important;
  margin: 0 !important;
  padding: 0 12px !important;
}

.product-parent .product-name h3 {
  min-height: 38px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  color: #321334 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.product-parent .product-price {
  width: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 12px 12px !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
}

.product-parent .product-price p {
  font-size: 17px !important;
}

.product-parent .product-rating {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.product-parent .product-rating li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  color: #6f6070 !important;
}

.product-parent .new-badge {
  background: #fff !important;
  color: var(--nlf-plum) !important;
  box-shadow: 0 8px 20px rgba(75,23,74,.10) !important;
}

@media (max-width: 991px) {
  .nlf-shop-hero {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .nlf-shop-hero-actions {
    justify-content: flex-start !important;
  }

  .nlf-shop-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .product-parent {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .nlf-shop-hero,
  .nlf-shop-strip {
    width: calc(100% - 24px) !important;
  }

  .nlf-shop-hero {
    min-height: 238px !important;
    margin-top: 12px !important;
    padding: 24px 20px !important;
    border-radius: 22px !important;
    background:
      linear-gradient(180deg, rgba(79,23,79,.88), rgba(79,23,79,.56)),
      url("../nlf/banner-luxe.jpg") center/cover no-repeat !important;
  }

  .nlf-shop-hero h1 {
    font-size: 38px !important;
  }

  .nlf-shop-hero p {
    font-size: 14px !important;
  }

  .nlf-shop-hero-actions {
    gap: 8px !important;
  }

  .nlf-shop-hero-actions a {
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }

  .nlf-shop-strip {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }

  .nlf-shop-strip::-webkit-scrollbar {
    display: none !important;
  }

  .nlf-shop-strip span {
    min-width: max-content !important;
    min-height: 38px !important;
    font-size: 11px !important;
  }

  .product-filter {
    border-radius: 18px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(132px, 145px) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  .product-filter p {
    line-height: 1.25 !important;
  }

  .product-filter .custom-select {
    width: 100% !important;
    min-height: 40px !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
  }

  .product-parent {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
  }

  .product-parent .product-card {
    border-radius: 14px !important;
  }

  .product-parent .product-content {
    padding: 9px 9px 0 !important;
  }

  .product-parent .product-name {
    padding: 0 9px !important;
  }

  .product-parent .product-name h3 {
    min-height: 36px !important;
    font-size: 13px !important;
    line-height: 1.32 !important;
  }

  .product-parent .product-price {
    min-height: 42px !important;
    padding: 0 9px 9px !important;
  }

  .product-parent .product-price p {
    font-size: 16px !important;
  }
}

/* True final typography override. The Lovable reference uses Inter for UI and Playfair Display for display headings. */
:root {
  --nlf-ui-font: "Inter", Arial, Helvetica, sans-serif;
  --nlf-display-font: "Playfair Display", Georgia, "Times New Roman", serif;
}

body,
button,
input,
select,
textarea,
.nlf-site-header,
.nlf-site-header *,
.nlf-bottom-nav,
.nlf-bottom-nav *,
.nlf-mobile-drawer,
.nlf-mobile-drawer *,
.nlf-cart-drawer,
.nlf-cart-drawer *,
.product-card,
.single-product,
.details-part,
.site-main,
.checkout_form,
.nlf-footer {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 400;
  letter-spacing: 0 !important;
}

.nlf-brand-text,
.nlf-logo-word,
.nlf-hero-copy h1,
.nlf-hero-title,
.nlf-banner-copy h2,
.nlf-section-head h2,
.nlf-editorial-card h3,
.nlf-feature-card h3,
.nlf-trending-copy h2,
.nlf-shop-hero h1,
.single-content h2,
.single-product-name h3,
.cart_totals h2,
.checkout_form h4 {
  font-family: var(--nlf-display-font) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.nlf-site-header a,
.nlf-site-header button,
.nlf-site-header span,
.nlf-bottom-nav a,
.nlf-bottom-nav button,
.nlf-bottom-nav span,
.nlf-category-pill,
.nlf-shop-hero-actions a,
.nlf-shop-strip span {
  font-weight: 500 !important;
}

.nlf-site-header strong,
.nlf-site-header .nlf-cart-count,
.nlf-bottom-nav .nlf-bottom-cart-count,
.cart_count,
.nlf-mobile-cart-count {
  font-weight: 700 !important;
}

.nlf-topbar,
.nlf-topbar span {
  font-size: 11px !important;
  font-weight: 600 !important;
}

.nlf-brand-text small,
.nlf-logo-subtitle,
.nlf-product-category,
.product-parent .product-cate p,
.nlf-section-eyebrow,
.nlf-shop-hero-copy span,
.new-badge {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
}

.nlf-section-head p,
.nlf-hero-copy p,
.nlf-banner-copy p,
.nlf-trending-copy p,
.nlf-shop-hero p,
.single-product-describe,
.details-descrip,
.product-filter p {
  font-weight: 400 !important;
}

.nlf-product-info h3,
.product-parent .product-name h3,
.product-name h3,
.nlf-cart-item-title,
.bigbag_cart-product-name,
.shop_table td a {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.nlf-product-info strong,
.product-parent .product-price p,
.product-price p,
.single-product-price h3,
.bigbag-Price-amount,
.total_cost_amount {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 700 !important;
}

.nlf-btn,
.nlf-view-cart-mobile,
.nlf-sticky-add,
.nlf-sticky-buy,
.single-product-widget .btn,
.single-product-widget button,
.checkout_submit_btn,
.checkout-button,
.basicbtn,
.bigbag_btn-custom.primary,
.button.alt {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

.product-filter .custom-select,
.checkout input,
.checkout select,
.checkout textarea,
#coupon_code,
.form-control {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 500 !important;
}

.nlf-product-info del,
.nlf-product-info p,
.product-parent .product-rating li,
.product-price span,
.nlf-muted,
.bigbag_notice {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 400 !important;
}

/* Final typography match with the Lovable reference. */
:root {
  --nlf-ui-font: "Inter", Arial, Helvetica, sans-serif;
  --nlf-display-font: "Playfair Display", Georgia, "Times New Roman", serif;
}

body,
button,
input,
select,
textarea,
.nlf-site-header,
.nlf-site-header *,
.nlf-bottom-nav,
.nlf-bottom-nav *,
.nlf-mobile-drawer,
.nlf-mobile-drawer *,
.nlf-cart-drawer,
.nlf-cart-drawer *,
.product-card,
.single-product,
.details-part,
.site-main,
.checkout_form,
.nlf-footer {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 400;
  letter-spacing: 0 !important;
}

.nlf-brand-text,
.nlf-logo-word,
.nlf-hero-copy h1,
.nlf-hero-title,
.nlf-banner-copy h2,
.nlf-section-head h2,
.nlf-editorial-card h3,
.nlf-feature-card h3,
.nlf-trending-copy h2,
.nlf-shop-hero h1,
.single-content h2,
.single-product-name h3,
.cart_totals h2,
.checkout_form h4 {
  font-family: var(--nlf-display-font) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.nlf-site-header a,
.nlf-site-header button,
.nlf-site-header span,
.nlf-bottom-nav a,
.nlf-bottom-nav button,
.nlf-bottom-nav span,
.nlf-category-pill,
.nlf-shop-hero-actions a,
.nlf-shop-strip span {
  font-weight: 500 !important;
}

.nlf-site-header strong,
.nlf-site-header .nlf-cart-count,
.nlf-bottom-nav .nlf-bottom-cart-count,
.cart_count,
.nlf-mobile-cart-count {
  font-weight: 700 !important;
}

.nlf-topbar,
.nlf-topbar span {
  font-size: 11px !important;
  font-weight: 600 !important;
}

.nlf-brand-text small,
.nlf-logo-subtitle,
.nlf-product-category,
.product-parent .product-cate p,
.nlf-section-eyebrow,
.nlf-shop-hero-copy span,
.new-badge {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
}

.nlf-hero-copy h1,
.nlf-hero-title {
  font-weight: 600 !important;
  line-height: 1.05 !important;
}

.nlf-banner-copy h2 {
  font-weight: 600 !important;
  line-height: 1.1 !important;
}

.nlf-section-head h2 {
  font-weight: 600 !important;
  line-height: 1.12 !important;
}

.nlf-section-head p,
.nlf-hero-copy p,
.nlf-banner-copy p,
.nlf-trending-copy p,
.nlf-shop-hero p,
.single-product-describe,
.details-descrip,
.product-filter p {
  font-weight: 400 !important;
}

.nlf-product-info h3,
.product-parent .product-name h3,
.product-name h3,
.nlf-cart-item-title,
.bigbag_cart-product-name,
.shop_table td a {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.nlf-product-info strong,
.product-parent .product-price p,
.product-price p,
.single-product-price h3,
.bigbag-Price-amount,
.total_cost_amount {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 700 !important;
}

.nlf-btn,
.nlf-view-cart-mobile,
.nlf-sticky-add,
.nlf-sticky-buy,
.single-product-widget .btn,
.single-product-widget button,
.checkout_submit_btn,
.checkout-button,
.basicbtn,
.bigbag_btn-custom.primary,
.button.alt {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

.product-filter .custom-select,
.checkout input,
.checkout select,
.checkout textarea,
#coupon_code,
.form-control {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 500 !important;
}

.nlf-product-info del,
.nlf-product-info p,
.product-parent .product-rating li,
.product-price span,
.nlf-muted,
.bigbag_notice {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 400 !important;
}

body {
  background: var(--nlf-bg) !important;
  color: var(--nlf-text);
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-feature-settings: "ss01","cv11";
  letter-spacing: 0;
}

h1, h2, h3, .nlf-logo strong {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  letter-spacing: 0;
}

.container, .nlf-wrap {
  max-width: 1180px;
}

.nlf-wrap {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.nlf-site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff !important;
  border-bottom: 1px solid var(--nlf-line);
  isolation: isolate;
}

.nlf-delivery-bar {
  position: relative;
  z-index: 6;
  height: 36px;
  background: var(--nlf-leaf);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
}

.nlf-mobile-head,
.nlf-mobile-location,
.nlf-mobile-chipbar {
  display: none;
}

.nlf-mobile-head,
.nlf-mobile-location,
.nlf-mobile-chipbar,
.nlf-desktop-head {
  position: relative;
  z-index: 5;
  background: #fff;
}

.nlf-desktop-head .nlf-wrap {
  height: 80px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.nlf-logo {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--nlf-plum);
  text-decoration: none !important;
  overflow: hidden;
}

.nlf-logo-mark {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  display: block;
  border-radius: 0;
  background: url("../nlf/logo.png") center / contain no-repeat;
  font-size: 0;
  color: transparent;
}

.nlf-logo span {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.nlf-logo strong {
  font-size: 22px;
  font-weight: 800;
  color: var(--nlf-plum);
}

.nlf-logo em {
  margin-top: 5px;
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .24em;
  color: var(--nlf-leaf);
}

.nlf-location {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  border: 0;
  border-left: 1px solid var(--nlf-line);
  background: transparent;
  padding: 0 12px 0 16px;
  color: var(--nlf-text);
  font-size: 12px;
}

.nlf-location i,
.nlf-mobile-location i {
  color: var(--nlf-rose);
}

.nlf-location strong {
  color: var(--nlf-rose);
  font-size: 12px;
}

.nlf-search {
  position: relative;
  flex: 1;
  max-width: 640px;
}

.nlf-search input {
  width: 100%;
  height: 44px;
  border-radius: 6px;
  border: 1px solid var(--nlf-line);
  background: var(--nlf-muted-bg);
  padding: 0 48px 0 44px;
  font-size: 14px;
  color: var(--nlf-text);
}

.nlf-search input:focus {
  outline: none;
  border-color: var(--nlf-rose);
  background: #fff;
}

.nlf-search > i,
.nlf-search button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--nlf-muted);
}

.nlf-search > i {
  left: 16px;
}

.nlf-search button {
  right: 14px;
  border: 0;
  background: transparent;
}

.nlf-actions {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-left: auto;
}

.nlf-actions a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: var(--nlf-text);
  font-size: 11px;
  text-decoration: none !important;
}

.nlf-actions i {
  font-size: 18px;
}

.nlf-actions a:hover {
  color: var(--nlf-rose);
}

.nlf-actions sup,
.nlf-cart-count {
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--nlf-rose);
  color: #fff;
  font-size: 10px;
  line-height: 17px;
  text-align: center;
}

.nlf-actions sup {
  position: absolute;
  top: -8px;
  right: 8px;
}

.nlf-menu-wrap {
  border-top: 1px solid var(--nlf-line);
}

.nlf-menu {
  width: min(1180px, calc(100% - 32px));
  height: 44px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow: visible;
}

.nlf-menu-item {
  position: relative;
  height: 44px;
}

.nlf-menu-item > a {
  height: 44px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 11px;
  border-radius: 5px;
  color: var(--nlf-plum);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none !important;
}

.nlf-menu-item > a i {
  font-size: 10px;
  opacity: .6;
}

.nlf-menu-item:hover > a {
  color: var(--nlf-rose);
}

.nlf-mega {
  position: absolute;
  left: 0;
  top: 44px;
  width: 520px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--nlf-line);
  border-radius: 6px;
  box-shadow: var(--nlf-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .18s ease;
}

.nlf-menu-item:hover .nlf-mega {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nlf-mega strong {
  display: block;
  margin-bottom: 8px;
  color: var(--nlf-rose);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.nlf-mega a {
  display: block;
  margin: 7px 0;
  color: var(--nlf-text);
  font-size: 14px;
  text-decoration: none !important;
}

.nlf-support-bar {
  background: rgba(247, 240, 243, .7);
  border-bottom: 1px solid var(--nlf-line);
  font-size: 12px;
}

.nlf-support-bar .nlf-wrap {
  height: 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nlf-support-bar span {
  color: var(--nlf-text);
}

.nlf-support-bar i {
  color: var(--nlf-rose);
}

.nlf-support-bar nav {
  display: flex;
  gap: 18px;
}

.nlf-support-bar a {
  color: var(--nlf-muted);
  text-decoration: none !important;
}

.nlf-page {
  position: relative;
  z-index: 1;
}

.nlf-page section {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.nlf-banner-strip {
  padding-top: 20px;
}

.nlf-scroll-row {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.nlf-scroll-row::-webkit-scrollbar {
  display: none;
}

.nlf-banner-card {
  position: relative;
  isolation: isolate;
  flex: 0 0 58%;
  aspect-ratio: 2.4 / 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border-radius: 16px;
  color: var(--nlf-plum);
  scroll-snap-align: start;
  text-decoration: none !important;
}

.nlf-banner-card div {
  position: relative;
  z-index: 2;
  padding: 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nlf-banner-card small,
.nlf-section-head small,
.nlf-trending small {
  color: rgba(75, 23, 74, .7);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
}

.nlf-banner-card h1,
.nlf-banner-card h2 {
  margin: 10px 0 20px;
  color: var(--nlf-plum);
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.05;
  font-weight: 800;
}

.nlf-banner-card span,
.nlf-trending a {
  width: fit-content;
  border-radius: 999px;
  background: var(--nlf-rose);
  color: #fff;
  padding: 10px 22px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nlf-banner-card img {
  position: relative;
  z-index: 1;
  max-width: none !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
}

.nlf-banner-card:hover img {
  transform: scale(1.05);
}

.nlf-banner-pink { background: linear-gradient(135deg, #ffe4ec, #ffd1de); }
.nlf-banner-blush { background: linear-gradient(135deg, #fff0f5, #ffe0eb); }
.nlf-banner-gold { background: linear-gradient(135deg, #fff8dc, #ffefc2); }

.nlf-quick-tabs {
  padding: 18px 0 4px;
}

.nlf-quick-tabs a {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--nlf-line);
  padding: 10px 18px;
  color: var(--nlf-plum);
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(75, 23, 74, .07);
}

.nlf-promises {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  overflow: hidden;
  margin-top: 18px;
  border: 1px solid var(--nlf-line);
  border-radius: 12px;
  background: var(--nlf-line);
}

.nlf-promises div {
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  background: #fff;
  padding: 16px;
  text-align: center;
}

.nlf-promises i {
  color: var(--nlf-rose);
  font-size: 20px;
}

.nlf-promises strong {
  color: var(--nlf-plum);
  font-size: 14px;
}

.nlf-promises span {
  color: var(--nlf-muted);
  font-size: 12px;
}

.nlf-trending {
  margin-top: 26px;
  display: grid;
  grid-template-columns: 280px 1fr;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff0f5, #ffe1ec);
  border: 1px solid var(--nlf-line);
}

.nlf-trending > div {
  padding: 28px;
  background: var(--nlf-plum);
  color: #fff;
}

.nlf-trending small {
  color: var(--nlf-gold);
}

.nlf-trending h2 {
  margin: 10px 0;
  color: #fff;
  font-size: 38px;
  line-height: 1.05;
}

.nlf-trending p {
  margin-bottom: 18px;
  color: rgba(255,255,255,.8);
}

.nlf-trending nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--nlf-line);
}

.nlf-trending nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 86px;
  background: rgba(255,255,255,.82);
  color: var(--nlf-plum);
  font-weight: 800;
  text-decoration: none !important;
}

.nlf-collection,
.nlf-products,
.nlf-editorials {
  margin-top: 34px;
}

.nlf-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.nlf-section-head h2 {
  margin: 4px 0;
  color: var(--nlf-plum);
  font-size: 34px;
}

.nlf-section-head p {
  margin: 0;
  color: var(--nlf-muted);
}

.nlf-section-head > a {
  color: var(--nlf-rose);
  font-weight: 800;
  text-decoration: none !important;
}

.nlf-circle-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 16px;
}

.nlf-circle-row a {
  min-width: 0;
  color: var(--nlf-plum);
  text-align: center;
  text-decoration: none !important;
}

.nlf-circle-row span {
  width: 112px;
  height: 112px;
  max-width: 100%;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 25%, #fff 0 22%, #ffe0eb 23% 64%, #ffc4d6 65%);
  border: 1px solid var(--nlf-line);
  color: var(--nlf-rose);
  font: 800 38px "Poppins", Arial, Helvetica, sans-serif;
  box-shadow: 0 12px 28px rgba(224, 68, 109, .14);
}

.nlf-occasion-circles {
  grid-template-columns: repeat(10, 1fr);
}

.nlf-occasion-circles span {
  width: 88px;
  height: 88px;
  font-size: 30px;
}

.nlf-circle-row strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
}

.nlf-product-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.nlf-product-card {
  overflow: hidden;
  border: 1px solid var(--nlf-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(75, 23, 74, .06);
}

.nlf-product-img {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f7edf2;
}

.nlf-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.nlf-product-card:hover img {
  transform: scale(1.06);
}

.nlf-product-img b {
  position: absolute;
  top: 10px;
  left: 10px;
  border-radius: 999px;
  background: var(--nlf-gold);
  color: var(--nlf-plum);
  padding: 5px 8px;
  font-size: 11px;
}

.nlf-product-img em {
  position: absolute;
  left: 10px;
  bottom: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--nlf-plum);
  padding: 5px 8px;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
}

.nlf-product-info {
  padding: 12px;
}

.nlf-product-info > span {
  color: var(--nlf-rose);
  font-size: 11px;
  font-weight: 800;
}

.nlf-product-info h3 {
  min-height: 42px;
  margin: 5px 0 8px;
  font-size: 15px;
  line-height: 1.35;
}

.nlf-product-info h3 a {
  color: var(--nlf-text);
  text-decoration: none !important;
}

.nlf-product-info p {
  margin: 0 0 8px;
  color: var(--nlf-muted);
  font-size: 12px;
}

.nlf-product-info p i {
  color: var(--nlf-gold);
}

.nlf-product-info div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.nlf-product-info strong {
  color: var(--nlf-plum);
  font-size: 18px;
}

.nlf-product-info del {
  color: var(--nlf-muted);
  font-size: 13px;
}

.nlf-product-info button,
.nlf-fake-add {
  width: 100%;
  height: 38px;
  margin-top: 12px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: var(--nlf-rose);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none !important;
}

.nlf-editorials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  padding-bottom: 38px;
}

.nlf-editorials a {
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 14px;
  padding: 24px;
  color: #fff;
  background: linear-gradient(135deg, rgba(75,23,74,.95), rgba(224,68,109,.86)), url("../nlf/hero-bouquet.jpg") center/cover;
  text-decoration: none !important;
  box-shadow: var(--nlf-shadow);
}

.nlf-editorials small {
  color: rgba(255,255,255,.78);
}

.nlf-editorials strong {
  font: 800 28px "Poppins", Arial, Helvetica, sans-serif;
}

.nlf-editorials span {
  margin-top: 8px;
  color: var(--nlf-gold);
  font-weight: 800;
}

.nlf-cart-drawer .right-sidebar-group {
  width: min(430px, 100vw);
  background: #fffaf7;
}

.nlf-cart-drawer .sidebar-logo img {
  width: 46px;
}

.nlf-cart-drawer .cart-item {
  border: 1px solid var(--nlf-line);
  border-radius: 8px;
  background: #fff;
  margin-bottom: 12px;
}

.nlf-cart-drawer .cart-img img {
  border-radius: 7px;
}

.sidebar-part,
.right-sidebar {
  position: fixed !important;
}

.sidebar-part {
  inset: 0 auto 0 0;
  z-index: 1000;
  width: 100%;
  height: 100vh !important;
  pointer-events: none;
  transform: translateX(-100%);
  transition: transform .2s ease;
}

.sidebar-part.active {
  pointer-events: auto;
  transform: translateX(0);
}

.sidebar-body {
  height: 100%;
  background: #fff;
}

.nlf-mobile-cart-cta,
.nlf-mobile-footer {
  display: none;
}

.nlf-party {
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
  overflow: hidden;
}

.nlf-confetti {
  position: absolute;
  top: -16px;
  width: 10px;
  height: 18px;
  border-radius: 2px;
  animation: nlfConfetti 1.35s ease-out forwards;
}

@keyframes nlfConfetti {
  to { transform: translateY(105vh) rotate(620deg); opacity: 0; }
}

@media (max-width: 991px) {
  body {
    padding-bottom: 84px !important;
  }

  .nlf-desktop-head,
  .nlf-support-bar {
    display: none;
  }

  .nlf-mobile-head {
    height: 56px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border-bottom: 1px solid var(--nlf-line);
    overflow: hidden;
  }

  .nlf-mobile-head .nlf-logo {
    margin-right: auto;
    min-width: 0;
    max-width: 210px;
  }

  .nlf-mobile-head .nlf-logo-mark {
    flex-basis: 38px;
    width: 38px;
    min-width: 38px;
    max-width: 38px;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
  }

  .nlf-mobile-head .nlf-logo strong {
    font-size: 17px;
  }

  .nlf-mobile-head .nlf-logo em {
    font-size: 8px;
  }

  .nlf-icon-btn {
    position: relative;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--nlf-plum);
    font-size: 19px;
  }

  .nlf-icon-btn sup {
    position: absolute;
    top: 3px;
    right: 3px;
  }

  .nlf-mobile-location {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px 9px;
    font-size: 12px;
  }

  .nlf-mobile-location span {
    color: var(--nlf-muted);
  }

  .nlf-mobile-location button {
    border: 0;
    background: transparent;
    color: var(--nlf-rose);
    font-weight: 800;
  }

  .nlf-mobile-chipbar {
    display: flex;
    gap: 5px;
    overflow-x: auto;
    padding: 0 12px 10px;
    scrollbar-width: none;
  }

  .nlf-mobile-chipbar::-webkit-scrollbar {
    display: none;
  }

  .nlf-mobile-chipbar a {
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--nlf-muted-bg);
    color: var(--nlf-plum);
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
  }

  .nlf-page section {
    width: 100%;
  }

  .nlf-banner-strip {
    padding: 12px 0 0;
  }

  .nlf-banner-strip .nlf-scroll-row,
  .nlf-quick-tabs .nlf-scroll-row {
    padding: 0 12px;
  }

  .nlf-banner-card {
    flex-basis: 88vw;
    display: block;
    aspect-ratio: 4 / 3;
    color: #fff !important;
    background: var(--nlf-plum);
  }

  .nlf-banner-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.24), transparent);
  }

  .nlf-banner-card div {
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: 20px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
  }

  .nlf-banner-card small,
  .nlf-banner-card h1,
  .nlf-banner-card h2 {
    color: #fff;
  }

  .nlf-banner-card h1,
  .nlf-banner-card h2 {
    font-size: 27px;
    margin-bottom: 12px;
  }

  .nlf-banner-card img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-position: center;
  }

  .nlf-quick-tabs {
    padding-top: 12px;
  }

  .nlf-quick-tabs a {
    padding: 9px 14px;
    font-size: 13px;
  }

  .nlf-promises {
    width: calc(100% - 24px) !important;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 14px;
  }

  .nlf-promises div:last-child {
    grid-column: span 2;
  }

  .nlf-trending {
    width: calc(100% - 24px) !important;
    grid-template-columns: 1fr;
    margin-top: 20px;
  }

  .nlf-trending nav {
    grid-template-columns: repeat(2, 1fr);
  }

  .nlf-collection,
  .nlf-products,
  .nlf-editorials {
    width: calc(100% - 24px) !important;
    margin-top: 26px;
  }

  .nlf-section-head h2 {
    font-size: 28px;
  }

  .nlf-circle-row,
  .nlf-occasion-circles {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .nlf-circle-row::-webkit-scrollbar {
    display: none;
  }

  .nlf-circle-row a {
    flex: 0 0 86px;
  }

  .nlf-circle-row span,
  .nlf-occasion-circles span {
    width: 78px;
    height: 78px;
    font-size: 28px;
  }

  .nlf-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .nlf-product-info h3 {
    font-size: 14px;
  }

  .nlf-editorials {
    grid-template-columns: 1fr;
    padding-bottom: 22px;
  }

  .nlf-mobile-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 998;
    height: 66px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid var(--nlf-line);
    background: #fff;
    box-shadow: 0 -5px 20px rgba(0,0,0,.08);
  }

  .nlf-mobile-footer a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    color: var(--nlf-plum);
    font-size: 10px;
    font-weight: 700;
    text-decoration: none !important;
  }

  .nlf-mobile-footer i {
    font-size: 19px;
  }

  .nlf-footer-cart {
    margin-top: -23px;
  }

  .nlf-footer-cart span {
    position: relative;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--nlf-rose);
    color: #fff;
    box-shadow: 0 12px 28px rgba(224,68,109,.32);
  }

  .nlf-footer-cart span i {
    color: #fff;
  }

  .nlf-footer-cart sup {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--nlf-gold) !important;
    color: var(--nlf-plum) !important;
    border: 2px solid #fff;
  }

  .nlf-footer-cart em {
    color: var(--nlf-plum);
    font-style: normal;
  }

  .nlf-mobile-cart-cta {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 74px;
    z-index: 997;
    height: 46px;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 999px;
    background: var(--nlf-plum);
    color: #fff !important;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: var(--nlf-shadow);
  }

  .nlf-mobile-cart-cta.is-visible {
    display: flex;
  }

  .nlf-mobile-cart-cta em {
    min-width: 20px;
    height: 20px;
    background: var(--nlf-gold) !important;
    color: var(--nlf-plum) !important;
    font-style: normal;
    line-height: 20px;
  }

  footer,
  .footer-part,
  .btmbar-part {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .nlf-actions {
    gap: 10px;
  }

  .nlf-actions a:nth-child(3),
  .nlf-actions a:nth-child(6) {
    display: none;
  }

  .nlf-product-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* NLF page system for shop, detail, cart and checkout */
.single-banner {
  width: min(1180px, calc(100% - 32px));
  margin: 24px auto 0;
  padding: 34px;
  border: 1px solid var(--nlf-line);
  border-radius: 24px;
  background: linear-gradient(135deg, oklch(96% .04 25), oklch(94% .05 350) 52%, oklch(95% .04 60));
  box-shadow: var(--nlf-shadow);
}
.single-banner .container,
.product-list .container,
.single-product .container,
.details-part .container,
.related-part .container,
.new-part .container,
.site-main .container,
.checkout_form .container { max-width: none; padding: 0; }
.single-content h2 { margin: 0; color: var(--nlf-plum); font: 700 36px/1.1 "Poppins", Arial, Helvetica, sans-serif; }
.single-content .breadcrumb { margin: 10px 0 0; padding: 0; background: transparent; font-size: 13px; }
.single-content .breadcrumb a,
.single-content .breadcrumb-item.active { color: var(--nlf-muted); }
.product-list,
.single-product,
.details-part,
.related-part,
.new-part,
.site-main,
.checkout_form .section { width: min(1180px, calc(100% - 32px)); margin: 28px auto 0; }
.product-list-bar,
.product-filter,
.single-product-info,
.details-part .container,
.related-part .container,
.new-part .container,
.bigbag-cart-form,
.cart_totals,
.checkout_form .col-xl-7,
.checkout-billing {
  border: 1px solid var(--nlf-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--nlf-shadow);
}
.product-list-bar { padding: 18px; margin-bottom: 16px; }
.product-list-bar h4,
.checkout_form h4,
.cart_totals h2,
.bigbag-checkout-payment h6 { color: var(--nlf-plum); font: 700 22px/1.2 "Poppins", Arial, Helvetica, sans-serif; }
.product-list-bar li { margin: 9px 0; }
.product-list-bar label { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--nlf-text); cursor: pointer; }
.product-filter { min-height: 64px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.product-filter p { margin: 0; color: var(--nlf-muted); font-size: 13px; }
.custom-select,
.form-control,
.checkout_form input,
.checkout_form textarea,
.checkout_form select,
#coupon_code {
  min-height: 46px;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 10px !important;
  background: var(--nlf-muted-bg) !important;
  color: var(--nlf-text) !important;
  box-shadow: none !important;
}
.product-parent,
.preload_area { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.product-card {
  overflow: hidden;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: var(--nlf-shadow) !important;
}
.product-card .product-img { position: relative; aspect-ratio: 1 / 1; background: var(--nlf-chip); overflow: hidden; }
.product-card .product-img img { width: 100%; height: 100%; object-fit: cover; }
.new-badge { position: absolute; top: 10px; left: 10px; border-radius: 999px; background: var(--nlf-gold); color: var(--nlf-plum); padding: 5px 9px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.product-widget { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 8px; }
.product-widget a,
.wishlist-icon,
.round-icon a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--nlf-plum) !important;
  box-shadow: 0 10px 24px oklch(32% .12 320 / .14);
}
.product-name,
.product-price,
.product-content { padding: 0 14px; }
.product-content { padding-top: 14px; }
.product-cate p,
.product-price span,
.single-product-describe,
.details-descrip,
.bigbag_notice { color: var(--nlf-muted); }
.product-name h3 { min-height: 42px; margin: 6px 0; color: var(--nlf-text); font: 600 15px/1.35 "Poppins", Arial, Helvetica, sans-serif; }
.product-price { padding-bottom: 14px; }
.product-price p,
.single-product-price h3,
.bigbag-Price-amount,
.total_cost_amount { color: var(--nlf-plum) !important; font-weight: 800; }
.product-rating i { color: var(--nlf-gold); }
.single-product .row { row-gap: 24px; }
.xzoom-container { padding: 0 !important; }
.xzoom4,
.single-product-slider img,
.xzoom-container > img {
  width: 100% !important;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 24px !important;
  background: var(--nlf-chip);
  box-shadow: var(--nlf-bloom-shadow);
}
.xzoom-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.xzoom-thumbs img { width: 72px !important; height: 72px; border-radius: 14px; object-fit: cover; border: 1px solid var(--nlf-line); }
.single-product-info { padding: 28px; }
.single-product-name h3 { color: var(--nlf-plum); font: 700 40px/1.08 "Poppins", Arial, Helvetica, sans-serif; }
.product-quantity ul,
.single-product-widget ul { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 0; }
.product-quantity input[type="number"] { width: 84px; height: 46px; border: 1px solid var(--nlf-line); border-radius: 12px; text-align: center; }
.btn-outline,
.bigbag_btn-custom,
.checkout-button,
.button,
.review_btn,
.submit_btn,
.submit_btn_buy_now {
  min-height: 44px;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--nlf-rose) !important;
  color: #fff !important;
  padding: 12px 22px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none !important;
}
.submit_btn_buy_now { background: var(--nlf-plum) !important; }
.attribute,
.selectgroup-button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  border: 1px solid var(--nlf-line);
  border-radius: 999px;
  padding: 8px 14px;
  background: #fff;
  color: var(--nlf-plum);
  cursor: pointer;
}
.attribute.active,
.option.active .selectgroup-button { border-color: var(--nlf-rose); background: var(--nlf-chip); color: var(--nlf-rose); }
.details-part .container,
.related-part .container,
.new-part .container { padding: 28px; }
.section-heading h2,
.details-menu a { color: var(--nlf-plum); font-family: "Poppins", Arial, Helvetica, sans-serif; }
.bigbag-cart-form,
.cart_totals { padding: 18px; }
.shop_table,
.bigbag_responsive-table { width: 100%; border-collapse: separate; border-spacing: 0 10px; }
.shop_table thead th,
.bigbag_responsive-table thead th { color: var(--nlf-muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.shop_table td,
.shop_table th,
.bigbag_responsive-table td,
.bigbag_responsive-table th { border: 0 !important; padding: 12px !important; vertical-align: middle !important; }
.product-thumbnail img,
.bigbag_cart-product-wrapper img { width: 76px; height: 76px; object-fit: cover; border-radius: 14px; }
.product-remove .remove { color: var(--nlf-rose) !important; font-size: 28px; text-decoration: none !important; }
.cart_totals table { width: 100%; }
.bigbag-proceed-to-checkout .checkout-button { width: 100%; display: grid; place-items: center; margin-top: 14px; }
.checkout_form .col-xl-7,
.checkout-billing { padding: 24px; }
.bigbag_notice { border: 1px solid var(--nlf-line); border-radius: 14px; background: var(--nlf-chip); padding: 12px 14px; margin-bottom: 14px; }
.wc_payment_methods { padding: 0; margin: 0; }
.wc_payment_method { margin-top: 10px; border: 1px solid var(--nlf-line); border-radius: 14px; padding: 12px; background: #fff; }
.right-sidebar.nlf-cart-drawer {
  z-index: 2000 !important;
  display: block !important;
  background: oklch(22% .06 320 / .44) !important;
}
.right-sidebar.nlf-cart-drawer .right-sidebar-cover {
  inset: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  background: transparent !important;
  overflow: hidden !important;
  right: auto !important;
}
.right-sidebar.nlf-cart-drawer .right-sidebar-group {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(430px, 100vw);
  height: 100vh;
  overflow-y: auto;
  transform: translateX(105%);
  transition: transform .28s ease;
}
.right-sidebar.nlf-cart-drawer.active,
.right-sidebar.nlf-cart-drawer.nlf-active { visibility: visible !important; opacity: 1 !important; }
.right-sidebar.nlf-cart-drawer.active .right-sidebar-group,
.right-sidebar.nlf-cart-drawer.nlf-active .right-sidebar-group { transform: translateX(0); }
.nlf-footer { margin-top: 96px; padding: 64px 0 0; background: var(--nlf-plum); color: oklch(98.5% .012 60); }
.nlf-footer-grid { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 40px; }
.nlf-footer .nlf-logo strong,
.nlf-footer .nlf-logo em,
.nlf-footer h4 { color: var(--nlf-gold); }
.nlf-footer-brand p { max-width: 360px; margin-top: 20px; color: rgba(255,255,255,.7); line-height: 1.65; }
.nlf-footer h4 { margin-bottom: 16px; font: 700 20px "Poppins", Arial, Helvetica, sans-serif; }
.nlf-footer a { display: block; margin: 10px 0; color: rgba(255,255,255,.72); text-decoration: none !important; }
.nlf-socials { display: flex; gap: 12px; margin-top: 24px; }
.nlf-socials a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.nlf-footer-bottom { margin-top: 54px; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 18px; color: rgba(255,255,255,.55); font-size: 12px; }
.nlf-footer-bottom nav { display: flex; gap: 20px; }
.nlf-footer-bottom a { margin: 0; }

@media (max-width: 991px) {
  .single-banner { width: calc(100% - 24px); padding: 22px; border-radius: 20px; }
  .single-content h2 { font-size: 30px; }
  .product-list,
  .single-product,
  .details-part,
  .related-part,
  .new-part,
  .site-main,
  .checkout_form .section { width: calc(100% - 24px); }
  .product-parent,
  .preload_area { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .product-filter { align-items: flex-start; flex-direction: column; }
  .single-product-info { padding: 20px; }
  .single-product-name h3 { font-size: 31px; }
  .shop_table thead { display: none; }
  .shop_table tr,
  .shop_table td { display: block; width: 100%; }
  .shop_table tr { border: 1px solid var(--nlf-line); border-radius: 16px; margin-bottom: 14px; }
  .nlf-footer { display: block !important; margin-bottom: 76px; padding-top: 42px; }
  .nlf-footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .nlf-footer-bottom { flex-direction: column; }
}

/* Force storefront typography to Poppins while preserving icon fonts. */
body,
body *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]) {
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  letter-spacing: 0;
}

/* Lovable parity tightening */
.nlf-site-header { box-shadow: none !important; }
.nlf-delivery-bar { height: 36px; font-size: 12px; }
.nlf-desktop-head .nlf-wrap { width: min(1180px, calc(100% - 32px)); height: 80px; }
.nlf-logo-mark { width: 56px; height: 56px; flex-basis: 56px; }
.nlf-menu { width: min(1180px, calc(100% - 32px)); justify-content: space-between; gap: 0; }
.nlf-support-bar .nlf-wrap { width: min(1180px, calc(100% - 32px)); }
.nlf-page section { width: min(1180px, calc(100% - 32px)); }
.nlf-banner-strip { padding-top: 20px; }
.nlf-banner-card { flex-basis: 58%; border-radius: 16px; box-shadow: none; }
.nlf-banner-card div { padding: 38px; }
.nlf-banner-card h1,
.nlf-banner-card h2 { font-size: clamp(30px, 3.15vw, 46px); line-height: 1.05; }
.nlf-promises { border-radius: 12px; margin-top: 18px; }
.nlf-trending { grid-template-columns: 280px 1fr; border-radius: 16px; }
.nlf-trending nav a { border-radius: 999px; margin: 0; min-height: 150px; background: rgba(255,255,255,.72); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.nlf-product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.nlf-product-card { border-radius: 8px; box-shadow: 0 10px 24px rgba(75,23,74,.06); }
.nlf-product-img { background: #f7edf2; }
.nlf-editorials a { border-radius: 14px; }

.single-banner { margin-top: 24px; padding: 34px; border-radius: 24px; box-shadow: 0 10px 40px -15px oklch(32% .12 320 / .18); text-align: center; }
.product-list,
.single-product,
.details-part,
.site-main,
.checkout_form .section { margin-top: 28px; }
.product-list > .container > .row { align-items: flex-start; }
.product-list .col-lg-3 { max-width: 280px; flex: 0 0 280px; }
.product-list .col-lg-9 { max-width: calc(100% - 280px); flex: 0 0 calc(100% - 280px); }
.product-list-bar,
.product-filter,
.single-product-info,
.details-part .container,
.bigbag-cart-form,
.cart_totals,
.checkout_form .col-xl-7,
.checkout-billing { border-radius: 16px; box-shadow: 0 10px 40px -15px oklch(32% .12 320 / .18); }
.product-parent,
.preload_area { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.product-card { border-radius: 8px !important; overflow: hidden; box-shadow: 0 10px 24px rgba(75,23,74,.06) !important; }
.product-card .product-img { aspect-ratio: 1 / 1; background: #f7edf2; }
.product-card .product-content { padding-top: 12px; }
.product-cate p { color: var(--nlf-rose); font-size: 11px; font-weight: 800; }
.product-name h3 { min-height: 42px; font-size: 15px; font-weight: 600; color: var(--nlf-text); }
.product-price { display: flex; align-items: center; justify-content: space-between; }
.product-price p { font-size: 18px; color: var(--nlf-plum) !important; }
.product-widget { opacity: 1 !important; bottom: 10px !important; }
.product-widget a { width: 36px; height: 36px; background: #fff; color: var(--nlf-plum) !important; }
.nlf-detail-gallery img,
.single-product-slider img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px !important; box-shadow: var(--nlf-bloom-shadow); }
.nlf-detail-thumbs { display: flex !important; gap: 10px; margin-top: 12px; }
.nlf-detail-thumbs img { width: 72px !important; height: 72px !important; border-radius: 14px !important; object-fit: cover; }
.single-product-info { padding: 28px; }
.single-product-name h3 { font-size: 40px; line-height: 1.08; }
.single-product-widget h5 { color: var(--nlf-plum); font-weight: 800; }
.single-product-widget .text-dark { color: var(--nlf-rose) !important; font-weight: 700; }
.details-menu .nav-tabs { border: 0; gap: 10px; }
.details-menu .nav-link { border: 1px solid var(--nlf-line) !important; border-radius: 999px !important; padding: 10px 18px; }
.details-menu .nav-link.active { background: var(--nlf-chip) !important; color: var(--nlf-rose) !important; }
.bigbag-cart-form table thead,
.shop_table thead { background: var(--nlf-chip); }
.cart_totals h2 { background: var(--nlf-plum); color: var(--nlf-gold); padding: 24px; margin: -18px -18px 18px; border-radius: 14px 14px 0 0; text-align: center; }
.checkout_form .row { align-items: stretch; }
.checkout_form .col-xl-7,
.checkout-billing { background: #fff; }
.checkout_form label { font-weight: 500; color: var(--nlf-text); }

@media (max-width: 991px) {
  .nlf-mobile-head { height: 56px; padding-inline: 12px; }
  .nlf-logo-mark { width: 36px; height: 36px; flex-basis: 36px; }
  .nlf-logo strong { font-size: 16px; }
  .nlf-logo em { font-size: 8px; letter-spacing: .2em; }
  .nlf-banner-strip { width: 100% !important; padding-top: 12px; }
  .nlf-banner-card { flex: 0 0 88vw; aspect-ratio: 4 / 3; display: block; }
  .nlf-banner-card img { position: absolute; inset: 0; }
  .nlf-banner-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.3), transparent); }
  .nlf-banner-card div { position: absolute; inset: 0; justify-content: flex-end; padding: 20px; color: #fff; }
  .nlf-banner-card small,
  .nlf-banner-card h1,
  .nlf-banner-card h2 { color: #fff; }
  .nlf-banner-card h1,
  .nlf-banner-card h2 { font-size: 24px; max-width: 280px; }
  .nlf-promises { grid-template-columns: repeat(2, 1fr); }
  .nlf-trending { grid-template-columns: 1fr; }
  .nlf-trending nav { grid-template-columns: repeat(2, 1fr); }
  .nlf-trending nav a { min-height: 76px; border-radius: 0; }
  .nlf-product-grid,
  .product-parent,
  .preload_area { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .product-list .col-lg-3,
  .product-list .col-lg-9 { max-width: 100%; flex: 0 0 100%; }
  .product-list-bar.bran { display: none; }
  .single-banner { margin-top: 24px; padding: 24px; }
  .single-product-name h3 { font-size: 28px; }
  .checkout_form .col-xl-7,
  .checkout-billing { padding: 22px; }
}

/* Fix Birthday Bonanza mobile card to match the reference structure. */
@media (max-width: 991px) {
  .nlf-trending {
    width: calc(100% - 24px) !important;
    margin: 20px auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    border: 1px solid var(--nlf-line) !important;
    background: #eadde5 !important;
  }

  .nlf-trending > div {
    min-height: 198px !important;
    padding: 24px 20px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    background: var(--nlf-plum) !important;
    color: #fff !important;
  }

  .nlf-trending > div small {
    display: block !important;
    margin: 0 0 10px !important;
    color: var(--nlf-gold) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
  }

  .nlf-trending > div h2 {
    display: block !important;
    margin: 0 0 8px !important;
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1.04 !important;
    font-weight: 800 !important;
  }

  .nlf-trending > div p {
    display: block !important;
    margin: 0 0 18px !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .nlf-trending > div a {
    position: static !important;
    width: auto !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 26px !important;
    border-radius: 999px !important;
    background: var(--nlf-rose) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  .nlf-trending nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 18px !important;
    background: #eadde5 !important;
  }

  .nlf-trending nav a {
    min-height: 52px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.92) !important;
    color: var(--nlf-plum) !important;
    box-shadow: 0 8px 18px rgba(75,23,74,.06) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }
}

/* Reference-match the post-hero category tiles and promise list. */
.nlf-image-tabs {
  padding: 22px 0 10px !important;
}

.nlf-image-tabs .nlf-scroll-row {
  gap: 16px !important;
  align-items: flex-start !important;
}

.nlf-image-tabs a {
  flex: 0 0 96px !important;
  width: 96px !important;
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--nlf-plum) !important;
  text-align: center !important;
  text-decoration: none !important;
}

.nlf-image-tabs a img {
  width: 80px !important;
  height: 80px !important;
  margin: 0 auto 8px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid var(--nlf-line) !important;
  box-shadow: 0 8px 20px rgba(75,23,74,.08) !important;
}

.nlf-image-tabs a span {
  display: block !important;
  color: var(--nlf-plum) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.nlf-promises {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nlf-promises div {
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: 36px 1fr !important;
  grid-template-areas: "icon title" "icon text" !important;
  column-gap: 10px !important;
  align-items: center !important;
  justify-content: start !important;
  padding: 14px 12px !important;
  background: transparent !important;
  text-align: left !important;
}

.nlf-promises i {
  grid-area: icon !important;
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--nlf-rose) !important;
  font-size: 14px !important;
}

.nlf-promises strong {
  grid-area: title !important;
  color: var(--nlf-plum) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.nlf-promises span {
  grid-area: text !important;
  color: var(--nlf-muted) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

@media (max-width: 991px) {
  .nlf-image-tabs {
    width: 100% !important;
    padding: 22px 0 14px !important;
  }

  .nlf-image-tabs .nlf-scroll-row {
    padding: 0 16px !important;
    gap: 16px !important;
  }

  .nlf-image-tabs a {
    flex-basis: 80px !important;
    width: 80px !important;
  }

  .nlf-image-tabs a img {
    width: 76px !important;
    height: 76px !important;
  }

  .nlf-image-tabs a span {
    font-size: 11px !important;
  }

  .nlf-promises {
    width: calc(100% - 24px) !important;
    margin: 14px auto 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 !important;
  }

  .nlf-promises div {
    padding: 9px 4px !important;
    grid-template-columns: 36px 1fr !important;
    column-gap: 9px !important;
  }

  .nlf-promises div:last-child {
    grid-column: auto !important;
  }
}

/* Keep promise labels compact like the Lovable mobile reference. */
@media (max-width: 991px) {
  .nlf-promises div {
    grid-template-columns: 32px 1fr !important;
    column-gap: 8px !important;
  }

  .nlf-promises i {
    width: 32px !important;
    height: 32px !important;
    font-size: 13px !important;
  }

  .nlf-promises strong {
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .nlf-promises span {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
}

/* Mobile menu drawer and cart drawer polish. */
.sidebar-part {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2100 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: oklch(22% .06 320 / .42) !important;
  transition: opacity .22s ease, visibility .22s ease !important;
}

.sidebar-part.active,
.sidebar-part.nlf-active {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.sidebar-part .sidebar-cover {
  position: absolute !important;
  inset: 0 !important;
  background: transparent !important;
}

.sidebar-part .sidebar-body {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  width: min(330px, 88vw) !important;
  height: 100dvh !important;
  padding: 18px !important;
  overflow-y: auto !important;
  background: var(--nlf-bg) !important;
  border-right: 1px solid var(--nlf-line) !important;
  box-shadow: 20px 0 60px rgba(75,23,74,.2) !important;
  transform: translateX(-105%) !important;
  transition: transform .28s ease !important;
}

.sidebar-part.active .sidebar-body,
.sidebar-part.nlf-active .sidebar-body {
  transform: translateX(0) !important;
}

.sidebar-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--nlf-line) !important;
}

.sidebar-cross,
.right-cross {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
}

.sidebar-menu .list-group {
  margin-top: 18px !important;
  gap: 8px !important;
}

.sidebar-menu .list-group-item {
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  font-weight: 700 !important;
}

.right-sidebar.nlf-cart-drawer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2200 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: oklch(22% .06 320 / .42) !important;
  transition: opacity .22s ease, visibility .22s ease !important;
}

.right-sidebar.nlf-cart-drawer.active,
.right-sidebar.nlf-cart-drawer.nlf-active {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.right-sidebar.nlf-cart-drawer .right-sidebar-group {
  position: fixed !important;
  inset: 0 0 0 auto !important;
  width: min(420px, 100vw) !important;
  height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: var(--nlf-bg) !important;
  border-left: 1px solid var(--nlf-line) !important;
  box-shadow: -20px 0 60px rgba(75,23,74,.22) !important;
  transform: translateX(105%) !important;
  transition: transform .28s ease !important;
}

.right-sidebar.nlf-cart-drawer.active .right-sidebar-group,
.right-sidebar.nlf-cart-drawer.nlf-active .right-sidebar-group {
  transform: translateX(0) !important;
}

.right-sidebar-header {
  min-height: 78px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  border-bottom: 1px solid var(--nlf-line) !important;
  background: #fff !important;
}

.sidebar-heading h4 {
  margin: 0 !important;
  color: var(--nlf-plum) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

.sidebar-heading p {
  margin: 2px 0 0 !important;
  color: var(--nlf-muted) !important;
  font-size: 12px !important;
}

#cart-render {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: 16px !important;
  overflow-y: auto !important;
}

.nlf-cart-drawer .cart-list {
  flex: 1 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nlf-cart-drawer .cart-item {
  display: grid !important;
  grid-template-columns: 72px 1fr 34px !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 12px !important;
  padding: 12px !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.nlf-cart-drawer .cart-img img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
}

.nlf-cart-drawer .cart-info a {
  color: var(--nlf-plum) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.nlf-cart-drawer .cart-info p {
  margin: 6px 0 0 !important;
  color: var(--nlf-muted) !important;
}

.nlf-cart-drawer .cart-price {
  margin: 12px 0 !important;
  padding: 14px !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.nlf-cart-drawer .cart-price li {
  display: flex !important;
  justify-content: space-between !important;
  margin: 8px 0 !important;
  color: var(--nlf-plum) !important;
  font-weight: 800 !important;
}

.nlf-cart-drawer .cart-btn {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nlf-cart-drawer .cart-btn li { margin: 0 !important; }
.nlf-cart-drawer .cart-btn a {
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.nlf-cart-drawer .cart-btn .btn-inline {
  background: var(--nlf-rose) !important;
  color: #fff !important;
}

.nlf-empty-cart {
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 36px 18px !important;
  text-align: center !important;
}

.nlf-empty-cart i {
  width: 76px !important;
  height: 76px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--nlf-chip) !important;
  color: var(--nlf-rose) !important;
  font-size: 28px !important;
}

.nlf-empty-cart h5 {
  margin: 18px 0 8px !important;
  color: var(--nlf-plum) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
}

.nlf-empty-cart p {
  max-width: 260px !important;
  margin: 0 0 22px !important;
  color: var(--nlf-muted) !important;
  line-height: 1.5 !important;
}

.nlf-empty-cart a {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: var(--nlf-rose) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.nlf-products-plain {
  margin-top: 18px !important;
}

.nlf-section-head h2 {
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

.nlf-editorials-two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.nlf-editorials-four {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.nlf-budget,
.nlf-cities,
.nlf-difference,
.nlf-reviews {
  max-width: 1180px !important;
  margin: 34px auto 0 !important;
  padding: 0 16px !important;
}

.nlf-budget-grid,
.nlf-city-grid,
.nlf-difference-grid,
.nlf-review-row {
  display: grid !important;
  gap: 14px !important;
}

.nlf-budget-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.nlf-budget-grid a,
.nlf-city-grid a,
.nlf-difference-grid article,
.nlf-review-row article {
  display: flex !important;
  flex-direction: column !important;
  min-height: 118px !important;
  padding: 18px !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(75,23,74,.06) !important;
}

.nlf-budget-grid small,
.nlf-difference-grid i,
.nlf-review-row small,
.nlf-worldwide small,
.nlf-subscribe small,
.nlf-app-promo small {
  color: var(--nlf-rose) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.nlf-budget-grid strong,
.nlf-difference-grid strong,
.nlf-review-row strong {
  margin-top: 8px !important;
  color: var(--nlf-plum) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

.nlf-budget-grid span,
.nlf-difference-grid span,
.nlf-review-row p {
  margin-top: 8px !important;
  color: var(--nlf-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.nlf-city-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.nlf-city-grid a {
  min-height: 64px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
  font-weight: 900 !important;
}

.nlf-worldwide,
.nlf-subscribe,
.nlf-app-promo {
  max-width: 1180px !important;
  margin: 34px auto 0 !important;
  padding: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, var(--nlf-plum), #7b2a73) !important;
  color: #fff !important;
  overflow: hidden !important;
}

.nlf-worldwide h2,
.nlf-subscribe h2,
.nlf-app-promo h2 {
  margin: 8px 0 !important;
  color: #fff !important;
  font-size: clamp(26px, 4vw, 42px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
}

.nlf-worldwide p,
.nlf-subscribe p {
  margin: 0 !important;
  color: rgba(255,255,255,.78) !important;
}

.nlf-worldwide a,
.nlf-app-promo a,
.nlf-subscribe button {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--nlf-rose) !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.nlf-difference-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.nlf-review-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.nlf-review-row strong {
  color: var(--nlf-gold) !important;
  font-size: 16px !important;
  letter-spacing: 0 !important;
}

.nlf-subscribe {
  background: var(--nlf-chip) !important;
  color: var(--nlf-plum) !important;
}

.nlf-subscribe h2 {
  color: var(--nlf-plum) !important;
}

.nlf-subscribe p {
  color: var(--nlf-muted) !important;
}

.nlf-subscribe form {
  display: flex !important;
  gap: 10px !important;
  min-width: min(430px, 100%) !important;
}

.nlf-subscribe input {
  flex: 1 !important;
  min-height: 48px !important;
  padding: 0 16px !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  font-weight: 700 !important;
}

.nlf-app-promo {
  margin-bottom: 34px !important;
  background: linear-gradient(135deg, #3f7b52, #245436) !important;
}

.nlf-detail-sticky-actions {
  display: none !important;
}

/* Header text must stay blackish/plum, never red or orange. */
.nlf-site-header,
.nlf-site-header a,
.nlf-site-header button,
.nlf-site-header span,
.nlf-site-header strong,
.nlf-site-header em,
.nlf-site-header label,
.nlf-site-header input {
  color: #241923 !important;
}

.nlf-site-header i:not(.nlf-logo-mark),
.nlf-icon-btn,
.nlf-actions i,
.nlf-mobile-location i,
.nlf-menu-item > a i {
  color: #241923 !important;
}

.nlf-logo strong,
.nlf-logo em,
.nlf-mobile-location button,
.nlf-location strong,
.nlf-actions a,
.nlf-actions a span,
.nlf-actions a strong,
.nlf-menu-item > a,
.nlf-mobile-chipbar a {
  color: #241923 !important;
}

.nlf-mobile-location span,
.nlf-location span,
.nlf-search input::placeholder {
  color: #5b505a !important;
}

.nlf-site-header .nlf-cart-count,
.nlf-actions sup {
  background: #4f174f !important;
  color: #fff !important;
}

.nlf-menu-item:hover > a,
.nlf-actions a:hover,
.nlf-mobile-location button:hover {
  color: #4f174f !important;
}

/* Product grids should match the compact Lovable product-card rhythm. */
.nlf-product-grid {
  align-items: start !important;
}

.nlf-product-card {
  min-height: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: none !important;
}

.nlf-product-img {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  overflow: hidden !important;
}

.nlf-product-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.nlf-product-img b {
  top: 10px !important;
  left: 10px !important;
  min-height: 34px !important;
  min-width: 58px !important;
  padding: 7px 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--nlf-gold) !important;
  color: var(--nlf-plum) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

.nlf-product-img em {
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
  width: auto !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 20px rgba(75,23,74,.12) !important;
}

.nlf-product-info {
  min-height: 112px !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-rows: auto 40px auto !important;
  gap: 5px !important;
}

.nlf-product-info span {
  color: var(--nlf-rose) !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-transform: none !important;
}

.nlf-product-info h3 {
  margin: 0 !important;
  min-height: 40px !important;
  overflow: hidden !important;
  color: var(--nlf-plum) !important;
  font-size: 15px !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
}

.nlf-product-info h3 a {
  color: inherit !important;
}

.nlf-product-info p {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: var(--nlf-muted) !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
}

.nlf-product-info p i {
  color: var(--nlf-gold) !important;
}

.nlf-product-info div {
  margin: 2px 0 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

.nlf-product-info strong {
  color: var(--nlf-plum) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.nlf-product-info del {
  color: var(--nlf-muted) !important;
  font-size: 12px !important;
}

.nlf-product-info button,
.nlf-product-info .nlf-fake-add {
  display: none !important;
}

@media (max-width: 767px) {
  .nlf-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .nlf-product-card {
    border-radius: 12px !important;
  }

  .nlf-product-img {
    border-radius: 12px 12px 0 0 !important;
  }

  .nlf-product-img b {
    top: 8px !important;
    left: 8px !important;
    min-height: 30px !important;
    min-width: 50px !important;
    padding: 6px 8px !important;
    font-size: 9px !important;
  }

  .nlf-product-img em {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    min-height: 31px !important;
    padding: 6px 8px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  .nlf-product-info {
    min-height: 106px !important;
    padding: 10px 10px 11px !important;
    grid-template-rows: 13px 38px 16px 22px !important;
    gap: 4px !important;
  }

  .nlf-product-info span {
    font-size: 10px !important;
  }

  .nlf-product-info h3 {
    min-height: 38px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  .nlf-product-info p {
    font-size: 11px !important;
  }

  .nlf-product-info strong {
    font-size: 19px !important;
  }

  .nlf-product-info del {
    font-size: 11px !important;
  }
}

/* Final pass for old inherited shop/cart/checkout pages. */
.product-parent {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.product-parent .product-card {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: none !important;
}

.product-parent .product-img {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  background: #f7edf2 !important;
  overflow: hidden !important;
}

.product-parent .product-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.product-parent .product-widget {
  display: none !important;
}

.product-parent .new-badge {
  top: 8px !important;
  left: 8px !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: var(--nlf-gold) !important;
  color: var(--nlf-plum) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
}

.product-parent .product-content {
  padding: 10px 10px 0 !important;
}

.product-parent .product-cate p {
  margin: 0 !important;
  color: var(--nlf-rose) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

.product-parent .product-name {
  padding: 0 10px !important;
}

.product-parent .product-name h3 {
  min-height: 38px !important;
  margin: 4px 0 !important;
  color: var(--nlf-plum) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  overflow: hidden !important;
}

.product-parent .product-price {
  min-height: 44px !important;
  padding: 0 10px 10px !important;
  display: grid !important;
  gap: 2px !important;
}

.product-parent .product-price p {
  margin: 0 !important;
  color: var(--nlf-plum) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.product-parent .product-rating {
  margin: 0 !important;
  padding: 0 !important;
}

.product-parent .product-rating li {
  color: var(--nlf-muted) !important;
  font-size: 11px !important;
}

.site-main .row {
  row-gap: 16px !important;
}

.bigbag-cart-form {
  padding: 14px !important;
}

.bigbag-cart-form .shop_table,
.bigbag_responsive-table {
  border-spacing: 0 12px !important;
}

.bigbag-cart-form .shop_table tbody tr.bigbag-cart-form__cart-item,
.bigbag_responsive-table tbody tr {
  border: 1px solid var(--nlf-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.bigbag-cart-form .shop_table td,
.bigbag_responsive-table td {
  color: var(--nlf-plum) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.bigbag-cart-form .product-name a,
.bigbag_cart-product-body h6 a {
  color: var(--nlf-plum) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

.cart_totals,
.checkout_form .col-xl-7,
.checkout-billing {
  box-shadow: none !important;
}

.checkout-billing .bigbag_responsive-table {
  display: block !important;
}

.checkout-billing .bigbag_responsive-table thead {
  display: none !important;
}

.checkout-billing .bigbag_responsive-table tbody,
.checkout-billing .bigbag_responsive-table tr,
.checkout-billing .bigbag_responsive-table td {
  display: block !important;
  width: 100% !important;
}

.checkout-billing .bigbag_responsive-table tr {
  margin-bottom: 12px !important;
  padding: 12px !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.checkout-billing .bigbag_responsive-table td {
  padding: 4px 0 !important;
}

@media (max-width: 767px) {
  .product-parent {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .product-parent .product-card {
    width: 100% !important;
    max-width: none !important;
    min-height: 288px !important;
  }

  .bigbag-cart-form .shop_table thead {
    display: none !important;
  }

  .bigbag-cart-form .shop_table,
  .bigbag-cart-form .shop_table tbody,
  .bigbag-cart-form .shop_table tr,
  .bigbag-cart-form .shop_table td {
    display: block !important;
    width: 100% !important;
  }

  .bigbag-cart-form .shop_table tr.bigbag-cart-form__cart-item {
    position: relative !important;
    min-height: 112px !important;
    margin-bottom: 12px !important;
    padding: 12px 12px 12px 102px !important;
    border: 1px solid var(--nlf-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
  }

  .bigbag-cart-form .shop_table td {
    padding: 2px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  .bigbag-cart-form .product-remove {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    width: auto !important;
  }

  .bigbag-cart-form .product-thumbnail {
    position: absolute !important;
    top: 14px !important;
    left: 12px !important;
    width: 76px !important;
  }

  .bigbag-cart-form .product-thumbnail img {
    width: 76px !important;
    height: 76px !important;
  }

  .bigbag-cart-form .actions {
    padding: 0 !important;
  }

  .bigbag-cart-form .coupon {
    float: none !important;
    display: grid !important;
    gap: 8px !important;
  }
}

/* Keep secondary pages in the NLF visual language instead of the inherited food/store theme. */
.nlf-drawer-promo {
  margin: 18px 0 12px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, var(--nlf-plum), #7b2a73) !important;
  color: #fff !important;
}

.nlf-drawer-promo small {
  display: block !important;
  margin-bottom: 5px !important;
  color: var(--nlf-gold) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.nlf-drawer-promo strong {
  display: block !important;
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}

.nlf-drawer-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}

.nlf-drawer-chips a {
  padding: 9px 12px !important;
  border-radius: 999px !important;
  background: var(--nlf-chip) !important;
  color: var(--nlf-plum) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.single-banner {
  margin: 0 !important;
  padding: 34px 0 !important;
  background: linear-gradient(135deg, var(--nlf-plum), #7e2c72) !important;
}

.single-banner .single-content {
  text-align: left !important;
}

.single-banner h2 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: clamp(28px, 5vw, 44px) !important;
  font-weight: 900 !important;
}

.single-banner .breadcrumb {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.single-banner .breadcrumb a,
.single-banner .breadcrumb-item,
.single-banner .breadcrumb-item.active,
.single-banner .breadcrumb-item::before {
  color: rgba(255,255,255,.82) !important;
  font-weight: 700 !important;
}

.product-list,
.single-product,
.details-part,
.site-main,
.checkout-section {
  background: var(--nlf-bg) !important;
}

.product-list {
  padding: 28px 0 76px !important;
}

.product-list-bar,
.product-filter,
.single-product-info,
.cart_totals,
.bigbag-cart-form,
.checkout-form,
.checkout-billing .bigbag-checkout-review-order,
.bigbag-checkout-payment {
  border: 1px solid var(--nlf-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(75,23,74,.07) !important;
}

.product-list-bar {
  padding: 16px !important;
  margin-bottom: 14px !important;
}

.product-list-bar h4,
.product-filter p,
.cart_totals h2,
.checkout h3,
.bigbag-checkout-review-order h3,
.single-product-name h3 {
  color: var(--nlf-plum) !important;
  font-weight: 900 !important;
}

.product-filter {
  margin-bottom: 18px !important;
  padding: 13px 15px !important;
}

.product-filter .custom-select,
.checkout input,
.checkout select,
.checkout textarea,
#coupon_code {
  border: 1px solid var(--nlf-line) !important;
  border-radius: 999px !important;
  color: var(--nlf-plum) !important;
  font-weight: 700 !important;
}

.single-product {
  padding: 30px 0 74px !important;
}

.nlf-detail-gallery,
.nlf-detail-thumbs img {
  border: 1px solid var(--nlf-line) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 16px 36px rgba(75,23,74,.08) !important;
}

.nlf-detail-gallery img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

.single-product-info {
  padding: 24px !important;
}

.single-product-price h3,
.single-product-price span,
#amount {
  color: var(--nlf-rose) !important;
  font-weight: 900 !important;
}

.single-product-describe {
  color: var(--nlf-muted) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.single-product-widget h5 {
  color: var(--nlf-plum) !important;
  font-weight: 900 !important;
}

.single-product-widget .btn,
.single-product-widget button,
.checkout_submit_btn,
.checkout-button,
.basicbtn,
.bigbag_btn-custom.primary,
.button.alt {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--nlf-rose) !important;
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 24px rgba(212,63,145,.22) !important;
}

.wishlist-icon,
.round-icon a {
  border-color: var(--nlf-line) !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
}

.details-menu .nav-tabs {
  border: 0 !important;
  gap: 8px !important;
}

.details-menu .nav-link {
  border: 1px solid var(--nlf-line) !important;
  border-radius: 999px !important;
  color: var(--nlf-plum) !important;
  font-weight: 900 !important;
}

.details-menu .nav-link.active {
  background: var(--nlf-plum) !important;
  color: #fff !important;
}

.bigbag-cart-form,
.cart_totals {
  padding: 18px !important;
}

.shop_table {
  margin-bottom: 0 !important;
}

.shop_table th {
  color: var(--nlf-plum) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.shop_table td,
.shop_table td a {
  color: var(--nlf-plum) !important;
  font-weight: 700 !important;
}

.product-thumbnail img,
.bigbag_cart-product-wrapper img {
  border-radius: 14px !important;
  object-fit: cover !important;
}

@media (max-width: 767px) {
  .single-banner {
    display: none !important;
  }

  .product-list,
  .single-product,
  .details-part,
  .site-main {
    padding-top: 18px !important;
    padding-bottom: 96px !important;
  }

  #left_sidebar {
    display: none !important;
  }

  .product-filter {
    display: grid !important;
    gap: 10px !important;
  }

  .product-filter .custom-select {
    width: 100% !important;
  }

  .single-product-info {
    margin-top: 18px !important;
    padding: 18px !important;
  }

  .single-product-widget.product-quantity ul {
    display: grid !important;
    grid-template-columns: 88px 1fr 46px !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .single-product-widget.product-quantity input {
    width: 100% !important;
    height: 46px !important;
    border-radius: 999px !important;
    text-align: center !important;
  }

  .single-product-widget.product-quantity .btn {
    width: 100% !important;
    min-height: 46px !important;
    white-space: nowrap !important;
  }

  .nlf-detail-sticky-actions {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 64px !important;
    z-index: 1500 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 10px 14px 12px !important;
    background: rgba(255,250,247,.96) !important;
    border-top: 1px solid var(--nlf-line) !important;
    box-shadow: 0 -12px 30px rgba(75,23,74,.12) !important;
    backdrop-filter: blur(12px) !important;
  }

  .nlf-detail-sticky-actions button {
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  .nlf-detail-sticky-actions .nlf-sticky-add {
    background: var(--nlf-plum) !important;
  }

  .nlf-detail-sticky-actions .nlf-sticky-buy {
    background: var(--nlf-rose) !important;
    box-shadow: 0 12px 24px rgba(212,63,145,.22) !important;
  }

  .nlf-detail-sticky-actions button:disabled {
    opacity: .55 !important;
  }

  .bigbag-cart-form .table-responsive {
    border: 0 !important;
  }

  .cart_totals {
    margin-top: 16px !important;
  }

  .nlf-section-head h2 {
    font-size: 26px !important;
    line-height: 1.14 !important;
  }

  .nlf-editorials-two,
  .nlf-editorials-four,
  .nlf-budget-grid,
  .nlf-difference-grid,
  .nlf-review-row {
    grid-template-columns: 1fr !important;
  }

  .nlf-budget,
  .nlf-cities,
  .nlf-difference,
  .nlf-reviews {
    margin-top: 28px !important;
    padding: 0 12px !important;
  }

  .nlf-city-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .nlf-budget-grid a,
  .nlf-difference-grid article,
  .nlf-review-row article {
    min-height: 104px !important;
  }

  .nlf-worldwide,
  .nlf-subscribe,
  .nlf-app-promo {
    width: calc(100% - 24px) !important;
    margin-top: 28px !important;
    padding: 22px !important;
    display: grid !important;
    border-radius: 22px !important;
  }

  .nlf-subscribe form {
    display: grid !important;
    min-width: 0 !important;
  }
}

/* Final shop/category override: keep this after inherited store styles. */
.nlf-shop-hero,
.nlf-shop-strip {
  width: min(1180px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nlf-shop-hero {
  margin-top: 22px !important;
  min-height: 210px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 18px !important;
  padding: 34px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(79,23,79,.90), rgba(79,23,79,.58) 52%, rgba(212,63,145,.18)),
    url("../nlf/banner-luxe.jpg") center/cover no-repeat !important;
  box-shadow: 0 18px 42px rgba(75,23,74,.14) !important;
}

.nlf-shop-hero-copy span {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  color: #ffd166 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.nlf-shop-hero h1 {
  max-width: 620px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 5vw, 64px) !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
}

.nlf-shop-hero p {
  max-width: 540px !important;
  margin: 12px 0 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.nlf-shop-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.nlf-shop-hero-actions a,
.nlf-shop-strip span {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.nlf-shop-hero-actions a {
  padding: 0 18px !important;
  background: rgba(255,255,255,.93) !important;
  color: var(--nlf-plum) !important;
}

.nlf-shop-strip {
  margin-top: 12px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.nlf-shop-strip span {
  min-width: 0 !important;
  padding: 0 12px !important;
  border: 1px solid var(--nlf-line) !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  font-size: 12px !important;
  box-shadow: 0 10px 24px rgba(75,23,74,.06) !important;
}

#left_sidebar {
  display: none !important;
}

.product-list .col-lg-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.product-list {
  margin-top: 16px !important;
  padding-top: 0 !important;
}

.product-filter {
  min-height: 60px !important;
  margin-bottom: 16px !important;
  padding: 10px 12px 10px 18px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(75,23,74,.06) !important;
}

.product-filter p {
  color: var(--nlf-plum) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.product-filter .custom-select {
  width: min(250px, 100%) !important;
  min-height: 42px !important;
  padding-left: 16px !important;
  background-color: #faf3f6 !important;
}

.product-parent {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.product-parent .product-card {
  min-height: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(75,23,74,.06) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

.product-parent .product-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 34px rgba(75,23,74,.12) !important;
}

.product-parent .product-content {
  padding: 11px 12px 0 !important;
}

.product-parent .product-cate p {
  color: #d43f91 !important;
  font-size: 9px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.product-parent .product-name {
  padding: 0 12px !important;
}

.product-parent .product-name h3 {
  min-height: 38px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  color: #321334 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.product-parent .product-price {
  min-height: 44px !important;
  padding: 0 12px 12px !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
}

.product-parent .product-price p {
  font-size: 17px !important;
}

.product-parent .product-rating {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.product-parent .product-rating li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  color: #6f6070 !important;
}

.product-parent .new-badge {
  background: #fff !important;
  color: var(--nlf-plum) !important;
  box-shadow: 0 8px 20px rgba(75,23,74,.10) !important;
}

@media (max-width: 991px) {
  .nlf-shop-hero {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .nlf-shop-hero-actions {
    justify-content: flex-start !important;
  }

  .nlf-shop-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .product-parent {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .nlf-shop-hero,
  .nlf-shop-strip {
    width: calc(100% - 24px) !important;
  }

  .nlf-shop-hero {
    min-height: 238px !important;
    margin-top: 12px !important;
    padding: 24px 20px !important;
    border-radius: 22px !important;
    background:
      linear-gradient(180deg, rgba(79,23,79,.88), rgba(79,23,79,.56)),
      url("../nlf/banner-luxe.jpg") center/cover no-repeat !important;
  }

  .nlf-shop-hero h1 {
    font-size: 38px !important;
  }

  .nlf-shop-hero p {
    font-size: 14px !important;
  }

  .nlf-shop-hero-actions {
    gap: 8px !important;
  }

  .nlf-shop-hero-actions a {
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }

  .nlf-shop-strip {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }

  .nlf-shop-strip::-webkit-scrollbar {
    display: none !important;
  }

  .nlf-shop-strip span {
    min-width: max-content !important;
    min-height: 38px !important;
    font-size: 11px !important;
  }

  .product-filter {
    border-radius: 18px !important;
    display: grid !important;
    gap: 10px !important;
    padding: 13px !important;
  }

  .product-filter .custom-select {
    width: 100% !important;
  }

  .product-parent {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
  }

  .product-parent .product-card {
    border-radius: 14px !important;
  }

  .product-parent .product-content {
    padding: 9px 9px 0 !important;
  }

  .product-parent .product-name {
    padding: 0 9px !important;
  }

  .product-parent .product-name h3 {
    min-height: 36px !important;
    font-size: 13px !important;
    line-height: 1.32 !important;
  }

  .product-parent .product-price {
    min-height: 42px !important;
    padding: 0 9px 9px !important;
  }

  .product-parent .product-price p {
    font-size: 16px !important;
  }
}
/* Typography override must stay at EOF so it beats older theme overrides. */
:root {
  --nlf-ui-font: "Inter", Arial, Helvetica, sans-serif;
  --nlf-display-font: "Playfair Display", Georgia, "Times New Roman", serif;
}

body,
button,
input,
select,
textarea,
.nlf-site-header,
.nlf-site-header *,
.nlf-bottom-nav,
.nlf-bottom-nav *,
.nlf-mobile-drawer,
.nlf-mobile-drawer *,
.nlf-cart-drawer,
.nlf-cart-drawer *,
.product-card,
.single-product,
.details-part,
.site-main,
.checkout_form,
.nlf-footer {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.nlf-brand-text,
.nlf-logo-word,
.nlf-hero-copy h1,
.nlf-hero-title,
.nlf-banner-copy h2,
.nlf-section-head h2,
.nlf-editorial-card h3,
.nlf-feature-card h3,
.nlf-trending-copy h2,
.nlf-shop-hero h1,
.single-content h2,
.single-product-name h3,
.cart_totals h2,
.checkout_form h4 {
  font-family: var(--nlf-display-font) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.nlf-site-header a,
.nlf-site-header button,
.nlf-site-header span,
.nlf-bottom-nav a,
.nlf-bottom-nav button,
.nlf-bottom-nav span,
.nlf-category-pill,
.nlf-shop-hero-actions a,
.nlf-shop-strip span {
  font-weight: 500 !important;
}

.nlf-site-header strong,
.nlf-site-header .nlf-cart-count,
.nlf-bottom-nav .nlf-bottom-cart-count,
.cart_count,
.nlf-mobile-cart-count,
.nlf-product-info strong,
.product-parent .product-price p,
.product-price p,
.single-product-price h3,
.bigbag-Price-amount,
.total_cost_amount {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 700 !important;
}

.nlf-topbar,
.nlf-topbar span,
.nlf-brand-text small,
.nlf-logo-subtitle,
.nlf-product-category,
.product-parent .product-cate p,
.nlf-section-eyebrow,
.nlf-shop-hero-copy span,
.new-badge {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 600 !important;
}

.nlf-product-info h3,
.product-parent .product-name h3,
.product-name h3,
.nlf-cart-item-title,
.bigbag_cart-product-name,
.shop_table td a {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 600 !important;
}

.nlf-section-head p,
.nlf-hero-copy p,
.nlf-banner-copy p,
.nlf-trending-copy p,
.nlf-shop-hero p,
.single-product-describe,
.details-descrip,
.product-filter p,
.nlf-product-info del,
.nlf-product-info p,
.product-parent .product-rating li,
.product-price span,
.nlf-muted,
.bigbag_notice {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 400 !important;
}

.nlf-btn,
.nlf-view-cart-mobile,
.nlf-sticky-add,
.nlf-sticky-buy,
.single-product-widget .btn,
.single-product-widget button,
.checkout_submit_btn,
.checkout-button,
.basicbtn,
.bigbag_btn-custom.primary,
.button.alt,
.product-filter .custom-select,
.checkout input,
.checkout select,
.checkout textarea,
#coupon_code,
.form-control {
  font-family: var(--nlf-ui-font) !important;
  font-weight: 600 !important;
}

body,
body :not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]) {
  font-family: var(--nlf-ui-font) !important;
  letter-spacing: 0 !important;
}

h1,
h2,
h3,
.nlf-logo strong,
.nlf-brand-text,
.nlf-logo-word,
.nlf-hero-copy h1,
.nlf-hero-title,
.nlf-banner-copy h2,
.nlf-section-head h2,
.nlf-editorial-card h3,
.nlf-feature-card h3,
.nlf-trending-copy h2,
.nlf-shop-hero h1,
.single-content h2,
.single-product-name h3,
.cart_totals h2,
.checkout_form h4 {
  font-family: var(--nlf-display-font) !important;
  font-weight: 600 !important;
}

.nlf-product-info h3,
.nlf-product-info h3 *,
.product-parent .product-name h3,
.product-parent .product-name h3 *,
.product-name h3,
.product-name h3 *,
.nlf-product-info strong,
.nlf-product-info strong *,
.product-parent .product-price p,
.product-parent .product-price p *,
.product-price p,
.product-price p * {
  font-family: var(--nlf-ui-font) !important;
}

body .nlf-brand-text:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-logo-word:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-hero-copy h1:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-hero-title:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-banner-copy h2:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-section-head h2:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-editorial-card h3:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-feature-card h3:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-trending-copy h2:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .nlf-shop-hero h1:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .single-content h2:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .single-product-name h3:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .cart_totals h2:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]),
body .checkout_form h4:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]) {
  font-family: var(--nlf-display-font) !important;
  font-weight: 600 !important;
}

/* Saabi-inspired product detail layout, kept in NLF theme colors. */
body:has(.single-product) {
  background: #fffaf3 !important;
}

.single-banner {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 18px auto 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-banner .single-content {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.single-banner .single-content h2 {
  display: none !important;
}

.single-banner .breadcrumb {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #8d7d8a !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.single-banner .breadcrumb a,
.single-banner .breadcrumb-item.active {
  color: #4f174f !important;
}

.single-product {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 22px auto 0 !important;
  padding: 0 0 34px !important;
}

.single-product .container {
  max-width: none !important;
  padding: 0 !important;
}

.single-product .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr) !important;
  gap: 64px !important;
  align-items: start !important;
  margin: 0 !important;
}

.single-product .col-md-6,
.single-product .col-lg-6 {
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  padding: 0 !important;
}

.nlf-detail-gallery,
.single-product-slider {
  border: 0 !important;
  border-radius: 18px !important;
  background: #f4dfbf !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.nlf-detail-gallery img,
.single-product-slider img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}

.nlf-detail-thumbs,
.single-thumb-slider {
  margin-top: 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.nlf-detail-thumbs img,
.single-thumb-slider img {
  width: 68px !important;
  height: 68px !important;
  flex: 0 0 68px !important;
  border: 2px solid #ead9c5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  object-fit: cover !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.nlf-detail-thumbs img:first-child,
.single-thumb-slider .slick-current img {
  border-color: var(--nlf-plum) !important;
}

.single-product-info {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product-meta {
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.single-page-slider.round-icon {
  display: none !important;
}

.single-product-name h3 {
  margin: 0 !important;
  color: #2c2f3d !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: 32px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.single-product-name p {
  display: none !important;
}

.nlf-delivery-timer {
  margin: 18px 0 12px !important;
  color: #746b75 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.nlf-delivery-timer strong {
  color: var(--nlf-plum) !important;
  font-weight: 800 !important;
}

.single-product-price h3,
.single-product-price h3 span,
#amount {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: var(--nlf-rose) !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.single-product-price del {
  color: #9a8d98 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
}

.single-product-describe {
  margin: 18px 0 20px !important;
  color: #55515d !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.nlf-pack-options {
  display: grid !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
}

.nlf-pack-card {
  position: relative !important;
  min-height: 92px !important;
  display: grid !important;
  grid-template-columns: 66px 1fr auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 1.5px solid #ead9c5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  cursor: pointer !important;
}

.nlf-pack-card input {
  position: absolute !important;
  opacity: 0 !important;
}

.nlf-pack-card img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}

.nlf-pack-card strong,
.nlf-pack-card b {
  display: block !important;
  color: #2c2f3d !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.nlf-pack-card small {
  display: block !important;
  margin-top: 5px !important;
  color: #7b7280 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
}

.nlf-pack-card b {
  color: var(--nlf-plum) !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.nlf-pack-card em {
  position: absolute !important;
  top: -10px !important;
  right: 14px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: var(--nlf-plum) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.nlf-pack-card:has(input:checked),
.nlf-pack-card.is-popular {
  border-color: var(--nlf-rose) !important;
  background: #ffe8f3 !important;
}

.single-product-widget.product-quantity {
  margin: 0 !important;
}

.single-product-widget.product-quantity h5 {
  display: none !important;
}

.single-product-widget.product-quantity ul {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}

.single-product-widget.product-quantity ul li:nth-child(3) {
  display: none !important;
}

.single-product-widget.product-quantity input[type="number"] {
  width: 100% !important;
  height: 52px !important;
  border: 1px solid #ead9c5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #2c2f3d !important;
  text-align: center !important;
  font-weight: 700 !important;
}

.single-product-widget.product-quantity .btn,
.nlf-sticky-add,
.nlf-sticky-buy {
  height: 52px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  text-transform: none !important;
}

.single-product-widget.product-quantity .btn {
  width: 100% !important;
  border: 1.5px solid var(--nlf-plum) !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  box-shadow: none !important;
}

.nlf-detail-sticky-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  margin-top: 10px !important;
}

@media (min-width: 768px) {
  .nlf-detail-sticky-actions .nlf-sticky-add {
    display: none !important;
  }

  .nlf-detail-sticky-actions .nlf-sticky-buy {
    width: 100% !important;
    background: var(--nlf-plum) !important;
    color: #fff !important;
    box-shadow: none !important;
  }
}

.single-product-widget.product-tags,
.single-product-widget:not(.product-quantity):not(.product-tags):not(.product-share),
.product-share,
.single-product-info > hr,
.available_qty,
.required_option {
  display: none !important;
}

.nlf-saabi-under-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 14px 0 24px !important;
  color: #55515d !important;
  font-size: 14px !important;
}

.nlf-saabi-under-actions a,
.nlf-saabi-under-actions span {
  color: #55515d !important;
  font-weight: 500 !important;
}

.nlf-saabi-under-actions i {
  color: var(--nlf-rose) !important;
  margin-right: 6px !important;
}

.nlf-saabi-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  margin: 22px 0 14px !important;
  padding: 4px !important;
  border-radius: 10px !important;
  background: #f2eef3 !important;
}

.nlf-saabi-tabs button {
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #454151 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.nlf-saabi-tabs button.active {
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(75,23,74,.08) !important;
}

.nlf-saabi-detail-copy {
  color: #67606b !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.nlf-saabi-tab-panels .nlf-saabi-detail-copy {
  display: none !important;
}

.nlf-saabi-tab-panels .nlf-saabi-detail-copy.active {
  display: block !important;
}

.nlf-saabi-accordion {
  margin-top: 18px !important;
  border-top: 1px solid #ead9c5 !important;
}

.nlf-saabi-accordion details {
  border-bottom: 1px solid #ead9c5 !important;
  padding: 0 !important;
}

.nlf-saabi-accordion summary {
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: 38px 1fr auto !important;
  align-items: center !important;
  color: #444050 !important;
  list-style: none !important;
  cursor: pointer !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.nlf-saabi-accordion summary::-webkit-details-marker {
  display: none !important;
}

.nlf-saabi-accordion summary::after {
  content: "+" !important;
  width: 26px !important;
  height: 26px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #f2eef3 !important;
  color: var(--nlf-plum) !important;
}

.nlf-saabi-accordion details[open] summary::after {
  content: "×" !important;
  background: var(--nlf-plum) !important;
  color: #fff !important;
}

.nlf-saabi-accordion summary span {
  color: #7a6f7b !important;
  font-weight: 600 !important;
}

.nlf-saabi-accordion p {
  margin: -4px 0 18px 38px !important;
  color: #756d78 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.details-part {
  display: none !important;
}

.nlf-detail-benefits {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 18px auto 52px !important;
  min-height: 64px !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 22px !important;
  border-radius: 12px !important;
  background: #f4efe3 !important;
}

.nlf-detail-benefits span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #4f174f !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.nlf-detail-benefits span::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--nlf-rose) !important;
}

.related-part,
.new-part {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto 54px !important;
  padding: 0 !important;
  background: transparent !important;
}

.related-part .container,
.new-part .container {
  max-width: none !important;
  padding: 0 !important;
}

.related-part .section-heading,
.new-part .section-heading {
  justify-content: center !important;
  margin-bottom: 24px !important;
  border: 0 !important;
  background: transparent !important;
}

.related-part .section-heading h2,
.new-part .section-heading h2 {
  color: var(--nlf-plum) !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: 31px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.related-part .section-heading .btn,
.new-part .section-heading .btn {
  display: none !important;
}

@media (max-width: 991px) {
  .single-product .row {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .single-product-name h3 {
    font-size: 28px !important;
  }

  .nlf-detail-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .single-banner,
  .single-product,
  .nlf-detail-benefits,
  .related-part,
  .new-part {
    width: calc(100% - 24px) !important;
  }

  .single-banner {
    margin-top: 12px !important;
  }

  .single-product {
    margin-top: 14px !important;
    padding-bottom: 24px !important;
  }

  .nlf-detail-gallery img,
  .single-product-slider img {
    border-radius: 14px !important;
  }

  .nlf-detail-thumbs img,
  .single-thumb-slider img {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
  }

  .single-product-name h3 {
    font-size: 25px !important;
  }

  .single-product-price h3,
  .single-product-price h3 span,
  #amount {
    font-size: 25px !important;
  }

  .nlf-pack-card {
    grid-template-columns: 54px 1fr auto !important;
    padding: 10px 12px !important;
  }

  .nlf-pack-card img {
    width: 48px !important;
    height: 48px !important;
  }

  .nlf-pack-card strong,
  .nlf-pack-card b {
    font-size: 14px !important;
  }

  .single-product-widget.product-quantity ul {
    grid-template-columns: 88px 1fr !important;
  }

  .nlf-detail-sticky-actions {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 80 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #ead9c5 !important;
    background: #fff !important;
    box-shadow: 0 -12px 24px rgba(75,23,74,.08) !important;
  }

  .nlf-detail-sticky-actions .nlf-sticky-add {
    background: #fff !important;
    color: var(--nlf-plum) !important;
    border: 1.5px solid var(--nlf-plum) !important;
    box-shadow: none !important;
  }

  .nlf-detail-sticky-actions .nlf-sticky-buy {
    background: var(--nlf-plum) !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  body:has(.single-product) .nlf-bottom-nav,
  body:has(.single-product) .nlf-view-cart-mobile {
    display: none !important;
  }

  .nlf-saabi-tabs {
    grid-template-columns: 1fr 1fr 1fr !important;
  }

  .nlf-saabi-tabs button {
    font-size: 11px !important;
  }

  .nlf-detail-benefits {
    grid-template-columns: 1fr 1fr !important;
    margin-bottom: 40px !important;
  }

  .nlf-detail-benefits span {
    font-size: 11px !important;
  }
}

/* Product page Slick containment: prevent injected track widths from stretching the layout. */
body:has(.single-product) .single-banner {
  display: block !important;
}

body:has(.single-product) .single-product-slider,
body:has(.single-product) .nlf-detail-gallery,
body:has(.single-product) .single-product-slider .slick-list,
body:has(.single-product) .single-product-slider .slick-track,
body:has(.single-product) .single-product-slider .slick-slide,
body:has(.single-product) .single-thumb-slider,
body:has(.single-product) .nlf-detail-thumbs,
body:has(.single-product) .single-thumb-slider .slick-list,
body:has(.single-product) .single-thumb-slider .slick-track {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body:has(.single-product) .single-product-slider .slick-track {
  transform: none !important;
}

body:has(.single-product) .single-product-slider .slick-slide {
  float: none !important;
}

body:has(.single-product) .single-product-slider .slick-slide:not(.slick-current):not(:first-child) {
  display: none !important;
}

body:has(.single-product) .single-thumb-slider .slick-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  transform: none !important;
}

body:has(.single-product) .single-thumb-slider .slick-slide {
  width: auto !important;
  max-width: 68px !important;
  float: none !important;
}

body:has(.single-product) .nlf-detail-thumbs,
body:has(.single-product) .single-thumb-slider {
  height: 72px !important;
  max-height: 72px !important;
  overflow: hidden !important;
}

body:has(.single-product) .single-product .single-product-info .single-product-name h3:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]) {
  font-family: var(--nlf-ui-font) !important;
  color: #2c2f3d !important;
  font-size: 32px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.nlf-menu-item:nth-last-child(-n+4) .nlf-mega {
  left: auto !important;
  right: 0 !important;
}

html,
body {
  overflow-x: clip !important;
}

/* Restore Font Awesome after global typography overrides. */
i.fa,
i.fas,
i.far,
i.fab,
i[class^="fa-"],
i[class*=" fa-"],
.fa,
.fas,
.far,
.fab,
[class^="fa-"],
[class*=" fa-"] {
  font-family: "Font Awesome 5 Free" !important;
  font-style: normal !important;
  line-height: 1 !important;
}

.fas,
.fa,
i.fas,
i.fa {
  font-weight: 900 !important;
}

.far,
i.far {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}

.fab,
i.fab {
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}

i.fa::before,
i.fas::before,
i.far::before,
i.fab::before,
i[class^="fa-"]::before,
i[class*=" fa-"]::before,
.fa::before,
.fas::before,
.far::before,
.fab::before,
[class^="fa-"]::before,
[class*=" fa-"]::before {
  font-family: inherit !important;
  font-weight: inherit !important;
}

/* Product detail related carousel polish. */
body:has(.single-product) .related-part,
body:has(.single-product) .new-part {
  overflow: hidden !important;
}

body:has(.single-product) .related-part .product-slider,
body:has(.single-product) .new-part .product-slider {
  display: block !important;
  padding: 0 !important;
}

body:has(.single-product) .related-part .slick-list,
body:has(.single-product) .new-part .slick-list {
  margin: 0 -10px !important;
  overflow: hidden !important;
}

body:has(.single-product) .related-part .slick-track,
body:has(.single-product) .new-part .slick-track {
  display: flex !important;
  align-items: stretch !important;
}

body:has(.single-product) .related-part .slick-slide,
body:has(.single-product) .new-part .slick-slide {
  height: auto !important;
  padding: 0 10px !important;
}

body:has(.single-product) .related-part .product-card,
body:has(.single-product) .new-part .product-card {
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 1px solid #ead9c5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(75,23,74,.06) !important;
}

body:has(.single-product) .related-part .product-img,
body:has(.single-product) .new-part .product-img {
  aspect-ratio: 1 / .86 !important;
  border-radius: 12px 12px 0 0 !important;
  background: #f4dfbf !important;
}

body:has(.single-product) .related-part .product-widget,
body:has(.single-product) .new-part .product-widget {
  display: none !important;
}

body:has(.single-product) .related-part .product-content,
body:has(.single-product) .new-part .product-content {
  margin: 0 !important;
  padding: 14px 14px 0 !important;
}

body:has(.single-product) .related-part .product-name,
body:has(.single-product) .new-part .product-name {
  margin: 0 !important;
  padding: 0 14px !important;
}

body:has(.single-product) .related-part .product-name h3,
body:has(.single-product) .new-part .product-name h3 {
  min-height: 44px !important;
  color: #2c2f3d !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

body:has(.single-product) .related-part .product-price,
body:has(.single-product) .new-part .product-price {
  margin: 0 !important;
  padding: 0 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body:has(.single-product) .related-part .product-price p,
body:has(.single-product) .new-part .product-price p {
  color: var(--nlf-plum) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

body:has(.single-product) .related-part .dandik,
body:has(.single-product) .related-part .bamdik,
body:has(.single-product) .new-part .dandik,
body:has(.single-product) .new-part .bamdik {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #ead9c5 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  box-shadow: 0 8px 20px rgba(75,23,74,.08) !important;
}

@media (max-width: 767px) {
  body:has(.single-product) .related-part .section-heading h2,
  body:has(.single-product) .new-part .section-heading h2 {
    font-size: 26px !important;
  }

  body:has(.single-product) .related-part .slick-list,
  body:has(.single-product) .new-part .slick-list {
    overflow: visible !important;
  }

  body:has(.single-product) .related-part .slick-slide,
  body:has(.single-product) .new-part .slick-slide {
    width: 260px !important;
  }

  body:has(.single-product) .related-part .product-card,
  body:has(.single-product) .new-part .product-card {
    width: 240px !important;
    max-width: 240px !important;
    min-height: 330px !important;
  }
}

/* Professional PDP rhythm and alignment pass. */
body:has(.single-product) {
  --pdp-page: #fffaf3;
  --pdp-surface: #ffffff;
  --pdp-border: #ead9c5;
  --pdp-muted: #6f6671;
  --pdp-text: #292532;
  background: var(--pdp-page) !important;
}

body:has(.single-product) .single-banner,
body:has(.single-product) .single-product,
body:has(.single-product) .nlf-detail-benefits,
body:has(.single-product) .related-part,
body:has(.single-product) .new-part {
  width: min(1180px, calc(100% - 40px)) !important;
}

body:has(.single-product) .single-banner {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}

body:has(.single-product) .single-banner .breadcrumb {
  min-height: 22px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

body:has(.single-product) .single-product {
  margin-top: 18px !important;
  padding-bottom: 0 !important;
}

body:has(.single-product) .single-product .row {
  grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr) !important;
  gap: clamp(42px, 5vw, 72px) !important;
  align-items: start !important;
}

.nlf-detail-media {
  position: sticky !important;
  top: 128px !important;
}

body:has(.single-product) .nlf-detail-gallery,
body:has(.single-product) .single-product-slider {
  border-radius: 18px !important;
  background: #f3dfbf !important;
  box-shadow: none !important;
}

body:has(.single-product) .nlf-detail-gallery img,
body:has(.single-product) .single-product-slider img {
  border-radius: 18px !important;
}

body:has(.single-product) .nlf-detail-thumbs,
body:has(.single-product) .single-thumb-slider {
  height: auto !important;
  max-height: none !important;
  margin-top: 16px !important;
}

body:has(.single-product) .single-thumb-slider .slick-track {
  gap: 10px !important;
}

body:has(.single-product) .nlf-detail-thumbs img,
body:has(.single-product) .single-thumb-slider img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 10px !important;
}

body:has(.single-product) .single-product-info {
  padding-top: 2px !important;
}

body:has(.single-product) .single-product-name h3,
body:has(.single-product) .single-product .single-product-info .single-product-name h3:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]) {
  max-width: 620px !important;
  margin: 0 !important;
  color: var(--pdp-text) !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body:has(.single-product) .nlf-delivery-timer {
  margin: 16px 0 14px !important;
  color: var(--pdp-muted) !important;
  font-size: 14px !important;
}

body:has(.single-product) .single-product-price {
  margin-bottom: 18px !important;
}

body:has(.single-product) .single-product-price h3,
body:has(.single-product) .single-product-price h3 span,
body:has(.single-product) #amount {
  color: var(--nlf-plum) !important;
  font-size: clamp(26px, 2.4vw, 34px) !important;
  font-weight: 800 !important;
}

body:has(.single-product) .single-product-describe {
  max-width: 620px !important;
  margin: 0 0 20px !important;
  color: #56505c !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body:has(.single-product) .nlf-pack-options {
  gap: 12px !important;
  margin-bottom: 18px !important;
}

body:has(.single-product) .nlf-pack-card {
  min-height: 96px !important;
  grid-template-columns: 66px minmax(0, 1fr) auto !important;
  gap: 16px !important;
  padding: 14px 18px !important;
  border-radius: 12px !important;
  border-color: var(--pdp-border) !important;
  box-shadow: none !important;
}

body:has(.single-product) .nlf-pack-card strong {
  color: var(--pdp-text) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

body:has(.single-product) .nlf-pack-card small {
  color: var(--pdp-muted) !important;
  font-size: 12px !important;
}

body:has(.single-product) .nlf-pack-card b {
  color: var(--nlf-plum) !important;
  font-size: 16px !important;
}

body:has(.single-product) .nlf-pack-card.is-popular {
  border-color: var(--nlf-rose) !important;
  background: #ffeaf4 !important;
}

body:has(.single-product) .single-product-widget.product-quantity ul {
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 12px !important;
  margin: 0 !important;
}

body:has(.single-product) .single-product-widget.product-quantity input[type="number"],
body:has(.single-product) .single-product-widget.product-quantity .btn,
body:has(.single-product) .nlf-sticky-buy,
body:has(.single-product) .nlf-sticky-add {
  height: 54px !important;
  border-radius: 10px !important;
}

body:has(.single-product) .single-product-widget.product-quantity .btn {
  border: 1.5px solid var(--nlf-plum) !important;
  color: var(--nlf-plum) !important;
}

body:has(.single-product) .nlf-detail-sticky-actions {
  margin-top: 12px !important;
}

body:has(.single-product) .nlf-saabi-under-actions {
  margin: 14px 0 22px !important;
  gap: 18px !important;
}

body:has(.single-product) .nlf-saabi-tabs {
  margin: 20px 0 16px !important;
  padding: 4px !important;
  border-radius: 10px !important;
}

body:has(.single-product) .nlf-saabi-tabs button {
  min-height: 42px !important;
  font-size: 13px !important;
}

body:has(.single-product) .nlf-saabi-detail-copy {
  max-width: 660px !important;
  color: #625b65 !important;
  font-size: 14px !important;
}

body:has(.single-product) .nlf-saabi-accordion {
  margin-top: 20px !important;
}

body:has(.single-product) .nlf-saabi-accordion summary {
  min-height: 62px !important;
  font-size: 15px !important;
}

body:has(.single-product) .nlf-detail-benefits {
  margin-top: 46px !important;
  margin-bottom: 64px !important;
  min-height: 68px !important;
  padding: 14px 24px !important;
  gap: 16px !important;
}

body:has(.single-product) .related-part,
body:has(.single-product) .new-part {
  margin-bottom: 72px !important;
}

body:has(.single-product) .related-part .section-heading,
body:has(.single-product) .new-part .section-heading {
  margin-bottom: 28px !important;
}

body:has(.single-product) .related-part .section-heading h2,
body:has(.single-product) .new-part .section-heading h2 {
  color: var(--pdp-text) !important;
  font-size: clamp(30px, 3.3vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body:has(.single-product) .related-part .slick-list,
body:has(.single-product) .new-part .slick-list {
  margin: 0 -12px !important;
}

body:has(.single-product) .related-part .slick-slide,
body:has(.single-product) .new-part .slick-slide {
  padding: 0 12px !important;
}

body:has(.single-product) .related-part .product-card,
body:has(.single-product) .new-part .product-card {
  border-radius: 12px !important;
  box-shadow: 0 10px 22px rgba(41,37,50,.06) !important;
}

body:has(.single-product) .related-part .product-name h3,
body:has(.single-product) .new-part .product-name h3 {
  color: var(--pdp-text) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

body:has(.single-product) .related-part .product-price p,
body:has(.single-product) .new-part .product-price p {
  color: var(--nlf-plum) !important;
  font-size: 19px !important;
}

@media (max-width: 991px) {
  .nlf-detail-media {
    position: static !important;
  }

  body:has(.single-product) .single-product .row {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
}

@media (max-width: 767px) {
  body:has(.single-product) .single-banner,
  body:has(.single-product) .single-product,
  body:has(.single-product) .nlf-detail-benefits,
  body:has(.single-product) .related-part,
  body:has(.single-product) .new-part {
    width: calc(100% - 28px) !important;
  }

  body:has(.single-product) .single-product {
    margin-top: 14px !important;
  }

  body:has(.single-product) .single-product .row {
    gap: 30px !important;
  }

  body:has(.single-product) .single-product-name h3,
  body:has(.single-product) .single-product .single-product-info .single-product-name h3:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]) {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }

  body:has(.single-product) .single-product-describe {
    font-size: 14px !important;
  }

  body:has(.single-product) .nlf-pack-card {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    min-height: 86px !important;
    padding: 12px !important;
  }

  body:has(.single-product) .nlf-pack-card img {
    width: 48px !important;
    height: 48px !important;
  }

  body:has(.single-product) .single-product-widget.product-quantity ul {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }

  body:has(.single-product) .nlf-saabi-under-actions {
    display: grid !important;
    gap: 8px !important;
  }

  body:has(.single-product) .nlf-saabi-accordion summary {
    grid-template-columns: 34px 1fr auto !important;
    min-height: 58px !important;
    font-size: 14px !important;
  }

  body:has(.single-product) .nlf-detail-benefits {
    margin-top: 34px !important;
    margin-bottom: 50px !important;
    padding: 14px !important;
    gap: 10px !important;
  }

  body:has(.single-product) .related-part,
  body:has(.single-product) .new-part {
    margin-bottom: 56px !important;
  }

  body:has(.single-product) .related-part .slick-list,
  body:has(.single-product) .new-part .slick-list {
    margin: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  body:has(.single-product) .related-part .slick-list::-webkit-scrollbar,
  body:has(.single-product) .new-part .slick-list::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.single-product) .related-part .slick-track,
  body:has(.single-product) .new-part .slick-track {
    width: max-content !important;
    min-width: 0 !important;
    transform: none !important;
    display: flex !important;
    gap: 14px !important;
  }

  body:has(.single-product) .related-part .slick-slide,
  body:has(.single-product) .new-part .slick-slide {
    width: 252px !important;
    max-width: 252px !important;
    padding: 0 !important;
    float: none !important;
  }

  body:has(.single-product) .related-part .product-card,
  body:has(.single-product) .new-part .product-card {
    width: 252px !important;
    max-width: 252px !important;
    min-height: 330px !important;
  }

  body:has(.single-product) .related-part .slick-cloned,
  body:has(.single-product) .new-part .slick-cloned {
    display: none !important;
  }
}

/* Homepage promo polish: replace the old oversized oval treatment with a balanced category grid. */
body:not(:has(.single-product)) .nlf-trending {
  width: min(1180px, calc(100% - 40px)) !important;
  min-height: 348px !important;
  margin: 34px auto 56px !important;
  display: grid !important;
  grid-template-columns: minmax(292px, 360px) minmax(0, 1fr) !important;
  overflow: hidden !important;
  border: 1px solid rgba(82, 29, 83, .12) !important;
  border-radius: 18px !important;
  background: #eadde5 !important;
  box-shadow: 0 22px 48px rgba(82, 29, 83, .08) !important;
}

body:not(:has(.single-product)) .nlf-trending > div {
  min-height: 348px !important;
  padding: 44px 42px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(215, 67, 151, .32), transparent 30%),
    linear-gradient(145deg, #521d53 0%, #48164f 58%, #3c123f 100%) !important;
  color: #fff !important;
}

body:not(:has(.single-product)) .nlf-trending > div small {
  margin: 0 0 13px !important;
  color: var(--nlf-gold) !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body:not(:has(.single-product)) .nlf-trending > div h2 {
  margin: 0 0 17px !important;
  color: #fff !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: clamp(44px, 4vw, 60px) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.02 !important;
}

body:not(:has(.single-product)) .nlf-trending > div p {
  max-width: 276px !important;
  margin: 0 0 28px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
}

body:not(:has(.single-product)) .nlf-trending > div a {
  min-height: 52px !important;
  padding: 0 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--nlf-rose) !important;
  color: #fff !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 28px rgba(215, 67, 151, .26) !important;
}

body:not(:has(.single-product)) .nlf-trending nav {
  padding: 26px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-content: stretch !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.36), rgba(255,255,255,0)),
    #eadde5 !important;
}

body:not(:has(.single-product)) .nlf-trending nav a {
  width: 100% !important;
  min-height: 138px !important;
  margin: 0 !important;
  padding: 18px 14px !important;
  display: flex !important;
  align-self: stretch !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: stretch !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(82, 29, 83, .09) !important;
  border-radius: 16px !important;
  background: rgba(255, 250, 252, .94) !important;
  color: var(--nlf-plum) !important;
  font-family: var(--nlf-ui-font) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1.18 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: 0 12px 24px rgba(82, 29, 83, .055) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body:not(:has(.single-product)) .nlf-trending nav a::before {
  content: "" !important;
  width: 44px !important;
  height: 44px !important;
  display: block !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.88) 0 18%, transparent 19%),
    linear-gradient(135deg, rgba(215, 67, 151, .22), rgba(82, 29, 83, .1)) !important;
  box-shadow: inset 0 0 0 1px rgba(215, 67, 151, .18) !important;
}

body:not(:has(.single-product)) .nlf-trending nav a:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(215, 67, 151, .32) !important;
  box-shadow: 0 18px 34px rgba(82, 29, 83, .1) !important;
}

body:not(:has(.single-product)) .nlf-trending nav a:nth-child(7) {
  grid-column: span 2 !important;
}

@media (max-width: 1199px) {
  body:not(:has(.single-product)) .nlf-trending {
    grid-template-columns: 320px minmax(0, 1fr) !important;
  }

  body:not(:has(.single-product)) .nlf-trending nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(:has(.single-product)) .nlf-trending nav a:nth-child(7) {
    grid-column: auto !important;
  }
}

@media (max-width: 767px) {
  body:not(:has(.single-product)) .nlf-trending {
    width: calc(100% - 28px) !important;
    min-height: 0 !important;
    margin: 24px auto 38px !important;
    grid-template-columns: 1fr !important;
    border-radius: 20px !important;
  }

  body:not(:has(.single-product)) .nlf-trending > div {
    min-height: 226px !important;
    padding: 30px 22px 28px !important;
  }

  body:not(:has(.single-product)) .nlf-trending > div h2 {
    font-size: 38px !important;
  }

  body:not(:has(.single-product)) .nlf-trending > div p {
    max-width: 250px !important;
    font-size: 15px !important;
  }

  body:not(:has(.single-product)) .nlf-trending nav {
    padding: 14px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body:not(:has(.single-product)) .nlf-trending nav a,
  body:not(:has(.single-product)) .nlf-trending nav a:nth-child(7) {
    grid-column: auto !important;
    min-height: 92px !important;
    border-radius: 14px !important;
    font-size: 11px !important;
  }

  body:not(:has(.single-product)) .nlf-trending nav a::before {
    width: 34px !important;
    height: 34px !important;
  }
}

/* =============================================================
   v6.6 polish — cart drawer scroll/buttons, branded header,
   checkout layout, related-products cards, shop container.
   ============================================================= */

/* --- Cart drawer: lock the panel layout so the list scrolls
       while header + totals + CTAs stay anchored. ---------- */
.right-sidebar.nlf-cart-drawer .right-sidebar-group {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.right-sidebar.nlf-cart-drawer .right-sidebar-header {
  flex: 0 0 auto !important;
}

.right-sidebar.nlf-cart-drawer #cart-render {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: 14px 16px 0 !important;
  overflow: hidden !important;
}

.right-sidebar.nlf-cart-drawer .cart-list,
.right-sidebar.nlf-cart-drawer .cart-list.overflow-auto {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 4px 8px 0 !important;
  list-style: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--nlf-line) transparent !important;
}

.right-sidebar.nlf-cart-drawer .cart-list::-webkit-scrollbar {
  width: 6px !important;
}
.right-sidebar.nlf-cart-drawer .cart-list::-webkit-scrollbar-thumb {
  background: var(--nlf-line) !important;
  border-radius: 999px !important;
}

.right-sidebar.nlf-cart-drawer .cart-price {
  flex: 0 0 auto !important;
  margin: 12px 0 10px !important;
}

.right-sidebar.nlf-cart-drawer .cart-btn {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
  margin: 0 -16px !important;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid var(--nlf-line) !important;
  background: #fff !important;
}

.right-sidebar.nlf-cart-drawer .cart-btn a,
.right-sidebar.nlf-cart-drawer .cart-btn a:link,
.right-sidebar.nlf-cart-drawer .cart-btn a:visited {
  pointer-events: auto !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.right-sidebar.nlf-cart-drawer .cart-btn .btn-light {
  background: #fff !important;
  color: var(--nlf-plum) !important;
  border: 1px solid var(--nlf-line) !important;
}

/* The drawer overlay must not sit on top of the panel. */
.right-sidebar.nlf-cart-drawer .right-sidebar-cover {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  z-index: 0 !important;
  background: transparent !important;
}
.right-sidebar.nlf-cart-drawer .right-sidebar-group {
  position: fixed !important;
  z-index: 2 !important;
}

/* --- Cart drawer header: brand it with a real logo + tagline --- */
.right-sidebar.nlf-cart-drawer .right-sidebar-header {
  gap: 14px !important;
  padding: 18px 18px 16px !important;
  background:
    linear-gradient(135deg, rgba(212,63,145,.08), rgba(82,29,83,.04)),
    #fff !important;
  border-bottom: 1px solid var(--nlf-line) !important;
}

.right-sidebar.nlf-cart-drawer .sidebar-logo {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: var(--nlf-chip) !important;
  overflow: hidden !important;
}

.right-sidebar.nlf-cart-drawer .sidebar-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.right-sidebar.nlf-cart-drawer .sidebar-logo .nlf-logo-mark {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  background: var(--nlf-plum) !important;
  color: #fff !important;
  font-family: var(--nlf-display-font) !important;
  font-style: normal !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.right-sidebar.nlf-cart-drawer .sidebar-heading {
  flex: 1 1 auto !important;
}

.right-sidebar.nlf-cart-drawer .sidebar-heading h4 {
  margin: 0 !important;
  color: var(--nlf-plum) !important;
  font-family: var(--nlf-display-font) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

.right-sidebar.nlf-cart-drawer .sidebar-heading p {
  margin: 3px 0 0 !important;
  color: var(--nlf-muted) !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
}

.right-sidebar.nlf-cart-drawer .right-cross {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--nlf-plum) !important;
  cursor: pointer !important;
}
.right-sidebar.nlf-cart-drawer .right-cross:hover {
  background: var(--nlf-chip) !important;
}

/* --- Checkout page: tighten order summary into one-line items --- */
.checkout_form .col-xl-5.checkout-billing,
.checkout_form .col-xl-7 {
  padding: 22px 24px !important;
  background: #fff !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 38px rgba(75,23,74,.05) !important;
}

.checkout_form .row > [class*="col-xl-"] + [class*="col-xl-"] {
  margin-top: 0 !important;
}

@media (min-width: 1200px) {
  .checkout_form > .section > .container > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
  }
  .checkout_form .col-xl-7,
  .checkout_form .col-xl-5 {
    flex: unset !important;
    max-width: unset !important;
    width: 100% !important;
  }
}

/* Order summary table → clean rows */
.checkout-billing .bigbag_responsive-table {
  border-spacing: 0 !important;
}
.checkout-billing .bigbag_responsive-table thead {
  display: none !important;
}
.checkout-billing .bigbag_responsive-table,
.checkout-billing .bigbag_responsive-table tbody,
.checkout-billing .bigbag_responsive-table tr,
.checkout-billing .bigbag_responsive-table td {
  display: block !important;
  width: 100% !important;
}
.checkout-billing .bigbag_responsive-table tr {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px 14px !important;
  margin: 0 0 8px 0 !important;
  border: 1px solid var(--nlf-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
}
.checkout-billing .bigbag_responsive-table td {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.checkout-billing .bigbag_responsive-table td[data-title="Product"] {
  grid-column: 1 !important;
  min-width: 0 !important;
}
.checkout-billing .bigbag_responsive-table td[data-title="Quantity"] {
  grid-column: 2 !important;
  color: var(--nlf-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  justify-self: end !important;
}
.checkout-billing .bigbag_responsive-table td[data-title="Total"] {
  grid-column: 3 !important;
  justify-self: end !important;
  color: var(--nlf-plum) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.checkout-billing .bigbag_cart-product-wrapper {
  display: block !important;
}
.checkout-billing .bigbag_cart-product-body h6 {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
.checkout-billing .bigbag_cart-product-body h6 a {
  color: var(--nlf-plum) !important;
  text-decoration: none !important;
}
.checkout-billing .bigbag_cart-product-body p {
  margin: 3px 0 0 !important;
  color: var(--nlf-muted) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}
.checkout-billing .bigbag_responsive-table tr.total {
  background: var(--nlf-chip) !important;
  border-color: transparent !important;
  margin-top: 4px !important;
}
.checkout-billing .bigbag_responsive-table tr.total td[data-title="Total"],
.checkout-billing .bigbag_responsive-table tr.total td:last-child {
  font-size: 14px !important;
  font-weight: 800 !important;
}
.checkout-billing .bigbag_responsive-table tr.total:has(.total_cost_amount) {
  background: var(--nlf-plum) !important;
  color: #fff !important;
  border: 0 !important;
}
.checkout-billing .bigbag_responsive-table tr.total:has(.total_cost_amount) h6,
.checkout-billing .bigbag_responsive-table tr.total:has(.total_cost_amount) td,
.checkout-billing .bigbag_responsive-table tr.total:has(.total_cost_amount) strong {
  color: #fff !important;
  font-size: 16px !important;
}
.checkout-billing .bigbag_responsive-table tr.shipping_charge.none {
  display: none !important;
}

.checkout-billing .bigbag-checkout-payment {
  margin-top: 14px !important;
  padding: 16px !important;
  border-radius: 16px !important;
  background: var(--nlf-muted-bg) !important;
  border: 1px solid var(--nlf-line) !important;
}
.checkout-billing .bigbag-checkout-payment h6 {
  margin: 0 0 10px !important;
  font: 700 14px/1 var(--nlf-ui-font) !important;
  color: var(--nlf-plum) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.checkout-billing .bigbag-checkout-payment hr { display: none !important; }
.checkout-billing .wc_payment_method {
  margin-top: 8px !important;
  padding: 12px 14px !important;
}
.checkout-billing .checkout_submit_btn {
  width: 100% !important;
  min-height: 52px !important;
  margin-top: 14px !important;
  border-radius: 999px !important;
  background: var(--nlf-rose) !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 28px rgba(215,67,151,.26) !important;
}

/* Billing details column should feel balanced even when empty */
.checkout_form .col-xl-7 {
  min-height: 100% !important;
}
.checkout_form h4 {
  margin: 4px 0 16px !important;
  font-size: 22px !important;
}
.checkout_form .form-group {
  margin-bottom: 14px !important;
}
.checkout_form .form-group label {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--nlf-plum) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

/* --- Related / New Arrivals product cards on detail page --- */
.related-part .product-card,
.new-part .product-card {
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.related-part .product-card .product-img,
.new-part .product-card .product-img {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--nlf-muted-bg) !important;
  overflow: hidden !important;
}
.related-part .product-card .product-img > a,
.new-part .product-card .product-img > a {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.related-part .product-card .product-img img,
.new-part .product-card .product-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .3s ease !important;
}
.related-part .product-card:hover .product-img img,
.new-part .product-card:hover .product-img img {
  transform: scale(1.04) !important;
}
.related-part .product-card .product-content,
.new-part .product-card .product-content,
.related-part .product-card .product-name,
.new-part .product-card .product-name,
.related-part .product-card .product-price,
.new-part .product-card .product-price {
  width: auto !important;
  margin: 0 !important;
}
.related-part .product-card .product-content,
.new-part .product-card .product-content {
  padding: 12px 14px 6px !important;
}
.related-part .product-card .product-cate p,
.new-part .product-card .product-cate p {
  margin: 0 !important;
  color: var(--nlf-rose) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.related-part .product-card .product-name,
.new-part .product-card .product-name {
  padding: 4px 14px 0 !important;
}
.related-part .product-card .product-name h3,
.new-part .product-card .product-name h3 {
  min-height: 36px !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: var(--nlf-plum) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}
.related-part .product-card .product-price,
.new-part .product-card .product-price {
  padding: 6px 14px 14px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 8px !important;
}
.related-part .product-card .product-price p,
.new-part .product-card .product-price p {
  margin: 0 !important;
  color: var(--nlf-plum) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
.related-part .product-card .product-rating,
.new-part .product-card .product-rating {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
}

/* --- Shop page container: widen and tidy --- */
.product-list,
.nlf-shop-hero,
.nlf-shop-strip,
.nlf-shop-list-wrap {
  width: min(1280px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.product-list { padding: 8px 0 64px !important; }

.product-parent {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 18px !important;
}

.product-parent .product-card {
  border-radius: 18px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(75,23,74,.05) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.product-parent .product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 36px rgba(75,23,74,.12) !important;
}
.product-parent .product-card .product-img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: var(--nlf-muted-bg) !important;
  overflow: hidden !important;
}
.product-parent .product-card .product-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 991px) {
  .product-parent {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (max-width: 575px) {
  .product-parent {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* --- Checkout summary on mobile: stay readable --- */
@media (max-width: 767px) {
  .checkout-billing .bigbag_responsive-table tr {
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto !important;
  }
  .checkout-billing .bigbag_responsive-table td[data-title="Product"] {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .checkout-billing .bigbag_responsive-table td[data-title="Quantity"] {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }
  .checkout-billing .bigbag_responsive-table td[data-title="Total"] {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}
/* --- end v6.6 polish --- */
