.ff-disclosure { min-width: 0; }
.ff-disclosure__trigger { display: inline-flex; align-items: center; justify-content: space-between; gap: .8rem; max-width: 100%; min-height: 2.6rem; padding: .65rem .9rem; border: 1px solid var(--brand-line); border-radius: var(--brand-control-radius); background: var(--brand-paper); color: var(--brand-red-dark); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.ff-disclosure__trigger:hover { border-color: var(--brand-red); background: color-mix(in srgb,var(--brand-paper) 70%,var(--brand-peach)); }
.ff-disclosure__trigger:focus-visible,.ff-disclosure__close:focus-visible { outline: 2px solid var(--brand-red); outline-offset: 3px; }
.ff-disclosure__icon { flex: 0 0 auto; font-size: 1.15rem; line-height: 1; }
.ff-disclosure__dialog { position: fixed; width: min(38rem, 100vw); max-width: 100vw; max-height: 100dvh; padding: 0; border: 0; overflow-y: auto; background: var(--brand-cream); color: var(--brand-ink); box-shadow: var(--brand-shadow-large); }
.ff-disclosure__dialog--drawer { inset: 0 0 0 auto; height: 100dvh; margin: 0 0 0 auto; }
.ff-disclosure__dialog--modal { inset: 0; max-height: min(90dvh, 45rem); margin: auto; border-radius: var(--brand-card-radius); }
.ff-disclosure__dialog::backdrop { background: color-mix(in srgb,var(--brand-ink) 66%,transparent); }
.ff-disclosure__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.2rem clamp(1.2rem, 3vw, 2rem); background: var(--brand-ink); color: var(--brand-paper); }
.ff-disclosure__title { margin: 0; font-size: clamp(1.25rem, 2.6vw, 1.7rem); line-height: 1.25; }
.ff-disclosure__close { flex: 0 0 auto; width: 2.4rem; height: 2.4rem; border: 1px solid color-mix(in srgb,var(--brand-paper) 44%,transparent); border-radius: var(--brand-radius-pill); background: transparent; color: var(--brand-paper); font: inherit; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.ff-disclosure__body { padding: clamp(1.2rem, 3vw, 2rem); line-height: 1.6; overflow-wrap: anywhere; }
.ff-disclosure__body > :first-child { margin-top: 0; }
.ff-disclosure__body > :last-child { margin-bottom: 0; }
.ff-disclosure__body .desk-form { max-width: none; }
.ff-disclosure--static > .ff-disclosure__heading { margin: 0 0 1rem; font-size: 1.15rem; }
.product-card__details .ff-disclosure__trigger { margin-top: .25rem; }
@media (max-width: 40rem) { .ff-disclosure__dialog--modal { inset: 0 0 0 auto; width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; } }
