/* ============================================================
   Herramienta 1 — Convertir mayúsculas y minúsculas
   ============================================================ */

.cv-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

@media (min-width: 860px) {
  .cv-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

/* Panel de resultado: mismo tamaño que la entrada para comparar de un vistazo */
.cv-result {
  display: flex;
  flex-direction: column;
}

.cv-result .textarea {
  background: var(--accent-soft);
  border-color: var(--accent-line);
  border-style: solid;
}

.cv-result .textarea:focus {
  background: var(--surface);
}

.cv-modes {
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.cv-modes__title,
.cv-options__title {
  margin: 0 0 9px;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-3);
}

.cv-options {
  margin-top: 16px;
}

.cv-options .chips { gap: 8px; }

.cv-actions {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

/* En móvil la acción principal queda al alcance del pulgar, al final de la tarjeta */
.cv-actions .btn--primary { flex: 1 1 100%; }

@media (min-width: 560px) {
  .cv-actions .btn--primary { flex: 2 1 220px; }
}

.cv-note {
  margin: 12px 0 0;
  font-size: .75rem;
  color: var(--ink-3);
}

/* La muestra "MAYÚSCULAS / minúsculas" del chip activo refuerza qué hace cada modo */
.chip[data-mode="upper"] { font-variant-caps: normal; text-transform: uppercase; letter-spacing: .02em; }
.chip[data-mode="lower"] { text-transform: lowercase; }
