div.ttbm_seat_plan_area{display: none;overflow: auto;}
div.ttbm_seat_plan_area table{width: auto;table-layout: fixed;margin: 0 auto var(--dmp) auto;border: 1px solid #ddd;}
div.ttbm_seat_plan_area table td{width: 60px;vertical-align: middle;border: none;padding: 10px !important;}
div.ttbm_seat_plan_area .seat_available{cursor: pointer;}

div.ttbm_seat_plan_area .seat_available span.seat_handle,
div.ttbm_seat_plan_area .seat_available span[class*="mp_chair_icon"] ::before,
div.ttbm_seat_plan_area .seat_available span[class*="mp_chair_icon"] ::after,
div.ttbm_seat_plan_area .seat_available span{background-color: #CCCCCC;}
div.ttbm_seat_plan_area .seat_selected span.seat_handle,
div.ttbm_seat_plan_area .seat_selected span[class*="mp_chair_icon"] ::before,
div.ttbm_seat_plan_area .seat_selected span[class*="mp_chair_icon"] ::after,
div.ttbm_seat_plan_area .seat_selected span{background-color: var(--color_theme);}
div.ttbm_seat_plan_area .seat_booked{cursor: not-allowed;}
div.ttbm_seat_plan_area .seat_booked span.seat_handle,
div.ttbm_seat_plan_area .seat_booked span[class*="mp_chair_icon"] ::before,
div.ttbm_seat_plan_area .seat_booked span[class*="mp_chair_icon"] ::after,
div.ttbm_seat_plan_area .seat_booked span{background-color: #9c27b0;} /* Red color for sold seats */

/* Add styles for blocked/reserved seats */
div.ttbm_seat_plan_area .seat_blocked{cursor: not-allowed;}
div.ttbm_seat_plan_area .seat_blocked span.seat_handle,
div.ttbm_seat_plan_area .seat_blocked span[class*="mp_chair_icon"] ::before,
div.ttbm_seat_plan_area .seat_blocked span[class*="mp_chair_icon"] ::after,
div.ttbm_seat_plan_area .seat_blocked span{background-color: #9c27b0;} /* Purple color for blocked seats */

/* Add styles for temporary booked seats */
div.ttbm_seat_plan_area .seat_temp_booked{cursor: not-allowed;}
div.ttbm_seat_plan_area .seat_temp_booked span.seat_handle,
div.ttbm_seat_plan_area .seat_temp_booked span[class*="mp_chair_icon"] ::before,
div.ttbm_seat_plan_area .seat_temp_booked span[class*="mp_chair_icon"] ::after,
div.ttbm_seat_plan_area .seat_temp_booked span{background-color: #ff9800;} /* Orange color for temporarily booked seats */

div.ttbm_seat_item{min-width: auto !important;}
.ttbm_seat_plan_area table.ttbm_seat_symbol{border: none;}
.ttbm_seat_plan_area table.ttbm_seat_symbol th{border: none;text-align: center;padding: 5px;}

/* Styles for seat info in order details */
.ttbm-seat-info-order,
.ttbm-seat-info-admin-order {
    margin: 8px 0;
    padding: 5px 0;
    border-top: 1px dotted #ddd;
}

.ttbm-seat-info-order p,
.ttbm-seat-info-admin-order p {
    margin: 0;
    padding: 0;
    font-size: 0.85em;
}

/* Make seat information stand out */
.ttbm-seat-info-order strong,
.ttbm-seat-info-admin-order strong {
    color: #2271b1;
    display: inline-block;
    margin-right: 5px;
}

/* Styles for seat symbols in the legend */
.ttbm_seat_symbol {
    margin-bottom: 15px !important;
    text-align: center;
}

.ttbm_seat_symbol th {
    padding: 5px 10px !important;
    text-align: center;
    vertical-align: middle;
}

/* Make the seat icons in the legend more visible */
.ttbm_seat_symbol .seat_available,
.ttbm_seat_symbol .seat_selected,
.ttbm_seat_symbol .seat_booked,
.ttbm_seat_symbol .seat_blocked {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

/* Add a slight box shadow to make the legend items pop */
.ttbm_seat_symbol .mp_chair_icon {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Add hover effect to make the interactive nature more obvious */
div.ttbm_seat_plan_area .seat_available:hover span.seat_handle,
div.ttbm_seat_plan_area .seat_available:hover span[class*="mp_chair_icon"] ::before,
div.ttbm_seat_plan_area .seat_available:hover span[class*="mp_chair_icon"] ::after,
div.ttbm_seat_plan_area .seat_available:hover span {
    background-color: var(--color_theme_88);
    transform: scale(1.05);
    transition: all 0.2s ease;
}

/* Add responsive styles for small screens */
@media only screen and (max-width: 768px) {
    .ttbm_seat_symbol {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .ttbm_seat_symbol tr {
        display: flex;
        flex-direction: column;
        margin: 0 10px;
    }
}

/* Seat instruction styling */
.seat-instruction {
    margin-top: 15px;
    text-align: center;
    font-style: italic;
    color: #666;
}