/*
Theme Name:        BoxCraft USA — Premium Packaging
Theme URI:         https://yoursite.com
Description:       A premium editorial-style GeneratePress child theme for custom packaging businesses. Warm sand palette, serif typography, full WooCommerce, WPBakery, and Elementor support. Every element editable visually.
Author:            BoxCraft
Template:          generatepress
Version:           3.0.0
Requires at least: 6.4
Tested up to:      6.7
Requires PHP:      7.4
License:           GNU General Public License v2 or later
Text Domain:       boxcraft
*/

/* ============================================================
   DESIGN TOKENS — Edit via Customizer > BoxCraft Settings
   Or override in Elementor / WPBakery Custom CSS panel
   ============================================================ */
:root {
  /* Brand Palette */
  --bc-ink:           #1a1a18;
  --bc-ink-mid:       #5c5c54;
  --bc-ink-light:     #9c9c90;
  --bc-sand:          #faf9f6;
  --bc-sand-mid:      #f0ede6;
  --bc-sand-dark:     #e4e0d6;
  --bc-sand-deeper:   #d4cfc3;
  --bc-warm:          #c8a97a;
  --bc-warm-dark:     #a88558;
  --bc-warm-deeper:   #8a6a40;
  --bc-white:         #ffffff;
  --bc-success:       #2d6a4f;
  --bc-danger:        #9b2226;

  /* Typography */
  --bc-font-serif:    'Cormorant Garamond', 'Palatino Linotype', Georgia, serif;
  --bc-font-sans:     'Inter', 'Helvetica Neue', system-ui, sans-serif;

  /* Font Sizes */
  --bc-text-xs:       11px;
  --bc-text-sm:       12px;
  --bc-text-base:     13px;
  --bc-text-md:       15px;
  --bc-text-lg:       18px;
  --bc-text-xl:       24px;
  --bc-text-2xl:      32px;
  --bc-text-3xl:      42px;
  --bc-text-4xl:      56px;
  --bc-text-5xl:      72px;

  /* Heading Scale */
  --bc-h1-size:       clamp(38px, 4.5vw, 64px);
  --bc-h2-size:       clamp(28px, 3vw, 44px);
  --bc-h3-size:       clamp(20px, 2vw, 28px);
  --bc-h4-size:       18px;

  /* Weights */
  --bc-weight-light:   300;
  --bc-weight-regular: 400;
  --bc-weight-medium:  500;
  --bc-weight-semi:    600;

  /* Spacing */
  --bc-container:      1300px;
  --bc-section-py:     80px;
  --bc-section-px:     40px;

  /* Borders & Radius */
  --bc-border:         1px solid var(--bc-sand-dark);
  --bc-border-mid:     1px solid var(--bc-sand-deeper);
  --bc-radius:         0px;
  --bc-radius-sm:      2px;

  /* Transitions */
  --bc-ease:           cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --bc-dur:            0.28s;
  --bc-dur-slow:       0.5s;

  /* Header */
  --bc-header-bg:      var(--bc-white);
  --bc-header-border:  var(--bc-sand-dark);
  --bc-topbar-bg:      var(--bc-ink);

  /* Buttons */
  --bc-btn-py:         12px;
  --bc-btn-px:         28px;
  --bc-btn-font-size:  11px;

  /* Inputs */
  --bc-input-border:   var(--bc-sand-dark);
  --bc-input-focus:    var(--bc-ink);
  --bc-input-bg:       var(--bc-white);

  /* WooCommerce */
  --bc-price-color:    var(--bc-ink);
  --bc-price-font:     var(--bc-font-serif);
  --bc-star-color:     #c8a97a;
  --bc-atc-bg:         var(--bc-ink);
  --bc-atc-color:      var(--bc-white);
  --bc-sale-bg:        var(--bc-ink);
  --bc-sale-color:     var(--bc-white);

  /* Z-index */
  --bc-z-nav:          100;
  --bc-z-overlay:      200;
  --bc-z-modal:        300;
  --bc-z-toast:        400;
}

/* ============================================================
   UTILITY CLASSES — use in Elementor / WPBakery Custom CSS
   ============================================================ */

/* Backgrounds */
.bc-bg-sand      { background: var(--bc-sand) !important; }
.bc-bg-sand-mid  { background: var(--bc-sand-mid) !important; }
.bc-bg-white     { background: var(--bc-white) !important; }
.bc-bg-ink       { background: var(--bc-ink) !important; }
.bc-bg-warm      { background: var(--bc-warm) !important; }

/* Text colors */
.bc-text-ink     { color: var(--bc-ink) !important; }
.bc-text-mid     { color: var(--bc-ink-mid) !important; }
.bc-text-light   { color: var(--bc-ink-light) !important; }
.bc-text-warm    { color: var(--bc-warm-dark) !important; }
.bc-text-white   { color: var(--bc-white) !important; }

/* Fonts */
.bc-serif        { font-family: var(--bc-font-serif) !important; }
.bc-sans         { font-family: var(--bc-font-sans) !important; }

/* Weights */
.bc-light        { font-weight: 300 !important; }
.bc-regular      { font-weight: 400 !important; }
.bc-medium       { font-weight: 500 !important; }

/* Section spacing */
.bc-py-sm        { padding-top: 48px !important; padding-bottom: 48px !important; }
.bc-py-md        { padding-top: 64px !important; padding-bottom: 64px !important; }
.bc-py-lg        { padding-top: 96px !important; padding-bottom: 96px !important; }
.bc-py-xl        { padding-top: 128px !important; padding-bottom: 128px !important; }
.bc-py-0         { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Grid helpers */
.bc-grid-2       { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.bc-grid-3       { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.bc-grid-4       { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.bc-grid-5       { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 16px; }

/* Alignment */
.bc-center       { text-align: center !important; }
.bc-left         { text-align: left !important; }

/* Borders */
.bc-border-top    { border-top: var(--bc-border) !important; }
.bc-border-bottom { border-bottom: var(--bc-border) !important; }

/* Reveal animation */
.bc-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s var(--bc-ease), transform 0.7s var(--bc-ease);
}
.bc-reveal.bc-in  { opacity: 1; transform: none; }
.bc-delay-1       { transition-delay: 0.1s; }
.bc-delay-2       { transition-delay: 0.2s; }
.bc-delay-3       { transition-delay: 0.3s; }
.bc-delay-4       { transition-delay: 0.4s; }

/* ============================================================
   GLOBAL BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--bc-font-sans);
  font-size: var(--bc-text-base);
  color: var(--bc-ink);
  background: var(--bc-sand);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--bc-font-serif);
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin-bottom: 0.5em;
}

h1 { font-size: var(--bc-h1-size); }
h2 { font-size: var(--bc-h2-size); }
h3 { font-size: var(--bc-h3-size); }
h4 { font-size: var(--bc-h4-size); }

p {
  color: var(--bc-ink-mid);
  font-weight: var(--bc-weight-light);
  line-height: 1.75;
  margin-bottom: 1em;
}

a {
  color: var(--bc-ink);
  text-decoration: none;
  transition: color var(--bc-dur);
}

a:hover { color: var(--bc-warm-dark); }
img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   GENERATEPRESS OVERRIDES
   ============================================================ */
.site-container, .site { background: var(--bc-sand); }
.content-area { padding: 0; }
body.no-sidebar .content-area { float: none; width: 100%; }

.entry-content { max-width: 100%; }

.page-template-full-width .content-area,
body.elementor-page .content-area,
body.bc-full-page .content-area {
  padding: 0;
  margin: 0;
}

/* ============================================================
   TOPBAR
   ============================================================ */
#bc-topbar {
  background: var(--bc-topbar-bg);
  padding: 9px var(--bc-section-px);
  text-align: center;
  font-size: var(--bc-text-xs);
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.65);
}

#bc-topbar a {
  color: rgba(255,255,255,0.65);
  transition: color var(--bc-dur);
}

#bc-topbar a:hover { color: var(--bc-white); }

#bc-topbar .bc-topbar-inner {
  max-width: var(--bc-container);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#bc-topbar .bc-topbar-promo {
  flex: 1;
  text-align: center;
}

#bc-topbar .bc-topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

#bc-topbar .bc-topbar-phone {
  color: var(--bc-warm) !important;
  font-weight: var(--bc-weight-medium);
  letter-spacing: 0.06em;
}

/* ============================================================
   HEADER & NAV — GeneratePress overrides
   ============================================================ */
.site-header {
  background: var(--bc-header-bg) !important;
  border-bottom: 1px solid var(--bc-header-border) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: var(--bc-z-nav) !important;
  transition: box-shadow var(--bc-dur) !important;
}

.site-header.bc-scrolled { box-shadow: 0 2px 20px rgba(26,26,24,0.06) !important; }

/* Logo */
.site-title {
  font-family: var(--bc-font-serif) !important;
  font-size: 22px !important;
  font-weight: var(--bc-weight-semi) !important;
  color: var(--bc-ink) !important;
  letter-spacing: 0.04em !important;
}

.site-title a { color: var(--bc-ink) !important; }
.custom-logo { max-height: 44px; width: auto; }

/* Navigation links */
.main-navigation .sf-menu > li > a {
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--bc-ink-mid) !important;
  padding: 0 16px !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
  transition: color var(--bc-dur) !important;
}

.main-navigation .sf-menu > li > a:hover,
.main-navigation .sf-menu > .current-menu-item > a {
  color: var(--bc-ink) !important;
  background: none !important;
}

/* Dropdown */
.main-navigation .sf-menu ul {
  background: var(--bc-white) !important;
  border: 1px solid var(--bc-sand-dark) !important;
  border-top: 2px solid var(--bc-ink) !important;
  box-shadow: 0 8px 32px rgba(26,26,24,0.08) !important;
  border-radius: 0 !important;
  min-width: 200px !important;
}

.main-navigation .sf-menu ul li a {
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--bc-ink-mid) !important;
  padding: 10px 20px !important;
  border-bottom: 1px solid var(--bc-sand-mid) !important;
  transition: color var(--bc-dur), background var(--bc-dur) !important;
}

.main-navigation .sf-menu ul li a:hover {
  color: var(--bc-ink) !important;
  background: var(--bc-sand-mid) !important;
}

/* ============================================================
   BUTTON SYSTEM
   ============================================================ */
.bc-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: var(--bc-btn-py) var(--bc-btn-px);
  font-family: var(--bc-font-sans);
  font-size: var(--bc-btn-font-size);
  font-weight: var(--bc-weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--bc-dur), color var(--bc-dur), border-color var(--bc-dur);
  border: 1px solid transparent;
  white-space: nowrap;
  text-decoration: none;
  line-height: 1;
}

.bc-btn-solid {
  background: var(--bc-ink);
  color: var(--bc-white);
  border-color: var(--bc-ink);
}
.bc-btn-solid:hover {
  background: var(--bc-ink-mid);
  color: var(--bc-white);
  border-color: var(--bc-ink-mid);
}

.bc-btn-outline {
  background: transparent;
  color: var(--bc-ink);
  border-color: var(--bc-ink);
}
.bc-btn-outline:hover {
  background: var(--bc-ink);
  color: var(--bc-white);
}

.bc-btn-warm {
  background: var(--bc-warm-dark);
  color: var(--bc-white);
  border-color: var(--bc-warm-dark);
}
.bc-btn-warm:hover {
  background: var(--bc-warm-deeper);
  color: var(--bc-white);
  border-color: var(--bc-warm-deeper);
}

.bc-btn-outline-white {
  background: transparent;
  color: var(--bc-white);
  border-color: rgba(255,255,255,0.4);
}
.bc-btn-outline-white:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.7);
  color: var(--bc-white);
}

.bc-btn-ghost {
  background: transparent;
  color: var(--bc-ink-mid);
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
  border-bottom: 1px solid var(--bc-sand-deeper);
  letter-spacing: 0.08em;
}
.bc-btn-ghost:hover { color: var(--bc-ink); border-color: var(--bc-ink); }

.bc-btn-sm { padding: 9px 20px; font-size: 10px; }
.bc-btn-lg { padding: 15px 40px; font-size: 12px; }
.bc-btn-xl { padding: 18px 56px; font-size: 13px; }
.bc-btn-full { width: 100%; justify-content: center; }

/* ============================================================
   SECTION SYSTEM
   ============================================================ */
.bc-section {
  padding: var(--bc-section-py) 0;
}

.bc-container {
  max-width: var(--bc-container);
  margin: 0 auto;
  padding: 0 var(--bc-section-px);
}

.bc-container--narrow { max-width: 860px; }

/* Section label (small uppercase tag) */
.bc-label {
  display: block;
  font-size: var(--bc-text-xs);
  font-weight: var(--bc-weight-medium);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bc-ink-light);
  margin-bottom: 12px;
}

.bc-label--warm { color: var(--bc-warm-dark); }

.bc-section-h {
  font-family: var(--bc-font-serif);
  font-size: var(--bc-h2-size);
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
}

.bc-section-sub {
  font-size: var(--bc-text-base);
  color: var(--bc-ink-mid);
  line-height: 1.75;
  font-weight: var(--bc-weight-light);
  max-width: 480px;
}

.bc-section-header { margin-bottom: 48px; }

.bc-header-flex {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.bc-divider {
  border: none;
  border-top: 1px solid var(--bc-sand-dark);
  margin: 0;
}

/* ============================================================
   HERO
   ============================================================ */
.bc-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
}

.bc-hero__content {
  background: var(--bc-sand-mid);
  padding: 80px var(--bc-section-px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bc-hero__eyebrow {
  font-size: var(--bc-text-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bc-ink-light);
  margin-bottom: 20px;
  display: block;
}

.bc-hero h1 {
  font-family: var(--bc-font-serif);
  font-size: var(--bc-h1-size);
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  line-height: 1.05;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.bc-hero h1 em {
  font-style: italic;
  color: var(--bc-warm-dark);
}

.bc-hero__sub {
  font-size: var(--bc-text-base);
  color: var(--bc-ink-mid);
  line-height: 1.8;
  font-weight: var(--bc-weight-light);
  max-width: 380px;
  margin-bottom: 32px;
}

.bc-hero__ctas {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.bc-hero__stats {
  display: flex;
  gap: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--bc-sand-dark);
}

.bc-hero-stat__num {
  font-family: var(--bc-font-serif);
  font-size: 30px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  line-height: 1;
  display: block;
}

.bc-hero-stat__label {
  font-size: var(--bc-text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bc-ink-light);
  margin-top: 4px;
  display: block;
}

.bc-hero__visual {
  background: var(--bc-sand-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: 520px;
}

/* ============================================================
   BENEFITS BAR
   ============================================================ */
.bc-benefits {
  background: var(--bc-white);
  border-top: 1px solid var(--bc-sand-dark);
  border-bottom: 1px solid var(--bc-sand-dark);
  padding: 24px var(--bc-section-px);
}

.bc-benefits__inner {
  max-width: var(--bc-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.bc-benefit {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 32px;
  border-right: 1px solid var(--bc-sand-dark);
}

.bc-benefit:first-child { padding-left: 0; }
.bc-benefit:last-child  { border-right: none; }

.bc-benefit__icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--bc-warm-dark);
  font-size: 20px;
}

.bc-benefit__title {
  font-size: var(--bc-text-sm);
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  display: block;
  margin-bottom: 2px;
}

.bc-benefit__sub {
  font-size: var(--bc-text-xs);
  color: var(--bc-ink-light);
  display: block;
  letter-spacing: 0.02em;
}

/* ============================================================
   CATEGORY CARDS
   ============================================================ */
.bc-cat-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

.bc-cat-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 3/4;
  background: var(--bc-sand-dark);
  text-decoration: none;
  display: block;
}

.bc-cat-card__img {
  position: absolute;
  inset: 0;
  background: var(--bc-sand-deeper);
  transition: transform var(--bc-dur-slow) var(--bc-ease);
}

.bc-cat-card:hover .bc-cat-card__img { transform: scale(1.04); }

.bc-cat-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,26,24,0.55) 0%, transparent 50%);
}

.bc-cat-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 14px;
  z-index: 2;
}

.bc-cat-card__num {
  font-size: var(--bc-text-xs);
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.5);
  margin-bottom: 4px;
  display: block;
}

.bc-cat-card__name {
  font-family: var(--bc-font-serif);
  font-size: 16px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-white);
  display: block;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

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

.bc-prod-card {
  cursor: pointer;
  text-decoration: none;
  display: block;
}

.bc-prod-card__img {
  aspect-ratio: 3/4;
  background: var(--bc-sand-mid);
  overflow: hidden;
  position: relative;
  margin-bottom: 14px;
}

.bc-prod-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--bc-dur-slow) var(--bc-ease);
}

.bc-prod-card:hover .bc-prod-card__img img { transform: scale(1.04); }

.bc-prod-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--bc-sale-bg);
  color: var(--bc-sale-color);
  font-size: 9px;
  font-weight: var(--bc-weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 8px;
  z-index: 2;
}

.bc-prod-card__actions {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: var(--bc-ink);
  transform: translateY(100%);
  transition: transform var(--bc-dur) var(--bc-ease);
  z-index: 3;
}

.bc-prod-card:hover .bc-prod-card__actions { transform: translateY(0); }

.bc-prod-card__atc {
  width: 100%;
  background: none;
  border: none;
  color: var(--bc-white);
  font-family: var(--bc-font-sans);
  font-size: 10px;
  font-weight: var(--bc-weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 6px 0;
  text-align: center;
}

.bc-prod-card__name {
  font-family: var(--bc-font-serif);
  font-size: 16px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  display: block;
  margin-bottom: 5px;
  line-height: 1.25;
  transition: color var(--bc-dur);
}

.bc-prod-card:hover .bc-prod-card__name { color: var(--bc-warm-dark); }

.bc-prod-card__price {
  font-size: var(--bc-text-sm);
  color: var(--bc-ink-mid);
  display: block;
}

.bc-prod-card__price del {
  color: var(--bc-ink-light);
  margin-right: 4px;
}

.bc-prod-card__price ins {
  text-decoration: none;
  color: var(--bc-ink);
  font-weight: var(--bc-weight-medium);
}

/* ============================================================
   TABS
   ============================================================ */
.bc-tabs {
  display: flex;
  border-bottom: 1px solid var(--bc-sand-dark);
  margin-bottom: 40px;
  gap: 0;
}

.bc-tab {
  font-size: var(--bc-text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bc-ink-light);
  padding: 0 0 12px;
  margin-right: 28px;
  border: none;
  background: none;
  cursor: pointer;
  border-bottom: 1.5px solid transparent;
  margin-bottom: -1px;
  font-family: var(--bc-font-sans);
  transition: color var(--bc-dur), border-color var(--bc-dur);
}

.bc-tab.active,
.bc-tab:hover {
  color: var(--bc-ink);
  border-bottom-color: var(--bc-ink);
}

/* ============================================================
   FEATURE / PRODUCT DETAIL BLOCK
   ============================================================ */
.bc-feature-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.bc-feature-split--reverse { direction: rtl; }
.bc-feature-split--reverse > * { direction: ltr; }

.bc-feature-split__img {
  aspect-ratio: 4/3;
  background: var(--bc-sand-mid);
  overflow: hidden;
}

.bc-feature-split__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bc-feature-split__checks {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
}

.bc-feature-split__checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--bc-text-sm);
  color: var(--bc-ink-mid);
  font-weight: var(--bc-weight-light);
}

.bc-feature-split__checks li::before {
  content: '';
  width: 16px;
  height: 1px;
  background: var(--bc-warm-dark);
  flex-shrink: 0;
}

/* ============================================================
   PROMO BANNER
   ============================================================ */
.bc-promo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 400px;
}

.bc-promo__img {
  background: var(--bc-sand-darker, #c8bfb0);
  overflow: hidden;
  position: relative;
}

.bc-promo__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bc-promo__content {
  background: var(--bc-sand-mid);
  padding: 64px var(--bc-section-px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bc-promo--dark .bc-promo__content { background: var(--bc-ink); }
.bc-promo--dark .bc-section-h    { color: var(--bc-white); }
.bc-promo--dark .bc-section-sub  { color: rgba(255,255,255,0.5); }
.bc-promo--dark .bc-label        { color: var(--bc-warm); }

/* ============================================================
   TESTIMONIAL
   ============================================================ */
.bc-test-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bc-testimonial {
  border-top: 2px solid var(--bc-sand-dark);
  padding-top: 24px;
  position: relative;
}

.bc-testimonial--featured {
  border-top-color: var(--bc-warm-dark);
}

.bc-testimonial__stars {
  font-size: 13px;
  color: var(--bc-star-color);
  letter-spacing: 2px;
  margin-bottom: 16px;
  display: block;
}

.bc-testimonial__text {
  font-family: var(--bc-font-serif);
  font-size: 17px;
  font-weight: var(--bc-weight-regular);
  color: var(--bc-ink);
  line-height: 1.55;
  font-style: italic;
  margin-bottom: 20px;
}

.bc-testimonial__author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bc-testimonial__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bc-sand-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--bc-font-serif);
  font-size: 14px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  flex-shrink: 0;
  overflow: hidden;
}

.bc-testimonial__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bc-testimonial__name {
  font-size: var(--bc-text-sm);
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  display: block;
}

.bc-testimonial__co {
  font-size: var(--bc-text-xs);
  color: var(--bc-ink-light);
  letter-spacing: 0.04em;
  display: block;
}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.bc-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
}

.bc-process-grid::before {
  content: '';
  position: absolute;
  top: 18px;
  left: calc(12.5% + 8px);
  right: calc(12.5% + 8px);
  height: 1px;
  background: var(--bc-sand-dark);
}

.bc-process-step {
  padding: 0 20px;
  text-align: center;
}

.bc-process-step__dot {
  width: 36px;
  height: 36px;
  border: 1px solid var(--bc-sand-dark);
  background: var(--bc-sand);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 28px;
  position: relative;
  z-index: 2;
  font-family: var(--bc-font-serif);
  font-size: 14px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  transition: background var(--bc-dur), border-color var(--bc-dur);
}

.bc-process-step:hover .bc-process-step__dot {
  background: var(--bc-ink);
  border-color: var(--bc-ink);
  color: var(--bc-white);
}

.bc-process-step__title {
  font-family: var(--bc-font-serif);
  font-size: 17px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  margin-bottom: 8px;
  display: block;
}

.bc-process-step__desc {
  font-size: var(--bc-text-xs);
  color: var(--bc-ink-light);
  line-height: 1.7;
  letter-spacing: 0.02em;
}

/* ============================================================
   FAQ
   ============================================================ */
.bc-faq { border-top: 1px solid var(--bc-sand-dark); }

.bc-faq-item { border-bottom: 1px solid var(--bc-sand-dark); }

.bc-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  gap: 24px;
}

.bc-faq-q-text {
  font-family: var(--bc-font-serif);
  font-size: 18px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  line-height: 1.3;
}

.bc-faq-q-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--bc-ink-light);
  transition: transform var(--bc-dur);
}

.bc-faq-item.open .bc-faq-q-icon { transform: rotate(45deg); }

.bc-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.bc-faq-answer p {
  padding-bottom: 20px;
  font-size: var(--bc-text-sm);
  color: var(--bc-ink-mid);
  line-height: 1.8;
  font-weight: var(--bc-weight-light);
  margin: 0;
}

.bc-faq-item.open .bc-faq-answer { max-height: 400px; }

/* ============================================================
   CONTACT / QUOTE FORMS
   ============================================================ */
.bc-form-wrap {
  background: var(--bc-white);
  border: 1px solid var(--bc-sand-dark);
  padding: 48px;
}

.bc-form-wrap--dark {
  background: var(--bc-ink);
  border-color: rgba(255,255,255,0.1);
}

.bc-form-title {
  font-family: var(--bc-font-serif);
  font-size: 28px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  margin-bottom: 6px;
  line-height: 1.2;
}

.bc-form-wrap--dark .bc-form-title { color: var(--bc-white); }

.bc-form-sub {
  font-size: var(--bc-text-sm);
  color: var(--bc-ink-light);
  margin-bottom: 28px;
  font-weight: var(--bc-weight-light);
}

.bc-form-wrap--dark .bc-form-sub { color: rgba(255,255,255,0.4); }

.bc-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.bc-form-group { display: flex; flex-direction: column; gap: 6px; }
.bc-form-group--full { grid-column: 1 / -1; }

.bc-form-label {
  font-size: var(--bc-text-xs);
  font-weight: var(--bc-weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bc-ink-light);
}

.bc-form-wrap--dark .bc-form-label { color: rgba(255,255,255,0.4); }

.bc-input,
.bc-select,
.bc-textarea {
  font-family: var(--bc-font-sans);
  font-size: var(--bc-text-sm);
  padding: 12px 14px;
  border: 1px solid var(--bc-input-border);
  background: var(--bc-input-bg);
  color: var(--bc-ink);
  outline: none;
  width: 100%;
  border-radius: 0;
  transition: border-color var(--bc-dur);
  -webkit-appearance: none;
}

.bc-input:focus,
.bc-select:focus,
.bc-textarea:focus {
  border-color: var(--bc-input-focus);
}

.bc-form-wrap--dark .bc-input,
.bc-form-wrap--dark .bc-select,
.bc-form-wrap--dark .bc-textarea {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
  color: var(--bc-white);
}

.bc-form-wrap--dark .bc-input:focus,
.bc-form-wrap--dark .bc-select:focus,
.bc-form-wrap--dark .bc-textarea:focus {
  border-color: rgba(255,255,255,0.4);
}

.bc-textarea { height: 110px; resize: vertical; }

.bc-form-submit {
  width: 100%;
  padding: 14px;
  background: var(--bc-ink);
  color: var(--bc-white);
  font-family: var(--bc-font-sans);
  font-size: var(--bc-text-xs);
  font-weight: var(--bc-weight-medium);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid var(--bc-ink);
  cursor: pointer;
  transition: background var(--bc-dur), border-color var(--bc-dur);
  margin-top: 8px;
}

.bc-form-submit:hover {
  background: var(--bc-ink-mid);
  border-color: var(--bc-ink-mid);
}

.bc-form-wrap--dark .bc-form-submit {
  background: var(--bc-warm-dark);
  border-color: var(--bc-warm-dark);
}

.bc-form-note {
  font-size: 11px;
  color: var(--bc-ink-light);
  text-align: center;
  margin-top: 12px;
  letter-spacing: 0.04em;
}

/* ============================================================
   WOOCOMMERCE — Complete Override
   ============================================================ */

/* Product grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  background: none !important;
  border: none !important;
}

/* Product image wrapper */
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block;
}

.woocommerce ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 3/4 !important;
  object-fit: cover !important;
  margin-bottom: 14px !important;
  transition: transform var(--bc-dur-slow) var(--bc-ease) !important;
}

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

/* Sale badge */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--bc-ink) !important;
  color: var(--bc-white) !important;
  font-family: var(--bc-font-sans) !important;
  font-size: 9px !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 0 !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1.4 !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--bc-font-serif) !important;
  font-size: 17px !important;
  font-weight: var(--bc-weight-medium) !important;
  color: var(--bc-ink) !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  line-height: 1.25 !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-size: var(--bc-text-sm) !important;
  color: var(--bc-ink-mid) !important;
  font-family: var(--bc-font-sans) !important;
  font-weight: var(--bc-weight-light) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--bc-ink-light) !important;
  margin-right: 4px !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--bc-ink) !important;
  font-weight: var(--bc-weight-medium) !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 10px 16px !important;
  background: var(--bc-atc-bg) !important;
  color: var(--bc-atc-color) !important;
  font-family: var(--bc-font-sans) !important;
  font-size: 10px !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  text-align: center !important;
  transition: background var(--bc-dur) !important;
  cursor: pointer !important;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--bc-ink-mid) !important;
}

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

/* Single product */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.woocommerce div.product .product_title {
  font-family: var(--bc-font-serif) !important;
  font-size: var(--bc-h2-size) !important;
  font-weight: var(--bc-weight-medium) !important;
  color: var(--bc-ink) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--bc-font-serif) !important;
  font-size: 24px !important;
  font-weight: var(--bc-weight-medium) !important;
  color: var(--bc-ink) !important;
}

.woocommerce div.product form.cart .button {
  background: var(--bc-ink) !important;
  color: var(--bc-white) !important;
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 40px !important;
  border: 1px solid var(--bc-ink) !important;
  border-radius: 0 !important;
  transition: background var(--bc-dur), border-color var(--bc-dur) !important;
}

.woocommerce div.product form.cart .button:hover {
  background: var(--bc-ink-mid) !important;
  border-color: var(--bc-ink-mid) !important;
}

/* Quantity */
.woocommerce .quantity .qty {
  font-family: var(--bc-font-sans) !important;
  border: 1px solid var(--bc-sand-dark) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  width: 70px !important;
  font-size: var(--bc-text-sm) !important;
  text-align: center !important;
  background: var(--bc-white) !important;
  color: var(--bc-ink) !important;
  outline: none !important;
}

.woocommerce .quantity .qty:focus { border-color: var(--bc-ink) !important; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--bc-sand-dark) !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  padding: 0 32px 0 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--bc-ink-light) !important;
  padding: 0 0 14px !important;
  display: block !important;
  border-bottom: 1.5px solid transparent !important;
  transition: color var(--bc-dur), border-color var(--bc-dur) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--bc-ink) !important;
  border-bottom-color: var(--bc-ink) !important;
  background: none !important;
}

/* Cart */
.woocommerce table.shop_table {
  border: none !important;
  border-collapse: collapse !important;
}

.woocommerce table.shop_table th {
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--bc-ink-light) !important;
  border-bottom: 1px solid var(--bc-sand-dark) !important;
  padding: 12px 16px !important;
}

.woocommerce table.shop_table td {
  border-bottom: 1px solid var(--bc-sand-mid) !important;
  padding: 20px 16px !important;
  vertical-align: middle !important;
}

/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--bc-ink) !important;
  color: var(--bc-white) !important;
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 40px !important;
  border-radius: 0 !important;
  display: block !important;
  text-align: center !important;
  transition: background var(--bc-dur) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--bc-ink-mid) !important;
}

/* Checkout form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-sm) !important;
  border: 1px solid var(--bc-sand-dark) !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  background: var(--bc-white) !important;
  color: var(--bc-ink) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color var(--bc-dur) !important;
  height: auto !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--bc-ink) !important;
}

.woocommerce form .form-row label {
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--bc-ink-light) !important;
  margin-bottom: 6px !important;
}

#place_order {
  background: var(--bc-ink) !important;
  color: var(--bc-white) !important;
  font-family: var(--bc-font-sans) !important;
  font-size: var(--bc-text-xs) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 16px 48px !important;
  border-radius: 0 !important;
  border: 1px solid var(--bc-ink) !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background var(--bc-dur) !important;
}

#place_order:hover { background: var(--bc-ink-mid) !important; }

/* ============================================================
   ELEMENTOR INTEGRATION
   ============================================================ */
.elementor-heading-title {
  font-family: var(--bc-font-serif) !important;
}

.elementor-text-editor {
  font-family: var(--bc-font-sans) !important;
  font-weight: var(--bc-weight-light) !important;
}

.elementor-button {
  font-family: var(--bc-font-sans) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--bc-container);
}

/* ============================================================
   WPBAKERY INTEGRATION
   ============================================================ */
.wpb_text_column h1,
.wpb_text_column h2,
.wpb_text_column h3,
.wpb_text_column h4,
.vc_custom_heading {
  font-family: var(--bc-font-serif) !important;
}

.wpb_text_column p {
  font-family: var(--bc-font-sans) !important;
  font-weight: var(--bc-weight-light) !important;
  color: var(--bc-ink-mid) !important;
}

.vc_btn3 {
  font-family: var(--bc-font-sans) !important;
  font-weight: var(--bc-weight-medium) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}

.vc_btn3.vc_btn3-color-primary {
  background: var(--bc-ink) !important;
  border-color: var(--bc-ink) !important;
  color: var(--bc-white) !important;
}

.vc_btn3.vc_btn3-color-primary:hover {
  background: var(--bc-ink-mid) !important;
  border-color: var(--bc-ink-mid) !important;
}

.vc_btn3.vc_btn3-color-info {
  background: transparent !important;
  border-color: var(--bc-ink) !important;
  color: var(--bc-ink) !important;
}

.vc_btn3.vc_btn3-color-info:hover {
  background: var(--bc-ink) !important;
  color: var(--bc-white) !important;
}

.vc_separator .vc_sep_holder .vc_sep_line {
  border-color: var(--bc-sand-dark) !important;
}

/* ============================================================
   BLOG CARDS
   ============================================================ */
.bc-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.bc-blog-card { cursor: pointer; text-decoration: none; display: block; }

.bc-blog-card__img {
  aspect-ratio: 4/3;
  background: var(--bc-sand-mid);
  overflow: hidden;
  margin-bottom: 16px;
  position: relative;
}

.bc-blog-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--bc-dur-slow) var(--bc-ease);
}

.bc-blog-card:hover .bc-blog-card__img img { transform: scale(1.04); }

.bc-blog-card__date {
  font-size: var(--bc-text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bc-ink-light);
  margin-bottom: 8px;
  display: block;
}

.bc-blog-card__title {
  font-family: var(--bc-font-serif);
  font-size: 20px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink);
  line-height: 1.3;
  margin-bottom: 8px;
  transition: color var(--bc-dur);
  display: block;
}

.bc-blog-card:hover .bc-blog-card__title { color: var(--bc-warm-dark); }

.bc-blog-card__excerpt {
  font-size: var(--bc-text-sm);
  color: var(--bc-ink-mid);
  line-height: 1.75;
  font-weight: var(--bc-weight-light);
}

/* ============================================================
   FOOTER
   ============================================================ */
#colophon, .site-footer {
  background: var(--bc-sand-mid) !important;
  color: var(--bc-ink-mid) !important;
}

.bc-footer-top {
  max-width: var(--bc-container);
  margin: 0 auto;
  padding: 64px var(--bc-section-px) 48px;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px;
  border-bottom: 1px solid var(--bc-sand-dark);
}

.bc-footer-logo {
  font-family: var(--bc-font-serif);
  font-size: 22px;
  font-weight: var(--bc-weight-semi);
  color: var(--bc-ink);
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 12px;
  text-decoration: none;
}

.bc-footer-desc {
  font-size: var(--bc-text-sm);
  color: var(--bc-ink-mid);
  line-height: 1.75;
  font-weight: var(--bc-weight-light);
  max-width: 240px;
  margin-bottom: 20px;
}

.bc-footer-col-h {
  font-size: var(--bc-text-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bc-ink-light);
  margin-bottom: 16px;
  display: block;
}

.bc-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bc-footer-links a {
  font-size: var(--bc-text-sm);
  color: var(--bc-ink-mid);
  font-weight: var(--bc-weight-light);
  text-decoration: none;
  transition: color var(--bc-dur);
}

.bc-footer-links a:hover { color: var(--bc-ink); }

.bc-footer-social {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.bc-footer-soc {
  width: 32px;
  height: 32px;
  border: 1px solid var(--bc-sand-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: var(--bc-weight-medium);
  color: var(--bc-ink-mid);
  text-decoration: none;
  transition: border-color var(--bc-dur), color var(--bc-dur);
}

.bc-footer-soc:hover { border-color: var(--bc-ink); color: var(--bc-ink); }

.bc-footer-bottom {
  max-width: var(--bc-container);
  margin: 0 auto;
  padding: 20px var(--bc-section-px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.bc-footer-copy { font-size: var(--bc-text-xs); color: var(--bc-ink-light); }

.bc-footer-legal { display: flex; gap: 20px; }
.bc-footer-legal a {
  font-size: var(--bc-text-xs);
  color: var(--bc-ink-light);
  text-decoration: none;
  transition: color var(--bc-dur);
}

.bc-footer-legal a:hover { color: var(--bc-ink); }

/* ============================================================
   TOAST & MISC
   ============================================================ */
#bc-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(80px);
  background: var(--bc-ink);
  color: var(--bc-white);
  padding: 12px 24px;
  font-family: var(--bc-font-sans);
  font-size: var(--bc-text-sm);
  font-weight: var(--bc-weight-medium);
  z-index: var(--bc-z-toast);
  transition: transform 0.3s var(--bc-ease);
  pointer-events: none;
  white-space: nowrap;
  letter-spacing: 0.04em;
}

#bc-toast.bc-toast-show { transform: translateX(-50%) translateY(0); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1200px) {
  .bc-cat-grid  { grid-template-columns: repeat(4, 1fr); }
  .bc-prod-grid { grid-template-columns: repeat(3, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
  .bc-footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media (max-width: 1024px) {
  :root { --bc-section-py: 64px; --bc-section-px: 28px; }
  .bc-hero            { grid-template-columns: 1fr; }
  .bc-hero__visual    { min-height: 320px; }
  .bc-feature-split   { grid-template-columns: 1fr; gap: 40px; }
  .bc-promo           { grid-template-columns: 1fr; }
  .bc-promo__img      { min-height: 280px; }
  .bc-process-grid    { grid-template-columns: 1fr 1fr; gap: 40px; }
  .bc-process-grid::before { display: none; }
  .woocommerce div.product { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .bc-cat-grid    { grid-template-columns: repeat(3, 1fr); }
  .bc-prod-grid   { grid-template-columns: repeat(2, 1fr); }
  .bc-test-grid   { grid-template-columns: 1fr; }
  .bc-blog-grid   { grid-template-columns: 1fr 1fr; }
  .bc-benefits__inner { grid-template-columns: 1fr 1fr; }
  .bc-benefit     { border-right: none; border-bottom: 1px solid var(--bc-sand-dark); padding: 16px 0; }
  woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 640px) {
  :root { --bc-section-py: 48px; --bc-section-px: 20px; }
  .bc-cat-grid    { grid-template-columns: repeat(2, 1fr); }
  .bc-blog-grid   { grid-template-columns: 1fr; }
  .bc-footer-top  { grid-template-columns: 1fr; }
  .bc-footer-bottom { flex-direction: column; text-align: center; }
  .bc-form-grid   { grid-template-columns: 1fr; }
  .bc-form-wrap   { padding: 32px 24px; }
  .bc-grid-2,.bc-grid-3,.bc-grid-4 { grid-template-columns: 1fr; }
  .bc-process-grid { grid-template-columns: 1fr; }
  .bc-benefits__inner { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .bc-reveal { opacity: 1; transform: none; }
}

:focus-visible { outline: 1px solid var(--bc-ink); outline-offset: 3px; }
