/* ============================================================
   ARO — Gemeinsame Hover- & Highlight-Effekte für Unterseiten
   Master: Landing-Page (violettes Glow beim Hover, Akzent Türkis)
   ============================================================ */

:root {
  --fx-violet:      oklch(0.45 0.18 298);
  --fx-violet-l:    oklch(0.65 0.18 298);
  --fx-violet-xl:   oklch(0.85 0.18 298);
  --fx-glow:        0 8px 32px oklch(0.35 0.22 298 / .2);
  --fx-accent:      oklch(0.74 0.19 185);
}

/* ---------- Karten / Boxen ---------- */
.card, .svc-card, .std-card, .usp__card, .uc-card, .proc-tile, .pkg,
.team-card, .cert-card, .tl-item__card, .blog-card, .hover-card,
.services-light__card, .process__step, .timeline-step {
  transition: transform .25s ease, box-shadow .25s ease,
              border-color .25s ease, background .25s ease;
}

@media (hover: hover) and (pointer: fine) {
  .card:hover, .svc-card:hover, .std-card:hover, .usp__card:hover,
  .uc-card:hover, .proc-tile:hover, .pkg:hover, .team-card:hover,
  .cert-card:hover, .tl-item__card:hover, .blog-card:hover, .hover-card:hover,
  .services-light__card:hover, .process__step:hover, .timeline-step:hover {
    border-color: var(--fx-violet) !important;
    box-shadow: var(--fx-glow);
    transform: translateY(-3px);
  }
  /* Karten mit Akzent-Oberkante: beim Hover heller violett (wie Landing) */
  .usp__card:hover { border-left-color: var(--fx-violet-l) !important; }
}

/* ---------- Kennzahlen ---------- */
.stats__num, .stats-strip__num, .stat-cell__num {
  transition: color .25s ease, text-shadow .25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .stats__grid > div:hover .stats__num,
  .stats-strip__grid > div:hover .stats-strip__num,
  .stat-cell:hover .stat-cell__num {
    color: var(--fx-violet-xl);
    text-shadow: 0 0 28px oklch(0.65 0.18 298 / .45);
  }
}

/* ---------- FAQ ---------- */
details.faq__item, .faq__item {
  transition: border-color .25s ease, background .25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .faq__item:hover { border-color: var(--fx-violet) !important; }
  .faq__item:hover > summary { color: var(--fx-accent); }
}
.faq__item[open] { border-color: var(--fx-violet) !important; }

/* Dunkle „Alles aus einer Hand"-Kacheln: violette Füllung beim Hover (nur dunkle Kacheln) */
@media (hover: hover) and (pointer: fine) {
  .hover-card--fill:hover {
    background: linear-gradient(135deg, oklch(0.18 0.08 298), oklch(0.12 0.04 298)) !important;
  }
}

/* ---------- Buttons & Links ---------- */
.btn, .btn-o, .btn-primary, .btn-outline, .pkg__cta, .aro-nav__cta {
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease,
              border-color .2s ease, color .2s ease, opacity .2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .btn-primary:hover, .pkg__cta:hover, .aro-nav__cta:hover {
    opacity: 1 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px oklch(0.74 0.19 185 / .35);
  }
  .btn-o:hover, .btn-outline:hover {
    border-color: var(--fx-accent) !important;
    background: oklch(0.74 0.19 185 / .12);
    transform: translateY(-2px);
  }
}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .card, .svc-card, .std-card, .usp__card, .uc-card, .proc-tile, .pkg,
  .team-card, .cert-card, .tl-item__card, .blog-card,
  .services-light__card, .process__step, .timeline-step,
  .btn, .btn-o, .btn-primary, .btn-outline, .pkg__cta, .aro-nav__cta {
    transition: none;
  }
  .card:hover, .svc-card:hover, .std-card:hover, .usp__card:hover,
  .uc-card:hover, .proc-tile:hover, .pkg:hover, .team-card:hover,
  .cert-card:hover, .tl-item__card:hover, .blog-card:hover,
  .services-light__card:hover, .process__step:hover, .timeline-step:hover,
  .btn-primary:hover, .pkg__cta:hover, .aro-nav__cta:hover,
  .btn-o:hover, .btn-outline:hover {
    transform: none;
  }
}
