/* Fühlbar · Das Aussehen in Ruhe bleibt. Neu ist nur, wie die Seite antwortet, wenn man sie anfasst:
   Was anklickbar ist, hebt sich unter dem Zeiger aus seinem harten Schatten und sinkt beim Klick hinein.
   Regeln (docs/plans/2026-10-02-studiocrew-aufpeppen.md, E9–E12):
   - Nichts bewegt sich von allein. Es ändert sich nur das eine Element unter dem Zeiger.
   - Nur transform (macht die Grafikkarte, nichts wird neu angeordnet) und harte Schatten. Kein Skript.
   - Heben nur mit Maus (hover: hover). Drücken überall. Bei „Bewegung reduzieren" keine Verschiebung.
   - Keine transition: gemessen kostet Gleiten auf langsamen Rechnern dreimal so viel Stil-Arbeit.
   Muss als letztes Stylesheet laden (layout.blade.php), sonst gewinnen ältere Regeln zu Schatten und transform. */

/* 1. Reiter und Seitenliste: Unter dem Zeiger erscheint schon die Leiste, die der aktive Reiter hat.
      Keine Bewegung, darum auch bei „Bewegung reduzieren". */
@media (hover: hover) and (pointer: fine) {
    .site-header .site-nav a:not([aria-current]):hover,
    .desk-tabs a:not([aria-current]):hover,
    .studio-tabs a:not([aria-current]):hover,
    .view-switch a:not([aria-current]):hover { box-shadow: inset 0 -3px var(--retro-shadow); }
    .side-link:not([aria-current]):hover { box-shadow: inset 3px 0 var(--retro-shadow); }
}

@media (prefers-reduced-motion: no-preference) {

    /* 2. Kein Gleiten: Heben und Drücken springen sofort um, wie eine echte Taste am alten Mac.
          In Ruhe steht eine Null-Verschiebung. Gemessen mit 6-fach gebremstem Prozessor: Ohne sie ordnet der Browser
          bei jedem Zeigerwechsel die Seite neu an (2 Mal je Tag), und das Gleiten verdreifacht die Stil-Arbeit.
          :where() hat kein Gewicht, damit jede Regel des Originals zu transform weiter gewinnt. */
    :where(button, .button, .month-arrow, .desk-account, .desk-calendar-menu > summary, .desk-calendar-actions > a,
        .row-action, .support-launch, .crew-card, .calendar-day, .profession-tab:not([aria-current]), .profession-tabs a:not([aria-current]),
        .site-nav a, .desk-tabs a, .studio-tabs a, .view-switch a, .side-link) { transform: translate(0, 0); }
    /* Der aktive Akten-Reiter bleibt ohne: er verschmilzt mit der Akte, eine Verschiebung würde ihn darüber legen (Naht sichtbar). */

    /* 3. Knöpfe mit Schatten 2 px: heben 1 px, Schatten wächst mit; Klick setzt sie genau auf ihren Schatten */
    @media (hover: hover) and (pointer: fine) {
        body :is(button, .button):not(:disabled, .calendar-day, .workspace-switch button, .studio-switch button, .order-tab, .mappe-photo-menu button):is(:hover, :focus-visible),
        body .month-arrow:is(:hover, :focus-visible) { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 #8fa286; }
        body :is(.desk-account, .desk-calendar-menu > summary, .desk-calendar-actions > a, .row-action):is(:hover, :focus-visible) { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--retro-shadow); }
        body .support-launch:is(:hover, :focus-visible) { transform: translate(-1px, -1px); box-shadow: 4px 5px 0 var(--retro-shadow); }
    }
    body :is(button, .button):not(:disabled, .calendar-day, .workspace-switch button, .studio-switch button, .order-tab, .mappe-photo-menu button):active,
    body .month-arrow:active,
    body :is(.desk-account, .desk-calendar-menu > summary, .desk-calendar-actions > a, .row-action):active { transform: translate(2px, 2px); box-shadow: none; }
    body .support-launch:active { transform: translate(3px, 4px); box-shadow: none; }

    /* 4. Crew-Karten: die ganze Karte hebt sich; Klick auf die Karte (nicht auf den Merk-Link) drückt sie an */
    @media (hover: hover) and (pointer: fine) {
        .page-crew .crew-card:is(:hover, :has(.card-link:focus-visible)) { transform: translate(-2px, -2px); box-shadow: 7px 8px 0 var(--retro-shadow); }
    }
    .page-crew .crew-card:has(.card-link:active) { transform: translate(3px, 3px); box-shadow: 2px 3px 0 var(--retro-shadow); }

    /* 5. Kalendertage. Mein Kalender: flache Kacheln, unter dem Zeiger heben sie sich mit Rand und Schatten. */
    @media (hover: hover) and (pointer: fine) {
        .page-calendar .calendar-day:not(.selected-day):hover { transform: translate(-1px, -1px); box-shadow: inset 0 0 0 1px var(--retro-bar), 2px 2px 0 var(--retro-shadow); }
    }
    .page-calendar .calendar-day:not(.selected-day):active { transform: translate(1px, 1px); box-shadow: inset 0 0 0 2px var(--retro-bar); }

    /* Akte (Studiosicht): die Tage sind schon Knöpfe mit Schatten. Heben wie Knöpfe; belegte Tage behalten ihren Balken. */
    @media (hover: hover) and (pointer: fine) {
        .page-crew-detail .retro-calendar-pane button.calendar-day:not(:disabled, .is-picked):hover { transform: translate(-1px, -1px); box-shadow: inset 0 0 0 1px var(--retro-bar), 3px 3px 0 #8fa286; }
        .page-crew-detail .retro-calendar-pane button.calendar-day.has-busy:not(:disabled, .is-picked):hover { box-shadow: inset 0 -4px var(--busy), inset 0 0 0 1px var(--retro-bar), 3px 3px 0 #8fa286; }
    }
    .page-crew-detail .retro-calendar-pane button.calendar-day:not(:disabled, .is-picked):active { transform: translate(2px, 2px); box-shadow: inset 0 0 0 2px var(--retro-bar); }

    /* 6. Akten-Register (nur breit, wo sie senkrecht stehen): ziehen sich unter dem Zeiger ein Stück heraus.
          Ein Streifen in der Farbe des Registers füllt die Lücke zur Akte, damit es länger wirkt statt abzufallen.
          Der Streifen ist immer da, nur unsichtbar, damit das Zeigen nichts neu anordnen muss. */
    @media (hover: hover) and (pointer: fine) and (min-width: 851px) {
        .page-calendar .profession-tab:not([aria-current])::before,
        .page-crew-detail .retro-profile-pane .profession-tabs a:not([aria-current])::before {
            content: ""; position: absolute; top: 0; bottom: 0; right: 100%; width: 4px; background: inherit; visibility: hidden;
        }
        .page-calendar .profession-tab:not([aria-current]):hover,
        .page-crew-detail .retro-profile-pane .profession-tabs a:not([aria-current]):hover { transform: translateX(4px); }
        .page-calendar .profession-tab:not([aria-current]):hover::before,
        .page-crew-detail .retro-profile-pane .profession-tabs a:not([aria-current]):hover::before { visibility: visible; }
    }
    .page-calendar .profession-tab:not([aria-current]):active,
    .page-crew-detail .retro-profile-pane .profession-tabs a:not([aria-current]):active { transform: translateX(1px); }

    /* 7. Reiter, Umschalter, Seitenliste: Klick drückt sie 1 px hinunter */
    :is(.site-nav a, .desk-tabs a, .studio-tabs a, .view-switch a, .workspace-switch button, .studio-switch button):active { transform: translateY(1px); }
    .side-link:active { transform: translateX(1px); }
}

/* Schmal: Crew-Karten haben dort einen kleineren Schatten, der Druck passt sich an */
@media (prefers-reduced-motion: no-preference) and (max-width: 600px) {
    .page-crew .crew-card:has(.card-link:active) { transform: translate(2px, 2px); box-shadow: 1px 2px 0 var(--retro-shadow); }
}
