/* Large devices (desktops, less than 1300px) */
@media (max-width: 1280px) {
    .heroSection {
        background-position: top 70px right -50px;
        background-size: 720px;
        min-height: 650px;
    }

    .circleDots {
        top: 30px;
        left: 0px;
    }

    .categorySlider.owl-carousel {
        padding: 0 15px;
    }

    .owl-carousel .owl-nav button.owl-prev {
        left: -10px;
    }

    .owl-carousel .owl-nav button.owl-next {
        right: -10px;
    }

    .registerSection .circleDots {
        left: 20px;
    }
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    .searchBox.form-control {
        max-width: 280px;
    }

    .enquiryBox {
        padding: 110px 40px 0;
    }

    .clickToRate {
        margin-left: 0;
        margin-top: 0;
    }

    .leftbox p {
        padding: 19px 20px;
    }

    .footerUpper {
        padding: 40px 0px 20px;
    }

    .footerMiddle {
        padding: 40px 0px;
    }

    .footerBottom {
        padding: 28px 0px;
    }

    /* Login Page */
    .loginFormBox {
        padding: 60px 50px 50px 0;
    }

    /* Dashboard Page Style */

    .dashboardContainer .listingBox {
        gap: 15px;
        padding-right: 20px;
    }

    .pacakgeFixListBox .ratingBox {
        margin-left: auto;
    }

    .pacakgeFixListBox .packageBtn {
        max-width: calc(100% - 50px);
    }
}

/* Medium devices (tablets, less than 1024px) */
@media (max-width: 1024px) {
    .headerSection .navbar-brand {
        max-width: 170px;
    }


    .filterBox {
        display: flex;
        white-space: nowrap;
        align-items: center;
        overflow-x: auto;
        margin: 0;
    }

    .dayDuration,
    .filterBox .btn {
        display: inline-block;
    }

    .paginationBox .pagination::before,
    .paginationBox .pagination::after {
        width: 100px;
    }

    .paginationBox .pagination {
        padding: 0 110px;
    }

    .paginationBox .page-link {
        font-size: 12px;
        padding: 0 10px;
        line-height: 34px;
        min-width: 36px;
    }

    .ratingCategoryList {
        padding: 0 20px;
    }

    .tourPackageSection .tabBox .nav-tabs {
        display: block;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .tabBox .nav-tabs .nav-item {
        display: inline-block;
    }

    .blogLeft {
        max-width: calc(100% - 500px);
    }

    .blogRight {
        max-width: 500px;
    }

    .blogHead h2 {
        font-size: 100px;
    }

    .location {
        max-width: 100%;
        margin-top: 0;
    }

    /* Popup Responsive Style */

    .sendEnquiryModalBox .modal-body {
        padding: 0px 400px 35px 60px;
        background-size: 300px;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .container {
        padding: 0 20px;
    }

    .headerSection .navbar-brand {
        max-width: 160px;
    }

    .locationInput.form-control {
        max-width: 110px;
    }

    .searchBox.form-control {
        max-width: 170px;
    }

    .headFormBox {
        max-width: 300px;
        margin-right: 8px;
    }

    .headBtns,
    .headFormBox .form-inline {
        gap: 8px;
    }

    .serviceLeftBox {
        max-width: 100%;
    }

    .serviceRightBox {
        max-width: 100%;
        width: 100%;
    }

    .serviceRightBox.hideOnMobile {
        display: none;
    }

    .serviceRightBox.showOnMobile {
        display: block;
        padding-top: 20px;
    }

    .serviceRightBox .enquiryForm {
        margin: 0 auto;
    }

    .googleAddBox {
        padding: 15px 0 0;
    }

    .tourPackageSection.tourPackageSectionTwo {
        padding: 30px 0;
    }

    .tourPackageSectionTwo .box {
        padding: 30px 0;
    }

    .tourPackageSectionTwo .box .col-md-4.col-sm-5,
    .tourPackageSectionTwo .box .col-md-8.col-sm-7 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .tourPackageSection .tabBox {
        max-width: 100%;
    }

    .serviceContentSec {
        padding: 0 0 10px;
    }

    .subHeading h3 {
        font-size: 18px;
    }

    .subHeading p {
        font-size: 12px;
        line-height: 20px;
    }

    .serviceContentSec .box p:not(:last-child) {
        padding-bottom: 10px;
    }

    .tourPackageSection .serviceListing {
        justify-content: center;
    }

    .faqSection .subHeading {
        padding-top: 30px;
    }

    .accordionBox .card-header .btn {
        padding: 0 40px 0 0;
    }

    .accordionBox .card-header .btn span {
        right: 8px;
    }

    .accordionBox .card-body {
        padding: 10px 60px 0 0;
    }

    .filterBox .btn {
        margin-left: 0;
    }

    .galleryListing .box {
        max-width: calc(33.5% - 12px);
    }

    .galleryListing .content {
        padding: 50px 15px 15px;
    }

    .packageText {
        padding-left: 10px;
    }

    /* Login Page */

    .loginFormBox {
        background-color: #ffffffc7;
        padding: 40px 0;
        width: 100%;
        position: relative;
        z-index: 4;
    }

    .loginImageBox {
        width: 100%;
        position: absolute;
    }

    .loginFormBox .heroContent .circleDots {
        width: 150px;
    }


    .importantNotes li {
        font-size: 12px;
        line-height: 20px;
    }

    .contactLeft {
        max-width: calc(100% - 400px);
    }

    .contactRight {
        padding: 30px;
        max-width: 400px;
    }

    .serviceListing.showMore {
        display: block;
    }
}

@media (max-width: 849px) {
    .headerSection {
        border-bottom: 1px solid rgba(204, 204, 204, 1);
        padding: 10px 0 0;
    }

    .headerSection .navbar-brand {
        max-width: 120px;
        margin-bottom: 10px;
    }

    .headFormBox {
        max-width: calc(100% - 160px);
        margin-bottom: 10px;
    }

    .headFormBox .form-inline {
        max-width: 100%;
    }

    .headFormBox .locationInput .icons {
        height: 24px;
    }

    .headFormBox .form-control {
        height: 26px;
        padding: 3px 15px;
    }

    .headFormBox .searchBox .btn {
        width: 36px;
        height: 26px;
        line-height: 20px;
    }

    .searchBox .btn img {
        max-width: 14px;
    }

    .headBtns {
        background: rgba(242, 242, 242, 1);
        max-width: 100%;
        width: 100%;
        padding: 10px;
        justify-content: center;
    }

    .headBtns:before,
    .headBtns:after {
        content: '';
        background: rgba(242, 242, 242, 1);
        width: 20px;
        height: 48px;
        position: absolute;
        top: 42px;
    }

    .headBtns:before {
        left: -20px;
    }

    .headBtns:after {
        right: -20px;
    }

    .headBtns .btn {
        font-size: 12px;
        line-height: 26px;
        max-width: 180px;
    }

    .headBtns .btn.baarBtn,
    .headBtns .btn.profileBtn,
    .headBtns .btn.bellBtn {
        height: 28px;
        max-width: 36px;
    }

    .headBtns .btn img {
        max-width: 50%;
    }

    /* After Login Header */

    .headerSection.afterLoginHeader {
        padding: 10px 0;
    }

    .afterLoginHeader .headBtns:before,
    .afterLoginHeader .headBtns:after {
        display: none;
    }

    .afterLoginHeader .headBtns {
        padding: 0;
        background-color: transparent;
    }

    .afterLoginHeader .nav-tabs .nav-link {
        padding: 5px 40px 5px 16px;
        font-size: 12px;
    }

    .afterLoginHeader .nav-tabs .nav-link img {
        margin-right: 10px;
        max-width: 14px;
        margin-top: -2px;
    }

    /* Hero Banner Style */

    .bannerBox {
        display: block;
    }

    .heroContent h1,
    .loginFormBox .heroContent h1,
    .registerSection .heroContent h1 {
        font-size: 24px;
        line-height: 36px;
    }

    .loginFormBox .heroContent h1 strong:first-child:before {
        height: 5px;
        bottom: 8px;
    }

    .heroSection {
        background-image: none !important;
        min-height: auto;
        padding: 30px 0;
    }

    .heroContent p {
        font-size: 12px;
        font-weight: 300;
        line-height: 22px;
        padding: 6px 0 20px;
    }

    .heroContent form.form-inline {
        max-width: 100%;
    }

    .heroContent form.form-inline {
        max-width: 100%;
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .heroContent .form-inline::before {
        display: none
    }

    .heroContent .locationInput,
    .heroContent .searchBox {
        max-width: 100%;
        width: 100%;
    }

    .locationInput .form-control {
        padding-left: 35px;
        display: block;
        width: 100%;
    }

    .heroImage {
        display: block;
    }

    .curveLine {
        top: 50%;
        right: 0;
        z-index: -1;
        transform: translatey(-50%);
    }

    .homeCategorySection {
        padding: 40px 0 0;
    }

    .categoryBox {
        padding: 45px 34px 30px;
    }

    .ourServiceSection {
        padding: 45px 0;
    }

    .subHeading {
        padding: 0 0 10px;
    }

    .subHeading h3 {
        font-size: 18px;
    }

    .enquiryList {
        flex-wrap: wrap;
    }

    .enquiryList .box {
        padding: 35px 20px;
        max-width: 150px;
    }

    .enquiryList>strong {
        padding: 14px 0 0;
    }

    .enquiryBox {
        padding: 30px 20px 0;
    }

    .enquiryForm {
        padding: 75px 40px;
        margin: 24px auto 0;
    }

    .enquiryBox .circleDots {
        top: 40%;
        right: auto;
        left: auto;
    }

    .replyEditBtn {
        order: 2;
    }

    .tourPackageSection,
    .mediaReportSection {
        padding: 40px 0;
    }

    .footerSection {
        padding: 0 0 20px;
    }

    .footerBox {
        padding: 35px 0;
    }

    .footerBox::before,
    .footerBox::after {
        height: 35px;
    }

    .footerUpper {
        padding: 20px 0px;
        text-align: center;
    }

    .footerMiddle {
        padding: 20px 0px;
        display: block;
    }

    .footerMiddle .leftbox {
        display: block;
        text-align: center;
    }

    .leftbox p {
        padding: 6px 0px 12px;
        margin: 0;
    }

    .leftbox p::before {
        display: none;
    }

    .socialLinks {
        justify-content: start;
    }

    .footerBottom {
        text-align: center;
    }


    .linksText a {
        font-size: 14px;
        line-height: 24px;
        margin: 0 8px;
    }

    .footerBottom {
        padding: 16px 0px;
        display: block;
    }

    .tourPackageSection.serviceContentSec {
        padding: 0 0 40px;
    }

    .mediaReportSection .content p {
        font-size: 12px;
        line-height: 20px;
        padding-top: 10px;
    }

    .categoryAboutBox {
        gap: 10px;
    }

    .categoryAboutBox .categoryBox {
        width: calc(50% - 5px);
    }

    .tabBox .nav-tabs {
        display: inline-block;
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
    }

    .tabBox .nav-tabs .nav-item {
        padding-right: 30px;
        display: inline-block;
    }

    .tourPackagePrice .leftbox h3 {
        font-size: 16px;
        padding: 10px 0;
    }

    .packageText {
        padding: 15px 10px 0 0;
    }

    .mediaReportSection {
        padding: 30px 0;
    }

    .blogHead {
        padding-top: 30px;
    }

    .blogHead h2 {
        font-size: 70px;
    }

    .blogLeft {
        max-width: 100%;
        padding: 0 0 20px;
    }

    .blogRight {
        max-width: 100%;
    }

    .articleBox .subHeading {
        max-width: 210px;
    }

    .articleBox .tabBox:nth-child(2) {
        max-width: calc(100% - 210px);
    }

    /* Popup Responsive Style */

    .loginModalPopup .modal-header,
    .ratingModalPopup .modal-header {
        padding: 10px 10px 10px;
        border: 0;
    }

    .loginModalPopup .modal-body {
        padding: 0px 20px 30px;
        background-image: none !important;
    }

    .loginModalForm h4 {
        max-width: 110px;
    }

    .loginModalForm p {
        font-size: 15px;
        padding-bottom: 10px;
    }

    .radionBtnBox .form-check:nth-child(2) {
        padding-right: 20px;
    }

    .clickText {
        font-size: 14px;
        margin-top: 14px;
    }

    .carImage {
        display: block;
    }

    .sendEnquiryModalBox .form-group {
        max-width: 100%;
    }

    .ratingModalPopup .modal-body {
        padding: 6px 15px 30px;
    }

    .ratingModelBody .combineBox {
        width: 100%;
        order: 1;
    }

    .ratingModelBody .clickToRate>strong {
        font-size: 20px;
        line-height: 22px;
        padding: 0 0 10px;
    }

    .ratingModelBody .clickRating label {
        border: 2px solid #F4B300;
        height: 44px;
        width: 44px;
        padding: 4px;
    }

    .ratingModelBody .clickRating label:hover,
    .ratingModelBody .clickRating label:hover~label,
    .ratingModelBody .clickRating input:checked~label {
        background-size: 29px;
        background-position: top 6px center;
    }

    .combineBox .uploadPhoto {
        display: none;
    }

    .selectServiceTab {
        width: 100%;
    }

    .serviceSelectListing {
        gap: 10px;
    }

    .serviceSelectListing .form-check-label {
        font-size: 14px;
        line-height: 32px;
        padding: 0 10px;
    }

    .inputBox {
        width: 100%;
        padding-top: 0;
    }

    .uploadPhoto.hideOnMobile {
        display: block;
        padding: 0;
    }

}

@media (min-width: 768px) {
    .serviceRightBox .enquiryForm.fixed-header {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 20px !important;
        z-index: 3 !important;
        max-width: 330px;
    }

    .serviceRightBox {
        position: relative !important;
        align-self: stretch !important;
        max-width: 330px;
        box-sizing: border-box;
    }

    /* allow sticky to work by ensuring parent containers don’t clip */
    .serviceListingBox,
    .listWrapper,
    .listWrapper .box,
    .section,
    .container,
    .wrapper {
        overflow: visible !important;
    }
}

/* Mobile: disable sticky */
@media (max-width: 767.98px) {
    .serviceRightBox .enquiryForm.fixed-header {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
    }

    .serviceRightBox {
        position: static !important;
        align-self: auto !important;
        max-width: 100% !important;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    .searchBox.form-control {
        border: 0;
        max-width: 36px;
    }

    .headFormBox .searchBox {
        width: auto;
    }

    .headFormBox .searchBox .btn {
        border-radius: 5px;
    }

    .headFormBox .searchBox .form-control {
        display: none;
    }

    .serviceSlider .images span,
    .packageImageSlider .serviceSlider .images span {
        height: 200px;
    }

    .listCarousel,
    .listCarouselImage {
        width: 100%;
        height: 200px;
        margin: 0;
    }

    .listCarousel .item a,
    .listCarouselImage a {
        display: block;
        height: 200px;
    }

    .listCarousel.owl-carousel .owl-item .item a img,
    .listCarouselImage a>img {
        height: 200px;
        width: 100%;
        object-fit: cover;
    }

    .listCarouselImage a::before {
        height: 100%;
    }

    .listingBox .content {
        max-width: 100%;
        padding: 10px 0 0;
    }

    .listingBox .list,
    .packageListSection .listingBox .list {
        padding: 14px;
    }

    .listingBox .content .contentHead {
        padding-right: 0;
    }

    .listingBox .content h4 {
        width: 100%;
    }

    .listingBox .content h3 {
        position: relative;
        /* padding-right: 150px; */
        font-size: 18px;
        line-height: 22px;
    }

    .packageListSection .listingBox .content h3 {
        padding-right: 0px;
        width: 100%;
    }

    .tickIcon {
        /* display: inline-block; */
        /* margin: 0px 10px 0 0; */
        /* max-width: 16px; */
    }

    .tagIcon {
        /* max-width: 50px; */
    }

    .ratingBox {
        /* margin-left: 0; */
        /* text-align: left; */
        /* width: 100%; */
        display: flex;
        align-items: center;
        padding: 5px 0 12px;
        position: static;
    }

    .tagBox {
        /* position: absolute; */
        right: 0;
        display: inline-block;
    }

    .ratingBox img {
        max-width: 120px;
        margin-right: 6px;
    }

    .ratingBox p {
        padding-top: 0;
        /* font-size: 10px; */
        /* line-height: 16px; */
    }

    .listingBox .enquiryList>.btn {
        width: 40%;
    }

    .location {
        margin: 0 0 8px;
        padding: 0;
    }

    .packageListSection .listingBox .content {
        display: flex;
    }

    .packageListSection .listingBox .content h4 {
        padding: 0px 0 10px;
        order: 1;
    }

    .packageListSection .dayDurationText {
        order: 2;
        margin: 5px 0 0;
    }

    .facilityContent {
        width: 100%;
        order: 3;
        padding: 10px 0;
        border-top: 1px solid rgba(204, 204, 204, 1);
        border-bottom: 1px solid rgba(204, 204, 204, 1);
        margin: 10px 0 0;
    }

    .packageBtn {
        width: 100%;
        display: flex;
        order: 4;
        position: relative;
        max-width: 100%;
        right: auto;
        bottom: auto;
        justify-content: space-between;
        align-items: center;
    }

    .packagePriceText {
        padding: 10px 0 0;
        max-width: calc(100% - 150px);
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }

    .packagePriceText p {
        width: 100%;
    }

    .packagePriceText h6,
    .packagePriceText h5 {
        width: 50%;
    }

    .packageBtn .btn {
        max-width: 150px;
        margin: 0 0 0 auto;
        text-align: center;
    }

    .listingBox .tags {
        padding: 0px 0 10px;
    }

    .listingBox .content .enquiryList {
        order: 4;
    }

    .enquiryList .btn {
        padding: 0 10px;
        line-height: 36px;
        font-size: 14px;
    }

    .enquiryList .btn img {
        max-width: 14px;
        margin-top: -3px;
    }

    .replyContentBox {
        margin: 12px 0 0 30px;
    }

    .clickToRate,
    .replyEditBtn .editBtn {
        display: none;
    }

    .replyEditBtn {
        order: 2;
        position: absolute;
        top: -134px;
        right: 34px;
        max-width: 44px;
    }

    .listWrapper>.box {
        padding: 20px 0 0px;
    }

    .breadcrumb {
        display: none;
    }

    .breadcrumb-item,
    .breadcrumb-item+.breadcrumb-item::before {
        font-size: 11px;
        line-height: 18px;
    }

    .breadcrumb-item+.breadcrumb-item {
        padding-left: 4px;
    }

    .breadcrumb-item+.breadcrumb-item::before {
        padding-right: 4px;
    }

    .replyEditBtn .btn {
        width: 33px;
        line-height: 31px;
    }

    .serviceDetailLeftBox .replyEditBtn .btn {
        width: 100%;
    }

    .listWrapper {
        position: relative;
    }

    .listWrapper .listHead .subHeading {
        padding: 0 60px 0 0;
    }

    .listWrapper .box .replyEditBtn {
        position: absolute;
        top: 20px;
        right: 0;
    }

    .serviceDetailLeftBox .listingBox .list {
        padding: 14px;
    }

    .serviceDetailLeftBox .listingBox .content h4 {
        width: calc(100% - 54px);
        padding-right: 50px;
        line-height: 22px;
    }

    .serviceDetailLeftBox .tickIcon {
        margin-left: 0;
    }

    .serviceDetailLeftBox .tagBox {
        padding: 12px 0;
        position: static;
    }

    .serviceDetailLeftBox .ratingBox {
        max-width: calc(100% - 90px);
        padding: 12px 0;
    }

    .serviceDetailLeftBox .ratingBox img {
        max-width: 65px;
        margin-right: 6px;
    }

    .serviceDetailLeftBox .ratingBox p {
        padding-top: 0;
        font-size: 10px;
        line-height: 16px;
    }

    .serviceDetailLeftBox .listingBox .location {
        position: static;
        margin: 0 0 8px;
        font-size: 13px;
        order: 3;
    }

    .serviceDetailLeftBox .listingBox .content .enquiryList {
        position: static;
        order: 4;
        gap: 3px;
    }

    .serviceDetailLeftBox .replyEditBtn {
        top: 14px;
        right: 14px;
    }

    .serviceDetailLeftBox .listingBox .enquiryList>.btn {
        width: calc(33% - 4px);
        padding: 0 10px;
        font-size: 13px;
    }

    .clickRating {
        gap: 5px;
    }

    .clickRating label {
        height: 38px;
        width: 38px;
    }

    .clickRating label img {
        max-width: 20px;
    }

    .serviceDetailLeftBox .listingBox .content {
        padding: 0;
    }

    .serviceDetailLeftBox .listingBox .fixListBox .content .tagBox,
    .fixListBox .ratingBox {
        padding: 2px 0 4px;
    }

    .serviceDetailLeftBox .listingBox .fixListBox .list {
        padding: 10px;
    }

    .fixListBox .replyEditBtn {
        top: 10px;
        right: 10px;
        max-width: 40px;
    }

    .fixListBox .enquiryList .btn {
        padding: 0 8px;
        line-height: 26px;
        font-size: 9px;
    }

    .fixListBox .enquiryList .btn img {
        max-width: 11px;
        margin-top: -2px;
    }

    .fixListBox .ratingBox {
        margin-bottom: 0;
    }

    .listingBox .fixListBox .content .enquiryList {
        position: static;
    }

    .tourPackagePrice .leftbox {
        width: 100%;
    }

    .tourPackagePrice .leftbox h3 {
        padding: 10px 0 0;
    }

    .bottomBox .ratingBox {
        padding: 6px 0;
    }

    .packageText {
        padding: 0 0 10px;
        width: 100%;
    }

    .tourPackagePrice .rightBox {
        padding: 12px 14px;
        max-width: 310px;
        width: 100%;
    }

    .aboutImage {
        width: 100%;
    }

    .aboutContent .box {
        width: 100%;
        padding-left: 0;
    }

    /* Register Page */

    .registerSection {
        padding: 30px 0;
    }

    .tabFormBox .arrow-box a {
        font-size: 12px;
    }

    /* More Filter */

    .moreFilterBox {
        z-index: 6;
        width: 90%;
    }

    .filterBox .btn img {
        max-width: 16px;
    }

    .moreFilterBox .subHeading,
    .middleFilterContent {
        padding: 20px;
    }

    .middleFilterContent label.form-check-label {
        font-size: 11px;
        padding: 0 10px;
        line-height: 34px;
    }

    .middleFilterContent label.form-check-label img {
        margin: -2px 3px 0 0;
        max-width: 12px;
    }

    .middleFilterContent .form-inline .form-check {
        width: auto;
        padding: 0;
    }

    .mediaSlider.owl-carousel .owl-nav button.owl-next {
        right: -20px;
        left: auto;
    }

    .footerFilter {
        padding: 20px 15px;
    }

    /* Dashboard Page */

    .dashboardContainer {
        padding: 40px 0;
    }

    .dashboardContainer .listingBox {
        padding-right: 0;
        max-width: 100%;
        display: block !important;
        width: 100%;
        white-space: nowrap;
        overflow-x: auto;
    }

    .dashboardContainer .listingBox .listing {
        padding-bottom: 0px;
        max-width: 125px;
        display: inline-block;
        vertical-align: top;
        white-space: normal;
    }

    .welcomeBox {
        padding: 20px;
        margin: 30px 0 0;
    }

    .welcomeBox h3 {
        font-size: 20px;
        line-height: 28px;
    }

    .progressBar {
        padding: 14px 0;
    }

    .progressBar p {
        font-size: 14px;
        line-height: 24px;
        padding: 10px 0 0;
    }

    .dashboardBusinessListing {
        padding: 40px 0;
    }

    .dashboardBusinessListing .listing {
        max-width: 220px;
        padding: 15px 40px 15px 15px;
    }

    .dashboardTwoSection .dashboardBusinessListing .listing {
        max-width: calc(50% - 10px);
    }

    .blogHead h2 {
        font-size: 40px;
        width: 100%;
        padding: 0 0 10px;
    }

    .blogHead p {
        font-size: 12px;
        line-height: 20px;
        max-width: 100%;
    }

    .blogBox {
        padding: 30px 0;
        margin-bottom: 30px;
    }

    .blogBox .box h5,
    .articleListing .box h5 {
        font-size: 20px;
        line-height: 24px;
    }

    .blogBox .box p,
    .articleListing .box p {
        /* font-size: 12px; */
        /* line-height: 20px; */
    }

    .blogBox .box span,
    .articleListing .box span {
        font-size: 11px;
        line-height: 18px;
        padding: 5px 0 0;
    }

    .articleListing {
        gap: 15px;
    }

    .contactBox {
        padding: 30px 0 0;
    }

    .contactLeft {
        max-width: 100%;
        order: 2;
        padding: 20px 0 0;
        min-height: 400px;
    }

    .contactLeft .subHeading h2 {
        font-size: 30px;
        line-height: 40px;
    }

    .contactRight {
        padding: 20px;
        max-width: 100%;
    }

    .contactRight h3 {
        font-size: 22px;
        line-height: 30px;
        padding: 0 0 14px;
    }

    .contactRight .form-control {
        height: 38px;
    }

    .contactRight textarea.form-control {
        height: 100px;
    }

    .mapBox {
        padding: 30px 0;
    }

    .paginationBox .pagination {
        padding: 0 60px;
        gap: 4px;
    }

    .paginationBox .page-link {
        font-size: 10px;
        padding: 0 8px;
        margin: 0;
        line-height: 30px;
        min-width: 30px;
    }

    .paginationBox .pagination::before,
    .paginationBox .pagination::after {
        width: 50px;
    }

    .serviceRightBox .enquiryForm {
        padding: 36px 15px 20px;
    }

    .popularListing {
        border-radius: 10px;
        padding: 15px 15px 20px;
    }

    .popularListing ul {
        max-height: 130px;
    }

    .popularListing ul li {
        /* font-size: 12px; */
        /* line-height: 18px; */
        padding-left: 0px;
        padding-bottom: 10px;
    }

    .popularListing a {
        font-size: 13px;
        line-height: 20px;
        margin-top: 10px;
        display: inline-block;
    }

    .btn.hideOnMobile {
        display: none;
    }

    /* Filter Popup Style */

    .filterBox {
        display: flex;
        align-items: center;
        overflow-x: auto;
        white-space: nowrap;
        padding-right: 0;
        /* remove the space reserved for button */
    }

    .filterBox .btn {
        position: relative;
        /* no absolute */
        order: -1;
        /* move to the start */
        flex: 0 0 auto;
        /* don’t stretch */
        margin-right: 10px;
        /* spacing from next item */
        min-width: 40px;
        line-height: 23px;
    }

    .filterBox .selectToggleTab {
        flex: 0 0 auto;
        /* make tabs scrollable horizontally */
    }

    .subHeading h1 {
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
    }

    .toggleTab {
        font-size: 12px;
        padding: 2.5px 5px;
    }

    .socialLinks {
        padding: 5px;
        bottom: -35px;
        min-width: 130px;
    }

    .socialLinks a {
        height: 24px;
        width: 24px;
        line-height: 22px;
        margin: 0 2px;
    }

    /* Popup Responsive Style  */

    .loginModalPopup .modal-dialog,
    .ratingModalPopup .modal-dialog {
        width: 100%;
        min-height: 100vh;
        margin: 0;
    }

    .loginModalPopup .modal-content,
    .ratingModalPopup .modal-content {
        min-height: 100vh;
        margin: 0;
        border-radius: 0
    }

    .popupHead>div {
        width: 100%;
    }

    .popupHead h3 {
        font-size: 16px;
        width: 100%;
        padding: 0 0 14px
    }

    .loginModalForm h4 {
        max-width: 150px;
    }

    .loginModalForm .form-group {
        margin-bottom: 10px;
    }

    .loginModalForm .form-control {
        height: 40px;
        padding: 12px;
        font-size: 14px;
        border: 1px solid #F4B300;
        border-radius: 10px;
    }

    .radionBtnBox .form-check-label,
    .checkboxBtnBox .form-check-label {
        font-size: 12px;
        line-height: 20px;
        padding-left: 25px;
    }

    .radionBtnBox label {
        font-size: 13px;
    }

    .radionBtnBox .form-check input[type=radio]+label:before,
    .checkboxBtnBox.form-check input[type=checkbox]+label:before {
        height: 20px;
        width: 20px;
    }

    .radionBtnBox .form-check input[type=radio]:checked+label:after {
        height: 10px;
        width: 10px;
    }

    .checkboxBtnBox.form-check input[type=checkbox]:checked+label:after {
        background-size: 14px;
        height: 20px;
        width: 20px;
    }

    .loginModalForm .btn {
        font-size: 12px;
        line-height: 34px;
        border-radius: 10px;
        max-width: 190px;
        margin: 10px auto 0;
    }

    .loginModalForm .btn span img {
        max-width: 15px;
        margin-top: -2px;
        margin-right: 4px;
    }

    .carImage {
        display: block;
        margin: 0 auto;
    }

    .carImage img {
        max-width: 75%;
    }

    .ratingHead {
        padding-left: 70px;
        width: 100%;
        min-height: inherit;
    }

    .ratingHead span {
        max-width: 50px;
    }

    .popupHeading h2 {
        font-size: 20px;
        line-height: 24px;
        padding: 24px 0 12px;
    }

    .packageTabBox .tabBox .nav-tabs .nav-link img {
        max-width: 20px;
    }

    .pacakgeFixListBox .ratingBox,
    .pacakgeFixListBox .replyEditBtn,
    .pacakgeFixListBox .packagePriceText {
        display: none;
    }

    .listingBox.pacakgeFixListBox .fixListBox .content {
        padding: 0;
    }

    .listingBox.pacakgeFixListBox .content h4 {
        max-width: calc(100% - 100px);
    }

    .pacakgeFixListBox .packageBtn {
        max-width: 95px;
    }

    .pacakgeFixListBox .packageBtn .btn {
        max-width: 140px;
        line-height: 30px;
        padding: 0 8px;
        font-size: 11px;
    }

    .pacakgeFixListBox .packageBtn .btn img {
        max-width: 12px;
        margin-left: 2px;
    }

}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {

    body {
        /* font-size: 10px; */
        /* line-height: 20px; */
    }

    .headBtns:before,
    .headBtns:after {
        top: 42px;
    }

    .ratingReviewsBox .box {
        flex-wrap: wrap;
    }

    .ratings {
        max-width: 45%;
    }

    .ratingCategoryList {
        padding: 0 0 0 20px;
        max-width: 55%;
    }

    .ratingReviewsBox .btnBox {
        margin: 10px auto 4px;
    }

    .helpBoxText .form-inline {
        width: 100%;
        max-width: 130px;
    }

    .helpBoxText .form-inline .form-check {
        margin-left: 10px;
        padding: 0;
        text-align: center;
        width: 40%;
    }

    .bestSellerText {
        background-size: 70px;
        line-height: 20px;
        width: 70px;
        height: 20px;
        padding: 0 9px;
    }

    .dayDurationText {
        line-height: 20px;
        padding: 0 10px;
    }

    .listingBox .content h4 {
        font-size: 14px;
        line-height: 20px;
    }

    .routeDetailText p {
        font-size: 10px;
        line-height: 18px;
        padding: 0 0 10px;
    }

    .routeDetailText p span {
        margin: 0 5px;
        max-width: 12px;
    }

    .packagePriceText h5 {
        font-size: 18px;
    }

    .packageBtn .btn {
        max-width: 130px;
        font-size: 12px;
        line-height: 36px;
    }

    .packageBtn .btn img {
        max-width: 16px;
    }

    .galleryListing .box {
        max-width: calc(50.6% - 12px);
    }

    .boxContent,
    .packageDetailListSection .customerMediaPartnerContent .boxContent {
        width: 100%;
    }

    .mediaSlider .content {
        padding: 30px 0 0 60px;
    }

    .mediaSlider .content:before {
        width: 50px;
    }

    .packageDetailListSection .customerMediaPartnerContent {
        gap: 20px;
    }

    .listCarousel,
    .listCarouselImage {
        width: 100%;
    }

    /* Register Page */

    .tabFormBox {
        max-width: 100%;
        display: block;
        overflow-y: auto;
        white-space: nowrap;
    }

    /* Dashboard Page */

    .dashboardBusinessListing .listing,
    .dashboardTwoSection .dashboardBusinessListing .listing {
        max-width: 100%;
        padding: 15px 40px 15px 15px;
    }

    .articleListing .box {
        width: calc(50% - 8px);
    }

    .blogRight .box .images {
        /* max-width: 150px; */
        /* padding-right: 15px; */
    }

    .blogRight .box .images {
        max-width: 100%;
        padding-right: 0;
    }

    .articleBox .tabBox:nth-child(2),
    .blogRight .box .content {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .listingBox .tags li {
        padding: 0 10px;
        /* font-size: 10px; */
    }

    .enquiryList .btn {
        padding: 0 8px;
        /* font-size: 10px; */
    }

    .listingBox .content .enquiryList {
        left: 10px;
        gap: 10px;
    }

    .serviceDetailLeftBox .listingBox .tags li {
        font-size: 10px;
    }

    .serviceDetailLeftBox .ratingBox p {
        max-width: 110px;
    }

    .serviceDetailLeftBox .listingBox .fixListBox .content h4 {
        line-height: 30px;
    }

    .serviceDetailLeftBox .fixListBox .ratingBox p {
        max-width: 150px;
        padding: 0;
    }

    .serviceDetailLeftBox .listingBox .enquiryList>.btn {
        padding: 0 6px;
        line-height: 28px;
        width: calc(33.8% - 4px);
        font-size: 9px;
    }

    .packageImageSlider .serviceSlider .images span {
        height: 260px;
    }

    .replyEditBtn {
        top: -165px;
        right: 14px;
    }

    .listingBox .enquiryList .replyEditBtn .btn {
        padding: 0 10px;
        width: 100%;
    }

    .listingBox .enquiryList>.btn {
        padding: 0 8px;
        line-height: 30px;
        width: calc(50% - 5px);
    }

    .listingBox .fixListBox .enquiryList .btn {
        line-height: 22px;
    }

    .tourPackagePrice .rightBox {
        max-width: 100%;
    }
}

@media (max-width: 380px) {

    .packagePriceText {
        max-width: calc(100% - 100px);
    }


    .packageBtn .btn img {
        max-width: 10px;
    }

    .packageBtn .btn {
        max-width: 95px;
        font-size: 11px;
        padding: 0 10px;
    }
}

/* =========================================================
   CABDUNIA MOBILE POPUP — SAFE FINAL VERSION
========================================================= */

@media (max-width: 767.98px) {

  /* ---------------------------
     Bottom Sheet Positioning
  ---------------------------- */

  .loginModalPopup .modal-dialog {
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0;
    right: 0;
    width: 100% !important;
    max-width: 100% !important;
    height: 60vh !important;
    margin: 0 !important;
    transform: none !important;
    display: flex !important;
    align-items: flex-end !important;
  }

  /* Kill Bootstrap centering */
  .loginModalPopup .modal-dialog-centered {
    align-items: flex-end !important;
    min-height: auto !important;
  }

  .loginModalPopup .modal-content,
  .loginModalPopup .modal-content.enquiryForm {
    height: auto;
    max-height: 60vh !important;
    min-height: auto !important;
    border-radius: 18px 18px 0 0 !important;
    margin: 0 !important;
  }

  /* ---------------------------
     Internal Scroll Only
  ---------------------------- */

  .loginModalPopup .modal-body {
    max-height: calc(60vh - 70px) !important;
    /*overflow-y: auto !important;*/
    -webkit-overflow-scrolling: touch;
    padding-bottom: 40px !important;
  }

  /* ---------------------------
     Remove Car Image
  ---------------------------- */

  .loginModalPopup .carImage {
    display: none !important;
  }

  /* ---------------------------
     Fix Yellow Circle
  ---------------------------- */

  .loginModalPopup .enquiryForm::before {
    height: 140px !important;
    width: 140px !important;
    top: -60px !important;
    left: -60px !important;
    opacity: 0.4 !important;
  }

  /* ---------------------------
     Bottom → Up Animation
  ---------------------------- */

  .loginModalPopup.modal.fade .modal-dialog {
    transform: translateY(100%) !important;
  }

  .loginModalPopup.modal.show .modal-dialog {
    transform: translateY(0) !important;
  }

  .loginModalPopup .modal-dialog {
    transition: transform 0.35s ease-out !important;
  }

  /* ---------------------------
     Blur Background
  ---------------------------- */

  .modal-backdrop.show {
   background: rgba(0, 0, 0, 1) !important;
   backdrop-filter: blur(8px) saturate(140%) contrast(90%);
   -webkit-backdrop-filter: blur(8px) saturate(140%) contrast(90%);
}
  .modal::before {
   content: "";
   position: fixed;
   inset: 0;
   background: rgba(255, 255, 255, 0.08);
   backdrop-filter: blur(5px);
   -webkit-backdrop-filter: blur(8px);
   z-index: -1;
}

  /* ---------------------------
     Lock Background Scroll
  ---------------------------- */

  body.modal-open {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
  }

  /* ---------------------------
     Prevent iOS Zoom Jump
  ---------------------------- */

  .loginModalPopup input,
  .loginModalPopup textarea,
  .loginModalPopup select {
    font-size: 16px !important;
  }
}

@media (max-width: 767.98px) {

  /* Base hidden state */
  .loginModalPopup .pMsg {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 110px;
    z-index: 999;
    width: calc(100% - 40px);
    max-width: 320px;
    text-align: center;
    pointer-events: none;
  }

  /* When your system adds .error */
  .loginModalPopup .pMsg.error {
    display: block;
    animation: errorToast 2.2s ease forwards;
  }

  @keyframes errorToast {
    0% {
      opacity: 0;
      transform: translate(-50%, 10px);
    }
    10% {
      opacity: 1;
      transform: translate(-50%, 0);
    }
    80% {
      opacity: 1;
      transform: translate(-50%, 0);
    }
    100% {
      opacity: 0;
      transform: translate(-50%, -10px);
    }
  }
}

/* =========================================================
   RATING POPUP — FINAL MOBILE VERSION (NO SCROLL)
========================================================= */

@media (max-width: 767.98px) {

  /* Bottom sheet positioning */
  .ratingModalPopup .modal-dialog {
    position: fixed !important;
    bottom: 0 !important;
    left: 0;
    right: 0;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
  }

  /* Remove Bootstrap centering */
  .ratingModalPopup .modal-dialog-centered {
    align-items: flex-end !important;
    min-height: auto !important;
  }

  /* Rounded top */
 .ratingModalPopup .modal-content {
    height: auto !important;
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    min-height: unset !important;
    border-radius: 18px 18px 0 0 !important;
    margin: 0 !important;
    padding-top: calc(16px + env(safe-area-inset-top)) !important;
    padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important;
  }

  /* Header */
  .ratingModalPopup .modal-header {
    padding: 0px 15px !important;
    border-radius: 18px 18px 0 0;
  }

  /* No internal scroll */
  .ratingModalPopup .modal-body {
    overflow: visible !important;
    max-height: none !important;
    padding-bottom: 20px !important;
  }

  /* Slide up animation */
  .ratingModalPopup.modal.fade .modal-dialog {
    transform: translateY(100%) !important;
  }

  .ratingModalPopup.modal.show .modal-dialog {
    transform: translateY(0) !important;
  }

  .ratingModalPopup .modal-dialog {
    transition: transform 0.35s ease-out !important;
  }

  /* Prevent iOS zoom */
  .ratingModalPopup input,
  .ratingModalPopup textarea,
  .ratingModalPopup select {
    font-size: 16px !important;
  }

  /* Restore star rating */
  .ratingModalPopup .clickToRate {
    display: block !important;
    margin: 12px 0;
    text-align: center;  
  }

  .ratingModalPopup .clickRating {
    display: flex !important;
    gap: 10px;
    justify-content: center !important;
    flex-wrap: nowrap;
  }

  .ratingModalPopup .clickRating label img {
    width: 28px;
    height: 28px;
  }

}


@media (max-width: 767.98px) {

  .ratingModalPopup .ratingBtn {
    text-align: center;
    margin-top: 20px;
  }

  .ratingModalPopup .ratingBtn .btn {
    display: inline-block;
    margin: 0 auto;
    padding: 1px 0;
    width: 200px !important;      /* Increase width */
    font-size: 16px;
    border-radius: 10px;
    background: #F4B300;       /* Yellow */
    color: #fff;               /* White text */
    border: none;
    font-weight: 600;
  }
}
@supports (-webkit-touch-callout: none) {

  /* Limit vendor name to 2 lines */
  .ratingModalPopup .ratingHead h3 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Limit address to 2 lines */
  .ratingModalPopup .ratingHead p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

@media (max-width: 767.98px) {

  .serviceDetailLeftBox .listingBox .enquiryList {
    display: flex;
    justify-content: space-between;
    gap: 8px; /* space between buttons */
  }

  .serviceDetailLeftBox .listingBox .enquiryList > .btn {
    width: 31% !important;  /* reduced width */
    padding: 0 8px !important;
    font-size: 12px !important;
    line-height: 34px !important;
  }
}
@media (max-width: 767.98px) {
  .serviceDetailLeftBox .tagBox,
  .serviceDetailLeftBox .ratingBox {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  .sendEnquiryModalBox ul {
    display: none !important;
  }
    .bigText {
        padding: 12px;
 }
}

/* Extra large devices (large desktops) */
/* No media query since the extra-large breakpoint has no upper bound on its width */