/* 5.17.282 — Aviso legal + QR de Android hacia /app/, solo escritorio. */
html body.tessirve-theme .ms-site-footer .tsv281-footer-content{display:block;width:100%;box-sizing:border-box}
html body.tessirve-theme .ms-site-footer .ms-footer-note{line-height:1.65!important;min-width:0;max-width:100%;font-size:.77rem!important}
html body.tessirve-theme .ms-site-footer .ms-footer-note strong{color:#fff!important;font-weight:850!important;white-space:nowrap}
html body.tessirve-theme .ms-site-footer .tsv281-app-qr{display:none!important}
@media (min-width:1024px){
 html body.tessirve-theme .ms-site-footer .tsv281-footer-content{
  display:grid!important;grid-template-columns:minmax(0,1fr) 158px!important;
  column-gap:clamp(18px,3vw,38px)!important;align-items:center!important;
 }
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr{
  display:block!important;grid-column:2;justify-self:end;box-sizing:border-box;
  max-width:158px;min-width:158px;
 }
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr-link{
  display:flex;align-items:center;flex-flow:column nowrap;text-align:center;gap:7px;
  text-decoration:none!important;color:#fff!important;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.24);
  border-radius:12px;padding:11px 9px 10px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
 }
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr-link:hover{
  border-color:rgba(255,255,255,.55);background:rgba(0,0,0,.31);
 }
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr-link:focus-visible{outline:2px solid #fff;outline-offset:3px}
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr img{
  display:block!important;box-sizing:content-box!important;
  object-fit:contain!important;width:112px!important;height:112px!important;
  border:6px solid white;border-radius:7px;background:white;
 }
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr-copy{display:flex;flex-direction:column;gap:2px;line-height:1.25}
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr-copy strong{font-size:.78rem;font-weight:800;color:#fff}
 html body.tessirve-theme .ms-site-footer .tsv281-app-qr-copy small{font-size:.69rem;color:rgba(255,255,255,.81)}
}
/* Página de espera que atiende la URL impresa en el QR. */
html body.tessirve-theme .tsv281-app-landing{
 box-sizing:border-box;max-width:650px;margin:clamp(32px,7vh,85px) auto;padding:clamp(24px,5vw,42px);
 background:var(--theme-bg,#fff);color:var(--theme-ink,#15202f);
 border:1px solid color-mix(in srgb,var(--theme-primary,#16884a),transparent 65%);
 border-radius:18px;text-align:center;
}
html body.tessirve-theme .tsv281-app-landing-icon{width:76px;height:76px;object-fit:contain}
html body.tessirve-theme .tsv281-app-landing h1{font-size:clamp(1.55rem,4vw,2rem);line-height:1.2;margin:14px 0}
html body.tessirve-theme .tsv281-app-landing p{font-size:1rem;line-height:1.65;margin:0 auto 20px;max-width:500px}
html body.tessirve-theme .tsv281-app-landing a{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:10px;text-decoration:none;background:var(--theme-primary,#16884a);color:white;font-weight:750}
@media(max-width:700px){html body.tessirve-theme .tsv281-app-landing{margin:26px 12px}}

/* 5.17.282 — página de descarga y alternativa de iPhone. */
html body.tessirve-theme .tsv281-app-landing .tsv282-download-link{margin:0 auto 16px}
html body.tessirve-theme .tsv281-app-landing .tsv282-app-note{font-size:.79rem;opacity:.72;margin:2px auto 20px}
html body.tessirve-theme .tsv281-app-landing .tsv282-ios-note{font-size:.87rem;line-height:1.5;opacity:.83;margin:22px auto}
html body.tessirve-theme .tsv281-app-landing .tsv282-back-link{background:transparent!important;color:inherit!important;text-decoration:underline!important;font-size:.84rem;padding:8px!important}


/* 5.17.283 — Footer compacto: legal y app siempre en UNA MISMA FILA en escritorio.
   .ms-footer-note hereda grid-column:1/-1 de theme.css, causaba QR abajo.
   Sobrescribimos explícitamente columnas Y filas, sin afectar el resto del Theme. */
html body.tessirve-theme .ms-site-footer .tsv281-footer-content > .ms-footer-note{
  min-width:0;
  margin:0!important;
}
html body.tessirve-theme .ms-site-footer .ms-footer-note .tsv283-contact-email{
  color:#fff!important;
  font-weight:750;
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.62);
  text-underline-offset:2px;
  overflow-wrap:anywhere;
}
html body.tessirve-theme .ms-site-footer .ms-footer-note .tsv283-contact-email:hover{
  text-decoration-color:#fff;
}
html body.tessirve-theme .ms-site-footer .ms-footer-note .tsv283-contact-email:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
@media(min-width:1024px){
  html body.tessirve-theme .ms-site-footer .tsv281-footer-content{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 224px!important;
    grid-template-rows:auto!important;
    column-gap:clamp(14px,2.1vw,28px)!important;
    align-items:center!important;
    width:100%!important;
  }
  html body.tessirve-theme .ms-site-footer .tsv281-footer-content > .ms-footer-note{
    grid-column:1 / 2!important;
    grid-row:1!important;
    width:auto!important;
    max-width:none!important;
    align-self:center!important;
  }
  html body.tessirve-theme .ms-site-footer .tsv281-footer-content > .tsv281-app-qr{
    display:block!important;
    grid-column:2 / 3!important;
    grid-row:1!important;
    width:224px!important;
    min-width:0!important;
    max-width:224px!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
  }
  html body.tessirve-theme .ms-site-footer .tsv281-app-qr .tsv281-app-qr-link{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    text-align:left!important;
    padding:7px 8px!important;
    box-sizing:border-box!important;
    min-height:96px;
  }
  html body.tessirve-theme .ms-site-footer .tsv281-app-qr img{
    width:82px!important;
    height:82px!important;
    min-width:82px!important;
    border-width:3px!important;
    border-radius:5px!important;
    flex:none!important;
  }
  html body.tessirve-theme .ms-site-footer .tsv281-app-qr-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-width:0;
    text-align:left!important;
  }
  html body.tessirve-theme .ms-site-footer .tsv281-app-qr-copy strong{
    line-height:1.25!important;
    font-size:.77rem!important;
  }
}

/* 5.17.284 — Footer más bajo sin pegar el aviso legal / QR a sus bordes.
   Reducimos únicamente el aire vertical debajo de la franja de controles y
   después del bloque legal+QR. No se altera ni su disposición ni el header. */
html body.tessirve-theme .ms-site-footer .ms-site-footer-inner{
  padding-top:18px!important;
  padding-bottom:20px!important;
}
@media(max-width:782px){
  html body.tessirve-theme .ms-site-footer .ms-site-footer-inner{
    padding-top:16px!important;
    padding-bottom:18px!important;
  }
}
