.btn-close {
    color: #1a1a1a;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231a1a1a'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
}

.alert-info {
    color: #195f80;
    background-color: #d4ecf7;
    border-color: #98b0bb;
}

.alert-success {
    color: #476b00;
    background-color: #e4f0cc;
    border-color: #a8b490;
}

.alert-warning {
    color: #995200;
    background-color: #ffe7cc;
    border-color: #c3ab90;
}

.alert-danger {
    color: #7a0000;
    background-color: #f5cccc;
    border-color: #b99090;
}

/* Cyborg (assets/scss/bs_theme.scss) forces links in alerts to white, for its own saturated
   alerts. These carry the restaurant's background and text pair instead (the text contrast-repaired
   on every save), so a link follows that text, in bold — Bootstrap's own .alert-link look. White
   left the "call us" phone number at 1.23:1 on the default info box. Bold, not underline: the phone
   include is text-decoration-none. Same specificity as Cyborg's rule: this sheet is linked after it.
   :hover and :focus too, or the `a:hover` rule below (same specificity, later) would turn it back to
   the link colour under the pointer. */
.alert a,
.alert .alert-link,
.alert a:hover,
.alert a:focus,
.alert .alert-link:hover,
.alert .alert-link:focus {
    color: inherit;
    font-weight: 700;
}

body {
    background-color: #ffffff;
}

.h1,.h2,.h3,.h4,.h5 {
    color: #1a1a1a;
}

body, h1, h2, h3, h4, h5 {
    color: #1a1a1a;
}

/* Banner H1 overlays the banner image, so it has its own colour (set by the
   restaurant) instead of mainTextColor — the #id outranks the rules above. */
#h1-title {
    color: #1a1a1a;
}

a {
    color: #2d5bff;
}

a:hover {
    color: #1947eb;
}

.text-primary {
    color: #2d5bff !important;
}

.text-success {
    color: #2e7d32 !important;
}

.text-warning {
    color: #A35B00 !important;
}

.text-danger {
    color: #c62828 !important;
}

.text-info {
    color: #0068AE !important;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: #2d5bff;
    color: #FFFFFF;
}

.form-control:focus {
    border-color: #87b5ff;
    box-shadow: 0 0 0 0.25rem #0001a5;
}

.btn-primary {
    background-color: #2d5bff;
    border-color: #2d5bff;
    color: #ffffff;
}

.form-check-input:checked {
    background-color: #2d5bff;
    border-color: #2d5bff;
    color: #ffffff;
}

.form-check-input:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked[type=radio] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23ffffff'/%3e%3c/svg%3e");
}

.form-switch .form-check-input:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}

.form-check-input:focus {
    border-color: #87b5ff;
    box-shadow: 0 0 0 0.25rem #0001a5;
}

.btn-primary:disabled {
    background-color: #001fc3;
    border-color: #001fc3;
    color: #ffffff;
}

.btn-primary:hover {
    background-color: #0533d7;
    border-color: #0533d7;
    color: #ffffff;
}

.btn-primary:focus {
    background-color: #0533d7;
    border-color: #0533d7;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem #0001a5;
}

.card, .dropdown-menu {
    background-color: #f2f2f2;
    color: #000000;
}

.dropdown-item {
    color: #000000;
}

.btn-secondary {
    background-color: #5a6472;
    border-color: #5a6472;
    color: #ffffff;
}

.btn-secondary:hover {
    background-color: #323c4a;
    border-color: #323c4a;
    color: #ffffff;
}

.btn-secondary:focus {
    background-color: #323c4a;
    border-color: #323c4a;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem #000a18;

}

.btn-light {
    background-color: #e6e6e6;
    border-color: #e6e6e6;
    color: #000000;
}

.btn-light:hover {
    background-color: #bebebe;
    border-color: #bebebe;
    color: #000000;
}

.btn-light:focus {
    background-color: #bebebe;
    border-color: #bebebe;
    color: #000000;
    box-shadow: 0 0 0 0.25rem #8c8c8c;
}

.btn-success {
    background-color: #2e7d32;
    border-color: #2e7d32;
    color: #ffffff;
}

.btn-success:hover {
    background-color: #06550a;
    border-color: #06550a;
    color: #ffffff;
}

.btn-success:focus {
    background-color: #06550a;
    border-color: #06550a;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem #002300;
}

.btn-warning {
    background-color: #b26a00;
    border-color: #b26a00;
    color: #000000;
}

.btn-warning:hover {
    background-color: #8a4200;
    border-color: #8a4200;
    color: #000000;
}

.btn-warning:focus {
    background-color: #8a4200;
    border-color: #8a4200;
    color: #000000;
    box-shadow: 0 0 0 0.25rem #581000;
}

.btn-danger {
    background-color: #c62828;
    border-color: #c62828;
    color: #ffffff;
}

.btn-danger:hover {
    background-color: #9e0000;
    border-color: #9e0000;
    color: #ffffff;
}

.btn-danger:focus {
    background-color: #9e0000;
    border-color: #9e0000;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem #6c0000;
}

.btn-info {
    background-color: #0277bd;
    border-color: #0277bd;
    color: #ffffff;
}

.btn-info:hover {
    background-color: #004f95;
    border-color: #004f95;
    color: #ffffff;
}

.btn-info:focus {
    background-color: #004f95;
    border-color: #004f95;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem #001d63;
}

.modal-content {
    background-color: #dedede;
    color: #000000;
}

.booking-step {
    --bk-page-text: #1A1A1A;
    --bk-page-muted: #1A1A1A8C;
}

.booking-card {
    --bk-surface: #f2f2f2;
    --bk-text: #000000;
    --bk-muted: #0000008C;
    --bk-soft: #00000066;
    --bk-hover: #0000001A;
    --bk-selected-bg: #2d5bff;
    --bk-selected-fg: #ffffff;
    --bk-accent-bg: #5a6472;
    --bk-accent-fg: #ffffff;
    --bk-available-bg: #CCCFD2;
    --bk-available-fg: #000000;
}

.list-group-item {
    background-color: #dedede;
    color: #000000;
    border-color: #cacaca;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    background-color: #2d5bff;
    color: #FFFFFF;
    border-color: #0533d7;
}

.badge.bg-primary {
    background-color: #2d5bff !important;
    color: #ffffff;
}

#groupe-ludovic-frank {
    color: #000000;
}