/* /static/assets/css/boarding_pass.css */

.boarding-wrapper {
    max-width: 960px;
    margin: 1.5rem auto;
}

/* Main card */
.boarding-pass-card {
    background: #020617;
    border-radius: 16px;
    padding: 20px;
    border: 1px solid #1e293b;
    color: #e5e7eb;
}

/* Header: route + QR */
.boarding-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    border-bottom: 1px dashed #334155;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.boarding-route {
    font-size: 1.25rem;
    font-weight: 600;
}

.boarding-route-kind {
    font-size: 0.9rem;
    opacity: 0.7;
    margin-left: 4px;
}

.boarding-meta {
    font-size: 0.9rem;
    color: #cbd5f5;
    margin-top: 4px;
}

.boarding-qr {
    min-width: 120px;
    text-align: right;
}

    .boarding-qr small {
        display: block;
        margin-top: 4px;
        opacity: 0.7;
    }

/* Grid for key details */
.boarding-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.boarding-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9ca3af;
}

.boarding-value {
    font-size: 0.95rem;
}

/* Divider + section headings */
.boarding-divider {
    border-color: #1e293b;
    opacity: 0.6;
    margin: 12px 0;
}

.boarding-section-title {
    margin-bottom: 8px;
}

/* Fare summary grid */
.boarding-fares {
    display: grid;
    grid-template-columns: 1fr auto;
    row-gap: 4px;
    max-width: 260px;
}

.boarding-fares-separator {
    border-top: 1px solid #334155;
    margin-top: 4px;
}

/* Issued at text */
.boarding-issued-at {
    margin-top: 12px;
    font-size: 0.85rem;
    color: #9ca3af;
}

/* Actions row */
.boarding-actions {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 1rem;
}

.boarding-actions-right {
    display: flex;
    gap: 8px;
}

/* Responsive tweaks */
@media (max-width: 640px) {
    .boarding-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .boarding-qr {
        text-align: left;
    }

    .boarding-grid-2 {
        grid-template-columns: 1fr;
    }

    .boarding-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .boarding-actions-right {
        justify-content: flex-end;
    }
}

/* Print styles */
@media print {
    header,
    nav,
    .boarding-actions,
    .alert,
    .btn,
    .flash,
    .page-footer,
    footer,
    #footer,
    .footer {
        display: none !important;
    }

    body {
        background: #ffffff;
    }

    .boarding-wrapper {
        margin: 0;
        max-width: none;
    }

    .boarding-pass-card {
        border: none;
        border-radius: 0;
        background: #ffffff;
        color: #000000;
    }

    .table {
        width: 100%;
        border-collapse: collapse;
    }

        .table th,
        .table td {
            border: 1px solid #d1d5db;
            padding: 4px 6px;
            font-size: 0.85rem;
        }
}