.vdct-cart,
.vdct-checkout,
.vdct-order-received,
.vdct-customer-area,
.vdct-tickets,
.vdct-checkin {
    --vdct-shadow: 0 18px 50px rgba(77, 22, 44, .09);
    box-sizing: border-box;
    color: var(--vdct-text, #231b20);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.vdct-plugin-page .entry-header { display: none; }
.vdct-plugin-page .site-content { background: var(--vdct-background, #fff6f8); }
.vdct-plugin-page .site-content > .ast-container { max-width: none; padding-bottom: clamp(42px, 7vw, 90px); padding-top: clamp(24px, 5vw, 64px); }
.vdct-plugin-page .entry-content { margin: 0; }

.vdct-cart *,
.vdct-checkout *,
.vdct-order-received *,
.vdct-customer-area *,
.vdct-tickets *,
.vdct-checkin * { box-sizing: border-box; }

.vdct-cart h1, .vdct-cart h2, .vdct-cart h3,
.vdct-checkout h1, .vdct-checkout h2, .vdct-checkout h3,
.vdct-order-received h1, .vdct-order-received h2, .vdct-order-received h3,
.vdct-customer-area h1, .vdct-customer-area h2, .vdct-customer-area h3,
.vdct-tickets h1, .vdct-tickets h2, .vdct-tickets h3,
.vdct-checkin h1, .vdct-checkin h2, .vdct-checkin h3 { color: var(--vdct-text, #231b20); letter-spacing: -.025em; }

.vdct-cart input,
.vdct-cart select,
.vdct-checkout input,
.vdct-checkout select,
.vdct-checkin input {
    border: 1px solid color-mix(in srgb, var(--vdct-text, #231b20) 18%, transparent);
    border-radius: calc(var(--vdct-radius, 16px) * .55);
    background: var(--vdct-surface, #fff);
    color: var(--vdct-text, #231b20);
    font: inherit;
    min-height: 44px;
    outline: none;
    padding: .65rem .8rem;
    transition: border-color .2s, box-shadow .2s;
}

.vdct-cart input:focus,
.vdct-checkout input:focus,
.vdct-checkin input:focus {
    border-color: var(--vdct-primary, #e72d6d);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--vdct-primary, #e72d6d) 16%, transparent);
}

.vdct-button,
.vdct-checkout__submit,
.vdct-customer-button,
.vdct-ticket__link,
.vdct-checkin__primary,
.vdct-checkin__confirm {
    background: linear-gradient(135deg, var(--vdct-primary, #e72d6d), var(--vdct-primary-dark, #bd174e));
    border: 0;
    border-radius: calc(var(--vdct-radius, 16px) * .6);
    box-shadow: 0 8px 22px color-mix(in srgb, var(--vdct-primary, #e72d6d) 24%, transparent);
    color: #fff;
    font-weight: 750;
    text-decoration: none;
    transition: transform .18s, box-shadow .18s, filter .18s;
}

.vdct-button:hover,
.vdct-checkout__submit:hover,
.vdct-customer-button:hover,
.vdct-ticket__link:hover,
.vdct-checkin__primary:hover,
.vdct-checkin__confirm:hover {
    color: #fff;
    filter: saturate(1.08);
    transform: translateY(-1px);
}

.vdct-button:focus-visible,
.vdct-checkout__submit:focus-visible,
.vdct-customer-button:focus-visible,
.vdct-ticket__link:focus-visible,
.vdct-checkin__primary:focus-visible,
.vdct-checkin__confirm:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--vdct-primary, #e72d6d) 30%, #fff);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .vdct-cart *, .vdct-checkout *, .vdct-order-received *, .vdct-customer-area *, .vdct-tickets *, .vdct-checkin * { transition: none !important; }
}
