/*
Theme Name: Technical Content Links
Theme URI: https://technicalcontentlinks.com.au
Template: hello-elementor
Author: Technical Content Links
Description: Hello Elementor child theme carrying the Technical Content Links design system. Pages are built in Elementor Pro.
Version: 1.0.0
Text Domain: tcl-child
*/

/* ==========================================================================
   Design tokens — enter these same values into Elementor > Site Settings
   > Global Colors / Global Fonts so anything built in the editor matches.
   ========================================================================== */
:root {
  --color-ink: #12203A;
  --color-ink-soft: #1B2E4F;
  --color-paper: #F7F7F5;
  --color-paper-alt: #EEEDE8;
  --color-line: #DEE1DC;
  --color-accent: #1FB6A7;
  --color-accent-dark: #148377;
  --color-slate: #2C3444;
  --color-slate-soft: #6B7280;

  --font-display: 'Space Grotesk', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
}

body { background: var(--color-paper); color: var(--color-slate); font-family: var(--font-body); }
h1, h2, h3, h4 { font-family: var(--font-display); color: var(--color-ink); letter-spacing: -0.01em; }

/* Eyebrow label — drop class="eyebrow" on a Text widget in Elementor */
.eyebrow {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-dark);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.eyebrow::before { content: ""; width: 18px; height: 1px; background: var(--color-accent); }

/* Utility button skin — apply as an extra CSS class on Elementor Button widgets */
.btn-accent { background: var(--color-accent) !important; color: var(--color-ink) !important; }
.btn-accent:hover { background: var(--color-accent-dark) !important; color: #fff !important; }

/* Service / card style — apply as an extra CSS class on Container/Box widgets */
.tcl-card {
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: 10px;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.tcl-card:hover { border-color: var(--color-accent); transform: translateY(-3px); }

/* Stat number style — apply to a Text/Heading widget */
.tcl-stat-num {
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--color-ink);
}

/* Signature link-network graphic wrapper */
.link-network .lnk-line {
  stroke: var(--color-accent);
  stroke-width: 1.4;
  stroke-dasharray: 6 260;
  opacity: 0.55;
  animation: lnk-draw 6s linear infinite;
}
.link-network .lnk-node { fill: var(--color-ink); }
.link-network .lnk-node--accent { fill: var(--color-accent); }
.link-network .lnk-node--pulse { animation: lnk-pulse 3.2s ease-in-out infinite; transform-origin: center; }
@keyframes lnk-draw { to { stroke-dashoffset: -266; } }
@keyframes lnk-pulse { 0%, 100% { r: 5; opacity: 1; } 50% { r: 8; opacity: 0.65; } }

@media (prefers-reduced-motion: reduce) {
  .link-network .lnk-line, .link-network .lnk-node--pulse { animation: none; }
}

/* Service card styling used elsewhere in Elementor content via .tcl-card */
.tcl-service-features { padding-left: 0; list-style: none; }
.tcl-service-features li { padding-left: 1.5em; position: relative; margin-bottom: 8px; }
.tcl-service-features li::before {
  content: "✓"; position: absolute; left: 0; color: var(--color-accent-dark); font-weight: 600;
}
