/* =========================================================
   Aditya Skyway — public website theme (blue · gold · white)
   ========================================================= */
:root {
    --as-navy: #0a1d56;
    --as-navy-2: #0e2770;
    --as-blue: #1d3fa3;
    --as-blue-light: #e9eefb;
    --as-gold: #d4a73a;
    --as-gold-2: #f0cf75;
    --as-gold-dark: #b0852026;
    --as-text: #1f2a44;
    --as-muted: #6b7591;
    --as-radius: 16px;
    --bs-primary: #1d3fa3;
    --bs-primary-rgb: 29, 63, 163;
    --bs-link-color: #1d3fa3;
    --bs-link-hover-color: #0a1d56;
}

html { scroll-behavior: smooth; }
body {
    font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
    color: var(--as-text);
    background: #fff;
}
h1, h2, h3, h4, h5, .display-font { font-family: 'Montserrat', 'Poppins', sans-serif; font-weight: 700; }
a { text-decoration: none; }
.text-gold { color: var(--as-gold) !important; }
.text-navy { color: var(--as-navy) !important; }
.text-muted-2 { color: var(--as-muted) !important; }
.bg-navy { background: var(--as-navy) !important; }
.bg-soft { background: #f6f8fd !important; }

/* ---------- Buttons ---------- */
.btn { border-radius: 50px; font-weight: 600; padding: .65rem 1.5rem; }
.btn-gold {
    background: linear-gradient(135deg, var(--as-gold-2), var(--as-gold));
    color: var(--as-navy); border: 0;
    box-shadow: 0 8px 20px rgba(212, 167, 58, .35);
}
.btn-gold:hover, .btn-gold:focus { background: linear-gradient(135deg, var(--as-gold), #c0912a); color: #fff; }
.btn-navy { background: var(--as-navy); color: #fff; border: 0; }
.btn-navy:hover { background: var(--as-blue); color: #fff; }
.btn-outline-light-gold { border: 2px solid rgba(255,255,255,.6); color: #fff; }
.btn-outline-light-gold:hover { border-color: var(--as-gold); color: var(--as-gold); }
.btn-whatsapp { background: #25d366; color: #fff; border: 0; }
.btn-whatsapp:hover { background: #1ebe5a; color: #fff; }

/* ---------- Top bar & Navbar ---------- */
.topbar { background: var(--as-navy); color: #cfd6ee; font-size: .85rem; }
.topbar a { color: #cfd6ee; }
.topbar a:hover { color: var(--as-gold-2); }
.site-nav {
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 18px rgba(10, 29, 86, .08);
    transition: padding .25s;
}
.site-nav .navbar-brand img { height: 58px; width: auto; }
.site-nav .nav-link {
    color: var(--as-navy); font-weight: 500; padding: .5rem 1rem !important; position: relative;
}
.site-nav .nav-link::after {
    content: ''; position: absolute; left: 1rem; right: 1rem; bottom: .2rem; height: 2px;
    background: var(--as-gold); transform: scaleX(0); transition: transform .25s;
}
.site-nav .nav-link:hover::after, .site-nav .nav-link.active::after { transform: scaleX(1); }
.site-nav .nav-link.active { color: var(--as-blue); }
.badge-new { font-size: .6rem; vertical-align: top; background: var(--as-gold); color: var(--as-navy); }

/* ---------- Hero ---------- */
.hero {
    position: relative; overflow: hidden; color: #fff;
    background:
        radial-gradient(circle at 85% 20%, rgba(212,167,58,.25), transparent 40%),
        radial-gradient(circle at 10% 90%, rgba(29,63,163,.6), transparent 45%),
        linear-gradient(135deg, var(--as-navy) 0%, var(--as-navy-2) 55%, var(--as-blue) 100%);
    padding: 7rem 0 6rem;
}
.hero::before {
    content: ''; position: absolute; inset: 0; opacity: .08;
    background-image: radial-gradient(#fff 1px, transparent 1px);
    background-size: 26px 26px;
}
.hero .flight-path { position: absolute; right: -40px; top: 40px; width: 55%; opacity: .25; pointer-events: none; }
.hero h1 { font-size: clamp(2.2rem, 4.5vw, 3.6rem); line-height: 1.15; }
.hero .lead { color: #d6ddf5; max-width: 560px; }
.hero-eyebrow {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
    padding: .4rem 1rem; border-radius: 50px; font-size: .85rem; color: var(--as-gold-2);
}
.quick-quote {
    background: #fff; color: var(--as-text); border-radius: 20px; padding: 1.75rem;
    box-shadow: 0 30px 60px rgba(0,0,0,.25); position: relative;
}
.quick-quote::before {
    content: ''; position: absolute; inset: 0 0 auto 0; height: 5px; border-radius: 20px 20px 0 0;
    background: linear-gradient(90deg, var(--as-gold), var(--as-gold-2), var(--as-blue));
}
.form-control, .form-select { border-radius: 10px; padding: .65rem .9rem; border-color: #dbe1f0; }
.form-control:focus, .form-select:focus { border-color: var(--as-gold); box-shadow: 0 0 0 .2rem rgba(212,167,58,.2); }
.form-label { font-weight: 500; font-size: .875rem; color: var(--as-navy); }

/* ---------- Page header (inner pages) ---------- */
.page-hero {
    background: linear-gradient(135deg, var(--as-navy), var(--as-blue));
    color: #fff; padding: 4.5rem 0 3.5rem; position: relative; overflow: hidden;
}
.page-hero::after {
    content: ''; position: absolute; right: -80px; top: -80px; width: 300px; height: 300px;
    border-radius: 50%; border: 40px solid rgba(212,167,58,.15);
}
.page-hero .breadcrumb-item, .page-hero .breadcrumb-item a { color: #cfd6ee; }
.page-hero .breadcrumb-item.active { color: var(--as-gold-2); }
.page-hero .breadcrumb-item + .breadcrumb-item::before { color: #cfd6ee; }

/* ---------- Sections ---------- */
.section { padding: 5rem 0; }
.section-title { text-align: center; max-width: 680px; margin: 0 auto 3rem; }
.section-title .eyebrow {
    color: var(--as-gold); font-weight: 600; letter-spacing: .15em; text-transform: uppercase; font-size: .8rem;
}
.section-title h2 { color: var(--as-navy); margin: .5rem 0 1rem; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.section-title p { color: var(--as-muted); }
.gold-line { width: 70px; height: 3px; background: var(--as-gold); border-radius: 3px; margin: 0 auto; }

/* Feature strip */
.feature-strip { margin-top: -3rem; position: relative; z-index: 2; }
.feature-strip .item {
    background: #fff; border-radius: var(--as-radius); padding: 1.5rem; height: 100%;
    box-shadow: 0 15px 40px rgba(10,29,86,.1); display: flex; gap: 1rem; align-items: flex-start;
}
.icon-circle {
    flex: 0 0 auto; width: 54px; height: 54px; border-radius: 14px; display: grid; place-items: center;
    background: var(--as-blue-light); color: var(--as-blue); font-size: 1.5rem;
}
.icon-circle.gold { background: #fbf3df; color: var(--as-gold); }

/* Cards */
.as-card {
    background: #fff; border: 1px solid #e8ecf6; border-radius: var(--as-radius); padding: 2rem;
    height: 100%; transition: transform .25s, box-shadow .25s, border-color .25s;
}
.as-card:hover { transform: translateY(-6px); box-shadow: 0 20px 45px rgba(10,29,86,.12); border-color: var(--as-gold-2); }
.as-card h5 { color: var(--as-navy); }

/* Pricing cards */
.price-card {
    background: #fff; border: 1px solid #e8ecf6; border-radius: 20px; overflow: hidden; height: 100%;
    display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s;
}
.price-card:hover { transform: translateY(-6px); box-shadow: 0 25px 50px rgba(10,29,86,.14); }
.price-card .head { background: linear-gradient(135deg, var(--as-navy), var(--as-blue)); color: #fff; padding: 1.75rem; position: relative; }
.price-card.featured { border: 2px solid var(--as-gold); }
.price-card.featured .head { background: linear-gradient(135deg, #0a1d56, #1d3fa3 60%, #b88a25); }
.price-card .ribbon {
    position: absolute; top: 1rem; right: 1rem; background: var(--as-gold); color: var(--as-navy);
    font-size: .7rem; font-weight: 700; padding: .25rem .7rem; border-radius: 50px; text-transform: uppercase;
}
.price-card .cat { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--as-gold-2); }
.price-card .amount { font-size: 2rem; font-weight: 800; font-family: 'Montserrat', sans-serif; }
.price-card .amount small { font-size: .85rem; font-weight: 400; color: #cfd6ee; }
.price-card .specs { display: flex; gap: 1.25rem; padding: 1rem 1.75rem; background: #f6f8fd; font-size: .875rem; color: var(--as-navy); }
.price-card .body { padding: 1.5rem 1.75rem; flex: 1; }
.price-card ul { list-style: none; padding: 0; margin: 0; }
.price-card li { padding: .35rem 0; color: var(--as-muted); font-size: .92rem; }
.price-card li i { color: var(--as-gold); margin-right: .5rem; }
.price-card .foot { padding: 0 1.75rem 1.75rem; }

.filter-tabs .btn { border: 1px solid #dbe1f0; color: var(--as-navy); background: #fff; margin: .25rem; }
.filter-tabs .btn.active { background: var(--as-navy); color: #fff; border-color: var(--as-navy); }

/* Offers */
.offer-card { border-radius: var(--as-radius); overflow: hidden; background: #fff; box-shadow: 0 10px 30px rgba(10,29,86,.08); height: 100%; display: flex; flex-direction: column; }
.offer-card .img-wrap { position: relative; overflow: hidden; aspect-ratio: 4/3; background: #eef1f9; cursor: zoom-in; }
.offer-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.offer-card:hover img { transform: scale(1.06); }
.offer-card .validity { position: absolute; left: 1rem; bottom: 1rem; background: rgba(10,29,86,.85); color: var(--as-gold-2); font-size: .78rem; padding: .3rem .8rem; border-radius: 50px; }
.offer-card .body { padding: 1.25rem 1.5rem 1.5rem; flex: 1; display: flex; flex-direction: column; }

/* Steps */
.step { text-align: center; padding: 1rem; }
.step .num {
    width: 72px; height: 72px; margin: 0 auto 1.25rem; border-radius: 50%;
    background: #fff; border: 3px solid var(--as-gold); color: var(--as-navy);
    display: grid; place-items: center; font-size: 1.6rem; font-weight: 800; box-shadow: 0 10px 25px rgba(212,167,58,.25);
}

/* CTA */
.cta-band {
    background: linear-gradient(120deg, var(--as-navy), var(--as-blue));
    border-radius: 24px; color: #fff; padding: 3.5rem; position: relative; overflow: hidden;
}
.cta-band::after { content: ''; position: absolute; right: -60px; bottom: -60px; width: 240px; height: 240px; border-radius: 50%; background: rgba(212,167,58,.2); }

/* FAQ */
.accordion-item { border: 1px solid #e8ecf6; border-radius: 14px !important; margin-bottom: 1rem; overflow: hidden; }
.accordion-button { font-weight: 600; color: var(--as-navy); padding: 1.15rem 1.5rem; }
.accordion-button:not(.collapsed) { background: var(--as-blue-light); color: var(--as-blue); box-shadow: none; }
.accordion-button:focus { box-shadow: none; }

/* Contact */
.contact-info .item { display: flex; gap: 1rem; padding: 1.25rem; border-radius: 14px; background: #fff; border: 1px solid #e8ecf6; margin-bottom: 1rem; }
.contact-info .item a, .contact-info .item p { color: var(--as-text); margin: 0; word-break: break-word; }

/* Footer */
.site-footer { background: #071440; color: #aeb8d8; padding-top: 4rem; }
.site-footer h6 { color: #fff; font-weight: 600; margin-bottom: 1.25rem; letter-spacing: .05em; }
.site-footer a { color: #aeb8d8; }
.site-footer a:hover { color: var(--as-gold-2); }
.site-footer .footer-logo { background: #fff; border-radius: 12px; padding: .5rem 1rem; display: inline-block; }
.site-footer .footer-logo img { height: 56px; }
.site-footer .social a {
    width: 40px; height: 40px; border-radius: 50%; display: inline-grid; place-items: center;
    background: rgba(255,255,255,.08); margin-right: .4rem;
}
.site-footer .social a:hover { background: var(--as-gold); color: var(--as-navy); }
.site-footer .bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 1.25rem 0; margin-top: 3rem; font-size: .85rem; }

/* Floating WhatsApp */
.wa-float {
    position: fixed; right: 22px; bottom: 22px; z-index: 1030; width: 58px; height: 58px; border-radius: 50%;
    background: #25d366; color: #fff; display: grid; place-items: center; font-size: 1.8rem;
    box-shadow: 0 10px 25px rgba(37,211,102,.45);
}
.wa-float:hover { color: #fff; transform: scale(1.07); }

/* Quote modal */
.quote-modal .modal-content { border: 0; border-radius: 20px; overflow: hidden; }
.quote-modal .modal-header { background: linear-gradient(135deg, var(--as-navy), var(--as-blue)); color: #fff; border: 0; padding: 1.25rem 1.75rem; }
.quote-modal .modal-body { padding: 1.75rem; }
.trip-toggle .btn-check + .btn { border: 1px solid #dbe1f0; color: var(--as-navy); background: #fff; padding: .45rem 1.1rem; font-weight: 500; }
.trip-toggle .btn-check:checked + .btn { background: var(--as-navy); color: #fff; border-color: var(--as-navy); }
.success-box { text-align: center; padding: 1.5rem .5rem; }
.success-box .tick { width: 84px; height: 84px; border-radius: 50%; background: #e8f8ee; color: #1f9d55; display: grid; place-items: center; font-size: 2.6rem; margin: 0 auto 1rem; }

/* Form validation messages */
.invalid-feedback { display: block; }

/* Utilities */
.about-visual {
    border-radius: 24px; background: linear-gradient(135deg, var(--as-navy), var(--as-blue));
    min-height: 380px; position: relative; overflow: hidden; display: grid; place-items: center; color: #fff;
}
.about-visual .big-icon { font-size: 8rem; color: var(--as-gold-2); opacity: .9; }
.about-visual .chip { position: absolute; background: #fff; color: var(--as-navy); border-radius: 14px; padding: .75rem 1rem; box-shadow: 0 15px 35px rgba(0,0,0,.2); font-weight: 600; font-size: .9rem; }
.empty-state { text-align: center; padding: 4rem 1rem; color: var(--as-muted); }
.empty-state i { font-size: 3.5rem; color: var(--as-gold); }

@media (max-width: 991.98px) {
    .site-nav .navbar-brand img { height: 46px; }
    .hero { padding: 4rem 0 5rem; }
    .section { padding: 3.5rem 0; }
    .cta-band { padding: 2.25rem; }
    .site-nav .nav-link::after { display: none; }
}
