/* Original page styles remain in menu.php and checkout.php.
   Only compatibility, accessibility, and retained functional controls live here. */
.hb-menu [hidden]{display:none!important}
.hb-menu .hb-menu-header{position:sticky;top:0;z-index:1000;background:#fff}
.hb-menu .navbar{position:relative;top:auto;left:auto;z-index:auto;padding:8px 16px!important}
.hb-menu .navbar>.container-fluid{padding:0;flex-wrap:nowrap}
.hb-menu .hb-brand img{width:30px;height:auto}
.hb-menu #navbarNavAltMarkup{display:block!important;min-width:0}
.hb-menu #myTab{flex-wrap:wrap}
.hb-menu #myTab .nav-link{text-transform:uppercase}
.hb-category-toggle{display:none}
.hb-menu .tab-pane{scroll-margin-top:100px}
.hb-menu .hb-program-search{margin:20px 0;max-width:540px}
.hb-search label{display:block;margin-bottom:6px}
.hb-search input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:16px}
.hb-search button{border:0;background:transparent;color:#007bff;margin-top:8px}
.hb-search #programSearchStatus{margin-left:10px}
.hb-empty{padding:16px;background:#fff}
.hb-menu .cd-cart__trigger{background:#fff;border-radius:4px;box-shadow:0 4px 30px #0003;bottom:24px!important;right:24px!important;width:72px!important;height:72px!important}
.hb-menu .cd-cart__content{bottom:24px!important;right:24px!important}
.hb-menu .cd-cart--empty .cd-cart__trigger,.hb-menu .cd-cart--open .cd-cart__trigger{visibility:hidden!important;pointer-events:none!important}
.hb-menu .cd-cart:not(.cd-cart--open) .cd-cart__content{visibility:hidden;pointer-events:none}
.hb-menu .cd-cart--open{z-index:1100}
.hb-menu .hb-cart-close{position:absolute;right:0;bottom:0;width:72px;height:72px;display:flex;align-items:center;justify-content:center;border:0;background:#fff;color:#333;cursor:pointer}
.hb-menu .cd-cart__checkout{margin-right:72px!important}
.hb-menu .hb-cart-empty-message{padding:24px 0;color:#555;line-height:1.5}
.hb-menu .cd-cart__checkout[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.hb-menu .js-cd-cart[aria-busy="true"] .js-deleteitem{pointer-events:none;opacity:.5}
.hb-checkout .hb-brand img{width:30px;height:36px;object-fit:contain}
.hb-checkout .hb-back{display:inline-block;margin-bottom:12px;color:#007bff}
.hb-checkout .hb-step-hint{font-size:14px;color:#555;margin-bottom:16px}
.hb-checkout .hb-next{display:flex;width:100%;align-items:center;justify-content:center;padding:12px;margin-top:20px;min-height:44px;background:#000;color:#fff;border:1px solid #000;border-radius:4px}
.hb-checkout .hb-next:hover{background:#111}
.hb-checkout .btn,.hb-menu .btn{display:inline-flex;align-items:center;justify-content:center;line-height:1.25;padding-top:12px;padding-bottom:12px}
.hb-checkout .cart-remove-item{min-width:44px;min-height:44px}
.hb-menu :focus-visible,.hb-checkout :focus-visible{outline:2px solid #007bff;outline-offset:3px}
@media(max-width:767px){
 .hb-menu .navbar>.container-fluid{flex-wrap:wrap;justify-content:space-between}
 .hb-menu .hb-category-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ccc;border-radius:4px;background:#fff;color:#343a40}
 .hb-menu #navbarNavAltMarkup{display:none!important;width:100%;flex-basis:100%}
 .hb-menu .hb-categories-open #navbarNavAltMarkup{display:block!important}
 .hb-menu #myTab{display:flex;flex-direction:column;max-height:60vh;overflow:auto;margin-top:10px}
 .hb-menu #myTab .nav-link{min-height:44px}
 .hb-menu .modal{top:0!important;z-index:1050}
 .hb-menu .modal-dialog{width:calc(100% - 20px);margin:10px auto}
 .hb-menu .modal-content{max-height:calc(100dvh - 20px);overflow:auto}
 .hb-menu .modal-body .row>div{max-width:100%;flex-basis:100%}
 .hb-menu .modal img{max-width:100%;height:auto}
 .hb-menu .modal select{max-width:100%;font-size:16px;min-height:44px}
 .hb-menu .modal-footer{position:sticky;bottom:0;background:#fff;z-index:2}
 .hb-menu .cd-cart__content{width:calc(100vw - 20px)!important;max-width:440px;right:10px!important;bottom:16px!important}
 .hb-menu .cd-cart__trigger{bottom:16px!important;right:16px!important}
 .hb-checkout .booking-container{max-width:100%;padding-left:10px!important;padding-right:10px!important}
 .hb-checkout .checkout-shell{padding:0;margin:24px auto}
 .hb-checkout .form-control{font-size:16px;max-width:100%}
 .hb-checkout .input-group .form-control{min-width:0}
 .hb-checkout .voucher-table,.hb-checkout .voucher-table tbody,.hb-checkout .voucher-table tr,.hb-checkout .voucher-table td{display:block;width:100%!important;max-width:none!important}
 .hb-checkout .voucher-table #referralcode{width:100%!important;min-width:0!important}
 .hb-checkout .voucher-entry>td:last-child{display:flex!important;gap:8px;margin:10px 0 18px}
 .hb-checkout .applyreferral{flex:1}
 .hb-checkout .table td{overflow-wrap:anywhere}
 .hb-checkout .cart-mini-row,.hb-checkout .cart-mini-actions{flex-wrap:wrap;gap:8px}
 .hb-checkout .navbar-right .user-email{display:none}
 .hb-checkout .info-icon .tooltip{left:auto!important;right:0;transform:translate(0,-100%)!important;max-width:80vw}
}
@media(prefers-reduced-motion:reduce){.hb-menu *,.hb-checkout *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.hb-menu .hb-category-heading{display:flex;align-items:center;background:#39ff14;color:#000;padding:16px;margin-bottom:16px;font-weight:700;text-transform:uppercase}
