:root{--clr-bg: #0c0f14;--clr-surface: #141821;--clr-surface-2: #1b2030;--clr-border: rgba(255, 255, 255, .08);--clr-border-hover: rgba(255, 255, 255, .15);--clr-text: #eef0f4;--clr-text-dim: rgba(238, 240, 244, .55);--clr-accent: #f59e0b;--clr-accent-hover: #d97706;--clr-accent-glow: rgba(245, 158, 11, .15);--clr-error: #ef4444;--clr-success: #22c55e;--radius: .75rem;--radius-sm: .5rem;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--clr-bg);color:var(--clr-text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.nav{position:sticky;top:0;z-index:50;background:#0c0f14d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--clr-border)}.nav-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.logo-icon{font-size:1.4rem;color:var(--clr-accent)}.logo-text{font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.nav-links{display:flex;gap:.25rem}.nav-link{background:none;border:none;color:var(--clr-text-dim);font-family:var(--font);font-size:.875rem;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s}.nav-link:hover,.nav-link.active{color:var(--clr-text);background:#ffffff0d}.hero{background:linear-gradient(135deg,#1a1530,#0c0f14,#0f1a1a);padding:4rem 1.5rem 2rem;text-align:center}.hero-content{max-width:600px;margin:0 auto}.hero h1{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:.75rem;background:linear-gradient(135deg,var(--clr-text),var(--clr-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{color:var(--clr-text-dim);font-size:1.1rem}.search-section{max-width:1200px;margin:-1.5rem auto 0;padding:0 1.5rem;position:relative;z-index:10}.search-form{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.search-row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.field-group{flex:1;min-width:140px}.field-group label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-dim);margin-bottom:.4rem}.field-group select,.field-group input{width:100%;background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-sm);color:var(--clr-text);font-family:var(--font);font-size:.9rem;padding:.6rem .75rem;outline:none;transition:border-color .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.field-group select:focus,.field-group input:focus{border-color:var(--clr-accent)}.swap-btn{background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;color:var(--clr-accent);font-size:1rem;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0;margin-bottom:.15rem}.swap-btn:hover{background:var(--clr-accent-glow);border-color:var(--clr-accent)}.search-btn{align-self:flex-end}.btn-primary{background:var(--clr-accent);color:#000;font-family:var(--font);font-weight:700;font-size:.95rem;padding:.7rem 2rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,transform .1s}.btn-primary:hover{background:var(--clr-accent-hover)}.btn-primary:active{transform:scale(.98)}.back-btn{background:none;border:none;color:var(--clr-accent);font-family:var(--font);font-size:.9rem;cursor:pointer;padding:.4rem 0;margin-bottom:1rem;transition:opacity .15s}.back-btn:hover{opacity:.8}.featured{max-width:1200px;margin:3rem auto;padding:0 1.5rem}.featured h2{font-size:1.3rem;font-weight:700;margin-bottom:1rem}.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.dest-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;cursor:pointer;transition:border-color .2s,transform .15s,box-shadow .2s;font-family:var(--font)}.dest-card:hover{border-color:var(--clr-accent);transform:translateY(-4px);box-shadow:0 8px 30px var(--clr-accent-glow)}.dest-emoji{font-size:2.5rem}.dest-city{font-weight:700;font-size:1rem;color:var(--clr-text)}.dest-code{font-size:.8rem;color:var(--clr-text-dim);font-family:monospace}.results-section{max-width:900px;margin:2rem auto;padding:0 1.5rem}.results-header h2{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.results-meta{color:var(--clr-text-dim);font-size:.9rem;margin-bottom:1.25rem}.sort-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.85rem;color:var(--clr-text-dim)}.sort-btn{background:var(--clr-surface);border:1px solid var(--clr-border);color:var(--clr-text-dim);font-family:var(--font);font-size:.8rem;padding:.35rem .75rem;border-radius:100px;cursor:pointer;transition:all .15s}.sort-btn:hover,.sort-btn.active{color:var(--clr-text);border-color:var(--clr-accent);background:var(--clr-accent-glow)}.flight-list{display:flex;flex-direction:column;gap:.75rem}.flight-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s}.flight-card:hover{border-color:var(--clr-accent);box-shadow:0 4px 20px var(--clr-accent-glow);transform:translateY(-2px)}.flight-main{display:flex;flex-direction:column;gap:.75rem}.flight-airline{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--clr-text-dim)}.airline-badge{width:28px;height:28px;border-radius:50%;background:var(--clr-accent-glow);color:var(--clr-accent);display:grid;place-items:center;font-weight:700;font-size:.8rem}.flight-times{display:flex;align-items:center;gap:1.5rem}.time-block{display:flex;flex-direction:column;align-items:center;min-width:60px}.time{font-size:1.3rem;font-weight:700}.airport{font-size:.75rem;color:var(--clr-text-dim);font-family:monospace}.duration-block{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:120px}.duration{font-size:.8rem;color:var(--clr-text-dim)}.duration-line{display:flex;align-items:center;gap:0;width:100%}.dot{width:6px;height:6px;border-radius:50%;background:var(--clr-accent);flex-shrink:0}.line{flex:1;height:2px;background:var(--clr-border-hover);min-width:60px}.stop-dot{width:8px;height:8px;border-radius:50%;background:var(--clr-surface);border:2px solid var(--clr-accent);flex-shrink:0}.stops-label{font-size:.75rem;color:var(--clr-text-dim)}.flight-price{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex-shrink:0}.price{font-size:1.5rem;font-weight:800;color:var(--clr-accent)}.per-person{font-size:.75rem;color:var(--clr-text-dim)}.select-hint{font-size:.8rem;color:var(--clr-accent);opacity:0;transition:opacity .15s}.flight-card:hover .select-hint{opacity:1}.booking-section{max-width:1000px;margin:2rem auto;padding:0 1.5rem}.booking-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start}.booking-summary h2,.booking-form h2{font-size:1.2rem;font-weight:700;margin-bottom:1rem}.summary-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius);padding:1.5rem}.summary-route{font-size:1.1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.summary-arrow{color:var(--clr-accent)}.summary-details{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:var(--clr-text-dim);margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--clr-border)}.summary-details strong{color:var(--clr-text)}.summary-total{display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600}.total-price{font-size:1.5rem;font-weight:800;color:var(--clr-accent)}.booking-form{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius);padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field{margin-bottom:1rem}.form-field label{display:block;font-size:.8rem;font-weight:600;color:var(--clr-text-dim);margin-bottom:.35rem}.form-field input{width:100%;background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-sm);color:var(--clr-text);font-family:var(--font);font-size:.9rem;padding:.6rem .75rem;outline:none;transition:border-color .15s}.form-field input:focus{border-color:var(--clr-accent)}.form-field input.error{border-color:var(--clr-error)}.form-field input.error:focus{border-color:var(--clr-error)}.field-error{display:block;color:var(--clr-error);font-size:.78rem;margin-top:.3rem}.book-btn{width:100%;margin-top:.5rem}.confirmation-section{max-width:600px;margin:3rem auto;padding:0 1.5rem}.confirmation-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius);padding:2.5rem;text-align:center}.confirm-icon{width:64px;height:64px;border-radius:50%;background:#22c55e26;color:var(--clr-success);font-size:2rem;display:grid;place-items:center;margin:0 auto 1rem}.confirmation-card h1{font-size:1.6rem;font-weight:800;margin-bottom:.5rem}.booking-ref{font-size:1rem;color:var(--clr-text-dim);margin-bottom:1.5rem}.booking-ref strong{color:var(--clr-accent);font-family:monospace;font-size:1.1rem;letter-spacing:.1em}.confirm-details{text-align:left;background:var(--clr-surface-2);border-radius:var(--radius-sm);padding:1rem 1.25rem;margin-bottom:1.25rem}.confirm-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;border-bottom:1px solid var(--clr-border)}.confirm-row:last-child{border-bottom:none}.confirm-row span:first-child{color:var(--clr-text-dim)}.confirm-row.total{font-weight:700;font-size:1rem;border-bottom:none;padding-top:.75rem;margin-top:.25rem;border-top:2px solid var(--clr-border)}.confirm-row.total span:last-child{color:var(--clr-accent)}.confirm-note{color:var(--clr-text-dim);font-size:.85rem;margin-bottom:1.5rem}.footer{margin-top:auto;border-top:1px solid var(--clr-border);padding:2rem 1.5rem}.footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-brand{font-weight:700;display:flex;align-items:center;gap:.4rem}.footer-links{display:flex;gap:1.25rem}.footer-links a{color:var(--clr-text-dim);text-decoration:none;font-size:.85rem;transition:color .15s}.footer-links a:hover{color:var(--clr-text)}.footer-copy{color:var(--clr-text-dim);font-size:.8rem;width:100%;text-align:center;margin-top:.5rem}@media(max-width:768px){.hero h1{font-size:1.75rem}.search-row{flex-direction:column}.field-group{min-width:100%}.swap-btn{align-self:center;transform:rotate(90deg)}.flight-card{flex-direction:column;align-items:flex-start;gap:1rem}.flight-price{align-items:flex-start;flex-direction:row;gap:.75rem;align-items:center}.booking-layout,.form-row{grid-template-columns:1fr}.flight-times{gap:.75rem}.nav-links{display:none}}
