/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme - Climb Research Labs
 Author:       Climb Research Labs
 Author URI:   https://climbresearchlabs.shop
 Template:     woodmart
 Version:      4.0.0
 Text Domain:  woodmart
*/

/* ================================================
   CLIMB RESEARCH LABS - DARK THEME v4
   Primary:    #D4A843 (gold)
   Secondary:  #7EB8DA (baby blue)
   Background: #0a0a0a
   Card BG:    #111111
   Border:     #1a1a1a
   Text:       #ffffff / #e0e0e0 / #999999
   ================================================ */

:root {
  --cr-gold: #D4A843;
  --cr-gold-hover: #e0b94f;
  --cr-gold-dark: #b8922f;
  --cr-blue: #7EB8DA;
  --cr-blue-hover: #9acae4;
  --cr-blue-dim: rgba(126, 184, 218, 0.12);
  --cr-blue-glow: rgba(126, 184, 218, 0.06);
  --cr-blue-border: rgba(126, 184, 218, 0.25);
  --cr-bg: #000000;
  --cr-bg-elevated: #0a0a0a;
  --cr-card: #111111;
  --cr-card-hover: #161616;
  --cr-border: #1a1a1a;
  --cr-border-light: #2a2a2a;
  --cr-text: #ffffff;
  --cr-text-secondary: #e0e0e0;
  --cr-text-muted: #999999;
  --cr-text-dim: #666666;
  --cr-danger: #dc2626;
  --wd-primary-color: #D4A843 !important;
  --wd-main-bgcolor: #000000 !important;
}

/* ============== GLOBAL / BODY ============== */
html, body,
.website-wrapper,
.main-page-wrapper,
.wd-page-content,
body.woodmart-ajax-shop-on,
.site-content,
.wd-content-area,
#content,
.container {
  background-color: var(--cr-bg) !important;
  color: var(--cr-text) !important;
}

.page :is(.wd-page-content, .whb-header),
.woodmart-archive-shop:not(.single-product) :is(.wd-page-content, .whb-header),
.single-product :is(.wd-page-content, .whb-header),
.woodmart-archive-blog :is(.wd-page-content, .whb-header),
.single-post :is(.wd-page-content, .whb-header) {
  background-color: var(--cr-bg) !important;
}

body {
  font-family: 'Inter', -apple-system, system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01em;
}

/* ============== TYPOGRAPHY ============== */
/* Primary headings — Space Grotesk for big impact */
h1, .product_title,
.page-title .entry-title {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--cr-text) !important;
  text-transform: uppercase;
}

/* Section headings — DM Sans for a softer contrast */
h2, h3,
.title,
.wd-entities-title,
.woodmart-title-container .title {
  font-family: 'DM Sans', -apple-system, system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: var(--cr-text) !important;
  text-transform: uppercase;
}

/* Smaller headings — Inter for clean readability */
h4, h5, h6 {
  font-family: 'Inter', -apple-system, system-ui, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: var(--cr-text) !important;
  text-transform: uppercase;
}

p, span, div, li, td, th, label, input, textarea, select {
  color: var(--cr-text-secondary);
}

a {
  color: var(--cr-text) !important;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--cr-gold) !important;
}

/* ============== HEADER ============== */
.whb-header,
.whb-main-header,
.whb-row,
.whb-top-bar,
.whb-general-header,
.whb-header-bottom,
.whb-sticky-header,
header.whb-header {
  background-color: var(--cr-bg) !important;
  border-color: var(--cr-border) !important;
}

.whb-top-bar {
  background-color: var(--cr-bg) !important;
  border-bottom: 1px solid var(--cr-border) !important;
}

.whb-header-bottom {
  border-bottom: 1px solid var(--cr-border) !important;
}

/* ============== TOP BAR MARQUEE FIX ============== */
/* Override inline styles on the span with max specificity */
.whb-top-bar .wd-header-text,
.whb-top-bar .wd-header-text span,
.whb-top-bar .wd-header-text span[style],
.whb-top-bar p,
.whb-top-bar a {
  color: var(--cr-blue) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  font-weight: 500 !important;
}

/* Marquee container setup */
.whb-top-bar .container {
  overflow: hidden !important;
}

.whb-top-bar .whb-flex-row {
  overflow: hidden !important;
}

/* Let the column expand so text can scroll across full width */
.whb-top-bar .whb-column {
  overflow: visible !important;
  flex-shrink: 0 !important;
  min-width: 100% !important;
}

.whb-top-bar .wd-header-text {
  display: inline-block !important;
  white-space: nowrap !important;
  animation: cr-marquee 18s linear infinite !important;
  padding-right: 80px !important;
}

@keyframes cr-marquee {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* === HEADER CLEANUP === */
@media (min-width: 1025px) {
  .whb-hidden-lg,
  .whb-mobile-left,
  .whb-mobile-center,
  .whb-mobile-right,
  .whb-column_mobile2,
  .whb-column_mobile3,
  .whb-column_mobile4,
  .whb-column_mobile5 {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .wd-header-mobile-nav,
  .wd-header-fs-nav .wd-tools-text,
  .wd-header-fs-nav {
    display: none !important;
  }
}

/* === STICKY HEADER === */
.whb-sticky-header .whb-row,
.whb-sticked .whb-row {
  background-color: var(--cr-bg) !important;
  border-bottom: 1px solid var(--cr-border) !important;
}

.whb-sticky-header .whb-flex-row,
.whb-sticked .whb-flex-row {
  justify-content: space-between !important;
  align-items: center !important;
}

@media (min-width: 1025px) {
  .whb-general-header .whb-col-left,
  .whb-sticky-header .whb-col-left {
    flex: 1 !important;
    justify-content: flex-start !important;
  }

  .whb-general-header .whb-col-center,
  .whb-sticky-header .whb-col-center {
    flex: 0 0 auto !important;
    justify-content: center !important;
  }

  .whb-general-header .whb-col-right,
  .whb-sticky-header .whb-col-right {
    flex: 1 !important;
    justify-content: flex-end !important;
  }
}

.whb-sticky-header .wd-nav,
.whb-sticked .wd-nav,
.whb-sticky-header .whb-navigation,
.whb-sticked .whb-navigation {
  justify-content: center !important;
}

.whb-sticky-header .whb-column,
.whb-sticked .whb-column {
  align-items: center !important;
}

@media (min-width: 1025px) {
  .whb-sticky-header .whb-hidden-lg,
  .whb-sticky-header .whb-mobile-left,
  .whb-sticky-header .whb-mobile-center,
  .whb-sticky-header .whb-mobile-right,
  .whb-sticky-header .whb-column_mobile2,
  .whb-sticky-header .whb-column_mobile3,
  .whb-sticky-header .whb-column_mobile4,
  .whb-sticky-header .whb-column_mobile5 {
    display: none !important;
  }
}

.whb-sticky-header .whb-col-right .wd-header-cart {
  display: block !important;
}

/* ============== NAVIGATION — DOUBLE UNDERLINE FIX ============== */
/* Remove ALL border-bottom on nav <a> tags — Woodmart adds this on active/hover */
.wd-header-nav .menu > li > a,
.whb-navigation .menu > li > a,
.wd-nav .wd-nav-link,
.wd-nav > li > a,
.woodmart-navigation .menu-item > a,
.main-nav .menu-item > a,
.wd-header-nav .menu > li.current-menu-item > a,
.wd-header-nav .menu > li:hover > a,
.whb-navigation .menu > li.current-menu-item > a,
.whb-navigation .menu > li:hover > a,
body .wd-header-nav .menu > li > a,
body .whb-navigation .menu > li > a {
  color: var(--cr-text) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border-bottom: none !important;
  border-bottom-width: 0 !important;
  border-bottom-style: none !important;
  border-bottom-color: transparent !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* Remove Woodmart's span::after underline indicator completely */
.wd-header-nav .menu > li > a span::after,
.whb-navigation .menu > li > a span::after,
.wd-nav > li > a span::after,
body .wd-header-nav .menu > li > a span::after,
body .whb-navigation .menu > li > a span::after,
.wd-header-nav .menu > li.current-menu-item > a span::after,
.wd-header-nav .menu > li:hover > a span::after {
  display: none !important;
  content: none !important;
  height: 0 !important;
  background: none !important;
  border: none !important;
  width: 0 !important;
}

/* Single clean underline: use bottom border on the span itself for active state */
.wd-header-nav .menu > li.current-menu-item > a span,
.whb-navigation .menu > li.current-menu-item > a span {
  border-bottom: 2px solid var(--cr-blue) !important;
  padding-bottom: 4px !important;
}

.wd-header-nav .menu > li:hover > a span,
.whb-navigation .menu > li:hover > a span {
  border-bottom: 2px solid var(--cr-blue) !important;
  padding-bottom: 4px !important;
}

/* Nav hover color */
.wd-nav .wd-nav-link:hover,
.wd-nav > li > a:hover,
.wd-header-nav .menu > li > a:hover,
.wd-header-nav .menu > li:hover > a {
  color: var(--cr-blue) !important;
}

/* Active nav item color */
.wd-header-nav .menu > li.current-menu-item > a,
.whb-navigation .menu > li.current-menu-item > a {
  color: var(--cr-blue) !important;
}

/* Cart/Account icons */
.wd-tools-element .wd-tools-icon,
.wd-header-cart .wd-tools-icon,
.wd-header-my-account .wd-tools-icon {
  color: var(--cr-text) !important;
}

.wd-tools-count {
  background-color: var(--cr-blue) !important;
  color: #000 !important;
}

/* ============== BUTTONS ============== */
/* Primary gold buttons (CTA) */
.btn-color-primary,
.single_add_to_cart_button,
.add_to_cart_button,
.checkout-button,
.button.alt,
.woocommerce .button.alt,
.btn-color-primary.btn-style-default,
.elementor-widget-button .elementor-button,
a.btn-color-primary {
  background-color: var(--cr-gold) !important;
  color: #000 !important;
  border: 2px solid var(--cr-gold) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}

.btn-color-primary:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.checkout-button:hover,
.button.alt:hover,
.elementor-widget-button .elementor-button:hover,
a.btn-color-primary:hover {
  background-color: var(--cr-gold-hover) !important;
  border-color: var(--cr-gold-hover) !important;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: none !important;
}

/* Secondary / outline buttons — now baby blue accent */
.btn-color-white,
.btn-style-bordered,
.btn-color-default,
a.btn-color-white,
a.btn-style-bordered {
  background-color: transparent !important;
  color: var(--cr-text) !important;
  border: 2px solid var(--cr-border-light) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  transition: all 0.25s ease !important;
}

.btn-color-white:hover,
.btn-style-bordered:hover,
.btn-color-default:hover,
a.btn-color-white:hover,
a.btn-style-bordered:hover {
  border-color: var(--cr-blue) !important;
  color: var(--cr-blue) !important;
  background-color: var(--cr-blue-dim) !important;
}

/* Generic WooCommerce buttons */
.button,
.woocommerce .button,
.woocommerce-Button,
button[type="submit"] {
  background-color: var(--cr-gold) !important;
  color: #000 !important;
  border: 2px solid var(--cr-gold) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  transition: all 0.25s ease !important;
  padding: 12px 28px !important;
}

.button:hover,
.woocommerce .button:hover,
button[type="submit"]:hover {
  background-color: var(--cr-gold-hover) !important;
  color: #000 !important;
  border-color: var(--cr-gold-hover) !important;
}

/* Elementor buttons */
.elementor-button-wrapper .elementor-button {
  background-color: var(--cr-gold) !important;
  color: #000 !important;
  border: 2px solid var(--cr-gold) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 36px !important;
  border-radius: 0 !important;
  transition: all 0.25s ease !important;
}

.elementor-button-wrapper .elementor-button:hover {
  background-color: var(--cr-gold-hover) !important;
  border-color: var(--cr-gold-hover) !important;
  color: #000 !important;
  transform: translateY(-1px);
}

/* Outline variant for Elementor */
.elementor-button-wrapper .elementor-button.elementor-size-md[style*="background-color: transparent"],
.elementor-button-wrapper .elementor-button[style*="background-color:transparent"],
.e-con .btn-style-bordered {
  background-color: transparent !important;
  border: 2px solid var(--cr-border-light) !important;
  color: var(--cr-text) !important;
}

/* Woodmart custom buttons */
.woodmart-button-wrapper .wd-button,
a.wd-button,
.wd-button {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
  padding: 14px 36px !important;
  transition: all 0.25s ease !important;
}

/* ============== PRODUCT CARDS — ENHANCED ============== */
.product-grid-item,
.wd-product,
.product-list-item {
  background-color: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 10px !important;
  transition: all 0.3s ease !important;
  overflow: hidden !important;
  position: relative !important;
}

.product-grid-item:hover,
.wd-product:hover {
  border-color: var(--cr-blue-border) !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4) !important;
}

/* Subtle top accent line on cards */
.product-grid-item::before,
.wd-product::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--cr-gold), var(--cr-blue)) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 2 !important;
  border-radius: 10px 10px 0 0 !important;
}

.product-grid-item:hover::before,
.wd-product:hover::before {
  opacity: 1 !important;
}

/* Product image container */
.product-image-link,
.wd-product .product-image-link,
.product-element-top {
  background-color: #0d0d0d !important;
  overflow: hidden !important;
  border-radius: 10px 10px 0 0 !important;
  min-height: 220px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-image-link img,
.wd-product .product-image-link img,
.product-element-top img {
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
  object-fit: cover !important;
}

/* Product image zoom on hover */
.wd-product:hover .product-image-link img {
  transform: scale(1.05) !important;
  transition: transform 0.5s ease !important;
}

.wd-product .product-image-link img {
  transition: transform 0.5s ease !important;
}

/* Product content area — generous padding */
.wd-product .product-element-bottom,
.product-grid-item .product-information {
  padding: 20px 18px 28px !important;
  min-height: 120px !important;
  border-top: 1px solid var(--cr-border) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Product category label — baby blue accent */
.wd-product .wd-product-cats,
.product-grid-item .wd-product-cats {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--cr-blue) !important;
  margin-bottom: 8px !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
}

.wd-product .wd-product-cats a {
  color: var(--cr-blue) !important;
  font-size: 10px !important;
}

/* Product title */
.wd-product .wd-product-title,
.product-grid-item .product-title,
.woocommerce-loop-product__title,
.wd-entities-title a {
  color: var(--cr-text) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  line-height: 1.5 !important;
  margin-bottom: 10px !important;
  flex-grow: 1 !important;
}

/* Product price — pushed to bottom with spacing */
.product .price,
.product .price .woocommerce-Price-amount,
.product .price ins,
.product .price ins .woocommerce-Price-amount {
  color: var(--cr-gold) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  font-family: 'Space Grotesk', sans-serif !important;
  margin-top: auto !important;
  padding-top: 6px !important;
}

.product .price del,
.product .price del .woocommerce-Price-amount {
  color: var(--cr-text-dim) !important;
}

/* Product badges */
.onsale.product-label,
.product-label {
  background-color: var(--cr-danger) !important;
  color: #fff !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 4px 10px !important;
}

/* Product hover action buttons */
.wd-product .wd-buttons,
.wd-product .wd-action-btn {
  background-color: rgba(17, 17, 17, 0.95) !important;
}

.wd-product .wd-action-btn a,
.wd-product .wd-action-btn > a {
  color: var(--cr-text) !important;
}

.wd-product .wd-action-btn a:hover {
  color: var(--cr-blue) !important;
}

/* Add to cart on product cards */
.wd-product .add_to_cart_button,
.wd-product .product_type_simple {
  padding: 10px 20px !important;
  font-size: 11px !important;
}

/* Product excerpt on cards */
.wd-product .woocommerce-product-details__short-description {
  color: var(--cr-text-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* ============== SINGLE PRODUCT PAGE ============== */
.single-product .entry-summary,
.single-product .product-image-summary-wrap {
  background-color: var(--cr-bg) !important;
}

.single-product .product_title {
  font-size: 28px !important;
  margin-bottom: 12px !important;
}

.single-product .price .woocommerce-Price-amount {
  color: var(--cr-gold) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  font-family: 'Space Grotesk', sans-serif !important;
}

.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p {
  color: var(--cr-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Quantity input */
.quantity .qty {
  background-color: var(--cr-card) !important;
  color: var(--cr-text) !important;
  border-color: var(--cr-border) !important;
}

.quantity .plus,
.quantity .minus {
  background-color: var(--cr-card) !important;
  color: var(--cr-text) !important;
  border-color: var(--cr-border) !important;
}

/* === PRODUCT TABS === */
.woocommerce-tabs,
.wc-tabs-wrapper {
  background-color: var(--cr-bg) !important;
  margin-top: 40px !important;
  padding: 0 !important;
  clear: both !important;
}

.woocommerce-tabs .tabs,
.wc-tabs {
  background-color: var(--cr-bg) !important;
  border-bottom: 1px solid var(--cr-border) !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  list-style: none !important;
}

.woocommerce-tabs .tabs li,
.wc-tabs li {
  background-color: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-tabs .tabs li a,
.wc-tabs li a {
  color: var(--cr-text-muted) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 16px 24px !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.2s ease !important;
}

.woocommerce-tabs .tabs li.active a,
.wc-tabs li.active a {
  color: var(--cr-blue) !important;
  border-bottom-color: var(--cr-blue) !important;
}

.woocommerce-tabs .tabs li a:hover,
.wc-tabs li a:hover {
  color: var(--cr-text) !important;
}

.woocommerce-tabs .panel,
.wc-tab,
.woocommerce-Tabs-panel {
  background-color: var(--cr-bg) !important;
  color: var(--cr-text-secondary) !important;
  padding: 24px 0 !important;
}

.woocommerce-Tabs-panel p {
  color: var(--cr-text-secondary) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin-bottom: 16px !important;
}

.woocommerce-Tabs-panel h2 {
  display: none !important;
}

/* Accordion-style tabs (Woodmart default) */
.wd-accordion-title {
  background-color: var(--cr-bg) !important;
  border: 1px solid var(--cr-border) !important;
  color: var(--cr-text) !important;
  padding: 16px 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  cursor: pointer !important;
  margin-bottom: -1px !important;
}

.wd-accordion-title.wd-active {
  border-color: var(--cr-blue) !important;
  color: var(--cr-blue) !important;
}

.wd-accordion-title:hover {
  color: var(--cr-blue) !important;
}

.woocommerce-Tabs-panel--description {
  display: block !important;
}

.woocommerce-Tabs-panel--description.wd-active {
  display: block !important;
  padding: 24px !important;
}

/* Fix gray bars on product pages */
.single-product .wd-single-content,
.single-product .wd-single-content > *,
.single-product .product-image-summary-inner,
.single-product .woocommerce-product-gallery,
.single-product .summary {
  background-color: var(--cr-bg) !important;
}

.single-product .wd-single-row,
.single-product .wd-builder-on .entry-summary,
.single-product div[class*="background"] {
  background-color: var(--cr-bg) !important;
}

/* Product image wrapper bg */
.product-image-summary .woocommerce-product-gallery {
  background-color: var(--cr-card) !important;
}

/* Compare and wishlist links */
.wd-compare-btn a,
.wd-wishlist-btn a {
  color: var(--cr-text-muted) !important;
  font-size: 13px !important;
}

.wd-compare-btn a:hover,
.wd-wishlist-btn a:hover {
  color: var(--cr-blue) !important;
}

/* ============== SHOP PAGE ============== */
.shop-title-wrapper,
.wd-shop-head {
  background-color: var(--cr-bg) !important;
}

.woodmart-shop-loader,
.wd-loader {
  background-color: var(--cr-bg) !important;
}

.widget,
.widget-area,
.wd-sidebar {
  background-color: var(--cr-bg) !important;
  color: var(--cr-text-secondary) !important;
}

.widget .widget-title,
.widget h3 {
  color: var(--cr-text) !important;
}

.woocommerce-result-count,
.woocommerce-ordering select {
  color: var(--cr-text-muted) !important;
}

.woocommerce-ordering select {
  background-color: var(--cr-card) !important;
  border-color: var(--cr-border) !important;
}

/* ============== CART & CHECKOUT ============== */
.woocommerce-cart .cart_item,
.woocommerce table.shop_table,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th,
.woocommerce-checkout .shop_table {
  background-color: var(--cr-card) !important;
  color: var(--cr-text) !important;
  border-color: var(--cr-border) !important;
}

.woocommerce table.shop_table thead th {
  background-color: var(--cr-bg) !important;
  color: var(--cr-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 12px !important;
}

.cart_totals,
.woocommerce-checkout-review-order-table {
  background-color: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
}

/* ============== FORMS ============== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select,
.woocommerce-input-wrapper input,
.select2-container--default .select2-selection--single {
  background-color: var(--cr-card) !important;
  color: var(--cr-text) !important;
  border: 1px solid var(--cr-border) !important;
  border-radius: 0 !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--cr-blue) !important;
  outline: none !important;
  box-shadow: none !important;
}

label {
  color: var(--cr-text-muted) !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
}

/* ============== MY ACCOUNT ============== */
.woocommerce-MyAccount-navigation ul li a {
  color: var(--cr-text-muted) !important;
  border-bottom: 1px solid var(--cr-border) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--cr-blue) !important;
}

.woocommerce-MyAccount-content {
  background-color: var(--cr-bg) !important;
  color: var(--cr-text-secondary) !important;
}

/* ============== FOOTER — WIDTH FIX ============== */
.footer-container,
.woodmart-footer,
.footer-widget-area,
.wd-footer,
footer,
.copyrights-wrapper {
  background-color: var(--cr-bg) !important;
  color: var(--cr-text-secondary) !important;
}

/* Constrain footer to not overflow */
.wd-footer,
.footer-container,
footer.wd-footer {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.wd-prefooter,
.wd-footer {
  border-top: 1px solid var(--cr-border) !important;
  padding: 48px 0 32px !important;
}

/* Footer inner container constrained */
.footer-container > .container,
.wd-footer > .container,
.copyrights-wrapper > .container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

.copyrights-wrapper {
  border-top: 1px solid var(--cr-border) !important;
  color: var(--cr-text-dim) !important;
  padding: 20px 0 !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

.footer-widget-area .widget-title,
.wd-footer .widget-title,
.wd-prefooter .widget-title {
  color: var(--cr-text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 13px !important;
  font-family: 'Space Grotesk', sans-serif !important;
  margin-bottom: 20px !important;
}

.footer-widget-area a,
.wd-footer a,
.wd-prefooter a {
  color: var(--cr-text-muted) !important;
  transition: color 0.2s ease !important;
}

.footer-widget-area a:hover,
.wd-footer a:hover,
.wd-prefooter a:hover {
  color: var(--cr-blue) !important;
}

.wd-footer .widget ul,
.wd-prefooter .widget ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wd-footer .widget ul li,
.wd-prefooter .widget ul li {
  margin-bottom: 8px !important;
}

.wd-footer .widget ul li a,
.wd-prefooter .widget ul li a {
  color: var(--cr-text-muted) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

.wd-footer .widget ul li a:hover,
.wd-prefooter .widget ul li a:hover {
  color: var(--cr-blue) !important;
}

.copyrights-wrapper p,
.copyrights-wrapper span,
.copyrights-wrapper a {
  color: var(--cr-text-dim) !important;
  font-size: 12px !important;
}

/* ============== WOO NOTICES ============== */
.woocommerce-message {
  background-color: var(--cr-card) !important;
  border-top-color: var(--cr-gold) !important;
  color: var(--cr-text) !important;
}

.woocommerce-info {
  background-color: var(--cr-card) !important;
  border-top-color: var(--cr-blue) !important;
  color: var(--cr-text) !important;
}

.woocommerce-error {
  background-color: var(--cr-card) !important;
  border-top-color: var(--cr-danger) !important;
  color: var(--cr-text) !important;
}

/* ============== PAGE TITLE BAR ============== */
.page-title-default,
.wd-page-title,
.page-title {
  background-color: var(--cr-bg) !important;
  border-bottom: 1px solid var(--cr-border) !important;
  padding: 20px 0 !important;
  min-height: auto !important;
}

.wd-page-title::after,
.page-title::after,
.wd-page-title::before {
  display: none !important;
}

.wd-page-title .entry-title,
.wd-page-title .page-title {
  font-size: 20px !important;
  margin: 0 !important;
}

body.home .page-title-default,
body.home .wd-page-title,
body.home .page-title,
.page-id-16163 .wd-page-title,
.page-id-16163 .page-title {
  display: none !important;
}

/* ============== BREADCRUMBS ============== */
.woocommerce-breadcrumb,
.breadcrumbs,
.wd-breadcrumbs {
  color: var(--cr-text-dim) !important;
  font-size: 12px !important;
}

.woocommerce-breadcrumb a,
.wd-breadcrumbs a {
  color: var(--cr-text-dim) !important;
}

.woocommerce-breadcrumb a:hover,
.wd-breadcrumbs a:hover {
  color: var(--cr-blue) !important;
}

/* ============== PAGINATION ============== */
.woocommerce-pagination .page-numbers,
.page-numbers {
  background-color: var(--cr-card) !important;
  color: var(--cr-text) !important;
  border-color: var(--cr-border) !important;
}

.woocommerce-pagination .page-numbers.current,
.page-numbers.current {
  background-color: var(--cr-blue) !important;
  color: #000 !important;
  border-color: var(--cr-blue) !important;
}

/* ============== ELEMENTOR OVERRIDES ============== */
.elementor-section,
.elementor-element,
.elementor-widget-container {
  color: var(--cr-text-secondary) !important;
}

.elementor-heading-title {
  color: var(--cr-text) !important;
  font-family: 'Space Grotesk', sans-serif !important;
}

.elementor-section[data-settings] {
  background-color: var(--cr-bg) !important;
}

.elementor-section > .elementor-container,
.elementor-column-wrap,
.elementor-widget-wrap,
.elementor-inner,
.e-con,
.e-con-inner {
  background-color: transparent !important;
}

.wd-page-content > .container,
.wd-page-content > .container-fluid,
.site-content .container {
  background-color: transparent !important;
}

.elementor-icon {
  color: var(--cr-blue) !important;
}

.elementor-divider-separator {
  border-color: var(--cr-border) !important;
}

/* ============== WOODMART SPECIFIC ============== */
.wd-search-form input {
  background-color: var(--cr-card) !important;
  border-color: var(--cr-border) !important;
  color: var(--cr-text) !important;
}

.wd-dropdown,
.wd-sub-menu,
.sub-menu,
.wd-dropdown-menu {
  background-color: var(--cr-card) !important;
  border: 1px solid var(--cr-border) !important;
}

.wd-dropdown a,
.sub-menu a {
  color: var(--cr-text-secondary) !important;
}

/* Sidebar cart */
.cart-widget-side,
.wd-cart-widget {
  background-color: var(--cr-bg) !important;
}

/* Hide "Choose menu" placeholder */
.wd-header-secondary-nav span,
nav.wd-header-secondary-nav,
.whb-column7 .wd-header-secondary-nav {
  display: none !important;
}

/* Related products heading */
.related.products > h2,
.up-sells > h2,
section.related > h2 {
  color: var(--cr-text) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 24px !important;
}

/* ============== AGE GATE — MATCHING ORIGINAL FORMAT ============== */
.age-gate-wrapper,
.age-gate,
.age-gate__wrapper {
  background-color: var(--cr-bg) !important;
}

/* Main form container */
.age-gate .age-gate-form,
.age-gate__form,
dialog.age-gate__form {
  background-color: var(--cr-card) !important;
  border: 1px solid var(--cr-border-light) !important;
  box-shadow: none !important;
  color: var(--cr-text) !important;
  border-radius: 16px !important;
  max-width: 480px !important;
  width: 90vw !important;
  padding: 40px 36px 36px !important;
  text-align: center !important;
}

/* Hide the plugin's default logo image (we add it via JS) */
.age-gate__form img.age-gate__logo,
.age-gate__form > img {
  display: none !important;
}

/* Company name heading */
.age-gate__form h1,
.age-gate h1 {
  color: var(--cr-text) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

/* AGE VERIFICATION subtitle */
.age-gate__heading,
.age-gate h2,
.age-gate__form h2 {
  color: var(--cr-gold) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  margin-bottom: 4px !important;
}

/* Blue line under AGE VERIFICATION */
.age-gate__heading::after,
.age-gate h2::after,
.age-gate__form h2::after {
  content: '' !important;
  display: block !important;
  width: 80px !important;
  height: 2px !important;
  background: var(--cr-blue) !important;
  margin: 12px auto 20px !important;
}

/* Description text */
.age-gate__description,
.age-gate__form > p,
.age-gate p {
  color: var(--cr-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-family: 'Inter', sans-serif !important;
  margin-bottom: 24px !important;
  padding: 0 8px !important;
}

/* Buttons container — stack vertically */
.age-gate__form .age-gate__buttons,
.age-gate__form > div:has(button) {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
}

/* "I AM 21 OR OLDER" — full-width gold button */
.age-gate .age-gate-submit-yes,
.age-gate__button--yes,
.age-gate__form button[type="submit"],
.age-gate__form button:first-of-type {
  background-color: var(--cr-gold) !important;
  color: #000 !important;
  border: none !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  padding: 18px 40px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  cursor: pointer !important;
}

.age-gate .age-gate-submit-yes:hover,
.age-gate__button--yes:hover {
  background-color: var(--cr-gold-hover) !important;
  box-shadow: none !important;
}

/* "I AM UNDER 21" — full-width outline button */
.age-gate .age-gate-submit-no,
.age-gate__button--no,
.age-gate__form button:last-of-type:not(:first-of-type) {
  background-color: transparent !important;
  color: var(--cr-text-muted) !important;
  border: 1px solid var(--cr-border-light) !important;
  border-radius: 10px !important;
  padding: 18px 40px !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

.age-gate .age-gate-submit-no:hover,
.age-gate__button--no:hover {
  border-color: var(--cr-blue) !important;
  color: var(--cr-blue) !important;
}

/* Remember me checkbox area */
.age-gate__form .age-gate__remember,
.age-gate__form > div:has(input[type="checkbox"]) {
  margin: 16px 0 !important;
  font-size: 12px !important;
  color: var(--cr-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-family: 'Inter', sans-serif !important;
}

.age-gate__form input[type="checkbox"] {
  accent-color: var(--cr-gold) !important;
}

/* Divider before research notice */
.age-gate__form .age-gate__footer,
.age-gate__form > div:last-child {
  border-top: 1px solid var(--cr-border) !important;
  margin-top: 16px !important;
  padding-top: 20px !important;
}

/* "FOR RESEARCH USE ONLY" label */
.age-gate__form .age-gate__footer p:first-child,
.age-gate__form > div:last-child > p:first-child {
  color: var(--cr-gold) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

/* Research notice small text */
.age-gate__form .age-gate__footer p:last-child,
.age-gate__form > div:last-child > p:last-child {
  color: var(--cr-text-dim) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  font-family: 'Inter', sans-serif !important;
}

/* ============== RESEARCH DISCLAIMER ============== */
.research-disclaimer {
  background: rgba(220, 38, 38, 0.06);
  border: 1px solid rgba(220, 38, 38, 0.15);
  border-radius: 4px;
  padding: 16px 20px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.research-disclaimer p {
  color: var(--cr-text-muted) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ============== SCROLL & SELECTION ============== */
::selection {
  background: var(--cr-blue) !important;
  color: #000 !important;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--cr-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--cr-border-light);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--cr-text-dim);
}

/* ============== HOMEPAGE VISUAL ENHANCEMENTS ============== */

/* Section headings — blue accent line */
.elementor-widget-container h2,
.wd-product-heading h2 {
  position: relative !important;
}

/* "POPULAR PRODUCTS" and "NEW ARRIVALS" section labels — baby blue */
.elementor-widget-container .elementor-heading-title[style*="font-size"] {
  position: relative !important;
}

/* Stat numbers on homepage (99%+, $250+, COA) — baby blue */
.elementor-counter .elementor-counter-number-wrapper,
.elementor-counter-number {
  color: var(--cr-blue) !important;
}

/* "VIEW ALL" links — baby blue accent */
.elementor-widget-container a[href="/shop"]:not(.elementor-button) {
  color: var(--cr-blue) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

.elementor-widget-container a[href="/shop"]:not(.elementor-button):hover {
  color: var(--cr-blue-hover) !important;
}

/* "WHY CLIMB RESEARCH" subtitle — blue */
.elementor-widget-container p[style*="letter-spacing"] {
  color: var(--cr-blue) !important;
}

/* 99% Purity box — blue border accent */
.elementor-element .elementor-widget-container[style*="background"] {
  border-left: 3px solid var(--cr-blue) !important;
}

/* Subtle section separators */
.elementor-section + .elementor-section,
.e-con + .e-con {
  border-top: 1px solid var(--cr-border) !important;
}

/* Fix price color globally */
.price, .woocommerce-Price-amount, .price ins, .price del,
.summary .price, .summary .woocommerce-Price-amount,
p.price, span.price {
  color: #ffffff !important;
}

/* Product wrapper cards background */
.wd-product-wrapper,
.product-wrapper {
  background-color: var(--cr-card) !important;
}

/* Elementor container backgrounds */
.elementor-element.e-con,
.elementor-element.e-con-full {
  background-color: var(--cr-bg) !important;
}

/* WooCommerce product elements */
.wd-single-content .e-child,
.single-product-content .e-child,
.wd-single-content .e-con,
.single-product-content .e-con {
  background-color: var(--cr-bg) !important;
}

/* Compare/wishlist buttons */
.wd-action-btn, .wd-compare-btn, .wd-wishlist-btn {
  color: #999 !important;
}

/* Fix all WooCommerce buttons to gold */
.woocommerce-Button.button,
.woocommerce-button.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
button.woocommerce-Button,
.woocommerce-form-login .button,
.woocommerce-form-register .button {
  background-color: var(--cr-gold) !important;
  color: #000 !important;
  border: none !important;
}

.woocommerce-Button.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover {
  background-color: var(--cr-gold-hover) !important;
  color: #000 !important;
}

/* Fix page title bar blue border */
.wd-page-title::after,
.page-title::after {
  display: none !important;
}

.wd-page-title .container,
.page-title .container {
  border: none !important;
}

/* Hide secondary nav */
nav.wd-header-secondary-nav {
  display: none !important;
}

/* ============== WISHLIST BADGE — BLUE ============== */
.wd-header-wishlist .wd-tools-count,
.wishlist-count {
  background-color: var(--cr-blue) !important;
  color: #000 !important;
}

/* ============== LOADING / SKELETON ============== */
.wd-loader-overlay {
  background-color: rgba(0, 0, 0, 0.6) !important;
}

/* ============== MOBILE RESPONSIVE ============== */
@media (max-width: 1024px) {
  .product-grid-item,
  .wd-product {
    border-radius: 8px !important;
  }

  .product-image-link,
  .wd-product .product-image-link,
  .product-element-top {
    border-radius: 8px 8px 0 0 !important;
  }
}

@media (max-width: 768px) {
  /* Hero section spacing */
  .elementor-element h1,
  h1.elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }

  h2, .elementor-element h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  /* Button sizing on mobile */
  .btn-color-primary,
  .single_add_to_cart_button,
  .elementor-widget-button .elementor-button,
  a.btn-color-primary {
    padding: 12px 24px !important;
    font-size: 12px !important;
  }

  .btn-color-white,
  .btn-style-bordered,
  a.btn-color-white {
    padding: 12px 24px !important;
    font-size: 12px !important;
  }

  /* Product cards on mobile — 2 columns with proper spacing */
  .wd-product .product-element-bottom,
  .product-grid-item .product-information {
    padding: 14px 12px 20px !important;
    min-height: 90px !important;
  }

  .wd-product .wd-product-title,
  .product-grid-item .product-title,
  .woocommerce-loop-product__title {
    font-size: 11px !important;
    margin-bottom: 6px !important;
  }

  .product .price,
  .product .price .woocommerce-Price-amount {
    font-size: 14px !important;
  }

  /* Stats row (99%+, $250+, COA) */
  .elementor-counter .elementor-counter-number-wrapper {
    font-size: 28px !important;
  }

  /* Footer on mobile */
  .footer-container > .container,
  .wd-footer > .container,
  .copyrights-wrapper > .container {
    padding: 0 16px !important;
  }

  .wd-prefooter,
  .wd-footer {
    padding: 32px 0 24px !important;
  }

  .footer-widget-area .widget-title,
  .wd-footer .widget-title {
    font-size: 12px !important;
    margin-bottom: 12px !important;
  }

  /* Mobile header */
  .whb-top-bar {
    padding: 6px 0 !important;
  }

  .whb-top-bar .wd-header-text,
  .whb-top-bar .wd-header-text span[style] {
    font-size: 9px !important;
  }

  /* Section spacing on mobile */
  .elementor-section,
  .e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* "POPULAR PRODUCTS" / "NEW ARRIVALS" section header */
  .wd-product-heading,
  .elementor-widget-container:has(h2) {
    padding: 0 4px !important;
  }

  /* Product grid spacing */
  .wd-products-holder,
  .products {
    gap: 12px !important;
  }

  /* Copyrights on mobile */
  .copyrights-wrapper {
    padding: 16px 0 !important;
    text-align: center !important;
  }

  .copyrights-wrapper .wd-col-start,
  .copyrights-wrapper .wd-col-end {
    text-align: center !important;
    width: 100% !important;
  }

  /* Age gate on mobile */
  .age-gate__form,
  dialog.age-gate__form {
    padding: 32px 24px 28px !important;
    max-width: 92vw !important;
    border-radius: 12px !important;
  }

  .age-gate__form h1 {
    font-size: 20px !important;
  }

  .age-gate__form h2 {
    font-size: 14px !important;
  }

  /* "WHY CLIMB RESEARCH" trust section */
  .elementor-element .elementor-widget-container[style*="background"] {
    border-left: none !important;
    border-top: 3px solid var(--cr-blue) !important;
  }
}

@media (max-width: 480px) {
  /* Extra small screens */
  h1.elementor-heading-title,
  .elementor-element h1 {
    font-size: 24px !important;
  }

  h2, .elementor-element h2 {
    font-size: 18px !important;
  }

  .wd-product .product-element-bottom,
  .product-grid-item .product-information {
    padding: 12px 10px 18px !important;
    min-height: 80px !important;
  }

  .wd-product .wd-product-title,
  .woocommerce-loop-product__title {
    font-size: 10px !important;
  }

  .product .price .woocommerce-Price-amount {
    font-size: 13px !important;
  }
}
