.loader-container{z-index:9999999;display:flex;justify-content:center;align-items:center;position:fixed;inset:0;background-color:#ffffffb3}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotationBack{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.pl{width:6em;height:6em}.pl__ring{animation:ringA 2s linear infinite}.pl__ring--a{stroke:#f42f25}.pl__ring--b{animation-name:ringB;stroke:#f49725}.pl__ring--c{animation-name:ringC;stroke:#255ff4}.pl__ring--d{animation-name:ringD;stroke:#f42582}@keyframes ringA{0%,4%{stroke-dasharray:0 660;stroke-width:20;stroke-dashoffset:-330}12%{stroke-dasharray:60 600;stroke-width:30;stroke-dashoffset:-335}32%{stroke-dasharray:60 600;stroke-width:30;stroke-dashoffset:-595}40%,54%{stroke-dasharray:0 660;stroke-width:20;stroke-dashoffset:-660}62%{stroke-dasharray:60 600;stroke-width:30;stroke-dashoffset:-665}82%{stroke-dasharray:60 600;stroke-width:30;stroke-dashoffset:-925}90%,to{stroke-dasharray:0 660;stroke-width:20;stroke-dashoffset:-990}}@keyframes ringB{0%,12%{stroke-dasharray:0 220;stroke-width:20;stroke-dashoffset:-110}20%{stroke-dasharray:20 200;stroke-width:30;stroke-dashoffset:-115}40%{stroke-dasharray:20 200;stroke-width:30;stroke-dashoffset:-195}48%,62%{stroke-dasharray:0 220;stroke-width:20;stroke-dashoffset:-220}70%{stroke-dasharray:20 200;stroke-width:30;stroke-dashoffset:-225}90%{stroke-dasharray:20 200;stroke-width:30;stroke-dashoffset:-305}98%,to{stroke-dasharray:0 220;stroke-width:20;stroke-dashoffset:-330}}@keyframes ringC{0%{stroke-dasharray:0 440;stroke-width:20;stroke-dashoffset:0}8%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-5}28%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-175}36%,58%{stroke-dasharray:0 440;stroke-width:20;stroke-dashoffset:-220}66%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-225}86%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-395}94%,to{stroke-dasharray:0 440;stroke-width:20;stroke-dashoffset:-440}}@keyframes ringD{0%,8%{stroke-dasharray:0 440;stroke-width:20;stroke-dashoffset:0}16%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-5}36%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-175}44%,50%{stroke-dasharray:0 440;stroke-width:20;stroke-dashoffset:-220}58%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-225}78%{stroke-dasharray:40 400;stroke-width:30;stroke-dashoffset:-395}86%,to{stroke-dasharray:0 440;stroke-width:20;stroke-dashoffset:-440}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegacy;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-blue: #0e4c92;--primary-blue-light: #1359a9;--primary-blue-dark: #012965;--success-green: #28a745;--danger-red: #dc3545;--warning-orange: #fd7e14;--info-blue: #17a2b8;--secondary-teal: #12b9d3;--accent-pink: #ec4899;--badge-primary: var(--primary-blue);--badge-primary-text: #ffffff;--badge-secondary: var(--secondary-teal);--badge-secondary-text: #ffffff;--badge-success: var(--success-green);--badge-success-text: #ffffff;--badge-danger: var(--danger-red);--badge-danger-text: #ffffff;--badge-warning: var(--warning-orange);--badge-warning-text: #ffffff;--badge-info: var(--info-blue);--badge-info-text: #ffffff;--badge-light: var(--light-gray);--badge-light-text: var(--text-muted);--badge-dark: #343a40;--badge-dark-text: #ffffff;--light-gray: #f8f9fa;--border-gray: #dee2e6;--text-muted: #495057;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--header-height: 80px;--header-height-mobile: 75px;--header-height-small: 70px;--header-height-scrolled: 70px;--header-height-scrolled-mobile: 65px;--header-height-scrolled-small: 60px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-full: 50%;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{margin:0;padding:0;padding-top:var(--header-height);transition:padding-top var(--transition-normal);overscroll-behavior-y:none}body[data-admin=true]{padding-top:0!important}body:has([data-page-type=admin]){padding-top:0!important}body[data-admin=true] .page-full-height{min-height:100vh}body[data-admin=true] .header-offset,body[data-admin=true] .header-margin{padding-top:0;margin-top:0}.page-full-height{min-height:calc(100vh - var(--header-height));display:flex;flex-direction:column}.page-full-height .container{flex:1}.header-offset{padding-top:var(--header-height)}.header-margin{margin-top:var(--header-height)}@media (max-width: 992px) and (min-width: 768px){body{padding-top:var(--header-height)}.page-full-height{min-height:calc(100vh - var(--header-height))}.header-offset{padding-top:var(--header-height)}.header-margin{margin-top:var(--header-height)}}@media (max-width: 767px){body{padding-top:var(--header-height-mobile)}.page-full-height{min-height:calc(100vh - var(--header-height-mobile))}.header-offset{padding-top:var(--header-height-mobile)}.header-margin{margin-top:var(--header-height-mobile)}}@media (max-width: 479px){body{padding-top:var(--header-height-small)}.page-full-height{min-height:calc(100vh - var(--header-height-small))}.header-offset{padding-top:var(--header-height-small)}.header-margin{margin-top:var(--header-height-small)}}[dir=rtl] .accordion-button:after{margin-inline-end:0;margin-inline-start:auto}*:focus{outline:2px solid var(--primary-blue);outline-offset:2px}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hover-card:hover,.card-enhanced:hover,.btn-enhanced:hover{transform:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-enhanced{border:2px solid var(--border-gray);border-radius:var(--border-radius-lg);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.card-enhanced:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-card{transition:transform var(--transition-normal),box-shadow var(--transition-normal);cursor:pointer;will-change:transform}.hover-card:hover{transform:translateY(-4px) translateZ(0);box-shadow:var(--shadow-lg)}.btn-enhanced{font-weight:600;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);border-radius:var(--border-radius-md);will-change:transform}.btn-enhanced:hover{transform:translateY(-2px) translateZ(0);box-shadow:var(--shadow-md)}.btn-gradient-primary{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);border:none;color:#fff}.btn-gradient-primary:hover{background:linear-gradient(135deg,var(--primary-blue-dark) 0%,var(--primary-blue) 100%);box-shadow:0 4px 12px #0e4c924d}.btn-gradient-success{background:linear-gradient(135deg,#1e7e34 0%,var(--success-green) 100%);border:none;color:#fff}.btn-gradient-success:hover{background:linear-gradient(135deg,#155724,#1e7e34);box-shadow:0 4px 12px #28a7454d}.btn-xl{padding:var(--spacing-md) var(--spacing-xl);font-size:1.1rem;font-weight:600}.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.search-input-enhanced{border-radius:25px;border:2px solid var(--border-gray);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:12px 45px 12px 15px}.info-box{background-color:var(--light-gray);border-radius:var(--border-radius-md);border:1px solid var(--border-gray);padding:var(--spacing-md);text-align:center;transition:all var(--transition-normal)}.info-box:hover{box-shadow:var(--shadow-sm)}.info-box-title{color:var(--text-muted);font-weight:600;margin-bottom:var(--spacing-sm);font-size:.9rem}.section-header{font-size:1.75rem;font-weight:600;color:var(--text-muted);margin-bottom:0}.section-subtitle{margin-top:var(--spacing-sm);color:var(--text-muted);font-size:1rem}.mobile-card{min-height:140px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1);-webkit-touch-callout:none;user-select:none}.mobile-card:active{transform:scale(.98);transition:transform .1s ease}.mobile-search-container{margin-bottom:var(--spacing-md)}.mobile-search-input{padding:12px 55px 12px 16px;border-radius:25px;border:2px solid var(--border-gray);font-size:16px;transition:all var(--transition-normal)}.mobile-sticky-cart{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border-gray);box-shadow:0 -2px 10px #0000001a;padding:12px 0;padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);z-index:1000;animation:slideUpCart var(--transition-normal) ease-out}.mobile-cart-button{border-radius:var(--border-radius-md);font-weight:600;padding:12px 20px;font-size:1.1rem;box-shadow:none;border:none}.mobile-back-button{border-radius:var(--border-radius-md);padding:8px 12px;font-size:.9rem}@media (max-width: 767px){.page-full-height.has-sticky-cart{padding-bottom:80px}.firebase-emulator-warning{display:none}.mobile-search-input{text-align:center}.mobile-search-input:focus{text-align:left}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{overscroll-behavior-y:none;min-height:calc(100vh - env(safe-area-inset-bottom))}*{-webkit-overflow-scrolling:touch}.card-enhanced,.hover-card,.mobile-card{backface-visibility:hidden;transform:translateZ(0);will-change:transform}}@media (max-width: 767px){.badge{font-size:.75rem;padding:4px 8px}.section-header{font-size:1.5rem}.icon-xl{font-size:2rem}}.icon-xl{font-size:2.5rem}.mobile-icon{font-size:3rem!important}.mobile-sport-icon{height:70px!important;width:70px!important}.mobile-card{min-height:140px;touch-action:manipulation}.mobile-card-title{font-size:1.1rem;line-height:1.3}.mobile-price{font-size:1.2rem;font-weight:700}@media (max-width: 576px){.mobile-card{min-height:120px}.mobile-icon{font-size:2.5rem!important}.mobile-sport-icon{height:60px!important;width:60px!important}.mobile-card-title{font-size:1rem}.mobile-price{font-size:1.1rem}}.mobile-search-container{margin-bottom:1rem}.mobile-search-input{padding:12px 55px 12px 16px;border-radius:25px;border:2px solid var(--border-gray);font-size:16px;transition:all .3s ease}.mobile-search-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 .2rem #0e4c9240;text-align:left}.mobile-search-icon{pointer-events:none}.mobile-clear-search{z-index:10;color:var(--text-muted)!important;font-size:14px}.mobile-clear-search:hover{color:var(--text-muted)!important}.mobile-sticky-cart{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border-gray);box-shadow:0 -2px 10px #0000001a;padding:12px 0;z-index:1000;animation:slideUpCart .3s ease-out}@keyframes slideUpCart{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-cart-button{border-radius:8px;font-weight:600;padding:12px 20px;font-size:1.1rem;box-shadow:none;border:none}.mobile-cart-button:disabled{background-color:var(--text-muted);border-color:var(--text-muted)}.mobile-back-button{border-radius:8px;padding:8px 12px;font-size:.9rem}@media (max-width: 767px){.page-full-height.has-sticky-cart{padding-bottom:80px}.firebase-emulator-warning{display:none}.mobile-search-input{text-align:center}.mobile-search-input:focus{text-align:left}}.mobile-cart-container{padding:0 8px}.mobile-cart-item{border-radius:16px!important;box-shadow:0 2px 12px #00000014!important;border:1px solid #e9ecef!important;transition:all .3s ease;overflow:hidden}.mobile-cart-item:hover{box-shadow:0 4px 20px #0000001f!important;transform:translateY(-2px)}.mobile-remove-button-inline{background-color:#fff!important;border:2px solid #dc3545!important;color:#dc3545!important;border-radius:50%!important;width:32px!important;height:32px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 2px 8px #dc354533;transition:all .3s ease}.mobile-remove-button-inline:hover{background-color:#dc3545!important;color:#fff!important;transform:scale(1.1);box-shadow:0 4px 12px #dc35454d}.mobile-cart-content{width:100%}.mobile-activity-title{font-size:1.2rem;font-weight:700;color:var(--primary-blue-dark);line-height:1.3}.mobile-program-title{font-size:1rem;font-weight:500;line-height:1.2}.mobile-player-section{background-color:#f8f9fa!important;border:1px solid #e9ecef}.mobile-player-details{font-size:.9rem}.mobile-badge{font-size:.8rem;padding:6px 10px;border-radius:12px;font-weight:500}.mobile-price-section{border-top:2px solid #e9ecef!important;margin-top:1rem}.mobile-price-label{font-size:.9rem;font-weight:500}.mobile-price-amount{font-size:1.3rem!important;color:#28a745!important}.mobile-checkout-section{padding:0 8px}.mobile-total-card{border:2px solid var(--primary-blue);box-shadow:0 4px 16px #0e4c921a}.mobile-checkout-buttons{max-width:100%}.mobile-checkout-btn{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);border:none;color:#fff;font-weight:600;padding:14px 20px;border-radius:12px;font-size:1.1rem;box-shadow:0 4px 16px #0e4c9233}.mobile-checkout-btn:hover{background:linear-gradient(135deg,var(--primary-blue-dark) 0%,var(--primary-blue) 100%);transform:translateY(-2px);box-shadow:0 6px 20px #0e4c924d}.mobile-clear-btn{border:2px solid #dc3545;color:#dc3545;font-weight:600;padding:10px 20px;border-radius:12px;background:#fff}.mobile-clear-btn:hover{background-color:#dc3545;color:#fff;border-color:#dc3545}@media (max-width: 576px){.mobile-cart-item{margin-bottom:1.5rem;padding:1rem}.mobile-activity-title{font-size:1.1rem}.mobile-price-amount{font-size:1.2rem!important}.mobile-remove-button-inline{width:28px!important;height:28px!important}}.mobile-filter-toggle,.mobile-export-btn,.mobile-clear-btn{border-radius:20px;font-weight:500;font-size:.85rem;padding:6px 12px}.mobile-filter-toggle{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);border:none;color:#fff}.mobile-export-btn{border:2px solid var(--success-green);color:var(--success-green);background:#fff}.mobile-export-btn:hover{background-color:var(--success-green);color:#fff}.mobile-clear-btn{border:2px solid var(--text-muted);color:var(--text-muted);background:#fff}.mobile-clear-btn:hover{background-color:var(--text-muted);color:#fff}.mobile-bookings-container{padding:0 8px}.mobile-booking-item{border-radius:16px!important;box-shadow:0 2px 12px #00000014!important;border:1px solid #e9ecef!important;transition:all .3s ease;overflow:hidden}.mobile-booking-item:hover{box-shadow:0 4px 20px #0000001f!important;transform:translateY(-2px)}.mobile-booking-title{font-size:1.2rem;font-weight:700;color:#2c3e50;line-height:1.3}.mobile-booking-subtitle{font-size:1rem;font-weight:500;line-height:1.2}.mobile-player-info{background-color:#f8f9fa!important;border:1px solid #e9ecef}.mobile-player-name{font-size:1.1rem;color:#2c3e50}.mobile-info-badge{font-size:.8rem;padding:6px 10px;border-radius:12px;font-weight:500}.mobile-payment-section{padding-top:1rem;border-top:2px solid #e9ecef;margin-top:1rem}.mobile-price-info{text-align:left}.mobile-date-info{text-align:right}.mobile-price-info .fs-5{font-size:1.3rem!important;color:#28a745!important}@media (max-width: 576px){.mobile-booking-item{margin-bottom:1.5rem;padding:1rem}.mobile-booking-title{font-size:1.1rem}.mobile-filter-toggle,.mobile-export-btn,.mobile-clear-btn{font-size:.8rem;padding:5px 10px;margin-bottom:8px}.mobile-price-info .fs-5{font-size:1.2rem!important}.mobile-player-info{padding:.75rem}}.mobile-filters-expanded{animation:slideDown .3s ease-out;max-height:400px;overflow:hidden}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:400px;opacity:1}}@media (max-width: 767px){.badge{font-size:.75rem;padding:4px 8px}.mobile-info-badge{font-size:.7rem;padding:4px 8px}}.section-header{font-size:1.75rem;font-weight:600;color:#495057;margin-bottom:0}.section-subtitle{margin-top:.5rem;color:var(--text-muted);font-size:1rem}.btn-enhanced{font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;border-radius:8px}.btn-enhanced:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-danger.btn-enhanced{background:linear-gradient(135deg,#c82333 0%,var(--danger-red) 100%);border:none;color:#fff}.btn-danger.btn-enhanced:hover{background:linear-gradient(135deg,#a02129,#c82333);box-shadow:0 4px 12px #dc35454d}.btn-primary.btn-enhanced,.btn-gradient-primary{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-light) 100%);border:none;color:#fff}.btn-primary.btn-enhanced:hover,.btn-gradient-primary:hover{background:linear-gradient(135deg,var(--primary-blue-dark) 0%,var(--primary-blue) 100%);box-shadow:0 4px 12px #0e4c924d}.btn-success.btn-enhanced,.btn-gradient-success{background:linear-gradient(135deg,#1e7e34 0%,var(--success-green) 100%);border:none;color:#fff}.btn-success.btn-enhanced:hover,.btn-gradient-success:hover{background:linear-gradient(135deg,#155724,#1e7e34);box-shadow:0 4px 12px #28a7454d}.btn-outline-primary.btn-enhanced{border:2px solid var(--primary-blue);color:var(--primary-blue);background:transparent}.btn-outline-primary.btn-enhanced:hover{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.btn-secondary.btn-enhanced{background:linear-gradient(135deg,#5a6268 0%,var(--secondary-teal) 100%);border:none;color:#fff}.btn-secondary.btn-enhanced:hover{background:linear-gradient(135deg,#545b62,#0ea5c2);box-shadow:0 4px 12px #12b9d34d}.btn-xl{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn svg,.btn-icon svg,.summary-section svg{vertical-align:middle}.btn i{vertical-align:middle;line-height:1}.info-box svg{display:block;margin:0 auto}.search-input-enhanced{border-radius:25px;border:2px solid var(--border-gray);box-shadow:0 2px 4px #0000001a;transition:all .3s ease;padding:12px 45px 12px 15px}.search-input-enhanced:focus{border-color:var(--primary-blue);box-shadow:0 0 0 .2rem #0e4c9240}.info-box{background-color:var(--light-gray);border-radius:10px;border:1px solid var(--border-gray);padding:1rem;text-align:center;transition:all .3s ease}.info-box:hover{box-shadow:0 2px 8px #0000001a}.info-box-title{color:#495057;font-weight:600;margin-bottom:.5rem;font-size:.9rem}.price-display{font-size:1.3rem;font-weight:700;color:var(--danger-red)}.price-display-success{font-size:1.3rem;font-weight:700;color:var(--success-green)}@media (max-width: 767px){.section-header{font-size:1.5rem}.icon-xl{font-size:2rem}}
