/* Bokotel professional booking confirmation and admin booking style */
:root{
    --bk-primary:#ff7a21;
    --bk-primary-dark:#e85f00;
    --bk-navy:#172033;
    --bk-muted:#667085;
    --bk-line:#e6eaf0;
    --bk-soft:#f6f8fb;
    --bk-success:#12b76a;
    --bk-card:#ffffff;
}

/* Front booking confirmation / My Bookings */
.bk-confirm-card,
.bk-booking-confirmation,
.bk-confirm-details,
.bk-confirm-additional{
    background:var(--bk-card);
    border:1px solid var(--bk-line);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(17,24,39,.08);
    color:var(--bk-navy);
    overflow:hidden;
}

.bk-confirm-card table,
.bk-booking-confirmation table,
.bk-confirm-details table{
    width:100%;
    border-collapse:collapse;
}

.bk-confirm-card td,
.bk-confirm-card th,
.bk-booking-confirmation td,
.bk-booking-confirmation th{
    padding:9px 10px;
    border-bottom:1px solid #edf0f5;
    vertical-align:top;
}

.bk-confirm-card tr:last-child td,
.bk-booking-confirmation tr:last-child td{
    border-bottom:0;
}

.bk-confirm-card b,
.bk-booking-confirmation b{
    color:var(--bk-navy);
}

.bk-confirm-card h1,
.bk-confirm-card h2,
.bk-confirm-card h3,
.bk-booking-confirmation h1,
.bk-booking-confirmation h2,
.bk-booking-confirmation h3{
    color:var(--bk-navy);
    font-weight:800;
}

.bk-confirm-section{
    border:1px solid var(--bk-line);
    border-radius:16px;
    padding:16px;
    margin:0 0 16px;
    background:#fff;
}

.bk-confirm-price{
    background:#fff7ed;
    border-color:#fed7aa;
}

.bk-confirm-total{
    color:var(--bk-primary-dark);
    font-size:18px;
    font-weight:800;
}

.bk-confirm-badge{
    display:inline-block;
    border-radius:999px;
    padding:7px 12px;
    background:rgba(18,183,106,.12);
    color:#047857;
    border:1px solid rgba(18,183,106,.25);
    font-size:12px;
    font-weight:800;
}

/* Booking steps styling */
.reservation_tabs.reservation_tabs_numbers_only{
    width:100%;
    max-width:500px;
    margin:14px auto 22px;
    border-collapse:separate;
    border-spacing:0;
    table-layout:fixed;
}

.reservation_tabs.reservation_tabs_numbers_only tr{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.reservation_tabs.reservation_tabs_numbers_only td{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:25%;
    padding:12px 0;
    background:transparent !important;
    border:0 !important;
    text-align:center;
    vertical-align:middle;
}

.reservation_tabs.reservation_tabs_numbers_only td:after{
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:100%;
    height:4px;
    background:#dce3ee;
    transform:translateY(-50%);
    z-index:1;
    border-radius:20px;
}

.reservation_tabs.reservation_tabs_numbers_only td:last-child:after{display:none;}

.reservation_tabs.reservation_tabs_numbers_only .booking-step-link,
.reservation_tabs.reservation_tabs_numbers_only .booking-step-link:hover,
.reservation_tabs.reservation_tabs_numbers_only .booking-step-link:focus{text-decoration:none;outline:none;}

.reservation_tabs.reservation_tabs_numbers_only .booking-step-circle{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:50%;
    border:3px solid #dce3ee;
    background:#fff;
    color:#64748b;
    font-size:16px;
    line-height:1;
    font-weight:800;
    box-shadow:0 5px 14px rgba(15,23,42,.10);
    transition:all .22s ease;
}

.reservation_tabs.reservation_tabs_numbers_only .reservation_tab_active .booking-step-circle{
    background:linear-gradient(135deg,var(--bk-primary),#ff9d3f);
    border-color:var(--bk-primary);
    color:#fff;
    box-shadow:0 10px 22px rgba(255,122,33,.34);
    transform:scale(1.08);
}

.reservation_tabs.reservation_tabs_numbers_only .reservation_tab_active:before{
    content:'';
    position:absolute;
    top:50%;
    left:0;
    width:50%;
    height:4px;
    background:#ffb27a;
    transform:translateY(-50%);
    z-index:1;
    border-radius:20px;
}

.reservation_tabs.reservation_tabs_numbers_only .reservation_tab_active:first-child:before{display:none;}

.reservation_tabs.reservation_tabs_numbers_only .reservation_tab .booking-step-link:hover .booking-step-circle,
.reservation_tabs.reservation_tabs_numbers_only .reservation_tab .booking-step-link:focus .booking-step-circle{
    border-color:var(--bk-primary);
    color:var(--bk-primary);
    transform:translateY(-1px);
}

/* Admin booking details and MicroGrid polish */
.mgrid_table,
table.mgrid_table,
#mg_table,
table[id^="mg_"]{
    border-collapse:separate !important;
    border-spacing:0 !important;
    border:1px solid var(--bk-line) !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 10px 28px rgba(17,24,39,.06) !important;
}

.mgrid_table th,
table.mgrid_table th,
#mg_table th,
table[id^="mg_"] th{
    background:#f8fafc !important;
    color:var(--bk-navy) !important;
    font-weight:800 !important;
    border-bottom:1px solid var(--bk-line) !important;
    padding:11px 10px !important;
}

.mgrid_table td,
table.mgrid_table td,
#mg_table td,
table[id^="mg_"] td{
    border-bottom:1px solid #edf0f5 !important;
    padding:10px !important;
}

.btn,
input[type="submit"],
button{
    border-radius:10px;
}

.content-page .card-box,
.panel,
.box,
.center_box_content{
    border-radius:18px;
}

@media(max-width:767px){
    .reservation_tabs.reservation_tabs_numbers_only{max-width:100%;margin:10px auto 16px;}
    .reservation_tabs.reservation_tabs_numbers_only .booking-step-circle{width:36px;height:36px;font-size:14px;}
    .reservation_tabs.reservation_tabs_numbers_only td:after,
    .reservation_tabs.reservation_tabs_numbers_only .reservation_tab_active:before{height:3px;}
    .bk-confirm-card,
    .bk-booking-confirmation{border-radius:14px;box-shadow:0 8px 20px rgba(17,24,39,.08);}
    .bk-confirm-card td,
    .bk-booking-confirmation td{display:block;width:100%;text-align:left !important;}
}
