/* Hide loading spinner everywhere */
.sb-loading,
.sb-loading-spinner,
.sb-loader,
.sb-spinner {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* REMOVE due date label + value on invoice / checkout */
.inv-cell-due-date,
.inv-cell-due-date + td,
.invoice-info .inv-cell-due-date,
.invoice-info .inv-cell-due-date b {
    display: none !important;
}


/* Push notification modal + overlay */
.sb-push-notifications,
.sb-push-notifications-popup,
.sb-push-notifications-modal,
.sb-modal,
.sb-modal-backdrop,
.sb-overlay,
[data-role="push-notifications"],
[id*="push"],
[class*="push"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Prevent body lock / grey overlay */
body.modal-open {
    overflow: auto !important;
}


/* ============================
   GUEST NUMBER VISIBILITY
============================ */
.sb-group-counter-input-div {
    background: #fff6eb !important;
    border: 2px solid #ff8800 !important;
    border-radius: 8px !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #ff8800 !important;
    text-align: center !important;
}

/* ============================
   REMOVE TOP HERO ("BOOK NOW" IMAGE)
============================ */
#main-buttons,
#main-buttons .wrapper,
#main-buttons .inner,
#main-buttons .bar {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove leftover spacing */
section#main-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ============================
   BACK BUTTON (KEEP IT)
============================ */
#sb_back_button {
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

#sb_back_button a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 12px 10px !important;
    cursor: pointer !important;
}

#sb_back_button a span {
    pointer-events: none !important;
}

/* ============================
   HIDE STEP LABELS (NOT CONTAINER)
============================ */
#steps-nav .step-name,
#steps-nav .step-number,
#steps-nav .step-line {
    display: none !important;
}

/* Hide booking company time */
#sb_booking_company_time {
    display: none !important;
}

/* ============================
   BASIC COLOR OVERRIDES
============================ */
#sb-cell.free,
#sb_time_slots_container a.sb-cell.free {
    background: #ff8800 !important;
    color: #fff !important;
    border-color: #ff8800 !important;
    transition: 0.2s ease-in-out;
}

#sb_time_slots_container a.sb-cell.free:hover {
    background: #ff6600 !important;
    border-color: #ff6600 !important;
    transform: scale(1.05);
}

#sb-timeline #steps #steps-content #sb_booking_content
.datetime-step #sb_dateview_container .top-date-select
.calendar .weeks-date .date.selected {
    background: #ff8800 !important;
}

/* ============================
   REMOVE PROMOTION CHECKBOXES
============================ */
#sb_terms_and_conditions .promotions-letter-flag,
.promotions-letter-flag label[role=button] {
    display: none !important;
}

/* ============================
   HIDE HEADER COMPLETELY
============================ */
#header,
#sb_header {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================
   MAIN BOOKING CONTAINER
============================ */
#sb_booking_content,
#widget_container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 20px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

/* Remove outer spacing */
#sb_main_container,
#sb_wrapper,
#sb_booking_page {
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================
   HIDE SERVICE HEADER IMAGE
============================ */
#sb_booking_content .head {
    display: none !important;
}

/* ============================
   HIDE CART
============================ */
#sb_booking_cart,
.sb-booking-cart,
.sb-cart-btn,
.cart-btn {
    display: none !important;
}

/* ============================
   HIDE TAX COLUMN
============================ */
table th:nth-child(3),
table td:nth-child(3) {
    display: none !important;
}

/* ============================
   RESPONSIVE
============================ */
@media (max-width: 768px) {
    #sb_booking_content,
    #widget_container {
        padding: 15px !important;
    }
}

@media (max-width: 480px) {
    #sb_booking_content,
    #widget_container {
        padding: 10px !important;
    }
}
