/* Seating Chart Custom Highlighting */
.tc-group-wrap.tc-table-invalid {
    transition: all 0.3s ease;
}

.tc-group-wrap.tc-table-invalid > rect,
.tc-group-wrap.tc-table-invalid > path,
.tc-group-wrap.tc-table-invalid > circle,
.tc-group-wrap.tc-table-invalid .tc-table-element {
    stroke: #ff4d4d !important;
    stroke-width: 3px !important;
    filter: drop-shadow(0 0 5px rgba(255, 77, 77, 0.6));
}

.tc-group-wrap.tc-table-invalid .tc-heading h3 {
    color: #ff4d4d !important;
    text-shadow: 0 0 3px rgba(255, 77, 77, 0.4);
}

/* Tooltip for invalid tables (Optional enhancement) */
.tc-group-wrap.tc-table-invalid:hover::after {
    content: "Under-filled table";
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    background: #ff4d4d;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    white-space: nowrap;
    z-index: 1000;
}

/* Mobile Optimization */
@media (max-width: 768px) {
    .tc-seating-legend-wrap {
        width: 100% !important;
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
        max-height: 150px;
        overflow-y: auto;
        border-bottom: 2px solid #ddd;
        border-radius: 0;
        box-shadow: none;
    }

    .tc-seating-legend {
        padding: 5px !important;
    }

    .tc-seating-legend ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .tc-seating-legend ul li {
        width: auto !important;
        font-size: 10px !important;
        margin: 0 !important;
    }

    .tc-zoom-wrap {
        left: 10px !important;
        bottom: 70px !important;
        background: rgba(255,255,255,0.9);
        padding: 5px;
        border-radius: 20px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }

    .tc-checkout-bar {
        padding: 10px !important;
        flex-direction: column;
        gap: 10px;
        align-items: center;
        text-align: center;
    }

    .tc-seatchart-subtotal {
        margin: 0 !important;
    }

    .tc_seating_map_button {
        width: 100% !important;
        padding: 15px !important;
        font-size: 16px !important;
    }

    /* Fullscreen map improvements */
    .tc-wrapper.tc-map-fullscreen {
        height: 100vh !important;
        width: 100vw !important;
    }
}
