/* css5 - Aero Midnight Cyan Theme
	 Identity: Deep midnight navy gradients, cyan & teal neon accents, subtle grid & glow layering */
:root {
	--am-bg1:#04121d; --am-bg2:#061d2c; --am-bg3:#0c2d3f;
	--am-surface:rgba(255,255,255,0.06);
	--am-surface-alt:rgba(255,255,255,0.12);
	--am-line:rgba(0,180,255,0.28);
	--am-accent:#05c6ff;
	--am-accent-alt:#19f7d9;
	--am-text:#e6f7ff;
	--am-muted:#6ea5bb;
	--am-radius:32px;
	--am-shadow:0 28px 80px -32px rgba(0,120,160,.55),0 10px 34px -12px rgba(0,120,160,.45);
}
html,body { background: radial-gradient(circle at 18% 20%,#082437 0%,#041a28 30%,#04121d 65%,#020b13 100%); color:var(--am-text); font-family:'Inter',sans-serif; }
header.top-bar { background:linear-gradient(130deg,rgba(255,255,255,0.07),rgba(255,255,255,0.02)); backdrop-filter:blur(22px); border:1px solid var(--am-line); border-radius:var(--am-radius); box-shadow:0 10px 40px -18px rgba(0,120,160,.5); }
header.top-bar .logo { color:var(--am-accent); font-weight:600; letter-spacing:.5px; }
/* Hero */
.hero { min-height:520px; }
.hero .overlay { position:relative; display:grid; grid-template-columns:minmax(420px,560px) minmax(420px,1fr); align-items:center; gap:60px 78px; padding:58px 70px 70px; background:linear-gradient(125deg,#052234,#062f45 55%,#083c54); border:1px solid var(--am-line); border-radius:var(--am-radius); box-shadow:var(--am-shadow); overflow:hidden; max-width:1300px; margin:0 auto; }
.hero .overlay:before { content:""; position:absolute; inset:0; background:
	radial-gradient(circle at 78% 28%,rgba(25,247,217,.25),transparent 70%),
	radial-gradient(circle at 20% 75%,rgba(5,198,255,.18),transparent 65%),
	repeating-linear-gradient(115deg,rgba(255,255,255,0.05) 0 2px,transparent 2px 18px);
	mix-blend-mode:overlay; pointer-events:none; }
.hero-content { position:relative; z-index:2; }
.hero-content h1 { font-size:clamp(2.4rem,4.1vw,3.6rem); line-height:1.04; letter-spacing:-1px; background:linear-gradient(90deg,var(--am-accent),var(--am-accent-alt)); -webkit-background-clip:text; background-clip:text; color:transparent; margin:0 0 14px; filter:drop-shadow(0 4px 18px rgba(0,0,0,.5)); }
.features { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 20px; }
.features li { background:rgba(255,255,255,0.08); border:1px solid var(--am-line); color:var(--am-accent); padding:9px 15px; font-size:11px; font-weight:600; letter-spacing:1px; border-radius:18px; position:relative; overflow:hidden; }
.features li:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%,rgba(25,247,217,.4),transparent 65%); opacity:.35; }
.features li:hover { background:rgba(255,255,255,.14); color:#fff; }
.call-box.main { background:linear-gradient(135deg,var(--am-accent),var(--am-accent-alt)); border:1px solid rgba(255,255,255,.25); box-shadow:0 18px 44px -18px rgba(5,198,255,.55); border-radius:20px; margin-top:12px; }
/* Hero media */
.hero-media { position:relative; }
.hero-media-inner { width:100%; max-width:580px; aspect-ratio:16 / 10; border-radius:40px; background:linear-gradient(140deg,rgba(255,255,255,0.18),rgba(255,255,255,0.04)); border:1px solid var(--am-line); backdrop-filter:blur(18px); box-shadow:0 40px 86px -34px rgba(0,120,160,.55); position:relative; overflow:hidden; }
.hero-media-inner:before { content:""; position:absolute; inset:0; background:linear-gradient(150deg,rgba(255,255,255,.35),rgba(255,255,255,0)); mix-blend-mode:overlay; }
.hero-media img { width:100%; height:100%; object-fit:cover; filter:saturate(1.15) contrast(1.08); }
/* Slider shared */
.slider { position:relative; width:100%; height:100%; }
.slider-track { display:flex; width:100%; height:100%; transition:transform .7s cubic-bezier(.6,.05,.3,1); }
.slide { flex:0 0 100%; width:100%; height:100%; position:relative; }
.slide img { width:100%; height:100%; object-fit:cover; }
.slider-nav { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; pointer-events:none; padding:0 12px; }
.slider-btn { pointer-events:auto; background:rgba(0,40,60,.65); border:1px solid var(--am-line); width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:14px; font-size:19px; cursor:pointer; backdrop-filter:blur(10px); color:var(--am-accent); transition:.35s; box-shadow:0 6px 26px -12px rgba(0,120,160,.55); }
.slider-btn:hover { background:rgba(0,60,90,.75); transform:translateY(-2px) scale(1.07); color:#fff; }
.slider-dots { position:absolute; left:0; right:0; bottom:12px; display:flex; gap:10px; justify-content:center; }
.slider-dots button { width:11px; height:11px; border-radius:50%; background:rgba(0,70,100,.6); border:1px solid var(--am-accent); cursor:pointer; padding:0; transition:.35s; box-shadow:0 0 0 4px rgba(0,120,160,.25); }
.slider-dots button.active { background:var(--am-accent); transform:scale(1.25); box-shadow:0 0 0 6px rgba(5,198,255,.45); }
.slide-caption { position:absolute; left:0; right:0; bottom:0; padding:16px 20px 20px; background:linear-gradient(180deg,rgba(2,15,25,0) 0%,rgba(2,15,25,.85) 95%); color:#e8fbff; font-weight:600; letter-spacing:.55px; font-size:13px; }
/* Ratings inline variant only */
.ratings.inline { display:flex; gap:20px; flex-wrap:nowrap; margin:14px 0 4px; }
.ratings.inline .rating-card { flex:0 0 auto; min-width:190px; background:linear-gradient(145deg,rgba(255,255,255,0.12),rgba(255,255,255,0.04)); border:1px solid var(--am-line); border-radius:20px; padding:14px 18px 16px; box-shadow:0 14px 40px -18px rgba(0,120,160,.45); position:relative; overflow:hidden; }
/* Force always horizontal */
.ratings.inline { flex-wrap:nowrap !important; }
.ratings.inline .rating-card:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 75% 30%,rgba(25,247,217,.45),transparent 70%); opacity:.4; }
.ratings.inline .rating-card .icon { font-size:18px; margin-bottom:6px; text-shadow:0 0 10px rgba(25,247,217,.5); }
/* Sub-call */
.sub-call { background:linear-gradient(90deg,#063246,#083e56,#06495e); color:var(--am-text); }
.sub-call .call-box.alt { background:linear-gradient(135deg,var(--am-accent),var(--am-accent-alt)); border:none; box-shadow:0 20px 52px -20px rgba(0,120,160,.55); }
/* Form */
.search-box { background:linear-gradient(140deg,#062635,#073243); }
.flight-form { background:linear-gradient(145deg,rgba(255,255,255,0.08),rgba(255,255,255,0.02)); border:1px solid var(--am-line); backdrop-filter:blur(24px); border-radius:46px; padding:50px 56px; box-shadow:var(--am-shadow); grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:28px; }
.flight-form label { font-size:11px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--am-muted); }
.flight-form input, .flight-form select { background:#041b28; color:var(--am-text); border:1px solid #093949; border-radius:18px; font-size:15px; padding:14px 16px; }
.flight-form input[type="date"] { color:var(--am-text); caret-color:var(--am-accent); font-weight:500; }
.flight-form input[type="date"]::-webkit-calendar-picker-indicator { filter:brightness(1.1) saturate(1.2); cursor:pointer; }
.flight-form input[type="date"]::-webkit-calendar-picker-indicator:hover { filter:brightness(1.4); }
.flight-form input:focus, .flight-form select:focus { outline:none; border-color:var(--am-accent); box-shadow:0 0 0 3px rgba(5,198,255,.35); }
.flight-form button { background:linear-gradient(135deg,var(--am-accent),var(--am-accent-alt)); border:none; border-radius:20px; font-size:16px; font-weight:600; letter-spacing:.8px; box-shadow:0 20px 50px -22px rgba(0,120,160,.6); }
.passenger-dropdown { border-radius:26px; }
/* Passenger selector tweaks */
.passenger-selector .passenger-input { background:#052332; border:1px solid #093949; color:var(--am-text); }
.passenger-selector .passenger-input:hover { background:#072c3e; border-color:var(--am-accent); }
.passenger-selector .passenger-input.open { background:#093042; border-color:var(--am-accent); }
.passenger-selector .passenger-dropdown { background:#041b28; border:1px solid #093949; border-top:none; box-shadow:0 24px 70px -24px rgba(0,120,160,.55); }
.passenger-selector .passenger-row { border-bottom:1px solid #093949; }
.passenger-selector .passenger-row:last-of-type { border-bottom:none; }
.passenger-selector .passenger-btn { background:#093042; border:1px solid #0b4052; color:var(--am-accent); }
.passenger-selector .passenger-btn:hover:not(:disabled) { background:#0d4559; border-color:var(--am-accent-alt); }
.passenger-selector .passenger-btn:disabled { opacity:.45; }
.passenger-selector .passenger-count { color:var(--am-accent-alt); }
/* Benefits */
.benefits { background:linear-gradient(180deg,#041a28,#052736,#052f40); gap:78px; padding-top:100px; }
.benefit { background:linear-gradient(150deg,rgba(255,255,255,0.08),rgba(255,255,255,0.02)); border:1px solid var(--am-line); border-radius:40px; padding:42px 40px; backdrop-filter:blur(26px); box-shadow:0 34px 90px -34px rgba(0,120,160,.5); position:relative; overflow:hidden; }
.benefit:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 24%,rgba(25,247,217,.38),transparent 72%); opacity:.45; }
.benefit h3 { color:var(--am-accent); letter-spacing:.6px; }
.benefit .icon { font-size:54px; }
/* Gallery */
.theme-gallery { padding:120px 0 50px; }
.theme-gallery .gallery-wrapper { width:min(1260px,92%); margin:0 auto; }
.theme-gallery .gallery-head h2 { font-size:48px; margin:0 0 12px; background:linear-gradient(90deg,var(--am-accent),var(--am-accent-alt)); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:-1px; }
.theme-gallery .gallery-head p { color:var(--am-muted); font-size:15px; margin:0 0 36px; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.gallery-grid .g-item { position:relative; overflow:hidden; border-radius:28px; background:rgba(255,255,255,.08); border:1px solid var(--am-line); aspect-ratio:4 / 3; box-shadow:0 26px 70px -30px rgba(0,120,160,.55); }
.gallery-grid .g-item.wide { grid-column:span 6; }
.gallery-grid .g-item.tall { grid-column:span 3; aspect-ratio:3 / 4; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; filter:saturate(1.1) contrast(1.06); transition:transform .7s ease; }
.gallery-grid figure:hover img { transform:scale(1.14); }
.gallery-grid figcaption { position:absolute; inset:auto 0 0 0; padding:14px 18px 18px; font-size:13px; letter-spacing:.55px; background:linear-gradient(180deg,rgba(2,15,25,0) 0%,rgba(2,15,25,.85) 95%); color:#e6f7ff; font-weight:600; }
/* Inspiration slider adjustments */
.inspiration-slider-wrapper { position:relative; width:100%; border-radius:34px; }
.inspiration-slider-wrapper .slider { aspect-ratio:16 / 9; border-radius:34px; overflow:hidden; background:rgba(255,255,255,.06); border:1px solid var(--am-line); box-shadow:0 32px 84px -34px rgba(0,120,160,.55); }
.inspiration-slider-wrapper .slider-btn { background:rgba(0,40,60,.65); border:1px solid var(--am-line); color:var(--am-accent); }
.inspiration-slider-wrapper .slider-btn:hover { background:rgba(0,60,90,.75); color:#fff; }
.inspiration-slider-wrapper .slider-dots button { background:rgba(0,70,100,.6); border-color:var(--am-accent); }
.inspiration-slider-wrapper .slider-dots button.active { background:var(--am-accent); }
/* Footer */
footer.site-footer { background:#03151d; color:var(--am-text); position:relative; border-top:3px solid var(--am-accent); }
footer.site-footer:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 24% 18%,rgba(5,198,255,.3),transparent 70%); }
footer.site-footer a { color:var(--am-accent); }
footer.site-footer a:hover { color:#fff; }
/* Responsive */
@media (max-width:1280px){ .hero .overlay { gap:56px 60px; padding:54px 60px 64px; } }
@media (max-width:1120px){ .hero .overlay { gap:50px 52px; } }
@media (max-width:1020px){ .hero .overlay { grid-template-columns:1fr; padding:52px 56px 64px; gap:50px; } .hero-media-inner { max-width:520px; margin:0 auto; } }
@media (max-width:820px){ .hero-content h1 { font-size:clamp(2.2rem,5vw,3.1rem); } .hero .overlay { padding:48px 48px 60px; gap:46px; } }
@media (max-width:680px){ .hero .overlay { padding:46px 42px 56px; gap:42px; } .hero-content h1 { font-size:clamp(2rem,5.6vw,2.8rem); } }
@media (max-width:560px){ .hero .overlay { padding:42px 36px 50px; gap:38px; } .hero-content h1 { font-size:clamp(1.85rem,6.2vw,2.55rem); } .ratings.inline .rating-card { flex:1 1 46%; } }
@media (max-width:480px){ .hero .overlay { padding:38px 30px 46px; gap:34px; } .hero-content h1 { font-size:clamp(1.75rem,7vw,2.35rem); } }
@media (max-width:420px){ .hero .overlay { padding:34px 26px 42px; } .hero-content h1 { font-size:clamp(1.65rem,7.5vw,2.2rem); } .ratings.inline .rating-card { flex:1 1 100%; } }
