/*
Theme Name: One Ounce Modern
Theme URI: https://oneouncetrading.com
Author: Joseph Juntilla
Author URI: https://joshjuntilla.com
Description: Bullion eCommerce theme for One Ounce Trading. Built with modern WordPress 6.x standards, theme.json, live nFusion spot pricing, and full WooCommerce integration.
Version: 1.2.7
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oneounce-modern
Tags: e-commerce, luxury, gold, silver, bullion, woocommerce, responsive-layout, block-patterns, custom-menu
*/

/* ==========================================================================
   1. Design Tokens & CSS Variables
   ========================================================================== */
:root {
  --oom-charcoal: #121518;
  --oom-surface: #1c2025;
  --oom-border-dark: #2a3038;
  --oom-gold: #cba052;
  --oom-gold-hover: #b88c3e;
  --oom-gold-light: #fdf8ef;
  --oom-body-bg: #f8fafc;
  --oom-text: #1e293b;
  --oom-text-muted: #64748b;
  --oom-border-light: #e2e8f0;
  --oom-white: #ffffff;
  --oom-emerald: #10b981;
  --oom-rose: #f43f5e;
  --oom-radius: 8px;
  --oom-radius-lg: 12px;
  --oom-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --oom-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.08);
  --oom-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --oom-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Base Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--oom-font);
  background-color: var(--oom-body-bg);
  color: var(--oom-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

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

.oom-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
  width: 100%;
}

@media (min-width: 640px) { .oom-container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .oom-container { padding: 0 2rem; } }

/* ==========================================================================
   2. Live Metal Spot Ticker Bar (Top Bar)
   ========================================================================== */
.oom-topbar {
  background-color: var(--oom-charcoal);
  color: #cbd5e1;
  font-size: 0.75rem;
  border-bottom: 1px solid var(--oom-border-dark);
}

.oom-topbar-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  gap: 0.5rem;
}

.oom-spot-ticker {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
.oom-spot-ticker::-webkit-scrollbar { display: none; }

.oom-spot-label {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--oom-gold);
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.oom-spot-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.oom-spot-item strong {
  color: var(--oom-white);
  font-weight: 600;
}

.oom-spot-change-up {
  color: var(--oom-emerald);
  font-size: 0.7rem;
  display: flex;
  align-items: center;
}

.oom-spot-change-down {
  color: var(--oom-rose);
  font-size: 0.7rem;
  display: flex;
  align-items: center;
}

.oom-topbar-links {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.7rem;
  margin-left: auto;
}

.oom-cart-price-lock {
  display: flex;
  align-items: center;
  background-color: var(--oom-surface);
  padding: 0.25rem 0.65rem;
  border-radius: 4px;
  border: 1px solid var(--oom-border-dark);
  color: var(--oom-gold);
}

.oom-cart-price-lock strong {
  color: var(--oom-white);
  font-family: monospace;
  margin-left: 0.25rem;
  font-size: 0.75rem;
}

/* ==========================================================================
   3. Unified Sticky Header (Top Spot Ticker + Main Header)
   ========================================================================== */
.oom-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: var(--oom-shadow-sm);
}

/* 
 * WordPress Admin Bar Offset Compensation:
 * - Desktop (>782px): WP admin bar is 32px fixed
 * - Tablet (601px - 782px): WP admin bar is 46px fixed
 * - Mobile (<=600px): WP admin bar is position: absolute (scrolls away with page).
 *   Setting top: 0 ensures the header sticks flush against the very top edge of the
 *   screen without any floating gap when scrolled.
 */
.admin-bar .oom-header { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .oom-header { top: 46px; }
}
@media screen and (max-width: 600px) {
  .admin-bar .oom-header { top: 0 !important; }
}

.oom-header-main {
  background-color: var(--oom-white);
  border-bottom: 1px solid var(--oom-border-light);
}

.oom-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5rem;
  gap: 1rem;
}

/* Brand Logo */
.oom-logo-link,
.custom-logo-link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.oom-header .oom-brand-logo,
.oom-header .custom-logo-link img,
.oom-header .custom-logo,
.woocommerce-page .oom-header .oom-brand-logo,
.woocommerce .oom-header .oom-brand-logo,
.oom-logo-link img.oom-brand-logo,
.oom-brand-logo {
  height: 52px !important;
  max-height: 52px !important;
  width: auto !important;
  max-width: 250px !important;
  object-fit: contain;
  display: block;
  border-radius: var(--oom-radius-sm);
  background-color: #000000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.oom-logo-link:hover .oom-brand-logo,
.custom-logo-link:hover img {
  opacity: 0.95;
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .oom-header .oom-brand-logo,
  .oom-header .custom-logo-link img,
  .oom-header .custom-logo,
  .woocommerce-page .oom-header .oom-brand-logo,
  .woocommerce .oom-header .oom-brand-logo,
  .oom-brand-logo {
    height: 40px !important;
    max-height: 40px !important;
    max-width: 180px !important;
  }
}

.oom-footer .oom-footer-logo,
.woocommerce-page .oom-footer .oom-footer-logo,
.woocommerce .oom-footer .oom-footer-logo {
  height: auto;
  max-height: 44px !important;
  width: auto !important;
  display: block;
}



/* Search Bar */
.oom-search-wrapper {
  flex: 1;
  max-width: 36rem;
  margin: 0 1.5rem;
  display: none;
}

@media (min-width: 1024px) {
  .oom-search-wrapper { display: flex; }
}

.oom-search-form {
  width: 100%;
  display: flex;
  box-shadow: var(--oom-shadow-sm);
}

.oom-search-input {
  width: 100%;
  padding: 0.65rem 1rem;
  background-color: #f8fafc;
  border: 1px solid var(--oom-border-light);
  border-top-left-radius: var(--oom-radius);
  border-bottom-left-radius: var(--oom-radius);
  font-size: 0.875rem;
  outline: none;
  transition: all 0.2s ease;
}

.oom-search-input:focus {
  background-color: #ffffff;
  border-color: var(--oom-gold);
  box-shadow: 0 0 0 1px var(--oom-gold);
}

.oom-search-button {
  background-color: var(--oom-charcoal);
  color: var(--oom-gold);
  padding: 0.65rem 1.5rem;
  border-top-right-radius: var(--oom-radius);
  border-bottom-right-radius: var(--oom-radius);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--oom-charcoal);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.2s ease;
}

.oom-search-button:hover {
  background-color: #1e293b;
}

/* Header Actions */
.oom-header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.oom-trust-chip {
  display: none;
  align-items: center;
  background-color: #fffbeb;
  color: #78350f;
  border: 1px solid #fde68a;
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  gap: 0.4rem;
}

@media (min-width: 1280px) {
  .oom-trust-chip { display: flex; }
}

.oom-user-action {
  display: flex;
  align-items: center;
  color: #334155;
  transition: color 0.2s ease;
}

.oom-user-action:hover {
  color: var(--oom-gold-hover);
}

.oom-action-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #334155;
  position: relative;
  transition: background-color 0.2s ease;
}

.oom-user-action:hover .oom-action-icon {
  background-color: var(--oom-gold-light);
}

.oom-action-text {
  margin-left: 0.5rem;
  line-height: 1.1;
  display: none;
}

@media (min-width: 768px) {
  .oom-action-text { display: block; }
}

.oom-action-text span.sub {
  font-size: 0.625rem;
  color: var(--oom-text-muted);
  display: block;
}

.oom-action-text span.main {
  font-size: 0.75rem;
  font-weight: 700;
  color: #1e293b;
}

.oom-cart-badge-count {
  position: absolute;
  top: -0.25rem;
  right: -0.25rem;
  background-color: var(--oom-gold);
  color: var(--oom-charcoal);
  font-size: 0.625rem;
  font-weight: 900;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ffffff;
}

/* ==========================================================================
   4. Main Navigation Bar
   ========================================================================== */
.oom-nav-bar {
  background-color: var(--oom-charcoal);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  border-top: 1px solid var(--oom-border-dark);
  position: relative;
  z-index: 10;
  display: none;
}

@media (min-width: 1024px) {
  .oom-nav-bar { display: block; }
}

.oom-nav-menu {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
}

.oom-nav-menu > li {
  position: relative;
}

.oom-nav-menu > li > a {
  display: block;
  padding: 0.75rem 1rem;
  transition: all 0.2s ease;
  white-space: nowrap;
  color: #ffffff;
  text-decoration: none;
}

.oom-nav-menu > li > a:hover {
  color: var(--oom-gold);
}

/* Submenu dropdown indicator */
.oom-nav-menu .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.oom-nav-menu .menu-item-has-children > a::after {
  content: "\f0d7";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.65rem;
  color: var(--oom-gold);
  transition: transform 0.2s ease;
}

.oom-nav-menu .menu-item-has-children:hover > a::after {
  transform: rotate(180deg);
}

/* Submenu Dropdown Container */
.oom-nav-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 230px;
  background-color: var(--oom-charcoal);
  border: 1px solid var(--oom-border-dark);
  border-top: 2px solid var(--oom-gold);
  border-radius: 0 0 var(--oom-radius-sm) var(--oom-radius-sm);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
  padding: 0.4rem 0;
  list-style: none;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
}

/* Show submenu on hover or focus */
.oom-nav-menu .menu-item-has-children:hover > .sub-menu,
.oom-nav-menu .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.oom-nav-menu .sub-menu li {
  width: 100%;
  position: relative;
}

.oom-nav-menu .sub-menu li a {
  display: block;
  padding: 0.65rem 1.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #cbd5e1 !important;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: all 0.15s ease;
}

.oom-nav-menu .sub-menu li:last-child a {
  border-bottom: none;
}

.oom-nav-menu .sub-menu li a:hover,
.oom-nav-menu .sub-menu li a:focus {
  background-color: var(--oom-surface);
  color: var(--oom-gold) !important;
  padding-left: 1.5rem;
}

/* Secondary nested submenus */
.oom-nav-menu .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  border-top: 1px solid var(--oom-border-dark);
}

.oom-nav-all-products {
  background-color: var(--oom-surface);
  color: var(--oom-gold) !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.oom-nav-all-products:hover {
  background-color: #1e293b !important;
}

.oom-nav-preorder {
  margin-left: auto;
  color: var(--oom-gold) !important;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.oom-nav-preorder:hover {
  color: #fde68a !important;
}

/* ==========================================================================
   5. Hero Showcase Section (Strict Desktop Height Lock: 421.781px)
   ========================================================================== */
.oom-hero-section {
  padding-top: 1.5rem;
  padding-bottom: 1rem;
}

/* 3-Banner Grid Layout: Desktop strictly locked to 421.781px */
.oom-hero-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  height: 421.781px;
  max-height: 421.781px;
  overflow: hidden;
  box-sizing: border-box;
}

/* Slot 1: Main Left Banner (2/3 width, full grid height) */
.oom-hero-banner-main {
  height: 100%;
  max-height: 421.781px;
  border-radius: var(--oom-radius-lg);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

/* Slots 2 & 3: Side Stacked Banners (1/3 width, 2 rows) */
.oom-hero-banner-side {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  max-height: 421.781px;
  box-sizing: border-box;
}

/* Individual side banner slots: (421.781px - 20px gap) / 2 = 200.89px */
.oom-hero-slot-2,
.oom-hero-slot-3 {
  height: calc((421.781px - 20px) / 2);
  flex: 1;
  min-height: 0;
  border-radius: var(--oom-radius-lg);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

/* Hero Link Wrapper & Image Consistency (Prevents layout shift / CLS) */
.oom-hero-link-wrapper {
  display: block;
  width: 100%;
  height: 100%;
}

.oom-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: var(--oom-radius-lg);
  transition: transform 0.3s ease, filter 0.3s ease;
}

.oom-hero-img:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
}

/* Hero Background Cover Mode & Typography Overlays */
.oom-hero-slot-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: var(--oom-radius-lg);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
  box-sizing: border-box;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
}

.oom-hero-slot-bg:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.25);
}

.oom-hero-overlay-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  text-indent: -9999px;
}

.oom-hero-overlay-content {
  position: relative;
  z-index: 3;
  pointer-events: none;
  max-width: 90%;
}

.oom-hero-overlay-title {
  color: #ffffff;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 0.35rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.oom-hero-slot-2 .oom-hero-overlay-title,
.oom-hero-slot-3 .oom-hero-overlay-title {
  font-size: 1.05rem;
}

.oom-hero-title-lg {
  font-size: 2rem;
}

.oom-hero-overlay-sub {
  color: #e2e8f0;
  font-size: 0.875rem;
  line-height: 1.4;
  margin-bottom: 0.65rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.oom-hero-overlay-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--oom-gold);
  color: var(--oom-charcoal);
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.4rem 0.85rem;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.oom-hero-slot-bg:hover .oom-hero-overlay-cta {
  background: var(--oom-gold-light);
  transform: translateX(3px);
}

.oom-hero-fullwidth-banner {
  height: 421.781px;
  max-height: 421.781px;
}

.oom-hero-fullwidth-content {
  max-width: 600px;
  padding: 2.25rem;
}

/* Custom / Shortcode Hero Wrapper (MetaSlider or Custom HTML) */
.oom-hero-custom-wrapper,
.oom-hero-widget-wrapper {
  max-height: 421.781px;
  overflow: hidden;
  border-radius: var(--oom-radius-lg);
}

.oom-hero-custom-wrapper img,
.oom-hero-widget-wrapper img {
  max-height: 421.781px;
  width: 100%;
  object-fit: cover;
}

/* MetaSlider specific container lock to prevent slider overflow */
.oom-hero-custom-wrapper .metaslider,
.oom-hero-custom-wrapper .flexslider,
.oom-hero-widget-wrapper .metaslider,
.oom-hero-widget-wrapper .flexslider {
  max-height: 421.781px !important;
  overflow: hidden;
}

/* Responsive Styles for Hero Section: Fluid on tablets & mobile */
@media (max-width: 1023px) {
  .oom-hero-grid {
    grid-template-columns: 1fr;
    height: auto;
    max-height: none;
    gap: 1rem;
    overflow: visible;
  }

  .oom-hero-banner-main {
    height: 280px;
    max-height: none;
  }

  .oom-hero-banner-side {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    height: auto;
    max-height: none;
  }

  .oom-hero-slot-2,
  .oom-hero-slot-3 {
    height: 180px;
    max-height: none;
    flex: none;
  }
}

@media (max-width: 639px) {
  .oom-hero-banner-main {
    height: 220px;
  }

  .oom-hero-banner-side {
    grid-template-columns: 1fr;
  }

  .oom-hero-slot-2,
  .oom-hero-slot-3 {
    height: 150px;
  }
}

/* Shared Button Utilities (Retained for site-wide use in footer & listings) */
.oom-btn-gold {
  background-color: var(--oom-gold);
  color: var(--oom-charcoal);
  font-weight: 700;
  padding: 0.75rem 1.5rem;
  border-radius: var(--oom-radius);
  font-size: 0.875rem;
  box-shadow: var(--oom-shadow);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
}

.oom-btn-gold:hover {
  background-color: var(--oom-gold-hover);
}

.oom-btn-outline {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-weight: 600;
  padding: 0.75rem 1.5rem;
  border-radius: var(--oom-radius);
  font-size: 0.875rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

.oom-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

/* ==========================================================================
   6. Category Quick Navigation Tiles
   ========================================================================== */
.oom-categories-section {
  padding: 2.25rem 0 1.5rem;
}

.oom-categories-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.875rem;
  text-align: center;
}

@media (min-width: 640px) {
  .oom-categories-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.125rem;
  }
}

@media (min-width: 1024px) {
  .oom-categories-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 1.25rem;
  }
}

/* Category Card: Luxury full-bleed presentation inspired by Quick Guides */
.oom-category-tile {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  text-decoration: none;
  border: 1px solid var(--oom-border-light);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
  background-color: #0f172a;
}

@media (min-width: 640px) {
  .oom-category-tile {
    height: 180px;
  }
}

.oom-category-tile:hover {
  transform: translateY(-5px);
  border-color: var(--oom-gold);
  box-shadow: 0 16px 28px -6px rgba(0, 0, 0, 0.2), 0 4px 12px -2px rgba(197, 160, 89, 0.2);
}

/* Background Photo Layer with Decoupled Smooth Zoom on Hover */
.oom-category-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}

.oom-category-tile:hover .oom-category-bg {
  transform: scale(1.08);
}

/* Bottom-weighted Dark Scrim Gradient for 100% WCAG Contrast Across All Images */
.oom-category-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.12) 0%, rgba(15, 23, 42, 0.65) 55%, rgba(15, 23, 42, 0.94) 100%);
  transition: background 0.3s ease;
  z-index: 2;
}

.oom-category-tile:hover .oom-category-overlay {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.06) 0%, rgba(15, 23, 42, 0.58) 50%, rgba(15, 23, 42, 0.96) 100%);
}

/* Fallback Card Background & Default Gold Coin Icon */
.oom-category-fallback-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  z-index: 1;
}

.oom-category-fallback-icon {
  position: relative;
  z-index: 3;
  margin-top: 1.75rem;
  margin-bottom: auto;
  font-size: 2.5rem;
  color: var(--oom-gold);
  filter: drop-shadow(0 2px 8px rgba(197, 160, 89, 0.4));
  transition: transform 0.35s ease, filter 0.35s ease;
}

.oom-category-tile:hover .oom-category-fallback-icon {
  transform: scale(1.15) rotate(4deg);
  filter: drop-shadow(0 4px 14px rgba(197, 160, 89, 0.7));
}

/* Category Content Container (Anchored at Bottom) */
.oom-category-content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 0.875rem 0.75rem 1rem;
  text-align: center;
}

/* Category Title: Bold, High-Contrast Typography */
.oom-category-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.35;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 2.7em;
  text-align: center;
  transition: color 0.25s ease;
  word-break: break-word;
}

.oom-category-tile:hover .oom-category-name {
  color: var(--oom-gold-light);
}

/* ==========================================================================
   7. Featured Products Catalog Grid
   ========================================================================== */
.oom-products-section {
  padding: 1.5rem 0;
}

.oom-section-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 1px solid var(--oom-border-light);
  padding-bottom: 0.75rem;
  margin-bottom: 1.5rem;
  gap: 1rem;
}

@media (min-width: 640px) {
  .oom-section-header {
    flex-direction: row;
    align-items: flex-end;
  }
}

.oom-section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.02em;
}

.oom-section-sub {
  font-size: 0.75rem;
  color: var(--oom-text-muted);
  margin-top: 0.15rem;
}

.oom-product-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 640px) { .oom-product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .oom-product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .oom-product-grid { grid-template-columns: repeat(4, 1fr); } }

.oom-product-card {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--oom-shadow-sm);
  transition: all 0.2s ease;
}

.oom-product-card:hover {
  box-shadow: var(--oom-shadow-lg);
  border-color: #cbd5e1;
}

.oom-product-thumb-wrap {
  position: relative;
  background-color: #f8fafc;
  border-radius: 6px;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  overflow: hidden;
  min-height: 180px;
}

.oom-product-badge {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  font-size: 0.625rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  z-index: 2;
}

.oom-badge-preorder { background-color: var(--oom-charcoal); color: var(--oom-gold); }
.oom-badge-instock { background-color: #047857; color: #ffffff; }
.oom-badge-collectible { background-color: #d97706; color: #ffffff; }

.oom-product-thumb {
  max-height: 140px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.oom-product-card:hover .oom-product-thumb {
  transform: scale(1.06);
}

.oom-product-mint {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--oom-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
}

.oom-product-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.35;
  margin-top: 0.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.oom-product-name:hover {
  color: var(--oom-gold-hover);
}

.oom-product-price-block {
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid #f1f5f9;
}

.oom-price-label {
  font-size: 0.65rem;
  color: var(--oom-text-muted);
}

.oom-product-price {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
}

.oom-btn-add-cart {
  width: 100%;
  margin-top: 0.75rem;
  background-color: var(--oom-charcoal);
  color: var(--oom-gold);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  transition: background-color 0.2s ease;
}

.oom-btn-add-cart:hover {
  background-color: #1e293b;
}

/* ==========================================================================
   8. Value Proposition / 4 Trust Pillars
   ========================================================================== */
.oom-trust-section {
  padding: 2rem 0;
}

.oom-trust-card-dark {
  background-color: var(--oom-charcoal);
  color: #ffffff;
  border-radius: var(--oom-radius-lg);
  padding: 2rem;
  border: 1px solid var(--oom-border-dark);
  box-shadow: var(--oom-shadow);
}

.oom-trust-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

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

.oom-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.oom-trust-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--oom-radius);
  background-color: var(--oom-surface);
  border: 1px solid var(--oom-border-dark);
  color: var(--oom-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.oom-trust-heading {
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
}

.oom-trust-desc {
  font-size: 0.75rem;
  color: #94a3b8;
  margin-top: 0.25rem;
  line-height: 1.4;
}

/* ==========================================================================
   9. Client Testimonials & Verified Reviews
   ========================================================================== */
.oom-reviews-section {
  padding: 2rem 0;
  margin-bottom: 2rem;
}

.oom-reviews-heading {
  text-align: center;
  max-width: 36rem;
  margin: 0 auto 2rem;
}

.oom-reviews-sub {
  color: var(--oom-gold);
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.oom-reviews-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin-top: 0.25rem;
}

.oom-reviews-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .oom-reviews-grid { grid-template-columns: repeat(3, 1fr); }
}

.oom-review-card {
  background-color: #ffffff;
  padding: 1.5rem;
  border-radius: var(--oom-radius-lg);
  border: 1px solid var(--oom-border-light);
  box-shadow: var(--oom-shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.oom-review-stars {
  display: flex;
  gap: 0.25rem;
  color: var(--oom-gold);
  font-size: 0.75rem;
  margin-bottom: 0.75rem;
}

.oom-review-quote {
  font-size: 0.75rem;
  color: #334155;
  line-height: 1.6;
  font-style: italic;
}

.oom-review-author-row {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.oom-author-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: #0f172a;
  display: block;
}

.oom-author-loc {
  font-size: 0.65rem;
  color: var(--oom-text-muted);
}

.oom-verified-badge {
  font-size: 0.625rem;
  font-weight: 700;
  color: #059669;
  background-color: #ecfdf5;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
}

/* ==========================================================================
   10. Luxury 4-Column Footer & Dynamic Widget Architecture
   ========================================================================== */
.oom-footer {
  background-color: var(--oom-charcoal);
  color: #cbd5e1;
  font-size: 0.75rem;
  margin-top: auto;
  padding-top: 3rem;
  padding-bottom: 2rem;
  border-top: 4px solid var(--oom-gold);
}

.oom-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}

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

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

.oom-footer-col {
  min-width: 0;
}

/* Footer Widget Defaults & Overrides */
.oom-footer .widget {
  margin-bottom: 1.5rem;
  color: #cbd5e1;
}

.oom-footer .widget:last-child {
  margin-bottom: 0;
}

.oom-footer .widget-title,
.oom-footer-title {
  color: #ffffff;
  font-weight: 700;
  font-size: 0.875rem;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.oom-footer-gold-title {
  color: var(--oom-gold) !important;
}

.oom-social-row {
  display: flex;
  gap: 0.75rem;
  font-size: 1.15rem;
  color: #94a3b8;
  margin-top: 1rem;
}

.oom-social-row a:hover {
  color: var(--oom-gold);
}

.oom-footer-links {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.oom-footer-links li {
  margin-bottom: 0.5rem;
}

.oom-footer-links a:hover {
  color: #ffffff;
}

.oom-footer .widget ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.oom-footer .widget ul li {
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
}

.oom-footer .widget ul li a {
  color: #94a3b8;
  text-decoration: none;
  transition: color 0.15s ease;
}

.oom-footer .widget ul li a:hover {
  color: var(--oom-gold);
}

.oom-footer .widget p {
  font-size: 0.75rem;
  color: #94a3b8;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.oom-footer-input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  background-color: var(--oom-surface);
  color: #ffffff;
  border-radius: 4px;
  font-size: 0.75rem;
  border: 1px solid var(--oom-border-dark);
  margin-bottom: 0.5rem;
  outline: none;
}

.oom-footer-input:focus {
  border-color: var(--oom-gold);
}

/* Column 3: Showroom Map Card */
.oom-footer-map-wrap {
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  background-color: #1e293b;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.oom-footer-map-wrap:hover {
  border-color: var(--oom-gold);
  transform: translateY(-2px);
}

.oom-footer-map-img {
  display: block;
  width: 100%;
  max-height: 145px;
  object-fit: cover;
  transition: opacity 0.2s ease;
}

.oom-footer-map-wrap:hover .oom-footer-map-img {
  opacity: 0.92;
}

.oom-footer-map-note {
  font-size: 0.72rem;
  color: #94a3b8;
  margin-top: 0.5rem;
  line-height: 1.4;
}

/* Column 4: Corero Network Security */
.oom-footer-security-wrap {
  display: block;
}

.oom-footer-security-img {
  max-width: 220px;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  transition: border-color 0.2s ease;
}

.oom-footer-security-img:hover {
  border-color: var(--oom-gold);
}

.oom-footer-security-desc {
  font-size: 0.72rem;
  color: #94a3b8;
  margin-top: 0.65rem;
  line-height: 1.5;
}

/* Row 2: Full-Width Partner Mints */
.oom-footer-brands-row {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 1.75rem;
  padding-bottom: 0.75rem;
  margin-bottom: 1.5rem;
}

.oom-footer-brands-title {
  color: #94a3b8;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 1.25rem;
}

.oom-footer-brands-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.85rem 1.15rem;
}

.oom-footer-brand-item {
  background: #ffffff;
  border-radius: 6px;
  padding: 6px 14px;
  height: 48px;
  min-width: 90px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.oom-footer-brand-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(203, 160, 82, 0.3);
  border-color: var(--oom-gold);
}

.oom-footer-brand-item img {
  max-height: 36px;
  max-width: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.oom-footer-bottom {
  border-top: 1px solid var(--oom-border-dark);
  padding-top: 1.5rem;
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  font-size: 0.7rem;
  color: #64748b;
  gap: 1rem;
}

@media (min-width: 640px) {
  .oom-footer-bottom {
    flex-direction: row;
  }
}

.oom-footer-legal-links {
  display: flex;
  gap: 1rem;
}

.oom-footer-legal-links a:hover {
  color: #94a3b8;
}

/* ==========================================================================
   11. Single Page, Single Post & WooCommerce Layout Wrappers
   ========================================================================== */
.oom-page-wrapper {
  padding: 2.5rem 0 4rem;
}

.oom-page-card {
  background: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius-lg);
  padding: 2.5rem;
  box-shadow: var(--oom-shadow-sm);
}

.oom-page-title-main {
  font-size: 1.875rem;
  font-weight: 800;
  color: var(--oom-charcoal);
  margin-bottom: 1.5rem;
  letter-spacing: -0.02em;
}

.oom-content-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .oom-content-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
  .oom-content-layout.oom-single-column {
    grid-template-columns: 1fr;
  }
}

.oom-primary-column {
  min-width: 0;
}

.oom-sidebar-column {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.oom-sidebar-column .widget {
  background: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius-md);
  padding: 1.25rem 1.5rem;
}

.oom-sidebar-column .widget-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--oom-charcoal);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--oom-gold);
}

.oom-sidebar-column ul {
  list-style: none;
  font-size: 0.875rem;
}

.oom-sidebar-column ul li {
  padding: 0.4rem 0;
  border-bottom: 1px solid #f1f5f9;
}

.oom-sidebar-column ul li:last-child {
  border-bottom: none;
}

.oom-sidebar-column ul li a {
  color: #475569;
}

.oom-sidebar-column ul li a:hover {
  color: var(--oom-gold);
}

/* Pagination */
.oom-pagination .nav-links {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.oom-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: var(--oom-radius-sm);
  background: #ffffff;
  border: 1px solid var(--oom-border-light);
  color: #334155;
}

.oom-pagination .page-numbers.current {
  background: var(--oom-charcoal);
  color: #ffffff;
  border-color: var(--oom-charcoal);
}

.oom-pagination .page-numbers:hover:not(.current) {
  background: #f8fafc;
  border-color: var(--oom-gold);
  color: var(--oom-gold);
}

/* WooCommerce System Integration */
.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt {
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-weight: 700 !important;
  border-radius: var(--oom-radius-sm) !important;
  transition: all var(--oom-transition-fast) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  border: none !important;
}

.woocommerce #respond input#submit.alt:hover, 
.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover {
  background-color: var(--oom-gold-hover) !important;
  color: var(--oom-charcoal) !important;
}

.woocommerce span.onsale {
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-weight: 800 !important;
  font-size: 0.75rem !important;
  min-height: auto !important;
  line-height: 1 !important;
  padding: 0.35rem 0.6rem !important;
  border-radius: 4px !important;
}

.woocommerce div.product p.price, 
.woocommerce div.product span.price {
  color: var(--oom-charcoal) !important;
  font-weight: 800 !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--oom-radius) !important;
  font-size: 0.9rem !important;
  padding: 1rem 1.25rem 1rem 3rem !important;
  margin-bottom: 2rem !important;
  box-shadow: var(--oom-shadow-sm) !important;
  line-height: 1.5 !important;
}

.woocommerce-message,
.woocommerce-info {
  background-color: #fdf8ef !important;
  border-top: 3px solid var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--oom-gold) !important;
  top: 1rem !important;
  left: 1.25rem !important;
}

.woocommerce-error {
  background-color: #fef2f2 !important;
  border-top: 3px solid #ef4444 !important;
  color: #991b1b !important;
}

.woocommerce-error::before {
  color: #ef4444 !important;
  top: 1rem !important;
  left: 1.25rem !important;
}


/* ==========================================================================
   Mobile Navigation Drawer (Off-Canvas Slide-In from Left)
   ========================================================================== */
.oom-mobile-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius-sm);
  font-size: 1.25rem;
  color: #0f172a;
  cursor: pointer;
  padding: 0.5rem;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.oom-mobile-toggle:hover,
.oom-mobile-toggle:focus {
  border-color: var(--oom-gold);
  color: var(--oom-gold);
  background-color: rgba(203, 160, 82, 0.08);
}

/* Semi-transparent Backdrop Overlay with Blur */
.oom-mobile-backdrop {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.oom-mobile-backdrop.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Off-Canvas Drawer Container (Pinned to Left Viewport) */
.oom-mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 320px;
  max-width: 85vw;
  height: 100%;
  height: 100dvh;
  background-color: var(--oom-charcoal);
  border-right: 1px solid var(--oom-border-dark);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.6);
  visibility: hidden;
  will-change: transform;
}

.oom-mobile-drawer.is-open,
.oom-mobile-drawer.active {
  transform: translateX(0);
  visibility: visible;
}

/* Drawer Header: Brand Identity & Close Icon */
.oom-mobile-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.15rem 1.25rem 1rem;
  border-bottom: 1px solid var(--oom-border-dark);
  background-color: rgba(15, 23, 42, 0.75);
}

.oom-mobile-drawer-brand {
  display: flex;
  align-items: center;
}

.oom-mobile-drawer-brand .oom-brand-logo,
.oom-mobile-drawer-brand img {
  height: 38px !important;
  max-height: 38px !important;
  width: auto !important;
  object-fit: contain;
}

.oom-mobile-drawer-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--oom-radius-sm);
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--oom-border-dark);
  color: #cbd5e1;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.oom-mobile-drawer-close:hover,
.oom-mobile-drawer-close:focus {
  background-color: var(--oom-gold);
  border-color: var(--oom-gold);
  color: #0f172a;
}

/* Drawer Search Bar */
.oom-mobile-drawer-search {
  padding: 1rem 1.25rem 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.oom-mobile-drawer-search .oom-search-form {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.oom-mobile-drawer-search .oom-search-input {
  width: 100%;
  background-color: #0f172a;
  border: 1px solid var(--oom-border-dark);
  color: #ffffff;
  padding: 0.65rem 2.5rem 0.65rem 0.9rem;
  border-radius: var(--oom-radius-sm);
  font-size: 0.875rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.oom-mobile-drawer-search .oom-search-input:focus {
  outline: none;
  border-color: var(--oom-gold);
  box-shadow: 0 0 0 2px rgba(203, 160, 82, 0.25);
}

.oom-mobile-drawer-search .oom-search-input::placeholder {
  color: #64748b;
  font-size: 0.825rem;
}

.oom-mobile-drawer-search .oom-search-button {
  position: absolute;
  right: 0.5rem;
  background: none;
  border: none;
  color: var(--oom-gold);
  font-size: 0.95rem;
  cursor: pointer;
  padding: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease;
}

.oom-mobile-drawer-search .oom-search-button:hover {
  transform: scale(1.1);
}

/* Drawer Scrollable Body & Navigation Items */
.oom-mobile-drawer-body {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.75rem 1.25rem;
}

.oom-mobile-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.oom-mobile-nav-list li {
  margin: 0;
}

.oom-mobile-nav-list li a {
  display: flex;
  align-items: center;
  padding: 0.8rem 0.5rem;
  color: #cbd5e1;
  font-size: 0.925rem;
  font-weight: 500;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: all 0.2s ease;
  border-radius: 4px;
}

.oom-mobile-nav-list li a:hover {
  color: var(--oom-gold);
  background-color: rgba(255, 255, 255, 0.03);
  padding-left: 0.75rem;
}

.oom-mobile-nav-list .oom-mobile-highlight {
  color: var(--oom-gold) !important;
  font-weight: 700 !important;
}

.oom-mobile-nav-list .sub-menu {
  list-style: none;
  padding-left: 1rem;
  border-left: 2px solid var(--oom-gold);
  margin: 0.25rem 0 0.5rem 0.5rem;
}

.oom-mobile-nav-list .sub-menu li a {
  font-size: 0.825rem;
  padding: 0.45rem 0.5rem;
  color: #94a3b8;
}

.oom-mobile-nav-list .sub-menu li a:hover {
  color: var(--oom-gold);
}

/* Drawer Footer: Account CTA & Showroom Information */
.oom-mobile-drawer-footer {
  flex-shrink: 0;
  padding: 1.25rem;
  border-top: 1px solid var(--oom-border-dark);
  background-color: rgba(15, 23, 42, 0.75);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.oom-mobile-account-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.8rem 1rem;
  background: linear-gradient(135deg, var(--oom-gold) 0%, #b8860b 100%);
  color: #0f172a !important;
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: var(--oom-radius-sm);
  text-align: center;
  letter-spacing: 0.03em;
  box-shadow: 0 4px 14px rgba(203, 160, 82, 0.3);
  transition: all 0.2s ease;
}

.oom-mobile-account-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(203, 160, 82, 0.4);
  color: #000000 !important;
}

.oom-mobile-contact-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.72rem;
  color: #94a3b8;
  padding-top: 0.25rem;
}

.oom-mobile-phone-link {
  color: #cbd5e1;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}

.oom-mobile-phone-link:hover {
  color: var(--oom-gold);
}

.oom-mobile-hours-note {
  color: #64748b;
  font-size: 0.7rem;
}

/* Background scroll lock when mobile navigation drawer is visible */
body.oom-menu-locked {
  overflow: hidden !important;
  touch-action: none;
}

@media (min-width: 1024px) {
  .oom-mobile-toggle,
  .oom-mobile-drawer,
  .oom-mobile-backdrop {
    display: none !important;
  }
}

/* ==========================================================================
   12. WooCommerce My Account & Investor Portal Modernization
   ========================================================================== */

/* Unbox page card wrapper on account pages for multi-card grid aesthetic */
.woocommerce-account .oom-page-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Hide default page title on logged-out state since auth portal header is displayed */
.woocommerce-account:not(.logged-in) .oom-entry-header {
  display: none !important;
}

.woocommerce-account.logged-in .oom-page-title-main {
  font-size: 2rem;
  font-weight: 800;
  color: var(--oom-charcoal);
  margin-bottom: 2rem;
  letter-spacing: -0.02em;
}

/* Authentication Portal Container (Sign-In & Register - Logged Out) */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  max-width: 1040px;
  margin: 0 auto;
  width: 100%;
}

.oom-auth-portal-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 2.25rem;
}

.oom-auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--oom-gold-light);
  color: var(--oom-gold-hover);
  border: 1px solid rgba(203, 160, 82, 0.35);
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.oom-auth-title {
  font-size: 1.875rem;
  font-weight: 800;
  color: var(--oom-charcoal);
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
}

.oom-auth-desc {
  font-size: 0.95rem;
  color: var(--oom-text-muted);
  line-height: 1.5;
}

/* Neutralize legacy clearfix pseudo-elements so they do not become phantom grid items */
.woocommerce #customer_login::before,
.woocommerce #customer_login::after,
.woocommerce .col2-set::before,
.woocommerce .col2-set::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Side-by-Side Dual-Card Authentication Grid */
.woocommerce #customer_login.col2-set {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
  margin: 0 auto !important;
  max-width: 1040px !important;
  width: 100% !important;
  float: none !important;
}

@media (min-width: 860px) {
  .woocommerce #customer_login.col2-set {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }
}

.woocommerce #customer_login .u-column1,
.woocommerce #customer_login .u-column2 {
  float: none !important;
  width: 100% !important;
  background: var(--oom-white);
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius-lg);
  padding: 2.25rem 2rem;
  box-shadow: var(--oom-shadow);
  display: flex;
  flex-direction: column;
  box-sizing: border-box !important;
}

/* Explicit Grid Slot Assignment */
.woocommerce #customer_login .u-column1 {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

@media (min-width: 860px) {
  .woocommerce #customer_login .u-column2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
}

@media (max-width: 859px) {
  .woocommerce #customer_login .u-column2 {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

.woocommerce #customer_login h2 {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--oom-charcoal);
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--oom-border-light);
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.woocommerce #customer_login .u-column1 h2::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--oom-gold);
}

.woocommerce #customer_login .u-column2 h2::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--oom-emerald);
}

/* Form Fields & Controls */
.woocommerce form.login,
.woocommerce form.register {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.woocommerce form.register p {
  font-size: 0.85rem;
  color: var(--oom-text-muted);
  line-height: 1.5;
  margin-bottom: 1rem;
}

.woocommerce-privacy-policy-text {
  font-size: 0.8rem;
  color: var(--oom-text-muted);
  line-height: 1.5;
  margin-bottom: 1.25rem;
}

.woocommerce-privacy-policy-text a {
  color: var(--oom-gold-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.woocommerce form .form-row {
  padding: 0;
  margin-bottom: 1.25rem;
  float: none !important;
  width: 100% !important;
}

.woocommerce form .form-row label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #334155;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.4rem;
  line-height: 1.3;
}

.woocommerce form .form-row label .required {
  color: var(--oom-rose);
  font-weight: 800;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"] {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1.5px solid var(--oom-border-light) !important;
  border-radius: var(--oom-radius) !important;
  background-color: #f8fafc !important;
  font-size: 0.95rem !important;
  color: var(--oom-text) !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row input[type="text"]:focus,
.woocommerce form .form-row input[type="email"]:focus,
.woocommerce form .form-row input[type="password"]:focus {
  background-color: #ffffff !important;
  border-color: var(--oom-gold) !important;
  box-shadow: 0 0 0 3px rgba(203, 160, 82, 0.2) !important;
  outline: none !important;
}

/* Remember Me Checkbox */
.woocommerce-form-login__rememberme {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #475569;
  cursor: pointer;
  user-select: none;
  margin-bottom: 0.75rem;
}

.woocommerce-form-login__rememberme input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--oom-gold);
  cursor: pointer;
  margin: 0 !important;
}

/* Authentication Action Buttons */
.woocommerce button.button.woocommerce-form-login__submit,
.woocommerce button.button.woocommerce-form-register__submit {
  display: block !important;
  width: 100% !important;
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: var(--oom-radius) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin-top: 0.5rem !important;
}

.woocommerce button.button.woocommerce-form-login__submit:hover,
.woocommerce button.button.woocommerce-form-register__submit:hover {
  background-color: var(--oom-gold-hover) !important;
  box-shadow: var(--oom-shadow);
  transform: translateY(-1px);
}

.woocommerce-LostPassword.lost_password {
  margin-top: 1rem;
  text-align: center;
  font-size: 0.85rem;
}

.woocommerce-LostPassword.lost_password a {
  color: var(--oom-gold-hover);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-LostPassword.lost_password a:hover {
  color: var(--oom-charcoal);
}

/* Auth Security Footer */
.oom-auth-security-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--oom-border-light);
  width: 100%;
  clear: both;
}

.oom-security-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.825rem;
  font-weight: 600;
  color: var(--oom-text-muted);
}

.oom-security-item i {
  color: var(--oom-gold);
  font-size: 0.95rem;
}

/* ==========================================================================
   Investor Portal (Logged-In Account Dashboard & Subpages)
   ========================================================================== */

/* 2-Column Responsive Layout - STRICTLY FOR LOGGED-IN USERS */
.woocommerce-account.logged-in .woocommerce {
  display: block;
}

@media (min-width: 992px) {
  .woocommerce-account.logged-in .woocommerce {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
  }
}

.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after {
  display: none !important;
}

/* Sidebar Navigation Container */
.woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
  background: var(--oom-white);
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius-lg);
  padding: 1.5rem;
  box-shadow: var(--oom-shadow-sm);
  margin-bottom: 2rem;
}

@media (min-width: 992px) {
  .woocommerce-MyAccount-navigation {
    margin-bottom: 0;
    position: sticky;
    top: 2rem;
  }
}

/* User Profile Badge in Sidebar */
.oom-myaccount-user-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--oom-border-light);
}

.oom-user-avatar-initials {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--oom-charcoal) 0%, #1e293b 100%);
  color: var(--oom-gold);
  border: 2px solid var(--oom-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.oom-user-info {
  min-width: 0;
}

.oom-user-name {
  display: block;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--oom-charcoal);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.oom-user-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--oom-gold-hover);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 0.15rem;
}

/* Navigation List Items */
.woocommerce-MyAccount-navigation ul,
ul.oom-account-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-MyAccount-navigation-link {
  margin-bottom: 0.35rem;
  border: none !important;
  padding: 0 !important;
}

.woocommerce-MyAccount-navigation-link a {
  display: flex;
  align-items: center;
  padding: 0.7rem 0.9rem;
  border-radius: var(--oom-radius);
  font-size: 0.875rem;
  font-weight: 600;
  color: #475569;
  text-decoration: none;
  transition: all 0.2s ease;
}

.woocommerce-MyAccount-navigation-link a:hover {
  background-color: #f1f5f9;
  color: var(--oom-charcoal);
}

.woocommerce-MyAccount-navigation-link.is-active a {
  background-color: var(--oom-charcoal);
  color: #ffffff;
  font-weight: 700;
  box-shadow: var(--oom-shadow-sm);
}

/* FontAwesome Icons for Sidebar Links */
.woocommerce-MyAccount-navigation-link a::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  margin-right: 0.75rem;
  width: 1.25rem;
  display: inline-block;
  text-align: center;
  color: var(--oom-gold);
  transition: color 0.2s ease;
}

.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "\f3fd"; }
.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f187"; }
.woocommerce-MyAccount-navigation-link--downloads a::before { content: "\f381"; }
.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "\f3c5"; }
.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "\f007"; }
.woocommerce-MyAccount-navigation-link--my-coupons a::before { content: "\f3ff"; }
.woocommerce-MyAccount-navigation-link--wishlist a::before { content: "\f004"; font-weight: 400; }
.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 0.75rem;
  padding-top: 0.75rem !important;
  border-top: 1px solid var(--oom-border-light) !important;
}
.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #ef4444;
}
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  content: "\f2f5";
  color: #ef4444;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background-color: #fef2f2;
  color: #b91c1c;
}

/* Main Content Area */
.woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  background: var(--oom-white);
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius-lg);
  padding: 2.25rem;
  box-shadow: var(--oom-shadow-sm);
  min-width: 0;
}

/* Dashboard Welcome Banner */
.oom-dashboard-welcome-banner {
  background: linear-gradient(135deg, var(--oom-charcoal) 0%, #1c232d 100%);
  border-radius: var(--oom-radius);
  border-left: 4px solid var(--oom-gold);
  padding: 1.75rem 2rem;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2rem;
  box-shadow: var(--oom-shadow);
}

@media (min-width: 768px) {
  .oom-dashboard-welcome-banner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.oom-welcome-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(203, 160, 82, 0.2);
  color: var(--oom-gold-light);
  border: 1px solid rgba(203, 160, 82, 0.35);
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.oom-welcome-heading {
  font-size: 1.5rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.oom-welcome-heading strong {
  color: var(--oom-gold-light);
}

.oom-welcome-desc {
  font-size: 0.875rem;
  color: #94a3b8;
  margin-top: 0.35rem;
  line-height: 1.5;
  margin-bottom: 0;
}

.oom-logout-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.08);
  color: #f1f5f9;
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0.65rem 1.15rem;
  border-radius: var(--oom-radius);
  font-size: 0.825rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.oom-logout-button:hover {
  background: #ef4444;
  border-color: #ef4444;
  color: #ffffff;
}

/* Quick-Action Stat Cards Grid */
.oom-dashboard-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
  margin-bottom: 2rem;
}

.oom-stat-card {
  background: #f8fafc;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.25rem 1.1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  transition: all 0.2s ease;
  position: relative;
}

.oom-stat-card:hover {
  background: #ffffff;
  border-color: var(--oom-gold);
  box-shadow: var(--oom-shadow);
  transform: translateY(-2px);
}

.oom-stat-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--oom-border-light);
  color: var(--oom-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.oom-stat-card:hover .oom-stat-icon {
  background: var(--oom-gold);
  color: var(--oom-charcoal);
  border-color: var(--oom-gold);
}

.oom-stat-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.oom-stat-label {
  font-size: 0.725rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--oom-text-muted);
}

.oom-stat-value {
  font-size: 1rem;
  font-weight: 800;
  color: var(--oom-charcoal);
  margin: 0.15rem 0 0.1rem;
}

.oom-stat-hint {
  font-size: 0.725rem;
  color: #94a3b8;
}

.oom-stat-arrow {
  color: #cbd5e1;
  font-size: 0.85rem;
  transition: transform 0.2s ease, color 0.2s ease;
}

.oom-stat-card:hover .oom-stat-arrow {
  transform: translateX(3px);
  color: var(--oom-gold);
}

/* Orders Table */
.woocommerce-orders-table {
  border: 1px solid var(--oom-border-light) !important;
  border-radius: var(--oom-radius) !important;
  overflow: hidden;
  margin-top: 1rem;
}

.woocommerce-orders-table th {
  background: #f8fafc !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #475569 !important;
  padding: 0.85rem 1rem !important;
}

.woocommerce-orders-table td {
  padding: 1rem !important;
  border-top: 1px solid var(--oom-border-light) !important;
  font-size: 0.9rem !important;
}

.woocommerce-orders-table .button {
  background: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-weight: 700 !important;
  font-size: 0.775rem !important;
  padding: 0.45rem 0.85rem !important;
  border-radius: var(--oom-radius-sm) !important;
}

/* Address Cards Modernization */
.woocommerce-Addresses.col2-set::before,
.woocommerce-Addresses.col2-set::after,
.woocommerce .woocommerce-Addresses::before,
.woocommerce .woocommerce-Addresses::after {
  display: none !important;
  content: none !important;
}

.woocommerce .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  margin-top: 1.5rem !important;
  float: none !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  .woocommerce .woocommerce-Addresses {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .woocommerce .woocommerce-Addresses .u-column1 {
    grid-column: 1 !important;
  }
  .woocommerce .woocommerce-Addresses .u-column2 {
    grid-column: 2 !important;
  }
}

.woocommerce .woocommerce-Addresses .u-column1,
.woocommerce .woocommerce-Addresses .u-column2,
.woocommerce-Addresses .woocommerce-Address {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.75rem;
  box-shadow: var(--oom-shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s ease;
  position: relative;
}

.woocommerce .woocommerce-Addresses .woocommerce-Address:hover {
  box-shadow: var(--oom-shadow-md);
  border-color: #cbd5e1;
}

.woocommerce-Address-title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: 0.85rem !important;
  border-bottom: 1px solid var(--oom-border-light) !important;
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--oom-charcoal) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.woocommerce .woocommerce-Addresses .u-column1 .woocommerce-Address-title h2::before,
.woocommerce .woocommerce-Addresses .u-column1 .woocommerce-Address-title h3::before {
  content: "\f2b9";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--oom-gold);
  font-size: 0.95rem;
}

.woocommerce .woocommerce-Addresses .u-column2 .woocommerce-Address-title h2::before,
.woocommerce .woocommerce-Addresses .u-column2 .woocommerce-Address-title h3::before {
  content: "\f0d1";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--oom-gold);
  font-size: 0.95rem;
}

/* Edit Address Link Modernized as Button */
.woocommerce-Address-title .edit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  background-color: var(--oom-charcoal) !important;
  color: var(--oom-gold) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 0.45rem 1rem !important;
  border-radius: 6px !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: var(--oom-shadow-sm) !important;
  cursor: pointer !important;
}

.woocommerce-Address-title .edit:hover {
  background-color: #1e293b !important;
  color: #ffffff !important;
  border-color: var(--oom-gold) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--oom-shadow-md) !important;
}

.woocommerce-Addresses address {
  font-style: normal !important;
  font-size: 0.925rem !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  background-color: #f8fafc !important;
  border-radius: 6px !important;
  padding: 1.25rem !important;
  border: 1px solid var(--oom-border-light) !important;
  min-height: 110px !important;
}

/* Edit Address Form Button */
.woocommerce form button[name="save_address"] {
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-weight: 800 !important;
  font-size: 0.875rem !important;
  padding: 0.75rem 2rem !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin-top: 1rem;
}

.woocommerce form button[name="save_address"]:hover {
  background-color: var(--oom-gold-hover) !important;
  transform: translateY(-1px);
}



/* Referral Program Card Integration */
.ccr-referral-dashboard-box {
  background: #fdf8ef !important;
  border: 1.5px dashed var(--oom-gold) !important;
  border-radius: var(--oom-radius) !important;
  padding: 1.5rem !important;
  margin-top: 2rem !important;
}

.ccr-referral-dashboard-box h3 {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #78350f !important;
  margin-bottom: 0.5rem !important;
}

.ccr-referral-dashboard-box code {
  background: #ffffff !important;
  border: 1px solid rgba(203, 160, 82, 0.4) !important;
  color: var(--oom-charcoal) !important;
  padding: 0.25rem 0.6rem !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   13. WooCommerce Shop, Catalog & Product Taxonomy Archive Modernization
   ========================================================================== */

/* Page Header & Breadcrumb Trail */
.oom-page-header {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.75rem 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--oom-shadow-sm);
  position: relative;
  border-left: 4px solid var(--oom-gold);
}

.oom-page-header .oom-page-title-main {
  font-size: 1.85rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.2;
}

.oom-breadcrumbs-wrapper {
  margin-bottom: 0.75rem;
}

.oom-product-breadcrumbs {
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--oom-border-light);
}

.oom-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  font-size: 0.8125rem;
  color: #64748b;
}

.oom-breadcrumbs a {
  color: #64748b;
  text-decoration: none;
  transition: color 0.2s ease;
}

.oom-breadcrumbs a:hover {
  color: var(--oom-gold-hover);
}

.oom-crumb-separator {
  font-size: 0.65rem;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  margin: 0 0.15rem;
}

.oom-crumb-item:last-child {
  color: #0f172a;
  font-weight: 600;
}

/* WooCommerce Catalog Toolbar (Result Count & Sort Dropdown) */
.woocommerce .oom-woocommerce-content .woocommerce-result-count,
.woocommerce-page .oom-woocommerce-content .woocommerce-result-count {
  float: left;
  font-size: 0.875rem;
  font-weight: 500;
  color: #64748b;
  margin: 0.5rem 0 1.5rem 0;
  line-height: 2.2;
}

.woocommerce .oom-woocommerce-content form.woocommerce-ordering,
.woocommerce-page .oom-woocommerce-content form.woocommerce-ordering {
  float: right;
  margin: 0 0 1.5rem 0;
}

.woocommerce .oom-woocommerce-content form.woocommerce-ordering select.orderby,
.woocommerce-page .oom-woocommerce-content form.woocommerce-ordering select.orderby {
  appearance: none;
  -webkit-appearance: none;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  background-size: 12px 12px;
  padding: 0.55rem 2.25rem 0.55rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #334155;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius-sm);
  box-shadow: var(--oom-shadow-sm);
  cursor: pointer;
  transition: all var(--oom-transition-fast);
}

.woocommerce .oom-woocommerce-content form.woocommerce-ordering select.orderby:focus,
.woocommerce-page .oom-woocommerce-content form.woocommerce-ordering select.orderby:focus {
  outline: none;
  border-color: var(--oom-gold);
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

@media (max-width: 640px) {
  .woocommerce .oom-woocommerce-content .woocommerce-result-count,
  .woocommerce-page .oom-woocommerce-content .woocommerce-result-count,
  .woocommerce .oom-woocommerce-content form.woocommerce-ordering,
  .woocommerce-page .oom-woocommerce-content form.woocommerce-ordering {
    float: none;
    width: 100%;
    margin-bottom: 0.75rem;
  }
  .woocommerce .oom-woocommerce-content form.woocommerce-ordering select.orderby {
    width: 100%;
  }
}

/* Modern CSS Grid for Product & Category Loops */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  margin: 0 0 2.5rem 0 !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
}

@media (min-width: 520px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* 3 columns inside primary column when shop sidebar is present */
.oom-content-layout:not(.oom-single-column) .woocommerce ul.products,
.oom-content-layout:not(.oom-single-column) .woocommerce-page ul.products {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
}

/* Suppress legacy WooCommerce float clearfix pseudo-elements */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  display: none !important;
  content: none !important;
}

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

.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after,
.woocommerce-page ul.products li.product::before,
.woocommerce-page ul.products li.product::after {
  display: none !important;
  content: none !important;
}

/* Product Card Styling */
.woocommerce ul.products li.product.type-product,
.woocommerce-page ul.products li.product.type-product {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  box-shadow: var(--oom-shadow-sm);
  transition: all 0.25s ease;
  overflow: hidden;
}

.woocommerce ul.products li.product.type-product:hover,
.woocommerce-page ul.products li.product.type-product:hover {
  transform: translateY(-4px);
  box-shadow: var(--oom-shadow-lg);
  border-color: #cbd5e1;
}

.woocommerce ul.products li.product.type-product .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product.type-product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-decoration: none;
}

.woocommerce ul.products li.product.type-product img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product.type-product img.attachment-woocommerce_thumbnail {
  background-color: #f8fafc;
  border-radius: 6px;
  padding: 1.25rem;
  margin: 0 0 1rem 0;
  width: 100%;
  height: 190px;
  object-fit: contain;
  transition: transform 0.3s ease;
  display: block;
}

.woocommerce ul.products li.product.type-product:hover img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product.type-product:hover img.attachment-woocommerce_thumbnail {
  transform: scale(1.06);
}

.woocommerce ul.products li.product.type-product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product.type-product .woocommerce-loop-product__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.4;
  margin: 0 0 0.5rem 0;
  min-height: 2.8em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.woocommerce ul.products li.product.type-product:hover .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product.type-product:hover .woocommerce-loop-product__title {
  color: var(--oom-gold-hover);
}

.woocommerce ul.products li.product.type-product span.price,
.woocommerce-page ul.products li.product.type-product span.price {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid #f1f5f9;
  display: block;
  line-height: 1.3;
}

.woocommerce ul.products li.product.type-product span.price del,
.woocommerce-page ul.products li.product.type-product span.price del {
  color: var(--oom-text-muted);
  font-size: 0.85rem;
  font-weight: 500;
  margin-right: 0.35rem;
}

.woocommerce ul.products li.product.type-product span.price ins,
.woocommerce-page ul.products li.product.type-product span.price ins {
  text-decoration: none;
  color: #0f172a;
}

.woocommerce ul.products li.product.type-product .button,
.woocommerce-page ul.products li.product.type-product .button {
  margin-top: 0.85rem !important;
  width: 100% !important;
  background-color: var(--oom-charcoal) !important;
  color: var(--oom-gold) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 0.65rem 1rem !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border: 1px solid transparent !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  box-shadow: none !important;
  text-align: center !important;
  cursor: pointer !important;
}

.woocommerce ul.products li.product.type-product .button:hover,
.woocommerce-page ul.products li.product.type-product .button:hover {
  background-color: #1e293b !important;
  color: #ffffff !important;
  border-color: var(--oom-gold) !important;
}

.woocommerce ul.products li.product.type-product a.added_to_cart,
.woocommerce-page ul.products li.product.type-product a.added_to_cart {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--oom-gold);
  text-align: center;
  text-decoration: underline;
}

.woocommerce ul.products li.product.type-product a.added_to_cart:hover,
.woocommerce-page ul.products li.product.type-product a.added_to_cart:hover {
  color: var(--oom-gold-hover);
}

/* Category Collection Cards (Displayed on /our-products/) */
.woocommerce ul.products li.product-category.product,
.woocommerce-page ul.products li.product-category.product {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  overflow: hidden;
  box-shadow: var(--oom-shadow-sm);
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.woocommerce ul.products li.product-category.product:hover,
.woocommerce-page ul.products li.product-category.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--oom-shadow-md);
  border-color: var(--oom-gold);
}

.woocommerce ul.products li.product-category.product a,
.woocommerce-page ul.products li.product-category.product a {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}

.woocommerce ul.products li.product-category.product img,
.woocommerce-page ul.products li.product-category.product img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  transition: transform 0.3s ease;
  display: block;
  margin: 0;
}

.woocommerce ul.products li.product-category.product:hover img,
.woocommerce-page ul.products li.product-category.product:hover img {
  transform: scale(1.05);
}

.woocommerce ul.products li.product-category.product .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product-category.product .woocommerce-loop-category__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f172a;
  padding: 0.85rem 1rem;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #ffffff;
  border-top: 1px solid #f1f5f9;
  flex-grow: 1;
  transition: color 0.2s ease;
}

.woocommerce ul.products li.product-category.product .woocommerce-loop-category__title mark.count,
.woocommerce-page ul.products li.product-category.product .woocommerce-loop-category__title mark.count {
  background-color: #f1f5f9;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 9999px;
  margin-left: 0.5rem;
  transition: all 0.2s ease;
}

.woocommerce ul.products li.product-category.product:hover .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product-category.product:hover .woocommerce-loop-category__title {
  color: var(--oom-gold-hover);
}

.woocommerce ul.products li.product-category.product:hover .woocommerce-loop-category__title mark.count,
.woocommerce-page ul.products li.product-category.product:hover .woocommerce-loop-category__title mark.count {
  background-color: #fef3c7;
  color: #92400e;
}

/* Sale Badges on Products */
.woocommerce ul.products li.product span.onsale,
.woocommerce-page ul.products li.product span.onsale {
  position: absolute !important;
  top: 0.85rem !important;
  left: 0.85rem !important;
  right: auto !important;
  bottom: auto !important;
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-weight: 800 !important;
  font-size: 0.65rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0.25rem 0.6rem !important;
  border-radius: 4px !important;
  min-height: auto !important;
  line-height: 1.2 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  z-index: 2 !important;
}

/* WooCommerce Pagination */
.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
  text-align: center;
  margin: 3rem 0 1.5rem 0;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: none;
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul li {
  border: none;
  float: none;
  display: inline-block;
  margin: 0;
  padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-page nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span {
  border: 1px solid var(--oom-border-light);
  border-radius: 6px;
  padding: 0.5rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #334155;
  background-color: #ffffff;
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  box-shadow: var(--oom-shadow-sm);
  text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li span.current {
  background-color: var(--oom-charcoal) !important;
  color: var(--oom-gold) !important;
  border-color: var(--oom-charcoal) !important;
  font-weight: 700 !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce-page nav.woocommerce-pagination ul li a:hover {
  border-color: var(--oom-gold);
  color: var(--oom-gold-hover);
  background-color: #fdf8ef;
}

/* Shop Sidebar Widgets */
.oom-shop-sidebar .widget {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.5rem;
  box-shadow: var(--oom-shadow-sm);
}

.oom-shop-sidebar .widget-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--oom-charcoal);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-bottom: 0.6rem;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid var(--oom-gold);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.oom-shop-sidebar .widget_product_categories ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.oom-shop-sidebar .widget_product_categories ul li {
  padding: 0.5rem 0;
  border-bottom: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
}

.oom-shop-sidebar .widget_product_categories ul li:last-child {
  border-bottom: none;
}

.oom-shop-sidebar .widget_product_categories ul li a {
  color: #475569;
  text-decoration: none;
  transition: color 0.2s ease;
}

.oom-shop-sidebar .widget_product_categories ul li a:hover {
  color: var(--oom-gold-hover);
}

.oom-shop-sidebar .widget_product_categories ul li .count {
  background-color: #f1f5f9;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 9999px;
}

/* Price Filter Slider Widget */
.oom-shop-sidebar .widget_price_filter .price_slider {
  margin-bottom: 1rem;
  background-color: #e2e8f0;
  height: 6px;
  border-radius: 3px;
  position: relative;
}

.oom-shop-sidebar .widget_price_filter .ui-slider-range {
  background-color: var(--oom-gold) !important;
  height: 100%;
  border-radius: 3px;
  position: absolute;
}

.oom-shop-sidebar .widget_price_filter .ui-slider-handle {
  background-color: var(--oom-charcoal) !important;
  border: 2px solid var(--oom-gold) !important;
  border-radius: 50% !important;
  width: 16px !important;
  height: 16px !important;
  top: -5px !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

.oom-shop-sidebar .widget_price_filter .price_slider_amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
}

.oom-shop-sidebar .widget_price_filter .price_slider_amount .button {
  background-color: var(--oom-charcoal) !important;
  color: var(--oom-gold) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 0.4rem 0.85rem !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
}

/* ==========================================================================
   14. WooCommerce Single Product Modernization
   ========================================================================== */

.single-product div.product {
  position: relative;
}

@media (min-width: 768px) {
  .single-product div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
  }
}

.single-product div.product div.images {
  float: none !important;
  width: 100% !important;
  margin-bottom: 2rem !important;
}

.single-product div.product div.summary {
  float: none !important;
  width: 100% !important;
}

/* Gallery Styling */
.single-product .woocommerce-product-gallery {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.5rem;
  box-shadow: var(--oom-shadow-sm);
}

.single-product .woocommerce-product-gallery__image img {
  border-radius: 6px;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
  display: flex;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin-top: 1rem;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
  width: auto !important;
  float: none !important;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
  border: 2px solid var(--oom-border-light);
  border-radius: 6px;
  cursor: pointer;
  opacity: 0.7;
  transition: all 0.2s ease;
  width: 70px !important;
  height: 70px !important;
  object-fit: cover;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover {
  border-color: var(--oom-gold);
  opacity: 1;
}

/* Product Summary Typography & Pricing */
.single-product div.product .product_title {
  font-size: 1.85rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin-bottom: 0.75rem;
}

.single-product div.product p.price {
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 1.25rem !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.single-product div.product p.price del {
  color: var(--oom-text-muted);
  font-size: 1.15rem;
  font-weight: 500;
}

.single-product div.product p.price ins {
  text-decoration: none;
  color: #0f172a;
}

/* In Stock Badge */
.single-product div.product p.stock.in-stock {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background-color: #ecfdf5;
  color: #065f46;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  margin-bottom: 1.5rem;
}

.single-product div.product p.stock.in-stock::before {
  content: "●";
  color: #059669;
  font-size: 0.9rem;
}

.single-product div.product p.stock.out-of-stock {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background-color: #fef2f2;
  color: #991b1b;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  margin-bottom: 1.5rem;
}

/* Short Description (Positioned below elevated Add to Cart & Wishlist) */
.single-product .woocommerce-product-details__short-description {
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.65;
  margin-top: 1.5rem;
  margin-bottom: 1.75rem;
}

/* Add to Cart Form & Quantity Stepper (Elevated directly beneath price) */
.single-product div.product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
  margin: 1.25rem 0 1.5rem 0 !important;
  padding: 1.25rem 0 !important;
  border-top: 1px solid var(--oom-border-light) !important;
  border-bottom: 1px solid var(--oom-border-light) !important;
}

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

/* Senior-Friendly Quantity Stepper (52px Touch Target) */
.single-product div.product form.cart .quantity .qty {
  height: 52px !important;
  min-height: 52px !important;
  line-height: 50px !important;
  width: 80px !important;
  border: 1px solid var(--oom-border-light) !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background-color: #f8fafc !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  box-shadow: var(--oom-shadow-sm) !important;
  transition: all 0.2s ease !important;
  margin: 0 !important;
}

.single-product div.product form.cart .quantity .qty:focus {
  outline: none !important;
  border-color: var(--oom-gold) !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15) !important;
}

/* Add to Cart Button (High-Contrast Charcoal, 52px Senior Touch Target) */
.single-product div.product form.cart button.single_add_to_cart_button {
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  line-height: 48px !important;
  background-color: var(--oom-charcoal) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  padding: 0 1.75rem !important;
  border-radius: 8px !important;
  border: 2px solid var(--oom-charcoal) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  float: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  box-shadow: var(--oom-shadow-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  vertical-align: middle !important;
}

.single-product div.product form.cart button.single_add_to_cart_button:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: var(--oom-shadow-md) !important;
}

/* Direct "Buy Now" Fast-Track Button (Bullion Gold, 52px Senior Touch Target) */
.single-product div.product form.cart button.oom-buy-now-btn {
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  line-height: 48px !important;
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  padding: 0 1.75rem !important;
  border-radius: 8px !important;
  border: 2px solid var(--oom-gold) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  float: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(203, 160, 82, 0.28) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  vertical-align: middle !important;
}

.single-product div.product form.cart button.oom-buy-now-btn:hover {
  background-color: var(--oom-gold-hover) !important;
  border-color: var(--oom-gold-hover) !important;
  color: #000000 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(203, 160, 82, 0.38) !important;
}

.single-product div.product form.cart button.oom-buy-now-btn:focus-visible {
  outline: 3px solid #2563eb !important;
  outline-offset: 2px !important;
}

.single-product div.product form.cart button.oom-buy-now-btn.oom-btn-loading {
  opacity: 0.85;
  cursor: wait !important;
  pointer-events: none;
}

.single-product div.product form.cart button.oom-buy-now-btn .oom-buy-now-icon {
  font-size: 1.1rem;
}

/* TI WooCommerce Wishlist Integration on Single Product */
.single-product div.product form.cart .tinv-wraper {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
}

.single-product div.product form.cart .tinvwl_add_to_wishlist_button {
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  line-height: 48px !important;
  padding: 0 1.25rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background-color: #ffffff !important;
  color: var(--oom-charcoal) !important;
  border: 2px solid var(--oom-border-light) !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  float: none !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  transition: all 0.2s ease !important;
  box-shadow: var(--oom-shadow-sm) !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}

.single-product div.product form.cart .tinvwl_add_to_wishlist_button:hover {
  background-color: #f8fafc !important;
  border-color: var(--oom-gold) !important;
  color: var(--oom-gold) !important;
  transform: translateY(-1px);
  box-shadow: var(--oom-shadow-md) !important;
}

/* Responsive Stacking for Senior-Friendly Mobile Ergonomics */
@media (max-width: 640px) {
  .single-product div.product form.cart {
    gap: 0.75rem !important;
  }
  .single-product div.product form.cart .quantity {
    width: 100% !important;
  }
  .single-product div.product form.cart .quantity .qty {
    width: 100% !important;
  }
  .single-product div.product form.cart button.single_add_to_cart_button,
  .single-product div.product form.cart button.oom-buy-now-btn,
  .single-product div.product form.cart .tinv-wraper,
  .single-product div.product form.cart .tinvwl_add_to_wishlist_button {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Product Meta (SKU, Categories, Tags) */
.single-product div.product .product_meta {
  font-size: 0.85rem;
  color: #64748b;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.single-product div.product .product_meta span {
  font-weight: 600;
  color: #334155;
}

.single-product div.product .product_meta a {
  font-weight: 400;
  color: var(--oom-charcoal);
  text-decoration: underline;
  text-decoration-color: var(--oom-border-light);
  transition: color 0.2s ease;
}

.single-product div.product .product_meta a:hover {
  color: var(--oom-gold-hover);
}

/* Tabs & Product Panels (Description, Reviews) */
.single-product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: 2.5rem;
}

.single-product .woocommerce-tabs ul.wc-tabs {
  display: flex;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 2px solid var(--oom-border-light);
}

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

.single-product .woocommerce-tabs ul.wc-tabs li a {
  display: block;
  padding: 0.85rem 1.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s ease;
}

.single-product .woocommerce-tabs ul.wc-tabs li.active a,
.single-product .woocommerce-tabs ul.wc-tabs li a:hover {
  color: #0f172a;
  border-bottom-color: var(--oom-gold);
  font-weight: 700;
}

.single-product .woocommerce-tabs .panel {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: 0 0 var(--oom-radius) var(--oom-radius);
  padding: 2rem;
  box-shadow: var(--oom-shadow-sm);
  margin-top: 0 !important;
}

.single-product .woocommerce-tabs .panel h2 {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 1rem;
}

/* Related Products Section */
.single-product section.related.products {
  grid-column: 1 / -1;
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--oom-border-light);
}

.single-product section.related.products > h2 {
  font-size: 1.5rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin-bottom: 1.75rem;
}

/* ==========================================================================
   15. WooCommerce Cart & Checkout Modernization
   ========================================================================== */

/* Remove standard card styling for cart and checkout to allow standalone cards */
.woocommerce-cart .oom-page-card,
.woocommerce-checkout .oom-page-card {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.woocommerce-cart .oom-entry-header,
.woocommerce-checkout .oom-entry-header {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.75rem 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--oom-shadow-sm);
  border-left: 4px solid var(--oom-gold);
}

.woocommerce-cart .oom-page-title-main,
.woocommerce-checkout .oom-page-title-main {
  font-size: 1.85rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.2;
}

/* Cart Page Desktop 2-Column Grid */
.woocommerce-cart .woocommerce {
  display: block;
}

@media (min-width: 1024px) {
  .woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 2rem;
    align-items: start;
  }
  .woocommerce-cart .woocommerce .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
  }
  .woocommerce-cart .woocommerce .woocommerce-cart-form {
    grid-column: 1;
  }
  .woocommerce-cart .woocommerce .cart-collaterals {
    grid-column: 2;
    position: sticky;
    top: 2rem;
  }
}

/* Cart Form Container Card */
.woocommerce-cart .woocommerce-cart-form {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.75rem;
  box-shadow: var(--oom-shadow-sm);
}

/* Shop Table / Cart Items Table */
.woocommerce table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  width: 100% !important;
  margin-bottom: 1.5rem !important;
  border-radius: 6px !important;
}

.woocommerce table.shop_table th {
  background-color: #f8fafc !important;
  color: #475569 !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0.85rem 1rem !important;
  border-top: none !important;
  border-bottom: 1px solid var(--oom-border-light) !important;
  border-left: none !important;
  border-right: none !important;
}

.woocommerce table.shop_table th:first-child {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.woocommerce table.shop_table th:last-child {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.woocommerce table.shop_table td {
  padding: 1.25rem 1rem !important;
  border-top: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
  color: #1e293b !important;
}

.woocommerce table.shop_table tr:last-child td {
  border-bottom: none !important;
}

/* Remove Button */
.woocommerce table.shop_table td.product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background-color: #fef2f2 !important;
  color: #ef4444 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  line-height: 1 !important;
}

.woocommerce table.shop_table td.product-remove a.remove:hover {
  background-color: #ef4444 !important;
  color: #ffffff !important;
}

/* Product Thumbnail */
.woocommerce table.shop_table td.product-thumbnail img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  background-color: #f8fafc !important;
  border-radius: 6px !important;
  padding: 0.25rem !important;
  border: 1px solid var(--oom-border-light) !important;
  display: block;
}

/* Product Name */
.woocommerce table.shop_table td.product-name a {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  line-height: 1.4 !important;
  display: inline-block !important;
}

.woocommerce table.shop_table td.product-name a:hover {
  color: var(--oom-gold-hover) !important;
}

/* Product Price & Subtotal */
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
}

/* Quantity in Cart */
.woocommerce table.shop_table td.product-quantity .quantity .qty {
  height: 38px;
  width: 60px;
  border: 1px solid var(--oom-border-light);
  border-radius: 6px;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f172a;
  background-color: #f8fafc;
}

.woocommerce table.shop_table td.product-quantity .quantity .qty:focus {
  outline: none;
  border-color: var(--oom-gold);
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

/* Cart Actions Row (Coupon & Update Cart) */
.woocommerce table.shop_table td.actions {
  padding: 1.5rem 0 0.5rem 0 !important;
  border-top: 1px solid var(--oom-border-light) !important;
}

.woocommerce table.shop_table td.actions .coupon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  float: left;
}

.woocommerce table.shop_table td.actions .coupon input#coupon_code {
  height: 42px;
  border: 1px solid var(--oom-border-light);
  border-radius: 6px;
  padding: 0 0.85rem;
  font-size: 0.875rem;
  color: #0f172a;
  width: 170px;
  background-color: #f8fafc;
}

.woocommerce table.shop_table td.actions .coupon input#coupon_code:focus {
  outline: none;
  border-color: var(--oom-gold);
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.woocommerce table.shop_table td.actions .coupon button.button {
  height: 42px !important;
  background-color: var(--oom-charcoal) !important;
  color: var(--oom-gold) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  padding: 0 1.25rem !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  border: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.woocommerce table.shop_table td.actions .coupon button.button:hover {
  background-color: #1e293b !important;
  color: #ffffff !important;
}

.woocommerce table.shop_table td.actions > button.button {
  height: 42px !important;
  background-color: #ffffff !important;
  color: #475569 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  padding: 0 1.25rem !important;
  border-radius: 6px !important;
  border: 1px solid var(--oom-border-light) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  float: right;
}

.woocommerce table.shop_table td.actions > button.button:hover {
  background-color: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

@media (max-width: 640px) {
  .woocommerce table.shop_table td.actions .coupon {
    float: none;
    width: 100%;
    margin-bottom: 1rem;
  }
  .woocommerce table.shop_table td.actions .coupon input#coupon_code {
    flex-grow: 1;
    width: auto;
  }
  .woocommerce table.shop_table td.actions > button.button {
    float: none;
    width: 100%;
  }
}

/* Cart Totals Box */
.woocommerce-cart .cart-collaterals {
  width: 100%;
}

.woocommerce-cart .cart_totals {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 1.75rem;
  box-shadow: var(--oom-shadow-sm);
  width: 100% !important;
  float: none !important;
  border-top: 4px solid var(--oom-gold);
}

.woocommerce-cart .cart_totals > h2 {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--oom-border-light);
}

.woocommerce-cart .cart_totals table.shop_table {
  margin-bottom: 1.5rem !important;
}

.woocommerce-cart .cart_totals table.shop_table th {
  background: none !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  width: 35%;
}

.woocommerce-cart .cart_totals table.shop_table td {
  padding: 0.75rem 0 !important;
  text-align: right !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
  border-top: 2px solid var(--oom-border-light) !important;
  border-bottom: none !important;
  padding-top: 1rem !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

/* Proceed to Checkout Button */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 52px !important;
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border-radius: 6px !important;
  border: none !important;
  box-shadow: var(--oom-shadow-sm) !important;
  transition: all 0.2s ease !important;
  margin-top: 1.25rem !important;
  cursor: pointer !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: var(--oom-gold-hover) !important;
  transform: translateY(-2px);
  box-shadow: var(--oom-shadow-md) !important;
}

/* Shipping Calculator Styling */
.woocommerce-cart .shipping-calculator-button {
  color: var(--oom-gold-hover);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: underline;
}

.woocommerce-cart .shipping-calculator-form {
  margin-top: 1rem;
  text-align: left;
}

.woocommerce-cart .shipping-calculator-form .form-row {
  margin-bottom: 0.75rem;
  padding: 0;
}

.woocommerce-cart .shipping-calculator-form select,
.woocommerce-cart .shipping-calculator-form input.input-text {
  width: 100%;
  height: 38px;
  font-size: 0.8125rem;
  border: 1px solid var(--oom-border-light);
  border-radius: 4px;
  padding: 0 0.65rem;
  background-color: #f8fafc;
}

.woocommerce-cart .shipping-calculator-form button.button {
  background-color: var(--oom-charcoal) !important;
  color: var(--oom-gold) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 0.45rem 1rem !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  width: 100%;
}

/* Cart Trust Badges */
.oom-cart-security-badge-box {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--oom-border-light);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.oom-cart-sec-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: #64748b;
  font-weight: 500;
}

.oom-cart-sec-item i {
  color: var(--oom-gold);
  font-size: 0.875rem;
  width: 16px;
  text-align: center;
}

/* Empty Cart Styling */
.woocommerce-cart .wc-empty-cart-message {
  text-align: center;
  margin: 3rem 0 1.5rem 0;
}

.woocommerce-cart .wc-empty-cart-message .cart-empty {
  background-color: #ffffff !important;
  border: 1px solid var(--oom-border-light) !important;
  border-radius: var(--oom-radius) !important;
  padding: 3rem 2rem !important;
  font-size: 1.15rem !important;
  color: #475569 !important;
  box-shadow: var(--oom-shadow-sm) !important;
  border-top: 4px solid var(--oom-gold) !important;
  text-align: center !important;
}

.woocommerce-cart .wc-empty-cart-message .cart-empty::before {
  display: none !important;
}

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

.woocommerce-cart .return-to-shop a.button.wc-backward {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.85rem 2.25rem !important;
  background-color: var(--oom-charcoal) !important;
  color: var(--oom-gold) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border-radius: 6px !important;
  box-shadow: var(--oom-shadow-sm) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.woocommerce-cart .return-to-shop a.button.wc-backward:hover {
  background-color: #1e293b !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: var(--oom-shadow-md) !important;
}

/* Checkout notices: Reassuring, Clear, Senior-Friendly */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info {
  position: relative !important;
  background-color: #f8fafc !important;
  border: 1px solid var(--oom-border-light) !important;
  border-left: 4px solid var(--oom-gold) !important;
  border-radius: var(--oom-radius) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
  margin-bottom: 1.5rem !important;
  padding: 1.15rem 1.5rem 1.15rem 3.5rem !important;
  box-shadow: var(--oom-shadow-sm) !important;
  line-height: 1.55 !important;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info::before {
  color: var(--oom-gold) !important;
  position: absolute !important;
  top: 1.15rem !important;
  left: 1.25rem !important;
  font-size: 1.15rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info a {
  color: var(--oom-gold-hover) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
  background-color: #ffffff !important;
  border: 1px solid var(--oom-border-light) !important;
  border-radius: var(--oom-radius) !important;
  padding: 1.75rem !important;
  box-shadow: var(--oom-shadow-sm) !important;
  margin-bottom: 2rem !important;
}

/* Checkout Desktop 2-Column Grid */
@media (min-width: 1024px) {
  .woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 2.5rem;
    align-items: start;
  }
  .woocommerce-checkout #customer_details {
    grid-column: 1;
  }
  .woocommerce-checkout #order_review_heading {
    display: none;
  }
  .woocommerce-checkout #order_review {
    grid-column: 2;
    position: sticky;
    top: 2rem;
  }
}

/* Customer Details (Billing & Shipping) */
.woocommerce-checkout #customer_details {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 2rem;
  box-shadow: var(--oom-shadow-sm);
  width: 100% !important;
  float: none !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin-bottom: 2rem;
}

.woocommerce-checkout #customer_details .col-2 {
  margin-bottom: 0;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem 0;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid var(--oom-gold);
}

.woocommerce-checkout .form-row {
  margin-bottom: 1.5rem;
  padding: 0;
}

.woocommerce-checkout .form-row label {
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.45rem;
}

.woocommerce-checkout .form-row label .required {
  color: #dc2626;
  font-weight: 800;
  font-size: 1.1rem;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--oom-border-light);
  border-radius: 8px;
  padding: 0 1rem;
  font-size: 16px !important; /* Critical: Stops iOS Safari auto-zoom disorientation */
  color: #0f172a;
  background-color: #f8fafc;
  transition: all 0.2s ease;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03);
}

.woocommerce-checkout .form-row textarea {
  min-height: 100px;
  padding: 0.85rem 1rem;
  line-height: 1.5;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  outline: none;
  border-color: var(--oom-gold);
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(203, 160, 82, 0.22);
}

/* Order Review Box */
.woocommerce-checkout #order_review {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 2rem;
  box-shadow: var(--oom-shadow-sm);
  border-top: 4px solid var(--oom-gold);
}

.woocommerce-checkout #order_review::before {
  content: "Your Order Summary";
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin-bottom: 1.25rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--oom-border-light);
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  margin-bottom: 1.5rem !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
  padding: 0.75rem 0 !important;
  font-size: 0.875rem !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: none !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name {
  font-weight: 600 !important;
  color: #1e293b !important;
}

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

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
  border-top: 2px solid var(--oom-border-light) !important;
  border-bottom: none !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  padding-top: 1rem !important;
}

/* Payment Methods Box */
.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 1.5rem;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--oom-border-light) !important;
  padding: 0 0 1.25rem 0 !important;
  margin-bottom: 1.25rem !important;
  list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background-color: #f8fafc;
  border: 2px solid var(--oom-border-light);
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 0.875rem;
  transition: all 0.2s ease;
  min-height: 56px;
}

.woocommerce-checkout #payment ul.payment_methods li.is-selected,
.woocommerce-checkout #payment ul.payment_methods li:has(input[type="radio"]:checked) {
  border-color: var(--oom-gold);
  background-color: #fdfbf7;
  box-shadow: 0 2px 8px rgba(203, 160, 82, 0.15);
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: #cbd5e1;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--oom-gold);
  width: 22px;
  height: 22px;
  margin-right: 0.75rem;
  cursor: pointer;
  vertical-align: middle;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 700;
  color: #0f172a;
  font-size: 1.05rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.woocommerce-checkout #payment div.payment_box {
  background-color: #ffffff !important;
  border: 1px solid var(--oom-border-light) !important;
  border-radius: 6px !important;
  padding: 1.15rem 1.25rem !important;
  margin-top: 0.85rem !important;
  font-size: 0.92rem !important;
  color: #334155 !important;
  line-height: 1.65 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

.woocommerce-checkout #payment button#place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 56px !important;
  background-color: var(--oom-gold) !important;
  color: var(--oom-charcoal) !important;
  font-size: 1.125rem !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  border-radius: 8px !important;
  border: 2px solid var(--oom-gold) !important;
  box-shadow: 0 4px 14px rgba(203, 160, 82, 0.32) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment button#place_order:hover {
  background-color: var(--oom-gold-hover) !important;
  border-color: var(--oom-gold-hover) !important;
  color: #000000 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(203, 160, 82, 0.42) !important;
}

.woocommerce-checkout #payment button#place_order:focus-visible {
  outline: 3px solid #2563eb !important;
  outline-offset: 3px !important;
}

/* Order Received / Thank You Page */
.woocommerce-order-received .woocommerce-thankyou-order-received {
  background-color: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  border-left: 4px solid #059669 !important;
  border-radius: var(--oom-radius) !important;
  padding: 1.5rem 2rem !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #065f46 !important;
  margin-bottom: 2rem !important;
  box-shadow: var(--oom-shadow-sm) !important;
}

.woocommerce-order-received ul.order_details {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 1rem !important;
  list-style: none !important;
  padding: 1.5rem !important;
  margin: 0 0 2rem 0 !important;
  background-color: #ffffff !important;
  border: 1px solid var(--oom-border-light) !important;
  border-radius: var(--oom-radius) !important;
  box-shadow: var(--oom-shadow-sm) !important;
}

.woocommerce-order-received ul.order_details li {
  border-right: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8125rem !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.woocommerce-order-received ul.order_details li strong {
  display: block !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  text-transform: none !important;
  margin-top: 0.35rem !important;
}

.woocommerce-order-received .bacs_details {
  background-color: #fdf8ef !important;
  border: 1px solid rgba(217, 119, 6, 0.3) !important;
  border-radius: var(--oom-radius) !important;
  padding: 1.75rem !important;
  margin-bottom: 2rem !important;
}

.woocommerce-order-received .bacs_details h2,
.woocommerce-order-received .bacs_details h3 {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #78350f !important;
  margin-bottom: 1rem !important;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: var(--oom-radius);
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--oom-shadow-sm);
}

.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2 {
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem 0;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid var(--oom-gold);
}

/* ==========================================================================
   17. Back to Top Floating Arrow (Right-Side Vertically Centered)
   ========================================================================== */
.oom-back-to-top {
  position: fixed;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%) translateX(12px);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(15, 23, 42, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1.5px solid var(--oom-gold);
  color: var(--oom-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  cursor: pointer;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45), 0 0 12px rgba(203, 160, 82, 0.25);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

/* Active visible state triggered by JS upon scrolling past 250px */
.oom-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}

.oom-back-to-top:hover {
  background-color: var(--oom-gold);
  color: #0f172a;
  border-color: var(--oom-gold);
  transform: translateY(-50%) scale(1.12);
  box-shadow: 0 6px 22px rgba(203, 160, 82, 0.55), 0 0 16px rgba(203, 160, 82, 0.4);
}

.oom-back-to-top:focus-visible {
  outline: 2px solid var(--oom-gold);
  outline-offset: 3px;
}

.oom-back-to-top:active {
  transform: translateY(-50%) scale(0.94);
}

/* Mobile adjustments: reposition to lower-right corner with enlarged thumb touch target */
@media (max-width: 768px) {
  .oom-back-to-top {
    top: auto;
    bottom: 1.5rem;
    right: 1.25rem;
    width: 48px;
    height: 48px;
    font-size: 1.25rem;
    transform: translateY(16px);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5), 0 0 12px rgba(203, 160, 82, 0.3);
  }

  .oom-back-to-top.is-visible {
    transform: translateY(0);
  }

  .oom-back-to-top:hover {
    transform: translateY(-2px) scale(1.06);
  }

  .oom-back-to-top:active {
    transform: translateY(0) scale(0.94);
  }
}

/* ==========================================================================
   18. Live Metal Price Chart Cards & Shortcodes ([oom_gold_chart], [oom_silver_chart])
   ========================================================================== */
.oom-chart-card {
  background-color: var(--oom-charcoal);
  border: 1px solid var(--oom-border-dark);
  border-radius: var(--oom-radius);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  margin: 1.5rem 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.oom-chart-card:hover {
  border-color: rgba(203, 160, 82, 0.4);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.45);
}

.oom-gold-chart-card {
  border-top: 3px solid var(--oom-gold);
}

.oom-silver-chart-card {
  border-top: 3px solid #94a3b8;
}

.oom-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1.25rem;
  background-color: rgba(15, 23, 42, 0.85);
  border-bottom: 1px solid var(--oom-border-dark);
  flex-wrap: wrap;
  gap: 0.5rem;
}

.oom-chart-title {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  display: flex;
  align-items: center;
}

.oom-chart-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
  background-color: rgba(203, 160, 82, 0.15);
  color: var(--oom-gold);
  border: 1px solid rgba(203, 160, 82, 0.3);
}

.oom-silver-badge {
  background-color: rgba(148, 163, 184, 0.15);
  color: #cbd5e1;
  border-color: rgba(148, 163, 184, 0.3);
}

/* Pulsing Live indicator */
.oom-live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #22c55e;
  box-shadow: 0 0 8px #22c55e;
  animation: oomPulse 2s infinite ease-in-out;
}

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

/* Interactive Controls Toolbar */
.oom-chart-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  background-color: rgba(15, 23, 42, 0.6);
  border-bottom: 1px solid var(--oom-border-dark);
}

.oom-chart-toolbar-group {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.oom-chart-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0;
}

.oom-chart-select {
  background-color: #1e293b;
  border: 1px solid rgba(203, 160, 82, 0.25);
  border-radius: 4px;
  color: #f8fafc;
  font-size: 0.78rem;
  padding: 0.35rem 0.65rem;
  outline: none;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  line-height: 1.3;
}

.oom-chart-select:hover,
.oom-chart-select:focus {
  border-color: var(--oom-gold);
  box-shadow: 0 0 0 2px rgba(203, 160, 82, 0.15);
}

.oom-chart-select option {
  background-color: #0f172a;
  color: #f8fafc;
}

.oom-chart-toolbar-actions {
  margin-left: auto;
}

.oom-chart-refresh-btn {
  background: transparent;
  border: 1px solid rgba(203, 160, 82, 0.3);
  color: var(--oom-gold);
  padding: 0.35rem 0.75rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

.oom-chart-refresh-btn:hover {
  background-color: rgba(203, 160, 82, 0.15);
  color: #ffffff;
  border-color: var(--oom-gold);
}

.oom-chart-refresh-btn.is-spinning i {
  animation: oomSpin 0.8s linear infinite;
}

@keyframes oomSpin {
  100% {
    transform: rotate(360deg);
  }
}

/* Graphic Canvas Area */
.oom-chart-body {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #131722;
}

.oom-chart-body-native {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem;
  min-height: 240px;
  background: radial-gradient(circle at center, #1e2530 0%, #0d1117 100%);
}

.oom-chart-img-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
}

.oom-chart-img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
  transition: opacity 0.25s ease;
}

.oom-chart-img.is-updating {
  opacity: 0.35;
}

.oom-chart-loader {
  position: absolute;
  inset: 0;
  background: rgba(13, 17, 23, 0.75);
  backdrop-filter: blur(2px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10;
  color: var(--oom-gold);
}

.oom-chart-loader.is-active {
  display: flex;
}

.oom-chart-fallback {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #94a3b8;
  font-size: 0.85rem;
  text-align: center;
}

/* Raw Containerless Image */
.oom-chart-img-container {
  display: inline-block;
  max-width: 100%;
  margin: 1rem 0;
}

/* Chart Footer / Attribution */
.oom-chart-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 1.25rem;
  background-color: rgba(15, 23, 42, 0.75);
  border-top: 1px solid var(--oom-border-dark);
  font-size: 0.72rem;
  color: #64748b;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.oom-chart-update-note {
  display: inline-flex;
  align-items: center;
  color: #94a3b8;
}

.oom-chart-source {
  color: #94a3b8;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: color 0.15s ease;
}

.oom-chart-source:hover {
  color: var(--oom-gold);
}

/* Responsive Mobile Rules for Chart Component */
@media (max-width: 640px) {
  .oom-chart-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
  }

  .oom-chart-toolbar-group {
    justify-content: space-between;
    width: 100%;
  }

  .oom-chart-select {
    flex: 1;
    max-width: 65%;
  }

  .oom-chart-toolbar-actions {
    margin-left: 0;
    width: 100%;
  }

  .oom-chart-refresh-btn {
    width: 100%;
    justify-content: center;
    padding: 0.5rem;
  }

  .oom-chart-header,
  .oom-chart-footer {
    padding: 0.75rem 1rem;
  }
}

/* ==========================================================================
   18.1. Compact Mini Chart Variant (.oom-chart-card-mini)
   ========================================================================== */
.oom-chart-card-mini {
  margin: 1rem 0;
}

.oom-chart-card-mini .oom-chart-header {
  padding: 0.6rem 1rem;
}

.oom-chart-card-mini .oom-chart-body-native {
  min-height: 180px;
  padding: 1rem;
}

.oom-chart-card-mini .oom-chart-footer {
  padding: 0.5rem 1rem;
}

/* ==========================================================================
   18.2. Hero 3-Banner Grid Chart Auto-Fit Integration (Slots 2 & 3)
   Precision auto-fit for [gold_chart type="mini"] and [silver_chart type="mini"]
   inside the 200.89px desktop side banner slots with zero clipping or overflow.
   ========================================================================== */
.oom-hero-slot-2 .oom-chart-card,
.oom-hero-slot-3 .oom-chart-card {
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  border-radius: var(--oom-radius-lg);
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  overflow: hidden !important;
  box-shadow: none;
  box-sizing: border-box;
}

.oom-hero-slot-2 .oom-chart-header,
.oom-hero-slot-3 .oom-chart-header {
  padding: 0.35rem 0.75rem !important;
  min-height: 28px;
  flex-shrink: 0;
}

.oom-hero-slot-2 .oom-chart-title,
.oom-hero-slot-3 .oom-chart-title {
  font-size: 0.78rem;
  font-weight: 700;
}

.oom-hero-slot-2 .oom-chart-badge,
.oom-hero-slot-3 .oom-chart-badge {
  font-size: 0.62rem;
  padding: 0.12rem 0.45rem;
}

.oom-hero-slot-2 .oom-chart-body-native,
.oom-hero-slot-3 .oom-chart-body-native {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 0.2rem 0.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: radial-gradient(circle at center, #1b222c 0%, #0d1117 100%);
}

.oom-hero-slot-2 .oom-chart-img-wrap,
.oom-hero-slot-3 .oom-chart-img-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  overflow: hidden;
}

.oom-hero-slot-2 .oom-chart-img,
.oom-hero-slot-3 .oom-chart-img {
  max-height: 100% !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.oom-hero-slot-2 .oom-chart-footer,
.oom-hero-slot-3 .oom-chart-footer {
  padding: 0.25rem 0.75rem !important;
  min-height: 24px;
  flex-shrink: 0;
  font-size: 0.68rem;
}

.oom-hero-slot-2 .oom-chart-update-note,
.oom-hero-slot-3 .oom-chart-update-note {
  font-size: 0.68rem;
}

.oom-hero-slot-2 .oom-chart-source,
.oom-hero-slot-3 .oom-chart-source {
  font-size: 0.68rem;
}

/* Tablet & Mobile Hero Banner Chart Adaptations */
@media (max-width: 1023px) {
  .oom-hero-slot-2 .oom-chart-header,
  .oom-hero-slot-3 .oom-chart-header {
    padding: 0.3rem 0.65rem !important;
  }
  .oom-hero-slot-2 .oom-chart-footer,
  .oom-hero-slot-3 .oom-chart-footer {
    padding: 0.2rem 0.65rem !important;
  }
}

@media (max-width: 639px) {
  .oom-hero-slot-2 .oom-chart-title,
  .oom-hero-slot-3 .oom-chart-title {
    font-size: 0.72rem;
  }
  .oom-hero-slot-2 .oom-chart-footer,
  .oom-hero-slot-3 .oom-chart-footer {
    font-size: 0.62rem;
  }
}

/* ==========================================================================
   16. Quick Guides to Investing Section (APMEX-Style Educational Hub)
   ========================================================================== */
.oom-guides-section {
  padding: 3rem 0;
  background-color: #f8fafc;
  border-top: 1px solid var(--oom-border-light);
}

.oom-guides-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

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

@media (min-width: 1024px) {
  .oom-guides-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
}

.oom-guide-col {
  display: flex;
}

.oom-guide-card {
  background-color: #ffffff;
  border: 1px solid var(--oom-border-light);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  position: relative;
}

.oom-guide-card:hover {
  transform: translateY(-4px);
  border-color: var(--oom-gold);
  box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.08), 0 4px 8px -4px rgba(0, 0, 0, 0.04);
}

/* Card Background Cover Mode */
.oom-guide-card-has-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-color: rgba(255, 255, 255, 0.15);
}

.oom-guide-card-has-bg .oom-guide-title {
  color: #ffffff !important;
}

.oom-guide-card-has-bg .oom-guide-excerpt {
  color: #e2e8f0 !important;
}

.oom-guide-card-has-bg .oom-guide-badge {
  color: #ffffff !important;
  background: rgba(0, 0, 0, 0.45);
  padding: 0.2rem 0.55rem;
  border-radius: 9999px;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.oom-guide-card-has-bg .oom-guide-cta {
  color: var(--oom-gold-light) !important;
}

.oom-guide-card-has-bg:hover {
  border-color: var(--oom-gold);
}

.oom-guide-card-has-bg:hover .oom-guide-title {
  color: var(--oom-gold-light) !important;
}

/* Inline Card / Column Image */
.oom-guide-inline-img {
  width: 100%;
  height: 160px;
  overflow: hidden;
  position: relative;
  display: block;
}

.oom-guide-inline-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.oom-guide-card:hover .oom-guide-inline-img img,
.oom-guide-plain-link:hover .oom-guide-inline-img img,
.oom-guide-inline-img:hover img {
  transform: scale(1.06);
}

/* Unconstrained Plain Column (Card styling OFF) */
.oom-guide-plain {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0.25rem 0;
}

.oom-guide-plain .oom-guide-inline-img {
  border-radius: 10px;
  margin-bottom: 0.85rem;
}

.oom-guide-plain-content {
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--oom-charcoal);
}

.oom-guide-plain .oom-guide-title {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.oom-guide-plain .oom-guide-title a {
  color: #0f172a;
  text-decoration: none;
  transition: color 0.2s ease;
}

.oom-guide-plain .oom-guide-title a:hover {
  color: var(--oom-gold);
}

.oom-guide-plain .oom-guide-excerpt {
  color: #64748b;
  font-size: 0.8125rem;
  line-height: 1.55;
  margin-bottom: 0.75rem;
}

/* Header line with badge and mini icon pill */
.oom-guide-header-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  gap: 0.5rem;
}

.oom-guide-icon-pill {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  flex-shrink: 0;
}

/* Distinctive bullion gradients for pills */
.oom-guide-gold { background: linear-gradient(135deg, #1c1917 0%, #292524 100%); color: var(--oom-gold); }
.oom-guide-silver { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); color: #38bdf8; }
.oom-guide-copper { background: linear-gradient(135deg, #1f140e 0%, #2e1d15 100%); color: #f97316; }
.oom-guide-security { background: linear-gradient(135deg, #062117 0%, #0d3829 100%); color: #10b981; }

.oom-guide-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}

.oom-guide-badge {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--oom-gold);
}

.oom-guide-title {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.35;
  margin-bottom: 0.5rem;
  transition: color 0.2s ease;
}

.oom-guide-card:hover .oom-guide-title {
  color: var(--oom-gold);
}

.oom-guide-excerpt {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.55;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.oom-guide-cta {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--oom-gold);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: gap 0.2s ease, color 0.2s ease;
  margin-top: auto;
  text-decoration: none;
}

.oom-guide-card:hover .oom-guide-cta,
.oom-guide-plain:hover .oom-guide-cta {
  gap: 0.55rem;
  color: var(--oom-gold-hover);
}

/* ==========================================================================
   Homepage Daily Featured Product Rotation (Daily Spotlight)
   ========================================================================== */
.oom-daily-spotlight-section {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-top: 1px solid var(--oom-border-light);
  border-bottom: 1px solid var(--oom-border-light);
  padding: 4rem 0;
  position: relative;
}

.oom-daily-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--oom-gold);
  background: #fdf8ef;
  border: 1px solid rgba(203, 160, 82, 0.35);
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  margin-bottom: 0.65rem;
}

.oom-daily-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
}

.oom-daily-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(203, 160, 82, 0.25);
}

.oom-badge-new-today {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #ffffff !important;
  top: 0.75rem !important;
  right: 0.75rem !important;
  left: auto !important;
  font-weight: 800 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.05em !important;
  padding: 0.25rem 0.6rem !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.35) !important;
}

/* ==========================================================================
   Homepage Product Card Action Buttons (Buy Now Hero + Add to Cart Stack)
   ========================================================================== */
.oom-card-button-group {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-top: 0.85rem;
  width: 100%;
}

/* Primary Express Checkout Button (Hero Focus) */
.oom-btn-card-buy-now {
  width: 100%;
  min-height: 44px;
  background-color: var(--oom-gold) !important;
  color: #121518 !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  border-radius: 6px !important;
  border: 1px solid var(--oom-gold) !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(203, 160, 82, 0.28);
  transition: all 0.2s ease;
  letter-spacing: 0.02em;
}

.oom-btn-card-buy-now:hover {
  background-color: var(--oom-gold-hover) !important;
  border-color: var(--oom-gold-hover) !important;
  color: #000000 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(203, 160, 82, 0.42);
}

.oom-btn-card-buy-now .oom-btn-lightning {
  font-size: 1.05rem;
  line-height: 1;
}

/* Secondary Companion Button */
.oom-product-card .oom-btn-add-cart {
  width: 100%;
  min-height: 38px;
  margin-top: 0 !important;
  background-color: #1e293b !important;
  color: #fce7b2 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  padding: 0.45rem 0.75rem !important;
  border-radius: 6px !important;
  border: 1px solid #334155 !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.oom-product-card .oom-btn-add-cart:hover {
  background-color: #334155 !important;
  border-color: var(--oom-gold) !important;
  color: #ffffff !important;
}


