.davey-menu-notices {
    margin: 1rem 1rem .25rem;
}

.davey-menu-notice {
    margin: 0 0 .75rem;
    border-width: 0 0 0 4px;
    border-radius: .45rem;
    box-shadow: 0 .2rem .7rem rgba(0, 0, 0, .06);
}

/*
 * Fixed notice colours intentionally do not use Bootstrap's alert-info,
 * alert-success, alert-warning or alert-danger classes. Themes often remap
 * those utility colours to their brand palette.
 */
.alert.davey-menu-notice.davey-menu-notice--info {
    border-color: #0d6efd;
    background-color: #e7f3ff;
    color: #084298;
}

.alert.davey-menu-notice.davey-menu-notice--success {
    border-color: #198754;
    background-color: #e9f7ef;
    color: #0f5132;
}

.alert.davey-menu-notice.davey-menu-notice--warning {
    border-color: #f0ad4e;
    background-color: #fff7df;
    color: #664d03;
}

.alert.davey-menu-notice.davey-menu-notice--danger {
    border-color: #dc3545;
    background-color: #fdecec;
    color: #842029;
}

.davey-menu-notice:last-child {
    margin-bottom: 0;
}

.davey-menu-notice__layout {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
}

.davey-menu-notice__icon {
    flex: 0 0 auto;
    margin-top: .12rem;
    font-size: 1.15rem;
}

.davey-menu-notice__content {
    min-width: 0;
    flex: 1 1 auto;
}

.davey-menu-notice__title {
    display: block;
    margin: 0 0 .2rem;
    font-size: 1rem;
    font-weight: 800;
}

.davey-menu-notice__message {
    margin: 0;
    font-weight: 600;
    white-space: pre-line;
}

.davey-menu-notice__coupon {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .75rem;
}

.davey-menu-notice__coupon-label {
    font-size: .85rem;
    font-weight: 700;
}

.davey-menu-notice__code {
    display: inline-block;
    padding: .3rem .55rem;
    border: 1px dashed currentColor;
    border-radius: .3rem;
    background: rgba(255, 255, 255, .55);
    color: inherit;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .95rem;
    font-weight: 800;
    letter-spacing: .04em;
    user-select: all;
}

.davey-menu-notice__copy {
    padding: .3rem .6rem;
    border: 1px solid currentColor;
    border-radius: .3rem;
    background: rgba(255, 255, 255, .7);
    color: inherit;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
}

.davey-menu-notice__copy:hover,
.davey-menu-notice__copy:focus {
    background: #fff;
}

@media (max-width: 575.98px) {
    .davey-menu-notices {
        margin: .8rem .75rem .2rem;
    }

    .davey-menu-notice {
        padding: .85rem;
    }

    .davey-menu-notice__layout {
        gap: .65rem;
    }
}
