/* Solos y Solas V350 · centrado del acceso público + densidad visual -20% debajo del header. */

/* =========================================================
   DESKTOP / TABLET GRANDE
   El logo + login se comportan como una sola unidad centrada.
========================================================= */
@media (min-width:981px){
  body.jcp-solos-entry-public-v349 .jc-solos3-header__entry-row{
    width:min(calc(100% - 32px),1080px);
    grid-template-columns:minmax(220px,300px) minmax(560px,700px);
    justify-content:center;
    gap:24px;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-header__entry-brand{
    justify-content:center;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-header__entry-brand img{
    max-width:292px;
    max-height:80px;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-login{
    justify-items:stretch;
    align-self:center;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-login__security{
    justify-self:center;
    padding-right:0;
    text-align:center;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-login__error{
    justify-self:center;
    text-align:center;
  }

  /* Bloque inferior ~20% más compacto, sin transform/scale. */
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__welcome{
    padding:20px 0 17px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__welcome > .jc-container,
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__trust > .jc-container{
    width:min(calc(100% - 32px),1040px);
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__grid{
    grid-template-columns:minmax(300px,.92fr) minmax(440px,1.38fr);
    gap:29px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__carousel{
    max-height:400px;
    border-radius:23px;
    box-shadow:0 14px 34px rgba(19,66,112,.12);
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__dots{
    bottom:11px;
    gap:6px;
    padding:5px 7px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__dot{
    width:8px;
    height:8px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join{
    padding:5px 6px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__eyebrow{
    font-size:12px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join h1{
    margin:3px 0 6px;
    font-size:clamp(30px,3.25vw,46px);
    letter-spacing:-.9px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join>p{
    width:min(100%,560px);
    margin:0 auto 14px;
    font-size:14.5px;
    line-height:1.44;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__create{
    min-height:44px;
    padding:8px 23px;
    border-radius:14px;
    font-size:14px;
    box-shadow:inset 0 2px 0 rgba(255,255,255,.28),0 4px 0 #a51550,0 8px 15px rgba(185,23,89,.15);
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__steps{
    margin-top:20px;
    gap:6px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__step img{
    width:min(100%,120px);
    height:114px;
    filter:drop-shadow(0 6px 6px rgba(8,73,151,.12));
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__step:hover img{
    transform:translateY(-4px) scale(1.03);
    filter:drop-shadow(0 10px 8px rgba(8,73,151,.18));
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__trust{
    padding:3px 0 22px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__trust img{
    max-height:248px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__legal{
    margin-top:6px;
    gap:5px 8px;
    font-size:11px;
  }
}

/* =========================================================
   TABLET
   Compactación fuerte, preservando controles cómodos.
========================================================= */
@media (min-width:701px) and (max-width:980px){
  body.jcp-solos-entry-public-v349 .jc-solos3-header__entry-row{
    width:min(calc(100% - 24px),900px);
    grid-template-columns:minmax(170px,220px) minmax(0,620px);
    justify-content:center;
    gap:15px;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-header__entry-brand{
    justify-content:center;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-login{
    justify-items:stretch;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-login__security,
  body.jcp-solos-entry-public-v349 .jc-solos3-login__error{
    justify-self:center;
    text-align:center;
    padding-right:0;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__welcome{
    padding:18px 0 14px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__grid{
    width:min(calc(100% - 28px),660px);
    gap:18px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__carousel{
    aspect-ratio:16/7.4;
    border-radius:22px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join h1{
    font-size:38px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join>p{
    max-width:560px;
    font-size:14.5px;
    margin-bottom:13px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__steps{
    width:min(100%,540px);
    margin-top:18px;
    gap:5px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__step img{
    width:min(100%,112px);
    height:108px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__trust .jc-container{
    width:min(calc(100% - 24px),760px);
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__trust img{
    max-height:230px;
  }
}

/* =========================================================
   MÓVIL / MINI APP
   Se compactan espacios, no se achican agresivamente targets.
========================================================= */
@media (max-width:700px){
  body.jcp-solos-entry-public-v349 .jc-solos3-header__entry-row{
    justify-content:center;
  }
  body.jcp-solos-entry-public-v349 .jc-solos3-login__security,
  body.jcp-solos-entry-public-v349 .jc-solos3-login__error{
    justify-self:center;
    text-align:center;
    padding-right:0;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__welcome{
    padding:12px 0 10px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__grid{
    gap:13px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__carousel{
    aspect-ratio:16/8.2;
    border-radius:18px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join h1{
    margin:2px 0 5px;
    font-size:30px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join>p{
    width:min(100%,520px);
    margin-bottom:11px;
    font-size:13.5px;
    line-height:1.4;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__create{
    min-height:44px;
    padding:8px 20px;
    font-size:14px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__steps{
    margin-top:12px;
    gap:1px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__step img{
    width:min(100%,96px);
    height:90px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__trust{
    padding:0 0 14px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__trust img{
    max-height:200px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__legal{
    margin-top:5px;
    font-size:10.5px;
    gap:4px 7px;
  }
}

@media (max-width:420px){
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__steps{
    gap:0 7px;
    margin-top:10px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__step img{
    width:min(100%,112px);
    height:98px;
  }
  body.jcp-solos-entry-public-v349 .jcp-solos-entry-v349__join h1{
    font-size:28px;
  }
}
