/* css2 - Dark Neon Matrix Theme
	 Identity: Deep space background, grid lines, neon accents, monospace hints
*/

:root {
	--dn-bg1: #05070d;
	--dn-bg2: #0f1a2b;
	--dn-surface: rgba(20,32,50,0.78);
	--dn-line: rgba(120,210,255,0.18);
	--dn-accent: #17f1ff;
	--dn-accent-alt: #ff2f6d;
	--dn-warn: #ffc552;
	--dn-text: #d6e9ff;
	--dn-muted: #6e87a3;
	--dn-radius: 18px;
	--dn-glow: 0 0 12px rgba(23,241,255,.55),0 0 28px rgba(23,241,255,.25);
}

html, body { background: radial-gradient(circle at 20% 18%, #0f2a46 0%, #05070d 60%) fixed; color: var(--dn-text); font-feature-settings: "tnum" 1; }
body:before { content:""; position:fixed; inset:0; background:
	repeating-linear-gradient(90deg,rgba(255,255,255,0.04) 0 1px,transparent 1px 80px),
	repeating-linear-gradient(0deg,rgba(255,255,255,0.04) 0 1px,transparent 1px 80px);
	mix-blend-mode: overlay; pointer-events:none; opacity:.25; }

header.top-bar { background: linear-gradient(140deg,rgba(30,50,72,.85),rgba(15,30,52,.85)); border:1px solid var(--dn-line); backdrop-filter: blur(18px); color:#fff; box-shadow:0 10px 40px -14px rgba(0,0,0,.65); border-radius: var(--dn-radius); }
header.top-bar .logo { font-family: "JetBrains Mono", monospace; text-transform:uppercase; letter-spacing:1.5px; }
header.top-bar .copy { font-size:10px; letter-spacing:1px; color: var(--dn-accent); }

.hero { min-height:560px; }
.hero .overlay { position:relative; display:grid; grid-template-columns: minmax(340px,540px) minmax(300px,520px); grid-template-rows:auto auto; grid-template-areas: "content media" "ratings call"; align-items:start; gap:60px 70px; background: linear-gradient(125deg,#0a1726,#102d50 55%,#041221); border:1px solid var(--dn-line); border-radius: var(--dn-radius); padding:90px 90px 90px; overflow:hidden; }
.hero .overlay:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 68% 32%,rgba(23,241,255,.20),rgba(23,241,255,0) 60%); mix-blend-mode: screen; }
.hero-content h1 { font-size:60px; line-height:1.05; font-family: 'Inter', sans-serif; background: linear-gradient(90deg,var(--dn-accent),var(--dn-accent-alt)); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:0 0 14px rgba(23,241,255,.55); }
.features { gap:14px; }
.features li { background: linear-gradient(155deg,rgba(255,255,255,0.09),rgba(255,255,255,0.02)); border:1px solid var(--dn-line); font-family: "JetBrains Mono", monospace; letter-spacing:1px; font-size:12px; color:var(--dn-accent); border-radius:10px; padding:10px 14px; position:relative; overflow:hidden; }
.features li:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%,rgba(23,241,255,.25),transparent 70%); opacity:.4; }
.features li:hover { box-shadow: var(--dn-glow); color:#fff; }

.call-box.main { background: linear-gradient(135deg,var(--dn-accent-alt),#ff5f8a); border:1px solid var(--dn-accent-alt); box-shadow:0 0 22px -4px rgba(255,47,109,.55),0 0 50px -10px rgba(255,47,109,.45); min-width:320px; grid-area:call; align-self:start; position:relative; }
.call-box.main .number span { color:#ffe9f1; }

/* Hero media block */
.hero-media { flex:1; display:flex; align-items:center; justify-content:center; position:relative; z-index:2; grid-area:media; }
.hero-media-inner { width:100%; max-width:440px; aspect-ratio: 4 / 3; background:linear-gradient(135deg,rgba(23,241,255,.15),rgba(255,47,109,.12)); border:1px solid var(--dn-line); border-radius:30px; box-shadow:0 0 40px -10px rgba(23,241,255,.55),0 0 60px -18px rgba(255,47,109,.45); backdrop-filter:blur(10px); overflow:hidden; position:relative; }
.hero-media-inner:before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(255,255,255,.25),rgba(255,255,255,0)); mix-blend-mode:overlay; }
.hero-media img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.1) contrast(1.05); }

.ratings { gap:26px; display:flex; grid-area:ratings; position:relative; align-self:end; }
.rating-card { background: linear-gradient(160deg,rgba(35,55,80,.85),rgba(22,38,58,.78)); border:1px solid var(--dn-line); border-radius:22px; box-shadow:0 16px 50px -18px rgba(0,0,0,.7); position:relative; overflow:hidden; }
.rating-card:before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(23,241,255,.2),transparent 70%); opacity:.35; }
.rating-card .icon { text-shadow:0 0 10px rgba(255,255,255,.45); }

.sub-call { background: linear-gradient(90deg,var(--dn-accent-alt),#ff2f6d); border:none; box-shadow:0 0 40px -10px rgba(255,47,109,.65); }

.search-box { background: linear-gradient(135deg,#091728,#0d243d); }
.flight-form { background: var(--dn-surface); backdrop-filter: blur(20px); border:1px solid var(--dn-line); border-radius:28px; padding:40px 46px; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap:24px; box-shadow:0 30px 60px -24px rgba(0,0,0,.85); }
.flight-form label { font-size:10px; font-weight:600; letter-spacing:1.3px; text-transform:uppercase; color: var(--dn-muted); font-family:"JetBrains Mono", monospace; }
.flight-form input, .flight-form select { background:#0f2032; color:var(--dn-text); border:1px solid #274058; border-radius:12px; font-size:14px; padding:12px 14px; }
.flight-form input:focus, .flight-form select:focus { outline:none; box-shadow:0 0 0 3px rgba(23,241,255,.35); border-color: var(--dn-accent); }
.flight-form input, .flight-form select { caret-color: var(--dn-accent); font-weight:500; }
.flight-form input::placeholder, .flight-form select::placeholder { color: var(--dn-muted); opacity:.85; }
.flight-form input:focus, .flight-form select:focus { background:#132a44; color:var(--dn-text) !important; }
/* Date input specific (departure / return) */
.flight-form input[type=date] { background:#0f2032; color:var(--dn-text); position:relative; }
.flight-form input[type=date]:hover { background:#132a44; }
.flight-form input[type=date]:focus { background:#162f49; border-color: var(--dn-accent); box-shadow:0 0 0 3px rgba(23,241,255,.35); }
/* Remove default icon background in some browsers */
.flight-form input[type=date]::-webkit-calendar-picker-indicator { filter: drop-shadow(0 0 4px rgba(23,241,255,.6)) brightness(1.2); cursor:pointer; }
.flight-form input[type=date]::-webkit-datetime-edit-text,
.flight-form input[type=date]::-webkit-datetime-edit-month-field,
.flight-form input[type=date]::-webkit-datetime-edit-day-field,
.flight-form input[type=date]::-webkit-datetime-edit-year-field { color: var(--dn-text); }
.flight-form input[type=date]::-webkit-datetime-edit-fields-wrapper { background:transparent; }
/* Prevent browser autofill from forcing white background */
input.flight-input:-webkit-autofill,
input.flight-input:-webkit-autofill:hover,
input.flight-input:-webkit-autofill:focus,
select.flight-input:-webkit-autofill {
	-webkit-text-fill-color: var(--dn-text);
	box-shadow: 0 0 0 30px #132a44 inset;
	transition: background-color 9999s ease-in-out 0s;
}
.flight-form button { background: linear-gradient(135deg,var(--dn-accent),#35f7ff); border:none; border-radius:14px; font-size:15px; font-weight:600; letter-spacing:.8px; color:#042633; box-shadow: var(--dn-glow); position:relative; overflow:hidden; }
.flight-form button:before { content:""; position:absolute; inset:0; background:linear-gradient(160deg,rgba(255,255,255,.35),rgba(255,255,255,0)); opacity:.4; }
.flight-form button:hover { filter:brightness(1.12); transform:translateY(-3px); }
.flight-form button:active { transform:translateY(0); }
.passenger-dropdown { background:#0d1d2d; border:1px solid var(--dn-line); border-radius:20px; }
.passenger-btn { background:#13283c; color:var(--dn-accent); border:1px solid #1e3b53; }
.passenger-btn:hover:not(:disabled) { background:#1d364c; }
/* Passenger selector overrides (dark theme) */
.passenger-selector .passenger-input { background:#132435; border:1px solid #274058; color:var(--dn-text); box-shadow:0 4px 14px -4px rgba(0,0,0,.55); }
.passenger-selector .passenger-input:hover { background:#152a42; border-color:var(--dn-accent); }
.passenger-selector .passenger-input.open { background:#162f49; border-color:var(--dn-accent); }
.passenger-selector .passenger-dropdown { background:#102233; border:1px solid #274058; border-top:none; box-shadow:0 18px 46px -18px rgba(0,0,0,.85),0 6px 18px -6px rgba(0,0,0,.55); }
.passenger-selector .passenger-row { border-bottom:1px solid #1d364c; }
.passenger-selector .passenger-row:last-of-type { border-bottom:none; }
.passenger-selector .passenger-type { color:var(--dn-text); }
.passenger-selector .passenger-age { color:var(--dn-muted); }
.passenger-selector .passenger-btn { background:#153046; border:1px solid #274058; color:var(--dn-accent); }
.passenger-selector .passenger-btn:hover:not(:disabled) { background:#1a3c57; border-color:var(--dn-accent); }
.passenger-selector .passenger-btn:active:not(:disabled) { transform:scale(.9); }
.passenger-selector .passenger-btn:disabled { background:#0f2233; opacity:.45; }
.passenger-selector .passenger-count { color:var(--dn-accent); }

.benefits { background: linear-gradient(180deg,#0c1a29,#06101a); gap:70px; padding-top:90px; }
.benefit { background: linear-gradient(160deg,#172a40,#122233); border:1px solid #234158; border-radius:26px; padding:34px 30px; box-shadow:0 28px 70px -26px rgba(0,0,0,.85); position:relative; overflow:hidden; }
.benefit:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 75% 25%,rgba(23,241,255,.22),transparent 70%); opacity:.4; }
.benefit h3 { color: var(--dn-accent); font-family:"JetBrains Mono", monospace; letter-spacing:1px; }
.benefit .icon { font-size:52px; text-shadow:0 0 12px rgba(23,241,255,.5); }
.benefit:hover { transform:translateY(-8px); box-shadow:0 40px 90px -34px rgba(0,0,0,.9); }

footer.site-footer { background:#040b14; position:relative; border-top:3px solid var(--dn-accent); }
footer.site-footer:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 18% 15%,rgba(23,241,255,.18),transparent 70%); }
footer.site-footer a { color: var(--dn-accent); }
footer.site-footer a:hover { color:#fff; }

.searching-overlay { background: rgba(4,11,20,.9); }
.searching-spinner { border-top-color: var(--dn-accent-alt); }
.progress-fill { background: linear-gradient(90deg,var(--dn-accent-alt),var(--dn-accent)); }

/* Focus outlines for accessibility */
:focus-visible { outline:2px dashed var(--dn-accent-alt); outline-offset:3px; }

/* Responsive */
@media (max-width:1300px){
	.hero .overlay { padding:86px 80px 90px; grid-template-columns: minmax(320px,520px) minmax(280px,480px); }
}
@media (max-width:1120px){
	.hero .overlay { gap:50px 60px; padding:80px 70px 90px; }
	.call-box.main { min-width:300px; }
}
@media (max-width:980px){
	.hero .overlay { grid-template-columns:1fr; grid-template-rows:auto; grid-template-areas: "content" "media" "call" "ratings"; padding:80px 70px 90px; }
	.hero-media { margin-top:50px; }
	.call-box.main { margin-top:50px; width:100%; min-width:0; }
	.ratings { margin-top:46px; justify-content:flex-start; flex-wrap:wrap; }
}
@media (max-width:760px){
	.hero-content h1 { font-size:50px; }
	.hero .overlay { padding:70px 50px 80px; }
}
@media (max-width:640px){
	.hero-content h1 { font-size:46px; }
}
@media (max-width:600px){
	.hero-content h1 { font-size:44px; }
	.hero .overlay { padding:70px 42px 80px; }
}
@media (max-width:520px){
	.hero-content h1 { font-size:40px; }
	.hero .overlay { padding:64px 36px 70px; }
}
@media (max-width:480px){
	.hero-content h1 { font-size:38px; }
	.hero .overlay { padding:60px 30px 66px; }
}
@media (max-width:420px){
	.hero-content h1 { font-size:34px; }
	.flight-form { padding:28px 22px; }
}
@media (max-width:380px){
	.hero-content h1 { font-size:32px; }
}
