/* ── Quote Blotter — Accordion card interactions ─────────────────────────── */

/* Bordure orange sur la carte quand l'accordion est ouvert
   Identique au TSX: borderColor: expanded ? THEME.primary : "transparent"
   Mantine place `data-active` sur AccordionControl et AccordionItem quand ouvert */
.qb-card {
    transition: border-color 0.2s ease;
}

.qb-card:has([data-active]) {
    border-color: var(--mantine-color-brand-5) !important;
}

/* Chevron rotation 180° au clic — sans aucun callback Dash */
.qb-chevron {
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
}

details[open] .qb-chevron {
    transform: rotate(180deg);
}

/* ── Virtualisation CSS native ───────────────────────────────────────────────
   content-visibility:auto = le navigateur saute entièrement layout+paint pour
   les cartes hors viewport (équivalent IntersectionObserver sans JS).
   contain-intrinsic-size  = hauteur estimée pour éviter les sauts de scrollbar.
   Aucune perte d'état accordion, aucune contrainte de hauteur fixe.          */
.qb-card-item {
    content-visibility: auto;
    contain-intrinsic-size: 0 320px;
}

