/* BYTE-CON v1.3.6 · natural-height desktop form with comfortable controls */

@media(min-width:901px){
  /*
   * La columna derecha conserva su scroll independiente, pero la tarjeta ya no
   * se estira artificialmente hasta el fondo cuando el formulario es corto.
   * Si el contenido supera la altura disponible, max-height + overflow activan
   * el scroll exactamente en esta tarjeta.
   */
  .public-page .purchase-card-compact{
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding-top:20px;
    padding-bottom:20px;
  }

  /* Restauramos el tamaño cómodo anterior; el problema era la tarjeta estirada,
     no la altura de los campos. */
  .public-page .purchase-brand{
    margin:-10px 0 8px;
  }

  .public-page .purchase-brand img{
    width:92px;
    height:92px;
    border-radius:18px;
  }

  .public-page .purchase-card-compact .card-heading{
    margin-bottom:10px;
  }

  .public-page .purchase-card-compact .card-heading .eyebrow{
    margin-bottom:8px;
    font-size:.72rem;
  }

  .public-page .purchase-card-compact .card-heading h2{
    margin-top:0;
    margin-bottom:8px;
    font-size:2rem;
    line-height:1.08;
  }

  .public-page .lookup-box-top{
    margin:0 0 10px;
    border-radius:12px;
  }

  .public-page .lookup-box-top>summary{
    padding:9px 12px;
    min-height:0;
    font-size:.77rem;
  }

  .public-page .lookup-box-top .lookup-form{
    padding:0 10px 10px;
    gap:8px;
  }

  .public-page .lookup-box-top .lookup-form input{
    min-height:0;
    padding:9px 10px;
    font-size:.78rem;
  }

  .public-page .lookup-box-top .lookup-form .btn{
    min-height:0;
    padding:9px 12px;
    font-size:.76rem;
  }

  .public-page .compact-form{
    gap:10px;
  }

  .public-page .compact-form label{
    gap:5px;
    font-size:.88rem;
    line-height:1.5;
  }

  .public-page .compact-form input,
  .public-page .compact-form select{
    min-height:42px;
    padding:9px 11px;
    border-radius:12px;
    font-size:inherit;
  }

  .public-page .shirt-size-field small{
    margin-top:-2px;
    font-size:.69rem;
    line-height:1.35;
  }

  .public-page .registration-context{
    min-height:34px;
    padding:7px 10px;
    border-radius:10px;
  }

  .public-page .registration-context span{
    padding:3px 7px;
    font-size:.63rem;
  }

  .public-page .registration-context strong{
    font-size:.71rem;
  }

  .public-page .compact-form>.btn{
    min-height:0;
    padding:11px 16px;
    border-radius:12px;
    font-size:inherit;
  }
}

/* Zoom alto: mantenemos los controles cómodos; solo reducimos márgenes externos
   para que el formulario aproveche mejor la altura antes de activar scroll. */
@media(min-width:901px) and (max-height:760px){
  .public-page .purchase-card-compact{
    padding-top:14px;
    padding-bottom:14px;
  }

  .public-page .purchase-brand{
    margin:-6px 0 5px;
  }

  .public-page .purchase-brand img{
    width:78px;
    height:78px;
  }

  .public-page .purchase-card-compact .card-heading{
    margin-bottom:8px;
  }
}

/* Móvil conserva exactamente el flujo vertical y tamaños táctiles definidos. */
@media(max-width:900px){
  .public-page .purchase-card-compact{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}
