/* Gemeinsame Interaktion für die lokalen FLS-Seiten.
   Die alten Seitenstile bleiben für Tastaturfokus und Auswahlzustände wirksam. */
body[class*="fls-preview-"] :is(
  button:not(.fls-pc-choice), input[type="submit"],
  a.btn[href], a.button[href], a.nav-cta[href], a.fls-contrast-primary[href],
  a.fls-banner-knopf[href], a.foto-button[href], a.film-knopf[href], a.fls-pc-button[href]
):not(:disabled,[aria-disabled="true"]) {
  --fls-hover-versatz: var(--fls-knopf-versatz,none);
  --fls-hover-licht: 1.06;
  --fls-hover-schatten: 0 14px 34px #b8141e38, 0 0 26px #b8141e2e;
}
body[class*="fls-preview-"] a.contact-btn.whatsapp {
  --fls-hover-schatten: 0 14px 34px #25d36647, 0 0 26px #25d3663d;
}

body[class*="fls-preview-"] :is(
  a.fls-contrast-card[href], a.fls-projektbild[href], a.reference-case[href], a.fls-faqbox[href],
  a.clarity-card[href], a.fls-next-card[href], a.case-mini-card[href], a.fls-inline-case[href],
  .fls-website-preview > a[href], .fls-addition-links a[href], .fls-service-overview a[href],
  a.service-entry-link[href], button.fls-pc-choice, summary
):not(:disabled,[aria-disabled="true"]) {
  --fls-hover-versatz: var(--fls-karten-versatz,none);
  --fls-hover-licht: 1.055;
  --fls-hover-schatten: 0 12px 32px #0005, 0 0 22px #d45c7717;
  --fls-hover-tempo: .4s;
  transform-origin: center;
}

body.fls-projektbanner-graphit a.fls-projektbild[href]:not(:disabled,[aria-disabled="true"]) {
  --fls-hover-licht: 1.04;
  --fls-hover-schatten: 0 12px 32px #0006;
}

/* Bei übernommenen Stilen mit wechselnder Rahmenfarbe gilt der Ruheton. */
body[class*="fls-preview-"] a.reference-case { --fls-hover-rand: #f5f5f717; }
body[class*="fls-preview-"] a.case-mini-card { --fls-hover-rand: #f5f5f71a; }
body[class*="fls-preview-"] :is(a.clarity-card,a.fls-next-card) { --fls-hover-rand: #ffffff2b; }
body[class*="fls-preview-"] a.service-entry-link { --fls-hover-rand: var(--line); }
body[class*="fls-preview-"] button.fls-pc-choice { --fls-hover-rand: var(--fls-pc-line); }
body[class*="fls-preview-"] button.fls-pc-choice[aria-pressed="true"] { --fls-hover-rand: #d33a34b8; }

body[class*="fls-preview-"] :is(
  a.reference-case, a.case-mini-card, a.clarity-card, a.fls-next-card, a.service-entry-link,
  button.fls-pc-choice
):hover:not(:focus-visible,:disabled,[aria-disabled="true"]) {
  border-color: var(--fls-hover-rand);
}

@media (hover: hover) and (pointer: fine) {
  body[class*="fls-preview-"] :is(
    button, input[type="submit"], summary,
    a.btn[href], a.button[href], a.nav-cta[href], a.fls-contrast-primary[href],
    a.fls-banner-knopf[href], a.foto-button[href], a.film-knopf[href], a.fls-pc-button[href],
    a.fls-contrast-card[href], a.fls-projektbild[href], a.reference-case[href], a.fls-faqbox[href],
    a.clarity-card[href], a.fls-next-card[href], a.case-mini-card[href], a.fls-inline-case[href],
    .fls-website-preview > a[href], .fls-addition-links a[href], .fls-service-overview a[href],
    a.service-entry-link[href]
  ):hover:not(:focus-visible,:disabled,[aria-disabled="true"]) {
    z-index: 2;
    transform: var(--fls-hover-versatz);
    filter: brightness(var(--fls-hover-licht));
    box-shadow: var(--fls-hover-schatten);
  }

  body[class*="fls-preview-"] .sprint-announcement:hover .fls-highlight-aktion {
    filter: brightness(1.1);
    text-shadow: 0 2px 9px #0004;
    transform: var(--fls-knopf-versatz,none);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body[class*="fls-preview-"] {
    --fls-knopf-versatz: translateY(-2px) scale(1.025);
    --fls-karten-versatz: scale(1.015);
  }
  body[class*="fls-preview-"] :is(
    button, input[type="submit"], summary,
    a.btn[href], a.button[href], a.nav-cta[href], a.fls-contrast-primary[href],
    a.fls-banner-knopf[href], a.foto-button[href], a.film-knopf[href], a.fls-pc-button[href],
    a.fls-contrast-card[href], a.fls-projektbild[href], a.reference-case[href], a.fls-faqbox[href],
    a.clarity-card[href], a.fls-next-card[href], a.case-mini-card[href], a.fls-inline-case[href],
    .fls-website-preview > a[href], .fls-addition-links a[href], .fls-service-overview a[href],
    a.service-entry-link[href], .fls-highlight-aktion
  ) {
    transition: transform var(--fls-hover-tempo,.23s) cubic-bezier(.3,.65,.35,1),
      filter var(--fls-hover-tempo,.23s) ease, box-shadow var(--fls-hover-tempo,.23s) ease,
      background-color var(--fls-hover-tempo,.23s) ease;
  }
}
