/*
 * Bespoke overrides for trusted-pro — extracted verbatim from the retired
 * template.css snapshot (Slice 2 Task 2, 2026-09-03).
 *
 * These rules implement the Radix/shadcn "open/close" animation primitives
 * (enter/exit + accordion-down/accordion-up keyframes, and the data-state /
 * data-side utility classes that drive them). They are NOT reproduced by
 * the live Tailwind v4 bundle: `animate-in`, `animate-out`, `fade-in-0`,
 * `zoom-in-95`, `slide-in-from-*`, `animate-accordion-down/up` all require
 * the tailwindcss-animate (or tw-animate-css) plugin, which is not
 * registered in globals.css. Without these, the classes below are dead —
 * no CSS gets generated for them by the live bundle.
 *
 * Actually used on this template:
 *  - Header.tsx services DropdownMenu (@/components/ui/dropdown-menu):
 *    animate-in/out, fade-in-0/out-0, zoom-in-95/out-95, slide-in-from-*
 *  - FAQ.tsx Accordion (@/components/ui/accordion):
 *    animate-accordion-down/up
 */

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

@keyframes accordion-down {
  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height, var(--bits-accordion-content-height));
  }
}

@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height, var(--bits-accordion-content-height));
  }

  to {
    height: 0;
  }
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: calc(2 * var(--spacing) * -1);
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: calc(2 * var(--spacing));
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: calc(2 * var(--spacing) * -1);
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: calc(2 * var(--spacing));
}

.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
  animation: accordion-up var(--tw-duration, .2s) ease-out;
}

.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation: exit var(--tw-duration, .15s) var(--tw-ease, ease);
}

.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}

.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}

.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down var(--tw-duration, .2s) ease-out;
}

.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation: enter var(--tw-duration, .15s) var(--tw-ease, ease);
}

.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}

.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}
