/**
 * Oben Theme - Specialized Component Styles
 * Covers WooCommerce, FOX Currency Switcher, GTranslate, and Menus
 */

:root {
  --oben-primary: #0084d6;
  --oben-primary-hover: #006cb3;
  --oben-primary-light: #e0f2fe;
  --oben-accent: #38bdf8;
  --oben-navy: #070e22;
  --oben-dark: #0f172a;
  --oben-border: #e2e8f0;
  --tb-theme-color: #0099DB;
  --tb-theme-color-hover: #008cc9;
  --tb-text-primary-font: 'Roboto', sans-serif;
  --tb-text-second-font: 'Open Sans', sans-serif;
}

/* -------------------------------------------------------------
 * 0. Top Bar (Always Solid Dark Navy Background)
 * ----------------------------------------------------------- */
.oben-topbar {
  background-color: #070e22 !important;
  color: #cbd5e1 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 0.35rem 0 !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  display: block !important;
  width: 100% !important;
}

.oben-topbar a,
.oben-topbar span,
.oben-topbar p {
  color: #cbd5e1 !important;
}

.oben-topbar strong,
.oben-topbar .font-medium,
.oben-topbar .font-semibold {
  color: #f8fafc !important;
}

/* -------------------------------------------------------------
 * 0b. Site Branding & Logo Constraints (SVG & Raster)
 * ----------------------------------------------------------- */
.site-branding {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  min-width: 100px !important;
  max-width: 175px !important;
  height: 48px !important;
  overflow: visible !important;
}

.custom-logo-link,
.site-branding a {
  display: inline-flex !important;
  align-items: center !important;
  max-height: 44px !important;
  max-width: 170px !important;
  width: auto !important;
}

.custom-logo,
.site-branding img,
.site-branding svg,
.site-header .custom-logo {
  max-height: 40px !important;
  height: 40px !important;
  width: auto !important;
  max-width: 165px !important;
  object-fit: contain !important;
  display: block !important;
}

/* -------------------------------------------------------------
 * 1. Navigation & Dropdowns
 * ----------------------------------------------------------- */
.oben-action-icon-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 9999px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #334155 !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.oben-action-icon-btn:hover {
  background-color: #f0f9ff !important;
  border-color: #bae6fd !important;
  color: #0284c7 !important;
  transform: translateY(-1px) scale(1.02) !important;
  box-shadow: 0 4px 6px -1px rgba(2, 132, 199, 0.1), 0 2px 4px -2px rgba(2, 132, 199, 0.1) !important;
}

.oben-action-icon-btn svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2px !important;
}

.oben-cart-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  min-width: 19px !important;
  height: 19px !important;
  padding: 0 4px !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15) !important;
}

.oben-primary-menu,
#site-navigation > ul,
#site-navigation > .menu-main-menu-container > ul {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 2rem !important;
}

.oben-primary-menu > li,
#site-navigation > ul > li,
#site-navigation > .menu-main-menu-container > ul > li {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.oben-primary-menu > li > a,
#site-navigation > ul > li > a,
#site-navigation > .menu-main-menu-container > ul > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0;
  color: var(--oben-dark) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.oben-primary-menu > li:hover > a,
.oben-primary-menu > li.current-menu-item > a,
#site-navigation > ul > li:hover > a,
#site-navigation > ul > li.current-menu-item > a {
  color: var(--oben-primary) !important;
}

/* Caret Dropdown Indicator for Navigation Menu */
.oben-primary-menu > li > a > b.caret,
.oben-primary-menu > li > a > .caret,
#site-navigation ul > li > a > b.caret,
#site-navigation ul > li > a > .caret {
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  margin-left: 0.35rem !important;
  vertical-align: middle !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
  opacity: 0.75 !important;
}

.oben-primary-menu > li:hover > a > b.caret,
.oben-primary-menu > li:hover > a > .caret,
#site-navigation ul > li:hover > a > b.caret,
#site-navigation ul > li:hover > a > .caret {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}

/* Fallback caret if menu item has children but walker did not inject b.caret */
.oben-primary-menu > li.menu-item-has-children > a:not(:has(b.caret))::after,
.oben-primary-menu > li.active-mega-menu > a:not(:has(b.caret))::after {
  content: '' !important;
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  margin-left: 0.35rem !important;
  vertical-align: middle !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center / contain !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
  opacity: 0.75 !important;
}

.oben-primary-menu > li.menu-item-has-children:hover > a:not(:has(b.caret))::after,
.oben-primary-menu > li.active-mega-menu:hover > a:not(:has(b.caret))::after {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}

/* Vertical Submenu Dropdown (e.g. SHOP categories) */
.oben-primary-menu .sub-menu,
#site-navigation .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 230px !important;
  width: max-content !important;
  background-color: #ffffff !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 0.85rem !important;
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05) !important;
  padding: 0.5rem 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 999 !important;
}

.oben-primary-menu li:hover > .sub-menu,
#site-navigation li:hover > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.oben-primary-menu .sub-menu > li,
#site-navigation .sub-menu > li {
  display: block !important;
  width: 100% !important;
}

.oben-primary-menu .sub-menu > li > a,
#site-navigation .sub-menu > li > a {
  display: block !important;
  width: 100% !important;
  padding: 0.6rem 1.25rem !important;
  color: #334155 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
  text-align: left !important;
  text-transform: none !important;
}

.oben-primary-menu .sub-menu > li:hover > a,
#site-navigation .sub-menu > li:hover > a {
  background-color: #f0f9ff !important;
  color: #0284c7 !important;
  padding-left: 1.45rem !important;
}

/* =============================================================
 * 4. Elementor Mega Menu Dropdown (100% Full Width Banner)
 * =========================================================== */
.oben-primary-menu li.active-mega-menu {
  position: static !important;
}

.oben-header-main-row {
  position: relative !important;
}

.oben-primary-menu li.active-mega-menu > .dropdown-menu.mega-menu,
#site-navigation li.active-mega-menu > .dropdown-menu.mega-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: translateY(10px) !important;
  background-color: #ffffff !important;
  border-radius: 0 0 1.25rem 1.25rem !important;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.12), 0 10px 20px -10px rgba(0, 0, 0, 0.04) !important;
  border-top: 1px solid #f1f5f9 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-left: none !important;
  border-right: none !important;
  padding: 2.25rem 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 9999 !important;
  display: block !important;
  box-sizing: border-box !important;
  text-transform: initial;
  letter-spacing: normal;
  font-weight: normal;
}

.oben-primary-menu li.active-mega-menu:hover > .dropdown-menu.mega-menu,
#site-navigation li.active-mega-menu:hover > .dropdown-menu.mega-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.oben-primary-menu li.active-mega-menu .mega-menu-item,
.dropdown-menu.mega-menu .mega-menu-item {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
  box-sizing: border-box !important;
  text-transform: initial;
  letter-spacing: normal;
  font-weight: normal;
}

/* Allow Elementor's own typography, weights, transforms, colors, containers, and CTA styles to control mega menu content without theme CSS overrides */
.dropdown-menu.mega-menu,
.dropdown-menu.mega-menu .elementor,
.dropdown-menu.mega-menu .elementor-element,
.dropdown-menu.mega-menu .elementor-widget,
.dropdown-menu.mega-menu .elementor-widget-container,
.dropdown-menu.mega-menu .elementor-cta,
.dropdown-menu.mega-menu .elementor-cta__content,
.dropdown-menu.mega-menu .elementor-cta__title,
.dropdown-menu.mega-menu .elementor-cta__description {
  text-transform: initial;
  letter-spacing: normal;
}

.dropdown-menu.mega-menu a {
  text-decoration: none;
}

/* Hide default minus/check divider icon in mega menu compact headings when no icon size is set */
.dropdown-menu.mega-menu .heading-tbay-title > i {
  display: none;
}

/* Hide raw GTranslate list item from inside the desktop primary nav menu */
.oben-primary-menu li.menu-item-gtranslate {
  display: none !important;
}

.oben-primary-menu > li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.oben-primary-menu .sub-menu li a {
  display: block;
  padding: 0.5rem 1.25rem;
  color: var(--oben-dark);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease;
}

.oben-primary-menu .sub-menu li a:hover {
  background-color: var(--oben-primary-light);
  color: var(--oben-primary);
  padding-left: 1.5rem;
}

/* -------------------------------------------------------------
 * 2. Topbar Switchers Container & FOX Currency Switcher
 * ----------------------------------------------------------- */
.oben-topbar-switchers {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important; /* Balanced, comfortable spacing between dropdowns */
  flex-shrink: 0 !important;
}

.oben-topbar-switchers .oben-topbar-divider {
  display: none !important; /* Replaced by flex gap for cleaner modern pill aesthetic */
}

.oben-currency-switcher {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.oben-currency-select,
.oben-topbar select.oben-currency-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  height: 28px !important;
  line-height: 26px !important;
  padding: 0 1.75rem 0 0.75rem !important;
  border-radius: 0.375rem !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.5rem center !important;
  background-size: 0.8rem !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.oben-currency-select option {
  background-color: var(--oben-navy, #070e22) !important;
  color: #ffffff !important;
}

.oben-currency-select:hover,
.oben-currency-select:focus,
.oben-topbar select.oben-currency-select:hover,
.oben-topbar select.oben-currency-select:focus {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background-color: rgba(255, 255, 255, 0.14) !important;
  outline: none !important;
}

/* FOX WOOCS Dropdown Clean Override */
.woocs_price_code {
  font-weight: 700;
  color: var(--oben-primary);
}

/* -------------------------------------------------------------
 * 3. GTranslate Integration Styles
 * ----------------------------------------------------------- */
.oben-gtranslate-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
}

.oben-gtranslate-wrapper select.gt_selector,
.oben-topbar select.gt_selector {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  height: 28px !important;
  line-height: 26px !important;
  padding: 0 1.75rem 0 0.75rem !important;
  border-radius: 0.375rem !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.5rem center !important;
  background-size: 0.8rem !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.oben-gtranslate-wrapper select.gt_selector option {
  background-color: var(--oben-navy, #070e22) !important;
  color: #ffffff !important;
}

.oben-gtranslate-wrapper select.gt_selector:hover,
.oben-gtranslate-wrapper select.gt_selector:focus,
.oben-topbar select.gt_selector:hover,
.oben-topbar select.gt_selector:focus {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background-color: rgba(255, 255, 255, 0.14) !important;
  outline: none !important;
}

/* -------------------------------------------------------------
 * 4. WooCommerce Theme Integration Styles
 * ----------------------------------------------------------- */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (min-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1280px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.woocommerce ul.products li.product {
  background-color: #ffffff !important;
  border: 1px solid var(--oben-border) !important;
  border-radius: 1rem !important;
  padding: 1.25rem !important;
  margin: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-shadow: 0 4px 15px rgba(15, 23, 42, 0.04) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 28px -4px rgba(15, 23, 42, 0.1) !important;
  border-color: #cbd5e1 !important;
}

.woocommerce ul.products li.product img {
  border-radius: 0.75rem !important;
  margin: 0 auto 1rem auto !important;
  object-fit: cover !important;
  max-height: 240px !important;
  width: auto !important;
  transition: transform 0.3s ease !important;
}

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

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--oben-dark) !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--oben-primary) !important;
  margin-bottom: 1rem !important;
}

.woocommerce ul.products li.product .button {
  background-color: var(--oben-primary) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  border-radius: 0.5rem !important;
  padding: 0.65rem 1.25rem !important;
  text-align: center !important;
  border: none !important;
  transition: background-color 0.2s ease !important;
  width: 100% !important;
}

.woocommerce ul.products li.product .button:hover {
  background-color: var(--oben-primary-hover) !important;
}

/* WooCommerce Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 0.75rem !important;
  padding: 1rem 1.5rem !important;
  margin-bottom: 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
}

.woocommerce-message {
  background-color: #ecfdf5 !important;
  border-left: 4px solid #10b981 !important;
  color: #065f46 !important;
}

.woocommerce-info {
  background-color: #f0f9ff !important;
  border-left: 4px solid var(--oben-primary) !important;
  color: #0369a1 !important;
}

.woocommerce-error {
  background-color: #fef2f2 !important;
  border-left: 4px solid #ef4444 !important;
  color: #991b1b !important;
  list-style: none !important;
}

/* -------------------------------------------------------------
 * 5. Back to Top Button
 * ----------------------------------------------------------- */
.oben-back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 9999px;
  background-color: var(--oben-navy);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  z-index: 900;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: none;
}

.oben-back-to-top.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.oben-back-to-top:hover {
  background-color: var(--oben-primary);
  transform: translateY(-2px);
}

/* -------------------------------------------------------------
 * 6. High-Contrast Legible Footer
 * ----------------------------------------------------------- */
.site-footer,
#colophon {
  background-color: #050a18 !important;
  color: #f8fafc !important;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .widget-title,
.site-footer .footer-widget h4 {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 1.25rem !important;
}

.site-footer p,
.site-footer .brand-col p {
  color: #cbd5e1 !important;
  font-size: 0.875rem !important;
  line-height: 1.65 !important;
}

.site-footer a,
.site-footer li a,
.site-footer .footer-widget a,
.site-footer .menu a {
  color: #e2e8f0 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.site-footer a:hover,
.site-footer li a:hover,
.site-footer .footer-widget a:hover,
.site-footer .menu a:hover {
  color: #38bdf8 !important;
  padding-left: 2px !important;
}

.oben-bottom-bar {
  background-color: #050a18 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
  margin-bottom: 0 !important;
}

.oben-bottom-bar,
.oben-bottom-bar p,
.oben-bottom-bar span {
  color: #94a3b8 !important;
  font-size: 0.8125rem !important;
}

.oben-bottom-bar a {
  color: #cbd5e1 !important;
  font-size: 0.8125rem !important;
  text-decoration: none !important;
}

.oben-bottom-bar a:hover {
  color: #38bdf8 !important;
}


/* -------------------------------------------------------------
 * 13. Homepage & Elementor Products Grid & Product Cards
 * ----------------------------------------------------------- */
.tbay-element-products .products.grid,
.tbay-element-products .products.row,
.tbay-element-product-category .products.grid,
.tbay-element-product-category .product-category.grid,
.tbay-element-product-category .product-category.row {
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  margin-top: 1.5rem !important;
  margin-bottom: 2rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

@media (min-width: 640px) {
  .tbay-element-products .products.grid,
  .tbay-element-products .products.row,
  .tbay-element-product-category .products.grid,
  .tbay-element-product-category .product-category.grid,
  .tbay-element-product-category .product-category.row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1024px) {
  .tbay-element-products .products.grid,
  .tbay-element-products .products.row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .tbay-element-product-category .products.grid,
  .tbay-element-product-category .product-category.grid,
  .tbay-element-product-category .product-category.row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .tbay-element-product-category .product-category[data-desktop="1"],
  .tbay-element-product-category .products[data-desktop="1"],
  .tbay-element-products .products[data-desktop="1"] {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }

  .tbay-element-product-category .product-category[data-desktop="2"],
  .tbay-element-product-category .products[data-desktop="2"],
  .tbay-element-products .products[data-desktop="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .tbay-element-product-category .product-category[data-desktop="3"],
  .tbay-element-product-category .products[data-desktop="3"],
  .tbay-element-products .products[data-desktop="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .tbay-element-product-category .product-category[data-desktop="4"],
  .tbay-element-product-category .products[data-desktop="4"],
  .tbay-element-products .products[data-desktop="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1280px) {
  .tbay-element-product-category .product-category[data-xlgdesktop="2"],
  .tbay-element-product-category .products[data-xlgdesktop="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .tbay-element-product-category .product-category[data-xlgdesktop="3"],
  .tbay-element-product-category .products[data-xlgdesktop="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .tbay-element-product-category .product-category[data-xlgdesktop="4"],
  .tbay-element-product-category .products[data-xlgdesktop="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.tbay-element-products .item,
.tbay-element-product-category .item {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

.tbay-element-products .products-grid,
.tbay-element-product-category .products-grid {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.tbay-element-products .product-block,
.tbay-element-product-category .product-block {
  background: #ffffff;
  border: 1px solid #f1f5f9;
  border-radius: 1rem;
  padding: 1.25rem;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
  justify-content: space-between !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  box-sizing: border-box !important;
}

.tbay-element-products .product-block:hover,
.tbay-element-product-category .product-block:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
  border-color: #e2e8f0;
}

.tbay-element-product-category .product-block .product-content {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
  justify-content: space-between !important;
}

.tbay-element-products .product-block figure.image,
.tbay-element-product-category .product-block figure.image {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  background-color: #f8fafc;
  aspect-ratio: 1 / 1;
  width: 100%;
  padding: 0 !important;
  display: block;
  margin: 0 0 1rem 0;
}

.tbay-element-products .product-block figure.image a.product-image,
.tbay-element-product-category .product-block figure.image a.product-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0.75rem;
  overflow: hidden;
}

.tbay-element-products .product-block figure.image img,
.tbay-element-product-category .product-block figure.image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0.75rem;
  transition: transform 0.4s ease;
}

.tbay-element-products .product-block:hover figure.image img,
.tbay-element-product-category .product-block:hover figure.image img {
  transform: scale(1.05);
}

.tbay-element-product-category .product-block .block-inner,
.tbay-element-products .product-block .block-inner {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 0.75rem !important;
}

.tbay-element-product-category .product-block .caption {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  justify-content: flex-end !important;
  margin-top: 0.5rem;
}

.tbay-element-products .product-block .name,
.tbay-element-product-category .product-block .name {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.5rem;
  line-height: 1.35;
}

.tbay-element-products .product-block .name a,
.tbay-element-product-category .product-block .name a {
  color: #0f172a;
  text-decoration: none;
  transition: color 0.2s ease;
}

.tbay-element-products .product-block .name a:hover,
.tbay-element-product-category .product-block .name a:hover {
  color: #0284c7;
}

.tbay-element-products .product-block .price,
.tbay-element-product-category .product-block .price {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0284c7;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.tbay-element-products .product-block .price del,
.tbay-element-product-category .product-block .price del {
  color: #94a3b8;
  font-size: 0.875rem;
  font-weight: 400;
}

.tbay-element-products .product-block .price ins,
.tbay-element-product-category .product-block .price ins {
  text-decoration: none;
}

.tbay-element-product-category .group-add-to-cart .add-cart a,
.tbay-element-products .group-add-to-cart .add-cart a {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.5rem !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 0.65rem 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: 0 2px 4px rgba(2, 132, 199, 0.25) !important;
  transition: all 0.2s ease !important;
}

.tbay-element-product-category .group-add-to-cart .add-cart a:hover,
.tbay-element-products .group-add-to-cart .add-cart a:hover {
  background-color: #0369a1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 6px rgba(2, 132, 199, 0.35) !important;
}

@media (max-width: 767px) {
  .tbay-element-product-category .product.v1 .group-add-to-cart {
    position: static !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: 0.75rem !important;
  }
}

.tbay-element-products a.show-all,
.tbay-element-product-category a.show-all {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.75rem;
  background-color: #0284c7;
  color: #ffffff !important;
  font-weight: 600;
  font-size: 0.875rem;
  border-radius: 0.5rem;
  text-decoration: none;
  transition: background-color 0.2s ease;
  margin: 1.5rem auto 0;
}

.tbay-element-products a.show-all:hover,
.tbay-element-product-category a.show-all:hover {
  background-color: #0369a1;
  color: #ffffff !important;
}
/* =============================================================
 * 14. Responsive Header Navigation & User Account Dropdown
 * =========================================================== */
.oben-desktop-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
}

@media (max-width: 991px) {
  .oben-desktop-nav {
    display: none !important;
  }
}

.oben-primary-menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 1.75rem !important;
}

.oben-primary-menu > li > a {
  color: #0f172a !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  padding: 0.5rem 0 !important;
  transition: color 0.2s ease !important;
}

.oben-primary-menu > li:hover > a {
  color: #0284c7 !important;
}

/* User Account Dropdown */
.oben-account-dropdown-wrapper {
  position: relative !important;
}

.oben-account-dropdown-wrapper:hover .oben-account-dropdown,
.oben-account-dropdown-wrapper.active .oben-account-dropdown,
.oben-account-dropdown-wrapper:focus-within .oben-account-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.oben-account-dropdown {
  position: absolute !important;
  right: 0 !important;
  top: 100% !important;
  padding-top: 0.5rem !important;
  margin-top: 0 !important;
  width: 15rem !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(6px) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 100 !important;
}

.oben-account-dropdown::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 0.5rem !important;
}

.oben-account-dropdown a {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 0.5rem !important;
  border: none !important;
  background-color: transparent !important;
  text-align: left !important;
  color: #334155 !important;
  font-size: 0.875rem !important;
  padding: 0.5rem 1rem !important;
  box-shadow: none !important;
  transform: none !important;
  transition: all 0.15s ease !important;
}

.oben-account-dropdown a:hover {
  background-color: #f1f5f9 !important;
  color: #0284c7 !important;
  transform: none !important;
  box-shadow: none !important;
}

.oben-account-dropdown .oben-signin-btn {
  display: block !important;
  text-align: center !important;
  background-color: #0284c7 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  padding: 0.65rem 1rem !important;
  border-radius: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.oben-account-dropdown .oben-signin-btn:hover {
  background-color: #0369a1 !important;
  color: #ffffff !important;
}

.oben-account-dropdown .oben-register-link {
  display: block !important;
  text-align: center !important;
  font-size: 0.8rem !important;
  color: #64748b !important;
  padding: 0.25rem 0 !important;
  background: transparent !important;
}

.oben-account-dropdown .oben-register-link:hover {
  color: #0284c7 !important;
  background: transparent !important;
}

.oben-account-dropdown .oben-business-guest-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  color: #0284c7 !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  padding: 0.25rem 0.625rem !important;
  border-radius: 0.375rem !important;
  background-color: #f0f9ff !important;
}

.oben-account-dropdown .oben-business-guest-link:hover {
  background-color: #e0f2fe !important;
  color: #0369a1 !important;
}

.oben-account-dropdown .oben-custom-user-menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.oben-account-dropdown .oben-custom-user-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.oben-account-dropdown .oben-custom-user-menu li a {
  display: block !important;
  width: 100% !important;
  padding: 0.5rem 1rem !important;
  color: #334155 !important;
  font-size: 0.875rem !important;
  border-radius: 0.5rem !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.oben-account-dropdown .oben-custom-user-menu li a:hover {
  background-color: #f1f5f9 !important;
  color: #0284c7 !important;
}

/* =============================================================
 * 15. Global Drawers & Modals (Cart, Mobile Menu, Search)
 * =========================================================== */
.oben-drawer-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(5, 10, 24, 0.65) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  z-index: 99998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
}

.oben-drawer-backdrop.active,
.oben-drawer-backdrop.open {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Slide-in Drawers */
.drawer-panel {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 420px !important;
  background: #ffffff !important;
  z-index: 99999 !important;
  box-shadow: -10px 0 35px rgba(0, 0, 0, 0.2) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.drawer-right {
  right: 0 !important;
  transform: translateX(100%) !important;
}

.drawer-left {
  left: 0 !important;
  transform: translateX(-100%) !important;
}

.drawer-panel.active,
.drawer-panel.open {
  transform: translateX(0) !important;
}

/* Search Modal */
#oben-search-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: rgba(5, 10, 24, 0.8) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.5rem !important;
}

#oben-search-modal.hidden {
  display: none !important;
}

/* Hide un-opened Bootstrap / Hara login & utility modals injected in wp_footer */
#custom-login-wrapper:not(.show),
.modal.fade:not(.show),
.modal:not(.show) {
  display: none !important;
}

/* =============================================================
 * Scoped Mini-Cart Drawer ("Your Shopping Bag")
 * Strictly scoped to #oben-minicart-drawer — zero conflict with other themes/plugins
 * =========================================================== */
#oben-minicart-drawer,
#oben-minicart-drawer * {
  box-sizing: border-box !important;
}

#oben-minicart-drawer.active {
  transform: translateX(0) !important;
}

#oben-minicart-drawer .woocommerce-mini-cart__empty-message {
  text-align: center !important;
  color: #64748b !important;
  font-size: 0.95rem !important;
  padding: 3rem 1.5rem !important;
  background: #f8fafc !important;
  border-radius: 1rem !important;
  border: 1px dashed #cbd5e1 !important;
  margin: 1.5rem 0 !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart,
#oben-minicart-drawer ul.cart_list,
#oben-minicart-drawer ul.product_list_widget {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

#oben-minicart-drawer li::before,
#oben-minicart-drawer dt::before,
#oben-minicart-drawer dd::before {
  display: none !important;
  content: none !important;
}

/* Direct Cart Item Row (strictly direct child > li so nested variation <li> is never affected) */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item {
  position: relative !important;
  display: block !important;
  padding: 1rem 2.25rem 1rem 78px !important;
  margin: 0 !important;
  min-height: 84px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  clear: both !important;
  width: 100% !important;
  list-style: none !important;
  background: transparent !important;
}

/* 1. Product Thumbnail — Pinned on Left (0px to 62px) */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item img,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item img {
  position: absolute !important;
  left: 0 !important;
  top: 1rem !important;
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
  object-fit: contain !important;
  border-radius: 0.75rem !important;
  border: 1px solid #e2e8f0 !important;
  background-color: #f8fafc !important;
  padding: 3px !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
  z-index: 2 !important;
  box-shadow: none !important;
}

/* 2. Remove Button (×) — Pinned on Top Right */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item > a.remove,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item > a.remove {
  position: absolute !important;
  top: 0.9rem !important;
  right: 0 !important;
  left: auto !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  border-radius: 9999px !important;
  color: #94a3b8 !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  z-index: 5 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item > a.remove:hover,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item > a.remove:hover {
  background-color: #fee2e2 !important;
  color: #ef4444 !important;
  border-color: #fecaca !important;
}

/* 3. Product Title Link (starts at 78px, clear of thumbnail) */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item > a:not(.remove):not(.woosb-cart-item-edit),
#oben-minicart-drawer ul.cart_list > li.mini_cart_item > a:not(.remove):not(.woosb-cart-item-edit) {
  display: block !important;
  font-size: 0.925rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  margin: 0 0 0.3rem 0 !important;
  padding: 0 !important;
  word-break: break-word !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item > a:not(.remove):not(.woosb-cart-item-edit):hover,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item > a:not(.remove):not(.woosb-cart-item-edit):hover {
  color: #0284c7 !important;
}

/* 4. WOOSB Bundled Products & Variation Metadata Box */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item dl.variation,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item dl.variation {
  display: block !important;
  margin: 0.35rem 0 0.45rem 0 !important;
  padding: 0.45rem 0.65rem !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.5rem !important;
  font-size: 0.75rem !important;
  color: #475569 !important;
  line-height: 1.4 !important;
  width: 100% !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item dl.variation dt,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item dl.variation dt {
  font-weight: 700 !important;
  color: #334155 !important;
  margin: 0 0 0.25rem 0 !important;
  padding: 0 !important;
  display: block !important;
  float: none !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item dl.variation dd,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item dl.variation dd {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  float: none !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item dl.variation dd ul,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item dl.variation dd ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.25rem !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item dl.variation dd ul > li,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item dl.variation dd ul > li {
  position: static !important;
  display: inline-block !important;
  min-height: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0.15rem 0.5rem !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0.375rem !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.3 !important;
  list-style: none !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item dl.variation dd p,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item dl.variation dd p {
  margin: 0 !important;
  padding: 0 !important;
}

/* 5. WOOSB Edit Link */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item a.woosb-cart-item-edit,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item a.woosb-cart-item-edit {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #0284c7 !important;
  text-decoration: none !important;
  margin: 0.2rem 0 0.35rem 0 !important;
  padding: 0.15rem 0.45rem !important;
  background: #f0f9ff !important;
  border-radius: 0.375rem !important;
  border: 1px solid #bae6fd !important;
}

/* 6. Quantity & Price */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item span.quantity,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item span.quantity {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin: 0.25rem 0 0 0 !important;
  padding: 0 !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item span.quantity .amount,
#oben-minicart-drawer ul.cart_list > li.mini_cart_item span.quantity .amount {
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 0.925rem !important;
}

/* 7. WOOSB Bundle Child Item */
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item.woosb-cart-child,
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item.woosb-item-child {
  padding: 0.6rem 0.5rem 0.6rem 60px !important;
  min-height: 54px !important;
  background-color: #fcfdfe !important;
  border-bottom: 1px dashed #e2e8f0 !important;
}

#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item.woosb-cart-child img,
#oben-minicart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item.woosb-item-child img {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  top: 0.6rem !important;
  left: 0.5rem !important;
}

/* 8. Subtotal & Action Buttons */
#oben-minicart-drawer .woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 1.25rem 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  border-top: 2px solid #f1f5f9 !important;
  margin: 0.5rem 0 0 0 !important;
}

#oben-minicart-drawer .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin-top: 0.5rem !important;
}

#oben-minicart-drawer .woocommerce-mini-cart__buttons a.button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: 0.75rem !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

#oben-minicart-drawer .woocommerce-mini-cart__buttons a.button:first-child,
#oben-minicart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  background-color: #f1f5f9 !important;
  color: #0f172a !important;
}

#oben-minicart-drawer .woocommerce-mini-cart__buttons a.button:first-child:hover,
#oben-minicart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
  background-color: #e2e8f0 !important;
}

#oben-minicart-drawer .woocommerce-mini-cart__buttons a.button.checkout {
  background-color: #0284c7 !important;
  color: #ffffff !important;
}

#oben-minicart-drawer .woocommerce-mini-cart__buttons a.button.checkout:hover {
  background-color: #0369a1 !important;
}

/* =============================================================
 * 16. Wellness Categories: 5 Horizontal Aligned Cards
 * =========================================================== */
.tbay-element-custom-image-list-categories .custom-image-list-categories {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 1.5rem 0 2.5rem 0 !important;
}

@media (min-width: 640px) {
  .tbay-element-custom-image-list-categories .custom-image-list-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1024px) {
  .tbay-element-custom-image-list-categories .custom-image-list-categories {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1.25rem !important;
  }
}

.tbay-element-custom-image-list-categories .item {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.tbay-element-custom-image-list-categories .item-cat {
  background: #ffffff !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.tbay-element-custom-image-list-categories .item-cat:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.1) !important;
  border-color: #e2e8f0 !important;
}

.tbay-element-custom-image-list-categories .item-cat a.cat-image {
  width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  background-color: #f8fafc !important;
}

.tbay-element-custom-image-list-categories .item-cat img {
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.tbay-element-custom-image-list-categories .item-cat:hover img {
  transform: scale(1.06) !important;
}

.tbay-element-custom-image-list-categories .content {
  padding: 1rem 0.75rem;
  width: 100%;
}

.tbay-element-custom-image-list-categories .content a,
.tbay-element-custom-image-list-categories .cat-name {
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
  text-decoration: none !important;
  display: block;
  transition: color 0.2s ease;
}

.tbay-element-custom-image-list-categories .content a:hover,
.tbay-element-custom-image-list-categories .cat-name:hover {
  color: var(--tb-theme-color, #0284c7);
}

/* =============================================================
 * 17. Headings & Broken Background Neutralizer
 * Base non-!important structural rules so Elementor custom
 * typography, colors, spacing, and alignment take precedence.
 * =========================================================== */
.tbay-element-heading {
  position: relative;
  background: transparent;
  clear: both;
}

.heading-tbay-title {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  margin-bottom: 11.5px;
}

.heading-tbay-title .title {
  font-size: 40px;
  line-height: 60px;
  font-family: var(--tb-text-second-font);
  font-variant: lining-nums;
  font-weight: 700;
  color: #000000;
}

.heading-tbay-title > i {
  margin-bottom: 3px;
  line-height: 1;
  color: var(--tb-theme-color);
  display: flex;
  justify-content: center;
}

@media (max-width: 767px) {
  .heading-tbay-title > i {
    line-height: 0.8;
  }
}

.heading-tbay-title .subtitle,
.heading-tbay-title .description {
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 8px;
  font-weight: normal;
  color: #555555;
}

/* Prevent harsh pink or unformatted backgrounds from breaking sections */
.elementor-column[style*="background-color: #FFCBF6"],
.elementor-column[style*="background-color:#FFCBF6"] {
  background-color: transparent !important;
}

/* =============================================================
 * 18. First Footer Spacing & Layout Polish
 * =========================================================== */
#colophon,
.site-footer {
  padding-top: 3.5rem !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  background-color: #070e22 !important;
}

#colophon .container {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

#colophon .grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr 1fr !important;
  gap: 3rem !important;
}

@media (max-width: 1024px) {
  #colophon .grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
  }
}

@media (max-width: 640px) {
  #colophon .grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}
/* =============================================================
 * 19. Header Action Icons & Badges
 * =========================================================== */
.header-actions .oben-action-icon-btn,
.header-actions > button,
.header-actions > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 9999px !important;
  color: #334155 !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.header-actions .oben-action-icon-btn:hover,
.header-actions > button:hover,
.header-actions > a:hover {
  background-color: #f0f9ff !important;
  border-color: #bae6fd !important;
  color: #0284c7 !important;
  transform: translateY(-1px) scale(1.02) !important;
  box-shadow: 0 4px 6px -1px rgba(2, 132, 199, 0.1), 0 2px 4px -2px rgba(2, 132, 199, 0.1) !important;
}

.header-actions .oben-action-icon-btn svg,
.header-actions > button svg,
.header-actions > a svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2px !important;
}

.oben-cart-badge {
  position: absolute !important;
  top: -2px !important;
  right: -2px !important;
  background-color: #0284c7 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

/* =============================================================
 * 20. Masthead Solid White Background & Topbar Guaranteed Navy
 * =========================================================== */
#masthead,
#masthead.site-header,
header.site-header,
.site-header {
  background-color: #ffffff !important;
  background: #ffffff !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05) !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

/* Strictly ensure topbar and its inner container stay solid navy #070e22 */
.oben-topbar,
.oben-topbar .container,
#masthead .oben-topbar,
#masthead .oben-topbar .container {
  background-color: #070e22 !important;
  background: #070e22 !important;
  color: #cbd5e1 !important;
}

#masthead .oben-header-main-row,
#masthead .oben-header-main-row .container {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

@media (min-width: 992px) {
  #oben-mobile-menu-trigger,
  .header-actions #oben-mobile-menu-trigger,
  button#oben-mobile-menu-trigger {
    display: none !important;
  }
  
  .oben-desktop-nav,
  #site-navigation.oben-desktop-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 991px) {
  #oben-mobile-menu-trigger,
  .header-actions #oben-mobile-menu-trigger,
  button#oben-mobile-menu-trigger {
    display: inline-flex !important;
  }
  
  .oben-desktop-nav,
  #site-navigation.oben-desktop-nav {
    display: none !important;
  }
}

/* =============================================================
 * 21. Shop Page Hero Banner & Background
 * =========================================================== */
.oben-shop-hero-banner {
  background-color: #070e22 !important;
  color: #ffffff !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
  min-height: 200px !important;
  display: flex !important;
  align-items: center !important;
}

.oben-shop-hero-banner h1 {
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.oben-shop-hero-banner .term-description p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

.oben-breadcrumbs a {
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.oben-breadcrumbs a:hover {
  color: #38bdf8 !important;
}

/* =============================================================
 * 22. Shop Sidebar & Product Categories
 * =========================================================== */
.oben-shop-sidebar .oben-sidebar-widget {
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.oben-shop-sidebar .oben-cat-link {
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.6rem 0.85rem !important;
  border-radius: 0.5rem !important;
  color: #334155 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.oben-shop-sidebar .oben-cat-link:hover {
  background-color: #f1f5f9 !important;
  color: #0284c7 !important;
  transform: translateX(3px) !important;
}

.oben-shop-sidebar .oben-cat-link.active {
  background-color: #f0f9ff !important;
  color: #0284c7 !important;
  font-weight: 700 !important;
  border-left: 3px solid #0284c7 !important;
}

/* =============================================================
 * 23. Shop Products Grid & Product Cards
 * =========================================================== */
.oben-products-grid {
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (min-width: 640px) {
  .oben-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1024px) {
  .oben-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Product Card Styling (Shop, Related, Up-Sells & Loop Grids Only) */
.oben-products-grid .product,
.oben-related-grid .product,
.products .product.type-product,
ul.products li.product.type-product {
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 1.25rem !important;
  padding: 1.5rem 1.25rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

.oben-products-grid .product:hover,
.oben-related-grid .product:hover,
.products .product.type-product:hover,
ul.products li.product.type-product:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 30px -6px rgba(15, 23, 42, 0.1) !important;
  border-color: #cbd5e1 !important;
}

.oben-products-grid .product figure.image,
.oben-related-grid .product figure.image,
.products .product.type-product figure.image,
ul.products li.product.type-product figure.image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 1rem 0 !important;
  background: #f8fafc !important;
  border-radius: 0.75rem !important;
  padding: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  position: relative !important;
}

.oben-products-grid .product .product-image,
.oben-related-grid .product .product-image,
.products .product.type-product .product-image,
ul.products li.product.type-product .product-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  background: transparent !important;
  min-height: 0 !important;
}

.oben-products-grid .product .product-image img,
.oben-products-grid .product figure.image img,
.oben-related-grid .product .product-image img,
.oben-related-grid .product figure.image img,
.products .product.type-product .product-image img,
.products .product.type-product figure.image img,
ul.products li.product.type-product .product-image img,
ul.products li.product.type-product figure.image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 0.75rem !important;
  transition: transform 0.35s ease !important;
}

.oben-products-grid .product:hover img,
.oben-related-grid .product:hover img,
.products .product.type-product:hover img,
ul.products li.product.type-product:hover img {
  transform: scale(1.05) !important;
}

.oben-products-grid .product .name,
.oben-products-grid .product .woocommerce-loop-product__title,
.oben-related-grid .product .name,
.oben-related-grid .product .woocommerce-loop-product__title,
.products .product.type-product .name,
.products .product.type-product .woocommerce-loop-product__title,
ul.products li.product.type-product .name,
ul.products li.product.type-product .woocommerce-loop-product__title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0.5rem 0 0.5rem 0 !important;
  line-height: 1.35 !important;
}

.oben-products-grid .product .name a,
.oben-related-grid .product .name a,
.products .product.type-product .name a,
ul.products li.product.type-product .name a {
  color: #0f172a !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.oben-products-grid .product .name a:hover,
.oben-related-grid .product .name a:hover,
.products .product.type-product .name a:hover,
ul.products li.product.type-product .name a:hover {
  color: #0284c7 !important;
}

.oben-products-grid .product .price,
.oben-related-grid .product .price,
.products .product.type-product .price,
ul.products li.product.type-product .price {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0284c7 !important;
  margin-bottom: 0.75rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

.oben-products-grid .product .button,
.oben-products-grid .product .add_to_cart_button,
.oben-related-grid .product .button,
.oben-related-grid .product .add_to_cart_button,
.products .product.type-product .button,
.products .product.type-product .add_to_cart_button,
ul.products li.product.type-product .button,
ul.products li.product.type-product .add_to_cart_button {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 0.65rem 1.25rem !important;
  border-radius: 0.5rem !important;
  text-align: center !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  width: 100% !important;
  border: none !important;
}

.oben-products-grid .product .button:hover,
.oben-products-grid .product .add_to_cart_button:hover,
.oben-related-grid .product .button:hover,
.oben-related-grid .product .add_to_cart_button:hover,
.products .product.type-product .button:hover,
.products .product.type-product .add_to_cart_button:hover,
ul.products li.product.type-product .button:hover,
ul.products li.product.type-product .add_to_cart_button:hover {
  background-color: #0369a1 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Shop Ordering Dropdown */
.oben-shop-toolbar select.orderby {
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.5rem !important;
  padding: 0.5rem 2rem 0.5rem 0.85rem !important;
  font-size: 0.875rem !important;
  color: #334155 !important;
  cursor: pointer !important;
  outline: none !important;
}

/* Pagination */
.oben-shop-pagination ul.page-numbers {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.oben-shop-pagination ul.page-numbers li a,
.oben-shop-pagination ul.page-numbers li span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 0.75rem !important;
  border-radius: 0.5rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid #e2e8f0 !important;
  color: #334155 !important;
  background-color: #ffffff !important;
  transition: all 0.2s ease !important;
}

.oben-shop-pagination ul.page-numbers li span.current {
  background-color: #0284c7 !important;
  border-color: #0284c7 !important;
  color: #ffffff !important;
}

.oben-shop-pagination ul.page-numbers li a:hover {
  background-color: #f0f9ff !important;
  border-color: #bae6fd !important;
  color: #0284c7 !important;
}

.oben-shop-pagination ul.page-numbers li a.next,
.oben-shop-pagination ul.page-numbers li a.prev,
.woocommerce-pagination ul.page-numbers li a.next,
.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce-pagination a.next,
.woocommerce-pagination a.prev {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
}

.oben-shop-pagination a.next svg,
.oben-shop-pagination a.prev svg,
.woocommerce-pagination a.next svg,
.woocommerce-pagination a.prev svg {
  width: 14px !important;
  height: 14px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  stroke: currentColor !important;
}

/* Fallback if icon font or text is missing */
.woocommerce-pagination a.next:empty:before,
.page-numbers a.next:empty:before,
.woocommerce-pagination a.next i:before,
.page-numbers a.next i:before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid currentColor !important;
  border-top: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
  vertical-align: middle !important;
}

.woocommerce-pagination a.prev:empty:before,
.page-numbers a.prev:empty:before,
.woocommerce-pagination a.prev i:before,
.page-numbers a.prev i:before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-left: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
  vertical-align: middle !important;
}

/* =============================================================
 * 24. Shop Spacing & Double Border Elimination
 * =========================================================== */
.oben-shop-main-wrapper {
  padding-top: 3.5rem !important;
  padding-bottom: 5.5rem !important;
}

.oben-shop-pagination {
  margin-top: 3.5rem !important;
  margin-bottom: 2.5rem !important;
}

/* Strictly eliminate nested double borders inside product cards */
.product.type-product .product-block,
.oben-products-grid .product-block,
.product-block .block-inner,
.product-block .product-content,
.product-block.grid,
.product-block.v1 {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.product.type-product figure.image,
.product-block figure.image {
  border: none !important;
  box-shadow: none !important;
}


/* =============================================================
 * 25. Universal Container Max-Width & Pixel-Perfect Alignment
 * =========================================================== */
.container,
#masthead .container,
.oben-header-main-row .container,
.oben-topbar .container,
.oben-shop-main-wrapper .container,
.oben-single-product-container,
.oben-myaccount-container,
.oben-woocommerce-wrap.container,
.oben-woocommerce-page-wrapper,
.site-content .container,
#colophon .container {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  box-sizing: border-box !important;
}

/* =============================================================
 * 26. Shop Sidebar (Strictly Left) & Desktop 2-Column Layout
 * =========================================================== */
.oben-shop-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  align-items: flex-start !important;
  width: 100% !important;
}

@media (min-width: 992px) {
  .oben-shop-layout {
    display: flex !important;
    flex-direction: row !important;
    gap: 2.5rem !important;
    align-items: flex-start !important;
    width: 100% !important;
  }
  
  /* Shop Left Sidebar (Strictly 20%) */
  .oben-shop-sidebar-col,
  aside#sidebar-shop-col {
    width: 20% !important;
    min-width: 20% !important;
    max-width: 20% !important;
    flex: 0 0 20% !important;
    order: 1 !important; /* Left side */
    box-sizing: border-box !important;
  }
  
  /* Shop Right Products (Strictly 80%) */
  .oben-shop-products-col,
  main#primary.oben-shop-products-col {
    width: calc(80% - 2.5rem) !important;
    max-width: calc(80% - 2.5rem) !important;
    flex: 0 0 calc(80% - 2.5rem) !important;
    min-width: 0 !important;
    order: 2 !important; /* Right side */
    box-sizing: border-box !important;
  }
}

@media (max-width: 991px) {
  .oben-shop-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    width: 100% !important;
  }

  .oben-shop-sidebar-col,
  aside#sidebar-shop-col,
  .oben-shop-products-col,
  main#primary.oben-shop-products-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* =============================================================
 * 27. Single Product Modern Luxury Layout & Product Showcase
 * =========================================================== */
.oben-single-product-container {
  padding-top: 1.5rem !important;
  padding-bottom: 4rem !important;
}

.oben-single-product-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 2.5rem !important;
}

@media (min-width: 992px) {
  .oben-single-product-main {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 3.5rem !important;
  }
  
  .oben-product-gallery-col {
    width: 50% !important;
    flex-shrink: 0 !important;
  }
  
  .oben-product-summary-col {
    width: 50% !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
  }
}

/* Gallery image formatting */
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image,
.oben-gallery-inner {
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce-product-gallery__image img,
.oben-gallery-inner img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 1.25rem !important;
}

/* Single Product Title, Price, and Meta */
.oben-single-product-main h1.product_title {
  color: #0f172a !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.25 !important;
  margin: 0 0 0.5rem 0 !important;
}

.oben-single-price-wrap,
.oben-single-product-main p.price,
.oben-single-product-main span.price {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #0284c7 !important;
  margin: 0 !important;
}

.oben-single-price-wrap ins {
  text-decoration: none !important;
}

.oben-single-price-wrap del {
  color: #94a3b8 !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
}

/* Quantity input & Single Add to Cart button */
.oben-single-product-main form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
  margin: 1.5rem 0 !important;
}

.oben-single-product-main form.cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.oben-single-product-main form.cart .quantity input.qty {
  width: 4.5rem !important;
  height: 3rem !important;
  text-align: center !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: #0f172a !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

.oben-single-product-main form.cart .quantity input.qty:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

.oben-single-product-main form.cart button.single_add_to_cart_button {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  height: 3rem !important;
  padding: 0 2.25rem !important;
  border-radius: 0.75rem !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25) !important;
}

.oben-single-product-main form.cart button.single_add_to_cart_button:hover {
  background-color: #0369a1 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(2, 132, 199, 0.35) !important;
}

/* YITH Wishlist Single Button */
.oben-single-wishlist .yith-wcwl-add-to-wishlist {
  margin: 0 !important;
}

.oben-single-wishlist a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.oben-single-wishlist a:hover {
  color: #e11d48 !important;
}

/* 4-Column Responsive Grid for Related Products & Upsells */
.oben-related-grid {
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

@media (min-width: 640px) {
  .oben-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1024px) {
  .oben-related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.oben-related-grid .product {
  width: 100% !important;
  margin: 0 !important;
}

/* Product Tabs Clean Luxury Presentation */
.oben-single-product-tabs-wrapper .woocommerce-tabs {
  background: #ffffff !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 1.25rem !important;
  padding: 2rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.oben-single-product-tabs-wrapper ul.tabs {
  display: flex !important;
  gap: 1.5rem !important;
  border-bottom: 2px solid #f1f5f9 !important;
  padding: 0 0 0.75rem 0 !important;
  margin: 0 0 1.5rem 0 !important;
  list-style: none !important;
}

.oben-single-product-tabs-wrapper ul.tabs li a {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-decoration: none !important;
  padding: 0.5rem 0.25rem !important;
  transition: color 0.15s ease !important;
}

.oben-single-product-tabs-wrapper ul.tabs li.active a,
.oben-single-product-tabs-wrapper ul.tabs li:hover a {
  color: #0284c7 !important;
}

.oben-single-product-tabs-wrapper .woocommerce-Tabs-panel {
  color: #475569 !important;
  line-height: 1.7 !important;
  font-size: 0.95rem !important;
}

/* =============================================================
 * 28. WooCommerce My Account (YITH Customize My Account Page)
 * Respects Elementor Boxed (.e-con-boxed) vs Full Width (.e-con-full) settings
 * =========================================================== */
.woocommerce-account .elementor-widget-text-editor,
.woocommerce-account .elementor-widget-shortcode,
.woocommerce-account .elementor-widget-container {
  width: 100%;
  box-sizing: border-box;
}

.woocommerce-account .elementor-element-4be4998e,
.woocommerce-account .e-con:empty {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.oben-myaccount-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 992px) {
  /* Default 2-column layout: 30% sidebar + 3% gap + 67% content */
  .oben-myaccount-wrapper {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 3% !important;
  }

  /* Support YITH Vertical Right Position */
  .oben-myaccount-wrapper:has(#my-account-menu.position-vertical-right),
  .oben-myaccount-wrapper:has(.yith-wcmap.position-vertical-right) {
    flex-direction: row-reverse !important;
  }

  /* Support YITH Horizontal Tabs Layout (Stacked full width) */
  .oben-myaccount-wrapper:has(#my-account-menu-tab),
  .oben-myaccount-wrapper:has(.yith-wcmap.position-horizontal) {
    flex-direction: column !important;
    gap: 1.5rem !important;
  }

  #my-account-menu-tab,
  .yith-wcmap.position-horizontal {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
    margin: 0 !important;
    order: 1 !important;
    box-sizing: border-box !important;
  }
  
  /* Left/Right Sidebar Navigation (At least 30% width on desktop) */
  #my-account-menu,
  #my-account-menu.position-vertical-left,
  #my-account-menu.position-vertical-right,
  .yith-wcmap:not(.position-horizontal):not(#my-account-menu-tab),
  .woocommerce-MyAccount-navigation,
  .oben-myaccount-sidebar {
    width: 30% !important;
    min-width: 30% !important;
    max-width: 33% !important;
    flex: 0 0 30% !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #my-account-menu.position-vertical-left,
  .oben-myaccount-wrapper:not(:has(#my-account-menu.position-vertical-right)) #my-account-menu {
    order: 1 !important;
  }

  #my-account-menu.position-vertical-right {
    order: 2 !important;
  }
  
  /* Right Content Area (~67-70%) */
  #my-account-menu ~ .woocommerce-MyAccount-content,
  #my-account-menu-tab ~ .woocommerce-MyAccount-content,
  .woocommerce-MyAccount-content,
  .oben-myaccount-content {
    width: 67% !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    order: 2 !important;
    box-sizing: border-box !important;
  }

  .oben-myaccount-wrapper:has(#my-account-menu.position-vertical-right) .woocommerce-MyAccount-content {
    order: 1 !important;
  }
}

@media (max-width: 991px) {
  #my-account-menu,
  #my-account-menu.position-vertical-left,
  #my-account-menu.position-vertical-right,
  #my-account-menu-tab,
  .yith-wcmap,
  .woocommerce-MyAccount-navigation,
  .oben-myaccount-sidebar,
  #my-account-menu ~ .woocommerce-MyAccount-content,
  #my-account-menu-tab ~ .woocommerce-MyAccount-content,
  .woocommerce-MyAccount-content,
  .oben-myaccount-content {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    float: none !important;
    margin: 0 !important;
  }
}

/* YITH Customize My Account Page - Clean Native Integration (No outer double card) */
.yith-wcmap {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* In Modern layout, render user profile as its own matching card with exact 15px margin to eliminate double space */
.yith-wcmap.layout-modern .user-profile,
#my-account-menu.layout-modern .user-profile {
  background-color: var(--ywcmap-items-background-color, #ffffff) !important;
  border: 1px solid var(--ywcmap-items-border-color, #eaeaea) !important;
  border-radius: 10px !important;
  box-shadow: 0 0 16px 0 var(--ywcmap-items-shadow-color, rgba(114, 114, 114, 0.16)) !important;
  padding: 1.25rem 1rem !important;
  margin-bottom: 15px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0.35rem !important;
}

.yith-wcmap .user-profile .user-avatar {
  margin: 0 0 0.25rem 0 !important;
  flex-shrink: 0 !important;
}

.yith-wcmap .user-profile .user-avatar img {
  border-radius: 9999px !important;
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  border: 2px solid #e0f2fe !important;
  margin: 0 auto !important;
}

.yith-wcmap .user-profile .user-info {
  min-width: 0 !important;
  width: 100% !important;
  text-align: center !important;
}

.yith-wcmap .user-profile .user-info .username {
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: #0f172a !important;
  margin-bottom: 0.15rem !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.yith-wcmap .user-profile .user-info .user-email {
  font-size: 0.775rem !important;
  color: #64748b !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
  word-break: break-all !important;
  line-height: 1.3 !important;
}

.yith-wcmap .user-profile .user-info .logout a {
  display: inline-block !important;
  padding: 0.25rem 0.65rem !important;
  font-size: 0.725rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border-radius: 0.375rem !important;
  color: var(--ywcmap-logout-text-color, #e11d48) !important;
  background-color: var(--ywcmap-logout-background-color, #ffe4e6) !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.yith-wcmap .user-profile .user-info .logout a:hover {
  background-color: var(--ywcmap-logout-background-color-hover, #fecdd3) !important;
  color: var(--ywcmap-logout-text-color-hover, #be123c) !important;
}

/* Eliminate double margin on the myaccount menu */
.yith-wcmap .myaccount-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.yith-wcmap .myaccount-menu li {
  list-style: none !important;
  margin: 0 0 15px 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Hide duplicate broken Woo Wallet item when OBEN Wallet item exists */
.yith-wcmap .myaccount-menu:has(a.yith-oben-wallet) li:has(> a.yith-woo-wallet) {
  display: none !important;
}

/* Submenu guide indicator for nested endpoint groups */
.yith-wcmap .myaccount-submenu {
  list-style: none !important;
  margin: 0.35rem 0 0.45rem 0.75rem !important;
  padding: 0 0 0 0.5rem !important;
  border-left: 2px solid #e2e8f0 !important;
}

/* Let YITH handle modern card styles natively without double borders on the <a> tag */
.yith-wcmap .myaccount-menu li a {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.yith-wcmap .myaccount-menu li a .item-icon img {
  max-width: 20px !important;
  max-height: 20px !important;
  object-fit: contain !important;
}

/* Defensively hide rogue empty elements, paragraphs, or br tags inside YITH navigation */
.yith-wcmap .myaccount-menu a:empty,
.yith-wcmap .myaccount-menu li > a:empty,
.yith-wcmap .myaccount-menu li:empty,
.yith-wcmap .myaccount-menu p:empty,
.yith-wcmap .myaccount-menu br,
.yith-wcmap p br,
.yith-wcmap p:empty,
.woocommerce-MyAccount-content p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  width: 0 !important;
  border: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Ensure only links with content receive borders/background */
.yith-wcmap .myaccount-menu a:not(:has(.item-label)):not(.group-opener) {
  display: none !important;
}

/* YITH My Account Content Area */
.woocommerce-MyAccount-content {
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 1.25rem !important;
  padding: 1.75rem 2rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* =============================================================
 * 28B. OBENSYS MLM User Dashboard (.let-bmp-body) Overhaul
 * Removes 230px Gentelella sidebar offset, restores Bootstrap 5
 * cards/utilities, and modernizes panels, tables & stats
 * =========================================================== */
.let-bmp-body,
.let-bmp-body .let-nav-md,
.let-bmp-body .let-container.let-body,
.let-bmp-body .let-main_container,
.let-nav-md .let-container.let-body .let-right_col,
.let-bmp-body .let-right_col {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  float: none !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
  color: #334155 !important;
}

/* Fix .let-row and .let-col-* grid so 2-column panels sit side by side cleanly */
.let-bmp-body .let-row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -0.75rem !important;
  margin-right: -0.75rem !important;
  row-gap: 1.25rem !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

.let-bmp-body .let-row::before,
.let-bmp-body .let-row::after,
.let-bmp-body .let-clearfix {
  display: none !important;
}

.let-bmp-body [class*="let-col-"] {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
  float: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  .let-bmp-body .let-col-md-12 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .let-bmp-body .let-col-md-9 {
    width: 75% !important;
    flex: 0 0 75% !important;
    max-width: 75% !important;
  }
  .let-bmp-body .let-col-md-6,
  .let-bmp-body .let-col-md-6.let-col-sm-12,
  .let-bmp-body .let-col-md-6.let-col-xs-6.let-col-sm-12 {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .let-bmp-body .let-col-md-3 {
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
  .let-bmp-body .let-col-md-2 {
    width: 16.666667% !important;
    flex: 0 0 16.666667% !important;
    max-width: 16.666667% !important;
  }
}

/* Dashboard Panels (.let-x_panel) */
.let-bmp-body .let-x_panel {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1rem !important;
  padding: 1.35rem 1.5rem !important;
  margin-bottom: 1.25rem !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03) !important;
  float: none !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  box-sizing: border-box !important;
}

.let-bmp-body .let-col-md-6 > .let-x_panel:last-child {
  margin-bottom: 0 !important;
}

.let-bmp-body .let-x_title {
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 0 0 0.85rem 0 !important;
  margin-bottom: 1.15rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}

.let-bmp-body .let-x_title > .let-row {
  width: 100% !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.let-bmp-body .let-x_title h2 {
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  float: none !important;
  width: auto !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  line-height: 1.35 !important;
}

.let-bmp-body .let-x_title h2 .let-small,
.let-bmp-body .let-x_title h2 small {
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: #64748b !important;
  margin-left: 0.35rem !important;
}

.let-bmp-body .let-panel_toolbox {
  min-width: 0 !important;
  float: none !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}

.let-bmp-body .let-panel_toolbox > li {
  float: none !important;
  margin: 0 !important;
}

.let-bmp-body .let-panel_toolbox > li > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 0.375rem !important;
  color: #94a3b8 !important;
  transition: all 0.15s ease !important;
}

.let-bmp-body .let-panel_toolbox > li > a:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

.let-bmp-body .let-x_content {
  padding: 0 !important;
  margin-top: 0 !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* Profile Avatar & Upload Button */
.let-bmp-body img.rounded-circle {
  border-radius: 9999px !important;
  width: 140px !important;
  height: 140px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 auto 0.85rem auto !important;
  border: 4px solid #e0f2fe !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.14) !important;
}

.let-bmp-body #uploadTrigger,
.let-bmp-body .btn-outline-primary {
  display: block !important;
  margin: 0.5rem auto 0 auto !important;
  padding: 0.45rem 1.1rem !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #0284c7 !important;
  background: #f0f9ff !important;
  border: 1.5px solid #bae6fd !important;
  border-radius: 0.5rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.let-bmp-body #uploadTrigger:hover,
.let-bmp-body .btn-outline-primary:hover {
  background: #0284c7 !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
}

/* Profile 4 Stat Cards Row (Current Balance, Rank Badge, Downlines, Direct Referrals) */
.let-bmp-body .bmw-profile-stats-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0 !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  .let-bmp-body .bmw-profile-stats-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.let-bmp-body .bmw-profile-stats-col {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.let-bmp-body .bmw-profile-stats-col .let-card {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.875rem !important;
  padding: 1.15rem 0.85rem !important;
  height: 100% !important;
  min-height: 135px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.let-bmp-body .bmw-profile-stats-col .let-card .icon {
  margin-bottom: 0.35rem !important;
}

.let-bmp-body .bmw-profile-stats-col .let-card .badge-icon img {
  max-height: 54px !important;
  width: auto !important;
  object-fit: contain !important;
  margin: 0 auto 0.35rem auto !important;
  display: block !important;
}

.let-bmp-body .bmw-profile-stats-col .let-card h5 {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0.25rem 0 0.15rem 0 !important;
  line-height: 1.25 !important;
}

.let-bmp-body .bmw-profile-stats-col .let-card p {
  font-size: 0.775rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin: 0 !important;
}

/* Bootstrap 5 Compatibility inside .let-bmp-body (Affiliate Links & Weekly Points) */
.let-bmp-body .card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.875rem !important;
  overflow: hidden !important;
  margin-bottom: 1rem !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03) !important;
  box-sizing: border-box !important;
}

.let-bmp-body .card.h-100 {
  height: 100% !important;
  margin-bottom: 0 !important;
}

.let-bmp-body .card-header {
  padding: 0.85rem 1.25rem !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.let-bmp-body .card-header.bg-success {
  background: #10b981 !important;
  color: #ffffff !important;
  border-bottom-color: #059669 !important;
}

.let-bmp-body .card-header.bg-primary {
  background: #0284c7 !important;
  color: #ffffff !important;
  border-bottom-color: #0369a1 !important;
}

.let-bmp-body .card-header.bg-secondary {
  background: #334155 !important;
  color: #ffffff !important;
  border-bottom-color: #1e293b !important;
}

.let-bmp-body .card-body {
  padding: 1.25rem !important;
  box-sizing: border-box !important;
}

.let-bmp-body .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -0.625rem !important;
  margin-right: -0.625rem !important;
  row-gap: 1.25rem !important;
  box-sizing: border-box !important;
}

.let-bmp-body .row > [class*="col-"] {
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  .let-bmp-body .row > .col-md-6 {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

/* Left & Right Affiliate Link Cards */
.let-bmp-body .d-flex.flex-column.bg-primary.text-white,
.let-bmp-body .d-flex.flex-column.bg-danger.text-white {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  padding: 1.25rem !important;
  border-radius: 0.875rem !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.let-bmp-body .d-flex.flex-column.bg-primary.text-white {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.16) !important;
}

.let-bmp-body .d-flex.flex-column.bg-danger.text-white {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.16) !important;
}

.let-bmp-body .d-flex.flex-column.bg-primary.text-white > span,
.let-bmp-body .d-flex.flex-column.bg-danger.text-white > span {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 0.15rem !important;
}

.let-bmp-body input.form-control[readonly] {
  width: 100% !important;
  padding: 0.6rem 0.85rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 0.8rem !important;
  text-align: center !important;
  font-weight: 500 !important;
  box-sizing: border-box !important;
  margin-bottom: 0.25rem !important;
}

.let-bmp-body .copy-affiliate-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  padding: 0.5rem 1.25rem !important;
  border-radius: 0.5rem !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
}

.let-bmp-body .copy-affiliate-btn:hover {
  background: #e0f2fe !important;
  color: #0284c7 !important;
  transform: translateY(-1px) !important;
}

/* Data Tables (.let-table & .table) inside Dashboard */
.let-bmp-body table.let-table,
.let-bmp-body table.table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  margin: 0 !important;
  background: #ffffff !important;
}

.let-bmp-body table.let-table th,
.let-bmp-body table.let-table td,
.let-bmp-body table.table th,
.let-bmp-body table.table td {
  padding: 0.7rem 0.9rem !important;
  font-size: 0.84rem !important;
  color: #334155 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
  line-height: 1.45 !important;
}

.let-bmp-body table.let-table tr:last-child td,
.let-bmp-body table.table tr:last-child td {
  border-bottom: none !important;
}

.let-bmp-body table.let-table thead th,
.let-bmp-body table.table thead th {
  background: #f8fafc !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 0.775rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

/* Qualifying Volumes 4 Soft Pastel Sub-Panels */
.let-bmp-body .let-x_panel.bg-success.bg-opacity-10 {
  background: #f0fdf4 !important;
  border-color: #bbf7d0 !important;
}

.let-bmp-body .let-x_panel.bg-warning.bg-opacity-10 {
  background: #fffbeb !important;
  border-color: #fde68a !important;
}

.let-bmp-body .let-x_panel.bg-info.bg-opacity-10 {
  background: #f0f9ff !important;
  border-color: #bae6fd !important;
}

.let-bmp-body .let-x_panel.bg-primary.bg-opacity-10 {
  background: #eef2ff !important;
  border-color: #c7d2fe !important;
}

/* Weekly Points Filter Form & Section */
.let-bmp-body #weekly_leg_points_form {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  gap: 1rem !important;
  background: #f8fafc !important;
  padding: 1rem 1.25rem !important;
  border-radius: 0.75rem !important;
  border: 1px solid #e2e8f0 !important;
  margin-bottom: 1.25rem !important;
}

.let-bmp-body #weekly_leg_points_form > div {
  flex: 1 1 180px !important;
  margin: 0 !important;
}

.let-bmp-body #weekly_leg_points_form label {
  display: block !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #334155 !important;
  margin-bottom: 0.35rem !important;
}

.let-bmp-body #weekly_leg_points_form input[type="date"] {
  width: 100% !important;
  height: 42px !important;
  padding: 0.5rem 0.75rem !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0.5rem !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 0.85rem !important;
  box-sizing: border-box !important;
}

.let-bmp-body #weekly_leg_points_filter_btn {
  height: 42px !important;
  padding: 0 1.5rem !important;
  background: #0284c7 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.5rem !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.let-bmp-body #weekly_leg_points_filter_btn:hover {
  background: #0369a1 !important;
}

.let-bmp-body h4.border-start {
  border-left: 4px solid #0284c7 !important;
  padding-left: 0.75rem !important;
  margin: 1.5rem 0 1rem 0 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

/* Business Dashboard Tile Stats ([bmw_user_dashboard]) */
.let-bmp-body .let-tile_count {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.85rem !important;
  margin: 1rem 0 1.5rem 0 !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  .let-bmp-body .let-tile_count {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  .let-bmp-body .let-tile_count {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

.let-bmp-body .let-tile_count .let-tile_stats_count {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.875rem !important;
  padding: 1rem 0.75rem !important;
  margin: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.let-bmp-body .let-tile_count .let-tile_stats_count::before {
  display: none !important;
}

.let-bmp-body .let-tile_count .let-tile_stats_count .let-count {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 0.25rem 0 !important;
}

/* Account Tables (Orders, Downloads) */
.woocommerce-MyAccount-orders,
.woocommerce-table--order-downloads,
.woocommerce-table--customer-details {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 0.85rem !important;
  overflow: hidden !important;
  margin-top: 1rem !important;
}

.woocommerce-MyAccount-orders th,
.woocommerce-MyAccount-orders td,
.woocommerce-table--order-downloads th,
.woocommerce-table--order-downloads td {
  padding: 0.9rem 1.25rem !important;
  font-size: 0.875rem !important;
  border-bottom: 1px solid #f1f5f9 !important;
  text-align: left !important;
}

.woocommerce-MyAccount-orders th,
.woocommerce-table--order-downloads th {
  background-color: #f8fafc !important;
  font-weight: 700 !important;
  color: #334155 !important;
}

.woocommerce-MyAccount-orders tr:last-child td,
.woocommerce-table--order-downloads tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-MyAccount-orders .woocommerce-button,
.woocommerce-table--order-downloads .woocommerce-button {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  padding: 0.45rem 1rem !important;
  border-radius: 0.5rem !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.woocommerce-MyAccount-orders .woocommerce-button:hover {
  background-color: #0369a1 !important;
}

/* Account Forms & Inputs */
.woocommerce-EditAccountForm input,
.woocommerce-address-fields input,
.woocommerce-form-login input.input-text,
.woocommerce-form-register input.input-text {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  font-size: 0.9rem !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input:focus,
.woocommerce-form-login input.input-text:focus,
.woocommerce-form-register input.input-text:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

.woocommerce-EditAccountForm button.button,
.woocommerce-address-fields button.button {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  padding: 0.75rem 2rem !important;
  border-radius: 0.75rem !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  border: none !important;
  cursor: pointer !important;
  margin-top: 1rem !important;
  transition: all 0.2s ease !important;
}

.woocommerce-EditAccountForm button.button:hover,
.woocommerce-address-fields button.button:hover {
  background-color: #0369a1 !important;
}

/* =============================================================
 * 29. Yoast SEO & WooCommerce Breadcrumbs Styling
 * Uniform Full-Width Breadcrumb Bar (#0369a1) with White Text
 * =========================================================== */
.oben-breadcrumb-bar {
  width: 100% !important;
  background: #0369a1 !important;
  background-color: #0369a1 !important;
  color: #ffffff !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 0.75rem 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.oben-breadcrumb-bar .container {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}

.oben-breadcrumb-bar .oben-breadcrumbs,
.oben-breadcrumb-bar nav.oben-breadcrumbs {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
}

.woocommerce-account .site-content > .elementor {
  padding-top: 1.75rem;
  padding-bottom: 2.5rem;
}

.oben-breadcrumbs,
nav.oben-breadcrumbs,
.woocommerce-breadcrumb,
.yoast-breadcrumbs {
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.25rem !important;
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
}

.oben-breadcrumbs ol,
.oben-breadcrumbs ul,
.oben-breadcrumbs li,
.oben-breadcrumb-list,
.oben-breadcrumb-item {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  color: #ffffff !important;
}

.oben-breadcrumbs li::marker,
.oben-breadcrumbs ol::marker,
.oben-breadcrumbs ul::marker {
  content: none !important;
  display: none !important;
}

.oben-breadcrumbs a,
.oben-breadcrumb-link,
.oben-breadcrumbs a span {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

.oben-breadcrumbs a:hover,
.oben-breadcrumb-link:hover,
.oben-breadcrumbs a:hover span {
  color: #ffffff !important;
}

.oben-breadcrumbs .breadcrumb_last,
.oben-breadcrumbs span.text-slate-700,
.oben-breadcrumb-current {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.oben-breadcrumbs svg,
.oben-breadcrumb-sep {
  color: rgba(255, 255, 255, 0.65) !important;
  flex-shrink: 0 !important;
}

/* High Contrast Styling on Dark Shop Hero Banner */
.oben-shop-hero-banner .oben-breadcrumbs,
.oben-shop-hero-banner .oben-breadcrumbs a,
.oben-shop-hero-banner .oben-breadcrumb-link {
  color: #e2e8f0 !important;
}

.oben-shop-hero-banner .oben-breadcrumbs a:hover,
.oben-shop-hero-banner .oben-breadcrumb-link:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

.oben-shop-hero-banner .oben-breadcrumbs .breadcrumb_last,
.oben-shop-hero-banner .oben-breadcrumb-current,
.oben-shop-hero-banner .oben-breadcrumbs span.text-sky-400 {
  color: #38bdf8 !important;
  font-weight: 700 !important;
}

.oben-shop-hero-banner .oben-breadcrumbs svg,
.oben-shop-hero-banner .oben-breadcrumb-sep {
  color: rgba(255, 255, 255, 0.45) !important;
}


/* Section 30 unified into Scoped #oben-minicart-drawer rules */

/* =============================================================
 * 31. Professional WooCommerce Checkout Layout & Styling
 * Modern 2-column desktop layout, stacked customer sections,
 * zero-overflow responsive form grid, and cross-browser controls
 * =========================================================== */

html,
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-page,
body.woocommerce-checkout #page,
body.woocommerce-checkout #content {
  overflow-x: clip !important;
  max-width: 100vw !important;
}

body.woocommerce-checkout,
body.woocommerce-cart {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Master Checkout Container: Pixel-Perfect Alignment with Header Logo & Breadcrumb Bar */
body.woocommerce-checkout #main,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .oben-woocommerce-page-wrapper,
body.woocommerce-checkout .oben-page-content,
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart #main,
body.woocommerce-cart .site-main,
body.woocommerce-cart .oben-woocommerce-page-wrapper,
body.woocommerce-cart .oben-page-content,
body.woocommerce-cart .woocommerce {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  box-sizing: border-box !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Prevent double horizontal padding when nested */
body.woocommerce-checkout #main .oben-woocommerce-page-wrapper,
body.woocommerce-checkout #main .oben-page-content,
body.woocommerce-checkout #main .woocommerce,
body.woocommerce-cart #main .oben-woocommerce-page-wrapper,
body.woocommerce-cart #main .oben-page-content,
body.woocommerce-cart #main .woocommerce {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Form Container & Grid Neutralization of Bootstrap .row */
form.checkout.woocommerce-checkout,
form.checkout.woocommerce-checkout.row {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 2rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

form.checkout.woocommerce-checkout::before,
form.checkout.woocommerce-checkout::after,
#customer_details::before,
#customer_details::after,
.woocommerce-billing-fields__field-wrapper::before,
.woocommerce-billing-fields__field-wrapper::after,
.woocommerce-shipping-fields__field-wrapper::before,
.woocommerce-shipping-fields__field-wrapper::after {
  display: none !important;
  content: none !important;
}

@media (min-width: 992px) {
  form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
    gap: 2.25rem !important;
    align-items: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .billing-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .review-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 96px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 991px) {
  form.checkout.woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .billing-wrapper,
  .woocommerce-checkout .review-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Coupon, Login & Sponsor Notice Banners (Fix Overlapping Icon) */
.wrapper-login-coupon,
.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle {
  margin-bottom: 1rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  position: relative !important;
  background-color: #f0f9ff !important;
  border: 1px solid #bae6fd !important;
  border-left: 4px solid #0284c7 !important;
  border-radius: 0.875rem !important;
  padding: 0.95rem 1.25rem !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
  color: #0369a1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.45rem 0.6rem !important;
  margin: 0 0 1rem 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.woocommerce-message {
  background-color: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
  border-left-color: #10b981 !important;
  color: #065f46 !important;
}

.woocommerce-error {
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
  border-left-color: #ef4444 !important;
  color: #991b1b !important;
  list-style: none !important;
}

/* Replace WooCommerce absolute font-icon ::before with static inline SVG so it never overlaps text */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 0.15rem 0 0 !important;
  font-family: inherit !important;
  background-color: currentColor !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}

.woocommerce-info::after,
.woocommerce-message::after,
.woocommerce-error::after {
  display: none !important;
  content: none !important;
}

.woocommerce-info a,
.woocommerce-message a {
  color: #0284c7 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.woocommerce-info a:hover,
.woocommerce-message a:hover {
  color: #0369a1 !important;
}

/* Collapsible Coupon & Login Forms on Checkout */
form.checkout_coupon.woocommerce-form-coupon,
form.woocommerce-form-login {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
  margin: 0.75rem 0 1.5rem 0 !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
}

form.checkout_coupon.woocommerce-form-coupon {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

form.checkout_coupon.woocommerce-form-coupon .form-row {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

form.checkout_coupon.woocommerce-form-coupon .form-row-first {
  flex: 1 1 240px !important;
  width: auto !important;
}

form.checkout_coupon.woocommerce-form-coupon .form-row-last {
  flex: 0 0 auto !important;
  width: auto !important;
}

form.checkout_coupon.woocommerce-form-coupon button.button {
  min-height: 48px !important;
  padding: 0 1.5rem !important;
  background-color: #0f172a !important;
  color: #ffffff !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

form.checkout_coupon.woocommerce-form-coupon button.button:hover {
  background-color: #0284c7 !important;
}

/* Stack #customer_details (.col2-set) Vertically — Fix Narrow Side-by-Side Columns & Overflow */
.billing-wrapper #customer_details,
.woocommerce .col2-set#customer_details,
.woocommerce-page .col2-set#customer_details {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.75rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  float: none !important;
}

#customer_details > .col-1,
#customer_details > .col-2,
.woocommerce .col2-set#customer_details .col-1,
.woocommerce .col2-set#customer_details .col-2,
.woocommerce-page .col2-set#customer_details .col-1,
.woocommerce-page .col2-set#customer_details .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#customer_details > .col-2 {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.75rem !important;
}

/* Individual Billing, Shipping & Additional Info Cards */
.billing-wrapper .woocommerce-billing-fields,
.billing-wrapper .woocommerce-shipping-fields,
.billing-wrapper .woocommerce-additional-fields {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1.25rem !important;
  padding: 2rem !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04) !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 639px) {
  .billing-wrapper .woocommerce-billing-fields,
  .billing-wrapper .woocommerce-shipping-fields,
  .billing-wrapper .woocommerce-additional-fields,
  .order-review,
  .review-wrapper .order-review {
    padding: 1.35rem !important;
    border-radius: 1rem !important;
  }
}

.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3,
#order_review_heading,
#order_payment_heading {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 1.35rem 0 !important;
  padding: 0 0 0.85rem 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  line-height: 1.3 !important;
}

/* Ship to a Different Address Toggle Header */
#ship-to-different-address {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

#ship-to-different-address label.woocommerce-form__label-for-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  margin: 0 !important;
  padding: 0.25rem 0 !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  cursor: pointer !important;
  user-select: none !important;
}

#ship-to-different-address input.woocommerce-form__input-checkbox {
  width: 1.25rem !important;
  height: 1.25rem !important;
  min-height: 1.25rem !important;
  margin: 0 !important;
  accent-color: #0284c7 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.woocommerce-shipping-fields .shipping_address {
  margin-top: 1.35rem !important;
  padding-top: 1.35rem !important;
  border-top: 1px solid #f1f5f9 !important;
}

/* 2-Column Responsive CSS Grid for Form Fields (Eliminates Float Overflow) */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.15rem 1.25rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row,
.woocommerce-checkout .form-row {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 576px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.form-row-first,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row.form-row-first,
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #shipping_city_field,
  .woocommerce-checkout #billing_postcode_field,
  .woocommerce-checkout #shipping_postcode_field {
    grid-column: 1 / 2 !important;
    width: 100% !important;
    float: none !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.form-row-last,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row.form-row-last,
  .woocommerce-checkout #billing_state_field,
  .woocommerce-checkout #shipping_state_field,
  .woocommerce-checkout #billing_phone_field,
  .woocommerce-checkout #shipping_phone_field {
    grid-column: 2 / 3 !important;
    width: 100% !important;
    float: none !important;
  }
}

.woocommerce-checkout .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Gestalt Proximity: Tighter Label-to-Input Spacing than Group-to-Group Gap */
.woocommerce-checkout .form-row label {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #334155 !important;
  margin: 0 0 0.4rem 0 !important;
  line-height: 1.35 !important;
  display: block !important;
}

.woocommerce-checkout .form-row label.screen-reader-text {
  position: absolute !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.woocommerce-checkout label .required {
  color: #ef4444 !important;
  text-decoration: none !important;
}

.woocommerce-checkout label .optional {
  font-weight: 500 !important;
  color: #94a3b8 !important;
  font-size: 0.8rem !important;
}

/* Cross-Browser Form Inputs, Selects & Textarea (Scoped strictly to checkout/coupon/login forms so #wpadminbar search is untouched) */
form.checkout.woocommerce-checkout input[type="text"],
form.checkout.woocommerce-checkout input[type="email"],
form.checkout.woocommerce-checkout input[type="tel"],
form.checkout.woocommerce-checkout input[type="password"],
form.checkout.woocommerce-checkout input[type="url"],
form.checkout.woocommerce-checkout select,
form.checkout.woocommerce-checkout textarea,
form.checkout_coupon.woocommerce-form-coupon input[type="text"],
form.woocommerce-form-login input[type="text"],
form.woocommerce-form-login input[type="password"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: 48px !important;
  border-radius: 0.75rem !important;
  border: 1.5px solid #cbd5e1 !important;
  padding: 0.65rem 1rem !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
  margin: 0 !important;
}

form.checkout.woocommerce-checkout input::placeholder,
form.checkout.woocommerce-checkout textarea::placeholder,
form.checkout_coupon.woocommerce-form-coupon input::placeholder,
form.woocommerce-form-login input::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

form.checkout.woocommerce-checkout select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.9rem center !important;
  background-size: 16px 16px !important;
  padding-right: 2.5rem !important;
  cursor: pointer !important;
}

/* Select2 Compatibility on Checkout */
form.checkout.woocommerce-checkout .select2-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

form.checkout.woocommerce-checkout .select2-container .select2-selection--single {
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 0.75rem !important;
  border: 1.5px solid #cbd5e1 !important;
  background-color: #f8fafc !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 2.25rem 0 1rem !important;
  box-sizing: border-box !important;
}

form.checkout.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  color: #0f172a !important;
  font-size: 1rem !important;
  line-height: 45px !important;
  padding: 0 !important;
}

form.checkout.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
  right: 0.75rem !important;
}

form.checkout.woocommerce-checkout textarea {
  height: auto !important;
  min-height: 104px !important;
  padding: 0.85rem 1rem !important;
  resize: vertical !important;
}

form.checkout.woocommerce-checkout input:hover,
form.checkout.woocommerce-checkout select:hover,
form.checkout.woocommerce-checkout textarea:hover,
form.checkout.woocommerce-checkout .select2-container .select2-selection--single:hover,
form.checkout_coupon.woocommerce-form-coupon input[type="text"]:hover,
form.woocommerce-form-login input:hover {
  border-color: #94a3b8 !important;
}

form.checkout.woocommerce-checkout input:focus,
form.checkout.woocommerce-checkout input:focus-visible,
form.checkout.woocommerce-checkout select:focus,
form.checkout.woocommerce-checkout select:focus-visible,
form.checkout.woocommerce-checkout textarea:focus,
form.checkout.woocommerce-checkout textarea:focus-visible,
form.checkout.woocommerce-checkout .select2-container--open .select2-selection--single,
form.checkout_coupon.woocommerce-form-coupon input[type="text"]:focus,
form.woocommerce-form-login input:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.16) !important;
  outline: none !important;
}

/* Order Review Card (Right Column) */
.order-review,
.review-wrapper .order-review {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1.25rem !important;
  padding: 2rem !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Hide Orphan Empty Payment Method Wrapper at Bottom */
.woocommerce-checkout .order-payment:not(:has(#payment)),
#order_payment_heading:only-child {
  display: none !important;
}

/* Order Review Table Layout & Item Alignment */
table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 0 1.5rem 0 !important;
  border: none !important;
}

table.woocommerce-checkout-review-order-table thead th {
  padding: 0 0 0.85rem 0 !important;
  border-bottom: 2px solid #f1f5f9 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #64748b !important;
}

table.woocommerce-checkout-review-order-table th.product-name,
table.woocommerce-checkout-review-order-table td.product-name {
  width: 72% !important;
  text-align: left !important;
  word-break: break-word !important;
}

table.woocommerce-checkout-review-order-table th.product-total,
table.woocommerce-checkout-review-order-table td.product-total {
  width: 28% !important;
  text-align: right !important;
  white-space: nowrap !important;
}

table.woocommerce-checkout-review-order-table tbody tr.cart_item td {
  padding: 1.15rem 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  vertical-align: top !important;
  font-size: 0.925rem !important;
  color: #0f172a !important;
}

table.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.4 !important;
  padding-right: 0.75rem !important;
}

table.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

/* Float Product Thumbnail Left so Title & Quantity Align Beside It */
table.woocommerce-checkout-review-order-table td.product-name > img {
  float: left !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  object-fit: contain !important;
  border-radius: 0.65rem !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  padding: 0.25rem !important;
  margin: 0 0.875rem 0.25rem 0 !important;
  box-sizing: border-box !important;
  display: block !important;
}

table.woocommerce-checkout-review-order-table td.product-name .quantity {
  display: block !important;
  margin: 0.35rem 0 0 4.375rem !important;
}

table.woocommerce-checkout-review-order-table td.product-name .quantity input.qty {
  width: 3.75rem !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0.2rem 0.45rem !important;
  font-size: 0.825rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0.5rem !important;
  box-sizing: border-box !important;
}

table.woocommerce-checkout-review-order-table td.product-name dl.variation {
  display: block !important;
  clear: both !important;
  margin: 0.5rem 0 0 4.375rem !important;
  padding: 0 !important;
}

table.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {
  font-weight: 700 !important;
  color: #334155 !important;
  font-size: 0.95rem !important;
}

/* Totals Footer (Subtotal, Shipment, VAT, Total) */
table.woocommerce-checkout-review-order-table tfoot th,
table.woocommerce-checkout-review-order-table tfoot td {
  padding: 0.85rem 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  vertical-align: middle !important;
  font-size: 0.925rem !important;
}

table.woocommerce-checkout-review-order-table tfoot th {
  font-weight: 600 !important;
  color: #64748b !important;
  text-align: left !important;
}

table.woocommerce-checkout-review-order-table tfoot td {
  font-weight: 700 !important;
  color: #0f172a !important;
  text-align: right !important;
}

table.woocommerce-checkout-review-order-table ul#shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

table.woocommerce-checkout-review-order-table ul#shipping_method li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

table.woocommerce-checkout-review-order-table ul#shipping_method li label {
  margin: 0 !important;
  font-weight: 700 !important;
  color: #059669 !important;
  font-size: 0.9rem !important;
  display: inline !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  border-top: 2px solid #e2e8f0 !important;
  border-bottom: none !important;
  padding-top: 1.15rem !important;
  padding-bottom: 0.25rem !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total td,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #0284c7 !important;
}

/* Payment Methods Box */
#payment,
.order-payment #payment,
.woocommerce-checkout-payment {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1rem !important;
  padding: 1.35rem !important;
  margin-top: 1.25rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

#payment ul.payment_methods,
ul.wc_payment_methods {
  list-style: none !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  border: none !important;
}

#payment ul.payment_methods li,
ul.wc_payment_methods li {
  list-style: none !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  padding: 0.9rem 1.1rem !important;
  margin: 0 !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
}

#payment ul.payment_methods li:has(input.input-radio:checked),
ul.wc_payment_methods li:has(input.input-radio:checked) {
  border-color: #0284c7 !important;
  background-color: #f0f9ff !important;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.08) !important;
}

#payment ul.payment_methods li input.input-radio,
ul.wc_payment_methods li input.input-radio {
  width: 1.15rem !important;
  height: 1.15rem !important;
  min-height: 1.15rem !important;
  margin: 0 0.6rem 0 0 !important;
  accent-color: #0284c7 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

#payment ul.payment_methods li label,
ul.wc_payment_methods li label {
  font-weight: 700 !important;
  font-size: 0.925rem !important;
  color: #0f172a !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin: 0 !important;
  vertical-align: middle !important;
  max-width: calc(100% - 2rem) !important;
}

#payment ul.payment_methods li label img,
ul.wc_payment_methods li label img {
  max-height: 26px !important;
  width: auto !important;
  object-fit: contain !important;
  margin-left: 0.25rem !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

#payment div.payment_box {
  background: #ffffff !important;
  border-radius: 0.625rem !important;
  padding: 0.85rem 1rem !important;
  margin: 0.75rem 0 0 0 !important;
  font-size: 0.825rem !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  border: 1px solid #cbd5e1 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

#payment div.payment_box::before {
  display: none !important;
  content: none !important;
}

#payment div.payment_box p {
  margin: 0 !important;
}

#payment .form-row.place-order {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Place Order Button */
#place_order,
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0.95rem 1.5rem !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border-radius: 0.875rem !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.28) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  box-sizing: border-box !important;
}

#place_order:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button#place_order:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(2, 132, 199, 0.38) !important;
}

/* =============================================================
 * 32. Shop Categories Zero Bullets & Right-Aligned Sorting
 * =========================================================== */
.oben-shop-sidebar ul,
.oben-shop-sidebar ol,
.oben-shop-sidebar li,
.oben-cat-list,
.oben-cat-item,
.widget_product_categories ul,
.widget_product_categories li,
ul.product-categories,
ul.product-categories li {
  list-style: none !important;
  list-style-type: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.oben-shop-sidebar li:before,
.oben-cat-list li:before,
.oben-cat-item:before,
.widget_product_categories li:before,
ul.product-categories li:before {
  display: none !important;
  content: none !important;
}

/* Toolbar Alignment: Result count on left, sorting on right */
.oben-shop-toolbar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.oben-shop-toolbar .oben-result-count,
.oben-shop-toolbar .woocommerce-result-count {
  margin: 0 !important;
  float: none !important;
  text-align: left !important;
}

.oben-shop-toolbar .oben-ordering,
.oben-shop-toolbar .woocommerce-ordering {
  margin: 0 0 0 auto !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.oben-shop-toolbar select.orderby,
.woocommerce-ordering select.orderby {
  margin: 0 !important;
}

/* MLM Sponsor Modal & Banner */
#bmwSponsorModalBtn,
.woocommerce-info button#bmwSponsorModalBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.45rem 1.15rem !important;
  margin-left: 0.75rem !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #ffffff !important;
  background-color: #0284c7 !important;
  border: none !important;
  border-radius: 0.5rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

#bmwSponsorModalBtn:hover,
.woocommerce-info button#bmwSponsorModalBtn:hover {
  background-color: #0369a1 !important;
}

/* Defensively remove Quick View from all product loops & cards */
.tbay-quick-view,
.qview-button,
a.qview-button,
.product-content .tbay-quick-view,
.product-block .tbay-quick-view,
.yith-wcqv-button,
a.yith-wcqv-button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   33. Single Product UI Polish - Breadcrumbs, Left Gallery & Borderless Layout
   ========================================================================== */

/* Remove all body, wrapper, page, content, and container borders and boxed shadows */
body,
body.single-product,
#wrapper-container,
.wrapper-container,
.wrapper-container.boxed-layout,
body .wrapper-container,
body .wrapper-container.boxed-layout,
body.single-product .wrapper-container,
body.single-product .wrapper-container.boxed-layout,
body.single-product .site,
body.single-product #page,
body.single-product #content,
body.single-product .site-content,
body.single-product .oben-single-product-page,
body.single-product .oben-woocommerce-wrap,
body.single-product .oben-single-product-container,
body.single-product #main,
body.single-product .site-main,
body.single-product div.product[id^="product-"],
body.single-product .singular-shop > div.product,
body.single-product .single-main-content,
body.single-product .information,
body.single-product .image-mains,
body.single-product .summary.entry-summary {
  border: none !important;
  border-width: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  outline: none !important;
  transform: none !important;
  background-color: #ffffff !important;
}

body.single-product div.product[id^="product-"],
body.single-product .singular-shop > div.product {
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* Main layout container */
.single-product .oben-woocommerce-wrap,
.single-product .oben-single-product-page,
.single-product .site-main {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Hide inline duplicate breadcrumbs inside Single Product (top bar handles it) */
.oben-single-product-breadcrumbs {
  display: none !important;
}

/* Single Product 2-Column Showcase */
.single-product .oben-single-product-main,
.single-product .single-main-content,
.single-product .single-main-content .row {
  display: flex !important;
  flex-direction: column !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 3.5rem 0 !important;
  outline: none !important;
}

@media (min-width: 992px) {
  .single-product .oben-single-product-main,
  .single-product .single-main-content .row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 3.5rem !important;
    align-items: flex-start !important;
  }

  /* Gallery Column: Strictly on the LEFT (50%, Minimum 512px) */
  .single-product .oben-product-gallery-col,
  .single-product .image-mains,
  .single-product div.product .image-mains,
  .single-product .singular-shop div.product .image-mains {
    flex: 0 0 calc(50% - 1.75rem) !important;
    max-width: calc(50% - 1.75rem) !important;
    width: calc(50% - 1.75rem) !important;
    min-width: 512px !important;
    order: 1 !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Summary Column: Strictly on the RIGHT (50%) */
  .single-product .oben-product-summary-col,
  .single-product .information,
  .single-product div.product .information,
  .single-product .singular-shop div.product .information {
    flex: 0 0 calc(50% - 1.75rem) !important;
    max-width: calc(50% - 1.75rem) !important;
    width: calc(50% - 1.75rem) !important;
    order: 2 !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

@media (max-width: 991px) {
  .single-product .oben-product-gallery-col,
  .single-product .image-mains,
  .single-product .oben-product-summary-col,
  .single-product .information {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: unset !important;
  }

  .single-product .woocommerce-product-gallery img,
  .single-product .woocommerce-product-gallery__image img,
  .single-product .woocommerce-product-gallery .wp-post-image,
  .single-product .image-mains .wp-post-image,
  .single-product .oben-gallery-inner img {
    min-height: 320px !important;
    height: auto !important;
  }
}

/* Eliminate all borders, outlines, box shadows from Product Images & Gallery */
.single-product .oben-single-product-main,
.single-product .oben-gallery-inner,
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .flex-viewport,
.single-product div.product .image-mains .images,
.single-product .singular-shop div.product .image-mains .images,
.single-product .singular-shop>.product>div.single-main-content,
.single-product .single-main-content {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

.single-product .oben-gallery-inner,
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  border-radius: 1.25rem !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Image Proportion: Full 1:1 square cover edge-to-edge without gray sidebars */
.single-product .woocommerce-product-gallery img,
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .wp-post-image,
.single-product .image-mains .wp-post-image,
.single-product .oben-gallery-inner img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  background-color: transparent !important;
  border-radius: 1.25rem !important;
  display: block !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Thumbnails clean borderless styling */
.single-product .flex-control-thumbs {
  display: flex !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
  padding: 0 !important;
  list-style: none !important;
  justify-content: flex-start !important;
}

.single-product .flex-control-thumbs li {
  width: 80px !important;
  float: none !important;
  margin: 0 !important;
  border: none !important;
}

.single-product .flex-control-thumbs li img {
  border-radius: 0.75rem !important;
  border: 2px solid transparent !important;
  opacity: 0.75 !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  box-shadow: none !important;
  background-color: transparent !important;
  min-height: unset !important;
  height: auto !important;
}

.single-product .flex-control-thumbs li img.flex-active,
.single-product .flex-control-thumbs li img:hover {
  border-color: #0284c7 !important;
  opacity: 1 !important;
}

/* Product Information Summary */
.single-product .summary.entry-summary {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Stock & Category Badges at Top of Summary */
.single-product .oben-product-badges {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin-bottom: 0.5rem !important;
  order: 0 !important;
}

.single-product .oben-product-badges > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.25rem 0.75rem !important;
  border-radius: 9999px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  background-color: #ecfdf5 !important;
  color: #059669 !important;
  border: 1px solid #d1fae5 !important;
}

.single-product .oben-product-badges a {
  display: inline-block !important;
  padding: 0.25rem 0.75rem !important;
  border-radius: 9999px !important;
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.single-product .oben-product-badges a:hover {
  background-color: #e0f2fe !important;
  color: #0284c7 !important;
}

/* Force Title & Price to Display on TOP */
.single-product .summary .product_title,
.single-product .summary h1.entry-title,
.single-product h1.product_title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 2.25rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 0.5rem 0 !important;
  order: 1 !important;
}

.single-product .summary .price,
.single-product .summary p.price,
.single-product .summary .woosb-price {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #0284c7 !important;
  margin: 0 0 1rem 0 !important;
  order: 2 !important;
}

.single-product .summary .oben-pv-pill {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 0.2rem 0.65rem !important;
  border-radius: 9999px !important;
  background-color: #e0f2fe !important;
  color: #0284c7 !important;
  border: 1px solid #bae6fd !important;
}

/* Short Description */
.single-product .woocommerce-product-details__short-description {
  font-size: 0.975rem !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 0 1.25rem 0 !important;
  border: none !important;
  padding: 0 !important;
  order: 3 !important;
}

/* WPC Product Bundles Styling - Clean 3-Column Grid */
.single-product .woosb-wrap,
.single-product .woosb-bundled {
  width: 100% !important;
  margin: 0.5rem 0 0.75rem 0 !important;
  order: 4 !important;
  border: none !important;
}

.single-product .woosb-products,
.single-product .woosb-products[class*="woosb-products-layout-grid"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  border: none !important;
  width: 100% !important;
}

@media (max-width: 640px) {
  .single-product .woosb-products,
  .single-product .woosb-products[class*="woosb-products-layout-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.single-product .woosb-products .woosb-item-product,
.single-product .woosb-products .woosb-product,
.single-product .woosb-products[class*="woosb-products-layout-grid"] .woosb-product,
.single-product .woosb-products.woosb-products-layout-grid-3 .woosb-product {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0.875rem !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-align: center !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.03) !important;
  box-sizing: border-box !important;
}

.single-product .woosb-products .woosb-product.woosb-product-hidden {
  display: none !important;
}

.single-product .woosb-products .woosb-product:hover,
.single-product .woosb-products[class*="woosb-products-layout-grid"] .woosb-product:hover {
  border-color: #0284c7 !important;
  box-shadow: 0 8px 20px rgba(2, 132, 199, 0.1) !important;
  transform: translateY(-2px) !important;
}

.single-product .woosb-products[class*="woosb-products-layout-grid"] .woosb-product > div.woosb-thumb,
.single-product .woosb-products .woosb-product .woosb-thumb {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  margin: 0 0 0.75rem 0 !important;
  padding: 0 !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  background-color: #d8f3ff !important;
  display: block !important;
  border: none !important;
  box-sizing: border-box !important;
}

.single-product .woosb-products .woosb-product .woosb-thumb-ori,
.single-product .woosb-products .woosb-product .woosb-thumb-new,
.single-product .woosb-products .woosb-product .woosb-thumb a {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 0.75rem !important;
}

.single-product .woosb-products .woosb-product .woosb-thumb-new:empty {
  display: none !important;
}

.single-product .woosb-products .woosb-product .woosb-thumb img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  background-color: transparent !important;
  border-radius: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  transform: none !important;
}

.single-product .woosb-products[class*="woosb-products-layout-grid"] .woosb-product > div.woosb-title,
.single-product .woosb-products .woosb-product .woosb-title {
  width: 100% !important;
  margin: 0 0 0.65rem 0 !important;
  padding: 0 !important;
  text-align: center !important;
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.single-product .woosb-products .woosb-product .woosb-title .woosb-name {
  font-size: 0.85rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.single-product .woosb-products[class*="woosb-products-layout-grid"] .woosb-product > div.woosb-quantity,
.single-product .woosb-products .woosb-product .woosb-quantity,
.single-product .woosb-products .woosb-product .woosb-quantity.woosb-quantity-plus-minus {
  width: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woosb-products .woosb-product .woosb-quantity-input {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  height: 36px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 0.5rem !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.single-product .woosb-products .woosb-product .woosb-quantity-input-minus,
.single-product .woosb-products .woosb-product .woosb-quantity-input-plus {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  line-height: 34px !important;
  background-color: #f8fafc !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #475569 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
}

.single-product .woosb-products .woosb-product .woosb-quantity-input-minus:hover,
.single-product .woosb-products .woosb-product .woosb-quantity-input-plus:hover {
  background-color: #e0f2fe !important;
  color: #0284c7 !important;
}

.single-product .woosb-products .woosb-product .woosb-quantity-input .quantity {
  flex: 1 1 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.single-product .woosb-products .woosb-product .woosb-quantity-input input.woosb-qty,
.single-product .woosb-products .woosb-product .woosb-quantity-input input.qty {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  line-height: 34px !important;
  border: none !important;
  border-left: 1px solid #f1f5f9 !important;
  border-right: 1px solid #f1f5f9 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.single-product .woosb-alert {
  background-color: #f0f9ff !important;
  border: 1px solid #bae6fd !important;
  color: #0369a1 !important;
  border-radius: 0.75rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  margin: 0.5rem 0 !important;
}

/* Hide screen reader label inside quantity wrappers */
.quantity .screen-reader-text {
  display: none !important;
}

/* Add to cart / Book ticket form - Single Row Side-by-Side */
.single-product form.cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0.875rem !important;
  margin: 0.75rem 0 1.25rem 0 !important;
  padding: 0 !important;
  border: none !important;
  width: 100% !important;
  order: 5 !important;
}

/* Quantity input styling */
.single-product form.cart .quantity {
  flex: 0 0 auto !important;
  margin: 0 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.single-product form.cart .quantity input.qty {
  width: 4.5rem !important;
  height: 50px !important;
  padding: 0.5rem !important;
  margin: 0 !important;
  text-align: center !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.single-product form.cart .quantity input.qty:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

/* Add to cart button - Side-by-side next to quantity */
.single-product form.cart button.single_add_to_cart_button,
.single-product form.cart button.button.alt {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 180px !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 2rem !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: #ffffff !important;
  background-color: #0284c7 !important;
  border: none !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25) !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.single-product form.cart button.single_add_to_cart_button:hover:not(.disabled),
.single-product form.cart button.button.alt:hover:not(.disabled) {
  background-color: #0369a1 !important;
  box-shadow: 0 6px 16px rgba(2, 132, 199, 0.35) !important;
  transform: translateY(-1px) !important;
}

.single-product form.cart button.single_add_to_cart_button.disabled,
.single-product form.cart button.single_add_to_cart_button.wc-variation-selection-needed {
  background-color: #7dd3fc !important;
  color: #ffffff !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 0.9 !important;
}

/* Product Meta (Categories, Tags, SKU) */
.single-product .product_meta {
  margin-top: 1.25rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid #f1f5f9 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  font-size: 0.825rem !important;
  color: #94a3b8 !important;
  order: 6 !important;
}

.single-product .product_meta a {
  color: #64748b !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.single-product .product_meta a:hover {
  color: #0284c7 !important;
}

/* Tabs styling - borderless clean design */
.single-product .woocommerce-tabs {
  margin-top: 3.5rem !important;
  border: none !important;
  box-shadow: none !important;
}

.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 1.75rem !important;
  border-bottom: 2px solid #f1f5f9 !important;
  padding: 0 0 0.5rem 0 !important;
  margin: 0 0 2rem 0 !important;
  background: transparent !important;
  list-style: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  padding: 0.5rem 0.25rem 0.75rem 0.25rem !important;
  position: relative !important;
  border: none !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #0284c7 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a::after {
  content: "" !important;
  position: absolute !important;
  bottom: -0.65rem !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background-color: #0284c7 !important;
  border-radius: 9999px !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
}

/* ==========================================================================
   34. Professional WooCommerce Cart Page (/cart/) & Bundled Item Variations
   ========================================================================== */

/* Cart Page Main Container */
body.woocommerce-cart .site-main,
body.woocommerce-cart .oben-woocommerce-wrap,
.woocommerce-cart-form {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.woocommerce-cart-form > .row {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cart Items Card Wrapper */
.woocommerce-cart-form .tb-cart-form {
  width: 100% !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04) !important;
  overflow: hidden !important;
}

.woocommerce-cart-form .shop_table.cart {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Cart Table Header & Row Grid */
.woocommerce-cart-form .shop_table .cart_item.head {
  display: grid !important;
  grid-template-columns: minmax(260px, 2.6fr) minmax(90px, 0.8fr) minmax(110px, 0.9fr) minmax(100px, 0.8fr) 48px !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1rem 1.75rem !important;
  background-color: #f8fafc !important;
  border-bottom: 1px solid #eef2f6 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #64748b !important;
}

.woocommerce-cart-form .shop_table .cart_item:not(.head) {
  display: grid !important;
  grid-template-columns: minmax(260px, 2.6fr) minmax(90px, 0.8fr) minmax(110px, 0.9fr) minmax(100px, 0.8fr) 48px !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1.35rem 1.75rem !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background-color: #ffffff !important;
  transition: background-color 0.15s ease !important;
}

.woocommerce-cart-form .shop_table .cart_item:not(.head):hover {
  background-color: #fcfdfe !important;
}

/* Bundled child items in cart (if visible) */
.woocommerce-cart-form .shop_table .cart_item.woosb-item-child,
.woocommerce-cart-form .shop_table .cart_item.woosb-cart-child {
  background-color: #f8fafc !important;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
}

/* Product Info Column (Image + Title + Short Description + Bundled Variation List) */
.woocommerce-cart-form .cart_item:not(.head) .product-info {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-info > a:first-child {
  flex: 0 0 84px !important;
  width: 84px !important;
  height: 84px !important;
  border-radius: 0.75rem !important;
  background-color: #f8fafc !important;
  border: 1px solid #eef2f6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0.35rem !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-info img {
  width: 100% !important;
  height: 100% !important;
  max-width: 76px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  border-radius: 0.5rem !important;
  margin: 0 !important;
  display: block !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-name {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-name a.name,
.woocommerce-cart-form .cart_item:not(.head) .product-name > a {
  font-size: 0.975rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  transition: color 0.15s ease !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-name a.name:hover,
.woocommerce-cart-form .cart_item:not(.head) .product-name > a:hover {
  color: #0284c7 !important;
}

/* Product Short Description under title */
.woocommerce-cart-form .cart_item:not(.head) .product-name .product-short-description {
  font-size: 0.8125rem !important;
  line-height: 1.4 !important;
  color: #64748b !important;
  margin: 0.2rem 0 0 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-name .product-short-description p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-name .product-short-description ul {
  margin: 0.25rem 0 0 0 !important;
  padding-left: 1.15rem !important;
  list-style: disc !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-name .product-short-description li {
  margin: 0 0 0.15rem 0 !important;
  padding: 0 !important;
  font-size: 0.8rem !important;
  color: #64748b !important;
}

/* Prevent stray br or empty p from pushing title out of vertical center */
.woocommerce-cart-form .product-name br,
.woocommerce-cart-form .product-info br,
.woocommerce-cart-form .cart_item br {
  display: none !important;
}

.woocommerce-cart-form p:empty {
  display: none !important;
}

/* WPC Product Bundles Variation List in Cart, Mini-Cart, and Checkout */
.woocommerce-cart-form dl.variation,
.oben-mini-cart-items dl.variation,
.woocommerce-checkout-review-order-table dl.variation,
dl.variation {
  margin: 0.35rem 0 0 0 !important;
  padding: 0 !important;
  font-size: 0.8rem !important;
  color: #64748b !important;
}

.woocommerce-cart-form dl.variation dt,
.oben-mini-cart-items dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dt,
dl.variation dt {
  font-weight: 700 !important;
  color: #475569 !important;
  margin: 0 0 0.25rem 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}

.woocommerce-cart-form dl.variation dd,
.oben-mini-cart-items dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dd,
dl.variation dd {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.woocommerce-cart-form dl.variation dd ul,
.oben-mini-cart-items dl.variation dd ul,
.woocommerce-checkout-review-order-table dl.variation dd ul,
dl.variation dd ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem !important;
}

.woocommerce-cart-form dl.variation dd ul li,
.oben-mini-cart-items dl.variation dd ul li,
.woocommerce-checkout-review-order-table dl.variation dd ul li,
dl.variation dd ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0.15rem 0.55rem !important;
  background-color: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9999px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.4 !important;
}

.woocommerce-cart-form dl.variation dd ul li::before,
.oben-mini-cart-items dl.variation dd ul li::before,
dl.variation dd ul li::before {
  display: none !important;
  content: none !important;
}

/* Cart Price, Quantity, Subtotal Columns */
.woocommerce-cart-form .cart_item:not(.head) .product-price,
.woocommerce-cart-form .cart_item:not(.head) .product-quantity,
.woocommerce-cart-form .cart_item:not(.head) .product-subtotal,
.woocommerce-cart-form .cart_item:not(.head) .product-remove {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-price {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-quantity input.qty {
  width: 4.25rem !important;
  height: 40px !important;
  padding: 0.35rem 0.5rem !important;
  text-align: center !important;
  font-size: 0.925rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 0.625rem !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-quantity input.qty:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12) !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-subtotal {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #0284c7 !important;
}

/* Remove Item Button */
.woocommerce-cart-form .cart_item:not(.head) .product-remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-remove a.remove {
  width: 36px !important;
  height: 36px !important;
  border-radius: 0.5rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #94a3b8 !important;
  background-color: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  font-size: 1rem !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-remove a.remove:hover {
  color: #ef4444 !important;
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
}

.woocommerce-cart-form .cart_item:not(.head) .product-remove a.remove i.tb-icon-trash::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background-color: currentColor !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3Cline x1='10' y1='11' x2='10' y2='17'%3E%3C/line%3E%3Cline x1='14' y1='11' x2='14' y2='17'%3E%3C/line%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3Cline x1='10' y1='11' x2='10' y2='17'%3E%3C/line%3E%3Cline x1='14' y1='11' x2='14' y2='17'%3E%3C/line%3E%3C/svg%3E") !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
}

/* Cart Bottom Actions Bar (Continue Shopping + Update Cart) */
.woocommerce-cart-form .cart-bottom.actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  padding: 1.25rem 1.75rem !important;
  background-color: #f8fafc !important;
}

.woocommerce-cart-form .cart-bottom.actions .continue-to-shop a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.65rem 1.25rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #475569 !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0.75rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart-form .cart-bottom.actions .continue-to-shop a:hover {
  color: #0284c7 !important;
  border-color: #0284c7 !important;
  background-color: #f0f9ff !important;
}

.woocommerce-cart-form .cart-bottom.actions .continue-to-shop i.tb-icon-chevron-left::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  background-color: currentColor !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
}

.woocommerce-cart-form .cart-bottom.actions .update-cart input.update {
  padding: 0.65rem 1.4rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart-form .cart-bottom.actions .update-cart input.update:hover:not(:disabled) {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
}

.woocommerce-cart-form .cart-bottom.actions .update-cart input.update:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* Cart Bottom Section: Coupon + Cart Totals + Proceed to Checkout */
.woocommerce-cart-form .tb-cart-total {
  width: 100% !important;
  padding: 0 !important;
}

.woocommerce-cart-form .tb-cart-total > .row {
  display: grid !important;
  grid-template-columns: 1fr 1.15fr !important;
  grid-template-areas:
    "coupon totals"
    "coupon checkout" !important;
  gap: 1.25rem 2.5rem !important;
  align-items: start !important;
  margin: 0 !important;
}

.woocommerce-cart-form .tb-cart-total > .row > div:nth-child(1) {
  grid-area: coupon !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 1.75rem !important;
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
}

.woocommerce-cart-form .tb-cart-total > .row > div:nth-child(2) {
  grid-area: totals !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 1.75rem !important;
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
}

.woocommerce-cart-form .tb-cart-total > .row > div:nth-child(3) {
  grid-area: checkout !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Coupon Box */
.woocommerce-cart-form .coupon label {
  display: block !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 0.75rem !important;
}

.woocommerce-cart-form .coupon .box {
  display: flex !important;
  gap: 0.65rem !important;
  align-items: center !important;
  width: 100% !important;
}

.woocommerce-cart-form .coupon input.text,
.woocommerce-cart-form .coupon input#coupon_code,
.woocommerce-cart-form .coupon input[name="coupon_code"],
.woocommerce-cart-form .coupon input.input-text {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  padding: 0 1rem !important;
  font-size: 0.9rem !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 0.75rem !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart-form .coupon input.text::placeholder,
.woocommerce-cart-form .coupon input#coupon_code::placeholder,
.woocommerce-cart-form .coupon input.input-text::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

.woocommerce-cart-form .coupon input.text:focus,
.woocommerce-cart-form .coupon input#coupon_code:focus,
.woocommerce-cart-form .coupon input[name="coupon_code"]:focus,
.woocommerce-cart-form .coupon input.input-text:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.14) !important;
}

.woocommerce-cart-form .coupon input.btn,
.woocommerce-cart-form .coupon button.button {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 1.35rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background-color: #0f172a !important;
  border: none !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  text-align: center !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart-form .coupon input.btn:hover,
.woocommerce-cart-form .coupon button.button:hover {
  background-color: #0284c7 !important;
}

/* Cart Totals Table */
.woocommerce-cart-form .cart-collaterals .cart_totals {
  width: 100% !important;
  float: none !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals h2 {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 1.15rem 0 !important;
  padding: 0 0 0.85rem 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  border: none !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table tr {
  border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table tr:last-child {
  border-bottom: none !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table td {
  padding: 0.85rem 0 !important;
  font-size: 0.925rem !important;
  border: none !important;
  vertical-align: middle !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table th {
  font-weight: 600 !important;
  color: #64748b !important;
  text-align: left !important;
  width: 45% !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table td {
  font-weight: 700 !important;
  color: #0f172a !important;
  text-align: right !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table tr.order-total th {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  padding-top: 1.1rem !important;
}

.woocommerce-cart-form .cart-collaterals .cart_totals table.shop_table tr.order-total td {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #0284c7 !important;
  padding-top: 1.1rem !important;
}

/* Proceed to Checkout Button */
.woocommerce-cart-form .wc-proceed-to-checkout {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart-form .wc-proceed-to-checkout p,
.woocommerce-cart-form .coupon .box p {
  margin: 0 !important;
  padding: 0 !important;
  display: contents !important;
}

.woocommerce-cart-form .wc-proceed-to-checkout br,
.woocommerce-cart-form .wc-proceed-to-checkout a.checkout-button br,
.woocommerce-cart-form .coupon .box br,
.woocommerce-cart-form .cart-bottom.actions br {
  display: none !important;
}

.woocommerce-cart-form .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  height: 54px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 2rem !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  border: none !important;
  border-radius: 0.875rem !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.28) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.woocommerce-cart-form .wc-proceed-to-checkout a.checkout-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(2, 132, 199, 0.36) !important;
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
}

/* Empty Cart State */
.cart-empty.woocommerce-info {
  text-align: center !important;
  padding: 2.5rem 1.5rem !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1rem !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin-bottom: 1.5rem !important;
}

.return-to-shop {
  text-align: center !important;
  margin-bottom: 3rem !important;
}

.return-to-shop a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.85rem 2rem !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background-color: #0284c7 !important;
  border-radius: 0.75rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

/* Responsive Cart Layout on Tablet/Mobile */
@media (max-width: 991px) {
  .woocommerce-cart-form .tb-cart-total > .row {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "coupon"
      "totals"
      "checkout" !important;
    gap: 1.25rem !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-cart-form .shop_table .cart_item.head {
    display: none !important;
  }

  .woocommerce-cart-form .shop_table .cart_item:not(.head) {
    grid-template-columns: 1fr auto !important;
    gap: 0.75rem !important;
    padding: 1.25rem !important;
    position: relative !important;
  }

  .woocommerce-cart-form .cart_item:not(.head) .product-info {
    grid-column: 1 / -1 !important;
    padding-right: 2.25rem !important;
  }

  .woocommerce-cart-form .cart_item:not(.head) .product-remove {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
  }
}

/* ==========================================================================
   35. Modern Login & Authentication UI (/my-account/ & /account/login/)
   ========================================================================== */

/* Centered Wrapper for Logged-Out WooCommerce My Account & BMW Member Login */
.oben-wc-auth-wrapper.login-only,
.oben-bmw-login-wrap {
  width: 100% !important;
  max-width: 480px !important;
  margin: 2.5rem auto 4rem auto !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
}

.oben-wc-auth-wrapper.has-registration {
  width: 100% !important;
  max-width: 1024px !important;
  margin: 2.5rem auto 4rem auto !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
}

.oben-wc-auth-wrapper #customer_login {
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  .oben-wc-auth-wrapper #customer_login {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }
}

.oben-wc-auth-wrapper #customer_login .u-column1,
.oben-wc-auth-wrapper #customer_login .u-column2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Elevated Auth Card */
.oben-auth-card,
.oben-bmw-login-wrap .oben-login-card,
.oben-bmw-login-wrap .card,
.woocommerce-account .woocommerce-ResetPassword.lost_reset_password {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1.5rem !important;
  padding: 2.5rem 2.25rem !important;
  box-shadow: 0 14px 34px -10px rgba(15, 23, 42, 0.08), 0 4px 12px -4px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.oben-bmw-login-wrap .oben-login-card .card {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.oben-bmw-login-wrap .card-header {
  background: transparent !important;
  border: none !important;
  padding: 0 0 1.5rem 0 !important;
  margin: 0 0 1.5rem 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.oben-bmw-login-wrap .card-body {
  padding: 0 !important;
}

.oben-auth-header {
  text-align: center !important;
  padding: 0 0 1.5rem 0 !important;
  margin: 0 0 1.5rem 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.oben-auth-header h2,
.oben-bmw-login-wrap .card-header h3 {
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 0.4rem 0 !important;
  line-height: 1.25 !important;
}

.oben-auth-subtitle,
.oben-bmw-login-wrap .oben-login-subtitle {
  font-size: 0.9rem !important;
  color: #64748b !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* Remove duplicate inner card borders on form inside .oben-auth-card */
.oben-auth-card form.woocommerce-form-login,
.oben-auth-card form.woocommerce-form-register {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Form Rows & Labels */
.oben-auth-card .woocommerce-form-row,
.oben-bmw-login-wrap .oben-form-group {
  margin: 0 0 1.25rem 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.oben-auth-card label:not(.woocommerce-form-login__rememberme),
.oben-bmw-login-wrap .oben-form-label {
  display: block !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #334155 !important;
  margin: 0 0 0.45rem 0 !important;
  line-height: 1.4 !important;
}

.oben-auth-card label .required,
.oben-bmw-login-wrap .oben-form-label .required {
  color: #ef4444 !important;
  text-decoration: none !important;
}

/* Inputs inside Auth Cards */
.oben-auth-card input.input-text,
.oben-auth-card input[type="text"],
.oben-auth-card input[type="email"],
.oben-auth-card input[type="password"],
.oben-bmw-login-wrap input.form-control,
.woocommerce-ResetPassword input.input-text {
  width: 100% !important;
  height: 48px !important;
  padding: 0 1rem !important;
  font-size: 0.925rem !important;
  font-weight: 500 !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 0.75rem !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.oben-auth-card input.input-text::placeholder,
.oben-bmw-login-wrap input.form-control::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

.oben-auth-card input.input-text:focus,
.oben-auth-card input[type="text"]:focus,
.oben-auth-card input[type="email"]:focus,
.oben-auth-card input[type="password"]:focus,
.oben-bmw-login-wrap input.form-control:focus,
.woocommerce-ResetPassword input.input-text:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3.5px rgba(2, 132, 199, 0.14) !important;
}

/* WooCommerce Password Eye Toggle Positioning */
.woocommerce-form-login .password-input,
.woocommerce-form-register .password-input,
.oben-auth-card .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

.woocommerce-form-login .password-input input[type="password"],
.woocommerce-form-login .password-input input[type="text"],
.oben-auth-card .password-input input {
  padding-right: 2.75rem !important;
}

.woocommerce-form-login .show-password-input,
.oben-auth-card .show-password-input {
  position: absolute !important;
  right: 0.9rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  color: #64748b !important;
  z-index: 2 !important;
}

/* Remember Me & Lost Password Meta Row */
.oben-auth-meta-row,
.oben-bmw-login-wrap .oben-login-meta,
form.woocommerce-form-login .login-form-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin: 0.25rem 0 1.5rem 0 !important;
  width: 100% !important;
}

.oben-auth-meta-row .woocommerce-form-login__rememberme,
form.woocommerce-form-login .woocommerce-form-login__rememberme,
.oben-bmw-login-wrap .oben-remember-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin: 0 !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #475569 !important;
  cursor: pointer !important;
}

.oben-auth-meta-row input[type="checkbox"],
form.woocommerce-form-login input.woocommerce-form__input-checkbox,
.oben-bmw-login-wrap .oben-remember-label input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #0284c7 !important;
  border-radius: 0.3rem !important;
  cursor: pointer !important;
  flex: 0 0 18px !important;
}

.oben-auth-meta-row .lost_password,
form.woocommerce-form-login .lost_password {
  margin: 0 !important;
  padding: 0 !important;
}

.oben-auth-meta-row .lost_password a,
form.woocommerce-form-login .lost_password a,
.oben-bmw-login-wrap .oben-lost-password-link {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0284c7 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.oben-auth-meta-row .lost_password a:hover,
form.woocommerce-form-login .lost_password a:hover,
.oben-bmw-login-wrap .oben-lost-password-link:hover {
  color: #0369a1 !important;
  text-decoration: underline !important;
}

/* Login & Register Primary Submit Buttons */
.oben-auth-submit-row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.oben-auth-card button.woocommerce-form-login__submit,
.oben-auth-card button.woocommerce-form-register__submit,
form.woocommerce-form-login button.woocommerce-form-login__submit,
.oben-bmw-login-wrap button.oben-login-submit-btn,
.oben-bmw-login-wrap #bmw_login_form button[type="submit"],
.woocommerce-ResetPassword button.woocommerce-Button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  height: 50px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 1.75rem !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  border: none !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(2, 132, 199, 0.25) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.oben-auth-card button.woocommerce-form-login__submit:hover,
.oben-auth-card button.woocommerce-form-register__submit:hover,
form.woocommerce-form-login button.woocommerce-form-login__submit:hover,
.oben-bmw-login-wrap button.oben-login-submit-btn:hover,
.oben-bmw-login-wrap #bmw_login_form button[type="submit"]:hover,
.woocommerce-ResetPassword button.woocommerce-Button:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(2, 132, 199, 0.34) !important;
}

/* Lost Password Page Card Centering */
.woocommerce-account .woocommerce-ResetPassword.lost_reset_password {
  max-width: 480px !important;
  margin: 2.5rem auto 4rem auto !important;
}



/* =============================================================
 * 36. Mobile Drawer Navigation, Mobile Header & Mobile Display Polish
 * =========================================================== */

/* 36.0 Mobile Drawer Header Brand Logo & Action Close Button */
#oben-mobile-drawer .site-branding,
#oben-mobile-drawer .oben-drawer-branding {
  display: flex !important;
  align-items: center !important;
  height: 40px !important;
  max-height: 40px !important;
  max-width: 155px !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#oben-mobile-drawer .site-branding a,
#oben-mobile-drawer .oben-drawer-branding a,
#oben-mobile-drawer .site-branding .custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  width: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#oben-mobile-drawer .site-branding img,
#oben-mobile-drawer .site-branding svg,
#oben-mobile-drawer .site-branding .custom-logo,
#oben-mobile-drawer .oben-drawer-branding img {
  display: block !important;
  height: 34px !important;
  max-height: 36px !important;
  min-height: 28px !important;
  width: auto !important;
  max-width: 145px !important;
  object-fit: contain !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#oben-mobile-drawer #oben-mobile-drawer-close,
button#oben-mobile-drawer-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 9999px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #64748b !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  margin: 0 !important;
}

#oben-mobile-drawer #oben-mobile-drawer-close:hover,
button#oben-mobile-drawer-close:hover {
  background-color: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
  transform: scale(1.05) !important;
}

#oben-mobile-drawer #oben-mobile-drawer-close svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2px !important;
}

/* 36.1 Mobile Drawer Search Form */
#oben-mobile-drawer .search-form,
#oben-mobile-drawer .oben-search-form {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
}

#oben-mobile-drawer .search-form .oben-search-input-wrap,
#oben-mobile-drawer .search-form > div {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

#oben-mobile-drawer .search-form input[type="search"],
#oben-mobile-drawer .search-form input.oben-search-input,
#oben-mobile-drawer .search-form input.search-field {
  width: 100% !important;
  height: 44px !important;
  padding: 0 5.25rem 0 2.5rem !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  font-size: 0.875rem !important;
  color: #0f172a !important;
  outline: none !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

#oben-mobile-drawer .search-form input[type="search"]:focus,
#oben-mobile-drawer .search-form input.oben-search-input:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

#oben-mobile-drawer .search-form .oben-search-icon,
#oben-mobile-drawer .search-form div.absolute.left-3\.5 {
  position: absolute !important;
  left: 0.85rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #94a3b8 !important;
  pointer-events: none !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
}

#oben-mobile-drawer .search-form button[type="submit"],
#oben-mobile-drawer .search-form button.oben-search-submit {
  position: absolute !important;
  right: 0.35rem !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 34px !important;
  padding: 0 0.85rem !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background-color: #0284c7 !important;
  border: none !important;
  border-radius: 0.5rem !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.2s ease !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  margin: 0 !important;
}

#oben-mobile-drawer .search-form button[type="submit"]:hover,
#oben-mobile-drawer .search-form button.oben-search-submit:hover {
  background-color: #0369a1 !important;
  transform: translateY(-50%) scale(1.02) !important;
}

/* 36.2 Mobile Drawer Navigation Menu Reset & Modern Style */
#oben-mobile-drawer .mobile-navigation-menu ul,
#oben-mobile-drawer .mobile-navigation-menu ol,
#oben-mobile-drawer nav.mobile-navigation-menu ul {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#oben-mobile-drawer .mobile-navigation-menu li,
#oben-mobile-drawer nav.mobile-navigation-menu li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#oben-mobile-drawer .mobile-navigation-menu li::marker,
#oben-mobile-drawer .mobile-navigation-menu ul::marker {
  display: none !important;
  content: "" !important;
}

#oben-mobile-drawer .mobile-navigation-menu > ul > li {
  border-bottom: 1px solid #f1f5f9 !important;
}

#oben-mobile-drawer .mobile-navigation-menu > ul > li > a {
  display: block !important;
  padding: 0.85rem 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

#oben-mobile-drawer .mobile-navigation-menu > ul > li > a:hover {
  color: #0284c7 !important;
  padding-left: 2px !important;
}

/* Menu items with submenus (accordion toggle) */
#oben-mobile-drawer .mobile-navigation-menu li.menu-item-has-children {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#oben-mobile-drawer .mobile-navigation-menu li.menu-item-has-children > a {
  flex: 1 1 auto !important;
}

#oben-mobile-drawer .mobile-navigation-menu .oben-mobile-submenu-toggle,
#oben-mobile-drawer .mobile-navigation-menu li.menu-item-has-children > button {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.5rem !important;
  color: #64748b !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin-left: 0.5rem !important;
  padding: 0 !important;
}

#oben-mobile-drawer .mobile-navigation-menu .oben-mobile-submenu-toggle:hover,
#oben-mobile-drawer .mobile-navigation-menu li.menu-item-has-children > button:hover {
  background-color: #e0f2fe !important;
  color: #0284c7 !important;
  border-color: #bae6fd !important;
}

/* Submenu dropdown container */
#oben-mobile-drawer .mobile-navigation-menu ul.sub-menu {
  display: none;
  width: 100% !important;
  background-color: #f8fafc !important;
  border-radius: 0.75rem !important;
  padding: 0.5rem 1rem !important;
  margin: 0.25rem 0 0.75rem 0 !important;
  border-left: 3px solid #0284c7 !important;
  box-sizing: border-box !important;
}

#oben-mobile-drawer .mobile-navigation-menu ul.sub-menu li {
  border-bottom: 1px dashed #e2e8f0 !important;
}

#oben-mobile-drawer .mobile-navigation-menu ul.sub-menu li:last-child {
  border-bottom: none !important;
}

#oben-mobile-drawer .mobile-navigation-menu ul.sub-menu li a {
  display: block !important;
  padding: 0.55rem 0 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #475569 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

#oben-mobile-drawer .mobile-navigation-menu ul.sub-menu li a:hover {
  color: #0284c7 !important;
  padding-left: 4px !important;
}

/* Hide duplicate GTranslate item inside mobile menu list */
#oben-mobile-drawer .mobile-navigation-menu li.menu-item-gtranslate {
  display: none !important;
}

/* 36.3 Drawer Footer Language & Currency Selects (Legible Dark Text on Light Card) */
#oben-mobile-drawer .oben-currency-select,
#oben-mobile-drawer select.oben-currency-select,
#oben-mobile-drawer .oben-gtranslate-wrapper select.gt_selector,
#oben-mobile-drawer select.gt_selector {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  padding: 0 2.5rem 0 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.85rem center !important;
  background-size: 1rem 1rem !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

#oben-mobile-drawer .oben-currency-select:hover,
#oben-mobile-drawer .oben-currency-select:focus,
#oben-mobile-drawer select.gt_selector:hover,
#oben-mobile-drawer select.gt_selector:focus {
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
  outline: none !important;
}

#oben-mobile-drawer .oben-currency-select option,
#oben-mobile-drawer select.gt_selector option {
  background-color: #ffffff !important;
  color: #0f172a !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  padding: 0.5rem !important;
}

/* 36.3b Mobile Topbar Responsive Polish (Display Announcement & Switchers in Single Clean Row) */
@media (max-width: 767px) {
  .oben-topbar {
    padding: 0.35rem 0 !important;
    font-size: 11px !important;
  }

  .oben-topbar .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
    gap: 0.35rem !important;
    flex-wrap: nowrap !important;
  }

  .oben-topbar-announcement,
  .oben-topbar .oben-topbar-announcement {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .oben-topbar-announcement .oben-topbar-note-text {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    color: #f1f5f9 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .oben-topbar-announcement svg {
    width: 11px !important;
    height: 11px !important;
    min-width: 11px !important;
    flex-shrink: 0 !important;
  }

  .oben-topbar-switchers {
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    flex-shrink: 0 !important;
  }

  .oben-topbar select.gt_selector,
  .oben-topbar select.oben-currency-select {
    height: 24px !important;
    line-height: 22px !important;
    font-size: 10.5px !important;
    padding: 0 1.25rem 0 0.45rem !important;
    background-size: 0.65rem !important;
    background-position: right 0.35rem center !important;
  }

  .oben-topbar .oben-topbar-divider {
    margin: 0 0.15rem !important;
    font-size: 10px !important;
  }
}

@media (max-width: 380px) {
  .oben-topbar {
    font-size: 10px !important;
  }

  .oben-topbar-announcement .oben-topbar-note-text {
    font-size: 10px !important;
  }

  .oben-topbar select.gt_selector,
  .oben-topbar select.oben-currency-select {
    font-size: 10px !important;
    padding: 0 1.1rem 0 0.35rem !important;
  }
}

/* 36.4 Mobile Header Actions Suite Responsive Polish */
@media (max-width: 640px) {
  .site-header .container,
  .oben-header-main-row .container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    gap: 0.5rem !important;
  }

  .site-branding {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    min-width: 95px !important;
    max-width: 125px !important;
    height: 38px !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .site-branding a,
  .site-branding .custom-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    height: 38px !important;
    width: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .site-branding img,
  .site-branding svg,
  .site-branding .custom-logo,
  .site-header .custom-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 32px !important;
    max-height: 32px !important;
    min-height: 26px !important;
    width: auto !important;
    max-width: 120px !important;
    min-width: 80px !important;
    object-fit: contain !important;
  }

  .header-actions {
    gap: 0.25rem !important;
    flex-shrink: 0 !important;
  }

  .header-actions .oben-action-icon-btn,
  .header-actions > button,
  .header-actions > a {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
  }

  .header-actions .oben-action-icon-btn svg,
  .header-actions > button svg,
  .header-actions > a svg {
    width: 17px !important;
    height: 17px !important;
  }

  .header-actions .oben-cart-badge {
    width: 16px !important;
    height: 16px !important;
    font-size: 9px !important;
    top: -3px !important;
    right: -3px !important;
  }

  #oben-mobile-menu-trigger,
  .header-actions #oben-mobile-menu-trigger,
  button#oben-mobile-menu-trigger {
    display: inline-flex !important;
    flex-shrink: 0 !important;
  }
}

/* 36.5 Single Product Mobile Presentation Polish */
@media (max-width: 767px) {
  .single-product .summary .product_title,
  .single-product h1.product_title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 1.65rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0.35rem 0 0.5rem 0 !important;
    order: 1 !important;
  }

  .single-product .summary .woocommerce-product-rating {
    order: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 0 0.5rem 0 !important;
    font-size: 0.85rem !important;
  }

  .single-product .summary .price,
  .single-product .summary p.price,
  .single-product .summary .woosb-price {
    order: 2 !important;
    font-size: 1.5rem !important;
    margin: 0 0 0.75rem 0 !important;
  }

  .single-product .woosb-products,
  .single-product .woosb-products[class*="woosb-products-layout-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.65rem !important;
  }

  .single-product .woosb-products .woosb-product,
  .single-product .woosb-products[class*="woosb-products-layout-grid"] .woosb-product {
    padding: 0.65rem !important;
    border-radius: 0.75rem !important;
  }

  .single-product .woosb-products .woosb-product .woosb-title .woosb-name {
    font-size: 0.775rem !important;
    line-height: 1.25 !important;
  }

  .single-product .woosb-products .woosb-product .woosb-quantity-input {
    height: 32px !important;
  }

  .single-product .woosb-products .woosb-product .woosb-quantity-input-minus,
  .single-product .woosb-products .woosb-product .woosb-quantity-input-plus {
    width: 28px !important;
    height: 30px !important;
    flex: 0 0 28px !important;
    line-height: 30px !important;
    font-size: 0.875rem !important;
  }
}

@media (max-width: 420px) {
  .single-product .woosb-products,
  .single-product .woosb-products[class*="woosb-products-layout-grid"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
  }
}

/* 36.6 Star Rating Modernization */
.woocommerce .star-rating,
.star-rating {
  display: inline-flex !important;
  align-items: center !important;
  color: #f59e0b !important;
  font-size: 0.875rem !important;
}

.woocommerce-product-rating {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}

.woocommerce-product-rating .woocommerce-review-link {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-decoration: none !important;
}

.woocommerce-product-rating .woocommerce-review-link:hover {
  color: #0284c7 !important;
}

/* =============================================================
 * 42. Site Footer Modernization (Logo, Socials, & Elementor Footer)
 * =========================================================== */
.site-footer .footer-branding {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 1.25rem !important;
}

.site-footer .footer-branding img,
.site-footer .footer-branding .custom-logo,
.site-footer .footer-branding .footer-logo {
  max-height: 44px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
  transition: opacity 0.2s ease !important;
}

.site-footer .footer-branding a:hover img,
.site-footer .footer-branding a:hover .custom-logo {
  opacity: 0.85 !important;
}

/* Brand Column Text Spacing & Readability */
.site-footer .brand-col p,
.site-footer p.footer-bio {
  color: #cbd5e1 !important;
  font-size: 0.875rem !important;
  line-height: 1.65 !important;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  max-width: 320px !important;
}

/* Follow Us Label */
.site-footer .footer-follow-label {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #94a3b8 !important;
  margin-bottom: 0.75rem !important;
  display: block !important;
}

/* Footer Social Icons Suite */
.footer-social-wrapper {
  margin-top: 0 !important;
}

.footer-social-links {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-social-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.footer-social-btn:hover {
  background-color: #0284c7 !important;
  border-color: #0284c7 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.45) !important;
}

.footer-social-btn svg {
  width: 17px !important;
  height: 17px !important;
  display: block !important;
  fill: currentColor !important;
}

/* Elementor Footer integration wrapper */
.site-footer.oben-elementor-footer {
  width: 100% !important;
  position: relative !important;
  clear: both !important;
  background-color: transparent !important;
  border-top: none !important;
  padding: 0 !important;
}

/* Footer Menu Lists Alignment, Spacing & Dot Removal */
.site-footer ul,
.site-footer .footer-col ul,
.site-footer .footer-links-list,
.site-footer .widget_nav_menu ul,
.site-footer .widget ul {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  text-align: left !important;
}

.site-footer ul li,
.site-footer .footer-col ul li,
.site-footer .footer-links-list li,
.site-footer .widget_nav_menu ul li,
.site-footer .widget ul li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 0 0.65rem 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  text-align: left !important;
  display: block !important;
}

.site-footer ul li:last-child,
.site-footer .footer-links-list li:last-child {
  margin-bottom: 0 !important;
}

.site-footer ul li::before,
.site-footer ul li::after,
.site-footer ul li::marker,
.site-footer .footer-col ul li::before,
.site-footer .footer-col ul li::after,
.site-footer .footer-col ul li::marker {
  display: none !important;
  content: none !important;
}

.site-footer .footer-links-list a,
.site-footer .footer-col ul li a,
.site-footer .widget ul li a {
  display: inline-block !important;
  color: #cbd5e1 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  padding: 0.15rem 0 !important;
  line-height: 1.5 !important;
}

.site-footer .footer-links-list a:hover,
.site-footer .footer-col ul li a:hover,
.site-footer .widget ul li a:hover {
  color: #38bdf8 !important;
  padding-left: 3px !important;
}

/* Footer Mobile Spacing Optimization */
@media (max-width: 767px) {
  .site-footer,
  #colophon {
    padding-top: 2.25rem !important;
    padding-bottom: 0 !important;
  }

  .site-footer .container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .site-footer .footer-col {
    margin-bottom: 0 !important;
    text-align: left !important;
  }

  .site-footer .brand-col {
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  }

  .site-footer .footer-col-title,
  .site-footer .footer-widget h4 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.75rem !important;
    font-size: 0.875rem !important;
  }

  .site-footer .footer-links-list li a,
  .site-footer .footer-col ul li a {
    padding: 0.35rem 0 !important;
    font-size: 0.875rem !important;
    display: inline-block !important;
  }

  .oben-bottom-bar {
    padding-top: 1.15rem !important;
    padding-bottom: 1.25rem !important;
    text-align: center !important;
  }

  .oben-bottom-bar .container {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }

  .oben-bottom-bar p {
    line-height: 1.5 !important;
    text-align: center !important;
  }

  .oben-bottom-bar .footer-disclaimer-box p {
    text-align: center !important;
    font-size: 0.75rem !important;
    line-height: 1.55 !important;
  }
}

/* Health & Food Supplement Disclaimer Notice */
.oben-bottom-bar .footer-disclaimer-box {
  width: 100% !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-bottom: 0.85rem !important;
  margin-bottom: 0.25rem !important;
}

.oben-bottom-bar .footer-disclaimer-box p {
  color: #94a3b8 !important;
  font-size: 0.775rem !important;
  line-height: 1.65 !important;
  text-align: left !important;
  margin: 0 !important;
}


/* ==========================================================================
   48. Universal Search Form, Modern 404 Page & Checkout Login Card
   ========================================================================== */

/* --- 48.1 Universal Search Form (Fix Overlapping Search Button) --- */
.search-form.oben-search-form,
.oben-search-form {
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.oben-search-form .oben-search-input-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.oben-search-form .oben-search-input,
.oben-search-form input.search-field {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 110px 0 46px !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 9999px !important;
  font-size: 0.95rem !important;
  color: #0f172a !important;
  outline: none !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.oben-search-form .oben-search-input:focus,
.oben-search-form input.search-field:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3.5px rgba(2, 132, 199, 0.14) !important;
}

.oben-search-form .oben-search-icon {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #94a3b8 !important;
  pointer-events: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  z-index: 2 !important;
}

.oben-search-form .oben-search-icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
}

.oben-search-form .oben-search-submit,
.oben-search-form button.search-submit {
  position: absolute !important;
  right: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 1.25rem !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(2, 132, 199, 0.25) !important;
}

.oben-search-form .oben-search-submit:hover,
.oben-search-form button.search-submit:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  transform: translateY(-50%) scale(1.02) !important;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.35) !important;
}


/* --- 48.2 Modern 404 Page Design & UI --- */
.oben-404-main {
  width: 100% !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
}

.oben-404-section {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 65vh !important;
  padding: 4.5rem 1.5rem 5.5rem !important;
  box-sizing: border-box !important;
}

.oben-404-container {
  max-width: 620px !important;
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.oben-404-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.4rem 1.1rem !important;
  border-radius: 9999px !important;
  background-color: #e0f2fe !important;
  border: 1px solid #bae6fd !important;
  color: #0284c7 !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.5rem !important;
}

.oben-404-badge-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 9999px !important;
  background-color: #0284c7 !important;
  display: inline-block !important;
  animation: oben-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes oben-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}

.oben-404-glamour {
  font-size: clamp(5.5rem, 15vw, 9rem) !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.05em !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 45%, #0c4a6e 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  margin: 0.35rem 0 1rem 0 !important;
  user-select: none !important;
}

.oben-404-heading {
  font-size: clamp(1.5rem, 3.5vw, 2.125rem) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
  margin: 0 0 0.875rem 0 !important;
  letter-spacing: -0.02em !important;
}

.oben-404-message {
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  max-width: 520px !important;
  margin: 0 auto 2.25rem auto !important;
}

.oben-404-search-box {
  max-width: 480px !important;
  width: 100% !important;
  margin: 0 auto 2.25rem auto !important;
}

.oben-404-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 2.5rem !important;
}

.oben-404-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  height: 48px !important;
  padding: 0 1.75rem !important;
  border-radius: 0.75rem !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.oben-404-btn-icon {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

.oben-404-btn-primary {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25) !important;
}

.oben-404-btn-primary:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.35) !important;
  color: #ffffff !important;
}

.oben-404-btn-secondary {
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
}

.oben-404-btn-secondary:hover {
  border-color: #0284c7 !important;
  color: #0284c7 !important;
  background: #f0f9ff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.15) !important;
}

.oben-404-quicklinks {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  font-size: 0.875rem !important;
  color: #94a3b8 !important;
  padding-top: 1rem !important;
  border-top: 1px solid #e2e8f0 !important;
}

.oben-404-quicklinks-title {
  font-weight: 600 !important;
  color: #64748b !important;
}

.oben-404-quicklinks-items {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

.oben-404-quicklinks-items a {
  color: #0284c7 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.oben-404-quicklinks-items a:hover {
  color: #0369a1 !important;
  text-decoration: underline !important;
}

.oben-404-bullet {
  color: #cbd5e1 !important;
}


/* --- 48.3 Checkout Login Card Form Redesign --- */
.woocommerce-checkout form.woocommerce-form-login {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1rem !important;
  padding: 1.75rem 2rem !important;
  margin: 0.75rem 0 1.5rem 0 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.woocommerce-checkout form.woocommerce-form-login .woocommerce-form-login-intro,
.woocommerce-checkout form.woocommerce-form-login > p:first-of-type {
  font-size: 0.925rem !important;
  line-height: 1.55 !important;
  color: #475569 !important;
  margin: 0 0 1.25rem 0 !important;
}

.woocommerce-checkout form.woocommerce-form-login .oben-checkout-login-fields {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  width: 100% !important;
  margin: 0 0 0.5rem 0 !important;
}

.woocommerce-checkout form.woocommerce-form-login .oben-checkout-login-fields .form-row {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  flex: 1 1 280px !important;
}

@media (min-width: 640px) {
  .woocommerce-checkout form.woocommerce-form-login .form-row.form-row-first {
    width: calc(50% - 0.5rem) !important;
    float: left !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout form.woocommerce-form-login .form-row.form-row-last {
    width: calc(50% - 0.5rem) !important;
    float: right !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 639px) {
  .woocommerce-checkout form.woocommerce-form-login .form-row.form-row-first,
  .woocommerce-checkout form.woocommerce-form-login .form-row.form-row-last {
    width: 100% !important;
    float: none !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

.woocommerce-checkout form.woocommerce-form-login label:not(.woocommerce-form-login__rememberme) {
  display: block !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin: 0 0 0.4rem 0 !important;
  line-height: 1.4 !important;
}

.woocommerce-checkout form.woocommerce-form-login label .required {
  color: #ef4444 !important;
  font-weight: 700 !important;
  margin-left: 0.2rem !important;
}

.woocommerce-checkout form.woocommerce-form-login input.input-text,
.woocommerce-checkout form.woocommerce-form-login input[type="text"],
.woocommerce-checkout form.woocommerce-form-login input[type="password"] {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0.65rem 1rem !important;
  border-radius: 0.75rem !important;
  border: 1.5px solid #cbd5e1 !important;
  background-color: #f8fafc !important;
  font-size: 0.95rem !important;
  color: #0f172a !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
}

.woocommerce-checkout form.woocommerce-form-login input.input-text:focus,
.woocommerce-checkout form.woocommerce-form-login input[type="text"]:focus,
.woocommerce-checkout form.woocommerce-form-login input[type="password"]:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12) !important;
}

/* Password Eye Toggle inside Checkout Login Form */
.woocommerce-checkout form.woocommerce-form-login .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

.woocommerce-checkout form.woocommerce-form-login .password-input input {
  padding-right: 2.75rem !important;
}

.woocommerce-checkout form.woocommerce-form-login .show-password-input {
  position: absolute !important;
  right: 0.9rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  color: #64748b !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce-checkout form.woocommerce-form-login .show-password-input:hover {
  color: #0284c7 !important;
}

/* Meta Footer: Remember Me & Lost Password */
.woocommerce-checkout form.woocommerce-form-login .login-form-footer,
.woocommerce-checkout form.woocommerce-form-login .oben-checkout-login-footer {
  clear: both !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin: 0.5rem 0 1.25rem 0 !important;
  width: 100% !important;
}

.woocommerce-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #475569 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.woocommerce-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"],
.woocommerce-checkout form.woocommerce-form-login input.woocommerce-form__input-checkbox {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  accent-color: #0284c7 !important;
  border-radius: 0.3rem !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.woocommerce-checkout form.woocommerce-form-login .lost_password {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout form.woocommerce-form-login .lost_password a {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #0284c7 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.woocommerce-checkout form.woocommerce-form-login .lost_password a:hover {
  color: #0369a1 !important;
  text-decoration: underline !important;
}

/* Submit Button Row */
.woocommerce-checkout form.woocommerce-form-login .form-row.form-row-submit,
.woocommerce-checkout form.woocommerce-form-login p.form-row:has(button.woocommerce-form-login__submit) {
  clear: both !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.woocommerce-checkout form.woocommerce-form-login button.woocommerce-form-login__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 170px !important;
  height: 48px !important;
  padding: 0 2rem !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  border: none !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25) !important;
  transition: all 0.2s ease !important;
}

.woocommerce-checkout form.woocommerce-form-login button.woocommerce-form-login__submit:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.35) !important;
}

@media (max-width: 639px) {
  .woocommerce-checkout form.woocommerce-form-login button.woocommerce-form-login__submit {
    width: 100% !important;
  }
}


/* ==========================================================================
   49. Lost & Reset Password UI Polish (/my-account/lost-password/)
   ========================================================================== */

.oben-lost-password-wrapper,
.oben-reset-password-wrapper {
  width: 100% !important;
  max-width: 480px !important;
  margin: 3rem auto 4.5rem auto !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
}

.oben-lost-password-card,
.oben-reset-password-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 1.5rem !important;
  padding: 2.5rem 2.25rem !important;
  box-shadow: 0 14px 34px -10px rgba(15, 23, 42, 0.08), 0 4px 12px -4px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.oben-auth-card form.woocommerce-ResetPassword {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  max-width: 100% !important;
}

.woocommerce-ResetPassword .form-row,
.woocommerce-ResetPassword .woocommerce-form-row,
.woocommerce-ResetPassword .form-row-first,
.woocommerce-ResetPassword .form-row-last,
.woocommerce-ResetPassword .woocommerce-form-row--first,
.woocommerce-ResetPassword .woocommerce-form-row--last,
.woocommerce-ResetPassword .woocommerce-form-row--wide {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
}

.woocommerce-ResetPassword label {
  display: block !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin: 0 0 0.45rem 0 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.woocommerce-ResetPassword label .required {
  color: #ef4444 !important;
  font-weight: 700 !important;
  margin-left: 0.2rem !important;
}

.woocommerce-ResetPassword input.input-text,
.woocommerce-ResetPassword input[type="text"],
.woocommerce-ResetPassword input[type="password"] {
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 1rem !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 0.75rem !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-ResetPassword input.input-text:focus,
.woocommerce-ResetPassword input[type="text"]:focus,
.woocommerce-ResetPassword input[type="password"]:focus {
  border-color: #0284c7 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3.5px rgba(2, 132, 199, 0.14) !important;
}

.oben-auth-icon-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background-color: #e0f2fe !important;
  color: #0284c7 !important;
  margin-bottom: 1rem !important;
}

.oben-auth-icon-badge svg {
  width: 26px !important;
  height: 26px !important;
}

.woocommerce-ResetPassword button.woocommerce-Button,
.woocommerce-ResetPassword button[type="submit"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  height: 50px !important;
  line-height: 1 !important;
  margin: 0.5rem 0 0 0 !important;
  padding: 0 1.75rem !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  border: none !important;
  border-radius: 0.75rem !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(2, 132, 199, 0.25) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.woocommerce-ResetPassword button.woocommerce-Button:hover,
.woocommerce-ResetPassword button[type="submit"]:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(2, 132, 199, 0.35) !important;
}

.oben-auth-footer-link {
  text-align: center !important;
  margin-top: 1.5rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid #f1f5f9 !important;
  width: 100% !important;
}

.oben-auth-footer-link a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0284c7 !important;
  text-decoration: none !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
}

.oben-auth-footer-link a:hover {
  color: #0369a1 !important;
  transform: translateX(-2px) !important;
}


/* ==========================================================================
   50. Product Loop Floating Wishlist Heart (Upper Right & Red Heart)
   ========================================================================== */

/* Positioning anchor on product card inner container */
.product-block .block-inner,
.product-block .product-content,
.products .product .block-inner,
.woocommerce ul.products li.product .block-inner,
.woocommerce ul.products li.product .product-content {
  position: relative !important;
}

/* Float the wishlist group buttons to the upper right of the product card */
.product-block .block-inner .group-buttons,
.products .product .block-inner .group-buttons,
.woocommerce ul.products li.product .block-inner .group-buttons,
.product-block .group-buttons,
.woocommerce ul.products li.product .group-buttons {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  pointer-events: auto !important;
}

/* Wishlist Button Circular Floating Badge */
.product-block .group-buttons .button-wishlist,
.product-block .button-wishlist,
.woocommerce ul.products li.product .button-wishlist {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease !important;
  z-index: 20 !important;
}

.product-block .group-buttons .button-wishlist:hover,
.product-block .button-wishlist:hover,
.woocommerce ul.products li.product .button-wishlist:hover {
  transform: scale(1.1) !important;
  background-color: #ffffff !important;
  border-color: #bae6fd !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25) !important;
}

/* Centered inner wrappers */
.product-block .button-wishlist a,
.product-block .button-wishlist button,
.product-block .button-wishlist .yith-add-to-wishlist-button-block,
.product-block .button-wishlist .yith-wcwl-add-to-wishlist,
.product-block .button-wishlist .yith-wcwl-add-button,
.product-block .button-wishlist .yith-wcwl-wishlistaddedbrowse,
.product-block .button-wishlist .yith-wcwl-wishlistexistsbrowse,
.woocommerce ul.products li.product .button-wishlist a,
.woocommerce ul.products li.product .button-wishlist button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Remove text "Add to wishlist", "Browse wishlist", and any label spans */
.product-block .button-wishlist span,
.product-block .button-wishlist a span,
.product-block .button-wishlist button span,
.product-block .button-wishlist .yith-wcwl-add-to-wishlist span,
.product-block .button-wishlist .yith-add-to-wishlist-button-block span,
.product-block .button-wishlist .yith-wcwl-wishlistaddedbrowse span,
.product-block .button-wishlist .yith-wcwl-wishlistexistsbrowse span,
.product-block .button-wishlist .feedback,
.woocommerce ul.products li.product .button-wishlist span,
.woocommerce ul.products li.product .button-wishlist .feedback {
  display: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
}

/* OBEN PALETTE BLUE HEART ICON */
.product-block .button-wishlist i,
.product-block .button-wishlist svg,
.product-block .button-wishlist a i,
.product-block .button-wishlist a svg,
.product-block .button-wishlist button i,
.product-block .button-wishlist button svg,
.product-block .button-wishlist .yith-wcwl-icon,
.product-block .button-wishlist .yith-wcwl-icon-svg,
.product-block .button-wishlist .yith-wcwl-add-to-wishlist-button-icon,
.woocommerce ul.products li.product .button-wishlist i,
.woocommerce ul.products li.product .button-wishlist svg {
  color: #0284c7 !important;
  fill: #0284c7 !important;
  stroke: #0284c7 !important;
  font-size: 17px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  transition: transform 0.18s ease, color 0.18s ease !important;
}

.product-block .button-wishlist svg path,
.woocommerce ul.products li.product .button-wishlist svg path {
  fill: #0284c7 !important;
  stroke: #0284c7 !important;
}

/* When product is added or already in wishlist: Solid filled deep blue heart with soft blue background */
.product-block .button-wishlist .exists,
.product-block .button-wishlist .yith-wcwl-wishlistaddedbrowse,
.product-block .button-wishlist .yith-wcwl-wishlistexistsbrowse,
.product-block .button-wishlist [class*="added"] {
  background-color: #f0f9ff !important;
  border-color: #bae6fd !important;
}

.product-block .button-wishlist .exists i,
.product-block .button-wishlist .exists svg,
.product-block .button-wishlist .yith-wcwl-wishlistaddedbrowse i,
.product-block .button-wishlist .yith-wcwl-wishlistaddedbrowse svg,
.product-block .button-wishlist .yith-wcwl-wishlistexistsbrowse i,
.product-block .button-wishlist .yith-wcwl-wishlistexistsbrowse svg,
.product-block .button-wishlist [class*="added"] i,
.product-block .button-wishlist [class*="added"] svg {
  color: #0369a1 !important;
  fill: #0369a1 !important;
  stroke: #0369a1 !important;
}

/* Ensure Add to Cart button sits neatly under image */
.product-block .block-inner .group-add-to-cart,
.woocommerce ul.products li.product .block-inner .group-add-to-cart {
  margin-top: 0.75rem !important;
  width: 100% !important;
}
