/**
 * Libaas by Eman - Core Luxury Theme Styling
 * High-Fashion Editorial Pakistani Women's Couture
 * GSAP-Powered Micro-Interactions & Swiper Carousels
 */

/* ==========================================================================
   1. Reset & Global Styles
   ========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  max-width: 100%;
}

body {
  font-family: var(--font-sans);
  color: var(--lbe-text);
  background-color: var(--lbe-bg);
  line-height: 1.6;
  font-weight: 400;
  overflow-x: clip;
  max-width: 100%;
  width: 100%;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  outline: none;
}

ul,
ol {
  list-style: none;
}

.lbe-container {
  max-width: var(--site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.lbe-content-container {
  max-width: 900px;
}

/* Typography Utilities */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-serif);
  color: var(--lbe-primary);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.lbe-section-header {
  text-align: center;
  margin-bottom: 48px;
}

.lbe-section-subtitle {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--lbe-accent);
  font-weight: 600;
  margin-bottom: 8px;
}

.lbe-section-title {
  font-size: 2.5rem;
  color: var(--lbe-primary);
  margin-bottom: 12px;
}

@media (min-width: 768px) {
  .lbe-section-title {
    font-size: 2.85rem;
  }
}

.lbe-title-divider {
  width: 60px;
  height: 2px;
  background-color: var(--lbe-accent);
  margin: 0 auto 16px auto;
}

.lbe-divider-left {
  margin: 0 0 16px 0;
}

.lbe-section-desc {
  color: var(--lbe-text-muted);
  font-size: 1rem;
  max-width: 600px;
  margin: 0 auto;
}

/* Button Styles */
.lbe-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: var(--lbe-primary);
  color: #FFFFFF;
  padding: 14px 28px;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: var(--radius-sm);
  transition: all var(--transition-fast);
  border: 1px solid var(--lbe-primary);
}

.lbe-btn-primary:hover {
  background-color: var(--lbe-accent);
  border-color: var(--lbe-accent);
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: var(--shadow-card);
}

.lbe-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: transparent;
  color: var(--lbe-primary);
  padding: 14px 28px;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: var(--radius-sm);
  border: 1px solid var(--lbe-primary);
  transition: all var(--transition-fast);
}

.lbe-btn-outline:hover {
  background-color: var(--lbe-primary);
  color: #FFFFFF;
  transform: translateY(-2px);
}

/* WhatsApp Button */
.lbe-btn-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--lbe-whatsapp);
  color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: var(--radius-sm);
  transition: all var(--transition-fast);
}

.lbe-btn-whatsapp:hover {
  background-color: var(--lbe-whatsapp-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.35);
}

.lbe-btn-whatsapp-large {
  width: 100%;
  padding: 14px 24px;
  font-size: 1rem;
}

.lbe-btn-whatsapp-outline {
  background-color: transparent;
  color: var(--lbe-whatsapp-dark);
  border: 1px solid var(--lbe-whatsapp);
  padding: 14px 24px;
}

.lbe-btn-whatsapp-outline:hover {
  background-color: var(--lbe-whatsapp);
  color: #FFFFFF;
}

/* Badges */
.lbe-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
}

.lbe-badge-code {
  background-color: var(--lbe-primary);
  color: #FFFFFF;
}

.lbe-badge-sale {
  background-color: var(--lbe-sale);
  color: #FFFFFF;
}

.lbe-badge-out {
  background-color: #555555;
  color: #FFFFFF;
}

/* ==========================================================================
   2. Header & Navbar
/* ==========================================================================
   2. Top Announcement Bar & Infinite Marquee Ticker
   ========================================================================== */
.lbe-announcement-bar {
  background-color: var(--lbe-primary-dark);
  color: var(--lbe-accent-light);
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 8px 0;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  position: relative;
  z-index: 1001;
}

.lbe-announcement-bar.lbe-has-static {
  text-align: center;
}

.lbe-announcement-container {
  max-width: 100% !important;
  padding: 0 16px !important;
}

.lbe-marquee-wrapper {
  overflow: hidden;
  user-select: none;
  display: flex;
  position: relative;
  width: 100%;
}

.lbe-announcement-bar.lbe-pause-hover .lbe-marquee-wrapper:hover .lbe-marquee-track,
.lbe-announcement-bar.lbe-pause-hover .lbe-marquee-wrapper:focus .lbe-marquee-track,
.lbe-announcement-bar.lbe-pause-hover .lbe-marquee-wrapper:active .lbe-marquee-track {
  animation-play-state: paused;
}

.lbe-marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: lbeMarqueeScroll var(--lbe-marquee-speed, 32s) linear infinite;
}

@keyframes lbeMarqueeScroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

.lbe-marquee-content {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.lbe-marquee-item {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  padding: 0 4px;
}

.lbe-marquee-sep {
  display: inline-block;
  margin: 0 22px;
  color: var(--lbe-accent);
  font-size: 0.9375rem;
  opacity: 0.9;
  line-height: 1;
}

.lbe-announcement-link {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

.lbe-announcement-link:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

.lbe-site-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: rgba(250, 249, 246, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--lbe-border);
  transition: all var(--transition-fast);
}

.lbe-site-header.is-scrolled {
  box-shadow: var(--shadow-subtle);
  background-color: rgba(255, 255, 255, 0.98);
}

.lbe-navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
}

.lbe-brand-logo-img {
  height: 52px;
  max-height: 56px;
  width: auto;
  display: block;
  object-fit: contain;
  transition: transform var(--transition-fast);
}

.lbe-brand-logo-link:hover .lbe-brand-logo-img {
  transform: scale(1.02);
}

@media (max-width: 767px) {
  .lbe-brand-logo-img {
    height: 42px;
    max-height: 46px;
  }
}

.lbe-brand-text-fallback {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--lbe-primary);
  letter-spacing: 0.05em;
}

.lbe-brand-text-fallback em {
  font-family: var(--font-script);
  font-style: italic;
  color: var(--lbe-accent);
}

.lbe-desktop-nav {
  display: none;
}

@media (min-width: 992px) {
  .lbe-desktop-nav {
    display: block;
  }
}

.lbe-primary-menu {
  display: flex;
  align-items: center;
  gap: 32px;
}

.lbe-primary-menu>li>a {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--lbe-primary);
  letter-spacing: 0.03em;
  padding: 10px 0;
  position: relative;
}

.lbe-primary-menu>li>a::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: var(--lbe-accent);
  transition: width var(--transition-fast);
}

.lbe-primary-menu>li:hover>a::after {
  width: 100%;
}

.lbe-primary-menu li.menu-item-has-children {
  position: relative;
}

.lbe-primary-menu li.menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.lbe-primary-menu li.menu-item-has-children > a .lbe-sub-chevron {
  transition: transform var(--transition-fast);
  opacity: 0.7;
}

.lbe-primary-menu li.menu-item-has-children:hover > a .lbe-sub-chevron {
  transform: rotate(180deg);
  opacity: 1;
  color: var(--lbe-accent);
}

/* Luxury Submenu Dropdown Card */
.lbe-primary-menu .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 240px;
  background-color: #FFFFFF;
  box-shadow: 0 16px 36px -4px rgba(26, 24, 23, 0.12), 0 4px 12px rgba(26, 24, 23, 0.04);
  border-radius: 12px;
  border: 1px solid #EAE5DD;
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
  z-index: 1000;
  list-style: none;
}

/* Invisible Hover Bridge spanning trigger gap */
.lbe-primary-menu .sub-menu::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  width: 100%;
  height: 14px;
  background: transparent;
}

.lbe-primary-menu li.menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lbe-primary-menu .sub-menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lbe-primary-menu .sub-menu li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #2D2825;
  border-radius: 8px;
  transition: all 0.18s ease;
  line-height: 1.4;
  letter-spacing: -0.01em;
  text-decoration: none;
}

.lbe-primary-menu .sub-menu li a:hover {
  background-color: #FAF7F2;
  color: var(--lbe-accent);
  padding-left: 17px;
}

.lbe-primary-menu .sub-menu li:not(:last-child) {
  border-bottom: 1px solid #F5F1EB;
}

/* Sale Navigation Item & Dropdown */
.lbe-nav-sale-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.lbe-nav-sale-badge {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  border-radius: 4px;
  background-color: #FEE2E2;
  color: #DC2626;
  line-height: 1;
  vertical-align: middle;
}

.lbe-sale-sub-menu {
  min-width: 250px !important;
}

.lbe-sale-view-all a {
  font-weight: 700 !important;
  color: #DC2626 !important;
  background-color: #FEF2F2 !important;
  border-bottom: 1px solid #FEE2E2 !important;
}

.lbe-sale-view-all a:hover {
  background-color: #FEE2E2 !important;
  color: #B91C1C !important;
}

.lbe-sale-count-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #8C867E;
  background-color: #F4EFEA;
  padding: 2px 7px;
  border-radius: 9999px;
  min-width: 20px;
  text-align: center;
  display: none;
}

.lbe-primary-menu .sub-menu li a:hover .lbe-sale-count-badge {
  background-color: #EFE9E1;
  color: var(--lbe-accent);
}

.lbe-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lbe-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: var(--radius-full);
  color: var(--lbe-primary);
  transition: all var(--transition-fast);
  position: relative;
}

.lbe-action-btn:hover {
  background-color: var(--lbe-accent-subtle);
  color: var(--lbe-accent);
}

/* Customer Account Header Action & Popover */
.lbe-account-action-wrap {
  position: relative;
  display: inline-flex;
}

/* Hover bridge between button and dropdown to prevent premature menu closure */
.lbe-account-action-wrap::after {
  content: '';
  position: absolute;
  top: 100%;
  right: -10px;
  width: 140px;
  height: 20px;
  background: transparent;
  pointer-events: auto;
}

.lbe-header-account {
  color: var(--lbe-primary);
}

.lbe-account-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: 270px;
  background-color: #FFFFFF;
  border-radius: 14px;
  border: 1px solid var(--lbe-border);
  box-shadow: 0 12px 36px rgba(20, 19, 17, 0.12);
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s ease;
  transition-delay: 0.15s;
  z-index: 1200;
  pointer-events: none;
}

/* Secondary hover bridge from the popover top upwards */
.lbe-account-dropdown::after {
  content: '';
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  height: 24px;
  background: transparent;
  pointer-events: auto;
}

.lbe-account-dropdown::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 14px;
  width: 10px;
  height: 10px;
  background-color: #FFFFFF;
  border-top: 1px solid var(--lbe-border);
  border-left: 1px solid var(--lbe-border);
  transform: rotate(45deg);
  z-index: 2;
}

@media (min-width: 992px) {
  .lbe-account-action-wrap:hover .lbe-account-dropdown,
  .lbe-account-action-wrap:focus-within .lbe-account-dropdown,
  .lbe-account-dropdown.is-active,
  .lbe-account-dropdown.is-hover-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition-delay: 0s;
  }
}

@media (max-width: 991px) {
  .lbe-account-dropdown {
    display: none !important;
  }
}

.lbe-acc-header {
  padding-bottom: 12px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--lbe-border);
}

.lbe-acc-kicker {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lbe-accent);
  display: block;
}

.lbe-acc-name {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 800;
  color: var(--lbe-primary);
  margin: 2px 0 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lbe-acc-desc {
  font-size: 11px;
  color: var(--lbe-text-muted);
  line-height: 1.4;
  margin: 4px 0 0 0;
}

.lbe-acc-menu {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lbe-acc-menu li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--lbe-text);
  text-decoration: none;
  transition: all 0.15s ease;
}

.lbe-acc-menu li a svg {
  color: #8C857D;
  transition: color 0.15s ease;
  flex-shrink: 0;
}

.lbe-acc-menu li a:hover {
  background-color: #FAF7F2;
  color: var(--lbe-primary);
  transform: translateX(2px);
}

.lbe-acc-menu li a:hover svg {
  color: var(--lbe-accent);
}

.lbe-acc-divider {
  height: 1px;
  background-color: var(--lbe-border);
  margin: 6px 0;
}

.lbe-acc-logout {
  color: #C0392B !important;
}

.lbe-acc-logout svg {
  color: #C0392B !important;
}

.lbe-acc-logout:hover {
  background-color: #FDEDEC !important;
}

.lbe-acc-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}

.lbe-btn-block {
  width: 100%;
  text-align: center;
  padding: 9px 14px;
  font-size: 12px;
  border-radius: 8px;
}

.lbe-acc-sublink {
  font-size: 11px;
  font-weight: 700;
  color: var(--lbe-accent);
  text-align: center;
  text-decoration: underline;
  transition: color 0.15s ease;
}

.lbe-acc-sublink:hover {
  color: var(--lbe-primary);
}

.lbe-cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background-color: var(--lbe-accent);
  color: #FFFFFF;
  font-size: 0.6875rem;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
}

.lbe-nav-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 38px;
  height: 38px;
}

@media (min-width: 992px) {
  .lbe-nav-toggle {
    display: none;
  }
}

.lbe-hamburger-bar {
  width: 22px;
  height: 2px;
  background-color: var(--lbe-primary);
  transition: all var(--transition-fast);
}

/* ==========================================================================
   3. Drawers & Modals (Mobile Nav, Search, Quick View)
   ========================================================================== */
.lbe-drawer-backdrop,
.lbe-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(14, 13, 11, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1500;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-fast), visibility var(--transition-fast);
}

.lbe-drawer-backdrop.is-active,
.lbe-modal-backdrop.is-active {
  opacity: 1;
  visibility: visible;
}

body.lbe-drawer-open .lbe-whatsapp-floating-wrapper {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.6) !important;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
}

.lbe-mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 340px;
  max-width: 88vw;
  background-color: #FFFFFF;
  z-index: 1600;
  transform: translateX(-100%);
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  box-shadow: 12px 0 40px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

.lbe-mobile-drawer.is-active {
  transform: translateX(0);
}

.lbe-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--lbe-border);
  background-color: #FCFBF9;
}

.lbe-drawer-brand {
  display: flex;
  flex-direction: column;
}

.lbe-drawer-brand-logo {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--lbe-primary);
  line-height: 1.15;
}

.lbe-drawer-brand-logo em {
  font-style: italic;
  font-weight: 400;
  color: var(--lbe-gold);
}

.lbe-drawer-kicker {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lbe-accent);
  margin-top: 2px;
}

.lbe-drawer-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--lbe-border);
  background-color: #FFFFFF;
  color: var(--lbe-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}

.lbe-drawer-close:hover {
  background-color: var(--lbe-primary);
  color: #FFFFFF;
}

.lbe-drawer-body {
  padding: 16px 20px 24px 20px;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  -webkit-overflow-scrolling: touch;
}

.lbe-mobile-menu-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lbe-menu-item {
  list-style: none;
}

.lbe-menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--lbe-primary);
  text-decoration: none;
  transition: all 0.18s ease;
}

.lbe-menu-link:hover,
.lbe-menu-link:active {
  background-color: #FAF7F2;
  color: var(--lbe-accent);
  transform: translateX(3px);
}

.lbe-menu-label-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lbe-menu-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  line-height: 1;
}

.lbe-badge-hot {
  background-color: var(--lbe-accent);
  color: #FFFFFF;
}

.lbe-badge-luxury {
  background-color: var(--lbe-gold);
  color: #141311;
}

.lbe-badge-winter {
  background-color: #2B3A42;
  color: #FFFFFF;
}

.lbe-menu-chevron {
  color: #B0A79E;
  transition: transform 0.2s ease, color 0.2s ease;
  flex-shrink: 0;
}

.lbe-menu-link:hover .lbe-menu-chevron {
  transform: translateX(3px);
  color: var(--lbe-accent);
}

.lbe-menu-item-highlight .lbe-menu-link {
  background-color: #F7F4EF;
  border: 1px solid #EAE4DC;
  font-weight: 700;
}

/* Fashion Concierge Card */
.lbe-drawer-cta-box {
  margin-top: 24px;
  background: linear-gradient(145deg, #FAF7F2 0%, #F5EFE6 100%);
  border: 1px solid #EBE5DC;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 4px 14px rgba(20, 19, 17, 0.04);
}

.lbe-drawer-cta-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.lbe-cta-icon-wrap {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background-color: #25D366;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lbe-drawer-cta-title {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 800;
  color: var(--lbe-primary);
  margin: 0 0 2px 0;
}

.lbe-drawer-cta-text {
  font-size: 11px;
  color: var(--lbe-text-muted);
  line-height: 1.4;
  margin: 0;
}

.lbe-btn-whatsapp-drawer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 10px 16px;
  border-radius: 8px;
  background-color: #25D366;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.28);
}

.lbe-btn-whatsapp-drawer:hover {
  background-color: #1EBE5D;
  transform: translateY(-1px);
}

/* Trust Pillars */
.lbe-drawer-trust-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--lbe-border);
  gap: 6px;
}

.lbe-trust-pillar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  color: #8A827A;
  text-align: center;
  flex: 1;
}

.lbe-trust-pillar svg {
  color: var(--lbe-gold);
}

/* Libaas Authentic Luxury Search Modal */
.lbe-search-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 30px 16px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.lbe-search-modal.is-active {
  opacity: 1;
  visibility: visible;
}

.lbe-search-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(30, 29, 26, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 1;
}

.lbe-search-modal-dialog {
  position: relative;
  z-index: 2;
  max-width: 880px;
  width: 100%;
  margin: 40px auto 30px auto;
  background-color: var(--lbe-surface);
  border-radius: 16px;
  padding: 32px 36px 36px;
  box-shadow: 0 25px 50px -12px rgba(30, 29, 26, 0.2), 0 0 0 1px var(--lbe-border);
  border-top: 3px solid var(--lbe-accent);
}

.lbe-search-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--lbe-bg);
  border: 1px solid var(--lbe-border);
  color: var(--lbe-primary);
  transition: all 0.2s ease;
  cursor: pointer;
  padding: 0;
}

.lbe-search-close:hover {
  background: var(--lbe-primary);
  color: #ffffff;
  border-color: var(--lbe-primary);
  transform: rotate(90deg);
}

.lbe-search-header-meta {
  padding-right: 48px;
  margin-bottom: 16px;
}

.lbe-search-kicker {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lbe-accent);
  margin-bottom: 4px;
}

.lbe-search-heading {
  font-family: var(--font-serif);
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--lbe-primary);
  margin: 0;
  line-height: 1.25;
}

/* Search Input Bar */
.lbe-search-bar-wrap {
  margin-bottom: 12px;
}

.lbe-search-input-inner {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--lbe-bg);
  border: 1.5px solid var(--lbe-border-dark);
  border-radius: 12px;
  padding: 4px 6px 4px 16px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.lbe-search-input-inner:focus-within {
  border-color: var(--lbe-accent);
  box-shadow: 0 0 0 3px rgba(166, 132, 103, 0.15);
  background: #ffffff;
}

.lbe-search-icon-prefix {
  color: var(--lbe-text-muted);
  display: flex;
  align-items: center;
  margin-right: 12px;
  flex-shrink: 0;
}

.lbe-search-field {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 1.05rem;
  color: var(--lbe-primary);
  outline: none;
  padding: 10px 0;
  font-family: inherit;
  width: 100%;
  -webkit-appearance: none;
}

.lbe-search-field::-webkit-search-cancel-button,
.lbe-search-field::-webkit-search-decoration,
.lbe-search-field::-webkit-search-results-button,
.lbe-search-field::-webkit-search-results-decoration {
  -webkit-appearance: none;
  display: none;
}

.lbe-search-field::placeholder {
  color: var(--lbe-text-muted);
  opacity: 0.85;
}

.lbe-search-clear-btn {
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: var(--lbe-text-muted);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  transition: all 0.2s ease;
}

.lbe-search-clear-btn:hover {
  color: var(--lbe-primary);
  background: var(--lbe-border);
}

.lbe-search-submit-btn {
  background: var(--lbe-primary);
  color: #FAF9F6;
  border: none;
  padding: 10px 22px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease;
  flex-shrink: 0;
}

.lbe-search-submit-btn:hover {
  background: var(--lbe-accent);
  color: #ffffff;
}

/* Trending / Quick Search Tags */
.lbe-quick-search-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 22px;
}

.lbe-quick-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lbe-text-muted);
  margin-right: 4px;
}

.lbe-search-tag-chip {
  background: var(--lbe-bg);
  border: 1px solid var(--lbe-border);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--lbe-text);
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
}

.lbe-search-tag-chip:hover {
  background: var(--lbe-primary);
  color: #ffffff;
  border-color: var(--lbe-primary);
}

/* Dynamic Content Section */
.lbe-search-dynamic-area {
  border-top: 1px solid var(--lbe-border);
  padding-top: 20px;
}

.lbe-search-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.lbe-ssh-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lbe-ssh-title {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--lbe-primary);
}

.lbe-ssh-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--lbe-accent-subtle);
  color: var(--lbe-accent-hover);
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid var(--lbe-accent-light);
}

.lbe-ssh-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--lbe-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

.lbe-ssh-link:hover {
  color: var(--lbe-accent);
}

/* Product Cards Grid */
.lbe-search-results-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.lbe-search-product-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid var(--lbe-border);
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.lbe-search-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px -5px rgba(30, 29, 26, 0.12);
  border-color: var(--lbe-accent);
}

.lbe-spc-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  background: var(--lbe-bg);
  overflow: hidden;
}

.lbe-spc-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.lbe-search-product-card:hover .lbe-spc-img-wrap img {
  transform: scale(1.04);
}

.lbe-spc-code-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: rgba(30, 29, 26, 0.88);
  color: #ffffff;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 3px 7px;
  border-radius: 3px;
  border: 1px solid rgba(166, 132, 103, 0.4);
  backdrop-filter: blur(4px);
}

.lbe-spc-info {
  padding: 12px 10px 14px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.lbe-spc-cat {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lbe-text-muted);
  margin-bottom: 4px;
}

.lbe-spc-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--lbe-primary);
  margin: 0 0 6px 0;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lbe-spc-price {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--lbe-primary);
  margin-top: auto;
}

.lbe-spc-price del {
  color: var(--lbe-text-light);
  font-weight: 400;
  font-size: 0.8125rem;
  margin-right: 4px;
}

.lbe-spc-price ins {
  text-decoration: none;
  color: var(--lbe-primary);
}

/* Live Search View All Footer */
.lbe-search-results-footer {
  margin-top: 20px;
  text-align: center;
}

.lbe-search-view-all-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--lbe-bg);
  border: 1.5px solid var(--lbe-primary);
  color: var(--lbe-primary);
  font-weight: 600;
  font-size: 0.875rem;
  padding: 10px 24px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.lbe-search-view-all-btn:hover {
  background: var(--lbe-primary);
  color: #ffffff;
}

/* Loading Spinner & Empty States */
.lbe-search-spinner-wrap {
  padding: 44px 0;
  text-align: center;
  color: var(--lbe-primary);
}

.lbe-search-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid var(--lbe-border);
  border-top-color: var(--lbe-accent);
  border-radius: 50%;
  animation: lbeSpin 0.75s linear infinite;
  margin: 0 auto 12px;
}

@keyframes lbeSpin {
  to { transform: rotate(360deg); }
}

.lbe-search-empty-state {
  padding: 36px 16px;
  text-align: center;
}

.lbe-search-empty-state svg,
.lbe-search-empty-icon svg {
  color: var(--lbe-accent);
  margin-bottom: 12px;
}

.lbe-empty-title,
.lbe-search-empty-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--lbe-primary);
  margin-bottom: 6px;
}

.lbe-empty-text,
.lbe-search-empty-desc {
  font-size: 0.875rem;
  color: var(--lbe-text-muted);
  margin-bottom: 16px;
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
}

.lbe-suggest-tags,
.lbe-search-suggest-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.lbe-suggest-tag {
  background: var(--lbe-bg);
  border: 1px solid var(--lbe-border);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--lbe-primary);
  cursor: pointer;
  transition: all 0.2s ease;
}

.lbe-suggest-tag:hover {
  background: var(--lbe-primary);
  color: #ffffff;
}

/* Search Modal Mobile Responsive */
@media (max-width: 768px) {
  .lbe-search-modal {
    padding: 12px 10px;
    align-items: flex-start;
  }

  .lbe-search-modal-dialog {
    margin: 10px auto;
    padding: 20px 16px 24px;
    max-height: 92vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--lbe-border-dark) transparent;
  }

  .lbe-search-modal-dialog::-webkit-scrollbar {
    width: 4px;
  }

  .lbe-search-modal-dialog::-webkit-scrollbar-thumb {
    background: var(--lbe-border-dark);
    border-radius: 4px;
  }

  .lbe-search-section-header {
    flex-wrap: wrap;
    gap: 8px;
  }

  .lbe-ssh-left {
    flex-wrap: wrap;
    gap: 6px;
  }

  .lbe-ssh-title {
    font-size: 1rem;
  }

  .lbe-ssh-link {
    margin-left: auto;
  }

  .lbe-search-heading {
    font-size: 1.2rem;
  }

  .lbe-search-input-inner {
    padding: 2px 4px 2px 12px;
  }

  .lbe-search-field {
    font-size: 0.9375rem;
    padding: 8px 0;
  }

  .lbe-search-submit-btn {
    padding: 8px 14px;
    font-size: 0.8125rem;
  }

  .lbe-search-results-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .lbe-spc-info {
    padding: 10px 8px 12px;
  }

  .lbe-spc-title {
    font-size: 0.8125rem;
  }

  .lbe-spc-price {
    font-size: 0.875rem;
  }
}

/* Quick View Modal */
/* Quick View Modal & Lightbox */
.lbe-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  overflow-y: auto;
  padding: 24px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lbe-modal.is-active {
  opacity: 1;
  visibility: visible;
}

.lbe-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(20, 19, 17, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 1;
}

.lbe-modal-dialog {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 900px;
  margin: auto;
  background-color: var(--lbe-surface);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 50px -12px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  border: 1px solid rgba(166, 132, 103, 0.2);
  transform: scale(0.96) translateY(12px);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.lbe-modal.is-active .lbe-modal-dialog {
  transform: scale(1) translateY(0);
}

.lbe-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: var(--radius-full);
  background-color: #FAF6F3;
  color: var(--lbe-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E5E0DA;
  box-shadow: var(--shadow-subtle);
  transition: all var(--transition-fast);
  cursor: pointer;
  z-index: 30;
}

.lbe-modal-close:hover {
  background-color: var(--lbe-primary);
  color: #FFFFFF;
  border-color: var(--lbe-primary);
  transform: rotate(90deg);
}

.lbe-qv-grid {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .lbe-qv-grid {
    grid-template-columns: 1.05fr 1.2fr;
  }
}

.lbe-qv-gallery-col {
  background-color: var(--lbe-bg);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lbe-qv-main-view {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-subtle);
  background-color: #FAF6F3;
}

.lbe-qv-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.lbe-qv-thumbs-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.lbe-qv-thumb-btn {
  width: 60px;
  height: 75px;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  padding: 0;
  background: none;
  opacity: 0.65;
  transition: all var(--transition-fast);
}

.lbe-qv-thumb-btn.is-active,
.lbe-qv-thumb-btn:hover {
  border-color: var(--lbe-accent);
  opacity: 1;
  transform: translateY(-2px);
}

.lbe-qv-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lbe-qv-details {
  padding: 36px 36px 32px 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.lbe-qv-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.lbe-qv-code-pill {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  background-color: var(--lbe-primary);
  color: #FFFFFF;
  padding: 3px 10px;
  border-radius: var(--radius-sm);
}

.lbe-qv-stock-status {
  font-size: 0.75rem;
  font-weight: 600;
  color: #2E7D32;
}

.lbe-qv-title {
  font-family: var(--font-sans);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--lbe-primary);
  line-height: 1.3;
  margin-bottom: 10px;
}

.lbe-qv-price-wrap {
  font-family: var(--font-sans);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--lbe-primary);
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--lbe-border);
}

.lbe-qv-price-wrap del {
  color: var(--lbe-text-light);
  font-weight: 400;
  font-size: 1.05rem;
  margin-right: 8px;
}

.lbe-qv-price-wrap ins {
  text-decoration: none;
  color: var(--lbe-sale);
}

.lbe-qv-specs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 22px;
}

.lbe-qv-spec-row {
  display: flex;
  font-size: 0.875rem;
  line-height: 1.4;
}

.lbe-qv-spec-label {
  width: 110px;
  flex-shrink: 0;
  font-weight: 600;
  color: var(--lbe-text-muted);
}

.lbe-qv-spec-value {
  color: var(--lbe-primary);
  font-weight: 500;
}

.lbe-qv-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}

.lbe-qv-cart-form {
  display: flex;
  gap: 12px;
}

.lbe-qty-selector {
  display: flex;
  align-items: center;
  border: 1px solid var(--lbe-border);
  border-radius: var(--radius-sm);
  background-color: var(--lbe-bg);
  overflow: hidden;
}

.lbe-qty-btn {
  width: 38px;
  height: 44px;
  border: none;
  background: none;
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--lbe-primary);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.lbe-qty-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.lbe-qty-selector .lbe-qty-input {
  width: 48px;
  border: none;
  background: transparent;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  color: var(--lbe-primary);
  padding: 0;
  outline: none;
  -moz-appearance: textfield;
}

.lbe-qty-selector .lbe-qty-input::-webkit-outer-spin-button,
.lbe-qty-selector .lbe-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.lbe-qv-btn-cart {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.9375rem;
}

.lbe-qv-wa-wrap .lbe-btn-whatsapp-qv {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: var(--radius-sm);
  background-color: var(--lbe-whatsapp);
  color: #FFFFFF;
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: all var(--transition-fast);
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25);
}

.lbe-qv-wa-wrap .lbe-btn-whatsapp-qv:hover {
  background-color: var(--lbe-whatsapp-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(37, 211, 102, 0.35);
}

.lbe-qv-trust-strip {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 14px;
  border-top: 1px dashed var(--lbe-border);
  margin-bottom: 14px;
  font-size: 0.75rem;
  color: var(--lbe-text-muted);
  font-weight: 600;
}

.lbe-qv-footer {
  margin-top: auto;
}

.lbe-qv-full-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--lbe-accent);
  text-decoration: none;
  transition: gap var(--transition-fast);
}

.lbe-qv-full-link:hover {
  gap: 10px;
}

.lbe-loading-spinner-wrapper {
  padding: 80px;
  text-align: center;
}

.lbe-spinner {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 3px solid var(--lbe-border);
  border-top-color: var(--lbe-accent);
  border-radius: 50%;
  animation: lbe-spin 0.8s linear infinite;
}

@keyframes lbe-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ==========================================================================
   4. Hero Slider Section (GSAP + Swiper)
   ========================================================================== */
.lbe-hero-slider-section {
  position: relative;
  background-color: var(--lbe-bg);
  color: #FFFFFF;
  overflow: hidden;
}

.lbe-hero-swiper {
  width: 100%;
  min-height: 80vh;
  display: flex;
}

.lbe-hero-slide {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  padding: 120px 0 100px 0;
}

.lbe-hero-parallax-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center top;
  z-index: 1;
}

.lbe-slide-bg-lawn .lbe-hero-parallax-bg {
  background: radial-gradient(circle at 75% 35%, rgba(166, 132, 103, 0.35) 0%, transparent 60%), linear-gradient(135deg, #1E1D1A 0%, #2D2723 100%);
}

.lbe-slide-bg-silk .lbe-hero-parallax-bg {
  background: radial-gradient(circle at 75% 35%, rgba(140, 56, 56, 0.25) 0%, transparent 60%), linear-gradient(135deg, #141311 0%, #2A211D 100%);
}

.lbe-slide-bg-dhank .lbe-hero-parallax-bg {
  background: radial-gradient(circle at 75% 35%, rgba(162, 131, 113, 0.3) 0%, transparent 60%), linear-gradient(135deg, #1A1917 0%, #302924 100%);
}

.lbe-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgba(20, 19, 17, 0.92) 0%, rgba(20, 19, 17, 0.55) 50%, rgba(20, 19, 17, 0.25) 100%);
  z-index: 1;
  display: none;
}

.lbe-hero-slide-full-link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}

.lbe-hero-slide-content,
.lbe-hero-controls {
  position: relative;
  z-index: 5;
}

.lbe-hero-slide-content {
  position: relative;
  z-index: 3;
  max-width: 680px;
}

.lbe-hero-eyebrow {
  display: inline-block;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--lbe-accent-light);
  font-weight: 600;
  margin-bottom: 16px;
}

.lbe-hero-headline {
  font-size: 3.25rem;
  color: #FFFFFF;
  margin-bottom: 20px;
  line-height: 1.12;
}

@media (min-width: 768px) {
  .lbe-hero-headline {
    font-size: 4.25rem;
  }
}

.lbe-hero-description {
  font-size: 1.125rem;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 36px;
  line-height: 1.7;
}

.lbe-hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.lbe-hero-btn.lbe-btn-outline {
  border-color: rgba(255, 255, 255, 0.6);
  color: #FFFFFF;
  background-color: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(4px);
}

.lbe-hero-btn.lbe-btn-outline:hover {
  background-color: var(--lbe-accent);
  border-color: var(--lbe-accent);
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(166, 132, 103, 0.4);
}

/* Custom Editorial Hero Slider Controls */
.lbe-hero-controls {
  position: absolute;
  bottom: 36px;
  left: 0;
  right: 0;
  z-index: 10;
  display: none;
}

.lbe-hero-controls-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 20px;
}

.lbe-hero-counter {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: #FFFFFF;
  letter-spacing: 0.1em;
}

.lbe-hero-counter-sep {
  color: var(--lbe-accent);
  margin: 0 6px;
}

.lbe-hero-total-slides {
  color: rgba(255, 255, 255, 0.5);
}

.lbe-hero-nav-arrows {
  display: flex;
  gap: 12px;
}

.lbe-hero-arrow {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  border: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  transition: all var(--transition-fast);
}

.lbe-hero-arrow:hover {
  background-color: var(--lbe-accent);
  border-color: var(--lbe-accent);
  transform: scale(1.08);
}

/* ==========================================================================
   5. Product Carousels (Sale & New Arrivals)
   ========================================================================== */
.lbe-product-carousel-section {
  padding: 80px 0;
  position: relative;
}

.lbe-carousel-sale {
  background-color: #FAF6F3;
  border-top: 1px solid var(--lbe-border);
  border-bottom: 1px solid var(--lbe-border);
}

.lbe-carousel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 36px;
  gap: 24px;
}

.lbe-carousel-title-group .lbe-section-title {
  margin-bottom: 6px;
}

.lbe-carousel-desc {
  color: var(--lbe-text-muted);
  font-size: 0.9375rem;
  max-width: 540px;
}

.lbe-carousel-nav-arrows {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.lbe-carousel-arrow {
  width: 46px;
  height: 46px;
  border-radius: var(--radius-full);
  border: 1px solid var(--lbe-border);
  background-color: var(--lbe-surface);
  color: var(--lbe-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  box-shadow: var(--shadow-subtle);
}

.lbe-carousel-arrow:hover {
  background-color: var(--lbe-primary);
  color: #FFFFFF;
  border-color: var(--lbe-primary);
  transform: translateY(-2px);
}

.lbe-product-swiper {
  position: relative;
  overflow: hidden;
  padding-bottom: 44px;
}

.lbe-product-swiper .swiper-wrapper {
  align-items: stretch;
}

.lbe-product-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.lbe-product-swiper .swiper-slide .lbe-product-card {
  width: 100%;
}

.lbe-product-swiper .swiper-scrollbar.lbe-swiper-scrollbar,
.lbe-swiper-scrollbar {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  bottom: 8px !important;
  top: auto !important;
  width: 240px !important;
  max-width: 90% !important;
  height: 4px !important;
  background-color: var(--lbe-border) !important;
  border-radius: var(--radius-full) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  z-index: 10 !important;
}

.lbe-swiper-scrollbar .swiper-scrollbar-drag {
  background-color: var(--lbe-accent) !important;
  border-radius: var(--radius-full) !important;
  height: 100% !important;
  transition: transform 0.15s ease-out !important;
}

/* ==========================================================================
   6. Shop by Category (Editorial Visual Masonry)
   ========================================================================== */
.lbe-category-grid-section {
  padding: 90px 0;
  background-color: var(--lbe-surface);
}

.lbe-category-masonry-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 600px) {
  .lbe-category-masonry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .lbe-category-masonry-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .lbe-category-masonry-grid.lbe-grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .lbe-category-masonry-grid.lbe-grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.lbe-category-tile {
  position: relative;
  min-height: 380px;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: all var(--transition-smooth);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 32px 24px;
  color: #FFFFFF;
  background-color: #1E1D1A;
}

.lbe-tile-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
}

.lbe-category-tile:hover .lbe-tile-bg-image {
  transform: scale(1.06);
}

.lbe-cat-bg-lawn .lbe-tile-bg-image {
  background: linear-gradient(180deg, #D4C4B7 0%, #42362F 100%);
}

.lbe-cat-bg-silk .lbe-tile-bg-image {
  background: linear-gradient(180deg, #4A3C35 0%, #1A1715 100%);
}

.lbe-cat-bg-dhank .lbe-tile-bg-image {
  background: linear-gradient(180deg, #7A695E 0%, #201C19 100%);
}

.lbe-cat-bg-chiffon .lbe-tile-bg-image {
  background: linear-gradient(180deg, #614D43 0%, #1E1917 100%);
}

.lbe-tile-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(30, 29, 26, 0.1) 0%, rgba(30, 29, 26, 0.85) 100%);
  z-index: 2;
}

.lbe-tile-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background-color: var(--lbe-accent);
  color: #FFFFFF;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 12px;
  border-radius: var(--radius-sm);
  z-index: 3;
}

.lbe-tile-content {
  position: relative;
  z-index: 3;
}

.lbe-tile-sub {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--lbe-accent-light);
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}

.lbe-tile-title {
  font-size: 1.85rem;
  color: #FFFFFF;
  margin-bottom: 14px;
}

.lbe-tile-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #FFFFFF;
  border-bottom: 1px solid var(--lbe-accent);
  padding-bottom: 3px;
  transition: all var(--transition-fast);
}

.lbe-tile-link:hover {
  color: var(--lbe-accent-light);
  gap: 12px;
}

/* ==========================================================================
   7. Category Spotlight (Asymmetric Lookbook Grid)
   ========================================================================== */
.lbe-category-spotlight-section {
  padding: 90px 0;
  background-color: var(--lbe-bg);
}

.lbe-spotlight-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
}

@media (min-width: 992px) {
  .lbe-spotlight-grid {
    grid-template-columns: 1fr 1.5fr;
    gap: 48px;
    align-items: stretch;
  }

  .lbe-spotlight-layout-right .lbe-spotlight-grid {
    grid-template-columns: 1.5fr 1fr;
  }

  .lbe-spotlight-layout-right .lbe-spotlight-banner-col {
    order: 2;
  }
}

.lbe-spotlight-banner-card {
  position: relative;
  height: 100%;
  min-height: 520px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: #1E1D1A;
  background-size: cover;
  background-position: center top;
  color: #FFFFFF;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--shadow-hover);
  border: 1px solid rgba(166, 132, 103, 0.2);
}

.lbe-spotlight-bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(20, 19, 17, 0.72) 0%, rgba(20, 19, 17, 0.15) 30%, rgba(20, 19, 17, 0.55) 60%, rgba(20, 19, 17, 0.98) 100%);
  z-index: 1;
}

.lbe-spotlight-top-badge {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 16px;
  margin-bottom: 40px;
}

.lbe-spotlight-season {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #FFFFFF;
  background: rgba(20, 19, 17, 0.75);
  padding: 5px 14px;
  border-radius: var(--radius-full);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
}

.lbe-spotlight-pill {
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background: rgba(166, 132, 103, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
  padding: 5px 14px;
  border-radius: var(--radius-full);
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
}

.lbe-spotlight-banner-content {
  position: relative;
  z-index: 2;
}

.lbe-spotlight-subtitle {
  color: var(--lbe-accent-light);
  margin-bottom: 8px;
}

.lbe-spotlight-title {
  font-size: 2.35rem;
  color: #FFFFFF;
  margin-bottom: 14px;
  line-height: 1.2;
}

.lbe-spotlight-desc {
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.88);
  margin-bottom: 26px;
  line-height: 1.6;
}

.lbe-spotlight-cta-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lbe-spotlight-btn-primary {
  width: 100%;
  text-align: center;
  justify-content: center;
}

.lbe-spotlight-btn-wa {
  width: 100%;
  text-align: center;
  justify-content: center;
  border-color: rgba(37, 211, 102, 0.6);
  color: #25D366;
  background: rgba(20, 19, 17, 0.6);
}

.lbe-spotlight-btn-wa:hover {
  background-color: var(--lbe-whatsapp);
  color: #FFFFFF;
  border-color: var(--lbe-whatsapp);
}

.lbe-spotlight-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

/* ==========================================================================
   8. Product Card Base
   ========================================================================== */
.lbe-product-card {
  background-color: var(--lbe-surface);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
  transition: all var(--transition-fast);
  display: flex;
  flex-direction: column;
}

.lbe-product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
}

.lbe-card-media {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background-color: var(--lbe-bg);
}

.lbe-card-img-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.lbe-card-primary-img,
.lbe-card-hover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease, opacity 0.4s ease;
}

.lbe-card-hover-img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.lbe-product-card:hover .lbe-card-primary-img {
  transform: scale(1.04);
}

.lbe-product-card:hover .lbe-card-hover-img {
  opacity: 1;
  transform: scale(1.04);
}

.lbe-card-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
}

.lbe-card-actions {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  display: flex;
  gap: 8px;
  background: linear-gradient(180deg, transparent 0%, rgba(30, 29, 26, 0.6) 100%);
  opacity: 0;
  transform: translateY(10px);
  transition: all var(--transition-fast);
  z-index: 3;
}

.lbe-product-card:hover .lbe-card-actions {
  opacity: 1;
  transform: translateY(0);
}

.lbe-card-action-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background-color: var(--lbe-surface);
  color: var(--lbe-primary);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  transition: all var(--transition-fast);
}

.lbe-card-content {
  padding: 14px 12px 16px 12px;
  display: flex;
  flex-direction: column;
}

.lbe-card-fabric {
  font-size: 0.6875rem;
  color: var(--lbe-accent);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}

.lbe-card-title {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  margin-bottom: 6px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--lbe-primary);
}

.lbe-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

.lbe-card-title a:hover {
  color: var(--lbe-accent);
}

.lbe-card-price {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--lbe-primary);
  margin-bottom: 0;
}

.lbe-card-price del {
  color: var(--lbe-text-light);
  font-weight: 400;
  font-size: 0.8125rem;
  margin-right: 6px;
}

.lbe-card-price ins {
  text-decoration: none;
  color: var(--lbe-sale);
}

.lbe-card-wa-btn-wrap {
  display: none;
}

.lbe-card-wa-btn {
  width: 100%;
  font-size: 0.8125rem;
  padding: 8px 12px;
}

/* ==========================================================================
   9. Trust Bar
   ========================================================================== */
.lbe-trust-bar-section {
  background-color: var(--lbe-surface);
  border-top: 1px solid var(--lbe-border);
  border-bottom: 1px solid var(--lbe-border);
  padding: 36px 0;
}

.lbe-trust-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}

@media (min-width: 640px) {
  .lbe-trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .lbe-trust-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.lbe-trust-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lbe-trust-icon-box {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  background-color: var(--lbe-accent-subtle);
  color: var(--lbe-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lbe-trust-title {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--lbe-primary);
  margin-bottom: 2px;
}

.lbe-trust-desc {
  font-size: 0.8125rem;
  color: var(--lbe-text-muted);
}

/* ==========================================================================
   10. Footer
   ========================================================================== */
.site-main {
  width: 100%;
  clear: both;
}

.woocommerce-cart .lbe-content-container,
.woocommerce-checkout .lbe-content-container {
  max-width: var(--site-max-width);
  padding-left: 24px;
  padding-right: 24px;
}

.lbe-site-footer {
  clear: both;
  width: 100%;
  display: block;
  background-color: var(--lbe-primary-dark);
  color: #CFCAC4;
  padding: 80px 0 32px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.lbe-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-bottom: 60px;
}

@media (min-width: 640px) {
  .lbe-footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .lbe-footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 48px;
  }
}

.lbe-footer-logo-img {
  height: auto;
  max-height: 54px;
  max-width: 180px;
  width: auto;
  margin-bottom: 18px;
  filter: brightness(0) invert(1);
  object-fit: contain;
  display: block;
}

.lbe-footer-bio {
  font-size: 0.875rem;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #A8A29A;
}

.lbe-footer-contact-info p {
  font-size: 0.875rem;
  margin-bottom: 6px;
  line-height: 1.5;
  color: #A8A29A;
}

.lbe-footer-contact-info strong {
  color: #CFCAC4;
  margin-right: 4px;
}

.lbe-footer-contact-info a {
  color: var(--lbe-accent-light, #C2A285);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.lbe-footer-contact-info a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

.lbe-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}

.lbe-social-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  background-color: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  transition: all var(--transition-fast);
}

.lbe-social-icon:hover {
  background-color: var(--lbe-accent);
  transform: translateY(-2px);
}

.lbe-footer-heading {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  margin-bottom: 20px;
}

.lbe-footer-menu li {
  margin-bottom: 10px;
}

.lbe-footer-menu li a {
  font-size: 0.875rem;
  color: #A8A29A;
  transition: color var(--transition-fast);
}

.lbe-footer-menu li a:hover {
  color: var(--lbe-accent-light);
}

.lbe-footer-badge-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lbe-footer-badge-item {
  display: flex;
  gap: 12px;
  font-size: 0.8125rem;
}

.lbe-footer-badge-item strong {
  display: block;
  color: #FFFFFF;
}

.lbe-footer-badge-item p {
  color: #A8A29A;
  font-size: 0.75rem;
}

.lbe-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  font-size: 0.8125rem;
  color: #8C867E;
}

@media (min-width: 768px) {
  .lbe-footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    text-align: left;
  }
}

/* Floating WhatsApp Button */
.lbe-whatsapp-floating-wrapper {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 1200;
}

.lbe-whatsapp-float-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background-color: var(--lbe-whatsapp);
  border-radius: var(--radius-full);
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.45);
  position: relative;
  transition: all var(--transition-fast);
}

.lbe-whatsapp-float-btn:hover {
  background-color: var(--lbe-whatsapp-dark);
  transform: scale(1.08);
}

.lbe-wa-pulse {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: var(--radius-full);
  border: 2px solid var(--lbe-whatsapp);
  animation: lbe-pulse 2s infinite;
}

@keyframes lbe-pulse {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }

  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

.lbe-wa-tooltip {
  position: absolute;
  right: 70px;
  background-color: var(--lbe-primary);
  color: #FFFFFF;
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: var(--shadow-card);
  opacity: 0;
  visibility: hidden;
  transform: translateX(10px);
  transition: all var(--transition-fast);
}

.lbe-whatsapp-float-btn:hover .lbe-wa-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* Breadcrumbs */
.lbe-breadcrumbs-nav {
  padding: 16px 0;
  background-color: var(--lbe-bg-warm);
  border-bottom: 1px solid var(--lbe-border);
}

.lbe-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--lbe-text-muted);
}

.lbe-bc-sep {
  color: var(--lbe-text-light);
}

.lbe-bc-current {
  color: var(--lbe-primary);
  font-weight: 600;
}

/* 404 Page */
.lbe-404-wrapper {
  text-align: center;
  padding: 100px 20px;
  max-width: 600px;
  margin: 0 auto;
}

.lbe-404-number {
  font-family: var(--font-serif);
  font-size: 6rem;
  font-weight: 700;
  color: var(--lbe-accent);
  line-height: 1;
  display: block;
  margin-bottom: 16px;
}

.lbe-404-title {
  font-size: 2.25rem;
  margin-bottom: 12px;
}

.lbe-404-desc {
  color: var(--lbe-text-muted);
  font-size: 1.0625rem;
  margin-bottom: 32px;
}

.lbe-404-cta-group {
  display: flex;
  justify-content: center;
  gap: 16px;
}

/* ==========================================================================
   11. Modern Sliding Cart Drawer (Sidebar Bag)
   ========================================================================== */
.lbe-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 420px;
  max-width: 92vw;
  background-color: var(--lbe-surface);
  z-index: 1700;
  transform: translateX(100%);
  transition: transform var(--transition-smooth);
  display: flex;
  flex-direction: column;
  box-shadow: -10px 0 35px rgba(0, 0, 0, 0.15);
}

.lbe-cart-drawer.is-active {
  transform: translateX(0);
}

.lbe-cart-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 28px;
  border-bottom: 1px solid var(--lbe-border);
  background-color: var(--lbe-surface);
}

.lbe-cart-drawer-title-wrap {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.lbe-cart-drawer-title {
  font-family: var(--font-sans);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--lbe-primary);
  margin: 0;
}

.lbe-cart-item-count-text {
  font-size: 0.8125rem;
  color: var(--lbe-accent);
  font-weight: 600;
}

#lbe-cart-drawer-close,
.lbe-drawer-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #FAF6F3;
  border: 1px solid #E5E0DA;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lbe-primary);
  padding: 0;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

#lbe-cart-drawer-close:hover,
.lbe-drawer-close:hover {
  background-color: var(--lbe-primary);
  color: #FFFFFF;
  border-color: var(--lbe-primary);
  transform: rotate(90deg);
}

#lbe-cart-drawer-close svg,
.lbe-drawer-close svg {
  display: block;
  margin: auto;
  pointer-events: none;
}

.lbe-cart-drawer-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.lbe-free-shipping-bar {
  background-color: #FAF6F3;
  border-bottom: 1px solid var(--lbe-border);
  padding: 12px 24px;
  font-size: 0.8125rem;
  color: var(--lbe-text);
  text-align: center;
}

.lbe-free-shipping-bar strong {
  color: var(--lbe-accent-dark);
}

.lbe-mini-cart-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.lbe-mini-cart-list {
  list-style: none;
  margin: 0;
  padding: 20px 24px;
  flex: 1;
}

.lbe-mini-cart-item {
  display: flex;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--lbe-border);
  align-items: flex-start;
  position: relative;
}

.lbe-mini-cart-item-img {
  width: 72px;
  height: 96px;
  flex-shrink: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background-color: var(--lbe-bg);
}

body .lbe-mini-cart-item-img a {
  width: 100%;
  height: 100%;
}

body .lbe-cart-drawer .lbe-mini-cart-content .lbe-mini-cart-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lbe-mini-cart-item-details {
  flex: 1;
  min-width: 0;
}

.lbe-mini-cart-code {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--lbe-accent);
  background-color: var(--lbe-bg-warm);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  margin-bottom: 4px;
}

.lbe-mini-cart-title {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 8px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lbe-mini-cart-title a {
  color: var(--lbe-primary);
  text-decoration: none;
  text-wrap: auto;
}

.lbe-mini-cart-title a:hover {
  color: var(--lbe-accent);
}

.lbe-mini-cart-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
}

.lbe-mini-cart-qty-badge {
  color: var(--lbe-text-muted);
  font-weight: 500;
}

.lbe-mini-cart-item-price {
  font-weight: 700;
  color: var(--lbe-primary);
}

.lbe-mini-cart-item-price del {
  font-size: 0.78rem;
  color: var(--lbe-text-light);
  text-decoration: line-through;
  font-weight: 400;
  margin-right: 4px;
}

.lbe-mini-cart-item-price ins {
  text-decoration: none;
  font-weight: 700;
  color: var(--lbe-primary);
}

.lbe-mini-cart-remove,
.woocommerce .lbe-mini-cart-item a.remove,
body.woocommerce .lbe-cart-drawer a.remove,
body.woocommerce-page .lbe-cart-drawer a.remove,
body .lbe-cart-drawer a.remove.lbe-mini-cart-remove,
.woocommerce-mini-cart-item .remove.lbe-mini-cart-remove {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #9C958D !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 50% !important;
  border: none !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.lbe-mini-cart-remove:hover,
.woocommerce .lbe-mini-cart-item a.remove:hover,
body.woocommerce .lbe-cart-drawer a.remove:hover,
body.woocommerce-page .lbe-cart-drawer a.remove:hover,
body .lbe-cart-drawer a.remove.lbe-mini-cart-remove:hover,
.woocommerce-mini-cart-item .remove.lbe-mini-cart-remove:hover {
  color: #DC2626 !important;
  background: #FEE2E2 !important;
  background-color: #FEE2E2 !important;
  border: none !important;
}

.lbe-mini-cart-remove svg,
body .lbe-cart-drawer a.remove.lbe-mini-cart-remove svg,
.woocommerce-mini-cart-item .remove.lbe-mini-cart-remove svg {
  width: 15px !important;
  height: 15px !important;
  stroke: currentColor !important;
  fill: none !important;
  display: block !important;
}

.lbe-mini-cart-footer {
  padding: 24px 28px;
  background-color: var(--lbe-surface);
  border-top: 1px solid var(--lbe-border);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
}

.lbe-mini-cart-subtotal-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}

.lbe-mc-subtotal-label {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--lbe-primary);
}

.lbe-mc-subtotal-value {
  font-family: var(--font-sans);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--lbe-primary);
}

.lbe-mini-cart-shipping-notice {
  font-size: 0.75rem;
  color: var(--lbe-text-muted);
  margin-bottom: 18px;
}

.lbe-mini-cart-cta-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lbe-mc-btn-checkout {
  width: 100%;
  justify-content: center;
  padding: 14px 20px;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.lbe-mc-btn-cart {
  width: 100%;
  justify-content: center;
  padding: 12px 20px;
  font-size: 0.875rem;
  font-weight: 600;
}

.lbe-mini-cart-trust-badges {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 0.6875rem;
  color: var(--lbe-text-muted);
  font-weight: 600;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--lbe-border);
}

.lbe-mini-cart-empty {
  padding: 60px 28px;
  text-align: center;
}

.lbe-empty-cart-icon {
  margin-bottom: 16px;
}

.lbe-empty-cart-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.lbe-empty-cart-desc {
  font-size: 0.875rem;
  color: var(--lbe-text-muted);
  margin-bottom: 24px;
  line-height: 1.5;
}

.lbe-btn-start-shopping {
  padding: 12px 24px;
  font-size: 0.875rem;
}

/* ==========================================================================
   12. Cart & Checkout Pages
   ========================================================================== */
.lbe-cart-page-main,
.lbe-checkout-page-main {
  padding: 40px 0 0 0;
  background-color: var(--lbe-bg);
}

.lbe-cart-container,
.lbe-checkout-container {
  max-width: var(--site-max-width);
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

.lbe-cart-recommendations {
  margin-top: 80px;
  padding-top: 60px;
  border-top: 1px solid var(--lbe-border);
  background-color: var(--lbe-surface);
}

/* 1. Empty Cart State */
.lbe-cart-empty-wrap {
  text-align: center;
  padding: 60px 20px 40px;
}

.lbe-cart-empty-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #FAF8F5;
  border: 1px solid #EAE5DE;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px auto;
  color: #141311;
}

.lbe-cart-empty-title {
  font-family: var(--font-sans);
  font-size: 1.85rem;
  font-weight: 700;
  color: #141311;
  margin-bottom: 8px;
}

.lbe-cart-empty-desc {
  font-size: 0.9375rem;
  color: #767069;
  max-width: 480px;
  margin: 0 auto 24px auto;
  line-height: 1.5;
}

.lbe-cart-empty-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #141311;
  color: #FFFFFF;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(20, 19, 17, 0.2);
}

.lbe-cart-empty-btn:hover {
  background-color: #2D2B26;
  transform: translateY(-2px);
}

/* 2. Top Header & Free Shipping Banner */
.lbe-cart-header-wrap {
  margin-bottom: 32px;
}

.lbe-cart-header-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid #ECE7E1;
  padding-bottom: 16px;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}

.lbe-cart-title {
  font-family: var(--font-sans);
  font-size: 1.75rem;
  font-weight: 700;
  color: #141311;
  letter-spacing: -0.01em;
  margin: 0;
  line-height: 1.2;
}

.lbe-cart-title-count {
  font-size: 1.0625rem;
  font-weight: 400;
  color: #767069;
  margin-left: 6px;
}

.lbe-cart-continue-link {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: #A68467;
  text-decoration: none;
  transition: all 0.2s ease;
}

.lbe-cart-continue-link:hover {
  color: #141311;
  text-decoration: underline;
}

.lbe-cart-free-shipping-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: #FAF8F5;
  border: 1px solid #EAE5DE;
  border-radius: 8px;
  padding: 12px 18px;
  margin-bottom: 24px;
}

.lbe-cfs-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #141311;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 800;
  flex-shrink: 0;
}

.lbe-cfs-content {
  font-size: 0.875rem;
  color: #141311;
  line-height: 1.4;
}

.lbe-cfs-title {
  font-weight: 700;
  color: #141311;
  margin-right: 4px;
}

.lbe-cfs-desc {
  color: #767069;
}

/* 3. Two-Column Luxury Cart Layout */
.lbe-luxury-cart-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 48px;
  align-items: start;
}

@media (max-width: 991px) {
  .lbe-luxury-cart-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* Left Column: Seamless Items List */
.lbe-luxury-cart-items-col {
  width: 100%;
}

.lbe-lcart-item-row {
  display: flex;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid #ECE7E1;
  transition: background-color 0.2s ease;
}

.lbe-lcart-item-row:first-child {
  padding-top: 0;
}

.lbe-lcart-thumb-wrap {
  width: 110px;
  height: 148px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #ECE7E1;
  background-color: #F5F2EE;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  display: block;
}

.lbe-body .lbe-lcart-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.lbe-lcart-details-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2px 0;
}

.lbe-lcart-top-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.lbe-lcart-meta {
  flex: 1;
}

.lbe-lcart-cat-tag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #A68467;
  display: block;
  margin-bottom: 4px;
}

.lbe-lcart-item-title {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 700;
  color: #141311;
  line-height: 1.35;
  margin: 0 0 4px 0;
}

.lbe-lcart-item-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.lbe-lcart-item-title a:hover {
  color: var(--lbe-accent);
}

.lbe-lcart-sku-line {
  font-size: 0.75rem;
  color: #767069;
  margin: 0;
}

.lbe-lcart-price-col {
  text-align: right;
  flex-shrink: 0;
}

.lbe-lcart-main-price {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 700;
  color: #141311;
}

.lbe-lcart-main-price .woocommerce-Price-amount {
  font-weight: 700;
  color: #141311;
}

.lbe-lcart-struck-price {
  font-size: 0.75rem;
  color: #9C958D;
  text-decoration: line-through;
  margin-top: 2px;
}

.lbe-lcart-struck-price .woocommerce-Price-amount {
  color: #9C958D;
}

.lbe-lcart-save-badge {
  display: inline-block;
  background-color: #FAF5F0;
  color: #A68467;
  border: 1px solid #E8DDD2;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  margin-top: 4px;
}

/* Stepper & Actions */
.lbe-lcart-bottom-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 4px;
}

.lbe-lcart-stepper-pill {
  display: inline-flex;
  align-items: center;
  background-color: #FAF8F5;
  border: 1px solid #DDD7CF;
  border-radius: 6px;
  height: 32px;
  padding: 2px;
}

.lbe-lcart-btn-qty {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #141311;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.lbe-lcart-btn-qty:hover {
  background-color: #EDE8E2;
}

.lbe-lcart-qty-val {
  width: 32px;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: #141311;
}

.lbe-lcart-remove-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #767069;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px;
  transition: all 0.2s ease;
  cursor: pointer;
}

.lbe-lcart-remove-link:hover {
  color: #D32F2F;
  background-color: #FFEBEE;
}

/* 4. Right Column: Sticky Summary Card */
.lbe-luxury-cart-sidebar-col {
  position: sticky;
  top: 100px;
}

.lbe-luxury-summary-card {
  background: #FFFFFF;
  border: 1px solid #E8E3DC;
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 4px 24px rgba(20, 19, 17, 0.05);
}

.lbe-lsum-heading {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #141311;
}

.lbe-lsum-coupon-section {
  margin-bottom: 20px;
}

.lbe-lsum-coupon-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #767069;
  margin-bottom: 8px;
}

.lbe-lsum-coupon-group {
  display: flex;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  overflow: hidden;
  background: #FAF8F5;
  transition: all 0.2s ease;
}

.lbe-lsum-coupon-group:focus-within {
  border-color: #141311;
  background: #FFFFFF;
}

.lbe-lsum-coupon-input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 10px 14px;
  font-size: 0.8125rem;
  color: #141311;
  outline: none;
  font-family: var(--font-sans);
}

.lbe-lsum-coupon-btn {
  background: #141311;
  color: #FFFFFF;
  border: none;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0 16px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.lbe-lsum-coupon-btn:hover {
  background: #2D2B26;
}

.lbe-coupon-feedback {
  font-size: 11px;
  margin-top: 6px;
  font-weight: 600;
}

.lbe-coupon-feedback.is-error {
  color: #D32F2F;
}

.lbe-coupon-feedback.is-success {
  color: #2E7D32;
}

.lbe-lsum-lines {
  border-bottom: 1px solid #ECE7E1;
  padding-bottom: 16px;
  margin-bottom: 18px;
}

.lbe-lsum-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  color: #767069;
  margin-bottom: 10px;
}

.lbe-lsum-line:last-child {
  margin-bottom: 0;
}

.lbe-lsum-line-amount {
  color: #141311;
  font-weight: 600;
}

.lbe-lsum-shipping-tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #785227;
  background-color: #FAF4EB;
  border: 1px solid #E8DDD0;
  border-radius: 6px;
  letter-spacing: 0.03em;
  line-height: 1.3;
  box-shadow: 0 1px 2px rgba(20, 19, 17, 0.03);
}

.lbe-delivery-charges-text {
  font-weight: 700;
  font-size: 0.8125rem;
  transition: color 0.2s ease;
}

.lbe-delivery-charges-text.is-advance,
.lbe-delivery-charges-text.is-free {
  color: #1B5E20;
}

.lbe-delivery-charges-text.is-cod {
  color: #141311;
}

.lbe-dispatch-speed-display {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #141311;
}

.lbe-shipping-pill-advance,
.lbe-shipping-pill-free {
  background-color: #1B5E20 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

.lbe-shipping-pill-cod {
  background-color: #EAE5DD !important;
  color: #2D2825 !important;
  font-weight: 700 !important;
}

.lbe-lsum-total-group {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 22px;
}

.lbe-lsum-total-label {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #141311;
}

.lbe-lsum-total-sub {
  font-size: 11px;
  color: #767069;
  margin: 2px 0 0 0;
}

.lbe-lsum-total-amount {
  font-family: var(--font-sans);
  font-size: 1.5rem;
  font-weight: 800;
  color: #141311;
}

.lbe-lsum-total-amount .woocommerce-Price-amount {
  font-weight: 800;
  color: #141311;
}

.lbe-lsum-primary-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #141311;
  color: #FFFFFF;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 16px 16px;
  border-radius: 8px;
  text-decoration: none;
  margin-bottom: 10px;
  box-shadow: 0 4px 14px rgba(20, 19, 17, 0.2);
  transition: all 0.2s ease;
  white-space: nowrap;
  box-sizing: border-box;
}

.lbe-lsum-primary-cta:hover {
  background: #2D2B26;
  transform: translateY(-1px);
}

.lbe-lsum-whatsapp-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #FAF8F5;
  border: 1px solid #DDD7CF;
  color: #141311;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.lbe-lsum-whatsapp-cta:hover {
  background: #EDE8E2;
}

.lbe-lsum-guarantees-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  border-top: 1px solid #ECE7E1;
  padding-top: 18px;
  margin-top: 20px;
  font-size: 11px;
  color: #767069;
}

.lbe-lsum-guarantee-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.lbe-check-icon {
  color: #141311;
  font-weight: 800;
}

@media (min-width: 1024px) {
  .wc-block-checkout__sidebar {
    position: sticky;
    top: 100px;
  }
}

.wc-block-cart__totals-title,
.wc-block-checkout__order-summary-title {
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #141311;
  padding-bottom: 14px;
  border-bottom: 1px solid #EAE5DE;
  margin-bottom: 18px;
}

/* Checkout Order Summary Line Items */
.wc-block-components-order-summary-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid #F0ECE6;
}

.wc-block-components-order-summary-item__image {
  position: relative;
  width: 54px;
  height: 72px;
  flex-shrink: 0;
}

.wc-block-components-order-summary-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  border-radius: 6px;
  border: 1px solid #E5E0DA;
}

.wc-block-components-order-summary-item__quantity {
  position: absolute;
  top: -6px;
  right: -6px;
  background-color: #141311;
  color: #FFFFFF;
  font-size: 0.6875rem;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.wc-block-components-order-summary-item__description {
  flex: 1;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141311;
  margin-bottom: 4px;
  line-height: 1.3;
}

.wc-block-components-order-summary-item__total-price {
  text-align: right;
  white-space: nowrap;
}

.wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
  font-size: 1rem;
  font-weight: 700;
  color: #141311;
}

/* 4. Coupon Box: Robust Grid Layout That Never Truncates */
.wc-block-components-totals-coupon {
  border: 1px solid #EAE5DE;
  border-radius: 8px;
  background-color: #FAF8F5;
  padding: 12px 14px;
  margin-bottom: 18px;
}

.wc-block-components-totals-coupon__content {
  padding-top: 8px;
}

.wc-block-components-totals-coupon__form {
  display: grid;
  grid-template-columns: 1fr 90px;
  gap: 8px;
  align-items: center;
  width: 100%;
}

.wc-block-components-totals-coupon__input {
  margin: 0;
  width: 100%;
  position: relative;
}

.wc-block-components-totals-coupon__input label {
  display: none;
}

.wc-block-components-totals-coupon__input input {
  width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #DDD7CF;
  border-radius: 6px;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  height: 44px;
  padding: 0 12px;
  color: #141311;
  box-sizing: border-box;
}

.wc-block-components-totals-coupon__input input:focus {
  border-color: #141311;
  box-shadow: 0 0 0 2px rgba(20, 19, 17, 0.1);
  outline: none;
}

.wc-block-components-totals-coupon__button {
  width: 100%;
  background-color: #141311;
  color: #FFFFFF;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 6px;
  height: 44px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wc-block-components-totals-coupon__button:hover {
  background-color: #2D2B26;
}

/* Totals Line Items */
.wc-block-components-totals-item {
  padding: 8px 0;
  font-size: 0.9375rem;
  color: #555555;
}

.wc-block-components-totals-footer-item {
  padding-top: 14px;
  margin-top: 10px;
  border-top: 2px solid #141311;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 800;
  color: #141311;
  text-transform: uppercase;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--font-sans);
  font-size: 1.3rem;
  font-weight: 800;
  color: #141311;
}

/* Proceed to Checkout & Place Order Primary CTAs */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block button {
  background-color: #141311;
  color: #FFFFFF;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 16px 24px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(20, 19, 17, 0.2);
  transition: all 0.2s ease;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wp-block-woocommerce-proceed-to-checkout-block button:hover {
  background-color: #2D2B26;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(20, 19, 17, 0.3);
}

/* 5. Checkout Form Step Headings & Unified Spacing */
.wc-block-checkout__main .wc-block-components-checkout-step {
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid #EAE5DE;
}

.wc-block-checkout__main .wc-block-components-checkout-step:last-child {
  border-bottom: none;
  margin-bottom: 12px;
}

.wc-block-checkout__main .wc-block-components-checkout-step__title {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 700;
  color: #141311;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

/* Floating Label Inputs: Spacious & Perfectly Aligned */
.wc-block-components-text-input,
.wc-block-components-combobox-control {
  position: relative;
  margin-bottom: 14px;
}

.wc-block-components-text-input input,
.wc-block-components-combobox-control input {
  background-color: #FAF8F5;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  padding: 22px 16px 6px 16px;
  height: 52px;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  color: #141311;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox-control input:focus {
  background-color: #FFFFFF;
  border-color: #141311;
  box-shadow: 0 0 0 3px rgba(20, 19, 17, 0.08);
  outline: none;
}

.wc-block-components-text-input label,
.wc-block-components-combobox-control label {
  position: absolute;
  top: 16px;
  left: 16px;
  color: #767069;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  pointer-events: none;
  transition: all 0.15s ease;
  line-height: 1;
}

.wc-block-components-text-input.is-active label,
.wc-block-components-text-input:focus-within label,
.wc-block-components-combobox-control.is-active label,
.wc-block-components-combobox-control:focus-within label {
  top: 7px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #141311;
}

/* 6. Custom Select / Dropdown Control Styling (Country / State) */
.wc-blocks-components-select {
  position: relative;
  margin-bottom: 14px;
  width: 100%;
}

.wc-blocks-components-select__container {
  position: relative;
  width: 100%;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  background-color: #FAF8F5;
  height: 52px;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.wc-blocks-components-select__container:focus-within {
  border-color: #141311;
  background-color: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(20, 19, 17, 0.08);
}

.wc-blocks-components-select__label {
  position: absolute;
  top: 7px;
  left: 16px;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  color: #767069;
  pointer-events: none;
  line-height: 1;
  z-index: 2;
}

.wc-blocks-components-select__select {
  width: 100%;
  height: 100%;
  padding: 22px 36px 6px 16px;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  color: #141311;
  background: transparent;
  border: none;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  box-sizing: border-box;
}

.wc-blocks-components-select__expand {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 16px;
  height: 16px;
  fill: #141311;
  z-index: 2;
}

/* 7. Shipping & Payment Radio Boxes: Solid Dot & Clear Selection */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
  position: relative;
  display: flex;
  align-items: center;
  background: #FAF8F5;
  border: 1px solid #E2DCD5;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 12px;
  transition: all 0.2s ease;
  cursor: pointer;
}

.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

.wc-block-components-radio-control-accordion-content {
  padding: 8px 0 0 32px;
}

.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control__option-checked {
  background: #FFFFFF;
  border-color: #141311;
  box-shadow: 0 4px 14px rgba(20, 19, 17, 0.06);
}

.wc-block-components-radio-control__input {
  appearance: auto;
  -webkit-appearance: auto;
  position: static;
  margin: 0 14px 0 0;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: #141311;
  outline: none;
  border: none;
  cursor: pointer;
}

.wc-block-components-radio-control__input::before {
  display: none;
  content: none;
}

.wc-block-components-radio-control__option::after {
  display: none;
  content: none;
}

.wc-block-components-radio-control__label {
  font-family: var(--font-sans);
  font-weight: 700;
  color: #141311;
  font-size: 0.9375rem;
  margin: 0;
  padding: 0;
}

.wc-block-components-radio-control__description {
  font-size: 0.8125rem;
  color: #767069;
  margin-top: 4px;
  margin-left: 32px;
}

/* ==========================================================================
   13. Bespoke Luxury Express Checkout Standard
   ========================================================================== */
.lbe-checkout-top-header {
  margin-bottom: 32px;
  border-bottom: 1px solid #ECE7E1;
  padding-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
}

.lbe-checkout-step-trail {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #767069;
  margin-bottom: 6px;
}

.lbe-checkout-step-trail a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.lbe-checkout-step-trail a:hover {
  color: #141311;
}

.lbe-step-active {
  color: #141311;
  font-weight: 700;
}

.lbe-step-dim {
  color: #9C958D;
}

.lbe-checkout-main-title {
  font-family: var(--font-sans);
  font-size: 1.75rem;
  font-weight: 700;
  color: #141311;
  letter-spacing: -0.01em;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.lbe-ssl-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  color: #2E7D32;
  background-color: #E8F5E9;
  border: 1px solid #C8E6C9;
  padding: 3px 9px;
  border-radius: 20px;
}

.lbe-checkout-hub-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #FAF8F5;
  border: 1px solid #EAE5DE;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 12px;
}

.lbe-checkout-hub-badge.is-free-unlocked {
  background-color: #E8F5E9;
  border-color: #C8E6C9;
}

.lbe-checkout-hub-badge.is-free-unlocked .lbe-hub-text {
  color: #1B5E20;
}

.lbe-hub-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #25D366;
}

.lbe-hub-text {
  font-weight: 700;
  color: #141311;
}

.lbe-hub-sub {
  color: #767069;
}

/* 2-Column Luxury Checkout Grid */
.lbe-luxury-checkout-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 48px;
  align-items: start;
  margin-bottom: 42px;
}

@media (max-width: 991px) {
  .lbe-luxury-checkout-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.lbe-checkout-form-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.lbe-checkout-card {
  background: #FFFFFF;
  border: 1px solid #EAE5DE;
  border-radius: 12px;
  padding: 26px;
  box-shadow: 0 2px 12px rgba(20, 19, 17, 0.03);
}

.lbe-ckcard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 8px;
}

.lbe-ckcard-title {
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #141311;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px 0;
}

.lbe-ckcard-header .lbe-ckcard-title {
  margin-bottom: 0;
}

.lbe-step-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #141311;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: var(--font-sans);
}

.lbe-ckcard-hint {
  font-size: 12px;
  color: #767069;
}

.lbe-form-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.lbe-form-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #141311;
  margin-bottom: 8px;
}

.lbe-required {
  color: #D32F2F;
}

.lbe-optional {
  font-size: 11px;
  font-weight: 400;
  color: #767069;
  text-transform: none;
}

.lbe-phone-input-wrap {
  display: flex;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  overflow: hidden;
  background-color: #FAF8F5;
  height: 50px;
  transition: all 0.2s ease;
}

.lbe-phone-input-wrap:focus-within {
  border-color: #141311;
  background-color: #FFFFFF;
}

.lbe-phone-prefix {
  background-color: #ECE7E1;
  padding: 0 14px;
  display: flex;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  color: #141311;
  border-right: 1px solid #DDD7CF;
  white-space: nowrap;
}

.lbe-phone-input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 600;
  color: #141311;
  outline: none;
  font-family: var(--font-sans);
}

.lbe-field-helper {
  font-size: 11px;
  color: #767069;
  margin-top: 6px;
  margin-bottom: 0;
}

.lbe-form-input {
  width: 100%;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  background-color: #FAF8F5;
  padding: 0 14px;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #141311;
  outline: none;
  font-family: var(--font-sans);
  box-sizing: border-box;
  transition: all 0.2s ease;
}

.lbe-form-input:focus {
  border-color: #141311;
  background-color: #FFFFFF;
}

.lbe-form-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lbe-city-pills-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}

.lbe-city-pills-tag {
  font-size: 11px;
  font-weight: 700;
  color: #141311;
  margin-right: 2px;
}

.lbe-city-pill-btn {
  background-color: #FAF8F5;
  border: 1px solid #DDD7CF;
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  color: #141311;
  cursor: pointer;
  transition: all 0.15s ease;
}

.lbe-city-pill-btn:hover {
  background-color: #141311;
  color: #FFFFFF;
  border-color: #141311;
}

.lbe-form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 640px) {
  .lbe-form-row-2 {
    grid-template-columns: 1fr;
  }
}

.lbe-select-wrap {
  position: relative;
  width: 100%;
}

.lbe-form-select {
  width: 100%;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  background-color: #FAF8F5;
  padding: 0 36px 0 14px;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: #141311;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  box-sizing: border-box;
  font-family: var(--font-sans);
  transition: all 0.2s ease;
}

.lbe-form-select:focus {
  border-color: #141311;
  background-color: #FFFFFF;
}

.lbe-select-chevron {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 16px;
  height: 16px;
  color: #141311;
}

.lbe-locked-country {
  width: 100%;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  background-color: #FAF8F5;
  padding: 0 14px;
  height: 50px;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #141311;
  box-sizing: border-box;
  font-family: var(--font-sans);
}

.lbe-shipping-card-active {
  border: 2px solid #141311;
  background-color: #FAF8F5;
  border-radius: 8px;
  padding: 18px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.lbe-shipping-card-info {
  display: flex;
  align-items: center;
  gap: 14px;
}

.lbe-radio-dot {
  width: 18px;
  height: 18px;
  accent-color: #141311;
  cursor: pointer;
  flex-shrink: 0;
}

.lbe-shipping-name {
  font-weight: 700;
  font-size: 14px;
  color: #141311;
}

.lbe-shipping-sub {
  font-size: 12px;
  color: #767069;
  margin-top: 3px;
}

.lbe-free-pill {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #2E7D32;
  background-color: #E8F5E9;
  border: 1px solid #C8E6C9;
  padding: 4px 8px;
  border-radius: 4px;
}

.lbe-payment-cards-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lbe-payment-card {
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  padding: 18px 20px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  cursor: pointer;
  background-color: #FFFFFF;
  transition: all 0.2s ease;
}

.lbe-payment-card-active {
  border: 2px solid #141311;
  background-color: #FAF8F5;
  box-shadow: 0 2px 8px rgba(20, 19, 17, 0.04);
}

.lbe-payment-card-body {
  flex: 1;
}

.lbe-payment-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.lbe-payment-name {
  font-weight: 700;
  font-size: 14px;
  color: #141311;
}

.lbe-payment-popular-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #A68467;
  background-color: #FAF5F0;
  border: 1px solid #E8DDD2;
  padding: 2px 6px;
  border-radius: 4px;
}

.lbe-payment-desc {
  font-size: 12px;
  color: #767069;
  line-height: 1.5;
  margin: 6px 0 0 0;
}

.lbe-order-notes-wrap {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #ECE7E1;
}

.lbe-form-textarea {
  width: 100%;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  background-color: #FAF8F5;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #141311;
  outline: none;
  box-sizing: border-box;
  resize: none;
  font-family: var(--font-sans);
  transition: all 0.2s ease;
}

.lbe-form-textarea:focus {
  border-color: #141311;
  background-color: #FFFFFF;
}

/* Sidebar Order Summary in Checkout */
html:has(.lbe-checkout-page-main),
body:has(.lbe-checkout-page-main),
body.woocommerce-checkout,
.lbe-checkout-page-main,
.lbe-checkout-container,
.lbe-luxury-checkout-wrap,
.lbe-checkout-form,
.lbe-luxury-checkout-grid {
  overflow: visible !important;
  overflow-x: visible !important;
}

.lbe-checkout-sidebar-col {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 140px !important;
  align-self: flex-start !important;
  height: -webkit-fit-content !important;
  height: -moz-fit-content !important;
  height: fit-content !important;
  z-index: 20 !important;
}

.lbe-checkout-sidebar-col .lbe-luxury-summary-card {
  position: -webkit-sticky;
  position: sticky;
  top: 90px;
}

.lbe-cksum-header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #ECE7E1;
  padding-bottom: 14px;
  margin-bottom: 18px;
}

.lbe-cksum-count-pill {
  font-size: 11px;
  font-weight: 700;
  color: #A68467;
  background-color: #FAF5F0;
  border: 1px solid #E8DDD2;
  padding: 2px 8px;
  border-radius: 4px;
}

.lbe-cksum-items-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 280px;
  overflow-y: auto;
  padding-right: 4px;
  border-bottom: 1px solid #ECE7E1;
  padding-bottom: 16px;
  margin-bottom: 18px;
  overflow: unset;
}

.lbe-cksum-item-row {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

.lbe-cksum-thumb-box {
  position: relative;
  width: 54px;
  height: 72px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #ECE7E1;
  background-color: #F5F2EE;
  flex-shrink: 0;
}

.lbe-body .lbe-cksum-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.lbe-cksum-qty-badge {
  position: absolute;
  top: -4px;
  left: 40px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #141311;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.lbe-cksum-item-info {
  flex: 1;
  min-width: 0;
}

.lbe-cksum-item-name {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  color: #141311;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lbe-cksum-item-sku {
  font-size: 11px;
  color: #767069;
  margin: 2px 0 0 0;
}

.lbe-cksum-item-price {
  font-size: 12px;
  font-weight: 700;
  color: #141311;
  margin-top: 2px;
}

.lbe-cksum-item-price del {
  font-size: 11px;
  color: #9C958D;
  text-decoration: line-through;
  font-weight: 500;
  margin-right: 4px;
}

.lbe-cksum-item-price ins {
  text-decoration: none;
  font-weight: 700;
  color: #1E1D1A;
}

.lbe-lsum-savings-line {
  color: #A68467 !important;
  font-weight: 600;
}

.lbe-free-delivery-badge {
  font-size: 12px;
  font-weight: 700;
  color: #2E7D32;
}

.lbe-place-order-btn {
  cursor: pointer;
  border: none;
}

/* ==========================================================================
   Section 14: Bespoke Luxury Single Product Experience
   ========================================================================== */
.lbe-single-product-wrapper {
  background-color: #FCFBF9;
  padding: 24px 0 60px 0;
  min-height: 80vh;
}

.lbe-single-product-layout {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 56px;
  align-items: start;
}

@media (max-width: 991px) {
  .lbe-single-product-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

/* Gallery Column */
.lbe-single-gallery-column {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}

.lbe-single-gallery-main {
  position: relative;
  background-color: #F5F2EE;
  border: 1px solid #EAE5DE;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  box-shadow: 0 4px 20px rgba(20, 19, 17, 0.04);
  cursor: crosshair;
}

.lbe-single-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: opacity 0.15s ease;
}

/* Magnifier Zoom Lens & Flyout */
.lbe-zoom-lens {
  position: absolute;
  width: 150px;
  height: 188px;
  border: 1.5px solid rgba(20, 19, 17, 0.45);
  background-color: rgba(255, 255, 255, 0.24);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 0 16px rgba(0, 0, 0, 0.08);
  pointer-events: none;
  display: none;
  z-index: 10;
  border-radius: 4px;
}

.lbe-zoom-result {
  position: absolute;
  top: 0;
  left: calc(100% + 24px);
  width: calc(100% - 24px);
  height: 100%;
  max-height: 620px;
  background-color: #FFFFFF;
  border: 1px solid #EAE5DE;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(20, 19, 17, 0.18);
  overflow: hidden;
  display: none;
  z-index: 99;
  pointer-events: none;
}

.lbe-zoom-result-inner {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-color: #FFFFFF;
}

.lbe-zoom-badge {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background-color: rgba(20, 19, 17, 0.88);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  backdrop-filter: blur(6px);
  letter-spacing: 0.02em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 991px) {
  .lbe-zoom-lens,
  .lbe-zoom-result {
    display: none !important;
  }
  .lbe-single-gallery-main {
    cursor: zoom-in;
  }
}

/* Mobile Tap to Inspect Badge */
.lbe-mobile-zoom-trigger {
  display: none;
}

@media (max-width: 991px) {
  .lbe-mobile-zoom-trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    position: absolute;
    bottom: 14px;
    left: 14px;
    right: auto;
    background-color: rgba(20, 19, 17, 0.84);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    padding: 7px 14px;
    border-radius: 9999px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    z-index: 6;
    border: 1px solid rgba(255, 255, 255, 0.2);
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
  }

  .lbe-mobile-zoom-trigger:active {
    transform: scale(0.95);
    background-color: #141311;
  }

  .lbe-mobile-zoom-trigger svg {
    color: #C5A880;
  }
}

/* ==========================================================================
   Full-Screen Mobile Fabric Lightbox Modal
   ========================================================================== */
.lbe-fabric-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  user-select: none;
  -webkit-user-select: none;
}

.lbe-fabric-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

body.lbe-lightbox-locked {
  overflow: hidden !important;
  touch-action: none;
}

.lbe-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(14, 13, 11, 0.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Lightbox Header */
.lbe-lightbox-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: env(safe-area-inset-top, 16px) 18px 12px 18px;
  min-height: 60px;
  background: linear-gradient(to bottom, rgba(14, 13, 11, 0.85) 0%, rgba(14, 13, 11, 0) 100%);
}

.lbe-lightbox-info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.lbe-lightbox-counter {
  background-color: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  white-space: nowrap;
}

.lbe-lightbox-title {
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 140px;
}

.lbe-lightbox-hint {
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: rgba(197, 168, 128, 0.18);
  border: 1px solid rgba(197, 168, 128, 0.35);
  color: #E8D3B9;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 9999px;
  letter-spacing: 0.02em;
}

.lbe-lightbox-close {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.lbe-lightbox-close:active {
  transform: scale(0.92);
  background-color: rgba(255, 255, 255, 0.2);
}

/* Lightbox Main Stage */
.lbe-lightbox-stage {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  touch-action: none;
}

.lbe-lightbox-img-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}

#lbe-lightbox-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 8px;
  transform-origin: center center;
  will-change: transform;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

/* Navigation Chevrons */
.lbe-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(20, 19, 17, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 3;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.2s ease;
}

.lbe-lb-prev {
  left: 12px;
}

.lbe-lb-next {
  right: 12px;
}

.lbe-lightbox-nav:active {
  transform: translateY(-50%) scale(0.92);
  background-color: #C5A880;
  color: #141311;
}

/* Lightbox Bottom Thumbnails */
.lbe-lightbox-footer {
  position: relative;
  z-index: 2;
  padding: 10px 16px calc(env(safe-area-inset-bottom, 14px) + 6px) 16px;
  background: linear-gradient(to top, rgba(14, 13, 11, 0.9) 0%, rgba(14, 13, 11, 0) 100%);
}

.lbe-lightbox-thumbs-track {
  display: flex;
  gap: 8px;
  justify-content: center;
  overflow-x: auto;
  padding: 4px 0;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.lbe-lightbox-thumbs-track::-webkit-scrollbar {
  display: none;
}

.lbe-lb-thumb-btn {
  width: 48px;
  height: 60px;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid transparent;
  opacity: 0.5;
  transition: all 0.2s ease;
  flex-shrink: 0;
  cursor: pointer;
  background: #23201C;
  padding: 0;
}

.lbe-lb-thumb-btn.active {
  border-color: #C5A880;
  opacity: 1;
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(197, 168, 128, 0.4);
}

.lbe-lb-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

@media (max-width: 480px) {
  .lbe-lightbox-hint span {
    display: none;
  }
  .lbe-lightbox-hint {
    padding: 6px;
  }
}

/* Gallery Badges */
.lbe-single-gallery-badges {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
  z-index: 5;
}

.lbe-single-discount-tag {
  background-color: #141311;
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 5px 10px;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  width: fit-content;
}

.lbe-single-collection-tag {
  background-color: rgba(250, 245, 240, 0.95);
  color: #A68467;
  border: 1px solid #E8DDD2;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 9px;
  border-radius: 6px;
  backdrop-filter: blur(4px);
  width: fit-content;
}

.lbe-single-stock-badge-floating {
  position: absolute;
  top: 16px;
  right: 16px;
  background-color: rgba(232, 245, 233, 0.95);
  border: 1px solid #C8E6C9;
  color: #2E7D32;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  backdrop-filter: blur(4px);
  z-index: 5;
}

.lbe-single-stock-badge-floating.out-of-stock {
  background-color: rgba(255, 235, 238, 0.95);
  border-color: #FFCDD2;
  color: #C62828;
}

.lbe-pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #25D366;
}

.lbe-pulse-dot.out {
  background-color: #D32F2F;
}

/* Thumbnail Row */
.lbe-single-thumbs-row {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 640px) {
  .lbe-single-thumbs-row {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
  }
}

.lbe-single-thumb-btn {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid #EAE5DE;
  background-color: #FAF8F5;
  cursor: pointer;
  padding: 0;
  opacity: 0.7;
  transition: all 0.2s ease;
}

.lbe-single-thumb-btn:hover {
  opacity: 1;
  border-color: #DDD7CF;
  transform: translateY(-1px);
}

.lbe-single-thumb-btn.active {
  border-color: #141311;
  opacity: 1;
  box-shadow: 0 2px 10px rgba(20, 19, 17, 0.2);
}

.lbe-single-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

/* Right Column: Product Summary & Purchase Engine */
.lbe-single-summary-column {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.lbe-single-header {
  border-bottom: 1px solid #EAE5DE;
  padding-bottom: 18px;
}

.lbe-single-header-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  flex-wrap: wrap;
  gap: 8px;
}

.lbe-single-kicker {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #A68467;
}

.lbe-single-sku-pill {
  font-size: 11px;
  font-weight: 600;
  color: #767069;
  background-color: #FAF8F5;
  border: 1px solid #EAE5DE;
  padding: 3px 8px;
  border-radius: 4px;
}

.lbe-single-sku-pill strong {
  color: #141311;
}

.lbe-single-title {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: #141311;
  margin: 0 0 6px 0;
}

.lbe-single-subtitle {
  font-size: 13px;
  color: #767069;
  font-weight: 500;
  line-height: 1.5;
  margin: 0;
}

/* Price Box Card */
.lbe-single-price-card {
  background-color: #FFFFFF;
  border: 1px solid #EAE5DE;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 12px rgba(20, 19, 17, 0.03);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lbe-single-price-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.lbe-single-current-price {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 800;
  color: #141311;
  letter-spacing: -0.01em;
}

.lbe-single-old-price {
  font-size: 1.0625rem;
  color: #9C958D;
  text-decoration: line-through;
  font-weight: 500;
}

.lbe-single-savings-pill {
  background-color: #FAF5F0;
  color: #A68467;
  border: 1px solid #E8DDD2;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 4px;
}

.lbe-single-delivery-perk {
  border-top: 1px solid #EAE5DE;
  padding-top: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #2E7D32;
}

/* Key Fabric & Inclusions Grid */
.lbe-single-specs-card {
  background-color: #FAF8F5;
  border: 1px solid #EAE5DE;
  border-radius: 12px;
  padding: 18px;
}

.lbe-single-specs-heading {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #767069;
  margin-bottom: 12px;
}

.lbe-single-specs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.lbe-single-spec-cell {
  background-color: #FFFFFF;
  border: 1px solid #EAE5DE;
  border-radius: 8px;
  padding: 10px 12px;
}

.lbe-single-spec-label {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: #767069;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lbe-single-spec-val {
  font-size: 12px;
  font-weight: 700;
  color: #141311;
  margin-top: 2px;
}

/* Purchase Actions (Quantity + Add to Bag + WhatsApp) */
.lbe-single-actions-box {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

form.cart.lbe-single-cart-form {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lbe-single-cta-row {
  display: flex !important;
  align-items: center;
  gap: 12px;
  width: 100% !important;
}

/* Stepper */
.lbe-single-stepper-wrap {
  display: flex;
  align-items: center;
  height: 52px;
  background-color: #FAF8F5;
  border: 1px solid #DDD7CF;
  border-radius: 8px;
  padding: 0 4px;
}

.lbe-single-step-btn {
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  font-size: 18px;
  font-weight: 700;
  color: #141311;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background-color 0.15s;
}

.lbe-single-step-btn:hover {
  background-color: #FFFFFF;
}

.lbe-single-step-input {
  width: 44px;
  border: none;
  background: transparent;
  font-size: 14px;
  font-weight: 700;
  color: #141311;
  text-align: center;
  outline: none;
  font-family: var(--font-sans);
  -moz-appearance: textfield;
}

.lbe-single-step-input::-webkit-outer-spin-button,
.lbe-single-step-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Add to Shopping Bag Button */
.lbe-single-add-to-bag-btn {
  flex: 1;
  height: 52px;
  background-color: #141311;
  color: #FFFFFF;
  border: none;
  border-radius: 8px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(20, 19, 17, 0.2);
  transition: all 0.2s ease;
}

.lbe-single-add-to-bag-btn:hover {
  background-color: #2A2825;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(20, 19, 17, 0.3);
}

.lbe-single-add-to-bag-btn:active {
  transform: translateY(0);
}

/* Large WhatsApp Button */
.lbe-btn-whatsapp-large,
.lbe-single-wa-btn {
  width: 100%;
  height: 52px;
  background-color: #FAF8F5;
  color: #141311;
  border: 1.5px solid #DDD7CF;
  border-radius: 8px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  box-sizing: border-box;
  transition: all 0.2s ease;
  cursor: pointer;
}

.lbe-btn-whatsapp-large:hover,
.lbe-single-wa-btn:hover {
  border-color: #25D366;
  background-color: #F0FDF4;
  color: #166534;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.18);
}

.lbe-btn-whatsapp-large .lbe-wa-icon,
.lbe-single-wa-btn .lbe-wa-icon {
  flex-shrink: 0;
}

/* Single Product Sold Out State */
.lbe-single-sold-out-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lbe-single-sold-out-btn {
  width: 100%;
  height: 52px;
  background-color: #FAF8F5;
  color: #7A7269;
  border: 1.5px solid #DDD7CF;
  border-radius: 8px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: not-allowed;
  user-select: none;
  box-sizing: border-box;
}

.lbe-single-sold-out-btn svg {
  stroke: #9C9388;
  flex-shrink: 0;
}

.lbe-single-sold-out-note {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #8C867E;
  margin: 0;
  text-align: center;
  padding: 0 8px;
}

/* Trust Assurance Card */
.lbe-single-trust-card {
  background-color: #FFFFFF;
  border: 1px solid #EAE5DE;
  border-radius: 12px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  font-size: 11px;
}

.lbe-single-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lbe-single-trust-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #141311;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lbe-single-trust-label {
  font-weight: 600;
  color: #141311;
}

/* Accordion Drawers */
.lbe-single-accordion-wrap {
  border: 1px solid #EAE5DE;
  border-radius: 12px;
  background-color: #FFFFFF;
  overflow: hidden;
}

.lbe-single-accordion-item {
  border-bottom: 1px solid #EAE5DE;
}

.lbe-single-accordion-item:last-child {
  border-bottom: none;
}

.lbe-single-accordion-trigger {
  width: 100%;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  border: none;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 800;
  color: #141311;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s;
}

.lbe-single-accordion-trigger:hover {
  background-color: #FAF8F5;
}

.lbe-single-accordion-chevron {
  width: 16px;
  height: 16px;
  color: #767069;
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

.lbe-single-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, padding 0.3s ease;
  padding: 0 18px;
  font-size: 12px;
  color: #767069;
  line-height: 1.6;
}

.lbe-single-accordion-item.active .lbe-single-accordion-content {
  max-height: 600px;
  padding: 0 18px 16px 18px;
}

.lbe-single-accordion-item.active .lbe-single-accordion-chevron {
  transform: rotate(180deg);
}

.lbe-single-accordion-content ul {
  list-style-type: disc;
  padding-left: 18px;
  margin-top: 6px;
}

.lbe-single-accordion-content li {
  margin-bottom: 4px;
  color: #141311;
}

/* Related Products Carousel Header & Section */
.lbe-single-related-section {
  padding: 44px 0 56px 0;
  border-top: 1px solid #EAE5DE;
  background-color: #FCFBF9;
  position: relative;
  width: 100%;
}

.lbe-single-related-section .lbe-carousel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 24px;
  gap: 16px;
}

.lbe-single-related-section .lbe-carousel-title-group {
  flex: 1;
  min-width: 0;
}

.lbe-single-related-section .lbe-carousel-title {
  font-family: var(--font-heading);
  font-size: 1.875rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #141311;
  margin: 4px 0 6px 0;
}

.lbe-single-related-section .lbe-carousel-desc {
  font-size: 13px;
  color: #767069;
  margin: 0;
}

.lbe-single-related-section .lbe-carousel-nav {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.lbe-single-related-section .lbe-nav-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #FFFFFF;
  border: 1px solid #EAE5DE;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #141311;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(20, 19, 17, 0.04);
  transition: all 0.2s ease;
}

.lbe-single-related-section .lbe-nav-arrow:hover {
  background-color: #141311;
  color: #FFFFFF;
  border-color: #141311;
  transform: translateY(-2px);
}

/* Swiper Container & Slides */
.lbe-single-related-section .lbe-product-swiper {
  position: relative;
  overflow: hidden;
  padding-bottom: 48px;
}

.lbe-single-related-section .swiper-slide {
  height: auto;
  display: flex;
}

.lbe-single-related-section .swiper-slide .lbe-product-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Centered Scrollbar Track */
.lbe-single-related-section .lbe-swiper-scrollbar {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  bottom: 8px !important;
  width: 220px !important;
  max-width: 80% !important;
  height: 4px !important;
  background-color: #EAE5DE !important;
  border-radius: 9999px !important;
}

.lbe-single-related-section .swiper-scrollbar-drag {
  background-color: #A68467 !important;
  border-radius: 9999px !important;
}

/* Responsive Breakpoints for Carousel */
@media (max-width: 767px) {
  .lbe-single-related-section {
    padding: 40px 0 28px 0;
  }

  .lbe-single-related-section .lbe-carousel-header {
    align-items: center;
    margin-bottom: 18px;
    gap: 12px;
  }

  .lbe-single-related-section .lbe-carousel-title {
    font-size: 1.35rem;
    margin: 2px 0 0 0;
  }

  .lbe-single-related-section .lbe-carousel-desc {
    display: none;
  }

  .lbe-single-related-section .lbe-carousel-nav {
    gap: 8px;
  }

  .lbe-single-related-section .lbe-nav-arrow {
    width: 36px;
    height: 36px;
  }

  .lbe-single-related-section .lbe-product-swiper {
    padding-bottom: 40px;
  }

  .lbe-single-related-section .lbe-swiper-scrollbar {
    width: 160px !important;
    bottom: 6px !important;
  }
}

@media (max-width: 480px) {
  .lbe-single-related-section .lbe-carousel-title {
    font-size: 1.2rem;
  }
}

/* ==========================================================================
   Single Product: Luxury Color Variations & Swatches
   ========================================================================== */
.lbe-single-variation-section {
  background: #FFFFFF;
  border: 1px solid #EAE5DE;
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 20px;
}

.lbe-single-variation-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
}

.lbe-single-variation-label {
  color: #6E6862;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11px;
}

.lbe-single-selected-val {
  color: #1E1D1A;
  font-weight: 700;
  font-size: 13px;
}

.lbe-single-color-swatches {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.lbe-color-swatch-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #FAF9F6;
  border: 1.5px solid #EAE5DE;
  border-radius: 24px;
  padding: 6px 14px 6px 8px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  color: #1E1D1A;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  outline: none;
}

.lbe-color-swatch-btn:hover {
  border-color: #A68467;
  background: #FFFFFF;
  transform: translateY(-1px);
}

.lbe-color-swatch-btn.active {
  border-color: #1E1D1A;
  background: #FFFFFF;
  box-shadow: 0 2px 8px rgba(30, 29, 26, 0.12);
}

.lbe-color-swatch-circle {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid #FFFFFF;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
  flex-shrink: 0;
}

.lbe-color-swatch-btn.active .lbe-color-swatch-circle {
  box-shadow: 0 0 0 1.5px #1E1D1A;
}

.lbe-color-swatch-name {
  line-height: 1;
}

/* =========================================================================
   Standard Content Pages & Legal Policies (Terms, Returns, Privacy, FAQs)
   ========================================================================= */
.lbe-page-container {
  padding: 50px 0 0px;
  background-color: var(--lbe-bg, #FAF9F6);
  min-height: 60vh;
}

.lbe-content-container {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 20px;
}

.lbe-page-article {
  background: var(--lbe-surface, #FFFFFF);
  border: 1px solid var(--lbe-border, #EFE9E1);
  border-radius: 12px;
  padding: 44px 48px;
  box-shadow: 0 4px 20px rgba(30, 29, 26, 0.04);
}

@media (max-width: 768px) {
  .lbe-page-article {
    padding: 28px 20px;
    border-radius: 8px;
  }
}

.lbe-page-header {
  border-bottom: 1px solid var(--lbe-border, #EFE9E1);
  padding-bottom: 24px;
  margin-bottom: 32px;
}

.lbe-page-title {
  font-family: var(--font-serif, "Playfair Display", Georgia, serif);
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--lbe-primary, #1E1D1A);
  line-height: 1.25;
  margin: 0;
}

@media (max-width: 768px) {
  .lbe-page-title {
    font-size: 1.75rem;
  }
}

/* Policy Content Styling */
.lbe-policy-wrap {
  color: #3C3B37;
  font-size: 1rem;
  line-height: 1.75;
}

.lbe-policy-intro-box {
  background-color: var(--lbe-accent-subtle, #F4EFEA);
  border-left: 4px solid var(--lbe-accent, #A68467);
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
  margin-bottom: 32px;
}

.lbe-policy-lead {
  font-size: 1.0625rem;
  line-height: 1.7;
  margin: 0;
  color: var(--lbe-primary, #1E1D1A);
}

.lbe-policy-heading {
  font-family: var(--font-sans, "Plus Jakarta Sans", -apple-system, sans-serif);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--lbe-primary, #1E1D1A);
  margin: 36px 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--lbe-border, #EFE9E1);
}

.lbe-policy-wrap p {
  margin-bottom: 18px;
}

.lbe-policy-wrap ul,
.lbe-policy-wrap ol {
  margin: 0 0 24px 20px;
  padding: 0;
}

.lbe-policy-wrap li {
  margin-bottom: 10px;
  line-height: 1.65;
}

/* Notice Cards (e.g. Parcel Opening Video) */
.lbe-policy-notice-card {
  display: flex;
  gap: 18px;
  background-color: #FFFDF9;
  border: 1.5px solid #A68467;
  border-radius: 10px;
  padding: 24px 28px;
  margin: 28px 0;
  box-shadow: 0 4px 14px rgba(166, 132, 103, 0.08);
}

.lbe-notice-icon {
  flex-shrink: 0;
  margin-top: 2px;
}

.lbe-notice-body {
  flex: 1;
}

.lbe-notice-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1E1D1A;
  margin: 0 0 8px;
}

.lbe-notice-body p {
  margin-bottom: 12px;
  font-size: 0.95rem;
}

.lbe-notice-body ul {
  margin: 0 0 0 18px;
  font-size: 0.9375rem;
}

/* Step Grid (1, 2, 3 steps) */
.lbe-step-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 20px;
  margin: 24px 0 32px;
}

.lbe-step-card {
  background: var(--lbe-bg, #FAF9F6);
  border: 1px solid var(--lbe-border, #EFE9E1);
  border-radius: 8px;
  padding: 22px;
  position: relative;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.lbe-step-card:hover {
  border-color: var(--lbe-accent, #A68467);
  transform: translateY(-2px);
}

.lbe-step-number {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  background-color: var(--lbe-accent, #A68467);
  color: #FFFFFF;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 14px;
}

.lbe-step-card h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--lbe-primary, #1E1D1A);
  margin: 0 0 8px;
}

.lbe-step-card p {
  font-size: 0.875rem;
  line-height: 1.55;
  color: #5A5752;
  margin: 0;
}

/* FAQ Items */
.lbe-faq-item {
  background: #FFFFFF;
  border: 1px solid var(--lbe-border, #EFE9E1);
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 16px;
  transition: border-color 0.2s ease;
}

.lbe-faq-item:hover {
  border-color: var(--lbe-accent, #A68467);
}

.lbe-faq-q {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--lbe-primary, #1E1D1A);
  margin: 0 0 10px;
  line-height: 1.4;
}

.lbe-faq-a {
  font-size: 0.95rem;
  color: #4A4742;
  line-height: 1.65;
}

.lbe-faq-a p:last-child {
  margin-bottom: 0;
}

/* Footer Legal Links & Bottom Bar Alignment */
.lbe-footer-legal-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 0.8125rem;
  margin: 0;
}

.lbe-footer-legal-links a {
  color: #A8A29A;
  text-decoration: none;
  transition: color var(--transition-fast);
}

.lbe-footer-legal-links a:hover {
  color: var(--lbe-accent-light, #C2A285);
  text-decoration: underline;
}

.lbe-footer-sep {
  color: rgba(255, 255, 255, 0.25);
  font-size: 0.6rem;
}

.lbe-copyright {
  margin: 0;
  color: #8C867E;
  font-size: 0.8125rem;
}

.lbe-copyright strong {
  color: #D4CECA;
  font-weight: 600;
}

.lbe-footer-note {
  margin: 0;
  color: #78726A;
  font-size: 0.75rem;
}