:root {
    --navy: #062B67;
    --blue: #0B5ED7;
    --sky: #22A7F0;
    --orange: #FF7A00;
    --gold: #FFB800;
    --green: #20A35A;
    --white: #FFFFFF;
    --light: #F5F8FC;
    --dark: #172033;
    --grey: #667085;
    --border: #E7ECF3;
    --shadow: 0 18px 45px rgba(6, 43, 103, 0.12);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Aptos Narrow", "Arial Narrow", Arial, sans-serif;
    color: var(--dark);
    background: var(--white);
    line-height: 1.6;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    width: min(1180px, 92%);
    margin: 0 auto;
}


/* HEADER */

.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
}

.navbar {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-mark {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 20px;
    color: var(--white);
    background: linear-gradient(135deg, var(--blue), var(--orange));
    box-shadow: var(--shadow);
}

.brand h2 {
    color: var(--navy);
    font-size: 18px;
    line-height: 1.1;
}

.brand span {
    color: var(--orange);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
    font-weight: 700;
    font-size: 14px;
}

.nav-links a {
    color: var(--navy);
    transition: 0.25s;
}

.nav-links a:hover {
    color: var(--orange);
}

.nav-button {
    background: var(--orange);
    color: var(--white);
    padding: 13px 22px;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(255,122,0,0.25);
    transition: 0.25s;
}

.nav-button:hover {
    transform: translateY(-2px);
}


/* HERO */

.hero {
    min-height: 680px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 20%, rgba(34,167,240,0.20), transparent 25%),
        radial-gradient(circle at 20% 80%, rgba(255,122,0,0.15), transparent 24%),
        linear-gradient(135deg, #041E46 0%, #063A83 55%, #0A6AC8 100%);
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to right, rgba(0,0,0,0.18), rgba(0,0,0,0.02));
}

.hero-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 70px;
    padding: 80px 0;
}

.hero-text {
    color: var(--white);
}

.hero-label {
    display: inline-block;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
}

.hero-text h1 {
    font-size: clamp(48px, 7vw, 82px);
    line-height: 0.98;
    margin-bottom: 22px;
    letter-spacing: -2px;
}

.hero-text h1 span {
    color: var(--orange);
}

.hero-text p {
    max-width: 650px;
    color: rgba(255,255,255,0.88);
    font-size: 18px;
    margin-bottom: 30px;
}

.hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 30px;
}

.primary-button,
.secondary-button {
    padding: 15px 24px;
    border-radius: 999px;
    font-weight: 800;
    transition: 0.25s;
}

.primary-button {
    background: var(--orange);
    color: var(--white);
    box-shadow: 0 12px 30px rgba(255,122,0,0.3);
}

.secondary-button {
    color: var(--white);
    border: 1px solid rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.08);
}

.primary-button:hover,
.secondary-button:hover {
    transform: translateY(-2px);
}

.hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    color: rgba(255,255,255,0.85);
    font-size: 14px;
}

.hero-features strong {
    color: var(--gold);
    margin-right: 6px;
}

.hero-card {
    display: flex;
    justify-content: center;
}

.destination-card {
    width: min(420px, 100%);
    padding: 36px;
    border-radius: 28px;
    background: rgba(255,255,255,0.96);
    box-shadow: 0 30px 80px rgba(0,0,0,0.25);
    position: relative;
    overflow: hidden;
}

.destination-card::before {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    right: -30px;
    top: -30px;
    background: linear-gradient(135deg, var(--orange), var(--gold));
    opacity: 0.16;
}

.destination-card span {
    color: var(--orange);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 1.4px;
}

.destination-card h3 {
    color: var(--navy);
    margin: 12px 0;
    font-size: 34px;
}

.destination-card p {
    color: var(--grey);
    margin-bottom: 22px;
}

.destination-card a {
    color: var(--blue);
    font-weight: 800;
}


/* SECTION HEADING */

.section-heading {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 48px;
}

.section-heading span {
    color: var(--orange);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
}

.section-heading h2 {
    color: var(--navy);
    font-size: clamp(32px, 4vw, 48px);
    margin: 8px 0 12px;
}

.section-heading p {
    color: var(--grey);
}


/* SERVICES */

.services {
    padding: 90px 0;
    background: var(--light);
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.service-card {
    background: var(--white);
    padding: 30px;
    border-radius: 22px;
    border: 1px solid var(--border);
    box-shadow: 0 10px 30px rgba(6,43,103,0.05);
    transition: 0.25s;
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
}

.service-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(11,94,215,0.12), rgba(255,122,0,0.12));
    font-size: 25px;
    margin-bottom: 18px;
}

.service-card h3 {
    color: var(--navy);
    margin-bottom: 10px;
}

.service-card p {
    color: var(--grey);
    font-size: 15px;
}


/* TOURS */

.tours {
    padding: 95px 0;
}

.tour-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.tour-card {
    background: var(--white);
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    transition: 0.25s;
}

.tour-card:hover {
    transform: translateY(-7px);
}

.tour-image {
    height: 240px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.tour-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4,30,70,0.35), transparent);
}

.dubai {
    background:
        linear-gradient(135deg, rgba(6,43,103,0.35), rgba(255,122,0,0.12)),
        url("https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=1200&q=80");
    background-size: cover;
    background-position: center;
}

.sri-lanka { 
    background-image: url("Sri Lanka.webp");
    background-size: cover;
    background-position: center;
}

.custom-tour {
background-image: url("Custom-Tour.webp");
    background-size: cover;
    background-position: center;
}

.tour-info {
    padding: 25px;
}

.tour-info span {
    color: var(--orange);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.tour-info h3 {
    color: var(--navy);
    font-size: 24px;
    margin: 8px 0 10px;
}

.tour-info p {
    color: var(--grey);
    margin-bottom: 18px;
}

.tour-info a {
    color: var(--blue);
    font-weight: 800;
}


/* BOOKING */

.booking {
    padding: 35px 0 90px;
}

.booking-box {
    background:
        linear-gradient(135deg, var(--navy), #0A5CB8);
    border-radius: 28px;
    padding: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    color: var(--white);
    box-shadow: var(--shadow);
}

.booking-box span {
    color: var(--gold);
    font-weight: 900;
    font-size: 12px;
    letter-spacing: 1.5px;
}

.booking-box h2 {
    font-size: clamp(30px, 4vw, 46px);
    margin: 8px 0 10px;
}

.booking-box p {
    color: rgba(255,255,255,0.82);
}

.booking-button {
    flex-shrink: 0;
    padding: 16px 28px;
    border-radius: 999px;
    background: var(--orange);
    color: var(--white);
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(255,122,0,0.3);
}


/* FOOTER */

.footer {
    background: #031936;
    color: var(--white);
    padding-top: 65px;
}

.footer-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 50px;
    padding-bottom: 45px;
}

.footer h2 {
    margin-bottom: 8px;
}

.footer h3 {
    margin-bottom: 14px;
    color: var(--gold);
}

.footer a,
.footer p {
    display: block;
    color: rgba(255,255,255,0.75);
    margin-bottom: 8px;
}

.copyright {
    border-top: 1px solid rgba(255,255,255,0.1);
    text-align: center;
    padding: 20px;
    color: rgba(255,255,255,0.62);
    font-size: 14px;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .nav-links {
        display: none;
    }

    .hero-content {
        grid-template-columns: 1fr;
    }

    .hero-card {
        justify-content: flex-start;
    }

    .service-grid,
    .tour-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-content {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 650px) {

    .navbar {
        min-height: 72px;
    }

    .brand-mark {
        width: 46px;
        height: 46px;
    }

    .nav-button {
        padding: 10px 16px;
        font-size: 13px;
    }

    .hero {
        min-height: auto;
    }

    .hero-content {
        padding: 65px 0;
    }

    .hero-text h1 {
        font-size: 48px;
    }

    .hero-text p {
        font-size: 16px;
    }

    .service-grid,
    .tour-grid,
    .footer-content {
        grid-template-columns: 1fr;
    }

    .booking-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 34px 26px;
    }
}

.main-logo {
    width: 155px;
    height: 155px;
    object-fit: contain;
    display: block;
}

/* Desktop Navigation */
.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
}

.nav-links a {
    font-weight: 600;
    color: #12366b;
    font-size: 15px;
}

.nav-links a:hover {
    color: #f47b35;
}

/* Dubai Hero Background Image */
.hero {
    background:
        linear-gradient(
            90deg,
            rgba(4, 25, 70, 0.78) 0%,
            rgba(4, 40, 100, 0.50) 45%,
            rgba(0, 0, 0, 0.15) 100%
        ),
        url("Hero.webp");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Improve Hero Readability */
.hero {
    background-position: 68% center;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(2, 18, 48, 0.82) 0%,
            rgba(5, 42, 95, 0.60) 45%,
            rgba(0, 0, 0, 0.18) 100%
        );
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-text {
    max-width: 720px;
}

/* Premium Header Size */
.header {
    background: rgba(255, 255, 255, 0.97);
}

.navbar {
    min-height: 105px;
}

.main-logo {
    width: 105px;
    height: 105px;
    object-fit: contain;
}

.nav-links {
    gap: 34px;
}

.nav-links a {
    font-size: 15px;
    font-weight: 700;
}

.nav-button {
    padding: 14px 25px;
}

/* Clean separation after Hero */
.hero {
    min-height: 600px;
    padding-bottom: 60px;
}

.hero + section {
    position: relative;
    margin-top: 0;
    z-index: 1;
}

/* Remove destination card from hero */
.hero-card {
    display: none;
}

.hero-content {
    grid-template-columns: 1fr;
}

.hero-text {
    max-width: 760px;
}

/* =========================
   BOOKING FORM
========================= */

.booking-form-section {
    padding: 90px 20px;
    background: #f5f9ff;
}

.booking-form-wrapper {
    max-width: 950px;
    margin: 0 auto;
    background: #ffffff;
    padding: 50px;
    border-radius: 24px;
    box-shadow: 0 15px 50px rgba(6, 43, 103, 0.12);
}

.booking-form-heading {
    text-align: center;
    margin-bottom: 40px;
}

.booking-form-heading span {
    color: #ff7a00;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

.booking-form-heading h2 {
    color: #062b67;
    font-size: 36px;
    margin: 10px 0;
}

.booking-form-heading p {
    color: #667085;
    max-width: 600px;
    margin: 0 auto;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    color: #062b67;
    font-weight: 700;
    margin-bottom: 8px;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 15px 16px;
    border: 1px solid #d7e0ec;
    border-radius: 10px;
    font-family: inherit;
    font-size: 15px;
    outline: none;
    background: #ffffff;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #ff7a00;
    box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.10);
}

.form-group textarea {
    resize: vertical;
}

.form-submit-button {
    width: 100%;
    padding: 16px;
    border: none;
    border-radius: 12px;
    background: #ff7a00;
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    transition: 0.3s;
}

.form-submit-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255, 122, 0, 0.25);
}

@media (max-width: 700px) {
    .booking-form-wrapper {
        padding: 30px 20px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .booking-form-heading h2 {
        font-size: 28px;
    }
}

/* ===== PREMIUM HEADER ===== */

.header {
    background: #ffffff;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Top Bar */
.top-bar {
    background: #071b33;
    color: #ffffff;
    font-size: 13px;
    padding: 8px 0;
}

.top-bar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-contact {
    color: #f5a623;
}

/* Main Navigation */
.navbar {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

/* Logo */
.brand {
    display: flex;
    align-items: center;
}

.main-logo {
    width: 105px;
    height: auto;
    display: block;
}

/* Navigation Links */
.nav-links {
    display: flex;
    align-items: center;
    gap: 30px;
}

.nav-links a {
    color: #152238;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    transition: 0.3s ease;
}

.nav-links a:hover {
    color: #e65c2f;
}

/* Right Side */
.nav-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* Language Selector */
.language-selector {
    border: 1px solid #d8dde5;
    background: #ffffff;
    color: #152238;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    outline: none;
}

/* Book Now Button */
.nav-button {
    background: linear-gradient(135deg, #e75b34, #c9362d);
    color: #ffffff;
    text-decoration: none;
    padding: 13px 23px;
    border-radius: 30px;
    font-weight: 700;
    box-shadow: 0 6px 15px rgba(211, 63, 47, 0.25);
    transition: 0.3s ease;
}

.nav-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 20px rgba(211, 63, 47, 0.35);
}

/* DUBAI FAMILY TOUR CALCULATOR */

.family-tour-calculator {
    padding: 70px 0;
    background: #f7fbff;
}

.family-calculator-box {
    max-width: 900px;
    margin: 35px auto 0;
    padding: 35px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
}

.family-calculator-intro {
    margin-bottom: 25px;
}

.traveller-row {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.traveller-row label {
    min-width: 150px;
    font-weight: 600;
}

.traveller-age {
    flex: 1;
    padding: 12px 14px;
    border: 1px solid #d7dce5;
    border-radius: 10px;
    font-size: 16px;
}

.family-calculator-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 25px;
}

.family-calculator-actions button {
    cursor: pointer;
}

#add-traveller {
    display: inline-block;
    padding: 12px 24px;
}

#calculate-family-price {
    display: inline-block;
    padding: 12px 28px;
}

.remove-traveller {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 22px;
}

.family-price-result {
    margin-top: 30px;
    padding: 25px;
    text-align: center;
    border-radius: 16px;
    background: #eef8ff;
}

.family-price-result h3 {
    font-size: 34px;
    margin: 10px 0;
}

.flight-note {
    margin: 15px 0 20px;
}

.family-price-error {
    margin-top: 20px;
    padding: 12px 15px;
    border-radius: 10px;
    background: #fff2f2;
}

/* ===== FAMILY TOUR CALCULATOR FINAL FIX ===== */

.family-tour-calculator {
    padding: 70px 0;
    background: #f4f8fc;
}

.family-calculator-box {
    max-width: 900px;
    margin: 35px auto 0;
    padding: 35px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
}

.family-calculator-intro {
    margin-bottom: 25px;
}

.family-calculator-intro h3 {
    margin-bottom: 8px;
}

.traveller-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px;
}

.traveller-row label {
    min-width: 150px;
    font-weight: 600;
}

.traveller-age {
    flex: 1;
    padding: 14px 16px;
    border: 1px solid #d7dce5;
    border-radius: 12px;
    font-size: 16px;
}

.family-calculator-actions {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-top: 25px;
}

#add-traveller.family-add-button {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 13px 25px;
    background: #0b1f4d !important;
    color: #ffffff !important;
    border: 2px solid #0b1f4d !important;
    border-radius: 999px;
    font-weight: 700;
    cursor: pointer;
}

#calculate-family-price.family-calculate-button {
    display: inline-block !important;
    padding: 13px 28px;
    background: #f5a623;
    color: #ffffff;
    border: none;
    border-radius: 999px;
    font-weight: 700;
    cursor: pointer;
}

.remove-traveller {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
}

.family-price-result {
    margin-top: 30px;
    padding: 28px;
    text-align: center;
    border-radius: 16px;
    background: #eef8ff;
}

.family-price-result h3 {
    font-size: 34px;
    margin: 10px 0;
}

.flight-note {
    margin: 15px 0 20px;
}

.family-price-error {
    margin-top: 20px;
    padding: 14px;
    border-radius: 10px;
    background: #fff2f2;
}

/* FINAL FIX - ADD TRAVELLER BUTTON */
#add-traveller {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #0b1f4d !important;
    color: #ffffff !important;
    padding: 14px 28px !important;
    border: 0 !important;
    border-radius: 30px !important;
    position: relative !important;
    z-index: 9999 !important;
}

/* SINGLE PAGE NAVIGATION */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
/* SINGLE PAGE ABOUT */
.about-home { padding: 90px 0; background: #f7f9fc; }
.about-home-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:38px; }
.about-home-card { background:#fff; padding:30px; border-radius:18px; box-shadow:0 12px 35px rgba(7,26,61,.08); }
.about-home-card h3 { margin:0 0 12px; color:var(--navy); }
.about-home-card p { margin:0; line-height:1.7; }
@media (max-width:800px){ .about-home-grid{grid-template-columns:1fr;} }

/* Home page package cards */
.home-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px}.home-package-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(16,36,70,.12);border:1px solid #edf0f5}.home-package-card .tour-image{height:220px}.home-package-body{padding:25px}.home-badge{display:inline-block;background:#fff1d8;color:#a75d00;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.4px}.home-package-body h3{font-size:24px;margin:13px 0 5px;color:#17213c}.home-duration{font-weight:700;color:#667085;margin:0 0 13px}.home-price{font-size:34px;line-height:1;font-weight:900;color:#0d54c7;margin:12px 0 6px}.home-package-body small{font-weight:700;color:#667085}.home-package-body ul{padding-left:20px;margin:17px 0}.home-package-body li{margin:8px 0;line-height:1.45}.home-book-btn{display:inline-block;margin-top:10px;background:#b41f3b;color:#fff!important;padding:12px 18px;border-radius:10px;font-weight:800;text-decoration:none}.home-exclusion{background:#fff3f3;border-left:4px solid #c62828;padding:11px}.home-included{background:#eefbf1;border-left:4px solid #16853d;padding:11px;color:#11662f}.tailor-home{text-align:center;background:#f7f9fc;border-radius:18px;padding:28px;margin-top:30px}@media(max-width:800px){.home-package-grid{grid-template-columns:1fr}.home-package-card .tour-image{height:190px}.home-package-body h3{font-size:21px}.home-price{font-size:30px}}

/* UAE Tourist Visa card */
.visa-card-image{width:100%;height:260px;object-fit:cover;object-position:top;display:block}
.visa-price-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.visa-price-row>div{background:#f5f8ff;border:1px solid #dbe5ff;border-radius:14px;padding:14px;text-align:center}
.visa-price-row span{display:block;font-weight:800;color:#17213c;margin-bottom:5px}
.visa-price-row strong{display:block;font-size:24px;color:#0d54c7}
@media(max-width:520px){.visa-card-image{height:220px}.visa-price-row{grid-template-columns:1fr}.visa-price-row strong{font-size:22px}}


/* ===== FINAL CONSOLIDATED DESIGN OVERRIDES ===== */
html, body, button, input, select, textarea, a, p, span, h1, h2, h3, h4, li, label { font-family: "Aptos Narrow", "Arial Narrow", Arial, sans-serif !important; }
body {
  background:
    linear-gradient(rgba(242,248,255,.94), rgba(255,248,238,.94)),
    url('header-travel-hq.webp') center top / cover fixed;
}
.header { background: rgba(255,255,255,.91); }
.navbar {
  min-height: 112px;
  background: linear-gradient(rgba(255,255,255,.90),rgba(255,255,255,.93)), url('header-travel-hq.webp') center 42%/cover;
  border-radius: 0 0 22px 22px;
}
.main-logo { width: 104px !important; height: 104px !important; object-fit: contain; filter: drop-shadow(0 6px 12px rgba(6,43,103,.18)); }
.nav-button { background: #16a34a !important; box-shadow: 0 10px 25px rgba(22,163,74,.25) !important; }
.nav-button:hover { background: #12823d !important; }
.top-bar { background: linear-gradient(90deg,#06162f,#0b326b) !important; }
.hero { background: linear-gradient(90deg,rgba(2,24,57,.76),rgba(4,50,108,.47)), url('dubai-hq.webp') center/cover !important; }
.services, .tours, .about-home, .booking-form-section, .family-tour-calculator { background: rgba(244,249,255,.82) !important; }
.premium-section { padding: 86px 0; scroll-margin-top: 132px; }
.promotions-section { background: linear-gradient(rgba(247,251,255,.89),rgba(233,246,255,.90)), url('dubai-hq.webp') center/cover fixed; }
.visa-section { background: linear-gradient(rgba(255,250,239,.92),rgba(235,247,255,.91)), url('header-travel-hq.webp') center/cover; }
.premium-grid, .promo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.premium-card, .promo-card, .detail-panel { border-radius:22px; overflow:hidden; background:rgba(255,255,255,.94); box-shadow:0 18px 50px rgba(10,50,100,.14); border:1px solid rgba(255,255,255,.78); }
.card-photo { width:100%; height:250px; object-fit:cover; }
.premium-card .tour-info { padding:24px; }
.card-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.details-btn, .whatsapp-btn { display:inline-flex; align-items:center; justify-content:center; padding:11px 17px; border-radius:999px; font-weight:800; }
.details-btn { background:#eaf3ff; color:#0757ad; }
.whatsapp-btn { background:#19a954; color:#fff !important; box-shadow:0 8px 20px rgba(25,169,84,.24); }
.whatsapp-btn:hover { background:#12813f; transform:translateY(-1px); }
.whatsapp-btn.large { font-size:18px; padding:14px 24px; }
.inline-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:30px; }
.detail-panel { padding:26px; background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(233,245,255,.95)); scroll-margin-top:130px; }
.detail-panel h3 { color:#062b67; font-size:28px; margin-bottom:10px; }
.detail-panel p { margin-bottom:18px; }
.promo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.promo-card { display:grid; grid-template-columns:44% 56%; min-height:440px; }
.promo-card > img { width:100%; height:100%; object-fit:cover; object-position:top; }
.promo-content { padding:26px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.promo-content h3 { font-size:27px; color:#062b67; line-height:1.15; }
.promo-badge { display:inline-block; background:#0b5ed7; color:#fff; padding:7px 12px; border-radius:999px; font-weight:800; font-size:13px; }
.price { font-size:38px; font-weight:900; color:#0a3d82; line-height:1; }
.all-inclusive { color:#118447; font-weight:900; text-transform:uppercase; }
.not-included { color:#a02b2b; font-weight:700; }
.artist-card .artist-image { min-height:440px; background:linear-gradient(rgba(3,29,67,.28),rgba(3,29,67,.28)), url('dubai-hq.webp') center/cover; position:relative; }
.artist-card .artist-image::after { content:'15 SEP 2026'; position:absolute; left:18px; bottom:18px; background:#ffb800; color:#062b67; padding:10px 14px; border-radius:12px; font-weight:900; font-size:22px; }
.visa-layout { display:grid; grid-template-columns:1fr .85fr; gap:48px; align-items:center; }
.visa-copy h2 { font-size:48px; color:#062b67; margin:12px 0; }
.visa-copy > p { font-size:20px; margin-bottom:24px; }
.visa-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0; }
.visa-price { background:rgba(255,255,255,.94); padding:22px; border-radius:18px; box-shadow:0 12px 28px rgba(6,43,103,.12); }
.visa-price strong { display:block; color:#c31f27; font-size:30px; }
.visa-price span { font-weight:700; color:#17395f; }
.visa-list { margin:18px 0 26px 20px; }
.visa-poster-wrap { border-radius:24px; overflow:hidden; box-shadow:0 22px 55px rgba(6,43,103,.18); max-height:650px; }
.visa-poster-wrap img { width:100%; height:650px; object-fit:cover; object-position:top; }
.contact-strip { background:linear-gradient(90deg,#0b5ed7,#063a83); color:white; padding:18px 0; }
.contact-strip-inner { display:flex; justify-content:center; flex-wrap:wrap; gap:14px 30px; font-weight:800; font-size:17px; }
.footer a { display:block; margin:7px 0; color:inherit; }
.footer a:hover { color:#ffb800; }
.service-card { background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(231,244,255,.92)) !important; }
.about-home { background:linear-gradient(rgba(244,250,255,.90),rgba(255,248,238,.90)), url('srilanka-hq.webp') center/cover fixed !important; }
.booking { background:linear-gradient(rgba(6,43,103,.87),rgba(6,58,131,.86)),url('dubai-hq.webp') center/cover !important; }
@media(max-width:980px){
  .premium-grid{grid-template-columns:1fr 1fr}.promo-card{grid-template-columns:1fr}.promo-card>img,.artist-card .artist-image{height:380px;min-height:380px}.visa-layout{grid-template-columns:1fr}.nav-links{gap:14px;flex-wrap:wrap;justify-content:center}.navbar{min-height:auto;padding:10px 0}.main-logo{width:88px!important;height:88px!important}
}
@media(max-width:680px){
  .premium-grid,.promo-grid,.inline-detail-grid,.visa-price-grid{grid-template-columns:1fr}.promo-card{display:block}.promo-card>img,.artist-card .artist-image{height:330px}.visa-poster-wrap img{height:auto}.visa-poster-wrap{max-height:none}.visa-copy h2{font-size:38px}.main-logo{width:78px!important;height:78px!important}.nav-links{font-size:12px;gap:10px}.nav-actions{flex-wrap:wrap}.contact-strip-inner{flex-direction:column;align-items:center}
}
