/* ======================================
   FLYDEAL USA — landing.css
   Landing page specific styles
====================================== */

/* ── HERO ── */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; padding:120px 0 80px; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background:linear-gradient(160deg,var(--navy) 0%,#1A3A7A 50%,#0D2D5E 100%); }
#flightCanvas { position:absolute; inset:0; width:100%; height:100%; opacity:.6; }
.hero-overlay { position:absolute; inset:0; background:radial-gradient(ellipse at 60% 50%,rgba(30,111,255,.15) 0%,transparent 60%); }
.hero-content { position:relative; z-index:2; max-width:860px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,90,95,.15); border:1px solid rgba(255,90,95,.4); color:#FF8A8D; font-family:var(--fd); font-size:.82rem; font-weight:600; padding:7px 16px; border-radius:50px; margin-bottom:20px; backdrop-filter:blur(8px); }
.hero-content h1 { font-size:clamp(2.2rem,5vw,3.8rem); font-weight:800; color:#fff; line-height:1.12; margin-bottom:18px; letter-spacing:-.02em; }
.hero-sub { color:rgba(255,255,255,.75); font-size:clamp(1rem,2vw,1.15rem); margin-bottom:36px; max-width:560px; line-height:1.65; }
.hero-trust { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:20px; }
.hero-trust span { display:flex; align-items:center; gap:6px; color:rgba(255,255,255,.75); font-family:var(--fd); font-size:.82rem; font-weight:600; }

/* ── SEARCH CARD ── */
.search-card { background:rgba(255,255,255,.97); backdrop-filter:blur(20px); border-radius:24px; padding:28px; box-shadow:var(--sh-xl),0 0 0 1px rgba(255,255,255,.1); margin-bottom:24px; }
.search-tabs { display:flex; gap:6px; margin-bottom:22px; background:var(--g100); border-radius:var(--r); padding:5px; }
.tab { flex:1; padding:9px 12px; border-radius:8px; font-family:var(--fd); font-weight:600; font-size:.82rem; color:var(--g500); transition:all var(--transition); }
.tab.active { background:#fff; color:var(--navy); box-shadow:var(--sh-sm); }
.tab:hover:not(.active) { color:var(--navy); }
.search-fields { display:flex; flex-direction:column; gap:12px; }
.field-group { display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:end; }
.field-group:last-of-type { grid-template-columns:1fr 1fr 1fr; }
.form-field { display:flex; flex-direction:column; gap:5px; position:relative; }
.form-field label { display:flex; align-items:center; gap:5px; font-family:var(--fd); font-size:.72rem; font-weight:700; color:var(--g500); text-transform:uppercase; letter-spacing:.08em; }
.field-icon { font-size:1rem; }
.form-field input, .form-field select { padding:12px 14px; border:2px solid var(--g100); border-radius:var(--r); font-size:.95rem; color:var(--navy); background:#fff; transition:border-color var(--transition),box-shadow var(--transition); outline:none; width:100%; }
.form-field input:focus, .form-field select:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(30,111,255,.1); }
.form-field input.error { border-color:var(--coral); }
.field-error { font-size:.75rem; color:var(--coral); font-weight:500; min-height:16px; }
.swap-btn { width:40px; height:44px; border-radius:50%; border:2px solid var(--g100); color:var(--blue); font-size:1.1rem; display:flex; align-items:center; justify-content:center; transition:all var(--transition); background:#fff; flex-shrink:0; align-self:end; }
.swap-btn:hover { background:var(--blue); color:#fff; border-color:var(--blue); transform:rotate(180deg); }
.btn-search { width:100%; justify-content:center; padding:16px; background:linear-gradient(135deg,var(--coral) 0%,#FF3B41 100%); color:#fff; font-size:1.1rem; border-radius:var(--r); box-shadow:0 6px 24px rgba(255,90,95,.4); margin-top:12px; display:flex; align-items:center; gap:8px; font-family:var(--fd); font-weight:800; border:none; cursor:pointer; transition:all var(--transition); }
.btn-search:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(255,90,95,.5); }
.btn-search:disabled { opacity:.6; cursor:not-allowed; transform:none; }

/* ── RESULTS ── */
.results-section { background:var(--g50); padding:48px 0; border-bottom:1px solid var(--g100); }
.results-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.results-header h2 { font-size:1.5rem; }
.results-filters { display:flex; gap:8px; margin-bottom:24px; flex-wrap:wrap; }
.filter-btn { padding:8px 18px; border-radius:50px; border:2px solid var(--g100); font-family:var(--fd); font-weight:600; font-size:.82rem; color:var(--g500); background:#fff; transition:all var(--transition); }
.filter-btn.active,.filter-btn:hover { border-color:var(--blue); color:var(--blue); background:rgba(30,111,255,.05); }
.results-list { display:flex; flex-direction:column; gap:12px; }
.result-item { background:#fff; border-radius:var(--r); padding:20px 24px; display:flex; align-items:center; gap:24px; box-shadow:var(--sh-sm); border:1px solid var(--g100); transition:all var(--transition); flex-wrap:wrap; }
.result-item:hover { box-shadow:var(--sh-md); transform:translateY(-1px); }
.result-airline { width:110px; flex-shrink:0; }
.result-airline-name { font-family:var(--fd); font-weight:700; font-size:.88rem; color:var(--navy); }
.result-airline-logo { font-size:1.8rem; }
.result-times { flex:1; display:flex; align-items:center; gap:16px; min-width:200px; }
.result-time-block { text-align:center; }
.result-time { font-family:var(--fd); font-weight:800; font-size:1.3rem; color:var(--navy); }
.result-city { font-size:.75rem; color:var(--g500); font-weight:500; }
.result-duration-line { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; }
.result-duration { font-size:.78rem; color:var(--g500); font-weight:600; }
.result-line { display:flex; align-items:center; width:100%; gap:6px; color:var(--g300); font-size:.9rem; }
.result-line::before,.result-line::after { content:''; flex:1; height:1px; background:var(--g300); }
.result-stops { font-size:.75rem; color:var(--green); font-weight:700; }
.result-price-block { text-align:right; flex-shrink:0; }
.result-price { font-family:var(--fd); font-weight:800; font-size:1.8rem; color:var(--coral); line-height:1; }
.result-per { font-size:.75rem; color:var(--g500); margin-bottom:8px; }
.result-book-btn { padding:9px 20px; border-radius:50px; background:var(--navy); color:#fff; font-family:var(--fd); font-weight:700; font-size:.85rem; transition:all var(--transition); border:none; cursor:pointer; }
.result-book-btn:hover { background:var(--blue); transform:translateY(-1px); }

/* ── COUNTDOWN ── */
.countdown-banner { background:linear-gradient(90deg,#FF3B41,var(--coral),#FF8C00); padding:14px 0; }
.countdown-inner { display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; }
.countdown-label { color:#fff; font-family:var(--fd); font-weight:700; font-size:.9rem; }
.countdown-timer { display:flex; align-items:center; gap:6px; }
.time-unit { background:rgba(0,0,0,.2); border-radius:6px; padding:6px 12px; min-width:52px; text-align:center; }
.time-unit span { display:block; color:#fff; font-family:var(--fd); font-weight:800; font-size:1.3rem; line-height:1; }
.time-unit small { color:rgba(255,255,255,.7); font-size:.65rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.time-sep { color:rgba(255,255,255,.7); font-weight:700; font-size:1.2rem; }
.countdown-msg { color:rgba(255,255,255,.9); font-size:.88rem; font-weight:500; }

/* ── WHY US ── */
.why-us { padding:100px 0; background:#fff; }
.why-us h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); margin-bottom:56px; font-weight:800; }
.features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:48px; }
.feature-card { background:var(--g50); border-radius:20px; padding:32px 24px; border:1px solid var(--g100); transition:all var(--transition); position:relative; overflow:hidden; }
.feature-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--blue),var(--coral)); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); }
.feature-card:hover::before { transform:scaleX(1); }
.feature-icon { font-size:2.2rem; margin-bottom:16px; display:inline-block; }
.feature-card h3 { font-size:1.05rem; margin-bottom:10px; font-weight:700; }
.feature-card p { font-size:.88rem; color:var(--g500); line-height:1.7; margin-bottom:16px; }
.feature-stat { font-family:var(--fd); font-size:.78rem; font-weight:700; color:var(--blue); background:rgba(30,111,255,.08); display:inline-block; padding:4px 10px; border-radius:50px; }
.trust-badges { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:20px 28px; background:var(--g50); border-radius:var(--r); border:1px solid var(--g100); }
.trust-badges span { font-family:var(--fd); font-size:.82rem; font-weight:600; color:var(--g700); }
.badge-sep { color:var(--g300); }

/* ── DEALS ── */
.deals-section { padding:100px 0; background:var(--g50); }
.deals-section h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:800; margin-bottom:12px; }
.deals-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.deal-card { background:#fff; border-radius:20px; overflow:hidden; box-shadow:var(--sh-sm); border:1px solid var(--g100); transition:all var(--transition); }
.deal-card:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); }
.deal-img { height:160px; position:relative; }
.deal-img-1 { background:linear-gradient(135deg,#1a3a8a 0%,#2563EB 60%,#7C3AED 100%); }
.deal-img-2 { background:linear-gradient(135deg,#064E3B 0%,#059669 60%,#34D399 100%); }
.deal-img-3 { background:linear-gradient(135deg,#7C2D12 0%,#EA580C 60%,#FCD34D 100%); }
.deal-img-4 { background:linear-gradient(135deg,#1E1B4B 0%,#4338CA 60%,#818CF8 100%); }
.deal-img-5 { background:linear-gradient(135deg,#831843 0%,#DB2777 60%,#F9A8D4 100%); }
.deal-img-6 { background:linear-gradient(135deg,#14532D 0%,#16A34A 60%,#86EFAC 100%); }
.deal-badge { position:absolute; top:12px; left:12px; background:rgba(255,255,255,.2); backdrop-filter:blur(10px); color:#fff; font-family:var(--fd); font-size:.72rem; font-weight:700; padding:5px 12px; border-radius:50px; border:1px solid rgba(255,255,255,.3); }
.deal-badge-hot { background:rgba(255,59,65,.4); border-color:rgba(255,59,65,.5); }
.deal-badge-green { background:rgba(16,185,129,.3); border-color:rgba(16,185,129,.4); }
.deal-body { padding:20px; }
.deal-route { display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.route-city { font-family:var(--fd); font-weight:700; font-size:1rem; color:var(--navy); }
.route-arrow { color:var(--blue); font-size:.9rem; }
.deal-codes { font-size:.75rem; color:var(--g500); font-weight:600; letter-spacing:.05em; margin-bottom:12px; }
.deal-meta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.deal-meta span { font-size:.75rem; color:var(--g500); }
.deal-footer { display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--g100); }
.deal-price { display:flex; align-items:baseline; gap:6px; }
.price-was { font-size:.85rem; color:var(--g300); text-decoration:line-through; }
.price-now { font-family:var(--fd); font-size:1.6rem; font-weight:800; color:var(--coral); line-height:1; }
.price-unit { font-size:.75rem; color:var(--g500); }
.btn-deal { background:var(--navy); color:#fff; padding:9px 20px; border-radius:50px; font-family:var(--fd); font-weight:700; font-size:.85rem; transition:all var(--transition); border:none; cursor:pointer; }
.btn-deal:hover { background:var(--blue); transform:translateY(-1px); }

/* ── ROUTES ── */
.routes-section { padding:100px 0; background:#fff; }
.routes-section h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:800; margin-bottom:48px; }
.routes-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.route-item { display:flex; flex-direction:column; align-items:center; text-align:center; padding:20px 16px; border-radius:var(--r); border:1px solid var(--g100); background:var(--g50); transition:all var(--transition); gap:4px; cursor:pointer; }
.route-item:hover { border-color:var(--blue); background:rgba(30,111,255,.04); transform:translateY(-2px); box-shadow:var(--sh-sm); }
.route-from,.route-to { font-family:var(--fd); font-weight:700; font-size:.9rem; color:var(--navy); }
.route-line { color:var(--g300); font-size:.8rem; }
.route-price { font-family:var(--fd); font-weight:800; font-size:.85rem; color:var(--coral); margin-top:4px; }

/* ── REVIEWS ── */
.reviews-section { padding:100px 0; background:var(--g50); }
.reviews-section h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:800; margin-bottom:48px; }
.reviews-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-bottom:48px; }
.review-card { background:#fff; border-radius:20px; padding:28px; border:1px solid var(--g100); box-shadow:var(--sh-sm); transition:all var(--transition); }
.review-card:hover { transform:translateY(-3px); box-shadow:var(--sh-md); }
.review-stars { color:var(--amber); font-size:1.1rem; letter-spacing:2px; margin-bottom:14px; }
.review-card blockquote p { font-size:.95rem; color:var(--g700); line-height:1.75; font-style:italic; margin-bottom:20px; }
.reviewer { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.reviewer-avatar { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--fd); font-weight:800; font-size:.9rem; flex-shrink:0; }
.reviewer strong { display:block; font-family:var(--fd); font-size:.92rem; color:var(--navy); margin-bottom:2px; }
.reviewer span { font-size:.78rem; color:var(--g500); }
.review-trip { font-family:var(--fd); font-size:.75rem; font-weight:600; color:var(--blue); background:rgba(30,111,255,.07); display:inline-block; padding:4px 10px; border-radius:50px; }
.rating-summary { display:flex; align-items:center; gap:24px; padding:32px; background:#fff; border-radius:20px; border:1px solid var(--g100); max-width:500px; margin:0 auto; }
.rating-big { font-family:var(--fd); font-size:4rem; font-weight:800; color:var(--navy); line-height:1; }
.stars-display { color:var(--amber); font-size:1.3rem; letter-spacing:3px; margin-bottom:4px; }
.rating-detail p { font-size:.85rem; color:var(--g500); margin-bottom:8px; }
.rating-platforms { display:flex; gap:12px; flex-wrap:wrap; }
.rating-platforms span { font-family:var(--fd); font-size:.75rem; font-weight:700; color:var(--g700); background:var(--g50); padding:3px 10px; border-radius:50px; border:1px solid var(--g100); }

/* ── EMAIL ── */
.email-capture { padding:80px 0; background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%); }
.email-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.email-text h2 { color:#fff; font-size:clamp(1.6rem,3vw,2.2rem); font-weight:800; margin-bottom:12px; }
.email-text p { color:rgba(255,255,255,.7); margin-bottom:20px; }
.email-perks { list-style:none; display:flex; flex-direction:column; gap:8px; }
.email-perks li { color:rgba(255,255,255,.8); font-family:var(--fd); font-size:.88rem; font-weight:500; }
.email-fields { display:flex; flex-direction:column; gap:10px; margin-bottom:12px; }
.email-fields input { width:100%; padding:14px 18px; border-radius:var(--r); border:2px solid rgba(255,255,255,.1); background:rgba(255,255,255,.08); color:#fff; font-size:.95rem; outline:none; transition:border-color var(--transition); }
.email-fields input::placeholder { color:rgba(255,255,255,.4); }
.email-fields input:focus { border-color:var(--blue-l); }
.email-fields .btn-primary { justify-content:center; width:100%; padding:14px; }
.email-disclaimer { font-size:.75rem; color:rgba(255,255,255,.45); }
.email-success { color:#86EFAC; font-family:var(--fd); font-weight:600; font-size:.9rem; margin-top:10px; }

/* ── FINAL CTA ── */
.final-cta { padding:120px 0; background:linear-gradient(160deg,#0B1F4B 0%,#1a3a8a 50%,#0D2D5E 100%); text-align:center; position:relative; overflow:hidden; }
.final-cta::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%,rgba(30,111,255,.2) 0%,transparent 70%); pointer-events:none; }
.cta-content { position:relative; z-index:2; }
.cta-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.8); font-family:var(--fd); font-size:.82rem; font-weight:600; padding:7px 16px; border-radius:50px; margin-bottom:20px; }
.final-cta h2 { color:#fff; font-size:clamp(2rem,4.5vw,3.2rem); font-weight:800; margin-bottom:16px; }
.final-cta p { color:rgba(255,255,255,.7); font-size:1.05rem; margin-bottom:40px; max-width:500px; margin-left:auto; margin-right:auto; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:36px; }
.btn-cta-white { background:#fff; color:var(--navy); padding:14px 32px; font-size:1.05rem; box-shadow:0 4px 20px rgba(0,0,0,.2); display:inline-flex; align-items:center; gap:8px; border-radius:50px; font-family:var(--fd); font-weight:800; transition:all var(--transition); }
.btn-cta-white:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,.25); }
.btn-cta-outline { border:2px solid rgba(255,255,255,.6); color:#fff; padding:14px 32px; font-size:1.05rem; display:inline-flex; align-items:center; gap:8px; border-radius:50px; font-family:var(--fd); font-weight:800; transition:all var(--transition); }
.btn-cta-outline:hover { background:rgba(255,255,255,.1); border-color:#fff; }
.cta-trust { display:flex; align-items:center; gap:24px; justify-content:center; flex-wrap:wrap; }
.cta-trust span { color:rgba(255,255,255,.55); font-family:var(--fd); font-size:.78rem; font-weight:600; }

/* ── RESPONSIVE ── */
@media (max-width:1024px) { .features-grid { grid-template-columns:repeat(2,1fr); } .deals-grid { grid-template-columns:repeat(2,1fr); } .routes-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px) {
  .field-group { grid-template-columns:1fr; }
  .field-group:last-of-type { grid-template-columns:1fr 1fr; }
  .swap-btn { width:60px; border-radius:var(--r); margin:0 auto; transform:rotate(90deg); }
  .swap-btn:hover { transform:rotate(270deg); }
  .features-grid,.deals-grid { grid-template-columns:1fr; }
  .routes-grid { grid-template-columns:repeat(2,1fr); }
  .reviews-grid { grid-template-columns:1fr; }
  .email-inner { grid-template-columns:1fr; gap:36px; }
  .cta-actions { flex-direction:column; align-items:center; }
  .trust-badges { justify-content:center; text-align:center; }
}
@media (max-width:480px) { .routes-grid { grid-template-columns:1fr; } .field-group:last-of-type { grid-template-columns:1fr; } }
