/* Exit layer: compact dialog, bottom sheet on phones, no motion when asked. */
.bio-exitlayer .modal-dialog {
    max-width: 420px;
}
.bio-exitlayer .modal-content {
    border-radius: 12px;
}
.bio-exitlayer .modal-body {
    font-size: 0.95rem;
}
/* The script switches the views with the hidden attribute: keep it stronger than any display the theme sets. */
.bio-exitlayer [hidden] {
    display: none !important;
}
/* The personal code of a reservation. */
.bio-exitlayer-codebox {
    border: 1.5px dashed var(--bs-primary);
    background: #f2f8e6;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}
.bio-exitlayer-code {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 2px;
    overflow-wrap: anywhere;
    user-select: all;
}
/* The reminder under the header while a reserved code waits for the basket. */
.bio-exitlayer-bar {
    width: 100%;
    background: #f2f8e6;
    border-bottom: 1px solid #d6e8ad;
    color: #3f5409;
    padding: 0.45rem 1rem;
    font-size: 0.875rem;
    text-align: center;
}
.bio-exitlayer-bar[hidden] {
    display: none !important;
}
@media (max-width: 575.98px) {
    .bio-exitlayer .modal-dialog {
        margin: 0;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        max-width: none;
        min-height: 0;
        align-items: flex-end;
    }
    .bio-exitlayer .modal-content {
        border-radius: 12px 12px 0 0;
        /* The code view is taller than the offer: 40vh would hide its button below the fold on a small phone. */
        max-height: 70vh;
        overflow: auto;
    }
    .bio-exitlayer .modal-body {
        font-size: 0.9rem;
    }
    /* The views carry pb-3 (padding-bottom: 1rem !important), which would eat the safe-area inset: this rule is more specific and important too. */
    .bio-exitlayer .modal-content .modal-body {
        padding-bottom: calc(1rem + env(safe-area-inset-bottom)) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .bio-exitlayer.fade,
    .bio-exitlayer .modal-dialog {
        transition: none;
    }
}
