.order-page {
    max-width: 880px;
    margin: 2.5rem auto 4rem;
    padding: 0 1.25rem;
    color: var(--text-primary, #2a2a28);
}

.order-lookup {
    max-width: 480px;
}

.order-detail {
    background: var(--surface-bg, #ffffff);
    border: 1px solid var(--border-color, #d4cfc4);
    border-radius: 12px;
    padding: 1.5rem;
}

.order-detail-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.order-detail-number {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0;
}

.order-status-badge {
    --wb-tone: var(--wb-tone-neutral, #6b7280);
    display: inline-block;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    color: color-mix(in srgb, var(--wb-tone) 78%, var(--text-primary));
    background: color-mix(in srgb, var(--wb-tone) 13%, transparent);
    white-space: nowrap;
}

.order-status-paid,
.order-status-placed,
.order-status-processing { --wb-tone: var(--wb-tone-info, #2563eb); }

.order-status-shipped,
.order-status-completed { --wb-tone: var(--wb-tone-success, #1f8a4c); }

.order-status-pendingpayment { --wb-tone: var(--wb-tone-warning, #b7791f); }

.order-status-paymentfailed { --wb-tone: var(--wb-tone-danger, #c53030); }

.order-detail-tracking {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: var(--surface-muted, #efece5);
}

.order-detail-lines {
    margin-bottom: 1.5rem;
    color: inherit;
}

.order-detail-lines tfoot td {
    border-bottom: none;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.order-detail-grand-total td {
    border-top: 1px solid var(--border-color, #d4cfc4);
    padding-top: 0.6rem !important;
}

.order-detail-parties {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

.order-detail-parties > section {
    min-width: 0;
    overflow-wrap: anywhere;
}

.order-detail-parties a {
    color: inherit;
}

.order-detail-parties h2,
.order-detail-timeline h2 {
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.order-detail-timeline li {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.35rem 0;
    border-bottom: 1px dashed var(--border-color, #d4cfc4);
}

.order-detail-timeline li:last-child {
    border-bottom: none;
}

.order-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.5rem;
}

.pending-order-notice {
    margin-bottom: 1.25rem;
}

@media print {
    header, footer, nav, .site-header, .site-footer, .cookie-consent-banner, .d-print-none, .alert {
        display: none !important;
    }

    .order-page {
        margin: 0;
        max-width: none;
        padding: 0;
    }

    .order-detail {
        border: none;
        padding: 0;
    }

    .order-detail-timeline {
        display: none;
    }
}

/* Admin orders console */
.orders-console .orders-grid-header,
.orders-console .orders-grid-row {
    grid-template-columns: 1.6rem minmax(6rem, 0.8fr) 6.5rem minmax(9rem, 1.4fr) 5.5rem 8.5rem;
    gap: 0.55rem;
}

.orders-console .orders-grid-row {
    height: auto;
    min-height: 3rem;
}

.orders-console .orders-detail .order-detail {
    max-width: none;
    padding: 0;
}
