/*
 Theme Name: BinaryForexEA Premium
 Theme URI: https://binaryforexea.com
 Description: Premium luxury theme for BinaryForexEA - Black & Gold design
 Author: BinaryForexEA
 Template: astra
 Version: 1.0.0
 Text Domain: binaryforexea-premium
*/

/* ============================================
   GOOGLE FONTS - Inter
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* ============================================
   CSS VARIABLES
   ============================================ */
:root {
  --bg-primary: #0a0a0a;
  --bg-secondary: #111111;
  --bg-card: #1a1a1a;
  --bg-card-hover: #222222;
  --gold: #c9a96e;
  --gold-hover: #d4b87a;
  --gold-light: #e8d5b0;
  --gold-dark: #a88b52;
  --text-primary: #ffffff;
  --text-secondary: #a0a0a0;
  --text-muted: #666666;
  --border: #2a2a2a;
  --border-gold: rgba(201, 169, 110, 0.3);
  --success: #22c55e;
  --danger: #ef4444;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --shadow-gold: 0 0 30px rgba(201, 169, 110, 0.1);
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.4);
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --container: 1280px;
}

/* ============================================
   GLOBAL RESET & BASE
   ============================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

body, html {
  font-family: var(--font) !important;
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--gold);
  text-decoration: none;
  transition: var(--transition);
}

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

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font) !important;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.2;
}

p {
  color: var(--text-secondary);
  font-size: 1rem;
  line-height: 1.7;
}

::selection {
  background: var(--gold);
  color: var(--bg-primary);
}

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

/* ============================================
   HEADER STYLES
   ============================================ */
.bfx-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(10, 10, 10, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
}

.bfx-header.scrolled {
  background: rgba(10, 10, 10, 0.98);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

.bfx-header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  flex-wrap: nowrap;
}

.bfx-logo img {
  height: 32px;
  width: auto;
}

.bfx-nav {
  display: flex;
  align-items: center;
  gap: 2px;
}

.bfx-nav a {
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  transition: var(--transition);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bfx-nav a:hover,
.bfx-nav a.active {
  color: var(--gold);
  background: rgba(201, 169, 110, 0.08);
}

.bfx-nav-dropdown {
  position: relative;
}

.bfx-nav-dropdown .bfx-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 8px;
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
  box-shadow: var(--shadow-card);
}

.bfx-nav-dropdown:hover .bfx-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.bfx-dropdown-menu a {
  display: block;
  padding: 10px 16px;
  font-size: 0.8125rem;
  text-transform: none;
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
}

.bfx-dropdown-menu a:hover {
  background: rgba(201, 169, 110, 0.1);
  color: var(--gold);
}

.bfx-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bfx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 24px;
  border-radius: var(--radius-sm);
  font-family: var(--font);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  border: none;
  text-decoration: none;
  letter-spacing: 0.02em;
}

.bfx-btn-gold {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 30%, #a88b52 70%, #8a7040 100%);
  color: var(--bg-primary);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 -1px 0 rgba(0, 0, 0, 0.3) inset,
    0 4px 12px rgba(201, 169, 110, 0.25),
    0 2px 4px rgba(0, 0, 0, 0.3);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.bfx-btn-gold:hover {
  background: linear-gradient(180deg, #edd9a3 0%, #d4b87a 30%, #b8984e 70%, #9a7d42 100%);
  color: var(--bg-primary);
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 -1px 0 rgba(0, 0, 0, 0.3) inset,
    0 8px 24px rgba(201, 169, 110, 0.4),
    0 4px 8px rgba(0, 0, 0, 0.3);
}

.bfx-btn-gold:active {
  transform: translateY(0);
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.2) inset,
    0 2px 4px rgba(0, 0, 0, 0.3);
}

.bfx-btn-outline {
  background: linear-gradient(180deg, rgba(201, 169, 110, 0.12) 0%, rgba(201, 169, 110, 0.04) 100%);
  color: var(--gold);
  border: 1px solid var(--gold);
  box-shadow:
    0 1px 0 rgba(201, 169, 110, 0.1) inset,
    0 4px 12px rgba(0, 0, 0, 0.2);
}

.bfx-btn-outline:hover {
  background: linear-gradient(180deg, rgba(201, 169, 110, 0.2) 0%, rgba(201, 169, 110, 0.08) 100%);
  border-color: var(--gold-hover);
  color: var(--gold-light);
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(201, 169, 110, 0.15) inset,
    0 8px 24px rgba(201, 169, 110, 0.15),
    0 4px 8px rgba(0, 0, 0, 0.3);
}

.bfx-cart-icon {
  position: relative;
  color: var(--text-secondary);
  font-size: 1.25rem;
  padding: 8px;
  transition: var(--transition);
}

.bfx-cart-icon:hover {
  color: var(--gold);
}

.bfx-cart-count {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--gold);
  color: var(--bg-primary);
  font-size: 0.625rem;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Mobile menu toggle */
.bfx-mobile-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  cursor: pointer;
  background: none;
  border: none;
}

.bfx-mobile-toggle span {
  width: 24px;
  height: 2px;
  background: var(--text-primary);
  transition: var(--transition);
}

/* ============================================
   HERO SECTION
   ============================================ */
.bfx-hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 120px 24px 80px;
  overflow: hidden;
  background: var(--bg-primary);
}

.bfx-hero.bfx-hero-compact {
  min-height: auto;
  padding: 110px 24px 48px;
}

.bfx-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(201, 169, 110, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 50%, rgba(201, 169, 110, 0.05) 0%, transparent 60%),
    radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 50%);
  pointer-events: none;
}

.bfx-hero::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

.bfx-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
}

.bfx-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  background: rgba(201, 169, 110, 0.1);
  border: 1px solid var(--border-gold);
  border-radius: 100px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--gold);
  margin-bottom: 32px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bfx-hero h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.bfx-hero-compact h1 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}

.bfx-hero h1 .gold {
  background: linear-gradient(135deg, var(--gold-light), var(--gold), var(--gold-dark));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.bfx-hero-subtitle {
  font-size: 1.25rem;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto 40px;
  line-height: 1.6;
}

.bfx-hero-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.bfx-hero-stats {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
}

.bfx-hero-stat {
  text-align: center;
}

.bfx-hero-stat-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--gold);
  line-height: 1;
}

.bfx-hero-stat-label {
  font-size: 0.6875rem;
  color: var(--text-muted);
  margin-top: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ============================================
   SECTIONS
   ============================================ */
.bfx-section {
  padding: 96px 24px;
  max-width: var(--container);
  margin: 0 auto;
}

.bfx-home #products {
  padding-top: 76px;
}

.bfx-hero-h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 20px 0 8px;
  letter-spacing: 0.01em;
}

.bfx-hero-sub {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.bfx-section-dark {
  background: var(--bg-secondary);
  max-width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

.bfx-section-dark .bfx-section-inner {
  max-width: var(--container);
  margin: 0 auto;
}

.bfx-section-title {
  text-align: center;
  margin-bottom: 64px;
}

.bfx-section-title h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.bfx-section-title p {
  font-size: 1.125rem;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
}

.bfx-section-title .gold-line {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-dark));
  margin: 20px auto 0;
  border-radius: 2px;
}

/* ============================================
   VALUE PROPOSITION
   ============================================ */

/* Section background with gold trading pattern */
.bfx-section-dark[aria-label="Why Choose BinaryForexEA"] {
  position: relative;
  overflow: hidden;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='300' viewBox='0 0 1200 300'%3E%3Cdefs%3E%3ClinearGradient id='g1' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23c9a96e' stop-opacity='0.06'/%3E%3Cstop offset='1' stop-color='%23c9a96e' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C!-- Grid lines --%3E%3Cline x1='0' y1='75' x2='1200' y2='75' stroke='%23c9a96e' stroke-opacity='0.04' stroke-width='1'/%3E%3Cline x1='0' y1='150' x2='1200' y2='150' stroke='%23c9a96e' stroke-opacity='0.04' stroke-width='1'/%3E%3Cline x1='0' y1='225' x2='1200' y2='225' stroke='%23c9a96e' stroke-opacity='0.04' stroke-width='1'/%3E%3C!-- Candlesticks left --%3E%3Crect x='60' y='120' width='4' height='60' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='58' y='135' width='8' height='30' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='80' y='100' width='4' height='80' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='78' y='110' width='8' height='40' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='100' y='130' width='4' height='50' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='98' y='140' width='8' height='25' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='120' y='90' width='4' height='90' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='118' y='105' width='8' height='45' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='140' y='110' width='4' height='70' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='138' y='120' width='8' height='35' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3C!-- Trend line left --%3E%3Cpath d='M50 200 L100 170 L150 185 L200 140 L250 155 L300 120' stroke='%23c9a96e' stroke-opacity='0.1' stroke-width='1.5' fill='none'/%3E%3C!-- Candlesticks right --%3E%3Crect x='1020' y='110' width='4' height='70' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='1018' y='125' width='8' height='35' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='1040' y='130' width='4' height='50' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='1038' y='140' width='8' height='25' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='1060' y='95' width='4' height='85' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='1058' y='110' width='8' height='42' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='1080' y='120' width='4' height='60' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='1078' y='130' width='8' height='30' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3Crect x='1100' y='85' width='4' height='95' rx='1' fill='%23c9a96e' opacity='0.08'/%3E%3Crect x='1098' y='100' width='8' height='48' rx='1' fill='%23c9a96e' opacity='0.06'/%3E%3C!-- Trend line right --%3E%3Cpath d='M1000 190 L1040 160 L1080 175 L1120 130 L1160 145' stroke='%23c9a96e' stroke-opacity='0.1' stroke-width='1.5' fill='none'/%3E%3C!-- Center glow --%3E%3Cellipse cx='600' cy='150' rx='350' ry='120' fill='url(%23g1)'/%3E%3C!-- Diagonal lines --%3E%3Cline x1='300' y1='0' x2='400' y2='300' stroke='%23c9a96e' stroke-opacity='0.03' stroke-width='1'/%3E%3Cline x1='500' y1='0' x2='600' y2='300' stroke='%23c9a96e' stroke-opacity='0.03' stroke-width='1'/%3E%3Cline x1='700' y1='0' x2='800' y2='300' stroke='%23c9a96e' stroke-opacity='0.03' stroke-width='1'/%3E%3Cline x1='900' y1='0' x2='1000' y2='300' stroke='%23c9a96e' stroke-opacity='0.03' stroke-width='1'/%3E%3C!-- Dots pattern --%3E%3Ccircle cx='350' cy='80' r='2' fill='%23c9a96e' opacity='0.06'/%3E%3Ccircle cx='450' cy='220' r='2' fill='%23c9a96e' opacity='0.06'/%3E%3Ccircle cx='750' cy='70' r='2' fill='%23c9a96e' opacity='0.06'/%3E%3Ccircle cx='850' cy='230' r='2' fill='%23c9a96e' opacity='0.06'/%3E%3Ccircle cx='550' cy='50' r='1.5' fill='%23c9a96e' opacity='0.05'/%3E%3Ccircle cx='650' cy='250' r='1.5' fill='%23c9a96e' opacity='0.05'/%3E%3C/svg%3E") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.bfx-section-dark[aria-label="Why Choose BinaryForexEA"]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 10%, rgba(201, 169, 110, 0.2) 50%, transparent 90%);
  z-index: 0;
}

.bfx-section-dark[aria-label="Why Choose BinaryForexEA"]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 10%, rgba(201, 169, 110, 0.2) 50%, transparent 90%);
  z-index: 0;
}

.bfx-section-dark[aria-label="Why Choose BinaryForexEA"] .bfx-section-inner {
  position: relative;
  z-index: 1;
}

.bfx-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}

.bfx-feature-card {
  background: linear-gradient(165deg, rgba(30, 28, 24, 0.9) 0%, rgba(20, 18, 14, 0.95) 100%);
  border: 1px solid rgba(201, 169, 110, 0.2);
  border-radius: var(--radius-md);
  padding: 28px 22px;
  text-align: center;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(201, 169, 110, 0.08);
}

.bfx-feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0.5;
  transition: var(--transition);
}

.bfx-feature-card::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 50%);
  pointer-events: none;
}

.bfx-feature-card:hover {
  border-color: rgba(201, 169, 110, 0.4);
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(201, 169, 110, 0.12), 0 4px 16px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(201, 169, 110, 0.15);
}

.bfx-feature-card:hover::before {
  opacity: 1;
}

.bfx-feature-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 16px;
  background: linear-gradient(135deg, rgba(201, 169, 110, 0.12) 0%, rgba(201, 169, 110, 0.04) 100%);
  border: 1px solid rgba(201, 169, 110, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 20px rgba(201, 169, 110, 0.08);
}

.bfx-feature-card h3 {
  font-size: 0.9375rem;
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
  color: var(--text-primary);
}

.bfx-feature-card p {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--text-secondary);
}

/* ============================================
   PRODUCTS CONTROLS
   ============================================ */
.bfx-products-controls {
  margin-bottom: 40px;
}

.bfx-filter-row {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.bfx-search-wrap {
  flex: 1;
  max-width: 400px;
}

.bfx-search {
  width: 100%;
  padding: 12px 24px !important;
  background: var(--bg-secondary) !important;
  border: 2px solid var(--border) !important;
  border-radius: 100px !important;
  color: var(--text-primary) !important;
  font-family: var(--font) !important;
  font-size: 0.875rem !important;
  transition: var(--transition);
}

.bfx-search::placeholder {
  color: var(--text-muted) !important;
}

.bfx-search:hover {
  border-color: rgba(201, 169, 110, 0.4) !important;
}

.bfx-search:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 20px rgba(201, 169, 110, 0.2) !important;
  outline: none !important;
}

.bfx-sort {
  padding: 12px 40px 12px 24px !important;
  background-color: var(--bg-secondary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a96e' fill='none' stroke-width='2'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  border: 2px solid var(--border) !important;
  border-radius: 100px !important;
  color: var(--text-secondary) !important;
  font-family: var(--font) !important;
  font-size: 0.875rem !important;
  cursor: pointer;
  min-width: 180px;
  transition: var(--transition);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.bfx-sort:hover {
  border-color: rgba(201, 169, 110, 0.4) !important;
  color: var(--text-primary) !important;
}

.bfx-sort:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 20px rgba(201, 169, 110, 0.2) !important;
  outline: none !important;
}

.bfx-sort option {
  background: var(--bg-card);
  color: var(--text-primary);
  padding: 8px;
}

@media (max-width: 768px) {
  .bfx-filter-row {
    flex-direction: column;
  }

  .bfx-search-wrap {
    max-width: 100%;
    width: 100%;
  }

  .bfx-sort {
    width: 100%;
  }
}

/* ============================================
   CATEGORY TABS
   ============================================ */
.bfx-tabs {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 40px;
  flex-wrap: wrap;
  padding-bottom: 4px;
}

.bfx-tab {
  padding: 10px 24px;
  border: 1px solid var(--border);
  border-radius: 100px;
  background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.01) 50%, transparent 100%);
  color: var(--text-secondary);
  font-family: var(--font);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: var(--transition);
  letter-spacing: 0.03em;
  position: relative;
  overflow: visible;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.05) inset,
    0 2px 6px rgba(0,0,0,0.25);
}

.bfx-tab:hover {
  border-color: rgba(201, 169, 110, 0.5);
  color: var(--gold);
  background: linear-gradient(180deg, rgba(201, 169, 110, 0.1) 0%, rgba(201, 169, 110, 0.03) 100%);
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.06) inset,
    0 4px 14px rgba(0,0,0,0.3);
}

.bfx-tab.active {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 30%, #b89a5a 70%, #a88b52 100%);
  color: #3d2e0a;
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-weight: 600;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.2) inset,
    0 -1px 0 rgba(0,0,0,0.3) inset,
    0 4px 12px rgba(201, 169, 110, 0.3),
    0 2px 4px rgba(0,0,0,0.3),
    0 8px 20px rgba(201, 169, 110, 0.15);
}


/* ============================================
   PRODUCT CARDS
   ============================================ */
.bfx-products-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.bfx-product-card {
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition);
  position: relative;
  display: flex;
  flex-direction: column;
}

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

.bfx-product-card-image {
  position: relative;
  height: 160px;
  overflow: hidden;
  background: var(--bg-secondary);
  display: block;
}

.bfx-product-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}

.bfx-product-card:hover .bfx-product-card-image img {
  transform: scale(1.05);
}

.bfx-product-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--gold);
  color: var(--bg-primary);
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.bfx-product-card-body {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  flex: 1;
  background: transparent;
}

.bfx-product-card-category {
  font-size: 0.75rem;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin-bottom: 8px;
}

.bfx-product-card-title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
  flex: 1;
}

.bfx-product-card-title a {
  color: inherit;
}

.bfx-product-card-title a:hover {
  color: var(--gold);
}

.bfx-product-card-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 12px;
}

.bfx-product-card-rating .star {
  color: var(--gold);
  font-size: 0.875rem;
}

.bfx-product-card-rating .star.empty {
  color: var(--border);
}

.bfx-product-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid var(--border);
  margin-top: auto;
}

.bfx-product-card-price {
  font-size: 1rem;
  font-weight: 800;
  color: var(--gold);
}

.bfx-product-card-price del {
  font-size: 0.6875rem;
  color: var(--text-muted);
  font-weight: 400;
  margin-right: 4px;
}

.bfx-product-card .bfx-btn-cart {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 40%, #a88b52 100%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--bg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
  font-size: 0.875rem;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 -1px 0 rgba(0, 0, 0, 0.3) inset,
    0 3px 8px rgba(201, 169, 110, 0.2);
  text-decoration: none;
}

.bfx-product-card .bfx-btn-cart:hover {
  background: linear-gradient(180deg, #edd9a3 0%, #d4b87a 40%, #b8984e 100%);
  color: var(--bg-primary);
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 6px 16px rgba(201, 169, 110, 0.35);
}

/* ============================================
   TOOLS SECTION
   ============================================ */
.bfx-tools-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.bfx-tool-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  transition: var(--transition);
  color: var(--text-secondary);
  text-decoration: none;
}

.bfx-tool-item:hover {
  border-color: var(--border-gold);
  color: var(--gold);
  background: var(--bg-card-hover);
}

.bfx-tool-icon {
  width: 38px;
  height: 38px;
  background: rgba(201, 169, 110, 0.06);
  border: 1px solid rgba(201, 169, 110, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: var(--transition);
}

.bfx-tool-item:hover .bfx-tool-icon {
  background: rgba(201, 169, 110, 0.12);
  border-color: rgba(201, 169, 110, 0.3);
}

.bfx-tool-name {
  font-size: 0.875rem;
  font-weight: 600;
}

/* ============================================
   PAYMENT METHODS
   ============================================ */
.bfx-payments {
  text-align: center;
  padding: 64px 24px;
}

.bfx-payments img {
  max-width: 800px;
  opacity: 0.85;
  transition: var(--transition);
}

.bfx-payments img:hover {
  opacity: 1;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.bfx-newsletter {
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
}

.bfx-newsletter-form {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.bfx-newsletter-form input[type="email"] {
  flex: 1;
  padding: 14px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-family: var(--font);
  font-size: 0.9375rem;
  transition: var(--transition);
}

.bfx-newsletter-form input[type="email"]:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.1);
}

.bfx-newsletter-form input[type="email"]::placeholder {
  color: var(--text-muted);
}

/* ============================================
   FOOTER
   ============================================ */
.bfx-footer {
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
  padding: 80px 24px 32px;
}

.bfx-footer-inner {
  max-width: var(--container);
  margin: 0 auto;
}

.bfx-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 2.5fr 1fr;
  gap: 32px;
  margin-bottom: 48px;
}

.bfx-footer-tools-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 40px;
}

.bfx-footer-brand p {
  margin-top: 16px;
  font-size: 0.875rem;
  line-height: 1.7;
  max-width: 320px;
}

.bfx-footer h4 {
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold);
  margin-bottom: 24px;
}

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

.bfx-footer-links li {
  margin-bottom: 12px;
}

.bfx-footer-links a {
  color: var(--text-secondary);
  font-size: 0.875rem;
  transition: var(--transition);
}

.bfx-footer-links a:hover {
  color: var(--gold);
  padding-left: 4px;
}

.bfx-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  border-top: 1px solid var(--border);
  font-size: 0.8125rem;
  color: var(--text-muted);
}

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

/* Shop page */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  transition: var(--transition) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

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

.woocommerce ul.products li.product a img {
  border-radius: 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  color: var(--text-primary) !important;
  font-family: var(--font) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  padding: 12px 20px 8px !important;
}

.woocommerce ul.products li.product .price {
  color: var(--gold) !important;
  font-weight: 700 !important;
  padding: 0 20px 12px !important;
  font-size: 1.125rem !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--text-muted) !important;
  font-size: 0.875rem !important;
}

.woocommerce ul.products li.product .price ins {
  color: var(--gold) !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .star-rating {
  padding: 0 20px;
  color: var(--gold) !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark)) !important;
  color: var(--bg-primary) !important;
  border: none !important;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
  padding: 14px 20px !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  width: 100% !important;
  margin: 0 !important;
  transition: var(--transition) !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background: linear-gradient(135deg, var(--gold-hover), var(--gold)) !important;
}

.woocommerce span.onsale {
  background: var(--gold) !important;
  color: var(--bg-primary) !important;
  font-weight: 700 !important;
  border-radius: 100px !important;
  font-size: 0.75rem !important;
  padding: 6px 14px !important;
  min-height: auto !important;
  line-height: 1.4 !important;
}

/* Single product */
.woocommerce div.product .product_title {
  color: var(--text-primary) !important;
  font-family: var(--font) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--gold) !important;
  font-size: 1.5rem !important;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-Tabs-panel {
  color: var(--text-secondary) !important;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 30%, #a88b52 70%, #8a7040 100%) !important;
  color: var(--bg-primary) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  transition: var(--transition) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 -1px 0 rgba(0, 0, 0, 0.3) inset, 0 4px 12px rgba(201, 169, 110, 0.25) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) !important;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: linear-gradient(180deg, #edd9a3 0%, #d4b87a 30%, #b8984e 70%, #9a7d42 100%) !important;
  color: var(--bg-primary) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 -1px 0 rgba(0, 0, 0, 0.3) inset, 0 8px 24px rgba(201, 169, 110, 0.4) !important;
}

/* WooCommerce tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: var(--bg-secondary) !important;
  border-color: var(--border) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--bg-card) !important;
  border-color: var(--border) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--bg-primary) !important;
  border-bottom-color: var(--bg-primary) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--text-secondary) !important;
  font-family: var(--font) !important;
}

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

/* Cart & Checkout */
.woocommerce table.shop_table {
  background: var(--bg-card) !important;
  border-color: var(--border) !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: var(--border) !important;
  color: var(--text-primary) !important;
}

/* ============================================
   ASTRA OVERRIDES
   ============================================ */
.ast-container,
.site-content .ast-container {
  background: var(--bg-primary) !important;
}

#page, #content, .site-content,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-comment-list li.depth-1,
.ast-separate-container .comment-respond {
  background: var(--bg-primary) !important;
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
  padding: 2em !important;
}

/* Free EAs nav link - highlight */
.bfx-nav-free {
  color: var(--success) !important;
}

/* Free badge */
.bfx-badge-free {
  background: var(--success);
  color: #fff;
  font-size: 0.5625rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 100px;
  text-transform: uppercase;
  margin-left: 4px;
  vertical-align: middle;
}

/* Free card green accent */
.bfx-free-card {
  border-color: rgba(34, 197, 94, 0.15);
}
.bfx-free-card:hover {
  border-color: rgba(34, 197, 94, 0.4);
  box-shadow: 0 8px 24px rgba(34, 197, 94, 0.1);
}

/* Free card placeholder for no image */
.bfx-free-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 160px;
  background: var(--bg-secondary);
}

/* Download button */
.bfx-btn-download {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.15) 0%, rgba(34, 197, 94, 0.05) 100%);
  color: var(--success);
  padding: 3px 10px;
  border-radius: 100px;
  font-size: 0.5625rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--transition);
  border: 1px solid rgba(34, 197, 94, 0.3);
  letter-spacing: 0.03em;
  white-space: nowrap;
  line-height: 1.4;
}

.bfx-btn-download:hover {
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.25) 0%, rgba(34, 197, 94, 0.1) 100%);
  border-color: var(--success);
}

/* Login notice */
.bfx-login-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  background: rgba(201, 169, 110, 0.05);
  border: 1px solid rgba(201, 169, 110, 0.15);
  border-radius: var(--radius-md);
  margin-bottom: 24px;
}
.bfx-login-notice svg {
  flex-shrink: 0;
}
.bfx-login-notice p {
  color: var(--text-secondary);
  font-size: 0.8rem;
  margin: 0;
  line-height: 1.4;
}
.bfx-login-notice a {
  color: var(--gold);
  font-weight: 600;
}

/* Hide Astra's default header and footer */
.ast-primary-header-bar,
.ast-above-header,
.ast-below-header,
#ast-desktop-header,
#ast-mobile-header,
.site-header,
header.site-header,
.main-header-bar-wrap,
.ast-mobile-header-wrap {
  display: none !important;
}

.site-footer,
footer.site-footer,
.ast-footer-overlay,
.ast-small-footer,
#colophon {
  display: none !important;
}

/* Hide old banners/ads/copyright globally on all pages */
img[src*="pagos-aceptados"],
img[src*="banner-mql5"],
img[src*="mq4-source-codes"],
a[href*="roboforex.com"] img,
a[href*="ftmo.com"] img,
img[src*="banner-mql5"],
a[href*="mql5.com"] {
  display: none !important;
}

/* Hide old dividers/lines near bottom of tool pages */
.bfx-tool-content .elementor-widget-divider:last-of-type,
.bfx-tool-content hr {
  display: none !important;
}

/* Breadcrumbs */
.ast-breadcrumbs-wrapper {
  background: var(--bg-primary) !important;
}

.ast-breadcrumbs-wrapper a {
  color: var(--gold) !important;
}

.ast-breadcrumbs-wrapper .trail-items li::after,
.ast-breadcrumbs-wrapper .separator {
  color: var(--text-muted) !important;
}

/* Sidebar */
.widget {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
}

.widget-title,
.widget h2 {
  color: var(--gold) !important;
  font-family: var(--font) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="url"],
input[type="tel"],
textarea,
select {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font) !important;
  padding: 12px 16px !important;
  transition: var(--transition);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.1) !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .bfx-products-grid,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
  }

  .bfx-footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .bfx-tools-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .bfx-nav {
    display: none;
  }

  .bfx-mobile-toggle {
    display: flex;
  }

  .bfx-nav.active {
    display: flex;
    position: fixed;
    top: 72px;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100vh - 72px);
    height: calc(100dvh - 72px);
    background: rgba(10, 10, 10, 0.98);
    flex-direction: column;
    padding: 24px 24px 40px;
    gap: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 9998;
  }

  .bfx-nav.active a {
    font-size: 1.125rem;
    padding: 16px 16px;
    border-bottom: 1px solid rgba(201, 169, 110, 0.1);
    flex-shrink: 0;
  }

  .bfx-nav.active .bfx-dropdown-menu {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0 0 0 16px;
    min-width: auto;
  }

  .bfx-hero {
    min-height: 70vh;
    padding: 100px 20px 60px;
  }

  .bfx-hero h1 {
    font-size: 2rem;
  }

  .bfx-hero-stats {
    gap: 24px;
    flex-wrap: wrap;
  }

  .bfx-hero-stat-value {
    font-size: 1.5rem;
  }

  .bfx-features {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bfx-products-grid,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .bfx-tools-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .bfx-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bfx-newsletter-form {
    flex-direction: column;
  }

  .bfx-section {
    padding: 64px 16px;
  }
}

@media (max-width: 480px) {
  .bfx-products-grid,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }

  .bfx-tools-grid {
    grid-template-columns: 1fr;
  }

  .bfx-hero-actions {
    flex-direction: column;
    align-items: center;
  }

  .bfx-hero-actions .bfx-btn {
    width: 100%;
  }
}

/* ============================================
   SINGLE PRODUCT PAGE
   ============================================ */
.bfx-single-product {
  max-width: var(--container);
  margin: 0 auto;
  padding: 96px 24px 48px;
}

.bfx-product-layout {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 36px;
  align-items: start;
}

/* Gallery */
.bfx-product-gallery {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: 12px;
  max-width: 400px;
}

.bfx-product-gallery .woocommerce-product-gallery {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bfx-product-gallery img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.bfx-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
}

.bfx-product-gallery .flex-control-thumbs li {
  flex: 1;
}

.bfx-product-gallery .flex-control-thumbs img {
  border-radius: var(--radius-sm);
  opacity: 0.5;
  cursor: pointer;
  transition: var(--transition);
  border: 2px solid transparent;
}

.bfx-product-gallery .flex-control-thumbs img.flex-active,
.bfx-product-gallery .flex-control-thumbs img:hover {
  opacity: 1;
  border-color: var(--gold);
}

.bfx-product-gallery .onsale {
  background: var(--gold) !important;
  color: #000 !important;
  font-weight: 700;
  border-radius: var(--radius-sm);
}

/* Product Info */
.bfx-product-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bfx-product-category-label {
  display: inline-block;
  background: rgba(201, 169, 110, 0.1);
  border: 1px solid rgba(201, 169, 110, 0.2);
  color: var(--gold);
  padding: 4px 14px;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  width: fit-content;
}

.bfx-product-title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

.bfx-product-rating {
  display: flex;
  align-items: center;
  gap: 4px;
}

.bfx-product-rating .star {
  color: var(--gold);
  font-size: 1rem;
}

.bfx-product-rating .star.empty {
  color: var(--text-muted);
}

.bfx-rating-text {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  margin-left: 8px;
}

/* Price box */
.bfx-product-price-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}

.bfx-price-current {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gold);
}

.bfx-price-old {
  font-size: 0.85rem;
  color: var(--text-muted);
  text-decoration: line-through;
}

.bfx-price-badge {
  background: var(--success);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 100px;
}

/* Excerpt - force visible text */
.bfx-product-excerpt {
  color: var(--text-secondary) !important;
  font-size: 0.775rem !important;
  line-height: 1.5 !important;
}

.bfx-product-excerpt p,
.bfx-product-excerpt span,
.bfx-product-excerpt li,
.bfx-product-excerpt strong,
.bfx-product-excerpt font,
.bfx-product-excerpt *,
.bfx-product-excerpt [style*="color"] {
  color: var(--text-secondary) !important;
  font-size: 0.775rem !important;
  line-height: 1.5 !important;
  background: transparent !important;
}

.bfx-product-excerpt strong,
.bfx-product-excerpt b {
  color: var(--text-primary) !important;
}

.bfx-product-excerpt p {
  margin-bottom: 4px !important;
}

/* Add to cart */
.bfx-product-add-to-cart .single_add_to_cart_button {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 30%, #a88b52 100%) !important;
  color: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  padding: 10px 28px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  font-family: var(--font) !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer;
  transition: var(--transition);
  width: 100%;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.2) inset,
    0 -1px 0 rgba(0,0,0,0.3) inset,
    0 4px 12px rgba(201, 169, 110, 0.25) !important;
}

.bfx-product-add-to-cart .single_add_to_cart_button:hover {
  background: linear-gradient(180deg, #edd9a3 0%, #d4b87a 30%, #b8984e 100%) !important;
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.25) inset,
    0 -1px 0 rgba(0,0,0,0.3) inset,
    0 8px 24px rgba(201, 169, 110, 0.4) !important;
}

.bfx-product-add-to-cart .quantity input {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-primary) !important;
  font-family: var(--font) !important;
  padding: 8px !important;
  border-radius: var(--radius-sm) !important;
  text-align: center;
  width: 80px !important;
}

/* Meta */
.bfx-product-meta {
  padding-top: 16px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bfx-meta-item {
  font-size: 0.7rem;
  color: var(--text-muted);
}

.bfx-meta-label {
  color: var(--text-secondary);
  font-weight: 600;
}

.bfx-meta-item a {
  color: var(--gold);
}

.bfx-meta-item a:hover {
  color: var(--gold-hover);
}

/* Tabs section */
.bfx-product-tabs-section {
  margin-top: 48px;
}

.bfx-product-tabs-section .woocommerce-tabs,
.single-product .woocommerce-tabs,
.single-product div.product .woocommerce-tabs {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

.bfx-product-tabs-section .wc-tabs,
.single-product .wc-tabs,
.single-product div.product .woocommerce-tabs ul.tabs {
  list-style: none !important;
  display: flex !important;
  padding: 0 !important;
  margin: 0 0 -1px 0 !important;
  border: none !important;
  background: transparent !important;
  gap: 4px !important;
}

.bfx-product-tabs-section .wc-tabs li,
.single-product .wc-tabs li,
.single-product div.product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.bfx-product-tabs-section .wc-tabs li a,
.single-product .wc-tabs li a,
.single-product div.product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 12px 24px !important;
  color: var(--text-muted) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  transition: all 0.3s ease;
  box-shadow: none !important;
}

.bfx-product-tabs-section .wc-tabs li a::before,
.single-product .wc-tabs li a::before,
.single-product .wc-tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after,
.single-product div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
  content: none !important;
}

.bfx-product-tabs-section .wc-tabs li.active a,
.single-product .wc-tabs li.active a,
.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--gold) !important;
  border-bottom: 2px solid var(--gold) !important;
  background: transparent !important;
}

.bfx-product-tabs-section .wc-tabs li a:hover,
.single-product .wc-tabs li a:hover,
.single-product div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--text-primary) !important;
  background: transparent !important;
}

.bfx-product-tabs-section .woocommerce-Tabs-panel,
.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 24px 0 !important;
  color: var(--text-secondary) !important;
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--border) !important;
}

.bfx-product-tabs-section .woocommerce-Tabs-panel h1,
.single-product .woocommerce-Tabs-panel h1 {
  font-size: 1rem !important;
  color: var(--text-primary) !important;
  margin-bottom: 12px !important;
}

.bfx-product-tabs-section .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h2 {
  font-size: 0.95rem !important;
  color: var(--text-primary) !important;
  margin-bottom: 12px !important;
}

/* Force ALL text inside description tab to be visible */
.bfx-product-tabs-section .woocommerce-Tabs-panel *,
.single-product .woocommerce-Tabs-panel *,
.single-product .woocommerce-Tabs-panel [style*="color"],
.single-product .woocommerce-Tabs-panel font,
.single-product .woocommerce-Tabs-panel span,
.single-product .woocommerce-Tabs-panel p,
.single-product .woocommerce-Tabs-panel li,
.single-product .woocommerce-Tabs-panel div {
  color: var(--text-secondary) !important;
  background-color: transparent !important;
}

.single-product .woocommerce-Tabs-panel strong,
.single-product .woocommerce-Tabs-panel b,
.single-product .woocommerce-Tabs-panel h1,
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3,
.single-product .woocommerce-Tabs-panel h4 {
  color: var(--text-primary) !important;
}

.single-product .woocommerce-Tabs-panel a {
  color: var(--gold) !important;
}

/* Images inside description - framed and contained */
.single-product .woocommerce-Tabs-panel img,
.single-product .woocommerce-Tabs-panel .elementor-widget-image img {
  max-width: 55% !important;
  height: auto !important;
  display: block !important;
  margin: 16px auto !important;
  border: 1px solid rgba(201, 169, 110, 0.2) !important;
  border-radius: 8px !important;
  padding: 4px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
}

/* Related products */
.bfx-product-tabs-section .related.products,
.single-product .related.products {
  margin-top: 48px;
}

.bfx-product-tabs-section .related.products h2,
.single-product .related.products > h2 {
  font-size: 1.1rem !important;
  margin-bottom: 24px !important;
  color: var(--text-primary) !important;
}

.bfx-product-tabs-section .related.products ul.products,
.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
}

.single-product .related.products ul.products li.product {
  display: grid !important;
  grid-template-rows: auto 1fr auto auto !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.single-product .related.products ul.products li.product a img {
  width: 100% !important;
  height: 120px !important;
  object-fit: cover !important;
  display: block !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  max-width: 100% !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product h2 {
  color: var(--text-primary) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  padding: 8px 10px 4px !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  height: 2.8em !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}

.single-product .related.products ul.products li.product .price {
  color: var(--gold) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 4px 10px 8px !important;
  height: 1.5em !important;
}

.single-product .related.products ul.products li.product .price del {
  color: var(--text-muted) !important;
  font-size: 0.65rem !important;
}

.single-product .related.products ul.products li.product .price ins {
  text-decoration: none !important;
}

.single-product .related.products ul.products li.product .button,
.single-product .related.products ul.products li.product a.add_to_cart_button {
  margin: 0 10px 10px !important;
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 50%, #a88b52 100%) !important;
  color: #3a2510 !important;
  border: none !important;
  padding: 4px 14px !important;
  border-radius: 100px !important;
  font-size: 0.55rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  display: inline-block !important;
  width: auto !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset, 0 1px 4px rgba(0,0,0,0.3) !important;
}

.single-product .related.products ul.products li.product .onsale {
  background: var(--gold) !important;
  color: #000 !important;
  font-size: 0.55rem !important;
  padding: 2px 8px !important;
  border-radius: var(--radius-sm) !important;
}

/* Responsive single product */
@media (max-width: 768px) {
  .bfx-product-layout {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }

  .bfx-price-current {
    font-size: 1.5rem;
  }

  .bfx-product-tabs-section .related.products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================
   CATEGORY PAGES (Expert Advisors, Forex)
   ============================================ */
.bfx-category-page {
  padding-top: 96px;
}

.bfx-category-hero {
  text-align: center;
  margin-bottom: 48px;
}

#source-codes .bfx-category-hero {
  position: relative;
  padding: 48px 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, rgba(201, 169, 110, 0.03) 0%, transparent 50%, rgba(201, 169, 110, 0.03) 100%);
}

#source-codes .bfx-category-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='400' viewBox='0 0 800 400'%3E%3Cstyle%3Etext%7Bfont-family:monospace;fill:%23c9a96e%7D%3C/style%3E%3Ctext x='20' y='30' font-size='11'%3Eint OnInit()%3C/text%3E%3Ctext x='20' y='50' font-size='11'%3E%7B%3C/text%3E%3Ctext x='40' y='70' font-size='11'%3Ereturn(INIT_SUCCEEDED);%3C/text%3E%3Ctext x='20' y='90' font-size='11'%3E%7D%3C/text%3E%3Ctext x='20' y='120' font-size='11'%3Evoid OnTick()%3C/text%3E%3Ctext x='20' y='140' font-size='11'%3E%7B%3C/text%3E%3Ctext x='40' y='160' font-size='11'%3Edouble Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);%3C/text%3E%3Ctext x='40' y='180' font-size='11'%3Edouble Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID);%3C/text%3E%3Ctext x='40' y='200' font-size='11'%3Eif(OrdersTotal() == 0)%3C/text%3E%3Ctext x='60' y='220' font-size='11'%3EOrderSend(_Symbol,OP_BUY,0.1,Ask,3,0,0);%3C/text%3E%3Ctext x='20' y='240' font-size='11'%3E%7D%3C/text%3E%3Ctext x='450' y='40' font-size='11'%3E//+---------------------------+%3C/text%3E%3Ctext x='450' y='60' font-size='11'%3E//| Expert Advisor |%3C/text%3E%3Ctext x='450' y='80' font-size='11'%3E//+---------------------------+%3C/text%3E%3Ctext x='450' y='110' font-size='11'%3E%23property copyright 'MQL5'%3C/text%3E%3Ctext x='450' y='130' font-size='11'%3E%23property version '1.00'%3C/text%3E%3Ctext x='450' y='150' font-size='11'%3E%23property strict%3C/text%3E%3Ctext x='450' y='180' font-size='11'%3Einput double LotSize = 0.01;%3C/text%3E%3Ctext x='450' y='200' font-size='11'%3Einput int StopLoss = 50;%3C/text%3E%3Ctext x='450' y='220' font-size='11'%3Einput int TakeProfit = 100;%3C/text%3E%3Ctext x='450' y='250' font-size='11'%3Eint ticket = OrderSend(Symbol(),OP_BUY,%3C/text%3E%3Ctext x='470' y='270' font-size='11'%3ELotSize,Ask,3,sl,tp);%3C/text%3E%3Ctext x='200' y='300' font-size='13'%3E%7B %7D [ ] ( ) %3B // %23include%3C/text%3E%3Ctext x='200' y='330' font-size='13'%3Edouble int void bool string%3C/text%3E%3Ctext x='200' y='360' font-size='13'%3EOrderSend() iMA() iRSI() iBands()%3C/text%3E%3Ctext x='200' y='390' font-size='13'%3EOnInit() OnTick() OnDeinit()%3C/text%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  pointer-events: none;
  z-index: 0;
}

#source-codes .bfx-category-hero > * {
  position: relative;
  z-index: 1;
}

/* Expert Advisors hero - candlesticks, profit chart, robot icon */
#expert-advisors .bfx-category-hero {
  position: relative;
  padding: 48px 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, rgba(201, 169, 110, 0.03) 0%, transparent 50%, rgba(201, 169, 110, 0.03) 100%);
}

#expert-advisors .bfx-category-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='300' viewBox='0 0 800 300'%3E%3C!-- Candlestick chart left --%3E%3Crect x='40' y='80' width='3' height='120' fill='%23c9a96e'/%3E%3Crect x='35' y='100' width='13' height='50' fill='%23c9a96e'/%3E%3Crect x='65' y='60' width='3' height='140' fill='%23c9a96e'/%3E%3Crect x='60' y='80' width='13' height='60' fill='%23c9a96e'/%3E%3Crect x='90' y='100' width='3' height='100' fill='%23c9a96e'/%3E%3Crect x='85' y='120' width='13' height='40' fill='%23c9a96e'/%3E%3Crect x='115' y='50' width='3' height='150' fill='%23c9a96e'/%3E%3Crect x='110' y='70' width='13' height='70' fill='%23c9a96e'/%3E%3Crect x='140' y='90' width='3' height='110' fill='%23c9a96e'/%3E%3Crect x='135' y='110' width='13' height='45' fill='%23c9a96e'/%3E%3Crect x='165' y='40' width='3' height='160' fill='%23c9a96e'/%3E%3Crect x='160' y='60' width='13' height='80' fill='%23c9a96e'/%3E%3C!-- Profit line --%3E%3Cpath d='M30 220 Q100 200 170 180 T310 120 T450 100' stroke='%23c9a96e' stroke-width='2' fill='none' opacity='0.5'/%3E%3C!-- Candlestick chart right --%3E%3Crect x='640' y='70' width='3' height='130' fill='%23c9a96e'/%3E%3Crect x='635' y='90' width='13' height='55' fill='%23c9a96e'/%3E%3Crect x='665' y='50' width='3' height='150' fill='%23c9a96e'/%3E%3Crect x='660' y='70' width='13' height='65' fill='%23c9a96e'/%3E%3Crect x='690' y='90' width='3' height='110' fill='%23c9a96e'/%3E%3Crect x='685' y='105' width='13' height='50' fill='%23c9a96e'/%3E%3Crect x='715' y='60' width='3' height='140' fill='%23c9a96e'/%3E%3Crect x='710' y='80' width='13' height='60' fill='%23c9a96e'/%3E%3Crect x='740' y='80' width='3' height='120' fill='%23c9a96e'/%3E%3Crect x='735' y='95' width='13' height='55' fill='%23c9a96e'/%3E%3C!-- Robot/gear icon center --%3E%3Ccircle cx='400' cy='150' r='40' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3Ccircle cx='400' cy='150' r='28' stroke='%23c9a96e' stroke-width='1' fill='none'/%3E%3Cpath d='M400 122 L400 110 M400 178 L400 190 M372 150 L360 150 M428 150 L440 150 M380 130 L370 120 M420 170 L430 180 M420 130 L430 120 M380 170 L370 180' stroke='%23c9a96e' stroke-width='1.5'/%3E%3Ctext x='388' y='155' font-family='monospace' font-size='14' fill='%23c9a96e'%3EEA%3C/text%3E%3C!-- 24/7 text --%3E%3Ctext x='370' y='210' font-family='monospace' font-size='10' fill='%23c9a96e'%3E24/7 AUTO%3C/text%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  pointer-events: none;
  z-index: 0;
}

#expert-advisors .bfx-category-hero > * {
  position: relative;
  z-index: 1;
}

/* Forex page hero - indicators, waves, signals */
#forex .bfx-category-hero {
  position: relative;
  padding: 48px 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, rgba(201, 169, 110, 0.03) 0%, transparent 50%, rgba(201, 169, 110, 0.03) 100%);
}

#forex .bfx-category-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='300' viewBox='0 0 800 300'%3E%3C!-- Wave pattern left - sine wave --%3E%3Cpath d='M20 150 Q60 80 100 150 T180 150 T260 150 T340 150' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3C!-- Bollinger bands --%3E%3Cpath d='M20 120 Q60 60 100 120 T180 120 T260 120 T340 120' stroke='%23c9a96e' stroke-width='0.8' fill='none' stroke-dasharray='4 4'/%3E%3Cpath d='M20 180 Q60 120 100 180 T180 180 T260 180 T340 180' stroke='%23c9a96e' stroke-width='0.8' fill='none' stroke-dasharray='4 4'/%3E%3C!-- Signal arrows --%3E%3Cpolygon points='100,90 95,100 105,100' fill='%23c9a96e'/%3E%3Cpolygon points='220,200 215,190 225,190' fill='%23c9a96e'/%3E%3Cpolygon points='300,85 295,95 305,95' fill='%23c9a96e'/%3E%3C!-- RSI indicator bottom --%3E%3Cline x1='20' y1='240' x2='340' y2='240' stroke='%23c9a96e' stroke-width='0.5'/%3E%3Cline x1='20' y1='260' x2='340' y2='260' stroke='%23c9a96e' stroke-width='0.5' stroke-dasharray='3 3'/%3E%3Cpath d='M20 255 L60 245 L100 260 L140 240 L180 258 L220 235 L260 250 L300 242 L340 255' stroke='%23c9a96e' stroke-width='1' fill='none'/%3E%3C!-- Wave pattern right --%3E%3Cpath d='M500 150 Q540 70 580 150 T660 150 T740 150' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3Cpath d='M500 115 Q540 40 580 115 T660 115 T740 115' stroke='%23c9a96e' stroke-width='0.8' fill='none' stroke-dasharray='4 4'/%3E%3Cpath d='M500 185 Q540 115 580 185 T660 185 T740 185' stroke='%23c9a96e' stroke-width='0.8' fill='none' stroke-dasharray='4 4'/%3E%3C!-- MACD bars right --%3E%3Crect x='520' y='230' width='8' height='20' fill='%23c9a96e' opacity='0.6'/%3E%3Crect x='535' y='225' width='8' height='25' fill='%23c9a96e' opacity='0.6'/%3E%3Crect x='550' y='235' width='8' height='15' fill='%23c9a96e' opacity='0.4'/%3E%3Crect x='565' y='240' width='8' height='10' fill='%23c9a96e' opacity='0.3'/%3E%3Crect x='580' y='238' width='8' height='12' fill='%23c9a96e' opacity='0.4'/%3E%3Crect x='595' y='228' width='8' height='22' fill='%23c9a96e' opacity='0.5'/%3E%3Crect x='610' y='222' width='8' height='28' fill='%23c9a96e' opacity='0.7'/%3E%3C!-- Signal text --%3E%3Ctext x='380' y='140' font-family='monospace' font-size='10' fill='%23c9a96e'%3EBUY%3C/text%3E%3Ctext x='380' y='170' font-family='monospace' font-size='10' fill='%23c9a96e'%3ESELL%3C/text%3E%3Ccircle cx='375' cy='136' r='3' fill='%2322c55e'/%3E%3Ccircle cx='375' cy='166' r='3' fill='%23ef4444'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  pointer-events: none;
  z-index: 0;
}

#forex .bfx-category-hero > * {
  position: relative;
  z-index: 1;
}

/* Free EAs hero - download icon, gift, code */
#free-eas .bfx-category-hero {
  position: relative;
  padding: 48px 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.03) 0%, transparent 50%, rgba(201, 169, 110, 0.03) 100%);
}

#free-eas .bfx-category-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='300' viewBox='0 0 800 300'%3E%3C!-- Download arrows left --%3E%3Cpath d='M60 80 L60 140 M45 125 L60 140 L75 125' stroke='%23c9a96e' stroke-width='2' fill='none'/%3E%3Cline x1='40' y1='150' x2='80' y2='150' stroke='%23c9a96e' stroke-width='1.5'/%3E%3Cpath d='M120 100 L120 160 M105 145 L120 160 L135 145' stroke='%23c9a96e' stroke-width='2' fill='none'/%3E%3Cline x1='100' y1='170' x2='140' y2='170' stroke='%23c9a96e' stroke-width='1.5'/%3E%3Cpath d='M180 60 L180 120 M165 105 L180 120 L195 105' stroke='%23c9a96e' stroke-width='2' fill='none'/%3E%3Cline x1='160' y1='130' x2='200' y2='130' stroke='%23c9a96e' stroke-width='1.5'/%3E%3C!-- Gift box center --%3E%3Crect x='360' y='110' width='80' height='60' rx='4' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3Crect x='355' y='100' width='90' height='15' rx='3' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3Cline x1='400' y1='100' x2='400' y2='170' stroke='%23c9a96e' stroke-width='1'/%3E%3Cpath d='M400 100 Q385 80 370 90' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3Cpath d='M400 100 Q415 80 430 90' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3Ctext x='375' y='195' font-family='monospace' font-size='10' fill='%23c9a96e'%3EFREE%3C/text%3E%3C!-- File icons right --%3E%3Crect x='620' y='70' width='35' height='45' rx='2' stroke='%23c9a96e' stroke-width='1.2' fill='none'/%3E%3Cpath d='M640 70 L640 60 L655 60 L655 80' stroke='%23c9a96e' stroke-width='1'/%3E%3Ctext x='626' y='98' font-family='monospace' font-size='7' fill='%23c9a96e'%3E.ex4%3C/text%3E%3Crect x='680' y='90' width='35' height='45' rx='2' stroke='%23c9a96e' stroke-width='1.2' fill='none'/%3E%3Cpath d='M700 90 L700 80 L715 80 L715 100' stroke='%23c9a96e' stroke-width='1'/%3E%3Ctext x='686' y='118' font-family='monospace' font-size='7' fill='%23c9a96e'%3E.ex5%3C/text%3E%3Crect x='740' y='70' width='35' height='45' rx='2' stroke='%23c9a96e' stroke-width='1.2' fill='none'/%3E%3Ctext x='746' y='98' font-family='monospace' font-size='7' fill='%23c9a96e'%3E.zip%3C/text%3E%3C!-- Download arrows right --%3E%3Cpath d='M640 160 L640 210 M625 195 L640 210 L655 195' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3Cpath d='M700 170 L700 220 M685 205 L700 220 L715 205' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3C!-- 200+ text --%3E%3Ctext x='355' y='240' font-family='monospace' font-size='12' fill='%23c9a96e'%3E200+ FREE EAs%3C/text%3E%3C!-- Grid dots --%3E%3Ccircle cx='280' cy='80' r='1.5' fill='%23c9a96e'/%3E%3Ccircle cx='300' cy='100' r='1.5' fill='%23c9a96e'/%3E%3Ccircle cx='280' cy='120' r='1.5' fill='%23c9a96e'/%3E%3Ccircle cx='300' cy='140' r='1.5' fill='%23c9a96e'/%3E%3Ccircle cx='500' cy='80' r='1.5' fill='%23c9a96e'/%3E%3Ccircle cx='520' cy='100' r='1.5' fill='%23c9a96e'/%3E%3Ccircle cx='500' cy='120' r='1.5' fill='%23c9a96e'/%3E%3Ccircle cx='520' cy='140' r='1.5' fill='%23c9a96e'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  pointer-events: none;
  z-index: 0;
}

#free-eas .bfx-category-hero > * {
  position: relative;
  z-index: 1;
}

.bfx-category-h1 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 12px;
}

.bfx-category-desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.6;
}

.bfx-seo-section {
  padding: 80px 24px;
}

.bfx-seo-full {
  max-width: var(--container);
  margin: 0 auto;
}

.bfx-seo-header {
  text-align: center;
  margin-bottom: 48px;
}

.bfx-seo-header h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.bfx-seo-header p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
}

.bfx-seo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.bfx-seo-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  transition: var(--transition);
}

.bfx-seo-card:hover {
  border-color: var(--border-gold);
}

.bfx-seo-card h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--gold-light);
  margin-bottom: 12px;
}

.bfx-seo-card p {
  font-size: 0.8125rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin-bottom: 8px;
}

.bfx-seo-card p:last-child {
  margin-bottom: 0;
}

.bfx-seo-card strong {
  color: var(--text-secondary);
}

.bfx-seo-card em {
  color: var(--gold);
  font-style: normal;
}

/* Source codes page - image fix for banner-shaped images */
#source-codes .bfx-product-card-image {
  height: auto;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

#source-codes .bfx-product-card-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Premium badge for source codes */
.bfx-badge-premium {
  background: linear-gradient(135deg, #e8a020, #f0c050);
  color: #1a1a1a;
  font-size: 0.5625rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 100px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-left: 4px;
  vertical-align: middle;
}

/* Premium card orange border */
#source-codes .bfx-premium-card {
  border-color: rgba(232, 160, 32, 0.4);
}

#source-codes .bfx-premium-card:hover {
  border-color: rgba(232, 160, 32, 0.7);
  box-shadow: 0 8px 24px rgba(232, 160, 32, 0.15);
}

/* Crypto buy button */
.bfx-btn-crypto {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(180deg, rgba(201, 169, 110, 0.15) 0%, rgba(201, 169, 110, 0.05) 100%);
  color: var(--gold);
  padding: 3px 10px;
  border-radius: 100px;
  font-size: 0.5625rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--transition);
  border: 1px solid rgba(201, 169, 110, 0.3);
  letter-spacing: 0.03em;
  white-space: nowrap;
  line-height: 1.4;
}

.bfx-btn-crypto:hover {
  background: linear-gradient(180deg, rgba(201, 169, 110, 0.25) 0%, rgba(201, 169, 110, 0.1) 100%);
  color: var(--gold-light);
  border-color: var(--gold);
}

/* Crypto notice */
.bfx-crypto-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 40px;
  padding: 16px 20px;
  background: rgba(201, 169, 110, 0.05);
  border: 1px solid rgba(201, 169, 110, 0.15);
  border-radius: var(--radius-md);
}

.bfx-crypto-notice p {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.5;
}

.bfx-crypto-notice a {
  color: var(--gold);
  font-weight: 600;
}

.bfx-crypto-notice svg {
  flex-shrink: 0;
  margin-top: 1px;
}

@media (max-width: 768px) {
  .bfx-seo-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.bfx-animate {
  animation: fadeInUp 0.6s ease forwards;
  opacity: 0;
}

.bfx-animate-delay-1 { animation-delay: 0.1s; }
.bfx-animate-delay-2 { animation-delay: 0.2s; }
.bfx-animate-delay-3 { animation-delay: 0.3s; }
.bfx-animate-delay-4 { animation-delay: 0.4s; }

/* Screen reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ============================================
   ASTRA SCROLL TO TOP OVERRIDE
   ============================================ */
#ast-scroll-top {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 30%, #a88b52 100%) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #0a0a0a !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.2) inset,
    0 -1px 0 rgba(0,0,0,0.3) inset,
    0 4px 12px rgba(201, 169, 110, 0.25),
    0 2px 4px rgba(0,0,0,0.3) !important;
  transition: var(--transition);
}

#ast-scroll-top:hover {
  background: linear-gradient(180deg, #edd9a3 0%, #d4b87a 30%, #b8984e 100%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.25) inset,
    0 -1px 0 rgba(0,0,0,0.3) inset,
    0 8px 24px rgba(201, 169, 110, 0.4),
    0 4px 8px rgba(0,0,0,0.3) !important;
}

#ast-scroll-top .ast-icon svg {
  fill: #0a0a0a !important;
}

/* ============================================
   TRADING TOOLS / CALCULATOR PAGES
   ============================================ */
.bfx-tool-page {
  padding-top: 96px;
  padding-bottom: 60px;
}

.bfx-tool-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

.bfx-tool-title {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 32px;
  color: var(--text-primary);
}

/* Force all Elementor content in tools to dark theme */
.bfx-tool-content .elementor-section,
.bfx-tool-content .elementor-column-wrap,
.bfx-tool-content .elementor-widget-wrap,
.bfx-tool-content .elementor-element-populated,
.bfx-tool-content [style*="background-color"],
.bfx-tool-content [style*="background-image"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.bfx-tool-content .elementor-background-overlay {
  display: none !important;
}

/* Text colors */
.bfx-tool-content,
.bfx-tool-content * {
  color: var(--text-secondary) !important;
  font-family: 'Inter', sans-serif !important;
}

.bfx-tool-content h1,
.bfx-tool-content h2,
.bfx-tool-content h3,
.bfx-tool-content h4,
.bfx-tool-content strong,
.bfx-tool-content b {
  color: var(--text-primary) !important;
}

.bfx-tool-content a {
  color: var(--gold) !important;
}

/* Cap font sizes */
.bfx-tool-content [style*="font-size"],
.bfx-tool-content .elementor-heading-title {
  font-size: 1rem !important;
}

.bfx-tool-content p,
.bfx-tool-content span,
.bfx-tool-content li,
.bfx-tool-content label {
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
}

/* Hide ALL old elements: banners, ads, old header, old footer, old nav, subscription forms */
.bfx-tool-content img[src*="pagos-aceptados"],
.bfx-tool-content img[src*="mql5"],
.bfx-tool-content img[src*="banner"],
.bfx-tool-content img[src*="roboforex"],
.bfx-tool-content img[src*="ftmo"],
.bfx-tool-content img[src*="shark-tank"],
.bfx-tool-content img[src*="mq4-source-codes"],
.bfx-tool-content img[src*="cropped-"],
.bfx-tool-content .elementor-widget-form,
.bfx-tool-content a[href*="roboforex"],
.bfx-tool-content a[href*="mql5.com/en/market"],
.bfx-tool-content .elementor-widget-wp-widget-nav_menu,
.bfx-tool-content .elementor-widget-wp-widget-text,
.bfx-tool-content .elementor-nav-menu,
.bfx-tool-content [class*="menu-"],
.bfx-tool-content .elementor-widget-site-logo,
.bfx-tool-content [data-widget_type="site-logo"],
.bfx-tool-content [data-widget_type="nav-menu"],
.bfx-tool-content [data-widget_type="search-form"],
.bfx-tool-content .elementor-search-form,
.bfx-tool-content [data-widget_type="wp-widget-text.default"],
.bfx-tool-content [data-widget_type="wp-widget-nav_menu.default"] {
  display: none !important;
}

/* Calculator/tool widgets - make them look good */
.bfx-tool-content input[type="text"],
.bfx-tool-content input[type="number"],
.bfx-tool-content input[type="email"],
.bfx-tool-content select,
.bfx-tool-content textarea {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-primary) !important;
  padding: 10px 14px !important;
  border-radius: 6px !important;
  font-size: 0.875rem !important;
}

.bfx-tool-content input:focus,
.bfx-tool-content select:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}

.bfx-tool-content button,
.bfx-tool-content input[type="submit"],
.bfx-tool-content .elementor-button {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 50%, #a88b52 100%) !important;
  color: #3a2510 !important;
  border: none !important;
  padding: 10px 24px !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset, 0 2px 6px rgba(0,0,0,0.3) !important;
}

/* Tables in calculators */
.bfx-tool-content table {
  border-collapse: collapse !important;
  width: 100% !important;
}

.bfx-tool-content table th {
  background: var(--bg-secondary) !important;
  color: var(--gold) !important;
  padding: 10px 14px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-align: left !important;
  border: 1px solid var(--border) !important;
}

.bfx-tool-content table td {
  padding: 8px 14px !important;
  border: 1px solid var(--border) !important;
  font-size: 0.85rem !important;
}

/* Iframes and TradingView widgets */
.bfx-tool-content iframe {
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--border) !important;
}

.bfx-tool-content .tradingview-widget-container,
.bfx-tool-content [class*="tradingview"] {
  width: 100% !important;
  overflow: hidden !important;
}

/* TradingView widget sections - keep original Elementor layout */

/* Images inside tools - reasonable size */
.bfx-tool-content img:not([src*="pagos"]):not([src*="banner"]):not([src*="mql5"]):not([src*="roboforex"]):not([src*="ftmo"]):not([src*="shark"]) {
  max-width: 100% !important;
  height: auto !important;
  border-radius: var(--radius-md) !important;
}

/* ============================================
   WooCommerce My Account - Dark/Gold Theme
   ============================================ */
.bfx-account-page {
  padding-top: 96px;
  padding-bottom: 60px;
}

.bfx-account-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Account page title */
.woocommerce-account .woocommerce > h2,
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3 {
  color: var(--text-primary);
  font-weight: 700;
}

/* Navigation tabs */
.woocommerce-MyAccount-navigation {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 8px;
  margin-bottom: 32px;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.woocommerce-MyAccount-navigation ul li {
  margin: 0;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 18px;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: var(--radius-md);
  transition: var(--transition);
}

.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.05);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
  background: var(--gold);
  color: var(--bg-primary);
  font-weight: 600;
}

/* Content area */
.woocommerce-MyAccount-content {
  color: var(--text-primary);
}

.woocommerce-MyAccount-content p {
  color: var(--text-secondary);
  line-height: 1.7;
}

.woocommerce-MyAccount-content a {
  color: var(--gold);
}

.woocommerce-MyAccount-content a:hover {
  color: var(--gold-light);
}

/* Forms */
.woocommerce-account .woocommerce-form,
.woocommerce-account .woocommerce-EditAccountForm {
  max-width: 600px;
}

.woocommerce-account form .form-row label,
.woocommerce-account .woocommerce-form-row label {
  color: var(--text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
  margin-bottom: 4px;
}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce-account select,
.woocommerce-account textarea {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-primary) !important;
  padding: 10px 14px !important;
  border-radius: var(--radius-sm) !important;
  font-size: 0.875rem;
  width: 100%;
  transition: var(--transition);
}

.woocommerce-account input:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201, 169, 110, 0.15) !important;
}

/* Buttons */
.woocommerce-account .woocommerce-Button,
.woocommerce-account button[type="submit"],
.woocommerce-account .button {
  background: var(--gold) !important;
  color: var(--bg-primary) !important;
  border: none !important;
  padding: 10px 24px !important;
  border-radius: 100px !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: var(--transition);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button[type="submit"]:hover,
.woocommerce-account .button:hover {
  background: var(--gold-hover) !important;
  transform: translateY(-1px);
}

/* Tables (Orders, Downloads) */
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-table,
.woocommerce-account table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.woocommerce-account table th {
  background: var(--bg-secondary) !important;
  color: var(--gold) !important;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border) !important;
  text-align: left;
}

.woocommerce-account table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text-primary) !important;
  font-size: 0.875rem;
  background: transparent !important;
}

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

.woocommerce-account table td a {
  color: var(--gold);
}

/* Force dark theme on ALL woocommerce account content */
.bfx-account-page .woocommerce,
.bfx-account-page .woocommerce * {
  color: var(--text-primary) !important;
  border-color: var(--border) !important;
}

.bfx-account-page .woocommerce p,
.bfx-account-page .woocommerce address {
  color: var(--text-secondary) !important;
}

.bfx-account-page .woocommerce a {
  color: var(--gold) !important;
}

.bfx-account-page .woocommerce h1,
.bfx-account-page .woocommerce h2,
.bfx-account-page .woocommerce h3 {
  color: var(--text-primary) !important;
}

/* Addresses + Login/Register - side by side */
.bfx-account-page .u-columns,
.bfx-account-page .col2-set,
.bfx-account-page .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  width: 100% !important;
}

.bfx-account-page .u-column1,
.bfx-account-page .u-column2,
.bfx-account-page .col-1,
.bfx-account-page .col-2,
.bfx-account-page .woocommerce-Address {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

.bfx-account-page address {
  color: var(--text-secondary) !important;
  font-style: normal;
  line-height: 1.7;
  background: transparent !important;
}

/* Login form */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
  max-width: 480px;
  margin: 0 auto;
}

.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
  color: var(--text-primary);
  text-align: center;
  margin-bottom: 24px;
}

/* Remember me checkbox */
.woocommerce-account .woocommerce-form__label-for-checkbox {
  color: var(--text-secondary);
  font-size: 0.8125rem;
}

/* Lost password link */
.woocommerce-account .woocommerce-LostPassword a {
  color: var(--gold);
  font-size: 0.8125rem;
}

/* Notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
  background: rgba(201, 169, 110, 0.1) !important;
  border: 1px solid rgba(201, 169, 110, 0.3) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-md) !important;
  padding: 12px 16px !important;
}

.woocommerce-account .woocommerce-error {
  background: rgba(239, 68, 68, 0.1) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-md) !important;
  padding: 12px 16px !important;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before {
  color: var(--gold) !important;
}

/* Responsive */
@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .u-columns,
  .woocommerce-account .col2-set,
  .bfx-account-page .u-columns,
  .bfx-account-page .col2-set,
  .bfx-account-page .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   SINGLE PRODUCT - Override Elementor styles
   Force dark theme on all product page content
   ============================================ */

/* Force all text colors - override Elementor inline styles */
.single-product .elementor-widget-theme-post-content,
.single-product .elementor-widget-theme-post-content *,
.single-product .elementor-widget-woocommerce-product-content,
.single-product .elementor-widget-woocommerce-product-content *,
.single-product .elementor-element .elementor-widget-container,
.single-product .elementor-element .elementor-widget-container *,
.single-product .elementor-element [style*="color"],
.single-product .elementor-element font {
  color: var(--text-secondary) !important;
  font-family: 'Inter', sans-serif !important;
}

/* Kill ALL Elementor backgrounds, overlays, and colored sections */
.single-product .elementor-section,
.single-product .elementor-section .elementor-container,
.single-product .elementor-section .elementor-row,
.single-product .elementor-column-wrap,
.single-product .elementor-widget-wrap,
.single-product .elementor-element-populated,
.single-product .elementor-background-overlay,
.single-product [class*="elementor-section"][style*="background"],
.single-product [style*="background-color"],
.single-product [style*="background-image"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  overlay: none !important;
}

.single-product .elementor-background-overlay {
  display: none !important;
}

/* Headings - cap all sizes */
.single-product .elementor-widget-container h1,
.single-product .elementor-widget-container h2,
.single-product .elementor-widget-container h3,
.single-product .elementor-widget-container h4,
.single-product .elementor-heading-title,
.single-product .elementor-widget-container [style*="font-size"],
.single-product .elementor-widget-container h1[style],
.single-product .elementor-widget-container h2[style],
.single-product .elementor-widget-container h3[style] {
  color: var(--text-primary) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.single-product .bfx-product-title {
  font-size: 1.1rem !important;
}

/* Paragraphs and text - cap all sizes */
.single-product .elementor-widget-container p,
.single-product .elementor-widget-container p[style],
.single-product .elementor-widget-text-editor p,
.single-product .elementor-widget-container span,
.single-product .elementor-widget-container span[style],
.single-product .elementor-widget-container li,
.single-product .elementor-widget-container font,
.single-product .elementor-widget-container font[size],
.single-product .elementor-widget-container div[style*="font-size"] {
  color: var(--text-secondary) !important;
  font-size: 0.85rem !important;
  line-height: 1.7 !important;
}

/* ============================================
   BLOG POSTS (EA Reviews / Free EAs)
   ============================================ */
.single-post .entry-content,
.single-post .entry-content * {
  color: var(--text-secondary) !important;
  font-family: 'Inter', sans-serif !important;
}
.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content strong,
.single-post .entry-content b {
  color: var(--text-primary) !important;
}
.single-post .entry-content a {
  color: var(--gold) !important;
}
.single-post .entry-content [style*="font-size"],
.single-post .entry-content font {
  font-size: 0.85rem !important;
}
.single-post .entry-content h1 { font-size: 1rem !important; }
.single-post .entry-content h2 { font-size: 0.95rem !important; }
.single-post .entry-content h3 { font-size: 0.9rem !important; }
.single-post .entry-content p,
.single-post .entry-content li,
.single-post .entry-content span {
  font-size: 0.85rem !important;
  line-height: 1.7 !important;
}
.single-post .entry-content img {
  max-width: 60% !important;
  height: auto !important;
  display: block !important;
  margin: 12px auto !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
}
.single-post .entry-content [style*="background"] {
  background: transparent !important;
}
/* Strip inline styles from blog posts via JS equivalent in CSS */
.single-post .elementor-section {
  background: transparent !important;
}
.single-post .elementor-background-overlay {
  display: none !important;
}

/* Hide search bar, sidebar, prev/next navigation in blog posts AND download pages */
.single-post .ast-search-menu-icon,
.single-post .widget_search,
.single-post .search-form,
.single-post aside,
.single-post .sidebar,
.single-post .post-navigation,
.single-post .nav-links,
.single-post [class*="ast-post-navigation"],
.single-wpdmpro .ast-search-menu-icon,
.single-wpdmpro .widget_search,
.single-wpdmpro .search-form,
.single-wpdmpro aside,
.single-wpdmpro .sidebar,
.single-wpdmpro .post-navigation,
.single-wpdmpro .nav-links,
.single-wpdmpro [class*="ast-post-navigation"],
body[class*="single-wpdmpro"] .widget_search,
body[class*="single-wpdmpro"] .search-form,
body[class*="single-wpdmpro"] aside,
body[class*="single-wpdmpro"] .sidebar {
  display: none !important;
}

/* Hide old banners in posts and downloads (not upsell product images) */
.single-post .entry-content img[src*="fast-m1-gold-scalper-deluxe-v5"],
.single-post .entry-content a[href*="fast-m1-gold-scalper-deluxe"] img,
.single-wpdmpro .entry-content img[src*="fast-m1-gold-scalper-deluxe-v5"],
.single-wpdmpro .entry-content a[href*="fast-m1-gold-scalper-deluxe"] img {
  display: none !important;
}

/* Style the download box on both post and download pages */
.single-post .w3eden,
.single-post [class*="wpdm"],
.single-wpdmpro .w3eden,
.single-wpdmpro [class*="wpdm"],
body[class*="single-wpdmpro"] .w3eden {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 16px !important;
  color: var(--text-primary) !important;
}

.single-post .w3eden *,
.single-wpdmpro .w3eden *,
body[class*="single-wpdmpro"] .w3eden * {
  color: var(--text-secondary) !important;
}

.single-post .w3eden a,
.single-wpdmpro .w3eden a,
body[class*="single-wpdmpro"] .w3eden a {
  color: var(--gold) !important;
}

/* Hide "You are not allowed to download" and locked download boxes */
.w3eden .alert,
.w3eden .wpdm-download-locked,
[class*="wpdm"] .alert,
.alert-warning {
  display: none !important;
}

/* When not logged in, hide the original WPDM box (we show our custom one) */
body:not(.logged-in) .w3eden,
body:not(.logged-in) [class*="wpdm-download"],
body:not(.logged-in) .wpdm_link {
  display: none !important;
}

/* Style download pages (wpdmpro post type) */
body[class*="single-wpdmpro"] .entry-content,
body[class*="single-wpdmpro"] .entry-content *,
.single-wpdmpro .entry-content,
.single-wpdmpro .entry-content * {
  color: var(--text-secondary) !important;
  font-family: 'Inter', sans-serif !important;
}

body[class*="single-wpdmpro"] .entry-content h1,
body[class*="single-wpdmpro"] .entry-content h2,
body[class*="single-wpdmpro"] .entry-content strong,
.single-wpdmpro .entry-content h1,
.single-wpdmpro .entry-content h2,
.single-wpdmpro .entry-content strong {
  color: var(--text-primary) !important;
}

body[class*="single-wpdmpro"] .entry-content [style*="font-size"],
.single-wpdmpro .entry-content [style*="font-size"] {
  font-size: 0.85rem !important;
}

body[class*="single-wpdmpro"] .entry-content [style*="background"],
.single-wpdmpro .entry-content [style*="background"] {
  background: transparent !important;
}

body[class*="single-wpdmpro"] .entry-content img,
.single-wpdmpro .entry-content img {
  max-width: 60% !important;
  height: auto !important;
  display: block !important;
  margin: 12px auto !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
}

/* Premium EAs upsell on free EA pages */
.bfx-upsell-section {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}

.bfx-upsell-title {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  margin-bottom: 4px !important;
}

.bfx-upsell-desc {
  font-size: 0.8rem !important;
  color: var(--text-muted) !important;
  margin-bottom: 20px !important;
}

.bfx-upsell-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.bfx-upsell-card {
  display: grid;
  grid-template-rows: auto 1fr;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none !important;
  transition: var(--transition);
}

.bfx-upsell-card:hover {
  border-color: var(--border-gold);
  transform: translateY(-3px);
  box-shadow: var(--shadow-gold);
}

.bfx-upsell-img img {
  width: 100% !important;
  height: 100px !important;
  object-fit: cover !important;
  display: block !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

.bfx-upsell-info {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bfx-upsell-name {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  line-height: 1.3 !important;
  height: 2.8em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.bfx-upsell-price {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
}

.bfx-upsell-price del {
  color: var(--text-muted) !important;
  font-size: 0.65rem !important;
  font-weight: 400 !important;
}

@media (max-width: 768px) {
  .bfx-upsell-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* NUCLEAR: Force ALL text inside description tab to 0.85rem */
#tab-description,
#tab-description *,
.woocommerce-Tabs-panel--description,
.woocommerce-Tabs-panel--description * {
  font-size: 0.85rem !important;
  line-height: 1.7 !important;
  color: var(--text-secondary) !important;
  font-family: 'Inter', sans-serif !important;
  background-color: transparent !important;
}

#tab-description h1,
#tab-description h2,
#tab-description h3,
#tab-description h4,
#tab-description strong,
#tab-description b,
.woocommerce-Tabs-panel--description h1,
.woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--description h3,
.woocommerce-Tabs-panel--description h4,
.woocommerce-Tabs-panel--description strong,
.woocommerce-Tabs-panel--description b {
  font-size: 0.95rem !important;
  color: var(--text-primary) !important;
}

#tab-description a,
.woocommerce-Tabs-panel--description a {
  color: var(--gold) !important;
}

/* Links */
.single-product .elementor-widget-container a:not(.button):not(.bfx-btn) {
  color: var(--gold) !important;
}

/* Strong/Bold text */
.single-product .elementor-widget-container strong,
.single-product .elementor-widget-container b {
  color: var(--text-primary) !important;
}

/* Images - reasonable sizes, framed */
.single-product .elementor-widget-container img:not(.wp-post-image) {
  max-width: 70% !important;
  height: auto !important;
  border-radius: var(--radius-md);
  border: 1px solid var(--border) !important;
  display: block !important;
  margin: 12px auto !important;
}

/* Elementor image widgets */
.single-product .elementor-widget-image img {
  max-width: 60% !important;
  height: auto !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  display: block !important;
  margin: 12px auto !important;
}

/* Remove Elementor's excessive spacing */
.single-product .elementor-widget:not(:last-child) {
  margin-bottom: 12px !important;
}

.single-product .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: 8px 0 !important;
}

.single-product .elementor-section .elementor-container {
  max-width: 100% !important;
}

.single-product .elementor-top-section {
  padding: 0 !important;
  margin-bottom: 8px !important;
}

/* Elementor buttons - gold theme */
.single-product .elementor-button {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 50%, #a88b52 100%) !important;
  color: #3a2510 !important;
  border: none !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset, 0 2px 6px rgba(0,0,0,0.3) !important;
}

/* WooCommerce product elements on Elementor template */
.single-product .elementor-add-to-cart .button,
.single-product .single_add_to_cart_button {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 50%, #a88b52 100%) !important;
  color: #3a2510 !important;
  border: none !important;
  padding: 12px 32px !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset, 0 2px 6px rgba(0,0,0,0.3) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.2) !important;
}

/* Price on Elementor product pages */
.single-product .elementor-widget-woocommerce-product-price .price,
.single-product .elementor-widget-woocommerce-product-price .amount {
  color: var(--gold) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

.single-product .elementor-widget-woocommerce-product-price del .amount {
  color: var(--text-muted) !important;
  font-size: 1rem !important;
}

/* Product title on Elementor */
.single-product .elementor-widget-woocommerce-product-title h1 {
  font-size: 1.75rem !important;
  color: var(--text-primary) !important;
}

/* Short description */
.single-product .elementor-widget-woocommerce-product-short-description p {
  color: var(--text-secondary) !important;
  font-size: 0.9rem !important;
}

/* Product meta */
.single-product .elementor-widget-woocommerce-product-meta,
.single-product .elementor-widget-woocommerce-product-meta * {
  color: var(--text-muted) !important;
  font-size: 0.8125rem !important;
}
.single-product .elementor-widget-woocommerce-product-meta a {
  color: var(--gold) !important;
}

/* Tabs inside Elementor */
.single-product .elementor-widget-woocommerce-product-data-tabs .wc-tabs li a {
  color: var(--text-secondary) !important;
}
.single-product .elementor-widget-woocommerce-product-data-tabs .wc-tabs li.active a {
  color: var(--gold) !important;
}
.single-product .elementor-widget-woocommerce-product-data-tabs .woocommerce-Tabs-panel {
  color: var(--text-secondary) !important;
}
.single-product .elementor-widget-woocommerce-product-data-tabs .woocommerce-Tabs-panel h2 {
  color: var(--text-primary) !important;
  font-size: 1.1rem !important;
}

/* Rating stars */
.single-product .elementor-widget-woocommerce-product-rating .star-rating {
  color: var(--gold) !important;
}

/* Floating Add to Cart */
.bfx-floating-cart {
  position: fixed;
  bottom: -80px;
  left: 0;
  right: 0;
  z-index: 999;
  transition: bottom 0.3s ease;
}

.bfx-floating-cart.visible {
  bottom: 0;
}

.bfx-floating-cart-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 24px;
  background: rgba(17, 17, 17, 0.95);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--border);
}

.bfx-floating-cart-title {
  color: var(--text-primary);
  font-size: 0.8rem;
  font-weight: 600;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bfx-floating-cart-price {
  color: var(--gold);
  font-size: 0.85rem;
  font-weight: 700;
}

.bfx-floating-cart-price del {
  color: var(--text-muted);
  font-size: 0.7rem;
}

.bfx-floating-cart-price ins {
  text-decoration: none;
}

.bfx-floating-cart-btn {
  background: linear-gradient(180deg, #e0c88c 0%, #c9a96e 50%, #a88b52 100%);
  color: #3a2510;
  padding: 8px 20px;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 1px 0 rgba(255,255,255,0.3) inset, 0 2px 6px rgba(0,0,0,0.3);
}

/* Sale badge */
.single-product .onsale {
  background: var(--gold) !important;
  color: #000 !important;

}

/* Hide Astra's default product page elements that conflict */
.single-product .ast-woo-product-no-review .ast-woo-sidebar,
.single-product #ast-seach-full-screen-form {
  display: none !important;
}

/* Download notice text */
.single-product .elementor-widget-container .woocommerce-info,
.single-product .elementor-widget-container .woocommerce-message {
  background: rgba(201, 169, 110, 0.1) !important;
  border: 1px solid rgba(201, 169, 110, 0.3) !important;
  border-radius: 10px !important;
  color: var(--text-primary) !important;
}

/* Lists inside product description */
.single-product .elementor-widget-container ul,
.single-product .elementor-widget-container ol {
  padding-left: 20px !important;
}
.single-product .elementor-widget-container ul li,
.single-product .elementor-widget-container ol li {
  margin-bottom: 6px !important;
}

/* Tables */
.single-product .elementor-widget-container table {
  border-collapse: collapse !important;
  width: 100% !important;
}
.single-product .elementor-widget-container table th,
.single-product .elementor-widget-container table td {
  padding: 8px 12px !important;
  border: 1px solid var(--border) !important;
}
.single-product .elementor-widget-container table th {
  background: var(--bg-secondary) !important;
  color: var(--gold) !important;
}


/* Admin bar offset for logged-in users */
.admin-bar .bfx-header {
  top: 32px;
}
.admin-bar .bfx-nav.active {
  top: 104px;
  height: calc(100vh - 104px);
  height: calc(100dvh - 104px);
}
@media (max-width: 782px) {
  .admin-bar .bfx-header {
    top: 46px;
  }
  .admin-bar .bfx-nav.active {
    top: 118px;
    height: calc(100vh - 118px);
    height: calc(100dvh - 118px);
  }
}

/* Ensure body doesn't clip fixed mobile menu */
body, #page, .site {
  overflow-x: hidden;
}
