/*
 * Mega menu for the header "Services" dropdown, and the footer's
 * Popular Services strip. Kept in its own file so it's easy to find/undo -
 * it only adds to style.css / responsive.css, never overrides their base
 * dropdown/footer rules outside the selectors below.
 */

/* ---- Service/location pages: sticky enquiry sidebar ---- */

/* The 17 service pages' article content is often much longer than the
   enquiry-form + services sidebar next to it, which used to leave a tall
   blank gap under the sidebar once its own content ran out. Pinning the
   sidebar in view while the (non-flex) row scrolls past removes that gap
   and keeps the enquiry form visible for longer - desktop only, since on
   mobile the columns stack instead of sitting side by side. */
@media only screen and (min-width: 992px) {
  .about-section-two.service > .auto-container > .row > .content-column.col-md-4 {
    position: -webkit-sticky;
    position: sticky;
    top: 110px;
    align-self: flex-start;
  }
}

/* ---- Header: Services mega menu ---- */

.main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-cat {
    display: block;
    padding: 10px 20px 6px;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ff9535;
    border-bottom: none;
    cursor: default;
}

.main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-cat:first-child {
    margin-top: 0;
}

.main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-view-all {
    border-bottom: none;
}

.main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-view-all > a {
    background-color: #f74949;
    color: #ffffff;
    text-align: center;
    font-weight: 700;
}

.main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-view-all > a:hover {
    background-color: #ff9535;
    color: #ffffff;
}

/* Two-column wide panel - only once the desktop nav bar itself is shown. */
@media only screen and (min-width: 1141px) {
    .main-menu .navigation > li.mega-dropdown > ul.mega-menu {
        width: 720px;
        max-height: 75vh;
        overflow-y: auto;
        column-count: 2;
        column-gap: 0;
        padding: 12px 8px;
    }

    .main-menu .navigation > li.mega-dropdown > ul.mega-menu > li {
        break-inside: avoid-column;
        -webkit-column-break-inside: avoid;
    }

    .main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-view-all {
        column-span: all;
        margin-top: 8px;
    }
}

/* ---- Footer: Popular Services strip ---- */

.popular-services-strip {
    background: #191919;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 25px 0;
}

.popular-services-strip h5 {
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.popular-services-strip ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 0;
}

.popular-services-strip ul li {
    display: inline;
}

.popular-services-strip ul li a {
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    transition: color 300ms ease;
}

.popular-services-strip ul li a:hover {
    color: #ff9535;
}

.popular-services-strip ul li:not(:last-child)::after {
    content: "|";
    color: rgba(255, 255, 255, 0.25);
    margin: 0 10px;
}

.popular-services-strip ul li.view-all a {
    color: #ff9535;
    font-weight: 700;
}

/* ---- Category icons: Services mega menu + footer link lists + popular strip ----
   Icons differ per service/category (see includes/seo-pages.php), so each one
   gets a fixed-width box - otherwise the link text would start at a different
   x-position depending on how wide the glyph is. */

.main-menu .navigation > li.mega-dropdown > ul.mega-menu > li > a > i.fa {
    display: inline-block;
    width: 22px;
    text-align: center;
    color: #ff9535;
    font-size: 14px;
    margin-right: 14px;
    vertical-align: middle;
    transition: color 300ms ease;
}

.main-menu .navigation > li.mega-dropdown > ul.mega-menu > li:hover > a > i.fa {
    color: #ffffff;
}

.main-footer .links-widget .list li a > i.fa {
    display: inline-block;
    width: 22px;
    text-align: center;
    color: #ff9535;
    font-size: 14px;
    margin-right: 12px;
}

.popular-services-strip ul li a > i.fa {
    color: #ff9535;
    font-size: 12px;
    margin-right: 8px;
}

/* ---- Sitemap page (sitemap.php) ---- */

.sitemap-section {
    background: #f8f8f8;
    padding: 55px 0 30px;
}

.sitemap-section .sitemap-heading {
    text-align: center;
    font-size: 34px;
    font-weight: 700;
    color: #222222;
    margin: 0 0 40px;
}

.sitemap-section .sitemap-subheading {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    color: #222222;
    margin: 25px 0 40px;
}

.sitemap-section .sitemap-col-title {
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #222222;
    margin: 0 0 18px;
    line-height: 1.4;
}

.sitemap-list {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.sitemap-list li {
    margin-bottom: 12px;
    line-height: 1.5;
}

.sitemap-list li a {
    color: #333333;
    font-size: 15px;
    transition: color 300ms ease;
}

.sitemap-list li a i.fa {
    color: #ff9535;
    margin-right: 10px;
    font-size: 14px;
}

.sitemap-list li a:hover {
    color: #ff9535;
}

.sitemap-list.sitemap-two-col {
    column-count: 2;
    column-gap: 30px;
}

.sitemap-list.sitemap-two-col li {
    break-inside: avoid;
}

@media only screen and (max-width: 767px) {
    .sitemap-list.sitemap-two-col {
        column-count: 1;
    }
}

/* ---- 404 page (404.php) ---- */

.error-404-section {
    padding: 70px 0 60px;
    text-align: center;
    background: #ffffff;
}

.error-404-section .error-code {
    font-size: 150px;
    font-weight: 800;
    line-height: 1;
    color: #ff9535;
    margin: 0;
    text-shadow: 0 8px 22px rgba(18, 2, 126, 0.15);
}

.error-404-section h2 {
    font-size: 32px;
    font-weight: 700;
    color: #12027e;
    margin: 10px 0 15px;
}

.error-404-section p.error-text {
    max-width: 640px;
    margin: 0 auto 28px;
    color: #666666;
    font-size: 16px;
    line-height: 1.7;
}

.error-404-section .error-actions a {
    display: inline-block;
    margin: 0 6px 10px;
}

.error-404-links {
    background: #f8f8f8;
    padding: 45px 0 20px;
}

@media only screen and (max-width: 767px) {
    .error-404-section .error-code {
        font-size: 100px;
    }
}

/* ---- Footer credit line (Website Designing & Promotion by WebProTek) ---- */
.main-footer .footer-bottom .footer-credit {
    margin-top: 6px;
}

.main-footer .footer-bottom .footer-credit a {
    color: #ff9535;
    font-weight: 600;
    transition: color 300ms ease;
}

.main-footer .footer-bottom .footer-credit a:hover {
    color: #ffffff;
}

/* ---- Footer: social icons now sit under the logo/about text; bottom bar = copyright (left) + credit (right) ---- */
.main-footer .footer-social {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.main-footer .footer-social li {
    margin: 0 8px 8px 0;
}

.main-footer .footer-social li a {
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 15px;
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.12);
}

.main-footer .footer-social li a:hover {
    color: #ffffff;
    background-color: #ff9535;
}

.main-footer .footer-bottom .footer-credit {
    text-align: right;
    margin-top: 0;
}

@media only screen and (max-width: 991px) {
    .main-footer .footer-bottom .footer-credit {
        text-align: left;
        padding-top: 0;
    }
}

/* ---- Career page (career.php) ---- */
.career-section { padding: 55px 0 40px; background: #ffffff; }
.career-success { display: flex; align-items: center; gap: 18px; background: #eaf7ee; border: 1px solid #b9e2c6; border-radius: 6px; padding: 20px 24px; margin-bottom: 35px; }
.career-success > .fa { font-size: 42px; color: #2e9e57; }
.career-success h3 { margin: 0 0 4px; font-size: 22px; color: #1f6b3b; }
.career-success p { margin: 0; color: #2f4f3b; }
.career-intro { max-width: 900px; margin: 0 auto 45px; text-align: center; }
.career-intro h2 { font-size: 32px; font-weight: 700; color: #222222; margin: 6px 0 18px; }
.career-intro p { color: #555555; font-size: 16px; line-height: 1.8; margin-bottom: 12px; }
.career-heading { text-align: center; font-size: 28px; font-weight: 700; color: #222222; margin: 10px 0 30px; }
.career-heading-left { text-align: left; margin-top: 0; }
.career-lead { max-width: 900px; margin: -10px auto 30px; text-align: center; color: #555555; font-size: 16px; line-height: 1.8; }
.career-roles { margin-bottom: 40px; }
.career-role { display: flex; gap: 16px; background: #f8f8f8; border-left: 3px solid #ff9535; padding: 20px; margin-bottom: 25px; min-height: 120px; }
.career-role-icon { flex: 0 0 48px; height: 48px; line-height: 48px; text-align: center; border-radius: 50%; background: #ff9535; color: #ffffff; font-size: 20px; }
.career-role h4 { margin: 0 0 6px; font-size: 17px; font-weight: 700; color: #222222; }
.career-role p { margin: 0; color: #666666; font-size: 14px; line-height: 1.6; }
.career-perks { margin-bottom: 45px; }
.career-perk { text-align: center; padding: 25px 18px; border: 1px solid #eeeeee; margin-bottom: 25px; min-height: 210px; }
.career-perk > .fa { font-size: 30px; color: #ff9535; margin-bottom: 12px; }
.career-perk h4 { margin: 0 0 8px; font-size: 17px; font-weight: 700; color: #222222; }
.career-perk p { margin: 0; color: #666666; font-size: 14px; line-height: 1.6; }
.career-apply-row { margin-bottom: 50px; }
.career-steps { padding-left: 20px; margin: 0 0 18px; color: #555555; line-height: 1.8; }
.career-steps li { margin-bottom: 8px; }
.career-note { background: #fff4e8; border-left: 3px solid #ff9535; padding: 12px 16px; color: #7a4a14; }
.career-note .fa { margin-right: 6px; }
.career-form { background: #f8f8f8; padding: 30px; border-top: 3px solid #ff9535; }
.career-form h3 { margin: 0 0 6px; font-size: 24px; font-weight: 700; color: #222222; }
.career-form-note { color: #777777; font-size: 13px; margin-bottom: 20px; }
.career-form label { display: block; font-size: 13px; font-weight: 600; color: #333333; margin-bottom: 6px; }
.career-form input[type="text"],
.career-form input[type="email"],
.career-form input[type="tel"],
.career-form select,
.career-form textarea { width: 100%; padding: 10px 12px; border: 1px solid #dddddd; background: #ffffff; font-size: 14px; color: #333333; }
.career-form input[type="file"] { width: 100%; padding: 8px; border: 1px dashed #cccccc; background: #ffffff; font-size: 14px; }
.career-form input:focus, .career-form select:focus, .career-form textarea:focus { outline: none; border-color: #ff9535; }
.career-form .form-group { margin-bottom: 16px; }
@media only screen and (max-width: 767px) {
    .career-intro h2 { font-size: 26px; }
    .career-form { padding: 20px; margin-top: 25px; }
    .career-perk, .career-role { min-height: 0; }
}

/* ---- Home: clients logo strip (sits between the FAQ and the footer) ---- */
.clients-strip { background: #f6f7fb; padding: 60px 0 55px; border-top: 1px solid #ececf3; }
.clients-strip .sec-title { margin-bottom: 35px; }
.clients-strip .client .team-member-two { padding: 10px 0 18px; }
.clients-strip .client .team-member-two .travel-block .inner-box { background: #ffffff; border-radius: 6px; box-shadow: 0 2px 14px rgba(18, 2, 126, .07); }
.clients-strip .client .team-member-two .travel-block .inner-box .image { border-radius: 6px; }
.clients-strip .client .team-member-two img { border: 0; border-radius: 6px; width: 100%; height: auto; padding: 6px; }
.clients-strip .clients-more { text-align: center; margin-top: 20px; }

/* ---- Clients strip fixes: cards keep their full height, button centred + smaller ---- */
.clients-strip .client .owl-item .team-member-two { float: none; width: auto; padding: 12px 6px 20px; }
.clients-strip .client .team-member-two .travel-block .inner-box:hover { transform: translateY(-5px); }
.clients-strip .client .team-member-two .travel-block .inner-box .image { overflow: hidden; }
.clients-strip .client .team-member-two img { height: 140px; object-fit: contain; background: #ffffff; }
.clients-strip .clients-more { clear: both; display: flex; justify-content: center; margin-top: 18px; }
.clients-strip .clients-more .theme-btn { float: none; margin: 0 auto; padding: 8px 26px; font-size: 12px; line-height: 20px; letter-spacing: .4px; }

/* ---- Client page: logo cards ---- */
.about-section-two.service .featured-imagebox { margin-bottom: 0; }

/* ---- FAQ block: second photo under the first ---- */
.faq-block .faq-block-image.faq-block-image-2 { margin-top: 40px; }
.faq-block .faq-block-image.faq-block-image-2 img { width: 100%; height: 260px; object-fit: cover; object-position: center top; }


/* ---- Footer: Delhi NCR Locations (text lines: label + links separated by pipes) ---- */
.ncr-locations { background: #0a0a0a; border-top: 1px solid rgba(255, 255, 255, .08); padding: 14px 0 10px; }
.ncr-locations .ncr-line { color: #ffffff; font-size: 14px; line-height: 1.9; margin: 0 0 4px; }
.ncr-locations .ncr-line strong { color: #ffffff; font-weight: 700; margin-right: 6px; }
.ncr-locations .ncr-line a { color: #3d8bfd; display: inline; transition: color .25s ease; }
.ncr-locations .ncr-line a::after { content: "|"; color: #ffffff; margin: 0 7px; display: inline-block; }
.ncr-locations .ncr-line a:hover { color: #ff9535; }
.ncr-locations .ncr-zones a.active { color: #ff9535; font-weight: 600; }
.ncr-locations .ncr-places { padding: 6px 8px 6px 0; max-height: 150px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #555 #0a0a0a; animation: besFade .35s ease; }
@keyframes besFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---- Floating WhatsApp + Call buttons (bottom-right on every page; the scroll-to-top arrow sits above them) ---- */
.scroll-to-top { bottom: 138px; right: 18px; }
.float-contact { position: fixed; right: 12px; bottom: 16px; z-index: 9990; display: flex; flex-direction: column; gap: 14px; }
.float-contact .float-btn { position: relative; width: 52px; height: 52px; line-height: 52px; border-radius: 50%; text-align: center; color: #ffffff; font-size: 26px; box-shadow: 0 6px 16px rgba(0, 0, 0, .28); transition: transform .3s ease, box-shadow .3s ease; }
.float-contact .float-btn:hover, .float-contact .float-btn:focus { color: #ffffff; transform: scale(1.12) rotate(-8deg); box-shadow: 0 10px 22px rgba(0, 0, 0, .35); }
.float-contact .float-whatsapp { background: #25d366; }
.float-contact .float-call { background: #1767d8; }
.float-contact .float-btn::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: inherit; opacity: .55; z-index: -1; animation: besPulse 2s ease-out infinite; }
.float-contact .float-call::before { animation-delay: 1s; }
@keyframes besPulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(1.7); opacity: 0; } }
@media only screen and (max-width: 767px) {
    .float-contact { right: 10px; bottom: 14px; gap: 12px; }
    .scroll-to-top { bottom: 126px; right: 14px; }
    .float-contact .float-btn { width: 46px; height: 46px; line-height: 46px; font-size: 23px; }
}

/* ---- Mobile menu (hamburger): white panel instead of the solid red block ----
   Same breakpoint as the red menu in responsive.css (<= 767px); loaded after it, so these win. */
@media only screen and (max-width: 767px) {
    .main-menu .navbar-header .navbar-toggle { background: #ff9535; border-color: #ff9535; border-radius: 6px; }
    .main-menu .navbar-header .navbar-toggle:hover { background: #f74949; border-color: #f74949; }

    .main-menu .navbar-collapse > .navigation {
        background: #ffffff;
        border: 1px solid #eeeeee;
        border-radius: 8px;
        box-shadow: 0 14px 28px rgba(0, 0, 0, .14);
        overflow: hidden;
        margin-top: 6px !important;
    }
    .main-menu .navbar-collapse > .navigation > li,
    .main-menu .navbar-collapse > .navigation > li > ul > li,
    .main-menu .navbar-collapse > .navigation > li > ul > li > ul > li { border-top: 1px solid #f0f0f0 !important; }
    .main-menu .navbar-collapse > .navigation > li:first-child { border-top: none !important; }

    .main-menu .navbar-collapse > .navigation > li > a,
    .main-menu .navbar-collapse > .navigation > li > ul > li > a,
    .main-menu .navbar-collapse > .navigation > li > ul > li > ul > li > a {
        background: #ffffff;
        color: #222222 !important;
        font-size: 14px;
        font-weight: 600;
        padding: 13px 16px !important;
        border-left: 3px solid transparent !important;
    }
    .main-menu .navbar-collapse > .navigation > li:hover > a,
    .main-menu .navbar-collapse > .navigation > li > a:hover,
    .main-menu .navbar-collapse > .navigation > li > a:focus,
    .main-menu .navbar-collapse > .navigation > li > ul > li:hover > a,
    .main-menu .navbar-collapse > .navigation > li.current > a {
        background: #fff6ec !important;
        color: #ff9535 !important;
        border-left-color: #ff9535 !important;
    }

    /* Services sub-menu */
    .main-menu .navbar-collapse > .navigation > li > ul,
    .main-menu .navbar-collapse > .navigation > li > ul > li > ul { background: #fafafa; }
    .main-menu .navbar-collapse > .navigation > li > ul > li > a { padding-left: 24px !important; font-weight: 500; font-size: 13px; }
    .main-menu .navigation > li.mega-dropdown > ul.mega-menu > li > a > i.fa { color: #ff9535; }
    .main-menu .navigation > li.mega-dropdown > ul.mega-menu > li:hover > a > i.fa { color: #ff9535; }
    .main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-cat { background: #fafafa; color: #ff9535; padding: 12px 16px 6px; margin-top: 0; }
    .main-menu .navigation > li.mega-dropdown > ul.mega-menu > li.mega-view-all > a { background: #ff9535 !important; color: #ffffff !important; text-align: center; border-left: none !important; }

    /* open/close arrow box */
    .main-menu .navbar-collapse > .navigation li.dropdown .dropdown-btn { border: 1px solid #ff9535; color: #ff9535; border-radius: 4px; }

    /* Enquiry button */
    .main-menu .navbar-collapse > .navigation > .enquiry-btn {
        background: linear-gradient(135deg, #ff9535, #f74949) !important;
        color: #ffffff !important;
        border-radius: 30px;
        margin: 14px 16px 16px !important;
        box-shadow: 0 6px 14px rgba(247, 73, 73, .3);
    }
}

/* ---- Quick answer box at the top of service / location pages (answer-first, for search + AI) ---- */
.quick-answer { background: #fff7ee; border-left: 4px solid #ff9535; border-radius: 4px; padding: 14px 18px; margin: 0 0 16px; color: #333333; font-size: 15px; line-height: 1.7; }
.quick-answer strong { color: #12027e; }
.quick-answer a { color: #f74949; font-weight: 600; }


/* ---- Home page H1 (looks like the section heading it replaced) ---- */
.about-section-two .content-column .inner .about-title h1 { position: relative; color: #222222; font-size: 34px; line-height: 1.25; font-weight: 700; padding-bottom: 12px; margin: 0 0 20px; text-transform: capitalize; }
.about-section-two .content-column .inner .about-title h1:after { position: absolute; content: ''; left: 0; bottom: 0; width: 50px; height: 2px; background-color: #ff9535; }
@media only screen and (max-width: 767px) { .about-section-two .content-column .inner .about-title h1 { font-size: 25px; } }
