/* Tehnician Digital — sistem vizual comun pentru toate paginile. */
:root {
  --td-violet: #b75bd9;
  --td-violet-strong: #d090e8;
  --td-mint: #65f0b5;
  --td-mint-strong: #92f7ce;
  --td-bg: #070b0a;
  --td-surface: #101715;
  --td-surface-raised: #17211e;
  --td-text: #f7faf8;
  --td-muted: #b4c1bb;
  --td-line: rgba(255, 255, 255, .14);
  --td-header: rgba(7, 11, 10, .9);
  --td-focus: #65f0b5;
  --td-shadow: 0 20px 60px rgba(0, 0, 0, .28);
  --td-radius-sm: 10px;
  --td-radius-md: 18px;
  --td-radius-lg: 28px;
  --td-space-1: .5rem;
  --td-space-2: .75rem;
  --td-space-3: 1rem;
  --td-space-4: 1.5rem;
  --td-space-5: 2rem;
  --td-space-6: 3rem;
  --td-content: 1240px;
  --bg: var(--td-bg);
  --surface: var(--td-surface);
  --surface-2: var(--td-surface-raised);
  --text: var(--td-text);
  --muted: var(--td-muted);
  --accent: var(--td-mint);
  --on-accent: #04100b;
  --brand: var(--td-violet);
  --line: var(--td-line);
  --header: var(--td-header);
}

:root[data-theme="light"] {
  --td-violet: #74258d;
  --td-violet-strong: #5f1978;
  --td-mint: #087a55;
  --td-mint-strong: #056543;
  --td-bg: #f6f3f8;
  --td-surface: #ffffff;
  --td-surface-raised: #f0ebf3;
  --td-text: #17121a;
  --td-muted: #5d5561;
  --td-line: rgba(62, 32, 71, .18);
  --td-header: rgba(246, 243, 248, .92);
  --td-focus: #74258d;
  --td-shadow: 0 18px 50px rgba(54, 25, 62, .12);
  --bg: var(--td-bg);
  --surface: var(--td-surface);
  --surface-2: var(--td-surface-raised);
  --text: var(--td-text);
  --muted: var(--td-muted);
  --accent: var(--td-mint);
  --on-accent: #ffffff;
  --brand: var(--td-violet);
  --line: var(--td-line);
  --header: var(--td-header);
}

html { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }
body { background: var(--td-bg); color: var(--td-text); text-rendering: optimizeLegibility; overflow-x: clip; }
main, section, article, figure, .sp-hero-copy { min-width: 0; }

:where(a, button, select, input, textarea) {
  -webkit-tap-highlight-color: transparent;
}
:where(a, button, select, input, textarea):focus-visible {
  outline: 3px solid var(--td-focus) !important;
  outline-offset: 3px;
}
:where(button, select, input, textarea):disabled,
:where(.button, .sp-button)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .52;
  filter: saturate(.55);
  transform: none !important;
}

/* Identitate și navigație */
.sp-header,
.site-header {
  background: var(--td-header);
  border-bottom-color: var(--td-line);
  box-shadow: 0 1px 0 rgba(183, 91, 217, .18);
}
.sp-brand img,
.brand-logo {
  filter: drop-shadow(0 0 14px rgba(183, 91, 217, .28));
}
.sp-header nav a,
.site-header nav a {
  position: relative;
  transition: color .18s ease, background-color .18s ease;
}
.sp-header nav a:hover,
.sp-header nav a[aria-current="page"],
.site-header nav a:hover,
.site-header nav a[aria-current="page"] { color: var(--td-text); }
.sp-header nav a[aria-current="page"] {
  text-decoration-color: var(--td-violet);
  text-decoration-thickness: 2px;
}
.sp-header label,
.theme-control {
  border: 1px solid var(--td-line);
  border-radius: 999px;
  padding: 4px 6px 4px 10px;
  background: var(--td-surface);
}
.sp-header select,
.theme-control select {
  min-height: 40px;
  border: 0;
  background: transparent;
  color: var(--td-text);
  cursor: pointer;
}
.sp-menu {
  border-color: rgba(183, 91, 217, .5);
  background: var(--td-surface);
}

/* Acțiuni: menta este rezervată acțiunii, violetul identității. */
.sp-button,
.button,
.sp-contact-link {
  border: 1px solid transparent;
  background: var(--td-mint);
  color: var(--on-accent);
  box-shadow: 0 10px 30px rgba(101, 240, 181, .14);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.sp-contact-link {
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--on-accent) !important;
  font-weight: 800;
  white-space: nowrap;
}
.sp-button:hover,
.button:hover,
.sp-contact-link:hover {
  background: var(--td-mint-strong);
  box-shadow: 0 14px 36px rgba(101, 240, 181, .22);
  transform: translateY(-2px);
}
.sp-text-link,
.sp-case-link,
.sp-related a,
.sp-footer a:not(.sp-brand) {
  text-decoration-color: var(--td-violet);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

/* Titluri și ritm */
.sp-kicker,
.eyebrow { color: var(--td-violet-strong); }
:root:not([data-theme="light"]) .sp-kicker,
:root:not([data-theme="light"]) .eyebrow { color: var(--td-violet-strong); }
.sp-hero h1,
.sp-process h2,
.sp-scenes h2,
.sp-facts h2,
.sp-cta h2 { text-wrap: balance; }
.sp-lead,
.sp-step p,
.sp-facts dd { max-width: 68ch; }

/* Suprafețe și imagini */
.sp-cta {
  border-color: rgba(183, 91, 217, .28);
  border-radius: var(--td-radius-lg);
  box-shadow: var(--td-shadow);
}
.sp-scene,
.sp-step,
.sp-facts,
.sp-statement { border-color: var(--td-line); }
.sp-scene figure,
.sp-hero figure {
  background: var(--td-surface);
}
.sp-scene img,
.sp-hero img,
.td-media img,
.editorial-photo img {
  filter: none !important;
}
.sp-scene img { max-height: min(72vh, 720px); object-position: center; }
.sp-hero figcaption {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--td-radius-sm);
  backdrop-filter: blur(10px);
}

/* Subsol consecvent */
.sp-footer {
  border-top: 1px solid rgba(183, 91, 217, .28);
  background: var(--td-surface);
}
.sp-footer nav a {
  border-color: var(--td-line);
  background: transparent;
}
.sp-footer nav a:hover {
  border-color: var(--td-violet);
  color: var(--td-text);
}

@media (max-width: 1100px) {
  .sp-header nav.open {
    border-color: rgba(183, 91, 217, .32);
    border-radius: var(--td-radius-md);
    box-shadow: var(--td-shadow);
  }
  .sp-header nav.open > a { min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 700px) {
  .sp-header { padding-inline: 16px; }
  .sp-hero-copy { width: 100%; max-width: 100%; padding-inline: 20px; overflow: hidden; }
  .sp-hero h1 { overflow-wrap: anywhere; }
  .sp-lead { overflow-wrap: anywhere; }
  .sp-hero figure { min-height: 300px; }
  .sp-statement,
  .sp-process,
  .sp-scenes,
  .sp-facts { padding-inline: 20px; }
  .sp-scene { min-height: 0; }
  .sp-scene figure { min-height: 260px; border-radius: var(--td-radius-md); }
  .sp-scene img { max-height: 460px; }
  .sp-actions { gap: 14px; }
  .sp-button { min-height: 48px; white-space: normal; text-align: center; }
  .sp-cta { border-radius: var(--td-radius-md); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
