: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("home-dubai-srilanka.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,.66),rgba(4,50,108,.20)), url('home-dubai-srilanka-v2.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}
}


/* =====================================================
   CHANGE 01 - PROMOTION CARDS
   Scenic photos + Included / Excluded lists
   Font: Aptos Narrow only
   ===================================================== */
html, body, body *, button, input, select, textarea {
    font-family: "Aptos Narrow" !important;
}

.promotions-section .promo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.promotions-section .promo-card-v2 {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(6, 43, 103, .08);
    box-shadow: 0 18px 45px rgba(6, 43, 103, .12);
}

.promotions-section .promo-card-v2:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 55px rgba(6, 43, 103, .18);
}

.promotions-section .promo-photo-wrap {
    position: relative;
    height: 285px;
    overflow: hidden;
    background: #062b67;
}

.promotions-section .promo-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .45s ease;
}

.promotions-section .promo-card-v2:hover .promo-photo-wrap img {
    transform: scale(1.04);
}

.promotions-section .promo-photo-label {
    position: absolute;
    left: 18px;
    bottom: 18px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(5, 31, 73, .90);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    backdrop-filter: blur(6px);
}

.promotions-section .promo-content {
    padding: 26px 28px 30px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    flex: 1;
}

.promotions-section .promo-content h3 {
    margin: 2px 0 0;
    color: #062b67;
    font-size: 29px;
    line-height: 1.08;
}

.promotions-section .promo-content .price {
    color: #0b5ed7;
    font-size: 34px;
    font-weight: 800;
    margin: 2px 0 6px;
}

.promotions-section .promo-date-note {
    margin: -2px 0 4px;
    color: #5b6880;
    font-size: 15px;
    font-weight: 600;
}

.promotions-section .promo-list-block {
    border-radius: 16px;
    padding: 17px 18px;
    margin-top: 3px;
}

.promotions-section .included-block {
    background: #f1fbf5;
    border: 1px solid #d5f1df;
}

.promotions-section .excluded-block {
    background: #fff7f4;
    border: 1px solid #f6ded5;
}

.promotions-section .promo-list-block h4 {
    margin: 0 0 10px;
    font-size: 18px;
    color: #071a3d;
}

.promotions-section .included-block h4 {
    color: #147a43;
}

.promotions-section .excluded-block h4 {
    color: #b64b2c;
}

.promotions-section .promo-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.promotions-section .promo-list li {
    position: relative;
    padding: 5px 0 5px 27px;
    color: #39445d;
    font-size: 15px;
    line-height: 1.35;
}

.promotions-section .included-list li::before,
.promotions-section .excluded-list li::before {
    position: absolute;
    left: 0;
    top: 5px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.promotions-section .included-list li::before {
    content: "✓";
    color: #ffffff;
    background: #22a65b;
}

.promotions-section .excluded-list li::before {
    content: "×";
    color: #ffffff;
    background: #d96b4b;
}

.promotions-section .promo-card-v2 .whatsapp-btn {
    margin-top: auto;
    align-self: flex-start;
}

@media (max-width: 900px) {
    .promotions-section .promo-grid {
        grid-template-columns: 1fr;
    }

    .promotions-section .promo-photo-wrap {
        height: 260px;
    }
}

@media (max-width: 560px) {
    .promotions-section .promo-photo-wrap {
        height: 220px;
    }

    .promotions-section .promo-content {
        padding: 22px 20px 24px;
    }

    .promotions-section .promo-content h3 {
        font-size: 25px;
    }

    .promotions-section .promo-content .price {
        font-size: 30px;
    }
}


/* =====================================================
   CHANGE 02 - UAE TOURIST VISA
   Scenic photo + Included / Excluded lists
   ===================================================== */
.visa-section-v2 .section-heading{margin-bottom:28px}
.visa-card-v2{display:grid;grid-template-columns:.95fr 1.05fr;background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(6,43,103,.08);box-shadow:0 20px 50px rgba(6,43,103,.13)}
.visa-photo-wrap{position:relative;min-height:720px;overflow:hidden;background:#062b67}
.visa-photo-wrap img{width:100%;height:100%;min-height:720px;object-fit:cover;object-position:center;display:block;transition:transform .45s ease}
.visa-card-v2:hover .visa-photo-wrap img{transform:scale(1.035)}
.visa-photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,31,73,.62),rgba(5,31,73,.04) 58%)}
.visa-photo-label{position:absolute;left:20px;bottom:20px;z-index:2;padding:9px 15px;border-radius:999px;background:rgba(5,31,73,.9);color:#fff;font-size:15px;font-weight:700;backdrop-filter:blur(6px)}
.visa-content-v2{padding:30px 32px 32px;display:flex;flex-direction:column;gap:12px}
.visa-price-grid-v2{margin:0 0 4px}
.visa-section-v2 .promo-list-block{border-radius:16px;padding:17px 18px;margin-top:3px}
.visa-section-v2 .included-block{background:#f1fbf5;border:1px solid #d5f1df}
.visa-section-v2 .excluded-block{background:#fff7f4;border:1px solid #f6ded5}
.visa-section-v2 .promo-list-block h4{margin:0 0 10px;font-size:18px;color:#071a3d}
.visa-section-v2 .included-block h4{color:#147a43}.visa-section-v2 .excluded-block h4{color:#b13a25}
.visa-section-v2 .promo-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.visa-section-v2 .promo-list li{position:relative;padding-left:25px;line-height:1.42;color:#33415c}
.visa-section-v2 .included-list li:before{content:"✓";position:absolute;left:0;color:#159150;font-weight:800}
.visa-section-v2 .excluded-list li:before{content:"×";position:absolute;left:2px;color:#cf4b31;font-weight:900}
.visa-note-v2{font-size:13px;color:#6e778a;font-style:italic;margin:2px 0 4px}
@media(max-width:900px){.visa-card-v2{grid-template-columns:1fr}.visa-photo-wrap,.visa-photo-wrap img{min-height:360px;height:360px}.visa-content-v2{padding:26px}}
@media(max-width:560px){.visa-photo-wrap,.visa-photo-wrap img{min-height:290px;height:290px}.visa-content-v2{padding:22px 18px}.visa-price-grid-v2{grid-template-columns:1fr}}


/* ===== SRI LANKA PACKAGES 01-06 (isolated styles) ===== */
.sl-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}
.sl-package-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 16px 42px rgba(7,43,103,.12);border:1px solid rgba(7,43,103,.08);font-family:"Aptos Narrow","Arial Narrow",Arial,sans-serif!important}
.sl-package-image-link{position:relative;display:block;overflow:hidden;background:#061f45}
.sl-package-image-link img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .3s ease}
.sl-package-image-link:hover img{transform:scale(1.025)}
.sl-touch-overlay{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(4,28,65,.91);color:#fff;padding:12px 16px;border-radius:12px;text-align:center;font-weight:800;font-size:17px;letter-spacing:.15px;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.sl-package-card-body{padding:24px}.sl-package-badge{display:inline-block;background:#eaf3ff;color:#0b58c7;border-radius:999px;padding:7px 12px;font-weight:900;font-size:12px;letter-spacing:.5px}.sl-package-card h3{font-size:27px;color:#0b2f66;margin:12px 0 5px}.sl-package-duration{font-weight:800;color:#5e6b7d;margin:0 0 13px}.sl-package-price{font-size:34px;font-weight:900;color:#0d54c7;line-height:1}.sl-package-price small{font-size:15px;color:#657286;font-weight:800}.sl-package-min{font-weight:800;color:#1e293b;margin:8px 0 0}.sl-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.sl-packages-page,.sl-detail-page{font-family:"Aptos Narrow","Arial Narrow",Arial,sans-serif!important}
.sl-detail-hero{padding:44px 0 28px;background:linear-gradient(180deg,#eef7ff,#fff)}.sl-detail-hero .container{max-width:1150px}.sl-back{display:inline-block;margin-bottom:18px;font-weight:800;text-decoration:none;color:#0d54c7}.sl-detail-hero img{width:100%;max-height:560px;object-fit:cover;border-radius:24px;box-shadow:0 18px 48px rgba(7,43,103,.16)}.sl-detail-summary{background:#fff;margin:-34px 28px 0;position:relative;border-radius:22px;padding:28px;box-shadow:0 14px 40px rgba(7,43,103,.13)}.sl-detail-summary h1{font-size:42px;color:#082d64;margin:12px 0 4px}.sl-detail-duration{font-size:22px;font-weight:800;color:#5b687c;margin:0}.sl-detail-price{font-size:38px;font-weight:900;color:#0d54c7;margin:12px 0}.sl-detail-price small{font-size:16px;color:#64748b}.sl-detail-summary p{line-height:1.65}.sl-itinerary-section{padding:30px 0 70px;background:#f7faff}.sl-day-list{display:grid;gap:20px}.sl-day-card{background:#fff;border-radius:18px;padding:25px 28px;border:1px solid #e7eef7;box-shadow:0 8px 24px rgba(7,43,103,.06)}.sl-day-card h2{margin:0 0 8px;color:#0a3d7d;font-size:26px}.sl-day-card h3{margin:17px 0 8px;color:#1f7a3f}.sl-day-card p,.sl-day-card li{line-height:1.65}.sl-day-card ul{margin:8px 0 14px;padding-left:23px}.sl-day-card li{margin:6px 0}.sl-overnight{display:inline-block;background:#eef6ff;color:#154b8f;border-radius:9px;padding:7px 10px;font-weight:800;margin-bottom:10px}.sl-include-exclude{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.sl-included,.sl-excluded{background:#fff;border-radius:18px;padding:26px;border:1px solid #e7eef7}.sl-included{border-top:5px solid #169447}.sl-excluded{border-top:5px solid #cf3348}.sl-included h2{color:#14823e}.sl-excluded h2{color:#b5273e}.sl-included ul,.sl-excluded ul{padding-left:23px}.sl-included li,.sl-excluded li{margin:9px 0;line-height:1.55}.sl-detail-footer-note{text-align:center;background:#082d64;color:#fff;margin-top:25px;padding:22px;border-radius:16px;line-height:1.7}.sl-final-wa{text-align:center;margin-top:24px}
@media(max-width:800px){.sl-package-grid{grid-template-columns:1fr}.sl-package-image-link img{height:230px}.sl-detail-summary{margin:-18px 12px 0;padding:21px}.sl-detail-summary h1{font-size:32px}.sl-include-exclude{grid-template-columns:1fr}.sl-day-card{padding:21px}.sl-touch-overlay{font-size:15px}}


/* ===== DB CEYLON HOLIDAYS FINAL FOOTER ===== */
.db-final-footer{
    background:#071a33;
    color:#dce6f2;
    padding:52px 0 20px;
    margin-top:50px;
    font-family:'Aptos Narrow','Arial Narrow',Arial,sans-serif;
}
.db-final-footer *{box-sizing:border-box;}
.db-final-footer .db-footer-grid{
    display:grid;
    grid-template-columns:1.35fr .75fr .9fr 1.35fr;
    gap:38px;
    align-items:start;
}
.db-final-footer h3{
    margin:0 0 16px;
    color:#f0b24c;
    font-size:20px;
    font-weight:700;
}
.db-final-footer .db-footer-brand{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
}
.db-final-footer .db-footer-brand img{
    width:64px;
    height:64px;
    object-fit:contain;
    border-radius:8px;
    background:#fff;
}
.db-final-footer .db-footer-brand strong{
    display:block;
    color:#fff;
    font-size:22px;
    letter-spacing:.3px;
}
.db-final-footer .db-footer-tagline{
    color:#f0b24c;
    font-size:12px;
    letter-spacing:1.4px;
    font-weight:700;
    margin-top:4px;
}
.db-final-footer p{margin:0;line-height:1.7;color:#c9d5e4;}
.db-final-footer .db-footer-links{
    list-style:none;
    padding:0;
    margin:0;
}
.db-final-footer .db-footer-links li{margin:9px 0;}
.db-final-footer .db-footer-links a{
    color:#dce6f2;
    text-decoration:none;
    transition:.2s ease;
}
.db-final-footer .db-footer-links a:hover{color:#f0b24c;}
.db-final-footer .db-service-item{margin:9px 0;color:#dce6f2;}
.db-final-footer .db-service-item::before{content:'›';color:#f0b24c;font-weight:800;margin-right:9px;}
.db-final-footer .db-contact-line{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin:10px 0;
    color:#dce6f2;
    line-height:1.5;
}
.db-final-footer .db-contact-line span:first-child{min-width:20px;text-align:center;}
.db-final-footer .db-contact-line a{color:#dce6f2;text-decoration:none;word-break:break-word;}
.db-final-footer .db-contact-line a:hover{color:#f0b24c;}
.db-final-footer .db-email-list{margin-top:10px;}
.db-final-footer .db-wa-mini{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    background:#25D366;
    color:#fff !important;
    padding:10px 16px;
    border-radius:24px;
    text-decoration:none;
    font-weight:700;
}
.db-final-footer .db-footer-bottom{
    border-top:1px solid rgba(255,255,255,.13);
    margin-top:34px;
    padding-top:18px;
    text-align:center;
    color:#9fb0c5;
    font-size:14px;
}
@media(max-width:900px){
    .db-final-footer .db-footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
}
@media(max-width:600px){
    .db-final-footer{padding:38px 0 18px;}
    .db-final-footer .db-footer-grid{grid-template-columns:1fr;gap:26px;}
    .db-final-footer .db-footer-brand img{width:58px;height:58px;}
}

/* Full-site language engine: hide Google Translate's own UI only */
#google_translate_element,
.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-te-gadget,
.goog-te-menu-value { display:none !important; }
body { top:0 !important; }
.skiptranslate iframe { display:none !important; }

/* Home hero brightness adjustment only */
#home.hero {
    background:
        linear-gradient(90deg, rgba(0, 18, 42, 0.30), rgba(0, 35, 70, 0.05)),
        url('home-dubai-srilanka-v2.webp') center/cover no-repeat !important;
}

/* =========================================================
   MOBILE RESPONSIVE LAYER — MOBILE/TABLET ONLY
   Desktop design and content remain unchanged.
   ========================================================= */

.mobile-menu-toggle{
    display:none;
    appearance:none;
    -webkit-appearance:none;
    border:0;
    background:transparent;
    padding:9px;
    margin:0;
    cursor:pointer;
    border-radius:10px;
}
.mobile-menu-toggle span{
    display:block;
    width:25px;
    height:2px;
    margin:5px 0;
    background:#0b2d5c;
    border-radius:4px;
    transition:transform .25s ease, opacity .25s ease;
}

@media (max-width: 820px){

    html,body{
        width:100%;
        max-width:100%;
        overflow-x:hidden!important;
    }

    body{
        -webkit-text-size-adjust:100%;
    }

    img,video,iframe,svg{
        max-width:100%;
    }

    .container{
        width:min(100% - 30px, 1180px)!important;
        max-width:100%!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    /* Header / mobile navigation */
    .top-bar{
        min-height:auto!important;
    }
    .top-bar-content{
        padding:7px 0!important;
        gap:8px!important;
        font-size:11px!important;
        line-height:1.3!important;
    }
    .top-contact{
        white-space:nowrap;
    }

    .header{
        position:relative!important;
    }

    .navbar{
        display:grid!important;
        grid-template-columns:auto 1fr auto!important;
        grid-template-areas:
            "brand spacer toggle"
            "actions actions actions"
            "nav nav nav"!important;
        align-items:center!important;
        gap:8px 12px!important;
        min-height:auto!important;
        padding:8px 0 10px!important;
        position:relative!important;
    }

    .navbar .brand,
    .navbar .logo-area{
        grid-area:brand!important;
        justify-self:start!important;
        width:auto!important;
        height:auto!important;
        max-width:none!important;
    }

    .main-logo,
    .navbar .brand img,
    .navbar .logo-area img{
        width:66px!important;
        height:66px!important;
        max-width:66px!important;
        max-height:66px!important;
        object-fit:contain!important;
        display:block!important;
    }

    .mobile-menu-toggle{
        display:block!important;
        grid-area:toggle!important;
        justify-self:end!important;
        z-index:1002!important;
    }

    .navbar.mobile-menu-open .mobile-menu-toggle span:nth-child(1){
        transform:translateY(7px) rotate(45deg);
    }
    .navbar.mobile-menu-open .mobile-menu-toggle span:nth-child(2){
        opacity:0;
    }
    .navbar.mobile-menu-open .mobile-menu-toggle span:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
    }

    .nav-actions{
        grid-area:actions!important;
        display:flex!important;
        flex-wrap:nowrap!important;
        justify-content:flex-end!important;
        align-items:center!important;
        gap:8px!important;
        width:100%!important;
    }

    .language-selector,
    select.language{
        max-width:150px!important;
        min-width:0!important;
        width:auto!important;
        height:40px!important;
        padding:0 28px 0 10px!important;
        font-size:12px!important;
    }

    .nav-button{
        min-height:40px!important;
        padding:10px 14px!important;
        font-size:12px!important;
        white-space:nowrap!important;
    }

    .nav-links{
        grid-area:nav!important;
        display:none!important;
        width:100%!important;
        flex-direction:column!important;
        align-items:stretch!important;
        justify-content:flex-start!important;
        gap:0!important;
        margin:2px 0 0!important;
        padding:8px!important;
        background:#fff!important;
        border:1px solid rgba(14,45,86,.10)!important;
        border-radius:14px!important;
        box-shadow:0 16px 34px rgba(9,40,82,.14)!important;
        font-size:14px!important;
        z-index:1000!important;
    }

    .navbar.mobile-menu-open .nav-links{
        display:flex!important;
    }

    .nav-links a{
        display:block!important;
        width:100%!important;
        padding:12px 13px!important;
        margin:0!important;
        border-radius:9px!important;
        font-size:14px!important;
        line-height:1.25!important;
    }

    .nav-links a:hover{
        background:#f1f7ff!important;
    }

    /* Hero */
    .hero{
        min-height:620px!important;
        height:auto!important;
        padding:52px 0 46px!important;
        background-position:58% center!important;
        background-attachment:scroll!important;
    }

    #home.hero{
        background:
            linear-gradient(90deg,rgba(0,18,42,.42),rgba(0,35,70,.10)),
            url('home-dubai-srilanka-v2.webp') 58% center/cover no-repeat!important;
    }

    .hero-content{
        display:block!important;
        min-height:0!important;
    }

    .hero-text{
        width:100%!important;
        max-width:620px!important;
        margin:0!important;
        padding:0!important;
    }

    .hero-label{
        font-size:12px!important;
        padding:9px 14px!important;
    }

    .hero-text h1{
        font-size:clamp(42px,12vw,62px)!important;
        line-height:.98!important;
        margin:20px 0 18px!important;
        overflow-wrap:anywhere;
    }

    .hero-text p{
        width:100%!important;
        max-width:560px!important;
        font-size:16px!important;
        line-height:1.6!important;
    }

    .hero-buttons{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:10px!important;
        margin-top:24px!important;
    }

    .hero-buttons a,
    .primary-button,
    .secondary-button{
        min-height:46px!important;
        padding:13px 18px!important;
        font-size:14px!important;
    }

    .hero-features{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:9px 15px!important;
        margin-top:24px!important;
        font-size:13px!important;
    }

    /* Sections */
    section{
        max-width:100%;
    }

    .section-heading h2{
        font-size:clamp(29px,8vw,39px)!important;
        line-height:1.12!important;
    }

    .section-heading p{
        font-size:15px!important;
    }

    .service-grid,
    .premium-grid,
    .promo-grid,
    .home-package-grid,
    .sl-package-grid,
    .visa-price-grid,
    .visa-price-grid-v2,
    .inline-detail-grid,
    .about-home-grid{
        grid-template-columns:1fr!important;
    }

    .service-card,
    .premium-card,
    .home-package-card,
    .sl-package-card{
        min-width:0!important;
        width:100%!important;
    }

    /* Packages */
    #tours .sl-package-grid,
    .sl-packages-page .sl-package-grid{
        grid-template-columns:1fr!important;
        gap:22px!important;
    }

    #tours .sl-package-image-link img,
    .sl-packages-page .sl-package-image-link img,
    .sl-package-image-link img{
        height:auto!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
    }

    .sl-package-body{
        padding:20px!important;
    }

    .sl-package-body h3{
        font-size:23px!important;
        line-height:1.2!important;
    }

    .sl-package-price,
    .home-price{
        font-size:30px!important;
    }

    /* Promotion cards */
    .promo-card{
        display:block!important;
        grid-template-columns:1fr!important;
        width:100%!important;
        min-width:0!important;
    }

    .promo-card>img,
    .promo-card .promo-card-image,
    .artist-card .artist-image{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
    }

    .promo-card-content,
    .promo-content,
    .artist-content{
        padding:20px!important;
    }

    /* Visa */
    .visa-layout,
    .visa-card-v2{
        grid-template-columns:1fr!important;
    }

    .visa-photo-wrap,
    .visa-photo-wrap img{
        width:100%!important;
        min-height:0!important;
        height:auto!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
    }

    .visa-copy h2,
    .visa-content-v2 h2{
        font-size:32px!important;
        line-height:1.12!important;
    }

    /* Full package detail pages */
    .sl-detail-hero{
        padding:24px 0 18px!important;
    }

    .sl-detail-hero img{
        width:100%!important;
        height:auto!important;
        max-height:none!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
        border-radius:16px!important;
    }

    .sl-detail-summary{
        margin:-10px 6px 0!important;
        padding:20px!important;
        border-radius:16px!important;
    }

    .sl-detail-summary h1{
        font-size:30px!important;
        line-height:1.12!important;
        overflow-wrap:anywhere;
    }

    .sl-detail-duration{
        font-size:18px!important;
    }

    .sl-detail-price{
        font-size:31px!important;
    }

    .sl-day-card{
        padding:19px!important;
        border-radius:15px!important;
    }

    .sl-day-card h2{
        font-size:22px!important;
        line-height:1.2!important;
    }

    .sl-day-card ul,
    .sl-included ul,
    .sl-excluded ul{
        padding-left:20px!important;
    }

    .sl-include-exclude{
        grid-template-columns:1fr!important;
    }

    /* Forms and controls */
    form,
    .booking-form,
    .contact-form,
    .tour-form{
        max-width:100%!important;
    }

    input,
    select,
    textarea,
    button{
        max-width:100%;
    }

    input:not([type="checkbox"]):not([type="radio"]),
    textarea{
        width:100%!important;
        min-width:0!important;
    }

    textarea{
        min-height:120px;
    }

    /* Long text / emails / URLs */
    p,a,li,span,strong,h1,h2,h3,h4{
        overflow-wrap:anywhere;
    }

    /* Footer */
    .db-final-footer{
        padding:36px 0 16px!important;
    }

    .db-final-footer .db-footer-grid{
        grid-template-columns:1fr!important;
        gap:26px!important;
    }

    .db-final-footer .db-footer-bottom{
        text-align:center!important;
        line-height:1.5!important;
    }

    .db-final-footer .db-contact-line{
        align-items:flex-start!important;
    }

    /* Remove accidental horizontal overflow */
    .promo-card,
    .visa-card-v2,
    .sl-detail-summary,
    .sl-day-card,
    .sl-included,
    .sl-excluded,
    .db-final-footer,
    .footer,
    main{
        max-width:100%!important;
        box-sizing:border-box!important;
    }
}

@media (max-width: 480px){

    .container{
        width:calc(100% - 24px)!important;
    }

    .top-bar-content{
        font-size:10px!important;
    }

    .main-logo,
    .navbar .brand img,
    .navbar .logo-area img{
        width:60px!important;
        height:60px!important;
        max-width:60px!important;
        max-height:60px!important;
    }

    .language-selector,
    select.language{
        max-width:132px!important;
        font-size:11px!important;
    }

    .nav-button{
        padding:10px 12px!important;
        font-size:11px!important;
    }

    .hero{
        min-height:590px!important;
        padding:44px 0 38px!important;
    }

    .hero-text h1{
        font-size:42px!important;
    }

    .hero-text p{
        font-size:15px!important;
    }

    .hero-buttons{
        align-items:stretch!important;
    }

    .hero-buttons a{
        text-align:center!important;
    }

    .section-heading h2{
        font-size:29px!important;
    }

    .home-package-body,
    .sl-package-body,
    .promo-card-content,
    .promo-content,
    .artist-content,
    .visa-content-v2{
        padding:18px!important;
    }

    .sl-detail-summary{
        margin:-4px 0 0!important;
        padding:18px!important;
    }

    .sl-detail-summary h1{
        font-size:27px!important;
    }

    .sl-day-card{
        padding:17px!important;
    }
}
