@media (max-width: 1500px) {
  .cmr-topbar-nav:has(a:nth-child(7)) { gap: 0.8rem; font-size: 0.86rem; }
  .cmr-topbar-nav:has(a:nth-child(7)) a:nth-child(n+7):not(.cmr-topbar-cta) span { display: none; }
  .cmr-topbar-nav:has(a:nth-child(7)) a:nth-child(n+7):not(.cmr-topbar-cta) {
    padding: 0.2rem; }
  .cmr-topbar-nav:has(a:nth-child(7)) a:nth-child(n+7) .cmr-icon { width: 18px; height: 18px; }
}

@media (max-width: 1180px) {
  .cmr-topbar-nav a:not(.cmr-topbar-cta):not(:first-child) span { display: none; }
  .cmr-topbar-nav a .cmr-icon { width: 18px; height: 18px; }
  .cmr-topbar-nav { gap: 0.9rem; }
}

@media (max-width: 460px) {
  .cmr-venta-acc { flex-direction: column; align-items: stretch; }
  .cmr-venta-btn { justify-content: center; }
}

@media (max-width: 640px) {
  .cmr-cal-cartel { width: 78px; }
  .cmr-rd-atajo { display: none; }
}

@media (max-width: 1080px) {
  .cmr-rd-hilo { max-height: 46vh; }
}

@media (max-width: 900px) {
  .cmr-editores-grid, .cmr-biblioteca-grid, .cmr-publicar-grid { grid-template-columns: 1fr; gap: 2rem; }
  .cmr-buscar-flotante { left: 0.5rem; right: 0.5rem; width: auto; top: auto; bottom: 0.5rem; max-height: 60vh; }
}

@media (max-width: 640px) {
  .cmr-preview-body .cmr-2col, .cmr-preview-body .cmr-2col-rev { grid-template-columns: 1fr; }
  .cmr-preview-body .cmr-2col-rev .cmr-2col-media { order: 0; }
  .cmr-preview-body ol.cmr-qgrid { grid-template-columns: 1fr; }
  .cmr-preview-body figure.cmr-embed iframe { height: 400px; }
}

@media (max-width: 700px) {
  .cmr-preview-body .cmr-cols-2 { column-count: 1; }
}

@media (max-width: 719px) {
  .cmr-preview-body img[data-ancho="25"] { width: 60% !important; }
  .cmr-preview-body img[data-ancho="50"] { width: 85% !important; }
  .cmr-preview-body img[data-ancho="75"] { width: 100% !important; }
  .cmr-preview-body img.cmr-img-izq,
  .cmr-preview-body img.cmr-img-der { width: 100%; }
  .cmr-preview-body img[data-ancho],
  .cmr-preview-body img.cmr-img-izq,
  .cmr-preview-body img.cmr-img-der { margin-left: auto; margin-right: auto; }
}

@media (max-width: 560px) {
  .cmr-preview-body .cmr-transcripcion p { padding-left: 0; text-indent: 0; }
  .cmr-preview-body .cmr-transcripcion p strong { display: block; margin-bottom: 0.15rem; }
  .cmr-diff { padding: 0.7rem; }
  .cmr-diff-cuerpo { max-height: 40vh; }
}

@media (max-width: 1080px) {
  .cmr-publicar-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .cmr-publicar-lateral { position: static; max-height: none; order: -1; }
  .cmr-publicar-lateral .cmr-rd-chips { flex-direction: row; }
  .cmr-publicar-lateral { height: auto; }
  .cmr-publicar-lateral .cmr-rd { height: auto; }
}

@media (max-width: 900px) {
  /* Debajo de esto el menú partido no cabe: se va al cajón y queda el logo. */
  .cmr-nav-lado { display: none; }
  .cmr-nav { grid-template-columns: 1fr; justify-items: center; }

  .cmr-cal-cultural { grid-template-columns: 1fr; }
  .cmr-reserva { grid-template-columns: 1fr; }
  .cmr-reserva-col:first-child { border-right: none; border-bottom: 1px solid var(--crema); }
  .cmr-datos-rejilla { grid-template-columns: 1fr; }
  .cmr-noticias { grid-template-columns: 1fr; }
  .cmr-ficha { grid-template-columns: 1fr; }
  .cmr-pie-cuerpo { grid-template-columns: 1fr; justify-items: center; gap: 2.5rem; text-align: center; }
  .cmr-pie-datos { padding-left: 0; border-left: none; }
  .cmr-pie-dato a, .cmr-pie-dato { justify-content: center; }
}

/* En móvil una tabla de seis columnas no cabe de ninguna manera, y el scroll
   horizontal esconde justo lo que hace falta: los botones de confirmar. Cada
   fila pasa a ser una ficha, y cada celda lleva su etiqueta delante. */
@media (max-width: 760px) {
  .cmr-tabla, .cmr-tabla thead, .cmr-tabla tbody,
  .cmr-tabla tr, .cmr-tabla th, .cmr-tabla td { display: block; }

  .cmr-tabla thead { display: none; }

  .cmr-tabla tr {
    margin-bottom: 1rem;
    padding: .9rem;
    border: 1px solid var(--crema);
    border-radius: var(--radio);
  }

  /* La etiqueta va posicionada, no como columna de un grid: si la celda fuera
     grid, cada hijo del td ocuparía su propia casilla y el correo acabaría al
     lado de la institución en vez de debajo. Así los hijos siguen siendo
     bloques normales y solo se les deja hueco a la izquierda. */
  .cmr-tabla td {
    position: relative;
    padding: .4rem 0 .4rem 7.5rem;
    min-height: 1.6rem;
    border: none;
  }
  .cmr-tabla td::before {
    content: attr(data-col);
    position: absolute;
    left: 0;
    top: .45rem;
    width: 7rem;
    font-weight: 800;
    font-size: .62rem;
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--gris);
  }
  .cmr-tabla td:empty { display: none; }

  .cmr-col-personas { text-align: left; }
  .cmr-col-motivo { max-width: none; }
  .cmr-col-acciones { min-width: 0; }

  /* Los botones de acción se ponen a lo ancho: en un móvil se pulsan con el
     pulgar, no con un cursor. */
  .cmr-col-acciones .cmr-boton-mini,
  .cmr-col-acciones .cmr-nota { width: 100%; padding-block: .6rem; }

  .cmr-bitacora-acciones .cmr-boton-mini { flex: 1 1 100%; padding-block: .6rem; }
  .cmr-foto, .cmr-foto img { width: 4.5rem; }
  .cmr-foto img { height: 4.5rem; }
}

@media (max-width: 560px) {
  .cmr-seccion { padding: 3.5rem 1.2rem; }
  .cmr-noticia { grid-template-columns: 1fr; padding: 1.2rem; }
  .cmr-noticia-img { width: 100%; height: 12rem; margin-left: 0; }
  .cmr-pie-base { flex-direction: column; text-align: center; }
}

@media (max-width: 760px) {
  .cmr-retrato { grid-template-columns: 1fr; gap: 1.5rem; }
  .cmr-artistas-lista { columns: 2; }
}

@media (max-width: 560px) {
  .cmr-artistas-lista { columns: 1; }
}

@media (max-width: 900px) {
  .cmr-esc-cuerpo { grid-template-columns: 1fr; gap: 1.6rem; }
  /* En móvil la barra de categorías se lee mejor en fila que en columna. */
  .cmr-esc-lateral { grid-auto-flow: column; overflow-x: auto; gap: .4rem; }
  .cmr-esc-cat { white-space: nowrap; }
}

@media (max-width: 560px) {
  .cmr-medio { grid-template-columns: 1fr; }
  .cmr-medio-foto img { width: 100%; height: 12rem; }
  .cmr-redes-cifras { margin-left: 0; }
}

@media (max-width: 760px) {
  /* En móvil el tablero se lee en vertical: una columna debajo de otra, que es
     como se recorre con el pulgar. */
  .cmr-tablero { grid-auto-flow: row; grid-auto-columns: auto; overflow-x: visible; }
}
