@tailwind base;@tailwind components;@tailwind utilities;*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.container{max-width:1200px}.hero{text-align:center;padding:100px 0 80px;color:#fff}.hero h1{font-size:3.5rem;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero p{font-size:1.3rem;margin-bottom:40px;opacity:.9}.search-section{background:#fff;border-radius:20px;padding:40px;margin:-40px auto 60px;max-width:800px;box-shadow:0 20px 40px rgba(0,0,0,.1)}.search-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;gap:20px;flex-wrap:wrap}.form-group{flex:1 1;min-width:200px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555}.form-input{width:100%;padding:15px;border:2px solid #e1e5e9;border-radius:12px;font-size:16px;transition:all .3s ease;background:#f8f9fa}.form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.btn-search{background:linear-gradient(135deg,#667eea,#764ba2);padding:18px 40px;font-size:18px;font-weight:600;border-radius:12px;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-search:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(102,126,234,.3)}.btn-search:active{transform:translateY(0)}.categories-section{margin-top:20px}.categories-label{display:block;margin-bottom:12px;font-weight:600;color:#555;font-size:16px}.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:15px}@media (max-width:900px){.categories-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.categories-grid{grid-template-columns:1fr}}.category-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px}.category-checkbox:hover{background:#e9ecef;border-color:#667eea}.category-checkbox input[type=checkbox]{margin:0;transform:scale(1.1)}.category-checkbox input[type=checkbox]:checked+.category-name{font-weight:600;color:#667eea}.category-name{-webkit-user-select:none;-moz-user-select:none;user-select:none}.categories-actions{display:flex;gap:10px;justify-content:center}.btn-secondary{background:#f8f9fa;color:#495057;border:2px solid #e1e5e9;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer}.events-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:30px;gap:30px;margin-top:40px}.event-card{background:#fff;border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,.1);transition:all .3s ease}.event-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,.15)}.event-card-venue{position:relative;overflow:visible;animation:venueGlow 3s ease-in-out infinite}@keyframes venueGlow{0%,to{box-shadow:0 8px 25px rgba(0,0,0,.1)}50%{box-shadow:0 8px 25px rgba(0,0,0,.1),0 0 20px hsla(0,0%,78%,.4)}}.event-card-venue:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,transparent,hsla(0,0%,78%,.3),transparent);border-radius:18px;z-index:-1;opacity:0;animation:venueGlowBorder 3s ease-in-out infinite}@keyframes venueGlowBorder{0%,to{opacity:0}50%{opacity:1}}.event-image{width:100%;height:200px;object-fit:cover}.event-content{padding:25px}.event-title{font-size:1.4rem;font-weight:700;margin-bottom:10px;color:#333}.event-date{color:#667eea;font-weight:600;margin-bottom:8px}.event-location{color:#666;margin-bottom:15px;display:flex;align-items:center;gap:5px}.event-description{color:#777;line-height:1.6;margin-bottom:20px}.event-link{display:inline-block;color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.event-link:hover{color:#764ba2}.loading{text-align:center;padding:60px 20px;color:#fff}.loading-spinner{display:inline-block;width:50px;height:50px;border-radius:50%;border:4px solid hsla(0,0%,100%,.3);border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.error{background:#fee;border:2px solid #fcc;border-radius:12px;padding:20px;margin:20px 0;color:#a00;text-align:center}.empty-state{text-align:center;padding:60px 20px;color:#fff}.empty-state h3{font-size:1.5rem;margin-bottom:10px}.footer{text-align:center;padding:40px 20px;color:hsla(0,0%,100%,.8);margin-top:80px}@media (max-width:768px){.hero h1{font-size:2.5rem}.hero p{font-size:1.1rem}.search-section{margin:-20px 20px 40px;padding:30px 20px}.form-row{flex-direction:column}.form-group{min-width:unset}.events-grid{grid-template-columns:1fr;gap:20px}.categories-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.categories-actions{flex-direction:column;align-items:stretch}}@media (max-width:480px){.hero h1{font-size:2rem}.search-section{border-radius:12px}.btn-search{padding:15px 30px;font-size:16px}.categories-grid{grid-template-columns:1fr}.category-checkbox{font-size:13px;padding:6px 10px}}.badge-new{position:absolute;top:10px;right:10px;background:#ff6b35;color:#fff;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;z-index:1}.event-card-new{position:relative;animation:newEventGlow 2s ease-in-out}@keyframes newEventGlow{0%{box-shadow:0 8px 25px rgba(0,0,0,.1)}50%{box-shadow:0 8px 25px rgba(255,107,53,.3)}to{box-shadow:0 8px 25px rgba(0,0,0,.1)}}.event-type{color:#8b5cf6}.event-age,.event-type{margin-bottom:8px;font-size:.9rem}.event-age{color:#f59e0b}.event-address-link{color:#667eea;text-decoration:none;transition:color .3s ease}.event-address-link:hover{color:#764ba2;text-decoration:underline}.event-links{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.event-booking-link{background:#10b981;color:#fff!important;padding:8px 16px;border-radius:6px;text-decoration:none;transition:background .3s ease}.event-booking-link:hover{background:#059669}.toast-container{position:fixed;bottom:20px;right:20px;z-index:1000}.toast{background:#10b981;color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.debug-panel{position:fixed;bottom:0;left:0;right:0;background:#1f2937;color:#f9fafb;border-top:3px solid #667eea;max-height:50vh;overflow-y:auto;z-index:999;box-shadow:0 -4px 12px rgba(0,0,0,.15)}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #374151;background:#111827;position:-webkit-sticky;position:sticky;top:0}.debug-header h3{margin:0;color:#667eea;font-size:1.1rem}.debug-toggle{background:none;border:none;color:#9ca3af;font-size:18px;cursor:pointer;padding:5px;border-radius:4px;transition:background .2s ease}.debug-toggle:hover{background:#374151;color:#f9fafb}.debug-content{padding:20px}.debug-summary{background:#374151;padding:15px;border-radius:8px;margin-bottom:20px}.debug-summary p{margin:5px 0;font-size:.9rem}.debug-step{background:#2d3748;border:1px solid #4a5568;border-radius:8px;padding:15px;margin-bottom:15px}.debug-step h4{margin:0 0 10px;color:#38bdf8;font-size:1rem}.debug-parsed,.debug-query{margin-bottom:10px;font-size:.9rem}.debug-parsed strong,.debug-query strong{color:#f59e0b}.debug-response{margin-top:10px}.debug-response summary{cursor:pointer;color:#a78bfa;font-weight:600;margin-bottom:10px}.debug-response summary:hover{color:#c4b5fd}.debug-response pre{background:#1a202c;padding:15px;border-radius:6px;overflow-x:auto;font-size:.8rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;border:1px solid #2d3748}:root{--color-bg:#f7f8fa;--color-bg-alt:#fff;--color-surface:#fff;--color-surface-alt:#fafbfc;--color-border:#e5e7eb;--color-border-strong:#cbd5e1;--color-text:#1f2937;--color-text-dim:#6b7280;--color-text-faint:#9ca3af;--color-accent:#111827;--color-accent-contrast:#fff;--color-accent-alt:#5b8cff;--color-accent-alt-hover:#769dff;--radius:10px;--radius-lg:14px;--shadow-sm:0 2px 12px rgba(0,0,0,.06);--shadow:0 8px 25px rgba(0,0,0,.12);--transition:.2s ease;--chip-bg:#f3f4f6;--chip-hover:#e5e7eb;--chip-border:#e5e7eb;--chip-active-bg:#111827;--space-4:8px;--space-6:12px;--space-8:16px;--space-12:24px;--card-gap:16px;--layout-max-width:1180px}[data-theme=dark]{--color-bg:#0c0c0d;--color-bg-alt:#121214;--color-surface:#151517;--color-surface-alt:#1b1c1f;--color-border:#2a2c31;--color-border-strong:#3a3d43;--color-text:#f5f6f7;--color-text-dim:#b3b7be;--color-text-faint:#8a9098;--color-accent:#f5f6f7;--color-accent-contrast:#0c0c0d;--color-accent-alt:#5b8cff;--color-accent-alt-hover:#769dff;--chip-bg:hsla(0,0%,100%,.06);--chip-hover:hsla(0,0%,100%,.1);--chip-border:hsla(0,0%,100%,.12);--shadow-sm:0 2px 10px rgba(0,0,0,.4);--shadow:0 12px 32px rgba(0,0,0,.45)}body,html{background:var(--color-bg);color:var(--color-text)}.container{max-width:var(--layout-max-width);margin:0 auto;padding:0 20px}.header{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between}.header-logo-wrapper img{height:32px;display:block}.search-section{padding:20px 0 0}.search-form{background:var(--color-surface);border:1px solid #d1d5db;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);padding:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;font-size:14px;color:var(--color-text)}.form-group input,.form-group select,.form-input{background:var(--color-surface);border:1.5px solid #d1d5db;color:var(--color-text);border-radius:8px;padding:11px 14px;font-size:15px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-input:focus{outline:none;border-color:#5b8cff;box-shadow:0 0 0 3px rgba(91,140,255,.1)}.form-input::placeholder{color:var(--color-text-faint)}.premium-box .premium-link{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text)}.filter-chips-inline{display:flex;flex-wrap:wrap;gap:10px}.filter-chip{border:1px solid var(--color-border);background:transparent;color:var(--color-text);border-radius:999px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:all var(--transition)}.filter-chip:hover{background:var(--chip-hover)}.filter-chip-active{background:var(--color-text);color:var(--color-accent-contrast);border-color:var(--color-text)}.filter-count{font-size:11px;background:rgba(0,0,0,.06);padding:3px 8px;border-radius:999px}.btn-search{border:none;background:#404040;color:#fff;font-size:15px;padding:14px 20px;border-radius:10px;font-weight:500;letter-spacing:.4px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.08);transition:background .2s,box-shadow .2s,transform .2s,color .2s}.btn-search:hover{background:#222}.btn-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text);padding:8px 10px;border-radius:8px;transition:all .2s ease}.btn-secondary:hover{background:#e9ecef;border-color:#adb5bd}.results-page-title{font-size:48px;font-weight:700;color:var(--color-text);margin-top:24px;margin-bottom:24px;letter-spacing:-.02em;line-height:1.2;text-align:left}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:24px;gap:24px;margin-top:32px}.event-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:all .2s ease;padding:20px;display:flex;flex-direction:column}.event-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12);border-color:var(--color-border-strong)}.event-content{padding:0;flex:1 1;display:flex;flex-direction:column}.event-card .event-title,.event-item h3,.event-title{font-size:18px;font-weight:600;margin:0 0 16px;color:var(--color-text)!important;line-height:1.4}.event-description{color:var(--color-text-dim);line-height:1.5;margin-bottom:16px;font-size:14px}.event-datetime,.event-meta-line,.venue-info{line-height:1.5;display:flex;align-items:center;gap:8px;color:var(--color-text-dim);margin:0 0 10px;font-size:14px}.event-meta-line:has(.event-date){display:flex;align-items:center;gap:8px}.event-meta-line svg{width:16px;height:16px;color:var(--color-text-faint);flex-shrink:0}.event-date{font-weight:500;color:var(--color-text)}.event-time:before{content:""}.event-time{background:transparent;padding:0;border-radius:0;font-size:14px}.event-time,.venue-link{color:var(--color-text-dim);font-weight:400}.venue-link{text-decoration:none;transition:color var(--transition)}.venue-link:hover{color:var(--color-accent-alt);text-decoration:none}.event-cta-row{display:flex;gap:8px;align-items:stretch;margin-top:auto;padding-top:16px;border-top:1px solid #999}.price-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:6px;background:#f5f5f5;border:1px solid transparent;color:var(--color-text);font-size:13px;font-weight:500;min-height:36px}.price-chip:hover{background:#ebebeb}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#f5f5f5;border:1px solid transparent;color:var(--color-text-dim);text-decoration:none;border-radius:6px;font-size:13px;font-weight:500;transition:all var(--transition);cursor:pointer;min-height:36px}.btn-outline:hover{background:#ebebeb;color:var(--color-text)}.btn-outline.tickets{background:#f5f5f5;color:var(--color-text-dim);border:1px solid #666}.btn-outline.tickets:hover{background:#ebebeb;border-color:#555}.btn-outline svg,.btn-outline.with-icon svg{width:14px;height:14px}.src-badge{display:inline-block;margin-left:8px;font-size:11px;line-height:1;padding:3px 6px;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:#f7f7f7;color:#444;vertical-align:middle}.w2g-loader-wrapper{display:flex;align-items:center;justify-content:center;padding:var(--space-12) 0}.venue-filter-sidebar{min-width:250px;max-width:300px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto}.venue-filter-sidebar h3{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--color-text)}.venue-filter-item{margin-bottom:8px}.venue-filter-item label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--color-text);transition:color var(--transition)}.venue-filter-item label:hover{color:var(--color-accent-alt)}.venue-filter-item input[type=checkbox]{accent-color:var(--color-accent-alt);width:16px;height:16px;cursor:pointer}.event-card-bg-image{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:50%;opacity:.2;z-index:0;pointer-events:none;filter:grayscale(100%)}@media (max-width:768px){.venue-filter-sidebar{display:none}}@media (max-width:600px){.search-form .form-row{gap:12px}.events-grid{grid-template-columns:1fr;gap:18px}.header-inner{min-height:56px}}