/* Cuarta prueba: jerarquía de pase completo, fines de semana y capacitaciones */
.best-badge{font-size:.84rem!important;padding:8px 14px!important;right:12px!important;top:-14px!important;box-shadow:0 9px 20px rgba(103,73,22,.18)!important}
.weekend-card{border-top-color:rgba(155,79,27,.55)}
.weekend-label{color:var(--clay)!important}
.weekend-summary{color:var(--clay);font-weight:900}
.teacher-group .capacity-expandable{background:#eef3ea;color:#315a50;border:1px solid rgba(49,90,80,.18)}
.teacher-activity{background:linear-gradient(90deg,#fff,rgba(240,245,238,.55))}

/* Ajustes finales de lectura */
#summaryActivities.summary-list{font-weight:400!important;line-height:1.42}
#summaryActivities .summary-activity-line{font-weight:400!important;color:#4f4439}
#summaryActivities .summary-activity-line strong{font-weight:850;color:var(--deep)}
.form-grid label{font-weight:500!important;color:#44382f!important}
.form-grid label small{font-weight:400!important}
.form-grid input,.form-grid textarea{font-weight:400!important}
.help-text{font-size:.86rem!important;line-height:1.45!important;font-weight:400!important}
.help-text strong{font-weight:700!important}

/* En PC el resumen acompaña el scroll sin tapar el contenido. */
@media(min-width:981px){
  .summary-card{position:sticky!important;top:86px!important;align-self:start!important}
  .summary-sticky{position:relative!important;top:auto!important;max-height:calc(100vh - 105px);overflow:auto}
}

/* Menores de 3: dato secundario, deliberadamente más compacto */
.minor-inline{max-width:330px!important;margin-left:auto!important;margin-top:5px!important;padding-top:5px!important;gap:7px!important;font-size:.74rem!important;opacity:.92}
.minor-inline strong{font-size:.76rem!important;font-weight:700!important}
.minor-inline small{font-size:.68rem!important;font-weight:500!important}
.counter.compact{grid-template-columns:25px 29px 25px!important}
.counter.compact button{height:25px!important;font-size:.88rem!important;padding:0!important}
.counter.compact output{font-size:.78rem!important;font-weight:750!important}

/* Capacitaciones: 50 es umbral de advertencia, no un corte de inscripción */
.teacher-group .teacher-open{background:#eef3ea;color:#315a50;border:1px solid rgba(49,90,80,.18)}
.teacher-group .capacity-warning{background:#fff0ed!important;color:#a13e2d!important;border:1px solid rgba(161,62,45,.38)!important;font-weight:950!important}

/* Ya es la versión operativa; nunca mostrar carteles internos de prueba */
.test-banner{display:none!important}

/* Resumen móvil: barra compacta durante la elección y resumen completo antes de confirmar */
.mobile-selection-bar{display:none}

@media(max-width:760px){
  body{padding-bottom:76px}
  .booking-layout{display:block!important}
  .summary-card{order:initial!important;margin:28px 0 20px!important;position:relative!important;top:auto!important}
  .summary-sticky{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important;padding:18px!important;box-shadow:0 12px 32px rgba(49,34,22,.12)!important}

  .mobile-selection-bar{display:block;position:fixed;left:10px;right:10px;bottom:10px;z-index:85;background:#fffaf2;border:1px solid #cdb99d;box-shadow:0 12px 34px rgba(28,24,18,.24);transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
  .mobile-selection-bar.active{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-selection-bar.summary-visible{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}
  .mobile-selection-toggle{width:100%;border:0;background:var(--deep);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;text-align:left}
  .mobile-selection-copy{min-width:0;display:block}
  .mobile-selection-copy small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:800;color:#dbe9df;margin-bottom:1px}
  .mobile-selection-copy strong{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-selection-total{font-size:1rem;color:#fff;white-space:nowrap}
  .mobile-selection-action{font-size:.78rem;font-weight:850;color:#f3c67b;white-space:nowrap}
  .mobile-selection-details{padding:11px 12px 12px;background:#fffaf2;color:#4f4439;font-size:.8rem;line-height:1.42;max-height:42vh;overflow:auto}
  .mobile-selection-details>div{padding:5px 0;border-bottom:1px solid rgba(205,185,157,.45)}
  .mobile-selection-details>div:last-child{border-bottom:0}
  .mobile-selection-details span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:850;color:var(--muted);margin-bottom:2px}
  .mobile-selection-details p{margin:0}
  .mobile-selection-details strong{color:var(--deep)}
}

@media(max-width:640px){
  .best-badge{font-size:.74rem!important;padding:7px 11px!important;top:-12px!important}
  .weekend-card{border-top-width:2px}
  .minor-inline{max-width:100%!important;margin-left:0!important}
  .help-text{font-size:.82rem!important}
}
