/*
Theme Name: BUniqueBlades Theme
Theme URI: http://localhost/buniqueblades
Description: Modern Dual Theme (Light Default & Dark Luxury) for BUniqueBlades - Gift for him
Author: BUniqueBlades
Author URI: http://localhost/buniqueblades
Template: blocksy
Version: 1.2.0
Text Domain: blocksy-child-buniqueblades
*/

/* ==========================================================================
   CSS THEME VARIABLES: LIGHT THEME (DEFAULT) & DARK THEME
   ========================================================================== */

/* 1. LIGHT THEME (DEFAULT) */
:root,
[data-theme="light"],
body[data-theme="light"] {
  --bub-bg: #f8f9fa;
  --bub-bg-surface: #ffffff;
  --bub-bg-elevated: #f1f5f9;
  --bub-border: #e2e8f0;
  --bub-border-card: #e5e7eb;
  --bub-text-heading: #111827;      /* Deep black for absolute 100% readability */
  --bub-text-body: #374151;         /* Crisp charcoal body */
  --bub-text-muted: #6b7280;
  --bub-nav-link: #111827;          /* Visible, dark, readable WITHOUT hover */
  --bub-nav-hover: #c89a3c;         /* Damascus gold on hover */
  --bub-header-bg: #ffffff;
  --bub-header-border: #e5e7eb;
  --bub-logo-text: #111827;
  --bub-gold: #c89a3c;
  --bub-gold-price: #b48328;
  --bub-gold-hover: #9c6e1c;
  --bub-gold-glow: rgba(200, 154, 60, 0.2);
  --bub-card-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
  --bub-card-shadow-hover: 0 10px 28px rgba(200, 154, 60, 0.2);
  --bub-banner-bg: linear-gradient(90deg, #11141a 0%, #1e2430 50%, #11141a 100%);
  --bub-banner-text: #f3f4f6;
  --bub-footer-bg: #0c0e12;
  --bub-radius: 8px;
}

/* 2. DARK THEME */
[data-theme="dark"],
body[data-theme="dark"] {
  --bub-bg: #0d0f12;
  --bub-bg-surface: #16191f;
  --bub-bg-elevated: #1e222a;
  --bub-border: #282d37;
  --bub-border-card: #282d37;
  --bub-text-heading: #ffffff;      /* Pure bright white for maximum visibility */
  --bub-text-body: #d1d5db;         /* High-contrast bright silver body */
  --bub-text-muted: #94a3b8;
  --bub-nav-link: #ffffff;          /* 100% visible bright white in dark mode */
  --bub-nav-hover: #f6c042;         /* Vibrant Damascus Gold */
  --bub-header-bg: #0d0f12;
  --bub-header-border: #282d37;
  --bub-logo-text: #ffffff;
  --bub-gold: #f6c042;
  --bub-gold-price: #f6c042;
  --bub-gold-hover: #ffd066;
  --bub-gold-glow: rgba(246, 192, 66, 0.4);
  --bub-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
  --bub-card-shadow-hover: 0 12px 30px rgba(0, 0, 0, 0.85), 0 0 16px rgba(246, 192, 66, 0.35);
  --bub-banner-bg: linear-gradient(90deg, #101216 0%, #1c2028 50%, #101216 100%);
  --bub-banner-text: #ffffff;
  --bub-footer-bg: #060709;
}

/* Global Transition */
body, header#header, .ct-header, ul.products li.product, .bub-trust-item, .bub-collage-item {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

/* Base Body */
body {
  background-color: var(--bub-bg) !important;
  color: var(--bub-text-body) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  overflow-x: hidden;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.entry-title, .product_title,
.elementor-heading-title {
  color: var(--bub-text-heading) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
}

p, .woocommerce-product-details__short-description, .ct-entry-content {
  color: var(--bub-text-body) !important;
}

/* Top Announcement Banner */
.bub-top-banner {
  background: var(--bub-banner-bg);
  color: var(--bub-banner-text);
  text-align: center;
  border-bottom: 1px solid var(--bub-border);
  transition: all 0.3s ease;
}

@media (min-width: 768px) {
  .bub-banner-mobile {
    display: none !important;
  }
  .bub-banner-desktop {
    display: inline !important;
  }
  .bub-top-banner {
    padding: 8px 15px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.5px;
  }
}

@media (max-width: 767px) {
  .bub-banner-desktop {
    display: none !important;
  }
  .bub-banner-mobile {
    display: inline-block !important;
  }
  .bub-top-banner {
    padding: 5px 8px !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    letter-spacing: 0.3px !important;
    max-height: 28px !important;
  }
}

.bub-top-banner span.highlight {
  color: var(--bub-gold);
  margin: 0 4px;
}

/* ==========================================================================
   1. NAVBAR - HIGH READABILITY & THEME TOGGLE
   ========================================================================== */

header#header,
.ct-header,
[data-row="middle"],
[data-row*="middle"] > div,
[data-row*="middle"] .ct-container {
  background-color: var(--bub-header-bg) !important;
  border-bottom: 1px solid var(--bub-header-border) !important;
  position: relative;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

/* Dark Mode Explicit Header Row Fill */
[data-theme="dark"] header#header,
[data-theme="dark"] .ct-header,
[data-theme="dark"] [data-row],
[data-theme="dark"] [data-row*="middle"],
[data-theme="dark"] [data-row*="middle"] > div,
[data-theme="dark"] [data-row*="middle"] .ct-container {
  background-color: #0d0f12 !important;
  background-image: none !important;
  border-color: #282d37 !important;
}

/* Dark Mode Header Logo Switcher */
[data-theme="dark"] .site-logo-container img.default-logo,
[data-theme="dark"] .site-logo-container img,
[data-theme="dark"] .custom-logo-link img,
body[data-theme="dark"] .site-logo-container img.default-logo,
body[data-theme="dark"] .site-logo-container img,
body[data-theme="dark"] .custom-logo-link img {
  content: url('assets/BuniqueDarkmode-logo.webp') !important;
}

/* Clean Logo Presentation: Hide redundant site-title text when image logo is present */
.site-logo-container + .site-title-container {
  display: none !important;
}

@media (max-width: 1023px) {
  .site-logo-container img {
    max-width: 125px !important;
    height: auto !important;
  }
}

/* Desktop Header Flex */
@media (min-width: 1024px) {
  [data-row="middle"] .ct-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  [data-row="middle"] [data-column="start"] {
    flex: 1 1 0% !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  [data-row="middle"] [data-column="middle"] {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  [data-row="middle"] [data-column="end"] {
    flex: 1 1 0% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 14px !important;
  }
}

/* Navigation Links: FULL VISIBILITY WITHOUT HOVER */
.menu li a, 
.nav li a, 
.ct-menu-link,
#header-menu-1 .menu li a,
#header-menu-1 .ct-menu-link {
  color: var(--bub-nav-link) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  transition: all 0.25s ease;
  padding: 10px 14px !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none;
}

.menu li a:hover, 
.nav li a:hover, 
.ct-menu-link:hover,
#header-menu-1 .menu li a:hover {
  color: var(--bub-nav-hover) !important;
}

/* Dropdown Sub-Menus */
.sub-menu {
  background-color: var(--bub-bg-surface) !important;
  border: 1px solid var(--bub-border) !important;
  border-radius: var(--bub-radius) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
  padding: 8px 0 !important;
}

.sub-menu li a,
.sub-menu .ct-menu-link {
  color: var(--bub-nav-link) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  padding: 10px 20px !important;
  display: block !important;
}

.sub-menu li a:hover,
.sub-menu .ct-menu-link:hover {
  background-color: rgba(200, 154, 60, 0.08) !important;
  color: var(--bub-gold) !important;
}

/* Site Brand Logo Title */
.site-title a {
  color: var(--bub-logo-text) !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 1.4rem !important;
  display: inline-block;
  text-decoration: none;
}

.site-title a span.accent {
  color: var(--bub-gold) !important;
}

.site-description {
  color: var(--bub-gold) !important;
  font-size: 0.72rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-top: 2px;
}

/* Mobile Header Layout */
@media (max-width: 1023px) {
  [data-row="middle"] .ct-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 16px !important;
  }

  [data-row="middle"] [data-column="start"] {
    display: flex !important;
    align-items: center !important;
  }

  [data-row="middle"] [data-column="end"] {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .site-title a {
    font-size: 1.15rem !important;
  }
}

/* Header Icons (Search, Cart, Drawer Trigger) */
.ct-header-cart svg,
.ct-header-search svg,
.ct-header-trigger svg {
  fill: var(--bub-nav-link) !important;
  stroke: var(--bub-nav-link) !important;
  transition: all 0.25s ease;
}

.ct-header-cart:hover svg,
.ct-header-search:hover svg,
.ct-header-trigger:hover svg {
  fill: var(--bub-gold) !important;
  stroke: var(--bub-gold) !important;
}

.ct-cart-badge {
  background: var(--bub-gold) !important;
  color: #0d0f12 !important;
  font-weight: 800 !important;
}

/* ==========================================================================
   MOBILE OFFCANVAS DRAWER - LUXURY REDESIGN (MOBILE-FRIENDLY & STABLE)
   ========================================================================== */

.ct-header-trigger,
.ct-header-trigger:focus,
.ct-header-trigger:focus-visible,
.ct-header-trigger * {
  outline: none !important;
  box-shadow: none !important;
}

/* Offcanvas Drawer Backdrop (Strictly opens ONLY on .active / ct-offcanvas-open) */
#offcanvas.ct-panel {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 9999999 !important;
  background: rgba(8, 10, 14, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

#offcanvas.ct-panel.active,
body.ct-offcanvas-open #offcanvas.ct-panel {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Offcanvas Slide-in Inner Sheet */
#offcanvas .ct-panel-inner {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: 86% !important;
  max-width: 350px !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: #ffffff !important;
  color: #111827 !important;
  border-left: 1px solid rgba(200, 154, 60, 0.25) !important;
  box-shadow: -10px 0 45px rgba(0, 0, 0, 0.35) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  z-index: 10000000 !important;
  transform: translate3d(100%, 0, 0) !important;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
}

#offcanvas.active .ct-panel-inner,
body.ct-offcanvas-open #offcanvas .ct-panel-inner {
  transform: translate3d(0, 0, 0) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Drawer Top Bar / Close Actions */
#offcanvas .ct-panel-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 18px !important;
  width: 100% !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #ffffff !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
}

#offcanvas .ct-toggle-close {
  color: #334155 !important;
  cursor: pointer !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  transition: all 0.2s ease !important;
}

#offcanvas .ct-toggle-close:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
  transform: rotate(90deg) !important;
}

#offcanvas .ct-toggle-close svg {
  fill: currentColor !important;
  stroke: currentColor !important;
  width: 13px !important;
  height: 13px !important;
}

/* Drawer Header Branding */
.bub-drawer-branding {
  padding: 16px 20px 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: linear-gradient(180deg, #fafbfc 0%, #ffffff 100%) !important;
}

.bub-drawer-brand-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.bub-drawer-logo-text {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #0f172a !important;
  text-transform: uppercase !important;
}

.bub-drawer-logo-text .bub-gold-text {
  color: #c89a3c !important;
}

.bub-drawer-badge {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 20px !important;
  background: rgba(200, 154, 60, 0.12) !important;
  color: #b47818 !important;
  border: 1px solid rgba(200, 154, 60, 0.25) !important;
}

.bub-drawer-tagline {
  font-size: 0.78rem !important;
  color: #64748b !important;
  margin: 4px 0 0 !important;
  font-weight: 500 !important;
}

/* Drawer Theme Mode Card */
.bub-drawer-theme-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 18px !important;
  margin: 12px 16px 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
}

.bub-drawer-theme-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: #334155 !important;
}

.bub-drawer-theme-icon {
  stroke: #c89a3c !important;
}

.bub-drawer-theme-btn {
  padding: 5px 12px !important;
  font-size: 0.78rem !important;
  border-radius: 20px !important;
}

/* Drawer Menu Section Heading */
.bub-drawer-menu-heading {
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #c89a3c !important;
  padding: 14px 20px 6px !important;
}

/* Drawer Content Container */
#offcanvas .ct-panel-content[data-device="mobile"],
#offcanvas .ct-panel-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

#offcanvas .ct-panel-content-inner {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 0 0 30px !important;
}

/* Navigation Lists & Hierarchy */
#offcanvas .mobile-menu,
#offcanvas .menu {
  display: block !important;
  width: 100% !important;
  padding: 4px 14px !important;
}

#offcanvas .mobile-menu ul,
#offcanvas .menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  width: 100% !important;
}

#offcanvas .mobile-menu li,
#offcanvas .menu li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
}

/* Top-level menu item container */
#offcanvas .ct-sub-menu-parent {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}

#offcanvas .ct-sub-menu-parent:hover {
  background: rgba(200, 154, 60, 0.08) !important;
}

#offcanvas .mobile-menu a,
#offcanvas .mobile-menu .ct-menu-link,
#offcanvas .menu li a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 14px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
}

#offcanvas .ct-sub-menu-parent a.ct-menu-link {
  padding: 0 !important;
  flex: 1 !important;
}

#offcanvas .menu li a:hover,
#offcanvas .mobile-menu a:hover,
#offcanvas .mobile-menu .ct-menu-link:hover {
  color: #c89a3c !important;
  background: rgba(200, 154, 60, 0.08) !important;
}

/* Submenu Dropdown Arrow Button */
#offcanvas .ct-toggle-dropdown-mobile {
  width: 30px !important;
  height: 30px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(200, 154, 60, 0.12) !important;
  border: 1px solid rgba(200, 154, 60, 0.25) !important;
  color: #c89a3c !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: all 0.25s ease !important;
}

#offcanvas .ct-toggle-dropdown-mobile svg {
  width: 13px !important;
  height: 13px !important;
  fill: currentColor !important;
  transition: transform 0.25s ease !important;
}

#offcanvas .menu-item-has-children.dropdown-active > .ct-sub-menu-parent .ct-toggle-dropdown-mobile svg,
#offcanvas .menu-item-has-children.bub-open-parent > .ct-sub-menu-parent .ct-toggle-dropdown-mobile svg {
  transform: rotate(180deg) !important;
}

/* Sub-menu Hierarchy (Indented, Clean, Organized) - Accordion Toggle & Absolutely NO Background Shadow */
#offcanvas .sub-menu,
#offcanvas ul.sub-menu,
[data-theme="dark"] #offcanvas .sub-menu,
[data-theme="light"] #offcanvas .sub-menu {
  list-style: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

#offcanvas .menu-item-has-children:not(.dropdown-active):not(.bub-open-parent) > .sub-menu {
  display: none !important;
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#offcanvas .menu-item-has-children.dropdown-active > .sub-menu,
#offcanvas .menu-item-has-children.bub-open-parent > .sub-menu {
  display: flex !important;
  flex-direction: column !important;
  max-height: 800px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  list-style: none !important;
  padding: 4px 0 6px 14px !important;
  margin: 4px 0 6px 14px !important;
  border-left: 2px solid rgba(200, 154, 60, 0.35) !important;
  gap: 3px !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

#offcanvas .sub-menu li a {
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: #475569 !important;
  padding: 7px 10px !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
}

#offcanvas .sub-menu li a::before {
  content: '›' !important;
  margin-right: 8px !important;
  color: #c89a3c !important;
  font-weight: 700 !important;
}

#offcanvas .sub-menu li a:hover {
  color: #b47818 !important;
  background: rgba(200, 154, 60, 0.1) !important;
  transform: translateX(3px) !important;
}

/* Drawer Bottom Actions & Quick Contact */
.bub-drawer-footer {
  margin-top: 14px !important;
  padding: 16px 16px 20px !important;
  border-top: 1px solid #f1f5f9 !important;
  background: #fafbfc !important;
}

.bub-drawer-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
}

.bub-drawer-action-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.bub-drawer-whatsapp {
  background: #25D366 !important;
  color: #ffffff !important;
}

.bub-drawer-whatsapp:hover {
  background: #1eb855 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.bub-drawer-gmail {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
}

.bub-drawer-gmail:hover {
  border-color: #c89a3c !important;
  color: #c89a3c !important;
  transform: translateY(-1px) !important;
}

.bub-drawer-socials {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

.bub-drawer-social-link {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.bub-drawer-social-link:hover {
  border-color: #c89a3c !important;
  color: #c89a3c !important;
  transform: translateY(-2px) !important;
}

.bub-drawer-trust {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.bub-drawer-trust svg {
  stroke: #c89a3c !important;
}

/* ==========================================================================
   2. THEME SWITCHER TOGGLE BUTTON
   ========================================================================== */

.bub-theme-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bub-bg-elevated) !important;
  border: 1px solid var(--bub-border) !important;
  color: var(--bub-nav-link) !important;
  padding: 7px 10px !important;
  border-radius: 6px !important;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.bub-theme-toggle-btn:hover {
  border-color: var(--bub-gold) !important;
  color: var(--bub-gold) !important;
  transform: translateY(-1px);
}

.bub-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Light Theme: show Moon icon to switch to Dark */
[data-theme="light"] .bub-icon-sun,
:root:not([data-theme="dark"]) .bub-icon-sun {
  display: none !important;
}

[data-theme="light"] .bub-icon-moon,
:root:not([data-theme="dark"]) .bub-icon-moon {
  display: inline-flex !important;
  color: var(--bub-nav-link);
}

/* Dark Theme: show Sun icon to switch to Light */
[data-theme="dark"] .bub-icon-moon {
  display: none !important;
}

[data-theme="dark"] .bub-icon-sun {
  display: inline-flex !important;
  color: var(--bub-gold);
}

/* ==========================================================================
   3. PRODUCT CARDS: 4 IN A ROW ON DESKTOP, 1 ON MOBILE
   ========================================================================== */

@media (min-width: 1024px) {
  ul.products,
  .woocommerce ul.products[class*="columns-"],
  .elementor-shortcode ul.products,
  .elementor-widget-shortcode ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 0 40px 0 !important;
  }

  ul.products li.product,
  .woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  ul.products,
  .woocommerce ul.products,
  .woocommerce ul.products[class*="columns-"],
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products,
  .elementor-shortcode ul.products,
  .elementor-widget-shortcode ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
  }

  ul.products li.product,
  .woocommerce ul.products li.product,
  .related.products ul.products li.product,
  .upsells.products ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* Related Products Section Full-Width Layout */
section.related.products,
section.upsells.products,
section.cross-sells.products,
.related.products {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  opacity: 1 !important;
}

section.related.products .ct-module-title,
section.related.products > h2,
.related.products .ct-module-title,
.related.products > h2 {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 0 16px 0 !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--bub-text-heading, #111827) !important;
}

[data-theme="dark"] section.related.products .ct-module-title,
[data-theme="dark"] section.related.products > h2 {
  color: #f3f4f6 !important;
}

/* Mobile: 2 Cards in a Row on Landing Page, Shop, and Related Products */
@media (max-width: 767.98px) {
  ul.products,
  .woocommerce ul.products,
  .woocommerce ul.products[class*="columns-"],
  section.related.products ul.products,
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products,
  .elementor-shortcode ul.products,
  .elementor-widget-shortcode ul.products,
  ul[data-products] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    row-gap: 16px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    list-style: none !important;
  }

  ul.products li.product,
  .woocommerce ul.products li.product,
  .related.products ul.products li.product,
  .upsells.products ul.products li.product,
  .cross-sells ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    padding: 10px !important;
  }

  /* Compact square image for 2-column mobile layout */
  ul.products li.product .ct-image-container,
  ul.products li.product .woocommerce-loop-product__link > img,
  ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 6px !important;
  }

  /* Compact typography so card title & price fit cleanly */
  ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.85rem !important;
    line-height: 1.25 !important;
    margin: 8px 0 4px 0 !important;
    min-height: 2.5em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  ul.products li.product .price {
    font-size: 0.9rem !important;
    margin-bottom: 6px !important;
  }

  ul.products li.product .button,
  ul.products li.product .add_to_cart_button {
    padding: 6px 10px !important;
    font-size: 0.75rem !important;
    margin-top: auto !important;
  }

  ul.products li.product .bub-damascus-badge {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    font-size: 8px !important;
    padding: 2.5px 6px !important;
    line-height: 1.2 !important;
    border-radius: 3px !important;
    z-index: 3 !important;
    white-space: nowrap !important;
    max-width: calc(100% - 16px) !important;
  }

  ul.products li.product .bub-gift-badge {
    position: absolute !important;
    top: 29px !important;
    left: 8px !important;
    right: auto !important;
    font-size: 8px !important;
    padding: 2.5px 6px !important;
    line-height: 1.2 !important;
    border-radius: 3px !important;
    z-index: 3 !important;
    white-space: nowrap !important;
    max-width: calc(100% - 16px) !important;
  }

  ul.products li.product .onsale {
    display: none !important;
  }
}

@media (max-width: 360px) {
  ul.products,
  .woocommerce ul.products,
  .related.products ul.products {
    gap: 8px !important;
    row-gap: 12px !important;
  }
  ul.products li.product {
    padding: 8px !important;
  }
}

/* Product Card Styling */
ul.products li.product {
  background: var(--bub-bg-surface) !important;
  border: 1px solid var(--bub-border-card) !important;
  border-radius: var(--bub-radius) !important;
  padding: 18px !important;
  box-shadow: var(--bub-card-shadow) !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

ul.products li.product:hover {
  border-color: var(--bub-gold) !important;
  transform: translateY(-4px);
  box-shadow: var(--bub-card-shadow-hover) !important;
}

ul.products li.product img {
  border-radius: calc(var(--bub-radius) - 2px);
  transition: transform 0.4s ease;
  background-color: var(--bub-bg-elevated);
  width: 100%;
  height: 240px;
  object-fit: cover;
}

ul.products li.product:hover img {
  transform: scale(1.03);
}

ul.products li.product .woocommerce-loop-product__title {
  color: var(--bub-text-heading) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  margin-top: 14px !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
  min-height: 48px;
}

ul.products li.product .price {
  color: var(--bub-gold-price) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  margin-bottom: 12px !important;
}

/* Loop Badges */
.bub-damascus-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(17, 24, 39, 0.9);
  border: 1px solid var(--bub-gold);
  color: var(--bub-gold);
  font-size: 0.68rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  z-index: 2;
  backdrop-filter: blur(4px);
}

/* Permanently Remove All Badges from Product Cards (Gift For Him, Damascus on Sale, Damascus Steel, Sale) */
.bub-damascus-badge,
.bub-gift-badge,
ul.products li.product .bub-damascus-badge,
ul.products li.product .bub-gift-badge,
ul.products li.product span.onsale,
.product-entry-wrapper span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Buttons */
.button, 
button.button, 
a.button, 
.ct-button,
input[type="submit"] {
  background: linear-gradient(135deg, #c89a3c 0%, #ab7f29 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: var(--bub-radius) !important;
  padding: 12px 22px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 14px var(--bub-gold-glow) !important;
  text-align: center;
}

.button:hover, 
button.button:hover, 
a.button:hover, 
.ct-button:hover,
input[type="submit"]:hover {
  background: linear-gradient(135deg, #dfad49 0%, #c89a3c 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(200, 154, 60, 0.4) !important;
  transform: translateY(-1px);
}

/* ==========================================================================
   4. RANDOM PRODUCTS COLLAGE (Desktop Bento / Mobile 2-Col 2:ratio)
   ========================================================================== */

.bub-collage-wrapper {
  margin: 40px auto;
  max-width: 1240px;
  padding: 0 15px;
}

.bub-collage-header {
  text-align: center;
  margin-bottom: 35px;
}

.bub-collage-subtitle {
  color: var(--bub-gold-price);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 6px;
}

.bub-collage-title,
[data-theme="light"] .bub-collage-title,
body[data-theme="light"] .bub-collage-title,
[data-theme="dark"] .bub-collage-title,
body[data-theme="dark"] .bub-collage-title {
  color: #ffffff !important;
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  margin: 0;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
}

.bub-gold-divider {
  width: 60px;
  height: 3px;
  background: var(--bub-gold);
  margin: 14px auto 0;
  border-radius: 2px;
}

/* Desktop Grid: Different Sizes */
@media (min-width: 1024px) {
  .bub-collage-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 240px 240px;
    gap: 20px;
  }

  .bub-collage-item.item-size-1 {
    grid-column: span 2;
    grid-row: span 2;
  }

  .bub-collage-item.item-size-2 {
    grid-column: span 2;
    grid-row: span 1;
  }

  .bub-collage-item.item-size-3 {
    grid-column: span 1;
    grid-row: span 1;
  }
  .bub-collage-item.item-size-4 {
    grid-column: span 1;
    grid-row: span 1;
  }
  .bub-collage-item.item-size-5 {
    grid-column: span 2;
    grid-row: span 1;
  }
  .bub-collage-item.item-size-6 {
    grid-column: span 2;
    grid-row: span 1;
  }
}

/* Mobile Grid: 2 Columns with SAME SIZE & 2:ratio Aspect (No Text Overlap) */
@media (max-width: 599px) {
  .bub-collage-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .bub-collage-item {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    aspect-ratio: 1 / 1.35 !important;
    min-height: 220px !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .bub-collage-badge {
    top: 8px !important;
    left: 8px !important;
    font-size: 0.62rem !important;
    padding: 2px 6px !important;
    letter-spacing: 0.5px !important;
    z-index: 5 !important;
  }

  .bub-collage-tag {
    display: none !important; /* Completely eliminate overlapping tag */
  }

  .bub-collage-content {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 8px 10px 8px 10px !important;
    box-sizing: border-box !important;
    z-index: 3 !important;
  }

  .bub-collage-product-title {
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 0 0 3px 0 !important;
  }

  .bub-collage-price {
    font-size: 0.92rem !important;
    margin-bottom: 0 !important;
    line-height: 1.2 !important;
  }

  .bub-collage-btn {
    display: none !important;
  }

  .bub-collage-title {
    font-size: 1.45rem !important;
  }
}

.bub-collage-item {
  position: relative;
  border-radius: var(--bub-radius);
  overflow: hidden;
  border: 1px solid var(--bub-border-card);
  box-shadow: var(--bub-card-shadow);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  display: block;
  text-decoration: none !important;
  background: var(--bub-bg-surface);
}

.bub-collage-item:hover {
  transform: translateY(-4px);
  border-color: var(--bub-gold);
  box-shadow: var(--bub-card-shadow-hover);
}

.bub-collage-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
}

.bub-collage-item:hover .bub-collage-bg {
  transform: scale(1.06);
}

.bub-collage-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(13, 15, 18, 0.92) 0%, rgba(13, 15, 18, 0.4) 55%, rgba(13, 15, 18, 0.08) 100%);
  transition: background 0.3s ease;
}

.bub-collage-item:hover .bub-collage-overlay {
  background: linear-gradient(to top, rgba(13, 15, 18, 0.96) 0%, rgba(13, 15, 18, 0.5) 60%, rgba(13, 15, 18, 0.12) 100%);
}

.bub-collage-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(13, 15, 18, 0.88);
  border: 1px solid var(--bub-gold);
  color: var(--bub-gold);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  backdrop-filter: blur(4px);
  white-space: nowrap;
  max-width: calc(100% - 24px);
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 2;
}

.bub-collage-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 16px;
  z-index: 3;
  box-sizing: border-box;
}

.bub-collage-tag {
  display: none !important; /* Removed duplicate tag to guarantee zero collision with top badge */
}

.bub-collage-product-title {
  color: #ffffff !important;
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 6px 0;
  line-height: 1.3;
}

.bub-collage-price {
  color: var(--bub-gold) !important;
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 8px;
}

.bub-collage-btn {
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  transition: color 0.25s, transform 0.25s;
}

.bub-collage-item:hover .bub-collage-btn {
  color: var(--bub-gold);
  transform: translateX(4px);
}

/* ==========================================================================
   5. VALUE PROPS / TRUST SECTION
   ========================================================================== */

.bub-trust-section {
  background: transparent;
  padding: 40px 20px 20px 20px;
  margin: 0 auto;
  max-width: 1240px;
  width: 100%;
  box-sizing: border-box;
}

.bub-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0 auto;
}

.bub-trust-item {
  text-align: center;
  padding: 26px 18px;
  background: var(--bub-bg-elevated, #ffffff);
  border: 1px solid var(--bub-border, #e5e7eb);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.bub-trust-item:hover {
  transform: translateY(-4px);
  border-color: #c89a3c !important;
  box-shadow: 0 8px 24px rgba(200, 154, 60, 0.15) !important;
}

.bub-trust-item .icon {
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 14px;
  color: #c89a3c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bub-trust-item .icon svg {
  stroke: #c89a3c;
  width: 32px;
  height: 32px;
}

.bub-trust-item h4 {
  color: var(--bub-text-heading, #111827) !important;
  font-size: 1.05rem;
  margin: 0 0 8px 0;
  font-weight: 700;
  letter-spacing: -0.2px;
}

.bub-trust-item p {
  color: var(--bub-text-body, #6b7280) !important;
  font-size: 0.85rem;
  margin: 0;
  line-height: 1.45;
}

/* Dark Theme */
[data-theme="dark"] .bub-trust-item,
body[data-theme="dark"] .bub-trust-item {
  background: #16191f !important;
  border-color: #282d37 !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
}
[data-theme="dark"] .bub-trust-item h4,
body[data-theme="dark"] .bub-trust-item h4 {
  color: #f3f4f6 !important;
}
[data-theme="dark"] .bub-trust-item p,
body[data-theme="dark"] .bub-trust-item p {
  color: #9ca3af !important;
}

/* Light Theme */
[data-theme="light"] .bub-trust-item,
body[data-theme="light"] .bub-trust-item {
  background: #ffffff !important;
  border-color: #e5e7eb !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
}
[data-theme="light"] .bub-trust-item h4,
body[data-theme="light"] .bub-trust-item h4 {
  color: #111827 !important;
}
[data-theme="light"] .bub-trust-item p,
body[data-theme="light"] .bub-trust-item p {
  color: #4b5563 !important;
}

/* Mobile & Tablet Responsive Layout */
@media (max-width: 991px) {
  .bub-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (max-width: 767.98px) {
  .bub-trust-section {
    padding: 24px 12px 10px 12px !important;
    margin: 10px 0 0 0 !important;
  }
  .bub-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .bub-trust-item {
    padding: 16px 10px !important;
    border-radius: 10px !important;
  }
  .bub-trust-item .icon {
    font-size: 1.7rem !important;
    margin-bottom: 8px !important;
  }
  .bub-trust-item .icon svg {
    width: 26px !important;
    height: 26px !important;
  }
  .bub-trust-item h4 {
    font-size: 0.9rem !important;
    margin-bottom: 6px !important;
    line-height: 1.25 !important;
  }
  .bub-trust-item p {
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 360px) {
  .bub-trust-grid {
    gap: 8px !important;
  }
  .bub-trust-item {
    padding: 12px 8px !important;
  }
  .bub-trust-item h4 {
    font-size: 0.82rem !important;
  }
  .bub-trust-item p {
    font-size: 0.72rem !important;
  }
}

/* ==========================================================================
   6. FOOTER SOCIAL LINKS, GMAIL & PAYMENT BADGES
   ========================================================================== */

.bub-footer-payments-wrapper {
  background: #090a0d;
  border-top: 1px solid #1f242d;
  border-bottom: 1px solid #1f242d;
  padding: 34px 15px 30px;
  margin-top: 50px;
}

[data-theme="light"] .bub-footer-payments-wrapper,
body[data-theme="light"] .bub-footer-payments-wrapper {
  background: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

/* Footer Company Contact Details Grid */
.bub-footer-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  max-width: 1160px;
  margin: 0 auto 30px;
  padding-bottom: 26px;
  border-bottom: 1px solid #1f2633;
  text-align: left;
}

[data-theme="light"] .bub-footer-contact-grid,
body[data-theme="light"] .bub-footer-contact-grid {
  border-bottom-color: #e2e8f0 !important;
}

.bub-contact-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 12px;
  text-decoration: none !important;
  background: #12151b;
  border: 1px solid #202735;
  transition: all 0.25s ease;
}

[data-theme="light"] .bub-contact-card,
body[data-theme="light"] .bub-contact-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.bub-contact-card:hover {
  transform: translateY(-3px);
  border-color: #c89a3c !important;
  box-shadow: 0 8px 24px rgba(200, 154, 60, 0.22) !important;
}

.bub-contact-icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(200, 154, 60, 0.12);
  border: 1px solid rgba(200, 154, 60, 0.3);
  color: #c89a3c;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.bub-contact-card:hover .bub-contact-icon-wrapper {
  transform: scale(1.08);
}

.bub-contact-text-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bub-contact-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c89a3c;
}

.bub-contact-value {
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.45;
  color: #f1f5f9;
}

[data-theme="light"] .bub-contact-value,
body[data-theme="light"] .bub-contact-value {
  color: #1e293b !important;
}

@media (max-width: 900px) {
  .bub-footer-contact-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
    padding-bottom: 20px;
  }
  .bub-contact-card {
    padding: 14px 16px;
  }
}

/* Drawer Company Info Items */
.bub-drawer-company-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}

[data-theme="dark"] .bub-drawer-company-info {
  border-top-color: #1e2430 !important;
}

.bub-drawer-info-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.4;
}

[data-theme="dark"] .bub-drawer-info-item {
  color: #94a3b8 !important;
}

.bub-drawer-info-item svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: #c89a3c;
}

/* Footer Social & Gmail Connect Section */
.bub-footer-socials-container {
  max-width: 1200px;
  margin: 0 auto 28px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.bub-socials-heading {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c89a3c;
  margin-bottom: 14px;
  display: inline-block;
}

.bub-socials-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.bub-footer-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 30px;
  text-decoration: none !important;
  font-size: 0.86rem;
  font-weight: 600;
  transition: all 0.25s ease;
  background: #141820;
  border: 1px solid #232a36;
  color: #f1f5f9 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.bub-footer-social-btn svg {
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.bub-footer-social-btn:hover {
  transform: translateY(-2px);
  border-color: #c89a3c !important;
  color: #f6c042 !important;
  box-shadow: 0 6px 18px rgba(200, 154, 60, 0.25) !important;
}

.bub-footer-social-btn:hover svg {
  transform: scale(1.12);
}

/* Specific Social Brand Color Nuances on Hover */
.bub-btn-facebook:hover {
  border-color: #1877F2 !important;
  color: #1877F2 !important;
}

.bub-btn-instagram:hover {
  border-color: #E1306C !important;
  color: #E1306C !important;
}

.bub-btn-tiktok:hover {
  border-color: #25F4EE !important;
  color: #ffffff !important;
}

.bub-btn-whatsapp:hover {
  border-color: #25D366 !important;
  color: #25D366 !important;
}

.bub-btn-gmail:hover {
  border-color: #EA4335 !important;
  color: #EA4335 !important;
}

/* Light Theme Social Buttons */
[data-theme="light"] .bub-footer-social-btn,
body[data-theme="light"] .bub-footer-social-btn {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .bub-footer-social-btn:hover,
body[data-theme="light"] .bub-footer-social-btn:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1) !important;
}

@media (max-width: 600px) {
  .bub-socials-row {
    gap: 8px;
  }
  .bub-footer-social-btn {
    padding: 7px 12px;
    font-size: 0.78rem;
    gap: 6px;
  }
  .bub-footer-social-btn svg {
    width: 15px;
    height: 15px;
  }
}

.bub-payments-container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.bub-payments-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 18px;
}

.bub-payments-lock {
  font-size: 1.1rem;
}

.bub-payments-text {
  color: #94a3b8;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.bub-payments-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.bub-payment-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 38px;
  padding: 4px;
  border-radius: 6px;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
}

[data-theme="dark"] .bub-payment-card,
body[data-theme="dark"] .bub-payment-card {
  background: #181a20 !important;
  border: 1px solid #282d37 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="light"] .bub-payment-card,
body[data-theme="light"] .bub-payment-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.bub-payment-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(200, 154, 60, 0.35) !important;
}

.bub-pay-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 50px !important;
  max-height: 30px !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
}

.bub-pay-lock-svg {
  color: var(--bub-gold);
  display: inline-block;
  vertical-align: middle;
}

footer.ct-footer {
  background-color: var(--bub-footer-bg) !important;
  color: #94a3b8 !important;
}

footer.ct-footer a {
  color: #94a3b8 !important;
  transition: color 0.2s;
}

footer.ct-footer a:hover {
  color: var(--bub-gold) !important;
}

/* ==========================================================================
   7. WOOCOMMERCE SINGLE PRODUCT & CART/CHECKOUT READABILITY
   ========================================================================== */

.single-product div.product {
  background: var(--bub-bg-surface) !important;
  border: 1px solid var(--bub-border) !important;
  border-radius: var(--bub-radius);
  padding: 30px;
  box-shadow: var(--bub-card-shadow);
}

.woocommerce-tabs ul.tabs {
  background: var(--bub-bg-elevated) !important;
  border-color: var(--bub-border) !important;
}

.woocommerce-tabs ul.tabs li a {
  color: var(--bub-text-heading) !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--bub-gold) !important;
}

.woocommerce-Tabs-panel {
  color: var(--bub-text-body) !important;
}

.woocommerce-cart-form,
.cart-collaterals,
#customer_details,
#order_review {
  background: var(--bub-bg-surface) !important;
  border: 1px solid var(--bub-border) !important;
  border-radius: var(--bub-radius);
  padding: 24px;
  box-shadow: var(--bub-card-shadow);
}

table.shop_table th {
  color: var(--bub-text-heading) !important;
  background: var(--bub-bg-elevated) !important;
  border-color: var(--bub-border) !important;
}

table.shop_table td {
  border-color: var(--bub-border) !important;
  color: var(--bub-text-body) !important;
}

/* ==========================================================================
   8. UNIVERSAL CONTRAST, ELEMENTOR TYPOGRAPHY & ASTRA GLOBAL FALLBACKS
   ========================================================================== */

/* Astra & Elementor Global Fallbacks for Light Theme (Default) */
:root,
[data-theme="light"],
body[data-theme="light"] {
  --e-global-color-astglobalcolor0: #c89a3c;
  --e-global-color-astglobalcolor1: #b48328;
  --e-global-color-astglobalcolor2: #111827;
  --e-global-color-astglobalcolor3: #111827;
  --e-global-color-astglobalcolor4: #374151;
  --e-global-color-astglobalcolor5: #e2e8f0;
  --ast-global-color-0: #c89a3c;
  --ast-global-color-1: #b48328;
  --ast-global-color-2: #111827;
  --ast-global-color-3: #111827;
  --ast-global-color-4: #374151;
  --ast-global-color-5: #e2e8f0;
  --theme-text-color: #374151 !important;
  --theme-headings-color: #111827 !important;
  --theme-link-initial-color: #111827 !important;
  --theme-link-hover-color: #c89a3c !important;
  --theme-icon-color: #111827 !important;
}

/* Astra & Elementor Global Fallbacks for Dark Theme */
[data-theme="dark"],
body[data-theme="dark"] {
  --e-global-color-astglobalcolor0: #c89a3c;
  --e-global-color-astglobalcolor1: #dfad49;
  --e-global-color-astglobalcolor2: #f8fafc;
  --e-global-color-astglobalcolor3: #f8fafc;
  --e-global-color-astglobalcolor4: #94a3b8;
  --e-global-color-astglobalcolor5: #282d37;
  --ast-global-color-0: #c89a3c;
  --ast-global-color-1: #dfad49;
  --ast-global-color-2: #f8fafc;
  --ast-global-color-3: #f8fafc;
  --ast-global-color-4: #94a3b8;
  --ast-global-color-5: #282d37;
  --theme-text-color: #94a3b8 !important;
  --theme-headings-color: #f8fafc !important;
  --theme-link-initial-color: #f8fafc !important;
  --theme-link-hover-color: #c89a3c !important;
  --theme-icon-color: #f8fafc !important;
}

/* Elementor Headings Visibility (excluding hero image slider) */
.elementor-heading-title:not(.banner-slide-item .elementor-heading-title) {
  color: var(--bub-text-heading) !important;
}

/* Elementor Section Eyebrows & Subtitles (e.g. "Shop", "best in business") */
h6.elementor-heading-title,
.elementor-heading-title.elementor-size-small,
.elementor-widget-heading h6.elementor-heading-title {
  color: var(--bub-gold-price) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Elementor Paragraphs & Body Descriptions */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-text-editor,
.elementor-text-editor p {
  color: var(--bub-text-body) !important;
}

/* Homepage Category & Section Buttons ("Click here", "View ALL", etc.) - Single Clean Button */
.elementor-button-wrapper,
.elementor-widget-button .elementor-widget-container,
.elementor-button .elementor-button-content-wrapper,
.elementor-button .elementor-button-text,
.elementor-button .elementor-button-icon {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-element-6bebfe1 .elementor-button,
.elementor-element-43dffe1 .elementor-button,
.elementor-element-19bb949 .elementor-button,
.elementor-element-ef80025 .elementor-button,
.elementor-element-899e8b4 .elementor-button,
.elementor-element-38894d6 .elementor-button,
.elementor-widget-button a.elementor-button,
.elementor-widget-button .elementor-button,
.elementor-button.elementor-size-sm,
.elementor-button,
a.elementor-button,
.elementor-button-link {
  background: linear-gradient(135deg, #c89a3c 0%, #ab7f29 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: var(--bub-radius) !important;
  padding: 10px 24px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  font-size: 0.82rem !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 12px var(--bub-gold-glow) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-widget-button a.elementor-button:hover,
.elementor-widget-button .elementor-button:hover,
.elementor-button.elementor-size-sm:hover,
.elementor-button:hover,
a.elementor-button:hover {
  background: linear-gradient(135deg, #dfad49 0%, #c89a3c 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(200, 154, 60, 0.4) !important;
}

.elementor-button .elementor-button-text,
.elementor-button .elementor-button-content-wrapper,
.elementor-button span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700 !important;
}

/* Product Card Action Buttons (Select Options, Add to Cart) - Pure White Text */
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
ul.products li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce .products .product .button,
.woocommerce .products .product a.button,
.woocommerce-page .products .product .button,
.woocommerce-page .products .product a.button,
.bub-collage-btn,
.bub-collage-btn span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700 !important;
}

ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover,
ul.products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce .products .product .button:hover,
.woocommerce .products .product a.button:hover,
.woocommerce-page .products .product .button:hover,
.woocommerce-page .products .product a.button:hover,
.bub-collage-btn:hover,
.bub-collage-btn:hover span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Breadcrumbs Visibility & Contrast */
.ct-breadcrumbs,
.woocommerce-breadcrumb {
  color: var(--bub-text-muted) !important;
  font-size: 0.88rem !important;
  margin-bottom: 20px !important;
}

.ct-breadcrumbs a,
.woocommerce-breadcrumb a {
  color: var(--bub-nav-link) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.ct-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
  color: var(--bub-gold) !important;
}

/* Form Inputs, Search & Selects */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
textarea,
select {
  background-color: var(--bub-bg-surface) !important;
  color: var(--bub-text-heading) !important;
  border: 1px solid var(--bub-border) !important;
  border-radius: var(--bub-radius) !important;
  padding: 10px 14px !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--bub-text-muted) !important;
  opacity: 0.8 !important;
}

/* WooCommerce Product Meta & Tags */
.product_meta .posted_in,
.product_meta .sku_wrapper {
  color: var(--bub-text-muted) !important;
  font-size: 0.9rem !important;
}

/* Hide Tags Section from Product Meta */
.product_meta .tagged_as,
.single-product .product_meta .tagged_as,
.tagged_as,
.meta-tags,
.entry-meta [data-id*="tag"] {
  display: none !important;
  visibility: hidden !important;
}

.product_meta a {
  color: var(--bub-gold-price) !important;
  font-weight: 600 !important;
}

.product_meta a:hover {
  color: var(--bub-gold) !important;
}

/* Search Modal Overlay & Input */
#search-modal {
  background-color: var(--bub-header-bg) !important;
  backdrop-filter: blur(12px) !important;
}

#search-modal .ct-search-form input[type="search"] {
  background: var(--bub-bg-elevated) !important;
  color: var(--bub-text-heading) !important;
  border: 1px solid var(--bub-border) !important;
}

#search-modal .ct-search-results {
  color: var(--bub-text-heading) !important;
}

#search-modal .ct-toggle-close svg {
  fill: var(--bub-nav-link) !important;
}

/* WooCommerce Info / Notice Bars */
.woocommerce-message,
.woocommerce-info {
  background-color: var(--bub-bg-surface) !important;
  border-top-color: var(--bub-gold) !important;
  color: var(--bub-text-body) !important;
  border: 1px solid var(--bub-border) !important;
  border-top: 3px solid var(--bub-gold) !important;
  border-radius: var(--bub-radius);
}

/* ==========================================================================
   9. DEDICATED DARK MODE HIGH-VISIBILITY TEXT OVERRIDES (LIGHT THEME UNTOUCHED)
   ========================================================================== */

[data-theme="dark"] header#header,
[data-theme="dark"] .ct-header,
[data-theme="dark"] [data-row],
[data-theme="dark"] [data-row*="middle"],
[data-theme="dark"] [data-row*="middle"] > div,
[data-theme="dark"] [data-row*="middle"] .ct-container,
[data-theme="dark"] .site-header {
  background-color: #0d0f12 !important;
  background-image: none !important;
  border-color: #282d37 !important;
}

/* Dark Mode Header Logo Switcher */
[data-theme="dark"] .site-logo-container img.default-logo,
[data-theme="dark"] .site-logo-container img,
[data-theme="dark"] .custom-logo-link img,
body[data-theme="dark"] .site-logo-container img.default-logo,
body[data-theme="dark"] .site-logo-container img,
body[data-theme="dark"] .custom-logo-link img {
  content: url('assets/BuniqueDarkmode-logo.webp') !important;
}

[data-theme="dark"] [data-header] .ct-header [data-id="menu"] a,
[data-theme="dark"] [data-header] .ct-header [data-id="menu"] .ct-menu-link,
[data-theme="dark"] #header-menu-1 .ct-menu-link,
[data-theme="dark"] #header-menu-1 a,
[data-theme="dark"] nav[class*="menu"] .ct-menu-link {
  color: #ffffff !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] [data-header] .ct-header [data-id="menu"] a:hover,
[data-theme="dark"] [data-header] .ct-header [data-id="menu"] .ct-menu-link:hover,
[data-theme="dark"] #header-menu-1 .ct-menu-link:hover,
[data-theme="dark"] #header-menu-1 a:hover {
  color: #f6c042 !important;
}

[data-theme="dark"] .ct-header-cart svg,
[data-theme="dark"] .ct-header-search svg,
[data-theme="dark"] .ct-header-trigger svg {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

[data-theme="dark"] .ct-header-cart:hover svg,
[data-theme="dark"] .ct-header-search:hover svg,
[data-theme="dark"] .ct-header-trigger:hover svg {
  fill: #f6c042 !important;
  stroke: #f6c042 !important;
}

[data-theme="dark"] .ct-cart-item .ct-amount,
[data-theme="dark"] .ct-cart-item .woocommerce-Price-amount {
  color: #ffffff !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .sub-menu {
  background-color: #16191f !important;
  border: 1px solid #282d37 !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="dark"] .sub-menu a,
[data-theme="dark"] .sub-menu .ct-menu-link {
  color: #f8fafc !important;
}

[data-theme="dark"] .sub-menu a:hover,
[data-theme="dark"] .sub-menu .ct-menu-link:hover {
  color: #f6c042 !important;
  background-color: rgba(200, 154, 60, 0.15) !important;
}

[data-theme="dark"] #offcanvas.ct-panel {
  background: rgba(4, 6, 9, 0.82) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: none !important;
}

[data-theme="dark"] #offcanvas .ct-panel-inner {
  background-color: #0f1217 !important;
  color: #f8fafc !important;
  border-left: 1px solid rgba(200, 154, 60, 0.3) !important;
  box-shadow: -12px 0 50px rgba(0, 0, 0, 0.9) !important;
}

[data-theme="dark"] #offcanvas .ct-panel-actions {
  background: #0f1217 !important;
  border-bottom-color: #1e2430 !important;
}

[data-theme="dark"] #offcanvas .ct-toggle-close {
  background: #181d26 !important;
  border-color: #262f3e !important;
  color: #e2e8f0 !important;
}

[data-theme="dark"] #offcanvas .ct-toggle-close:hover {
  background: #232b38 !important;
  color: #f6c042 !important;
}

[data-theme="dark"] #offcanvas .ct-toggle-close svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

[data-theme="dark"] .bub-drawer-branding {
  background: linear-gradient(180deg, #141820 0%, #0f1217 100%) !important;
  border-bottom-color: #1e2430 !important;
}

[data-theme="dark"] .bub-drawer-logo-text {
  color: #ffffff !important;
}

[data-theme="dark"] .bub-drawer-tagline {
  color: #94a3b8 !important;
}

[data-theme="dark"] .bub-drawer-theme-card {
  background: #141820 !important;
  border-color: #232a36 !important;
}

[data-theme="dark"] .bub-drawer-theme-label {
  color: #e2e8f0 !important;
}

[data-theme="dark"] .bub-drawer-theme-btn {
  background: #1b202c !important;
  border-color: #2d3748 !important;
  color: #f6c042 !important;
}

[data-theme="dark"] #offcanvas .ct-sub-menu-parent:hover {
  background: rgba(200, 154, 60, 0.12) !important;
}

[data-theme="dark"] #offcanvas .mobile-menu a,
[data-theme="dark"] #offcanvas .mobile-menu .ct-menu-link,
[data-theme="dark"] #offcanvas .menu li a {
  color: #f1f5f9 !important;
}

[data-theme="dark"] #offcanvas .mobile-menu a:hover,
[data-theme="dark"] #offcanvas .mobile-menu .ct-menu-link:hover,
[data-theme="dark"] #offcanvas .menu li a:hover {
  color: #f6c042 !important;
  background: rgba(200, 154, 60, 0.12) !important;
}

[data-theme="dark"] #offcanvas .ct-toggle-dropdown-mobile {
  background: rgba(200, 154, 60, 0.15) !important;
  border-color: rgba(200, 154, 60, 0.3) !important;
  color: #f6c042 !important;
}

[data-theme="dark"] #offcanvas .sub-menu {
  border-left-color: rgba(200, 154, 60, 0.4) !important;
}

[data-theme="dark"] #offcanvas .sub-menu li a {
  color: #94a3b8 !important;
}

[data-theme="dark"] #offcanvas .sub-menu li a:hover {
  color: #f6c042 !important;
  background: rgba(200, 154, 60, 0.15) !important;
}

[data-theme="dark"] .bub-drawer-footer {
  background: #0b0e12 !important;
  border-top-color: #1a202c !important;
}

[data-theme="dark"] .bub-drawer-gmail {
  background: #161b24 !important;
  border-color: #283142 !important;
  color: #f1f5f9 !important;
}

[data-theme="dark"] .bub-drawer-social-link {
  background: #141820 !important;
  border-color: #232a36 !important;
  color: #94a3b8 !important;
}

[data-theme="dark"] .bub-drawer-social-link:hover {
  color: #f6c042 !important;
  border-color: #c89a3c !important;
}

[data-theme="dark"] .bub-drawer-trust {
  color: #94a3b8 !important;
}

/* Headings in Dark Mode */
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6,
[data-theme="dark"] .elementor-heading-title:not(.banner-slide-item .elementor-heading-title),
[data-theme="dark"] .entry-title,
[data-theme="dark"] .product_title {
  color: #ffffff !important;
}

/* Paragraphs in Dark Mode */
[data-theme="dark"] p,
[data-theme="dark"] .elementor-widget-text-editor,
[data-theme="dark"] .elementor-widget-text-editor p,
[data-theme="dark"] .elementor-text-editor,
[data-theme="dark"] .elementor-text-editor p,
[data-theme="dark"] .woocommerce-product-details__short-description,
[data-theme="dark"] .ct-entry-content {
  color: #d1d5db !important;
}

/* Subtitles / Eyebrow text in Dark Mode */
[data-theme="dark"] h6.elementor-heading-title,
[data-theme="dark"] .elementor-heading-title.elementor-size-small,
[data-theme="dark"] .bub-collage-subtitle {
  color: #f6c042 !important;
}

/* Product Cards in Dark Mode */
[data-theme="dark"] ul.products li.product {
  background: #16191f !important;
  border-color: #282d37 !important;
}

[data-theme="dark"] ul.products li.product .woocommerce-loop-product__title {
  color: #ffffff !important;
}

[data-theme="dark"] ul.products li.product .price,
[data-theme="dark"] .price .amount,
[data-theme="dark"] .bub-collage-price {
  color: #f6c042 !important;
}

/* Breadcrumbs in Dark Mode */
[data-theme="dark"] .ct-breadcrumbs,
[data-theme="dark"] .woocommerce-breadcrumb {
  color: #94a3b8 !important;
}

[data-theme="dark"] .ct-breadcrumbs a,
[data-theme="dark"] .woocommerce-breadcrumb a {
  color: #ffffff !important;
}

/* Trust Section in Dark Mode */
[data-theme="dark"] .bub-trust-section {
  background: #121519 !important;
  border-color: #282d37 !important;
}

[data-theme="dark"] .bub-trust-item {
  background: #1a1e26 !important;
  border-color: #282d37 !important;
}

[data-theme="dark"] .bub-trust-item h4 {
  color: #ffffff !important;
}

[data-theme="dark"] .bub-trust-item p {
  color: #d1d5db !important;
}

/* ==========================================================================
   10. OLD ELEMENTOR SECTIONS SUPPRESSION (SLIDER & UNIQUE PIECES)
   ========================================================================== */
.elementor-element-03bc42e,
.elementor-element-6fd4258 {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   11. COMPLETE REMOVAL OF PAGE TITLE / HERO ON LANDING PAGE
   ========================================================================== */
.home .hero-section,
.home .entry-header,
.home .page-title,
.home .ct-page-title,
.home .ct-breadcrumbs,
.home [data-prefix*="single_page_hero"],
body.home .hero-section,
body.home .entry-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   12. PPOM & SINGLE PRODUCT PRICE TABLE DARK MODE VISIBILITY
   ========================================================================== */
[data-theme="dark"] .ppom-wrapper,
[data-theme="dark"] #ppom-price-container,
[data-theme="dark"] .ppom-price-table,
[data-theme="dark"] .table.table-striped,
[data-theme="dark"] .table-striped,
[data-theme="dark"] .ppom-pricing-table,
[data-theme="dark"] table.variations,
[data-theme="dark"] .single-product table {
  background-color: #16191f !important;
  color: #ffffff !important;
  border-color: #282d37 !important;
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd),
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(even),
[data-theme="dark"] table.table-striped tr,
[data-theme="dark"] table.table-striped td,
[data-theme="dark"] table.table-striped th,
[data-theme="dark"] #ppom-price-container tr,
[data-theme="dark"] #ppom-price-container td,
[data-theme="dark"] #ppom-price-container th {
  background-color: transparent !important;
  color: #ffffff !important;
  border-color: #282d37 !important;
}

[data-theme="dark"] .ppom-wrapper td,
[data-theme="dark"] .ppom-wrapper th,
[data-theme="dark"] #ppom-price-container td,
[data-theme="dark"] #ppom-price-container th {
  color: #ffffff !important;
  border-color: #282d37 !important;
}

[data-theme="dark"] .ppom-wrapper .ppom-label,
[data-theme="dark"] .ppom-wrapper .ppom-field-wrapper label {
  color: #ffffff !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .ppom-wrapper .form-control,
[data-theme="dark"] .ppom-wrapper .ppom-input,
[data-theme="dark"] .ppom-wrapper input[type="text"],
[data-theme="dark"] .ppom-wrapper select {
  color: #ffffff !important;
  background-color: #1a1e26 !important;
  border: 1px solid #374151 !important;
}

[data-theme="dark"] .ppom-price,
[data-theme="dark"] #ppom-price-container .ppom-price,
[data-theme="dark"] .ppom-price-table .ppom-price,
[data-theme="dark"] .woocommerce-variation-price .price,
[data-theme="dark"] .single-product .summary .price,
[data-theme="dark"] .single-product .summary .price .amount,
[data-theme="dark"] #ppom-price-container td:last-child {
  color: #f6c042 !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .ppom-wrapper .ppom-description,
[data-theme="dark"] .ppom-wrapper small,
[data-theme="dark"] .ppom-wrapper .text-muted {
  color: #94a3b8 !important;
}

/* ==========================================================================
   13. STICKY NAVBAR (DESKTOP & MOBILE)
   ========================================================================== */
header#header,
.site-header,
[data-device="mobile"].site-header,
[data-device="mobile"] header#header {
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0 !important;
  top: var(--admin-bar, 0px) !important;
  z-index: 99999 !important;
  width: 100% !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
}

[data-theme="light"] header#header,
[data-theme="light"] .site-header,
body[data-theme="light"] header#header {
  background-color: #ffffff !important;
}

[data-theme="dark"] header#header,
[data-theme="dark"] .site-header,
body[data-theme="dark"] header#header {
  background-color: #0d0f12 !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.6) !important;
}

/* Maintain solid backgrounds for mobile rows so content never bleeds through on scroll */
[data-device="mobile"] [data-row],
[data-device="mobile"] [data-row*="middle"],
[data-device="mobile"] .ct-container {
  background-color: inherit !important;
}

/* ==========================================================================
   14. WOOCOMMERCE & CARTFLOWS CHECKOUT UNIFIED HARMONIZATION
   ========================================================================== */
.woocommerce-checkout {
  padding-top: 30px;
  padding-bottom: 60px;
}

/* Light Theme Checkout */
[data-theme="light"] .woocommerce-checkout,
body[data-theme="light"] .woocommerce-checkout,
[data-theme="light"] .cartflows-checkout-main-wrapper {
  background-color: #f8f9fa !important;
}

[data-theme="light"] #customer_details,
[data-theme="light"] #order_review,
[data-theme="light"] .woocommerce-checkout-review-order-table,
[data-theme="light"] .wcf-embed-checkout-form,
[data-theme="light"] .checkout-form--wrapper {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: var(--bub-radius);
  color: #111827 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .woocommerce-checkout h3,
[data-theme="light"] .woocommerce-checkout label,
[data-theme="light"] .woocommerce-checkout th {
  color: #111827 !important;
}

[data-theme="light"] .woocommerce-checkout input[type="text"],
[data-theme="light"] .woocommerce-checkout input[type="email"],
[data-theme="light"] .woocommerce-checkout input[type="tel"],
[data-theme="light"] .woocommerce-checkout input[type="password"],
[data-theme="light"] .woocommerce-checkout select,
[data-theme="light"] .woocommerce-checkout textarea {
  background-color: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #cbd5e1 !important;
}

[data-theme="light"] #payment {
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}

[data-theme="light"] #payment div.payment_box {
  background-color: #ffffff !important;
  color: #374151 !important;
  border: 1px solid #e2e8f0 !important;
}

/* Dark Theme Checkout - Pure Luxury High Contrast */
[data-theme="dark"] .woocommerce-checkout,
body[data-theme="dark"] .woocommerce-checkout,
[data-theme="dark"] .cartflows-checkout-main-wrapper,
body[data-theme="dark"] .cartflows-checkout-main-wrapper {
  background-color: #0d0f12 !important;
  color: #ffffff !important;
}

[data-theme="dark"] #customer_details,
[data-theme="dark"] #order_review,
[data-theme="dark"] .woocommerce-checkout-review-order,
[data-theme="dark"] .woocommerce-checkout-review-order-table,
[data-theme="dark"] .wcf-embed-checkout-form,
[data-theme="dark"] .checkout-form--wrapper,
[data-theme="dark"] .main-container--wrapper {
  background-color: #16191f !important;
  border: 1px solid #282d37 !important;
  border-radius: var(--bub-radius);
  color: #ffffff !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="dark"] .woocommerce-checkout h3,
[data-theme="dark"] #order_review_heading,
[data-theme="dark"] .woocommerce-billing-fields h3,
[data-theme="dark"] .woocommerce-shipping-fields h3,
[data-theme="dark"] .woocommerce-additional-fields h3,
[data-theme="dark"] .wcf-empty-cart-heading {
  color: #ffffff !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .woocommerce-checkout label,
[data-theme="dark"] .woocommerce-checkout .woocommerce-form__label,
[data-theme="dark"] .woocommerce-checkout .form-row label,
[data-theme="dark"] .wcf-field-modern-label label {
  color: #e2e8f0 !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .woocommerce-checkout input[type="text"],
[data-theme="dark"] .woocommerce-checkout input[type="email"],
[data-theme="dark"] .woocommerce-checkout input[type="tel"],
[data-theme="dark"] .woocommerce-checkout input[type="password"],
[data-theme="dark"] .woocommerce-checkout select,
[data-theme="dark"] .woocommerce-checkout textarea,
[data-theme="dark"] .wcf-embed-checkout-form input[type="text"],
[data-theme="dark"] .wcf-embed-checkout-form input[type="email"],
[data-theme="dark"] .wcf-embed-checkout-form input[type="tel"] {
  background-color: #1a1e26 !important;
  color: #ffffff !important;
  border: 1px solid #374151 !important;
  border-radius: var(--bub-radius) !important;
}

[data-theme="dark"] .woocommerce-checkout input:focus,
[data-theme="dark"] .woocommerce-checkout select:focus,
[data-theme="dark"] .woocommerce-checkout textarea:focus {
  border-color: #c89a3c !important;
  box-shadow: 0 0 0 3px rgba(200, 154, 60, 0.25) !important;
}

[data-theme="dark"] table.shop_table.woocommerce-checkout-review-order-table th {
  background-color: #121519 !important;
  color: #ffffff !important;
  border-color: #282d37 !important;
}

[data-theme="dark"] table.shop_table.woocommerce-checkout-review-order-table td {
  border-color: #282d37 !important;
  color: #d1d5db !important;
}

[data-theme="dark"] table.shop_table.woocommerce-checkout-review-order-table .product-name strong {
  color: #ffffff !important;
}

[data-theme="dark"] table.shop_table.woocommerce-checkout-review-order-table .product-total .amount,
[data-theme="dark"] table.shop_table.woocommerce-checkout-review-order-table .order-total .amount {
  color: #f6c042 !important;
  font-weight: 700 !important;
}

[data-theme="dark"] #payment {
  background-color: #121519 !important;
  border: 1px solid #282d37 !important;
  border-radius: var(--bub-radius);
}

[data-theme="dark"] #payment ul.payment_methods {
  border-bottom-color: #282d37 !important;
}

[data-theme="dark"] #payment div.payment_box {
  background-color: #1a1e26 !important;
  color: #d1d5db !important;
  border: 1px solid #374151 !important;
}

[data-theme="dark"] #payment div.payment_box::before {
  border-bottom-color: #1a1e26 !important;
}

[data-theme="dark"] .wc_payment_method label {
  color: #ffffff !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .woocommerce-checkout #place_order,
[data-theme="dark"] .wcf-empty-cart-button {
  background: linear-gradient(135deg, #c89a3c 0%, #ab7f29 100%) !important;
  color: #0d0f12 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 14px 28px !important;
  border: none !important;
  border-radius: var(--bub-radius) !important;
  box-shadow: 0 4px 15px rgba(200, 154, 60, 0.4) !important;
}

[data-theme="dark"] .woocommerce-checkout #place_order:hover,
[data-theme="dark"] .wcf-empty-cart-button:hover {
  background: linear-gradient(135deg, #dfad49 0%, #c89a3c 100%) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(200, 154, 60, 0.6) !important;
}

/* Hide CartFlows minimal unstyled header if it appears */
.cartflows_step-template .main-header--wrapper {
  background-color: var(--bub-header-bg) !important;
  border-bottom: 1px solid var(--bub-border) !important;
}

[data-theme="dark"] .cartflows_step-template .main-header--wrapper {
  background-color: #0d0f12 !important;
  border-bottom: 1px solid #282d37 !important;
}

/* ==========================================================================
   16. CART TOTALS: GIVE PADDING FROM LEFT TO SUBTOTAL AND TOTAL
   ========================================================================== */
.cart_totals table.shop_table th,
.cart_totals table.shop_table td,
.cart_totals table.shop_table tr.cart-subtotal th,
.cart_totals table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.cart-subtotal td,
.cart_totals table.shop_table tr.order-total td,
.cart-collaterals .shop_table th,
.cart-collaterals .shop_table td,
table.shop_table tr.cart-subtotal th,
table.shop_table tr.order-total th,
table.shop_table tr.cart-subtotal td,
table.shop_table tr.order-total td,
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  vertical-align: middle !important;
}

/* ==========================================================================
   17. REMOVE SPACE BETWEEN SLIDER AND NAVBAR (HOMEPAGE)
   ========================================================================== */
.home [data-vertical-spacing*="top"],
body.home [data-vertical-spacing*="top"],
.home #main-container,
body.home #main-container,
.home .site-main,
body.home .site-main,
.home .ct-container,
.home .ct-container-full,
.home .entry-content,
.home article,
.home .elementor:first-child,
.home .elementor-section-wrap > .elementor-section:first-child,
.home .elementor > .elementor-element:first-child,
.home .elementor-top-section:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ==========================================================================
   18. SINGLE PRODUCT: MAIN GALLERY IMAGE FITS CORNER-TO-CORNER
   ========================================================================== */
.single-product .woocommerce-product-gallery {
  width: 100% !important;
}

.single-product .ct-product-gallery-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product .woocommerce-product-gallery .flexy-view {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}

.single-product .woocommerce-product-gallery .flexy-items {
  width: 100% !important;
  display: flex !important;
}

.single-product .woocommerce-product-gallery .flexy-item {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce-product-gallery .flexy-item figure,
.single-product .woocommerce-product-gallery .flexy-item .ct-media-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}

.single-product .woocommerce-product-gallery .flexy-item .ct-media-container:before {
  display: none !important;
}

/* Main Image Fills 100% Width from Corner to Corner */
.single-product .woocommerce-product-gallery .flexy-item img,
.single-product .woocommerce-product-gallery .flexy-view img,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
}

/* Thumbnails Below Main Image */
.single-product .woocommerce-product-gallery .flexy-pills {
  margin-top: 14px !important;
  width: 100% !important;
}

.single-product .woocommerce-product-gallery .flexy-pills ol {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(65px, 1fr)) !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.single-product .woocommerce-product-gallery .flexy-pills ol li {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce-product-gallery .flexy-pills ol li img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}

.single-product .woocommerce-product-gallery [class*=flexy-arrow] {
  z-index: 10 !important;
  background: rgba(17, 24, 39, 0.75) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  backdrop-filter: blur(4px) !important;
  width: 38px !important;
  height: 38px !important;
}

.single-product .woocommerce-product-gallery .flexy-arrow-prev {
  left: 10px !important;
}

.single-product .woocommerce-product-gallery .flexy-arrow-next {
  right: 10px !important;
}

.single-product .woocommerce-product-gallery [class*=flexy-arrow]:hover {
  background: #c89a3c !important;
  color: #111827 !important;
}

@media (max-width: 767.98px) {
  .single-product div.product {
    padding: 14px 10px !important;
    border-radius: 8px !important;
  }
  .single-product .woocommerce-product-gallery {
    margin-bottom: 16px !important;
  }
}

/* ==========================================================================
   19. CART DROPDOWN / MINI-CART: SOLID BACKGROUND & OPPOSITE TEXT CONTRAST
   ========================================================================== */
/* Light Theme: Solid White Background, Black Text */
[data-theme="light"] .ct-cart-content,
[data-theme="light"] .ct-header-cart .ct-cart-content,
body[data-theme="light"] .ct-cart-content,
body[data-theme="light"] .ct-header-cart .ct-cart-content,
[data-theme="light"] .widget_shopping_cart,
[data-theme="light"] .widget_shopping_cart_content {
  background-color: #ffffff !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.14) !important;
  border-radius: 8px !important;
  color: #111827 !important;
  --theme-text-color: #111827 !important;
  --theme-link-initial-color: #111827 !important;
  --theme-link-hover-color: #c89a3c !important;
  --mini-cart-background-color: #ffffff !important;
}

[data-theme="light"] .ct-cart-content a:not(.button),
[data-theme="light"] .ct-cart-content .product-title,
[data-theme="light"] .ct-cart-content .woocommerce-mini-cart-item a,
[data-theme="light"] .widget_shopping_cart .woocommerce-mini-cart-item a {
  color: #111827 !important;
  font-weight: 700 !important;
}

[data-theme="light"] .ct-cart-content a:not(.button):hover,
[data-theme="light"] .ct-cart-content .product-title:hover {
  color: #c89a3c !important;
}

[data-theme="light"] .ct-cart-content .quantity,
[data-theme="light"] .ct-cart-content .woocommerce-mini-cart-item .quantity {
  color: #4b5563 !important;
  font-weight: 500 !important;
}

[data-theme="light"] .ct-cart-content .total,
[data-theme="light"] .ct-cart-content .woocommerce-mini-cart__total,
[data-theme="light"] .widget_shopping_cart .total {
  border-top: 1px solid #e5e7eb !important;
  color: #111827 !important;
}

[data-theme="light"] .ct-cart-content .total strong,
[data-theme="light"] .ct-cart-content .woocommerce-mini-cart__total strong {
  color: #111827 !important;
  font-weight: 800 !important;
}

[data-theme="light"] .ct-cart-content .total .amount,
[data-theme="light"] .ct-cart-content .woocommerce-mini-cart__total .amount {
  color: #111827 !important;
  font-weight: 800 !important;
}

[data-theme="light"] .ct-cart-content .woocommerce-mini-cart__empty-message {
  color: #374151 !important;
}

/* Dark Theme: Solid Black Background, Pure White Text */
[data-theme="dark"] .ct-cart-content,
[data-theme="dark"] .ct-header-cart .ct-cart-content,
body[data-theme="dark"] .ct-cart-content,
body[data-theme="dark"] .ct-header-cart .ct-cart-content,
[data-theme="dark"] .widget_shopping_cart,
[data-theme="dark"] .widget_shopping_cart_content {
  background-color: #0d0f12 !important;
  background: #0d0f12 !important;
  border: 1px solid #282d37 !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.75) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  --theme-text-color: #ffffff !important;
  --theme-link-initial-color: #ffffff !important;
  --theme-link-hover-color: #f6c042 !important;
  --mini-cart-background-color: #0d0f12 !important;
}

[data-theme="dark"] .ct-cart-content a:not(.button),
[data-theme="dark"] .ct-cart-content .product-title,
[data-theme="dark"] .ct-cart-content .woocommerce-mini-cart-item a,
[data-theme="dark"] .widget_shopping_cart .woocommerce-mini-cart-item a {
  color: #ffffff !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .ct-cart-content a:not(.button):hover,
[data-theme="dark"] .ct-cart-content .product-title:hover {
  color: #f6c042 !important;
}

[data-theme="dark"] .ct-cart-content .quantity,
[data-theme="dark"] .ct-cart-content .woocommerce-mini-cart-item .quantity {
  color: #9ca3af !important;
  font-weight: 500 !important;
}

[data-theme="dark"] .ct-cart-content .total,
[data-theme="dark"] .ct-cart-content .woocommerce-mini-cart__total,
[data-theme="dark"] .widget_shopping_cart .total {
  border-top: 1px solid #282d37 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .ct-cart-content .total strong,
[data-theme="dark"] .ct-cart-content .woocommerce-mini-cart__total strong {
  color: #ffffff !important;
  font-weight: 800 !important;
}

[data-theme="dark"] .ct-cart-content .total .amount,
[data-theme="dark"] .ct-cart-content .woocommerce-mini-cart__total .amount {
  color: #f6c042 !important;
  font-weight: 800 !important;
}

[data-theme="dark"] .ct-cart-content .woocommerce-mini-cart__empty-message {
  color: #d1d5db !important;
}

/* Offcanvas Cart Panel (Slide-in Cart if active) */
[data-theme="light"] #woo-cart-panel,
[data-theme="light"] #woo-cart-panel .ct-panel-inner {
  background-color: #ffffff !important;
  color: #111827 !important;
}
[data-theme="dark"] #woo-cart-panel,
[data-theme="dark"] #woo-cart-panel .ct-panel-inner {
  background-color: #0d0f12 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   20. TEXT FIELDS: COMPLETE FIX FOR TEXT / LABEL OVERLAPPING ON ALL FIELDS
   ========================================================================== */
/* Position all form field labels cleanly ABOVE the input box */
.woocommerce form .form-row label,
.woocommerce-checkout .form-row label,
.woocommerce-checkout #customer_details .form-row label,
.wcf-embed-checkout-form .form-row label,
.wcf-embed-checkout-form .woocommerce #customer_details .form-row label,
.wcf-field-modern-label .form-row label,
.wcf-field-modern-label .woocommerce #customer_details .form-row label,
form.checkout .form-row label,
.woocommerce-cart .form-row label,
.woocommerce-account .form-row label,
.form-row:not(.woocommerce-form__label-for-checkbox):not(.checkbox):not(.radio) label {
  position: static !important;
  display: block !important;
  float: none !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  height: auto !important;
  line-height: 1.4 !important;
  z-index: 1 !important;
  letter-spacing: normal !important;
  clip: auto !important;
  clip-path: none !important;
}

/* Ensure inputs sit cleanly below their labels with normal padding */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.wcf-embed-checkout-form .form-row input.input-text,
.wcf-embed-checkout-form .form-row textarea,
.wcf-embed-checkout-form .form-row select,
.wcf-field-modern-label .form-row input.input-text,
.wcf-field-modern-label .form-row textarea,
.wcf-field-modern-label .form-row select {
  position: relative !important;
  padding: 12px 14px !important;
  height: auto !important;
  min-height: 48px !important;
  line-height: normal !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

/* Ensure select2 dropdowns (Country / State) match height and layout */
.woocommerce form .form-row .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection--single,
.wcf-embed-checkout-form .select2-container .select2-selection--single {
  height: 48px !important;
  padding: 8px 12px !important;
  display: flex !important;
  align-items: center !important;
}
.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.wcf-embed-checkout-form .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: normal !important;
  padding: 0 !important;
}

/* Ensure checkbox and radio rows keep label adjacent */
.woocommerce form .form-row input[type="checkbox"],
.woocommerce form .form-row input[type="radio"],
.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
}
.woocommerce form .form-row .woocommerce-form__label-for-checkbox,
.woocommerce form .form-row.woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout #payment label {
  display: inline-flex !important;
  position: static !important;
  align-items: center !important;
  margin-bottom: 0 !important;
  font-weight: 500 !important;
}

/* ==========================================================================
   21. ARCHIVE & CATEGORY PAGES: REDUCE GAP BETWEEN HEADER AND PRODUCTS
   ========================================================================== */
.archive .hero-section,
.tax-product_cat .hero-section,
.post-type-archive-product .hero-section,
.woocommerce-shop .hero-section {
  padding-top: 25px !important;
  padding-bottom: 12px !important;
  margin-bottom: 0 !important;
}

.archive [data-vertical-spacing*="top"],
.tax-product_cat [data-vertical-spacing*="top"],
.post-type-archive-product [data-vertical-spacing*="top"],
.woocommerce-shop [data-vertical-spacing*="top"],
.archive #main-container,
.tax-product_cat #main-container,
.post-type-archive-product #main-container,
.woocommerce-shop #main-container,
.archive .site-main,
.tax-product_cat .site-main,
.post-type-archive-product .site-main {
  padding-top: 12px !important;
}

.archive .woocommerce-notices-wrapper,
.tax-product_cat .woocommerce-notices-wrapper {
  margin-bottom: 0 !important;
}

.archive ul.products,
.tax-product_cat ul.products,
.post-type-archive-product ul.products {
  margin-top: 12px !important;
}

/* ==========================================================================
   21b. SINGLE CATEGORY PAGE HERO & DESCRIPTION STYLING
   ========================================================================== */
.tax-product_cat .hero-section,
.tax-product_cat .hero-section[data-type] {
  padding-top: 35px !important;
  padding-bottom: 25px !important;
}

[data-theme="dark"] .tax-product_cat .hero-section,
[data-theme="dark"] .tax-product_cat .hero-section[data-type],
[data-theme="dark"] .tax-product_cat .entry-header,
[data-theme="dark"] .tax-product_cat .hero-section figure,
[data-theme="dark"] .tax-product_cat .hero-section .ct-media-container,
[data-theme="dark"] .tax-product_cat #main-container,
[data-theme="dark"] .tax-product_cat .site-main,
[data-theme="dark"] .archive.tax-product_cat .site-main {
  background-color: #0d0f12 !important;
  background: #0d0f12 !important;
  border-bottom: 1px solid #1e2430 !important;
}

[data-theme="dark"] .tax-product_cat .page-title,
[data-theme="dark"] .tax-product_cat h1.page-title,
[data-theme="dark"] .tax-product_cat h1,
[data-theme="dark"] .tax-product_cat .entry-header h1 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.8) !important;
  font-weight: 800 !important;
}

[data-theme="dark"] .bub-category-description p,
[data-theme="dark"] .tax-product_cat .page-description,
[data-theme="dark"] .tax-product_cat .term-description {
  color: #cbd5e1 !important;
  -webkit-text-fill-color: #cbd5e1 !important;
}

[data-theme="light"] .tax-product_cat .hero-section,
body[data-theme="light"] .tax-product_cat .hero-section,
[data-theme="light"] .tax-product_cat .entry-header {
  background-color: #f8fafc !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .tax-product_cat .page-title,
body[data-theme="light"] .tax-product_cat .page-title,
[data-theme="light"] .tax-product_cat h1 {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

[data-theme="light"] .bub-category-description p,
body[data-theme="light"] .bub-category-description p {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

.bub-category-description {
  margin-top: 12px !important;
  margin-bottom: 6px !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  padding: 0 15px !important;
}

.bub-category-description p {
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  font-weight: 500 !important;
}

/* ==========================================================================
   22. CENTER FOOTER COPYRIGHT NOTICE
   ========================================================================== */
.ct-footer-copyright,
.site-footer .ct-footer-copyright,
footer .ct-footer-copyright,
[data-column*="copyright"],
.site-footer [data-row*="bottom"] .ct-container,
.site-footer [data-row] .ct-container,
.site-footer [data-column] {
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  display: flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  --horizontal-alignment: center !important;
}

.ct-footer-copyright,
.ct-footer-copyright p,
.ct-footer-copyright a,
.ct-footer-copyright *,
.site-footer .ct-footer-copyright,
.site-footer .ct-footer-copyright *,
[data-column*="copyright"],
[data-column*="copyright"] * {
  text-align: center !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/* ==========================================================================
   23. HOMEPAGE HERO SLIDER: DESKTOP, TABLET & MOBILE EXPERIENCE
   ========================================================================== */
/* Slider Buttons: Always on top and clickable across all devices */
.bslide-button,
.elementor-element.bslide-button,
.elementor-element.elementor-element-8395e51,
.b-slide ~ .bslide-button,
.b-slide .bslide-button {
  position: absolute !important;
  z-index: 99 !important;
  pointer-events: auto !important;
}

.bslide-button .prev,
.bslide-button .next,
.bslide-button .prev .elementor-widget-container,
.bslide-button .next .elementor-widget-container,
.bslide-button .prev .elementor-button-wrapper,
.bslide-button .next .elementor-button-wrapper {
  cursor: pointer !important;
  pointer-events: auto !important;
  display: inline-flex !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.bslide-button .prev .elementor-button,
.bslide-button .next .elementor-button,
.bslide-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  background: linear-gradient(135deg, #c89a3c 0%, #ab7f29 100%) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: all 0.25s ease !important;
}

.bslide-button .prev .elementor-button:hover,
.bslide-button .next .elementor-button:hover,
.bslide-button .elementor-button:hover {
  background: linear-gradient(135deg, #dfad49 0%, #c89a3c 100%) !important;
  transform: scale(1.08) !important;
  box-shadow: 0 6px 18px rgba(200, 154, 60, 0.5) !important;
}

.bslide-button .elementor-button .elementor-button-content-wrapper,
.bslide-button .elementor-button .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.bslide-button .elementor-button .elementor-button-icon svg,
.bslide-button .elementor-button i {
  color: #ffffff !important;
  fill: #ffffff !important;
  width: 14px !important;
  height: 14px !important;
  display: block !important;
}

/* Hide content on inactive slides & thumbnails (Desktop & Mobile) */
.b-slide .banner-slide-item .content,
.b-slide .banner-slide-item:nth-child(1) .content,
.b-slide .banner-slide-item:nth-child(n + 3) .content {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Active Slide Content (nth-child(2)): Visible, Crisp, Unblurred */
.b-slide .banner-slide-item:nth-child(2) .content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  filter: none !important;
  -webkit-filter: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  gap: 22px !important;
  row-gap: 22px !important;
  --gap: 22px 0px !important;
  --row-gap: 22px !important;
  animation: animate-fade-in-clean 0.5s ease-out 0.15s 1 forwards !important;
}

@keyframes animate-fade-in-clean {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.b-slide .banner-slide-item:nth-child(1),
.b-slide .banner-slide-item:nth-child(2) {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

.b-slide .banner-slide-item .content .elementor-widget-heading,
.banner-slide-item .content .elementor-widget-heading {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.b-slide .banner-slide-item .content .elementor-widget-button,
.banner-slide-item .content .elementor-widget-button {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Slider Slide Text above button: PURE WHITE in BOTH Dark and Light themes */
.b-slide .banner-slide-item .content .elementor-heading-title,
.b-slide .banner-slide-item .content h1,
.b-slide .banner-slide-item .content h2,
.b-slide .banner-slide-item .content h3,
.b-slide .banner-slide-item .content h4,
.b-slide .banner-slide-item .content h5,
.b-slide .banner-slide-item .content h6,
.b-slide .banner-slide-item .content p,
.banner-slide-item .content .elementor-heading-title,
.banner-slide-item .content h1,
.banner-slide-item .content h2,
.banner-slide-item .content h3,
.banner-slide-item .content h4,
.banner-slide-item .content h5,
.banner-slide-item .content h6,
.banner-slide-item .content p,
.elementor-element.content .elementor-heading-title,
.elementor-element.content h2,
[data-theme="light"] .b-slide .banner-slide-item .content .elementor-heading-title,
[data-theme="light"] .b-slide .banner-slide-item .content h2,
[data-theme="light"] .banner-slide-item .content .elementor-heading-title,
[data-theme="light"] .banner-slide-item .content h2,
[data-theme="dark"] .b-slide .banner-slide-item .content .elementor-heading-title,
[data-theme="dark"] .b-slide .banner-slide-item .content h2,
[data-theme="dark"] .banner-slide-item .content .elementor-heading-title,
[data-theme="dark"] .banner-slide-item .content h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75) !important;
}

.b-slide .banner-slide-item .content .elementor-button,
.banner-slide-item .content .elementor-button,
.b-slide .banner-slide-item .content .elementor-button .elementor-button-text,
.banner-slide-item .content .elementor-button .elementor-button-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  text-shadow: none !important;
}

/* Mobile adjustments & Complete Slider Mobile Experience */
@media (max-width: 767.98px) {
  /* 1. Slider Main Container */
  .b-slide,
  .elementor-element.b-slide {
    height: 80vh !important;
    min-height: 520px !important;
    max-height: 680px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    touch-action: pan-y pinch-zoom !important;
  }

  /* 2. Active & Background Slides - Force zero left offset to stop horizontal skewing */
  .b-slide .banner-slide-item:nth-child(1),
  .b-slide .banner-slide-item:nth-child(2) {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    -webkit-transform: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    z-index: 2 !important;
  }
  .b-slide .banner-slide-item:nth-child(1) {
    z-index: 1 !important;
  }

  /* 3. Active Slide Content Box - Centered at Top */
  .banner-slide-item:nth-child(2) .content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    position: absolute !important;
    top: 35px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    -webkit-transform: translateX(-50%) !important;
    width: 90% !important;
    max-width: 360px !important;
    padding: 10px 14px !important;
    margin: 0 auto !important;
    z-index: 25 !important;
    gap: 14px !important;
    row-gap: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    animation: animate-fade-in-mobile 0.6s ease-in-out 0.2s forwards !important;
  }

  /* 4. Mobile Typography */
  .b-slide .banner-slide-item .content .elementor-heading-title,
  .banner-slide-item .content .elementor-heading-title,
  .b-slide .banner-slide-item .content h2,
  .banner-slide-item .content h2 {
    font-size: 1.85rem !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85) !important;
    text-align: center !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
  }

  /* 5. Mobile CTA Button */
  .b-slide .banner-slide-item .content .elementor-button,
  .banner-slide-item .content .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 24px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 4px !important;
    background: rgba(200, 154, 60, 0.95) !important;
    border: 1px solid #c89a3c !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
    margin: 0 auto !important;
  }

  .b-slide .banner-slide-item .content .elementor-button .elementor-button-text,
  .banner-slide-item .content .elementor-button .elementor-button-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* 6. Mobile Thumbnails - Neatly Centered Above Arrows */
  .b-slide .banner-slide-item:nth-child(3),
  .b-slide .banner-slide-item:nth-child(4),
  .b-slide .banner-slide-item:nth-child(5) {
    position: absolute !important;
    width: 72px !important;
    height: 96px !important;
    top: auto !important;
    bottom: 72px !important;
    border-radius: 10px !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    z-index: 15 !important;
    transform: none !important;
    -webkit-transform: none !important;
    transition: all 0.45s ease !important;
    background-size: cover !important;
    background-position: center center !important;
    cursor: pointer !important;
  }

  .b-slide .banner-slide-item:nth-child(3) {
    left: calc(50% - 118px) !important;
    right: auto !important;
  }
  .b-slide .banner-slide-item:nth-child(4) {
    left: calc(50% - 36px) !important;
    right: auto !important;
  }
  .b-slide .banner-slide-item:nth-child(5) {
    left: calc(50% + 46px) !important;
    right: auto !important;
  }

  .b-slide .banner-slide-item:nth-child(n + 6) {
    position: absolute !important;
    left: auto !important;
    right: -250px !important;
    top: auto !important;
    bottom: 72px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  /* 7. Mobile Next/Prev Arrows - Centered Below Thumbnails with High Z-Index */
  .bslide-button,
  .elementor-element.bslide-button,
  .b-slide ~ .bslide-button,
  .b-slide .bslide-button {
    position: absolute !important;
    bottom: 14px !important;
    top: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    -webkit-transform: translateX(-50%) !important;
    width: auto !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    z-index: 99 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bslide-button .prev,
  .bslide-button .next {
    cursor: pointer !important;
    display: inline-flex !important;
  }

  .bslide-button .prev .elementor-button,
  .bslide-button .next .elementor-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    border-radius: 50% !important;
    padding: 0 !important;
  }
}

/* ==========================================================================
   WHY CHOOSE US - MOBILE BODY FONT SIZE OPTIMIZATION
   ========================================================================== */

@media (max-width: 767.98px) {
  /* Reduce content text size below 'Why choose us' heading without altering the heading */
  .elementor-element.elementor-element-a32539a .elementor-heading-title,
  .elementor-element.elementor-element-a32539a h4,
  .elementor-element-db7710a .elementor-element-a32539a .elementor-heading-title,
  .elementor-element-db7710a .elementor-element-a32539a h4 {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    margin-top: 8px !important;
    margin-bottom: 12px !important;
  }
}

@media (max-width: 480px) {
  .elementor-element.elementor-element-a32539a .elementor-heading-title,
  .elementor-element.elementor-element-a32539a h4,
  .elementor-element-db7710a .elementor-element-a32539a .elementor-heading-title,
  .elementor-element-db7710a .elementor-element-a32539a h4 {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }
}

/* ==========================================================================
   MOBILE PERFORMANCE & CWV OPTIMIZATION
   ========================================================================== */

/* Modern Web: Defer offscreen rendering to eliminate mobile CPU layout blocking */
@media (max-width: 767.98px) {
  .bub-collage-wrapper,
  .bub-trust-section,
  .bub-footer-payments-wrapper,
  section.related.products,
  .elementor-element-db7710a {
    content-visibility: auto;
    contain-intrinsic-size: 1px 450px;
  }
}
