/* Ajustes comunes a todas las paginas (se carga la ultima) */

/* Pie: el texto de los botones legales queda centrado en altura (la letra minuscula caia unas decimas por debajo) */
.footer-legal a,.footer-legal button{padding-top:6.4px;padding-bottom:7.6px;line-height:normal}

/* Carruseles de imagenes: al deslizar en vertical sobre ellas la pagina sigue bajando */
.arco-vista,.arco-vista .cil-escena,.arco-vista .arco-pista,.arco-vista .arco-card,.arco-vista .arco-card img{touch-action:pan-y}
.arco-vista img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
/* Filas de imagenes que se deslizan en horizontal: no pueden desplazarse en vertical, asi el dedo mueve la pagina */
@media (max-width:900px){
  .sv-rejilla,.service-grid,.work-grid,.reviews-grid,.sx-cards{overflow-y:hidden;overscroll-behavior-x:contain}
  .arco-vista:not(.cil-vivo) .arco-pista{overflow-y:hidden}
  /* La tarjeta central de "Lo que hacemos" ya no baja en movil (hacia que la fila sobresaliera y frenara el desplazamiento) */
  .sv-card:nth-child(3n+2){transform:none}
}

/* Movil: cabeceras de seccion centradas (etiqueta, titulo, entradilla y botones).
   Los textos largos, listas, tarjetas, formularios y paginas legales siguen alineados a la izquierda. */
@media (max-width:760px){
  /* Portada */
  .sv-cab,.sv-cab>div,.sv-cab>p{text-align:center}
  .sv-cab>p{max-width:34em;margin-left:auto;margin-right:auto}
  .local-seo h2{text-align:center}
  .sf-tx{text-align:center;align-items:center}
  .sf-tx .sf-btn{align-self:center}

  /* Paginas de servicio (estilo pro) */
  .pro-hero-in>div,.pro-cab,.ms-cab{text-align:center}
  .pro-hero-in .migas,.pro-acc{justify-content:center}
  .pro-hero-in .migas{display:flex;flex-wrap:wrap;gap:0 6px}
  .pro-lead,.pro-sub,.ms-cab>p{margin-left:auto;margin-right:auto}
  .pro-faq>h2{text-align:center}

  /* Paginas de servicio (estilo vx) */
  .vx-hero-tx{text-align:center}
  .vx-hero-tx .migas,.vx-acc{justify-content:center}
  .vx-hero-tx .migas{display:flex;flex-wrap:wrap;gap:0 6px}
  .vx-ent{margin-left:auto;margin-right:auto}
  .vx-ancho>h2{text-align:center}

  /* Casos */
  .ca-tx>.ca-num,.ca-tx>.vx-ey,.ca-tx>h2{text-align:center}

  /* Sectores */
  .sx-hero-tx{text-align:center}
  .sx-acc{justify-content:center}
  .sx-lema,.sx-lead{margin-left:auto;margin-right:auto}
  .sx-cab>div{text-align:center}
  .sx-cab>div>p{margin-left:auto;margin-right:auto}
  .sx-retos-tx>.sx-et,.sx-retos-tx>h2,.sx-retos-tx>.sx-retos-p{text-align:center}
  .sx-metodo .sx-ancho>.sx-et,.sx-metodo .sx-ancho>h2{text-align:center}
  .sx-caps-lista{justify-content:center}
}

/* Visor de imagenes del portafolio y sectores: por encima de todo, X grande y siempre visible, sin zoom por doble toque */
html.visor-abierto,html.visor-abierto body{overflow:hidden}
.visor{z-index:1000;touch-action:manipulation;overscroll-behavior:contain;cursor:zoom-out}
.visor .cerrar{position:fixed;z-index:2;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);display:grid;place-items:center;width:52px;height:52px;padding:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:34px;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.visor .cerrar:focus-visible{outline:3px solid #fff;outline-offset:2px}
.visor-contenido img{width:92vw;height:86vh;height:86dvh}
.visor-contenido video{max-height:86vh;max-height:86dvh;cursor:auto}
