.wettkaempfe-page{min-height:100vh;background:var(--bg-primary);padding-top:80px}.wettkaempfe-header{text-align:center;padding:clamp(2rem,6vh,4rem) 1rem clamp(1.5rem,4vh,3rem);background:linear-gradient(180deg,var(--bg-secondary) 0,var(--bg-primary) 100%)}.wettkaempfe-title{font-size:clamp(2rem,6vw,3rem);font-weight:800;color:var(--text-primary);margin-bottom:.75rem}.wettkaempfe-title .highlight{color:var(--orange);white-space:nowrap}.wettkaempfe-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--text-secondary);max-width:600px;margin:0 auto}.wettkaempfe-content{padding:3rem 0 5rem}.wettkaempfe-content .container{max-width:1200px;margin:0 auto}.error-container,.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(1turn)}}.btn-clear-filters,.btn-retry{margin-top:1rem;padding:.75rem 1.5rem;background:var(--orange);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-clear-filters:hover,.btn-retry:hover{background:var(--orange-dark);transform:translateY(-2px)}.filter-bar{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.search-box{position:relative;width:100%}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted)}.search-input{width:100%;padding:.875rem 1rem .875rem 3rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:1rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(249,115,22,.1)}.search-input::placeholder{color:var(--text-muted)}.sport-filters{display:flex;flex-wrap:wrap;gap:.5rem}.sport-filter-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sport-filter-btn:hover{background:var(--bg-elevated);border-color:var(--glass-border)}.sport-filter-btn.active{background:var(--sport-color,var(--orange));border-color:var(--sport-color,var(--orange));color:#fff}.sport-icon{width:18px;height:18px;object-fit:contain}@media (max-width:640px){.sport-label{display:none}.sport-filter-btn{padding:.5rem .75rem}}.date-filter{display:flex;align-items:center;gap:.5rem;position:relative}.date-icon{width:18px;height:18px;color:var(--text-muted);position:absolute;left:12px;pointer-events:none}.date-select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.9rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding:.625rem 2.5rem;transition:all .2s ease}.date-select:hover{border-color:var(--glass-border)}.date-select:focus{outline:none;border-color:var(--orange)}.date-select option{background:var(--bg-secondary);color:var(--text-primary)}.results-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;color:var(--text-secondary);font-size:.9rem}.results-count{font-weight:700;color:var(--orange)}.clear-filter{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;text-decoration:underline;transition:color .2s ease}.clear-filter:hover{color:var(--orange)}.no-results{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.pagination{justify-content:center;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.pagination,.pagination-btn{display:flex;align-items:center}.pagination-btn{gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--orange);color:var(--orange)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn svg{width:18px;height:18px}.pagination-info{color:var(--text-secondary);font-size:.9rem}.pagination-current{color:var(--orange);font-weight:600}@media (max-width:480px){.pagination{flex-wrap:wrap;gap:.75rem}.pagination-btn{padding:.625rem 1rem;font-size:.85rem}}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;align-items:stretch}@media (max-width:768px){.events-grid{display:grid!important;grid-template-columns:1fr!important;grid-gap:.75rem!important;gap:.75rem!important}.event-card-header{height:90px}.event-card-body{padding:.625rem;min-height:70px;gap:.25rem}.event-card-body-spacer{display:none}.event-name{font-size:.75rem;line-height:1.2}.event-date,.event-location{font-size:.65rem}.event-date svg,.event-location svg{width:11px;height:11px;min-width:11px}.event-description,.event-disciplines{display:none!important}.event-card-footer{padding:.5rem .625rem}.event-link{font-size:.7rem}.event-link svg{width:10px;height:10px}.sport-badge{font-size:.55rem;padding:.15rem .35rem;top:.4rem;left:.4rem;gap:2px}.sport-badge img{width:9px!important;height:9px!important}.placeholder-icon{width:40px;height:40px}}.event-card-link{text-decoration:none;color:inherit;display:block;height:100%}.event-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;cursor:pointer;height:100%}.event-card:hover{transform:translateY(-4px);border-color:rgba(249,115,22,.3);box-shadow:var(--shadow-elevated)}.event-card-header{position:relative;height:180px;overflow:hidden}.event-image{width:100%;height:100%;object-fit:cover}.event-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-elevated) 0,var(--bg-secondary) 100%)}.placeholder-emoji{font-size:4rem;opacity:.5}.placeholder-icon{width:80px;height:80px;object-fit:contain;opacity:.4}.sport-badge{position:absolute;top:1rem;left:1rem;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.25rem}.event-card-body{padding:1.25rem;flex:1 1;display:flex;flex-direction:column;gap:.75rem;min-height:140px}.event-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-date,.event-location{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.event-date svg,.event-location svg{width:16px;height:16px;flex-shrink:0;color:var(--text-muted)}.event-disciplines{display:flex;flex-wrap:wrap;gap:.375rem}.discipline-tag{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2);color:var(--orange-light)}.discipline-more,.discipline-tag{padding:.25rem .5rem;border-radius:6px;font-size:.75rem}.discipline-more{background:var(--bg-elevated);color:var(--text-muted)}.event-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card-body-spacer{flex:1 1}.event-rating{display:flex;align-items:center;gap:.375rem;margin-top:.25rem}.rating-stars{color:#fbbf24;font-size:.875rem;letter-spacing:1px}.rating-count{font-size:.75rem;color:var(--text-muted)}.event-card-footer{padding:1rem 1.25rem;border-top:1px solid var(--border)}.event-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--orange);font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease}.event-link:hover{color:var(--orange-light);gap:.625rem}.event-link svg{width:14px;height:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.event-card{animation:fadeIn .4s ease forwards}.events-grid .event-card:first-child{animation-delay:.05s}.events-grid .event-card:nth-child(2){animation-delay:.1s}.events-grid .event-card:nth-child(3){animation-delay:.15s}.events-grid .event-card:nth-child(4){animation-delay:.2s}.events-grid .event-card:nth-child(5){animation-delay:.25s}.events-grid .event-card:nth-child(6){animation-delay:.3s}