/* ==========================================
BOOKINGS HEADER
========================================== */

.wc-bookings-page .wc-page-header{

    margin-bottom:35px;

}

.wc-bookings-page .wc-page-header__content{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.wc-bookings-page .wc-page-header__title{

    margin:0;

    font-size:40px;

    font-weight:700;

}

.wc-bookings-page .wc-page-header__description{

    margin:0;

    color:#6b7280;

}

/* ==========================================
EMPTY STATE
========================================== */

.wc-empty-state{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:70px 30px;
}

.wc-empty-state__icon{
    width:72px;
    height:72px;
    border-radius:50%;
    background:#f8f5ef;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    margin-bottom:20px;
}

.wc-empty-state__title{
    margin:0 0 10px;
    font-size:24px;
    font-weight:700;
}

.wc-empty-state__description{
    margin:0;
    color:#6b7280;
    max-width:420px;
    line-height:1.6;
}

/* ======================================================
   BOOKINGS PAGE
====================================================== */

.wc-bookings-page .wc-card{
    border-radius:16px;
    padding:28px;
    border:1px solid #ececec;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
    margin-bottom:30px;
}

/* ======================================================
   FORM
====================================================== */

.wc-bookings-page .wc-form{
    margin:0;
}

.wc-bookings-page .wc-form-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-bottom:24px;
}

.wc-bookings-page .wc-form-group{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:24px;
}

.wc-bookings-page .wc-form-label{
    font-size:14px;
    font-weight:600;
    color:#374151;
}

.wc-bookings-page .wc-input,
.wc-bookings-page .wc-select{
    width:100%;
    height:48px;
    padding:0 16px;
    border:1px solid #d9dee7;
    border-radius:10px;
    background:#fff;
    transition:.25s;
    font-size:14px;
}

.wc-bookings-page .wc-textarea{
    width:100%;
    min-height:140px;
    padding:14px 16px;
    border:1px solid #d9dee7;
    border-radius:10px;
    resize:vertical;
    transition:.25s;
    font-size:14px;
}

.wc-bookings-page .wc-input:focus,
.wc-bookings-page .wc-select:focus,
.wc-bookings-page .wc-textarea:focus{
    outline:none;
    border-color:#c59a57;
    box-shadow:0 0 0 3px rgba(197,154,87,.15);
}

.wc-bookings-page .wc-form-actions{
    margin-top:10px;
}

/* ======================================================
   BUTTONS
====================================================== */

.wc-bookings-page .wc-button{
    min-height:40px;
    padding:0 18px;
    border-radius:10px;
    font-weight:600;
    transition:.25s;
}

.wc-bookings-page .wc-button--primary:hover{
    transform:translateY(-1px);
}

.wc-bookings-page .wc-button--danger{
    border:1px solid #dc2626;
}

.wc-bookings-page .wc-button--danger:hover{
    transform:translateY(-1px);
}

/* ======================================================
   TABLE
====================================================== */

.wc-bookings-page .wc-table{
    border-collapse:collapse;
}

.wc-bookings-page .wc-table thead th{
    padding:18px 20px;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.wc-bookings-page .wc-table tbody td{
    padding:20px;
    vertical-align:middle;
}

.wc-bookings-page .wc-table tbody tr{
    transition:.25s;
}

.wc-bookings-page .wc-table tbody tr:hover{
    background:#fcfaf6;
}

.wc-bookings-page .wc-table-meta{
    margin-top:6px;
    color:#6b7280;
    font-size:13px;
}

/* ======================================================
   STATUS
====================================================== */

.wc-bookings-page .wc-booking-status-form{
    display:flex;
    align-items:center;
    gap:10px;
}

.wc-bookings-page .wc-booking-status-form .wc-select{
    min-width:170px;
    margin:0;
}

/* ======================================================
   ACTIONS
====================================================== */

.wc-bookings-page .wc-actions{
    display:flex;
    gap:8px;
    align-items:center;
}

/* ======================================================
   EMPTY STATE
====================================================== */

.wc-bookings-page .wc-empty-state{
    text-align:center;
    padding:70px 30px;
}

.wc-bookings-page .wc-empty-state__icon{
    width:70px;
    height:70px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7f4ee;
    font-size:32px;
    margin:0 auto 20px;
}

.wc-bookings-page .wc-empty-state__title{
    margin:0 0 10px;
    font-size:24px;
    font-weight:700;
}

.wc-bookings-page .wc-empty-state__description{
    margin:0;
    color:#6b7280;
}

/* ======================================================
   MOBILE
====================================================== */

@media(max-width:768px){

    .wc-bookings-page .wc-form-row{
        grid-template-columns:1fr;
    }

    .wc-bookings-page .wc-booking-status-form{
        flex-direction:column;
        align-items:stretch;
    }

    .wc-bookings-page .wc-booking-status-form .wc-select{
        width:100%;
    }

}

/* ======================================================
   EMPTY BOOKINGS
====================================================== */

.wc-empty-bookings-card{
    padding:0;
}

.wc-empty-state__actions{
    margin-top:30px;
}

.wc-empty-state .dashicons{
    font-size:34px;
    width:34px;
    height:34px;
    line-height:34px;
}

.wc-empty-state .wc-button{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

/* ======================================================
   BOOKINGS LAYOUT
====================================================== */

.wc-bookings-content{
    display:flex;
    flex-direction:column;
    gap:32px;
}

#wc-booking-form{
    scroll-margin-top:30px;
}

.wc-bookings-list{
    display:block;
}

.wc-card-header{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:24px;
    padding-bottom:18px;
    border-bottom:1px solid #ececec;
}

.wc-card-title{
    margin:0;
    font-size:22px;
    font-weight:700;
    color:#111827;
}

.wc-card-description{
    margin:0;
    color:#6b7280;
    line-height:1.6;
}

/* ======================================================
   BOOKING ROW IMPROVEMENTS
====================================================== */

.wc-booking-row td{
    vertical-align:middle;
    padding:22px 20px;
}

.wc-booking-date__value{
    font-weight:600;
    color:#111827;
    white-space:nowrap;
}

.wc-booking-customer__name{
    font-size:15px;
    font-weight:600;
    color:#111827;
}

.wc-booking-email__link{
    color:#2563eb;
    text-decoration:none;
    transition:.2s;
}

.wc-booking-email__link:hover{
    text-decoration:underline;
}

.wc-booking-total__price{
    font-size:16px;
    font-weight:700;
    color:#111827;
}

.wc-booking-status-wrapper{
    display:flex;
    align-items:center;
    gap:10px;
}

.wc-booking-status-wrapper .wc-select{
    min-width:170px;
}

.wc-booking-actions{
    white-space:nowrap;
}

.wc-table-meta{
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:6px;
    font-size:13px;
    color:#6b7280;
}

.wc-table-meta .dashicons{
    font-size:15px;
    width:15px;
    height:15px;
    line-height:15px;
}

/* ======================================================
   BUTTON IMPROVEMENTS
====================================================== */

.wc-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.wc-button--sm{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.wc-button .dashicons{
    width:16px;
    height:16px;
    line-height:16px;
    font-size:16px;
}

/* ======================================================
   TABLE POLISH
====================================================== */

.wc-table thead th{
    background:#fafafa;
    border-bottom:1px solid #ececec;
}

.wc-table tbody tr{
    transition:background .25s ease;
}

.wc-table tbody tr:hover{
    background:#fcfaf6;
}

.wc-table tbody td{
    border-bottom:1px solid #f3f4f6;
}

/* ======================================================
   RESPONSIVE
====================================================== */

@media (max-width:768px){

    .wc-booking-status-wrapper{
        flex-direction:column;
        align-items:stretch;
    }

    .wc-booking-status-wrapper .wc-select{
        width:100%;
    }

    .wc-actions{
        width:100%;
    }

    .wc-actions .wc-button{
        width:100%;
        justify-content:center;
    }

}

/* ==========================================
BOOKING SAVE BUTTON
========================================== */

.wc-booking-status-wrapper .wc-button--secondary{

    background:#c59a57;
    border:1px solid #c59a57;
    color:#fff;

    transition:.25s ease;

}

.wc-booking-status-wrapper .wc-button--secondary:hover{

    background:#b38747;
    border-color:#b38747;
    color:#fff;

    transform:translateY(-1px);

}

.wc-booking-status-wrapper .wc-button--secondary:focus{

    outline:none;
    box-shadow:0 0 0 4px rgba(197,154,87,.20);

}

.wc-booking-status-wrapper .wc-button{

    min-width:140px;
    height:44px;
    border-radius:10px;
    font-weight:600;

}

.wc-booking-status-wrapper .wc-select{

    height:44px;

}

/* Booking status management */
.wc-booking-status-current{
	display:inline-flex;
	align-items:center;
	width:max-content;
	margin-bottom:8px;
	padding:5px 10px;
	border-radius:999px;
	font-size:12px;
	font-weight:700;
	line-height:1.2;
	background:#f4f4f4;
	color:#344054;
}

.wc-booking-status--pending{
	background:#fff6df;
	color:#9a6700;
}

.wc-booking-status--confirmed{
	background:#eaf8ef;
	color:#207a3c;
}

.wc-booking-status--completed{
	background:#eaf2ff;
	color:#2457a6;
}

.wc-booking-status--cancelled,
.wc-booking-status--rejected{
	background:#fff0f0;
	color:#a33a3a;
}

.wc-booking-quick-actions{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:8px;
}

.wc-booking-quick-actions form{
	margin:0;
}

.wc-booking-notes{
	max-width:240px;
	white-space:normal;
}

.wc-booking-status-form{
	margin-bottom:4px;
}

@media (max-width: 900px){
	.wc-booking-quick-actions{
		flex-direction:column;
		align-items:stretch;
	}

	.wc-booking-quick-actions .wc-button{
		width:100%;
	}
}
