/* Nextgames dark surfaces must be available before cart and quickview requests. */
.ng-dark {
    --ng-dialog-surface: #171d30;
    --ng-dialog-raised: #232b43;
    --ng-dialog-border: #394463;
    --ng-dialog-ink: #f2f4ff;
    --ng-dialog-muted: #bdc7e1;
    --ng-dialog-action: #4059a5;
}

.ng-dark .swal-modal {
    background: var(--ng-dialog-surface);
    border-color: var(--ng-dialog-border);
    color: var(--ng-dialog-ink);
}
.ng-dark .swal-modal .swal-title { color: var(--ng-dialog-ink); }
.ng-dark .swal-modal .swal-text { color: var(--ng-dialog-muted); }
.ng-dark .swal-modal .swal-button--confirm {
    background: var(--ng-dialog-action) !important;
    border-color: var(--ng-dialog-action) !important;
    color: #fff !important;
}
.ng-dark .swal-modal .swal-button--cancel {
    background: var(--ng-dialog-raised) !important;
    border-color: var(--ng-dialog-border) !important;
    color: var(--ng-dialog-ink) !important;
}
.ng-dark .swal-modal .swal-button:focus-visible {
    outline: 2px solid var(--ng-dialog-muted);
    outline-offset: 3px;
}

.ng-dark .dropcart--style--offcanvas {
    --cart-border: var(--ng-dialog-border);
    --cart-muted: var(--ng-dialog-muted);
    --cart-accent: var(--ng-dialog-action);
    --cart-on-accent: #fff;
    color: var(--ng-dialog-ink);
}
.ng-dark .dropcart--style--offcanvas :is(.dropcart__body, .dropcart__header, .dropcart__footer) {
    background: var(--ng-dialog-surface);
    color: var(--ng-dialog-ink);
}
.ng-dark .dropcart--style--offcanvas :is(.dropcart__product, .dropcart__empty-icon,
    .dropcart__close, .dropcart__share-button, .dropcart__extra-remove,
    .dropcart__product > .dropcart__product-remove, .dropcart__buttons > .btn-secondary) {
    background: var(--ng-dialog-raised);
    color: var(--ng-dialog-ink);
    border-color: var(--ng-dialog-border);
    fill: currentColor;
}
.ng-dark .dropcart--style--offcanvas :is(.dropcart__title, .dropcart__empty-state h3,
    .dropcart__product-name a, .dropcart__product-price, .dropcart__total-row th, .dropcart__total-row td) {
    color: var(--ng-dialog-ink);
}
.ng-dark .dropcart--style--offcanvas :is(a, button):focus-visible { outline-color: var(--ng-dialog-muted); }
.ng-dark .dropcart--style--offcanvas .dropcart__skeleton-block {
    background-color: var(--ng-dialog-raised);
    background-image: linear-gradient(100deg, var(--ng-dialog-raised) 25%, var(--ng-dialog-border) 45%, var(--ng-dialog-raised) 65%);
}
@media (prefers-reduced-motion: reduce) {
    .ng-dark .dropcart--style--offcanvas .dropcart__skeleton-block { background-image: none; }
}

.ng-dark #quickview-modal {
    --qv-accent: var(--ng-dialog-muted);
    --qv-border: var(--ng-dialog-border);
    --qv-muted: var(--ng-dialog-muted);
    color: var(--ng-dialog-ink);
}
.ng-dark #quickview-modal :is(.modal-content, .quickview, .quickview__heading, .quickview__footer-summary,
    .detalle-producto, .detalle-producto__contact) {
    background: var(--ng-dialog-surface);
    border-color: var(--ng-dialog-border);
    color: var(--ng-dialog-ink);
}
.ng-dark #quickview-modal :is(.quickview__close, .quickview__see-details, .product-facts tr,
    .product-notices .block-features__list, .detalle-producto__list-price-note) {
    background: var(--ng-dialog-raised);
    border-color: var(--ng-dialog-border);
    color: var(--ng-dialog-ink);
}
.ng-dark #quickview-modal .quickview__close { fill: currentColor; }
.ng-dark #quickview-modal :is(.quickview__close, .quickview__see-details):hover { background: var(--ng-dialog-border); }
.ng-dark #quickview-modal :is(.product__name, .product-facts td, .block-features__title,
    .detalle-producto__list-price-amount, .detalle-producto__contact-info h2) { color: var(--ng-dialog-ink); }
.ng-dark #quickview-modal :is(.product-facts th, .detalle-producto__list-price-label, .precioCuotas,
    .detalle-producto__contact-info p) { color: var(--ng-dialog-muted); }
.ng-dark #quickview-modal :is(.qv-skeleton__block, .qv-skeleton__thumbs i) { background: var(--ng-dialog-raised); }
.ng-dark #quickview-modal .qv-skeleton__image { border-color: var(--ng-dialog-border); }
