/* ═══════════════════════════════════════════════════════════════
   vitrina.css — LA VITRINA DEL TALLER (conexión cliente ↔ taller, fase 2, 2026-10-27)
   Dos páginas, un dibujo:
     · taller.html (pública, lienzo claro como Mi mueble: foundation → components → publico → esto)
     · mi-vitrina.html (el taller arma la suya: shell del taller con .subpage; la vista previa
       «Así te ven los clientes» es el MISMO dibujo, sobre papel blanco)
   Solo layout y tamaño; colores = tokens con su respaldo. Lo que pinta sobre papel usa
   --belk-paper-* (SELLO-UI §2, regla 0). Sin :root propio.
   ═══════════════════════════════════════════════════════════════ */

/* ══ 1. La vitrina (pública y vista previa) ══════════════════════ */
body.vt{ background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); margin:0; }
.vt-main{ max-width:1080px; margin:0 auto; padding:12px 16px 48px; }
.vt-cargando{ padding:48px 8px; text-align:center; font-size:16px; color:var(--belk-paper-muted,#414B5C); }
.vt .phdr-back[hidden]{ display:none; }

.vt-ficha{ display:flex; flex-direction:column; gap:20px; color:var(--belk-paper-text,#0D2350); }

/* Portada: la foto del taller grande, el logo encima */
.vt-portada{ position:relative; display:flex; flex-direction:column; gap:12px; }
.vt-cubierta{
  aspect-ratio:16 / 7; border-radius:var(--belk-radius,1rem); overflow:hidden;
  background:var(--belk-paper-alt,#F5F8FC); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.vt-cubierta--vacia{ aspect-ratio:16 / 4; }
.vt-cubierta-img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Solo el logo se monta sobre la foto; el nombre va debajo de ella (sobre la foto no se lee). */
.vt-id{ display:flex; align-items:flex-start; gap:14px; margin-top:-48px; padding:0 12px; }
.vt-logo{
  width:96px; height:96px; flex:none; border-radius:50%; overflow:hidden; display:flex; align-items:center; justify-content:center;
  background:var(--belk-paper,#FFFFFF); border:3px solid var(--belk-paper,#FFFFFF);
  box-shadow:0 0 0 1px var(--belk-paper-border,rgba(13,35,80,.10)), var(--belk-shadow-1,0 2px 8px rgba(13,35,80,.08));
}
.vt-logo img{ width:100%; height:100%; object-fit:cover; display:block; }
.vt-logo-ini{ font-size:30px; font-weight:800; color:var(--belk-paper-brand,#143A7D); }
.vt-id-tx{ min-width:0; padding-top:54px; }
.vt-nombre{ margin:0; font-size:1.6rem; line-height:1.15; font-weight:800; color:var(--belk-paper-text,#0D2350); overflow-wrap:anywhere; }
.vt-sellos{ display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 0; }
.vt-sello{
  display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; font-size:13px; font-weight:700;
  background:var(--belk-ok-soft,#E4EFE9); color:var(--belk-paper-ok,#2E6B4F); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.vt-sello svg{ width:15px; height:15px; fill:currentColor; }
.vt-desde{ margin:6px 0 0; font-size:14px; color:var(--belk-paper-muted,#414B5C); }
.vt-wa{ align-self:flex-start; text-decoration:none; }
.vt-wa svg{ width:20px; height:20px; fill:currentColor; }

/* Lo que calcula Belk */
.vt-cifras{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.vt-cifra{
  display:flex; flex-direction:column; gap:2px; padding:12px; border-radius:var(--belk-radius-sm,8px);
  background:var(--belk-paper-alt,#F5F8FC); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.vt-cifra b{ font-size:1.25rem; font-weight:800; color:var(--belk-paper-text,#0D2350); }
.vt-cifra span{ font-size:13px; line-height:1.3; color:var(--belk-paper-muted,#414B5C); }
.vt-desc{ margin:0; font-size:16px; line-height:1.55; color:var(--belk-paper-text,#0D2350); max-width:70ch; }

/* Secciones */
.vt-sec{ display:flex; flex-direction:column; gap:10px; }
.vt-sec-tit{ margin:0; font-size:1.15rem; font-weight:800; color:var(--belk-paper-text,#0D2350); }
.vt-vacio{ margin:0; font-size:15px; color:var(--belk-paper-muted,#414B5C); }

/* Galería: las fotos son las protagonistas */
.vt-galeria{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.vt-g{
  position:relative; display:block; padding:0; margin:0; border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  border-radius:var(--belk-radius-sm,8px); overflow:hidden; aspect-ratio:4 / 3; cursor:zoom-in;
  background:var(--belk-paper-alt,#F5F8FC); font:inherit;
}
.vt-g img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--belk-transition,.18s ease); }
.vt-g:hover img{ transform:scale(1.03); }
.vt-g:focus-visible{ outline:3px solid var(--belk-paper-brand,#143A7D); outline-offset:2px; }
.vt-g-pie{
  position:absolute; left:6px; bottom:6px; max-width:calc(100% - 12px); padding:3px 8px; border-radius:999px;
  font-size:12px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350);
}

/* Los datos */
.vt-datos{ display:grid; grid-template-columns:1fr; gap:10px; }
.vt-dato{
  padding:12px 14px; border-radius:var(--belk-radius-sm,8px);
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.vt-dato-tit{ margin:0 0 6px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--belk-paper-muted,#414B5C); }
.vt-dato-tx{ margin:0; font-size:15px; line-height:1.45; color:var(--belk-paper-text,#0D2350); }
.vt-chips{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.vt-chip{
  padding:4px 10px; border-radius:999px; font-size:14px; font-weight:600;
  background:var(--belk-paper-sunken,#E9F0F9); color:var(--belk-paper-text,#0D2350);
}
.vt-redes{ display:flex; flex-wrap:wrap; gap:12px; margin:0; }
.vt-red{ font-size:15px; font-weight:700; color:var(--belk-paper-brand,#143A7D); }

/* Cuidados (plan §6, versión corta) */
.vt-cuidados{
  padding:12px 14px; border-radius:var(--belk-radius-sm,8px); font-size:14px; line-height:1.5;
  background:var(--belk-paper-alt,#F5F8FC); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.vt-cuidados p{ margin:4px 0 0; }

/* La foto grande */
.vt-foto{
  width:min(96vw, 1200px); max-height:94vh; margin:auto; padding:0; border:0; border-radius:var(--belk-radius-sm,8px);
  /* El visor es oscuro en las dos páginas: la tinta del papel de fondo y el papel de letra. */
  background:var(--belk-paper-text,#0D2350); color:var(--belk-paper,#FFFFFF);
}
.vt-foto::backdrop{ background:color-mix(in srgb, var(--belk-paper-text,#0D2350) 92%, transparent); }
.vt-foto-fig{ margin:0; display:flex; flex-direction:column; }
.vt-foto-img{ display:block; width:100%; max-height:84vh; object-fit:contain; }
.vt-foto-pie{ padding:10px 56px 12px 14px; font-size:15px; min-height:20px; }
.vt-foto-x{
  position:absolute; top:6px; right:6px; width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  border:0; border-radius:50%; background:color-mix(in srgb, var(--belk-paper-text,#0D2350) 70%, transparent); color:var(--belk-paper,#FFFFFF); cursor:pointer; z-index:2;
}
.vt-foto-x svg{ width:20px; height:20px; fill:currentColor; }
.vt-foto-nav{
  position:absolute; top:calc(50% - 22px); width:44px; height:44px; border:0; border-radius:50%; z-index:2;
  font-size:28px; line-height:1; background:color-mix(in srgb, var(--belk-paper-text,#0D2350) 70%, transparent); color:var(--belk-paper,#FFFFFF); cursor:pointer;
}
.vt-foto-ant{ left:6px; } .vt-foto-sig{ right:6px; }
.vt-foto-nav[hidden]{ display:none; }

@media (min-width:640px){
  .vt-galeria{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; }
  .vt-datos{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .vt-nombre{ font-size:2rem; }
  .vt-logo{ width:120px; height:120px; }
  .vt-id{ margin-top:-60px; padding:0 20px; }
  .vt-id-tx{ padding-top:68px; }
  .vt-cubierta{ aspect-ratio:auto; height:clamp(220px, 36vw, 420px); }
  .vt-cubierta--vacia{ height:120px; }
}
@media (min-width:960px){
  .vt-portada{ display:grid; grid-template-columns:1fr auto; align-items:end; }
  .vt-cubierta{ grid-column:1 / -1; }
  .vt-wa{ align-self:end; margin-bottom:4px; }
  .vt-datos{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion:reduce){ .vt-g img{ transition:none; } .vt-g:hover img{ transform:none; } }

/* ══ 2. «Mi vitrina» (el taller la arma) ═════════════════════════ */
/* La marca del cajón ☰ (las otras páginas la escriben con style=; aquí, por token: el cajón es marino). */
.mv-marca{ display:flex; align-items:center; gap:8px; }
.mv-marca-tx{ font-size:14px; font-weight:900; letter-spacing:1px; color:var(--belk-text,#0D2350); }
.mv-marca-sub{ font-size:8px; letter-spacing:2px; color:var(--belk-text-muted,#414B5C); }
.subpage.mv-page{ max-width:1240px; padding-bottom:140px; }
.mv-grid{ display:grid; grid-template-columns:minmax(0, 1fr); gap:0; }
.mv-fichas{ min-width:0; }
.mv-obl, .mv-opc{
  margin-left:auto; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  color:var(--belk-text-muted,#414B5C);
}
.mv-hint{ margin:0 0 10px; }
.mv-hint[hidden]{ display:none; }

/* El estado: % y lo que falta */
.mv-barra{
  height:10px; border-radius:10px; overflow:hidden; margin:2px 0 10px;
  background:var(--belk-level-1,#CDD8EA); border:1px solid var(--belk-border,rgba(13,35,80,.10));
}
.mv-barra-relleno{ display:block; height:100%; width:0; background:var(--belk-accent,#E87722); transition:width var(--belk-transition,.18s ease); }
.mv-chip-linea{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.mv-chip-linea [hidden]{ display:none; }
.mv-nota{
  margin:0 0 10px; padding:10px 12px; border-radius:var(--belk-radius-sm,8px); font-size:14px;
  background:var(--belk-err-soft,#F8E7E3); color:var(--belk-err,#8E3B31); border:1px solid var(--belk-border,rgba(13,35,80,.10));
}
.mv-nota[hidden], .mv-falta[hidden]{ display:none; }
.mv-falta h3{ margin:4px 0 6px; font-size:13px; font-weight:700; color:var(--belk-text,#0D2350); }
.mv-falta ul{ list-style:none; margin:0 0 10px; padding:0; display:flex; flex-direction:column; gap:2px; }
.mv-falta-ir{
  display:flex; align-items:center; gap:8px; width:100%; min-height:36px; padding:6px 8px; text-align:left; cursor:pointer;
  font:inherit; font-size:14px; border:0; border-radius:var(--belk-radius-sm,8px); background:transparent; color:var(--belk-text,#0D2350);
}
.mv-falta-ir::before{ content:''; width:8px; height:8px; flex:none; border-radius:50%; background:var(--belk-accent,#E87722); }
.mv-falta--suma .mv-falta-ir::before{ background:var(--belk-text-muted,#414B5C); }
.mv-falta-mas{ padding:2px 8px 0 24px; font-size:13px; color:var(--belk-text-muted,#414B5C); }
.mv-falta-ir:hover{ background:var(--belk-level-2-hi,#F2F6FD); }
.mv-falta-ir:focus-visible{ outline:2px solid var(--belk-accent,#E87722); outline-offset:1px; }
.mv-ayuda{ margin:0 0 10px; }
.mv-acts{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.mv-acts [hidden]{ display:none; }

/* Campos (el campo es papel: su texto, paper-text) */
.mv-campo{ display:flex; flex-direction:column; gap:4px; margin:0 0 12px; font-size:14px; font-weight:600; color:var(--belk-text,#0D2350); min-width:0; }
.mv-campo[hidden]{ display:none; }
.mv-campo small{ font-weight:400; font-size:13px; color:var(--belk-text-muted,#414B5C); }
.mv-campo input, .mv-campo select, .mv-campo textarea, .mv-combo-in, .mv-fila-mx input, .mv-sel-region, .mv-foto select, .mv-foto input{
  font:inherit; font-size:16px; font-weight:500; padding:9px 11px; min-height:44px; width:100%; box-sizing:border-box;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350);
  border:1px solid var(--belk-border-strong,rgba(13,35,80,.18)); border-radius:var(--belk-radius-sm,8px);
}
.mv-campo textarea{ resize:vertical; min-height:84px; }
.mv-campo input:focus-visible, .mv-campo select:focus-visible, .mv-campo textarea:focus-visible, .mv-combo-in:focus-visible,
.mv-fila-mx input:focus-visible, .mv-sel-region:focus-visible, .mv-foto select:focus-visible, .mv-foto input:focus-visible{
  outline:2px solid var(--belk-accent,#E87722); outline-offset:1px;
}
.mv-fila2, .mv-fila3{ display:grid; grid-template-columns:minmax(0, 1fr); gap:0 12px; }
.mv-pais, .mv-sino{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.mv-tgr{ padding:4px 0 8px; }
.mv-tgr .lb{ font-size:15px; font-weight:700; color:var(--belk-text,#0D2350); }
.mv-checks{ display:flex; flex-wrap:wrap; gap:8px 16px; margin:0 0 12px; font-size:15px; font-weight:500; color:var(--belk-text,#0D2350); }
.mv-checks label{ display:inline-flex; align-items:center; gap:8px; min-height:36px; cursor:pointer; }
.mv-checks input{ width:20px; height:20px; accent-color:var(--belk-accent,#E87722); }
.mv-wa{ display:flex; flex-direction:column; gap:4px; margin-top:6px; }
.mv-wa .belk-btn{ align-self:flex-start; }
.mv-wa svg{ width:16px; height:16px; fill:currentColor; }

/* Subir logo, equipo y trabajos */
.mv-archivo{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.mv-subir-btn{ position:relative; cursor:pointer; }
.mv-subir-btn:focus-within{ outline:2px solid var(--belk-accent,#E87722); outline-offset:2px; }
.mv-subir-btn.is-disabled{ opacity:.5; cursor:not-allowed; pointer-events:none; }
.mv-subir-btn svg{ width:18px; height:18px; fill:currentColor; }
.mv-fotos2{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 2fr); gap:12px; margin:0 0 12px; }
.mv-subir{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.mv-subir-tit{ font-size:14px; font-weight:600; color:var(--belk-text,#0D2350); }
.mv-subir-caja{
  aspect-ratio:16 / 9; border-radius:var(--belk-radius-sm,8px); overflow:hidden; display:flex; align-items:center; justify-content:center;
  background:var(--belk-paper-alt,#F5F8FC); border:1px dashed var(--belk-border-strong,rgba(13,35,80,.18));
}
.mv-subir-caja--logo{ aspect-ratio:1 / 1; border-radius:50%; max-width:140px; }
.mv-subir-caja img{ width:100%; height:100%; object-fit:cover; display:block; }
.mv-subir-vacio{ font-size:13px; color:var(--belk-paper-muted,#414B5C); }

.mv-galeria{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 136px), 1fr)); gap:10px; margin:0 0 12px; }
.mv-foto{
  margin:0; display:flex; flex-direction:column; border-radius:var(--belk-radius-sm,8px); overflow:hidden;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-border,rgba(13,35,80,.10));
}
.mv-foto img{ width:100%; aspect-ratio:4 / 3; object-fit:cover; display:block; height:auto; }
.mv-foto figcaption{ display:flex; flex-direction:column; gap:6px; padding:8px; }
.mv-foto select, .mv-foto input{ font-size:14px; min-height:40px; padding:6px 8px; }
.mv-foto--molde{
  aspect-ratio:4 / 3; align-items:center; justify-content:center; font-size:14px; font-weight:600;
  background:var(--belk-paper-alt,#F5F8FC); color:var(--belk-paper-muted,#414B5C); border-style:dashed; opacity:.6;
}

/* Cobertura */
.mv-atajos{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.mv-atajos .mv-sel-region{ width:auto; flex:1 1 220px; min-width:0; max-width:100%; }
.mv-combo{ position:relative; margin:0 0 10px; }
.mv-combo-lista{
  position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:20; margin:0; padding:4px; list-style:none; max-height:300px; overflow:auto;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-border-strong,rgba(13,35,80,.18));
  border-radius:var(--belk-radius-sm,8px); box-shadow:var(--belk-shadow-2,0 8px 24px rgba(13,35,80,.16));
}
.mv-combo-lista[hidden]{ display:none; }
.mv-combo-lista li{ display:flex; justify-content:space-between; gap:8px; padding:9px 10px; border-radius:6px; cursor:pointer; font-size:15px; }
.mv-combo-lista li:hover{ background:var(--belk-paper-sunken,#E9F0F9); }
.mv-combo-lista small{ color:var(--belk-paper-muted,#414B5C); }
.mv-combo-vacio{ cursor:default !important; color:var(--belk-paper-muted,#414B5C); }
.mv-fila-mx{ display:grid; grid-template-columns:minmax(0, 1fr); gap:8px; margin:0 0 10px; }
.mv-fila-mx .belk-btn{ justify-self:start; }
.mv-chips{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.mv-chip{
  display:inline-flex; align-items:center; gap:2px; padding:2px 2px 2px 12px; border-radius:999px; font-size:14px; font-weight:600;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-border,rgba(13,35,80,.10));
}
.mv-chip-x{
  width:32px; height:32px; border:0; border-radius:50%; background:transparent; cursor:pointer; font-size:13px;
  color:var(--belk-paper-muted,#414B5C);
}
.mv-chip-x:hover{ background:var(--belk-paper-sunken,#E9F0F9); }

/* ══ 3. Vitrina fácil (V1, 2026-11-03): asistente, fichas plegadas y guardado solo ══ */
/* El modo es UN atributo en <body> (SELLO §1): asistente | fichas. */
body[data-modo="asistente"] .mv-grid, body:not([data-modo="asistente"]) .mv-asist{ display:none; }
/* Mientras llega la vitrina no se sabe cuál de los dos va: ninguno (sin saltar de uno al otro). */
body[data-modo="cargando"] .mv-grid{ display:none; }

/* La forma de píldora de .belk-chip, solo en esta página: en css/components.css el comentario de
   .belk-chip nombra «.plan-* barra .log-*» con el asterisco pegado a la barra, y eso cierra el
   comentario antes de tiempo: el navegador bota la
   regla base (sin relleno ni radio en todo el sitio). Se quita cuando se arregle allá (ENCARGO «Dudas»). */
.mv-page .belk-chip, .mv-guardado{
  display:inline-block; padding:5px 10px; border-radius:20px; border:1px solid var(--belk-border,rgba(13,35,80,.10));
  font-weight:700; line-height:1.2;
}
#mvEstadoChip{ font-size:13px; }
/* El chip «Guardado» / «Guardando…» del encabezado (sobre el marino: los tokens de la zona) */
.mv-guardado{ font-size:12px; white-space:nowrap; margin-right:8px; }
.mv-guardado[hidden]{ display:none; }

/* El asistente: una tarjeta al centro; la barra y los botones son los del juego (.jg) */
.mv-asist{ max-width:760px; margin:0 auto 14px; padding:12px 16px 18px; }
.mv-asist-barra{ display:flex; align-items:center; margin:0 0 4px; }
.mv-asist-n{ margin:0; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--belk-text-muted,#414B5C); }
.subpage-card h2.mv-asist-tit{ margin:2px 0 4px; font-size:1.4rem; line-height:1.2; font-weight:800; color:var(--belk-text,#0D1B2A); }
.mv-asist-tit:focus{ outline:none; }
.mv-asist-pre{ margin:0 0 14px; font-size:15px; line-height:1.45; color:var(--belk-text-muted,#414B5C); text-wrap:pretty; }
.mv-prellenado{
  margin:0 0 14px; padding:10px 12px; border-radius:var(--belk-radius-sm,8px); font-size:15px; font-weight:600;
  background:var(--belk-ok-soft,#D4EDDA); color:var(--belk-text,#0D1B2A); border:1px solid var(--belk-border,rgba(13,35,80,.10));
}
.mv-prellenado[hidden]{ display:none; }
.mv-asist-cuerpo{ min-width:0; }
.mv-asist-cuerpo .mv-campo{ font-size:15px; }
.mv-asist-cuerpo .mv-wa{ display:none; }   /* verificar el WhatsApp va en la ficha, después */
.mv-asist-cuerpo #mvCobAyuda{ display:none; }   /* el paso ya lo dice arriba */
.mv-asist-pie{ display:flex; align-items:center; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid var(--belk-border,rgba(13,35,80,.10)); }
.mv-asist-pie #mvAsistSig{ flex:1 1 auto; max-width:320px; margin-left:auto; font-size:16px; }
.mv-asist-pie #mvAsistDespues{ margin-left:auto; }
.mv-asist-atras + #mvAsistDespues{ margin-left:auto; }
.mv-asist-atras svg{ width:22px; height:22px; }

/* Las fichas: la sección plegable de components.css con la piel de la tarjeta */
.mv-ficha{ padding:0; overflow:hidden; }
.mv-ficha-hd{
  width:100%; min-height:56px; padding:12px 16px; gap:10px; border:0; border-radius:0; text-align:left; font:inherit;
  background:transparent; color:var(--belk-text,#0D1B2A);
}
.mv-ficha-hd:hover{ background:var(--belk-level-2-hi,#F2F6FD); }
.mv-ficha-hd:focus-visible{ outline:2px solid var(--belk-accent,#E87722); outline-offset:-2px; }
.mv-ficha .sec-ti{ font-size:16px; font-weight:800; text-transform:none; letter-spacing:0; color:var(--belk-text,#0D1B2A); }
.mv-ficha .sec-sum{ min-width:0; font-size:inherit; overflow:visible; }
.mv-ficha .sec-ar{ flex:none; color:var(--belk-text-muted,#414B5C); }
.mv-ficha-bd{ padding:14px 16px 4px; border-top:1px solid var(--belk-border,rgba(13,35,80,.10)); }
.mv-ficha-est{ display:inline-block; max-width:52vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:middle; font-size:13px; font-weight:700; }
.mv-basta{ margin-left:6px; font-weight:400; font-size:13px; color:var(--belk-text-muted,#414B5C); }

/* Los sellos de «Mi vitrina» con la misma forma de etiqueta que en la vitrina pública */
.mv-chip-linea .vt-sello{ font-size:13px; }

/* Un campo que no se pudo guardar: marcado, sin perder lo escrito */
.mv-campo .is-error, .mv-checks.is-error, #mvCobertura.is-error{ border-color:var(--belk-err,#8E3B31); box-shadow:0 0 0 1px var(--belk-err,#8E3B31); }
.mv-checks.is-error, #mvCobertura.is-error{ border:1px solid var(--belk-err,#8E3B31); border-radius:var(--belk-radius-sm,8px); padding:4px 8px; }

/* «Escríbela por mí» */
.mv-desc-sola{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:6px; }
.mv-desc-sola[hidden]{ display:none; }

/* Fotos: la primera es la portada; 0 fotos = la frase que dice para qué sirven */
.mv-fotos-cero{
  margin:0 0 10px; padding:10px 12px; border-radius:var(--belk-radius-sm,8px); font-size:15px; font-weight:600;
  background:var(--belk-warn-soft,#FFF3CD); color:var(--belk-text,#0D1B2A); border:1px solid var(--belk-border,rgba(13,35,80,.10));
}
.mv-fotos-cero[hidden]{ display:none; }
.mv-foto-marco{ position:relative; }
.mv-portada{
  position:absolute; left:6px; top:6px; padding:3px 9px; border-radius:999px; font-size:12px; font-weight:700;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.mv-foto-bts{ display:flex; flex-wrap:wrap; gap:6px; }

/* La vista previa: papel blanco con la vitrina en chico */
.mv-prev-papel{
  padding:14px; border-radius:var(--belk-radius-sm,8px); max-height:none;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.mv-prev-papel .vt-nombre{ font-size:1.3rem; }
.mv-prev-papel .vt-logo{ width:76px; height:76px; }
.mv-prev-papel .vt-id{ margin-top:-38px; padding:0 8px; }
.mv-prev-papel .vt-id-tx{ padding-top:44px; }
.mv-prev-papel .vt-datos{ grid-template-columns:1fr; }
.mv-prev-papel .vt-galeria{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.mv-prev-papel .vt-portada{ display:flex; }
.mv-prev-papel .vt-cubierta{ aspect-ratio:16 / 7; height:auto; }

@media (min-width:640px){
  .mv-fila2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .mv-fila3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .mv-fila-mx{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto; }
}
/* Teléfono: «Así te ven» arriba, en una ventana que no se come la página. */
@media (max-width:1023px){
  .mv-prev .mv-prev-papel{ max-height:min(62vh, 520px); overflow:auto; overscroll-behavior:contain; }
}
/* Escritorio: el estado y las fichas a la izquierda; la vista previa a la derecha (SELLO §12.6). */
@media (min-width:1024px){
  .mv-grid{ grid-template-columns:minmax(0, 1.25fr) minmax(360px, 1fr); grid-template-areas:'estado prev' 'fichas prev'; grid-template-rows:auto 1fr; gap:0 16px; align-items:start; }
  .mv-fichas{ grid-area:fichas; min-width:0; }
  .mv-estado{ grid-area:estado; }
  .mv-prev{ grid-area:prev; position:sticky; top:72px; max-height:calc(100vh - 96px); overflow:auto; }
  .mv-ficha-est{ max-width:320px; }
}

/* ══ 4. La vitrina trae trabajo (V3, 2026-11-03) ════════════════ */
/* «Pedir presupuesto» (la primaria del cliente nuevo) y «Diseña tu mueble con este taller» */
.vt-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.vt-cta .vt-pedir-btn{ min-height:48px; font-size:16px; padding-left:22px; padding-right:22px; }
.vt-cta-nota{ font-size:14px; font-weight:600; color:var(--belk-paper-muted,#414B5C); }
.vt-cta .vt-disena{ flex-basis:100%; justify-content:flex-start; width:auto; max-width:max-content; text-decoration:none; }
.vt-disena svg{ width:20px; height:20px; fill:none; stroke:currentColor; }
/* En el teléfono, la misma acción pegada abajo (solo cuando la de arriba no se ve). Es sticky, no fixed:
   vive al final de la ficha y nunca tapa el pie. */
.vt-barra{
  position:sticky; bottom:0; z-index:5; display:none; align-items:center; gap:10px; margin:0 -16px -48px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border-top:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.vt-barra .vt-pedir-btn{ flex:1 1 auto; min-height:48px; font-size:16px; }
.vt-barra.es-visible{ display:flex; }
body[data-pedir] .vt-barra, body[data-pedir] .vt-cta .vt-pedir-btn, body[data-pedir] .vt-cta-nota{ display:none; }
@media (min-width:640px){ .vt-barra, .vt-barra.es-visible{ display:none; } }
@media (min-width:960px){ .vt-cta{ align-self:end; justify-content:flex-end; margin-bottom:4px; } .vt-cta .vt-disena{ margin-left:auto; } }

/* El formulario: una tarjeta de papel, campos de 16 px (el teléfono no hace zoom) */
.vt-pedir{
  display:flex; flex-direction:column; gap:6px; padding:16px; border-radius:var(--belk-radius,1rem); scroll-margin-top:64px;   /* bajo la barra de arriba */
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  box-shadow:var(--belk-shadow-1,0 2px 8px rgba(13,35,80,.08));
}
.vt-pedir .vt-sec-tit:focus{ outline:none; }
.vt-pedir-sub{ margin:0 0 6px; font-size:15px; color:var(--belk-paper-muted,#414B5C); }
body[data-pedir="listo"] .vt-pedir-sub{ display:none; }
.vt-pedir-form{ display:flex; flex-direction:column; gap:14px; max-width:720px; }
.vt-pedir-form[hidden], .vt-pedir-listo[hidden], .vt-foto-ver[hidden], .vt-subir[hidden], .vt-pedir-error[hidden]{ display:none; }
.vt-grupo{ margin:0; padding:0; border:0; min-width:0; }
.vt-grupo legend{ padding:0; margin:0 0 8px; font-size:15px; font-weight:700; color:var(--belk-paper-text,#0D2350); }
.vt-muebles{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.vt-muebles .belk-btn{ min-height:64px; flex-direction:column; gap:4px; font-size:15px; }
.vt-muebles svg{ width:28px; height:28px; fill:none; stroke:currentColor; }
.vt-cuando-bts{ display:flex; flex-wrap:wrap; gap:8px; }
.vt-campo, .vt-zona .mm-campo{
  display:flex; flex-direction:column; gap:6px; margin:0; min-width:0; font-size:15px; font-weight:700; color:var(--belk-paper-text,#0D2350);
}
.vt-campo small{ font-weight:400; color:var(--belk-paper-muted,#414B5C); }
.vt-zona{ display:flex; flex-direction:column; gap:14px; }
.vt-campo input, .vt-zona input, .vt-zona select{
  font:inherit; font-size:16px; font-weight:500; padding:10px 12px; min-height:46px; width:100%; box-sizing:border-box;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350);
  border:1px solid var(--belk-paper-border,rgba(13,35,80,.10)); border-radius:var(--belk-radius-sm,8px);
}
.vt-campo input:focus-visible, .vt-zona input:focus-visible, .vt-zona select:focus-visible, .vt-acepto input:focus-visible{
  outline:3px solid var(--belk-paper-brand,#143A7D); outline-offset:1px;
}
/* La lista de comunas (el combo de js/zonas.js, el mismo de Mi mueble) */
.vt-zona .mm-combo{ position:relative; }
.vt-zona .mm-combo-lista{
  position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:20; margin:0; padding:4px; list-style:none; max-height:280px; overflow:auto;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  border-radius:var(--belk-radius-sm,8px); box-shadow:var(--belk-shadow-2,0 8px 24px rgba(13,35,80,.16)); font-weight:500;
}
.vt-zona .mm-combo-lista[hidden]{ display:none; }
.vt-zona .mm-combo-lista li{ display:flex; justify-content:space-between; gap:8px; padding:10px; border-radius:6px; cursor:pointer; font-size:15px; }
.vt-zona .mm-combo-lista li:hover, .vt-zona .mm-combo-lista li[aria-selected="true"]{ background:var(--belk-paper-sunken,#E9F0F9); }
.vt-zona .mm-combo-lista small{ color:var(--belk-paper-muted,#414B5C); }
.vt-zona .mm-combo-vacio{ cursor:default !important; color:var(--belk-paper-muted,#414B5C); }
.vt-cargando-chico{ margin:0; font-size:14px; color:var(--belk-paper-muted,#414B5C); }
/* La foto del espacio */
.vt-foto-espacio{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.vt-archivo{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.vt-subir{ position:relative; cursor:pointer; }
.vt-subir:focus-within{ outline:3px solid var(--belk-paper-brand,#143A7D); outline-offset:2px; }
.vt-subir.is-disabled{ opacity:.5; pointer-events:none; }
.vt-subir svg{ width:18px; height:18px; fill:none; stroke:currentColor; }
.vt-foto-ver{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.vt-foto-ver img{ width:160px; height:120px; object-fit:cover; border-radius:var(--belk-radius-sm,8px); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10)); }
.vt-fila2{ display:grid; grid-template-columns:minmax(0, 1fr); gap:14px; }
.vt-acepto{ display:flex; align-items:flex-start; gap:10px; font-size:15px; line-height:1.45; color:var(--belk-paper-text,#0D2350); cursor:pointer; }
.vt-acepto input{ width:22px; height:22px; flex:none; margin:1px 0 0; accent-color:var(--belk-paper-brand,#143A7D); }
.vt-acepto a{ font-weight:700; color:var(--belk-paper-brand,#143A7D); }
.vt-pedir-error{
  margin:0; padding:10px 12px; border-radius:var(--belk-radius-sm,8px); font-size:15px; font-weight:600;
  background:var(--belk-paper-err-soft,#F8E7E3); color:var(--belk-paper-err,#8E3B31); border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
}
.vt-mandar{ align-self:flex-start; min-height:48px; font-size:16px; padding-left:28px; padding-right:28px; }
/* La confirmación */
.vt-pedir-listo{ display:flex; flex-direction:column; gap:10px; max-width:720px; }
.vt-listo-tit{ margin:0; font-size:1.25rem; font-weight:800; color:var(--belk-paper-text,#0D2350); }
.vt-listo-tit:focus{ outline:none; }
.vt-listo-tx, .vt-listo-nota{ margin:0; font-size:15px; line-height:1.5; color:var(--belk-paper-muted,#414B5C); }
.vt-listo-acts{ display:flex; flex-wrap:wrap; gap:8px; }
.vt-listo-acts .belk-btn{ min-height:48px; text-decoration:none; }
.vt-listo-acts svg{ width:20px; height:20px; fill:currentColor; }
@media (min-width:640px){
  .vt-muebles{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
  .vt-fila2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .vt-pedir{ padding:20px 24px; }
}

/* «Compartir mi vitrina» (mi-vitrina.html, dentro de la tarjeta del estado) */
.mv-compartir{ margin:14px 0 2px; padding-top:14px; border-top:1px solid var(--belk-border,rgba(13,35,80,.10)); }
.mv-compartir[hidden]{ display:none; }
.mv-compartir h3{ margin:0 0 6px; font-size:15px; font-weight:800; color:var(--belk-text,#0D2350); }
.mv-compartir-url{ display:flex; gap:8px; margin:0 0 10px; }
.mv-compartir-url input{
  flex:1 1 auto; min-width:0; font:inherit; font-size:15px; font-weight:600; padding:9px 11px; min-height:44px; box-sizing:border-box;
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350);
  border:1px solid var(--belk-border-strong,rgba(13,35,80,.18)); border-radius:var(--belk-radius-sm,8px);
}
.mv-compartir .mv-acts{ margin:0 0 10px; }
.mv-compartir .mv-acts svg{ width:18px; height:18px; fill:currentColor; }
.mv-qr{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.mv-qr-caja{
  width:168px; height:168px; flex:none; padding:8px; box-sizing:border-box; border-radius:var(--belk-radius-sm,8px);
  background:var(--belk-paper,#FFFFFF); color:var(--belk-paper-text,#0D2350); border:1px solid var(--belk-border,rgba(13,35,80,.10));
}
.mv-qr-caja svg{ display:block; width:100%; height:100%; }
.mv-qr-bts{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.mv-qr-bts svg{ width:18px; height:18px; fill:currentColor; }
.mv-compartir-antes{ margin:0; }
/* Imprimir el QR: solo la hoja con el QR, el nombre y el enlace (el resto de la página no sale). */
.mv-qr-hoja{ display:none; }
@media print{
  body.mv-imprime > *:not(.mv-qr-hoja){ display:none !important; }
  body.mv-imprime .mv-qr-hoja{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:40px 0; text-align:center; color:var(--belk-paper-text,#0D2350); }
  .mv-qr-hoja svg{ width:9cm; height:9cm; }
  .mv-qr-hoja h1{ margin:0; font-size:26pt; }
  .mv-qr-hoja p{ margin:0; font-size:14pt; }
}
