/* ═══════════════════════════════════════
   AUTH & STATIC PAGES — DARK THEME OVERRIDES
   Covers: /login, /register, /forgot-password,
           /about, /contact, /privacy, /terms
   ═══════════════════════════════════════ */

/* ─── AUTH: FORM SECTION ─── */
.auth-form-section {
  background: var(--t-bg-abyss) !important;
}

.auth-form-card {
  background: var(--t-bg-card) !important;
  border: 1px solid var(--t-border) !important;
  border-radius: 0 !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4) !important;
}

.auth-form-card::before {
  background: linear-gradient(90deg, var(--t-accent), var(--t-purple)) !important;
}

.auth-form-header {
  background: var(--t-bg-card) !important;
}

.auth-form-icon {
  background: linear-gradient(135deg, var(--t-accent), var(--t-purple)) !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 12px rgba(230, 57, 70, 0.3) !important;
}

.auth-form-title {
  color: var(--t-text-hero) !important;
  font-family: var(--t-font-headline);
}

.auth-form-subtitle {
  color: var(--t-text-secondary) !important;
}

.auth-form-content {
  background: var(--t-bg-card) !important;
}

.auth-form-footer {
  background: var(--t-bg-surface) !important;
  border-top: 1px solid var(--t-border) !important;
}

.auth-form-footer-text {
  color: var(--t-text-muted) !important;
}

.auth-form-link {
  color: var(--t-accent) !important;
}

.auth-form-link:hover {
  color: var(--t-accent-bright) !important;
}

/* ─── AUTH: HERO ─── */
.auth-hero-section {
  background: linear-gradient(160deg, var(--t-bg-deep) 0%, #1a0a2e 45%, var(--t-purple) 100%) !important;
}

/* ─── AUTH: FORM INPUTS ─── */
.auth-input-label {
  color: var(--t-text-secondary) !important;
  font-family: var(--t-font-condensed);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 11px !important;
}

.auth-input {
  background: var(--t-bg-deep) !important;
  border: 1px solid var(--t-border) !important;
  border-radius: 0 !important;
  color: var(--t-text-primary) !important;
}

.auth-input:focus {
  border-color: var(--t-accent) !important;
  box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.12) !important;
  background: var(--t-bg-deep) !important;
}

.auth-input::placeholder {
  color: var(--t-text-dim) !important;
}

.auth-input-icon {
  color: var(--t-text-dim) !important;
}

.auth-input-wrapper:focus-within .auth-input-icon {
  color: var(--t-accent) !important;
}

.auth-password-toggle {
  color: var(--t-text-dim) !important;
}

.auth-password-toggle:hover {
  color: var(--t-accent) !important;
}

.auth-options-row .form-check-label {
  color: var(--t-text-secondary) !important;
}

/* Auth submit button */
.auth-submit-btn,
.auth-form-content .btn-primary {
  background: var(--t-accent) !important;
  border-color: var(--t-accent) !important;
  color: var(--t-bg-abyss) !important;
  border-radius: 0 !important;
  font-family: var(--t-font-headline);
  font-weight: 600;
  letter-spacing: 2px;
}

.auth-submit-btn:hover,
.auth-form-content .btn-primary:hover {
  background: var(--t-accent-bright) !important;
  border-color: var(--t-accent-bright) !important;
}

/* Social login buttons */
.auth-social-btn {
  background: var(--t-bg-surface) !important;
  border: 1px solid var(--t-border-mid) !important;
  color: var(--t-text-primary) !important;
  border-radius: 0 !important;
}

.auth-social-btn:hover {
  background: var(--t-bg-elevated) !important;
  border-color: var(--t-text-muted) !important;
}

/* Divider */
.auth-divider {
  color: var(--t-text-dim) !important;
}

.auth-divider::before,
.auth-divider::after {
  border-color: var(--t-border) !important;
}

/* ═══════════════════════════════════════
   STATIC PAGES — ABOUT, CONTACT, PRIVACY, TERMS
   These use embedded <style> blocks with
   hardcoded light colors. We override by
   class name with higher specificity.
   ═══════════════════════════════════════ */

/* ─── SHARED: HERO SECTIONS ─── */
/* Static page heroes already use dark gradients — keep them.
   Override only if gradient is too light. */

/* ─── SHARED: CONTENT CARDS ─── */
.service-card,
.value-card,
.team-card,
.info-card,
.policy-section,
.terms-section,
.contact-card {
  background: var(--t-bg-card) !important;
  border: 1px solid var(--t-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--t-text-primary) !important;
}

.service-card:hover,
.value-card:hover,
.team-card:hover,
.contact-card:hover {
  border-color: var(--t-border-mid) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
  transform: translateY(-2px);
}

.service-card h3,
.service-card h4,
.value-card h3,
.value-card h4,
.team-card h4,
.policy-section h2,
.policy-section h3,
.terms-section h2,
.terms-section h3,
.contact-card h3,
.contact-card h4 {
  color: var(--t-text-hero) !important;
  font-family: var(--t-font-headline);
}

.service-card p,
.value-card p,
.team-card p,
.policy-section p,
.terms-section p,
.contact-card p {
  color: var(--t-text-secondary) !important;
}

/* Icon containers on cards */
.service-card .icon,
.service-card i,
.value-card .icon,
.value-card i {
  color: var(--t-accent);
}

/* ─── ABOUT PAGE ─── */
.mission-section,
.values-section,
.team-section {
  background: var(--t-bg-abyss) !important;
}

.mission-text,
.about-description {
  color: var(--t-text-secondary) !important;
}

/* ─── CONTACT PAGE ─── */
.contact-form-section {
  background: var(--t-bg-abyss) !important;
}

/* Pro Plus alert on contact page */
.pro-plus-alert,
div[style*="background: linear-gradient(135deg, #fff3cd"] {
  background: rgba(245, 158, 11, 0.08) !important;
  border: 1px solid rgba(245, 158, 11, 0.2) !important;
  border-left: 4px solid var(--t-amber) !important;
}

div[style*="color: #856404"] {
  color: var(--t-amber) !important;
}

/* Contact form */
.contact-form .form-control,
.contact-form textarea {
  background: var(--t-bg-deep) !important;
  border: 1px solid var(--t-border) !important;
  color: var(--t-text-primary) !important;
  border-radius: 0 !important;
}

.contact-form .form-control:focus,
.contact-form textarea:focus {
  border-color: var(--t-accent) !important;
  box-shadow: 0 0 0 2px rgba(230, 57, 70, 0.15) !important;
}

/* Contact info items */
.contact-info-item {
  color: var(--t-text-secondary) !important;
}

.contact-info-item i {
  color: var(--t-accent) !important;
}

/* ─── PRIVACY / TERMS PAGES ─── */
.policy-section,
.terms-section {
  background: var(--t-bg-card) !important;
}

.policy-section ul li,
.terms-section ul li,
.policy-section ol li,
.terms-section ol li {
  color: var(--t-text-secondary) !important;
}

.policy-section a,
.terms-section a {
  color: var(--t-accent) !important;
}

/* Table of contents / sidebar nav */
.toc-nav,
.terms-nav {
  background: var(--t-bg-surface) !important;
  border: 1px solid var(--t-border) !important;
}

.toc-nav a,
.terms-nav a {
  color: var(--t-text-secondary) !important;
}

.toc-nav a:hover,
.terms-nav a:hover,
.toc-nav a.active,
.terms-nav a.active {
  color: var(--t-accent) !important;
}

/* ─── HARDCODED COLOR ATTRIBUTE OVERRIDES ─── */
[style*="color: #333"] {
  color: var(--t-text-primary) !important;
}

[style*="color: #666"] {
  color: var(--t-text-secondary) !important;
}

[style*="color: #495057"] {
  color: var(--t-text-secondary) !important;
}

[style*="color: #212529"] {
  color: var(--t-text-hero) !important;
}

[style*="background: #f8f9fa"],
[style*="background-color: #f8f9fa"],
[style*="background: #fff"],
[style*="background-color: #fff"],
[style*="background: white"] {
  background: var(--t-bg-card) !important;
}
