/* ==========================================================================
   BUSINESS SERVICES STYLESHEET (business-services.css)
   thomascherickal.github.io
   Dedicated stylesheet for all Business Service Specification pages.
   Executive, polished, professional enterprise aesthetic.
   ========================================================================== */

/* Design System Tokens for Business Services */
:root {
  --bs-bg-card: linear-gradient(160deg, #0d121c 0%, #05080e 100%);
  --bs-bg-card-hover: linear-gradient(160deg, #131a28 0%, #080c14 100%);
  --bs-bg-panel: #0a0e17;
  --bs-border: rgba(56, 189, 248, 0.22);
  --bs-border-gold: rgba(251, 191, 36, 0.35);
  --bs-card-shadow: 0 14px 40px rgba(0, 0, 0, 0.65), 0 0 24px rgba(56, 189, 248, 0.1);
  --bs-card-glow-gold: 0 14px 40px rgba(0, 0, 0, 0.65), 0 0 25px rgba(251, 191, 36, 0.15);
  --bs-text-primary: #ffffff;
  --bs-text-secondary: #e2e8f0;
  --bs-text-muted: #94a3b8;
  --bs-cyan: #38bdf8;
  --bs-cyan-dim: #0284c7;
  --bs-gold: #fbbf24;
  --bs-gold-dim: #d97706;
}

/* Container & Layout */
.business-service-container,
main#main > section.reveal {
  max-width: 960px;
  margin: 0 auto;
}

/* Polished Card Container */
.business-service-card,
section.reveal > div[style*="background:var(--bg-card)"],
section.reveal > div[style*="background: var(--bg-card)"] {
  background: var(--bs-bg-card) !important;
  border: 1px solid var(--bs-border-gold) !important;
  border-radius: 16px;
  box-shadow: var(--bs-card-glow-gold) !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease;
}

/* Enterprise Pill Badges */
.business-badge,
span[style*="WORKFORCE CURRICULUM"],
span[style*="SERVICE SPECIFICATION"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 1.15rem;
  border-radius: 999px;
  background: rgba(251, 191, 36, 0.12) !important;
  border: 1px solid rgba(251, 191, 36, 0.4) !important;
  color: var(--bs-gold) !important;
  font-family: var(--font-mono, monospace);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Executive Headings */
h1.section-title,
.business-service-card h2,
.business-service-card h3 {
  letter-spacing: -0.015em;
  font-weight: 800;
}

.business-service-card h2 {
  font-family: var(--font-display, sans-serif);
  font-size: clamp(1.25rem, 2.5vw, 1.6rem);
  margin-top: 2rem;
  margin-bottom: 1rem;
  line-height: 1.35;
}

.business-service-card h3 {
  font-family: var(--font-display, sans-serif);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  color: var(--bs-gold);
  margin-top: 2rem;
  margin-bottom: 0.85rem;
}

/* High Contrast Prose & Lists */
.business-service-card p,
.business-service-card ul,
.business-service-card ol {
  color: var(--bs-text-secondary);
  font-size: 0.95rem;
  line-height: 1.8;
}

.business-service-card ul {
  list-style: disc;
  margin-left: 1.5rem;
  margin-bottom: 1.75rem;
}

.business-service-card ol {
  margin-left: 1.5rem;
  margin-bottom: 1.75rem;
}

.business-service-card li {
  margin-bottom: 0.5rem;
}

.business-service-card strong {
  color: #ffffff;
}

/* Executive Data Tables */
.data-table-wrapper,
div[style*="overflow-x:auto"] {
  border-radius: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table.data-table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(10, 14, 23, 0.7);
  border: 1px solid var(--bs-border);
  border-radius: 10px;
  margin: 1.5rem 0 2rem 0;
}

table.data-table th {
  background: rgba(15, 23, 42, 0.9);
  color: var(--bs-gold);
  font-family: var(--font-mono, monospace);
  font-size: 0.85rem;
  font-weight: 700;
  text-align: left;
  padding: 0.9rem 1.15rem;
  border-bottom: 2px solid var(--bs-border-gold);
  letter-spacing: 0.03em;
}

table.data-table td {
  padding: 0.85rem 1.15rem;
  color: var(--bs-text-secondary);
  font-size: 0.9rem;
  line-height: 1.6;
  border-bottom: 1px solid rgba(56, 189, 248, 0.12);
}

table.data-table tr:hover td {
  background: rgba(56, 189, 248, 0.04);
}

/* Technical Code Blocks */
pre,
code {
  font-family: var(--font-mono, monospace);
}

div[style*="background:#090d14"],
div[style*="background: #090d14"] {
  background: #060910 !important;
  border: 1px solid rgba(56, 189, 248, 0.25) !important;
  border-left: 3px solid var(--bs-gold) !important;
  border-radius: 10px;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.6);
}

/* Enterprise Figures & Visuals */
.business-service-card img,
section.reveal img {
  border: 1px solid var(--bs-border-gold);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 20px rgba(251, 191, 36, 0.12);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.business-service-card img:hover,
section.reveal img:hover {
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.8), 0 0 28px rgba(251, 191, 36, 0.22);
}

/* In-Content Prose Hyperlinks (Gold) */
.business-service-card a:not(.btn),
section.reveal a:not(.btn) {
  color: var(--bs-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.business-service-card a:not(.btn):hover,
section.reveal a:not(.btn):hover {
  color: #f59e0b;
}

/* Strictly enforce no underlined text in buttons */
.business-service-card a.btn,
.business-service-card .btn,
section.reveal a.btn,
section.reveal .btn,
a.btn,
.btn {
  text-decoration: none !important;
}

.business-service-card a.btn:hover,
.business-service-card .btn:hover,
section.reveal a.btn:hover,
section.reveal .btn:hover {
  text-decoration: none !important;
}

/* ==========================================================================
   UNIFORM BUTTON FORMATTING (Per GEMINI.md Rule)
   Keeps all buttons in business service pages in the exact same format
   ========================================================================== */

/* Hero Action Buttons: Identical sizing, padding, and alignment */
section > div:has(> a.btn),
.hero-cta-group,
.service-hero-buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

/* Ensure all buttons in hero or section rows match */
section > div:has(> a.btn) > a.btn,
.hero-cta-group .btn,
.service-hero-buttons .btn {
  padding: 0.8rem 1.75rem !important;
  font-size: 0.85rem !important;
  min-height: 46px !important;
  line-height: 1.5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Bottom CTA Buttons: Unified full-width column */
.business-service-card div:has(> a.btn-lg),
.cta-btn-column,
.service-cta-buttons {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1rem !important;
}

.business-service-card div:has(> a.btn-lg) > a.btn,
.cta-btn-column .btn,
.service-cta-buttons .btn {
  width: 100% !important;
  max-width: 480px !important;
  min-height: 50px !important;
  padding: 0.9rem 2.2rem !important;
  font-size: 0.88rem !important;
  justify-content: center !important;
}
