/*
=================================================================
SOFT4ALL FREE — R38.3
VISIBLE CONTENT

Sustituye interacciones innecesarias por lectura directa.
Afecta exclusivamente a:
- Inventario
- Ayuda Inventario
- Seguridad
=================================================================
*/

/* ===============================================================
   INVENTARIO — FAQ VISIBLE
   =============================================================== */

.s4-r38-visible-faq{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.s4-r38-visible-faq>.s4-r38-visible-item{
  min-width:0;
  padding:22px;
  border:1px solid rgba(43,148,255,.24);
  border-radius:14px;
  background:
    linear-gradient(
      145deg,
      rgba(43,148,255,.065),
      rgba(255,255,255,.018)
    );
}

.s4-r38-visible-faq
.s4-r38-visible-item h3{
  margin:0 0 10px;
  font-size:1rem;
  line-height:1.28;
}

.s4-r38-visible-faq
.s4-r38-visible-body p{
  margin:0;
  color:var(--muted);
  line-height:1.58;
}

.s4-r38-visible-faq
.s4-r38-visible-body p+p{
  margin-top:10px;
}

.s4-r38-visible-faq
.s4-r38-visible-body .s4-proposal-action{
  margin-top:16px;
}


/* ===============================================================
   AYUDA INVENTARIO — INSTRUCCIONES VISIBLES
   =============================================================== */

.s4-r38-visible-help{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.s4-r38-visible-help>.s4-r38-visible-item{
  position:relative;
  min-width:0;
  padding:22px 22px 22px 24px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}

.s4-r38-visible-help>
.s4-r38-visible-item::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:999px;
  background:var(--s4-blue,#2b94ff);
}

.s4-r38-visible-help
.s4-r38-visible-item h3{
  margin:0 0 9px;
  font-size:1rem;
  line-height:1.28;
}

.s4-r38-visible-help
.s4-r38-visible-body p{
  margin:0;
  color:var(--muted);
  line-height:1.58;
}


/* ===============================================================
   RESPONSIVE
   =============================================================== */

@media(max-width:900px){

  .s4-r38-visible-faq,
  .s4-r38-visible-help{
    grid-template-columns:1fr;
  }
}



@media(max-width:520px){

  .s4-r38-visible-faq>
  .s4-r38-visible-item,
  .s4-r38-visible-help>
  .s4-r38-visible-item{
    padding:19px;
  }

  .s4-r38-visible-help>
  .s4-r38-visible-item{
    padding-left:22px;
  }
}


/* ===============================================================
   SOFT4ALL_R38_4_VISUAL_POLISH
   =============================================================== */


/* ---------------------------------------------------------------
   INVENTARIO
   Documentacion y apoyo: misma altura y CTA alineados
   --------------------------------------------------------------- */

#inventario .s4-info-grid,
body[data-page="inventario"] .s4-info-grid{
  align-items:stretch!important;
}

#inventario .s4-info-grid>*,
body[data-page="inventario"] .s4-info-grid>*{
  height:100%!important;
  box-sizing:border-box!important;
}

#inventario .s4-info-grid .card,
body[data-page="inventario"] .s4-info-grid .card{
  display:flex!important;
  flex-direction:column!important;
}

#inventario .s4-info-grid .card>a:last-child,
body[data-page="inventario"]
.s4-info-grid .card>a:last-child{
  margin-top:auto!important;
}


/* ---------------------------------------------------------------
   RESPONSIVE SEGURIDAD
   --------------------------------------------------------------- */






/* ===============================================================
   SOFT4ALL_R38_4_1_INVENTARIO_EQUAL_HEIGHT
   =============================================================== */

/*
 Los dos bloques son section.s4-r25-product-compact hermanos
 directos dentro de main. Se corrige el selector real.
*/

#manuales.s4-r25-product-compact,
#apoyar.s4-r25-product-compact{
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
}

/*
 En escritorio ambos ocupan exactamente la mitad disponible.
 La altura se iguala mediante grid-auto-rows.
*/

@media(min-width:821px){

  main:has(
    >#manuales.s4-r25-product-compact
  ){
    display:grid!important;
    grid-template-columns:
      repeat(2,minmax(0,1fr))!important;
    column-gap:14px!important;
    align-items:stretch!important;
  }

  main>
  #manuales.s4-r25-product-compact,
  main>
  #apoyar.s4-r25-product-compact{
    width:100%!important;
    height:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  main>
  #manuales.s4-r25-product-compact{
    grid-column:1!important;
  }

  main>
  #apoyar.s4-r25-product-compact{
    grid-column:2!important;
  }

  main>
  #manuales.s4-r25-product-compact
  .s4-r25-product-actions,
  main>
  #apoyar.s4-r25-product-compact
  .s4-r25-product-actions{
    margin-top:auto!important;
    padding-top:18px!important;
  }
}

/*
 No alterar el flujo vertical móvil.
*/

@media(max-width:820px){

  #manuales.s4-r25-product-compact,
  #apoyar.s4-r25-product-compact{
    width:100%!important;
  }
}

/* ===============================================================
   SOFT4ALL_R38_5_SECURITY_CONSOLIDATED
   Seguridad — composición definitiva R38.5
   =============================================================== */

.s4-r38-trust-intro{
  max-width:820px;
  margin:
    -2px 0
    clamp(22px,2.6vw,34px);
  color:#8fa5b6;
  font-size:.92rem;
  line-height:1.65;
}

.s4-r38-trust-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}

.s4-r38-trust-item{
  position:relative;
  min-width:0;
  box-sizing:border-box;

  display:flex;
  flex-direction:column;

  padding:
    clamp(21px,2vw,29px);

  border:
    1px solid rgba(255,255,255,.075);

  border-radius:14px;

  background:
    linear-gradient(
      145deg,
      rgba(43,148,255,.045),
      rgba(255,255,255,.012) 48%,
      rgba(0,0,0,.06)
    );
}

.s4-r38-trust-item::before{
  content:"";
  display:block;

  width:34px;
  height:3px;

  margin-bottom:17px;

  border-radius:999px;

  background:
    linear-gradient(
      90deg,
      #2b94ff,
      rgba(43,148,255,.18)
    );
}

.s4-r38-trust-item h3{
  margin:0 0 11px;

  color:#f1f6fa;

  font-size:
    clamp(.98rem,1.05vw,1.08rem);

  font-weight:720;
  line-height:1.32;
  letter-spacing:-.012em;
}

.s4-r38-trust-body{
  min-width:0;

  color:#91a6b6;

  font-size:.84rem;
  line-height:1.62;
}

.s4-r38-trust-body p{
  margin:0 0 10px;
}

.s4-r38-trust-body p:last-child{
  margin-bottom:0;
}

.s4-r38-trust-body strong{
  color:#dbe6ef;
}

.s4-r38-trust-body a{
  text-underline-offset:3px;
}

.s4-r38-trust-body code{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.s4-r38-trust-grid .s4-faq-hash{
  margin-top:12px;
}

.s4-r38-trust-grid
.s4-technical-published,
.s4-r38-trust-grid
.s4-manual-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}


/* Bloques con contenido técnico largo */

.s4-r38-trust-item:has(
  .s4-faq-hash
),
.s4-r38-trust-item:has(
  .s4-technical-published
){
  grid-column:span 2;
}


/* En bloques anchos, texto y datos aprovechan el espacio */

.s4-r38-trust-item:has(
  .s4-faq-hash
) .s4-r38-trust-body,
.s4-r38-trust-item:has(
  .s4-technical-published
) .s4-r38-trust-body{
  max-width:1100px;
}


/* Responsive */

@media(max-width:900px){

  .s4-r38-trust-grid{
    grid-template-columns:1fr;
  }

  .s4-r38-trust-item:has(
    .s4-faq-hash
  ),
  .s4-r38-trust-item:has(
    .s4-technical-published
  ){
    grid-column:auto;
  }
}

@media(max-width:620px){

  .s4-r38-trust-item{
    padding:20px;
  }

  .s4-r38-trust-grid
  .s4-technical-published,
  .s4-r38-trust-grid
  .s4-manual-grid{
    grid-template-columns:1fr;
  }
}


/* ===============================================================
   SOFT4ALL_R38_5_2_SECURITY_INTRO_FIX
   Un unico texto introductorio, sin superposicion
   =============================================================== */

.s4-security-faq-head
.s4-r38-security-intro{
  grid-area:p!important;

  position:static!important;
  transform:none!important;

  width:auto!important;
  max-width:850px!important;

  margin:4px 0 0!important;
  padding:0!important;

  color:#8298aa!important;

  font-size:.80rem!important;
  line-height:1.58!important;

  white-space:normal!important;
  overflow:visible!important;
}


/*
 La cabecera mantiene:
 kicker | titulo
        | introduccion
*/

.s4-security-faq-head{
  row-gap:2px!important;
  margin-bottom:
    clamp(18px,2vw,26px)!important;
}


@media(max-width:700px){

  .s4-security-faq-head{
    display:block!important;
  }

  .s4-security-faq-head
  .s4-security-kicker{
    display:block!important;

    margin-bottom:7px!important;
    padding:0!important;

    border-right:0!important;
  }

  .s4-security-faq-head h2{
    margin:0 0 7px!important;
  }

  .s4-security-faq-head
  .s4-r38-security-intro{
    margin:0!important;
    max-width:none!important;
  }
}


/* ===============================================================
   SOFT4ALL_R38_5_3_SECURITY_GRID
   Composicion editorial:
   - SHA oficial arriba a ancho completo
   - archivo local + no coincidencia apilados a la izquierda
   - VirusTotal ocupa la altura conjunta a la derecha
   - verificacion manual a ancho completo
   - futuras aplicaciones a ancho completo
   =============================================================== */

@media(min-width:901px){

  .s4-r38-trust-grid{
    display:grid!important;

    grid-template-columns:
      minmax(0,.82fr)
      minmax(0,1.18fr)!important;

    grid-template-rows:
      auto
      auto
      auto
      auto
      auto!important;

    gap:14px!important;

    align-items:stretch!important;
  }


  /* 1 — Que significa que el SHA-256 coincida */

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(1){
    grid-column:1 / -1!important;
    grid-row:1!important;
  }


  /* 2 — Se sube mi archivo a Soft4All */

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(2){
    grid-column:1!important;
    grid-row:2!important;

    min-height:0!important;

    padding:
      18px 21px!important;
  }


  /* 3 — Informe VirusTotal
     Ocupa exactamente las dos filas de 2 + 4 */

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(3){
    grid-column:2!important;
    grid-row:2 / span 2!important;

    height:100%!important;

    align-self:stretch!important;
  }


  /* 4 — Que hago si el SHA-256 no coincide */

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(4){
    grid-column:1!important;
    grid-row:3!important;

    min-height:0!important;

    padding:
      18px 21px!important;
  }


  /* 5 — Comprobacion manual */

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(5){
    grid-column:1 / -1!important;
    grid-row:4!important;
  }


  /* 6 — Otras aplicaciones */

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(6){
    grid-column:1 / -1!important;
    grid-row:5!important;
  }


  /*
   Los dos bloques compactos no necesitan
   el mismo padding vertical que VirusTotal.
  */

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(2)::before,

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(4)::before{
    margin-bottom:12px!important;
  }


  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(2) h3,

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(4) h3{
    margin-bottom:7px!important;
  }


  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(2)
  .s4-r38-trust-body,

  .s4-r38-trust-grid
  > .s4-r38-trust-item:nth-child(4)
  .s4-r38-trust-body{
    line-height:1.52!important;
  }
}


/*
 En tablet y movil recuperamos flujo vertical.
 No se fuerza ninguna altura.
*/

@media(max-width:900px){

  .s4-r38-trust-grid
  > .s4-r38-trust-item{
    grid-column:auto!important;
    grid-row:auto!important;

    height:auto!important;
    min-height:0!important;
  }
}


/* ===============================================================
   SOFT4ALL_R38_5_4_SECURITY_MANUAL_FINAL
   Cierre editorial del bloque inferior:
   datos + Windows + Linux en una fila; responsive sin alturas forzadas.
   =============================================================== */

@media(min-width:901px){
  .s4-r38-trust-grid > .s4-r38-manual-final{
    grid-column:1 / -1!important;
    grid-row:4!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .s4-r38-manual-columns{
    display:grid!important;
    grid-template-columns:minmax(0,1.16fr) minmax(0,.92fr) minmax(0,.92fr)!important;
    align-items:stretch!important;
    min-width:0!important;
  }

  .s4-r38-manual-column{
    min-width:0!important;
    padding:24px 25px 25px!important;
  }

  .s4-r38-manual-column + .s4-r38-manual-column{
    border-left:1px solid rgba(143,169,190,.16)!important;
  }
}

.s4-r38-manual-final::before{
  display:none!important;
}

.s4-r38-manual-final .s4-r38-manual-column h3{
  margin:0 0 12px!important;
  color:#e8f1f7!important;
  font-size:clamp(.98rem,1.25vw,1.08rem)!important;
  line-height:1.3!important;
}

.s4-r38-manual-final .s4-technical-published{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin:0!important;
}

.s4-r38-manual-final .s4-technical-published > div{
  min-width:0!important;
}

.s4-r38-manual-final .s4-r38-manual-command p,
.s4-r38-manual-final .s4-r38-future-inline p{
  margin:0!important;
  color:#91a6b6!important;
  font-size:.84rem!important;
  line-height:1.58!important;
}

.s4-r38-manual-final .s4-r38-manual-command > code{
  display:block!important;
  margin-top:14px!important;
  padding:13px 14px!important;
  border:1px solid rgba(143,169,190,.16)!important;
  border-radius:10px!important;
  background:rgba(6,15,22,.42)!important;
  color:#cfe8f5!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.55!important;
}

.s4-r38-future-inline{
  margin-top:18px!important;
  padding-top:17px!important;
  border-top:1px solid rgba(143,169,190,.16)!important;
}

.s4-r38-future-inline h4{
  margin:0 0 7px!important;
  color:#dbe6ef!important;
  font-size:.88rem!important;
  line-height:1.35!important;
}

/* El antiguo sexto artículo queda integrado y ya no ocupa una fila propia. */
.s4-r38-trust-grid > .s4-r38-trust-item:nth-child(6){
  grid-column:auto!important;
  grid-row:auto!important;
}

@media(max-width:900px){
  .s4-r38-manual-final{
    padding:0!important;
    overflow:hidden!important;
  }

  .s4-r38-manual-columns{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .s4-r38-manual-column{
    min-width:0!important;
    padding:21px!important;
  }

  .s4-r38-manual-column + .s4-r38-manual-column{
    border-top:1px solid rgba(143,169,190,.16)!important;
  }
}
