/* =========================================================
   FusionAnime - Home v2
   Hoja de estilos independiente, sin ninguna dependencia de
   Bootstrap (ni su CSS ni su JS). Se basta a sí misma: reset,
   contenedor/grid propios y todos los componentes que usa la
   página de inicio (navbar, buscador, carrusel, ranking,
   tarjetas de producto, footer, toasts).
   Misma paleta que assets/css/estilo.css para mantener
   coherencia visual con el resto del sitio.
   ========================================================= */

:root {
	--bg: #ffffff;
	--surface: #ffffff;
	--surface-2: #f3f3f4;
	--border: rgba(0, 0, 0, .14);
	--border-strong: rgba(0, 0, 0, .28);
	--text: #0f0f10;
	--text-muted: #666670;

	--accent: #ffaa00;
	--accent-light: #ffc966;
	--accent-soft: rgba(255, 170, 0, .14);
	--accent-ink: #1a0d1e;

	/* Antes rosa neón; ahora alias al dorado para mantener blanco/negro + dorado */
	--live-pink: var(--accent);

	--success: #1f9d64;
	--danger: #e23a51;
	--warning: #c98300;

	--radius-sm: 8px;
	--radius: 8px;
	--radius-lg: 8px;
	--shadow: 0 20px 48px -24px rgba(0, 0, 0, .22);
	--glow: 0 0 0 1px rgba(0, 0, 0, .06), 0 16px 36px -14px rgba(255, 170, 0, .4);
	--ease: .25s cubic-bezier(.4, 0, .2, 1);
	--ease-out: cubic-bezier(.23, 1, .32, 1);
	--ease-in-out: cubic-bezier(.77, 0, .175, 1);
}

/* ---------- Reset mínimo (sin depender de Bootstrap) ---------- */
*, *::before, *::after { box-sizing: border-box; }
.v2-home { margin: 0; }
.v2-home ul { list-style: none; margin: 0; padding: 0; }
.v2-home img { max-width: 100%; display: block; }
.v2-home a { text-decoration: none; }
a { color: var(--accent); }
a:hover { color: var(--accent-light); }
.v2-home button { font: inherit; cursor: pointer; }
.v2-home h1, .v2-home h2, .v2-home h3, .v2-home h4, .v2-home h5 {
	margin: 0; font-family: 'Poppins', 'Inter', sans-serif; font-weight: 700;
}
.v2-home p { margin: 0 0 1rem; }
::selection { background: var(--accent); color: var(--accent-ink); }

body.v2-home {
	background-color: var(--bg);
	color: var(--text);
	font-family: 'Inter', system-ui, sans-serif;
	min-height: 100vh;
}
body.v2-home::-webkit-scrollbar { width: 10px; }
body.v2-home::-webkit-scrollbar-track { background: var(--bg); }
body.v2-home::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .22); border-radius: 999px; }

/* ---------- Contenedor ---------- */
.v2-container {
	width: 100%;
	margin: 0 auto;
	padding: 0 1rem;
}
@media (min-width: 768px) { .v2-container { max-width: 720px; } }
@media (min-width: 992px) { .v2-container { max-width: 960px; } }
@media (min-width: 1200px) { .v2-container { max-width: 1240px; } }
@media (min-width: 1400px) { .v2-container { max-width: 1480px; } }

/* ---------- Botones ---------- */
.v2-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
	border: none; border-radius: 999px; padding: .6rem 1.3rem;
	font-weight: 600; font-size: .92rem; color: var(--text);
	background: var(--surface-2); border: 1px solid var(--border-strong);
	transition: transform var(--ease), box-shadow var(--ease), background var(--ease), filter var(--ease);
}
.v2-btn:active { transform: scale(.96); }
.v2-btn-primary {
	background: var(--accent); color: var(--accent-ink); border: none;
	box-shadow: 0 10px 22px -10px rgba(255, 170, 0, .55);
}
.v2-btn-primary:hover {
	filter: brightness(1.1); color: var(--accent-ink);
	box-shadow: 0 14px 32px -8px rgba(255, 170, 0, .7);
	transform: translateY(-1px);
}
.v2-btn-outline { background: transparent; color: var(--text); border: 1px solid var(--border-strong); }
.v2-btn-outline:hover { background: var(--accent-soft); border-color: var(--accent); color: var(--text); }
.v2-btn-block { width: 100%; }

/* ---------- Navbar ---------- */
.v2-navbar {
	position: sticky; top: 0; z-index: 1030;
	background: #111111;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	box-shadow: 0 8px 24px -18px rgba(0, 0, 0, .7);
	transition: box-shadow var(--ease);
}
.v2-navbar.scrolled { box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .6); }
.v2-navbar::after {
	content: '';
	position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
	background: linear-gradient(90deg, transparent, var(--accent) 20%, var(--accent) 80%, transparent);
	box-shadow: 0 0 12px 1px rgba(255, 170, 0, .55);
}
.v2-navbar-inner {
	position: relative;
	display: flex; align-items: center; gap: 1.1rem;
	padding: .85rem 1rem;
}
.v2-brand {
	font-family: 'Bungee', cursive; font-size: 1.25rem; letter-spacing: .3px;
	display: inline-flex; align-items: center; gap: .5rem; color: var(--accent);
	flex-shrink: 0;
	transition: opacity var(--ease);
}
.v2-brand:hover { opacity: .85; }
.v2-brand img { height: 32px; width: auto; }

.v2-nav-toggle {
	display: none;
	margin-left: auto;
	background: transparent; border: 1px solid var(--border-strong); border-radius: 8px;
	width: 42px; height: 38px;
	align-items: center; justify-content: center;
	color: #fff; font-size: 1.3rem;
}

.v2-nav-menu { flex: 1; min-width: 0; }
.v2-nav-menu-inner { display: flex; align-items: center; gap: 1rem; width: 100%; }

.v2-nav-links { display: flex; align-items: center; gap: .2rem; }
.v2-nav-link {
	position: relative;
	display: inline-flex; align-items: center; gap: .4rem;
	color: rgba(255, 255, 255, .72); font-weight: 500; font-size: .95rem;
	padding: .5rem .9rem; border-radius: 999px;
	transition: color var(--ease);
}
.v2-nav-link:hover { color: #fff; }
.v2-nav-link.active {
	color: #fff; border: 1px solid var(--accent); background: var(--accent-soft);
	box-shadow: 0 0 10px -1px rgba(255, 170, 0, .5);
}

.v2-dropdown { position: relative; }
.v2-dropdown-toggle { background: transparent; border: none; }
.v2-dropdown-toggle .bi-chevron-down { font-size: .7rem; transition: transform var(--ease); }
.v2-dropdown.open .v2-dropdown-toggle .bi-chevron-down { transform: rotate(180deg); }
.v2-dropdown-menu {
	position: absolute; top: calc(100% + 8px); left: 0; z-index: 20;
	min-width: 200px;
	background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm);
	box-shadow: var(--shadow); padding: .5rem;
	opacity: 0; visibility: hidden; transform: scale(.95) translateY(-4px);
	transform-origin: top left;
	transition: opacity 160ms var(--ease-out), transform 160ms var(--ease-out), visibility 160ms;
}
.v2-dropdown.open .v2-dropdown-menu { opacity: 1; visibility: visible; transform: scale(1) translateY(0); }
.v2-dropdown-item {
	display: block; padding: .5rem .7rem; border-radius: 8px; color: var(--text); font-size: .92rem;
	transition: background var(--ease), color var(--ease);
}
.v2-dropdown-item:hover { background: var(--accent-soft); color: var(--text); }

.v2-search {
	display: flex; align-items: center; gap: .4rem;
	background: rgba(255, 255, 255, .06);
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: .3rem .3rem .3rem 1rem;
	transition: border-color var(--ease), box-shadow var(--ease);
	flex-shrink: 0;
	margin-left: auto;
}
.v2-search:focus-within { border-color: var(--border-strong); box-shadow: 0 0 0 3px var(--accent-soft); }
.v2-search-input {
	background: transparent; border: none; color: var(--text); font-size: .9rem;
	min-width: 0; width: 11rem; padding: .35rem 0;
}
.v2-search-input:focus { outline: none; }
.v2-search-input::placeholder { color: var(--text-muted); }
.v2-search-btn {
	display: flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; flex-shrink: 0;
	border: none; border-radius: 999px;
	background: rgba(255, 255, 255, .07); color: var(--text-muted);
	transition: background var(--ease), color var(--ease);
}
.v2-search-btn:hover { background: var(--accent-soft); color: var(--accent-light); }

.v2-nav-right {
	display: flex; align-items: center; gap: .5rem; flex-shrink: 0;
	padding-left: 1.1rem; position: relative;
}
.v2-nav-right::before {
	content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
	width: 1px; height: 22px; background: rgba(255, 255, 255, .14);
}
.v2-avatar-pill {
	width: 26px; height: 26px; border-radius: 50%; background: var(--accent); color: var(--accent-ink);
	display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .72rem;
	flex-shrink: 0;
}
.v2-account-chip {
	border: 1px solid rgba(255, 255, 255, .16);
	background: rgba(255, 255, 255, .04);
	padding: .35rem .8rem .35rem .35rem !important;
}
.v2-account-chip:hover { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .07); }
.v2-nav-admin-link {
	border: 1px solid var(--accent); color: var(--accent-light) !important;
	background: var(--accent-soft);
}
.v2-nav-admin-link:hover { background: rgba(255, 170, 0, .24); color: #fff !important; }
.v2-nav-auth-link { border: 1px solid rgba(255, 255, 255, .22); }
.v2-nav-auth-link:hover { border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .06); }

@media (max-width: 991.98px) {
	.v2-nav-toggle { display: inline-flex; }
	.v2-nav-menu {
		position: absolute; top: 100%; left: 0; right: 0;
		background: #111111; border-bottom: 1px solid rgba(255, 255, 255, .08);
		max-height: 0; min-height: 0; overflow: hidden;
		transition: max-height var(--ease);
	}
	.v2-nav-menu.open { max-height: 480px; }
	.v2-nav-menu-inner {
		flex-direction: column; align-items: stretch; gap: .25rem;
		padding: .75rem 1rem 1.25rem;
	}
	.v2-nav-links { flex-direction: column; align-items: stretch; gap: .2rem; }
	.v2-nav-link { width: 100%; }
	.v2-dropdown-menu { position: static; opacity: 1; visibility: visible; transform: none; display: none; box-shadow: none; }
	.v2-dropdown.open .v2-dropdown-menu { display: block; }
	.v2-search { width: 100%; }
	.v2-search-input { width: 100%; flex: 1; }
	.v2-nav-right { flex-direction: column; align-items: stretch; margin-left: 0; margin-top: .6rem; padding-left: 0; padding-top: .6rem; }
	.v2-nav-right::before { left: 0; top: 0; transform: none; width: 100%; height: 1px; }
	.v2-account-chip { padding: .6rem .9rem !important; }
}

/* ---------- Alertas de sesión (flash) ---------- */
.v2-alert {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	background: var(--surface-2); color: var(--text);
	border: 1px solid var(--border); border-left: 4px solid var(--accent);
	border-radius: var(--radius-sm); padding: .75rem 1rem; margin: 1rem 0 0;
}
.v2-alert-success { border-left-color: var(--success); }
.v2-alert-danger { border-left-color: var(--danger); }
.v2-alert-warning { border-left-color: var(--warning); }
.v2-alert-close {
	background: transparent; border: none; color: rgba(255, 255, 255, .6); font-size: 1.1rem; line-height: 1;
}
.v2-alert-close:hover { color: #fff; }

/* ---------- Main / secciones ---------- */
.v2-main { padding: 1.5rem 0 2rem; }
.v2-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--text-muted);
}
.v2-dot-live {
	width: 8px; height: 8px; border-radius: 50%; background: var(--danger);
	box-shadow: 0 0 0 0 rgba(232, 57, 79, .7);
	animation: v2-pulse-dot 1.7s infinite;
}
@keyframes v2-pulse-dot {
	0% { box-shadow: 0 0 0 0 rgba(232, 57, 79, .7); }
	70% { box-shadow: 0 0 0 9px rgba(232, 57, 79, 0); }
	100% { box-shadow: 0 0 0 0 rgba(232, 57, 79, 0); }
}
.v2-section-title { font-weight: 800; margin-top: .2rem; }
.v2-section-head {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem;
	margin-bottom: 1rem; flex-wrap: wrap;
}
.v2-muted { color: var(--text-muted); }

/* ---------- Hero / carrusel de destacadas ---------- */
.v2-hero { position: relative; isolation: isolate; margin-bottom: 2.5rem; }
/*.v2-hero::before, .v2-hero::after {
	content: ''; position: absolute; width: 420px; height: 420px; border-radius: 50%;
	filter: blur(100px); opacity: .4; z-index: -1; animation: v2-float 12s ease-in-out infinite;
}
.v2-hero::before { background: var(--accent); top: -140px; left: -100px; }
.v2-hero::after { background: #111111; bottom: -160px; right: -80px; animation-delay: -6s; opacity: .12; }*/
@keyframes v2-float {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(24px, -18px) scale(1.08); }
}

.v2-carousel { position: relative; border-radius: var(--radius-lg); overflow: hidden; }
.v2-carousel-track { display: flex; transition: transform 450ms var(--ease-in-out); }
.v2-carousel-slide { flex: 0 0 100%; min-width: 0; }
.v2-banner {
	background-size: cover; background-position: center;
	color: #fff; min-height: 340px; display: flex; align-items: flex-end; position: relative;
}
.v2-banner::before {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(10, 6, 12, .05) 15%, rgba(8, 4, 10, .94) 100%);
}
.v2-banner-content { position: relative; padding: 2.25rem; max-width: 640px; }
.v2-badge-destacada {
	background: var(--accent); color: var(--accent-ink);
	padding: .4em 1em; border-radius: 999px; font-weight: 700;
	letter-spacing: .04em; text-transform: uppercase; font-size: .7rem;
	display: inline-flex; align-items: center; gap: .35rem;
}
.v2-hero-title { font-weight: 800; font-size: clamp(1.6rem, 4vw, 2.75rem); line-height: 1.12; margin: .7rem 0; color: #fff; }
.v2-hero-meta { color: #fff; margin-bottom: .9rem; }
.v2-hero-cta {
	display: inline-flex; align-items: center; gap: .5rem;
	background: var(--accent); border: none; color: var(--accent-ink);
	padding: .7rem 1.4rem; border-radius: 999px; font-weight: 700;
	box-shadow: 0 10px 24px -8px rgba(255, 170, 0, .6);
	transition: transform var(--ease), box-shadow var(--ease);
}
.v2-hero-cta:active { transform: scale(.97); }
.v2-hero-cta .bi { transition: transform var(--ease); }

.v2-carousel-dots { position: absolute; left: 0; right: 0; bottom: .9rem; display: flex; justify-content: center; gap: 10px; z-index: 5; }
.v2-carousel-dot {
	width: 20px; height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .35);
	border: none; padding: 0;
	transition: background var(--ease), box-shadow var(--ease), transform var(--ease);
}
.v2-carousel-dot.active { background: var(--accent); box-shadow: 0 0 0 3px rgba(255, 170, 0, .22); }
.v2-carousel-dot:active { transform: scale(.9); }

.v2-carousel-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
	width: 42px; height: 42px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background-color: rgba(10, 5, 12, .55);
	border: 1px solid rgba(255, 255, 255, .18);
	color: #fff; font-size: 1.1rem;
	transition: background-color var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease);
}
.v2-carousel-arrow:active { transform: translateY(-50%) scale(.92); }
.v2-carousel-prev { left: .9rem; }
.v2-carousel-next { right: .9rem; }

@media (hover: hover) and (pointer: fine) {
	.v2-hero-cta:hover { color: var(--accent-ink); transform: translateY(-2px); box-shadow: 0 14px 30px -8px rgba(255, 170, 0, .75); }
	.v2-hero-cta:hover .bi { transform: translateX(4px); }
	.v2-carousel-dot:hover { background: rgba(255, 255, 255, .6); transform: scale(1.08); }
	.v2-carousel-arrow:hover {
		background-color: rgba(255, 170, 0, .28); border-color: var(--accent);
		transform: translateY(-50%) scale(1.08);
		box-shadow: 0 8px 20px -8px rgba(255, 170, 0, .55);
	}
}

/* ---------- Layout: ranking + grilla de productos ---------- */
.v2-home-row { display: grid; grid-template-columns: 280px 1fr; gap: 1.5rem; align-items: start; }
@media (max-width: 991.98px) { .v2-home-row { grid-template-columns: 1fr; } }

/* ---------- Ranking de mejores compradores ---------- */
.v2-ranking { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.v2-ranking-header { padding: .9rem 1rem; font-weight: 800; color: var(--accent); border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: .5rem; }
.v2-ranking-empty { color: var(--text-muted); font-size: .85rem; padding: 1.5rem 1rem; text-align: center; }
.v2-ranking-row { display: flex; align-items: center; gap: .65rem; padding: .75rem 1rem; border-bottom: 1px solid var(--border); }
.v2-ranking-row:last-child { border-bottom: none; }
.v2-ranking-pos { width: 24px; flex-shrink: 0; text-align: center; font-weight: 800; font-size: .85rem; color: var(--text-muted); }
.v2-ranking-avatar {
	width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
	background: var(--surface-2); border: 1px solid var(--border);
	display: flex; align-items: center; justify-content: center; overflow: hidden;
	font-weight: 700; color: var(--text);
}
.v2-ranking-avatar img { width: 100%; height: 100%; object-fit: cover; }
.v2-ranking-info { min-width: 0; flex: 1; }
.v2-ranking-name { font-weight: 600; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-ranking-score { font-size: .78rem; color: var(--text-muted); }
.v2-ranking-tag {
	display: inline-block; margin-top: .2rem; font-size: .65rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em; color: var(--accent-ink);
	background: var(--accent); padding: .1rem .5rem; border-radius: 999px;
}
.v2-ranking-row.v2-ranking-top { background: var(--accent-soft); position: relative; }
.v2-ranking-row.v2-ranking-top .v2-ranking-pos {
	width: auto; display: flex; flex-direction: column; align-items: center; gap: .1rem;
	color: var(--accent); font-size: 1.3rem; text-shadow: 0 0 12px rgba(255, 170, 0, .7);
}
.v2-ranking-pos-number { font-size: .8rem; font-weight: 800; letter-spacing: .02em; }
.v2-ranking-row.v2-ranking-top .v2-ranking-avatar { width: 52px; height: 52px; border: 2px solid var(--accent); box-shadow: 0 0 16px -2px rgba(255, 170, 0, .6); }
.v2-ranking-row.v2-ranking-top .v2-ranking-name { font-size: .95rem; }

/* ---------- Categorías (grilla tipo bento con foto) ---------- */
.v2-cat-section { margin-top: 3rem; }
.v2-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 200px; gap: 1rem; }
.v2-cat-grid.v2-cat-grid-5 {
	grid-template-columns: 1.1fr 1.3fr 1.1fr;
	grid-template-rows: repeat(2, 1fr);
	grid-auto-rows: initial;
	height: 440px;
}
.v2-cat-grid-5 .v2-cat-card:nth-child(1) { grid-column: 1; grid-row: 1; }
.v2-cat-grid-5 .v2-cat-card:nth-child(2) { grid-column: 1; grid-row: 2; }
.v2-cat-grid-5 .v2-cat-card:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; }
.v2-cat-grid-5 .v2-cat-card:nth-child(4) { grid-column: 3; grid-row: 1; }
.v2-cat-grid-5 .v2-cat-card:nth-child(5) { grid-column: 3; grid-row: 2; }

.v2-cat-card {
	position: relative; display: flex; align-items: flex-end;
	border-radius: var(--radius); overflow: hidden;
	background-color: #1c1c1c; background-size: cover; background-position: center;
	color: #fff; box-shadow: 0 10px 24px -20px rgba(0, 0, 0, .3);
	transition: transform var(--ease), box-shadow var(--ease);
}
.v2-cat-card::before {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .88) 100%);
}
.v2-cat-card.no-img { background-image: linear-gradient(135deg, #1f1f1f, #000); }
.v2-cat-card-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: rgba(255, 255, 255, .06); }
.v2-cat-card-body { position: relative; z-index: 1; padding: 1.25rem; }
.v2-cat-card-title { font-size: 1.25rem; font-weight: 800; line-height: 1.2; margin-bottom: .2rem; }
.v2-cat-card-sub { font-size: .82rem; color: rgba(255, 255, 255, .8); margin-bottom: .8rem; }
.v2-cat-card-btn {
	display: inline-flex; align-items: center; gap: .35rem;
	background: rgba(20, 20, 20, .6); border: 1px solid rgba(255, 255, 255, .18);
	padding: .5rem 1rem; border-radius: var(--radius-sm);
	font-size: .8rem; font-weight: 600;
	transition: background var(--ease), border-color var(--ease);
}
.v2-cat-card-btn i { transition: transform var(--ease); }

@media (hover: hover) and (pointer: fine) {
	.v2-cat-card:hover { transform: translateY(-4px); box-shadow: var(--glow); }
	.v2-cat-card:hover .v2-cat-card-btn { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
	.v2-cat-card:hover .v2-cat-card-btn i { transform: translateX(3px); }
}

@media (max-width: 767.98px) {
	.v2-cat-grid, .v2-cat-grid.v2-cat-grid-5 {
		grid-template-columns: 1fr; grid-template-rows: none; height: auto;
	}
	.v2-cat-grid-5 .v2-cat-card { grid-column: auto !important; grid-row: auto !important; height: 180px; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.v2-cat-grid:not(.v2-cat-grid-5) { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Grilla y tarjeta de producto ---------- */
.v2-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: 1.5rem; }
@media (min-width: 576px) { .v2-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .v2-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) { .v2-grid-4 { grid-template-columns: repeat(4, 1fr); } }

.v2-empty { grid-column: 1 / -1; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); text-align: center; padding: 3rem 1.5rem; color: var(--text-muted); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out); }
.reveal.in-view { opacity: 1; transform: translateY(0); }

.v2-card {
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
	overflow: hidden; height: 100%; display: flex; flex-direction: column;
	box-shadow: 0 10px 24px -20px rgba(0, 0, 0, .25);
	transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.v2-card-img { position: relative; overflow: hidden; height: 200px; padding: .75rem; background: var(--surface-2); }
.v2-card-img-link, .v2-card-img-placeholder {
	display: flex; width: 100%; height: 100%; background: #fff; border-radius: 8px; overflow: hidden;
	align-items: center; justify-content: center;
}
.v2-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 350ms var(--ease-out); display: block; }
.v2-card-img-placeholder { color: var(--text-muted); font-size: 2rem; }
.v2-card-chip {
	position: absolute; top: 1rem; left: 1rem; z-index: 2;
	background: rgba(17, 17, 17, .78); color: #fff; backdrop-filter: blur(4px);
	font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	padding: .3rem .65rem; border-radius: 999px;
}

@media (hover: hover) and (pointer: fine) {
	.v2-card:hover { /*transform: translateY(-6px); */border-color: var(--border-strong); /*box-shadow: var(--glow);*/ }
	.v2-card:hover .v2-card-img img { transform: scale(1.06); }
}
.v2-card-body { padding: 1.1rem 1.1rem 1.25rem; display: flex; flex-direction: column; flex: 1; }
.v2-card-title {
	font-size: 1rem; line-height: 1.3; text-align: center; margin-bottom: 1rem; color: var(--text);
	display: block;
}
.v2-card-title:hover { text-decoration: underline; }
.v2-card-stats { display: flex; gap: .5rem; margin-bottom: 1rem; }
.v2-card-stat {
	flex: 1; min-width: 0; background: var(--surface-2); border: 1px solid var(--border);
	border-radius: var(--radius-sm); padding: .5rem .7rem;
}
.v2-card-stat-time { text-align: right; }
.v2-card-label { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: .07em; color: var(--text-muted); margin-bottom: .15rem; }
.v2-card-price { font-weight: 800; font-size: 1.25rem; color: var(--accent); line-height: 1.1; }
.v2-card-time { font-weight: 700; font-size: .82rem; color: var(--text); }
.v2-card-time.urgente { color: var(--danger); animation: v2-pulse-dot 1.5s infinite; }
.v2-card-actions { margin-top: auto; }
.v2-card-btn {
	width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
}
.v2-card-btn .bi { transition: transform var(--ease); }
.v2-card-wishlist {
	width: 100%; margin-top: .5rem;
	background: transparent; border: 1px solid var(--border-strong); color: var(--text);
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
	border-radius: 999px; padding: .6rem 1.3rem; font-weight: 600; font-size: .92rem;
	transition: background var(--ease), border-color var(--ease), color var(--ease), transform var(--ease);
}
.v2-card-wishlist:active { transform: scale(.97); }
.v2-card-wishlist .bi-heart-fill { color: var(--live-pink); }

@media (hover: hover) and (pointer: fine) {
	.v2-card-btn:hover .bi { transform: translateX(4px); }
	.v2-card-wishlist:hover { background: var(--accent-soft); border-color: var(--accent); color: var(--text); }
}

/* ---------- Footer ---------- */
.v2-footer { background: #111111; padding: 2rem 0; margin-top: 3rem; color: rgba(255, 255, 255, .7); text-align: center; }
.v2-footer-brand {
	font-family: 'Bungee', cursive; font-size: 1.05rem;
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem; margin-bottom: .25rem;
}
.v2-footer-brand img { height: 28px; width: auto; }
.v2-footer-tagline { color: rgba(255, 255, 255, .55); font-size: .85rem; margin-bottom: .75rem; }
.v2-footer-links { display: flex; justify-content: center; flex-wrap: wrap; gap: .3rem 1.5rem; margin-bottom: .75rem; }
.v2-footer-links a { color: rgba(255, 255, 255, .72); font-size: .85rem; font-weight: 600; }
.v2-footer-links a:hover { color: var(--accent); }

/* ---------- Toasts (usados por assets/js/app.js: window.fusionToast) ---------- */
.toast-stack { position: fixed; bottom: 1.25rem; right: 1.25rem; z-index: 1080; display: flex; flex-direction: column; gap: .6rem; max-width: 320px; }
.toast-fusion {
	background: var(--surface-2); border: 1px solid var(--border); color: var(--text);
	border-radius: var(--radius-sm); padding: .85rem 1rem; box-shadow: var(--shadow);
	display: flex; align-items: flex-start; gap: .6rem;
	transform: translateX(130%); opacity: 0;
	transition: transform .35s cubic-bezier(.4, 0, .2, 1), opacity .35s;
}
.toast-fusion.show { transform: translateX(0); opacity: 1; }
.toast-fusion.success { border-left: 4px solid var(--success); }
.toast-fusion.error { border-left: 4px solid var(--danger); }
.toast-fusion.info { border-left: 4px solid var(--accent); }
.toast-fusion .bi { font-size: 1.1rem; margin-top: .1rem; }

/* ---------- Panel de contenido genérico (páginas legales, etc.) ---------- */
.v2-panel {
	background: var(--surface); border: 1px solid var(--border);
	border-radius: var(--radius); padding: 1.25rem;
}
.v2-panel h5 { color: var(--text); font-weight: 700; margin: 1.25rem 0 .5rem; }
.v2-panel h5:first-child { margin-top: 0; }
.v2-panel p, .v2-panel li { color: var(--text-muted); line-height: 1.6; }
.v2-panel a { color: var(--accent); }
.v2-panel a:hover { color: var(--accent-light); }
.v2-page-narrow { max-width: 860px; margin: 0 auto; }

/* ---------- Formularios ---------- */
.v2-form-group { margin-bottom: 1rem; }
.v2-label { display: block; color: var(--text-muted); font-weight: 600; font-size: .85rem; margin-bottom: .4rem; }
.v2-input-icon { position: relative; }
.v2-input-icon > i {
	position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
	color: var(--text-muted); pointer-events: none;
}
.v2-input {
	width: 100%; padding: .6rem .9rem .6rem 2.4rem;
	background: var(--surface-2); border: 1px solid var(--border); color: var(--text);
	border-radius: var(--radius-sm); font: inherit;
	transition: border-color var(--ease), box-shadow var(--ease);
}
.v2-input:focus {
	outline: none; background: var(--surface-2); color: var(--text);
	border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft);
}
.v2-input::placeholder { color: var(--text-muted); }
.v2-form-hint { font-size: .78rem; color: var(--text-muted); margin-top: .35rem; }

/* ---------- Tarjetas de autenticación ---------- */
.v2-auth-wrap { max-width: 420px; margin: 0 auto; }
.v2-auth-wrap.wide { max-width: 480px; }
.v2-auth-card {
	background: var(--surface); border: 1px solid var(--border);
	border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: 1.75rem;
}
.v2-auth-icon {
	width: 52px; height: 52px; border-radius: 50%; background: var(--accent); color: var(--accent-ink);
	display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
	margin: 0 auto .75rem;
}
.v2-auth-head { text-align: center; margin-bottom: 1.25rem; }
.v2-auth-head h4 { margin-bottom: .25rem; }
.v2-auth-head p { color: var(--text-muted); font-size: .88rem; margin-bottom: 0; }
.v2-auth-foot { text-align: center; margin-top: 1rem; margin-bottom: 0; color: var(--text-muted); }

/* ---------- "Mi cuenta": menú y contenido en un mismo contenedor ---------- */
.v2-cuenta-shell { display: flex; align-items: stretch; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.v2-cuenta-menu { width: 240px; flex-shrink: 0; background: var(--surface-2); border-right: 1px solid var(--border); padding-bottom: .5rem; }
.v2-cuenta-menu-header { padding: 1.1rem 1.1rem .8rem; }
.v2-cuenta-menu-header h5 { font-weight: 800; color: var(--text); margin: .2rem 0 0; }
.v2-cuenta-nav-link {
	display: flex; align-items: center; gap: .7rem;
	color: var(--text-muted); background: transparent; font-weight: 600;
	padding: .8rem 1.1rem; transition: background var(--ease), color var(--ease);
}
.v2-cuenta-nav-link:hover { background: rgba(0, 0, 0, .04); color: var(--text); }
.v2-cuenta-nav-link.active {
	background: linear-gradient(90deg, var(--accent), var(--accent-light));
	color: var(--accent-ink); font-weight: 800;
}
.v2-cuenta-content { flex: 1; min-width: 0; padding: 1.5rem; }
@media (max-width: 991.98px) {
	.v2-cuenta-shell { flex-direction: column; }
	.v2-cuenta-menu { width: 100%; border-right: none; border-bottom: 1px solid var(--border); }
}

/* ---------- "Mi cuenta": paquetes ---------- */
.v2-paquete-box { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 1.25rem; margin-bottom: 1.25rem; }
.v2-paquete-box h5 { font-weight: 800; color: var(--text); margin-bottom: .3rem; }
.v2-paquete-box-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.v2-paquete-box-head h5 { margin-bottom: 0; }
.v2-paquete-items { display: flex; flex-direction: column; gap: .6rem; margin-top: .8rem; }
.v2-paquete-item {
	display: flex; align-items: center; gap: .8rem;
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
	padding: .6rem .8rem;
}
.v2-paquete-item img, .v2-paquete-item-sin-imagen {
	width: 48px; height: 48px; border-radius: 8px; object-fit: cover; flex-shrink: 0;
}
.v2-paquete-item-sin-imagen { display: flex; align-items: center; justify-content: center; background: var(--surface-2); color: var(--text-muted); }
.v2-paquete-item-info { flex: 1; min-width: 0; }
.v2-paquete-item-titulo { font-weight: 700; color: var(--text); }
.v2-paquete-item-quitar {
	display: flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
	color: var(--text-muted); background: transparent;
	transition: background var(--ease), color var(--ease);
}
.v2-paquete-item-quitar:hover { background: var(--danger); color: #fff; }
.v2-paquete-item-check { cursor: pointer; transition: border-color var(--ease), background var(--ease); }
.v2-paquete-item-check:hover { border-color: var(--accent); }
.v2-paquete-item-check input { width: 18px; height: 18px; accent-color: var(--accent); flex-shrink: 0; }
.v2-paquete-box-acciones { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1rem; }

.v2-paquete-badge {
	display: inline-flex; align-items: center; padding: .3em .9em; border-radius: 999px;
	font-weight: 700; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
	background: var(--surface); border: 1px solid var(--border-strong); color: var(--text-muted);
}
.v2-paquete-badge-armando { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-ink); }
.v2-paquete-badge-esperando_pago { background: rgba(201, 131, 0, .14); border-color: var(--warning); color: var(--warning); }
.v2-paquete-badge-enviado { background: rgba(31, 157, 100, .12); border-color: var(--success); color: var(--success); }

.v2-paquete-historial-row { padding: .9rem 0; border-top: 1px solid var(--border); }
.v2-paquete-historial-row:first-child { border-top: none; padding-top: 0; }
.v2-paquete-historial-items { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
.v2-paquete-historial-chip {
	background: var(--surface); border: 1px solid var(--border); border-radius: 999px;
	padding: .3rem .8rem; font-size: .78rem; color: var(--text-muted);
}

/* ---------- Acordeón (preguntas frecuentes) ---------- */
.v2-accordion-item { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; margin-bottom: .75rem; }
.v2-accordion-button {
	width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	background: var(--surface); color: var(--text); font-weight: 700; text-align: left;
	border: none; padding: 1rem 1.1rem;
}
.v2-accordion-button i { transition: transform var(--ease); color: var(--text-muted); flex-shrink: 0; }
.v2-accordion-item.open .v2-accordion-button { background: var(--accent-soft); }
.v2-accordion-item.open .v2-accordion-button i { transform: rotate(180deg); }
.v2-accordion-body {
	display: grid; grid-template-rows: 0fr; color: var(--text-muted);
	transition: grid-template-rows var(--ease);
}
.v2-accordion-item.open .v2-accordion-body { grid-template-rows: 1fr; }
.v2-accordion-body-inner { min-height: 0; overflow: hidden; padding: 0 1.1rem 1.1rem; line-height: 1.6; }

/* ---------- Ranking (reutilizado en Clasificación) ---------- */
.v2-ranking-empty-page { color: var(--text-muted); text-align: center; padding: 2rem; }

/* =========================================================
   "Subasta en Vivo" (detalle de subasta)
   ========================================================= */
.v2-live { padding: 2.25rem 0 3rem; }
.v2-live-title { font-weight: 800; color: var(--text); text-align: center; margin-bottom: 1.5rem; }
.v2-live-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
@media (max-width: 991.98px) { .v2-live-grid { grid-template-columns: 1fr; } }

.v2-live-image-frame {
	position: relative; border-radius: 8px; overflow: hidden; isolation: isolate;
	border: 2px solid transparent;
	background: linear-gradient(var(--surface), var(--surface)) padding-box,
				linear-gradient(135deg, var(--accent), #111111) border-box;
	box-shadow: var(--shadow);
}
.v2-live-image-frame img { width: 100%; height: 380px; object-fit: cover; display: block; }
.v2-live-image-frame .v2-img-placeholder { height: 380px; display: flex; align-items: center; justify-content: center; background: var(--surface-2); color: var(--text-muted); font-size: 2.5rem; }
.v2-live-badge {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	display: inline-flex; align-items: center; gap: .45rem;
	background: #111111; color: #fff; font-weight: 800; font-size: .72rem;
	letter-spacing: .06em; text-transform: uppercase;
	padding: .4rem .85rem; border-radius: 999px;
}
.v2-live-product-title { font-weight: 800; color: var(--text); text-align: center; margin-top: 1.25rem; margin-bottom: .5rem; }
.v2-live-desc { color: var(--text-muted); text-align: center; margin-bottom: 0; }

.v2-buybox {
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 1.5rem;
}

.v2-live-fav-row { display: flex; justify-content: flex-end; margin-bottom: 1.25rem; }
.v2-live-fav-btn {
	display: inline-flex; align-items: center; gap: .4rem;
	background: transparent; border: 1px solid var(--border-strong); color: var(--text);
	font-weight: 700; padding: .45rem 1rem; border-radius: 999px;
	transition: background var(--ease), border-color var(--ease);
}
.v2-live-fav-btn:hover { background: var(--accent-soft); border-color: var(--accent); }
.v2-live-fav-btn .bi-heart-fill { color: var(--accent); }

.v2-live-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: 1.75rem; }
.v2-live-stats-single { grid-template-columns: 1fr; }
.v2-live-stat-box { background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; padding: 1rem; text-align: center; }
.v2-live-stat-label { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); margin-bottom: .35rem; }
.v2-live-stat-value { font-family: 'Orbitron', 'Poppins', sans-serif; font-weight: 700; font-size: 1.5rem; color: var(--accent); }
.v2-live-stat-value.next { color: var(--text); }
.v2-live-stat-postor { font-size: .75rem; color: var(--text-muted); margin-top: .25rem; }
.v2-live-stat-buynow { background: rgba(31, 157, 100, .12); border-color: var(--success); }
.v2-live-stat-buynow .v2-live-stat-label { color: var(--success); }
.v2-live-stat-buynow .v2-live-stat-value { color: var(--success); }

.v2-countdown-label { text-align: center; color: var(--text-muted); font-size: .85rem; margin-bottom: .6rem; }
.v2-countdown-grid { display: flex; justify-content: center; gap: .55rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.v2-countdown-box {
	background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm);
	padding: .55rem .3rem; text-align: center; min-width: 70px;
	transition: border-color var(--ease), box-shadow var(--ease);
}
.v2-countdown-box b { display: block; font-family: 'Poppins', sans-serif; font-size: 1.35rem; font-weight: 800; color: var(--text); }
.v2-countdown-box span { font-size: .62rem; text-transform: uppercase; color: var(--text-muted); letter-spacing: .06em; }
.v2-countdown-grid.urgente .v2-countdown-box {
	border-color: var(--danger);
	box-shadow: 0 0 0 1px rgba(226, 58, 81, .3);
	animation: v2-pulse-dot 1.5s infinite;
}

.v2-bid-form { display: flex; gap: .6rem; flex-wrap: wrap; }
.v2-bid-form input {
	flex: 1; min-width: 160px;
	background: var(--surface-2); border: 1px solid var(--border); color: var(--text);
	border-radius: 999px; padding: .65rem 1.1rem; font: inherit;
}
.v2-bid-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.v2-bid-form.shake { animation: v2-shake .4s; }
@keyframes v2-shake {
	10%, 90% { transform: translateX(-2px); }
	20%, 80% { transform: translateX(4px); }
	30%, 50%, 70% { transform: translateX(-6px); }
	40%, 60% { transform: translateX(6px); }
}
.v2-btn-bid {
	background: #111111; color: #fff; font-weight: 800; border: none; white-space: nowrap;
	display: inline-flex; align-items: center; gap: .4rem;
	border-radius: 999px; padding: .65rem 1.3rem;
	box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .45);
	transition: filter var(--ease);
}
.v2-btn-bid:hover { filter: brightness(1.2); }
.v2-price-flash { animation: v2-flash-price .9s ease; }
@keyframes v2-flash-price {
	0% { transform: scale(1); } 30% { transform: scale(1.14); } 100% { transform: scale(1); }
}

.v2-auto-puja { margin-top: .9rem; padding-top: .9rem; border-top: 1px dashed var(--border); }
.v2-auto-puja-toggle { display: flex; align-items: center; gap: .5rem; font-size: .85rem; font-weight: 600; color: var(--text); cursor: pointer; margin-bottom: .6rem; }
.v2-auto-puja-toggle input { width: 16px; height: 16px; accent-color: var(--accent); }
.v2-auto-puja-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.v2-auto-puja-row input {
	flex: 1; min-width: 140px;
	background: var(--surface-2); border: 1px solid var(--border); color: var(--text);
	border-radius: 999px; padding: .55rem 1rem; font: inherit; font-size: .85rem;
}
.v2-auto-puja-row input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.v2-btn-auto-puja {
	background: transparent; border: 1px solid var(--border-strong); color: var(--text);
	font-weight: 700; font-size: .85rem; white-space: nowrap;
	border-radius: 999px; padding: .55rem 1.1rem;
	transition: background var(--ease), border-color var(--ease);
}
.v2-btn-auto-puja:hover { background: var(--accent-soft); border-color: var(--accent); }
.v2-auto-puja-hint { font-size: .72rem; color: var(--text-muted); margin-top: .5rem; }

.v2-live-section-row { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5rem; margin-top: 3rem; }
@media (max-width: 991.98px) { .v2-live-section-row { grid-template-columns: 1fr; margin-top: 2rem; } }
.v2-live-section-heading { color: var(--text); font-weight: 800; display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.v2-live-section-row .v2-leaderboard { height: 100%; }

.v2-mini-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: .9rem; }
@media (min-width: 576px) { .v2-mini-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .v2-mini-grid { grid-template-columns: repeat(3, 1fr); } }
.v2-mini-card {
	display: flex; align-items: center; gap: .9rem; height: 100%;
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
	padding: .65rem; transition: border-color var(--ease), transform var(--ease);
}
.v2-mini-card:hover { border-color: var(--border-strong); transform: translateY(-3px); }
.v2-mini-card-img { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 72px; height: 90px; border-radius: var(--radius-sm); overflow: hidden; background: var(--surface-2); }
.v2-mini-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2-mini-card-body { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.v2-mini-card-title {
	color: var(--text); font-weight: 700; font-size: .92rem; line-height: 1.3;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.v2-mini-card-title:hover { color: var(--accent-light); }
.v2-mini-card-link { display: inline-flex; align-items: center; gap: .3rem; color: var(--accent); font-weight: 600; font-size: .85rem; }
.v2-mini-card-link i { transition: transform var(--ease); }
.v2-mini-card-link:hover { color: var(--accent-light); }
.v2-mini-card-link:hover i { transform: translateX(2px); }

.v2-leaderboard { background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.v2-leaderboard-row { display: flex; align-items: center; gap: .75rem; padding: .7rem 1rem; border-bottom: 1px solid var(--border); }
.v2-leaderboard-row:last-child { border-bottom: none; }
.v2-leaderboard-rank {
	width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 800; font-size: .78rem; background: #fff; border: 1px solid var(--border); color: var(--text);
}
.v2-leaderboard-row:nth-child(1) .v2-leaderboard-rank { background: linear-gradient(135deg, #ffd76a, #ffaa00); border-color: transparent; color: #3a2400; }
.v2-leaderboard-row:nth-child(2) .v2-leaderboard-rank { background: linear-gradient(135deg, #e4e4e4, #a9a9b3); border-color: transparent; color: #2a2a2a; }
.v2-leaderboard-row:nth-child(3) .v2-leaderboard-rank { background: linear-gradient(135deg, #e3a15c, #a9652c); border-color: transparent; color: #2a1400; }
.v2-leaderboard-name { flex: 1; font-weight: 600; color: var(--text); }
.v2-leaderboard-score { font-family: 'Orbitron', 'Poppins', sans-serif; font-weight: 700; color: var(--accent); font-size: .88rem; }

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
	.v2-hero::before, .v2-hero::after, .v2-dot-live, .v2-card-time.urgente, .v2-countdown-grid.urgente .v2-countdown-box {
		animation: none !important;
	}
	.v2-carousel-track, .reveal, .v2-card, .v2-card-img img, .v2-nav-menu, .v2-accordion-body, .v2-dropdown-menu { transition: none !important; }
}
