/*
Theme Name: BoldMart Bee
Theme URI: https://boldmart.com
Author: BoldMart
Author URI: https://boldmart.com
Description: Bold bee-themed WooCommerce store. Deep honeycomb dark palette, golden accents, Barlow Condensed display font. Designed for Elementor (free) + Essential Addons (free). Compatible with WooCommerce 8.0+.
Version: 2.0.0
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 8.0
WC requires at least: 8.0
WC tested up to: 9.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: boldmart-bee
Tags: e-commerce, woocommerce, elementor, dark, custom-colors, custom-logo, full-width-template, blog, right-sidebar
*/

/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root {
  --bm-bg:         #0f0e00;
  --bm-surface:    #1a1800;
  --bm-surface2:   #252200;
  --bm-accent:     #F5C400;
  --bm-accent2:    #ffda4a;
  --bm-text:       #fdf8e1;
  --bm-muted:      #a09660;
  --bm-border:     #2e2900;
  --bm-black:      #1A1A1A;
  --bm-font-d:     'Barlow Condensed', sans-serif;
  --bm-font-b:     'DM Sans', sans-serif;
  --bm-radius:     6px;
  --bm-ease:       cubic-bezier(.4,0,.2,1);
  --bm-shadow:     0 4px 24px rgba(0,0,0,.45);
}

/* =========================================================
   RESET & BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--bm-bg);
  color: var(--bm-text);
  font-family: var(--bm-font-b);
  font-size: 1rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: var(--bm-accent); text-decoration: none; transition: color .2s; }
a:hover { color: var(--bm-accent2); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; }
::selection { background: var(--bm-accent); color: var(--bm-black); }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bm-bg); }
::-webkit-scrollbar-thumb { background: var(--bm-border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--bm-accent); }

/* =========================================================
   TYPOGRAPHY
   ========================================================= */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--bm-font-d);
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: -.01em;
  color: var(--bm-text);
}
h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
h2 { font-size: clamp(2rem, 4.5vw, 3.5rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
h4 { font-size: 1.4rem; }
p { margin-bottom: 1.2rem; color: var(--bm-muted); }
p:last-child { margin-bottom: 0; }
strong { color: var(--bm-text); font-weight: 600; }
em { font-style: italic; }
blockquote {
  border-left: 3px solid var(--bm-accent);
  padding: 1rem 1.5rem;
  background: var(--bm-surface);
  border-radius: 0 var(--bm-radius) var(--bm-radius) 0;
  margin: 2rem 0;
  font-style: italic;
  color: var(--bm-muted);
}

/* =========================================================
   LAYOUT
   ========================================================= */
.bm-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
}
.bm-section { padding: 5rem 0; }
.bm-section-sm { padding: 3rem 0; }
.site-content { min-height: 60vh; }

/* =========================================================
   HONEYCOMB PATTERN
   ========================================================= */
.bm-hex-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50V18L28 2l28 16v32z' fill='none' stroke='%23F5C400' stroke-opacity='.07' stroke-width='1.2'/%3E%3Cpath d='M28 100L0 84V52L28 36l28 16v32z' fill='none' stroke='%23F5C400' stroke-opacity='.07' stroke-width='1.2'/%3E%3Cpath d='M56 66L28 50V18L56 2' fill='none' stroke='%23F5C400' stroke-opacity='.07' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* =========================================================
   BEE STRIPE
   ========================================================= */
.bm-bee-stripe {
  height: 9px;
  background: repeating-linear-gradient(
    90deg,
    var(--bm-black) 0, var(--bm-black) 20px,
    var(--bm-accent) 20px, var(--bm-accent) 40px
  );
}

/* =========================================================
   BUTTONS
   ========================================================= */
.bm-btn,
.wp-block-button__link,
.button,
button[type="submit"],
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 2rem;
  font-family: var(--bm-font-d);
  font-size: .95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  border: none;
  border-radius: var(--bm-radius);
  transition: all .22s var(--bm-ease);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.bm-btn-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt {
  background: var(--bm-accent) !important;
  color: var(--bm-black) !important;
}
.bm-btn-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button.alt:hover {
  background: var(--bm-accent2) !important;
  color: var(--bm-black) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(245,196,0,.3);
}
.bm-btn-outline {
  background: transparent;
  color: var(--bm-text);
  border: 2px solid var(--bm-border);
}
.bm-btn-outline:hover { border-color: var(--bm-accent); color: var(--bm-accent); }

/* =========================================================
   HEADER
   ========================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(15,14,0,.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--bm-border);
  transition: box-shadow .3s;
}
.site-header.scrolled { box-shadow: 0 4px 32px rgba(245,196,0,.08); }
.bm-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  height: 68px;
}

/* Logo */
.site-logo a,
.site-branding a {
  font-family: var(--bm-font-d);
  font-size: 1.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -.02em;
  color: #fff;
  display: flex;
  align-items: center;
  gap: .4rem;
  text-decoration: none;
}
.site-logo .accent-text { color: var(--bm-accent); }
.site-logo img { max-height: 44px; width: auto; }

/* Nav */
.main-navigation ul {
  display: flex;
  gap: 2.5rem;
  align-items: center;
}
.main-navigation ul li a {
  font-family: var(--bm-font-d);
  font-size: .9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--bm-muted);
  transition: color .2s;
  position: relative;
  text-decoration: none;
}
.main-navigation ul li a::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 0; height: 2px;
  background: var(--bm-accent);
  transition: width .25s;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current-page-ancestor > a {
  color: var(--bm-accent);
}
.main-navigation ul li a:hover::after,
.main-navigation ul li.current-menu-item > a::after { width: 100%; }

/* Dropdown */
.main-navigation ul li ul {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  flex-direction: column;
  gap: 0;
  background: var(--bm-surface);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  min-width: 180px;
  box-shadow: var(--bm-shadow);
  z-index: 300;
}
.main-navigation ul li { position: relative; }
.main-navigation ul li:hover > ul { display: flex; }
.main-navigation ul li ul li a {
  padding: .7rem 1.2rem;
  border-bottom: 1px solid var(--bm-border);
  width: 100%;
}
.main-navigation ul li ul li:last-child a { border-bottom: none; }

/* WooCommerce cart icon in header */
.bm-header-cart {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-family: var(--bm-font-d);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .5rem 1.1rem;
  background: var(--bm-accent);
  color: var(--bm-black);
  border-radius: var(--bm-radius);
  border: none;
  text-decoration: none;
  transition: background .2s;
}
.bm-header-cart:hover { background: var(--bm-accent2); color: var(--bm-black); }

/* Mobile menu toggle */
.bm-menu-toggle {
  display: none;
  background: none;
  border: 1px solid var(--bm-border);
  color: var(--bm-text);
  padding: .5rem .7rem;
  border-radius: var(--bm-radius);
  font-size: 1.2rem;
  line-height: 1;
}

/* =========================================================
   ANNOUNCEMENT BAR (used by EA Content Ticker or WP widget)
   ========================================================= */
.bm-announcement-bar {
  background: var(--bm-accent);
  padding: .65rem 0;
  overflow: hidden;
  white-space: nowrap;
}
.bm-announcement-bar .bm-marquee-track {
  display: inline-flex;
  animation: bm-marquee 22s linear infinite;
}
.bm-announcement-bar .bm-marquee-item {
  font-family: var(--bm-font-d);
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--bm-black);
  padding: 0 2rem;
  display: inline-flex;
  align-items: center;
  gap: .8rem;
}
.bm-announcement-bar .bm-marquee-item::after { content: '🐝'; font-size: .85rem; }
@keyframes bm-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* =========================================================
   PAGE HEADER (breadcrumb bar)
   ========================================================= */
.bm-page-header {
  background: var(--bm-surface);
  border-bottom: 1px solid var(--bm-border);
  padding: 3.5rem 0;
  position: relative;
  overflow: hidden;
}
.bm-page-header::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--bm-accent), var(--bm-accent2), transparent);
}
.bm-page-header h1 { font-size: clamp(2rem, 5vw, 4rem); margin-bottom: .5rem; }
.bm-page-header .bm-hex-bg { opacity: .5; }
.bm-breadcrumb {
  display: flex;
  gap: .5rem;
  font-size: .82rem;
  color: var(--bm-muted);
  margin-bottom: .75rem;
  flex-wrap: wrap;
}
.bm-breadcrumb a { color: var(--bm-accent); }
.bm-breadcrumb span + span::before { content: '/'; margin-right: .5rem; color: var(--bm-border); }

/* =========================================================
   HERO (for front-page / Elementor sections)
   ========================================================= */
.bm-hero {
  min-height: 92vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.bm-hero .bm-hero-glow {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 78% 50%, rgba(245,196,0,.13) 0%, transparent 70%),
    radial-gradient(ellipse 40% 55% at 12% 80%, rgba(245,196,0,.06) 0%, transparent 60%);
  pointer-events: none;
}
.bm-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--bm-font-d);
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--bm-accent);
  margin-bottom: 1.4rem;
}
.bm-hero-eyebrow::before { content: ''; width: 28px; height: 2px; background: var(--bm-accent); }
.bm-hero-title {
  font-size: clamp(3.8rem, 9.5vw, 8.5rem);
  font-weight: 800;
  line-height: .93;
  margin-bottom: 1.5rem;
  color: #fff;
}
.bm-hero-title .bm-accent { color: var(--bm-accent); display: block; }

/* =========================================================
   FEATURES BAR
   ========================================================= */
.bm-features-bar {
  background: var(--bm-surface);
  border-top: 1px solid var(--bm-border);
  border-bottom: 1px solid var(--bm-border);
}
.bm-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.bm-feature-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.7rem 2rem;
  border-right: 1px solid var(--bm-border);
}
.bm-feature-item:last-child { border-right: none; }
.bm-feature-icon { font-size: 1.8rem; flex-shrink: 0; }
.bm-feature-label {
  font-family: var(--bm-font-d);
  font-size: .95rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--bm-accent);
  display: block;
}
.bm-feature-sub { font-size: .82rem; color: var(--bm-muted); }

/* =========================================================
   CARDS (blog / generic)
   ========================================================= */
.bm-card {
  background: var(--bm-surface);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  overflow: hidden;
  transition: all .25s var(--bm-ease);
}
.bm-card:hover {
  border-color: var(--bm-accent);
  transform: translateY(-4px);
  box-shadow: 0 10px 40px rgba(245,196,0,.12);
}
.bm-card-thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--bm-surface2);
}
.bm-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.bm-card:hover .bm-card-thumb img { transform: scale(1.04); }
.bm-card-body { padding: 1.4rem; }
.bm-card-cat {
  font-family: var(--bm-font-d);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--bm-accent);
  margin-bottom: .5rem;
  display: block;
}
.bm-card-title {
  font-family: var(--bm-font-d);
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.2;
  margin-bottom: .7rem;
  transition: color .2s;
}
.bm-card:hover .bm-card-title { color: var(--bm-accent); }
.bm-card-excerpt { font-size: .88rem; color: var(--bm-muted); line-height: 1.65; margin-bottom: 1rem; }
.bm-card-meta { font-size: .78rem; color: var(--bm-muted); display: flex; gap: .9rem; flex-wrap: wrap; }

/* =========================================================
   BLOG GRID
   ========================================================= */
.bm-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.bm-posts-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

/* =========================================================
   SINGLE POST
   ========================================================= */
.bm-post-content {
  font-size: 1.02rem;
  line-height: 1.82;
  color: var(--bm-text);
  max-width: 720px;
}
.bm-post-content h2, .bm-post-content h3 {
  color: var(--bm-accent);
  margin: 2.2rem 0 1rem;
}
.bm-post-content p { color: var(--bm-muted); }
.bm-post-content a { color: var(--bm-accent); }
.bm-post-content ul, .bm-post-content ol {
  list-style: disc;
  padding-left: 1.5rem;
  margin-bottom: 1.2rem;
  color: var(--bm-muted);
}
.bm-post-content ol { list-style: decimal; }
.bm-post-content img {
  border-radius: var(--bm-radius);
  margin: 1.5rem 0;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.bm-layout-with-sidebar {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
.bm-sidebar-widget {
  background: var(--bm-surface);
  border: 1px solid var(--bm-border);
  border-top: 2px solid var(--bm-accent);
  border-radius: var(--bm-radius);
  padding: 1.4rem;
  margin-bottom: 1.5rem;
}
.bm-sidebar-widget .widget-title,
.bm-sidebar-widget h2,
.bm-sidebar-widget h3 {
  font-family: var(--bm-font-d);
  font-size: .9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--bm-accent);
  margin-bottom: 1.1rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--bm-border);
}
.bm-sidebar-widget ul li {
  padding: .5rem 0;
  border-bottom: 1px solid var(--bm-border);
  font-size: .88rem;
  color: var(--bm-muted);
}
.bm-sidebar-widget ul li:last-child { border-bottom: none; }
.bm-sidebar-widget ul li a { color: var(--bm-muted); transition: color .2s; }
.bm-sidebar-widget ul li a:hover { color: var(--bm-accent); }

/* =========================================================
   SHOP LAYOUT
   ========================================================= */
.bm-shop-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 3rem;
  align-items: start;
}
.bm-shop-sidebar {
  background: var(--bm-surface);
  border: 1px solid var(--bm-border);
  border-top: 2px solid var(--bm-accent);
  border-radius: var(--bm-radius);
  padding: 1.5rem;
  position: sticky;
  top: 88px;
}

/* =========================================================
   WOOCOMMERCE GLOBAL OVERRIDES
   ========================================================= */

/* Products grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product {
  background: var(--bm-surface) !important;
  border: 1px solid var(--bm-border) !important;
  border-radius: var(--bm-radius) !important;
  overflow: hidden !important;
  transition: all .25s var(--bm-ease) !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--bm-accent) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 40px rgba(245,196,0,.15) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  background: var(--bm-surface2) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  font-family: var(--bm-font-d) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  padding: .8rem 1rem .3rem !important;
  line-height: 1.2 !important;
}
.woocommerce ul.products li.product .price {
  font-family: var(--bm-font-d) !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  color: var(--bm-accent) !important;
  padding: 0 1rem .6rem !important;
}
.woocommerce ul.products li.product .price del { color: var(--bm-muted) !important; font-weight: 400 !important; }
.woocommerce ul.products li.product .price ins { color: var(--bm-accent) !important; text-decoration: none !important; }
.woocommerce ul.products li.product .button {
  margin: auto 1rem 1rem !important;
  width: calc(100% - 2rem) !important;
  text-align: center !important;
  font-family: var(--bm-font-d) !important;
  font-weight: 800 !important;
  font-size: .88rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  background: var(--bm-accent) !important;
  color: var(--bm-black) !important;
  border-radius: var(--bm-radius) !important;
  padding: .65rem !important;
  border: none !important;
}
.woocommerce ul.products li.product .button:hover {
  background: var(--bm-accent2) !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--bm-accent) !important;
  color: var(--bm-black) !important;
  font-family: var(--bm-font-d) !important;
  font-weight: 800 !important;
  font-size: .75rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  min-height: unset !important;
  min-width: unset !important;
  padding: .25rem .6rem !important;
  line-height: 1.5 !important;
}

/* Star ratings */
.woocommerce .star-rating::before,
.woocommerce .star-rating span::before { color: var(--bm-accent) !important; }

/* Single product */
.woocommerce div.product div.images img {
  border-radius: var(--bm-radius) !important;
  background: var(--bm-surface2) !important;
}
.woocommerce div.product .product_title {
  font-family: var(--bm-font-d) !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: #fff !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--bm-font-d) !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: var(--bm-accent) !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--bm-muted) !important;
  font-size: .95rem !important;
  line-height: 1.7 !important;
}

/* Qty input */
.woocommerce .quantity .qty {
  background: var(--bm-surface2) !important;
  border: 1px solid var(--bm-border) !important;
  color: var(--bm-text) !important;
  border-radius: var(--bm-radius) !important;
  font-family: var(--bm-font-b) !important;
  font-size: .95rem !important;
  padding: .5rem .75rem !important;
  width: 70px !important;
  text-align: center !important;
}

/* Cart & checkout tables */
.woocommerce table.shop_table {
  border: 1px solid var(--bm-border) !important;
  border-radius: var(--bm-radius) !important;
  overflow: hidden !important;
  border-collapse: collapse !important;
  width: 100% !important;
  background: var(--bm-surface) !important;
}
.woocommerce table.shop_table th {
  background: var(--bm-surface2) !important;
  color: var(--bm-accent) !important;
  font-family: var(--bm-font-d) !important;
  font-size: .82rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: .85rem 1rem !important;
  border-bottom: 1px solid var(--bm-border) !important;
  font-weight: 700 !important;
}
.woocommerce table.shop_table td {
  padding: .85rem 1rem !important;
  border-bottom: 1px solid var(--bm-border) !important;
  color: var(--bm-muted) !important;
  font-size: .9rem !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table .cart_item:last-child td { border-bottom: none !important; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart_totals {
  background: var(--bm-surface) !important;
  border: 1px solid var(--bm-border) !important;
  border-radius: var(--bm-radius) !important;
  padding: 1.5rem !important;
}
.woocommerce-cart-form .actions input[type="submit"],
.woocommerce .wc-proceed-to-checkout .checkout-button {
  background: var(--bm-accent) !important;
  color: var(--bm-black) !important;
  font-family: var(--bm-font-d) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  border-radius: var(--bm-radius) !important;
  border: none !important;
  padding: .9rem 2rem !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  transition: background .2s !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
}

/* Checkout form */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--bm-font-d) !important;
  font-size: 1.3rem !important;
  text-transform: uppercase !important;
  color: var(--bm-accent) !important;
  margin-bottom: 1rem !important;
}
.woocommerce form .form-row label {
  font-family: var(--bm-font-d) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--bm-muted) !important;
  margin-bottom: .3rem !important;
  display: block !important;
}
.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  background: var(--bm-surface2) !important;
  border: 1px solid var(--bm-border) !important;
  border-radius: var(--bm-radius) !important;
  color: var(--bm-text) !important;
  font-family: var(--bm-font-b) !important;
  font-size: .9rem !important;
  padding: .75rem 1rem !important;
  width: 100% !important;
  transition: border-color .2s !important;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--bm-accent) !important;
  outline: none !important;
}

/* Notices */
.woocommerce-message,
.woocommerce-info {
  background: var(--bm-surface) !important;
  border-top-color: var(--bm-accent) !important;
  color: var(--bm-text) !important;
  border-radius: 0 var(--bm-radius) var(--bm-radius) 0 !important;
}
.woocommerce-error {
  background: var(--bm-surface) !important;
  border-top-color: #e53935 !important;
  color: var(--bm-text) !important;
}

/* WooCommerce tabs on single product */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--bm-surface) !important;
  border-color: var(--bm-border) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--bm-surface2) !important;
  border-bottom-color: var(--bm-surface2) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--bm-font-d) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: var(--bm-muted) !important;
  font-size: .88rem !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bm-accent) !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--bm-surface2) !important;
  border: 1px solid var(--bm-border) !important;
  border-radius: 0 var(--bm-radius) var(--bm-radius) var(--bm-radius) !important;
  padding: 1.5rem !important;
  color: var(--bm-muted) !important;
}

/* Widget: Filter by price */
.widget_price_filter .price_slider_wrapper .price_slider {
  background: var(--bm-border) !important;
}
.widget_price_filter .price_slider_wrapper .ui-slider-range,
.widget_price_filter .price_slider_wrapper .ui-slider-handle {
  background: var(--bm-accent) !important;
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer {
  background: var(--bm-surface);
  border-top: 3px solid var(--bm-accent);
  padding: 4rem 0 2rem;
  position: relative;
  overflow: hidden;
}
.bm-footer-hex {
  position: absolute;
  inset: 0;
  opacity: .03;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50V18L28 2l28 16v32z' fill='none' stroke='%23F5C400' stroke-width='2'/%3E%3Cpath d='M28 100L0 84V52L28 36l28 16v32z' fill='none' stroke='%23F5C400' stroke-width='2'/%3E%3C/svg%3E");
}
.bm-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 3rem;
  position: relative;
  z-index: 1;
}
.bm-footer-brand .bm-footer-logo {
  font-family: var(--bm-font-d);
  font-size: 1.5rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .9rem;
  text-decoration: none;
}
.bm-footer-brand .bm-footer-logo .accent { color: var(--bm-accent); }
.bm-footer-brand p { font-size: .88rem; color: var(--bm-muted); line-height: 1.65; max-width: 240px; }
.bm-footer-col h4 {
  font-family: var(--bm-font-d);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--bm-muted);
  margin-bottom: 1.2rem;
}
.bm-footer-col ul li { margin-bottom: .65rem; }
.bm-footer-col ul li a { font-size: .9rem; color: var(--bm-muted); transition: color .2s; }
.bm-footer-col ul li a:hover { color: var(--bm-accent); }
.bm-footer-bottom {
  border-top: 1px solid var(--bm-border);
  padding-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.bm-footer-copy { font-size: .82rem; color: var(--bm-muted); }
.bm-social-icons { display: flex; gap: .8rem; }
.bm-social-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--bm-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: var(--bm-muted);
  transition: all .2s;
}
.bm-social-icon:hover { border-color: var(--bm-accent); color: var(--bm-accent); }
/* WordPress widget areas in footer */
.footer-widgets-area .widget { margin-bottom: 0; }
.footer-widgets-area .widget-title {
  font-family: var(--bm-font-d);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--bm-muted);
  margin-bottom: 1.2rem;
}

/* =========================================================
   FORMS (contact, search, comments)
   ========================================================= */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select {
  background: var(--bm-surface2);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  color: var(--bm-text);
  font-family: var(--bm-font-b);
  font-size: .95rem;
  padding: .75rem 1rem;
  width: 100%;
  transition: border-color .2s;
  outline: none;
}
input:focus, textarea:focus, select:focus { border-color: var(--bm-accent); }
input::placeholder, textarea::placeholder { color: var(--bm-muted); }
select { appearance: none; }
label {
  font-family: var(--bm-font-d);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--bm-muted);
  margin-bottom: .3rem;
  display: block;
}

/* Contact Form 7 */
.wpcf7-form input[type="submit"],
.wpcf7-submit {
  background: var(--bm-accent) !important;
  color: var(--bm-black) !important;
  font-family: var(--bm-font-d) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: .85rem 2rem !important;
  border: none !important;
  border-radius: var(--bm-radius) !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
.wpcf7-submit:hover { background: var(--bm-accent2) !important; }
.wpcf7-response-output {
  border-color: var(--bm-accent) !important;
  background: var(--bm-surface) !important;
  color: var(--bm-text) !important;
  border-radius: var(--bm-radius) !important;
  padding: .8rem 1.2rem !important;
  font-size: .88rem !important;
}

/* =========================================================
   COMMENTS
   ========================================================= */
.comment-content { color: var(--bm-muted); line-height: 1.7; }
.comment-respond { background: var(--bm-surface); border: 1px solid var(--bm-border); border-radius: var(--bm-radius); padding: 2rem; }
.comment-respond h3 { color: var(--bm-accent); font-size: 1.3rem; margin-bottom: 1.2rem; }
.comment-form input[type="submit"] { background: var(--bm-accent); color: var(--bm-black); }

/* =========================================================
   PAGINATION
   ========================================================= */
.bm-pagination,
.woocommerce-pagination {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-top: 3rem;
}
.bm-pagination a,
.bm-pagination span,
.woocommerce-pagination a,
.woocommerce-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: var(--bm-surface);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  font-family: var(--bm-font-d);
  font-size: .9rem;
  font-weight: 700;
  color: var(--bm-muted);
  transition: all .2s;
}
.bm-pagination a:hover,
.bm-pagination .current,
.woocommerce-pagination a:hover,
.woocommerce-pagination span.current {
  background: var(--bm-accent);
  color: var(--bm-black);
  border-color: var(--bm-accent);
}

/* =========================================================
   SECTION HEADINGS
   ========================================================= */
.bm-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2.8rem;
  gap: 1rem;
  flex-wrap: wrap;
}
.bm-section-title { color: #fff; }
.bm-section-title .accent { color: var(--bm-accent); }
.bm-link-more {
  font-family: var(--bm-font-d);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--bm-accent);
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  transition: gap .2s;
}
.bm-link-more:hover { gap: .7rem; }

/* Divider */
.bm-hive-divider {
  text-align: center;
  padding: .8rem 0;
  font-size: 1.5rem;
  letter-spacing: .5rem;
  opacity: .25;
  user-select: none;
  color: var(--bm-accent);
}

/* =========================================================
   PROMO BANNER
   ========================================================= */
.bm-promo {
  background: var(--bm-accent);
  border-radius: 14px;
  padding: clamp(2.5rem, 5vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  position: relative;
  overflow: hidden;
}
.bm-promo::before {
  content: '';
  position: absolute;
  right: -4%; top: -20%;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: rgba(0,0,0,.07);
  pointer-events: none;
}
.bm-promo-eyebrow {
  font-family: var(--bm-font-d);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: rgba(0,0,0,.55);
  margin-bottom: .4rem;
}
.bm-promo h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); color: var(--bm-black); }
.bm-promo p { color: rgba(0,0,0,.65); font-size: 1.05rem; }
.bm-promo .bm-promo-btn {
  background: var(--bm-black);
  color: var(--bm-accent);
  padding: .95rem 2.2rem;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
.bm-promo .bm-promo-btn:hover { background: var(--bm-surface2); }

/* =========================================================
   ELEMENTOR COMPATIBILITY
   ========================================================= */

/* Ensure Elementor sections use our background */
.elementor-section,
.elementor-container {
  position: relative;
}

/* Elementor button overrides to match theme */
.elementor-button-wrapper .elementor-button {
  font-family: var(--bm-font-d) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  border-radius: var(--bm-radius) !important;
}

/* EA Info Box */
.eael-info-box-title {
  font-family: var(--bm-font-d) !important;
  text-transform: uppercase !important;
}

/* EA Dual Color Heading */
.eael-dual-header-first-part,
.eael-dual-header-second-part {
  font-family: var(--bm-font-d) !important;
  text-transform: uppercase !important;
}

/* EA Woo Product Grid — style tweaks to match theme */
.eael-product-grid .eael-product-wrap {
  background: var(--bm-surface) !important;
  border: 1px solid var(--bm-border) !important;
  border-radius: var(--bm-radius) !important;
}
.eael-product-grid .eael-product-wrap:hover {
  border-color: var(--bm-accent) !important;
}
.eael-product-grid .eael-product-title a {
  font-family: var(--bm-font-d) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #fff !important;
}
.eael-product-grid .eael-product-price {
  color: var(--bm-accent) !important;
  font-family: var(--bm-font-d) !important;
  font-weight: 800 !important;
}

/* EA Post Grid */
.eael-post-grid .eael-grid-post {
  background: var(--bm-surface) !important;
  border: 1px solid var(--bm-border) !important;
  border-radius: var(--bm-radius) !important;
}
.eael-post-grid .eael-grid-post-title a {
  font-family: var(--bm-font-d) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #fff !important;
}
.eael-post-grid .eael-grid-post-title a:hover { color: var(--bm-accent) !important; }

/* EA Content Ticker */
.eael-ticker-wrapper {
  background: var(--bm-accent) !important;
}
.eael-ticker-item-title, .eael-ticker-item-title a {
  color: var(--bm-black) !important;
  font-family: var(--bm-font-d) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
}

/* EA Call to Action */
.eael-cta-btn {
  font-family: var(--bm-font-d) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  background: var(--bm-black) !important;
  color: var(--bm-accent) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1100px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .bm-features-grid { grid-template-columns: repeat(2, 1fr); }
  .bm-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .bm-shop-layout { grid-template-columns: 1fr; }
  .bm-shop-sidebar { position: static; }
}
@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .bm-posts-grid { grid-template-columns: repeat(2, 1fr); }
  .bm-layout-with-sidebar { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .bm-container { padding: 0 1rem; }
  .main-navigation { display: none; }
  .main-navigation.toggled { display: flex; flex-direction: column; position: absolute; top: 68px; left: 0; right: 0; background: rgba(15,14,0,.98); padding: 1rem; border-bottom: 1px solid var(--bm-border); z-index: 199; }
  .main-navigation.toggled ul { flex-direction: column; gap: 0; }
  .main-navigation.toggled ul li a { padding: .85rem 1rem; border-bottom: 1px solid var(--bm-border); display: block; }
  .bm-menu-toggle { display: flex; align-items: center; }
  .bm-footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .bm-promo { flex-direction: column; }
  .bm-posts-grid { grid-template-columns: 1fr; }
  .bm-posts-grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
  }
  .bm-features-grid { grid-template-columns: 1fr 1fr; }
}
