/**
 * Code Order — dark theme bridge
 *
 * Themes (e.g. Codeon restaurant) set html[data-theme="dark"].
 * Plugin UIs use light-only colors; this sheet maps them to theme tokens when present:
 *   --bg-card, --bg-secondary, --text-primary, --text-secondary, --border-color
 * Fallbacks match codeon-theme-restaurant/assets/css/tokens.css [data-theme="dark"].
 */

html[data-theme="dark"] {
    color-scheme: dark;
    /* Classic checkout (overrides inline :root vars from PHP when dark) */
    --code-order-chk-border: var(--border-color, #2c2c2e);
    --code-order-chk-surface: var(--bg-card, #141416);
    --code-order-chk-surface-muted: var(--bg-secondary, #0a0a0b);
    --code-order-chk-text: var(--text-primary, #f5f5f7);
    --code-order-chk-text-muted: var(--text-secondary, #a1a1a6);
}

/* ── Floating cart ───────────────────────────────────────────── */
html[data-theme="dark"] .code-order-cart-overlay {
    background: rgba(0, 0, 0, 0.55);
}

html[data-theme="dark"] .code-order-cart-drawer {
    background: var(--bg-card, #141416);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 16px 40px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .code-order-cart-drawer-header {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-cart-drawer-title {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-cart-close {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-cart-close:hover {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-cart-items::-webkit-scrollbar-thumb {
    background: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-cart-loading {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-cart-spinner {
    border-color: var(--border-color, #3a3a3c);
    border-top-color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-cart-item {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-cart-dine-in-banner {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-dine-in-gate {
    background: var(--bg-secondary, #0a0a0b);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-dine-in-gate h3 {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-dine-in-gate p {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-cart-item-img,
html[data-theme="dark"] .code-order-cart-item-placeholder {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-cart-item-name,
html[data-theme="dark"] .code-order-cart-item-price,
html[data-theme="dark"] .code-order-cart-qty-val,
html[data-theme="dark"] .code-order-cart-row--total .code-order-cart-row-label,
html[data-theme="dark"] .code-order-cart-row--total .code-order-cart-row-value {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-cart-item-meta,
html[data-theme="dark"] .code-order-cart-addon-label,
html[data-theme="dark"] .code-order-cart-addon-value,
html[data-theme="dark"] .code-order-cart-addon-price,
html[data-theme="dark"] .code-order-cart-row-label,
html[data-theme="dark"] .code-order-cart-row-value,
html[data-theme="dark"] .code-order-cart-total-note,
html[data-theme="dark"] .code-order-cart-hint,
html[data-theme="dark"] .code-order-cart-hint-label,
html[data-theme="dark"] .code-order-cart-hint-value,
html[data-theme="dark"] .code-order-cart-expiry-inline,
html[data-theme="dark"] .code-order-cart-expiry-inline .code-order-cart-expiry-timer {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-cart-item-modify {
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-cart-item-modify:hover {
    background: var(--bg-tertiary, #111112);
    color: var(--text-primary, #f5f5f7);
    border-color: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-cart-item-qty {
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-cart-qty-btn:hover {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-cart-footer {
    border-top-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-cart-row--total {
    border-top-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-cart-checkout-btn.code-order-btn-disabled {
    background: var(--bg-tertiary, #111112);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-min-order-bar {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-cart-hint--error {
    background: rgba(220, 38, 38, 0.12);
    border-color: rgba(248, 113, 113, 0.35);
    color: #fca5a5;
}

html[data-theme="dark"] .code-order-cart-empty {
    color: var(--text-secondary, #a1a1a6);
}

/* ── Product options drawer (floating add-ons; footer, not inside menu wrap) ── */
html[data-theme="dark"] .code-order-options-overlay {
    background: rgba(0, 0, 0, 0.55);
}

html[data-theme="dark"] .code-order-options-drawer {
    background: var(--bg-card, #141416);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 16px 40px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .code-order-options-drawer-header,
html[data-theme="dark"] .code-order-options-drawer-footer {
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-options-drawer-title {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-options-close {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-options-close:hover {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-options-drawer-body::-webkit-scrollbar-thumb {
    background: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-options-product {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-options-title,
html[data-theme="dark"] .code-order-options-price {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-options-desc {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-options-desc.is-collapsed::after {
    background: linear-gradient(180deg, rgba(20, 20, 22, 0) 0%, var(--bg-card, #141416) 100%);
}

html[data-theme="dark"] .code-order-options-desc-toggle {
    color: var(--code-order-primary, #7026fc);
}

html[data-theme="dark"] .code-order-options-desc-toggle:hover {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-options-error {
    color: var(--text-muted, #6e6e73);
}

/* Primary CTA: theme may unset --code-order-* on dark; restate so background/color never drop out */
html[data-theme="dark"] .code-order-options-add-btn {
    display: block;
    width: 100%;
    padding: 14px;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.01em;
    cursor: pointer;
    text-align: center;
    transition: opacity 0.15s;
    background: var(--code-order-primary, #7026fc);
    color: var(--code-order-btn-text, #ffffff);
}

html[data-theme="dark"] .code-order-options-add-btn:hover:not(:disabled) {
    opacity: 0.9;
}

html[data-theme="dark"] .code-order-options-add-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

html[data-theme="dark"] .code-order-options-add-btn.is-error {
    background: #dc2626;
    color: #ffffff;
    opacity: 1;
}

html[data-theme="dark"] .code-order-spinner {
    border-color: var(--border-color, #3a3a3c);
    border-top-color: var(--code-order-primary, #7026fc);
}

html[data-theme="dark"] .code-order-addon-label {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-addon-desc,
html[data-theme="dark"] .code-order-addon-hint {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-req {
    color: #f87171;
}

html[data-theme="dark"] .code-order-addon-max {
    color: var(--text-secondary, #a1a1a6);
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-addon-max.is-warn {
    color: #fff;
    background: #dc2626;
}

html[data-theme="dark"] .code-order-addon-invalid > .code-order-addon-label {
    color: #f87171;
}

html[data-theme="dark"] .code-order-addon-invalid > .code-order-addon-option:first-of-type,
html[data-theme="dark"] .code-order-addon-invalid > .code-order-addon-option,
html[data-theme="dark"] .code-order-addon-invalid > .code-order-addon-option:last-of-type {
    border-color: rgba(248, 113, 113, 0.45);
}

html[data-theme="dark"] .code-order-addon-invalid > select,
html[data-theme="dark"] .code-order-addon-invalid > input,
html[data-theme="dark"] .code-order-addon-invalid > textarea {
    border-color: #f87171;
}

html[data-theme="dark"] .code-order-addon-option {
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
    background: var(--bg-secondary, #0a0a0b);
}

html[data-theme="dark"] .code-order-addon-option:hover,
html[data-theme="dark"] .code-order-addon-option:has(input:checked) {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-addon-group > .code-order-addon-option:last-of-type {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-addon-option-price {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-addon-option:has(input:checked) .code-order-addon-option-price {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-addon-option-indicator--color {
    border-color: rgba(255, 255, 255, 0.14);
}

html[data-theme="dark"] .code-order-addon-group select {
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
    background-color: var(--bg-tertiary, #111112);
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a1a1a6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    color-scheme: dark;
}

html[data-theme="dark"] .code-order-addon-group select:focus {
    background-color: var(--bg-card, #141416);
}

html[data-theme="dark"] .code-order-addon-text,
html[data-theme="dark"] .code-order-addon-textarea,
html[data-theme="dark"] .code-order-addon-qty {
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
    background: var(--bg-tertiary, #111112);
    color-scheme: dark;
}

html[data-theme="dark"] .code-order-addon-text:focus,
html[data-theme="dark"] .code-order-addon-textarea:focus,
html[data-theme="dark"] .code-order-addon-qty:focus {
    background: var(--bg-card, #141416);
}

html[data-theme="dark"] .code-order-addon-stepper-row {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-secondary, #0a0a0b);
}

html[data-theme="dark"] .code-order-addon-group > .code-order-addon-stepper-row:last-of-type {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-stepper-minus,
html[data-theme="dark"] .code-order-stepper-plus {
    background: var(--bg-tertiary, #111112);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-stepper-input {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-swatch-box {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-card, #141416);
}

html[data-theme="dark"] .code-order-addon-swatch:hover .code-order-swatch-box {
    border-color: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-swatch-color {
    border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .code-order-swatch-label {
    color: var(--text-secondary, #a1a1a6);
}

/* ── Menu (shortcode) ─────────────────────────────────────────── */
html[data-theme="dark"] .code-order-menu-wrap .code-order-sh-card {
    background: var(--bg-card, #141416);
    box-shadow: none;
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-sh-card:hover {
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-store-name {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-store-meta,
html[data-theme="dark"] .code-order-menu-wrap .code-order-store-address {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-see-hours-btn {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-service-btn:not(.is-active) {
    background: var(--bg-secondary, #0a0a0b);
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-modal-content,
html[data-theme="dark"] .code-order-menu-wrap .code-order-hours-modal {
    background: var(--bg-card, #141416);
    color: var(--text-primary, #f5f5f7);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-modal-overlay {
    background: rgba(0, 0, 0, 0.6);
}

/* Business hours modal (Restaurant / Delivery / Pickup tabs + schedule).
   Shared title class is also used on the Delivery Areas modal header. */
html[data-theme="dark"] .code-order-menu-wrap .code-order-modal-content .code-order-hours-modal-title {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-modal-content .code-order-hours-modal-title svg {
    opacity: 0.55;
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap #code-order-hours-overlay .code-order-modal-close {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap #code-order-hours-overlay .code-order-modal-close:hover {
    background: var(--bg-tertiary, #111112);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-hours-tabs {
    background: var(--bg-secondary, #0a0a0b);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-h-tab {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-h-tab.is-active {
    background: var(--bg-card, #141416);
    color: var(--code-order-primary, #7026fc);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-schedule-row:hover {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-schedule-row.is-today {
    background: color-mix(in srgb, var(--code-order-primary, #7026fc) 16%, var(--bg-secondary, #0a0a0b));
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-schedule-row.is-today .code-order-schedule-day {
    color: var(--code-order-primary, #7026fc);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-schedule-row.is-today .code-order-schedule-time {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-schedule-day {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-schedule-time {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-schedule-closed {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-item {
    background: var(--bg-secondary, #0a0a0b);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-item:hover {
    border-color: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-menu-wrap #code-order-delivery-zones-overlay .code-order-modal-close {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap #code-order-delivery-zones-overlay .code-order-modal-close:hover {
    background: var(--bg-tertiary, #111112);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-intro {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-label {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-icon {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-value-box {
    background: var(--bg-tertiary, #111112);
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-pricing-grid {
    border-top-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-p-label {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-p-value {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-p-value.is-free {
    color: #34d399;
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-dz-free-hint {
    color: #6ee7b7;
    background: color-mix(in srgb, #10b981 12%, var(--bg-tertiary, #111112));
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-card {
    background: var(--bg-tertiary, #111112);
    border-color: var(--border-color, #2c2c2e);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-card-title,
html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-card-title a {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-card-desc,
html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-card-price {
    color: var(--text-secondary, #a1a1a6);
}



/* Geoapify store map: tile style is switched in menu-js; frame + loading + admin warning */
html[data-theme="dark"] .code-order-store-map {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--border-color, #2c2c2e) 85%, transparent);
}

html[data-theme="dark"] .code-order-store-map__loading {
    background: var(--bg-tertiary, #111112);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-map-warning {
    background: color-mix(in srgb, #f59e0b 14%, var(--bg-tertiary, #111112));
    color: #fcd34d;
    border-color: color-mix(in srgb, #f59e0b 40%, var(--border-color, #2c2c2e));
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-cat-header,
html[data-theme="dark"] .code-order-menu-wrap .code-order-cat-title,
html[data-theme="dark"] .code-order-menu-wrap .code-order-cat-desc {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-search .code-order-search-input,
html[data-theme="dark"] .code-order-menu-wrap .code-order-search-input {
    background: var(--bg-tertiary, #111112);
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-search-input::placeholder,
html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-search .code-order-search-input::placeholder {
    color: var(--text-muted, #6e6e73);
}

/* Address modal: street input + postcode/city (menu-frontend hardcodes #fff on :focus) */
html[data-theme="dark"] .code-order-input-with-icon input {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-tertiary, #111112);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-input-with-icon input::placeholder {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-input-with-icon input:focus {
    outline: none;
    border-color: var(--code-order-primary, #7026fc);
    background: var(--bg-card, #141416);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--code-order-primary, #7026fc) 28%, transparent);
}

html[data-theme="dark"] .code-order-input-with-icon:focus-within .code-order-input-icon {
    color: var(--code-order-primary, #7026fc);
}

html[data-theme="dark"] .code-order-addr-input {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-tertiary, #111112);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-addr-input::placeholder {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-addr-input:focus {
    outline: none;
    border-color: var(--code-order-primary, #7026fc);
    background: var(--bg-card, #141416);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--code-order-primary, #7026fc) 28%, transparent);
}

/* Address / delivery modal — step indicator (active label was #1a1a2e) */
html[data-theme="dark"] .code-order-modal-steps__item {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-modal-steps__item.is-active {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-modal-steps__num {
    background: var(--bg-tertiary, #111112);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-modal-steps__item.is-active .code-order-modal-steps__num {
    background: var(--code-order-primary, #7026fc);
    color: var(--code-order-btn-text, #ffffff);
}

html[data-theme="dark"] .code-order-modal-steps__sep {
    background: var(--border-color, #3a3a3c);
}

/* ── Classic checkout (extra hardcoded bits) ─────────────────── */
html[data-theme="dark"] .code-order-classic-sf__title {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-classic-sf__chip {
    background: var(--bg-tertiary, #111112);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-classic-sf__status {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-classic-sf__hours {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-checkout .woocommerce-checkout #payment,
html[data-theme="dark"] .code-order-classic-checkout-wrap .woocommerce-checkout-review-order-table {
    border-color: var(--border-color, #2c2c2e);
}

/* Blocks checkout — WC variables from checkout-blocks-v2.css */
html[data-theme="dark"] .wp-block-woocommerce-checkout,
html[data-theme="dark"] .wp-block-woocommerce-checkout-order-summary-block {
    --code-order-surface: var(--bg-card, #141416);
    --code-order-surface-muted: var(--bg-secondary, #0a0a0b);
    --code-order-border: var(--border-color, #2c2c2e);
    --code-order-text: var(--text-primary, #f5f5f7);
    --code-order-text-muted: var(--text-secondary, #a1a1a6);
    --code-order-primary-soft: var(--accent-soft, rgba(138, 79, 255, 0.14));
    --code-order-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

/* ── Reservation frontend (.cr-*) ─────────────────────────────── */
html[data-theme="dark"] .cr-wrap {
    border-color: var(--border-color, #2c2c2e);
    background:
        radial-gradient(circle at top left, rgba(var(--p-rgb, 138, 79, 255), 0.14), transparent 34%),
        linear-gradient(180deg, var(--bg-card, #141416) 0%, var(--bg-secondary, #0a0a0b) 100%);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .cr-title,
html[data-theme="dark"] .cr-stage-title,
html[data-theme="dark"] .cr-cal-month,
html[data-theme="dark"] .cr-period-label,
html[data-theme="dark"] .cr-slots-panel-header,
html[data-theme="dark"] .cr-slot-pill,
html[data-theme="dark"] .cr-review-value,
html[data-theme="dark"] .cr-summary-val,
html[data-theme="dark"] .cr-success-title {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .cr-subtitle,
html[data-theme="dark"] .cr-stage-subtitle,
html[data-theme="dark"] .cr-cal-weekdays span,
html[data-theme="dark"] .cr-label,
html[data-theme="dark"] .cr-hint {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .cr-step-chip {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .cr-section {
    background: var(--bg-secondary, #0a0a0b);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .cr-section-label,
html[data-theme="dark"] .cr-review-title,
html[data-theme="dark"] .cr-summary-label,
html[data-theme="dark"] .cr-review-label {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .cr-btn:not(.cr-btn-primary) {
    background: var(--bg-tertiary, #111112);
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .cr-btn-secondary {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .cr-review-card {
    border-color: var(--border-color, #2c2c2e);
    background: linear-gradient(180deg, var(--bg-card, #141416) 0%, var(--bg-secondary, #0a0a0b) 100%);
}

html[data-theme="dark"] .cr-review-row {
    border-top-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .cr-calendar,
html[data-theme="dark"] .cr-slots-panel {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-card, #141416);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .cr-slots-panel-header {
    background: var(--bg-card, #141416);
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .cr-cal-day {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-secondary, #0a0a0b);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .cr-cal-day.is-other {
    background: var(--bg-tertiary, #111112);
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .cr-cal-day.is-disabled {
    background: var(--bg-tertiary, #111112);
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .cr-slot-pill {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-secondary, #0a0a0b);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .cr-input,
html[data-theme="dark"] .cr-select,
html[data-theme="dark"] .cr-textarea {
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .cr-input:focus,
html[data-theme="dark"] .cr-select:focus,
html[data-theme="dark"] .cr-textarea:focus {
    background: var(--bg-card, #141416);
}

html[data-theme="dark"] .cr-stepper {
    border-color: var(--border-color, #2c2c2e);
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .cr-stepper-val {
    color: var(--text-primary, #f5f5f7);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .cr-summary {
    background: var(--bg-card, #141416);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .cr-summary-row {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .cr-success-panel {
    background: linear-gradient(180deg, rgba(var(--p-rgb, 138, 79, 255), 0.08), var(--bg-card, #141416));
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .cr-new-btn {
    background: var(--bg-tertiary, #111112);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .co-res-shortcode-dialog .co-res-shortcode-body {
    background: var(--bg-card, #141416) !important;
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .co-res-shortcode-dialog .cr-actions {
    background: linear-gradient(180deg, rgba(20, 20, 22, 0), var(--bg-card, #141416) 28%) !important;
    border-top-color: var(--border-color, #2c2c2e) !important;
}

/* ── Menu: main column, navbar, address row, info badges (screenshot gaps) ─ */
html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-content {
    background: transparent;
    color: var(--text-primary, #f5f5f7);
    border-radius: 0 0 16px 16px;
    padding-bottom: 8px;
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-navbar,
html[data-theme="dark"] .code-order-menu-wrap .code-order-menu-navbar.is-stuck {
    background: var(--bg-secondary, #0a0a0b);
    border-color: var(--border-color, #2c2c2e);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-title,
html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-hours {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-tabs .code-order-ntab {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-tabs .code-order-ntab:hover {
    color: var(--text-primary, #f5f5f7);
    background: color-mix(in srgb, var(--bg-tertiary, #111112) 70%, transparent);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-tabs .code-order-ntab.active {
    color: var(--code-order-primary, #7026fc);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-search .code-order-search-input {
    background: var(--bg-tertiary, #111112);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-search .code-order-search-input:focus {
    background: var(--bg-card, #141416);
    box-shadow: 0 0 0 1.5px var(--code-order-primary, #7026fc);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-navbar-search .code-order-search-icon {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-info-badge,
html[data-theme="dark"] .code-order-menu-wrap .code-order-info-badge:hover {
    background: var(--bg-tertiary, #111112);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-info-badge-value {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-info-badge-label {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-delivery-address-section {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-delivery-address-section:hover {
    background: var(--bg-card, #141416);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-da-icon {
    background: var(--bg-card, #141416);
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-da-label {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-address-display,
html[data-theme="dark"] .code-order-menu-wrap .code-order-address-display.has-address {
    background: var(--bg-card, #141416) !important;
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-address-text,
html[data-theme="dark"] .code-order-menu-wrap .code-order-address-display.has-address .code-order-address-text {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-wrap .code-order-allergen-notice {
    border-top-color: var(--border-color, #2c2c2e);
    color: var(--text-secondary, #a1a1a6);
}

/* Service toggle + zone hint (header card) */
html[data-theme="dark"] .code-order-service-toggle {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-service-btn:not(.is-active):not(.code-order-service-btn--paused):not(.code-order-service-btn--unavailable) {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-service-btn:not(.is-active):hover {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-service-btn.code-order-service-btn--paused {
    color: var(--text-secondary, #a1a1a6);
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-service-btn.code-order-service-btn--paused:hover {
    color: var(--text-primary, #f5f5f7);
    background: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .code-order-service-zone-hint {
    color: var(--text-secondary, #a1a1a6);
    background: var(--bg-secondary, #0a0a0b);
    border-color: var(--border-color, #2c2c2e);
}

/* Category blocks (white cards in menu list) */
html[data-theme="dark"] .code-order-menu-section {
    background: var(--bg-card, #141416);
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .code-order-menu-section .code-order-cat-parent {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-menu-section .code-order-cat-title {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-menu-section .code-order-cat-desc {
    color: var(--text-secondary, #a1a1a6);
}

/*
 * FAQ — rendered OUTSIDE .code-order-menu-wrap (sibling), so selectors must not require the wrap.
 */
html[data-theme="dark"] .code-order-faq-section {
    background: var(--bg-card, #141416);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-faq-heading,
html[data-theme="dark"] .code-order-faq-question {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-faq-answer,
html[data-theme="dark"] .code-order-faq-answer p {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] details.code-order-faq-item {
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] details.code-order-faq-item:first-child {
    border-top-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-faq-question::after {
    opacity: 0.75;
    filter: brightness(1.25);
}

/* ── Checkout: sidebar order summary (gradient + inset shadow use #fff in base CSS) ─ */
html[data-theme="dark"] .code-order-sidebar-summary {
    background: linear-gradient(
        180deg,
        var(--code-order-chk-surface, var(--bg-card, #141416)) 0%,
        var(--code-order-chk-surface-muted, var(--bg-secondary, #0a0a0b)) 100%
    );
    border-color: var(--code-order-chk-border, var(--border-color, #2c2c2e));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 12px 40px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .code-order-sidebar-summary__steps:not(:empty) {
    border-bottom-color: color-mix(in srgb, var(--code-order-chk-border, var(--border-color, #2c2c2e)) 80%, transparent);
}

html[data-theme="dark"] .code-order-sidebar-summary__title {
    color: var(--code-order-chk-text-muted, var(--text-secondary, #a1a1a6));
    background: linear-gradient(90deg, var(--code-order-chk-text-muted, var(--text-muted, #6e6e73)), transparent) left bottom / 48px 2px no-repeat;
}

html[data-theme="dark"] .code-order-sidebar-summary__body {
    background: var(--code-order-chk-surface, var(--bg-card, #141416));
    border-color: color-mix(in srgb, var(--code-order-chk-border, var(--border-color, #2c2c2e)) 75%, transparent);
}

html[data-theme="dark"] .code-order-sidebar-summary__body table thead th {
    border-bottom-color: var(--code-order-chk-border, var(--border-color, #2c2c2e));
}

html[data-theme="dark"] .code-order-sidebar-summary__body table tbody tr:not(:last-child) td {
    border-bottom-color: color-mix(in srgb, var(--code-order-chk-border, var(--border-color, #2c2c2e)) 55%, transparent) !important;
}

html[data-theme="dark"] .code-order-sidebar-summary__body .code-order-checkout-item__thumb {
    border-color: var(--code-order-chk-border, var(--border-color, #2c2c2e));
    background: var(--code-order-chk-surface-muted, var(--bg-tertiary, #111112));
}

html[data-theme="dark"] .code-order-sidebar-summary__body table tfoot th,
html[data-theme="dark"] .code-order-sidebar-summary__body table tfoot td {
    border-top-color: color-mix(in srgb, var(--code-order-chk-border, var(--border-color, #3a3a3c)) 65%, transparent) !important;
}

html[data-theme="dark"] .code-order-sidebar-summary__body table tfoot .order-total th,
html[data-theme="dark"] .code-order-sidebar-summary__body table tfoot .order-total td {
    border-top-color: var(--code-order-chk-border, var(--border-color, #2c2c2e)) !important;
}

html[data-theme="dark"] body.code-order-checkout-steps-active .code-order-sidebar-summary__tip .code-order-tip {
    background: linear-gradient(
        180deg,
        var(--code-order-chk-surface, var(--bg-card, #141416)) 0%,
        var(--code-order-chk-surface-muted, var(--bg-secondary, #0a0a0b)) 100%
    );
    border-color: var(--code-order-chk-border, var(--border-color, #2c2c2e));
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .code-order-sidebar-summary__coupon .woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--code-order-chk-surface-muted, var(--bg-tertiary, #111112)) !important;
    border-color: color-mix(in srgb, var(--code-order-chk-border, var(--border-color, #2c2c2e)) 70%, transparent) !important;
    color: var(--code-order-chk-text-muted, var(--text-secondary, #a1a1a6)) !important;
}

html[data-theme="dark"] body.code-order-checkout-step--3 .code-order-sidebar-summary {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] body.code-order-checkout-steps-active .code-order-checkout-steps__actions {
    background: linear-gradient(180deg, transparent 0%, var(--code-order-chk-surface, var(--bg-card, #141416)) 22%);
    border-top-color: var(--code-order-chk-border, var(--border-color, #2c2c2e));
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.35);
}

/* Step checkout: notices host (validation alerts + WC error / message / info) */
html[data-theme="dark"] .code-order-checkout-steps__notices .woocommerce-message,
html[data-theme="dark"] .code-order-checkout-steps__notices .woocommerce-info,
html[data-theme="dark"] .code-order-checkout-steps__notices .woocommerce-error,
html[data-theme="dark"] .code-order-checkout-steps__notices ul.woocommerce-error {
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme="dark"] .code-order-checkout-steps__notices ul.woocommerce-error,
html[data-theme="dark"] .code-order-checkout-steps__notices .code-order-step-validation-alert {
    border: 1px solid color-mix(in srgb, #f87171 45%, var(--code-order-chk-border, var(--border-color, #2c2c2e))) !important;
    background: linear-gradient(
        135deg,
        color-mix(in srgb, #ef4444 16%, var(--code-order-chk-surface-muted, var(--bg-secondary, #0a0a0b))) 0%,
        var(--code-order-chk-surface, var(--bg-card, #141416)) 58%
    ) !important;
    color: #fecaca !important;
}

html[data-theme="dark"] .code-order-checkout-steps__notices ul.woocommerce-error li::before,
html[data-theme="dark"] .code-order-checkout-steps__notices .code-order-step-validation-alert li::before {
    background: #f87171;
    box-shadow: 0 0 0 3px color-mix(in srgb, #f87171 32%, transparent);
}

html[data-theme="dark"] .code-order-checkout-steps__notices .woocommerce-message {
    border-color: color-mix(
            in srgb,
            var(--code-order-primary, #6f00ff) 38%,
            var(--code-order-chk-border, var(--border-color, #2c2c2e))
        )
        !important;
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--code-order-primary, #6f00ff) 14%, var(--code-order-chk-surface-muted, var(--bg-secondary, #0a0a0b))) 0%,
        var(--code-order-chk-surface, var(--bg-card, #141416)) 60%
    ) !important;
    color: var(--code-order-chk-text, var(--text-primary, #f5f5f7)) !important;
}

html[data-theme="dark"] .code-order-checkout-steps__notices .woocommerce-info {
    border-color: var(--code-order-chk-border, var(--border-color, #2c2c2e)) !important;
    background: var(--code-order-chk-surface-muted, var(--bg-secondary, #0a0a0b)) !important;
    color: var(--code-order-chk-text-muted, var(--text-secondary, #a1a1a6)) !important;
}

/* ── Checkout: WooCommerce fields + stepper + tip (classic) ─────────────── */
html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout input.input-text,
html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout select,
html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout textarea {
    background: var(--bg-tertiary, #111112) !important;
    color: var(--text-primary, #f5f5f7) !important;
    border-color: var(--border-color, #3a3a3c) !important;
    box-shadow: none;
}

html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout select {
    color-scheme: dark;
}

html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout input.input-text::placeholder,
html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout textarea::placeholder {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout .select2-container .select2-choice,
html[data-theme="dark"] body.woocommerce-checkout .woocommerce form.woocommerce-checkout .select2-container--default .select2-selection--single {
    background: var(--bg-tertiary, #111112) !important;
    border-color: var(--border-color, #3a3a3c) !important;
    color: var(--text-primary, #f5f5f7) !important;
}

html[data-theme="dark"] .code-order-tip .code-order-tip__title {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-tip .code-order-button--tip:not(.code-order-button--active) {
    background: var(--bg-tertiary, #111112) !important;
    color: var(--text-primary, #f5f5f7) !important;
    border-color: var(--border-color, #3a3a3c) !important;
}

html[data-theme="dark"] .code-order-tip .code-order-button--tip:not(.code-order-button--active):hover {
    border-color: var(--text-secondary, #a1a1a6) !important;
    color: var(--text-primary, #f5f5f7) !important;
}

html[data-theme="dark"] .code-order-tip .code-order-tip__custom-form-field {
    background: var(--bg-tertiary, #111112) !important;
    color: var(--text-primary, #f5f5f7) !important;
    border-color: var(--border-color, #3a3a3c) !important;
}

html[data-theme="dark"] .code-order-tip .code-order-tip__currency {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-checkout-steps__item:not(:last-child)::after {
    background: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-checkout-steps__item:not(.is-active):not(.is-done) .code-order-checkout-steps__label {
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-checkout-steps__item.is-active .code-order-checkout-steps__label,
html[data-theme="dark"] .code-order-checkout-steps__item.is-done .code-order-checkout-steps__label {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-checkout-steps__item:not(.is-active):not(.is-done) .code-order-checkout-steps__num {
    background: var(--bg-tertiary, #111112);
    color: var(--text-secondary, #a1a1a6);
    box-shadow: inset 0 0 0 1px var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-checkout-steps__btn--back.button,
html[data-theme="dark"] .code-order-checkout-steps__actions .button.alt.code-order-checkout-steps__btn--back {
    background: var(--bg-tertiary, #111112) !important;
    color: var(--text-primary, #f5f5f7) !important;
    border: 1px solid var(--border-color, #3a3a3c) !important;
}

html[data-theme="dark"] .code-order-checkout-steps__btn--back.button:hover {
    background: var(--bg-card, #141416) !important;
    border-color: var(--border-color, #52525b) !important;
}

/* ── Mon compte / customer portal (legacy .code-order-account) ─────────── */
html[data-theme="dark"] .code-order-account {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-account__greeting {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-account__logout {
    background: var(--bg-tertiary, #111112);
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-account__logout:hover {
    background: var(--bg-card, #141416);
    color: var(--text-primary, #f5f5f7);
    border-color: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-account__toggle {
    background: var(--bg-tertiary, #111112);
}

html[data-theme="dark"] .code-order-account__tab {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-account__tab.is-active {
    background: var(--bg-card, #141416);
    color: var(--text-primary, #f5f5f7);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .code-order-order-card,
html[data-theme="dark"] .code-order-reservation-card {
    background: var(--bg-card, #141416);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-order-card__number,
html[data-theme="dark"] .code-order-reservation-card__name,
html[data-theme="dark"] .code-order-order-card__total {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-order-detail {
    background: var(--bg-card, #141416);
    border-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-order-detail__header {
    background: var(--bg-secondary, #0a0a0b);
    border-bottom-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-order-detail__title {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-workflow {
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-workflow__step:not(:last-child)::after {
    background: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-workflow__dot {
    background: var(--bg-tertiary, #111112);
    border-color: var(--bg-card, #141416);
    box-shadow: 0 0 0 1px var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-profile__title {
    color: var(--text-primary, #f5f5f7);
    border-bottom-color: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-profile input,
html[data-theme="dark"] .code-order-profile select,
html[data-theme="dark"] .code-order-profile textarea {
    background: var(--bg-tertiary, #111112) !important;
    color: var(--text-primary, #f5f5f7) !important;
    border-color: var(--border-color, #3a3a3c) !important;
}

html[data-theme="dark"] .code-order-btn-back {
    background: var(--bg-tertiary, #111112);
    border-color: var(--border-color, #2c2c2e);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-btn-back:hover {
    background: var(--bg-card, #141416);
    border-color: var(--border-color, #3a3a3c);
}

html[data-theme="dark"] .code-order-auth__split {
    background: var(--bg-card, #141416);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .code-order-auth__card {
    background: var(--bg-card, #141416);
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-auth__header h2 {
    color: var(--text-primary, #f5f5f7);
}

html[data-theme="dark"] .code-order-auth__header p {
    color: var(--text-secondary, #a1a1a6);
}

html[data-theme="dark"] .code-order-auth__or::before {
    background: var(--border-color, #2c2c2e);
}

html[data-theme="dark"] .code-order-auth__or span {
    background: var(--bg-card, #141416);
    color: var(--text-muted, #6e6e73);
}

html[data-theme="dark"] .code-order-auth input[type="text"],
html[data-theme="dark"] .code-order-auth input[type="password"],
html[data-theme="dark"] .code-order-auth input[type="email"],
html[data-theme="dark"] .code-order-auth input[type="tel"],
html[data-theme="dark"] .code-order-floating-field input {
    background: var(--bg-tertiary, #111112) !important;
    color: var(--text-primary, #f5f5f7) !important;
    border-color: var(--border-color, #3a3a3c) !important;
}

html[data-theme="dark"] .code-order-floating-field label {
    color: var(--text-secondary, #a1a1a6);
}

/* Vue customer portal root (when mounted in page) */
html[data-theme="dark"] #code-order-customer-portal-app {
    color: var(--text-primary, #f5f5f7);
}

/* Google Sign-In (GSI): iframe host can show a white box when page uses color-scheme: dark */
html[data-theme="dark"] #code-order-customer-portal-app .co-google-wrap,
html[data-theme="dark"] .code-order-google-login-wrap {
    color-scheme: light;
    background: transparent;
}
