/* ============================================================
   MEGASHOP V2 — Tema marketplace moderno minimalista
   Reusa la infraestructura SIVO (sliders, banners, carrito,
   pagos). Color del header dinámico por tenant.
   ============================================================ */

/* ============================================================
   TOKENS
   ============================================================ */
:root{
	/* Color del header: lo inyecta header.php desde $CONFIG_color_header
	   con auto-contraste de texto (--mv2-header-fg). Aquí los defaults. */
	--mv2-header-bg:#f2f2f2;
	--mv2-header-fg:#1A1A1A;

	/* Paleta marketplace */
	--mv2-azul:#3483FA;
	--mv2-azul-hover:#2968C8;
	--mv2-azul-suave:rgba(52,131,250,.08);
	--mv2-verde:#00A650;
	--mv2-rojo:#DE3D3D;
	--mv2-naranja:#FF7733;

	/* Superficies */
	--mv2-bg:#EBEBEB;
	--mv2-bg-card:#FFFFFF;
	--mv2-bg-soft:#F5F5F7;

	/* Tipografía */
	--mv2-texto:#1A1A1A;
	--mv2-texto-suave:#555555;
	--mv2-texto-tenue:#8C8C8C;
	--mv2-borde:#EAEAEA;
	--mv2-borde-hover:#D0D0D0;

	/* Sombras multi-capa finas (modernas) */
	--mv2-sombra-sm:0 1px 2px rgba(0,0,0,.04);
	--mv2-sombra-card:0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);
	--mv2-sombra-card-hover:0 4px 8px rgba(0,0,0,.06), 0 12px 24px rgba(0,0,0,.10);
	--mv2-sombra-pop:0 12px 36px rgba(0,0,0,.14), 0 4px 8px rgba(0,0,0,.06);

	/* Geometría */
	--mv2-radius:10px;
	--mv2-radius-lg:14px;
	--mv2-radius-pill:999px;
	--mv2-max-width:1300px;

	/* Animación */
	--mv2-ease:cubic-bezier(0.4, 0, 0.2, 1);
	--mv2-fast:160ms var(--mv2-ease);
	--mv2-base:220ms var(--mv2-ease);

	/* Tipografía */
	--mv2-font:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* ============================================================
   RESET + BASE
   ============================================================ */
body.mv2-body{
	font-family: var(--mv2-font);
	background-color: var(--mv2-bg);
	color: var(--mv2-texto);
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.mv2-body *, body.mv2-body *::before, body.mv2-body *::after{ box-sizing: border-box; }
body.mv2-body a{text-decoration: none; transition: color var(--mv2-fast); }
body.mv2-body a:hover{ color: var(--mv2-azul-hover); }
body.mv2-body img{ max-width: 100%; height: auto; display: block; }
body.mv2-body button{ font-family: inherit; cursor: pointer; }
h2 {font-size: 13pt;color: #4b4b4b;}

/* ============================================================
   HEADER — sticky + backdrop blur on scroll
   ============================================================ */
.mv2-header{
	background-color: #FFFFFF;
	box-shadow: var(--mv2-sombra-sm);
	position: sticky;
	top: 0;
	z-index: 100;
	transition: box-shadow var(--mv2-base);
}

/* header compacto al hacer scroll (body.sivo-scrolled lo marca functions-store.js) */
body.mv2-body.sivo-scrolled .mv2-header{
	box-shadow: 0 2px 16px rgba(0,0,0,.08);
}

/* La compactacion es instantanea a proposito: animar padding/max-height provoca relayout y
   movia el scroll fotograma a fotograma. Solo la sombra se anima (.mv2-header, arriba). */

body.mv2-body.sivo-scrolled .mv2-header-nav{ display: none; }
body.mv2-body.sivo-scrolled .mv2-header-inner{ padding: 7px 20px; }
body.mv2-body.sivo-scrolled .mv2-header-logo img{ max-height: 30px; }
body.mv2-body.sivo-scrolled .mv2-search-input{ padding: 8px 16px; }
body.mv2-body.sivo-scrolled .mv2-search-btn{ padding: 0 18px; }

.mv2-header-top{
	background-color: var(--mv2-header-bg);
	color: var(--mv2-header-fg);
	width: 100%;
	transition: background-color var(--mv2-base);
}

.mv2-header-inner{
	max-width: var(--mv2-max-width);
	margin: 0 auto;
	padding: 14px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
}

.mv2-header-logo{ flex: 0 0 auto; max-width: 180px; }
.mv2-header-logo img{ max-height: 44px; width: auto; }

/* BUSCADOR */
.mv2-header-search{
	flex: 1 1 auto;
	max-width: 780px;
	position: relative;
}

.mv2-header-search form{ display: flex; box-shadow: var(--mv2-sombra-sm); border-radius: var(--mv2-radius); overflow: hidden; }

.mv2-search-input{
	flex: 1 1 auto;
	border: none;
	background: #FFFFFF;
	padding: 13px 16px;
	font-size: 15px;
	color: var(--mv2-texto);
	outline: none;
	min-width: 0;
	font-family: inherit;
}

.mv2-search-input::placeholder{ color: var(--mv2-texto-tenue); }
.mv2-search-input:focus{ box-shadow: inset 0 0 0 2px var(--mv2-azul); }

.mv2-search-btn{
	background: #FFFFFF;
	border: none;
	padding: 0 22px;
	font-size: 16px;
	color: var(--mv2-texto-suave);
	border-left: 1px solid var(--mv2-borde);
	transition: color var(--mv2-fast);
}

.mv2-search-btn:hover{ color: var(--mv2-azul); }

.mv2-search-suggest{
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	background: #FFFFFF;
	border-radius: var(--mv2-radius);
	box-shadow: var(--mv2-sombra-pop);
	max-height: 460px;
	overflow-y: auto;
	z-index: 110;
	animation: mv2-fadeIn 180ms var(--mv2-ease);
}

@keyframes mv2-fadeIn{
	from{ opacity:0; transform: translateY(-6px); }
	to{ opacity:1; transform: translateY(0); }
}

.mv2-search-suggest-item{
	display: flex;
	gap: 12px;
	padding: 11px 14px;
	border-bottom: 1px solid var(--mv2-borde);
	color: var(--mv2-texto);
	transition: background-color var(--mv2-fast);
}

.mv2-search-suggest-item:hover{ background-color: var(--mv2-bg-soft); }
.mv2-search-suggest-item:last-child{ border-bottom: none; }

.mv2-search-suggest-img{
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex: 0 0 48px;
	background: #FFFFFF;
	border-radius: 6px;
	border: 1px solid var(--mv2-borde);
	padding: 2px;
}

.mv2-search-suggest-info{ flex: 1 1 auto; min-width: 0; }
.mv2-search-suggest-nombre{ font-size: 13px; color: var(--mv2-texto); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mv2-search-suggest-precio{ font-size: 14px; color: var(--mv2-texto); font-weight: 600; display: block; margin-top: 2px; }
.mv2-search-suggest-empty{ padding: 18px; text-align: center; color: var(--mv2-texto-tenue); font-size: 13px; }

/* ACCIONES HEADER */
.mv2-header-actions{
	display: flex;
	align-items: center;
	gap: 2px;
	flex: 0 0 auto;
}

.mv2-header-action{
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	color: var(--mv2-header-fg);
	font-size: 11px;
	font-weight: 500;
	border-radius: var(--mv2-radius);
	transition: background-color var(--mv2-fast), transform var(--mv2-fast);
	cursor: pointer;
	position: relative;
	text-align: center;
}

.mv2-header-action i{ font-size: 19px; margin-bottom: 3px; }
.mv2-header-action:hover{ background-color: rgba(0,0,0,.08); color: var(--mv2-header-fg); transform: translateY(-1px); }

.mv2-action-label{ display: block; line-height: 1; }

.mv2-header-cart #num_items_cart{
	position: absolute;
	top: 2px;
	right: 6px;
	background: var(--mv2-rojo);
	color: #FFFFFF;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: var(--mv2-radius-pill);
	min-width: 18px;
	text-align: center;
	box-shadow: 0 1px 4px rgba(0,0,0,.18);
}

.mv2-header-cart #num_items_cart:empty{ display: none; }

.mv2-mobile-toggle{
	display: none;
	background: transparent;
	border: none;
	font-size: 22px;
	color: var(--mv2-header-fg);
	padding: 8px;
}

/* NAV CATEGORÍAS */
.mv2-header-nav{
	background-color: #FFFFFF;
	border-bottom: 1px solid var(--mv2-borde);
}

.mv2-nav-inner{
	max-width: var(--mv2-max-width);
	margin: 0 auto;
	padding: 0 20px;
}

.mv2-cat-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 2px;
	overflow-x: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.mv2-cat-list::-webkit-scrollbar{ height: 0; }
.mv2-cat-item{ position: relative; flex: 0 0 auto; }

.mv2-cat-link{
	display: inline-block;
	padding: 11px 16px;
	color: var(--mv2-texto);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color var(--mv2-fast), border-color var(--mv2-fast);
}

.mv2-cat-link:hover{ color: var(--mv2-azul); border-bottom-color: var(--mv2-azul); }
.mv2-cat-destacado .mv2-cat-link{ color: var(--mv2-rojo); }
.mv2-cat-destacado .mv2-cat-link:hover{ color: var(--mv2-rojo); border-bottom-color: var(--mv2-rojo); }
.mv2-cat-club .mv2-cat-link{ color: var(--mv2-naranja); }

.mv2-cat-sub{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #FFFFFF;
	box-shadow: var(--mv2-sombra-pop);
	border-radius: 0 0 var(--mv2-radius) var(--mv2-radius);
	list-style: none;
	margin: 0;
	padding: 8px 0;
	min-width: 240px;
	z-index: 50;
}

.mv2-cat-haschildren:hover .mv2-cat-sub{ display: block; animation: mv2-fadeIn 160ms var(--mv2-ease); }
.mv2-cat-sub li a{ display: block; padding: 9px 16px; font-size: 13px; color: var(--mv2-texto); }
.mv2-cat-sub li a:hover{ background: var(--mv2-bg-soft); color: var(--mv2-azul); }

/* ============================================================
   SLIDER — fullwidth con fade bottom (ML-style fusion)
   ============================================================ */
.mv2-slider{
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}

.mv2-slider::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 32%;
	background: linear-gradient(180deg, rgba(235,235,235,0) 0%, rgba(235,235,235,.65) 60%, var(--mv2-bg) 100%);
	pointer-events: none;
	z-index: 2;
}

.mv2-slider .splide{ width: 100%; }
.mv2-slider-img{ width: 100%; height: auto; display: block; object-fit: cover; }
.mv2-slider .splide__slide{ position: relative; }

.mv2-slider-content{
	position: absolute;
	bottom: 14%;
	left: 8%;
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	padding: 18px 24px;
	border-radius: var(--mv2-radius-lg);
	max-width: 440px;
	z-index: 3;
}

.mv2-slider-content h2{ margin: 0 0 6px; font-size: 26px; color: var(--mv2-texto); font-weight: 600; }
.mv2-slider-content p{ margin: 0 0 12px; font-size: 15px; color: var(--mv2-texto-suave); }

.mv2-slider-btn{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--mv2-azul);
	color: #FFFFFF;
	padding: 10px 20px;
	border-radius: var(--mv2-radius);
	font-weight: 600;
	font-size: 14px;
	transition: background-color var(--mv2-fast), transform var(--mv2-fast);
}

.mv2-slider-btn:hover{ background: var(--mv2-azul-hover); color: #FFFFFF; transform: translateY(-1px); }

.mv2-slider .splide__arrow{
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	opacity: 1;
	box-shadow: var(--mv2-sombra-card);
	transition: transform var(--mv2-fast);
}

.mv2-slider .splide__arrow:hover{ transform: scale(1.06); }
.mv2-slider .splide__arrow i{ color: var(--mv2-texto); font-size: 14px; }
.mv2-slider .splide__pagination{ bottom: 18px; }
.mv2-slider .splide__pagination__page{ background: rgba(255,255,255,.6); width: 8px; height: 8px; }
.mv2-slider .splide__pagination__page.is-active{ background: #FFFFFF; transform: scale(1.3); }

/* ============================================================
   MAIN
   ============================================================ */
.mv2-main{
	max-width: var(--mv2-max-width);
	margin: 0 auto;
	padding: 24px 20px 40px;
}

/* ============================================================
   BUSCADOR PRO
   ============================================================ */
.advance-search.absoluteTop {
    position: initial !important;
}
.separador_search {
    display: none !important;
}

/* ============================================================
   SECCIONES + TÍTULOS
   ============================================================ */
.seccion {
width: 100%;
display: block;
text-align: center;
margin-bottom: 20px;
padding: 20px 20px;
border: 1px solid #f1f1f1;
border-radius: 10px;
box-sizing: border-box;
box-shadow: 5px 10px 20px #efefef;
}

.mv2-section{ margin: 40px 0; }
.mv2-section:first-child{ margin-top: 24px; }

.mv2-section-title{
	font-size: 22px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0 0 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	letter-spacing: -0.01em;
}

.mv2-section-title-link{
	font-size: 13px;
	font-weight: 500;
	color: var(--mv2-azul);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: gap var(--mv2-fast);
}

.mv2-section-title-link:hover{ gap: 8px; }

/* ============================================================
   QUICK ACCESS CARDS (estilo ML "dynamic-access")
   ============================================================ */
.mv2-section-quickaccess{ margin: 0 0 32px; position: relative; z-index: 5; }

.mv2-qa-grid{
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 0 12px;
	-webkit-overflow-scrolling: touch;
}

.mv2-qa-grid::-webkit-scrollbar{ height: 6px; }
.mv2-qa-grid::-webkit-scrollbar-thumb{ background: var(--mv2-borde-hover); border-radius: 3px; }

.mv2-qa-card{
	flex: 0 0 220px;
	scroll-snap-align: start;
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 18px 18px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: var(--mv2-sombra-card);
	color: var(--mv2-texto);
	transition: transform var(--mv2-base), box-shadow var(--mv2-base);
	min-height: 180px;
	position: relative;
}

.mv2-qa-card:hover{
	transform: translateY(-3px);
	box-shadow: var(--mv2-sombra-card-hover);
	color: var(--mv2-texto);
}

.mv2-qa-icon{
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mv2-azul-suave);
	color: var(--mv2-azul);
	font-size: 22px;
}

.mv2-qa-card.mv2-qa-naranja .mv2-qa-icon{ background: rgba(255,119,51,.10); color: var(--mv2-naranja); }
.mv2-qa-card.mv2-qa-verde .mv2-qa-icon{ background: rgba(0,166,80,.10); color: var(--mv2-verde); }
.mv2-qa-card.mv2-qa-rojo .mv2-qa-icon{ background: rgba(222,61,61,.10); color: var(--mv2-rojo); }
.mv2-qa-card.mv2-qa-azul .mv2-qa-icon{ background: var(--mv2-azul-suave); color: var(--mv2-azul); }

.mv2-qa-title{
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--mv2-texto);
	line-height: 1.3;
}

.mv2-qa-desc{
	margin: 0;
	font-size: 12px;
	color: var(--mv2-texto-suave);
	line-height: 1.4;
	flex: 1 1 auto;
}

.mv2-qa-cta{
	font-size: 12px;
	font-weight: 600;
	color: var(--mv2-azul);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 4px;
	transition: gap var(--mv2-fast);
}

.mv2-qa-card:hover .mv2-qa-cta{ gap: 8px; }

/* ============================================================
   CATEGORÍAS CHIPS
   ============================================================ */
.mv2-chips{
	display: flex;
	gap: 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 6px 0 12px;
	-webkit-overflow-scrolling: touch;
}

.mv2-chips::-webkit-scrollbar{ height: 6px; }
.mv2-chips::-webkit-scrollbar-thumb{ background: var(--mv2-borde-hover); border-radius: 3px; }

.mv2-chip{
	flex: 0 0 auto;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 96px;
	color: var(--mv2-texto);
	font-size: 12px;
	text-align: center;
	transition: transform var(--mv2-fast);
}

.mv2-chip-icon{
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: var(--mv2-sombra-card);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: transform var(--mv2-base), box-shadow var(--mv2-base);
}

.mv2-chip:hover{ transform: translateY(-2px); }
.mv2-chip:hover .mv2-chip-icon{ box-shadow: var(--mv2-sombra-card-hover); }

.mv2-chip-icon img{ width: 58%; height: 58%; object-fit: contain; }
.mv2-chip-icon i{ font-size: 30px; color: var(--mv2-azul); }
.mv2-chip-name{ display: block; line-height: 1.3; font-weight: 500; }

/* ============================================================
   PRODUCT CARDS — modernas, hover lift, sombra fina
   ============================================================ */
/* Acento del card estándar (.sivo-card-*) con la identidad ML */
body.mv2-body{ --sivo-card-accent: var(--mv2-azul); --sivo-card-accent-hover: var(--mv2-azul-hover); --sivo-card-accent-soft: var(--mv2-azul-suave); }

.mv2-row{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
	margin-top: 4px;
}

.mv2-row-scroll{
	display: flex;
	gap: 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 0 14px;
	-webkit-overflow-scrolling: touch;
}

.mv2-row-scroll .mv2-card{ flex: 0 0 230px; scroll-snap-align: start; }

.mv2-row-scroll::-webkit-scrollbar{ height: 6px; }
.mv2-row-scroll::-webkit-scrollbar-thumb{ background: var(--mv2-borde-hover); border-radius: 3px; }

.mv2-card{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	box-shadow: var(--mv2-sombra-card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--mv2-base), box-shadow var(--mv2-base);
	position: relative;
}

.mv2-card:hover{
	transform: translateY(-4px);
	box-shadow: var(--mv2-sombra-card-hover);
}

.mv2-card-foto{
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background: #FFFFFF;
	padding: 16px;
	overflow: hidden;
}

.mv2-card-foto img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform var(--mv2-base);
}

.mv2-card:hover .mv2-card-foto img{ transform: scale(1.04); }

.mv2-card-badge-off{
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--mv2-verde);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 6px;
	z-index: 2;
	letter-spacing: 0.02em;
}

.mv2-card-body{
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 auto;
}

.mv2-card-marca{
	font-size: 11px;
	color: var(--mv2-texto-tenue);
	text-transform: uppercase;
	letter-spacing: .5px;
	font-weight: 600;
}

.mv2-card-titulo{
	font-size: 14px;
	color: var(--mv2-texto);
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 38px;
	font-weight: 400;
	transition: color var(--mv2-fast);
}

.mv2-card-titulo:hover{ color: var(--mv2-azul); }

.mv2-card-precio{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	margin-top: 2px;
}

.mv2-card-precio-normal{
	font-size: 12px;
	color: var(--mv2-texto-tenue);
	text-decoration: line-through;
	width: 100%;
}

.mv2-card-precio-desde{ font-size: 11px; color: var(--mv2-texto-suave); }

.mv2-card-precio-final{
	font-size: 24px;
	font-weight: 600;
	color: var(--mv2-texto);
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.mv2-card-precio-iva{ font-size: 10px; color: var(--mv2-texto-tenue); margin-left: 4px; }
.mv2-card-precio-privado .mv2-card-precio-final{ font-size: 15px; color: var(--mv2-texto-suave); }

.mv2-card-envio{
	font-size: 12px;
	color: var(--mv2-verde);
	font-weight: 600;
}

.mv2-card-envio i{ margin-right: 4px; }
.mv2-card-agotado{ font-size: 12px; color: var(--mv2-rojo); font-weight: 600; }
.mv2-card-pedido{ font-size: 12px; color: var(--mv2-naranja); font-weight: 600; }

.mv2-card-acciones{
	margin-top: auto;
	padding-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mv2-card-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px 12px;
	border-radius: var(--mv2-radius);
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	border: 1.5px solid transparent;
	transition: background-color var(--mv2-fast), border-color var(--mv2-fast), color var(--mv2-fast), transform var(--mv2-fast), box-shadow var(--mv2-fast);
	cursor: pointer;
	font-family: inherit;
	line-height: 1.1;
}

.mv2-card-btn-buynow{
	background-color: var(--mv2-azul);
	color: #FFFFFF;
	border-color: var(--mv2-azul);
	box-shadow: 0 1px 2px rgba(52,131,250,.16);
}

.mv2-card-btn-buynow:hover{
	background-color: var(--mv2-azul-hover);
	border-color: var(--mv2-azul-hover);
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(52,131,250,.28);
}

.mv2-card-btn-addcart{
	background-color: transparent;
	color: var(--mv2-azul);
	border-color: var(--mv2-azul);
}

.mv2-card-btn-addcart:hover{ background-color: var(--mv2-azul-suave); transform: translateY(-1px); }

.mv2-card-btn-vermas{
	background-color: var(--mv2-bg-soft);
	color: var(--mv2-texto-suave);
	border-color: var(--mv2-borde);
}

.mv2-card-btn-vermas:hover{ background-color: #FFFFFF; color: var(--mv2-texto); border-color: var(--mv2-borde-hover); }
.mv2-card-btn:disabled{ opacity: .6; cursor: not-allowed; }

/* Mensaje feedback de AddCartExpress dentro de la tarjeta */
.mv2-card-msg{ min-height: 0; }
.mv2-card-msg:empty{ display: none; }
.mv2-card-msg .msg_express-store{
	display: block;
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: 6px;
	font-size: 12px;
	text-align: center;
	background: rgba(0,166,80,.10);
	color: var(--mv2-verde);
	font-weight: 600;
	animation: mv2-fadeIn 180ms var(--mv2-ease);
}

.mv2-card-msg .msg_express-store.success{ background: rgba(0,166,80,.10); color: var(--mv2-verde); }
.mv2-card-msg .msg_express-store i{ margin-right: 4px; }

/* ============================================================
   BANNERS PROMOCIONALES
   ============================================================ */
.mv2-banner-promo{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin: 32px 0;
}

.mv2-banner-promo > div,
.mv2-banner-promo > a{
	border-radius: var(--mv2-radius-lg);
	overflow: hidden;
	box-shadow: var(--mv2-sombra-card);
	display: block;
	transition: transform var(--mv2-base);
}

.mv2-banner-promo > div:hover,
.mv2-banner-promo > a:hover{ transform: translateY(-2px); }

.mv2-banner-promo img{ width: 100%; height: auto; display: block; }

.mv2-banner-full{
	margin: 32px 0;
	border-radius: var(--mv2-radius-lg);
	overflow: hidden;
	box-shadow: var(--mv2-sombra-card);
}

.mv2-banner-full img{ width: 100%; height: auto; display: block; }

.mv2-banner-tiny{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin: 32px 0;
}

.mv2-banner-tiny > a,
.mv2-banner-tiny > div{
	border-radius: var(--mv2-radius-lg);
	overflow: hidden;
	box-shadow: var(--mv2-sombra-card);
	transition: transform var(--mv2-base);
}

.mv2-banner-tiny > a:hover,
.mv2-banner-tiny > div:hover{ transform: translateY(-2px); }
.mv2-banner-tiny img{ width: 100%; height: auto; display: block; }

/* ============================================================
   PRODUCTO DETALLE — galería + info ML-style
   ============================================================ */
.mv2-producto{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	box-shadow: var(--mv2-sombra-card);
	padding: 32px;
	margin: 24px 0;
	display: grid;
	grid-template-columns: 54% 44%;
	gap: 2%;
}

.mv2-producto-breadcrumb{
	font-size: 12px;
	color: var(--mv2-texto-tenue);
	margin: 0 0 18px;
}

.mv2-producto-breadcrumb a{ color: var(--mv2-azul); }
.mv2-producto-breadcrumb-sep{ margin: 0 6px; color: var(--mv2-texto-tenue); }

.mv2-producto-galeria{ display: flex; flex-direction: column; gap: 12px; }

.mv2-producto-foto-main{
	background: #FFFFFF;
	border-radius: var(--mv2-radius);
	border: 1px solid var(--mv2-borde);
	overflow: hidden;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.mv2-producto-foto-main img{ max-width: 100%; max-height: 100%; object-fit: contain; }

.mv2-producto-thumbs{
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
}

.mv2-producto-thumb{
	flex: 0 0 64px;
	height: 64px;
	border: 1.5px solid var(--mv2-borde);
	border-radius: 8px;
	cursor: pointer;
	background: #FFFFFF;
	padding: 4px;
	transition: border-color var(--mv2-fast);
}

.mv2-producto-thumb.is-active,
.mv2-producto-thumb:hover{ border-color: var(--mv2-azul); }

.mv2-producto-thumb img{ width: 100%; height: 100%; object-fit: contain; }

.mv2-producto-info{ display: flex; flex-direction: column; gap: 14px; }
.mv2-producto-marca-logo {position: relative;}
.logo_index_producto {float: right;max-width: 11%;position: absolute;right: 0;top: 0;}

.mv2-producto-marca{
	font-size: 12px;
	color: var(--mv2-texto-tenue);
	text-transform: uppercase;
	letter-spacing: .5px;
	font-weight: 600;
}

.mv2-producto-titulo{
	font-size: 22px;
	color: var(--mv2-texto);
	margin: 0;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.mv2-producto-precio-block{
	background: var(--mv2-bg-soft);
	border-radius: var(--mv2-radius);
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mv2-producto-precio-normal{
	font-size: 14px;
	color: var(--mv2-texto-tenue);
	text-decoration: line-through;
}

.mv2-producto-precio-row{
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.mv2-producto-precio-final{
	font-size: 36px;
	font-weight: 600;
	color: var(--mv2-texto);
	letter-spacing: -0.02em;
}

.mv2-producto-precio-iva{ font-size: 12px; color: var(--mv2-texto-tenue); }

.mv2-producto-precio-pct{
	background: var(--mv2-verde);
	color: #FFFFFF;
	padding: 4px 9px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
}

.mv2-producto-envio{
	color: var(--mv2-verde);
	font-size: 14px;
	font-weight: 600;
}

.mv2-producto-envio i{ margin-right: 6px; }

.mv2-producto-acciones{ display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }

.mv2-producto-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 18px;
	border-radius: var(--mv2-radius);
	font-size: 15px;
	font-weight: 600;
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: background-color var(--mv2-fast), transform var(--mv2-fast), box-shadow var(--mv2-fast);
	font-family: inherit;
}

.mv2-producto-btn-buynow{
	background: var(--mv2-azul);
	color: #FFFFFF;
	border-color: var(--mv2-azul);
	box-shadow: 0 2px 4px rgba(52,131,250,.18);
}

.mv2-producto-btn-buynow:hover{
	background: var(--mv2-azul-hover);
	border-color: var(--mv2-azul-hover);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(52,131,250,.30);
}

.mv2-producto-btn-addcart{
	background: transparent;
	color: var(--mv2-azul);
	border-color: var(--mv2-azul);
}

.mv2-producto-btn-addcart:hover{ background: var(--mv2-azul-suave); transform: translateY(-1px); }

.mv2-producto-seguridad{
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 13px;
	color: var(--mv2-texto-suave);
	margin-top: 14px;
}

.mv2-producto-seguridad-item{ display: flex; align-items: center; gap: 8px; }
.mv2-producto-seguridad-item i{ color: var(--mv2-azul); width: 16px; text-align: center; }

.mv2-producto-descripcion{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 28px 32px;
	margin: 24px 0;
	box-shadow: var(--mv2-sombra-card);
}

.mv2-producto-descripcion h3{ font-size: 18px; font-weight: 600; margin: 0 0 12px; }
.mv2-producto-descripcion .descripcion-body{ font-size: 14px; color: var(--mv2-texto-suave); line-height: 1.65; }

/* ============================================================
   FOOTER
   ============================================================ */
.mv2-footer{
	background: #FFFFFF;
	border-top: 1px solid var(--mv2-borde);
	margin-top: 48px;
}

.mv2-footer-inner{
	max-width: var(--mv2-max-width);
	margin: 0 auto;
	padding: 44px 20px 28px;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.2fr 1.1fr;
	gap: 40px;
}

.mv2-footer-col{ font-size: 13px; color: var(--mv2-texto-suave); }

.mv2-footer-brand img{ max-height: 44px; width: auto; margin-bottom: 14px; }
.mv2-footer-brand p{ margin: 0 0 10px; line-height: 1.55; }

.mv2-footer-title{
	font-size: 14px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0 0 14px;
	letter-spacing: -0.01em;
}

.mv2-footer-title-tight{ margin-top: 20px; }

.mv2-footer-list{ list-style: none; margin: 0; padding: 0; }
.mv2-footer-list li{ margin: 0 0 9px; line-height: 1.45; }
.mv2-footer-list li i{ margin-right: 6px; color: var(--mv2-texto-tenue); width: 14px; text-align: center; }
.mv2-footer-list-tight li{ font-size: 12px; }
.mv2-footer-list a{ color: var(--mv2-texto-suave); }
.mv2-footer-list a:hover{ color: var(--mv2-azul); }

.mv2-footer-payments{ display: flex; flex-wrap: wrap; gap: 8px; }
.mv2-footer-payments .payments{ display: flex; flex-wrap: wrap; gap: 8px; }

.mv2-footer-payments img{
	height: 30px;
	width: auto;
	background: #FFFFFF;
	border: 1px solid var(--mv2-borde);
	border-radius: 6px;
	padding: 4px 7px;
}

.mv2-footer-certs{ margin: 12px 0; }
.mv2-footer-certs img{ max-height: 40px; width: auto; }
.mv2-footer-certs .certificates {justify-content: flex-start;}

.mv2-footer-socials{ display: flex; gap: 10px; margin-top: 10px; }

.mv2-footer-socials a{
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--mv2-bg-soft);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--mv2-texto-suave);
	transition: background-color var(--mv2-fast), color var(--mv2-fast), transform var(--mv2-fast);
}

.mv2-footer-socials a:hover{ background: var(--mv2-azul); color: #FFFFFF; transform: translateY(-2px); }

.mv2-footer-bottom{
	background: var(--mv2-bg-soft);
	padding: 16px 20px;
	text-align: center;
	color: var(--mv2-texto-suave);
	font-size: 12px;
}

.mv2-footer-bottom p{ margin: 0; }

/* ============================================================
   ESTADOS VACÍOS
   ============================================================ */
.mv2-empty{
	text-align: center;
	padding: 48px 16px;
	color: var(--mv2-texto-tenue);
	font-size: 14px;
}

.mv2-empty img{ max-width: 180px; margin: 0 auto 14px; opacity: .8; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px){
	.mv2-row{ grid-template-columns: repeat(4, 1fr); gap: 14px; }
	.mv2-footer-inner{ grid-template-columns: 1fr 1fr; gap: 32px; }
	.mv2-producto{ grid-template-columns: 1fr; gap: 24px; padding: 24px; }
}

@media (max-width: 820px){
	.mv2-header-inner{ flex-wrap: wrap; gap: 10px; padding: 12px 14px; }
	.mv2-header-logo{ max-width: 130px; }
	.mv2-header-logo img{ max-height: 36px; }
	.mv2-header-search{ order: 3; flex-basis: 100%; max-width: 100%; }
	.mv2-header-actions{ margin-left: auto; }
	.mv2-action-label{ display: none; }
	.mv2-mobile-toggle{ display: inline-flex; }

	.mv2-row{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.mv2-card-precio-final{ font-size: 20px; }

	.mv2-qa-card{ flex-basis: 180px; min-height: 160px; padding: 14px; }

	.mv2-banner-promo, .mv2-banner-tiny{ grid-template-columns: 1fr 1fr; gap: 12px; }

	.mv2-slider-content{ position: static; max-width: 100%; border-radius: 0; backdrop-filter: none; }
	.mv2-slider-content h2{ font-size: 18px; }
	.mv2-slider::after{ height: 22%; }

	.mv2-producto-titulo{ font-size: 18px; }
	.mv2-producto-precio-final{ font-size: 28px; }
	.mv2-producto-descripcion{ padding: 20px; }

	.mv2-main{ padding: 16px 12px 32px; }
	.mv2-section{ margin: 28px 0; }
}

@media (max-width: 520px){
	.mv2-chip{ width: 80px; font-size: 11px; }
	.mv2-chip-icon{ width: 64px; height: 64px; }
	.mv2-chip-icon i{ font-size: 24px; }
	.mv2-footer-inner{ grid-template-columns: 1fr; gap: 28px; }
	.mv2-row-scroll .mv2-card{ flex-basis: 168px; }
	.mv2-qa-card{ flex-basis: 158px; min-height: 150px; }
}

/* ============================================================
   FIRMA SIVO (helper $desarrollado_por_sivo → <div class="Sivo">)
   Se renderiza dentro de .mv2-footer-bottom o flotando al pie.
   ============================================================ */
.Sivo,
.mv2-footer-bottom .Sivo{
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	color: var(--mv2-texto-tenue);
}

.Sivo img{ width: 52px; opacity: .85; margin-bottom: 4px; }
.Sivo small{ font-size: 11px; color: var(--mv2-texto-tenue); }
.Sivo a{ color: inherit; }

.Sivo a.web{
	color: #FFFFFF;
	background: var(--mv2-azul);
	padding: 2px 10px;
	border-radius: var(--mv2-radius-pill);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .2px;
	text-decoration: none;
	display: inline-block;
	margin-left: 4px;
	transition: background var(--mv2-fast);
}

.Sivo a.web:hover{ background: var(--mv2-azul-hover); color: #FFFFFF; }

/* ============================================================
   WHATSAPP FLOTANTE (<div class="wsp">)
   ============================================================ */
.wsp{
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 150;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: transform var(--mv2-fast);
}

.wsp .msg-wsp{
	background: #FFFFFF;
	color: var(--mv2-texto);
	padding: 9px 14px;
	border-radius: var(--mv2-radius-pill);
	font-size: 13px;
	font-weight: 600;
	box-shadow: var(--mv2-sombra-card);
	white-space: nowrap;
}

.wsp a{
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	box-shadow: var(--mv2-sombra-card-hover);
	overflow: hidden;
	background: #25D366;
	transition: box-shadow var(--mv2-fast);
}

.wsp img{ width: 100%; height: 100%; display: block; }
.wsp:hover{ transform: translateY(-2px); }
.wsp:hover a{ box-shadow: 0 8px 24px rgba(37,211,102,.35); }

@media (max-width: 520px){
	.wsp{ right: 14px; bottom: 14px; gap: 8px; }
	.wsp .msg-wsp{ display: none; }
	.wsp a{ width: 50px; height: 50px; }
}

/* ============================================================
   OVERRIDES LEGACY: /cart, /checkout, #sidebarCart
   Estas clases vienen de processSidebarCart.php, cargaDinamica_Cart.php
   y cargaDinamica_Checkout.php — generan HTML con clases SIVO clásicas
   que necesitamos reestilar para que se vean modernas en megashop-v2.
   ============================================================ */

/* SIDEBAR CARRITO */
#sidebarCart{
	--sidebar-accent: var(--mv2-azul);
	position: fixed;
	top: 0;
	right: 0;
	width: 380px;
	max-width: 100%;
	height: 100vh;
	background: #FFFFFF;
	padding: 22px 22px 0;
	box-shadow: var(--mv2-sombra-pop);
	overflow-y: auto;
	z-index: 200;
	font-family: var(--mv2-font);
	color: var(--mv2-texto);
}

#sidebarCart .section_header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--mv2-borde);
}

#sidebarCart .section_header_title{
	font-size: 18px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0;
	letter-spacing: -0.01em;
}

#sidebarCart .section_header hr,
.mv2-main .section_header hr{ display: none; }

#sidebarCart .section_header_menu{ display: flex; align-items: center; }
#sidebarCart #closebox{
	cursor: pointer;
	color: var(--mv2-texto-suave);
	transition: color var(--mv2-fast);
}
#sidebarCart #closebox:hover{ color: var(--mv2-rojo); }
#sidebarCart #closebox i{ font-size: 22px; }

.wrapper_sidebarCart .bgPopup{
	background: rgba(26,26,26,.45);
	position: fixed; top:0; left:0; right:0; bottom:0;
	z-index: 199;
}

/* ITEMS DEL CARRITO + swipe + minicart: unificado al global (Web Global/css/style-general.css) */

/* RESUMEN DEL CARRITO */
.ResumenCart{
	background: var(--mv2-bg-soft);
	border-radius: var(--mv2-radius);
	padding: 14px 16px;
	margin: 20px 0 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ResumenCart > div{
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
}

.ResumenCart .MontoCart{
	font-size: 13px;
	font-weight: 500;
	color: var(--mv2-texto-suave);
	border: none !important;
	padding: 0 !important;
	width: auto !important;
}

.ResumenCart > div:last-of-type .MontoCart,
.ResumenCart > div:first-of-type .MontoCart{
	font-size: 16px;
	font-weight: 600;
	color: var(--mv2-texto);
}

.ResumenCart > div:first-of-type{
	border-top: 1px solid var(--mv2-borde);
	padding-top: 10px !important;
}

/* BOTONES DE CARRITO */
.btncart{
	width: 100%;
	height: auto;
	min-height: 44px;
	border-radius: var(--mv2-radius);
	margin-bottom: 10px;
	transition: background-color var(--mv2-fast), box-shadow var(--mv2-fast), transform var(--mv2-fast);
	box-shadow: none;
	overflow: hidden;
}

.btncart a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 11px 16px;
	font-size: 14px;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
}

.btncart.suggest{
	background: transparent;
	border: 1.5px solid var(--mv2-azul);
}
.btncart.suggest a{ color: var(--mv2-azul); }
.btncart.suggest:hover{ background: var(--mv2-azul-suave); transform: translateY(-1px); }

.btncart.confirm{
	background: var(--mv2-azul);
	border: 1.5px solid var(--mv2-azul);
	box-shadow: 0 2px 4px rgba(52,131,250,.18);
}
.btncart.confirm a{ color: #FFFFFF; }
.btncart.confirm:hover{ background: var(--mv2-azul-hover); border-color: var(--mv2-azul-hover); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(52,131,250,.30); }

/* LOGOS PAGOS */
.payments{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 8px;
	margin: 16px 0 12px;
}

.payments > div{
	background: #FFFFFF;
	border: 1px solid var(--mv2-borde);
	border-radius: 6px;
	padding: 5px 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
}

.payments img{
	max-height: 22px;
	width: auto;
	max-width: 100%;
}

/* FOOTER DEL SIDEBARCART */
.footer_sidebarCart{
	margin: 14px -22px 0;
	padding: 14px 22px;
	text-align: center;
}

.footer_sidebarCart img{
	max-height: 50px;
	width: auto;
	opacity: .85;
	margin: 0 auto;
}

/* PÁGINA COMPLETA /cart (#mycart) y /checkout (#mycheckOut) */
#mycart, #mycheckOut{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	box-shadow: var(--mv2-sombra-card);
	padding: 24px;
	margin: 16px 0;
	min-height: 200px;
}

#mycart .section_header,
#mycheckOut .section_header,
.mv2-main .section_header{
	border-bottom: 1px solid var(--mv2-borde);
	padding-bottom: 14px;
	margin-bottom: 18px;
}

#mycart .section_header_title,
#mycheckOut .section_header_title,
.mv2-main .section_header_title{
	font-size: 20px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0;
	letter-spacing: -0.01em;
}

#mycart .item-cart .box_img_item-minicart{ width: 80px; height: 80px; flex-basis: 80px; }
#mycart .ResumenCart{ background: var(--mv2-bg-soft); padding: 18px 20px; }

/* Loader animado (heredado de SIVO) */
#cargando{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
}

#cargando .lds-ellipsis{ display: inline-block; position: relative; width: 80px; height: 60px; }
#cargando .lds-ellipsis div{
	position: absolute;
	top: 24px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--mv2-azul);
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
#cargando .lds-ellipsis div:nth-child(1){ left: 8px; animation: mv2-lds1 .6s infinite; }
#cargando .lds-ellipsis div:nth-child(2){ left: 8px; animation: mv2-lds2 .6s infinite; }
#cargando .lds-ellipsis div:nth-child(3){ left: 32px; animation: mv2-lds2 .6s infinite; }
#cargando .lds-ellipsis div:nth-child(4){ left: 56px; animation: mv2-lds3 .6s infinite; }

@keyframes mv2-lds1 { 0%{ transform: scale(0);} 100%{ transform: scale(1);} }
@keyframes mv2-lds3 { 0%{ transform: scale(1);} 100%{ transform: scale(0);} }
@keyframes mv2-lds2 { 0%{ transform: translate(0,0);} 100%{ transform: translate(24px,0);} }

.form-group{display:flex;margin:15px 0;align-items:center}
.form-group label{float:left;width:28%;font-weight:bold;text-align:right;padding:10px 10px 0 0;font-size:11px}

.input-form-light{width: 100%;border: 1px solid #ccc;background:#fff;border-radius: 10px;box-sizing: border-box;margin: 5px 0;padding: 5px;position: relative}
.input-form-light span{font-size: 8pt;background: #fff;position: absolute;top: -8px;left: 10px;padding: 0 10px;border-radius:5px;font-weight: 600}
.input-form-light .form-control-light{display: block;background:none;width: 100%;height: 45px;box-sizing: border-box;border: none;padding: 10px 10px}
.input-form-light .form-control-light:focus{outline: none !important}
.input-form-light .form-control-light:disabled{background: #f8f8f8;color: #858585;border-radius:20px}
.input-form-light .form-control-light[readonly]{background: #fafafa;color: #858585}

.input-form-clear{width: 100%;border: none;background: #fff;border-radius: 5px;box-sizing: border-box}
.input-form-clear .form-control-clear{display: block;background:none;width: 100%;height: 45px;box-sizing: border-box;border: none;padding: 10px 10px}
.input-form-clear .form-control-clear:focus{outline: none !important}
.input-form-clear .form-control-clear:disabled{background: #f8f8f8;color: #858585;border-radius:20px}

.boton{width: 100%;margin: 40px 0 40px 0;text-align: right}
.btn{display: inline-block;background: #df2a1e;height: 35px;color: #fff;border-color: #444444;margin-bottom: 0;font-weight: 400;text-align: center;vertical-align: middle;margin: 5px;padding: 0 10px;cursor: pointer;background-image: none;border: 1px solid transparent;white-space: nowrap;font-size: 13px;line-height: 35px;border-radius: 4px;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;box-shadow: 3px 3px 3px #d8d8d8;}
.btn:hover{background-color:#3c3c3c;border-color:#4d4d4d;transform: scale(1.02);transition: 0.3s}
.btn a{color:#fff;display:block}
.btn a:hover{color:#eee}
.fullwidth{width:100%;margin: 5px 0;}

.msgCart {display: block;text-align: center;font-size: 11pt;font-weight: bold;background: #78a720;color: #fff;border-radius: 20px;padding: 5px 15px;width: fit-content;margin: 10px auto 20px;letter-spacing: 0.5px;}
.msgCart i{color:#fff}
.certificates {display: flex;gap: 1rem;align-items: center;justify-content: center;}
.certificates img{width:100%}

button.btnEliminarItem {margin: 0;padding: 5px 15px;background: none;border: none;color: #e53935;}
.sku{font-size:9pt}

/* LOADING */
#load_screen{position: fixed;width: 100%;height: 100%;top:0;left:0;background: #fdfdfd;z-index:10}
#loading{text-align: center;position: relative;top: 50%;margin-top:-220px}
#loading img.ico{background: #fff;border-radius: 50%;border: 2px solid #c0c0c0;margin-bottom: 20px}
#loading h1{font-weight:900;font-size:3.5em;color:#df2a1e;margin: 0 auto 10px auto}
#loading h3{margin: 0 auto 10px auto;color: #8a8a8a;text-transform: uppercase;letter-spacing: 1px}

/* TABLE */
.header_table {background: linear-gradient(#fff, #f9f9f9);background: -webkit-linear-gradient(#fff, #f9f9f9);background: -moz-linear-gradient(#fff, #f9f9f9);padding: 10px 20px;border: 1px solid #E0E0E0;border-top-left-radius: 10px;text-align: left;text-transform: uppercase;}
.header_table h3 {font-weight: bold;margin: 0;padding: 0;font-size: 10pt;letter-spacing: normal;}
table.info_preview.withoutTitle{border-radius: 15px;border: 1px solid #eee;}
table.info_preview {width: 100%;background: #fff;font-size:11px;border-bottom-right-radius: 10px;border-left: 1px solid #E0E0E0;border-bottom: 1px solid #E0E0E0;border-right: 1px solid #E0E0E0;margin-bottom: 40px;text-align: left;}
table.info_preview tr td {padding: 10px 10px;}
table.info_preview tr td.campo{font-weight: bold;}
table.info_preview img {width:100%;/*max-width: 300px*/;height: auto;padding:5px;box-sizing:border-box}

/* ============================================================
   NAV — sub-sub-categorías (helper `obtenerSubcategoriasECOMMERCEProductos()`)
   El helper imprime <ul class="subcategs"><li class="menuCateg">...
   con un 2do nivel anidado. Estilizar con flyout horizontal.
   ============================================================ */
.mv2-cat-sub{ padding: 6px 0 !important; }

.mv2-cat-sub .subcategs{
	list-style: none;
	margin: 0;
	padding: 0;
}

.mv2-cat-sub .subcategs > li{
	position: relative;
}

.mv2-cat-sub .subcategs > li > div{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-right: 12px;
}

.mv2-cat-sub .subcategs > li > div a{
	display: block;
	flex: 1 1 auto;
	padding: 8px 14px;
	color: var(--mv2-texto);
	font-size: 13px;
	transition: background var(--mv2-fast), color var(--mv2-fast);
}

.mv2-cat-sub .subcategs > li > div a:hover{
	background: var(--mv2-bg-soft);
	color: var(--mv2-azul);
}

.mv2-cat-sub .subcategs > li > div i{
	font-size: 10px;
	color: var(--mv2-texto-tenue);
}

/* 2do nivel: flyout horizontal a la derecha */
.mv2-cat-sub .subcategs .subcategs{
	display: none;
	position: absolute;
	left: 100%;
	top: 0;
	min-width: 220px;
	background: #FFFFFF;
	box-shadow: var(--mv2-sombra-pop);
	border-radius: 0 var(--mv2-radius) var(--mv2-radius) var(--mv2-radius);
	padding: 6px 0;
	z-index: 60;
}

.mv2-cat-sub .menuCateg:hover > .subcategs,
.mv2-cat-sub .subcategs > li:hover > .subcategs{
	display: block;
	animation: mv2-fadeIn 160ms var(--mv2-ease);
}

/* En mobile el flyout horizontal no aplica — colapsa a vertical */
@media (max-width: 820px){
	.mv2-cat-sub .subcategs .subcategs{
		position: static;
		box-shadow: none;
		padding-left: 14px;
		display: block;
		background: transparent;
	}
}

/* ============================================================
   NAV — Páginas dinámicas del usuario (lado derecho)
   ============================================================ */
.mv2-nav-inner{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 16px;
}

.mv2-nav-inner > .mv2-cat-list{ flex: 1 1 auto; min-width: 0; }

.mv2-pages-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 2px;
	flex: 0 0 auto;
	border-left: 1px solid var(--mv2-borde);
	padding-left: 14px;
}

.mv2-pages-list .mv2-pages-item{ position: relative; }

.mv2-pages-list .mv2-pages-link{
	display: inline-block;
	padding: 11px 14px;
	color: var(--mv2-texto);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color var(--mv2-fast), border-color var(--mv2-fast);
}

.mv2-pages-list .mv2-pages-link:hover{
	color: var(--mv2-azul);
	border-bottom-color: var(--mv2-azul);
}

.mv2-pages-more > .mv2-pages-link i{ margin-left: 4px; font-size: 10px; }

.mv2-pages-more-sub{
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	background: #FFFFFF;
	box-shadow: var(--mv2-sombra-pop);
	border-radius: 0 0 var(--mv2-radius) var(--mv2-radius);
	list-style: none;
	margin: 0;
	padding: 6px 0;
	min-width: 220px;
	z-index: 50;
}

.mv2-pages-more:hover .mv2-pages-more-sub{
	display: block;
	animation: mv2-fadeIn 160ms var(--mv2-ease);
}

.mv2-pages-more-sub a{
	display: block;
	padding: 9px 16px;
	font-size: 13px;
	color: var(--mv2-texto);
}

.mv2-pages-more-sub a:hover{ background: var(--mv2-bg-soft); color: var(--mv2-azul); }

@media (max-width: 820px){
	.mv2-nav-inner{ flex-direction: column; gap: 0; }
	.mv2-pages-list{ border-left: none; border-top: 1px solid var(--mv2-borde); padding-left: 0; padding-top: 4px; }
}

@media (max-width: 520px){
	#sidebarCart{ width: 100%; padding: 18px 16px; }
	.footer_sidebarCart{ margin: 12px -16px 0; padding: 12px 16px; }
	#mycart, #mycheckOut{ padding: 16px; }
}

/* ============================================================
   CATEGORÍA / BUSCADOR / OFERTAS — Fase 2
   Header de página, sidebar filtros, grid productos, paginación
   ============================================================ */

/* HEADER de página de listado */
.mv2-cat-header{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 18px;
	margin: 16px 0 20px;
	flex-wrap: wrap;
}

.mv2-cat-titulo{
	font-size: 24px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0 0 4px;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.mv2-cat-meta{
	font-size: 13px;
	color: var(--mv2-texto-suave);
	margin: 0;
}

.mv2-cat-orden{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--mv2-texto-suave);
}

.mv2-cat-orden select{
	font-family: inherit;
	font-size: 13px;
	padding: 8px 12px;
	border-radius: var(--mv2-radius);
	background: #FFFFFF;
	color: var(--mv2-texto);
	cursor: pointer;
	transition: border-color var(--mv2-fast);
}

.mv2-cat-orden select:hover{ border-color: var(--mv2-borde-hover); }
.mv2-cat-orden select:focus{ outline: none; border-color: var(--mv2-azul); box-shadow: 0 0 0 3px var(--mv2-azul-suave); }

/* HERO de ofertas */
.mv2-ofertas-hero{
	background: linear-gradient(135deg, var(--mv2-naranja) 0%, var(--mv2-rojo) 100%);
	color: #FFFFFF;
	border-radius: var(--mv2-radius-lg);
	padding: 28px 32px;
	margin: 16px 0 28px;
	display: flex;
	align-items: center;
	gap: 22px;
	box-shadow: var(--mv2-sombra-card);
}

.mv2-ofertas-hero-icon{
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255,255,255,.18);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
}

.mv2-ofertas-hero-titulo{ font-size: 24px; font-weight: 600; margin: 0 0 4px; letter-spacing: -0.02em; }
.mv2-ofertas-hero-desc{ font-size: 14px; margin: 0; opacity: .95; }

/* LAYOUT categoria: sidebar + grid */
.mv2-cat-layout{
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 24px;
	align-items: flex-start;
}

.mv2-cat-sidebar{ position: sticky; top: 92px; }

.mv2-cat-content{ min-width: 0; }

/* FILTROS sidebar */
.mv2-filtros{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 18px 18px 14px;
	box-shadow: var(--mv2-sombra-card);
}

.mv2-filtros-titulo{
	font-size: 14px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0 0 14px;
	letter-spacing: -0.01em;
	display: flex;
	align-items: center;
	gap: 6px;
}

.mv2-filtros-titulo::before{
	content: '';
	width: 3px;
	height: 14px;
	background: var(--mv2-azul);
	border-radius: 2px;
}

.mv2-filtro-grupo{ margin: 0 0 14px; }
.mv2-filtro-grupo:last-of-type{ margin-bottom: 6px; }

.mv2-filtro-label{
	font-size: 12px;
	font-weight: 600;
	color: var(--mv2-texto-suave);
	margin: 0 0 8px;
	text-transform: uppercase;
	letter-spacing: .4px;
}

.mv2-filtro-opciones{
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 260px;
	overflow-y: auto;
}

.mv2-filtro-opciones::-webkit-scrollbar{ width: 4px; }
.mv2-filtro-opciones::-webkit-scrollbar-thumb{ background: var(--mv2-borde-hover); border-radius: 2px; }

.mv2-filtro-opciones li{ margin: 0; }

.mv2-filtro-opcion{
	display: block;
	padding: 7px 10px;
	font-size: 13px;
	color: var(--mv2-texto-suave);
	border-radius: 6px;
	transition: background var(--mv2-fast), color var(--mv2-fast);
}

.mv2-filtro-opcion:hover{ background: var(--mv2-bg-soft); color: var(--mv2-texto); }
.mv2-filtro-opcion.is-active{ background: var(--mv2-azul-suave); color: var(--mv2-azul); font-weight: 600; }

.mv2-filtros-limpiar{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--mv2-rojo);
	margin-top: 6px;
	padding: 6px 10px;
	border-radius: 6px;
	transition: background var(--mv2-fast);
}

.mv2-filtros-limpiar:hover{ background: rgba(222,61,61,.08); color: var(--mv2-rojo); }

/* BUSCADOR inline (en header de buscador.php) */
.mv2-buscador-form{
	display: flex;
	background: #FFFFFF;
	border: 1px solid var(--mv2-borde);
	border-radius: var(--mv2-radius);
	overflow: hidden;
	box-shadow: var(--mv2-sombra-sm);
	min-width: 280px;
}

.mv2-buscador-form input{
	flex: 1 1 auto;
	border: none;
	background: transparent;
	padding: 10px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--mv2-texto);
	outline: none;
	min-width: 0;
}

.mv2-buscador-form button{
	background: var(--mv2-azul);
	color: #FFFFFF;
	border: none;
	padding: 0 18px;
	font-size: 14px;
	cursor: pointer;
	transition: background var(--mv2-fast);
}

.mv2-buscador-form button:hover{ background: var(--mv2-azul-hover); }

/* PAGINACIÓN */
.mv2-paginacion{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin: 32px 0 20px;
}

.mv2-pag-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border: 1px solid var(--mv2-borde);
	background: #FFFFFF;
	color: var(--mv2-texto);
	border-radius: var(--mv2-radius);
	font-size: 13px;
	font-weight: 500;
	transition: background var(--mv2-fast), border-color var(--mv2-fast), color var(--mv2-fast);
}

.mv2-pag-btn:hover{
	background: var(--mv2-azul-suave);
	border-color: var(--mv2-azul);
	color: var(--mv2-azul);
}

.mv2-pag-btn.is-active{
	background: var(--mv2-azul);
	border-color: var(--mv2-azul);
	color: #FFFFFF;
	font-weight: 600;
}

.mv2-pag-btn.is-disabled{
	opacity: .4;
	cursor: not-allowed;
	pointer-events: none;
}

.mv2-pag-ellip{
	color: var(--mv2-texto-tenue);
	padding: 0 4px;
	font-size: 14px;
}

/* RESPONSIVE listado */
@media (max-width: 1100px){
	.mv2-cat-layout{ grid-template-columns: 220px 1fr; gap: 18px; }
}

@media (max-width: 820px){
	.mv2-cat-layout{ grid-template-columns: 1fr; gap: 18px; }
	.mv2-cat-sidebar{ position: static; }
	.mv2-cat-header{ flex-direction: column; align-items: stretch; gap: 12px; }
	.mv2-cat-orden{ justify-content: flex-end; }
	.mv2-buscador-form{ min-width: 0; }
	.mv2-ofertas-hero{ padding: 22px; gap: 16px; }
	.mv2-ofertas-hero-titulo{ font-size: 20px; }
	.mv2-ofertas-hero-icon{ flex-basis: 52px; width: 52px; height: 52px; font-size: 22px; }
	.mv2-cat-titulo{ font-size: 20px; }
}

@media (max-width: 520px){
	.mv2-pag-btn{ min-width: 34px; height: 34px; padding: 0 10px; font-size: 12px; }
	.mv2-ofertas-hero{ flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   FASE 3 — Auxiliares: 404, tos, contacto, seguimiento,
   registro, reset_pass, wishlist
   ============================================================ */

/* 404 */
.mv2-404{
	text-align: center;
	padding: 60px 20px;
	max-width: 560px;
	margin: 0 auto;
}

.mv2-404 img{ max-width: 220px; margin: 0 auto 22px; opacity: .9; }
.mv2-404 h1{ font-size: 28px; font-weight: 600; color: var(--mv2-texto); margin: 0 0 10px; letter-spacing: -0.02em; }
.mv2-404 p{ color: var(--mv2-texto-suave); margin: 0 0 22px; font-size: 15px; }

.mv2-404-actions{
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* TOS */
.mv2-tos .descripcion-body h4{
	font-size: 16px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 26px 0 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--mv2-borde);
	letter-spacing: -0.01em;
}

.mv2-tos .descripcion-body h4:first-child{ margin-top: 0; }
.mv2-tos .descripcion-body p{ margin: 0 0 10px; }
.mv2-tos .descripcion-body code{
	background: var(--mv2-bg-soft);
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 12px;
	font-family: ui-monospace, SFMono-Regular, monospace;
	color: var(--mv2-azul);
}

/* CONTACTO */
.mv2-contacto-layout{
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 24px;
}

.mv2-contacto-info{ display: flex; flex-direction: column; gap: 16px; }

.mv2-contacto-card{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 22px 22px 18px;
	box-shadow: var(--mv2-sombra-card);
}

.mv2-contacto-card-titulo{
	font-size: 15px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0 0 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.mv2-contacto-card-titulo i{ color: var(--mv2-azul); }

.mv2-contacto-card > p{ color: var(--mv2-texto-suave); margin: 0 0 14px; font-size: 13px; }

.mv2-contacto-list{
	list-style: none;
	margin: 0;
	padding: 0;
}

.mv2-contacto-list li{
	display: flex;
	gap: 12px;
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--mv2-texto-suave);
}

.mv2-contacto-list li:last-child{ margin-bottom: 0; }
.mv2-contacto-list li i{ color: var(--mv2-azul); margin-top: 3px; width: 16px; text-align: center; flex: 0 0 16px; }
.mv2-contacto-list li b{ color: var(--mv2-texto); font-weight: 600; }
.mv2-contacto-list li a{ color: var(--mv2-azul); }
.mv2-contacto-list li small{ color: var(--mv2-texto-tenue); font-size: 11px; }

.mv2-contacto-list-tight li{ font-size: 12px; margin-bottom: 10px; }

.mv2-contacto-form{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 28px;
	box-shadow: var(--mv2-sombra-card);
}

/* FORMULARIOS modernos (.mv2-form) */
.mv2-form{ display: flex; flex-direction: column; gap: 16px; }

.mv2-form-row{ display: flex; flex-direction: column; gap: 16px; }
.mv2-form-row-2{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.mv2-form-field{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mv2-form-label{
	font-size: 12px;
	font-weight: 600;
	color: var(--mv2-texto-suave);
	letter-spacing: .2px;
	display: flex;
	align-items: center;
	gap: 4px;
}

.mv2-form-label em{ color: var(--mv2-rojo); font-style: normal; font-weight: 700; }
.mv2-form-label small{ color: var(--mv2-texto-tenue); font-weight: 400; }

.mv2-form-field input,
.mv2-form-field select,
.mv2-form-field textarea{
	width: 100%;
	padding: 11px 13px;
	font-size: 14px;
	font-family: inherit;
	color: var(--mv2-texto);
	background: #FFFFFF;
	border: 1px solid var(--mv2-borde);
	border-radius: var(--mv2-radius);
	transition: border-color var(--mv2-fast), box-shadow var(--mv2-fast);
	outline: none;
	box-sizing: border-box;
}

.mv2-form-field textarea{ resize: vertical; min-height: 120px; line-height: 1.5; }
.mv2-form-field input::placeholder, .mv2-form-field textarea::placeholder{ color: var(--mv2-texto-tenue); }

.mv2-form-field input:hover,
.mv2-form-field select:hover,
.mv2-form-field textarea:hover{ border-color: var(--mv2-borde-hover); }

.mv2-form-field input:focus,
.mv2-form-field select:focus,
.mv2-form-field textarea:focus{
	border-color: var(--mv2-azul);
	box-shadow: 0 0 0 3px var(--mv2-azul-suave);
}

.mv2-form-actions{
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 6px;
}

/* OVERRIDES legacy form-control-light/input-form-light (registro/reset_pass) */
.mv2-main .input-form-light,
.mv2-auth-card .input-form-light{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
}

.mv2-main .input-form-light > span,
.mv2-auth-card .input-form-light > span{
	font-size: 12px;
	font-weight: 600;
	color: var(--mv2-texto-suave);
	letter-spacing: .2px;
}

.mv2-main .form-control-light,
.mv2-auth-card .form-control-light{
	width: 100%;
	padding: 11px 13px;
	font-size: 14px;
	font-family: inherit;
	color: var(--mv2-texto);
	background: #FFFFFF;
	border-radius: var(--mv2-radius);
	transition: border-color var(--mv2-fast), box-shadow var(--mv2-fast);
	outline: none;
	box-sizing: border-box;
}

.mv2-main .form-control-light:focus,
.mv2-auth-card .form-control-light:focus{
	border-color: var(--mv2-azul);
	box-shadow: 0 0 0 3px var(--mv2-azul-suave);
}

.mv2-main .boton .btn,
.mv2-auth-card .boton .btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	font-size: 14px;
	font-weight: 600;
	background: var(--mv2-azul);
	color: #FFFFFF;
	border: 1.5px solid var(--mv2-azul);
	border-radius: var(--mv2-radius);
	cursor: pointer;
	transition: background var(--mv2-fast), transform var(--mv2-fast), box-shadow var(--mv2-fast);
	font-family: inherit;
	box-shadow: 0 2px 4px rgba(52,131,250,.18);
}

.mv2-main .boton .btn:hover,
.mv2-auth-card .boton .btn:hover{
	background: var(--mv2-azul-hover);
	border-color: var(--mv2-azul-hover);
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(52,131,250,.30);
}

.mv2-main .boton .btn:disabled,
.mv2-auth-card .boton .btn:disabled{
	opacity: .6;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* AUTH CARD — wrapper para registro/reset_pass */
.mv2-auth-card{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 32px;
	box-shadow: var(--mv2-sombra-card);
	margin-bottom: 24px;
}

.mv2-auth-card-narrow{ max-width: 480px; margin-left: auto; margin-right: auto; }

.mv2-auth-card .seccion_inline_block.col50{
	display: inline-block;
	width: 49%;
	vertical-align: top;
	box-sizing: border-box;
	padding: 0 8px;
}

@media (max-width: 820px){
	.mv2-auth-card{ padding: 22px; }
	.mv2-auth-card .seccion_inline_block.col50{ width: 100%; padding: 0; display: block; }
}

/* SECCION_HEADER dentro de auth-card */
.mv2-auth-card .section_header{
	border-bottom: 1px solid var(--mv2-borde);
	padding-bottom: 10px;
	margin: 14px 0 16px;
}
.mv2-auth-card .section_header_title{
	font-size: 16px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0;
}
.mv2-auth-card .section_header hr{ display: none; }

/* SEGUIMIENTO */
.mv2-seguimiento{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 28px;
	box-shadow: var(--mv2-sombra-card);
	margin-bottom: 24px;
}

/* SUCCESS state (registro completado, password actualizado, errores) */
.mv2-success{
	background: var(--mv2-bg-card);
	border-radius: var(--mv2-radius-lg);
	padding: 40px 32px;
	box-shadow: var(--mv2-sombra-card);
	text-align: center;
	max-width: 560px;
	margin: 24px auto;
}

.mv2-success-icon{
	width: 72px;
	height: 72px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: rgba(0,166,80,.10);
	color: var(--mv2-verde);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
}

.mv2-success-error .mv2-success-icon{ background: rgba(222,61,61,.10); color: var(--mv2-rojo); }

.mv2-success h1{
	font-size: 24px;
	font-weight: 600;
	color: var(--mv2-texto);
	margin: 0 0 10px;
	letter-spacing: -0.02em;
}

.mv2-success > p{ color: var(--mv2-texto-suave); margin: 0 0 18px; font-size: 14px; line-height: 1.5; }
.mv2-success > p strong{ color: var(--mv2-texto); }

.mv2-success-info{
	background: var(--mv2-bg-soft);
	border-radius: var(--mv2-radius);
	padding: 12px 16px;
	margin: 0 0 16px;
	font-size: 13px;
	color: var(--mv2-texto-suave);
}

.mv2-success-info p{ margin: 0; }

.mv2-success-actions{
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 18px;
}

.mv2-success-fine{
	margin-top: 18px;
	font-size: 11px;
	color: var(--mv2-texto-tenue);
	font-style: italic;
}

/* guide-alert-danger fallback styling (si el global no aplica bien) */
.mv2-auth-card .guide-alert-danger,
.mv2-main .guide-alert-danger{
	background: rgba(222,61,61,.08);
	color: var(--mv2-rojo);
	border-left: 3px solid var(--mv2-rojo);
	padding: 10px 14px;
	border-radius: var(--mv2-radius);
	font-size: 13px;
	margin: 0 0 16px;
}

/* RESPONSIVE Fase 3 */
@media (max-width: 820px){
	.mv2-contacto-layout{ grid-template-columns: 1fr; gap: 16px; }
	.mv2-contacto-form{ padding: 20px; }
	.mv2-success{ padding: 32px 20px; }
	.mv2-success-icon{ width: 60px; height: 60px; font-size: 30px; }
	.mv2-form-row-2{ grid-template-columns: 1fr; }
	.mv2-404{ padding: 40px 16px; }
	.mv2-404 img{ max-width: 160px; }
	.mv2-404 h1{ font-size: 22px; }
}

#cookie-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: #fbfbfb;
    padding: 10px;
    font-size: 10pt;
}

/* =========================================================
   BLOQUE DE COMPRA ESTÁNDAR (.sivo-*) — ficha de producto
   ========================================================= */
body.mv2-body .mv2-buy{ display:block; margin:16px 0 18px; }
body.mv2-body .mv2-buy .sivo-variations{ display:flex; flex-direction:column; gap:12px; margin:0 0 16px; }
body.mv2-body .mv2-buy .sivo-variation{ position:relative; border:1px solid var(--mv2-borde,#e6e6e6); border-radius:8px; background:#fff; }
body.mv2-body .mv2-buy .sivo-variation__label{ position:absolute; top:-8px; left:12px; background:#fff; padding:0 8px; font-size:10px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--mv2-texto-suave,#888); border-radius:4px; }
body.mv2-body .mv2-buy .sivo-variation:focus-within{ border-color:var(--mv2-azul,#3483FA); }
body.mv2-body .mv2-buy .sivo-variation__select{ display:block; width:100%; height:46px; box-sizing:border-box; border:0; background:none; padding:12px 14px; font-size:14px; font-family:inherit; color:var(--mv2-texto,#333); border-radius:8px; cursor:pointer; }
body.mv2-body .mv2-buy .sivo-variation__select:focus{ outline:none; }
body.mv2-body .mv2-buy .sivo-pricebox{ margin:0 0 4px; }
body.mv2-body .mv2-buy .sivo-price{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:0 0 12px; }
body.mv2-body .mv2-buy .sivo-price__off{ order:1; background:#e8f6ec; color:#00a650; font-weight:700; font-size:13px; padding:3px 10px; border-radius:999px; }
body.mv2-body .mv2-buy .sivo-price__from{ order:2; font-size:13px; color:var(--mv2-texto-suave,#888); }
body.mv2-body .mv2-buy .sivo-price__now{ order:3; font-size:32px; font-weight:600; color:var(--mv2-texto,#333); line-height:1.1; }
body.mv2-body .mv2-buy .sivo-price__was{ order:4; font-size:15px; color:var(--mv2-texto-suave,#888); text-decoration:line-through; font-weight:400; }
body.mv2-body .mv2-buy .sivo-price__iva{ order:5; flex-basis:100%; font-size:11px; color:var(--mv2-texto-suave,#888); }
body.mv2-body .mv2-buy .sivo-price__pack{ order:6; flex-basis:100%; font-size:12px; color:var(--mv2-texto-suave,#888); font-weight:600; }
body.mv2-body .mv2-buy .sivo-price__msg,body.mv2-body .mv2-buy .sivo-price__login{ font-size:13px; color:var(--mv2-texto-suave,#888); }
body.mv2-body .mv2-buy .sivo-points{ display:inline-flex; align-items:center; gap:6px; background:var(--mv2-bg-soft,#f5f6fa); color:#00a650; font-weight:700; border-radius:999px; padding:6px 12px; margin:0 0 12px; font-size:13px; }
body.mv2-body .mv2-buy .sivo-cart{ display:flex; align-items:stretch; gap:12px; flex-wrap:wrap; }
body.mv2-body .mv2-buy .sivo-qty{ display:inline-flex; align-items:center; border:1px solid var(--mv2-borde,#e6e6e6); border-radius:8px; background:#fff; overflow:hidden; height:48px; }
body.mv2-body .mv2-buy .sivo-qty__btn{ width:44px; height:46px; border:0; background:none; font-size:20px; color:var(--mv2-azul,#3483FA); cursor:pointer; line-height:1; }
body.mv2-body .mv2-buy .sivo-qty__btn:hover{ background:var(--mv2-azul-suave,rgba(52,131,250,.08)); }
body.mv2-body .mv2-buy .sivo-qty__num{ min-width:46px; text-align:center; font-size:16px; font-weight:600; padding:0 6px; outline:none; }
body.mv2-body .mv2-buy .sivo-addcart{ flex:1; min-width:210px; display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; background:var(--mv2-azul,#3483FA); color:#fff; border:0; border-radius:8px; font-weight:600; font-size:15px; cursor:pointer; transition:background .2s; }
body.mv2-body .mv2-buy .sivo-addcart:hover{ background:var(--mv2-azul-hover,#2968C8); }
body.mv2-body .mv2-buy .sivo-addcart i{ font-size:16px; }
body.mv2-body .mv2-buy .sivo-loading{ padding:20px 0; text-align:center; }

/* ============================================================
   MI CUENTA (core index-store.php) + TRACKING-DESPACHO + CLUB
   ============================================================ */
/* CLUB (nuestro-club) */
.mv2-club-hero{ margin:0 0 24px; }
.mv2-club-hero img{ width:100%; height:auto; display:block; border-radius:var(--mv2-radius-lg); box-shadow:var(--mv2-sombra-card); }
.mv2-club-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; align-items:start; }
.mv2-club-full{ grid-column:1 / -1; }
.mv2-club-logo{ max-height:60px; width:auto; display:block; margin:0 0 12px; }
.mv2-club-conversion{ display:inline-block; font-size:26px; font-weight:700; color:var(--mv2-verde); border:1px dashed var(--mv2-verde); border-radius:var(--mv2-radius); padding:14px 22px; margin:0 0 14px; }
.mv2-club-conversion small{ font-size:12px; }
.mv2-club-list{ margin:0 0 12px; padding-left:18px; color:var(--mv2-texto-suave); font-size:13px; line-height:1.6; }
.mv2-club-list li{ margin-bottom:8px; }
.mv2-club-img{ width:100%; max-width:420px; height:auto; display:block; border-radius:var(--mv2-radius); margin:0 0 12px; }
.mv2-club-cols{ display:grid; grid-template-columns:1.4fr 1fr; gap:24px; align-items:center; }
.mv2-club-cols p{ color:var(--mv2-texto-suave); font-size:13px; margin:0 0 12px; }

/* TRACKING-DESPACHO */
.mv2-tracking-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; margin-bottom:24px; }
.mv2-tracking-form{ max-width:520px; margin-left:auto; margin-right:auto; }
.mv2-tracking-estado{ width:100%; height:auto; display:block; border-radius:var(--mv2-radius); margin:0 0 14px; }
.mv2-main form.form_seguimiento{ display:flex; flex-direction:column; gap:6px; }
.mv2-main .msg_error{ color:var(--mv2-rojo); font-size:13px; display:block; margin:4px 0 8px; }
.mv2-main .mv2-td-label{ width:15em; }

/* Tablas legacy dentro de mv2 (tracking + mi-cuenta) — overrides del bloque global */
.mv2-main .box_informacion_preview{ width:100%; max-width:none; margin:0 auto; position:relative; }
.mv2-main .wrapper_table{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.mv2-main .header_table{ background:var(--mv2-bg-soft); padding:10px 16px; border:1px solid var(--mv2-borde); border-radius:var(--mv2-radius) var(--mv2-radius) 0 0; text-align:left; text-transform:uppercase; }
.mv2-main .header_table h3{ font-weight:600; margin:0; padding:0; font-size:12px; letter-spacing:.4px; color:var(--mv2-texto); }
.mv2-main table.info_preview{ width:100%; background:#fff; font-size:12px; border-left:1px solid var(--mv2-borde); border-right:1px solid var(--mv2-borde); border-bottom:1px solid var(--mv2-borde); border-radius:0 0 var(--mv2-radius) var(--mv2-radius); margin-bottom:24px; text-align:left; }
.mv2-main table.info_preview.withoutTitle{ border:1px solid var(--mv2-borde); border-radius:var(--mv2-radius); }
.mv2-main table.info_preview tr td{ padding:10px; }
.mv2-main table.info_preview tr td.campo{ font-weight:600; }
.mv2-main table.info_preview img{ width:100%; height:auto; padding:5px; box-sizing:border-box; }

/* Dashboard MI CUENTA (markup core index-store.php) */
.mv2-main .dashed_line{ border-bottom:1px dashed var(--mv2-borde); }
.mv2-main .dashed_line i{ background:var(--mv2-texto); padding:2px; width:22px; height:22px; border-radius:100%; color:#fff; font-size:12px; text-align:center; line-height:22px; margin-right:6px; }
.mv2-main .solid_white_line{ border-bottom:2px solid #fff; }
/* Boxes informativos: diseño en Web Global/css/style-general.css; aquí solo el color del tema. */
.mv2-main div.box,.mv2-main .box_info_sidebar{ border-radius:var(--mv2-radius-lg); box-shadow:var(--mv2-sombra-card); }
.mv2-main div.box.color1,.mv2-main .box_info_sidebar.color1{ --c:var(--mv2-naranja); --c2:#E5661F; --c-rgb:255,119,51; }
.mv2-main div.box.color2,.mv2-main .box_info_sidebar.color2{ --c:var(--mv2-azul); --c2:var(--mv2-azul-hover); --c-rgb:52,131,250; }
.mv2-main div.box.color3,.mv2-main .box_info_sidebar.color3{ --c:var(--mv2-verde); --c2:#008A43; --c-rgb:0,166,80; }
.mv2-main div.box.color4,.mv2-main .box_info_sidebar.color4{ --c:var(--mv2-rojo); --c2:#C22F2F; --c-rgb:222,61,61; }
.mv2-main div.box.color5,.mv2-main .box_info_sidebar.color5{ --c:#1A1A1A; --c2:#333333; --c-rgb:26,26,26; }
.mv2-main .ico_color1{ background-color:#E5661F; }
.mv2-main .ico_color2{ background-color:var(--mv2-azul-hover); }
.mv2-main .ico_color3{ background-color:#008A43; }
.mv2-main .ico_color4{ background-color:#C22F2F; }
.mv2-main .ico_color5{ background-color:#333333; }
.mv2-main .color6{ background-color:#327404; }
.mv2-main .ico_color6{ background-color:#408600; }
.mv2-main .color7{ background-color:#998956; }
.mv2-main .ico_color7{ background-color:#B6A46B; }
.mv2-main table.datos_usuario{ background:var(--mv2-bg-soft); width:100%; border-radius:var(--mv2-radius); margin-bottom:10px; }
.mv2-main table.datos_usuario tr td{ vertical-align:middle; padding:5px 10px; }
.mv2-main td.campo{ background:#fff; font-size:12px; border-bottom:1px solid var(--mv2-borde); }
.mv2-main td.dato_usuario{ color:var(--mv2-texto-suave); }
.mv2-main i.dato_warning{ color:var(--mv2-rojo); margin:0 3px; }
.mv2-main .foto_usuario{ padding:0 !important; }
.mv2-main .foto_usuario img{ border-radius:100%; width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; border:2px solid var(--mv2-borde); padding:0; }
.mv2-main .encargado-ico{ width:25px; height:25px; cursor:pointer; border-radius:50%; display:inline-block; vertical-align:middle; text-align:center; line-height:15px; border:1px solid var(--mv2-borde); margin-right:5px; padding:0; }
.mv2-main .encargado-ico img{ margin:0; padding:0; }
.mv2-main #login_seccion{ max-width:450px; width:100%; margin:0 auto 24px; padding:32px 24px; background:var(--mv2-bg-card); border-radius:var(--mv2-radius-lg); box-shadow:var(--mv2-sombra-card); }
.mv2-main .verde{ color:var(--mv2-verde); }
.mv2-main .rojo{ color:var(--mv2-rojo); }
.mv2-main .amarillo{ color:var(--mv2-naranja); }
.mv2-main span.amarillo,.mv2-main span.rojo,.mv2-main span.verde{ padding:2px 10px; border-radius:5px; margin-right:5px; display:block; }
.mv2-main span.amarillo{ background:#fcedc3; color:#9c7d11; border:1px solid #9c7d11; }
.mv2-main span.rojo{ background:#ffd1d1; color:#8f2828; border:1px solid #8f2828; }
.mv2-main span.verde{ background:#d3ead9; color:#0e600b; border:1px solid #0e600b; }
.mv2-main span.pagado,.mv2-main span.pendiente_pago,.mv2-main span.pedido_retrasado{ display:inline-block; padding:5px 10px; border-radius:var(--mv2-radius); color:#fff; font-size:12px; font-weight:600; }
.mv2-main span.pagado{ background:var(--mv2-verde); }
.mv2-main span.pendiente_pago,.mv2-main span.pedido_retrasado{ background:var(--mv2-rojo); }
.mv2-main .progress_bar{ width:100%; background:var(--mv2-borde); border-radius:16px; }
.mv2-main .progress_actual{ background:var(--mv2-verde); color:#fff; border-radius:16px; padding:.01em 16px; }
.mv2-main .activa_mini-resumen{ position:relative; cursor:help; }
.mv2-main .mini-resumen{ position:absolute; left:0; top:100%; width:225px; background:var(--mv2-texto); color:#fff; border-radius:var(--mv2-radius); padding:12px; text-align:left; z-index:99; box-shadow:var(--mv2-sombra-pop); }
.mv2-main .activa_mini-resumen:hover .mini-resumen{ display:block !important; }
.mv2-main .mini-resumen .dashed_line{ border-bottom-color:rgba(255,255,255,.25); }
.mv2-main #sin_datos{ text-align:center; padding:40px 20px; color:var(--mv2-texto-suave); }
.mv2-main .sin_resultados{ display:block; margin-top:10px; color:var(--mv2-texto-tenue); }

/* SEGUIMIENTO de pedido: el bloque .seg-v2 vive en style-general.css, el tema solo aporta el acento */
.mv2-main .seg-v2{ --seg-accent:var(--mv2-azul); }

.mv2-main .box_ministeps{ display:inline-flex; width:100%; text-align:center; margin:20px 0 40px; padding:15px 0 40px; border-bottom:2px solid var(--mv2-borde); }
.mv2-main .item_ministeps{ width:100%; margin:0 auto; font-weight:700; }
.mv2-main .linestep{ border:1px solid var(--mv2-borde); width:40.9%; display:inline-block; }
.mv2-main .ministep{ display:inline-block; width:40px; height:40px; line-height:36px; background:#fff; border:2px solid var(--mv2-borde); border-radius:100%; }
.mv2-main .text_ministep{ font-size:11pt; }
.mv2-main .item_ministeps.active{ color:var(--mv2-verde); }
.mv2-main .item_ministeps.active .linestep{ border-color:var(--mv2-verde); }
.mv2-main .item_ministeps.active .ministep{ border-color:var(--mv2-verde); }
.mv2-main table.seguimiento-info{ width:100%; margin:20px auto 40px; }
.mv2-main table.seguimiento-info tr td{ text-align:center; padding:0 0 20px; vertical-align:top; background:#fff; }
.mv2-main td.border-left{ border-left:1px solid var(--mv2-borde); }
.mv2-main td.border-right{ border-right:1px solid var(--mv2-borde); }
.mv2-main td.border-bottom{ border-bottom:1px solid var(--mv2-borde); }
.mv2-main h3.num_orden{ color:var(--mv2-verde); margin:2px 0; font-size:16px; }
.mv2-main p.txt_num_orden{ margin:0 0 20px; color:var(--mv2-texto-suave); background:#fff; padding:2px 5px; text-align:center; }
.mv2-main .TotalCart{ width:100%; max-width:500px; font-size:12pt; text-align:right; margin:20px 10px 20px auto; color:var(--mv2-texto); font-weight:700; }
.mv2-main .TotalCart div{ display:flex; width:100%; flex-direction:row; justify-content:flex-end; line-height:30px; }
.mv2-main .TotalCart div:first-child{ font-size:9pt; text-transform:uppercase; }
.mv2-main .TotalCart div div:first-child{ color:var(--mv2-texto-tenue); }
.mv2-main .valorCart{ width:50%; font-size:13pt; border-bottom:1px solid var(--mv2-borde); padding:5px; }
.mv2-main .mini-foto-prod{ position:relative; text-align:center; max-width:120px; }
.mv2-main .mini-foto-prod img{ border-radius:var(--mv2-radius); }
.mv2-main .info-pedido{ padding:20px 0; border-bottom:1px dashed var(--mv2-borde); }
.mv2-main .info-pedido:last-child{ border-bottom:none; padding-bottom:0; }
.mv2-main .info-pedido p.txt_num_orden{ margin:0 0 10px; }
.mv2-main .item-list_pedido{ text-align:left; width:100%; display:flex; justify-content:space-between; }
.mv2-main .item-list_pedido div{ padding:0 10px; vertical-align:top; }
.mv2-main .item-list_pedido ul{ padding:0; font-size:8pt; list-style:none; }
.mv2-main .item-list_pedido ul li{ background:var(--mv2-bg-soft); padding:5px 8px; border-radius:var(--mv2-radius); border:1px solid var(--mv2-borde); font-weight:600; margin-bottom:5px; }
.mv2-main .item-list_pedido .item-mid_pedido{ display:flex; flex-grow:1; width:40%; }
.mv2-main .item-list_pedido .item-mid_pedido div:first-child{ width:40%; }
.mv2-main .item-list_pedido .item-mid_pedido div:nth-child(2){ width:60%; }
.mv2-main .item-list_pedido .item-final_pedido{ display:flex; }
.mv2-main .boxes-precios-item-list_pedido{ display:inline-flex; }
.mv2-main .precio-item-list_pedido{ color:var(--mv2-verde); }
.mv2-main span.title_item-list_pedido{ display:block; font-size:7pt; color:var(--mv2-texto-tenue); font-weight:700; text-transform:uppercase; letter-spacing:3px; margin-bottom:5px; }
.mv2-main .form_estado_pedidos{ width:100%; padding:2%; border:1px solid var(--mv2-borde); border-radius:var(--mv2-radius); background:#fff; }
.mv2-main .img_mini_estado{ margin-bottom:20px; text-align:center; }
.mv2-main .img_mini_estado img{ max-width:100%; height:auto; }

/* RESPONSIVE mi-cuenta / tracking / club */
@media (max-width: 900px){
	.mv2-main #content_box_info{ grid-template-columns:repeat(3,1fr); }
	.mv2-tracking-grid{ grid-template-columns:1fr; }
	.mv2-club-grid{ grid-template-columns:1fr; }
	.mv2-club-cols{ grid-template-columns:1fr; }
}
@media (max-width: 620px){
	.mv2-main #content_box_info{ grid-template-columns:repeat(2,1fr); }
	.mv2-main .mini-resumen{ width:180px; }
	.mv2-main h3.num_orden{ font-size:13px; }
}
/* Ojito ver contraseña: en mv2 el label va en el flujo (flex column), así que el
   50% del wrapper no coincide con el centro del input. Se ancla al input (45px). */
.mv2-main .input-form-light .btn_ver_pass,
.mv2-auth-card .input-form-light .btn_ver_pass{top:auto;bottom:5px;height:45px;transform:none;display:flex;align-items:center}
