/* ================================================
   clarumo — Tabla comparativa. Minimal, uniforme, monocromo.
   Sin acentos de color: estructura por bordes finos.
   ================================================ */

.clarumo-compare-wrap {
  margin: 2.5em 0 1.5em;
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
}

.clarumo-compare-scroll {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  overflow-x: auto;
}

.clarumo-compare-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 13.5px;
  line-height: 1.5;
  text-align: left;
}

.clarumo-compare-table th,
.clarumo-compare-table td {
  word-wrap: break-word;
  overflow-wrap: break-word;
  border-bottom: 1px solid #f0f1f3;
}

.clarumo-compare-table th:not(:last-child),
.clarumo-compare-table td:not(:last-child) {
  border-right: 1px solid #f0f1f3;
}

/* ---- Header (uniforme, sin columna destacada) ---- */
.clarumo-compare-table thead th {
  background: #ffffff;
  padding: 16px 14px;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
  text-align: center;
}

.clarumo-compare-table thead th:first-child {
  width: 150px;
}

/* ---- Encabezado SEO: un bloque UNICO arriba de toda la tabla (desktop y móvil),
   con el H3 (título del producto) y el subtexto (comparados). ---- */
.clarumo-compare-header {
  margin: 0 0 12px;
}
.clarumo-compare-heading {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
}
.clarumo-compare-subhead {
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.35;
}
/* Celda esquina de la tabla: ya no lleva el encabezado, solo ocupa la columna de etiquetas. */
.clarumo-compare-table thead th.clarumo-corner {
  padding: 0;
}

.clarumo-thumb-img {
  display: block;
  width: 66px;
  height: 66px;
  object-fit: contain;
  border-radius: 8px;
  border: none;
  background: #ffffff;
  margin: 0 auto 8px;
}

.clarumo-compare-link {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
}

.clarumo-compare-name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 4px;
  line-height: 1.3;
}

.clarumo-compare-link:hover .clarumo-compare-name {
  text-decoration: underline;
}

.clarumo-price {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #111827;
  margin-top: 2px;
}

/* ---- Body (todas las celdas iguales) ---- */
.clarumo-compare-table tbody td {
  padding: 11px 14px;
  vertical-align: middle;
  color: #111827;
  font-size: 13.5px;
  font-weight: 500;
  text-align: center;
}

.clarumo-compare-table tbody tr:last-child td {
  border-bottom: none;
}

/* Zebra muy tenue: una fila sí, una no. */
.clarumo-compare-table tbody tr:nth-child(even) td {
  background: #fafafa;
}

.clarumo-compare-table tbody tr:hover td {
  background: #f1f2f3;
}

.clarumo-spec-label {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  text-align: left;
}

/* ---- Producto actual (2ª columna): contorno de color para ubicarlo. Es el ÚNICO
   acento de color; todo lo demás queda monocromo. El tono se controla desde Ajustes
   (variable --clarumo-hl, inyectada en el wrapper); si no se define, cae al azul. ---- */
.clarumo-compare-table thead th:nth-child(2) {
  background: #fbfdff;
  box-shadow: inset 0 2px 0 var(--clarumo-hl, #3b82f6), inset 2px 0 0 var(--clarumo-hl, #3b82f6), inset -2px 0 0 var(--clarumo-hl, #3b82f6);
}
.clarumo-compare-table tbody td:nth-child(2) {
  box-shadow: inset 2px 0 0 var(--clarumo-hl, #3b82f6), inset -2px 0 0 var(--clarumo-hl, #3b82f6);
}
.clarumo-compare-table tbody tr:last-child td:nth-child(2) {
  box-shadow: inset 0 -2px 0 var(--clarumo-hl, #3b82f6), inset 2px 0 0 var(--clarumo-hl, #3b82f6), inset -2px 0 0 var(--clarumo-hl, #3b82f6);
}

/* Resaltado de diferencias DESACTIVADO a propósito: look uniforme, sin naranja.
   Las clases .clarumo-diff / .clarumo-diff-cell se siguen emitiendo pero no pintan. */

/* ---- Pros / Cons (comparador del widget) ---- */
.clarumo-list-pros,
.clarumo-list-cons {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12.5px;
}

.clarumo-list-pros li {
  color: #16a34a;
  margin-bottom: 3px;
}

.clarumo-list-pros li::before {
  content: '✓ ';
  font-weight: 700;
}

.clarumo-list-cons li {
  color: #6b7280;
  margin-bottom: 3px;
}

.clarumo-list-cons li::before {
  content: '– ';
}

.clarumo-list-cons {
  margin-top: 5px;
}

/* ---- Credit line ---- */
.clarumo-compare-credit,
.clarumo-line {
  display: block;
  text-align: right;
  padding: 8px 14px;
  font-size: 11px;
  color: #9ca3af;
}

.clarumo-compare-credit a,
.clarumo-line a {
  color: #9ca3af;
  text-decoration: none;
}

.clarumo-compare-credit a:hover,
.clarumo-line a:hover {
  color: #6b7280;
}

/* ================================================
   WIDGET FLOTANTE
   ================================================ */
.clarumo-widget {
  position: fixed;
  right: 20px;
  bottom: 20px;
  max-width: 300px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #3b82f6;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0,0,0,.10);
  padding: 14px 28px 14px 16px;
  font-size: 13.5px;
  line-height: 1.45;
  color: #1f2937;
  z-index: 99999;
  transform: translateY(14px);
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}

.clarumo-widget.clarumo-show {
  transform: translateY(0);
  opacity: 1;
}

.clarumo-close {
  position: absolute;
  top: 6px;
  right: 8px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 17px;
  line-height: 1;
  color: #9ca3af;
  transition: color .15s ease;
}

.clarumo-close:hover { color: #4b5563; }

.clarumo-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.clarumo-badge-dot {
  width: 7px;
  height: 7px;
  background-color: #10b981;
  border-radius: 50%;
  display: inline-block;
  animation: clarumo-pulse 1.8s infinite;
}

.clarumo-title {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #6b7280;
}

@keyframes clarumo-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(16,185,129,.6); }
  70%  { box-shadow: 0 0 0 5px rgba(16,185,129,0); }
  100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}

.clarumo-compare-btn {
  background: transparent;
  border: 0;
  color: #3b82f6;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: underline;
}

.clarumo-compare-btn:hover {
  color: #2563eb;
  text-decoration: none;
}

/* Modal */
.clarumo-modal-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(15,23,42,.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  animation: clarumo-fade-in .2s ease-out;
}

.clarumo-modal {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 20px 48 rgba(0,0,0,.18);
  width: 90%;
  max-width: 700px;
  max-height: 85vh;
  overflow-y: auto;
  position: relative;
  padding: 26px;
  color: #1f2937;
  animation: clarumo-slide-up .22s ease-out;
}

.clarumo-modal-close {
  position: absolute;
  top: 14px; right: 16px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  color: #9ca3af;
  transition: color .15s ease;
}

.clarumo-modal-close:hover { color: #374151; }

.clarumo-modal-title {
  font-size: 16px;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 18px;
  color: #111827;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 12px;
}

.clarumo-modal-table-container {
  width: 100%;
  overflow-x: auto;
}

@keyframes clarumo-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes clarumo-slide-up {
  from { transform: translateY(16px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

.clarumo-extra-spec { display: none !important; }
.clarumo-extra-spec.clarumo-show { display: table-row !important; }

.clarumo-toggle-specs-btn {
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  color: #6b7280;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  padding: 5px 11px;
  transition: all .15s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: inherit;
}

.clarumo-toggle-specs-btn:hover {
  background: #f9fafb;
  color: #374151;
  border-color: #9ca3af;
}

/* Slider de movil: oculto en desktop (ahi manda la tabla). */
.clarumo-mobile-slider,
.clarumo-slider-hint { display: none; }

/* ================================================
   MOVIL: slider — una ficha por producto, a todo el ancho del widget
   ================================================ */
@media (max-width: 640px) {
  .clarumo-widget { left: 12px; right: 12px; max-width: none; bottom: 12px; }
  .clarumo-modal  { padding: 16px; }

  /* El encabezado unico (.clarumo-compare-header) sirve igual en móvil; solo ajustamos
     el tamaño del título para que no domine en pantallas chicas. */
  .clarumo-compare-header .clarumo-compare-heading { font-size: 16px; }

  /* En movil la tabla (angosta) se oculta y se muestra el slider: cada producto
     es una ficha a todo el ancho del widget; se desliza en horizontal con snap. */
  .clarumo-compare-scroll { display: none; }

  .clarumo-mobile-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    scrollbar-width: none;
  }
  .clarumo-mobile-slider::-webkit-scrollbar { display: none; }

  .clarumo-mprod {
    position: relative;
    flex: 0 0 92%;
    scroll-snap-align: start;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
  }
  /* Producto actual: el contorno azul se dibuja como capa POR ENCIMA de todas las
     celdas (::after con z-index) en vez de un inset box-shadow que las filas con
     fondo tapaban parcialmente — asi la linea se ve del mismo grosor en toda la ficha. */
  .clarumo-mprod.clarumo-mcurrent {
    border-color: var(--clarumo-hl, #3b82f6);
  }
  .clarumo-mprod.clarumo-mcurrent::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 2px solid var(--clarumo-hl, #3b82f6);
    border-radius: 12px;
    pointer-events: none;
    z-index: 2;
  }

  .clarumo-mprod-head {
    text-align: center;
    padding: 16px 14px;
    border-bottom: 1px solid #e5e7eb;
  }
  .clarumo-mprod-head .clarumo-thumb-img { width: 70px; height: 70px; margin-bottom: 8px; }

  /* Columnas de ancho FIJO (grid), no reparto automatico: asi la linea que separa
     etiqueta de valor cae en el mismo punto en TODAS las fichas del mismo producto.
     Como cada ficha mide lo mismo (flex 0 0 92%), al deslizar en horizontal las
     celdas no se mueven de lugar entre una ficha y la siguiente. */
  .clarumo-mrow {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    align-items: baseline;
    gap: 14px;
    padding: 10px 16px;
    border-bottom: 1px solid #f0f1f3;
    font-size: 13.5px;
    line-height: 1.4;
  }
  .clarumo-mrow:last-child { border-bottom: none; }
  .clarumo-mprod-specs .clarumo-mrow:nth-child(even) { background: #fafafa; }
  .clarumo-mlabel { color: #6b7280; font-weight: 500; text-align: left; min-width: 0; overflow-wrap: break-word; }
  .clarumo-mval  { color: #111827; font-weight: 500; text-align: right; min-width: 0; overflow-wrap: break-word; }

  /* Unificar alturas de fila ENTRE fichas: el slider deja de ser 3 fichas sueltas y pasa a ser
     UNA sola rejilla; cada ficha es un subgrid que comparte las mismas pistas de fila. Asi la
     hilera N mide lo mismo en las 3 fichas y, al deslizar en horizontal, las filas quedan
     alineadas (se siente como una sola tabla comparativa, no como 3 fichas distintas).
     El numero de pistas lo pone el shortcode inline (grid-template-rows: repeat(N, auto)).
     Requiere subgrid; sin soporte, cae al slider de flex de arriba (funcional, sin alinear). */
  @supports (grid-template-rows: subgrid) {
    .clarumo-mobile-slider {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 92%;
      gap: 0 12px;
    }
    .clarumo-mprod {
      flex: none;
      grid-row: 1 / -1;
      display: grid;
      grid-template-rows: subgrid;
    }
    .clarumo-mprod-head { grid-row: 1; }
    .clarumo-mprod-specs {
      grid-row: 2 / -1;
      display: grid;
      grid-template-rows: subgrid;
    }
    /* Con la fila mas alta marcando la altura, el contenido se ancla arriba para que una
       celda de 1 linea no quede flotando a media altura frente a otra de 3 lineas. */
    .clarumo-mrow { align-content: start; }
  }

  .clarumo-slider-hint {
    display: block;
    text-align: center;
    font-size: 11px;
    color: #9ca3af;
    margin: 9px 0 0;
  }
}
