/* ============================================================
   BharatCraft — Premium Indian Handcrafted Marketplace
   Complete Design System & Component Styles
   Version: 1.0.0
   ============================================================ */

/* ──────────────────────────────────────────────
   1. CSS DESIGN TOKENS (Custom Properties)
   ────────────────────────────────────────────── */
:root {
  /* ── Brand Colors ── */
  --saffron:          #FF9933;
  --saffron-light:    #FFB347;
  --saffron-dark:     #E07420;
  --saffron-pale:     #FFF3E6;
  --saffron-50:       #FFFAF3;

  --green:            #138808;
  --green-light:      #1CAC0C;
  --green-dark:       #0D6606;
  --green-pale:       #EAF5EA;

  --navy:             #000080;
  --navy-light:       #1A1AA8;
  --navy-dark:        #000060;
  --navy-pale:        #EAEAF7;

  --gold:             #C9A44A;
  --gold-light:       #E8C96A;
  --gold-dark:        #A07A20;
  --gold-pale:        #FDF6E3;

  /* ── Neutrals ── */
  --cream:            #FBF6EE;
  --warm-white:       #FFF8EE;
  --warm-gray:        #F5EFE6;
  --border-warm:      #EDE0CF;
  --border-light:     #F5EFE6;

  --text-primary:     #1A0A00;
  --text-secondary:   #4A3728;
  --text-muted:       #8B7355;
  --text-light:       #B89E84;
  --text-white:       #FFFFFF;
  --text-cream:       #FFF8EE;

  /* ── Semantic ── */
  --bg-primary:       #FFFFFF;
  --bg-cream:         #FBF6EE;
  --bg-warm:          #ffffff;
  --bg-dark:          #1A0A00;
  --bg-navy:          #000060;

  /* ── Shadows ── */
  --shadow-xs:        0 1px 4px rgba(26,10,0,0.05);
  --shadow-sm:        0 2px 10px rgba(26,10,0,0.07);
  --shadow-md:        0 4px 24px rgba(26,10,0,0.10);
  --shadow-lg:        0 8px 40px rgba(26,10,0,0.14);
  --shadow-xl:        0 16px 64px rgba(26,10,0,0.18);
  --shadow-saffron:   0 6px 28px rgba(255,153,51,0.35);
  --shadow-navy:      0 6px 28px rgba(0,0,128,0.28);
  --shadow-gold:      0 6px 28px rgba(201,164,74,0.35);
  --shadow-card:      0 4px 20px rgba(26,10,0,0.08), 0 1px 4px rgba(26,10,0,0.04);

  /* ── Typography ── */
  --font-brand:       'Cinzel', Georgia, serif;
  --font-display:     'Playfair Display', Georgia, serif;
  --font-body:        'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ── Spacing ── */
  --section-py:       80px;
  --section-py-lg:    100px;
  --section-py-sm:    56px;

  /* ── Border Radius ── */
  --r-xs:             4px;
  --r-sm:             8px;
  --r-md:             12px;
  --r-lg:             20px;
  --r-xl:             28px;
  --r-2xl:            40px;
  --r-full:           9999px;

  /* ── Transitions ── */
  --ease:             cubic-bezier(0.4, 0, 0.2, 1);
  --spring:           cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out:         cubic-bezier(0, 0, 0.2, 1);
  --t-fast:           0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --t:                0.30s cubic-bezier(0.4, 0, 0.2, 1);
  --t-slow:           0.50s cubic-bezier(0.4, 0, 0.2, 1);

  /* ── Z-Index ── */
  --z-base:           0;
  --z-above:          10;
  --z-sticky:         100;
  --z-dropdown:       200;
  --z-header:         500;
  --z-overlay:        800;
  --z-modal:          1000;
}

/* ──────────────────────────────────────────────
   2. RESET & BASE
   ────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

@media (max-width: 1440px) { html { font-size: 15px; } }
@media (max-width: 1200px) { html { font-size: 14px; } }
@media (max-width: 992px) { html { font-size: 13px; } }
@media (max-width: 768px) { html { font-size: 12px; } }


body {
  font-family: var(--font-body);
  color: var(--text-primary);
  background-color: var(--bg-primary);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: inherit; text-decoration: none; transition: color var(--t-fast); }
ul  { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select, textarea { font-family: inherit; outline: none; }

/* ──────────────────────────────────────────────
   3. UTILITY CLASSES
   ────────────────────────────────────────────── */
.bc-section-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--saffron-dark);
  margin-bottom: 12px;
}

.bc-section-label::before,
.bc-section-label::after {
  content: '';
  width: 24px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}

.bc-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.6rem);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.2;
  margin-bottom: 14px;
}

.bc-section-desc {
  font-size: 1.0625rem;
  color: var(--text-muted);
  max-width: 560px;
  line-height: 1.7;
}

.bc-section-header {
  margin-bottom: 48px;
}

.bc-section-header.centered {
  text-align: center;
}

.bc-section-header.centered .bc-section-label {
  justify-content: center;
}

.bc-section-header.centered .bc-section-desc {
  margin: 0 auto;
}

.bc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: var(--r-full);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: all var(--t);
  white-space: nowrap;
  cursor: pointer;
  border: 2px solid transparent;
}

.bc-btn-primary {
  background: var(--saffron);
  color: var(--text-white);
  border-color: var(--saffron);
  box-shadow: var(--shadow-saffron);
}

.bc-btn-primary:hover {
  background: var(--saffron-dark);
  border-color: var(--saffron-dark);
  color: var(--text-white);
  transform: translateY(-2px);
  box-shadow: 0 10px 36px rgba(255,153,51,0.45);
}

.bc-btn-navy {
  background: var(--navy);
  color: var(--text-white);
  border-color: var(--navy);
  box-shadow: var(--shadow-navy);
}

.bc-btn-navy:hover {
  background: var(--navy-light);
  border-color: var(--navy-light);
  color: var(--text-white);
  transform: translateY(-2px);
  box-shadow: 0 10px 36px rgba(0,0,128,0.40);
}

.bc-btn-outline {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--border-warm);
}

.bc-btn-outline:hover {
  background: var(--bg-cream);
  border-color: var(--saffron);
  color: var(--saffron-dark);
}

.bc-btn-outline-white {
  background: transparent;
  color: var(--text-white);
  border-color: rgba(255,255,255,0.5);
}

.bc-btn-outline-white:hover {
  background: rgba(255,255,255,0.15);
  border-color: white;
  color: var(--text-white);
}

.bc-btn-sm {
  padding: 9px 20px;
  font-size: 0.875rem;
}

.bc-btn-lg {
  padding: 16px 38px;
  font-size: 1.0625rem;
}

.bc-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--r-full);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.bc-badge-saffron {
  background: var(--saffron-pale);
  color: var(--saffron-dark);
}

.bc-badge-green {
  background: var(--green-pale);
  color: var(--green-dark);
}

.bc-badge-navy {
  background: var(--navy-pale);
  color: var(--navy);
}

.bc-badge-gold {
  background: var(--gold-pale);
  color: var(--gold-dark);
}

.bc-stars {
  display: flex;
  gap: 2px;
  color: #FFC107;
  font-size: 0.8125rem;
}

.section-py {
  padding-top: var(--section-py);
  padding-bottom: var(--section-py);
}

.section-py-lg {
  padding-top: var(--section-py-lg);
  padding-bottom: var(--section-py-lg);
}

.section-py-sm {
  padding-top: var(--section-py-sm);
  padding-bottom: var(--section-py-sm);
}

.bg-cream { background-color: var(--bg-cream); }
.bg-warm  { background-color: var(--bg-warm); }
.bg-dark  { background-color: var(--bg-dark); }

/* Gradient text */
.bc-gradient-text {
  background: linear-gradient(90deg, var(--saffron) 0%, var(--gold) 50%, var(--saffron) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmerText 3s linear infinite;
}

@keyframes shimmerText {
  to { background-position: 200% center; }
}

/* Scroll animation base */
.bc-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity var(--t-slow), transform var(--t-slow);
}

.bc-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.bc-reveal-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity var(--t-slow), transform var(--t-slow);
}

.bc-reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}

.bc-reveal-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity var(--t-slow), transform var(--t-slow);
}

.bc-reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Delay helpers */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* ──────────────────────────────────────────────
   4. PRELOADER
   ────────────────────────────────────────────── */
#bc-preloader {
  position: fixed;
  inset: 0;
  background: var(--navy);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.6s var(--ease), visibility 0.6s;
}

#bc-preloader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.bc-preloader-brand {
  font-family: var(--font-brand);
  font-size: 2rem;
  color: var(--gold-light);
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}

.bc-preloader-chakra {
  width: 60px;
  height: 60px;
  border: 3px solid rgba(255,153,51,0.3);
  border-top-color: var(--saffron);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ──────────────────────────────────────────────
   5. ANNOUNCEMENT BAR
   ────────────────────────────────────────────── */
.bc-announce-bar {
  background: linear-gradient(90deg, var(--navy) 0%, var(--navy-light) 50%, var(--navy) 100%);
  color: var(--text-white);
  height: 38px;
  overflow: hidden;
  position: relative;
  z-index: var(--z-sticky);
}

.bc-announce-track {
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
}

.bc-announce-messages {
  position: absolute;
  width: 100%;
  text-align: center;
}

.bc-announce-item {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  opacity: 0;
  transition: opacity 0.5s ease;
  white-space: nowrap;
}

.bc-announce-item.active {
  opacity: 1;
}

.bc-announce-item span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bc-announce-item .bc-announce-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,153,51,0.6);
}

.bc-announce-badge {
  background: var(--saffron);
  color: var(--navy);
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: var(--r-full);
  margin-right: 4px;
}

.bc-announce-close {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.6;
  transition: opacity var(--t-fast);
  color: white;
  font-size: 14px;
}

.bc-announce-close:hover { opacity: 1; }

/* ──────────────────────────────────────────────
   6. HEADER
   ────────────────────────────────────────────── */
.bc-header {
  background: var(--bg-primary);
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-header);
  transition: box-shadow var(--t), background var(--t);
}

.bc-header.scrolled {
  box-shadow: 0 2px 20px rgba(26,10,0,0.08);
}

/* Header Top Row */
.bc-header-top {
  padding: 14px 0;
  border-bottom: 1px solid var(--border-light);
}

.bc-header-top-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

/* Logo */
.bc-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

.bc-logo-icon {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--saffron) 0%, var(--gold-dark) 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.bc-logo-icon svg {
  width: 26px;
  height: 26px;
  color: white;
}

.bc-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.bc-logo-name {
  font-family: var(--font-brand);
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--navy);
  line-height: 1;
}

.bc-logo-tagline {
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--saffron-dark);
  margin-top: 3px;
}

/* Header Search */
.bc-search-wrap {
  flex: 1;
  max-width: 560px;
  position: relative;
}

.bc-search-box {
  display: flex;
  align-items: center;
  background: var(--bg-cream);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-full);
  overflow: hidden;
  transition: border-color var(--t), box-shadow var(--t);
}

.bc-search-box:focus-within {
  border-color: var(--saffron);
  box-shadow: 0 0 0 3px rgba(255,153,51,0.12);
}

.bc-search-cat {
  padding: 0 12px 0 16px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-secondary);
  border: none;
  background: transparent;
  border-right: 1px solid var(--border-warm);
  height: 44px;
  cursor: pointer;
  white-space: nowrap;
}

.bc-search-input {
  flex: 1;
  padding: 0 12px;
  font-size: 0.9375rem;
  background: transparent;
  border: none;
  height: 44px;
  color: var(--text-primary);
}

.bc-search-input::placeholder { color: var(--text-light); }

.bc-search-btn {
  padding: 0 20px;
  height: 44px;
  background: var(--saffron);
  color: white;
  font-size: 1rem;
  border: none;
  transition: background var(--t-fast);
  display: flex;
  align-items: center;
  justify-content: center;
}

.bc-search-btn:hover { background: var(--saffron-dark); }

/* Header Actions */
.bc-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  flex-shrink: 0;
}

.bc-header-action-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 8px 10px;
  border-radius: var(--r-sm);
  transition: background var(--t-fast);
  color: var(--text-secondary);
  font-size: 0.6875rem;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
  position: relative;
}

.bc-header-action-link:hover {
  background: var(--bg-cream);
  color: var(--saffron-dark);
}

.bc-header-action-link i {
  font-size: 1.25rem;
  line-height: 1;
  color: var(--text-secondary);
  transition: color var(--t-fast);
}

.bc-header-action-link:hover i { color: var(--saffron); }

.bc-action-badge {
  position: absolute;
  top: 5px;
  right: 6px;
  width: 18px;
  height: 18px;
  background: var(--saffron);
  color: white;
  font-size: 0.625rem;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.bc-btn-seller {
  background: var(--navy);
  color: white;
  padding: 9px 18px;
  border-radius: var(--r-full);
  font-size: 0.8125rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all var(--t);
  white-space: nowrap;
}

.bc-btn-seller:hover {
  background: var(--navy-light);
  color: white;
  transform: translateY(-1px);
}

.bc-btn-influencer {
  background: transparent;
  color: var(--saffron-dark);
  border: 1.5px solid var(--saffron);
  padding: 8px 16px;
  border-radius: var(--r-full);
  font-size: 0.8125rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all var(--t);
  white-space: nowrap;
}

.bc-btn-influencer:hover {
  background: var(--saffron);
  color: white;
  transform: translateY(-1px);
}

/* Header Navigation Row */
.bc-header-nav {
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-light);
}

.bc-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 46px;
}

.bc-nav-list {
  display: flex;
  align-items: center;
  gap: 0;
  height: 100%;
  margin-bottom:0px;
}

.bc-nav-item {
  height: 100%;
  position: relative;
}

.bc-nav-item > a {
  display: flex;
  align-items: center;
  gap: 15px;
  height: 100%;
  padding: 0 14px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-secondary);
  transition: color var(--t-fast);
  white-space: nowrap;
  border-bottom: 2.5px solid transparent;
}

.bc-nav-item > a:hover,
.bc-nav-item > a.active {
  color: var(--saffron-dark);
  border-bottom-color: var(--saffron);
}

.bc-nav-item.highlight > a {
  color: var(--navy);
  font-weight: 600;
}

.bc-nav-item.highlight-green > a {
  color: var(--green);
  font-weight: 600;
}

.bc-nav-item.highlight > a:hover { color: var(--saffron-dark); }
.bc-nav-item.highlight-green > a:hover { color: var(--green-dark); }

.bc-nav-extras {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.bc-nav-extras a:hover { color: var(--saffron-dark); }

/* ── MEGA MENU ── */
.bc-nav-item.has-mega:hover .bc-mega-menu,
.bc-mega-menu:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.bc-mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 720px;
  background: var(--bg-primary);
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  box-shadow: var(--shadow-xl);
  padding: 28px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--t), visibility var(--t), transform var(--t);
  border-top: 3px solid var(--saffron);
  z-index: var(--z-dropdown);
}

.bc-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.bc-mega-col h5 {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-light);
}

.bc-mega-col ul li {
  margin-bottom: 6px;
}

.bc-mega-col ul li a {
  font-size: 0.8125rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 0;
  transition: color var(--t-fast);
}

.bc-mega-col ul li a:hover { color: var(--saffron-dark); }

.bc-mega-banner {
  margin-top: 20px;
  padding: 16px 20px;
  background: linear-gradient(135deg, var(--saffron-pale) 0%, var(--gold-pale) 100%);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255,153,51,0.2);
}

.bc-mega-banner-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--navy);
}

.bc-mega-banner-text span {
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--text-muted);
  margin-top: 2px;
}

/* Mobile Header */
.bc-header-mobile {
  display: none;
  background: var(--bg-primary);
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  border-bottom: 1px solid var(--border-light);
  box-shadow: var(--shadow-sm);
}

.bc-mobile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  gap: 12px;
}

.bc-mobile-search {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--bg-cream);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-full);
  padding: 0 14px;
  height: 40px;
}

.bc-mobile-search input {
  flex: 1;
  background: transparent;
  border: none;
  font-size: 0.875rem;
  color: var(--text-primary);
}

.bc-mobile-search i { color: var(--text-muted); }

.bc-mobile-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.bc-mobile-action-btn {
  width: 38px;
  height: 38px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-size: 1.1rem;
  position: relative;
  transition: background var(--t-fast);
}

.bc-mobile-action-btn:hover { background: var(--bg-cream); }

.bc-hamburger {
  width: 38px;
  height: 38px;
  border-radius: var(--r-sm);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}

.bc-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text-secondary);
  border-radius: 2px;
  transition: all var(--t);
}

/* Mobile Drawer */
.bc-mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100dvh;
  background: var(--bg-primary);
  z-index: var(--z-modal);
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform var(--t-slow);
  box-shadow: var(--shadow-xl);
}

.bc-mobile-drawer.open {
  transform: translateX(0);
}

.bc-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid var(--border-light);
  background: var(--bg-cream);
}

.bc-drawer-close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 1.1rem;
  border-radius: var(--r-sm);
  transition: background var(--t-fast);
}

.bc-drawer-close:hover {
  background: var(--border-warm);
  color: var(--text-primary);
}

.bc-drawer-nav { padding: 12px 0; }

.bc-drawer-nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text-secondary);
  border-left: 3px solid transparent;
  transition: all var(--t-fast);
}

.bc-drawer-nav a:hover {
  background: var(--bg-cream);
  color: var(--saffron-dark);
  border-left-color: var(--saffron);
}

.bc-drawer-nav a i {
  width: 20px;
  text-align: center;
  color: var(--text-muted);
}

.bc-drawer-divider {
  height: 1px;
  background: var(--border-light);
  margin: 8px 0;
}

.bc-drawer-section-title {
  padding: 8px 20px 4px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-light);
}

.bc-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26,10,0,0.5);
  z-index: calc(var(--z-modal) - 1);
  opacity: 0;
  visibility: hidden;
  transition: all var(--t);
  backdrop-filter: blur(3px);
}

.bc-overlay.show {
  opacity: 1;
  visibility: visible;
}

/* ──────────────────────────────────────────────
   7. HERO SECTION
   ────────────────────────────────────────────── */
.bc-hero {
  position: relative;
  min-height: 72vh;
  background: linear-gradient(145deg, #000065 0%, #000080 30%, #1A0050 65%, #0A0030 100%);
  overflow: hidden;
  display: flex;
  align-items: center;
}

.bc-hero-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.bc-hero-glow-saffron {
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(255,153,51,0.20) 0%, transparent 70%);
  top: -200px;
  right: -100px;
  animation: floatGlow 8s ease-in-out infinite;
}

.bc-hero-glow-gold {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(201,164,74,0.15) 0%, transparent 70%);
  bottom: -100px;
  right: 200px;
  animation: floatGlow 10s ease-in-out infinite reverse;
}

.bc-hero-pattern {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(255,153,51,0.04) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(201,164,74,0.05) 0%, transparent 40%);
  pointer-events: none;
}

/* Floating dots */
.bc-hero-dots {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.bc-hero-dot {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(255,153,51,0.5);
  animation: floatDot linear infinite;
}

@keyframes floatDot {
  0%   { transform: translateY(100vh) rotate(0deg); opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { transform: translateY(-100px) rotate(360deg); opacity: 0; }
}

@keyframes floatGlow {
  0%, 100% { transform: translateY(0) scale(1); }
  50%       { transform: translateY(-30px) scale(1.05); }
}

.bc-hero-content {
  position: relative;
  z-index: 2;
}

.bc-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  min-height: 72vh;
  padding: 56px 0;
}

.bc-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(255,153,51,0.15);
  border: 1px solid rgba(255,153,51,0.35);
  border-radius: var(--r-full);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--saffron-light);
  letter-spacing: 0.02em;
  margin-bottom: 24px;
}

.bc-hero-badge .dot {
  width: 8px;
  height: 8px;
  background: var(--saffron);
  border-radius: 50%;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.5; transform: scale(0.8); }
}

.bc-hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4.5vw, 3.75rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--text-white);
  margin-bottom: 20px;
}

.bc-hero-title .accent {
  color: var(--saffron-light);
}

.bc-hero-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.1875rem);
  color: rgba(255,255,255,0.75);
  line-height: 1.7;
  margin-bottom: 36px;
  max-width: 480px;
}

.bc-hero-ctas {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 48px;
}

.bc-hero-stats {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.bc-hero-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.bc-hero-stat-value {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-white);
  line-height: 1;
}

.bc-hero-stat-label {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.55);
  font-weight: 500;
}

.bc-hero-stat-divider {
  width: 1px;
  height: 36px;
  background: rgba(255,255,255,0.2);
}

/* Hero Visual */
.bc-hero-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bc-hero-mandala {
  position: absolute;
  width: 520px;
  height: 520px;
  opacity: 0.06;
  animation: spinSlow 60s linear infinite;
  pointer-events: none;
}

.bc-hero-mandala svg {
  width: 100%;
  height: 100%;
  color: var(--saffron-light);
}

@keyframes spinSlow {
  to { transform: rotate(360deg); }
}

.bc-hero-craft-showcase {
  position: relative;
  z-index: 1;
  width: 420px;
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bc-hero-craft-main {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,153,51,0.15) 0%, rgba(201,164,74,0.2) 100%);
  border: 1px solid rgba(255,153,51,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  font-size: 7rem;
}

/* Floating product card teasers */
.bc-hero-floating-card {
  position: absolute;
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--r-md);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  animation: floatCard 6s ease-in-out infinite;
}

.bc-hero-floating-card:nth-child(2) { animation-delay: -2s; }
.bc-hero-floating-card:nth-child(3) { animation-delay: -4s; }

.bc-hero-floating-card.card-1 { top: 12%; left: -10%; }
.bc-hero-floating-card.card-2 { bottom: 20%; right: -5%; }
.bc-hero-floating-card.card-3 { top: 60%; left: -8%; }

@keyframes floatCard {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

.bc-floating-card-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.bc-floating-card-icon.saffron { background: rgba(255,153,51,0.25); }
.bc-floating-card-icon.gold    { background: rgba(201,164,74,0.25); }
.bc-floating-card-icon.green   { background: rgba(19,136,8,0.25); }

.bc-floating-card-info { display: flex; flex-direction: column; gap: 2px; }

.bc-floating-card-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: white;
  white-space: nowrap;
}

.bc-floating-card-price {
  font-size: 0.75rem;
  color: var(--saffron-light);
  font-weight: 500;
}

/* ──────────────────────────────────────────────
   8. TRUST STRIP
   ────────────────────────────────────────────── */
.bc-trust-strip {
  background: var(--bg-cream);
  border-top: 1px solid var(--border-warm);
  border-bottom: 1px solid var(--border-warm);
  padding: 18px 0;
}

.bc-trust-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.bc-trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 180px;
}

.bc-trust-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  flex-shrink: 0;
}

.bc-trust-icon.saffron { background: var(--saffron-pale); color: var(--saffron-dark); }
.bc-trust-icon.navy    { background: var(--navy-pale);    color: var(--navy); }
.bc-trust-icon.green   { background: var(--green-pale);   color: var(--green); }
.bc-trust-icon.gold    { background: var(--gold-pale);    color: var(--gold-dark); }

.bc-trust-info-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.2;
}

.bc-trust-info-desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.3;
}

.bc-trust-divider {
  width: 1px;
  height: 40px;
  background: var(--border-warm);
  flex-shrink: 0;
}

/* ──────────────────────────────────────────────
   9. FEATURED CATEGORIES
   ────────────────────────────────────────────── */
.bc-categories-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.bc-category-card {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
  transition: transform var(--t), box-shadow var(--t);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  text-decoration: none;
}

.bc-category-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-xl);
}

.bc-category-card:hover .bc-cat-bg {
  transform: scale(1.06);
}

.bc-category-card:hover .bc-cat-icon {
  transform: scale(1.1) translateY(-4px);
}

.bc-cat-bg {
  position: absolute;
  inset: 0;
  transition: transform var(--t-slow);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bc-cat-gradient-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
  z-index: 1;
}

.bc-cat-icon {
  position: relative;
  z-index: 2;
  width: 72px;
  height: 72px;
  margin-bottom: 12px;
  transition: transform var(--t);
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
}

.bc-cat-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.bc-cat-content {
  position: relative;
  z-index: 2;
  padding: 0 16px 20px;
  text-align: center;
  width: 100%;
}

.bc-cat-name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
  color: white;
  line-height: 1.2;
  margin-bottom: 4px;
}

.bc-cat-count {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.7);
  font-weight: 400;
}

/* Category photo backgrounds — gradient kept as graceful fallback */
.bc-cat-1 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1565193566173-7a0ee3dbe261?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #C65A1A, #8B3A0A, #5C2006);
}
.bc-cat-2 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #C9A44A, #A07A20, #6B4E08);
}
.bc-cat-3 .bc-cat-bg {
  background: url('https://img.magnific.com/free-vector/vintage-sewing-box-vector-illustration-remixed-from-artwork-by-francis-law-durand_53876-151113.jpg?t=st=1781162834~exp=1781166434~hmac=8951f5033faa3207bce33984ddf4e8afff0ba163c9541b13d15372372b4ccae3&w=740') center/cover no-repeat,
              linear-gradient(145deg, #7B4F1A, #5C3A0E, #3C2408);
}
.bc-cat-4 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1586023492125-27b2c045efd7?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #1A4480, #0D2A5E, #05163A);
}
.bc-cat-5 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1558769132-cb1aea458c5e?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #8E1A5E, #680D45, #420028);
}
.bc-cat-6 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1579783902614-a3fb3927b6a5?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #C22020, #8B1010, #5C0808);
}
.bc-cat-7 .bc-cat-bg {
  background: url('https://img.magnific.com/premium-photo/indian-traditional-paintings-art-motifs-textile-patterns_130181-33497.jpg?w=740') center/cover no-repeat,
              linear-gradient(145deg, #2A6E2A, #1A4E1A, #0D3010);
}
.bc-cat-8 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1509631179647-0177331693ae?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #C25010, #8B3408, #5C2006);
}
.bc-cat-9 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1513885535751-8b9238bd345a?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #1A6E8E, #0D4A62, #052C40);
}
.bc-cat-10 .bc-cat-bg {
  background: url('https://images.unsplash.com/photo-1542601906990-b4d3fb778b09?w=600&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #3E8E1A, #285E0D, #143A06);
}

/* Row 1 larger cards, row 2 smaller */
.bc-categories-grid .bc-category-card:nth-child(1),
.bc-categories-grid .bc-category-card:nth-child(6) {
  grid-row: span 1;
}

/* View All CTA Card */
.bc-category-card.bc-cat-viewall {
  background: var(--bg-cream);
  border: 2px dashed var(--border-warm);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  gap: 12px;
}

.bc-category-card.bc-cat-viewall:hover {
  border-color: var(--saffron);
  background: var(--saffron-pale);
}

.bc-cat-viewall-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--bg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--saffron);
  box-shadow: var(--shadow-sm);
  transition: all var(--t);
}

.bc-category-card.bc-cat-viewall:hover .bc-cat-viewall-icon {
  background: var(--saffron);
  color: white;
  transform: scale(1.1);
}

.bc-cat-viewall-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-align: center;
}

/* ──────────────────────────────────────────────
   10. ARTISAN STORY SECTION
   ────────────────────────────────────────────── */
.bc-artisan-bg {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 40%, #1A0050 100%);
  position: relative;
  overflow: hidden;
}

.bc-artisan-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1' fill='%23FF9933' opacity='0.1'/%3E%3C/svg%3E") repeat;
  pointer-events: none;
}

.bc-artisan-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.bc-artisan-story-left .bc-section-label { color: var(--saffron-light); }
.bc-artisan-story-left .bc-section-title { color: white; }

.bc-artisan-story-left .bc-section-desc {
  color: rgba(255,255,255,0.7);
  max-width: 440px;
}

.bc-artisan-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 40px;
}

.bc-artisan-stat-card {
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-lg);
  padding: 22px;
  transition: background var(--t);
}

.bc-artisan-stat-card:hover {
  background: rgba(255,153,51,0.1);
  border-color: rgba(255,153,51,0.25);
}

.bc-artisan-stat-num {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--saffron-light);
  line-height: 1;
  margin-bottom: 6px;
}

.bc-artisan-stat-label {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.65);
  font-weight: 500;
}

/* Artisan Profile Cards */
.bc-artisan-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bc-artisan-profile-card {
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-lg);
  padding: 20px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  transition: all var(--t);
  cursor: pointer;
}

.bc-artisan-profile-card:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,153,51,0.3);
  transform: translateX(6px);
}

.bc-artisan-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.625rem;
  flex-shrink: 0;
  border: 2px solid rgba(255,153,51,0.4);
}

.bc-artisan-avatar.av-1 { background: linear-gradient(135deg, #D4874B, #8B4513); }
.bc-artisan-avatar.av-2 { background: linear-gradient(135deg, #C9A44A, #6B4E08); }
.bc-artisan-avatar.av-3 { background: linear-gradient(135deg, #7B9ECC, #2A4E8E); }

.bc-artisan-name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: white;
  margin-bottom: 3px;
}

.bc-artisan-craft {
  font-size: 0.8125rem;
  color: var(--saffron-light);
  font-weight: 500;
  margin-bottom: 6px;
}

.bc-artisan-location {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.5);
  display: flex;
  align-items: center;
  gap: 4px;
}

.bc-artisan-quote {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.5;
  font-style: italic;
  margin-top: 8px;
}

.bc-artisan-profile-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}

.bc-artisan-meta-badge {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: var(--r-full);
  background: rgba(255,153,51,0.2);
  color: var(--saffron-light);
  border: 1px solid rgba(255,153,51,0.3);
}

/* ══════════════════════════════════════════════
   STORIES THAT MATTER — REDESIGNED (bc-stm-*)
   ══════════════════════════════════════════════ */

/* ── Section wrapper ── */
.bc-stm-section {
  position: relative;
  overflow: hidden;
}

/* ── Ambient background glows ── */
.bc-stm-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.bc-stm-glow-l {
  width: 380px;
  height: 380px;
  top: -80px;
  left: -100px;
  background: radial-gradient(circle, rgba(255,153,51,0.14) 0%, transparent 65%);
}
.bc-stm-glow-r {
  width: 280px;
  height: 280px;
  bottom: -60px;
  right: 4%;
  background: radial-gradient(circle, rgba(74,205,171,0.1) 0%, transparent 65%);
}

/* ── Two-column layout ── */
.bc-stm-inner {
  display: grid;
  grid-template-columns: 42% 58%;
  gap: 60px;
  align-items: center;
}

/* ── Left editorial panel ── */
.bc-stm-left {
  position: relative;
}

.bc-stm-deco-quote {
  position: absolute;
  top: -28px;
  left: -8px;
  font-size: 11rem;
  font-family: 'Georgia', 'Times New Roman', serif;
  color: rgba(255,153,51,0.07);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.bc-stm-left > * { position: relative; z-index: 1; }

.bc-stm-label { color: var(--saffron-light) !important; }

.bc-stm-title {
  color: #fff !important;
  font-size: 2.2rem !important;
  line-height: 1.2 !important;
  margin-bottom: 14px;
}

.bc-stm-desc {
  color: rgba(255,255,255,0.66);
  font-size: 0.9375rem;
  line-height: 1.72;
  margin-bottom: 26px;
}

/* ── Story-type category pills ── */
.bc-stm-type-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 30px;
}

.bc-stm-pill {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 100px;
  letter-spacing: 0.02em;
}
.bc-stm-pill--artisan  { background: rgba(255,153,51,0.14);  color: #FFB347; border: 1px solid rgba(255,153,51,0.28); }
.bc-stm-pill--brand    { background: rgba(74,205,171,0.12);  color: #5FDBBF; border: 1px solid rgba(74,205,171,0.28); }
.bc-stm-pill--woman    { background: rgba(255,107,157,0.12); color: #FF8FC0; border: 1px solid rgba(255,107,157,0.28); }
.bc-stm-pill--circular { background: rgba(142,195,62,0.12);  color: #A6D96A; border: 1px solid rgba(142,195,62,0.28); }

.bc-stm-cta { margin-top: 0; }

/* ── 2×2 cards grid ── */
.bc-stm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* ── Individual card ── */
.bc-stm-card {
  position: relative;
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 16px;
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 11px;
  overflow: hidden;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
  text-decoration: none;
}

.bc-stm-card:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,0.09);
}
.bc-stm-card--artisan:hover  { box-shadow: 0 16px 40px rgba(255,153,51,0.18);  border-color: rgba(255,153,51,0.3); }
.bc-stm-card--brand:hover    { box-shadow: 0 16px 40px rgba(74,205,171,0.15);  border-color: rgba(74,205,171,0.3); }
.bc-stm-card--woman:hover    { box-shadow: 0 16px 40px rgba(255,107,157,0.15); border-color: rgba(255,107,157,0.3); }
.bc-stm-card--circular:hover { box-shadow: 0 16px 40px rgba(126,211,33,0.12);  border-color: rgba(126,211,33,0.3); }

/* Colored top accent bar per story type */
.bc-stm-card-bar {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 16px 16px 0 0;
}
.bc-stm-card--artisan  .bc-stm-card-bar { background: linear-gradient(90deg, #FF9933, #FFB347); }
.bc-stm-card--brand    .bc-stm-card-bar { background: linear-gradient(90deg, #4ACDAB, #5FE5C8); }
.bc-stm-card--woman    .bc-stm-card-bar { background: linear-gradient(90deg, #FF6B9D, #FF8FC0); }
.bc-stm-card--circular .bc-stm-card-bar { background: linear-gradient(90deg, #7ED321, #A5DE4D); }

/* Card header row: avatar + meta */
.bc-stm-card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-top: 8px; /* clears the accent bar */
}

/* Avatar circle */
.bc-stm-avatar {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,0.18);
  flex-shrink: 0;
}
.bc-stm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bc-stm-av--artisan  { background: linear-gradient(135deg, #E0884B 0%, #7A2200 100%); border-color: rgba(255,153,51,0.45); }
.bc-stm-av--brand    { background: linear-gradient(135deg, #4ACDAB 0%, #0B7A65 100%); border-color: rgba(74,205,171,0.45); }
.bc-stm-av--woman    { background: linear-gradient(135deg, #FF6B9D 0%, #961542 100%); border-color: rgba(255,107,157,0.45); }
.bc-stm-av--circular { background: linear-gradient(135deg, #7ED321 0%, #38700A 100%); border-color: rgba(126,211,33,0.45); }

/* Meta: tag + name + role + location */
.bc-stm-card-meta { flex: 1; min-width: 0; }

.bc-stm-type-tag {
  display: inline-flex;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 100px;
  margin-bottom: 5px;
}
.bc-stm-tag--artisan  { background: rgba(255,153,51,0.18);  color: #FFB347; border: 1px solid rgba(255,153,51,0.32); }
.bc-stm-tag--brand    { background: rgba(74,205,171,0.15);  color: #5FD9BE; border: 1px solid rgba(74,205,171,0.32); }
.bc-stm-tag--woman    { background: rgba(255,107,157,0.15); color: #FF8FC0; border: 1px solid rgba(255,107,157,0.32); }
.bc-stm-tag--circular { background: rgba(126,211,33,0.12);  color: #A5DE4D; border: 1px solid rgba(126,211,33,0.32); }

.bc-stm-name {
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bc-stm-role {
  font-size: 0.725rem;
  color: rgba(255,255,255,0.52);
  font-weight: 500;
  margin-bottom: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bc-stm-loc {
  font-size: 0.6375rem;
  color: rgba(255,255,255,0.34);
  display: flex;
  align-items: center;
  gap: 3px;
}
.bc-stm-loc i { font-size: 0.475rem; }

/* Quote area */
.bc-stm-quote {
  position: relative;
  margin: 0;
  padding-left: 22px;
  font-size: 0.74rem;
  line-height: 1.62;
  color: rgba(255,255,255,0.6);
  font-style: italic;
  flex: 1;
  border-left: none;
}

.bc-stm-qmark {
  position: absolute;
  left: 0;
  top: -3px;
  font-size: 1.6rem;
  font-family: 'Georgia', serif;
  font-weight: 700;
  line-height: 1;
  font-style: normal;
}
.bc-stm-card--artisan  .bc-stm-qmark { color: rgba(255,153,51,0.55); }
.bc-stm-card--brand    .bc-stm-qmark { color: rgba(74,205,171,0.55); }
.bc-stm-card--woman    .bc-stm-qmark { color: rgba(255,107,157,0.55); }
.bc-stm-card--circular .bc-stm-qmark { color: rgba(126,211,33,0.48); }

/* Card footer: badges + read link */
.bc-stm-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px;
}

.bc-stm-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.bc-stm-badge {
  font-size: 0.6rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 100px;
  white-space: nowrap;
}
.bc-stm-badge--saffron { background: rgba(255,153,51,0.18);  color: #FFB347; border: 1px solid rgba(255,153,51,0.3); }
.bc-stm-badge--white   { background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.62); border: 1px solid rgba(255,255,255,0.15); }
.bc-stm-badge--teal    { background: rgba(74,205,171,0.15);  color: #5FD9BE; border: 1px solid rgba(74,205,171,0.3); }
.bc-stm-badge--rose    { background: rgba(255,107,157,0.15); color: #FF8FC0; border: 1px solid rgba(255,107,157,0.3); }
.bc-stm-badge--green   { background: rgba(126,211,33,0.12);  color: #A5DE4D; border: 1px solid rgba(126,211,33,0.3); }

.bc-stm-read-link {
  font-size: 0.6625rem;
  font-weight: 600;
  color: rgba(255,255,255,0.36);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.2s ease;
}
.bc-stm-read-link i {
  font-size: 0.55rem;
  transition: transform 0.2s ease;
}
.bc-stm-card:hover .bc-stm-read-link { color: rgba(255,255,255,0.75); }
.bc-stm-card:hover .bc-stm-read-link i { transform: translateX(3px); }

/* ── Responsive ── */
@media (max-width: 1100px) {
  .bc-stm-inner { grid-template-columns: 40% 60%; gap: 44px; }
}

@media (max-width: 900px) {
  .bc-stm-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .bc-stm-deco-quote { font-size: 7.5rem; }
  .bc-stm-title { font-size: 1.9rem !important; }
  .bc-stm-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 540px) {
  .bc-stm-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .bc-stm-card { padding: 16px 16px 14px; }
  .bc-stm-title { font-size: 1.65rem !important; }
  .bc-stm-glow-l { width: 220px; height: 220px; }
  .bc-stm-glow-r { display: none; }
}

/* ──────────────────────────────────────────────
   11. FEATURED VENDORS
   ────────────────────────────────────────────── */
.bc-vendors-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.bc-vendor-card {
  background: var(--bg-primary);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-lg);
  padding: 24px;
  transition: all var(--t);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.bc-vendor-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--saffron), var(--gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t);
}

.bc-vendor-card:hover {
  box-shadow: var(--shadow-lg);
  border-color: rgba(255,153,51,0.2);
  transform: translateY(-4px);
}

.bc-vendor-card:hover::before {
  transform: scaleX(1);
}

.bc-vendor-card-top {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}

.bc-vendor-logo {
  width: 60px;
  height: 60px;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  flex-shrink: 0;
  border: 2px solid var(--border-warm);
}

.bc-vendor-logo.v-1 { background: linear-gradient(135deg, #FFF3E6, #FFE0B2); }
.bc-vendor-logo.v-2 { background: linear-gradient(135deg, #E8E8F5, #C5C5E8); }
.bc-vendor-logo.v-3 { background: linear-gradient(135deg, #EAF5EA, #C5E8C5); }
.bc-vendor-logo.v-4 { background: linear-gradient(135deg, #FFF9E6, #FFEDB2); }
.bc-vendor-logo.v-5 { background: linear-gradient(135deg, #F5E6FF, #E0B2FF); }
.bc-vendor-logo.v-6 { background: linear-gradient(135deg, #FFE6E6, #FFB2B2); }

.bc-vendor-info { flex: 1; }

.bc-vendor-name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.bc-vendor-location {
  font-size: 0.8125rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
}

.bc-vendor-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--green);
  background: var(--green-pale);
  padding: 3px 8px;
  border-radius: var(--r-full);
}

.bc-vendor-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}

.bc-vendor-cat-tag {
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: var(--r-full);
  background: var(--bg-cream);
  color: var(--text-secondary);
  border: 1px solid var(--border-warm);
}

.bc-vendor-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--border-light);
}

.bc-vendor-stat {
  text-align: center;
}

.bc-vendor-stat-val {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-primary);
  font-family: var(--font-display);
  line-height: 1;
  margin-bottom: 3px;
}

.bc-vendor-stat-key {
  font-size: 0.6875rem;
  color: var(--text-muted);
}

/* ──────────────────────────────────────────────
   12. TRENDING PRODUCTS
   ────────────────────────────────────────────── */
.bc-product-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}

.bc-product-tab {
  padding: 8px 18px;
  border-radius: var(--r-full);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-muted);
  background: var(--bg-cream);
  border: 1.5px solid var(--border-warm);
  cursor: pointer;
  transition: all var(--t-fast);
}

.bc-product-tab:hover,
.bc-product-tab.active {
  background: var(--saffron);
  color: white;
  border-color: var(--saffron);
  box-shadow: var(--shadow-saffron);
}

.bc-products-carousel {
  position: relative;
  padding: 0 46px 42px;
}

.bc-products-carousel-viewport {
  overflow: hidden;
  border-radius: calc(var(--r-lg) + 2px);
}

.bc-products-grid {
  --product-slide-width: calc((100% - 60px) / 4);
  display: flex;
  gap: 20px;
  transition: transform 0.45s var(--ease);
  will-change: transform;
}

.bc-product-card {
  background: var(--bg-primary);
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1.5px solid var(--border-light);
  transition: all var(--t);
  position: relative;
  flex: 0 0 var(--product-slide-width);
  min-width: 0;
}

.bc-product-card:hover {
  box-shadow: var(--shadow-lg);
  border-color: rgba(255,153,51,0.2);
  transform: translateY(-4px);
}

.bc-product-img-wrap {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}

.bc-product-img {
  width: 100%;
  height: 100%;
  transition: transform var(--t-slow);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.bc-product-card:hover .bc-product-img {
  transform: scale(1.05);
}

.bc-product-img-icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: none;
}

/* Product image gradient backgrounds — serve as neutral loading state */
.bc-prod-bg-1  { background: #C9A078; }
.bc-prod-bg-2  { background: #8BA8B8; }
.bc-prod-bg-3  { background: #8A7A9C; }
.bc-prod-bg-4  { background: #A87860; }
.bc-prod-bg-5  { background: #9E8888; }
.bc-prod-bg-6  { background: #A8906A; }
.bc-prod-bg-7  { background: #8A9E88; }
.bc-prod-bg-8  { background: #B88A8A; }

.bc-product-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 10px;
  border-radius: var(--r-full);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.bc-product-badge-new { background: var(--navy); color: white; }
.bc-product-badge-sale { background: #E53E3E; color: white; }
.bc-product-badge-hot { background: var(--saffron); color: white; }

.bc-product-actions {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  opacity: 0;
  transform: translateX(12px);
  transition: all var(--t);
}

.bc-product-card:hover .bc-product-actions {
  opacity: 1;
  transform: translateX(0);
}

.bc-product-action-btn {
  width: 34px;
  height: 34px;
  border-radius: var(--r-sm);
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9375rem;
  color: var(--text-secondary);
  box-shadow: var(--shadow-sm);
  transition: all var(--t-fast);
  border: none;
  cursor: pointer;
}

.bc-product-action-btn:hover {
  background: var(--saffron);
  color: white;
  transform: scale(1.1);
}

.bc-product-action-btn.wishlist-active {
  background: var(--saffron);
  color: white;
}

.bc-product-body {
  padding: 14px 16px 16px;
}

.bc-product-artisan {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.bc-product-artisan-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  flex-shrink: 0;
}

.bc-product-artisan-name {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.bc-product-title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bc-product-title:hover { color: var(--saffron-dark); }

.bc-product-state {
  font-size: 0.6875rem;
  color: var(--text-light);
  display: flex;
  align-items: center;
  gap: 3px;
  margin-bottom: 8px;
}

.bc-product-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}

.bc-product-rating-val {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.bc-product-rating-count {
  font-size: 0.6875rem;
  color: var(--text-muted);
}

.bc-product-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.bc-product-price {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text-primary);
  font-family: var(--font-display);
}

.bc-product-price-original {
  font-size: 0.875rem;
  color: var(--text-muted);
  text-decoration: line-through;
  font-weight: 400;
}

.bc-product-price-off {
  font-size: 0.75rem;
  font-weight: 600;
  color: #E53E3E;
}

.bc-product-add-btn {
  width: 34px;
  height: 34px;
  border-radius: var(--r-sm);
  background: var(--saffron);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9375rem;
  transition: all var(--t-fast);
  flex-shrink: 0;
}

.bc-product-add-btn:hover {
  background: var(--saffron-dark);
  transform: scale(1.1);
}

.bc-product-carousel-btn {
  position: absolute;
  top: 42%;
  z-index: 3;
  width: 44px;
  height: 44px;
  border: 1.5px solid rgba(255,153,51,0.24);
  border-radius: 50%;
  background: rgba(255,255,255,0.94);
  color: var(--navy);
  box-shadow: var(--shadow-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--t-fast);
}

.bc-product-carousel-btn:hover {
  background: var(--saffron);
  color: white;
  border-color: var(--saffron);
  box-shadow: var(--shadow-saffron);
  transform: translateY(-2px);
}

.bc-product-carousel-btn:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.bc-product-carousel-prev { left: 0; }
.bc-product-carousel-next { right: 0; }

.bc-product-carousel-pagination {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.bc-product-carousel-pagination button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: var(--r-full);
  background: rgba(26,26,26,0.18);
  cursor: pointer;
  transition: all var(--t-fast);
}

.bc-product-carousel-pagination button.active {
  width: 26px;
  background: var(--saffron);
  box-shadow: 0 4px 12px rgba(255,153,51,0.35);
}

/* ──────────────────────────────────────────────
   13. FESTIVAL COLLECTION
   ────────────────────────────────────────────── */
.bc-festivals-bg {
  background: linear-gradient(160deg, var(--bg-cream) 0%, var(--warm-white) 100%);
}

.bc-festival-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.bc-festival-card {
  border-radius: var(--r-xl);
  overflow: hidden;
  position: relative;
  aspect-ratio: 3/4;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  cursor: pointer;
  transition: transform var(--t), box-shadow var(--t);
  text-decoration: none;
}

.bc-festival-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-xl);
}

.bc-festival-card:hover .bc-festival-bg {
  transform: scale(1.05);
}

.bc-festival-bg {
  position: absolute;
  inset: 0;
  transition: transform var(--t-slow);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bc-festival-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
}

.bc-festival-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 2.5rem;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.3));
  animation: gentleFloat 4s ease-in-out infinite;
}

@keyframes gentleFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}

.bc-festival-content {
  position: relative;
  z-index: 2;
  padding: 20px;
}

.bc-festival-tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--r-full);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.bc-festival-name {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: white;
  line-height: 1.2;
  margin-bottom: 4px;
}

.bc-festival-desc {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.75);
  margin-bottom: 14px;
}

.bc-festival-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: white;
  padding: 8px 16px;
  border: 1.5px solid rgba(255,255,255,0.5);
  border-radius: var(--r-full);
  transition: all var(--t-fast);
}

.bc-festival-cta:hover {
  background: rgba(255,255,255,0.2);
  border-color: white;
}

/* Festival photo backgrounds — gradient kept as graceful fallback */
.bc-fest-1 .bc-festival-bg {
  background: url('https://img.magnific.com/premium-photo/cute-diwali-decoration-pattern_998359-290.jpg?w=740') center/cover no-repeat,
              linear-gradient(145deg, #C9780A, #7A3D00, #4A2200);
}
.bc-fest-2 .bc-festival-bg {
  background: url('https://img.magnific.com/premium-photo/raksha-bandhan-celebration-brother-sister-tying-rakhi_1038403-980.jpg?w=740') center/cover no-repeat,
              linear-gradient(145deg, #E83040, #8B0020, #5C0010);
}
.bc-fest-3 .bc-festival-bg {
  background: url('https://images.unsplash.com/photo-1519741497674-611481863552?w=800&q=80&fit=crop') center/cover no-repeat,
              linear-gradient(145deg, #A020A0, #600060, #380038);
}
.bc-fest-4 .bc-festival-bg {
  background: url('https://img.magnific.com/free-photo/unrecognizable-businessman-holding-brown-gift-box_1262-18123.jpg?t=st=1781167177~exp=1781170777~hmac=36420df760b549c49c03a20c78d5a9af8b0191bdcffc341a05be5b452e654e96&w=740') center/cover no-repeat,
              linear-gradient(145deg, #1A3A8E, #0A1A6E, #040A40);
}

/* ──────────────────────────────────────────────
   14. WHY BHARATCRAFT
   ────────────────────────────────────────────── */
.bc-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bc-why-card {
  background: var(--bg-primary);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-lg);
  padding: 28px 24px;
  transition: all var(--t);
  position: relative;
  overflow: hidden;
}

.bc-why-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--saffron), var(--gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t);
}

.bc-why-card:hover {
  box-shadow: var(--shadow-md);
  border-color: rgba(255,153,51,0.2);
  transform: translateY(-3px);
}

.bc-why-card:hover::after {
  transform: scaleX(1);
}

.bc-why-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 16px;
  transition: transform var(--t);
}

.bc-why-card:hover .bc-why-icon-wrap {
  transform: scale(1.1) rotate(-5deg);
}

.bc-why-icon-wrap.saffron { background: var(--saffron-pale); color: var(--saffron-dark); }
.bc-why-icon-wrap.navy    { background: var(--navy-pale);    color: var(--navy); }
.bc-why-icon-wrap.green   { background: var(--green-pale);   color: var(--green); }
.bc-why-icon-wrap.gold    { background: var(--gold-pale);    color: var(--gold-dark); }

.bc-why-title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.bc-why-desc {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.6;
}

/* ──────────────────────────────────────────────
   15. INFLUENCER SECTION
   ────────────────────────────────────────────── */
.bc-influencer-bg {
  background: linear-gradient(135deg, #FFF8EE 0%, #FFF3E6 50%, #FFFBF5 100%);
  position: relative;
  overflow: hidden;
}

.bc-influencer-bg::before {
  content: '✦';
  position: absolute;
  font-size: 12rem;
  color: rgba(255,153,51,0.05);
  top: -30px;
  right: -30px;
  pointer-events: none;
}

.bc-influencer-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.bc-influencer-visual {
  position: relative;
}

.bc-influencer-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.bc-inf-card {
  background: white;
  border-radius: var(--r-lg);
  padding: 18px;
  box-shadow: var(--shadow-card);
  border: 1.5px solid var(--border-warm);
  transition: all var(--t);
}

.bc-inf-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.bc-inf-card.featured {
  grid-column: span 2;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
  border-color: transparent;
}

.bc-inf-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 12px;
}

.bc-inf-card.featured .bc-inf-avatar {
  background: rgba(255,153,51,0.2);
}

.bc-inf-name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.bc-inf-card.featured .bc-inf-name { color: white; }

.bc-inf-niche {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.bc-inf-card.featured .bc-inf-niche { color: rgba(255,255,255,0.65); }

.bc-inf-reach {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--saffron-dark);
  display: flex;
  align-items: center;
  gap: 4px;
}

.bc-inf-card.featured .bc-inf-reach { color: var(--saffron-light); }

.bc-influencer-content .bc-section-label { color: var(--saffron-dark); }

.bc-influencer-perks {
  margin: 24px 0 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.bc-influencer-perk {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.bc-influencer-perk-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--r-sm);
  background: var(--saffron-pale);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--saffron-dark);
  font-size: 0.9375rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.bc-influencer-perk-text h6 {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 3px;
}

.bc-influencer-perk-text p {
  font-size: 0.8125rem;
  color: var(--text-muted);
  line-height: 1.5;
}

/* ──────────────────────────────────────────────
   16. VENDOR REGISTRATION CTA
   ────────────────────────────────────────────── */
.bc-vendor-cta-section {
  background: linear-gradient(135deg, var(--saffron) 0%, #E87722 40%, #C25010 100%);
  position: relative;
  overflow: hidden;
}

.bc-vendor-cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1.5' fill='white' opacity='0.1'/%3E%3C/svg%3E") repeat;
}

.bc-vendor-cta-section::after {
  content: '';
  position: absolute;
  right: -80px;
  top: -80px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
}

.bc-vendor-cta-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}

.bc-vendor-cta-inner .bc-section-label { color: rgba(255,255,255,0.8); }

.bc-vendor-cta-inner .bc-section-title {
  color: white;
  font-size: clamp(1.625rem, 3vw, 2.25rem);
}

.bc-vendor-cta-inner .bc-section-desc { color: rgba(255,255,255,0.8); }

.bc-vendor-cta-steps {
  display: flex;
  gap: 28px;
  margin-top: 28px;
}

.bc-vendor-cta-step {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.9);
  font-weight: 500;
}

.bc-vendor-cta-step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

.bc-vendor-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}

.bc-btn-white {
  background: white;
  color: var(--saffron-dark);
  padding: 14px 32px;
  border-radius: var(--r-full);
  font-weight: 700;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all var(--t);
  white-space: nowrap;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

.bc-btn-white:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);
  color: var(--saffron-dark);
}

.bc-vendor-cta-note {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.7);
  text-align: center;
}

/* ──────────────────────────────────────────────
   17. CUSTOMER REVIEWS
   ────────────────────────────────────────────── */
.bc-reviews-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.bc-review-card {
  background: var(--bg-primary);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-lg);
  padding: 24px;
  position: relative;
  transition: all var(--t);
}

.bc-review-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: rgba(255,153,51,0.2);
}

.bc-review-card::before {
  content: '\201C';
  position: absolute;
  top: 16px;
  right: 20px;
  font-family: var(--font-display);
  font-size: 4rem;
  color: rgba(255,153,51,0.12);
  line-height: 1;
}

.bc-review-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}

.bc-reviewer-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

.bc-reviewer-name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 3px;
}

.bc-reviewer-city {
  font-size: 0.75rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}

.bc-review-product {
  font-size: 0.75rem;
  color: var(--saffron-dark);
  font-weight: 500;
  margin-top: 4px;
}

.bc-review-text {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  font-style: italic;
}

.bc-review-date {
  font-size: 0.6875rem;
  color: var(--text-light);
  margin-top: 12px;
}

.bc-review-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.6875rem;
  color: var(--green);
  font-weight: 600;
  margin-top: 4px;
}

.bc-review-carousel {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 58px 8px;
  overflow: visible;
}

.bc-review-viewport {
  overflow: hidden;
  border-radius: calc(var(--r-lg) + 2px);
  padding: 2px;
  margin: -2px;
}

.bc-review-track {
  display: flex;
  gap: 20px;
  transition: transform 0.45s var(--ease);
  will-change: transform;
}

.bc-review-track > .bc-review-card {
  flex: 0 0 calc((100% - 20px) / 2);
  max-width: calc((100% - 20px) / 2);
  min-height: 304px;
  display: flex;
  flex-direction: column;
  opacity: 1;
  transform: none;
}

.bc-review-track > .bc-review-card .bc-review-text {
  flex: 1;
}

.bc-review-track > .bc-review-card:hover {
  transform: translateY(-3px);
}

.bc-review-slide {
  flex: 0 0 100%;
  max-width: 100%;
}

.bc-review-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
}

.bc-review-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 12px 34px rgba(74,55,40,0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
  border: 1px solid rgba(26,10,0,0.08);
  transition: transform var(--t), background var(--t), box-shadow var(--t);
  cursor: pointer;
}

.bc-review-control:hover,
.bc-review-control:focus-visible {
  transform: translateY(-50%) scale(1.05);
  background: var(--bg-primary);
  box-shadow: var(--shadow-md);
  color: var(--saffron-dark);
}

.bc-review-control:focus-visible {
  outline: 3px solid rgba(255,153,51,0.24);
  outline-offset: 3px;
}

.bc-review-prev {
  left: 0;
}

.bc-review-next {
  right: 0;
}

.bc-review-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.bc-review-pagination button {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(26,10,0,0.15);
  background: rgba(255,255,255,0.7);
  cursor: pointer;
  transition: width var(--t), background var(--t), border-color var(--t), transform var(--t);
}

.bc-review-pagination button.active {
  width: 28px;
  background: var(--saffron);
  border-color: var(--saffron);
  box-shadow: 0 8px 20px rgba(255,153,51,0.24);
}

.bc-review-pagination button:focus-visible {
  outline: 3px solid rgba(255,153,51,0.22);
  outline-offset: 3px;
}

@media (max-width: 880px) {
  .bc-review-carousel {
    padding: 0 46px 8px;
  }

  .bc-review-control {
    width: 38px;
    height: 38px;
  }

  .bc-review-prev {
    left: 8px;
  }

  .bc-review-next {
    right: 8px;
  }
}

@media (max-width: 768px) {
  .bc-review-carousel {
    padding: 0 0 58px;
  }

  .bc-review-track > .bc-review-card {
    flex-basis: 100%;
    max-width: 100%;
    min-height: 330px;
  }

  .bc-review-control {
    top: auto;
    bottom: 0;
    transform: none;
  }

  .bc-review-control:hover,
  .bc-review-control:focus-visible {
    transform: scale(1.05);
  }

  .bc-review-prev {
    left: calc(50% - 88px);
  }

  .bc-review-next {
    right: calc(50% - 88px);
  }

  .bc-review-footer {
    margin-top: 18px;
  }
}

/* ──────────────────────────────────────────────
   18. INDIA MAP / REGIONAL CRAFTS
   ────────────────────────────────────────────── */
.bc-india-map-bg {
  background: linear-gradient(160deg, var(--bg-warm) 0%, var(--bg-cream) 100%);
}

.bc-regions-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 16px;
  align-items: start;
}

.bc-region-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.bc-region-col.center {
  gap: 14px;
}

.bc-region-card {
  background: var(--bg-primary);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-md);
  padding: 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  transition: all var(--t-fast);
  text-decoration: none;
  color: inherit;
}

.bc-region-card:hover {
  box-shadow: var(--shadow-sm);
  border-color: rgba(255,153,51,0.25);
  transform: translateX(3px);
}

.bc-region-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.bc-region-state {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 3px;
}

.bc-region-craft {
  font-size: 0.75rem;
  color: var(--saffron-dark);
  font-weight: 500;
  margin-bottom: 4px;
}

.bc-region-count {
  font-size: 0.6875rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 3px;
}

/* Center India visual */
.bc-india-map-visual {
  background: linear-gradient(145deg, var(--navy) 0%, var(--navy-dark) 100%);
  border-radius: var(--r-xl);
  padding: 28px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.bc-india-map-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255,153,51,0.15) 0%, transparent 70%);
}

.bc-india-map-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: white;
  margin-bottom: 6px;
  position: relative;
}

.bc-india-map-subtitle {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.65);
  margin-bottom: 20px;
  position: relative;
}

.bc-india-svg-wrap {
  position: relative;
  display: inline-block;
}

.bc-india-svg-wrap svg {
  width: 220px;
  height: auto;
  filter: drop-shadow(0 4px 24px rgba(255,153,51,0.3));
}

.bc-india-map-states-count {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 24px;
  position: relative;
}

.bc-india-map-stat {
  text-align: center;
}

.bc-india-map-stat-val {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--saffron-light);
  line-height: 1;
}

.bc-india-map-stat-lbl {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.6);
  margin-top: 3px;
}

/* ──────────────────────────────────────────────
   19. MOBILE APP SECTION
   ────────────────────────────────────────────── */
.bc-app-section {
  background: var(--bg-cream);
  position: relative;
  overflow: hidden;
}

.bc-app-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.bc-app-content .bc-section-label { color: var(--saffron-dark); }

.bc-app-features {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 28px 0 32px;
}

.bc-app-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.9375rem;
  color: var(--text-secondary);
}

.bc-app-feature i {
  color: var(--green);
  font-size: 1rem;
  width: 20px;
  text-align: center;
}

.bc-app-download-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.bc-app-store-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  border-radius: var(--r-md);
  background: var(--navy);
  color: white;
  transition: all var(--t);
  border: 1.5px solid var(--navy);
}

.bc-app-store-btn:hover {
  background: var(--navy-light);
  color: white;
  transform: translateY(-2px);
  box-shadow: var(--shadow-navy);
}

.bc-app-store-btn i {
  font-size: 1.5rem;
}

.bc-app-store-btn-label {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.bc-app-store-btn-label small {
  font-size: 0.6875rem;
  opacity: 0.8;
}

.bc-app-store-btn-label span {
  font-size: 0.9375rem;
  font-weight: 600;
}

/* App mockup */
.bc-app-visual {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;
}

.bc-phone-mockup {
  width: 160px;
  background: var(--text-primary);
  border-radius: 28px;
  padding: 8px;
  box-shadow: var(--shadow-xl);
  transition: transform var(--t);
}

.bc-phone-mockup:hover { transform: translateY(-8px); }

.bc-phone-mockup.main { width: 185px; }

.bc-phone-screen {
  background: linear-gradient(145deg, var(--navy) 0%, var(--navy-light) 100%);
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 9/19;
  display: flex;
  flex-direction: column;
}

.bc-phone-status-bar {
  height: 20px;
  background: rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 10px;
  gap: 6px;
}

.bc-phone-status-bar span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,0.6);
}

.bc-phone-content {
  flex: 1;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bc-phone-brand {
  font-family: var(--font-brand);
  font-size: 0.75rem;
  color: var(--saffron-light);
  letter-spacing: 0.05em;
  font-weight: 600;
}

.bc-phone-search-bar {
  height: 26px;
  background: rgba(255,255,255,0.1);
  border-radius: 13px;
}

.bc-phone-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  flex: 1;
}

.bc-phone-product-item {
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.bc-phone-product-item:nth-child(1) { background: linear-gradient(135deg, #C65A1A, #8B3A0A); }
.bc-phone-product-item:nth-child(2) { background: linear-gradient(135deg, #C9A44A, #A07A20); }
.bc-phone-product-item:nth-child(3) { background: linear-gradient(135deg, #5C2A80, #3A1A5C); }
.bc-phone-product-item:nth-child(4) { background: linear-gradient(135deg, #2A6E2A, #1A4228); }

/* ──────────────────────────────────────────────
   20. NEWSLETTER
   ────────────────────────────────────────────── */
.bc-newsletter-section {
  background: linear-gradient(145deg, var(--navy) 0%, var(--navy-light) 40%, var(--navy-dark) 100%);
  position: relative;
  overflow: hidden;
}

.bc-newsletter-section::before {
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255,153,51,0.12) 0%, transparent 70%);
  pointer-events: none;
}

.bc-newsletter-section::after {
  content: '';
  position: absolute;
  bottom: -100px;
  right: -50px;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(201,164,74,0.10) 0%, transparent 70%);
  pointer-events: none;
}

.bc-newsletter-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.bc-newsletter-inner .bc-section-label { color: var(--saffron-light); justify-content: center; }
.bc-newsletter-inner .bc-section-title { color: white; }
.bc-newsletter-inner .bc-section-desc { color: rgba(255,255,255,0.7); margin: 0 auto 32px; }

.bc-newsletter-form {
  display: flex;
  gap: 0;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--r-full);
  padding: 5px;
  backdrop-filter: blur(10px);
  max-width: 480px;
  margin: 0 auto 20px;
}

.bc-newsletter-input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0 20px;
  color: white;
  font-size: 0.9375rem;
  height: 46px;
}

.bc-newsletter-input::placeholder { color: rgba(255,255,255,0.5); }

.bc-newsletter-submit {
  background: var(--saffron);
  color: white;
  padding: 0 24px;
  border-radius: var(--r-full);
  font-weight: 600;
  font-size: 0.9375rem;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  height: 46px;
  transition: all var(--t-fast);
  white-space: nowrap;
}

.bc-newsletter-submit:hover { background: var(--saffron-dark); }

.bc-newsletter-perks {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.bc-newsletter-perk {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.65);
}

.bc-newsletter-perk i { color: var(--green-light); font-size: 0.75rem; }

/* ──────────────────────────────────────────────
   21. FOOTER
   ────────────────────────────────────────────── */
.bc-footer {
  background: var(--bg-dark);
  color: rgba(255,255,255,0.7);
}

.bc-footer-top {
  padding: 64px 0 40px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.bc-footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;
  gap: 40px;
}

.bc-footer-brand .bc-logo-name { color: var(--gold-light); }
.bc-footer-brand .bc-logo-tagline { color: rgba(255,153,51,0.7); }

.bc-footer-about {
  font-size: 0.875rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.55);
  margin: 16px 0 20px;
}

.bc-footer-social {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.bc-social-btn {
  width: 36px;
  height: 36px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  transition: all var(--t-fast);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.7);
}

.bc-social-btn:hover { background: var(--saffron); border-color: var(--saffron); color: white; }

.bc-footer-col-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: white;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 10px;
  position: relative;
}

.bc-footer-col-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 2px;
  background: var(--saffron);
  border-radius: 2px;
}

.bc-footer-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bc-footer-links a {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.55);
  transition: color var(--t-fast);
  display: flex;
  align-items: center;
  gap: 6px;
}

.bc-footer-links a:hover { color: var(--saffron-light); }

.bc-footer-links a i {
  font-size: 0.625rem;
  color: rgba(255,153,51,0.4);
}

/* Footer Bottom */
.bc-footer-bottom {
  padding: 20px 0;
}

.bc-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.bc-footer-copyright {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.45);
}

.bc-footer-copyright a {
  color: var(--saffron-light);
  font-weight: 500;
}

.bc-footer-payments {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bc-payment-badge {
  height: 24px;
  padding: 0 8px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-xs);
  display: flex;
  align-items: center;
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.03em;
}

.bc-footer-legal {
  display: flex;
  gap: 16px;
}

.bc-footer-legal a {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.4);
  transition: color var(--t-fast);
}

.bc-footer-legal a:hover { color: var(--saffron-light); }

/* India Pride Bar */
.bc-india-pride-bar {
  height: 6px;
  background: linear-gradient(90deg,
    var(--saffron) 0% 33.33%,
    white 33.33% 66.66%,
    var(--green) 66.66% 100%
  );
}

/* ──────────────────────────────────────────────
   22. BACK TO TOP
   ────────────────────────────────────────────── */
.bc-back-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 44px;
  height: 44px;
  background: var(--navy);
  color: white;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  box-shadow: var(--shadow-navy);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--t);
  z-index: var(--z-sticky);
  border: none;
}

.bc-back-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.bc-back-top:hover {
  background: var(--saffron);
  box-shadow: var(--shadow-saffron);
  transform: translateY(-3px);
}

/* ──────────────────────────────────────────────
   23. SECTION DIVIDERS
   ────────────────────────────────────────────── */
.bc-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 auto 40px;
  max-width: 200px;
}

.bc-divider-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-warm), transparent);
}

.bc-divider-icon {
  color: var(--saffron);
  font-size: 0.875rem;
}

/* ──────────────────────────────────────────────
   24. ANIMATIONS & KEYFRAMES
   ────────────────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes countUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Hero entrance animations */
.bc-hero-anim-1 { animation: fadeInUp 0.7s ease forwards; animation-delay: 0.1s; opacity: 0; }
.bc-hero-anim-2 { animation: fadeInUp 0.7s ease forwards; animation-delay: 0.25s; opacity: 0; }
.bc-hero-anim-3 { animation: fadeInUp 0.7s ease forwards; animation-delay: 0.4s; opacity: 0; }
.bc-hero-anim-4 { animation: fadeInUp 0.7s ease forwards; animation-delay: 0.55s; opacity: 0; }
.bc-hero-anim-5 { animation: fadeInUp 0.7s ease forwards; animation-delay: 0.7s; opacity: 0; }
.bc-hero-anim-right { animation: fadeInRight 0.9s ease forwards; animation-delay: 0.4s; opacity: 0; }

/* ──────────────────────────────────────────────
   26. EVENTS SECTION
   ────────────────────────────────────────────── */

/* ── Section Background ── */
.bc-events-section {
  background: linear-gradient(160deg, #FBF6EE 0%, #FFFFFF 50%, #FFF3E6 100%);
  position: relative;
  overflow: hidden;
}

.bc-events-section::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(255,153,51,0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* ── Event Filter Tabs ── */
.bc-event-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}

.bc-event-tab {
  padding: 8px 18px;
  border-radius: var(--r-full);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-muted);
  background: var(--bg-cream);
  border: 1.5px solid var(--border-warm);
  cursor: pointer;
  transition: all var(--t-fast);
}

.bc-event-tab:hover,
.bc-event-tab.active {
  background: var(--navy);
  color: white;
  border-color: var(--navy);
  box-shadow: var(--shadow-navy);
}

/* ── Featured Event Card ── */
.bc-event-featured {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-bottom: 28px;
  min-height: 280px;
  display: flex;
  align-items: stretch;
}

.bc-event-feat-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #000065 0%, #00008A 35%, #1A0055 65%, #0A0040 100%);
}

.bc-event-feat-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 75% 50%, rgba(255,153,51,0.18) 0%, transparent 55%),
    radial-gradient(ellipse at 20% 80%, rgba(19,136,8,0.10) 0%, transparent 50%);
  /* subtle dot pattern */
  background-image:
    radial-gradient(ellipse at 75% 50%, rgba(255,153,51,0.18) 0%, transparent 55%),
    radial-gradient(circle at 20% 80%, rgba(19,136,8,0.10) 0%, transparent 50%),
    url("data:image/svg+xml,%3Csvg width='30' height='30' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='1' fill='%23ffffff' opacity='0.04'/%3E%3C/svg%3E");
}

.bc-event-feat-body {
  position: relative;
  z-index: 1;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  padding: 44px 48px;
}

.bc-event-feat-badges {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.bc-event-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 14px;
  background: rgba(19,136,8,0.2);
  border: 1px solid rgba(19,136,8,0.4);
  border-radius: var(--r-full);
  font-size: 0.75rem;
  font-weight: 600;
  color: #5EE85E;
  letter-spacing: 0.02em;
}

.bc-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4EE84E;
  box-shadow: 0 0 6px #4EE84E;
  animation: livePulse 1.4s ease-in-out infinite;
}

@keyframes livePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.5; transform: scale(0.75); }
}

.bc-event-feat-title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 800;
  color: #FFFFFF;
  margin-bottom: 12px;
  line-height: 1.2;
}

.bc-event-feat-desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.72);
  line-height: 1.7;
  max-width: 520px;
  margin-bottom: 24px;
}

.bc-event-feat-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
}

.bc-event-meta-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.65);
  font-weight: 500;
}

.bc-event-meta-item i {
  color: var(--saffron-light);
  font-size: 0.875rem;
}

.bc-event-feat-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ── Featured Right: Countdown ── */
.bc-event-feat-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.bc-event-feat-countdown {
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--r-lg);
  padding: 24px 28px;
  text-align: center;
  min-width: 280px;
}

.bc-countdown-title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  margin-bottom: 14px;
}

.bc-countdown-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.bc-countdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 52px;
}

.bc-countdown-val {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--saffron-light);
  line-height: 1;
  display: block;
  min-width: 52px;
  text-align: center;
  background: rgba(255,153,51,0.1);
  border-radius: var(--r-sm);
  padding: 6px 4px;
  border: 1px solid rgba(255,153,51,0.2);
  transition: color 0.2s;
}

.bc-countdown-lbl {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}

.bc-countdown-sep {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 800;
  color: rgba(255,153,51,0.5);
  line-height: 1;
  margin-bottom: 18px;
  align-self: flex-start;
  margin-top: 6px;
}

/* Featured Stats bar */
.bc-event-feat-stats {
  display: flex;
  align-items: center;
  gap: 16px;
}

.bc-event-feat-stat {
  text-align: center;
}

.bc-event-feat-stat-val {
  font-family: var(--font-display);
  font-size: 1.375rem;
  font-weight: 800;
  color: white;
  display: block;
  line-height: 1;
  margin-bottom: 4px;
}

.bc-event-feat-stat-lbl {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.bc-event-feat-stat-div {
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,0.15);
}

/* ── Event Type Badges ── */
.bc-event-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: var(--r-full);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.type-exhibition { background: rgba(255,153,51,0.2); color: var(--saffron-light); border: 1px solid rgba(255,153,51,0.3); }
.type-workshop   { background: rgba(0,0,128,0.2);   color: #8080FF;               border: 1px solid rgba(0,0,128,0.3); }
.type-online     { background: rgba(19,136,8,0.2);  color: #60E060;               border: 1px solid rgba(19,136,8,0.3); }
.type-meetup     { background: rgba(201,164,74,0.2); color: var(--gold-light);    border: 1px solid rgba(201,164,74,0.3); }
.type-fair       { background: rgba(200,50,50,0.2); color: #FF8080;               border: 1px solid rgba(200,50,50,0.3); }

/* (On light cards, darker variants) */
.bc-event-card .type-exhibition { background: var(--saffron-pale); color: var(--saffron-dark); border-color: rgba(255,153,51,0.25); }
.bc-event-card .type-workshop   { background: var(--navy-pale);    color: var(--navy);          border-color: rgba(0,0,128,0.2); }
.bc-event-card .type-online     { background: var(--green-pale);   color: var(--green-dark);    border-color: rgba(19,136,8,0.2); }
.bc-event-card .type-meetup     { background: var(--gold-pale);    color: var(--gold-dark);     border-color: rgba(201,164,74,0.25); }
.bc-event-card .type-fair       { background: #FFF0F0;             color: #C02020;              border-color: rgba(200,50,50,0.2); }

/* ── Event Cards Grid ── */
.bc-events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* ── Individual Event Card ── */
.bc-event-card {
  background: var(--bg-primary);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all var(--t);
  position: relative;
}

.bc-event-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-5px);
  border-color: rgba(255,153,51,0.2);
}

/* Card head color bands */
.bc-event-card-head {
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ev-workshop   { background: linear-gradient(135deg, var(--navy-pale), #D0D0F8); }
.ev-online     { background: linear-gradient(135deg, var(--green-pale), #C8F0C8); }
.ev-exhibition { background: linear-gradient(135deg, var(--saffron-pale), #FFE8C0); }
.ev-meetup     { background: linear-gradient(135deg, var(--gold-pale), #F5E8C0); }
.ev-fair       { background: linear-gradient(135deg, #FFF0F0, #FFD8D8); }

/* Date badge */
.bc-event-date-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: white;
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-warm);
  flex-shrink: 0;
  line-height: 1;
}

.bc-ev-month {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--saffron-dark);
}

.bc-ev-day {
  font-family: var(--font-display);
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.1;
}

/* Card body */
.bc-event-card-body {
  padding: 18px 20px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.bc-event-card-icon {
  font-size: 2rem;
  margin-bottom: 10px;
  line-height: 1;
}

.bc-event-card-title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
  line-height: 1.3;
}

.bc-event-card:hover .bc-event-card-title {
  color: var(--navy);
}

.bc-event-card-desc {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 14px;
  flex: 1;
}

.bc-event-card-meta {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 16px;
}

.bc-event-card-meta span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  font-weight: 500;
}

.bc-event-card-meta span i {
  color: var(--saffron);
  font-size: 0.75rem;
  width: 14px;
  text-align: center;
}

/* Card footer */
.bc-event-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--border-light);
}

/* Slots indicator */
.bc-event-slots {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
}

.bc-slots-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--saffron);
  flex-shrink: 0;
  animation: livePulse 1.8s ease-in-out infinite;
}

.bc-slots-dot.online     { background: var(--green); box-shadow: 0 0 5px var(--green); }
.bc-slots-dot.exhibition { background: var(--saffron); }
.bc-slots-dot.meetup     { background: var(--gold); }
.bc-slots-dot.fair       { background: #C02020; }

/* Event CTA button */
.bc-event-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  background: var(--navy);
  color: white;
  border-radius: var(--r-full);
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
  transition: all var(--t-fast);
}

.bc-event-cta-btn:hover {
  background: var(--saffron);
  color: white;
  transform: translateX(2px);
}

/* ── Responsive: Events ── */
@media (max-width: 1024px) {
  .bc-event-feat-body { grid-template-columns: 1fr; gap: 28px; padding: 32px; }
  .bc-event-feat-right { flex-direction: row; justify-content: center; }
  .bc-event-feat-countdown { min-width: auto; }
  .bc-events-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .bc-events-grid { grid-template-columns: 1fr; }
  .bc-event-feat-body { padding: 24px; }
  .bc-event-feat-title { font-size: 1.5rem; }
  .bc-event-feat-right { flex-direction: column; }
  .bc-countdown-val { font-size: 1.75rem; min-width: 44px; }
  .bc-event-feat-meta { gap: 10px; }
}

/* ──────────────────────────────────────────────
   27. REAL LOGO IMAGE STYLES
   ────────────────────────────────────────────── */

/* Base logo link reset */
.bc-logo-real {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

/* Horizontal logo — desktop header */
.bc-logo-img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.bc-logo-horizontal {
  height: 52px;
  width: auto;
  max-width: 230px;
  /* The source image has a cream/off-white bg — harmonises perfectly
     with the white header background */
  border-radius: var(--r-xs);
}

/* Mobile header: slightly smaller */
.bc-logo-mobile {
  height: 40px;
  max-width: 170px;
}

/* Square logo inside drawer: compact */
.bc-logo-square-img {
  height: 56px;
  width: 56px;
  object-fit: contain;
  border-radius: var(--r-sm);
}

/* ── Footer Logo Pill ── */
.bc-footer-logo-link {
  display: inline-block;
  margin-bottom: 16px;
  text-decoration: none;
}

.bc-footer-logo-pill {
  display: inline-flex;
  align-items: center;
  background: var(--bg-cream);        /* light cream pill on the dark footer */
  border-radius: var(--r-md);
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,0.08);
  transition: all var(--t);
  box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

.bc-footer-logo-pill:hover {
  background: var(--warm-white);
  box-shadow: 0 4px 20px rgba(0,0,0,0.4);
  transform: translateY(-1px);
}

.bc-logo-footer {
  height: 44px;
  width: auto;
  max-width: 190px;
  object-fit: contain;
}

/* ── Preloader Symbol ── */
.bc-preloader-symbol {
  width: 90px;
  height: 90px;
  object-fit: contain;
  margin-bottom: 20px;
  /* symbol.png is on pure black — use screen blend to drop the black bg */
  mix-blend-mode: screen;
  filter: brightness(1.15) saturate(1.2);
  animation: symbolPulse 2s ease-in-out infinite;
}

@keyframes symbolPulse {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%       { opacity: 0.8; transform: scale(0.96); }
}

/* ── Hero Symbol Image ── */
.bc-hero-craft-main--symbol {
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bc-hero-symbol-img {
  width: 180px;
  height: 220px;
  object-fit: contain;
  /* Drop the pure-black bg of symbol.png on the dark hero */
  mix-blend-mode: screen;
  filter: brightness(1.3) saturate(1.4) drop-shadow(0 0 40px rgba(255,153,51,0.6));
  animation: heroSymbolFloat 6s ease-in-out infinite;
}

@keyframes heroSymbolFloat {
  0%, 100% { transform: translateY(0) scale(1);    filter: brightness(1.3) saturate(1.4) drop-shadow(0 0 40px rgba(255,153,51,0.6)); }
  50%       { transform: translateY(-14px) scale(1.04); filter: brightness(1.5) saturate(1.6) drop-shadow(0 0 60px rgba(255,153,51,0.8)); }
}

/* ── Responsive overrides ── */
@media (max-width: 1024px) {
  .bc-logo-horizontal { height: 44px; max-width: 190px; }
}

@media (max-width: 768px) {
  .bc-logo-horizontal { height: 38px; max-width: 160px; }
  .bc-logo-footer      { height: 38px; }
  .bc-footer-logo-pill { padding: 8px 14px; }
  .bc-hero-symbol-img  { width: 160px; height: 160px; }
  .bc-preloader-symbol { width: 70px; height: 70px; }
}


/* Tablet (≤1024px) */
@media (max-width: 1024px) {
  :root {
    --section-py: 60px;
    --section-py-lg: 72px;
    --section-py-sm: 44px;
  }

  .bc-header { display: none; }
  .bc-header-mobile { display: block; }

  .bc-hero-inner { grid-template-columns: 1fr; text-align: center; padding: 80px 0 60px; min-height: auto; }
  .bc-hero-subtitle { margin: 0 auto 32px; }
  .bc-hero-ctas { justify-content: center; }
  .bc-hero-stats { justify-content: center; }
  .bc-hero-visual { display: none; }

  .bc-categories-grid { grid-template-columns: repeat(4, 1fr); }
  .bc-artisan-inner { grid-template-columns: 1fr; gap: 40px; }
  .bc-vendors-grid { grid-template-columns: repeat(2, 1fr); }
  .bc-products-grid { --product-slide-width: calc((100% - 40px) / 3); }
  .bc-festival-grid { grid-template-columns: repeat(2, 1fr); }
  .bc-why-grid { grid-template-columns: repeat(2, 1fr); }
  .bc-influencer-inner { grid-template-columns: 1fr; gap: 40px; }
  .bc-vendor-cta-inner { grid-template-columns: 1fr; text-align: center; gap: 28px; }
  .bc-vendor-cta-steps { justify-content: center; flex-wrap: wrap; }
  .bc-reviews-grid { grid-template-columns: 1fr; }
  .bc-regions-layout { grid-template-columns: 1fr 1fr; }
  .bc-app-inner { grid-template-columns: 1fr; gap: 40px; }
  .bc-footer-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Mobile (≤768px) */
@media (max-width: 768px) {
  :root {
    --section-py: 48px;
    --section-py-lg: 56px;
    --section-py-sm: 36px;
  }

  .bc-trust-inner { gap: 12px; }
  .bc-trust-divider { display: none; }
  .bc-trust-item { min-width: 140px; }

  .bc-categories-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .bc-vendors-grid { grid-template-columns: 1fr; }
  .bc-products-carousel { padding: 0 38px 40px; }
  .bc-products-grid { --product-slide-width: calc((100% - 14px) / 2); gap: 14px; }
  .bc-product-carousel-btn { width: 38px; height: 38px; }
  .bc-festival-grid { grid-template-columns: 1fr; gap: 14px; }
  .bc-festival-card { aspect-ratio: 4/3; }
  .bc-why-grid { grid-template-columns: 1fr; }
  .bc-artisan-stats-grid { grid-template-columns: 1fr 1fr; }
  .bc-regions-layout { grid-template-columns: 1fr; }
  .bc-footer-grid { grid-template-columns: 1fr 1fr; }
  .bc-footer-grid > div:first-child { grid-column: span 2; }
  .bc-footer-bottom-inner { flex-direction: column; text-align: center; }
  .bc-app-visual { display: none; }
  .bc-vendor-cta-steps { flex-direction: column; align-items: flex-start; }
  .bc-hero-stats { gap: 16px; }
  .bc-hero-stat-divider { display: none; }
  .bc-influencer-cards-grid { grid-template-columns: 1fr; }
  .bc-inf-card.featured { grid-column: span 1; }
}

/* Small mobile (≤480px) */
@media (max-width: 480px) {
  .bc-products-carousel { padding: 0 0 38px; }
  .bc-products-grid { --product-slide-width: 100%; }
  .bc-product-carousel-btn {
    top: auto;
    bottom: 0;
  }
  .bc-product-carousel-prev { left: 0; }
  .bc-product-carousel-next { right: 0; }
  .bc-categories-grid { grid-template-columns: repeat(2, 1fr); }
  .bc-hero-title { font-size: 2rem; }
  .bc-newsletter-form { flex-direction: column; border-radius: var(--r-lg); padding: 12px; }
  .bc-newsletter-input { padding: 12px 16px; height: 46px; width: 100%; }
  .bc-newsletter-submit { width: 100%; justify-content: center; }
  .bc-footer-grid { grid-template-columns: 1fr; }
  .bc-footer-grid > div:first-child { grid-column: span 1; }
}

/* ╔══════════════════════════════════════════════════════════════
   RESPONSIVE ADDITIONS v2 — Non-conflicting
   Adds missing breakpoints without overriding existing rules.
   ══════════════════════════════════════════════════════════════╝ */

/* ── GLOBAL: prevent horizontal scroll ── */
html, body { overflow-x: hidden; }
*, *::before, *::after { min-width: 0; }

/* ── SAFE AREA (iPhone notch) ── */
@supports (padding: env(safe-area-inset-top)) {
  .bc-header-mobile { padding-top: env(safe-area-inset-top); }
  .bc-back-top { bottom: calc(24px + env(safe-area-inset-bottom)); right: calc(24px + env(safe-area-inset-right)); }
}

/* ══ DESKTOP (>1280px) ══ */
@media (min-width: 1281px) {
  .bc-header-top-inner { gap: 24px; }
}

/* ══ LARGE LAPTOP (≤1280px) ══ */
@media (max-width: 1280px) {
  /* .bc-nav-extras { display: none; } */
  .bc-btn-seller { padding: 8px 14px; font-size: 0.8125rem; }
  .bc-btn-influencer { padding: 7px 12px; font-size: 0.8125rem; }
  .bc-header-top-inner { gap: 16px; }
}

/* ══ TABLET LANDSCAPE additions (≤1024px) ══
   Note: bc-header/bc-header-mobile show/hide already handled in original CSS */
@media (max-width: 1024px) {
  /* Mobile header tweaks */
  .bc-mobile-top { padding: 10px 14px; gap: 10px; }
  .bc-logo-mobile { height: 36px; max-width: 150px; }
  .bc-mobile-search { height: 38px; }

  /* Sections */
  .bc-hero { min-height: auto; }
  .bc-hero-inner { padding: 64px 0 48px; gap: 32px; }
  .bc-event-feat-body { grid-template-columns: 1fr; gap: 24px; padding: 28px; }
  .bc-event-feat-right { flex-direction: row; justify-content: center; }
  .bc-events-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .bc-influencer-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .bc-inf-card.featured { grid-column: span 2; }
}

/* ══ ANNOUNCE BAR — single message only on mobile ══ */
@media (max-width: 900px) {
  .bc-announce-item {
    gap: 10px;
    font-size: 0.75rem;
    padding: 0 36px 0 10px;
    overflow: hidden;
  }
  .bc-announce-dot { display: none; }
  /* Show only first span text in each message */
  .bc-announce-item > span:not(:first-child) { display: none; }
  .bc-announce-close { right: 8px; }
}

/* ══ TABLET PORTRAIT (≤768px) ══ */
@media (max-width: 768px) {
  /* Section spacing */
  :root { --section-py: 48px; --section-py-lg: 56px; --section-py-sm: 36px; }

  /* Section headers */
  .bc-section-header { margin-bottom: 32px; }
  .bc-section-title { font-size: clamp(1.375rem, 5vw, 2rem); }
  .bc-section-desc { font-size: 0.9375rem; }

  /* Hero */
  .bc-hero-inner { padding: 48px 0 36px; }
  .bc-hero-title { font-size: clamp(1.75rem, 6vw, 2.5rem); }
  .bc-hero-subtitle { font-size: 0.9375rem; margin-bottom: 24px; }
  .bc-hero-ctas .bc-btn-lg { padding: 13px 24px; font-size: 0.9375rem; }
  .bc-hero-stats { gap: 12px; }
  .bc-hero-stat-value { font-size: 1.25rem; }

  /* Trust strip → 2-col grid */
  .bc-trust-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; justify-items: start; }
  .bc-trust-item { min-width: 0; flex: none; }

  /* Categories */
  .bc-categories-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .bc-cat-icon { width: 56px; height: 56px; }
  .bc-cat-name { font-size: 0.875rem; }
  .bc-cat-count { font-size: 0.6875rem; }
  .bc-cat-content { padding: 0 10px 14px; }

  /* Events */
  .bc-events-grid { grid-template-columns: 1fr; }
  .bc-event-feat-body { padding: 20px; }
  .bc-event-feat-title { font-size: 1.375rem; }
  .bc-event-feat-right { flex-direction: column; }

  /* Footer */
  .bc-footer-top { padding: 40px 0 28px; }
  .bc-footer-bottom-inner { flex-direction: column; gap: 12px; text-align: center; }
  .bc-footer-payments { justify-content: center; flex-wrap: wrap; }
  .bc-footer-legal { justify-content: center; gap: 12px; flex-wrap: wrap; }

  /* Newsletter */
  .bc-newsletter-perks { gap: 10px; }
}

/* ══ LARGE MOBILE (≤600px) ══ */
@media (max-width: 600px) {
  .bc-festival-grid { grid-template-columns: 1fr; gap: 12px; }
  .bc-festival-card { aspect-ratio: 16/9; }
  .bc-why-grid { grid-template-columns: 1fr; gap: 16px; }
  .bc-vendors-grid { grid-template-columns: 1fr; gap: 16px; }
  .bc-regions-layout { grid-template-columns: 1fr; }
  .bc-influencer-cards-grid { grid-template-columns: 1fr; }
  .bc-inf-card.featured { grid-column: span 1; }
  .bc-app-inner { grid-template-columns: 1fr; gap: 32px; text-align: center; }

  /* Newsletter form stacked */
  .bc-newsletter-form {
    flex-direction: column;
    border-radius: var(--r-lg);
    padding: 10px;
    gap: 8px;
  }
  .bc-newsletter-input { padding: 10px 16px; height: 44px; width: 100%; border-radius: var(--r-md); }
  .bc-newsletter-submit { width: 100%; justify-content: center; border-radius: var(--r-md); height: 44px; }
}

/* ══ STANDARD MOBILE (≤480px) ══ */
@media (max-width: 480px) {
  /* Spacing */
  :root { --section-py: 44px; --section-py-lg: 52px; --section-py-sm: 32px; }

  /* Container */
  .container { padding-left: 16px; padding-right: 16px; }

  /* Section headers */
  .bc-section-header { margin-bottom: 24px; }
  .bc-section-title { font-size: clamp(1.25rem, 5.5vw, 1.625rem); }
  .bc-section-desc { font-size: 0.875rem; }
  .bc-section-label { font-size: 0.6875rem; }

  /* Mobile header */
  .bc-mobile-top { padding: 8px 12px; gap: 8px; }
  .bc-logo-mobile { height: 32px; max-width: 130px; }
  .bc-mobile-actions { gap: 2px; }
  .bc-mobile-action-btn { width: 34px; height: 34px; font-size: 1rem; }
  .bc-hamburger { width: 34px; height: 34px; }
  .bc-action-badge { width: 16px; height: 16px; font-size: 0.5625rem; top: 3px; right: 3px; }

  /* Hero */
  .bc-hero-inner { padding: 36px 0 28px; }
  .bc-hero-title { font-size: 1.75rem; line-height: 1.2; }
  .bc-hero-ctas { flex-direction: column; align-items: center; width: 100%; }
  .bc-hero-ctas .bc-btn { width: 100%; max-width: 320px; justify-content: center; }
  .bc-hero-stats { gap: 8px; }
  .bc-hero-stat-value { font-size: 1.125rem; }
  .bc-hero-stat-label { font-size: 0.6875rem; }

  /* Trust strip */
  .bc-trust-icon { width: 36px; height: 36px; font-size: 0.9rem; flex-shrink: 0; }
  .bc-trust-info-title { font-size: 0.8125rem; }
  .bc-trust-info-desc { font-size: 0.6875rem; line-height: 1.4; }
  .bc-trust-item { gap: 8px; }

  /* Categories */
  .bc-categories-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .bc-category-card { aspect-ratio: 3/3.5; }
  .bc-cat-icon { width: 48px; height: 48px; margin-bottom: 8px; }
  .bc-cat-name { font-size: 0.8125rem; }

  /* Products */
  .bc-product-card-body { padding: 12px; }
  .bc-product-name { font-size: 0.875rem; }

  /* Footer */
  .bc-footer-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .bc-footer-grid > div:first-child { grid-column: span 2; }
  .bc-footer-about { font-size: 0.8125rem; }

  /* Artisan stats */
  .bc-artisan-stats-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .bc-artisan-stat-val { font-size: 1.5rem; }

  /* Preloader */
  .bc-preloader-brand { font-size: 1.5rem; }
  .bc-preloader-chakra { width: 48px; height: 48px; }

  /* Buttons */
  .bc-btn-lg { padding: 13px 22px; font-size: 0.9375rem; }

  /* Back to top */
  .bc-back-top { bottom: 16px; right: 16px; width: 40px; height: 40px; font-size: 0.875rem; }

  /* Newsletter perks */
  .bc-newsletter-perks { flex-direction: column; gap: 8px; align-items: flex-start; padding: 0 8px; }
}

/* ══ SMALL MOBILE (≤375px) ══ */
@media (max-width: 375px) {
  :root { --section-py: 36px; --section-py-lg: 44px; --section-py-sm: 28px; }

  .container { padding-left: 12px; padding-right: 12px; }

  .bc-mobile-top { padding: 6px 10px; }
  .bc-logo-mobile { height: 28px; max-width: 110px; }
  .bc-mobile-action-btn { width: 30px; height: 30px; font-size: 0.9rem; }
  .bc-hamburger { width: 30px; height: 30px; }

  .bc-hero-title { font-size: 1.5rem; }
  .bc-hero-badge { font-size: 0.6875rem; padding: 5px 12px; }

  .bc-trust-inner { grid-template-columns: 1fr; gap: 10px; }

  .bc-categories-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .bc-cat-name { font-size: 0.75rem; }
  .bc-cat-count { font-size: 0.625rem; }

  .bc-footer-grid { grid-template-columns: 1fr; }
  .bc-footer-grid > div:first-child { grid-column: span 1; }
  .bc-footer-copyright { font-size: 0.75rem; }
  .bc-payment-badge { font-size: 0.625rem; padding: 2px 6px; }

  .bc-mobile-drawer { width: 280px; }
}

/* ══ VERY SMALL (≤320px) ══ */
@media (max-width: 320px) {
  .bc-mobile-drawer { width: 100%; }
  .bc-hero-title { font-size: 1.375rem; }
  .bc-categories-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
}

/* ══ SHORT SCREENS (landscape mobile) ══ */
@media (max-height: 600px) and (max-width: 900px) {
  .bc-hero { min-height: auto; }
  .bc-hero-inner { padding: 32px 0 24px; }
}

/* ══ MOBILE SEARCH WRAPPER ══ */
.bc-mobile-search-wrap {
  padding: 0 14px 10px;
}
@media (max-width: 480px) { .bc-mobile-search-wrap { padding: 0 12px 10px; } }
@media (max-width: 375px) { .bc-mobile-search-wrap { padding: 0 10px 8px; } }

/* ══ FOOTER BOTTOM (missing styles) ══ */
.bc-footer-bottom {
  padding: 20px 0;
}
.bc-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.bc-footer-copyright {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.4);
}
.bc-footer-copyright a { color: var(--saffron-light); text-decoration: underline; }
.bc-footer-payments { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bc-payment-badge {
  padding: 3px 8px;
  border-radius: var(--r-xs);
  font-size: 0.6875rem;
  font-weight: 600;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.6);
  border: 1px solid rgba(255,255,255,0.12);
  white-space: nowrap;
}
.bc-footer-legal { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.bc-footer-legal a { font-size: 0.8125rem; color: rgba(255,255,255,0.4); transition: color var(--t-fast); }
.bc-footer-legal a:hover { color: var(--saffron-light); }
.bc-india-pride-bar { height: 4px; background: linear-gradient(90deg, var(--saffron) 33.33%, white 33.33% 66.66%, var(--green) 66.66%); }

/* ══ BACK TO TOP BUTTON ══ */
.bc-back-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: var(--navy);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  box-shadow: var(--shadow-md);
  z-index: var(--z-sticky);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--t);
  cursor: pointer;
  border: none;
}
.bc-back-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.bc-back-top:hover { background: var(--saffron); transform: translateY(-3px); }

/* ══ CORS font fix ══ */
@font-face { font-display: swap; }
/* ════════════════════════════════════════════════════════════════
   CONSCIOUS INDI — HOMEPAGE RESTRUCTURE ADDITIONS
   New section styles only. Existing rules above are untouched.
   Reuses existing design tokens (colors, fonts, radius, shadow,
   easing) so every new block matches the current visual identity.
   ════════════════════════════════════════════════════════════════ */

/* ── Additional Event Type Badges (Pop-Up / Market / Conference / Corporate / University) ── */
.type-popup       { background: rgba(255,153,51,0.2); color: var(--saffron-light); border: 1px solid rgba(255,153,51,0.3); }
.type-market      { background: rgba(19,136,8,0.2);   color: #60E060;              border: 1px solid rgba(19,136,8,0.3); }
.type-conference  { background: rgba(0,0,128,0.2);    color: #8080FF;              border: 1px solid rgba(0,0,128,0.3); }
.type-corporate   { background: rgba(201,164,74,0.2); color: var(--gold-light);    border: 1px solid rgba(201,164,74,0.3); }
.type-university  { background: rgba(200,50,50,0.2);  color: #FF8080;              border: 1px solid rgba(200,50,50,0.3); }

.bc-event-card .type-popup      { background: var(--saffron-pale); color: var(--saffron-dark); border-color: rgba(255,153,51,0.25); }
.bc-event-card .type-market     { background: var(--green-pale);   color: var(--green-dark);   border-color: rgba(19,136,8,0.2); }
.bc-event-card .type-conference { background: var(--navy-pale);    color: var(--navy);         border-color: rgba(0,0,128,0.2); }
.bc-event-card .type-corporate  { background: var(--gold-pale);    color: var(--gold-dark);     border-color: rgba(201,164,74,0.25); }
.bc-event-card .type-university { background: #FFF0F0;             color: #C02020;              border-color: rgba(200,50,50,0.2); }

.ev-popup      { background: linear-gradient(135deg, var(--saffron-pale), #FFE8C0); }
.ev-market     { background: linear-gradient(135deg, var(--green-pale), #C8F0C8); }
.ev-conference { background: linear-gradient(135deg, var(--navy-pale), #D0D0F8); }
.ev-corporate  { background: linear-gradient(135deg, var(--gold-pale), #F5E8C0); }
.ev-university { background: linear-gradient(135deg, #FFF0F0, #FFD8D8); }

.bc-slots-dot.popup      { background: var(--saffron); }
.bc-slots-dot.market     { background: var(--green); box-shadow: 0 0 5px var(--green); }
.bc-slots-dot.conference { background: var(--navy); }
.bc-slots-dot.corporate  { background: var(--gold); }
.bc-slots-dot.university { background: #C02020; }

/* ── Brand Directory Filter Tabs (alias of event tabs, navy → saffron active) ── */
.bc-brand-tab {
  padding: 8px 18px;
  border-radius: var(--r-full);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-muted);
  background: var(--bg-cream);
  border: 1.5px solid var(--border-warm);
  cursor: pointer;
  transition: all var(--t-fast);
}
.bc-brand-tab:hover,
.bc-brand-tab.active {
  background: var(--saffron);
  color: white;
  border-color: var(--saffron);
  box-shadow: var(--shadow-saffron);
}
.bc-brand-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}

/* Sustainability certification badge variants (reuse vendor-verified shape) */
.bc-vendor-verified.cert-gold  { background: var(--gold-pale); color: var(--gold-dark); }
.bc-vendor-verified.cert-navy  { background: var(--navy-pale); color: var(--navy); }
.bc-vendor-verified.cert-saffron { background: var(--saffron-pale); color: var(--saffron-dark); }

/* ── Stories That Matter — 2x2 profile card grid ── */
.bc-stories-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.bc-stories-grid .bc-artisan-profile-card { align-items: flex-start; }
.bc-story-type-tag {
  display: inline-block;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--saffron-light);
  margin-bottom: 4px;
}

/* ── Impact Dashboard (standalone section, reuses artisan-stat-card visual) ── */
.bc-impact-bg {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 40%, #1A0050 100%);
  position: relative;
  overflow: hidden;
}
.bc-impact-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1' fill='%23FF9933' opacity='0.1'/%3E%3C/svg%3E") repeat;
  pointer-events: none;
}
.bc-impact-bg .bc-section-header.centered .bc-section-label { color: var(--saffron-light); justify-content: center; }
.bc-impact-bg .bc-section-header.centered .bc-section-title { color: white; }
.bc-impact-bg .bc-section-header.centered .bc-section-desc { color: rgba(255,255,255,0.65); }

.bc-impact-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 36px;
}
.bc-impact-grid .bc-artisan-stat-card { padding: 26px 22px; text-align: center; }
.bc-impact-grid .bc-artisan-stat-num { font-size: 2.25rem; }
.bc-impact-icon {
  width: 46px;
  height: 46px;
  border-radius: var(--r-md);
  background: rgba(255,153,51,0.14);
  color: var(--saffron-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin: 0 auto 14px;
}
.bc-impact-cta { position: relative; text-align: center; }
.bc-impact-cta-note { font-size: 0.8125rem; color: rgba(255,255,255,0.45); margin-top: 12px; }

/* ── Sustainable Corporate Gifting ── */
.bc-corp-section { background: linear-gradient(160deg, var(--bg-cream) 0%, var(--warm-white) 100%); }
.bc-corp-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.bc-corp-targets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 24px 0 28px;
}
.bc-corp-tag {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  background: var(--bg-primary);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-md);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
}
.bc-corp-tag i { color: var(--saffron); font-size: 0.95rem; }
.bc-corp-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.bc-corp-card {
  position: relative;
  border-radius: var(--r-xl);
  background: linear-gradient(135deg, var(--green) 0%, var(--green-dark) 60%, #0A2E08 100%);
  padding: 36px;
  overflow: hidden;
}
.bc-corp-card::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
}
.bc-corp-card-head { position: relative; margin-bottom: 26px; }
.bc-corp-card-head h3 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: white;
  margin-bottom: 5px;
}
.bc-corp-card-head p { font-size: 0.85rem; color: rgba(255,255,255,0.65); }
.bc-corp-pkg-list { position: relative; display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.bc-corp-pkg-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  background: rgba(255,255,255,0.09);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-md);
  color: rgba(255,255,255,0.85);
  font-size: 0.85rem;
}
.bc-corp-pkg-item .pkg-ic { font-size: 1.2rem; flex-shrink: 0; }
.bc-corp-pkg-item .pkg-name { flex: 1; font-weight: 600; }
.bc-corp-pkg-item .pkg-price { color: var(--saffron-light); font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.bc-corp-card .bc-btn-white { position: relative; width: 100%; justify-content: center; color: var(--green-dark); }

/* ── Join The Conscious Community — feature grid (sits above newsletter form) ── */
.bc-community-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 36px 0 44px;
  text-align: left;
}
.bc-community-card {
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-lg);
  padding: 22px;
  transition: background var(--t);
}
.bc-community-card:hover { background: rgba(255,153,51,0.1); border-color: rgba(255,153,51,0.25); }
.bc-community-icon {
  width: 42px;
  height: 42px;
  border-radius: var(--r-sm);
  background: rgba(255,153,51,0.16);
  color: var(--saffron-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  margin-bottom: 14px;
}
.bc-community-card h6 { font-size: 0.9375rem; font-weight: 700; color: white; margin-bottom: 5px; }
.bc-community-card p { font-size: 0.8125rem; color: rgba(255,255,255,0.55); line-height: 1.55; }

/* ── Sell With Conscious Indi — dual onboarding paths ── */
.bc-sell-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.bc-sell-card {
  background: var(--bg-primary);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: all var(--t);
}
.bc-sell-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.bc-sell-head {
  position: relative;
  padding: 30px 28px 24px;
  overflow: hidden;
}
.bc-sell-head.brand   { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%); }
.bc-sell-head.artisan { background: linear-gradient(135deg, var(--saffron) 0%, var(--gold-dark) 100%); }
.bc-sell-head::before {
  content: '';
  position: absolute;
  top: -30px; right: -30px;
  width: 130px; height: 130px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
}
.bc-sell-tag {
  position: relative;
  display: inline-block;
  padding: 4px 12px;
  background: rgba(255,255,255,0.18);
  border-radius: var(--r-full);
  color: rgba(255,255,255,0.9);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.bc-sell-head h3 { position: relative; font-family: var(--font-display); font-size: 1.625rem; font-weight: 800; color: white; margin-bottom: 6px; }
.bc-sell-head p { position: relative; font-size: 0.85rem; color: rgba(255,255,255,0.75); }
.bc-sell-body { padding: 26px 28px 28px; }
.bc-sell-bens { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.bc-sell-ben { display: flex; align-items: flex-start; gap: 12px; }
.bc-sell-ben-icon {
  width: 36px; height: 36px;
  border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.9375rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.bc-sell-ben-icon.navy    { background: var(--navy-pale); color: var(--navy); }
.bc-sell-ben-icon.saffron { background: var(--saffron-pale); color: var(--saffron-dark); }
.bc-sell-ben-text h6 { font-size: 0.9375rem; font-weight: 600; color: var(--text-primary); margin-bottom: 3px; }
.bc-sell-ben-text p { font-size: 0.8125rem; color: var(--text-muted); line-height: 1.5; }

/* ── Responsive: new sections ── */
@media (max-width: 1024px) {
  .bc-corp-inner { grid-template-columns: 1fr; gap: 32px; }
  .bc-impact-grid { grid-template-columns: repeat(2, 1fr); }
  .bc-community-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .bc-stories-grid { grid-template-columns: 1fr; }
  .bc-sell-grid { grid-template-columns: 1fr; }
  .bc-corp-targets { grid-template-columns: 1fr; }
  .bc-impact-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .bc-community-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .bc-impact-grid { grid-template-columns: 1fr; }
  .bc-impact-grid .bc-artisan-stat-num { font-size: 2rem; }
}

/* ──────────────────────────────────────────────
   11. DYNAMIC UI COMPONENTS (Skeletons, Toasts)
   ────────────────────────────────────────────── */

/* Skeleton Loading */
.bc-skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #f8f8f8 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s infinite;
  border-radius: var(--r-sm);
  color: transparent !important;
  pointer-events: none;
}

.bc-skeleton * {
  visibility: hidden;
}

@keyframes skeleton-loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Custom Toasts */
#bc-toast-container {
  z-index: var(--z-modal) + 100;
}

.toast {
  border-radius: var(--r-md);
  box-shadow: var(--shadow-lg);
  font-family: var(--font-body);
}

.toast-body {
  padding: 12px 16px;
  font-weight: 500;
}

/* â”€â”€ Influencer registration modal â”€â”€ */
.bc-influencer-modal .modal-dialog { max-width: 900px; margin: 1.5rem auto; }
.bc-influencer-modal .modal-content { border: 0; border-radius: var(--r-xl); overflow: hidden; background: var(--warm-white); box-shadow: var(--shadow-xl); }
.bc-influencer-modal .modal-header { align-items: flex-start; gap: 24px; padding: 32px 38px 22px; border: 0; background: linear-gradient(125deg, #fff8ee 0%, #fff 70%, #fff3e6 100%); }
.bc-influencer-modal-eyebrow { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; color: var(--saffron-dark); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bc-influencer-modal .modal-title { margin: 0; font-family: var(--font-display); font-size: clamp(1.75rem, 3.5vw, 2.5rem); line-height: 1.1; color: var(--text-primary); }
.bc-influencer-modal-intro { max-width: 590px; margin: 10px 0 0; color: var(--text-secondary); font-size: .92rem; line-height: 1.6; }
.bc-influencer-modal-close { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid var(--border-warm); border-radius: 50%; color: var(--text-secondary); transition: background var(--t-fast), color var(--t-fast), transform var(--t-fast); }
.bc-influencer-modal-close:hover, .bc-influencer-modal-close:focus-visible { color: white; background: var(--navy); transform: rotate(90deg); }
.bc-influencer-modal .modal-body { padding: 8px 38px 34px; background: var(--warm-white); }
.bc-influencer-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.bc-influencer-field { min-width: 0; }
.bc-influencer-field-wide { grid-column: 1 / -1; }
.bc-influencer-field > label { display: block; margin: 0 0 7px; color: var(--text-primary); font-size: .82rem; font-weight: 700; }
.bc-influencer-field > label > span:not(.bc-influencer-optional), .bc-influencer-form-note span { color: var(--saffron-dark); }
.bc-influencer-optional { color: var(--text-muted); font-weight: 500; }
.bc-influencer-field input:not([type="file"]), .bc-influencer-field select, .bc-influencer-field textarea { width: 100%; border: 1px solid var(--border-warm); border-radius: var(--r-sm); background: white; color: var(--text-primary); font-size: .9rem; line-height: 1.35; transition: border-color var(--t-fast), box-shadow var(--t-fast); }
.bc-influencer-field input:not([type="file"]), .bc-influencer-field select { height: 44px; padding: 0 13px; }
.bc-influencer-field textarea { min-height: 82px; padding: 12px 13px; resize: vertical; }
.bc-influencer-field input::placeholder, .bc-influencer-field textarea::placeholder { color: var(--text-light); }
.bc-influencer-field input:focus, .bc-influencer-field select:focus, .bc-influencer-field textarea:focus { border-color: var(--saffron); box-shadow: 0 0 0 3px rgba(255,153,51,.14); }
.bc-influencer-helper { margin: 6px 0 0; color: var(--text-muted); font-size: .73rem; }
.bc-influencer-portfolio-options { display: flex; align-items: center; gap: 12px; }
.bc-influencer-portfolio-options > input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.bc-influencer-upload { display: flex; align-items: center; gap: 7px; min-width: 170px; height: 44px; padding: 0 12px; border: 1px dashed var(--saffron); border-radius: var(--r-sm); color: var(--saffron-dark); cursor: pointer; font-size: .82rem; font-weight: 700; white-space: nowrap; overflow: hidden; }
.bc-influencer-upload span { overflow: hidden; text-overflow: ellipsis; }
.bc-influencer-upload small { color: var(--text-muted); font-size: .65rem; font-weight: 500; }
.bc-influencer-upload:hover { background: var(--saffron-pale); }
.bc-influencer-or { color: var(--text-muted); font-family: var(--font-display); font-style: italic; }
.bc-influencer-portfolio-options > input[type="url"] { flex: 1; min-width: 0; }
.bc-influencer-terms { display: flex; align-items: flex-start; gap: 9px; margin-top: 22px; color: var(--text-secondary); font-size: .78rem; line-height: 1.5; cursor: pointer; }
.bc-influencer-terms input { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 2px; accent-color: var(--saffron-dark); }
.bc-influencer-terms strong { color: var(--saffron-dark); font-weight: 700; }
.bc-influencer-invalid { display: none; margin-top: 5px; color: #b3261e; font-size: .72rem; }
.bc-influencer-form.was-validated input:invalid, .bc-influencer-form.was-validated select:invalid { border-color: #b3261e; }
.bc-influencer-form.was-validated input:invalid + .bc-influencer-invalid, .bc-influencer-form.was-validated .bc-influencer-terms-error { display: block; }
.bc-influencer-form.was-validated .bc-influencer-terms:has(input:checked) + .bc-influencer-terms-error { display: none; }
.bc-influencer-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border-warm); }
.bc-influencer-form-note { margin: 0; color: var(--text-muted); font-size: .74rem; }
.bc-influencer-submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 20px; border-radius: var(--r-sm); color: white; background: var(--navy); box-shadow: var(--shadow-navy); font-size: .84rem; font-weight: 800; transition: transform var(--t-fast), background var(--t-fast), box-shadow var(--t-fast); }
.bc-influencer-submit:hover, .bc-influencer-submit:focus-visible { background: var(--navy-light); color: white; box-shadow: 0 8px 24px rgba(0,0,128,.32); transform: translateY(-2px); }
.bc-influencer-feedback { margin: 16px 0 0; padding: 10px 12px; border-left: 3px solid var(--green); border-radius: var(--r-xs); background: var(--green-pale); color: var(--green-dark); font-size: .8rem; font-weight: 600; }
.bc-influencer-modal .modal-body::-webkit-scrollbar { width: 8px; }
.bc-influencer-modal .modal-body::-webkit-scrollbar-thumb { border-radius: 8px; background: var(--border-warm); }
@media (max-width: 767px) {
  .bc-influencer-modal .modal-dialog { margin: .75rem; }
  .bc-influencer-modal .modal-content { border-radius: var(--r-lg); }
  .bc-influencer-modal .modal-header { padding: 25px 22px 18px; gap: 14px; }
  .bc-influencer-modal .modal-body { padding: 6px 22px 26px; }
  .bc-influencer-form-grid { grid-template-columns: 1fr; gap: 16px; }
  .bc-influencer-field-wide { grid-column: auto; }
  .bc-influencer-portfolio-options { align-items: stretch; flex-direction: column; gap: 9px; }
  .bc-influencer-upload { min-width: 0; }
  .bc-influencer-or { text-align: center; }
  .bc-influencer-form-footer { align-items: stretch; flex-direction: column-reverse; gap: 13px; }
  .bc-influencer-submit { width: 100%; }
}
