/*
 * ss-invoice — Order confirmation + invoice / order-detail layout
 *
 * Used for:
 *   - Storefront /checkout/onepage/success
 *   - Storefront /sales/order/view
 *   - PDF invoice via HTML → PDF (identical CSS renders both)
 *
 * Mobile-first: everything stacks.
 * ≥900px:      2-column split (items left, addresses+summary right).
 */

.ss-invoice {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
    max-width: 1000px;
    margin: 0 auto;
    padding: var(--space-4);
}

.ss-invoice__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-3);
    flex-wrap: wrap;
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--border-divider);
}

.ss-invoice__title {
    margin: 0;
    font-size: var(--text-xl);
    font-weight: var(--weight-bold);
}
.ss-invoice__title-num {
    display: block;
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
    color: var(--text-muted);
    margin-top: var(--space-1);
}

.ss-invoice__meta {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
    font-size: var(--text-sm);
    color: var(--text-muted);
}
.ss-invoice__meta-item strong {
    display: block;
    font-family: var(--font-mono);
    color: var(--text-primary);
    font-weight: var(--weight-semibold);
}

.ss-invoice__status {
    margin-left: auto;
}

/* ── Addresses (bill + ship) ──────────────────────────────────── */

.ss-invoice__addresses {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
}
@media (min-width: 640px) {
    .ss-invoice__addresses { grid-template-columns: 1fr 1fr; }
}

.ss-invoice__address {
    padding: var(--space-3);
    background: var(--bg-card-dim);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    line-height: var(--leading-base);
}
.ss-invoice__address h4 {
    margin: 0 0 var(--space-2);
    font-size: var(--text-xs);
    font-weight: var(--weight-bold);
    color: var(--text-section);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* ── Items area — reuses ss-table ─────────────────────────────── */

.ss-invoice__items {
    /* Table component handles the rest — ss-table applies here */
}

/* ── Totals block ─────────────────────────────────────────────── */

.ss-invoice__totals {
    margin-left: auto;
    width: 100%;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-4);
    background: var(--bg-card);
    border: 1px solid var(--border-card);
    border-radius: var(--radius-md);
}
.ss-invoice__totals-line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: var(--text-base);
    color: var(--text-muted);
}
.ss-invoice__totals-line dd { font-family: var(--font-mono); color: var(--text-primary); font-variant-numeric: tabular-nums; margin: 0; }
.ss-invoice__totals-line--grand {
    padding-top: var(--space-2);
    margin-top: var(--space-2);
    border-top: 1px solid var(--border-divider);
    font-size: var(--text-lg);
    font-weight: var(--weight-bold);
    color: var(--text-primary);
}
.ss-invoice__totals-line--grand dd { font-size: var(--text-xl); }

/* ── Actions row ──────────────────────────────────────────────── */

.ss-invoice__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    flex-wrap: wrap;
}

/* ── Print styles — clean paper output ────────────────────────── */

@media print {
    .ss-invoice { max-width: none; padding: 0; }
    .ss-invoice__actions { display: none; }
    body { background: #fff; color: #000; }
    .ss-card, .ss-invoice__totals { border: 1px solid #ccc; box-shadow: none; }
}
