.wnmc-booking-form-shell,
.wnmc-booking-restaurant-summary,
.wnmc-owner-bookings,
.wnmc-route-booking-widget,
.wnmc-booking-public-status {
    color: #143427;
}

.wnmc-booking-form-shell {
    background: #fff;
    border: 1px solid #dfe9e4;
    border-radius: 8px;
    box-shadow: 0 16px 35px rgba(17, 58, 42, .07);
    margin-top: 14px;
    padding: 18px;
}

.wnmc-booking-form-shell h2 {
    font-size: 28px;
    letter-spacing: 0;
    margin: 0 0 14px;
}

.wnmc-booking-form,
.wnmc-booking-summary-grid,
.wnmc-booking-settings-form,
.wnmc-owner-booking-list,
.wnmc-route-booking-widget > div {
    display: grid;
    gap: 14px;
}

.wnmc-booking-form,
.wnmc-booking-settings-form {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.wnmc-booking-form label,
.wnmc-booking-settings-form label,
.wnmc-booking-status-form label {
    display: grid;
    gap: 7px;
    font-weight: 800;
}

.wnmc-booking-form input,
.wnmc-booking-form select,
.wnmc-booking-form textarea,
.wnmc-booking-settings-form input,
.wnmc-booking-settings-form select,
.wnmc-booking-status-form input {
    border: 1px solid #cfe0d8;
    border-radius: 8px;
    font: inherit;
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}

.wnmc-booking-form .is-wide,
.wnmc-booking-settings-form .is-wide {
    grid-column: 1 / -1;
}

.wnmc-booking-check {
    align-items: flex-start;
    background: #f8fcfa;
    border: 1px solid #dfe9e4;
    border-radius: 8px;
    display: flex !important;
    gap: 10px;
    padding: 12px;
}

.wnmc-booking-check input {
    min-height: auto;
    width: auto;
}

.wnmc-booking-submit,
.wnmc-booking-btn,
.wnmc-owner-booking-card .wnmc-owner-btn {
    align-items: center;
    background: #0f8f63;
    border: 0;
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-height: 46px;
    padding: 12px 16px;
    text-decoration: none;
}

.wnmc-booking-btn.is-whatsapp {
    background: #22a86f;
}

.wnmc-booking-btn.is-call {
    background: #244f7a;
}

.wnmc-booking-note {
    color: #66796f;
    font-size: 13px;
    font-weight: 700;
}

.wnmc-booking-alert,
.wnmc-booking-success,
.wnmc-booking-disabled,
.wnmc-booking-fallback {
    background: #f2fbf6;
    border: 1px solid #c8ead6;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    margin: 12px 0;
    padding: 14px;
}

.wnmc-booking-alert.is-error {
    background: #fff2ed;
    border-color: #f1c0ad;
    color: #8a2f1c;
}

.wnmc-booking-status,
.wnmc-booking-card-badge {
    align-items: center;
    background: #fff7df;
    border: 1px solid #eace83;
    border-radius: 999px;
    color: #694a04;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    padding: 8px 10px;
}

.wnmc-booking-status.is-confirmed,
.wnmc-booking-card-badge {
    background: #eafaf0;
    border-color: #bfe8cc;
    color: #11683c;
}

.wnmc-booking-status.is-rejected,
.wnmc-booking-status.is-cancelled_by_user,
.wnmc-booking-status.is-cancelled_by_restaurant {
    background: #fff2ed;
    border-color: #f0c2b3;
    color: #8b321c;
}

.wnmc-booking-status.is-completed {
    background: #eef6ff;
    border-color: #bfd8f0;
    color: #1b507e;
}

.wnmc-booking-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    margin-bottom: 14px;
}

.wnmc-booking-summary-grid article,
.wnmc-owner-booking-card,
.wnmc-route-booking-widget article,
.wnmc-booking-public-status {
    background: #fff;
    border: 1px solid #dfe9e4;
    border-radius: 8px;
    padding: 14px;
}

.wnmc-booking-summary-grid span {
    color: #60746c;
    display: block;
    font-size: 13px;
    font-weight: 800;
}

.wnmc-owner-booking-card {
    display: grid;
    gap: 10px;
}

.wnmc-owner-booking-card header,
.wnmc-booking-contact-actions,
.wnmc-booking-status-form > div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}

.wnmc-booking-contact-actions a {
    background: #f5faf7;
    border: 1px solid #d7e8df;
    border-radius: 8px;
    color: #153528;
    font-weight: 800;
    padding: 9px 11px;
    text-decoration: none;
}

.wnmc-booking-ramadan-options {
    background: #fffaf0;
    border: 1px solid #efdca6;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 12px;
}

.wnmc-route-booking-widget {
    background: #f8fcfa;
    border: 1px solid #dfe9e4;
    border-radius: 8px;
    margin: 24px 0;
    padding: 18px;
}

.wnmc-route-booking-widget > div {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

@media (max-width: 720px) {
    .wnmc-booking-form,
    .wnmc-booking-settings-form {
        grid-template-columns: 1fr;
    }

    .wnmc-owner-booking-card header {
        align-items: flex-start;
        flex-direction: column;
    }
}
