/*
|--------------------------------------------------------------------------
| Cruise Schedule Table
|--------------------------------------------------------------------------
*/

.qcb-filters{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
margin-bottom:25px;
}

.qcb-filters select{
width:100%;
height:55px;
padding:0 15px;
border:1px solid #ddd;
border-radius:8px;
background:#fff;
font-size:15px;
}

.qcb-filters select{
height:48px;
padding:0 15px;
border:1px solid #ddd;
border-radius:8px;
background:#fff;
min-width:180px;
font-size:14px;
}

.qcb-table{
width:100%;
border-collapse:collapse;
background:#fff;
box-shadow:0 10px 25px rgba(0,0,0,.05);
overflow:hidden;
border-radius:12px;
}

.qcb-table thead{
background:#001135;
}

.qcb-table thead th{
color:#fff;
padding:18px 15px;
font-size:14px;
font-weight:600;
text-align:left;
}

.qcb-table tbody td{
padding:18px 15px;
border-bottom:1px solid #ececec;
font-size:14px;
vertical-align:middle;
}

.qcb-table tbody tr:hover{
background:#f7f8fa;
}

.qcb-table tbody tr:last-child td{
border-bottom:none;
}

/*
|--------------------------------------------------------------------------
| Buttons
|--------------------------------------------------------------------------
*/

.qcb-book,
.qcb-request,
.qcb-full{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 20px;
border-radius:8px;
font-size:13px;
font-weight:700;
text-decoration:none;
transition:.3s;
min-width:110px;
}

.qcb-book{
background:#0c8a43;
color:#fff;
}

.qcb-book:hover{
opacity:.9;
color:#fff;
}

.qcb-request{
background:#d58c00;
color:#fff;
}

.qcb-request:hover{
opacity:.9;
color:#fff;
}

.qcb-full{
background:#cf3131;
color:#fff;
pointer-events:none;
}

.qcb-full:hover{
color:#fff;
}

/*
|--------------------------------------------------------------------------
| Single Cruise
|--------------------------------------------------------------------------
*/

.qcb-single-hero{
position:relative;
min-height:550px;
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
}

.qcb-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
}

.qcb-container{
width:90%;
max-width:1200px;
margin:auto;
position:relative;
z-index:2;
}

.qcb-hero-content{
text-align:center;
color:#fff;
}

.qcb-badge{
display:inline-block;
padding:8px 18px;
background:#c9a15b;
color:#fff;
border-radius:30px;
margin-bottom:20px;
font-size:13px;
font-weight:600;
}

.qcb-hero-content h1{
font-size:56px;
margin:0 0 15px;
color:#fff;
line-height:1.2;
}

.qcb-hero-content p{
font-size:18px;
max-width:700px;
margin:auto;
}

.qcb-details-section{
padding:80px 0;
background:#f6f8fb;
}

.qcb-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.qcb-info-card,
.qcb-form-card{
background:#fff;
border-radius:18px;
padding:35px;
box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.qcb-info-card h2{
margin-bottom:25px;
font-size:28px;
}

.qcb-info-list{
display:flex;
flex-direction:column;
gap:18px;
}

.qcb-info-item{
display:flex;
justify-content:space-between;
align-items:center;
padding-bottom:15px;
border-bottom:1px solid #ececec;
}

.qcb-info-item span{
color:#777;
font-size:14px;
}

.qcb-info-item strong{
font-size:15px;
color:#111;
}

/*
|--------------------------------------------------------------------------
| Booking Form
|--------------------------------------------------------------------------
*/

.qcb-booking-form h3{
margin-bottom:20px;
font-size:28px;
}

.qcb-booking-form form{
display:flex;
flex-direction:column;
gap:15px;
}

.qcb-booking-form input,
.qcb-booking-form textarea{
width:100%;
padding:14px 16px;
border:1px solid #ddd;
border-radius:10px;
font-size:15px;
background:#fff;
transition:.3s;
}

.qcb-booking-form textarea{
resize:vertical;
min-height:140px;
}

.qcb-booking-form input:focus,
.qcb-booking-form textarea:focus{
outline:none;
border-color:#c9a15b;
}

.qcb-booking-form button{
height:55px;
border:none;
border-radius:10px;
background:#c9a15b;
color:#fff;
font-size:16px;
font-weight:700;
cursor:pointer;
transition:.3s;
}

.qcb-booking-form button:hover{
opacity:.9;
}

.qcb-booking-wrapper{
display:block;
}

/*
|--------------------------------------------------------------------------
| Admin Details Table
|--------------------------------------------------------------------------
*/

.qcb-admin-table{
width:100%;
border-collapse:collapse;
}

.qcb-admin-table td,
.qcb-admin-table th{
padding:12px;
border:1px solid #ddd;
}

/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media(max-width:991px){

.qcb-grid{
grid-template-columns:1fr;
}

.qcb-hero-content h1{
font-size:38px;
}

.qcb-details-section{
padding:50px 0;
}

}

@media(max-width:767px){

.qcb-filters{
grid-template-columns:1fr;
}

.qcb-filters select{
width:100%;
}

.qcb-table{
display:block;
overflow-x:auto;
}

.qcb-single-hero{
min-height:380px;
}

.qcb-hero-content h1{
font-size:30px;
}

.qcb-hero-content p{
font-size:15px;
}

.qcb-info-item{
flex-direction:column;
align-items:flex-start;
gap:5px;
}

.qcb-info-card,
.qcb-form-card{
padding:25px;
}

}