html { overflow-x: hidden; }
body { min-width: 0; }

img, svg, video, canvas, iframe { max-width: 100%; }
img, video { height: auto; }

p, li, td, th, h1, h2, h3, h4, blockquote, summary, label, .piedra { overflow-wrap: break-word; }
a { overflow-wrap: anywhere; }

nav .cont { flex-wrap: wrap; min-height: 56px; height: auto !important; row-gap: 4px; }
nav .enlaces { flex-wrap: wrap; justify-content: flex-end; row-gap: 4px; }

.envoltorio { overflow-x: auto; max-width: 100%; width: 100%; min-width: 0;
  -webkit-overflow-scrolling: touch; }
.envoltorio > table { min-width: 520px; }

.cont, .tarjeta, main, section { min-width: 0; }

input, select, textarea, button { max-width: 100%; }
input, select { min-width: 0; }
select { width: auto; max-width: min(100%, 320px); }
input[type="file"] { max-width: 100%; font-size: .8rem; }

label { max-width: 100%; }

@media (max-width: 560px) {
  .kpis { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
  .pasos { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .cont { padding-left: 14px; padding-right: 14px; }
}

@media (min-width: 1700px) {
  .cont { max-width: 1320px; }
}

@media (hover: hover) and (pointer: fine) and (min-width: 901px) {
  html { scrollbar-width: none; -ms-overflow-style: none; }
  html::-webkit-scrollbar, body::-webkit-scrollbar { width: 0; height: 0; display: none; }
  body { padding-right: 74px; }
}

#visor, #mLogin, #edad, #aviso, .lienzoRetrato, #muelle { margin-right: 0; }