/* Portal only. Midnight blue surfaces, electric blue links and logo-violet accents. */
.portal-dark {
    color-scheme: dark;
    --portal-bg: #080f26;
    --portal-surface: #111e38;
    --portal-raised: #1a2d4e;
    --portal-border: #334b70;
    --portal-ink: #eff3ff;
    --portal-muted: #afbdd5;
    --portal-accent: #b17aff;
    --portal-blue: #53b3ff;
    --portal-link: #8bc4ff;
    --portal-accent-hover: #c69aff;
    --portal-on-accent: #10172b;
    --main-bg-color: var(--portal-accent);
    --main-letra: var(--portal-on-accent);
    --texto-sobre-principal: var(--portal-on-accent);
    --main-fondo: var(--portal-bg);
    --menu: #0d1730;
    --letra: var(--portal-ink);
    background: var(--portal-bg);
    scrollbar-color: #4b5e80 var(--portal-bg);
}
.portal-dark body,
.portal-dark .site,
.portal-dark .site__body {
    background: var(--portal-bg);
    color: var(--portal-ink);
}
/* Portal: asymmetric circuit routes and nodes, independent of Gorila diagonals. */
.portal-dark .site__body {
    --portal-circuit-left: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%221120%22%20viewBox%3D%220%200%20320%201120%22%20fill%3D%22none%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-34%2048H62L118%20104V248L170%20300V426L112%20484V626L180%20694V872L112%20940V1120%22%20stroke%3D%22%2353b3ff%22%20stroke-width%3D%221.2%22%20opacity%3D%22.23%22%2F%3E%3Cpath%20d%3D%22M-18%2018H80L140%2078V214L202%20276V406L148%20460V602L216%20670V842L154%20904V1120%22%20stroke%3D%22%239050fb%22%20stroke-width%3D%221%22%20opacity%3D%22.17%22%2F%3E%3Cpath%20d%3D%22M118%20182H204L244%20222H340M180%20750H252L292%20790H340%22%20stroke%3D%22%2353b3ff%22%20stroke-width%3D%221%22%20opacity%3D%22.15%22%2F%3E%3Ccircle%20cx%3D%22118%22%20cy%3D%22182%22%20r%3D%223%22%20fill%3D%22%23080f26%22%20stroke%3D%22%2353b3ff%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22m216%20738%204%204-4%204-4-4Z%22%20stroke%3D%22%239050fb%22%20opacity%3D%22.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --portal-circuit-left-motion: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%221120%22%20viewBox%3D%220%200%20320%201120%22%20fill%3D%22none%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-34%2048H62L118%20104V248L170%20300V426L112%20484V626L180%20694V872L112%20940V1120%22%20stroke%3D%22%2353b3ff%22%20stroke-width%3D%221.2%22%20opacity%3D%22.23%22%2F%3E%3Cpath%20d%3D%22M-18%2018H80L140%2078V214L202%20276V406L148%20460V602L216%20670V842L154%20904V1120%22%20stroke%3D%22%239050fb%22%20stroke-width%3D%221%22%20opacity%3D%22.17%22%2F%3E%3Cpath%20d%3D%22M118%20182H204L244%20222H340M180%20750H252L292%20790H340%22%20stroke%3D%22%2353b3ff%22%20stroke-width%3D%221%22%20opacity%3D%22.15%22%2F%3E%3Ccircle%20cx%3D%22118%22%20cy%3D%22182%22%20r%3D%223%22%20fill%3D%22%23080f26%22%20stroke%3D%22%2353b3ff%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22m216%20738%204%204-4%204-4-4Z%22%20stroke%3D%22%239050fb%22%20opacity%3D%22.5%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M-34%2048H62L118%20104V248L170%20300V426L112%20484V626L180%20694V872L112%20940V1120%22%20stroke%3D%22%2353b3ff%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-dasharray%3D%2246%20734%22%20opacity%3D%22.55%22%3E%3Canimate%20attributeName%3D%22stroke-dashoffset%22%20from%3D%22780%22%20to%3D%220%22%20dur%3D%2222s%22%20begin%3D%22-5s%22%20repeatCount%3D%22indefinite%22%2F%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    --portal-circuit-left-current: var(--portal-circuit-left);
    --portal-circuit-right: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%221120%22%20viewBox%3D%220%200%20320%201120%22%20fill%3D%22none%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M344%2092H236L184%20144V328L242%20386V564L174%20632V804L236%20866V1120%22%20stroke%3D%22%239050fb%22%20stroke-width%3D%221.2%22%20opacity%3D%22.23%22%2F%3E%3Cpath%20d%3D%22M344%20126H252L210%20168V314L270%20374V580L204%20646V790L268%20854V1120%22%20stroke%3D%22%2353b3ff%22%20stroke-width%3D%221%22%20opacity%3D%22.17%22%2F%3E%3Cpath%20d%3D%22M184%20228H108L76%20260H-20M204%20714H124L90%20748H-20%22%20stroke%3D%22%239050fb%22%20stroke-width%3D%221%22%20opacity%3D%22.15%22%2F%3E%3Ccircle%20cx%3D%22184%22%20cy%3D%22228%22%20r%3D%223%22%20fill%3D%22%23080f26%22%20stroke%3D%22%239050fb%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22m204%20710%204%204-4%204-4-4Z%22%20stroke%3D%22%239050fb%22%20opacity%3D%22.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    --portal-circuit-right-motion: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%221120%22%20viewBox%3D%220%200%20320%201120%22%20fill%3D%22none%22%3E%3Cg%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M344%2092H236L184%20144V328L242%20386V564L174%20632V804L236%20866V1120%22%20stroke%3D%22%239050fb%22%20stroke-width%3D%221.2%22%20opacity%3D%22.23%22%2F%3E%3Cpath%20d%3D%22M344%20126H252L210%20168V314L270%20374V580L204%20646V790L268%20854V1120%22%20stroke%3D%22%2353b3ff%22%20stroke-width%3D%221%22%20opacity%3D%22.17%22%2F%3E%3Cpath%20d%3D%22M184%20228H108L76%20260H-20M204%20714H124L90%20748H-20%22%20stroke%3D%22%239050fb%22%20stroke-width%3D%221%22%20opacity%3D%22.15%22%2F%3E%3Ccircle%20cx%3D%22184%22%20cy%3D%22228%22%20r%3D%223%22%20fill%3D%22%23080f26%22%20stroke%3D%22%239050fb%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22m204%20710%204%204-4%204-4-4Z%22%20stroke%3D%22%239050fb%22%20opacity%3D%22.5%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M344%2092H236L184%20144V328L242%20386V564L174%20632V804L236%20866V1120%22%20stroke%3D%22%239050fb%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-dasharray%3D%2246%20734%22%20opacity%3D%22.55%22%3E%3Canimate%20attributeName%3D%22stroke-dashoffset%22%20from%3D%22780%22%20to%3D%220%22%20dur%3D%2229s%22%20begin%3D%22-13s%22%20repeatCount%3D%22indefinite%22%2F%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    --portal-circuit-right-current: var(--portal-circuit-right);
    background-image: var(--portal-circuit-left-current), var(--portal-circuit-right-current), radial-gradient(ellipse at 85% 0, rgba(62, 122, 240, .12), transparent 40%);
    background-repeat: repeat-y, repeat-y, no-repeat;
    background-size: 320px 1120px, 320px 1120px, 100% 100%;
    background-position: left -100px top 80px, right -100px top 420px, center top;
}
/* Light follows the routes; content and the midnight base remain still. */
@media (prefers-reduced-motion: no-preference) {
    .portal-dark .site__body {
        --portal-circuit-left-current: var(--portal-circuit-left-motion);
        --portal-circuit-right-current: var(--portal-circuit-right-motion);
    }
}
@media (max-width: 767px) {
    .portal-dark .site__body {
        background-size: 220px 770px, 220px 770px, 100% 100%;
        background-position: left -105px top 60px, right -80px top 300px, center top;
    }
}
.portal-dark :is(h1, h2, h3, h4, h5, h6) { color: var(--portal-ink); }
.portal-dark .block-header .block-header__title { color: var(--portal-ink); }
.portal-dark .site__body .block-header .block-header__divider::before { background: linear-gradient(90deg, var(--portal-blue), var(--portal-accent)); opacity: .85; }
.portal-dark a { color: var(--portal-link); }
.portal-dark a:hover { color: var(--portal-accent-hover); }
.portal-dark :is(hr, .block-header__divider, .block-features__divider) { border-color: var(--portal-border); background-color: var(--portal-border); }
.portal-dark :is(.text-muted, .breadcrumb-item, .breadcrumb-item.active) { color: var(--portal-muted) !important; }
.portal-dark :is(.bg-white, .bg-light) { background-color: var(--portal-surface) !important; }
.portal-dark :is(.home-discovery, .home-brands, .nav-links--modern, .departments--modern, .mobilemenu--modern,
    .listado-page, .detalle-page, .detalle-producto, .dropcart, .pedidos-page, .registro-page, .account-menu--modern,
    .commerce-modal, .cuotas-modern, #quickview-modal) {
    --home-accent: var(--portal-accent);
    --home-border: var(--portal-border);
    --home-ink: var(--portal-ink);
    --home-muted: var(--portal-muted);
    --nav-accent: var(--portal-accent);
    --nav-border: var(--portal-border);
    --nav-ink: var(--portal-ink);
    --catalog-accent: var(--portal-accent);
    --catalog-border: var(--portal-border);
    --catalog-muted: var(--portal-muted);
    --listado-accent: var(--portal-accent);
    --listado-on-accent: var(--portal-on-accent);
    --listado-border: var(--portal-border);
    --listado-muted: var(--portal-muted);
    --page-accent: var(--portal-accent);
    --page-border: var(--portal-border);
    --page-muted: var(--portal-muted);
    --detalle-accent: var(--portal-accent);
    --detalle-on-accent: var(--portal-on-accent);
    --detalle-muted: var(--portal-muted);
    --cart-accent: var(--portal-accent);
    --cart-on-accent: var(--portal-on-accent);
    --cart-border: var(--portal-border);
    --cart-muted: var(--portal-muted);
    --qv-accent: var(--portal-accent);
    --qv-on-accent: var(--portal-on-accent);
    --qv-border: var(--portal-border);
    --qv-muted: var(--portal-muted);
    --cuenta-accent: var(--portal-accent);
    --cuenta-on-accent: var(--portal-on-accent);
    --cuenta-border: var(--portal-border);
    --cuenta-muted: var(--portal-muted);
    --commerce-accent: var(--portal-accent);
    --commerce-on-accent: var(--portal-on-accent);
    --commerce-border: var(--portal-border);
    --commerce-muted: var(--portal-muted);
    color: var(--portal-ink);
}

/* Header, catalog menus and mobile navigation. */
.portal-dark :is(.site-header, .site-header__middle, .site-header__nav-panel, .nav-panel,
    .topbar, .topbar__item, .mobile-header__panel) {
    background: var(--menu);
    border-color: var(--portal-border);
    color: var(--portal-ink);
}
.portal-dark .site-header__nav-panel { border-bottom: 1px solid var(--portal-border); }
.portal-dark .site-header__nav-panel--stuck { box-shadow: 0 4px 18px rgba(0, 0, 0, .24); }
.portal-dark :is(.nav-links__item-link, .topbar__item-link, .indicator__button) { color: var(--portal-ink); }
.portal-dark .nav-links__item-body { background: transparent; color: var(--portal-ink); }
.portal-dark .nav-links--modern .nav-links__item--hover > .nav-links__item-link .nav-links__item-body {
    background: var(--portal-raised); color: var(--portal-accent);
}
.portal-dark :is(.departments.departments--modern .departments__button,
    .departments--modern .departments__body, .departments--modern .departments__links-wrapper,
    .departments--modern .departments__links, .departments--modern .menu, .nav-links--modern .menu,
    .megamenu, .mobilemenu--modern .mobilemenu__body, .mobilemenu--modern .mobilemenu__header,
    .mobilemenu--modern .mobile-links, .mobilemenu--modern .mobile-links__item,
    .search__suggestions, .suggestions) {
    background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark :is(.departments--modern .departments__item-link, .departments--modern .menu__item-link,
    .nav-links--modern .menu__item-link, .mobilemenu--modern .mobile-links__item-link,
    .megamenu__links a, .suggestions__item-name, .suggestions__item-price) { color: var(--portal-ink); }
.portal-dark :is(.departments--modern .departments__item--hover > .departments__item-link,
    .departments--modern .menu__item-link:hover, .departments--modern .menu__item--hover > .menu__item-link,
    .nav-links--modern .menu__item-link:hover, .nav-links--modern .menu__item-link:focus-visible,
    .nav-links--modern .menu__item--hover > .menu__item-link,
    .mobilemenu--modern .mobile-links__item-title:hover,
    .mobilemenu--modern .mobile-links__item--open > .mobile-links__item-title,
    .suggestions__item:hover) { background: var(--portal-raised); color: var(--portal-accent); }
.portal-dark :is(.catalog-menu-search, .departments--modern .catalog-menu-search,
    .mobilemenu--modern .catalog-menu-search) { background: transparent; border-color: var(--portal-border); }
.portal-dark :is(.catalog-menu-search label, .catalog-submenu__title,
    .mobilemenu__title, .mobilemenu__title span) { color: var(--portal-ink); }
.portal-dark .nav-links__item-arrow,
.portal-dark .departments__button-arrow { fill: currentColor; }

/* Forms and actions. Native date/select controls inherit the dark color scheme. */
.portal-dark :is(input.form-control, textarea.form-control, select.form-control,
    .custom-select, .search__input, .catalog-menu-search input, .listado-page [id="orderFilter"],
    .select2-container--default .select2-selection--single, .footer-newsletter__form-input) {
    background: var(--portal-bg); border-color: var(--portal-border); color: var(--portal-ink);
}
.portal-dark :is(.search__form, .search__border) { background: var(--portal-bg); border-color: var(--portal-border); }
.portal-dark .site__header .search .search__form { background: var(--portal-bg); border-color: var(--portal-border); }
.portal-dark .site__header .search .search__input { color: var(--portal-ink) !important; }
.portal-dark .site__header .search .search__input::placeholder { color: #9cacc7 !important; }
.portal-dark :is(input, textarea)::placeholder { color: #9cacc7; opacity: 1; }
.portal-dark :is(input.form-control, textarea.form-control, .catalog-menu-search input):focus {
    background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-accent);
    box-shadow: 0 0 0 3px rgba(177, 122, 255, .16);
}
.portal-dark .btn-primary,
.portal-dark .detalle-producto .btn-primary,
.portal-dark .account-menu--modern .btn-primary {
    background: var(--portal-accent); border-color: var(--portal-accent); color: var(--portal-on-accent);
}
.portal-dark .btn-primary:hover,
.portal-dark .detalle-producto .btn-primary:hover { background: var(--portal-accent-hover); border-color: var(--portal-accent-hover); color: var(--portal-on-accent); }
.portal-dark :is(.btn-secondary, .btn-light, .btn-default) {
    background: var(--portal-raised); border-color: var(--portal-border); color: var(--portal-ink);
}
.portal-dark :is(.btn-secondary, .btn-light, .btn-default):not(:disabled):not(.disabled):is(:hover, :focus, :active, .active, .focus) { background: #263b5d; border-color: var(--portal-border); color: var(--portal-ink); fill: currentColor; }
.portal-dark :is(a, button, input, select, textarea):focus-visible { outline-color: var(--portal-accent); }
.portal-dark .select2-dropdown { background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .select2-container--default .select2-selection__rendered { color: var(--portal-ink); }
.portal-dark .select2-results__option[aria-selected=true] { background: var(--portal-raised); color: var(--portal-ink); }

/* Cards, prices and carousels. Product photos and partner logos keep their original colors. */
.portal-dark .product-card.itemBig.product-card--modern[data-id],
.portal-dark .product-card.itemSmall.item-small--modern[data-id] {
    --itembig-accent: var(--portal-accent);
    --itembig-on-accent: var(--portal-on-accent);
    --itembig-border: var(--portal-border);
    --itembig-muted: var(--portal-muted);
    --itemsmall-accent: var(--portal-accent);
    --itemsmall-on-accent: var(--portal-on-accent);
    --itemsmall-border: var(--portal-border);
    background: var(--portal-surface); color: var(--portal-ink);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.product-card__name a, .product-card__prices,
    .product-card__new-price, .itembig-current-price, .itembig-variants tbody td) { color: var(--portal-ink); }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.product-store, .product-card__old-price, .precioCuotas,
    .tituloMarca, .marcaTitulo, .product-card__features-list) { color: var(--portal-muted); }
.portal-dark .product-image { background: #fff; }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.product-card__image, .product-image__body) { background: #fff; }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] .product-card__actions { border-color: var(--portal-border); }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.product-card__quickview, .product-card__photo-zoom, .product-card__compare),
.portal-dark :is(.block-header__arrow, .home-brands__arrow, .home-top-rank,
    .product-gallery__zoom, .quickview__close, .mobilemenu__close) {
    background: var(--portal-raised); border-color: var(--portal-border); color: var(--portal-muted); fill: currentColor;
}
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.product-card__quickview, .product-card__photo-zoom, .product-card__compare, .itembig-add):hover {
    background: #293b5b; color: var(--portal-ink);
}
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.itemsmall-add, .itembig-add) {
    background: var(--portal-accent); color: var(--portal-on-accent);
}
.portal-dark :is(.block-header__arrow, .home-brands__arrow):hover { background: var(--portal-accent); color: var(--portal-on-accent); }
.portal-dark #divSeccionTop .product-card:is(.itemBig, .itemSmall)[data-id]:is(:hover, :has(:focus-visible)) {
    border-color: var(--portal-border); box-shadow: 0 2px 6px rgba(0,0,0,.12);
}
.portal-dark #divSeccionTop .home-top-rank--first { background: var(--portal-accent); color: var(--portal-on-accent); }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] .itembig-stepper,
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] .itembig-quantity input { background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark :is(.product-stock.text-success, .product-stock.text-warning, .product-stock.text-danger, .product-stock.text-info) { border: 1px solid transparent; }
.portal-dark .product-stock.text-success { background: #15392e; color: #99e8bd !important; }
.portal-dark .product-stock.text-warning { background: #40311b; color: #ffce7c !important; }
.portal-dark .product-stock.text-danger { background: #421f31; color: #ffb3c3 !important; }
.portal-dark .product-stock.text-info { background: #14384a; color: #a0dff1 !important; }
/* Match the title's top/left inset; keep the seller at the bottom right without overlays. */
.product-card.itemBig.product-card--modern[data-id] .product-card__info { padding-top: 14px; }
.product-card.itemBig.product-card--modern[data-id] > .product-store { align-self: flex-end; max-width: calc(100% - 28px); margin: 0 14px 14px auto; }
@container itembig (max-width: 160px) {
    .product-card.itemBig.product-card--modern[data-id] .product-card__info { padding-top: 10px; }
    .product-card.itemBig.product-card--modern[data-id] > .product-store { max-width: calc(100% - 20px); margin-right: 10px; margin-bottom: 10px; }
}
/* Compact list rows adapt to their available width, including lists with a sidebar. */
.products-list[data-layout="list"] { container: portal-list / inline-size; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] {
    display: grid; grid-template-columns: 112px minmax(0, 1fr);
    grid-template-areas: "image badges" "image info" "image minimum" "image actions" "timer timer" ". seller";
    grid-template-rows: auto; align-items: start; column-gap: 18px; padding: 14px; height: auto;
}
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .product-card__image { grid-area: image; align-self: start; width: 112px; height: 112px; border-radius: 12px; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .product-image__img { padding: 8px; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] > .product-card__badges-list:not(.bottom) { grid-area: badges; position: static; inset: auto; width: auto; margin: 0 0 8px; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] > .product-card__badges-list:not(:has(.product-card__badge)) { display: none; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] > .product-card__badges-list.bottom { grid-area: minimum; margin: 0 0 10px; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .product-card__info { grid-area: info; align-self: start; padding: 0; margin: 0 0 10px; border: 0; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .product-card__actions { grid-area: actions; width: auto; margin: 0; padding: 0; border: 0; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .itembig-purchase { margin-top: 10px; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] > .product-store { grid-area: seller; align-self: end; justify-self: end; max-width: 100%; margin: 12px 0 0; }
.products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] > .tiempo { grid-area: timer; margin-top: 12px; }
@container portal-list (min-width: 760px) {
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] {
        grid-template-columns: 160px minmax(0, 1fr) minmax(210px, 26%);
        grid-template-areas: "image badges actions" "image info actions" "image minimum seller" "timer timer timer";
        grid-template-rows: auto 1fr auto auto; column-gap: 22px;
    }
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .product-card__image { width: 160px; height: 160px; }
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .product-card__info { margin-bottom: 0; }
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id]:has(> .tiempo) { grid-template-areas: "image badges actions" "image info actions" "image minimum actions" "timer timer timer" ". . seller"; grid-template-rows: auto 1fr auto auto auto; }
}
@container portal-list (max-width: 480px) {
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] { grid-template-columns: 88px minmax(0, 1fr); column-gap: 12px; padding: 12px; }
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .product-card__image { width: 88px; height: 88px; }
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .itembig-pricing > .product-card__prices { font-size: clamp(14px, 5cqi, 20px); }
    .products-list[data-layout="list"] .product-card.itemBig.product-card--modern[data-id] .portal-card-stock { font-size: 8px; }
}
/* Keep the previous price above the final price and reserve the right column for stock. */
.product-card.itemBig.product-card--modern[data-id] .itembig-pricing { display: grid; grid-template-columns: minmax(0, 1fr) fit-content(45%); align-items: end; gap: 4px 6px; }
.product-card.itemBig.product-card--modern[data-id] .itembig-pricing > .product-card__prices { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; font-size: clamp(12px, 8cqi, 22px); }
.product-card.itemBig.product-card--modern[data-id] .itembig-pricing .product-card__old-price { order: -1; font-size: clamp(10px, 5cqi, 13px); }
.product-card.itemBig.product-card--modern[data-id] .portal-card-stock { flex: 0 0 auto; max-width: 100%; margin: 0; padding: 3px 5px; border-radius: 6px; font-size: clamp(8px, 4cqi, 9px); font-weight: 600; line-height: 1.4; overflow-wrap: normal; word-break: normal; }
.product-card.itemBig.product-card--modern[data-id] .itembig-pricing > .portal-card-stock { grid-column: 2; grid-row: 1; justify-self: end; margin-bottom: 2px; }
.product-card.itemBig.product-card--modern[data-id] .itembig-pricing > .itembig-discount { grid-column: 1 / -1; grid-row: 2; justify-self: start; margin: 0; }
.product-card.itemBig.product-card--modern[data-id] .itembig-pricing:not(:has(.portal-card-stock)) { grid-template-columns: minmax(0, 1fr); }
.product-card.itemBig.product-card--modern[data-id] .product-card__actions > .portal-card-stock { display: table; margin-left: auto; }
@container itembig (max-width: 160px) {
    .product-card.itemBig.product-card--modern[data-id] .product-card__actions { padding-left: 6px; padding-right: 6px; }
    .product-card.itemBig.product-card--modern[data-id] .itembig-pricing { column-gap: 2px; }
    .product-card.itemBig.product-card--modern[data-id] .itembig-pricing > .product-card__prices { font-size: 11.5px; }
    .product-card.itemBig.product-card--modern[data-id] .portal-card-stock { padding-left: 4px; padding-right: 4px; }
}
/* Pseudo-elements must be outside :is(); otherwise Slick keeps its black dots. */
.portal-dark .slick-dots li button::before { color: var(--portal-muted); opacity: 1; }
.portal-dark .slick-dots li.slick-active button::before,
.portal-dark .slick-dots li button:hover::before { color: var(--portal-accent); opacity: 1; }
.portal-dark .slick-dots li button:focus-visible { outline: 2px solid var(--portal-accent); outline-offset: 2px; border-radius: 50%; }
.portal-dark .owl-dot span { background: #6b7c9b; }
.portal-dark .owl-dot.active span { background: var(--portal-accent); }
.portal-dark :is(.home-discovery .categories-list__item, .home-discovery .block-brands__item-2,
    .home-discovery .card-categoria, .block-brands__list, .block-brands__list-2) {
    background: var(--portal-surface); border-color: var(--portal-border); color: var(--portal-ink);
}
.portal-dark :is(.home-discovery .categories-list__item a, .home-discovery .block-brands__item-2 a,
    .home-discovery .card-categoria .card-body, .block-brands__item-name) { color: var(--portal-ink); }
.portal-dark #divSeccionSubcategorias :is(.categories-list__item, .block-brands__item-2, .card-categoria, .categoriaSmall) { --home-ink: #292f38; background: #fff; color: #292f38; }
.portal-dark #divSeccionSubcategorias :is(.categories-list__item > a, .categories-list__item-name, .block-brands__item-link, .block-brands__item-name, .category-card__name a) { color: #292f38; }
.portal-dark #divSeccionSubcategorias .card-categoria .texto { background: #fff; color: #292f38; }
.portal-dark .home-brands .block-brands__slider { background: transparent; }
.portal-dark .home-brands .block-brands__item > a,
.portal-dark .portal-tiendas .portal-tiendas__enlace { background: #fff; color: #292f38; }
.portal-dark .portal-tiendas .portal-tiendas__nombre { color: #292f38; }
.portal-dark .portal-tiendas__imagen { padding: 5px; border-radius: 8px; background: #fff; }
/* A single white card, with equal logo boxes and aligned names in both themes. */
.portal-tiendas .portal-tiendas__item > .portal-tiendas__enlace {
    display: grid; grid-template-rows: 72px minmax(34px, auto); align-content: start; justify-items: center;
    gap: 10px; padding: 12px 8px; min-height: 140px; background: #fff; color: #292f38;
}
.portal-tiendas .portal-tiendas__enlace .portal-tiendas__imagen {
    display: grid; place-items: center; width: 100%; height: 72px; margin: 0; padding: 0; border-radius: 0; background: #fff;
}
.portal-tiendas .portal-tiendas__imagen img { width: 72px; height: 72px; max-width: 100%; max-height: 72px; object-fit: contain; }
.portal-tiendas .portal-tiendas__enlace .portal-tiendas__nombre { align-self: start; width: 100%; color: #292f38; }
.portal-dark :is(.product-store__logo, .portal-menu-store__logo) { color-scheme: light; border-color: #d4dbe8; }

/* Listing, filters and pagination. */
.portal-dark .listado-page :is(.listado-heading, .block-sidebar__body, .view-options,
    .block-empty__body, .listado-brand, #divMarcas .block-brands__slider) {
    background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .listado-page .widget-filters { background: transparent; }
.portal-dark .listado-page .block-sidebar__header { background: var(--portal-surface); border-color: var(--portal-border); }
.portal-dark .listado-page :is(.listado-heading h1, .filter__title, .filter-categories__item a,
    .filter-list__title, .filter-list__label, .view-options__label, .view-options__legend) { color: var(--portal-ink); }
.portal-dark .listado-page :is(.widget-filters__item, .listado-heading__description, .listado-results) { border-color: var(--portal-border); }
.portal-dark .listado-page :is(.filter-categories__item a:hover, .filter-categories__item.active a,
    .filter-list__item:hover, .filter-list__item:has(input:checked), .layout-switcher__list) { background: var(--portal-raised); color: var(--portal-ink); }
.portal-dark .listado-page .layout-switcher__button { background: transparent; color: var(--portal-muted); fill: currentColor; }
.portal-dark .listado-page .layout-switcher__button--active { background: var(--portal-accent); color: var(--portal-on-accent); }
.portal-dark .listado-page .page-item .page-link { background: var(--portal-surface); border-color: var(--portal-border); color: var(--portal-ink); }
.portal-dark .listado-page .page-item.active .page-link { background: var(--portal-accent); border-color: var(--portal-accent); color: var(--portal-on-accent); }
.portal-dark .listado-page :is(.filters-button, .block-sidebar__close) { background: var(--portal-raised); color: var(--portal-ink); }
.portal-dark .listado-page .widget-filters__actions .btn,
.portal-dark .listado-page .block-sidebar__header .block-sidebar__close:not(.listado-filters-footer__button) { background: var(--portal-raised); border-color: var(--portal-border); color: var(--portal-ink); fill: currentColor; }
.portal-dark .listado-page :is(.filters-button, .listado-filters-footer__button, .block-sidebar__header .block-sidebar__close):not(:disabled):not(.disabled):is(:hover, :focus-visible, :active) { background: #263b5d; border-color: var(--portal-border); color: var(--portal-ink); fill: currentColor; }

.portal-dark #modal-top {
    --top-surface: var(--portal-surface);
    --top-ink: var(--portal-ink);
    --top-muted: var(--portal-muted);
    --top-border: var(--portal-border);
    --top-raised: var(--portal-raised);
    --top-hover: var(--portal-raised);
}

/* Product detail, quickview, dialogs and drawers. */
.portal-dark :is(.card, .modal-content, .detalle-heading, .detalle-ficha, .detalle-overview,
    .detalle-producto, .detalle-producto__contact, .product-tabs, .address-card, .cuenta-card,
    .registro-card, .account-menu.account-menu--modern, .commerce-method-card,
    .dropcart--style--offcanvas .dropcart__body, .dropcart--style--offcanvas .dropcart__header,
    .dropcart--style--offcanvas .dropcart__footer, .dropcart--style--offcanvas .dropcart__product) {
    background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark #quickview-modal :is(.quickview, .quickview__heading, .quickview__footer-summary,
    .product-gallery__featured, .product-notices .block-features__list) {
    background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark #quickview-modal .quickview__close { background: var(--portal-raised); color: var(--portal-ink); fill: currentColor; }
.portal-dark #quickview-modal :is(.quickview__name, .product__name, .quickview__see-details) { color: var(--portal-ink); }
.portal-dark #quickview-modal .quickview__see-details { background: var(--portal-raised); color: var(--portal-accent); }
.portal-dark #quickview-modal .quickview__see-details:hover { background: #263b5d; }
.portal-dark #quickview-modal .product-gallery__featured { background: #fff; }
.portal-dark .product-gallery__carousel .product-gallery__carousel-item,
.portal-dark #quickview-modal .product-gallery__carousel .product-gallery__carousel-item,
.portal-dark .product-gallery__carousel .product-image__body,
.portal-dark #quickview-modal .product-gallery__carousel .product-image__body { background: #fff; }
.portal-dark .account-menu--modern .account-menu__user { background: transparent; color: var(--portal-ink); transition: background .18s, color .18s; }
.portal-dark .account-menu--modern .account-menu__user:is(:hover, :focus-visible),
.portal-dark .account-menu--modern .account-menu__links a:is(:hover, :focus-visible) { background: var(--portal-raised); color: var(--portal-ink); }
.portal-dark .account-menu--modern .account-menu__user-email { color: var(--portal-muted); }
.portal-dark .account-menu--modern .account-menu__divider { background: var(--portal-border); }
.portal-dark .account-menu--modern :is(.account-menu__user, .account-menu__links a):focus-visible { outline: 2px solid var(--portal-accent); outline-offset: -3px; }
.portal-dark .detalle-producto .detalle-cantidad__title { color: var(--portal-muted); }
.portal-dark .detalle-cantidad__table-wrap { border-color: var(--portal-border); }
.portal-dark :is(.detalle-page #detalleDiv, .detalle-page .divDetalleMediosEnvios, .detalle-notice .block-features__list) {
    background: var(--portal-surface); border-color: var(--portal-border); color: var(--portal-ink);
}
.portal-dark .detalle-page :is(.product-gallery__featured, .product-gallery__carousel-item) {
    background: #fff; border-color: var(--portal-border); color: var(--portal-ink);
}
.portal-dark :is(.detalle-page .product__name, .detalle-ficha h2, .detalle-producto__title,
    .detalle-producto .product__price, .detalle-producto .product__new-price,
    .detalle-producto .product__prices, .dropcart__product-name a, .dropcart__product-price,
    .dropcart__total, .account-menu__user-name, .cuenta-auth__label) { color: var(--portal-ink); }
.portal-dark :is(.product__description, .product__features, .detalle-producto__list-price-label,
    .detalle-producto__contact-text, .detalle-opcion__nombre, .dropcart__product-meta,
    .dropcart__product-quantity, .cuenta-auth__hint) { color: var(--portal-muted); }
.portal-dark :is(.detalle-producto .detalle-opciones input + .detalle-opcion,
    .detalle-disponibilidad, .detalle-cantidad__table th, .product-facts tr,
    .product-notices .block-features__list, .commerce-modal__header,
    .commerce-modal .payment-methods__item, .cuotas-modern .payment-methods__item,
    .cuotas-modern .payment-methods__item-header, .cuotas-modern .cuotas-table__table,
    .cuotas-modern .cuotas-table__table th, .itembig-variants, .itembig-variants thead th) {
    background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .detalle-producto .detalle-opciones input:checked + .detalle-opcion {
    border-color: var(--portal-accent); background: #2c2442; color: var(--portal-ink);
}
.portal-dark :is(.detalle-cantidad__table, .itembig-variants .itembig-variants__table, .table) { color: var(--portal-ink); }
.portal-dark .product-facts td { color: var(--portal-ink); }
.portal-dark .commerce-modal .commerce-shipping-option { background: var(--portal-raised); color: var(--portal-ink); }
.portal-dark .commerce-modal .commerce-shipping-option :is(.address-card__row-title, .address-card__row-content) { color: var(--portal-ink); }
.portal-dark :is(.table td, .table th, .detalle-cantidad__table td, .product-facts td,
    .itembig-variants tr > *, .commerce-modal .commerce-shipping-option) { border-color: var(--portal-border); }
.portal-dark .itembig-variants tbody tr:nth-child(even) { background: var(--portal-surface); }
.portal-dark :is(.dropcart__close, .dropcart__share-button, .dropcart__product-remove,
    .dropcart__extra-remove, .commerce-modal .quickview__close, .product-heading__share) {
    background: var(--portal-raised); color: var(--portal-muted); border-color: var(--portal-border);
}
.portal-dark .dropcart--style--offcanvas .dropcart__title,
.portal-dark .dropcart--style--offcanvas .dropcart__totals .dropcart__total-row :is(th, td) { color: var(--portal-ink); }
.portal-dark .dropcart--style--offcanvas :is(.dropcart__close, .dropcart__share-button) { fill: currentColor; }
.portal-dark .dropcart--style--offcanvas .dropcart__product > .dropcart__product-remove,
.portal-dark .dropcart--style--offcanvas .dropcart__buttons > .btn-secondary {
    background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark :is(.modal-backdrop, .mobilemenu__backdrop, .dropcart__backdrop) { background: #030715; }

/* Footer stays part of the same night palette; logos retain a small neutral backing. */
.portal-dark :is(.site-footer--structured, .site-footer__content, .site-footer__bottom, .site-footer--structured .bg-section,
    .site-footer--structured .footer-features, .site-footer--structured .block-features__list) {
    background: #0a132a; color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .site-footer--structured { border-top: 1px solid var(--portal-border); }
.portal-dark .site-footer--structured .footer-features .block-features__item {
    background: var(--portal-surface) !important; color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .site-footer--structured .footer-features .block-features__content > span:not(.block-features__title) { color: var(--portal-muted); }
.portal-dark .site-footer--structured :is(.footer-contacts__title, .footer-links__title,
    .footer-newsletter__title, .block-features__title, .site-footer__copyright) { color: var(--portal-ink); }
.portal-dark .site-footer--structured :is(.footer-contacts__text, .footer-contacts__contacts,
    .footer-links__link, .footer-newsletter__text, .block-features__subtitle,
    .site-footer__brand-copy, .site-footer__brand-copy p) { color: var(--portal-muted); }
.portal-dark .site-footer--structured a:hover { color: var(--portal-accent); }
.portal-dark .site-footer--structured :is(.site-footer__contact-icon, .social-links__link) { background: var(--portal-raised); color: var(--portal-ink); }
.portal-dark :is(.site-footer__payment-logo, .site-footer__credit-logo) { background: #fff; }
.portal-dark .totop__button { background: var(--portal-accent); color: var(--portal-on-accent); }
@media (max-width: 991px) {
    .portal-dark .mobile-header--modern .mobile-header__panel { background: #0d1730; border-color: var(--portal-border); color: var(--portal-ink); }
    .portal-dark .listado-page .block-sidebar--open .block-sidebar__body { background: var(--portal-surface); }
}

/* Published-page review: image-category captions and shared navigation. */
.portal-dark .home-discovery .categories-list__item[style*="background-image"] > a > span {
    background: rgba(13, 23, 48, .96); color: var(--portal-ink); border: 1px solid var(--portal-border);
}
.portal-dark .site-header__phone :is(.site-header__phone-title, .site-header__phone-number) { color: var(--portal-ink); }
.portal-dark .page-header__breadcrumb .breadcrumb-item a { background: var(--portal-surface); color: var(--portal-muted); border-color: var(--portal-border); }
.portal-dark .page-header__breadcrumb .breadcrumb-item a:hover { background: var(--portal-raised); color: var(--portal-accent); }
.portal-dark .listado-page .listado-results-summary strong { color: var(--portal-ink); }
.portal-dark .countdown-unidades .countdown-valor { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); box-shadow: none; }
.portal-dark .countdown-unidades .countdown-etiqueta { color: var(--portal-muted); }
.portal-dark .product-card__badge.product-card__badge--green { background: #176b3b; color: #fff; }

/* Contact uses its own cards, labels and form selectors, including Select2. */
.portal-dark .contacto-page {
    --contacto-accent: var(--portal-accent);
    --contacto-on-accent: var(--portal-on-accent);
    --contacto-border: var(--portal-border);
    --contacto-muted: var(--portal-muted);
    color: var(--portal-ink);
}
.portal-dark .contacto-page :is(.contacto-card, .contacto-icon, .contacto-map iframe) {
    background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .contacto-page :is(.contacto-heading h1, h2, h3, .contacto-extra strong) { color: var(--portal-ink); }
.portal-dark .contacto-page :is(.contacto-details li, .contacto-details a) { color: var(--portal-muted); }
.portal-dark .contacto-page :is(.contacto-branch__tag, .contacto-map__link, .contacto-social__list a) {
    background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .contacto-page :is(.contacto-map__link, .contacto-social__list a):hover { color: var(--portal-accent); }
.portal-dark .contacto-page #formContacto label { color: var(--portal-muted); }
.portal-dark .contacto-page #formContacto :is(.form-control, .select2-selection--single) {
    background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .contacto-page #formContacto .select2-selection__rendered { color: var(--portal-ink); }
.portal-dark .contacto-page #formContacto .form-control::placeholder { color: #9cacc7; }
.portal-dark .contacto-page #formContacto .form-control:focus { background: var(--portal-bg); border-color: var(--portal-accent); }
.portal-dark .contacto-page #formContacto .input-validation-error { background: #341f30; border-color: #e897a9; }
.portal-dark .contacto-page #formContacto .field-validation-error { color: #ffb3c3; }
.portal-dark .select2-dropdown .select2-search__field { background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--portal-accent); color: var(--portal-on-accent); }
.portal-dark .contacto-page .contacto-form__actions .whatsapp,
.portal-dark .detalle-producto .detalle-producto__contact .btn.whatsapp { background: #126b42; border-color: #126b42; color: #fff; }
.portal-dark .contacto-page .contacto-form__actions .whatsapp:hover,
.portal-dark .detalle-producto .detalle-producto__contact .btn.whatsapp:hover { background: #175b3d; border-color: #175b3d; }

/* Quickview arrows and secondary copy arrive with the AJAX-rendered product. */
.portal-dark #quickview-modal .product-gallery__featured .owl-nav button { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark #quickview-modal .product-gallery__featured .owl-nav button:hover { background: var(--portal-accent); color: var(--portal-on-accent); }
.portal-dark .detalle-producto .detalle-producto__contact :is(p, .detalle-producto__contact-note) { color: var(--portal-muted); border-color: var(--portal-border); }

/* Let the form paint its rounded edges; the input must not cover its left corners. */
.portal-dark .site__header .search .search__input { background: transparent; border-radius: inherit; }
.portal-dark .site__header .search .search__form:focus-within { border-color: var(--portal-accent); box-shadow: 0 0 0 3px rgba(177,122,255,.18); }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.itembig-stepper, .itembig-stepper button, .itembig-stepper input,
    .itemsmall-stepper, .itemsmall-stepper button, .itemsmall-stepper input) {
    background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-border);
}
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.itembig-stepper button, .itemsmall-stepper button):hover { background: var(--portal-raised); color: var(--portal-accent); }

/* Portal product sheet: image, summary and seller follow the shared three-column layout. */
.portal-dark .detalle-page--portal .detalle-heading { grid-template-columns: minmax(0, 1fr); padding: 24px; border-radius: 20px; }
.portal-dark .detalle-page--portal .detalle-heading .product__name { font-size: clamp(22px, 2.5vw, 32px); line-height: 1.3; letter-spacing: -.025em; }
.portal-dark .detalle-page--portal :is(.detalle-heading__meta, .detalle-heading .detalle-ficha) { border-color: var(--portal-border); }
.portal-dark .detalle-page--portal .detalle-ficha:not(:has(.product-notices)) { display: none; }
.portal-dark .detalle-page--portal .detalle-heading > .detalle-ficha { grid-column: 1 / -1; }
.portal-dark .detalle-page--portal .detalle-heading__meta { grid-column: 1 / -1; grid-row: 4; width: 100%; max-width: 100%; margin-top: 14px; padding-top: 0; border: 0; }
.portal-dark .detalle-page--portal :is(.detalle-heading, .detalle-ficha-mobile) .product-facts { width: 100%; max-width: 640px; }
.portal-dark .detalle-page--portal #detalleDiv { padding: 0; border: 0; background: transparent; }
.portal-dark .detalle-page--portal .product-gallery__featured { border-radius: 20px; background: #fff; }
.portal-dark .detalle-page--portal .product-gallery__featured a.product-image__body { height: clamp(260px, 34vw, 460px); max-height: none; padding-bottom: 0; }
.portal-dark .detalle-page--portal .product-gallery__carousel-item { background: #fff; border-color: var(--portal-border); }
.portal-dark .detalle-page--portal .product-gallery__carousel-item--active { border-color: var(--portal-accent); }
.portal-dark .detalle-page--portal .product-gallery__option-caption { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .detalle-page--portal :is(.detalle-ficha-mobile, .detalle-resumen-desplegable) { background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .detalle-page--portal .detalle-resumen-desplegable > summary { color: var(--portal-ink); }
.portal-dark .detalle-page--portal .product-tabs { border-radius: 18px; border-color: var(--portal-border); overflow: hidden; }
.portal-dark .detalle-page--portal .product-tabs__content { border: 0; border-radius: inherit; background: var(--portal-surface); color: var(--portal-ink); }
.portal-dark .detalle-page--portal .cleanText { color: var(--portal-muted); font-size: 14px; line-height: 1.8; font-weight: 400; overflow-wrap: anywhere; }
.portal-dark .detalle-page--portal .cleanText :is(h2, h3, h4, strong, b) { color: var(--portal-ink); }
.portal-dark .detalle-page--portal .cleanText [style*="color"]:not(a) { color: inherit !important; background-color: transparent !important; }
.portal-dark .detalle-page--portal .cleanText a { color: var(--portal-accent) !important; }
.portal-dark .detalle-page--portal .cleanText img { max-width: 100%; height: auto; }
.portal-dark .detalle-page--portal .product-gallery__featured > .product-heading__share { background: var(--portal-raised); color: var(--portal-ink); }

.portal-dark .detalle-producto .portal-price-label { display: block; margin-bottom: 10px; color: var(--portal-muted); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.portal-dark .detalle-producto > #divPrecio > .product-card__badge--blue { display: flex; flex-direction: column; padding: 0 !important; margin-top: 0 !important; background: transparent; color: var(--portal-ink); border-radius: 0; }
.portal-dark .detalle-producto > #divPrecio .product__prices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 0; }
.portal-dark .detalle-producto > #divPrecio .product-card__new-price { color: var(--portal-ink); font-size: clamp(26px, 3vw, 38px); font-weight: 750; line-height: 1.2; }
.portal-dark .detalle-producto > #divPrecio .product-card__old-price { color: var(--portal-muted); font-size: 15px; font-weight: 400; }
.portal-dark .detalle-producto > #divPrecio .product-card__badge--red { position: static !important; align-self: flex-start; margin: 0 0 10px; padding: 4px 8px !important; border-radius: 6px; font-size: 11px !important; }
.portal-dark .detalle-page--portal .detalle-producto { padding: 24px; border-radius: 20px; border-color: var(--portal-border); }
.portal-dark .portal-vendedor { gap: 16px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--portal-border); }
.portal-dark .portal-vendedor__identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.portal-dark .portal-vendedor__icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border: 1px solid var(--portal-border); border-radius: 12px; background: var(--portal-raised); color: var(--portal-accent); }
.portal-dark .portal-vendedor .portal-vendedor__seller { display: grid; gap: 3px; min-width: 0; color: var(--portal-muted); line-height: 1.5; }
.portal-dark .portal-vendedor__seller strong { margin: 0; color: var(--portal-ink); font-size: 16px; font-weight: 650; overflow-wrap: anywhere; }
.portal-dark .detalle-producto .portal-vendedor__button { min-height: 48px; padding: 13px 16px; border-radius: 12px; font-size: 14px; }
.portal-dark .portal-vendedor .portal-vendedor__note { color: var(--portal-muted); text-align: center; line-height: 1.6; }
@media (min-width: 992px) {
    .portal-dark .detalle-page--portal .product--layout--columnar { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(260px, .85fr); gap: 20px 24px; }
    .portal-dark .detalle-page--portal .product--layout--columnar > .detalle-heading { grid-column: 1 / -1; grid-row: 1; margin: 0; }
    .portal-dark .detalle-page--portal .product--layout--columnar > .product__content > .product__gallery { grid-column: 1; grid-row: 2; }
    .portal-dark .detalle-page--portal .product--layout--columnar > .product__content > .product__sidebar { grid-column: 3; grid-row: 2; align-self: start; }
    .portal-dark .detalle-page--portal .product--layout--columnar > .product__content > .product__info { grid-column: 2; grid-row: 2; }
    .portal-dark .detalle-page--portal .product__gallery .product-gallery { max-width: none; }
}
@media (max-width: 767px) {
    .portal-dark .detalle-page--portal .detalle-heading { padding: 18px 16px; }
    .portal-dark .detalle-page--portal .detalle-producto { padding: 20px; }
    .portal-dark .detalle-page--portal .detalle-ficha-mobile { background: var(--portal-surface); border-color: var(--portal-border); }
    .portal-dark .detalle-page--portal .product-tabs__content { padding: 20px !important; }
}

/* Authored articles and secondary public pages share the active dark palette. */
.portal-dark :is(.pagina-page, .public-page, .public-modal, .public-status, .public-comparison, .blog-page) {
    --pagina-accent: var(--portal-accent); --pagina-border: var(--portal-border); --pagina-muted: var(--portal-muted);
    --public-accent: var(--portal-accent); --public-border: var(--portal-border); --public-muted: var(--portal-muted);
    color: var(--portal-ink);
}
.portal-dark :is(.pagina-card, .public-card, .public-status, .public-table-scroll, .blog-page .widget,
    .public-modal .public-modal__option) { background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark :is(.pagina-page, .public-page, .public-modal, .public-status, .public-comparison, .blog-page) :is(h1, h2, h3, h4, h5, h6, label, strong, b) { color: var(--portal-ink); }
.portal-dark :is(.pagina-content, .pagina-eyebrow, .public-heading > p, .public-eyebrow, .public-breadcrumb,
    .public-status p, .public-modal__heading p, .public-access .public-card > p, .public-order__date,
    .public-order__variants dt, .public-order__totals dt, .public-modal [id="formModal"] > p) { color: var(--portal-muted); }
.portal-dark :is(.pagina-content th, .pagina-content blockquote, .pagina-content pre, .public-order__totals,
    .public-order__status, .public-status__icon, .public-comparison .compare-table th,
    .blog-page .tags__list > span, .blog-page .widget-search__body) { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark :is(.pagina-content td, .pagina-content th, .pagina-content .pagina-table, .pagina-content .pagina-section-title,
    .public-order__heading, .public-order__product, .public-comparison .compare-table td, .public-comparison .compare-table th) { border-color: var(--portal-border); }
.portal-dark :is(.pagina-content, .public-rich) :is([style*="color"], [color]):not(img):not(svg):not(iframe):not(a) { color: inherit !important; background-color: transparent !important; }
.portal-dark :is(.pagina-content, .public-rich) a { color: var(--portal-accent) !important; }
.portal-dark .public-rich { color: var(--portal-muted); }
.portal-dark :is(.blog-page .widget-search__input, .public-modal .form-control) { background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark :is(.blog-page .widget-search__button, .public-popup .cookie-policy-btn) { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .public-status--success .public-status__icon { background: #183327; color: #a4dfb9; }
.portal-dark .public-comparison .compare-table { color: var(--portal-ink); }

.portal-dark :is(.pagina-page .page-header, .blog-page .post) { background: transparent; }
.portal-dark :is(.public-faq details, .public-rich th, .public-rich blockquote, .public-rich pre,
    .blog-page .post-author) { background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark :is(.public-rich, .public-contact-card p, .public-comparison__hint,
    .blog-page .post-header__meta, .blog-page .post-author__about, .blog-page .widget-aboutus__text,
    .blog-page .widget-posts__date, .blog-page .blog-search__status) { color: var(--portal-muted); }
.portal-dark :is(.public-faq summary, .public-comparison .compare-table__product-name,
    .blog-page .widget-categories__row > a) { color: var(--portal-ink); }
.portal-dark :is(.public-rich th, .public-rich td, .public-rich__table, .blog-page .post__footer) { border-color: var(--portal-border); }
.portal-dark :is(.pagina-content, .public-rich) [style*="background"]:not(img):not(svg):not(iframe) { background-color: transparent !important; }
.portal-dark .public-rich [style*="color"]:not(img):not(svg):not(iframe):not(a) { color: inherit !important; }
.portal-dark .public-rich a { color: var(--portal-accent) !important; }
.portal-dark .public-page .form-control { background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .public-page .form-control:focus { border-color: var(--portal-accent); }
.portal-dark .registro-page legend, .portal-dark .pedidos-form__hint strong { color: var(--portal-ink); }

.portal-dark .dropcart--style--offcanvas :is(.dropcart__product-name a, .dropcart__product-price) { color: var(--portal-ink); }
.portal-dark .dropcart--style--offcanvas :is(.dropcart__empty-icon, .dropcart__share-button:hover,
    .dropcart__product-remove:hover, .dropcart__extra-remove:hover) { background: var(--portal-raised); color: var(--portal-ink); fill: currentColor; }
.portal-dark .dropcart--style--offcanvas .dropcart__skeleton-block { background: var(--portal-raised); background-image: linear-gradient(100deg, var(--portal-raised) 25%, #30415f 45%, var(--portal-raised) 65%); }
.portal-dark .dropcart--style--offcanvas .dropcart__empty-state h3 { color: var(--portal-ink); }
.portal-dark .dropcart--style--offcanvas .dropcart__totals :is(th, td) { color: var(--portal-muted); }
.portal-dark .dropcart--style--offcanvas .dropcart__totals .dropcart__total-row :is(th, td) { color: var(--portal-ink); }

.portal-dark .pagina-page .pagina-shell > article { background: transparent; }
.portal-dark .compra-page input[type="file"] { max-width: 100%; }
.portal-dark .account-menu--modern .account-menu__form-title { color: var(--portal-ink); }
.portal-dark :is(.registro-page, .pedidos-page) :is(h1, h2, h3, label) { color: var(--portal-ink); }
.portal-dark :is(.pedidos-form__hint, .pedidos-steps li > span, .cuenta-icon, .registro-benefits__icon) { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .registro-page .select2-selection--single { background: var(--portal-bg) !important; border-color: var(--portal-border) !important; }
.portal-dark .registro-page .select2-selection--single .select2-selection__rendered { color: var(--portal-ink); }
.portal-dark .public-modal .public-modal__option p { color: var(--portal-muted); }
.portal-dark .modal .payment-methods :is(.payment-methods__item-header, .payment-methods__item-container, .payment-methods__item-description) { background: var(--portal-surface); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .public-modal .quickview__close:hover { background: var(--portal-raised); color: var(--portal-ink); }
.portal-dark .modal .payment-methods__item { background: var(--portal-surface); border-color: var(--portal-border); }
.portal-dark .pedido-result__state { background: var(--portal-raised); color: var(--portal-muted); }
.portal-dark :is(.cuenta-optional, .pedidos-help__link, .registro-benefits__back) { color: var(--portal-muted); }

/* The dedicated sign-in layout uses the same palette as the Portal storefront. */
.portal-dark body.login-shell { background: var(--portal-bg); color: var(--portal-ink); }
.portal-dark .login-page {
    --login-accent: var(--portal-accent); --login-on-accent: var(--portal-on-accent);
    --login-border: var(--portal-border); --login-muted: var(--portal-muted);
    color: var(--portal-ink);
}
.portal-dark .login-page :is(h1, h2, h3, label) { color: var(--portal-ink); }
.portal-dark .login-card { background: var(--portal-surface); border-color: var(--portal-border); }
.portal-dark :is(.login-icon, .login-benefits__icon) { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .login-page .form-control { background: var(--portal-bg); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .login-page .form-control:focus { background: var(--portal-bg); border-color: var(--portal-accent); }
.portal-dark .login-page .form-control::placeholder { color: var(--portal-muted); }
.portal-dark .login-password__toggle { color: var(--portal-muted); }
.portal-dark .login-password__toggle:hover { background: var(--portal-raised); color: var(--portal-ink); }
.portal-dark .login-register { border-color: var(--portal-border); }
.portal-dark .login-page .login-register__link { background: var(--portal-raised); color: var(--portal-ink); border-color: var(--portal-border); }
.portal-dark .login-page .login-register__link:hover { background: #263b5d; color: var(--portal-accent); }
.portal-dark .login-page .field-validation-error { color: #ffb8c1; }
.portal-dark :is(.product-card__badge, .product-card__badge a) { color: #fff !important; }
.portal-dark .site-footer--structured .social-links__link { background: var(--portal-raised) !important; color: #fff !important; }
.portal-dark .site-footer--structured .social-links__link i { color: inherit !important; }
.portal-dark .product-card.itemBig[data-id] :is(.itembig-quantity, .itembig-stepper, .itembig-add),
.portal-dark .product-card.itemSmall[data-id] :is(.itemsmall-quantity, .itemsmall-stepper, .itemsmall-add) { box-sizing: border-box; height: 44px !important; min-height: 44px !important; }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.itembig-stepper input, .itemsmall-stepper input) { height: 100% !important; min-height: 0 !important; }
.portal-dark .cuenta-auth .account-menu__form-title { color: var(--portal-ink) !important; }
.portal-dark :is(#modal-pago, #modal-envio, #modal-pago-2, #modal-envio-2) .payment-methods__item { background: var(--portal-surface) !important; color: var(--portal-ink) !important; border-color: var(--portal-border) !important; }
.portal-dark :is(#modal-pago, #modal-envio, #modal-pago-2, #modal-envio-2) :is(.payment-methods__item-header, .payment-methods__item-container, .payment-methods__item-description) { background: transparent !important; color: var(--portal-ink) !important; }
.portal-dark .product-card:is(.itemBig, .itemSmall)[data-id] :is(.itembig-stepper, .itembig-stepper input, .itembig-stepper button, .itemsmall-stepper, .itemsmall-stepper input, .itemsmall-stepper button) { background: var(--portal-bg) !important; color: var(--portal-ink) !important; }
.portal-dark .product-card :is(.product-card__badge--blue, .product-card__badge--red) { background: #8b4c00 !important; }
.portal-dark .commerce-modal .commerce-modal__header :is(h2, p, span) { color: var(--portal-ink) !important; }
.portal-dark #armado-modal :is(.input-number__add, .input-number__sub) { color: var(--portal-ink); opacity: 1; }
.portal-dark .cuenta-auth :is(.cuenta-auth__recover, .cuenta-auth__register) { color: var(--portal-muted) !important; }

/* Keep equal title insets at both card sizes; list rows retain their own rule. */
.portal-dark .product-card.itemBig.product-card--modern[data-id] .product-card__info { padding: 14px 14px 8px; }
@container itembig (max-width: 160px) {
    .portal-dark .product-card.itemBig.product-card--modern[data-id] .product-card__info { padding: 10px; }
}

/* A fixed stock column leaves the complete amount visible. */
.portal-dark .product-card.itemBig.product-card--modern[data-id] .itembig-pricing { grid-template-columns: minmax(0, 1fr) 28px; gap: 6px; }
.portal-dark .product-card.itemBig.product-card--modern[data-id] .itembig-pricing:not(:has(.stock-indicator)) { grid-template-columns: minmax(0, 1fr); }
.portal-dark .product-card.itemBig.product-card--modern[data-id] .itembig-pricing > .product-card__prices { min-width: 0; font-size: clamp(12px, calc((100cqi - 64px) / var(--itembig-price-factor, 7)), 22px); }
.portal-dark .product-card.itemBig.product-card--modern[data-id] .stock-indicator { position: relative; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; flex: 0 0 28px; width: 28px; min-width: 28px; height: 28px; min-height: 28px; padding: 0; margin: 0 0 0 auto; border-radius: 7px; cursor: help; overflow: visible; }
.portal-dark .product-card.itemBig.product-card--modern[data-id] .itembig-pricing > .stock-indicator { grid-column: 2; grid-row: 1; align-self: end; justify-self: end; }
.portal-dark .product-card.itemBig.product-card--modern[data-id] .product-card__actions > .stock-indicator { display: flex; margin-left: auto; }
.portal-dark .stock-indicator__label { position: absolute; z-index: 10; right: 0; bottom: calc(100% + 8px); width: max-content; max-width: min(240px, calc(100vw - 40px)); padding: 8px 10px; border: 1px solid var(--portal-border); border-radius: 8px; background: var(--portal-raised); color: var(--portal-ink); font-size: 12px; font-weight: 600; line-height: 1.4; text-align: left; white-space: normal; visibility: hidden; opacity: 0; pointer-events: none; }
.portal-dark .stock-indicator:not([data-tooltip-closed]):is(:hover, :focus) .stock-indicator__label { visibility: visible; opacity: 1; pointer-events: auto; }
.portal-dark .stock-indicator__label::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 9px; }
.portal-dark .product-card:has(.stock-indicator:is(:hover, :focus)) { z-index: 6; }
.portal-dark .product-notices__ranking { color: #fff; }
.portal-dark :is(.commerce-method-card, .divDetalleMediosEnvios, .divDetalleMediosPago) .block-features__title { color: #fff !important; }
.portal-dark .resumen-page .checkout__totals-footer tr > :is(th, td) { background: var(--portal-raised); color: #fff; }

/* Keep installment amounts readable, including shared styles loaded by AJAX. */
.portal-dark .cuotas-modern .cuotas-table__table { color: var(--portal-ink); font-size: 13px !important; font-variant-numeric: tabular-nums; }
.portal-dark .cuotas-modern .cuotas-table__table :is(th, td) { border-bottom-color: var(--portal-border); }
.portal-dark .cuotas-modern .cuotas-table__table thead th { background: var(--portal-raised); color: var(--portal-ink); font-size: 11px; font-weight: 600; }
.portal-dark .cuotas-modern .cuotas-table__table tbody tr > td { color: var(--portal-ink); font-size: inherit; }
.portal-dark .cuotas-modern .cuotas-table__table tbody td:last-child { color: var(--portal-ink); font-weight: 700; }
.portal-dark .cuotas-modern .cuotas-table__table tbody td:only-child { color: var(--portal-ink); font-size: 22px; text-align: left; }
@media (max-width: 575px) {
    .portal-dark .cuotas-modern .cuotas-table__table { font-size: 12px !important; }
}

/* Custom radio controls hide the native input, so accent-color alone is insufficient. */
.portal-dark .input-radio__input:checked:not(:disabled) ~ .input-radio__circle { background: var(--portal-accent); box-shadow: none; }
.portal-dark .input-radio__input:checked:not(:disabled) ~ .input-radio__circle::after { background: var(--portal-on-accent); }
.portal-dark .input-radio__input:focus-visible ~ .input-radio__circle { outline: 2px solid var(--portal-accent); outline-offset: 3px; }

.portal-dark .contacto-page #formContacto .input-check__input:not(:checked) ~ .input-check__box { background: var(--portal-bg); }

/* Keep listing brand logos and labels on one light surface. */
.portal-dark .listado-page #divMarcas .block-brands__slider { background: #fff; color: #292f38; border-color: #e3e6eb; }
.portal-dark .listado-page #divMarcas .listado-brand { background: #fff; color: #292f38; }
.portal-dark .listado-page #divMarcas .listado-brand span { color: inherit; }
.portal-dark .listado-page #divMarcas .listado-brand:hover { background: #f5f6f8; color: #292f38; }

/* Small seller identity shares the price row without adding a badge below the title. */
.portal-dark .product-card.itemSmall.item-small--modern[data-id] .itemsmall-actions--seller { display: grid; grid-template-columns: minmax(0, 1fr) 32px; align-items: end; gap: 8px; }
.portal-dark .product-card.itemSmall.item-small--modern[data-id] .itemsmall-actions--seller > :is(.rifa-progreso, .combo-item__price-label) { grid-column: 1 / -1; }
.portal-dark .product-card.itemSmall.item-small--modern[data-id] .itemsmall-actions--seller > .product-store { grid-column: 2; align-self: end; justify-self: end; width: 32px; height: 32px; margin: 0; padding: 0; gap: 0; border: 0; border-radius: 8px; background: transparent; }
.portal-dark .product-card.itemSmall.item-small--modern[data-id] .product-store__image { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 8px; }
.portal-dark .product-card.itemSmall.item-small--modern[data-id] .product-store__name { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
