/**
 * Reply / message surfaces — guaranteed readable contrast via --reply-* tokens.
 * Loaded last (site_theme_tail / admin_theme_tail) to override page theme bleed.
 */

/* ── Core reply surface ── */
.reply-surface,
.delivery-card__content,
.response-card__content,
.reply-block,
.reply-block--surface,
.notif-card__copy-pre,
.order-row__value--reply,
.admin-reply-preview {
    background: var(--reply-bg) !important;
    color: var(--reply-text) !important;
    border: 1px solid var(--reply-border) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.delivery-card__title,
.response-card__title {
    color: var(--dash-heading, var(--reply-text)) !important;
}

/* Inner text/code blocks inside reply boxes */
.delivery-card__content .delivery-code-value,
.delivery-card__content .delivery-text-multiline,
.delivery-card__content pre,
.delivery-card__content .delivery-value,
.delivery-card__content .delivery-key,
.delivery-card__content .delivery-url-text,
.delivery-card__content .replay-empty,
.delivery-card__content .json-display,
.response-card__content .response-text,
.response-card__content pre,
.reply-block .reply-preview,
.notif-card__copy-pre,
.order-row__value--reply {
    background: var(--reply-code-bg) !important;
    color: var(--reply-text) !important;
    border: 1px solid var(--reply-border) !important;
}

.delivery-card__content .replay-empty,
.delivery-card__content .delivery-url-text,
.reply-block .reply-muted,
.response-card__content .reply-muted {
    color: var(--reply-muted) !important;
}

.delivery-card__content .delivery-item--url .delivery-link,
.delivery-card__content a.delivery-link:not(.button),
.response-card__content a:not(.button) {
    color: var(--reply-link) !important;
}

.delivery-card__content .delivery-item,
.response-card__content .delivery-item {
    border-bottom-color: var(--reply-border) !important;
}

.delivery-card__content .button--ghost,
.response-card__content .button--ghost,
.reply-block .button--ghost {
    color: var(--reply-text) !important;
    border-color: var(--reply-border) !important;
    background: transparent !important;
}

.delivery-card__content .button--primary,
.response-card__content .button--primary,
.reply-block .button--primary {
    color: var(--button-text, #fff) !important;
}

/* Prevent global theme from forcing page text color inside reply surfaces */
.delivery-card__content *,
.response-card__content *,
.reply-surface *,
.reply-block--surface * {
    border-color: inherit;
}

.delivery-card__content :where(p, span, div, li, td, th, label, pre, code):not(.button):not(.button--primary):not(.button--ghost),
.response-card__content :where(p, span, div, li, td, th, label, pre, code):not(.button):not(.button--primary):not(.button--ghost),
.reply-surface :where(p, span, div, li, label, pre, code):not(.button) {
    color: inherit;
}

/* Order details v2 overrides from theme-pages / orders-ui */
.order-details-v2 .delivery-card__content,
.order-details-page .delivery-card__content {
    background: var(--reply-bg) !important;
    color: var(--reply-text) !important;
    border-color: var(--reply-border) !important;
    box-shadow: none;
}

.order-details-v2 .delivery-card {
    color: var(--dash-heading, var(--reply-text));
}

.order-details-v2 .delivery-card__title {
    color: var(--dash-heading, var(--reply-text)) !important;
}

/* Notifications reply image caption area */
.notif-card__image-wrap--reply {
    border: 1px solid var(--reply-border);
    border-radius: 10px;
    overflow: hidden;
}

.notif-card__copy-pre {
    padding: 0.75rem 1rem;
    border-radius: 8px;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, monospace;
    font-size: 0.88rem;
    margin: 0.5rem 0 0;
}

/* Admin reply form blocks */
body.admin .reply-block {
    background: var(--reply-bg, var(--admin-card)) !important;
    color: var(--reply-text, var(--admin-text)) !important;
    border-color: var(--reply-border, var(--admin-card-border)) !important;
}

body.admin .reply-block__title,
body.admin .reply-block__row label,
body.admin .reply-field label {
    color: var(--reply-text, var(--admin-heading)) !important;
}

body.admin .reply-field textarea,
body.admin .reply-field input[type="url"],
body.admin .reply-field input[type="text"],
body.admin .reply-block__row select {
    background: var(--reply-code-bg, var(--admin-bg-subtle)) !important;
    color: var(--reply-text, var(--admin-text)) !important;
    border-color: var(--reply-border, var(--admin-card-border)) !important;
}

/* Private chat incoming bubble readability in dark mode */
html.dark .wa-bubble--other,
html.theme-dark .wa-bubble--other {
    background: var(--reply-bg) !important;
    color: var(--reply-text) !important;
}

html.dark .wa-bubble--mine,
html.theme-dark .wa-bubble--mine {
    color: #111827 !important;
}

.delivery-image-wrap {
    background: var(--reply-code-bg) !important;
    border: 1px solid var(--reply-border);
}

@media (max-width: 480px) {
    .delivery-card__content,
    .response-card__content,
    .reply-surface {
        padding: 0.85rem 1rem !important;
    }
}

@media print {
    .delivery-card__content,
    .response-card__content {
        background: #fff !important;
        color: #111827 !important;
        border: 1px solid #e5e7eb !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .delivery-card__content .delivery-code-value,
    .delivery-card__content .delivery-text-multiline {
        background: #f3f4f6 !important;
        color: #111827 !important;
    }
}
