/* BYTE-CON v1.3.3 · fixed desktop hero + independent reservation scroll */

@media(min-width:901px){
  body.public-page{
    height:100vh;
    min-height:100vh;
    overflow:hidden;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
  }

  .public-page .public-nav-compact{
    width:100%;
    max-width:1480px;
    padding:10px 24px 8px;
  }

  .public-page .landing-compact{
    width:100%;
    max-width:1480px;
    height:100%;
    min-height:0!important;
    padding:6px 24px 16px;
    display:grid;
    grid-template-columns:minmax(0,42fr) minmax(460px,58fr);
    gap:clamp(28px,3.5vw,58px);
    align-items:stretch;
    overflow:hidden!important;
  }

  .public-page .hero-copy-clean{
    position:static!important;
    top:auto!important;
    align-self:stretch;
    min-width:0;
    min-height:0;
    height:100%;
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
  }

  .public-page .hero-copy-clean h1{
    max-width:100%;
  }

  .public-page .purchase-card-compact{
    align-self:stretch;
    width:100%;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-right:18px;
  }

  .public-page .purchase-card-compact::-webkit-scrollbar{
    width:9px;
  }
  .public-page .purchase-card-compact::-webkit-scrollbar-track{
    background:transparent;
  }
  .public-page .purchase-card-compact::-webkit-scrollbar-thumb{
    background:#2d4156;
    border:2px solid transparent;
    border-radius:999px;
    background-clip:padding-box;
  }

  .public-page .event-facts-compact{
    margin-bottom:0;
  }
}

/* Laptop / zoom alto: se entrega más ancho al formulario y se compacta el panel fijo. */
@media(min-width:901px) and (max-width:1180px){
  .public-page .public-nav-compact{
    padding-left:18px;
    padding-right:18px;
  }

  .public-page .landing-compact{
    grid-template-columns:minmax(0,40fr) minmax(500px,60fr);
    gap:24px;
    padding-left:18px;
    padding-right:18px;
  }

  .public-page .hero-copy-clean h1{
    font-size:clamp(2.45rem,5vw,4rem);
  }

  .public-page .event-facts-compact{
    gap:8px;
  }

  .public-page .event-facts-compact>div{
    padding:10px;
  }

  .public-page .event-facts-compact strong{
    font-size:.84rem;
    line-height:1.35;
  }

  .public-page .entry-price strong{
    font-size:1.7rem;
  }
}

/* En poca altura (por ejemplo 150–175% de zoom) el panel fijo se comprime sin desplazarse. */
@media(min-width:901px) and (max-height:760px){
  .public-page .public-nav-compact{
    padding-top:7px;
    padding-bottom:5px;
  }

  .public-page .brand-logo-wrap{
    width:42px;
    height:42px;
  }

  .public-page .landing-compact{
    padding-top:2px;
    padding-bottom:10px;
  }

  .public-page .hero-copy-clean{
    justify-content:center;
  }

  .public-page .hero-copy-clean .eyebrow{
    margin-bottom:5px;
  }

  .public-page .hero-copy-clean h1{
    font-size:clamp(2.25rem,4.55vw,3.8rem);
    margin-bottom:9px;
    line-height:1;
  }

  .public-page .countdown-compact{
    margin:9px 0;
    gap:7px;
  }

  .public-page .countdown-compact>div{
    padding:7px 5px;
    border-radius:11px;
  }

  .public-page .countdown-compact strong{
    font-size:1.22rem;
  }

  .public-page .event-facts-compact{
    margin-top:9px;
    gap:7px;
  }

  .public-page .event-facts-compact>div{
    padding:9px;
    border-radius:12px;
  }

  .public-page .event-facts-compact span{
    font-size:.67rem;
  }

  .public-page .event-facts-compact strong{
    font-size:.82rem;
    line-height:1.35;
  }

  .public-page .entry-price{
    margin-bottom:5px;
  }

  .public-page .entry-price strong{
    font-size:1.65rem;
  }

  .public-page .entry-offer-badge{
    padding:3px 6px;
  }
}

/* Móvil/tablet conserva el flujo vertical existente y un único scroll de página. */
@media(max-width:900px){
  body.public-page{
    height:auto;
    min-height:100vh;
    overflow-x:hidden;
    overflow-y:auto;
    display:block;
  }

  .public-page .landing-compact{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .public-page .hero-copy-clean{
    position:static!important;
    height:auto;
    overflow:visible;
  }

  .public-page .purchase-card-compact{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding-right:16px;
  }
}
