/* ===== GLOBAL RESET ===== */
*, ::before, ::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --brand: #d90429;
    /* accent used for tab highlights (use warm yellow instead of red) */
    --tab-accent: #ffd166;
}

/* ===== BODY ===== */
body {
    font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial;
    background: #f5f5f5;
}

/* ===== NAVBAR ===== */
.taxi-navbar {
    background: #ffcf404d;
    padding: 14px 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
    position: relative;
}

/* Logo */
.logo-img {
    height: 55px;
    width: auto;
    display: inline-block;
    vertical-align: middle;
}

.brand-text {
    font-size: 22px;
    color: #000;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

/* Utility fallbacks */
.fw-bold { font-weight: 700 !important; }
.ms-2 { margin-left: .5rem !important; }
.ms-auto { margin-left: auto !important; }
.mb-2 { margin-bottom: .5rem !important; }
.gap-3 { gap: 1rem !important; }

/* Navbar nav */
.navbar-nav {
    display: flex;
    flex-direction: column;
    list-style: none;
    align-items: center;
    gap: 1rem;
    padding-left: 0;
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav {
        flex-direction: row;
    }
    .taxi-navbar .navbar-nav {
        align-items: center;
        gap: 14px;
    }
    .mb-lg-0 { margin-bottom: 0 !important; }
}

/* Nav links */
.navbar-nav .nav-link {
    color: #000 !important;
    font-weight: 700;
    padding: 2px 16px;
    font-size: 16px;
    border-radius: 6px;
    transition: 0.18s ease;
}

.navbar-nav .nav-link:hover {
    background: rgba(0,0,0,0.08);
}

/* ACTIVE LINK (merged) */
.navbar-nav .nav-link.active {
    background: #000;
    color: #FFC107 !important;
    box-shadow: 0 10px 26px rgba(0,0,0,0.3);
    padding: 4px 15px;
    border-radius: 14px;
}

/* Mobile navbar */
.navbar-toggler {
    border: none;
}

.navbar-toggler-icon {
    width: 32px;
    height: 20px;
    /* width: 24px;
    height: 20px; */
    display: inline-block;
}

@media (max-width: 991px) {
    .navbar-nav {
        /* margin-top: 12px; */
    }
    .navbar-nav .nav-link {
        text-align: center;
    }
}

/* ===== HERO / SLIDER ===== */
.hero-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.08);
    max-width: 1600px;
    margin: 10px auto 48px;
    overflow: hidden;
}

.carousel-inner {
    border-radius: 12px;
    overflow: hidden;
}

.carousel-item {
    text-align: center;
}

.carousel-item img,
#carouselInner img {
    max-width: 100%;
    height: 500px !important;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {
    .carousel-item img,
    #carouselInner img {
        height: 220px !important;
    }
    .container, .container-md, .container-sm {
        max-width: 100% !important;
    }
}

/* Caption */
.hero-card .carousel-caption {
    position: absolute;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: calc(100% - 80px);
}

.hero-card .carousel-caption h1 {
    color: #fff;
    font-weight: 800;
    font-size: 36px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-shadow: 0 6px 20px rgba(0,0,0,0.5);
}

/* ===== BOOKING / FORM CARD ===== */
.tab-box,
.card-frm {
    background: #fff;
    border-radius: 14px;
    padding: 26px;
    border: 1px solid rgba(16,24,32,0.06);
    box-shadow: 0 18px 40px rgba(16,24,32,0.06),
                0 6px 18px rgba(16,24,32,0.04);
}

/* Form controls */
.form-control,
.form-select {
    height: 54px;
    padding: 10px 14px;
    border-radius: 8px;
}

textarea.form-control {
    height: auto;
}

.input-icon {
    width: 42px;
    text-align: center;
    font-size: 18px;
}

.required::after {
    content: " *";
    color: var(--brand);
}

/* Booking form visual improvements */
.tab-box label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #222;
}
.booking-main-tab,
.booking-sub-tab {
    /* default rectangular buttons */
    border-radius: 8px;
    padding: 8px 18px;
    font-weight: 700;
    color: #222;
    border: 1px solid transparent;
    background: transparent;
}
.booking-main-tab.active,
.booking-sub-tab.active {
    /* no highlight color — keep tabs neutral */
    background: transparent !important;
    color: #222 !important;
    box-shadow: none !important;
}

/* Inner tabs: half-circle indicator on hover (right side) */
.booking-sub-tab {
    position: relative;
    overflow: visible;
}
.booking-sub-tab::after {
    display: none !important; /* remove decorative half-circle */
}
.booking-sub-tab:hover::after { display: none !important; }

/* Make tab hover more responsive and less likely to overlap content */
.booking-main-tab:hover,
.booking-sub-tab:hover {
    cursor: pointer;
    transform: none !important;
    transition: none !important;
    box-shadow: none !important;
}
.tab-box .form-control,
.tab-box .form-select {
    height: 54px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #ececec;
    display: block;
    width: 100%;
    box-sizing: border-box;
    background-position: right 12px center; /* keep caret properly aligned */
    background-repeat: no-repeat;
}
.tab-box .form-control {
    height: 54px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #ececec;
}
.tab-box .form-control[readonly] { background: #f8f8f8; }
.tab-box .btn-primary.w-100 {
    padding: 14px 18px;
    font-size: 16px;
    border-radius: 10px;
    font-weight: 800;
    margin-top: 18px; /* add space above the CTA */
}

@media (max-width: 576px) {
    .tab-box { padding: 18px; }
    .tab-box .row.g-3 > [class*="col-"] { padding-bottom: 14px; }
}

/* Buttons */
.btn-primary {
    background: #0d6efd !important;
    border-color: #0d6efd !important;
    padding: 12px 20px;
    font-size: 16px;
    border-radius: 8px;
}

/* ===== TABS ===== */
.nav-pills .nav-link {
    font-weight: 700;
    color: #000;
    border-radius: 6px;
    padding: 8px 16px;
}

.nav-pills .nav-link.active {
    background: #ffcf404d;
    box-shadow: 0 6px 14px rgba(0,0,0,0.06);
}

.nav-tabs .nav-link {
    font-weight: 600;
    color: #000;
}

.nav-tabs .nav-link.active {
    background: #000;
    color: #fff;
}

/* ===== ABOUT / CONTACT ===== */
.section-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 20px;
}

.about-box,
.contact-box {
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.icon,
.info-icon {
    color: #0d6efd;
}

.icon { font-size: 40px; margin-bottom: 15px; }
.info-icon { font-size: 32px; margin-right: 15px; }

/* ===== FOOTER ===== */
footer {
    background: #f8f9fa;
    padding: 20px 0;
    margin-top: 30px;
}
   li.nav-item {

   margin-bottom: 5px !important;
}
/* ===== MOBILE ===== */
@media (max-width: 991px) {
    /* .logo-img {
        height: 100px;
    } */
    span.ms-2.fw-bold.brand-text {
     font-size: 32px;
    }
    .about-box, .contact-box{
        margin-bottom: 20px;
    }

     .container {
        max-width: 900px !important;
    }
}
@media (max-width: 768px) {
   li.nav-item {

   margin-bottom: 5px !important;
}
    img.img-fluid.rounded.shadow {
        margin-top: 15px;
    }
        .logo-img {
        /* height: 100px; */
        padding-left: 19px;
    }
    .taxi-navbar {
    /* background: #ffcf404d; */
    padding: 0px;
    /* border-bottom: 1px solid rgba(0, 0, 0, 0.04); */
    /* position: relative; */
}
   .navbar-toggler-icon {
    width: 32px;
    height: 26px;
    /* width: 24px;
    height: 20px; */
    display: inline-block;
}

    .brand-text {
        display: none;
    }

}
.tab-box.p-4.bg-white.shadow.rounded{
    border-radius: 14px !important;
}

