body { font-family: 'Poppins', sans-serif; }
/* Custom date input styling to avoid truncation and cramping */
input[type="date"] {
    min-width: 0;
    padding: 0;
}
input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.7;
    padding: 0;
    margin: 0;
    transition: opacity 0.2s ease;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
}

/* =============================================================================
   GUARANTEED 1-PAGE BUS BOARDING PASS & TICKET PRINTING
   ============================================================================= */
@page {
    size: portrait;
    margin: 8mm 10mm;
}

@media print {
    html, body {
        height: auto !important;
        max-height: 100vh !important;
        min-height: 0 !important;
        overflow: hidden !important;
        background: #ffffff !important;
        color: #000000 !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Collapse everything on the page except the printable bus ticket */
    header,
    nav,
    main,
    footer,
    #bus-nav-account-pill,
    #bus-passenger-form,
    #booking-success > div:first-child,
    #booking-success > h4,
    #booking-success > p,
    #booking-success > div:last-child,
    #bus-notice-modal,
    .no-print {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    #passenger-modal {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 auto !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    #passenger-modal > div {
        display: block !important;
        width: 100% !important;
        max-width: 520px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    #booking-success {
        display: block !important;
        padding: 0 !important;
        margin: 0 auto !important;
        width: 100% !important;
    }

    /* Single Page Printable Bus Ticket Card */
    #printable-bus-ticket {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 500px !important;
        margin: 0 auto !important;
        padding: 12px 14px !important;
        background: #ffffff !important;
        color: #0f172a !important;
        border: 2px solid #0f172a !important;
        border-radius: 14px !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        page-break-after: avoid !important;
        break-after: avoid !important;
        page-break-before: avoid !important;
        break-before: avoid !important;
    }

    #printable-bus-ticket * {
        visibility: visible !important;
    }
}
