/* MRP Gaming · hub de gamas, tarjeta de gama, precios Recomendado/Ahorro, FPS y galería de la ficha.
   Solo variables de tokens.css. */

.mrp-hero--gaming { background: radial-gradient(900px 420px at 80% 0%, rgba(155,240,11,.18), transparent 60%), radial-gradient(700px 380px at 0% 100%, rgba(34,211,238,.12), transparent 60%), var(--mrp-bg); }
.mrp-section--tight { padding-top: 0; }
.mrp-muted { color: var(--mrp-text-muted); }
.mrp-notice { padding: var(--mrp-sp-4); border-radius: var(--mrp-radius); background: var(--mrp-surface-2); border-left: 4px solid var(--mrp-accent); }
.mrp-cta { display: grid; gap: var(--mrp-sp-4); padding: var(--mrp-sp-6) var(--mrp-sp-5); border-radius: var(--mrp-radius-lg); background: linear-gradient(135deg, var(--mrp-surface), var(--mrp-surface-2)); border: 1px solid var(--mrp-border); }
.mrp-cta h2 { margin: 0 0 6px; }
.mrp-cta p { margin: 0; color: var(--mrp-text-muted); }
@media (min-width: 900px) { .mrp-cta { grid-template-columns: 1fr auto; align-items: center; } }
.mrp-btn--sm { min-height: 38px; padding: 0 14px; font-size: var(--mrp-fs-sm); }

/* Etiquetas */
.mrp-tag { display: inline-block; padding: 1px 8px; border-radius: var(--mrp-radius-pill); font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: var(--mrp-surface-2); color: var(--mrp-warn); border: 1px solid var(--mrp-border); vertical-align: middle; font-family: var(--mrp-font-sans); }
.mrp-tag--ok { color: var(--mrp-ok); }

/* Rejilla de gamas */
.mrp-gamas { display: grid; gap: var(--mrp-sp-4); margin-top: var(--mrp-sp-5); }
@media (min-width: 640px) { .mrp-gamas { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .mrp-gamas { grid-template-columns: repeat(3, 1fr); } }
.mrp-gama { display: flex; flex-direction: column; overflow: hidden; transition: transform .2s var(--mrp-ease), box-shadow .2s; }
.mrp-gama:hover { transform: translateY(-3px); box-shadow: var(--mrp-glow), var(--mrp-shadow); }
.mrp-gama__media { display: grid; place-items: center; aspect-ratio: 16 / 11; padding: var(--mrp-sp-4); background: radial-gradient(260px 160px at 50% 60%, rgba(155,240,11,.14), transparent 70%), var(--mrp-bg-soft); }
.mrp-gama__media { position: relative; overflow: hidden; }
/* Ilustración de reserva (sin foto): centrada con aire */
.mrp-gama__media > .mrp-pc-svg { position: absolute; inset: var(--mrp-sp-4) 0; margin: auto; height: calc(100% - 2 * var(--mrp-sp-4)); width: auto; max-width: 100%; object-fit: contain; }
/* Foto (oleada 9): ocupa TODO el hueco, sin márgenes ni fondo alrededor; proporción fija 1:1 (la destacada 1200×1200) en todas las tarjetas */
.mrp-gama__media:has(> img) { aspect-ratio: 1 / 1; padding: 0; background: var(--mrp-bg-soft); }
.mrp-gama__media > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; object-position: center; border-radius: 0; transition: transform .35s var(--mrp-ease); }
.mrp-gama:hover .mrp-gama__media > img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .mrp-gama__media > img { transition: none; } .mrp-gama:hover .mrp-gama__media > img { transform: none; } }
.mrp-gama__body { display: flex; flex-direction: column; gap: var(--mrp-sp-3); padding: var(--mrp-sp-4); flex: 1; }
.mrp-gama h3 { font-family: var(--mrp-font-display); margin: 0; font-size: var(--mrp-fs-xl); }
.mrp-gama h3 a { color: var(--mrp-text); text-decoration: none; }
.mrp-gama__para { margin: 0; color: var(--mrp-text-muted); font-size: var(--mrp-fs-sm); }
.mrp-gama__acciones { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mrp-sp-2); margin-top: auto; }

/* Especificaciones */
.mrp-specs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; font-size: var(--mrp-fs-sm); }
.mrp-specs li { position: relative; padding-left: 14px; }
.mrp-specs li::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 2px; background: var(--mrp-accent); }
.single-product .mrp-specs { margin: var(--mrp-sp-3) 0; }

/* FPS */
.mrp-fps-chip { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 8px 12px; border-radius: var(--mrp-radius-sm); background: var(--mrp-surface-2); font-size: var(--mrp-fs-sm); }
.mrp-fps-chip strong { font-family: var(--mrp-font-display); font-size: 1.15rem; color: var(--mrp-link); white-space: nowrap; }
.mrp-fps { margin: var(--mrp-sp-6) 0; }
.mrp-fps h2 { font-size: var(--mrp-fs-xl); }
.mrp-fps__nota { color: var(--mrp-text-muted); font-size: var(--mrp-fs-sm); }
.mrp-table-wrap { overflow-x: auto; }
.mrp-fps__tabla { width: 100%; max-width: 760px; border-collapse: collapse; font-size: var(--mrp-fs-sm); }
.mrp-fps__tabla th, .mrp-fps__tabla td { padding: 10px 8px; border-bottom: 1px solid var(--mrp-border); text-align: left; vertical-align: middle; }
.mrp-fps__tabla td { font-family: var(--mrp-font-display); font-weight: 700; white-space: nowrap; }
.mrp-fps__tabla thead th { color: var(--mrp-text-muted); font-weight: 600; }
.mrp-bar { display: block; height: 6px; margin-top: 4px; border-radius: 3px; background: var(--mrp-surface-2); overflow: hidden; min-width: 60px; }
.mrp-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--mrp-cyan), var(--mrp-green-neon)); }

/* Precios Recomendado / Ahorro */
.mrp-precios { display: grid; gap: var(--mrp-sp-2); }
.mrp-precios__desde { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; color: var(--mrp-text-muted); font-size: var(--mrp-fs-sm); }
.mrp-precio, .mrp-precios__desde strong { font-family: var(--mrp-font-display); font-size: 1.5rem; font-weight: 700; color: var(--mrp-text); }
.mrp-precios__cuota { color: var(--mrp-text-muted); font-size: var(--mrp-fs-sm); font-weight: 400; }
.mrp-versiones { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mrp-version { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 8px 12px; border-radius: var(--mrp-radius-sm); border: 1px solid var(--mrp-border); background: var(--mrp-bg-soft); font-size: var(--mrp-fs-sm); }
.mrp-version--reco { border-color: var(--mrp-accent); }
.mrp-version__nombre { font-weight: 700; }
.mrp-version__precio { margin-left: auto; font-family: var(--mrp-font-display); font-weight: 700; }
.mrp-version__nota { flex-basis: 100%; color: var(--mrp-ok); font-size: var(--mrp-fs-xs); }
.mrp-version .mrp-btn { flex-basis: 100%; }
.mrp-version__perdidas { flex-basis: 100%; font-size: var(--mrp-fs-xs); color: var(--mrp-text-muted); }
.mrp-version__perdidas summary { cursor: pointer; font-weight: 600; color: var(--mrp-text); }
.mrp-precios__aviso { margin: 0; font-size: var(--mrp-fs-xs); color: var(--mrp-text-muted); }
.mrp-precios--ficha .mrp-precio { font-size: 2rem; }
.woocommerce div.product p.price .mrp-precios, .woocommerce ul.products li.product .price .mrp-precios { font-weight: 400; }
.woocommerce ul.products li.product .price .mrp-versiones { display: none; }

/* Ficha en el ambiente gaming: galería oscura */
.theme-gaming .woocommerce div.product div.images { background: radial-gradient(360px 260px at 50% 55%, rgba(155,240,11,.16), transparent 70%), var(--mrp-surface); border: 1px solid var(--mrp-border); border-radius: var(--mrp-radius-lg); padding: var(--mrp-sp-4); }
.theme-gaming .woocommerce div.product .product_title { font-family: var(--mrp-font-display); }
/* La columna fija de la ficha está en tienda.css (oleada 9), limitada a .mrp-ficha-top. */

.mrp-ficha-ilustracion { display: grid; place-items: center; aspect-ratio: 1; padding: var(--mrp-sp-5); border-radius: var(--mrp-radius-lg); background: radial-gradient(360px 260px at 50% 55%, rgba(155,240,11,.16), transparent 70%), var(--mrp-surface); border: 1px solid var(--mrp-border); margin-bottom: var(--mrp-sp-5); }
.mrp-ficha-ilustracion .mrp-pc-svg { height: 100%; max-height: 420px; width: auto; }
/* 0.5.3 · Accesibilidad: objetivos táctiles de 44 px (P2, F3, F4) */
.mrp-gama__acciones .mrp-btn, .mrp-version .mrp-btn { min-height: 44px; }
.mrp-version__perdidas summary { padding: 12px 0; }

/* Botón «Añadir al carrito» en las tarjetas (15/10/2026) */
.mrp-gama__carrito { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.mrp-gama__acciones--uno .mrp-gama__carrito { grid-column: auto; }

/* Añadir al carrito sin salir de la página: vuelo, rebote del carrito y aviso breve (15/10/2026) */
.mrp-gama__carrito.is-cargando { opacity: .75; pointer-events: none; }
.mrp-gama__carrito.is-cargando svg { animation: mrp-car-mueve .6s ease-in-out infinite alternate; }
.mrp-gama__carrito.is-hecho { background: #0B0F0C; color: var(--mrp-green-neon, #9BE000); }
@keyframes mrp-car-mueve { from { transform: translateX(-2px); } to { transform: translateX(3px); } }
.mrp-carrito-vuelo { position: fixed; z-index: 10000; object-fit: cover; pointer-events: none; box-shadow: 0 10px 30px rgba(0,0,0,.35); border: 2px solid var(--mrp-green, #7DC400); background: #0B0F0C; }
.is-recibe { animation: mrp-car-recibe .55s cubic-bezier(.3,1.6,.5,1); }
.is-recibe .mrp-cart-count { animation: mrp-car-cuenta .55s ease-out; }
@keyframes mrp-car-recibe { 0% { transform: scale(1); } 35% { transform: scale(1.28) rotate(-8deg); } 65% { transform: scale(.92) rotate(4deg); } 100% { transform: scale(1); } }
@keyframes mrp-car-cuenta { 0% { transform: scale(.4); box-shadow: 0 0 0 0 rgba(125,196,0,.7); } 60% { transform: scale(1.35); box-shadow: 0 0 0 8px rgba(125,196,0,0); } 100% { transform: scale(1); } }
.mrp-carrito-aviso { position: fixed; left: 50%; bottom: 22px; z-index: 9999; display: flex; align-items: center; gap: 10px; max-width: min(92vw, 460px); padding: 10px 12px 10px 10px; border-radius: 999px; background: #0B0F0C; color: #fff; font-size: 14px; font-weight: 600; box-shadow: 0 10px 30px rgba(0,0,0,.3); border: 1px solid rgba(125,196,0,.55); transform: translate(-50%, 140%); opacity: 0; transition: transform .35s cubic-bezier(.3,1.3,.5,1), opacity .25s; pointer-events: none; }
.mrp-carrito-aviso.is-visible { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.mrp-carrito-aviso > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mrp-carrito-aviso__ok { flex: 0 0 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--mrp-green, #7DC400); color: #0E1A00; font-weight: 900; }
.mrp-carrito-aviso a { flex: 0 0 auto; padding: 6px 12px; border-radius: 999px; background: var(--mrp-green, #7DC400); color: #0E1A00; text-decoration: none; font-weight: 800; }
@media (prefers-reduced-motion: reduce) { .is-recibe, .is-recibe .mrp-cart-count, .mrp-gama__carrito.is-cargando svg { animation: none; } .mrp-carrito-aviso { transition: opacity .2s; } }
