@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--primary:#2ec4b6;--primary-light:#4fd1c5;--primary-dark:#239a8e;--secondary:#a7f3d0;--accent:#ff7a00;--accent-hover:#e66e00;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--bg:#f8fafc;--bg-card:#fff;--glass-blur:blur(8px);--text:#1e293b;--text-light:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--radius:16px;--radius-sm:8px;--radius-lg:24px;--shadow:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-hover:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000000d;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce:all .5s cubic-bezier(.34, 1.56, .64, 1);--gradient-primary:linear-gradient(135deg, #2ec4b6 0%, #239a8e 100%);--gradient-accent:linear-gradient(135deg, #ff7a00 0%, #e66e00 100%);--gradient-hero:linear-gradient(135deg, #e0f2fe 0%, #ccfbf1 100%)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;cursor:default;font-family:Manrope,-apple-system,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.btn{border-radius:var(--radius-sm);letter-spacing:.5px;cursor:pointer;transition:var(--transition-bounce);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 10px #2ec4b64d}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 15px #2ec4b666}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 4px 10px #ff7a004d}.btn-accent:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 15px #ff7a0066}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:#fff}.btn-danger{color:var(--danger);background:#fee2e2;border:1px solid #0000}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 36px;font-size:16px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;filter:grayscale();transform:none}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:var(--text-light);text-transform:uppercase;letter-spacing:1px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600}.input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;transition:var(--transition);color:var(--text);background:#fff;padding:14px 18px;font-family:inherit;font-size:15px}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2ec4b626}.input::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);border:1px solid var(--border);padding:28px}.card:hover{box-shadow:var(--shadow-hover);border-color:#2ec4b64d;transform:translateY(-4px)}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:30px;align-items:center;gap:6px;padding:6px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.badge-success{color:#166534;background:#dcfce7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-warning{color:#92400e;background:#fef3c7}.badge-info{background:var(--secondary);color:var(--primary-dark)}.skeleton{border-radius:var(--radius-sm);border:1px solid var(--border);background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;animation:2s linear infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.price-updated{animation:.8s cubic-bezier(.34,1.56,.64,1) priceFlash}@keyframes priceFlash{0%{transform:scale(1)}50%{color:var(--accent);transform:scale(1.15)}to{transform:scale(1)}}.price-up{color:var(--danger)}.price-down{color:var(--success)}.stars{gap:4px;display:flex}.star{color:#e2e8f0;transition:var(--transition);font-size:16px}.star.filled{color:var(--warning)}.container{max-width:1280px;margin:0 auto;padding:0 24px}.header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffe6;padding:16px 0;position:sticky;top:0;box-shadow:0 4px 6px -1px #0000000d}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--text);letter-spacing:-.5px;font-family:Outfit,sans-serif;font-size:26px;font-weight:800}.logo span{color:var(--primary)}.header-nav{align-items:center;gap:32px;display:flex}.header-nav a{color:var(--text-light);transition:var(--transition);font-family:Outfit,sans-serif;font-size:14px;font-weight:500}.header-nav a:hover{color:var(--primary)}.hero{background:var(--gradient-hero);padding:80px 0 100px;position:relative;overflow:hidden}.hero h1{color:var(--text);letter-spacing:-1px;margin-bottom:16px;font-family:Outfit,sans-serif;font-size:56px;font-weight:800;position:relative}.hero p{color:var(--text-light);max-width:600px;margin-bottom:48px;font-size:20px;position:relative}.search-tabs{z-index:2;gap:8px;margin-bottom:24px;display:flex;position:relative}.search-tab{color:var(--text-light);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:14px 28px;font-family:Outfit,sans-serif;font-size:15px;font-weight:600;display:flex}.search-tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 10px #2ec4b633}.search-tab:hover:not(.active){color:var(--text);background:#ffffff80}.search-form{border-radius:var(--radius);box-shadow:var(--shadow-hover);border:1px solid var(--border);z-index:2;background:#fff;flex-wrap:wrap;align-items:flex-end;gap:20px;padding:32px;display:flex;position:relative}.search-form .input-group{flex:1;min-width:200px}.results-page{padding:60px 0}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.results-header h2{color:var(--text);font-family:Outfit,sans-serif;font-size:28px}.results-count{color:var(--primary);font-size:16px;font-weight:600}.sort-select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#fff;padding:10px 20px;font-family:inherit;font-size:14px}.results-grid{flex-direction:column;gap:24px;display:flex}.result-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);transition:var(--transition-bounce);grid-template-columns:auto 1fr auto;align-items:center;gap:32px;padding:32px;display:grid}.result-card:hover{box-shadow:var(--shadow-hover);border-color:#2ec4b64d;transform:translateY(-4px)}.filters-sidebar{flex-shrink:0;width:300px}.filter-group{border-bottom:1px solid var(--border);padding:24px 0}.filter-group h4{text-transform:uppercase;letter-spacing:1px;color:var(--primary);margin-bottom:16px;font-family:Outfit,sans-serif;font-size:15px;font-weight:700}.filter-checkbox{cursor:pointer;color:var(--text);align-items:center;gap:12px;padding:6px 0;font-size:15px;display:flex}.filter-checkbox input{accent-color:var(--primary);cursor:pointer;width:18px;height:18px}.hotel-gallery{border-radius:var(--radius-lg);grid-template-columns:2fr 1fr 1fr;gap:16px;max-height:450px;margin-bottom:40px;display:grid;overflow:hidden}.hotel-gallery img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.hotel-gallery img:hover{transform:scale(1.02)}.seat-map{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;align-items:center;gap:6px;padding:32px;display:flex}.seat-row{align-items:center;gap:10px;display:flex}.seat{cursor:pointer;width:42px;height:42px;transition:var(--transition-bounce);border:1px solid var(--border);background:#fff;border-radius:8px 8px 14px 14px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.seat.available{color:var(--text);border-color:var(--border)}.seat.available:hover{background:var(--secondary);color:var(--primary-dark);border-color:var(--primary);transform:scale(1.1)}.seat.taken{color:var(--danger);cursor:not-allowed;opacity:.6;background:#fee2e2;border-color:#fecaca}.seat.selected{background:var(--primary);color:#fff;border-color:var(--primary-dark);transform:scale(1.1)}.seat.aisle{cursor:default;background:0 0;border:none;width:24px}.checkout-layout{grid-template-columns:1fr 400px;gap:40px;padding:40px 0;display:grid}.checkout-steps{gap:32px;margin-bottom:40px;display:flex}.step{border-radius:var(--radius-sm);color:var(--text-light);align-items:center;gap:12px;padding:14px 24px;font-size:15px;font-weight:600;display:flex}.step.active{color:var(--primary);background:#f0fdfa;border:1px solid #2ec4b633}.step.done{color:var(--success)}.step-num{background:var(--bg);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}.step.active .step-num{background:var(--primary);color:#fff;border-color:var(--primary)}.step.done .step-num{background:var(--success);color:#fff;border-color:var(--success)}.countdown-timer{color:var(--accent);border-radius:var(--radius);text-align:center;background:#fff7ed;border:1px solid #fed7aa;margin-bottom:24px;padding:20px}.countdown-time{letter-spacing:1px;font-family:Outfit,monospace;font-size:36px;font-weight:800}.payment-methods{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.payment-method{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:var(--transition-bounce);background:#fff;padding:20px;font-weight:600}.payment-method:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.payment-method.selected{border-color:var(--primary);color:var(--primary-dark);background:#f0fdfa}.urgency-badge{color:var(--danger);background:#fff1f2;border:1px solid #fecdd3;border-radius:30px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;animation:2s ease-in-out infinite urgencyPulse;display:inline-flex}@keyframes urgencyPulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width:768px){.hero{padding:40px 0 60px}.hero h1{letter-spacing:-.5px;font-size:32px}.hero p{margin-bottom:32px;font-size:16px}.header-inner{flex-direction:column;gap:12px}.header-nav{justify-content:space-between;gap:12px;width:100%;padding-bottom:8px;overflow-x:auto}.header-nav a{white-space:nowrap;font-size:14px}.search-tabs{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:8px;overflow-x:auto}.search-tab{white-space:nowrap;padding:10px 20px;font-size:13px}.search-form{border-radius:var(--radius-sm);flex-direction:column;gap:16px;padding:20px}.search-form .input-group{min-width:100%}.result-card{text-align:center;grid-template-columns:1fr;gap:16px;padding:20px}.result-card .btn{width:100%}.checkout-layout{grid-template-columns:1fr;gap:24px}.checkout-steps{flex-direction:column;gap:12px}.step{justify-content:flex-start;width:100%;padding:12px}.filters-sidebar{width:100%;margin-bottom:24px}.hotel-gallery{grid-template-columns:1fr;gap:8px;max-height:none}.container{padding:0 16px}.card{padding:20px}.results-header{flex-direction:column;align-items:flex-start;gap:12px}.sort-select{width:100%}}@media (max-width:480px){.footer-grid{text-align:center;grid-template-columns:1fr;gap:32px}.payment-methods{grid-template-columns:1fr}}.toast-price-drop{font-weight:600;border:1px solid var(--success)!important;color:#065f46!important;background:#ecfdf5!important}.toast-price-rise{font-weight:600;border:1px solid var(--danger)!important;color:#991b1b!important;background:#fef2f2!important}.footer{border-top:1px solid var(--border);color:var(--text-light);background:#fff;margin-top:100px;padding:80px 0 40px}.footer-grid{grid-template-columns:repeat(4,1fr);gap:48px;margin-bottom:60px;display:grid}.footer h4{color:var(--text);letter-spacing:.5px;margin-bottom:24px;font-family:Outfit,sans-serif;font-size:18px}.footer a{transition:var(--transition);padding:6px 0;font-size:15px;display:block}.footer a:hover{color:var(--primary);transform:translate(5px)}.footer-bottom{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding-top:32px;font-size:14px}@media (max-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}}
