/* Layout fallbacks activated only by the legacy feature detector. */
.boom-legacy-browser {
    --color-primary-50: #f2f7fd;
    --color-primary-100: #e6effa;
    --color-primary-200: #ccdef5;
    --color-primary-300: #99bdea;
    --color-primary-400: #669cdf;
    --color-primary-600: #004996;
    --color-primary-700: #003f82;
    --color-primary-800: #00366e;
    --color-primary-900: #002d5a;
}
.boom-legacy-browser body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
.boom-legacy-browser .inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.boom-legacy-browser .inset-x-0 { right: 0; left: 0; }
.boom-legacy-browser .inset-y-0 { top: 0; bottom: 0; }
.boom-legacy-browser .swiper .swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.boom-legacy-browser input[type="number"]::-webkit-inner-spin-button,
.boom-legacy-browser input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@supports not (aspect-ratio: 1 / 1) {
    .boom-legacy-browser .aspect-square { position: relative; height: 0 !important; padding-bottom: 100%; }
    .boom-legacy-browser .aspect-square > * { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
}

/* Tailwind flex-gap fallback for Chrome <84 and Firefox <63. */
.boom-no-flex-gap .flex.gap-1 > * + * { margin-right: .25rem; }
.boom-no-flex-gap .flex.gap-2 > * + * { margin-right: .5rem; }
.boom-no-flex-gap .flex.gap-3 > * + * { margin-right: .75rem; }
.boom-no-flex-gap .flex.gap-4 > * + * { margin-right: 1rem; }
.boom-no-flex-gap .flex.gap-5 > * + * { margin-right: 1.25rem; }
.boom-no-flex-gap .flex.gap-6 > * + * { margin-right: 1.5rem; }
.boom-no-flex-gap .flex.gap-7 > * + * { margin-right: 1.75rem; }
.boom-no-flex-gap .flex.gap-8 > * + * { margin-right: 2rem; }
.boom-no-flex-gap .flex.gap-10 > * + * { margin-right: 2.5rem; }
.boom-no-flex-gap .flex.gap-12 > * + * { margin-right: 3rem; }
.boom-no-flex-gap .flex.gap-14 > * + * { margin-right: 3.5rem; }
.boom-no-flex-gap .flex.gap-20 > * + * { margin-right: 5rem; }
.boom-no-flex-gap .flex.flex-row-reverse.gap-1 > * + * { margin-right: 0; margin-left: .25rem; }
.boom-no-flex-gap .flex.flex-row-reverse.gap-2 > * + * { margin-right: 0; margin-left: .5rem; }
.boom-no-flex-gap .flex.flex-row-reverse.gap-3 > * + * { margin-right: 0; margin-left: .75rem; }
.boom-no-flex-gap .flex.flex-row-reverse.gap-4 > * + * { margin-right: 0; margin-left: 1rem; }
.boom-no-flex-gap .flex.flex-row-reverse.gap-5 > * + * { margin-right: 0; margin-left: 1.25rem; }
.boom-no-flex-gap .flex.flex-row-reverse.gap-6 > * + * { margin-right: 0; margin-left: 1.5rem; }
.boom-no-flex-gap .flex.flex-col.gap-1 > * + * { margin-right: 0; margin-top: .25rem; }
.boom-no-flex-gap .flex.flex-col.gap-2 > * + * { margin-right: 0; margin-top: .5rem; }
.boom-no-flex-gap .flex.flex-col.gap-3 > * + * { margin-right: 0; margin-top: .75rem; }
.boom-no-flex-gap .flex.flex-col.gap-4 > * + * { margin-right: 0; margin-top: 1rem; }
.boom-no-flex-gap .flex.flex-col.gap-5 > * + * { margin-right: 0; margin-top: 1.25rem; }
.boom-no-flex-gap .flex.flex-col.gap-6 > * + * { margin-right: 0; margin-top: 1.5rem; }
.boom-no-flex-gap .flex.flex-col.gap-8 > * + * { margin-right: 0; margin-top: 2rem; }
.boom-no-flex-gap .flex.flex-col.gap-10 > * + * { margin-right: 0; margin-top: 2.5rem; }
.boom-no-flex-gap .flex.flex-col.gap-12 > * + * { margin-right: 0; margin-top: 3rem; }
