.trip-booking-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 16px;
}

.trip-booking-table th,
.trip-booking-table td {
    border: 1px solid #eee;
    padding: 10px 12px;
    text-align: center;
    vertical-align: middle;
}

.trip-booking-table th {
    background: #f7f7f7;
    font-weight: bold;
}

.trip-booking-table .trip-book-btn {
    display: inline-block;
    padding: 6px 18px;
    background: #e74c3c;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    transition: background .2s;
    font-size: 15px;
}
.trip-booking-table .trip-book-btn:hover {
    background: #c0392b;
}

.trip-booking-modal {
    position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 9999;
    display: none;
}
.tb-modal-bg {
    position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.2);
}
.tb-modal-wrap {
    position: relative; margin: 40px auto; background: #fff; border-radius: 10px;
    max-width: 700px; min-width: 320px; padding: 32px 32px 20px 32px; z-index: 2;
    box-shadow: 0 3px 32px rgba(0,0,0,0.18);
}
.tb-modal-close {
    position: absolute; right: 18px; top: 16px; font-size: 28px; color: #333; cursor: pointer;
}
.tb-form-row { display: flex; gap: 16px; margin-bottom: 16px; }
.tb-form-row label { width: 140px; flex-shrink: 0; }
.tb-form-row input, .tb-form-row textarea { flex: 1; padding: 7px 10px; border-radius: 4px; border: 1px solid #ccc; }
.tb-form-row textarea { min-height: 80px; }
.tb-modal-submit {
    display: block; margin: 24px auto 0 auto; background: #e74c3c; color: #fff;
    border: none; border-radius: 4px; padding: 12px 36px; font-size: 16px; cursor: pointer;
}
.tb-modal-submit:hover { background: #c0392b; }
@media (max-width: 600px) {
    .tb-modal-wrap { padding: 16px 4vw 10px 4vw; min-width: 0; }
    .tb-form-row { flex-direction: column; gap: 4px; }
    .tb-form-row label { width: auto; }
}
