/**
 * ACS Networks & MAFIA INTERNET SERVICE
 * High-Contrast Accessibility & Dark Theme Typography Stylesheet
 * Eliminates 'black on black' illegibility across all subscriber and customer portals
 */

:root {
  --text-main: #f8fafc;
  --text-body: #cbd5e1;
  --text-muted: #94a3b8;
  --text-sub: #a0aec0;
  --card-bg: #111827;
  --card-border: rgba(65, 84, 241, 0.35);
  --accent-cyan: #00f0ff;
  --accent-blue: #4154f1;
}

/* 1. Global Text Contrast Overrides */
body {
  color: #f1f5f9;
}

/* Force override Bootstrap's dark-grey #6c757d */
.text-muted {
  color: #cbd5e1 !important;
}

.text-secondary {
  color: #94a3b8 !important;
}

/* Subheadings and descriptive lead paragraphs */
.page-desc,
.section-subtext,
.guide-card p,
.tip-box p,
.promo-card p,
.pkg-card p,
.policy-card p,
.terms-card p,
.zone-info,
.chat-container-card p,
.brand-sub {
  color: #cbd5e1 !important;
  line-height: 1.6;
}

/* Card titles and headings */
.section-heading,
.page-title {
  color: #ffffff;
}

/* 2. Package Cards & Pricing */
.pkg-price span {
  color: #cbd5e1 !important;
}

.pkg-meta .meta-row {
  color: #cbd5e1;
}

.pkg-meta .meta-row span {
  color: #94a3b8 !important;
  font-weight: 500;
}

.feature-list li {
  color: #e2e8f0 !important;
}

/* 3. Diagnostic Tip Boxes & Badges */
.tip-box {
  background: #0f172a !important;
  border-left: 4px solid var(--accent-cyan) !important;
}

.tip-box p {
  color: #cbd5e1 !important;
  font-size: 0.95rem;
}

/* 4. Form Controls, Labels & Crisp Placeholders */
.form-label {
  color: #e2e8f0 !important;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.form-control,
.form-select,
.input-chat-control {
  background-color: #0b1120 !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
}

.form-control:focus,
.form-select:focus,
.input-chat-control:focus {
  background-color: #050811 !important;
  border-color: var(--accent-cyan) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 0.25rem rgba(0, 240, 255, 0.25) !important;
}

.form-control::placeholder,
.input-chat-control::placeholder,
textarea::placeholder,
input::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

.form-select option {
  background-color: #0b1120 !important;
  color: #f1f5f9 !important;
}

/* Form check & radio labels */
.form-check-label {
  color: #cbd5e1 !important;
}

/* 5. Buttons & Interactive Controls */
.btn-outline-secondary {
  color: #cbd5e1 !important;
  border-color: #64748b !important;
  background-color: #1e293b !important;
}

.btn-outline-secondary:hover {
  color: #ffffff !important;
  background-color: #334155 !important;
  border-color: #94a3b8 !important;
}

.btn-outline-light {
  color: #f8fafc !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  background-color: transparent !important;
}

.btn-outline-light:hover {
  color: #0a0f1d !important;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}

/* 6. Virtual Support Assistant & Chatbot */
.chat-bubble.bot {
  background-color: #1e293b !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #f8fafc !important;
}

.chat-bubble.bot strong {
  color: #00f0ff !important;
}

.faq-pill {
  color: #f1f5f9 !important;
  background-color: #1e293b !important;
  border: 1px solid #334155 !important;
}

.faq-pill:hover {
  background-color: #0284c7 !important;
  border-color: var(--accent-cyan) !important;
  color: #ffffff !important;
}

/* 7. Summary Cards & Account Details */
.summary-card {
  background: #0f172a !important;
  border: 1px solid rgba(65, 84, 241, 0.35) !important;
}

.summary-item {
  color: #cbd5e1 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.summary-item span:first-child {
  color: #94a3b8 !important;
}

.account-row {
  background: #0f172a !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.account-label {
  color: #94a3b8 !important;
}

.clause-item {
  background: #0f172a !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.clause-body {
  color: #cbd5e1 !important;
}

.zone-meta {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.zone-meta span:first-child {
  color: #94a3b8 !important;
}

.pill-item {
  background-color: #1e293b !important;
  border: 1px solid #334155 !important;
  color: #f1f5f9 !important;
}

/* 8. High-Contrast Footer & Links */
footer {
  background: #090e1a !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #94a3b8 !important;
}

footer p {
  color: #94a3b8 !important;
}

footer strong {
  color: #f1f5f9 !important;
}

footer a,
footer small a {
  color: #cbd5e1 !important;
  text-decoration: none;
  transition: all 0.2s ease;
}

footer a:hover,
footer small a:hover {
  color: var(--accent-cyan) !important;
  text-decoration: underline !important;
}
