/* Página de producto (producto.html) y comparador (comparar.html) */

/* ---------- Estructura: 1 columna (móvil), 2 (768) y 3 con tarjeta de compra sticky (1280) ---------- */
.ficha__principal {
  display: grid; gap: var(--esp-5); padding-block: var(--esp-4) var(--esp-6);
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "gal" "titulo" "compra" "resumen";
}
.ficha__galeria { grid-area: gal; min-width: 0; }
.ficha__titulo { grid-area: titulo; min-width: 0; }
.ficha__resumen { grid-area: resumen; min-width: 0; }
.ficha__compra { grid-area: compra; min-width: 0; }
@media (min-width: 768px) {
  .ficha__principal {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--esp-6);
    grid-template-areas: "gal titulo" "gal compra" "gal resumen"; grid-template-rows: auto auto 1fr;
  }
  .ficha__galeria { align-self: start; position: sticky; top: calc(var(--alto-header) + 48px); }
}
@media (min-width: 1280px) {
  .ficha__principal {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 360px; column-gap: var(--esp-6);
    grid-template-areas: "gal titulo compra" "gal resumen compra"; grid-template-rows: auto 1fr;
  }
  .ficha__galeria { position: static; align-self: start; }
  .ficha__compra { align-self: start; position: sticky; top: calc(var(--alto-header) + 52px); }
}
@media (min-width: 1600px) {
  .ficha__principal { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 400px; column-gap: var(--esp-7); }
}

/* ---------- Galería ---------- */
.galeria { display: flex; flex-direction: column; gap: var(--esp-3); }
.galeria__nota { margin: var(--esp-2) 0 0; font-size: var(--texto-xs); color: var(--color-texto-suave); font-style: italic; }
.galeria__principal { position: relative; border: 1px solid var(--color-borde); border-radius: var(--radio-lg); overflow: hidden; background: var(--color-fondo-claro); aspect-ratio: 1 / 1; cursor: zoom-in; order: 1; }
.galeria__principal img { width: 100%; height: 100%; object-fit: contain; transition: transform 0.15s ease; }
.galeria__principal--zoom img { transform: scale(2); }
.galeria__ampliar { position: absolute; right: 10px; bottom: 10px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--color-borde); border-radius: 50%; background: rgba(255, 255, 255, 0.92); color: var(--color-texto); }
.galeria__ampliar:hover { background: #fff; color: var(--color-primario-oscuro); }
.galeria__miniaturas { display: flex; gap: var(--esp-2); order: 2; overflow-x: auto; padding-bottom: 4px; }
.galeria__mini { flex: none; width: 72px; height: 72px; padding: 0; border: 2px solid var(--color-borde); border-radius: var(--radio-sm); overflow: hidden; background: #fff; }
.galeria__mini[aria-current="true"] { border-color: var(--color-primario); }
.galeria__mini img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1280px) {
  .galeria { flex-direction: row; align-items: flex-start; }
  .galeria__principal { flex: 1; min-width: 0; order: 2; }
  .galeria__miniaturas { order: 1; flex-direction: column; overflow: visible; max-height: 100%; }
}

/* Visor ampliado */
.visor { border: 0; padding: 0; background: transparent; max-width: 96vw; max-height: 96vh; overflow: visible; }
.visor::backdrop { background: rgba(20, 24, 29, 0.88); }
.visor__img { max-width: min(92vw, 1100px); max-height: 86vh; width: auto; height: auto; background: #fff; border-radius: var(--radio-sm); margin: 0 auto; }
.visor__cerrar, .visor__nav { position: absolute; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #fff; color: var(--color-texto); }
.visor__cerrar { top: -52px; right: 0; }
.visor__nav { top: 50%; transform: translateY(-50%); }
.visor__nav--ant { left: 8px; }
.visor__nav--sig { right: 8px; }

/* ---------- Información ---------- */
.producto__info h1 { font-size: var(--texto-2xl); overflow-wrap: anywhere; margin-bottom: var(--esp-1); }
@media (min-width: 1280px) { .producto__info h1 { font-size: clamp(1.9rem, 1.3rem + 1vw, 2.5rem); } }
.ficha__denominacion { margin: 0 0 var(--esp-3); font-size: var(--texto-lg); font-weight: 500; color: var(--color-primario-oscuro); line-height: 1.4; max-width: var(--medida); }
.ficha__datos { display: flex; flex-wrap: wrap; gap: var(--esp-2) var(--esp-5); margin: 0 0 var(--esp-3); padding: var(--esp-3) 0; border-block: 1px solid var(--color-borde); }
.ficha__dato { min-width: 0; }
.ficha__dato dt { font-size: var(--texto-xs); text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-texto-suave); }
.ficha__dato dd { margin: 0; font-size: var(--texto-sm); font-weight: 600; overflow-wrap: anywhere; }
.producto__etiquetas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--esp-3); }
.ficha__intro { margin: 0 0 var(--esp-3); max-width: var(--medida); color: var(--color-texto); }
.ficha__ver { margin: 0; }
.ficha__puntos { list-style: none; margin: 0 0 var(--esp-4); padding: 0; display: grid; gap: var(--esp-2); }
.ficha__puntos li { position: relative; padding-left: 1.4rem; max-width: var(--medida); }
.ficha__puntos li::before { content: ""; position: absolute; left: 0; top: 0.35em; width: 0.9rem; height: 0.9rem; border-radius: 50%; background: var(--color-fondo-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007a00' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 70% no-repeat; }
.ficha__subtitulo { font-size: var(--texto-lg); margin: var(--esp-4) 0 var(--esp-2); }

.tabla-esp th, .tabla-esp td { text-align: left; padding: 0.6rem 0.9rem; border-bottom: 1px solid var(--color-borde); font-size: var(--texto-sm); vertical-align: top; overflow-wrap: anywhere; }
.tabla-esp th { width: 40%; font-weight: 500; background: var(--color-fondo-claro); }
.tabla-esp tr[hidden] { display: none; }

/* ---------- Tarjeta de compra ---------- */
.compra__tarjeta { border: 1px solid var(--color-borde); border-radius: var(--radio-lg); padding: var(--esp-5); background: #fff; box-shadow: var(--sombra-sm); display: grid; gap: var(--esp-3); }
.producto__precio { font-size: var(--texto-3xl); font-weight: 600; line-height: 1.1; margin: 0; }
.producto__precio .precio { font-size: inherit; }
.compra__stock { margin: 0; font-size: var(--texto-sm); font-weight: 500; }
.compra__stock--ok { color: var(--color-exito); }
.compra__stock--bajo, .compra__stock--pedido { color: var(--color-aviso); }
.compra__stock--no { color: var(--color-error); }
.producto__compra { display: flex; flex-wrap: wrap; gap: var(--esp-3); align-items: center; }
.producto__compra .boton { flex: 1 1 160px; }
.compra__datos { list-style: none; margin: 0; padding: var(--esp-3) 0 0; border-top: 1px solid var(--color-borde); display: grid; gap: var(--esp-3); font-size: var(--texto-sm); }
.compra__datos li { display: flex; gap: var(--esp-2); align-items: flex-start; }
.compra__datos .icono { color: var(--color-primario); margin-top: 2px; }
.compra__asesor { background: var(--color-fondo-claro); border-radius: var(--radio); padding: var(--esp-3) var(--esp-4); font-size: var(--texto-sm); }
.compra__asesor p { margin: 0; overflow-wrap: anywhere; }
.compra__asesor-titulo { font-weight: 600; margin-bottom: var(--esp-1) !important; }
.compra__ayuda { margin: calc(var(--esp-2) * -1) 0 0; font-size: var(--texto-xs); color: var(--color-texto-suave); text-align: center; }
.compra__extra { display: flex; flex-wrap: wrap; gap: var(--esp-2); }

/* ---------- Cuerpo de la ficha: índice sticky + acordeón ---------- */
.ficha__cuerpo { display: grid; gap: var(--esp-3); grid-template-columns: minmax(0, 1fr); align-items: start; margin-top: var(--esp-3); padding-bottom: var(--esp-6); }
.ficha__sin-datos { grid-column: 1 / -1; }
.ficha__secciones { min-width: 0; }

/* Índice de anclas: fila deslizable pegada bajo el header en móvil; columna lateral sticky en escritorio */
.ficha__indice { position: sticky; top: var(--header-h, 106px); z-index: 5; background: #fff; padding: var(--esp-2) 0; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); border-bottom: 1px solid var(--color-borde); }
.ficha__indice-titulo { display: none; }
.ficha__indice-lista { list-style: none; margin: 0; padding: 0 0 2px; display: flex; gap: var(--esp-2); overflow-x: auto; scrollbar-width: thin; }
.ficha__indice-enlace { display: block; white-space: nowrap; padding: 0.45rem 0.9rem; border: 1px solid var(--color-borde); border-radius: 999px; font-size: var(--texto-sm); text-decoration: none; color: var(--color-texto); background: #fff; }
.ficha__indice-enlace:hover { border-color: var(--color-primario); color: var(--color-primario-oscuro); }
.ficha__indice-enlace[aria-current="location"] { background: var(--color-primario); border-color: var(--color-primario); color: #fff; }
@media (min-width: 1024px) {
  .ficha__cuerpo { grid-template-columns: 230px minmax(0, 1fr); gap: var(--esp-6); margin-top: var(--esp-4); }
  .ficha__indice { top: calc(var(--header-h, 106px) + 16px); margin: 0; padding: var(--esp-3); border: 1px solid var(--color-borde); border-radius: var(--radio); background: var(--color-fondo-claro); max-height: calc(100vh - var(--header-h, 106px) - 32px); overflow-y: auto; }
  .ficha__indice-titulo { display: block; margin: 0 0 var(--esp-2); font-size: var(--texto-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-texto-suave); }
  .ficha__indice-lista { flex-direction: column; gap: 2px; overflow: visible; padding: 0; }
  .ficha__indice-enlace { border: 0; border-radius: var(--radio-sm); background: transparent; white-space: normal; padding: 0.5rem 0.7rem; }
  .ficha__indice-enlace:hover { background: var(--color-fondo-verde); }
}
@media (min-width: 1280px) { .ficha__cuerpo { grid-template-columns: 250px minmax(0, 1fr); } }

.acordeon__barra { display: flex; flex-wrap: wrap; gap: var(--esp-2); align-items: center; margin-bottom: var(--esp-3); }
.acordeon__estado { font-size: var(--texto-xs); color: var(--color-texto-suave); }
.acordeon { display: grid; gap: var(--esp-3); }
.acordeon__item { border: 1px solid var(--color-borde); border-radius: var(--radio); background: #fff; scroll-margin-top: calc(var(--header-h, 106px) + 64px); }
@media (min-width: 1024px) { .acordeon__item { scroll-margin-top: calc(var(--header-h, 106px) + 16px); } }
.acordeon__titulo { margin: 0; font-size: var(--texto-lg); }
.acordeon__boton { display: flex; align-items: center; gap: var(--esp-3); width: 100%; min-height: 56px; padding: var(--esp-3) var(--esp-4); border: 0; border-radius: var(--radio); background: transparent; color: var(--color-texto); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.acordeon__boton:hover { background: var(--color-fondo-verde); }
.acordeon__texto { flex: 1; min-width: 0; }
.acordeon__contador { min-width: 1.6rem; padding: 0 0.5rem; border-radius: 999px; background: var(--color-fondo-verde); color: var(--color-primario-oscuro); font-size: var(--texto-xs); text-align: center; line-height: 1.6rem; }
.acordeon__flecha { transition: transform var(--transicion); }
.acordeon__boton[aria-expanded="true"] .acordeon__flecha { transform: rotate(180deg); }
.acordeon__item--abierto > .acordeon__titulo .acordeon__boton { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 1px solid var(--color-borde); background: var(--color-fondo-verde); }
.acordeon__contenido { padding: var(--esp-4); }
@media (min-width: 1280px) { .acordeon__contenido { padding: var(--esp-5); } }
.acordeon__panel[hidden] { display: none; }

.ficha__descripcion { max-width: var(--medida); margin-bottom: var(--esp-4); }
@media (min-width: 1280px) { .ficha__descripcion { font-size: var(--texto-base); line-height: 1.7; } }
.ficha__rico { max-width: var(--medida); }

/* Selector Métrico / Imperial */
.seccion__herramientas { display: flex; justify-content: flex-end; margin-bottom: var(--esp-3); }
.seccion__herramientas:empty { display: none; }
.unidades { display: inline-flex; align-items: center; margin: 0; padding: 0; border: 1.5px solid #b9cdb6; border-radius: var(--radio-sm); background: #fff; overflow: hidden; min-width: 0; }
.unidades[hidden] { display: none; }
.unidades__leyenda { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; padding: 0; }
.unidades__opcion { position: relative; display: block; cursor: pointer; }
.unidades__opcion + .unidades__opcion { border-left: 1px solid var(--color-borde); }
.unidades__radio { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.unidades__opcion span { display: block; padding: 0.5rem 1rem; min-height: 38px; font-size: var(--texto-sm); font-weight: 500; color: var(--color-texto-suave); line-height: 1.7; }
.unidades__radio:checked + span { background: var(--color-primario); color: #fff; }
.unidades__radio:focus-visible + span { outline: 3px solid var(--color-texto); outline-offset: -3px; }

/* Descripción general: tarjetas por grupo (de 2 a 4 columnas según el ancho) */
.gen { display: grid; gap: var(--esp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: start; }
.gen__grupo { border: 1px solid var(--color-borde); border-radius: var(--radio); overflow: hidden; background: #fff; min-width: 0; }
.gen__titulo { margin: 0; padding: var(--esp-2) var(--esp-4); font-size: var(--texto-sm); background: var(--color-fondo-verde); color: var(--color-primario-oscuro); }
.gen__lista { margin: 0; }
.gen__fila { display: flex; justify-content: space-between; align-items: baseline; gap: var(--esp-3); padding: 0.6rem var(--esp-4); border-top: 1px solid var(--color-borde); font-size: var(--texto-sm); }
.gen__titulo + .gen__lista .gen__fila:first-child, .gen__lista .gen__fila:first-child { border-top: 0; }
.gen__nombre { color: var(--color-texto-suave); min-width: 0; overflow-wrap: anywhere; }
.gen__valor { margin: 0; font-weight: 600; text-align: right; min-width: 0; overflow-wrap: anywhere; }
.gen__nota, .tec__nota { display: block; font-weight: 400; font-size: var(--texto-xs); color: var(--color-texto-suave); }

/* Especificación técnica: tabla Símbolo | Valor | Descripción */
.tec { display: grid; gap: var(--esp-5); }
.tec__dibujos { margin-bottom: var(--esp-5); }
.tec__titulo-dibujos, .tec__titulo { margin: 0 0 var(--esp-2); font-size: var(--texto-base); }
.tec__grupo { min-width: 0; }
.tec__envoltura { overflow-x: auto; border: 1px solid var(--color-borde); border-radius: var(--radio); }
.tec__tabla, .compat { width: 100%; border-collapse: collapse; font-size: var(--texto-sm); }
.tec__tabla th, .tec__tabla td, .compat th, .compat td { text-align: left; padding: 0.6rem var(--esp-3); border-bottom: 1px solid var(--color-borde); vertical-align: top; overflow-wrap: anywhere; }
.tec__tabla thead th, .compat thead th { background: var(--color-oscuro); color: #fff; font-size: var(--texto-xs); text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 0; }
.tec__tabla tbody tr:last-child > *, .compat tbody tr:last-child > * { border-bottom: 0; }
.tec__tabla tbody tr:nth-child(even) { background: var(--color-fondo-claro); }
.tec__tabla .tec__simbolo { width: 5.5rem; font-weight: 600; font-style: italic; white-space: nowrap; color: var(--color-primario-oscuro); background: transparent; }
.tec__tabla .tec__valor { width: 28%; min-width: 7rem; font-weight: 600; white-space: nowrap; }
.tec__tabla thead th:first-child { width: 5.5rem; }
@media (max-width: 575px) { .tec__tabla .tec__valor { white-space: normal; } }

/* Dibujos con zoom */
.dibujos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--esp-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.dibujos__boton { position: relative; display: block; width: 100%; padding: 0; border: 1px solid var(--color-borde); border-radius: var(--radio); background: #fff; cursor: zoom-in; overflow: hidden; }
.dibujos__boton:hover { border-color: var(--color-primario); }
.dibujos__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
.dibujos__lupa { position: absolute; right: 8px; bottom: 8px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, 0.92); border: 1px solid var(--color-borde); color: var(--color-texto); }
.dibujos__titulo { margin: var(--esp-2) 0 0; font-size: var(--texto-sm); font-weight: 500; text-align: center; }

.vdib { border: 0; padding: 0; background: #fff; border-radius: var(--radio); width: min(96vw, 1280px); height: min(92vh, 920px); max-width: none; max-height: none; flex-direction: column; overflow: hidden; }
.vdib[open] { display: flex; }
.vdib::backdrop { background: rgba(20, 24, 29, 0.88); }
.vdib__cab { display: flex; flex-wrap: wrap; gap: var(--esp-2) var(--esp-4); align-items: center; justify-content: space-between; padding: var(--esp-3) var(--esp-4); border-bottom: 1px solid var(--color-borde); }
.vdib__titulo { margin: 0; font-size: var(--texto-base); overflow-wrap: anywhere; }
.vdib__controles { display: flex; flex-wrap: wrap; gap: var(--esp-2); align-items: center; }
.vdib__boton { min-width: 40px; min-height: 40px; padding: 0 0.8rem; border: 1.5px solid var(--color-borde); border-radius: var(--radio-sm); background: #fff; color: var(--color-texto); font: inherit; font-size: var(--texto-sm); font-weight: 500; cursor: pointer; }
.vdib__boton:hover:not([disabled]) { border-color: var(--color-primario); color: var(--color-primario-oscuro); }
.vdib__boton[disabled] { opacity: 0.45; cursor: not-allowed; }
.vdib__boton[hidden] { display: none; }
.vdib__cerrar { background: var(--color-primario); border-color: var(--color-primario); color: #fff; }
.vdib__nivel { min-width: 3.2rem; text-align: center; font-size: var(--texto-sm); font-variant-numeric: tabular-nums; }
.vdib__area { flex: 1; min-height: 0; overflow: auto; background: #fff; overscroll-behavior: contain; }
.vdib__area--zoom { cursor: grab; }
.vdib__area--arrastrando { cursor: grabbing; user-select: none; }
.vdib__img { display: block; max-width: none; height: auto; margin: 0; }

/* CAD */
.cad__aviso { margin: 0 0 var(--esp-3); color: var(--color-texto-suave); font-size: var(--texto-sm); }
.cad { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--esp-3); }
@media (min-width: 1024px) { .cad { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cad__item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--esp-3); align-items: center; border: 1px solid var(--color-borde); border-radius: var(--radio); padding: var(--esp-3) var(--esp-4); }
.cad__formato { min-width: 56px; padding: 0.5rem 0.4rem; border-radius: var(--radio-sm); background: var(--color-oscuro); color: #fff; font-size: var(--texto-xs); font-weight: 600; letter-spacing: 0.04em; text-align: center; }
.cad__titulo { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.cad__meta { margin: 0; font-size: var(--texto-xs); color: var(--color-texto-suave); }
@media (max-width: 575px) { .cad__item { grid-template-columns: auto minmax(0, 1fr); } .cad__item .boton { grid-column: 1 / -1; } }

/* Productos compatibles */
.compat__componente { width: 34%; font-weight: 600; background: transparent; }
.compat__enlace { display: flex; gap: var(--esp-3); align-items: center; color: var(--color-texto); text-decoration: none; }
.compat__enlace:hover strong { color: var(--color-primario-oscuro); text-decoration: underline; }
.compat__enlace img { width: 56px; height: 56px; object-fit: contain; border: 1px solid var(--color-borde); border-radius: var(--radio-sm); background: #fff; flex: none; }
.compat__datos { display: grid; min-width: 0; }
.compat__datos small, .compat__texto { color: var(--color-texto-suave); font-size: var(--texto-xs); }
.compat__texto { display: block; margin-top: 4px; }

/* Montaje y logística */
.montaje { display: grid; gap: var(--esp-5); }
.montaje__bloque h3 { font-size: var(--texto-lg); }
.log { margin: 0; display: grid; gap: 0; border: 1px solid var(--color-borde); border-radius: var(--radio); overflow: hidden; max-width: 720px; }
.log__fila { display: flex; justify-content: space-between; gap: var(--esp-3); padding: 0.65rem var(--esp-4); font-size: var(--texto-sm); }
.log__fila + .log__fila { border-top: 1px solid var(--color-borde); }
.log__fila:nth-child(even) { background: var(--color-fondo-claro); }
.log dt { color: var(--color-texto-suave); }
.log__valor { margin: 0; font-weight: 600; text-align: right; overflow-wrap: anywhere; }

/* Documentos */
.docs { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--esp-3); }
@media (min-width: 1024px) { .docs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.docs__item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--esp-3); align-items: center; border: 1px solid var(--color-borde); border-radius: var(--radio); padding: var(--esp-3) var(--esp-4); }
.docs__icono { width: 44px; height: 44px; display: grid; place-items: center; background: var(--color-fondo-verde); color: var(--color-primario-oscuro); border-radius: 12px; }
.docs__icono .icono { width: 24px; height: 24px; }
.docs__titulo { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.docs__meta { margin: 0; font-size: var(--texto-xs); color: var(--color-texto-suave); }
.docs__acciones { grid-column: 1 / -1; display: flex; gap: var(--esp-2); flex-wrap: wrap; }
@media (min-width: 576px) { .docs__item { grid-template-columns: auto minmax(0, 1fr) auto; } .docs__acciones { grid-column: auto; } }

/* Videos */
.videos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--esp-4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .videos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1600px) { .videos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.video__marco { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radio); overflow: hidden; background: #14181d; }
.video__boton { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: linear-gradient(135deg, #14181d, #1b3a1b); cursor: pointer; display: grid; place-items: center; }
.video__mini { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
.video__play { position: relative; width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; background: var(--color-primario); color: #fff; box-shadow: var(--sombra-lg); }
.video__play .icono { fill: currentColor; stroke: none; width: 30px; height: 30px; }
.video__boton:hover .video__play { background: var(--color-primario-oscuro); transform: scale(1.06); }
.video__prov { position: absolute; left: 12px; bottom: 10px; color: #fff; font-size: var(--texto-xs); font-weight: 600; }
.video__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video__titulo { margin: var(--esp-2) 0 0; font-size: var(--texto-sm); font-weight: 500; }

.dos-listas { display: grid; gap: var(--esp-5); }
@media (min-width: 768px) { .dos-listas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lista-ficha h3 { font-size: var(--texto-lg); }
.lista-ficha ul { padding-left: 1.2rem; }
.lista-ficha li { margin-bottom: var(--esp-1); }
.ficha__cuerpo .cms-faq { max-width: 960px; }

/* ---------- Carruseles ---------- */
.ficha__carrusel { padding-block: var(--esp-5) var(--esp-4); border-top: 1px solid var(--color-borde); min-width: 0; }
.ficha__carrusel:last-child { padding-bottom: var(--seccion-y); }
.ficha__carrusel .encabezado-fila h2 { font-size: var(--texto-2xl); }
.carrusel__flechas { display: flex; gap: var(--esp-2); }
.carrusel__flecha { width: 42px; height: 42px; display: grid; place-items: center; border: 1.5px solid var(--color-borde); border-radius: 50%; background: #fff; color: var(--color-texto); }
.carrusel__flecha:hover { border-color: var(--color-primario); color: var(--color-primario-oscuro); }
.rejilla-productos.carrusel__pista {
  display: flex; gap: var(--esp-3); overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: var(--esp-3); scrollbar-width: thin;
}
.carrusel__pista > li { flex: 0 0 min(72%, 240px); scroll-snap-align: start; }
@media (min-width: 768px) { .carrusel__pista > li { flex-basis: 250px; } }
@media (min-width: 1600px) { .carrusel__pista > li { flex-basis: 270px; } }

/* ---------- Comparador ---------- */
.comparar { padding-block: var(--esp-5) var(--seccion-y); }
.comparar__herramientas { display: flex; flex-wrap: wrap; gap: var(--esp-3); justify-content: space-between; align-items: center; margin-bottom: var(--esp-4); }
.comparar__acciones { display: flex; flex-wrap: wrap; gap: var(--esp-2); }
.comparar__envoltura { overflow-x: auto; border: 1px solid var(--color-borde); border-radius: var(--radio); background: #fff; }
.comparar__tabla { min-width: 640px; table-layout: fixed; }
.comparar__tabla th, .comparar__tabla td { text-align: left; padding: 0.7rem 0.9rem; border-bottom: 1px solid var(--color-borde); font-size: var(--texto-sm); vertical-align: top; overflow-wrap: anywhere; }
.comparar__tabla thead th { background: var(--color-fondo-claro); vertical-align: bottom; }
.comparar__esq { width: 180px; }
.comparar__prod a { display: grid; gap: var(--esp-2); color: var(--color-texto); text-decoration: none; margin-bottom: var(--esp-2); }
.comparar__prod img { width: 100%; max-width: 140px; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: var(--radio-sm); }
.comparar__nombre { font-weight: 600; }
.comparar__tabla tbody th[scope="row"] { font-weight: 500; background: var(--color-fondo-claro); }
.comparar__simbolo { display: inline-block; min-width: 1.8em; margin-right: 0.4em; padding: 0 0.35em; border-radius: var(--radio-sm); background: var(--color-fondo-verde); color: var(--color-primario-oscuro); font-style: italic; font-weight: 600; text-align: center; }
.comparar__seccion th { background: var(--color-oscuro); color: #fff; font-size: var(--texto-base) !important; }
.comparar__grupo th { background: var(--color-fondo-verde); }
@media (min-width: 1024px) { .comparar__esq { width: 220px; } }

/* ---------- Impresión ----------
   La ficha imprimible oficial es ficha-pdf.html (botón "Descargar ficha PDF"). Si alguien imprime esta página
   con Ctrl+P se deja una versión limpia con todas las secciones abiertas. El comparador también se imprime sin adornos. */
@media print {
  @page { margin: 14mm; }
  body { font-size: 11pt; color: #000; background: #fff; }
  .topbar, .header, .footer, .wa-flotante, .overlay, .minicarrito, .migas, .toast-zona, .comparar-barra, .aviso-sitio, .cms-franja,
  .ficha__compra, .ficha__carrusel, #ficha-carruseles, .galeria__miniaturas, .galeria__ampliar, .ficha__indice, .acordeon__barra,
  .seccion__herramientas, .docs__acciones, .saltar-contenido, #aviso-respaldo, .visor, .vdib, .ficha__ver, .video__boton { display: none !important; }
  .contenedor { max-width: none; padding-inline: 0; }
  .ficha__principal { display: grid !important; grid-template-columns: 38% 1fr !important; grid-template-areas: "gal titulo" "gal resumen" !important; gap: 14px !important; padding: 0; }
  .ficha__galeria { position: static !important; }
  .galeria__principal { border: 1px solid #ccc; cursor: default; }
  .galeria__principal img { transform: none !important; }
  .ficha__cuerpo { display: block; }
  .acordeon__panel[hidden] { display: block !important; }
  .acordeon__item { border: 0; break-inside: auto; }
  .acordeon__boton { padding: 8px 0 4px; border-bottom: 1px solid #999 !important; background: transparent !important; font-size: 13pt; }
  .acordeon__flecha { display: none; }
  .gen__grupo, .tec__grupo { break-inside: avoid; }
  .tec__tabla thead th { background: #eee !important; color: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .tec__envoltura { overflow: visible; }
  a { color: #000; text-decoration: none; }
  .etiqueta { border: 1px solid #999; background: #fff !important; color: #000 !important; }
  .comparar__herramientas { display: none; }
  .comparar__envoltura { overflow: visible; border: 0; }
  .comparar__tabla { min-width: 0; }
  .comparar__prod .boton { display: none; }
}
