.promo-badge {
    display: inline-flex;
    align-items: baseline;
    column-gap: 0.3em;
    padding: 0.28em 0.8em;
    margin-inline-end: 0.5rem;
    border: 1px solid #9a5421;
    border-radius: 1rem;
    color: #74340e;
    background: #fff0d9;
    font-weight: 700;
    line-height: 1.35;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.public-offer-heading,
.public-offer-amount {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.6rem;
    margin-block: 0.5rem;
}
.public-offer-heading .promo-badge {
    margin-inline-end: 0;
}
.public-offer-toast {
    position: fixed;
    z-index: 1010;
    right: max(0.8rem, env(safe-area-inset-right));
    bottom: max(0.8rem, env(safe-area-inset-bottom));
    box-sizing: border-box;
    width: min(22rem, calc(100% - 1.6rem - env(safe-area-inset-right) - env(safe-area-inset-left)));
    padding: 1rem 3.25rem 1rem 1.15rem;
    border: 1px solid #bca896;
    border-inline-start: 4px solid #ad5422;
    border-radius: 0.75rem;
    box-shadow: 0 0.4rem 1.4rem #2b211e24;
    background: #fffaf3;
    color: #30271e;
    overflow-wrap: anywhere;
}
.public-offer-toast p {
    margin: 0 0 0.35rem;
    font-weight: 600;
}
.public-offer-toast a {
    color: #74340e;
    text-decoration: underline;
}
.public-offer-toast button {
    position: absolute;
    top: 0.1rem;
    right: 0.1rem;
    width: 2.75rem;
    height: 2.75rem;
    font: inherit;
    font-size: 1.5rem;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0.5rem;
}
.public-offer-toast :focus-visible {
    outline: 2px solid #17575a;
    outline-offset: 2px;
}
body.has-public-offer {
    padding-bottom: calc(8rem + env(safe-area-inset-bottom));
}
body:has(
        dialog[open],
        .offcanvas.show,
        .modal.show,
        .public-navigation.show,
        [data-consent-banner]:not([hidden])
    )
    .public-offer-toast {
    visibility: hidden;
}
@media print {
    .public-offer-toast {
        display: none;
    }
    body.has-public-offer {
        padding-bottom: 0;
    }
}
