/* ============================================
   Volta Electric Co. — Dark Theme
   Electric Yellow + Charcoal
   ============================================ */

:root {
  /* Brand colors */
  --color-primary:        #eab308;
  --color-primary-light:  #facc15;
  --color-primary-dark:   #ca8a04;
  --color-secondary:      #18181b;
  --color-secondary-light:#27272a;
  --color-accent:         #3b82f6;
  --color-accent-light:   #60a5fa;

  /* Surfaces */
  --color-bg:             #0c0c0f;
  --color-surface:        #18181b;
  --color-surface-light:  #27272a;

  /* Text */
  --color-text:           #f4f4f5;
  --color-text-secondary: #a1a1aa;
  --color-text-muted:     #71717a;

  /* Borders */
  --color-border:         rgba(255, 255, 255, 0.06);

  /* Header — dark with backdrop blur */
  --color-header-bg:              rgba(12, 12, 15, 0.75);
  --color-header-border:          rgba(255, 255, 255, 0.04);
  --color-header-scrolled-bg:     rgba(12, 12, 15, 0.95);
  --color-header-scrolled-border: rgba(255, 255, 255, 0.06);
  --shadow-header-scrolled:       0 1px 0 rgba(255, 255, 255, 0.03), 0 4px 20px rgba(0, 0, 0, 0.4);

  /* Typography */
  --font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;

  /* Spacing */
  --space-xs:  0.25rem;
  --space-sm:  0.5rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;

  /* Radius */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
  --radius-full:9999px;

  /* Shadows */
  --shadow-sm:  0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md:  0 4px 6px rgba(0, 0, 0, 0.3);
  --shadow-lg:  0 10px 25px rgba(0, 0, 0, 0.4);

  /* Container */
  --container-max: 1200px;
}


/* ---- Highlight text uses primary yellow ---- */
.highlight {
  color: var(--color-primary);
}


/* ---- Dark theme body ---- */
body {
  background: var(--color-bg);
  color: var(--color-text);
}


/* ---- Header / Nav ---- */
.header {
  background: var(--color-header-bg);
  border-bottom: 1px solid var(--color-header-border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.header.scrolled {
  background: var(--color-header-scrolled-bg);
  border-bottom-color: var(--color-header-scrolled-border);
  box-shadow: var(--shadow-header-scrolled);
}

.nav__link {
  color: var(--color-text-secondary);
}

.nav__link:hover {
  color: var(--color-text);
}


/* ---- Cards — dark theme, clean borders ---- */
.card,
.service-card,
.team-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  color: var(--color-text);
}

.card:hover,
.service-card:hover,
.team-card:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
  transform: translateY(-2px);
}

.card__title,
.service-card__title,
.team-card__name {
  color: var(--color-text);
}

.card__text,
.service-card__text,
.team-card__bio {
  color: var(--color-text-secondary);
}

.team-card__role {
  color: var(--color-primary);
}


/* ---- Section dark ---- */
.section--dark {
  background: var(--color-surface);
  color: var(--color-text);
}

.section--dark .card,
.section--dark .service-card,
.section--dark .team-card {
  background: var(--color-surface-light);
}


/* ---- Section accent (CTA) ---- */
.section--accent {
  background: var(--color-secondary);
  color: var(--color-text);
}

.section--accent .label {
  color: var(--color-primary) !important;
}


/* ---- Hero ---- */
.hero {
  background: var(--color-secondary);
}

.hero__overlay {
  background: linear-gradient(180deg, rgba(12, 12, 15, 0.7) 0%, rgba(12, 12, 15, 0.9) 100%);
}

.hero__title {
  color: var(--color-text);
}

.hero__subtitle {
  color: var(--color-text-secondary);
}


/* ---- Page banner ---- */
.page-banner {
  background: var(--color-secondary);
  color: var(--color-text);
}

.page-banner__label {
  color: var(--color-primary);
}

.page-banner__title {
  color: var(--color-text);
}

.breadcrumb a {
  color: var(--color-text-secondary);
}

.breadcrumb a:hover {
  color: var(--color-primary);
}


/* ---- Stats ---- */
.stats {
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.stat__number {
  color: var(--color-primary);
}

.stat__label {
  color: var(--color-text-secondary);
}


/* ---- Trust badges ---- */
.trust-badge__icon {
  color: var(--color-primary);
}

.trust-badge__name {
  color: var(--color-text);
}


/* ---- Buttons ---- */
.btn--primary {
  background: var(--color-primary);
  color: #18181b;
  font-weight: 700;
}

.btn--primary:hover {
  background: var(--color-primary-light);
}

.btn--outline {
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--color-text);
}

.btn--outline:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.btn--ghost {
  color: var(--color-primary);
}

.btn--ghost:hover {
  color: var(--color-primary-light);
}


/* ---- Links ---- */
a {
  color: var(--color-primary);
}

a:hover {
  color: var(--color-primary-light);
}


/* ---- Label / overline ---- */
.label {
  color: var(--color-primary);
}


/* ---- Divider ---- */
.divider {
  background: var(--color-primary);
}


/* ---- Form inputs — dark ---- */
.form-input,
.form-textarea,
.form-select {
  background: var(--color-surface-light);
  border: 1px solid var(--color-border);
  color: var(--color-text);
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(234, 179, 8, 0.15);
}

.form-input::placeholder,
.form-textarea::placeholder {
  color: var(--color-text-muted);
}

.form-label {
  color: var(--color-text-secondary);
}


/* ---- FAQ ---- */
.faq-item {
  border-color: var(--color-border);
}

.faq-item__question {
  color: var(--color-text);
}

.faq-item__question:hover {
  color: var(--color-primary);
}

.faq-item__answer {
  color: var(--color-text-secondary);
}


/* ---- Gallery ---- */
.gallery-filter {
  color: var(--color-text-secondary);
  border-color: var(--color-border);
}

.gallery-filter:hover,
.gallery-filter--active {
  color: #18181b;
  background: var(--color-primary);
  border-color: var(--color-primary);
}


/* ---- Footer — dark ---- */
.footer {
  background: #09090b;
  color: var(--color-text-secondary);
  border-top: 1px solid var(--color-border);
}

.footer a {
  color: var(--color-text-secondary);
}

.footer a:hover {
  color: var(--color-primary);
}

.footer__heading {
  color: var(--color-text);
}


/* ---- Image placeholders — dark subtle ---- */
.img-placeholder {
  background: var(--color-surface-light);
}


/* ---- Reviews stars ---- */
.testimonial__stars {
  color: var(--color-primary);
}


/* ---- Partner logos text fallback ---- */
.partner-logo__text {
  color: var(--color-text-muted);
}

.partner-logo:hover .partner-logo__text {
  color: var(--color-text);
}


/* ---- Contact info ---- */
.contact-info__icon {
  color: var(--color-primary);
}

.contact-info__label {
  color: var(--color-text-muted);
}

.contact-info__text {
  color: var(--color-text);
}

.contact-info__text a {
  color: var(--color-primary);
}


/* ---- Blog editorial ---- */
.be-featured-title a {
  color: var(--color-text);
}

.be-featured-title a:hover {
  color: var(--color-primary);
}

.be-list-title a {
  color: var(--color-text);
}

.be-list-title a:hover {
  color: var(--color-primary);
}


/* ---- Mobile nav ---- */
@media (max-width: 768px) {
  .nav {
    background: var(--color-bg);
  }

  .nav__link {
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
  }
}


/* ---- Scrollbar — dark ---- */
::-webkit-scrollbar {
  width: 8px;
}

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

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

::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-muted);
}


/* ---- Selection ---- */
::selection {
  background: var(--color-primary);
  color: #18181b;
}
