/* Una sola presentación de producto para catálogo y mostrador. */
.catalogo { grid-template-columns: minmax(0,1fr) 350px; }.catalogo-resumen { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 4px; }.catalogo-resumen > div { display: flex; align-items: flex-start; gap: 12px; border: 1px solid var(--color-borde); border-radius: 14px; background: #fcfcf8; padding: 20px; }.catalogo-resumen p { color: var(--color-texto-suave); font-size: .6875rem; line-height: 1.5; }.catalogo-resumen strong { display: block; color: var(--color-texto); font-size: 1.7rem; font-weight: 500; line-height: 1.2; margin-top: 10px; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }.catalogo-resumen__icono { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #eeeedd; color: #74653d; flex: none; }.catalogo-resumen__icono--exito { background: #e5efdf; color: #376447; }.catalogo-resumen__icono .icono { width: 18px; height: 18px; }
.catalogo-controles { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 20px; }.catalogo-controles .segmentado { display: flex; border: 1px solid var(--color-borde); background: #f4f5ee; border-radius: 9px; padding: 3px; gap: 3px; }.catalogo-controles .segmentado .boton { background: transparent; border-color: transparent; box-shadow: none; padding: 9px 12px; min-height: 40px; font-size: .75rem; }.catalogo-controles .segmentado .boton[aria-pressed="true"] { background: #fff; color: var(--color-primario); border-color: #dde4d7; box-shadow: var(--elevado-s); }.catalogo-controles .icono { width: 16px; height: 16px; }
.catalogo__filtros { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; }.catalogo-disponibles { margin-top: 14px; font-size: .75rem; }.chips-filtro { display: flex; gap: 7px; overflow-x: auto; padding: 18px 0 7px; scrollbar-width: thin; }.chip-filtro { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 9px 14px; border: 1px solid #e4e8df; border-radius: 8px; background: #fafbf7; color: var(--color-texto-suave); font-size: .75rem; font-weight: 500; cursor: pointer; }.chip-filtro:hover { background: #edf2e5; border-color: #bfcdb8; color: var(--color-primario); }.chip-filtro[aria-pressed="true"] { color: #fff; background: var(--color-primario); border-color: var(--color-primario); }.chip-filtro__cantidad { font-size: .625rem; }
.catalogo__grilla { margin-top: 20px; }.grilla-modelos { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }.grilla-modelos > li { min-width: 0; }
.modelo { position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; overflow: hidden; border: 1px solid var(--color-borde); border-radius: 12px; background: #fff; text-align: left; cursor: pointer; transition: border-color var(--transicion), box-shadow var(--transicion); touch-action: manipulation; }.modelo:hover { border-color: #9db195; box-shadow: 0 5px 16px #234c4010; }.modelo--seleccionado { border-color: var(--color-primario); box-shadow: 0 0 0 1px var(--color-primario); }.modelo__imagen { position: relative; display: block; background: #f0f0e9; overflow: hidden; }.modelo__foto { display: block; width: 100%; aspect-ratio: 1/1.08; height: auto; object-fit: cover; background: #f0f0e9; transition: transform 220ms ease; }.modelo:hover .modelo__foto { transform: scale(1.025); }.modelo__etiqueta { position: absolute; top: 10px; left: 10px; display: flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 5px; background: #fffffff2; color: #2b5842; font-size: .625rem; font-weight: 600; }.modelo__etiqueta::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }.modelo__etiqueta--agotado { color: #765c3c; }.modelo__referencia { position: absolute; right: 7px; bottom: 6px; font-size: .5625rem; color: #fff; background: #20372ed9; padding: 3px 5px; border-radius: 4px; }
.modelo__texto { display: flex; flex-direction: column; gap: 5px; padding: 15px; flex: 1; width: 100%; }.producto-categoria { color: #68745d; font-size: .5625rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }.modelo__nombre { font-size: .8125rem; font-weight: 600; line-height: 1.45; margin-top: 2px; }.modelo__detalle { font-size: .6875rem; color: var(--color-texto-suave); overflow-wrap: anywhere; }.modelo__pie { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 14px; }.modelo__sku { color: var(--color-texto-suave); font-size: .5625rem; overflow-wrap: anywhere; }.modelo__accion { color: var(--color-primario); font-size: .6875rem; font-weight: 600; }
.catalogo-nota { display: flex; align-items: flex-start; gap: 8px; padding-top: 20px; margin-top: 22px; border-top: 1px solid var(--color-borde); font-size: .6875rem; line-height: 1.7; color: var(--color-texto-suave); }.catalogo-nota .icono { width: 15px; height: 15px; margin-top: 2px; }
#cat-detalle { display: grid; gap: 16px; scroll-margin-top: 88px; }#cat-detalle .tarjeta__cabecera { margin-bottom: 0; align-items: start; }#cat-detalle .titulo-icono { align-items: center; }#cat-nombre { font-family: var(--fuente-editorial); font-weight: 400; font-size: 1.5rem; letter-spacing: -.025em; overflow-wrap: anywhere; }#cat-btn-agregar-outfit { width: 100%; font-size: .8125rem; }
.visor { position: relative; overflow: hidden; border: 1px solid var(--color-borde); border-radius: 11px; background: #f5f5ef; }.visor__foto { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; max-height: 50vh; cursor: zoom-in; }.visor__flecha { position: absolute; top: 50%; transform: translateY(-50%); background: #fffffff2; }.visor__flecha--izq { left: 8px; }.visor__flecha--der { right: 8px; }.visor__posicion { position: absolute; bottom: 8px; right: 8px; padding: 4px 9px; border-radius: 5px; background: var(--color-primario); color: #fff; font-size: .6875rem; }.visor__posicion:empty { display: none; }.visor__leyenda { font-size: .6875rem; text-align: center; color: var(--color-texto-suave); }.visor--vacio { display: grid; place-items: center; gap: 12px; padding: 48px 16px; color: var(--color-texto-suave); }
.miniaturas { display: flex; gap: 8px; padding: 4px !important; overflow-x: auto; list-style: none; }.miniaturas:empty { display: none; }.miniatura { position: relative; display: block; width: 60px; height: 60px; padding: 0; border: 1px solid var(--color-borde); border-radius: 7px; background: #fff; overflow: hidden; cursor: pointer; }.miniatura img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }.miniatura--activa { box-shadow: 0 0 0 2px var(--color-primario); }.miniatura[draggable="true"] { cursor: grab; }.miniatura--arrastrando { opacity: .4; }.miniatura--destino { box-shadow: 0 0 0 2px var(--color-acento); }.miniatura__principal { position: absolute; inset: auto 0 0; background: var(--color-primario); color: #fff; padding: 2px; font-size: .5625rem; text-align: center; }
.gestion-fotos { border-top: 1px solid var(--color-borde); padding-top: 16px; }.gestion-fotos summary { cursor: pointer; font-size: .8125rem; font-weight: 600; min-height: 44px; display: list-item; padding: 10px 0; }.gestion-fotos__contenido { display: grid; gap: 16px; margin-top: 10px; }.herramientas-foto { display: grid; gap: 12px; }.herramientas-foto .botonera { justify-content: flex-start; }.herramientas-foto .boton { padding: 9px 10px; font-size: .75rem; }
.subida { display: grid; justify-items: center; gap: 10px; padding: 20px 14px; border: 1px dashed #adbea4; border-radius: 11px; background: #f7f9f2; text-align: center; }.subida--encima { background: var(--color-primario-suave); border-color: var(--color-primario); }.subida--ocupada { opacity: .6; pointer-events: none; }.subida--llena .subida__boton { opacity: .5; pointer-events: none; }.subida__icono { width: 28px; height: 28px; color: var(--color-primario); }.subida__titulo { font-weight: 600; }.subida__boton { cursor: pointer; }.subida__boton:focus-within { box-shadow: var(--anillo-foco); }.subida__estado { font-size: .6875rem; color: var(--color-texto-suave); }
.tallas { display: flex; flex-wrap: wrap; gap: 8px; }.tallas button[aria-pressed="true"] { border-color: var(--color-primario); box-shadow: 0 0 0 1px var(--color-primario); }.tallas button:disabled { opacity: .6; cursor: not-allowed; }.talla__cantidad { background: #ffffffa6; border-radius: 50%; padding: 1px 5px; font-size: .625rem; margin-left: 5px; }.ficha { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px 20px; border-top: 1px solid var(--color-borde); padding-top: 16px; font-size: .75rem; }.ficha dt { color: var(--color-texto-suave); }.ficha dd { overflow-wrap: anywhere; }
.tabla-contenedor { overflow-x: auto; max-width: 100%; border: 1px solid var(--color-borde); border-radius: 10px; margin-top: 16px; }.tabla-inventario { width: 100%; border-collapse: collapse; text-align: left; font-size: .75rem; }.tabla-inventario th { padding: 12px; background: #f5f7f0; font-size: .625rem; font-weight: 600; color: var(--color-texto-suave); white-space: nowrap; }.tabla-inventario td { padding: 12px; border-top: 1px solid var(--color-borde); vertical-align: middle; }.tabla-inventario .chip { white-space: nowrap; font-size: .625rem; }.tabla-inventario .boton { white-space: nowrap; }.tabla__subtexto { display: block; color: var(--color-texto-suave); font-size: .625rem; margin-top: 4px; }.detalle-unidades { min-width: 0; }.detalle-unidades .tabla-inventario { font-size: .6875rem; }.detalle-unidades th, .detalle-unidades td { padding: 8px; }
.dialogo--foto { width: min(920px,calc(100vw - 32px)); }.dialogo__foto { width: 100%; max-height: 70vh; object-fit: contain; border-radius: 10px; background: #f4f5ef; }.confirmar-foto { display: block; margin: auto; border-radius: 8px; object-fit: cover; }.foto--cargando { background: #eef1e8; }.catalogo__volver { display: inline-flex; }
@media (min-width: 1101px) { .catalogo__detalle { max-height: calc(100dvh - 112px); overflow-y: auto; scrollbar-width: thin; } }
@media (max-width: 1360px) { .grilla-modelos { grid-template-columns: repeat(2,minmax(0,1fr)); }.catalogo-resumen > div { padding: 16px; }.catalogo-resumen__icono { display: none; } }
@media (max-width: 1100px) { .catalogo { grid-template-columns: minmax(0,1fr); }.catalogo--con-detalle .catalogo__lista, .catalogo--con-detalle .catalogo-resumen { display: none; }.catalogo:not(.catalogo--con-detalle) .catalogo__detalle { display: none; }.grilla-modelos { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) { .catalogo-resumen { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.catalogo-resumen > div { padding: 16px; }.catalogo-resumen strong { font-size: 1.6rem; margin-top: 6px; }.catalogo-resumen p { font-size: .625rem; }.catalogo { gap: 18px; }.catalogo__filtros { grid-template-columns: minmax(0,1fr); gap: 12px; }.catalogo-controles { gap: 6px; }.catalogo-controles .segmentado .boton { padding: 9px; }.catalogo-controles > .boton { padding: 10px; font-size: .6875rem; }.grilla-modelos { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.modelo__texto { padding: 11px; }.modelo__nombre { font-size: .75rem; }.modelo__etiqueta { top: 7px; left: 7px; font-size: .5625rem; padding: 4px 6px; }.modelo__pie { gap: 6px; padding-top: 10px; }.modelo__accion { font-size: .625rem; }.modelo__sku { font-size: .5625rem; }.tabla-inventario { min-width: 540px; }.detalle-unidades .tabla-inventario { min-width: 360px; } }
/* Filtros secundarios y resumen compacto para que las prendas aparezcan antes en el celular. */
.catalogo-opciones { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 12px 0 0; }
.modelo__red { display: block; font-size: .6875rem; line-height: 1.6; color: #366349; margin-top: 6px; }
.disponibilidad { gap: 16px; min-width: 0; }
.disp-controles { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }.disp-controles .campo { flex: 1; min-width: 150px; }
.disp-tiendas { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.disp-tienda { border: 1px solid var(--color-borde); border-radius: 12px; padding: 16px; min-width: 0; }
.disp-tienda h3 { font-size: 1rem; }.disp-tienda .tarjeta__cabecera { flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.disp-tallas { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px; }.disp-tallas:empty { display: none; }
.disp-solicitar { display: flex; gap: 12px; align-items: flex-end; margin-top: 16px; }.disp-solicitar label { display: grid; gap: 6px; font-size: .75rem; }
.disp-cantidad { width: 75px; }.disp-solicitar .boton { flex: 1; font-size: .75rem; }
#disp-local { margin: 0; }#disp-resultado .boton { margin-top: 12px; }
@media(max-width:760px){.disp-tiendas{grid-template-columns:minmax(0,1fr)}.disponibilidad>.tarjeta__cabecera{align-items:flex-start;gap:10px}.disponibilidad h2{font-size:1.2rem}.disp-controles>.boton{font-size:.75rem}.modelo__red{font-size:.625rem}.disp-solicitar{flex-wrap:wrap}}
.catalogo-opciones .catalogo-disponibles { margin: 0; }
@media (max-width: 760px) {
  .catalogo__filtros { grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .catalogo__filtros .boton { padding: 10px 12px; }
  .catalogo-resumen > div { padding: 12px; }
  .catalogo-resumen p { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; }
  .catalogo-resumen strong { font-size: 1.4rem; margin: 0; }
  .catalogo__lista > .tarjeta > .tarjeta__cabecera .tarjeta__subtitulo,
  .catalogo__lista > .tarjeta > .tarjeta__cabecera .titulo-icono__icono { display: none; }
  .catalogo__lista > .tarjeta > .tarjeta__cabecera .titulo-icono { width: 100%; }
  .catalogo__lista > .tarjeta > .tarjeta__cabecera { gap: 10px; }
}
.permiso-aviso { grid-column: 1 / -1; border: 1px solid var(--color-borde); border-radius: 14px; padding: 16px 20px; background: var(--color-superficie, #fff); }
.permiso-aviso strong { display: block; font-size: .875rem; }.permiso-aviso p { margin: 6px 0 0; font-size: .8rem; line-height: 1.5; }
.permiso-aviso--activo { border-color: #b0cbbd; background: #eff7f1; }
.permisos-inventario > .tarjeta__cabecera { align-items: flex-start; gap: 12px; }.permisos-inventario h2 { font-size: 1.4rem; }
.permisos-inventario form { display: grid; gap: 14px; margin-block: 20px; }.permiso-duracion { display: flex; flex-wrap: wrap; gap: 8px; }
.permiso-historial { display: grid; gap: 12px; margin-top: 14px; }.permiso-fila { display: flex; align-items: flex-start; gap: 14px; padding: 16px; border: 1px solid var(--color-borde); border-radius: 12px; }
.permiso-fila > div { flex: 1; min-width: 0; }.permiso-fila strong { display: block; margin-top: 10px; font-size: .85rem; }.permiso-fila p { margin-block: 8px; overflow-wrap: anywhere; }.permiso-fila small { opacity: .8; }
@media(max-width: 600px) { .permiso-fila { flex-direction: column; }.permisos-inventario .fila-campos { grid-template-columns: minmax(0,1fr); }.permisos-inventario input { min-width: 0; }.permisos-inventario h2 { font-size: 1.15rem; }.permiso-aviso { padding: 14px; } }

/* Ingreso de stock: una fila por talla */
.ingreso-filas { display: grid; gap: 12px; margin: 8px 0; }
.ingreso-fila { display: grid; grid-template-columns: minmax(110px, 1fr) 90px minmax(160px, 2fr) auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--color-borde); border-radius: 10px; }
.ingreso-fila .campo { margin: 0; }
.ingreso-fila textarea { resize: vertical; min-height: 42px; }
.ingreso-pie { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ingreso-resultado { display: grid; gap: 10px; margin-top: 12px; }
.ingreso-codigos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 6px; max-height: 220px; overflow: auto; padding: 0; margin: 0; list-style: none; font-size: .8125rem; }
@media (max-width: 640px) {
  .ingreso-fila { grid-template-columns: 1fr 1fr; }
  .ingreso-fila__codigos { grid-column: 1 / -1; }
}
