/* Revisión de 16-oct: conserva paleta, esmerilado y composición aprobados. */
:root { --bios-photo-surface: #fff; --bios-focus: #0076a8; }
.masthead.masthead { background: #f8fcff; }
/* La foto blanca se integra en una sola superficie, sin otro rectángulo detrás. */
.card.card .card__media { background: var(--bios-photo-surface) !important; }
.card.card .card__media img { object-position: center; border-radius: 0; }
.spotlight .spotlight__tiles, .spotlight .spotlight__image { background: var(--bios-photo-surface); }
.gallery.gallery .gallery__main { background: var(--bios-photo-surface); }
.tile.tile .tile__media { background: var(--bios-photo-surface); }
.tile.tile .tile__media img { object-fit: contain; mix-blend-mode: normal; filter: none; }
/* El encuadre nativo es progresivo: sin soporte se conserva la foto completa. */
.card.card .card__media img, .gallery.gallery .gallery__main img { object-fit: contain; }
.card.card .card__brand { font-size: 11px; letter-spacing: .06em; }
.spotlight.spotlight .spotlight__eyebrow { font-size: 11px; line-height: 1.5; letter-spacing: .025em; }
.spotlight.spotlight .spotlight__specs > span { font-size: 11px; line-height: 1.45; }
.spotlight.spotlight .product-stock.product-stock li { font-size: 11px; }
.bios-hero-row .lx__info-body .lx__eyebrow { font-size: 11px; letter-spacing: .035em; }
.bios-hero-row .lx__eyebrow, .bios-hero-row .slide__text > .eyebrow { color: var(--blue-800); }
.hero .slide__title a { background: none; background-clip: border-box; -webkit-background-clip: border-box; -webkit-text-fill-color: currentColor; color: inherit; }
.home .h2 .grad-text { background: none; background-clip: border-box; -webkit-background-clip: border-box; -webkit-text-fill-color: currentColor; color: inherit; }
.home .uf__ctl { background: #eef5fa; }
.home .band.band { background: #092b43; }
.home .advice__box.advice__box { background: #092b43 !important; }
.spotlights .spotlights__controls button { min-width: 44px; min-height: 44px; }
.catnav.catnav .catnav__menu a { min-height: 44px; }
html { scroll-padding-top: 140px; scroll-padding-bottom: 90px; }
input, textarea { caret-color: var(--bios-focus); }
::selection { background: #ccecff; color: #092b43; }
.wa-float.is-yielding, .recent-widget.is-yielding { visibility: hidden; pointer-events: none; }
.wa-float.wa-float { bottom: calc(18px + env(safe-area-inset-bottom,0px)); }
.recent-widget.recent-widget { bottom: calc(18px + env(safe-area-inset-bottom,0px)); }
@media(max-width:599px) {
  .recent-widget.recent-widget { left: max(12px,env(safe-area-inset-left,0px)); }
  .wa-float.wa-float { right: max(16px,env(safe-area-inset-right,0px)); }
}

/* Píldoras de especificación (22-oct): un solo sistema calmado. Todas neutras; el procesador, que es lo que más se
   compara, en celeste con letra azul; la gráfica dedicada (NVIDIA o Radeon) en verde suave. Sustituye la paleta por
   generación del 17-oct (degradados, plateado, rojo). */
:is(.card__specs, .uf-card__specs, .lx__specs, .promo__specs, .spotlight__specs, .recent-specs) > * { background: var(--niebla, #f3f6fa) !important; color: var(--ink-2) !important; font-weight: 500 !important; box-shadow: none !important; text-shadow: none !important; }
:is(.card__specs, .uf-card__specs, .lx__specs, .promo__specs, .spotlight__specs, .recent-specs) .spec--cpu { background: var(--cielo, #e6f4fb) !important; color: var(--blue-800) !important; font-weight: 600 !important; }
:is(.card__specs, .uf-card__specs, .lx__specs, .promo__specs, .spotlight__specs, .recent-specs) .spec--gpu { background: #e2f4ea !important; color: #145c36 !important; font-weight: 600 !important; }
/* Píldoras de una sola línea: el texto no se parte dentro de la píldora */
:is(.card__specs, .uf-card__specs, .lx__specs, .promo__specs, .spotlight__specs, .recent-specs) > * { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
/* «Reacondicionada» con el mismo estilo en todas las tarjetas */

/* «Reacondicionada» (R-02): una sola voz en todo el sitio — Poppins 500, letras normales, tracking casi cerrado. */
.price__refurb { font-family: 'Poppins', var(--font-sans, sans-serif) !important; font-size: 12.5px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important; line-height: 1.3 !important; color: #0a5d8f; }
.suggest__block--picks .mini-row .price__refurb, .mini .price__refurb { font-size: 11.5px !important; }

/* «Ver detalle»: con el mouse encima del botón se queda el azul fuerte (antes caía a #cde7f8 con texto blanco). */
.card .card__actions a.card__more:hover { background: #0077b6; color: #fff !important; text-decoration: none; }
/* Categorías: todas las fotos en caja cuadrada igual; la del monitor venía recortada (object-view-box) y encogía su tarjeta. */
.tiles .tile__media img { width: 100%; height: auto; aspect-ratio: 1 / 1 !important; object-fit: contain; }
@media (max-width: 767px) { .tiles > li:last-child:nth-child(odd) .tile__media img { aspect-ratio: 16 / 7 !important; } }
/* Sucursales: misma distancia bajo el precio aunque no lleve «Reacondicionada» (accesorios y piezas). */
.card .card__commerce .card__price + .product-stock { margin-top: 12px !important; }
/* Ficha al recargar: el hueco previo al JavaScript tiene la forma de la ficha (galería + datos), no un bloque liso. */
.js-wait #main:has(> .seo-ssr.product)::before {
  background:
    linear-gradient(var(--surface), var(--surface)) 0 0 / 48% 100% no-repeat,
    linear-gradient(var(--surface), var(--surface)) 54% 4% / 14% 14px no-repeat,
    linear-gradient(var(--surface), var(--surface)) 54% 11% / 32% 30px no-repeat,
    linear-gradient(var(--surface), var(--surface)) 100% 26% / 46% 200px no-repeat,
    linear-gradient(var(--surface), var(--surface)) 54% 82% / 22% 34px no-repeat !important;
}
@media (max-width: 899px) { .js-wait #main:has(> .seo-ssr.product)::before { background: linear-gradient(var(--surface), var(--surface)) 0 0 / 100% 62% no-repeat, linear-gradient(var(--surface), var(--surface)) 0 72% / 60% 26px no-repeat, linear-gradient(var(--surface), var(--surface)) 0 84% / 36% 34px no-repeat !important; } }

/* Black Friday (19-oct, Julio): precio de antes con la misma voz que «Reacondicionada» */
.price__antes { display: block; margin-top: 2px; font-family: 'Poppins', sans-serif; font-weight: 500; font-size: 12.5px;
  letter-spacing: .01em; color: #8a8a8a; white-space: normal; max-width: 100%; line-height: 1.35; }
.price__antes s { text-decoration-color: #e10600; text-decoration-thickness: 2px; white-space: nowrap; }
.price__antes b { color: #e10600; font-weight: 600; white-space: nowrap; }

/* 19-oct: en el celular los flotantes se apartan al bajar (site.js, wireFloatingClearance) */
.wa-float, .recent-widget { transition: transform .25s ease, opacity .25s ease; }
.wa-float.is-scrolling-away, .recent-widget.is-scrolling-away { transform: translateY(140%); opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .wa-float, .recent-widget { transition: none; } }
