/* VoxAudio Public-D2 commerce UI foundation — v1.7.1 */
:root {
    --vac-bg: #f6f1e9;
    --vac-surface: #fffdf9;
    --vac-surface-soft: #fbf6ef;
    --vac-text: #2e2925;
    --vac-muted: #746b63;
    --vac-border: #e2d8cc;
    --vac-accent: #8f3f3f;
    --vac-accent-strong: #71302f;
    --vac-accent-soft: #f4e3df;
    --vac-copper: #a86845;
    --vac-success: #2f7654;
    --vac-warning: #93611e;
    --vac-danger: #a13838;
    --vac-shadow: 0 18px 48px rgba(73, 52, 38, .11);
}

.voxaudio-commerce-page {
    min-height: 100vh;
    color: var(--vac-text);
    background: var(--vac-bg);
}

.voxaudio-commerce-page :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(143, 63, 63, .3);
    outline-offset: 3px;
}

.voxaudio-commerce-page :where(h1, h2, h3) {
    color: var(--vac-text);
}

.voxaudio-commerce-page .hero {
    padding-top: clamp(34px, 6vw, 68px);
}

.voxaudio-commerce-page .eyebrow {
    color: var(--vac-accent-strong);
    background: var(--vac-accent-soft);
    border-color: #e5c4bd;
}

.voxaudio-commerce-page .dot {
    background: var(--vac-copper);
    box-shadow: 0 0 0 5px rgba(168, 104, 69, .13);
}

.voxaudio-commerce-page :where(.lead, .small, .muted) {
    color: var(--vac-muted);
}

.voxaudio-commerce-page .btn {
    min-height: 46px;
    color: var(--vac-text);
    background: var(--vac-surface-soft);
    border: 1px solid var(--vac-border);
}

.voxaudio-commerce-page .btn-primary {
    min-height: 48px;
    color: #fff;
    background: var(--vac-accent);
    border-color: var(--vac-accent);
    box-shadow: 0 12px 28px rgba(113, 48, 47, .2);
}

.voxaudio-commerce-page .btn-primary:hover {
    background: var(--vac-accent-strong);
}

/* Subscription plans */
.voxaudio-subscriptions-page .plans {
    gap: 18px;
}

.voxaudio-subscriptions-page .plan {
    color: var(--vac-text);
    background: var(--vac-surface);
    border-color: var(--vac-border);
    box-shadow: var(--vac-shadow);
}

.voxaudio-subscriptions-page .plan.recommended {
    border-color: #c98979;
    box-shadow: 0 22px 58px rgba(113, 48, 47, .15);
}

.voxaudio-subscriptions-page .tag {
    color: var(--vac-success);
    background: #e4f3e8;
    border-color: #b9d9c3;
}

.voxaudio-subscriptions-page .discount { color: var(--vac-warning); }
.voxaudio-subscriptions-page .save { color: var(--vac-success); }
.voxaudio-subscriptions-page .price { color: var(--vac-accent-strong); }

.voxaudio-subscriptions-page .note {
    color: var(--vac-muted);
    background: var(--vac-surface);
    border-color: var(--vac-border);
    box-shadow: var(--vac-shadow);
}

/* Public gift checkout */
.voxaudio-gifts-page .panel {
    color: var(--vac-text);
    background: var(--vac-surface);
    border-color: var(--vac-border);
    box-shadow: var(--vac-shadow);
}

.voxaudio-gifts-page label { color: #514942; }

.voxaudio-gifts-page :where(select, input, textarea) {
    min-height: 48px;
    color: var(--vac-text);
    background: #fff;
    border-color: #cfc2b5;
}

.voxaudio-gifts-page textarea { min-height: 104px; }

.voxaudio-gifts-page :where(select, input, textarea):focus {
    border-color: var(--vac-accent);
    box-shadow: 0 0 0 4px rgba(143, 63, 63, .12);
}

.voxaudio-gifts-page .error {
    color: var(--vac-danger);
    background: #fff1ee;
    border-color: #e8bdb5;
}

/* Digital goods consent appears inside subscription and gift forms. */
.voxaudio-commerce-page .digital-consent {
    color: var(--vac-muted);
    background: var(--vac-surface-soft);
    border-color: #dfd2c5;
}

.voxaudio-commerce-page .digital-consent a {
    color: var(--vac-accent-strong);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.voxaudio-commerce-page .digital-consent-error { color: var(--vac-danger); }

/* Checkout success, pending, cancel and unavailable states. */
.voxaudio-checkout-page {
    padding: clamp(20px, 5vw, 56px) 18px;
}

.voxaudio-checkout-page > .card,
.voxaudio-checkout-page > main.card {
    color: var(--vac-text);
    background: var(--vac-surface);
    border-color: var(--vac-border);
    box-shadow: var(--vac-shadow);
}

.voxaudio-checkout-page .card > p,
.voxaudio-checkout-page .book .author,
.voxaudio-checkout-page .meta,
.voxaudio-checkout-page .line {
    color: var(--vac-muted);
}

.voxaudio-checkout-page :where(.book, .box) {
    color: var(--vac-text);
    background: var(--vac-surface-soft);
    border-color: var(--vac-border);
}

.voxaudio-checkout-page .line { border-color: var(--vac-border); }
.voxaudio-checkout-page :where(.line b, .meta b) { color: var(--vac-text); }
.voxaudio-checkout-page .cover { background: #e9dfd4; }

.voxaudio-checkout-page .mark {
    color: var(--vac-warning);
    background: #fff3d9;
    border-color: #ead09d;
}

.voxaudio-checkout-page .mark.paid,
.voxaudio-checkout-page .mark.ok {
    color: var(--vac-success);
    background: #e4f3e8;
    border-color: #b9d9c3;
}

.voxaudio-checkout-page :where(.mark.failed, .mark.cancelled, .mark.unknown, .mark.bad) {
    color: var(--vac-danger);
    background: #fff1ee;
    border-color: #e8bdb5;
}

.voxaudio-checkout-page .note {
    color: var(--vac-warning);
    background: #fff3d9;
    border-color: #ead09d;
}

.voxaudio-checkout-page .checkout-footer { color: var(--vac-muted); }

.voxaudio-checkout-page .checkout-footer a {
    color: var(--vac-accent-strong);
    background: var(--vac-accent-soft);
    border-color: #e5c4bd;
}

@media (max-width: 720px) {
    .voxaudio-subscriptions-page .plans,
    .voxaudio-gifts-page .grid {
        grid-template-columns: 1fr;
    }

    .voxaudio-commerce-page .hero { padding-top: 28px; }

    .voxaudio-commerce-page :where(.plan, .panel, .card) {
        border-radius: 22px;
    }

    .voxaudio-commerce-page .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .voxaudio-commerce-page * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
