.cbe-booking-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 999998;
    background: rgba(15, 23, 42, .52);
    opacity: 0;
    transition: opacity .22s ease;
}
.cbe-booking-drawer-overlay.is-open { opacity: 1; }
.cbe-booking-drawer {
    position: fixed;
    z-index: 999999;
    top: 0;
    right: 0;
    width: min(420px, 92vw);
    height: 100vh;
    background: #fff;
    box-shadow: -12px 0 35px rgba(15, 23, 42, .2);
    transform: translateX(105%);
    transition: transform .24s ease;
    display: flex;
    flex-direction: column;
}
.cbe-booking-drawer.is-open { transform: translateX(0); }
body.cbe-booking-drawer-open { overflow: hidden; }
.cbe-booking-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 24px;
    border-bottom: 1px solid #e5e7eb;
}
.cbe-booking-drawer__header h2 { margin: 0; font-size: 22px; }
.cbe-booking-drawer__close {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 32px;
    line-height: 1;
    padding: 0 4px;
}
.cbe-booking-drawer__body { flex: 1; overflow-y: auto; padding: 24px; }
.cbe-booking-drawer__product { display: grid; grid-template-columns: 84px 1fr; gap: 16px; align-items: center; }
.cbe-booking-drawer__image img { width: 84px; height: 84px; object-fit: cover; }
.cbe-booking-drawer__product h3 { margin: 0 0 6px; font-size: 18px; }
.cbe-booking-drawer__price { font-weight: 700; }
.cbe-booking-drawer__details { margin-top: 22px; line-height: 1.65; }
.cbe-booking-drawer__details dl { margin: 0; }
.cbe-booking-drawer__message { margin-top: 16px; color: #b42318; font-weight: 600; }
.cbe-booking-drawer__actions { padding: 20px 24px 26px; border-top: 1px solid #e5e7eb; display: grid; gap: 12px; }
.cbe-booking-drawer__actions .button { width: 100%; text-align: center; justify-content: center; }

/* Booking flow uses checkout directly; never show WooCommerce's View cart link. */
form.cart a.added_to_cart,
form.cart .added_to_cart,
a.added_to_cart.wc-forward {
    display: none !important;
}

form.cart .cbe-book-now-disabled,
form.cart button[disabled].single_add_to_cart_button,
form.cart input[disabled][type="submit"] {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
}
.cbe-booking-drawer__booking-line { margin-bottom: 18px; line-height: 1.65; }
.cbe-booking-drawer__other-details > strong { display:block; margin-bottom:8px; }
.cbe-booking-drawer__detail-line { display:block; margin:0 0 8px; line-height:1.5; overflow-wrap:anywhere; }
