/* Shared disclosure for public pricing cards and the customer plan picker. */
.bm-plan-details {
    --detail-text: var(--color-text, #111827);
    --detail-muted: var(--color-text-muted, #526174);
    --detail-border: var(--color-border, #dce3ec);
    --detail-accent: var(--color-primary, #005fcc);
    margin: 0 0 1.25rem;
    border-top: 1px solid var(--detail-border);
    color: var(--detail-text);
    font-size: .8125rem;
    line-height: 1.6;
    min-width: 0;
}
.dark .bm-plan-details { --detail-text: #f3f4f6; --detail-muted: #cbd5e1; --detail-border: #475569; --detail-accent: #93c5fd; }
.bm-plan-details summary { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 44px; padding: .75rem 0; font-weight: 650; color: var(--detail-accent); cursor: pointer; list-style: none; }
.bm-plan-details summary::-webkit-details-marker { display: none; }
.bm-plan-details summary:focus-visible { outline: 2px solid var(--detail-accent); outline-offset: 3px; border-radius: .25rem; }
.bm-plan-details-chevron { flex: none; transition: transform .15s; }
.bm-plan-details[open] .bm-plan-details-chevron { transform: rotate(180deg); }
.bm-plan-details-body { padding: 0 0 1rem; overflow-wrap: anywhere; }
.bm-plan-details h4 { margin: 1rem 0 .5rem; font: inherit; font-weight: 750; color: var(--detail-text); }
.bm-plan-details h4:first-child { margin-top: .25rem; }
.bm-plan-details dl { margin: 0; }
.bm-plan-details dl > div + div { margin-top: .75rem; }
.bm-plan-details dt { font-weight: 650; }
.bm-plan-details dd { margin: .125rem 0 0; color: var(--detail-muted); }
.bm-plan-details ul { display: block; list-style: disc; margin: .25rem 0 .75rem; padding-left: 1.1rem; }
.bm-plan-details li { display: list-item; padding: 0; margin: .25rem 0; border: 0; color: var(--detail-text); font-size: inherit; }
.bm-plan-details p { margin: .375rem 0; }
.bm-plan-details .bm-plan-details-note { color: var(--detail-muted); font-size: .75rem; }
.bm-plan-details-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { .bm-plan-details-chevron { transition: none; } }

.pricing-grid:has(.bm-plan-details[open]),
.bm-plan-grid:has(.bm-plan-details[open]) { align-items: start; }
