/* TESSIRVE 5.17.228 — Sólo tres correcciones acotadas.
 * 1) Footer: transición progresiva sin franja dura.
 * 2) Celular: Subir y selector de tema en el mismo renglón.
 * 3) PC: geometría del cuadro original preservada; únicamente escalado
 *    proporcional de todo el lienzo cuando desborda estando expandido. */

/* El fondo aprobado del footer queda intacto: se suaviza solamente la tira
   superpuesta, sin sustituir el pasto ni los colores del switch. */
html body.tessirve-theme .ms-site-footer {
  position:relative!important;
}
html body.tessirve-theme .ms-site-footer .ms-theme-footer-strip {
  background:linear-gradient(180deg,
    rgba(4,13,14,.40) 0%,
    rgba(4,13,14,.30) 43%,
    rgba(4,13,14,.12) 82%,
    rgba(4,13,14,0) 100%)!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
html[data-tessirve-color-mode="dark"] body.tessirve-theme .ms-site-footer .ms-theme-footer-strip {
  background:linear-gradient(180deg,
    rgba(2,7,10,.58) 0%,
    rgba(2,7,10,.44) 45%,
    rgba(2,7,10,.17) 83%,
    rgba(2,7,10,0) 100%)!important;
}
html body.tessirve-theme .ms-site-footer .ms-site-footer-inner {
  border-top:0!important;
}

@media(max-width:782px) {
  /* La fila heredada pasaba a columna: Subir aparecía un renglón más arriba.
     Se conservan el orden y la posición horizontal original del botón. */
  html body.tessirve-theme .ms-site-footer .ms-theme-footer-strip-inner {
    box-sizing:border-box!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    column-gap:8px!important;
    width:100%!important;
    min-width:0!important;
    padding:10px 12px!important;
  }
  html body.tessirve-theme .ms-site-footer .ms-theme-footer-strip-inner>.ms-back-to-top {
    box-sizing:border-box!important;
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    align-self:center!important;
    margin:0!important;
    padding:6px!important;
  }
  html body.tessirve-theme .ms-site-footer .ms-theme-footer-strip-inner>.ms-theme-controls {
    box-sizing:border-box!important;
    display:flex!important;
    flex:0 1 auto!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100% - 42px)!important;
    margin:0 0 0 auto!important;
    gap:7px!important;
  }
  html body.tessirve-theme .ms-site-footer .ms-theme-controls>.ms-theme-picker {
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  html body.tessirve-theme .ms-site-footer .ms-theme-picker select {
    box-sizing:border-box!important;
    width:clamp(98px,39vw,170px)!important;
    max-width:100%!important;
    min-width:0!important;
  }
  html body.tessirve-theme .ms-site-footer .ms-color-mode {
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
}

@media(min-width:981px) {
  /* La ventana sigue conteniendo las conexiones y tarjetas. El factor y el
     desplazamiento se calculan desde los límites reales del cuadro completo. */
  body.tessirve-theme .ms-app .ms-universal-bracket-ui.is-expanded.tsv228-fit-applied .ms-fotmob-bracket-viewport {
    box-sizing:border-box!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.tessirve-theme .ms-app .ms-universal-bracket-ui.is-expanded.tsv228-fit-applied .ms-fotmob-bracket-canvas {
    transform-origin:center top!important;
  }
}
