/* Tema "Next Level Dark & Gold" (vista previa): misma paleta de la pantalla tactil del stand.
   Solo se carga con html.nl-dg (ver helpers/nl_vista_helper.php). */
html.nl-dg {
    --gold: #c9a96e; --gold-2: #e3c88f; --gold-soft: rgba(201,169,110,.35); --paper: #f3efe6; --silver: #c9ccd2; --muted-dg: rgba(243,239,230,.6);
    --ink-0: #08080a; --ink-1: #111215; --ink-2: #18191c; --ink-3: #222327;
    --primary: #c9a96e; --primary-contrast: #120e08; --primary-light: rgba(201,169,110,.12); --accent: #e3c88f; --secondary: #9a9da3;
    --site-bg: #0b0b0d; --site-text: #f3efe6; --dark: #f3efe6; --light: #18191c; --glass: rgba(14,14,16,.85);
    --nav-text: #f3efe6; --nav-border: rgba(201,169,110,.18); --nav-scrolled-bg: rgba(10,10,12,.96); --sp-surface: #1b1c20; --sp-canvas: #0b0b0d; --sp-hairline: rgba(243,239,230,.07); --sp-hairline-hover: rgba(201,169,110,.35);
    --sp-shadow-rest: 0 1px 2px rgba(0,0,0,.3); --sp-shadow-hover: 0 18px 40px rgba(0,0,0,.5); --nl-plinth: #f1ede5;
    --login-bg: #18191c; --login-border: rgba(243,239,230,.12); --nl-gold: #c9a96e; --bs-body-bg: #0b0b0d; --bs-body-color: #f3efe6;
    background: #0b0b0d; color-scheme: dark;
}
html.nl-dg body { background: radial-gradient(80% 40% at 50% 0%, #1a1b1f 0%, transparent 60%), #0b0b0d !important; color: var(--paper) !important; }
html.nl-dg h1, html.nl-dg h2, html.nl-dg h3, html.nl-dg .sp-home-ob-title, html.nl-dg .section-title { color: var(--paper) !important; }
html.nl-dg h1, html.nl-dg h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400 !important; letter-spacing: .01em; }
html.nl-dg .text-dark, html.nl-dg .text-body, html.nl-dg .text-black { color: var(--paper) !important; }
html.nl-dg .text-muted, html.nl-dg .text-secondary { color: var(--muted-dg) !important; }
html.nl-dg .text-primary, html.nl-dg .color-primary { color: var(--gold) !important; }
html.nl-dg .bg-white, html.nl-dg .bg-light, html.nl-dg #mobileMenu, html.nl-dg [style*="background:#fff"]:not(.sp-pay-badge):not([style*="color:#312e81"]), html.nl-dg [style*="background: #fff"]:not(.sp-pay-badge), html.nl-dg [style*="background-color: #fff"]:not(.sp-pay-badge) { background: var(--ink-2) !important; color: var(--paper) !important; }
html.nl-dg hr, html.nl-dg .border, html.nl-dg .border-top, html.nl-dg .border-bottom { border-color: rgba(201,169,110,.16) !important; }
html.nl-dg ::selection { background: rgba(201,169,110,.35); color: #fff; }

/* Encabezado */
html.nl-dg .navbar, html.nl-dg .navbar.scrolled, html.nl-dg .navbar-header-alt { background: rgba(10,10,12,.92) !important; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid rgba(201,169,110,.18) !important; box-shadow: none !important; }
html.nl-dg .navbar .nav-link, html.nl-dg .navbar .navbar-nav a.nav-link { color: var(--silver) !important; letter-spacing: .08em; transition: color .2s; }
html.nl-dg .navbar .nav-link:hover, html.nl-dg .navbar .navbar-nav a.nav-link.nav-link-current, html.nl-dg .navbar .nav-link.active, html.nl-dg .navbar .navbar-nav a.nav-link:focus-visible { color: var(--gold) !important; background: transparent !important; border-color: var(--gold-soft) !important; }
html.nl-dg .navbar a[href*="arma-tu-sistema"].nav-link { color: var(--gold) !important; border: 1px solid var(--gold-soft) !important; border-radius: 999px; }
html.nl-dg .navbar .dropdown-menu, html.nl-dg .offcanvas, html.nl-dg #mobileMenu, html.nl-dg .modal-content { background: var(--ink-1) !important; color: var(--paper) !important; border: 1px solid rgba(201,169,110,.18) !important; }
html.nl-dg .dropdown-item, html.nl-dg .mobile-nav-item { color: var(--silver) !important; }
html.nl-dg .dropdown-item:hover, html.nl-dg .mobile-nav-item:hover, html.nl-dg .mobile-nav-item.active { background: rgba(201,169,110,.08) !important; color: var(--gold) !important; }
html.nl-dg .navbar-toggler, html.nl-dg .btn-close { filter: invert(1) sepia(.4); }
html.nl-dg .navbar-brand img { filter: none; }
html.nl-dg .modal-header, html.nl-dg .modal-footer, html.nl-dg .offcanvas-header { border-color: rgba(201,169,110,.16) !important; }

/* Formularios */
html.nl-dg .form-control, html.nl-dg .form-select, html.nl-dg .input-group-text { background: rgba(255,255,255,.04) !important; color: var(--paper) !important; border-color: rgba(243,239,230,.16) !important; }
html.nl-dg .form-control::placeholder { color: rgba(243,239,230,.4) !important; }
html.nl-dg .form-control:focus, html.nl-dg .form-select:focus { border-color: var(--gold) !important; box-shadow: 0 0 0 .2rem rgba(201,169,110,.18) !important; }

/* Botones dorados */
html.nl-dg .btn-primary, html.nl-dg .nl-btn, html.nl-dg #online-checkout { background: linear-gradient(135deg, #e3c88f 0%, #b8925a 50%, #8a6a3c 100%) !important; border: 0 !important; color: #120e08 !important; border-radius: 999px; box-shadow: 0 10px 26px rgba(201,169,110,.2); transition: transform .12s, box-shadow .2s; }
html.nl-dg .btn-primary:hover, html.nl-dg .nl-btn:hover { box-shadow: 0 14px 34px rgba(201,169,110,.35) !important; }
html.nl-dg .btn-primary:active, html.nl-dg .nl-btn:active { transform: scale(.97); }
html.nl-dg .btn-outline-primary, html.nl-dg .btn-outline-dark, html.nl-dg .btn-light, html.nl-dg .btn-outline-secondary { background: transparent !important; color: var(--gold) !important; border: 1px solid var(--gold-soft) !important; border-radius: 999px; }
html.nl-dg .btn-outline-primary:hover, html.nl-dg .btn-outline-dark:hover, html.nl-dg .btn-light:hover { background: rgba(201,169,110,.1) !important; }
html.nl-dg .page-link { background: var(--ink-2) !important; color: var(--silver) !important; border-color: rgba(243,239,230,.1) !important; }
html.nl-dg .page-item.active .page-link { background: var(--gold) !important; color: #120e08 !important; border-color: var(--gold) !important; }

/* Secciones de portada */
html.nl-dg .nl-sec, html.nl-dg .sp-home-ob, html.nl-dg section { background-color: transparent; }
html.nl-dg .nl-about, html.nl-dg .sp-home-ob { background: linear-gradient(180deg, #111215, #0b0b0d) !important; }
html.nl-dg .sp-home-ob-kicker, html.nl-dg .text-uppercase.small { color: var(--gold) !important; letter-spacing: .3em; }
html.nl-dg .sp-home-ob-all { color: var(--gold) !important; border-color: var(--gold-soft) !important; }
html.nl-dg .category-card { background: var(--ink-2) !important; border: 1px solid rgba(243,239,230,.06) !important; transition: border-color .25s, transform .25s; }
html.nl-dg .category-card:hover { border-color: var(--gold-soft) !important; transform: translateY(-3px); }
html.nl-dg .category-name { color: var(--paper) !important; }
html.nl-dg .sp-bf-chip { background: transparent !important; color: var(--silver) !important; border: 1px solid rgba(243,239,230,.16) !important; }
html.nl-dg .sp-bf-chip:hover, html.nl-dg .sp-bf-chip.active { color: #120e08 !important; background: var(--gold) !important; border-color: var(--gold) !important; }
html.nl-dg .card { background: var(--ink-2); color: var(--paper); border-color: rgba(243,239,230,.06); }

/* Tarjetas de producto: pedestal marfil para las fotos de estudio, cuerpo grafito y texto marfil/oro */
html.nl-dg .store-product-card, html.nl-dg .store-product-card.sp-card-editorial { background: linear-gradient(180deg, #1d1e22 0%, #151619 100%) !important; border: 1px solid rgba(243,239,230,.07) !important; border-radius: 16px; transition: border-color .25s, box-shadow .25s, transform .25s !important; }
html.nl-dg .store-product-card:hover, html.nl-dg .sp-card-editorial:hover { border-color: var(--gold-soft) !important; box-shadow: 0 18px 40px rgba(0,0,0,.5) !important; transform: translateY(-3px) !important; }
html.nl-dg body .store-product-card .img-container, html.nl-dg body .store-product-card.sp-card-editorial .img-container { background: var(--nl-plinth) !important; border-radius: 12px; }
html.nl-dg .store-product-card .img-container img, html.nl-dg .sp-card-editorial .store-product-img { background: transparent !important; mix-blend-mode: multiply; }
html.nl-dg .sp-card-editorial > .sp-card-brand, html.nl-dg .sp-card-brand, html.nl-dg .nl-brand { color: rgba(201,169,110,.9) !important; letter-spacing: .3em; }
html.nl-dg .sp-card-editorial .sp-card-title, html.nl-dg .sp-card-title, html.nl-dg .sp-card-link { color: var(--paper) !important; }
html.nl-dg .sp-card-editorial .card-price, html.nl-dg .sp-card-editorial .card-price-number, html.nl-dg .card-price-number { color: var(--gold-2) !important; }
html.nl-dg .card-price-tax-note, html.nl-dg .sp-card-editorial .sp-price-old { color: rgba(243,239,230,.45) !important; }
html.nl-dg .sp-card-editorial .sp-ed-more { color: var(--gold) !important; border-color: var(--gold-soft) !important; }
html.nl-dg .sp-card-editorial .sp-ed-wa { color: var(--silver) !important; }
html.nl-dg .sp-card-editorial .sp-ed-in { color: #7fd1a6 !important; }
html.nl-dg .sp-card-editorial .sp-ed-order { color: var(--gold) !important; }
html.nl-dg .sp-card-editorial .sp-ob-badge { background: var(--gold) !important; color: #120e08 !important; border-color: var(--gold) !important; }

/* Carrito y paneles */
html.nl-dg #cartOffcanvas, html.nl-dg #cartOffcanvas .offcanvas-body { background: var(--ink-1) !important; color: var(--paper) !important; }
html.nl-dg .list-group-item, html.nl-dg .table { background: transparent !important; color: var(--paper) !important; border-color: rgba(243,239,230,.1) !important; }
html.nl-dg .shadow-premium, html.nl-dg .shadow-lg { box-shadow: 0 18px 40px rgba(0,0,0,.5) !important; }

/* Pie de pagina */
html.nl-dg footer.footer { background: linear-gradient(180deg, #0d0d10 0%, #050506 100%) !important; color: var(--silver) !important; border-top: 1px solid rgba(201,169,110,.22); position: relative; }
html.nl-dg footer.footer::before { content: ''; position: absolute; left: 10%; right: 10%; top: -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
html.nl-dg footer.footer h5, html.nl-dg footer.footer h6, html.nl-dg footer.footer .fw-bold, html.nl-dg footer.footer .fw-800 { color: var(--gold) !important; font-family: 'Cormorant Garamond', Georgia, serif; letter-spacing: .06em; }
html.nl-dg footer.footer a { color: var(--silver) !important; transition: color .2s; }
html.nl-dg footer.footer a:hover { color: var(--gold) !important; }
html.nl-dg footer.footer .social-btn { background: transparent !important; border: 1px solid var(--gold-soft) !important; color: var(--gold) !important; }

/* Transiciones suaves comunes */
html.nl-dg .btn, html.nl-dg .nav-link, html.nl-dg a { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) { html.nl-dg * { transition: none !important; } }

/* ===== Ajustes de revision 1 ===== */
/* Menu: la navegacion homologada de la tienda (html body .navbar ... [href]) era mas especifica que el tema */
html.nl-dg body .navbar .navbar-nav a.nav-link, html.nl-dg body .navbar .navbar-nav a.nav-link[href] { color: #e7e3da !important; background: transparent !important; border: 1px solid transparent !important; }
html.nl-dg body .navbar .navbar-nav a.nav-link[href]:hover, html.nl-dg body .navbar .navbar-nav a.nav-link[href]:focus-visible { color: var(--gold) !important; background: rgba(201,169,110,.08) !important; }
html.nl-dg body .navbar .navbar-nav a.nav-link[href].active, html.nl-dg body .navbar .navbar-nav a.nav-link[href].nav-link-current { color: var(--gold) !important; border-color: var(--gold-soft) !important; }
html.nl-dg body .navbar .navbar-nav a.nav-link[href$="/entrega-inmediata"], html.nl-dg body .navbar .navbar-nav a.nav-link[href*="/categoria/open-box"] { color: #f3efe6 !important; border-color: rgba(243,239,230,.18) !important; }
html.nl-dg body .navbar .navbar-nav a.nav-link[href*="arma-tu-sistema"] { color: #120e08 !important; border: 0 !important; font-weight: 600 !important; background: linear-gradient(135deg, #e3c88f 0%, #b8925a 50%, #8a6a3c 100%) !important; box-shadow: 0 6px 18px rgba(201,169,110,.25) !important; }
html.nl-dg body .navbar .navbar-nav a.nav-link[href*="arma-tu-sistema"]:hover { filter: brightness(1.08) !important; color: #120e08 !important; }
html.nl-dg body a.mobile-nav-item, html.nl-dg body a.mobile-nav-item[href] { color: #e7e3da !important; }
html.nl-dg body a.mobile-nav-item[href*="arma-tu-sistema"] { color: var(--gold) !important; font-weight: 600 !important; }
html.nl-dg body .mobile-nav-item i, html.nl-dg body a.mobile-nav-item[href] i { background: rgba(201,169,110,.1) !important; color: var(--gold) !important; }
html.nl-dg body .sp-mquick a, html.nl-dg body .sp-mquick a[class] { background: rgba(255,255,255,.04) !important; border-color: rgba(201,169,110,.3) !important; color: #e7e3da !important; }
html.nl-dg body .sp-mquick a i { color: var(--gold) !important; }
html.nl-dg .header-search-btn { background: transparent !important; border-color: rgba(201,169,110,.3) !important; color: var(--gold) !important; }

/* Portada: secciones con fondo claro propio */
html.nl-dg main, html.nl-dg #main-content, html.nl-dg .nl-sec { background-color: transparent !important; }
html.nl-dg .nl-title, html.nl-dg .nl-about h2, html.nl-dg .nl-why-item strong, html.nl-dg .nl-video-cap, html.nl-dg .nl-video-body h3, html.nl-dg .sp-bf-head { color: var(--paper) !important; }
html.nl-dg .nl-about p, html.nl-dg .sp-bf-active { color: var(--muted-dg) !important; }
html.nl-dg .nl-kicker { color: var(--gold) !important; }
html.nl-dg .nl-why-item, html.nl-dg .nl-video, html.nl-dg .sp-bf, html.nl-dg .sp-trust-item { background: var(--ink-2) !important; border-color: rgba(243,239,230,.07) !important; box-shadow: none !important; }
html.nl-dg .nl-brands-wrap .nl-brand, html.nl-dg .nl-brand { background: #f1ede5 !important; border-color: transparent !important; }
html.nl-dg .nl-brands-wrap .nl-brand-txt { color: #111 !important; }
html.nl-dg .nl-brands-arrow { background: var(--ink-2) !important; color: var(--gold) !important; border-color: var(--gold-soft) !important; }
html.nl-dg .sp-bf-chip span { background: transparent !important; color: var(--silver) !important; border-color: rgba(243,239,230,.16) !important; }
html.nl-dg .sp-bf-chip:hover span, html.nl-dg .sp-bf-chip.active span, html.nl-dg .sp-bf-chip input:checked + span { background: var(--gold) !important; color: #120e08 !important; border-color: var(--gold) !important; }
html.nl-dg .nl-qb-cta, html.nl-dg .nl-qb-cta:hover, html.nl-dg .nl-btn-gold, html.nl-dg .nl-btn-gold:hover, html.nl-dg .nl-qb-copy { color: #111 !important; }
html.nl-dg .nl-btn-line:hover, html.nl-dg .nl-consam-btn:hover { background: var(--gold) !important; color: #120e08 !important; border-color: var(--gold) !important; }
html.nl-dg .btn-details, html.nl-dg .btn-cat-text, html.nl-dg .sp-filter-pill { background: transparent !important; color: var(--silver) !important; border-color: rgba(243,239,230,.16) !important; }
html.nl-dg .btn-details:hover, html.nl-dg .btn-cat-text:hover, html.nl-dg .btn-cat-text.active { color: var(--gold) !important; border-color: var(--gold) !important; }
html.nl-dg .search-input-group { border-color: rgba(243,239,230,.14) !important; }
html.nl-dg .qty-mini, html.nl-dg .variant-mini-select { background: transparent !important; color: var(--paper) !important; border-color: rgba(243,239,230,.16) !important; }
html.nl-dg .sp-price-request .card-price-number { color: var(--gold-2) !important; }
html.nl-dg #cartOffcanvas .sp-ex { background: var(--ink-2) !important; border-color: rgba(243,239,230,.1) !important; }
html.nl-dg .blog-search-field { background: var(--ink-2) !important; border-color: rgba(243,239,230,.14) !important; }
html.nl-dg body, html.nl-dg body #main-content { background-color: #0b0b0d !important; }
html.nl-dg body .sp-brand-chip { background: #f1ede5 !important; }

/* Ficha de producto */
html.nl-dg body .product-container { background: linear-gradient(180deg, #18191c, #111215) !important; border-color: rgba(201,169,110,.2) !important; box-shadow: 0 30px 60px rgba(0,0,0,.5) !important; color: var(--paper); }
html.nl-dg .gallery-main { background: var(--nl-plinth) !important; }
html.nl-dg .badge-meta { background: rgba(255,255,255,.04) !important; color: var(--silver) !important; border-color: rgba(243,239,230,.14) !important; }
html.nl-dg .badge-meta:hover { color: var(--gold) !important; border-color: var(--gold) !important; }
html.nl-dg .stock-in { background: rgba(61,220,151,.12) !important; color: #7fd1a6 !important; }
html.nl-dg .stock-out { background: rgba(239,68,68,.12) !important; color: #fca5a5 !important; }
html.nl-dg .sp-stock-order { background: rgba(201,169,110,.08) !important; color: var(--gold-2) !important; border-color: var(--gold-soft) !important; }
html.nl-dg .qty-control { background: rgba(255,255,255,.05) !important; }
html.nl-dg .qty-btn { background: var(--ink-3) !important; color: var(--gold) !important; }
html.nl-dg .qty-btn:hover:not(:disabled) { background: var(--gold) !important; color: #120e08 !important; }
html.nl-dg .sp-availability-note, html.nl-dg [style*="background:#fffbeb"] { background: rgba(201,169,110,.08) !important; border-color: var(--gold-soft) !important; color: var(--gold-2) !important; }
/* Paginas de contenido (CONSAM y similares) */
html.nl-dg .page-content { background: transparent !important; color: var(--paper); }
html.nl-dg [id^="consam_"] .cs-card { background: var(--ink-2) !important; border-color: rgba(201,169,110,.2) !important; box-shadow: none !important; color: var(--paper); }
html.nl-dg [id^="consam_"] .cs-card ul, html.nl-dg [id^="consam_"] .cs-card li { color: var(--muted-dg) !important; }
html.nl-dg [id^="consam_"] .cs-badge { background: var(--gold) !important; color: #120e08 !important; }
/* Formulario emergente de registro */
html.nl-dg .nlr-card { background: var(--ink-1) !important; color: var(--paper) !important; border: 1px solid var(--gold-soft); }
html.nl-dg .nlr-body input[type=text], html.nl-dg .nlr-body input[type=email], html.nl-dg .nlr-body input[type=tel] { background: rgba(255,255,255,.04) !important; color: var(--paper) !important; border-color: rgba(243,239,230,.16) !important; }
html.nl-dg .nlr-chk { color: var(--muted-dg) !important; }
html.nl-dg .sp-pay-badge { background: #fff !important; }

/* ===== Ajustes de revision 2: contraste de textos sobre fondo negro ===== */
/* Parrafos y descripciones: plata clara */
html.nl-dg .nl-video-body p, html.nl-dg .nl-why-item span, html.nl-dg .nl-about p, html.nl-dg .sp-trust-item span, html.nl-dg .sp-ei-empty p,
html.nl-dg .image-caption, html.nl-dg .sp-bf-active, html.nl-dg .sp-bf-step, html.nl-dg .sp-bf-custom label, html.nl-dg .sp-bf-clear,
html.nl-dg .sp-card-category, html.nl-dg [id^="consam_"] .cs-card ul, html.nl-dg [id^="consam_"] .cs-card li, html.nl-dg [id^="consam_"] .cs-sign,
html.nl-dg .sp-topbar .sp-topbar-sep, html.nl-dg .breadcrumb-item a, html.nl-dg .breadcrumb-item, html.nl-dg .breadcrumb-item.active,
html.nl-dg main p, html.nl-dg main li, html.nl-dg main dd, html.nl-dg main td, html.nl-dg main label, html.nl-dg .product-container p,
html.nl-dg .product-container li, html.nl-dg .page-content p, html.nl-dg .page-content li, html.nl-dg .modal-body p, html.nl-dg .offcanvas-body p,
html.nl-dg [style*="color:#64748b"], html.nl-dg [style*="color: #64748b"], html.nl-dg [style*="color:#111827"], html.nl-dg [style*="color:#334155"], html.nl-dg [style*="color:#475569"] { color: #d6d2c8 !important; }
/* Titulos: marfil */
html.nl-dg .nl-video-body h3, html.nl-dg .nl-video-cap, html.nl-dg .nl-why-item strong, html.nl-dg .nl-about h2, html.nl-dg .nl-title, html.nl-dg .nl-seal,
html.nl-dg .sp-home-ob-title, html.nl-dg .sp-module-demo-title__text, html.nl-dg .category-name, html.nl-dg .sp-bf-head,
html.nl-dg main h3, html.nl-dg main h4, html.nl-dg main h5, html.nl-dg main h6, html.nl-dg main strong, html.nl-dg main b { color: var(--paper) !important; }
/* Detalles en oro */
html.nl-dg .sp-card-brand, html.nl-dg .sp-ob-scarce, html.nl-dg .sp-cat-arrow, html.nl-dg [style*="color:#78350f"], html.nl-dg [style*="color:#d97706"] { color: var(--gold-2) !important; }
html.nl-dg .sp-ob-scarce { border-color: var(--gold-soft) !important; }
html.nl-dg .sp-cat-arrow { background: var(--ink-2) !important; border-color: var(--gold-soft) !important; }
/* Buscadores */
html.nl-dg body .search-input-group .form-control, html.nl-dg body .search-input-group .input-group-text, html.nl-dg body .search-input-group .input-group-text i,
html.nl-dg .blog-search-field .form-control { color: var(--paper) !important; background: rgba(255,255,255,.04) !important; }
html.nl-dg .pagination-rounded .page-link { color: var(--silver) !important; background: var(--ink-2) !important; }
/* Excepciones: textos sobre fondos claros o dorados siguen oscuros */
html.nl-dg main .nl-btn-gold, html.nl-dg main .nl-qb-cta, html.nl-dg main .nl-qb-copy, html.nl-dg main .btn-primary, html.nl-dg main .btn-primary *,
html.nl-dg main .sp-pay-badge, html.nl-dg main .sp-pay-badge *, html.nl-dg .nl-brands-wrap .nl-brand *, html.nl-dg main [style*="color:#312e81"],
html.nl-dg main .as-tab.is-on, html.nl-dg main .as-done, html.nl-dg main .as-btn--gold, html.nl-dg main .as-cart-toggle b, html.nl-dg main .as-item.is-sel::before { color: #120e08 !important; }
html.nl-dg main .as-item-model, html.nl-dg main .as-r b { color: var(--paper) !important; }
html.nl-dg main .as-item-brand, html.nl-dg main .as-r small, html.nl-dg main .as-slot-txt small { color: rgba(201,169,110,.9) !important; }
html.nl-dg main .as-slot-txt span, html.nl-dg main .as-item-line, html.nl-dg main .as-r span { color: rgba(243,239,230,.6) !important; }
html.nl-dg main .as-slot.is-full .as-slot-txt span { color: var(--paper) !important; }
html.nl-dg main .sp-card-editorial .card-price, html.nl-dg main .sp-card-editorial .card-price-number, html.nl-dg main .sp-price-request .card-price-number { color: var(--gold-2) !important; }
html.nl-dg main .sp-card-editorial .sp-ed-in { color: #7fd1a6 !important; }
html.nl-dg main .card-price-tax-note, html.nl-dg main .sp-price-old { color: rgba(243,239,230,.5) !important; }
html.nl-dg main .text-danger { color: #fca5a5 !important; }
html.nl-dg main .text-success { color: #7fd1a6 !important; }
html.nl-dg main .nl-kicker, html.nl-dg main .as-eyebrow { color: var(--gold) !important; }
html.nl-dg main .nl-sub { color: #f3efe6 !important; }

/* ===== Ajustes de revision 3 ===== */
/* Movil: sin desplazamiento horizontal; accesos rapidos siempre dentro de la pantalla */
@supports (overflow-x: clip) { html.nl-dg, html.nl-dg body { overflow-x: clip; } }
@supports not (overflow-x: clip) { html.nl-dg body { overflow-x: hidden; } }
@media (max-width: 991.98px) {
    html.nl-dg body { max-width: 100vw; }
    html.nl-dg .navbar, html.nl-dg .navbar > .container, html.nl-dg .navbar > .container-fluid { max-width: 100vw; }
    html.nl-dg .navbar > .container, html.nl-dg .navbar > .container-fluid { flex-wrap: wrap; }
    html.nl-dg .navbar .navbar-brand { min-width: 0; flex-shrink: 1; }
    html.nl-dg .navbar .navbar-brand img { max-width: 46vw; height: auto; }
    html.nl-dg body .sp-mquick { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; width: 100%; max-width: 100%; height: auto; min-height: 38px; padding: 6px 8px; box-sizing: border-box; border-top-color: rgba(201,169,110,.15) !important; }
    html.nl-dg body .sp-mquick a, html.nl-dg body .sp-mquick a[class] { flex: 1 1 0; min-width: 0; max-width: 34%; justify-content: center; padding: 0 6px !important; height: 28px; font-size: 10.5px !important; letter-spacing: .04em !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    html.nl-dg main img, html.nl-dg main video, html.nl-dg main iframe, html.nl-dg main table { max-width: 100%; }
}
@media (max-width: 359px) {
    html.nl-dg body .sp-mquick a, html.nl-dg body .sp-mquick a[class] { flex: 1 1 calc(50% - 6px); max-width: none; }
}

/* Tarjetas de producto: precio siempre vertical (regular tachado, precio actual, etiqueta de ahorro) */
html.nl-dg body .store-product-card .card-price { display: flex !important; flex-direction: column !important; align-items: flex-start; gap: 4px; }
html.nl-dg body .sp-card-editorial.text-center .card-price, html.nl-dg body .store-product-card.text-center .card-price { align-items: center; }
html.nl-dg body .store-product-card .card-price .sp-offer-label { display: none !important; }
html.nl-dg body .store-product-card .card-price .sp-price-old, html.nl-dg body .store-product-card .card-price .sp-sv-anchor { order: 1; display: block !important; margin: 0 !important; font-size: 13px !important; font-weight: 400 !important; color: rgba(243,239,230,.5) !important; text-decoration: line-through !important; }
html.nl-dg body .store-product-card .card-price .card-price-number { order: 2; display: block !important; font-size: 17px !important; color: var(--gold-2) !important; }
html.nl-dg body .store-product-card .card-price .sp-sv-pill { order: 3; display: inline-block !important; align-self: inherit; margin: 2px 0 0 !important; padding: 3px 10px !important; border-radius: 999px; border: 1px solid var(--gold-soft); background: rgba(201,169,110,.12) !important; color: var(--gold-2) !important; font-size: 11px !important; font-weight: 600 !important; white-space: normal; }
html.nl-dg body .store-product-card .card-price small { order: 4; }

/* Buscadores: barra clara con lupa, texto y placeholder grafito */
html.nl-dg body .search-input-group, html.nl-dg body .search-input-group .input-group-text, html.nl-dg body .search-input-group .form-control,
html.nl-dg body .search-input-group .input-group-text.bg-white { background: #f3efe6 !important; color: #1b1c20 !important; }
html.nl-dg body .search-input-group { border: 1px solid var(--gold-soft) !important; }
html.nl-dg body .search-input-group .input-group-text i, html.nl-dg body .search-input-group .fa-search { color: #3a3d42 !important; }
html.nl-dg body .search-input-group .form-control::placeholder { color: #5a5d63 !important; opacity: 1; }
html.nl-dg body .search-input-group .search-submit-btn { background: linear-gradient(135deg, #e3c88f 0%, #b8925a 50%, #8a6a3c 100%) !important; color: #120e08 !important; border: 0 !important; }

/* Sello de distribuidor autorizado */
html.nl-dg body .nl-seal { background: rgba(201,169,110,.1) !important; border: 1px solid var(--gold) !important; color: var(--gold-2) !important; box-shadow: 0 0 0 1px rgba(201,169,110,.15) inset; }
html.nl-dg body .nl-seal i { color: var(--gold) !important; }

/* ===== Ajustes de revision 4: pixel-perfect movil y escritorio ===== */
/* Barra superior de avisos: siempre dentro del ancho de la pantalla, centrada */
html.nl-dg body .sp-topbar { max-width: 100vw; box-sizing: border-box; overflow: hidden; padding: 0 10px; text-align: center; justify-content: center; }
html.nl-dg body .sp-topbar > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
/* una sola version del aviso: completa en escritorio/tableta, corta en celular */
@media (min-width: 768px) {
    html.nl-dg body .sp-topbar .sp-topbar-full { display: inline-block !important; }
    html.nl-dg body .sp-topbar .sp-topbar-short { display: none !important; }
}
@media (max-width: 767.98px) {
    html.nl-dg body .sp-topbar { font-size: 11px !important; letter-spacing: 0 !important; padding: 0 8px; }
    html.nl-dg body .sp-topbar .sp-topbar-full { display: none !important; }
    html.nl-dg body .sp-topbar .sp-topbar-short { display: inline-block !important; }
}
@media (max-width: 399.98px) {
    html.nl-dg body .sp-topbar { font-size: 10px !important; }
}
@media (max-width: 339.98px) {
    html.nl-dg body .sp-topbar { font-size: 9px !important; }
}

/* Etiquetas sobre la foto (En stock / Oferta / Open Box): misma linea, misma altura y mismo margen a cada lado */
html.nl-dg body .sp-card-editorial .img-container .sp-ed-badge,
html.nl-dg body .sp-card-editorial .img-container .sp-ob-badge,
html.nl-dg body .sp-card-editorial .img-container .sp-offer-badge:not(.sp-save-badge) {
    position: absolute !important; top: 14px !important; bottom: auto !important; box-sizing: border-box; height: 24px; margin: 0 !important;
    display: inline-flex !important; align-items: center; justify-content: center; padding: 0 10px !important; line-height: 1 !important; vertical-align: top; transform: none !important;
}
html.nl-dg body .sp-card-editorial .img-container .sp-ed-badge,
html.nl-dg body .sp-card-editorial .img-container .sp-ob-badge { left: 14px !important; right: auto !important; }
html.nl-dg body .sp-card-editorial .img-container .sp-offer-badge:not(.sp-save-badge) { right: 14px !important; left: auto !important; }
@media (max-width: 575.98px) {
    html.nl-dg body .sp-card-editorial .img-container .sp-ed-badge,
    html.nl-dg body .sp-card-editorial .img-container .sp-ob-badge,
    html.nl-dg body .sp-card-editorial .img-container .sp-offer-badge:not(.sp-save-badge) { top: 10px !important; height: 20px; padding: 0 8px !important; font-size: 8.5px !important; }
    html.nl-dg body .sp-card-editorial .img-container .sp-ed-badge,
    html.nl-dg body .sp-card-editorial .img-container .sp-ob-badge { left: 10px !important; }
    html.nl-dg body .sp-card-editorial .img-container .sp-offer-badge:not(.sp-save-badge) { right: 10px !important; }
}
/* si una tarjeta trae a la vez En stock y Open Box (ambas a la izquierda), Open Box baja una linea completa */
html.nl-dg body .sp-card-editorial .img-container .sp-ed-badge ~ .sp-ob-badge { top: 44px !important; }
@media (max-width: 575.98px) { html.nl-dg body .sp-card-editorial .img-container .sp-ed-badge ~ .sp-ob-badge { top: 36px !important; } }

/* QA general: nada mas ancho que la pantalla, textos largos que bajan de linea en vez de empalmarse */
html.nl-dg main img, html.nl-dg main video, html.nl-dg main iframe, html.nl-dg main svg, html.nl-dg footer img { max-width: 100%; height: auto; }
html.nl-dg main .table-responsive, html.nl-dg main pre { max-width: 100%; overflow-x: auto; }
html.nl-dg .sp-card-title, html.nl-dg .nl-title, html.nl-dg .nl-hero-title, html.nl-dg main h1, html.nl-dg main h2, html.nl-dg main h3,
html.nl-dg .category-name, html.nl-dg .nl-video-body h3, html.nl-dg footer a, html.nl-dg footer p { overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
html.nl-dg body .sp-card-editorial { min-width: 0; }
html.nl-dg body .sp-card-editorial .sp-ed-actions { gap: 8px; flex-wrap: wrap; }
html.nl-dg body .sp-card-editorial .card-price { flex-wrap: wrap; }
@media (max-width: 575.98px) {
    html.nl-dg main .container, html.nl-dg footer .container { padding-left: 14px; padding-right: 14px; }
    html.nl-dg .nl-qb { padding: 22px 18px !important; }
    html.nl-dg .nl-qb-codebox { flex-wrap: wrap; justify-content: center; gap: 8px; }
    html.nl-dg .nl-seal { white-space: normal; text-align: center; justify-content: center; line-height: 1.4; }
    html.nl-dg .nl-btns { flex-wrap: wrap; justify-content: center; }
}
