/* Custom CSS for Bus 60 Seat Reservation System */

/* Bus cabin container styling */
.bus-cabin {
    background: #f8fafc;
    border: 3px solid #cbd5e1;
    border-radius: 40px 40px 16px 16px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
    position: relative;
}

/* Front windshield / head of bus */
.bus-front-cockpit {
    background: linear-gradient(180deg, #1e293b 0%, #334155 100%);
    border-radius: 36px 36px 0 0;
    color: white;
}

/* Seat box animation */
.seat-item {
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
}

.seat-item.seat-available:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
    cursor: pointer;
}

.seat-item.seat-selected {
    transform: scale(1.03);
    box-shadow: 0 0 0 2px #2563eb, 0 4px 12px rgba(37, 99, 235, 0.35);
}

/* Print Specific Rules for Manifest */
@media print {
    /* Hide navigation, buttons, and web footer */
    header, footer, .no-print, button, #mobile-menu {
        display: none !important;
    }

    body {
        background: white !important;
        color: black !important;
        font-size: 11pt !important;
    }

    .print-container {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Keep colors for print */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .page-break {
        page-break-before: always;
    }

    table {
        width: 100% !important;
        border-collapse: collapse !important;
    }

    th, td {
        border: 1px solid #94a3b8 !important;
        padding: 4px 8px !important;
    }
}
