/* MercadoVentas · Trust + Energy · v2.0.0
   Fuente de verdad: 02_sistema_marca/tokens.json + módulos src/ no generados. Compilar con node herramientas/compilar.mjs.
   Todo se limita a .mv-sitio. No cargar en MercadoGestión. Sin @import ni fuentes remotas.
   Los estilos legados sin capa tienen prioridad sobre reglas normales dentro de @layer:
   auditar, migrar o retirar selectivamente el legado; no resolverlo con !important. */
@layer mv.tokens, mv.base, mv.tipografia, mv.estructura, mv.controles,
       mv.formularios, mv.comercio, mv.estados, mv.utilidades, mv.accesibilidad;

/* Generado desde 02_sistema_marca/tokens.json; no editar a mano. */
@layer mv.tokens {
  .mv-sitio {
    --mv-marino: #071B52;
    --mv-azul: #0A2E8A;
    --mv-ambar: #FF8A00;
    --mv-celeste: #00A3FF;
    --mv-hielo: #EAF4FF;
    --mv-gris: #64748B;
    --mv-blanco: #FFFFFF;
    --mv-fondo: #F8FAFF;
    --mv-superficie: #FFFFFF;
    --mv-texto: #11284D;
    --mv-texto-secundario: #4D607C;
    --mv-texto-inverso: #FFFFFF;
    --mv-linea: #D4DFEF;
    --mv-borde-control: #8091AB;
    --mv-accion: #FF8A00;
    --mv-accion-texto: #071B52;
    --mv-accion-resaltada: #FFB533;
    --mv-accion-resaltada-texto: #071B52;
    --mv-explorar: #0A2E8A;
    --mv-explorar-resaltado: #062267;
    --mv-enlace: #0A2E8A;
    --mv-enlace-inverso: #8CD5FF;
    --mv-exito: #13724B;
    --mv-exito-fondo: #E8F6EF;
    --mv-error: #B42318;
    --mv-error-fondo: #FFF0ED;
    --mv-advertencia: #844100;
    --mv-advertencia-fondo: #FFF2E5;
    --mv-informacion: #062267;
    --mv-informacion-fondo: #EAF4FF;
    --mv-foco: #0A2E8A;
    --mv-fuente: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --mv-fuente-titulos: Montserrat, Inter, system-ui, sans-serif;
    --mv-texto-xs: .75rem;
    --mv-texto-sm: .875rem;
    --mv-texto-md: 1rem;
    --mv-texto-lg: 1.125rem;
    --mv-texto-xl: 1.5rem;
    --mv-texto-2xl: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem);
    --mv-texto-portada: clamp(2.25rem, 1.7rem + 2.8vw, 4.75rem);
    --mv-espacio-1: .25rem;
    --mv-espacio-2: .5rem;
    --mv-espacio-3: .75rem;
    --mv-espacio-4: 1rem;
    --mv-espacio-5: 1.25rem;
    --mv-espacio-6: 1.5rem;
    --mv-espacio-8: 2rem;
    --mv-espacio-10: 2.5rem;
    --mv-espacio-12: 3rem;
    --mv-espacio-16: 4rem;
    --mv-radio-sm: .5rem;
    --mv-radio-md: .875rem;
    --mv-radio-lg: 1.25rem;
    --mv-radio-xl: 1.75rem;
    --mv-radio-pildora: 999px;
    --mv-sombra-sm: 0 2px 6px rgb(7 27 82 / .06);
    --mv-sombra-md: 0 12px 32px rgb(7 27 82 / .09);
    --mv-sombra-lg: 0 24px 64px rgb(7 27 82 / .16);
    --mv-ancho: 80rem;
    --mv-transicion: 160ms;
    --mv-z-cabecera: 20;
    --mv-z-flotante: 30;
    --mv-z-aviso: 40;
    --mv-cobalto: #0A2E8A;
    --mv-accion-borde: #9A4E00;
    color-scheme: light;
  }
  .mv-sitio[data-mv-tema="oscuro"] {
    --mv-fondo: #06122F;
    --mv-superficie: #102347;
    --mv-texto: #F8FAFF;
    --mv-texto-secundario: #BACAE1;
    --mv-linea: #3D5275;
    --mv-borde-control: #879AB8;
    --mv-enlace: #8CD5FF;
    --mv-hielo: #152D56;
    color-scheme: dark;
  }
}

@layer mv.base {
  .mv-sitio, .mv-sitio *, .mv-sitio *::before, .mv-sitio *::after { box-sizing: border-box; }
  .mv-sitio { margin: 0; min-block-size: 100dvh; background: var(--mv-fondo); color: var(--mv-texto); font: 400 var(--mv-texto-md)/1.55 var(--mv-fuente); -webkit-text-size-adjust: 100%; }
  .mv-sitio :where(h1,h2,h3,h4,p,figure,blockquote,dl,dd) { margin: 0; }
  .mv-sitio :where(img,video,svg) { max-inline-size: 100%; }
  .mv-sitio img { display: block; block-size: auto; }
  .mv-sitio :where(button,input,select,textarea) { font: inherit; }
  .mv-sitio button { cursor: pointer; }
  .mv-sitio :where(button:disabled,input:disabled,select:disabled,textarea:disabled) { cursor: not-allowed; }
  .mv-sitio :where(a) { color: var(--mv-enlace); text-underline-offset: .2em; }
  .mv-sitio :where(a:hover) { text-decoration-thickness: 2px; }
  .mv-sitio :where(ul,ol) { padding-inline-start: 1.5em; }
  .mv-sitio :where(code,pre) { font-family: ui-monospace, Consolas, monospace; }
  .mv-sitio :where(pre) { overflow: auto; padding: 1rem; background: var(--mv-hielo); border-radius: var(--mv-radio-sm); }
  .mv-sitio :where(button, a, input, select, textarea, summary) { -webkit-tap-highlight-color: transparent; }
}

@layer mv.tipografia {
  .mv-sitio :where(h1,h2,h3,h4,.mv-titulo) { font-family: var(--mv-fuente-titulos); letter-spacing: -.035em; line-height: 1.15; font-weight: 750; text-wrap: balance; overflow-wrap: anywhere; }
  .mv-sitio h1, .mv-sitio .mv-titulo-portada { font-size: var(--mv-texto-portada); }
  .mv-sitio h2, .mv-sitio .mv-titulo-seccion { font-size: var(--mv-texto-2xl); }
  .mv-sitio h3 { font-size: var(--mv-texto-xl); }
  .mv-sitio .mv-bajada { font-size: clamp(1.0625rem, .98rem + .35vw, 1.3rem); color: var(--mv-texto-secundario); max-inline-size: 60ch; }
  .mv-sitio .mv-antetitulo { font-size: var(--mv-texto-sm); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: var(--mv-enlace); }
  .mv-sitio .mv-texto-pequeno { font-size: var(--mv-texto-sm); }
  .mv-sitio .mv-texto-secundario { color: var(--mv-texto-secundario); }
  .mv-sitio .mv-numeros { font-variant-numeric: tabular-nums; }
}

@layer mv.estructura {
  .mv-sitio .mv-contenedor { inline-size: min(100% - 2rem, var(--mv-ancho)); margin-inline: auto; }
  .mv-sitio .mv-seccion { padding-block: clamp(2rem, 5vw, 4rem); }
  .mv-sitio .mv-pila { display: flex; flex-direction: column; gap: var(--mv-espacio-4); }
  .mv-sitio .mv-fila { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mv-espacio-3); }
  .mv-sitio .mv-repartir { justify-content: space-between; }
  .mv-sitio .mv-grilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--mv-espacio-5); }
  .mv-sitio .mv-dos-columnas { display: grid; gap: var(--mv-espacio-8); }
  .mv-sitio .mv-banda { background: var(--mv-marino); color: #FFF; padding-block: .6rem; font-size: var(--mv-texto-sm); }
  .mv-sitio .mv-cabecera { background: var(--mv-superficie); border-block-end: 1px solid var(--mv-linea); position: relative; z-index: var(--mv-z-cabecera); }
  .mv-sitio .mv-cabecera-interior { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; padding-block: 1rem; }
  .mv-sitio .mv-marca { display: inline-flex; flex: 0 0 auto; align-items: center; max-inline-size: 17rem; }
  .mv-sitio .mv-marca img { inline-size: 17rem; block-size: 3.4rem; object-fit: contain; }
  .mv-sitio .mv-buscador { display: flex; flex: 1 1 22rem; gap: .5rem; align-items: center; }
  .mv-sitio .mv-buscador .mv-campo { min-inline-size: 0; }
  .mv-sitio .mv-navegacion { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: center; padding-block: .65rem; }
  .mv-sitio .mv-navegacion a { padding-block: .5rem; font-size: var(--mv-texto-sm); color: var(--mv-texto); text-decoration: none; }
  .mv-sitio .mv-navegacion a[aria-current="page"] { color: var(--mv-enlace); font-weight: 750; box-shadow: inset 0 -3px var(--mv-azul); }
  .mv-sitio .mv-portada { color: #FFF; background: radial-gradient(ellipse at 92% 18%, rgb(0 163 255 / .28), transparent 52%), linear-gradient(115deg, var(--mv-marino), var(--mv-cobalto)); border-radius: var(--mv-radio-xl); overflow: clip; }
  .mv-sitio .mv-portada-interior { display: grid; gap: 1rem; align-items: center; padding: clamp(1.25rem, 4vw, 3rem); }
  .mv-sitio .mv-portada .mv-antetitulo { color: #FFD18A; }
  .mv-sitio .mv-portada .mv-bajada { color: #CCDAF0; }
  .mv-sitio .mv-portada .mv-destacado { color: #FFD18A; }
  .mv-sitio .mv-portada-ilustracion { inline-size: 100%; max-block-size: 31rem; object-fit: contain; }
  .mv-sitio .mv-acciones { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
  .mv-sitio .mv-panel { border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-lg); background: var(--mv-superficie); padding: clamp(1rem, 2.5vw, 1.75rem); }
  .mv-sitio .mv-migas { display: flex; flex-wrap: wrap; gap: .5rem; font-size: var(--mv-texto-sm); list-style: none; padding: 0; }
  .mv-sitio .mv-migas li + li::before { content: "/"; color: var(--mv-texto-secundario); margin-inline-end: .5rem; }
  .mv-sitio .mv-pie { padding-block: 2.5rem; background: var(--mv-marino); color: #FFF; margin-block-start: 3rem; }
  .mv-sitio .mv-pie a { color: #CCDAF0; text-decoration: none; }
  .mv-sitio .mv-pie a:hover { color: #FFF; text-decoration: underline; }
  .mv-sitio .mv-pie-grilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 2rem; align-items: start; }
  .mv-sitio .mv-pie-lista { list-style: none; padding: 0; margin: .65rem 0 0; display: grid; gap: .45rem; font-size: var(--mv-texto-sm); }
  .mv-sitio .mv-layout-catalogo { display: grid; gap: var(--mv-espacio-6); align-items: start; }
  .mv-sitio .mv-cinta-confianza { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; padding: 1.15rem 1.35rem; background: var(--mv-superficie); border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-lg); box-shadow: var(--mv-sombra-sm); }
  .mv-sitio .mv-cinta-item { display: flex; align-items: flex-start; gap: .75rem; min-inline-size: 0; }
  .mv-sitio .mv-cinta-icono { display: grid; place-items: center; inline-size: 2.5rem; block-size: 2.5rem; border-radius: var(--mv-radio-sm); background: var(--mv-hielo); color: var(--mv-azul); flex: 0 0 auto; }
  @media (min-width: 56rem) {
    .mv-sitio .mv-layout-catalogo { grid-template-columns: minmax(15rem, 17.5rem) minmax(0, 1fr); }
  }
  @media (min-width: 48rem) {
    .mv-sitio .mv-dos-columnas { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
    .mv-sitio .mv-portada-interior { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
  }
  @media (max-width: 35.99rem) {
    .mv-sitio .mv-buscador { order: 3; flex-basis: 100%; }
    .mv-sitio .mv-marca { max-inline-size: 13.5rem; }
    .mv-sitio .mv-marca img { inline-size: 13.5rem; block-size: 2.8rem; }
    .mv-sitio .mv-acciones > .mv-boton { flex: 1 1 100%; }
    .mv-sitio .mv-portada-ilustracion { max-block-size: 17rem; }
  }
}

@layer mv.controles {
  .mv-sitio .mv-boton { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-block-size: 2.875rem; max-inline-size: 100%; padding: .7rem 1.1rem; border: 1px solid transparent; border-radius: var(--mv-radio-pildora); font-weight: 750; line-height: 1.3; text-align: center; text-decoration: none; overflow-wrap: anywhere; transition: background-color var(--mv-transicion), color var(--mv-transicion), box-shadow var(--mv-transicion); }
  .mv-sitio .mv-boton--comprar { color: var(--mv-accion-texto); background: var(--mv-accion); border-color: var(--mv-accion-borde); }
  .mv-sitio .mv-boton--comprar:hover { color: var(--mv-accion-resaltada-texto); background: var(--mv-accion-resaltada); }
  .mv-sitio .mv-boton--primario { color: #FFF; background: var(--mv-explorar); border-color: var(--mv-explorar); }
  .mv-sitio .mv-boton--primario:hover { background: var(--mv-explorar-resaltado); border-color: var(--mv-explorar-resaltado); }
  .mv-sitio .mv-boton--secundario { background: var(--mv-superficie); color: var(--mv-enlace); border-color: var(--mv-enlace); }
  .mv-sitio .mv-boton--secundario:hover { background: var(--mv-hielo); }
  .mv-sitio .mv-boton--inverso { background: transparent; color: #FFF; border-color: #BACAE1; }
  .mv-sitio .mv-boton--inverso:hover { background: #22375F; }
  .mv-sitio .mv-boton--discreto { color: var(--mv-enlace); background: transparent; text-decoration: underline; text-underline-offset: .2em; }
  .mv-sitio .mv-boton--peligro { color: #FFF; background: var(--mv-error); border-color: var(--mv-error); }
  .mv-sitio .mv-boton--pequeno { min-block-size: 2.75rem; font-size: var(--mv-texto-sm); padding: .55rem .9rem; }
  .mv-sitio .mv-boton--ancho { inline-size: 100%; }
  .mv-sitio .mv-boton:disabled, .mv-sitio .mv-boton[aria-disabled="true"] { color: #52617A; background: #E1E7EF; border-color: #AAB7CA; box-shadow: none; cursor: not-allowed; }
  .mv-sitio .mv-boton[aria-busy="true"] { cursor: progress; }
  /* aria-disabled no bloquea eventos por sí mismo: usar disabled en button o lógica accesible en la app. */
  .mv-sitio .mv-icono { inline-size: 1.4rem; block-size: 1.4rem; flex: 0 0 auto; vertical-align: middle; }
  .mv-sitio .mv-boton-icono { min-inline-size: 2.875rem; min-block-size: 2.875rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--mv-borde-control); border-radius: var(--mv-radio-sm); background: var(--mv-superficie); color: var(--mv-texto); }
  .mv-sitio .mv-etiqueta { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .65rem; border-radius: var(--mv-radio-pildora); background: var(--mv-hielo); color: var(--mv-enlace); font-size: var(--mv-texto-xs); font-weight: 750; }
  .mv-sitio .mv-etiqueta--mayorista { color: #071B52; background: #EAF4FF; border: 1px solid #AAC9FB; }
  .mv-sitio .mv-etiqueta--promocion { color: #844100; background: #FFF2E5; border: 1px solid #D97725; }
  .mv-sitio .mv-etiqueta--exito { color: #13724B; background: #E8F6EF; }
  .mv-sitio .mv-etiqueta--error { color: #B42318; background: #FFF0ED; }
  .mv-sitio .mv-acordeon { border-block-end: 1px solid var(--mv-linea); padding-block: 1rem; }
  .mv-sitio .mv-acordeon summary { min-block-size: 2.75rem; cursor: pointer; font-weight: 700; padding: .5rem 0; }
  .mv-sitio .mv-acordeon[open] > :not(summary) { margin-block-start: .75rem; }
  .mv-sitio .mv-paginacion { display: flex; flex-wrap: wrap; gap: .5rem; }
  .mv-sitio .mv-paginacion [aria-current="page"] { background: var(--mv-azul); color: #FFF; }
}

@layer mv.formularios {
  .mv-sitio .mv-grupo-campo { display: flex; flex-direction: column; gap: .4rem; min-inline-size: 0; }
  .mv-sitio .mv-etiqueta-campo { font-weight: 650; color: var(--mv-texto); }
  .mv-sitio .mv-campo { inline-size: 100%; min-block-size: 2.875rem; padding: .65rem .85rem; color: var(--mv-texto); background: var(--mv-superficie); border: 1px solid var(--mv-borde-control); border-radius: var(--mv-radio-sm); font-size: 1rem; }
  .mv-sitio .mv-campo::placeholder { color: var(--mv-texto-secundario); opacity: 1; }
  .mv-sitio textarea.mv-campo { min-block-size: 7rem; resize: vertical; }
  .mv-sitio .mv-campo[aria-invalid="true"] { border: 2px solid var(--mv-error); }
  .mv-sitio .mv-ayuda-campo { color: var(--mv-texto-secundario); font-size: var(--mv-texto-sm); }
  .mv-sitio .mv-error-campo { color: var(--mv-error); font-size: var(--mv-texto-sm); font-weight: 600; }
  .mv-sitio .mv-casilla { display: flex; gap: .7rem; align-items: flex-start; min-block-size: 2.75rem; padding-block: .5rem; }
  .mv-sitio .mv-casilla input { inline-size: 1.2rem; block-size: 1.2rem; margin-block-start: .2rem; accent-color: var(--mv-azul); flex: 0 0 auto; }
  .mv-sitio .mv-selector-cantidad { display: inline-flex; align-items: stretch; gap: .4rem; max-inline-size: 100%; }
  .mv-sitio .mv-selector-cantidad .mv-campo { inline-size: 6rem; text-align: center; font-variant-numeric: tabular-nums; }
  .mv-sitio .mv-filtros { display: grid; gap: 1rem; }
  .mv-sitio fieldset.mv-panel { margin: 0; min-inline-size: 0; }
  .mv-sitio fieldset.mv-panel legend { font-weight: 700; padding-inline: .4rem; }
}

@layer mv.comercio {
  .mv-sitio .mv-producto { border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-lg); background: var(--mv-superficie); overflow: clip; display: flex; flex-direction: column; box-shadow: var(--mv-sombra-sm); }
  .mv-sitio .mv-producto-imagen { aspect-ratio: 4 / 3; object-fit: contain; inline-size: 100%; padding: 1rem; background: #F2F6FD; }
  .mv-sitio .mv-producto-cuerpo { display: flex; flex-direction: column; gap: .75rem; padding: 1.15rem; flex: 1; }
  .mv-sitio .mv-producto-titulo { font-size: 1.0625rem; font-weight: 700; line-height: 1.4; color: var(--mv-texto); }
  .mv-sitio .mv-producto-cuerpo > .mv-boton:last-child { margin-block-start: auto; }
  .mv-sitio .mv-precio { font-size: clamp(1.6rem, 1.4rem + .5vw, 2rem); font-weight: 800; line-height: 1.15; color: var(--mv-texto); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
  .mv-sitio .mv-precio-unidad { font-size: var(--mv-texto-sm); font-weight: 400; color: var(--mv-texto-secundario); letter-spacing: normal; }
  .mv-sitio .mv-precio-anterior { color: var(--mv-texto-secundario); font-size: var(--mv-texto-sm); }
  .mv-sitio .mv-tabla-contenedor { overflow-x: auto; max-inline-size: 100%; border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-sm); }
  .mv-sitio .mv-tabla { inline-size: 100%; border-collapse: collapse; font-size: var(--mv-texto-sm); }
  .mv-sitio .mv-tabla caption { text-align: start; font-weight: 700; padding: .85rem; color: var(--mv-texto); background: var(--mv-superficie); }
  .mv-sitio .mv-tabla :where(th,td) { text-align: start; padding: .85rem; border-block-end: 1px solid var(--mv-linea); vertical-align: top; }
  .mv-sitio .mv-tabla thead { background: var(--mv-hielo); }
  .mv-sitio .mv-tabla tbody tr:last-child :where(th,td) { border-block-end: none; }
  .mv-sitio .mv-tabla .mv-tramo-activo { background: var(--mv-hielo); box-shadow: inset 4px 0 var(--mv-azul); }
  .mv-sitio .mv-tabla .mv-tramo-activo th::after { content: " · elegido"; font-size: .75rem; font-weight: 700; }
  .mv-sitio .mv-resumen { display: grid; gap: 1rem; }
  .mv-sitio .mv-resumen-linea { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
  .mv-sitio .mv-resumen-total { border-block-start: 1px solid var(--mv-linea); padding-block-start: 1rem; font-size: var(--mv-texto-xl); font-weight: 800; }
  .mv-sitio .mv-compra-fija { position: sticky; inset-block-end: 0; background: var(--mv-superficie); padding: 1rem; padding-block-end: max(1rem, env(safe-area-inset-bottom)); box-shadow: var(--mv-sombra-md); z-index: var(--mv-z-flotante); }
  .mv-sitio .mv-pasos { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; list-style: none; padding: 0; counter-reset: mv-paso; }
  .mv-sitio .mv-pasos li { counter-increment: mv-paso; display: flex; align-items: center; gap: .5rem; color: var(--mv-texto-secundario); }
  .mv-sitio .mv-pasos li::before { content: counter(mv-paso); display: grid; place-items: center; inline-size: 2rem; block-size: 2rem; border: 1px solid var(--mv-borde-control); border-radius: 50%; }
  .mv-sitio .mv-pasos [aria-current="step"] { color: var(--mv-enlace); font-weight: 750; }
  .mv-sitio .mv-pasos [aria-current="step"]::before { background: var(--mv-azul); border-color: var(--mv-azul); color: #FFF; }
  .mv-sitio .mv-categoria { display: flex; gap: .75rem; align-items: center; padding: 1.2rem; border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-md); background: var(--mv-superficie); color: var(--mv-texto); text-decoration: none; font-weight: 700; }
  .mv-sitio .mv-categoria:hover { border-color: var(--mv-azul); background: var(--mv-hielo); }
  .mv-sitio .mv-producto-enlace { color: inherit; text-decoration: none; }
  .mv-sitio .mv-producto-enlace:hover .mv-producto-titulo { color: var(--mv-azul); text-decoration: underline; }
  .mv-sitio .mv-producto-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem; font-size: var(--mv-texto-xs); color: var(--mv-texto-secundario); }
  .mv-sitio .mv-pdp-galeria { display: grid; gap: 1rem; align-content: start; }
  .mv-sitio .mv-pdp-imagen-principal { aspect-ratio: 4 / 3; inline-size: 100%; object-fit: contain; padding: 1.25rem; background: #F2F6FD; border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-lg); }
  .mv-sitio .mv-pdp-miniaturas { display: flex; flex-wrap: wrap; gap: .6rem; }
  .mv-sitio .mv-pdp-miniatura { inline-size: 4.5rem; block-size: 4.5rem; object-fit: contain; padding: .35rem; background: var(--mv-superficie); border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-sm); }
  .mv-sitio .mv-tienda-portada { border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-xl); background: var(--mv-superficie); overflow: clip; box-shadow: var(--mv-sombra-sm); }
  .mv-sitio .mv-tienda-banner { inline-size: 100%; block-size: clamp(9rem, 20vw, 14rem); object-fit: cover; background: linear-gradient(115deg, var(--mv-marino), var(--mv-cobalto)); }
  .mv-sitio .mv-tienda-cuerpo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: clamp(1rem, 2.5vw, 1.75rem); }
  /* Armonización de bloques Studio (.mgui-vd-*) dentro del alcance aislado .mv-sitio */
  .mv-sitio {
    --mg-color-accion: var(--mv-azul);
    --mg-color-marca-profunda: var(--mv-marino);
    --mg-color-superficie-base: var(--mv-fondo);
    --mg-color-superficie-tarjeta: var(--mv-superficie);
    --mg-color-texto-primario: var(--mv-texto);
    --mg-color-texto-secundario: var(--mv-texto-secundario);
  }
  .mv-sitio .mgui-vd-shell { background: var(--mv-fondo); color: var(--mv-texto); max-inline-size: 100%; overflow-x: clip; }
  .mv-sitio .mgui-vd-hero { background: radial-gradient(ellipse at 92% 18%, rgb(0 163 255 / .28), transparent 52%), linear-gradient(115deg, var(--mv-marino), var(--mv-cobalto)); color: #FFF; border-color: rgba(255, 255, 255, .16); }
  .mv-sitio .mgui-vd-btn--primario { background: var(--mv-accion); color: var(--mv-accion-texto); border: 1px solid var(--mv-accion-borde); font-weight: 750; }
  .mv-sitio .mgui-vd-btn--primario:hover { background: var(--mv-accion-resaltada); color: var(--mv-accion-resaltada-texto); }
  .mv-sitio .mgui-vd-btn--fantasma { background: transparent; color: #FFF; border: 1px solid #BACAE1; }
  .mv-sitio .mgui-vd-btn--fantasma:hover { background: #22375F; }
  .mv-sitio .mgui-vd-card { border-color: var(--mv-linea); background: var(--mv-superficie); box-shadow: var(--mv-sombra-sm); }
  .mv-sitio .mgui-vd-card__precio { color: var(--mv-texto); font-variant-numeric: tabular-nums; }
  .mv-sitio .mgui-vd-card__badge--mayorista { color: var(--mv-marino); background: var(--mv-hielo); border: 1px solid #AAC9FB; }
}

@layer mv.estados {
  .mv-sitio .mv-aviso { padding: 1rem 1.2rem; border: 1px solid var(--mv-informacion); border-inline-start-width: 4px; border-radius: var(--mv-radio-sm); background: var(--mv-informacion-fondo); color: var(--mv-informacion); }
  .mv-sitio .mv-aviso--exito { background: var(--mv-exito-fondo); border-color: var(--mv-exito); color: var(--mv-exito); }
  .mv-sitio .mv-aviso--error { background: var(--mv-error-fondo); border-color: var(--mv-error); color: var(--mv-error); }
  .mv-sitio .mv-aviso--advertencia { background: var(--mv-advertencia-fondo); border-color: var(--mv-advertencia); color: var(--mv-advertencia); }
  .mv-sitio .mv-vacio { display: grid; place-items: center; text-align: center; gap: 1rem; padding: 3rem 1rem; border: 1px dashed var(--mv-borde-control); border-radius: var(--mv-radio-lg); }
  .mv-sitio .mv-esqueleto { min-block-size: 1rem; background: var(--mv-linea); border-radius: var(--mv-radio-sm); }
  .mv-sitio .mv-dialogo { max-inline-size: min(40rem, calc(100vw - 2rem)); max-block-size: calc(100dvh - 2rem); overflow: auto; padding: clamp(1rem, 3vw, 2rem); color: var(--mv-texto); background: var(--mv-superficie); border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-xl); box-shadow: var(--mv-sombra-lg); }
  .mv-sitio .mv-dialogo::backdrop { background: rgb(8 22 48 / .65); }
  .mv-sitio .mv-burbuja { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .8rem; background: var(--mv-superficie); color: var(--mv-texto); border: 1px solid var(--mv-linea); border-radius: var(--mv-radio-pildora); box-shadow: var(--mv-sombra-sm); }
}

@layer mv.utilidades {
  .mv-sitio .mv-ancho-completo { inline-size: 100%; }
  .mv-sitio .mv-centrado { text-align: center; }
  .mv-sitio .mv-empujar { margin-inline-start: auto; }
  .mv-sitio .mv-sin-margen { margin: 0; }
  .mv-sitio .mv-margen-superior { margin-block-start: 1.5rem; }
  .mv-sitio .mv-margen-inferior { margin-block-end: 1.5rem; }
  .mv-sitio .mv-espacio-pequeno { gap: .5rem; }
  .mv-sitio .mv-espacio-grande { gap: 2rem; }
  .mv-sitio .mv-recorte-seguro { overflow-wrap: anywhere; min-inline-size: 0; }
  .mv-sitio .mv-solo-escritorio { display: none; }
  @media (min-width: 48rem) { .mv-sitio .mv-solo-escritorio { display: initial; } }
  /* No añadir .hidden global ni selectores que afecten otros portales. */
}

@layer mv.accesibilidad {
  .mv-sitio :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--mv-foco); outline-offset: 3px; box-shadow: 0 0 0 3px #FFF; }
  .mv-sitio .mv-solo-lectores { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .mv-sitio .mv-saltar { position: absolute; inset-block-start: .5rem; inset-inline-start: 1rem; z-index: 100; padding: .75rem 1rem; background: #FFF; color: #071B52; border-radius: .5rem; transform: translateY(-200%); }
  .mv-sitio .mv-saltar:focus { transform: translateY(0); }
  .mv-sitio [hidden] { display: none; }
  .mv-sitio :where([id]) { scroll-margin-block-start: 1rem; }
  @media (prefers-reduced-motion: reduce) {
    .mv-sitio *, .mv-sitio *::before, .mv-sitio *::after { animation: none; transition: none; scroll-behavior: auto; }
  }
  @media (forced-colors: active) {
    .mv-sitio :where(.mv-boton,.mv-boton-icono,.mv-campo,.mv-etiqueta,.mv-panel,.mv-producto) { border: 1px solid ButtonText; }
    .mv-sitio :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid Highlight; box-shadow: none; }
  }
  @media print {
    .mv-sitio { color: #000; background: #FFF; }
    .mv-sitio :where(.mv-cabecera,.mv-pie,.mv-acciones,.mv-compra-fija,.mv-saltar) { display: none; }
    .mv-sitio :where(.mv-panel,.mv-producto,.mv-portada) { box-shadow: none; color: #000; background: #FFF; break-inside: avoid; }
  }
}
