:root{--color-primary:#0a366d;--color-primary-light:#0d4589;--color-primary-dark:#072851;--color-primary-lighter:#1054a5;--color-secondary:#f9a01b;--color-secondary-light:#fbb645;--color-secondary-dark:#d88710;--color-white:#fff;--color-gray-50:#f8f9fa;--color-gray-100:var(--color-gray-100);--color-gray-200:#e5e7eb;--color-gray-300:var(--color-gray-300);--color-gray-400:var(--color-gray-400);--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:var(--color-gray-700);--color-gray-800:#1f2937;--color-gray-900:#111827;--color-black:#000;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--bg-primary:var(--color-white);--bg-secondary:var(--color-gray-50);--bg-tertiary:var(--color-gray-100);--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-600);--text-tertiary:var(--color-gray-500);--text-inverse:var(--color-white);--border-light:var(--color-gray-200);--border-medium:var(--color-gray-300);--border-dark:var(--color-gray-400);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--font-family:"Artegra",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-base:1rem;--font-size-body:1rem;--font-size-heading:1.2rem;--transition-fast:150ms ease-in-out;--transition-base:200ms ease-in-out;--transition-slow:300ms ease-in-out;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--spacing-3xl:3rem}@font-face{font-family:Artegra;src:url(/fonts/Artegra-Regular.woff2) format("woff2"),url(/fonts/Artegra-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Artegra;src:url(/fonts/Artegra-Medium.woff2) format("woff2"),url(/fonts/Artegra-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Artegra;src:url(/fonts/Artegra-SemiBold.woff2) format("woff2"),url(/fonts/Artegra-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Artegra;src:url(/fonts/Artegra-Bold.woff2) format("woff2"),url(/fonts/Artegra-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{font-size:var(--font-size-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);min-height:100vh;display:flex;flex-direction:column}body,h1,h2,h3,h4,h5,h6{font-family:var(--font-family);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-size:var(--font-size-heading);font-weight:600;line-height:1.3;margin:0 0 .5em}.text-body{font-size:var(--font-size-body)}.text-heading{font-size:var(--font-size-heading)}.header{background-color:var(--bg-primary);box-shadow:var(--shadow-md);padding:1.25rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border-light)}.header-content{max-width:1400px;margin:0 auto}.logo-section{display:flex;align-items:center;gap:1rem}.logo-icon{width:40px;height:40px}.logo-icon,.title{color:var(--color-primary)}.title{font-size:var(--font-size-heading);font-weight:700;letter-spacing:-.02em}.search-section{background-color:var(--bg-secondary);padding:2.5rem 2rem;border-bottom:1px solid var(--border-light)}.search-container{max-width:1400px;margin:0 auto;background-color:var(--bg-primary);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.search-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.go-to-hockey-button{padding:1rem 1.75rem;background-color:#50569f;color:#fff;font-size:16px;font-weight:600;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;border-radius:50px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;white-space:nowrap;margin-left:auto;letter-spacing:.05em}.go-to-hockey-button:hover{background-color:rgba(80,86,159,.8);transform:none;box-shadow:none}.go-to-hockey-button:active{transform:scale(.98);box-shadow:0 2px 8px rgba(80,86,159,.3)}.app-logo{display:inline-flex;align-items:center;gap:.625rem;text-decoration:none;font-weight:700;font-size:var(--font-size-heading);transition:color .2s ease,opacity .2s ease}.app-logo,.app-logo:hover{color:var(--color-primary)}.app-logo:hover{opacity:.9}.app-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-primary);color:#fff;border-radius:8px;font-size:var(--font-size-body);letter-spacing:-.02em}.app-logo-img{height:2.5rem;width:auto;display:block;object-fit:contain}.app-logo-text{letter-spacing:-.02em}@media (max-width:768px){.app-logo-text{display:none}.go-to-hockey-button{padding:.875rem 1.5rem;font-size:14px;letter-spacing:.04em}}.mobile-results-title{display:none;margin-bottom:1.5rem}.mobile-results-title h2{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.search-filters{display:grid;grid-template-columns:1fr 1.5fr 1fr auto auto;grid-gap:1.5rem;gap:1.5rem;align-items:end}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-label{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-heading);font-weight:600;color:var(--color-primary);font-size:var(--font-size-body);text-transform:uppercase;letter-spacing:.05em}.filter-icon{width:18px;height:18px;color:var(--color-primary)}.filter-input{padding:.875rem 1rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--color-primary);font-size:16px;font-weight:500;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important;cursor:pointer;transition:all .2s ease;width:100%}.filter-input:hover{border-color:var(--color-gray-400);background-color:var(--bg-tertiary)}.filter-input:focus{outline:none;border-color:var(--color-primary);background-color:var(--bg-primary);box-shadow:0 0 0 3px rgba(48,82,166,.1)}.time-range-inputs{display:flex;align-items:center;gap:.75rem}.time-select{flex:1 1}.time-separator{color:var(--text-secondary);font-weight:500}.search-button,.time-separator{font-size:var(--font-size-body)}.search-button{padding:.875rem 2.5rem;background-color:#50569f;color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.search-button:hover{background-color:#3f4580;transform:translateY(-1px);box-shadow:0 4px 12px rgba(80,86,159,.25)}.search-button:active{transform:translateY(0)}.search-icon{width:20px;height:20px}.view-type-dropdown{position:relative;display:inline-block}.view-type-button{padding:.875rem 1.25rem;background-color:var(--bg-primary);color:var(--color-primary);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;min-width:140px;width:100%;justify-content:space-between}.view-type-button:hover{background-color:var(--bg-tertiary);border-color:var(--color-gray-400);transform:translateY(-1px)}.view-type-button:active{transform:translateY(0)}.view-type-button.open{border-color:var(--color-primary);background-color:var(--bg-tertiary)}.view-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}.view-icon .hugeicon,.view-icon svg{width:20px;height:20px;color:inherit;stroke:currentColor}.dropdown-chevron{display:inline-flex;align-items:center;transition:transform .2s ease}.dropdown-chevron .hugeicon,.dropdown-chevron svg{width:16px;height:16px}.view-type-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background-color:var(--bg-primary);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:1000;overflow:hidden;animation:fadeInDown .2s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.view-type-option{width:100%;padding:.875rem 1rem;background:none;border:none;color:var(--color-gray-700);font-size:var(--font-size-body);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:all .2s ease;text-align:left}.view-type-option:hover{background-color:var(--color-gray-100);color:var(--color-primary)}.view-type-option.active{background-color:#eff6ff;color:var(--color-primary);font-weight:600}.view-type-option.active .view-icon,.view-type-option.active .view-icon .hugeicon,.view-type-option.active .view-icon svg,.view-type-option:hover .view-icon,.view-type-option:hover .view-icon .hugeicon,.view-type-option:hover .view-icon svg{color:var(--color-primary);stroke:var(--color-primary)}.custom-select{position:relative;display:inline-block;width:100%}.custom-select-button{width:100%;padding:.875rem 1rem;background-color:var(--bg-primary);color:var(--color-primary);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:16px;font-weight:500;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:all .2s ease;text-align:left;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.custom-select-button:hover{border-color:var(--color-gray-400);background-color:var(--bg-tertiary)}.custom-select-button:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(48,82,166,.1)}.custom-select-button.open{border-color:var(--color-primary);background-color:var(--bg-tertiary)}.custom-select-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important;font-size:16px;font-weight:500;color:var(--color-primary)}.custom-select-chevron{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.custom-select-chevron .hugeicon,.custom-select-chevron svg{width:16px;height:16px}.custom-select-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background-color:var(--bg-primary);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:1000;overflow:hidden;animation:fadeInDown .2s ease-out}.custom-select-options{max-height:300px;overflow-y:auto}.custom-select-options::-webkit-scrollbar{width:8px}.custom-select-options::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:0 10px 10px 0}.custom-select-options::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-md)}.custom-select-options::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.custom-select-option{width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--color-gray-700);font-size:16px;font-weight:500;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important;cursor:pointer;display:flex;align-items:center;transition:all .2s ease;text-align:left}.custom-select-option:hover{background-color:var(--color-gray-100);color:var(--color-primary)}.custom-select-option.active{background-color:#eff6ff;color:var(--color-primary);font-weight:600}.time-select .custom-select-button{min-width:120px}.results-section{flex:1 1;padding:2.5rem 2rem;background-color:var(--bg-secondary)}.results-container{max-width:1400px;margin:0 auto}.results-header{margin-bottom:2rem}.results-header h2{font-size:var(--font-size-heading);font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.results-count{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-state p{font-size:var(--font-size-heading);color:var(--text-secondary);font-weight:500}.no-results-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.no-results-icon{width:64px;height:64px;color:var(--color-gray-300);stroke-width:1.5}.no-results-state h3{font-size:var(--font-size-heading);font-weight:700;color:var(--color-gray-700)}.no-results-state p{font-size:var(--font-size-body);color:var(--text-secondary)}.time-range-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--bg-primary);margin-bottom:1.5rem;margin-top:1.5rem;border-radius:var(--radius-md);box-shadow:0 2px 4px rgba(0,0,0,.05);cursor:pointer;transition:all .2s ease}.time-range-header:hover{background:linear-gradient(135deg,#f0f1f3,#f8f9fa);box-shadow:0 3px 6px rgba(0,0,0,.08)}.time-range-header:first-child{margin-top:0}.time-range-icon{width:2.5rem;height:2.5rem;flex-shrink:0;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.time-range-icon svg{width:100%;height:100%}.time-range-info{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.time-range-label{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);letter-spacing:-.01em}.time-range-time{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500}.time-range-count{font-size:var(--font-size-body);font-weight:600;color:#fff;background-color:var(--color-secondary);padding:.375rem .875rem;border-radius:20px;white-space:nowrap}.collapse-icon{width:24px;height:24px;transition:transform .3s ease;flex-shrink:0}.collapse-content{transition:all .3s ease;overflow:hidden}.collapse-content.expanded{opacity:1;max-height:10000px}.collapse-content.collapsed{opacity:0;max-height:0;margin-bottom:0}.collapse-content-list{transition:all .3s ease;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.collapse-content-list.expanded{opacity:1;max-height:none}.collapse-content-list.collapsed{opacity:0;max-height:0}.collapse-content-list.collapsed .result-card{display:none}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:1rem}.list-view-results-grid{grid-template-columns:repeat(3,1fr)}@media (max-width:1200px){.list-view-results-grid{grid-template-columns:repeat(2,1fr)}}.result-card{background-color:var(--bg-primary);border-radius:15px;box-shadow:none;overflow:hidden;transition:all .3s ease;border-bottom:1px solid var(--border-light);border:1px solid var(--border-light);display:flex;flex-direction:column}.result-card-clickable{cursor:pointer}.result-card:hover{background-color:var(--bg-primary);border:1px solid var(--border-light);transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.card-header{justify-content:space-between;padding:1.5rem 1.5rem .5rem;background-color:transparent;border-bottom:none}.card-header,.card-header-left{display:flex;align-items:center}.card-header-left{gap:.75rem;flex-wrap:wrap}.card-rink-badge{padding:0;font-size:var(--font-size-body);font-weight:700;letter-spacing:.02em;color:var(--color-primary)}.card-status-badge{padding:.25rem .625rem;font-size:var(--font-size-body);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;display:inline-flex;align-items:center}.status-badge-active{background-color:#dcfce7;color:#166534;border:1px solid #86efac}.status-badge-expired{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.status-badge-sold{background-color:#e0e7ff;color:#3730a3;border:1px solid #a5b4fc}.status-badge-unknown{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.card-event-id{font-weight:600;border-radius:4px;background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.card-db-id,.card-event-id{padding:.25rem .625rem;font-size:var(--font-size-body);font-family:Courier New,monospace;letter-spacing:.02em;display:inline-flex;align-items:center}.card-db-id{font-weight:700;border-radius:4px;background-color:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.card-price{display:flex;flex-direction:column;align-items:flex-end}.price-amount{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary)}.price-label{text-transform:uppercase;letter-spacing:.05em}.price-label,.price-not-available{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500}.price-not-available{font-style:italic;text-align:right}.price-included-text{font-size:var(--font-size-body);font-weight:500;color:var(--color-primary);text-align:right;line-height:1.3}@media (max-width:768px){.price-included-text,.price-not-available{font-size:var(--font-size-body)}}@media (max-width:480px){.price-included-text,.price-not-available{font-size:var(--font-size-body)}}.card-body{padding:.5rem 1.5rem 1.5rem;flex:1 1;background-color:transparent}.card-date{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background-color:var(--color-gray-100);color:var(--color-gray-700);border-radius:6px;font-size:var(--font-size-body);font-weight:600;margin-bottom:.75rem;width:-moz-fit-content;width:fit-content}.card-date-icon{width:14px;height:14px;color:var(--text-secondary)}.card-title{font-size:var(--font-size-heading);font-weight:700;margin-bottom:.5rem;letter-spacing:-.01em;line-height:1.3}.card-notes,.card-title{color:var(--color-primary)}.card-notes{font-size:var(--font-size-body);font-weight:500;margin-bottom:1rem;line-height:1.4}.card-details{display:flex;flex-direction:column;gap:.625rem}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-body);color:var(--color-gray-700);font-weight:400}.detail-icon{width:16px;height:16px;color:var(--color-gray-400);flex-shrink:0;stroke-width:2}.footer{background-color:var(--bg-primary);border-top:1px solid var(--border-light);padding:1.5rem 2rem;margin-top:auto}.footer-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-content p{font-size:var(--font-size-body);color:var(--text-secondary)}.footer-links{display:flex;gap:1rem;align-items:center}.footer-links a{color:#667eea;text-decoration:none;font-size:var(--font-size-body);font-weight:500;transition:color .2s ease}.footer-links a:hover{color:#764ba2}.footer-links span{color:var(--color-gray-300)}.mobile-tabs{display:none;background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:20}.mobile-tab{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background-color:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:color .2s ease;position:relative}.mobile-tab:hover{color:var(--color-primary)}.mobile-tab:hover .tab-icon,.mobile-tab:hover .tab-icon .hugeicon,.mobile-tab:hover .tab-icon svg{color:var(--color-primary);stroke:var(--color-primary)}.mobile-tab.active{color:var(--color-primary)}.mobile-tab.active .tab-icon,.mobile-tab.active .tab-icon .hugeicon,.mobile-tab.active .tab-icon svg{color:var(--color-primary);stroke:var(--color-primary)}.tab-icon{display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease}.tab-icon .hugeicon,.tab-icon svg{width:20px;height:20px;transition:all .2s ease}@media (min-width:1201px){.mobile-tabs{display:none!important}.full-results-container .map-panel,.full-results-container .results-list-panel,.full-results-container.show-map .results-list-panel{display:flex!important}}@media (max-width:1200px){.collapse-content-list,.results-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.list-view-results-grid{grid-template-columns:repeat(2,1fr)}.search-filters{grid-template-columns:1fr 1fr 1fr}.search-filters .view-type-dropdown{grid-column:1/-1;justify-self:start}.mobile-tabs{display:flex!important}.full-results-section{display:flex;flex-direction:column;min-height:calc(100vh - 220px);padding:0}.full-results-container{grid-template-columns:1fr!important;display:flex!important;flex-direction:column;flex:1 1;height:auto}.results-list-panel{display:flex!important;border-right:none;border-left:none;flex:1 1;order:unset}.map-panel{order:unset}.full-results-container.show-map .results-list-panel,.map-panel{display:none!important}.full-results-container.show-map .map-panel{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;flex:1 1}}#dateFilter,.filter-input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;min-height:44px;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important;font-weight:500;font-size:16px!important;color:var(--color-primary)!important}.filter-input[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:.75rem;cursor:pointer;width:20px;height:20px;opacity:.6}.filter-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}#dateFilter::-webkit-datetime-edit,.filter-input[type=date]::-webkit-datetime-edit{font-weight:500;color:var(--color-primary)!important}#dateFilter::-webkit-datetime-edit,#dateFilter::-webkit-datetime-edit-fields-wrapper,.filter-input[type=date]::-webkit-datetime-edit,.filter-input[type=date]::-webkit-datetime-edit-fields-wrapper{font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:16px!important}#dateFilter::-webkit-datetime-edit-day-field,#dateFilter::-webkit-datetime-edit-month-field,#dateFilter::-webkit-datetime-edit-text,#dateFilter::-webkit-datetime-edit-year-field,.filter-input[type=date]::-webkit-datetime-edit-day-field,.filter-input[type=date]::-webkit-datetime-edit-month-field,.filter-input[type=date]::-webkit-datetime-edit-text,.filter-input[type=date]::-webkit-datetime-edit-year-field{font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-weight:500;font-size:16px!important;color:var(--color-primary)!important}#dateFilter::-moz-placeholder,.filter-input[type=date]::-moz-placeholder{font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:16px!important;color:var(--color-primary)!important}.filter-input select,select.filter-input{min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem}@media (max-width:768px){.list-view-results-grid{grid-template-columns:1fr}.search-section{padding:1.5rem 1rem;position:relative}.search-container{padding:1.5rem;border-radius:var(--radius-md)}.search-filters{grid-template-columns:1fr;gap:1.25rem}.filter-item{gap:.625rem}.filter-label{font-size:var(--font-size-body);margin-bottom:.25rem}.time-range-inputs{flex-direction:column;align-items:stretch;gap:.875rem}.time-separator{text-align:center;padding:.375rem 0;font-size:var(--font-size-body);font-weight:600;color:var(--text-primary)}.custom-select-button,.filter-input,.search-button,.view-type-button{min-height:50px;font-size:16px;padding:.875rem 1rem;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important}.filter-input{border-width:1.5px}.custom-select-menu,.view-type-menu{left:0;right:0;width:100%}.custom-select-option,.view-type-option{padding:1rem 1.25rem;font-size:16px;min-height:50px;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important}.time-select{width:100%}.time-select .custom-select-button{width:100%;min-width:unset}.time-select .custom-select-menu{max-height:280px;width:100%}.custom-select-options{max-height:280px}.mobile-results-title{display:block;margin-bottom:1.25rem}.mobile-results-title h2{font-size:var(--font-size-heading)}.collapse-content-list,.results-grid{grid-template-columns:1fr}.header{padding:1rem 1.5rem}.full-results-section,.quick-view-section,.results-section{padding:2rem 1.5rem}.results-list{padding:1.5rem}.modal-dialog{width:95%}.quick-view-header{display:none}.time-range-header{padding:1rem;gap:.75rem;margin-top:1rem;margin-bottom:1rem}.time-range-icon{width:2rem;height:2rem}.time-range-count,.time-range-label,.time-range-time{font-size:var(--font-size-body)}.time-range-count{padding:.25rem .625rem}.collapse-icon{width:20px;height:20px}.search-button{width:100%;justify-content:center;padding:1rem 2rem;font-size:var(--font-size-body);min-height:52px;font-weight:700}.view-type-dropdown{width:100%}.view-type-button{width:100%;min-width:unset;padding:.875rem 1rem;font-size:var(--font-size-body);min-height:50px}.view-type-menu{min-width:unset;width:100%;right:0;left:0}}@media (max-width:480px){.search-section{padding:1rem .75rem}.search-container{padding:1.25rem;border-radius:var(--radius-sm)}.go-to-hockey-button{padding:.75rem 1.25rem;font-size:13px;letter-spacing:.03em}.mobile-results-title h2{font-size:var(--font-size-heading)}.filter-label{font-size:var(--font-size-body)}.filter-icon{width:16px;height:16px}.custom-select-button,.filter-input,.search-button,.view-type-button{min-height:48px;font-size:16px;padding:.75rem .875rem;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important}.search-button{padding:1rem 1.5rem;font-size:16px}.custom-select-button,.view-type-button{font-size:16px;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important}.search-filters{gap:1rem}.time-range-inputs{gap:.75rem}.time-separator{padding:.25rem 0;font-size:var(--font-size-body)}.custom-select-option,.view-type-option{padding:.875rem 1rem;font-size:16px;font-family:Artegra,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif!important}.card-title,.results-header h2,.title{font-size:var(--font-size-heading)}.card-notes{font-size:var(--font-size-body)}.modal-title{font-size:var(--font-size-heading)}}.quick-view-section{flex:1 1;padding:2.5rem 2rem;background-color:var(--bg-secondary);overflow-y:auto;max-height:calc(100vh - 280px)}.quick-view-container{max-width:1400px;margin:0 auto}.quick-view-header{margin-bottom:2rem}.quick-view-header h2{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin-bottom:.5rem;letter-spacing:-.02em}.quick-view-subtitle{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500}.full-results-section{flex:1 1;padding:0;background-color:var(--bg-secondary)}.full-results-container{display:grid;grid-template-columns:40% 60%;height:calc(100vh - 220px);min-height:600px}.results-list-panel{background-color:var(--bg-primary);border-left:1px solid #e5e7eb;order:2;display:flex;flex-direction:column;overflow-y:auto;transition:opacity .3s ease}.results-list-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-light);background-color:var(--bg-primary);position:-webkit-sticky;position:sticky;top:0;z-index:10}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--color-gray-100);color:var(--color-gray-700);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.back-button:hover{background-color:#e5e7eb}.back-button svg{width:18px;height:18px}.results-info h2{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.results-list{flex:1 1;overflow-y:auto;padding:2rem;background-color:var(--color-gray-100)}.results-list .result-card{margin-bottom:0}.loading-more{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;font-size:var(--font-size-body);color:var(--text-secondary)}.loading-spinner-small{width:20px;height:20px;border:2px solid #e5e7eb;border-top:2px solid var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.map-panel{background-color:#e5e7eb;position:relative;overflow:hidden;transition:opacity .3s ease;order:1}.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.map-placeholder-icon{width:80px;height:80px;color:var(--color-gray-400);margin-bottom:1rem}.map-placeholder h3{font-size:var(--font-size-heading);font-weight:700;color:var(--color-gray-700);margin-bottom:.5rem}.map-placeholder p{font-size:var(--font-size-body);color:var(--text-secondary)}.calendar-view-section{flex:1 1;background-color:var(--bg-secondary);padding:2.5rem 2rem;overflow:hidden;display:flex;flex-direction:column}.calendar-view-wrapper{max-width:1400px;margin:0 auto;width:100%;display:flex;flex-direction:column;min-height:calc(100vh - 280px)}.calendar-left-panel{flex:1 1;width:100%;background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);border:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden}.mobile-only{display:none}.desktop-tablet-only{display:flex}.calendar-container{display:grid;grid-template-columns:60% 40%;height:calc(100vh - 280px);box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);border-radius:var(--radius-lg);overflow:hidden}.calendar-panel{border-right:1px solid #e5e7eb;flex-direction:column;overflow-y:auto}.calendar-header,.calendar-panel{background-color:var(--bg-primary);display:flex}.calendar-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-light);align-items:center;gap:1rem}.calendar-title{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0}.calendar-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-shrink:0}.period-nav-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;color:var(--color-gray-700)}.period-nav-button:hover{background-color:var(--color-gray-100);background:var(--color-gray-200)}.period-nav-button .hugeicon,.period-nav-button svg{width:20px;height:20px}.current-period{flex:1 1;text-align:center;font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0}.calendar-view-toggle{position:relative}.view-toggle-button{padding:.5rem 1rem;background-color:var(--bg-tertiary);color:var(--color-gray-700);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.view-toggle-button:hover{background-color:var(--color-gray-100);background:var(--color-gray-200)}.view-toggle-button .hugeicon,.view-toggle-button svg{width:16px;height:16px}.calendar-day-headers{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.5rem;gap:.5rem;margin-bottom:.75rem;padding:0 .5rem;flex-shrink:0}.day-header{text-align:center;font-size:var(--font-size-body);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0}.calendar-grid{flex:1 1;align-content:start;overflow-y:auto;padding:.5rem}.calendar-grid.week-view{grid-template-columns:repeat(7,1fr);grid-template-rows:1fr;align-content:stretch}.calendar-grid::-webkit-scrollbar{width:8px}.calendar-grid::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-md)}.calendar-grid::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-md)}.calendar-grid::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.calendar-day{background-color:#fafafa;border:2px solid #e5e7eb;border-radius:var(--radius-md);align-items:flex-start;justify-content:flex-start;min-height:60px}.calendar-grid:not(.week-view) .calendar-day{aspect-ratio:1;min-height:100px}.calendar-grid.week-view .calendar-day{min-height:150px;flex:1 1}.calendar-day:hover{border-color:var(--color-gray-400);transform:scale(1.02);box-shadow:0 4px 6px rgba(0,0,0,.05)}.calendar-day.today{border-color:var(--color-primary);background-color:#eff6ff}.calendar-day.selected{background-color:#dbeafe;box-shadow:0 0 0 3px rgba(48,82,166,.1)}.calendar-day.other-month{background-color:#fafafa}.calendar-day-number{font-weight:700;width:100%}.calendar-day-number,.calendar-day.today .calendar-day-number{color:var(--color-primary)}.calendar-day-events-preview{display:flex;flex-direction:column;gap:.25rem;width:100%;margin-top:.25rem}.calendar-event-preview{display:flex;align-items:center;gap:.375rem;padding:.25rem .375rem;background-color:rgba(48,82,166,.1);border-radius:4px;font-size:.6rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-preview-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-primary);flex-shrink:0}.event-preview-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-gray-700);font-weight:500}.calendar-event-more{background-color:hsla(220,9%,46%,.1)}.event-count-badge{position:absolute;top:.5rem;right:.5rem;background-color:var(--color-primary);color:#fff;font-size:.6rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--radius-md);min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}.events-panel-header{padding:2rem;border-bottom:1px solid var(--border-light);flex-shrink:0;background-color:var(--bg-primary)}.events-panel-header h3{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0 0 .5rem}.events-panel-subtitle{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500;margin:0}.calendar-events-scroll{flex:1 1;overflow-y:auto;padding:0}.calendar-events-scroll::-webkit-scrollbar{width:8px}.calendar-events-scroll::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-md)}.calendar-events-scroll::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-md)}.calendar-events-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.no-date-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem;color:var(--color-gray-400);padding:3rem}.no-date-selected .hugeicon,.no-date-selected svg{width:64px;height:64px;color:var(--color-gray-300)}.no-date-selected p{font-size:var(--font-size-body);font-weight:500;color:var(--color-gray-400);text-align:center}.no-events-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem;color:var(--color-gray-400)}.no-events-message .hugeicon,.no-events-message svg{width:64px;height:64px;color:var(--color-gray-300)}.no-events-message p{font-size:var(--font-size-body);font-weight:500;color:var(--color-gray-400);text-align:center}.calendar-events-list{gap:1.5rem;padding:1.5rem}.time-group{gap:.75rem}.time-group,.time-group-events{display:flex;flex-direction:column}.time-group-events{gap:1rem}.calendar-time-header{background-color:var(--bg-tertiary);padding:.875rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--border-light)}.calendar-time-header.collapsible{cursor:pointer;transition:all .2s ease}.calendar-time-header.collapsible:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-300)}.collapse-icon{display:flex;align-items:center;justify-content:center;margin-left:auto;color:var(--text-secondary)}.time-group-events.expanded{display:flex;animation:expandDown .2s ease-out;max-height:5000px;overflow:visible}.time-group-events.collapsed{display:none;max-height:0;overflow:hidden}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.month-nav-btn svg{width:20px;height:20px;stroke:currentColor}.calendar-grid-wrapper{padding:1.5rem 2rem;background-color:var(--bg-primary)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.5rem;gap:.5rem;margin-bottom:.75rem}.weekday{text-align:center;font-size:var(--font-size-body);font-weight:600;color:var(--text-secondary);padding:.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.5rem;gap:.5rem}.calendar-grid.week-view{grid-template-rows:auto}.calendar-grid.week-view .calendar-day{min-height:400px;aspect-ratio:unset}.calendar-day{aspect-ratio:1;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.75rem;cursor:pointer;transition:all .2s ease;background-color:var(--bg-primary);display:flex;flex-direction:column;position:relative;overflow:hidden}.calendar-day:hover{background-color:var(--bg-tertiary);border-color:var(--color-primary);box-shadow:0 2px 4px rgba(0,0,0,.05)}.calendar-day.selected{background-color:var(--bg-primary);border-color:var(--color-primary);border-width:2px}.calendar-day.selected .calendar-day-number{color:#1f2937;background-color:transparent}.calendar-day.selected .calendar-event{opacity:1}.calendar-day.other-month{opacity:.3;pointer-events:none}.calendar-day.today .calendar-day-number{background-color:var(--color-secondary);color:#fff;border-radius:50%}.calendar-day-number,.calendar-day.today .calendar-day-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.calendar-day-number{font-size:var(--font-size-body);font-weight:600;color:#1f2937;margin-bottom:.5rem}.calendar-day-events{display:flex;flex-direction:column;gap:.25rem;flex:1 1;overflow:hidden}.calendar-event{background-color:#dbeafe;color:#1e40af;font-size:var(--font-size-body);padding:.25rem .375rem;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;transition:all .2s ease}.calendar-event:hover{background-color:#bfdbfe}.calendar-event-more{background-color:var(--color-gray-100);color:var(--text-secondary);font-size:.6rem;padding:.25rem .375rem;border-radius:4px;text-align:center;font-weight:600;cursor:pointer}.calendar-event-more:hover{background-color:#e5e7eb;color:var(--color-gray-700)}.mobile-event-indicator{width:6px;height:6px;background-color:var(--color-primary);border-radius:50%;margin:4px auto 0}.calendar-events-panel{background-color:var(--color-gray-100);display:flex;flex-direction:column;overflow-y:auto}.calendar-events-header{padding:2rem;background-color:var(--bg-primary);border-bottom:1px solid var(--border-light)}.calendar-events-header h3{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0 0 .5rem}.calendar-events-subtitle{font-size:var(--font-size-body);color:var(--text-secondary);margin:0}.calendar-no-events{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-secondary)}.calendar-no-events-icon{width:64px;height:64px;color:var(--color-gray-400);margin-bottom:1rem}.calendar-no-events p{font-size:var(--font-size-body);margin:0}.calendar-events-list{padding:2rem}.calendar-events-list .time-range-header{margin-top:0;margin-bottom:1rem}.calendar-events-list .time-range-header:first-child{margin-top:0}.calendar-events-list .collapse-content-list{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem;grid-template-columns:unset}.calendar-events-list .collapse-content-list.expanded{display:flex}.calendar-events-list .collapse-content-list.collapsed{display:none}.mobile-events-panel{display:none;position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-primary);border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -4px 12px rgba(0,0,0,.15);transform:translateY(100%);transition:transform .3s ease-in-out;z-index:1000;max-height:85vh;overflow:hidden}.mobile-events-panel.active{transform:translateY(0)}.mobile-panel-handle{width:40px;height:4px;background-color:var(--color-gray-300);border-radius:2px;margin:.75rem auto}.mobile-panel-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.mobile-panel-header h3{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0}.close-panel-btn{background-color:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.close-panel-btn:hover{color:var(--color-gray-700)}.close-panel-btn svg{width:24px;height:24px}.mobile-events-list{padding:1.5rem;overflow-y:auto;max-height:calc(85vh - 100px);gap:0;position:relative;background:#fff}.mobile-timeline-card{position:relative;margin-bottom:.5rem}.mobile-timeline-header{position:relative;display:flex;align-items:flex-start;cursor:pointer;padding:1rem;background:var(--bg-primary);border-radius:var(--radius-md);transition:all .3s ease;border:2px solid #e5e7eb}.mobile-timeline-header:hover{box-shadow:0 2px 8px rgba(48,82,166,.1)}.mobile-timeline-header.active{background:#f8f9ff}.mobile-timeline-card:last-child .timeline-line,.timeline-line{display:none}.timeline-content{display:flex;align-items:center;gap:.75rem;width:100%;padding-left:.5rem}.timeline-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-gray-100);border-radius:var(--radius-md)}.timeline-info{flex:1 1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.timeline-label{font-weight:600;color:#1f2937}.timeline-label,.timeline-time{font-size:var(--font-size-body);line-height:1.2}.timeline-time{color:var(--text-secondary)}.timeline-badge{min-width:24px;height:24px;padding:0 8px;background:var(--color-primary);color:#fff;font-size:var(--font-size-body);font-weight:600;border-radius:var(--radius-md)}.timeline-badge,.timeline-chevron{flex-shrink:0;display:flex;align-items:center;justify-content:center}.timeline-chevron{color:var(--text-secondary)}.timeline-chevron,.timeline-chevron .hugeicon{transition:transform .3s ease}.mobile-timeline-events{overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;padding-left:.5rem;margin-top:.75rem}.mobile-timeline-events.expanded{max-height:2000px;opacity:1;display:flex;flex-direction:column;gap:.75rem}.mobile-timeline-events.collapsed{max-height:0;opacity:0;display:none}.mobile-event-card{margin-left:.5rem;padding-left:1rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.mobile-event-card:hover{transform:translateX(2px);box-shadow:0 4px 12px rgba(48,82,166,.15)}.mobile-events-list .time-range-header{margin-top:0;margin-bottom:1rem}.mobile-events-list .time-range-header:first-child{margin-top:0}.mobile-events-list .collapse-content-list{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem;grid-template-columns:unset}.mobile-events-list .collapse-content-list.expanded{display:flex}.mobile-events-list .collapse-content-list.collapsed{display:none}@media (max-width:1200px){.calendar-section{padding:2rem}.calendar-container{grid-template-columns:55% 45%}}@media (max-width:768px){.calendar-section{padding:2rem 1.5rem}.calendar-container{grid-template-columns:1fr;height:calc(100vh - 260px)}.calendar-events-panel{display:none}.mobile-events-panel{display:block}.calendar-controls,.calendar-grid-wrapper,.calendar-header{padding:1rem 1.5rem}.calendar-day{padding:.375rem}.calendar-grid.week-view .calendar-day{min-height:300px}.calendar-day-number{font-size:var(--font-size-body)}.calendar-day-number,.calendar-day.today .calendar-day-number{width:28px;height:28px}.calendar-event{font-size:var(--font-size-body);padding:.125rem .25rem}.calendar-event-more{font-size:.6rem;padding:.125rem .25rem}.calendar-view-selector{order:-1}.calendar-view-button{padding:.5rem .875rem;font-size:var(--font-size-body);min-width:90px}}@media (max-width:1024px){.calendar-view-wrapper{flex-direction:column;height:auto;gap:1.5rem}.calendar-left-panel{flex:1 1;min-height:500px}.calendar-right-panel{flex:1 1;min-height:400px}.calendar-controls{flex-wrap:wrap;gap:.75rem}.current-period{font-size:var(--font-size-body)}}.mobile-events-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;pointer-events:none}.mobile-events-modal.active{pointer-events:all}.mobile-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;transition:background-color .3s ease}.mobile-events-modal.active .mobile-modal-backdrop{background-color:rgba(0,0,0,.5)}.mobile-modal-content{position:absolute;bottom:0;left:0;right:0;height:80vh;background-color:var(--bg-primary);border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 -4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease}.mobile-events-modal.active .mobile-modal-content{transform:translateY(0)}.mobile-modal-handle{width:40px;height:4px;background-color:var(--color-gray-300);border-radius:2px;margin:.75rem auto 0;flex-shrink:0}.mobile-modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}.mobile-modal-header h3{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0 0 .25rem;line-height:1.3}.mobile-modal-subtitle{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500;margin:0}.mobile-modal-close{background-color:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;border-radius:var(--radius-sm);transition:background-color .2s ease}.mobile-modal-close:hover{background-color:var(--color-gray-100)}.mobile-modal-close .hugeicon,.mobile-modal-close svg{width:24px;height:24px}.mobile-modal-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:1.5rem;-webkit-overflow-scrolling:touch}.mobile-modal-scroll::-webkit-scrollbar{width:6px}.mobile-modal-scroll::-webkit-scrollbar-track{background:transparent}.mobile-modal-scroll::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-md)}.mobile-events-list{display:flex;flex-direction:column;gap:1rem}.day-events-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:1rem}.day-events-modal.active{pointer-events:all}.day-events-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;transition:background-color .25s ease}.day-events-modal.active .day-events-modal-backdrop{background-color:rgba(0,0,0,.5)}.day-events-modal-content{position:relative;width:100%;max-width:640px;max-height:85vh;background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:scale(.95);transition:opacity .25s ease,transform .25s ease}.day-events-modal.active .day-events-modal-content{opacity:1;transform:scale(1)}.day-events-modal-handle{display:none}.day-events-modal-slider{flex:1 1;min-height:0;display:flex;width:200%;transition:transform .3s ease}.day-events-modal-panel{flex:0 0 50%;width:50%;min-width:50%;display:flex;flex-direction:column;overflow:hidden}.day-events-booking-header{flex-shrink:0}.day-events-booking-body{flex:1 1;min-height:0;overflow-y:auto;padding:0 1.5rem 1.5rem}.day-events-booking-body .booking-modal-time-info{padding-top:0;padding-bottom:1rem}.day-events-modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}.day-events-modal-header h3{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0 0 .25rem;line-height:1.3}.day-events-modal-subtitle{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500;margin:0}.day-events-modal-close{background-color:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;border-radius:var(--radius-sm);transition:background-color .2s ease}.day-events-modal-close:hover{background-color:var(--color-gray-100)}.day-events-modal-close .hugeicon,.day-events-modal-close svg{width:24px;height:24px}.day-events-modal-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:1.5rem;min-height:0}.day-events-modal-scroll::-webkit-scrollbar{width:6px}.day-events-modal-scroll::-webkit-scrollbar-track{background:transparent}.day-events-modal-scroll::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-md)}.day-events-list{display:flex;flex-direction:column;gap:1rem}.mobile-time-group{display:flex;flex-direction:column;gap:.75rem}.mobile-time-header{background-color:var(--bg-tertiary);padding:1rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--border-light);cursor:pointer;transition:all .2s ease}.mobile-time-header:active{background-color:var(--color-gray-100);transform:scale(.98)}.mobile-time-events{display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;overflow:hidden}.mobile-time-events.expanded{max-height:5000px;animation:expandDown .3s ease-out}.mobile-time-events.collapsed{max-height:0;opacity:0}.desktop-only{display:flex}@media (max-width:768px){.mobile-events-modal{display:block}.day-events-modal{align-items:flex-end;padding:0}.day-events-modal-content{max-width:none;max-height:80vh;width:100%;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);transform:translateY(100%)}.day-events-modal.active .day-events-modal-content{transform:translateY(0)}.day-events-modal-handle{display:block;width:40px;height:4px;background-color:var(--color-gray-300);border-radius:2px;margin:.75rem auto 0;flex-shrink:0}.day-events-modal-scroll{-webkit-overflow-scrolling:touch}.desktop-only{display:none!important}.mobile-only{display:flex!important}.desktop-tablet-only{display:none!important}.calendar-view-section{padding:1rem}.calendar-view-wrapper{flex-direction:column;gap:0;height:auto;max-width:100%;margin:0}.calendar-left-panel{flex:1 1 auto;width:100%;max-width:100%;height:calc(100vh - 180px);min-height:500px;padding:.75rem;box-sizing:border-box}.calendar-right-panel{display:none}.calendar-controls{margin-bottom:.75rem;gap:.5rem}.period-nav-button{width:32px;height:32px;flex-shrink:0}.current-period{font-size:var(--font-size-body);flex:1 1;min-width:0}.view-toggle-button{font-size:var(--font-size-body);padding:.4rem .6rem;flex-shrink:0}.calendar-day-headers{gap:.2rem;margin-bottom:.4rem;padding:0}.day-header{font-size:var(--font-size-body);padding:.2rem 0;letter-spacing:0}.calendar-grid{gap:.2rem;padding:0;width:100%}.calendar-day{padding:.3rem .15rem;min-height:50px;border-width:1px;border-radius:4px}.calendar-grid:not(.week-view) .calendar-day{min-height:50px;aspect-ratio:1}.calendar-grid.week-view .calendar-day{min-height:80px}.calendar-day-number{margin-bottom:.2rem}.calendar-day-number,.calendar-day.today .calendar-day-number{font-size:var(--font-size-body);width:24px;height:24px}.event-count-badge{top:.2rem;right:.2rem;font-size:.6rem;padding:.1rem .35rem;min-width:16px;height:16px}.calendar-day-events-preview{gap:.15rem;margin-top:.15rem}.calendar-event-preview{padding:.15rem .25rem;font-size:.6rem;gap:.25rem}.event-preview-dot{width:4px;height:4px}.calendar-event-more{font-size:.6rem;padding:.15rem .25rem}.events-panel-header{padding:1.5rem}.events-panel-header h3{font-size:var(--font-size-body)}.calendar-events-scroll{padding:1rem 1.5rem}.calendar-events-list{gap:1rem}.time-group{gap:.5rem}.time-group-events{gap:.75rem}.calendar-time-header{padding:.75rem 1rem}}@media (max-width:480px){.calendar-left-panel,.calendar-view-section{padding:.5rem}.calendar-controls{gap:.4rem;margin-bottom:.5rem}.period-nav-button{width:28px;height:28px}.period-nav-button .hugeicon,.period-nav-button svg{width:16px;height:16px}.current-period,.view-toggle-button{font-size:var(--font-size-body)}.view-toggle-button{padding:.35rem .5rem}.calendar-day-headers{gap:.15rem;margin-bottom:.3rem}.day-header{font-size:var(--font-size-body);padding:.15rem 0}.calendar-grid{gap:.15rem}.calendar-day{padding:.25rem .1rem}.calendar-day,.calendar-grid:not(.week-view) .calendar-day{min-height:45px}.calendar-grid.week-view .calendar-day{min-height:70px}.calendar-day-number,.calendar-day.today .calendar-day-number{font-size:var(--font-size-body);width:20px;height:20px}.event-count-badge{top:.15rem;right:.15rem;font-size:.6rem;padding:.08rem .25rem;min-width:14px;height:14px}.calendar-day-events-preview{gap:.1rem;margin-top:.1rem}.calendar-event-preview{padding:.1rem .2rem;font-size:.6rem;gap:.2rem}.event-preview-dot{width:3px;height:3px}.calendar-event-more{font-size:.6rem;padding:.1rem .2rem}.mobile-modal-header h3,.mobile-modal-subtitle{font-size:var(--font-size-body)}.mobile-modal-scroll{padding:1rem}.no-date-selected .hugeicon,.no-date-selected svg,.no-events-message .hugeicon,.no-events-message svg{width:48px;height:48px}.no-date-selected p,.no-events-message p{font-size:var(--font-size-body)}}.map-view-section{flex:1 1;background-color:var(--bg-secondary);padding:2.5rem 2rem;overflow:hidden;display:flex;flex-direction:column}.map-view-wrapper{max-width:1400px;margin:0 auto;width:100%;display:flex;gap:2rem;height:calc(100vh - 280px);min-height:600px}.map-left-panel{flex:0 0 60%;position:relative;align-items:center;justify-content:center}.map-left-panel,.map-right-panel{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);border:1px solid var(--border-light);overflow:hidden;display:flex}.map-right-panel{flex:1 1;flex-direction:column}.map-header{padding:2rem;border-bottom:1px solid var(--border-light);flex-shrink:0;background-color:var(--bg-primary)}.map-header h2{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0 0 .5rem}.map-subtitle{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500;margin:0}.map-rinks-scroll{flex:1 1;overflow-y:auto;padding:0}.map-rinks-scroll::-webkit-scrollbar{width:8px}.map-rinks-scroll::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-md)}.map-rinks-scroll::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-md)}.map-rinks-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.no-rinks-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem;color:var(--color-gray-400)}.no-rinks-message .hugeicon,.no-rinks-message svg{width:64px;height:64px;color:var(--color-gray-300)}.no-rinks-message p{font-size:var(--font-size-body);font-weight:500;color:var(--color-gray-400);text-align:center}.map-rinks-list{display:flex;flex-direction:column;gap:0}.rink-item{padding:1.5rem 2rem;border-bottom:1px solid var(--border-light);transition:background-color .2s ease;cursor:pointer}.rink-item:last-child{border-bottom:none}.rink-item:hover{background-color:var(--border-light)}.rink-item-content{display:flex;flex-direction:column;gap:.875rem}.rink-header-row{display:flex;align-items:center;gap:1rem}.rink-icon{width:28px;height:28px;color:var(--color-primary);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.rink-icon .hugeicon,.rink-icon svg{width:24px;height:24px}.rink-name{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0;flex:1 1}.rink-detail-row{display:flex;align-items:flex-start;gap:.5rem;padding-left:0}.rink-detail-text{font-size:var(--font-size-body);color:var(--text-secondary);line-height:1.5;flex:1 1}@media (max-width:1024px){.map-view-wrapper{flex-direction:column;height:auto;gap:1.5rem}.map-left-panel,.map-right-panel{flex:1 1}.map-left-panel{min-height:500px}.map-right-panel{min-height:400px}}@media (max-width:768px){.map-view-section{padding:1rem}.map-view-wrapper{gap:1rem}.map-left-panel,.map-right-panel,.map-view-wrapper{width:100%;max-width:100%;box-sizing:border-box}.map-left-panel{min-height:350px}.map-right-panel{min-height:300px}.map-header{padding:1.5rem}.map-header h2{font-size:var(--font-size-heading)}.map-rinks-scroll{padding:0}.rink-item{padding:1.25rem 1.5rem}.rink-icon{width:24px;height:24px}.rink-name{font-size:var(--font-size-body)}.rink-detail-row{padding-left:0}.rink-detail-text{font-size:var(--font-size-body)}}.calendar-events-list{display:flex;flex-direction:column;gap:0}.calendar-time-section{border-bottom:1px solid var(--border-light)}.calendar-time-section:last-child{border-bottom:none}.time-section-header{padding:var(--spacing-lg) 0;cursor:pointer;transition:var(--transition-base);display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;user-select:none}.time-section-header:hover{background-color:var(--bg-tertiary);padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin-left:calc(var(--spacing-md) * -1);margin-right:calc(var(--spacing-md) * -1);border-radius:var(--radius-sm)}.time-section-info{display:flex;align-items:center;gap:var(--spacing-md);flex:1 1}.time-section-icon{width:32px;height:32px;color:var(--color-primary);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.time-section-icon .hugeicon,.time-section-icon svg{width:28px;height:28px}.time-section-label{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);display:block;margin-bottom:.25rem}.time-section-range{font-size:var(--font-size-body);color:var(--text-secondary);font-weight:500}.time-section-actions{display:flex;align-items:center;gap:var(--spacing-md)}.time-section-count{font-size:var(--font-size-body);font-weight:600;color:var(--text-secondary);padding:.25rem .75rem;background-color:var(--bg-tertiary);border-radius:var(--radius-full)}.time-section-toggle{width:24px;height:24px;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;transition:var(--transition-base)}.time-section-toggle .hugeicon,.time-section-toggle svg{width:20px;height:20px}.time-section-content{overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out}.time-section-content.collapsed{max-height:0;opacity:0}.time-section-content.expanded{max-height:2000px;opacity:1}.event-item{padding:var(--spacing-lg) 0;border-top:1px solid var(--border-light);transition:var(--transition-base)}.event-item:first-child{border-top:none}.event-item-clickable{cursor:pointer}.event-item:hover{background-color:var(--bg-tertiary);padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin-left:calc(var(--spacing-md) * -1);margin-right:calc(var(--spacing-md) * -1);border-radius:var(--radius-sm)}.list-view-results-grid .event-item{position:relative;border-top:none;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);padding:1.25rem 1.5rem;margin:0;box-shadow:0 1px 3px rgba(0,0,0,.05)}.list-view-results-grid .event-item:hover{background-color:var(--bg-primary);padding:1.25rem 1.5rem;margin:0;border-color:var(--border-light);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.event-item-content{display:flex;flex-direction:column;gap:.75rem}.event-title{font-size:var(--font-size-heading);font-weight:700;color:var(--color-primary);margin:0 0 .25rem}.event-detail-line{display:flex;align-items:center;gap:.75rem;padding-left:0}.event-detail-icon{width:20px;height:20px;color:var(--color-gray-400);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.event-detail-icon .hugeicon,.event-detail-icon svg{width:16px;height:16px}.event-detail-text{color:var(--text-secondary)}.event-detail-text,.event-price-text{font-size:var(--font-size-body);line-height:1.5}.event-price-text{font-weight:600;color:var(--color-primary)}@media (max-width:768px){.time-section-header{padding:var(--spacing-md) 0}.time-section-icon .hugeicon,.time-section-icon svg{width:24px;height:24px}.time-section-count,.time-section-label,.time-section-range{font-size:var(--font-size-body)}.time-section-count{padding:.2rem .6rem}.event-item{padding:var(--spacing-md) 0}.event-title{font-size:var(--font-size-body)}.event-detail-line{gap:.65rem}.event-detail-icon{width:18px;height:18px}.event-detail-text,.event-price-text{font-size:var(--font-size-body)}}@media (max-width:480px){.event-item,.time-section-header{padding:var(--spacing-sm) 0}.event-item-content{gap:.6rem}.event-detail-text,.event-title{font-size:var(--font-size-body)}}.btn-booking-float{position:absolute;top:1rem;right:1rem;width:48px;height:48px;background:var(--color-secondary);border:none;border-radius:50%;cursor:pointer;overflow:hidden;box-shadow:0 4px 12px hsla(210,6%,57%,.2);transition:all .4s cubic-bezier(.68,-.55,.265,1.55);z-index:10}.btn-booking-float,.btn-booking-icon{display:flex;align-items:center;justify-content:center}.btn-booking-icon{color:#fff;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.btn-booking-text{position:absolute;right:1rem;color:#fff;font-size:var(--font-size-body);font-weight:600;white-space:nowrap;opacity:0;transform:translateX(10px);transition:all .3s cubic-bezier(.68,-.55,.265,1.55) .1s}.result-card{position:relative}.result-card:hover .btn-booking-float{width:140px;border-radius:24px;background:var(--color-secondary);box-shadow:0 6px 20px hsla(210,6%,57%,.3)}.result-card:hover .btn-booking-icon{transform:translateX(-42px)}.result-card:hover .btn-booking-text{opacity:1;transform:translateX(0)}.btn-booking-float:active{transform:scale(.95)}.btn-booking-float-inline{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1.25rem;background:var(--color-secondary);color:#fff;border:none;border-radius:24px;cursor:pointer;font-size:var(--font-size-body);font-weight:600;margin-top:.875rem;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 8px hsla(210,6%,57%,.2)}.btn-booking-float-inline:hover{background:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 12px hsla(210,6%,57%,.3)}.btn-booking-float-inline:active{transform:scale(.95)}.btn-booking-float-inline .btn-booking-icon{display:flex;align-items:center;color:#fff}.btn-booking-float-inline .btn-booking-text{color:#fff}.btn-booking-float-calendar{position:absolute;top:1rem;right:1rem;width:48px;height:48px;background:var(--color-secondary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 12px hsla(210,6%,57%,.2);transition:all .4s cubic-bezier(.68,-.55,.265,1.55);z-index:10}.btn-booking-float-calendar .btn-booking-icon{display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.btn-booking-float-calendar .btn-booking-text{position:absolute;right:1rem;color:#fff;font-size:var(--font-size-body);font-weight:600;white-space:nowrap;opacity:0;transform:translateX(10px);transition:all .3s cubic-bezier(.68,-.55,.265,1.55) .1s}.event-item{position:relative}.event-item:hover .btn-booking-float-calendar{width:140px;border-radius:24px;background:var(--color-secondary);box-shadow:0 6px 20px hsla(210,6%,57%,.3)}.event-item:hover .btn-booking-float-calendar .btn-booking-icon{transform:translateX(-42px)}.event-item:hover .btn-booking-float-calendar .btn-booking-text{opacity:1;transform:translateX(0)}.btn-booking-float-calendar:active{transform:scale(.95)}.btn-ask-schedule-calendar{width:100%;margin-top:.875rem;padding:.625rem 1.25rem;background:var(--color-secondary);color:#fff;border:none;border-radius:6px;font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px hsla(210,6%,57%,.15)}.btn-ask-schedule-calendar:hover{background:var(--color-secondary);transform:translateY(-1px);box-shadow:0 3px 10px hsla(210,6%,57%,.25)}.booking-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.booking-modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease;margin:auto;position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-light);gap:.75rem}.booking-modal-header h3{margin:0;font-size:var(--font-size-heading);font-weight:700;color:var(--text-primary);flex:1 1;text-align:center}.booking-modal-back{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;cursor:pointer;padding:.5rem .75rem;color:var(--text-secondary);font-size:var(--font-size-body);font-weight:500;border-radius:var(--radius-md);transition:background-color .2s ease,color .2s ease}.booking-modal-back:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.booking-modal-back .hugeicon,.booking-modal-back svg{width:24px;height:24px}.booking-modal-header-spacer{width:80px;flex-shrink:0}.booking-modal-close{background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--text-secondary);transition:all .2s ease;border-radius:8px;display:flex;align-items:center;justify-content:center}.booking-modal-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.note-info{background:#f4f4f4;padding:10px;border-radius:15px}.booking-modal-time-info{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.booking-info-item{font-size:var(--font-size-body);color:var(--text-primary);display:flex;align-items:flex-start;gap:.5rem}.booking-info-item svg{flex-shrink:0;margin-top:.125rem}.booking-info-item strong{font-weight:700;color:var(--color-primary);font-size:var(--font-size-heading)}.booking-duration-item{font-weight:600;color:var(--color-primary);background:rgba(0,123,255,.05);padding:.5rem .75rem;border-radius:6px;margin:.25rem 0}.booking-instructions{margin:0 1.5rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden;background:var(--color-secondary)}.booking-instructions-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;font-size:var(--font-size-body);font-weight:600;color:var(--text-primary);text-align:left;transition:background-color .2s ease}.booking-instructions-toggle:hover{background:rgba(0,0,0,.06)}.booking-instructions-chevron{flex-shrink:0;transition:transform .2s ease;color:var(--text-primary)}.booking-instructions-chevron.expanded{transform:rotate(180deg)}.booking-instructions-content{max-height:0;overflow:hidden;transition:max-height .25s ease-out}.booking-instructions-content.expanded{max-height:200px}.booking-instructions-text{margin:0;padding:0 1rem 1rem;font-size:var(--font-size-body);color:var(--text-primary);line-height:1.5}.booking-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600}.form-group input,.form-group label{color:var(--text-primary);font-size:var(--font-size-body)}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:8px;transition:all .2s ease;background-color:#fff}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,123,255,.1)}.form-group input.error{border-color:#dc3545}.form-group input.error:focus{box-shadow:0 0 0 3px rgba(220,53,69,.1)}.booking-comments-input,.form-group textarea.booking-comments-input{width:100%;padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:8px;font-size:var(--font-size-body);font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff;color:var(--text-primary)}.booking-comments-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,123,255,.1)}.form-group .phone-input-container,.form-group .phone-input-container .react-tel-input{width:100%}.form-group .phone-input-container .form-control{width:100%!important;padding:.75rem 1rem .75rem 3rem;border:2px solid var(--border-light);border-radius:8px;font-size:var(--font-size-body);transition:all .2s ease;background-color:#fff;color:var(--text-primary);height:auto;min-height:2.75rem}.form-group .phone-input-container .form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,123,255,.1)}.form-group .phone-input-container.error .form-control{border-color:#dc3545}.form-group .phone-input-container.error .form-control:focus{box-shadow:0 0 0 3px rgba(220,53,69,.1)}.form-group .phone-input-container .flag-dropdown{border:2px solid var(--border-light);border-right:0;border-radius:8px 0 0 8px;background:var(--bg-secondary)}.form-group .phone-input-container.error .flag-dropdown{border-color:#dc3545}.error-message{display:block;margin-top:.375rem;color:#dc3545}.booking-submit-error,.error-message{font-size:var(--font-size-body);font-weight:500}.booking-submit-error{margin-bottom:1rem;padding:.75rem 1rem;color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px}.booking-form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-cancel,.btn-submit{flex:1 1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-cancel{background-color:var(--color-gray-200);color:var(--text-primary)}.btn-cancel:hover{background-color:#d6d8db}.btn-submit{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px hsla(210,6%,57%,.2)}.btn-submit:hover:not(:disabled){background:var(--color-primary);box-shadow:0 4px 12px hsla(210,6%,57%,.3);transform:translateY(-1px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.btn-loader{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.booking-success-message{padding:3rem 1.5rem;text-align:center}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:#28a745;display:flex;align-items:center;justify-content:center;animation:successPop .5s ease}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.booking-success-message h4{margin:0 0 .75rem;font-size:var(--font-size-heading);font-weight:700;color:var(--text-primary)}.booking-success-message p{margin:0;font-size:var(--font-size-body);color:var(--text-secondary)}@media (max-width:768px){.btn-booking-float{width:44px;height:44px;top:.75rem;right:.75rem}.result-card:hover .btn-booking-float{width:130px}.result-card:hover .btn-booking-icon{transform:translateX(-38px)}.btn-booking-text{font-size:var(--font-size-body)}.btn-booking-float-calendar{width:44px;height:44px;top:.75rem;right:.75rem}.event-item:hover .btn-booking-float-calendar{width:130px}.event-item:hover .btn-booking-float-calendar .btn-booking-icon{transform:translateX(-38px)}.btn-ask-schedule-calendar,.btn-booking-float-inline{font-size:var(--font-size-body);padding:.5rem 1rem}.booking-modal-overlay{padding:.5rem;align-items:flex-end}.booking-modal-content{max-width:100%;max-height:85vh;border-radius:16px 16px 0 0;margin:0;animation:slideUpMobile .3s ease}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.booking-modal-header h3{font-size:var(--font-size-heading)}.booking-form,.booking-modal-time-info{padding:1.25rem}.form-group input{padding:.625rem .875rem;font-size:var(--font-size-body)}}@media (max-width:480px){.btn-booking-float{width:40px;height:40px;top:.625rem;right:.625rem}.result-card:hover .btn-booking-float{width:120px}.result-card:hover .btn-booking-icon{transform:translateX(-35px)}.btn-booking-text{font-size:var(--font-size-body)}.btn-booking-float-calendar{width:40px;height:40px;top:.625rem;right:.625rem}.event-item:hover .btn-booking-float-calendar{width:120px}.event-item:hover .btn-booking-float-calendar .btn-booking-icon{transform:translateX(-35px)}.btn-ask-schedule-calendar,.btn-booking-float-inline{font-size:var(--font-size-body);padding:.5rem .875rem}.booking-modal-overlay{padding:0}.booking-modal-content{border-radius:16px 16px 0 0;max-height:90vh}.booking-modal-header{padding:1.25rem}.booking-modal-header h3{font-size:var(--font-size-heading)}.booking-modal-time-info{padding:1.25rem}.booking-info-item,.booking-info-item strong{font-size:var(--font-size-body)}.booking-form{padding:1rem}.form-group{margin-bottom:1rem}.form-group input,.form-group label{font-size:var(--font-size-body)}.form-group input{padding:.625rem .75rem}.booking-form-actions{flex-direction:column;gap:.75rem}.btn-cancel,.btn-submit{width:100%;padding:.75rem 1.25rem;font-size:var(--font-size-body)}.success-icon{width:64px;height:64px}.booking-success-message{padding:2.5rem 1rem}.booking-success-message h4{font-size:var(--font-size-heading)}.booking-success-message p{font-size:var(--font-size-body)}}body.modal-open{overflow:hidden}.calendar-contact-footer{margin-top:3rem;padding:2rem 0;border-top:2px solid var(--border-light);background:linear-gradient(to bottom,transparent,var(--bg-secondary))}.contact-footer-content{max-width:600px;margin:0 auto;text-align:center}.contact-footer-title{font-size:var(--font-size-heading);font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.contact-footer-person{margin-bottom:1.25rem}.contact-footer-name{font-size:var(--font-size-body);font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.contact-footer-role{margin:0 0 .125rem}.contact-footer-company,.contact-footer-role{font-size:var(--font-size-body);color:var(--text-secondary)}.contact-footer-company{margin:0}.contact-footer-info{display:flex;flex-direction:column;gap:1rem;align-items:center}.contact-footer-item{display:flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;background:#fff;border:1px solid var(--border-light);border-radius:8px;color:var(--text-primary);text-decoration:none;transition:all .2s ease;font-size:var(--font-size-body);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.05)}.contact-footer-item:hover{background:var(--bg-secondary);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.contact-footer-item svg{flex-shrink:0}.contact-footer-item-button{cursor:pointer;font-family:inherit;width:auto;max-width:none;justify-content:center}.contact-footer-item-button:focus{outline:none}.contact-footer-item-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.contact-footer-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;font-size:var(--font-size-body);font-weight:600;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:9999;animation:contact-footer-toast-in .2s ease}@keyframes contact-footer-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:768px){.calendar-contact-footer{margin-top:2rem;padding:1.5rem 1rem}.contact-footer-title{font-size:var(--font-size-body);margin-bottom:1rem}.contact-footer-info{gap:.75rem;align-items:stretch;width:100%;max-width:320px;margin:0 auto}.contact-footer-item{padding:.75rem 1rem;font-size:var(--font-size-body);width:100%;min-width:0;justify-content:center;min-height:48px;box-sizing:border-box}.contact-footer-item-email svg,.contact-footer-item-phone svg{display:none}.contact-footer-item span{word-break:break-all;overflow-wrap:anywhere}}@media (max-width:480px){.calendar-contact-footer{margin-top:1.5rem;padding:1.25rem .75rem}.contact-footer-title{font-size:var(--font-size-body);margin-bottom:.875rem}.contact-footer-info{gap:.625rem;max-width:100%}.contact-footer-item{padding:.75rem 1rem;font-size:var(--font-size-body);min-height:48px}}