@media(min-width: 320px) and (max-width: 575.98px) {
    .hero-banner.hero-banner-2 {
        padding-top: 120px;
        padding-bottom: 60px;
    }

    .hero-banner .banner-content h1 {
        font-size: 28px;
        margin-bottom: 15px;
        line-height: 1.3;
    }

    .hero-banner .banner-content p {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .search-box-container {
        max-width: 100%;
        padding: 0 10px;
    }

    .search-box {
        flex-direction: column;
        padding: 15px;
        border-radius: 20px;
        gap: 10px;
    }

    .search-input {
        width: 100%;
        padding: 8px 10px;
        border-bottom: 1px solid #eee;
    }

    .search-input:last-of-type {
        border-bottom: none;
    }

    .divider {
        display: none;
    }

    .search-btn {
        width: 100%;
        height: 45px;
        border-radius: 25px;
        margin-left: 0;
    }

    .swiper[data-slides-per-view="5"] {
        --slides-per-view: 1.5 !important;
    }

    .category-area {
        padding: 50px 0;
    }

    .category-area .col-12.text-center.mb-50 {
        margin-bottom: 30px !important;
    }

    .category-area h2.title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .category-card {
        padding: 0;
    }

    .cat-card-inner {
        padding: 20px;
    }

    .cat-icon {
        width: 50px;
        height: 50px;
        font-size: 24px;
        margin-bottom: 15px;
    }

    .cat-title {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .cat-desc {
        font-size: 13px;
    }

    .how-it-works-area {
        padding: 50px 0;
    }

    .how-it-works-area h2.title {
        font-size: 24px;
        margin-bottom: 30px;
    }

    .work-step {
        margin-bottom: 25px !important;
        text-align: left !important;
    }

    .step-number {
        font-size: 48px;
        margin-bottom: 0;
        align-self: center;
    }

    .step-card {
        width: 100%;
        padding: 15px;
    }

    .step-card .icon {
        width: 40px !important;
        height: 40px !important;
        font-size: 18px;
    }

    .step-card h4 {
        font-size: 16px;
    }

    .step-card p {
        font-size: 13px;
    }

    .right-images {
        margin-top: 30px;
        position: relative;
        height: 300px;
    }

    .right-images .img-main {
        width: 40%;
        height: 250px;
        object-fit: cover;
        border-radius: 15px;
    }

    .right-images .img-side {
        position: absolute;
        width: 55%;
        height: 100%;
        right: 0;
        z-index: 1;
        top: 0;
        border-radius: 18px;
    }

    .verified-box {
        position: absolute;
        z-index: 3;
        bottom: 57px;
        left: 20px;
    }

    .verified-box .avatars img {
        width: 46px;
        height: 46px;
    }

    .verified-box strong {
        font-size: 20px !important;
    }

    .service-area {
        padding: 50px 0;
    }

    .section-title h2.title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .section-title.title-inline {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 15px;
    }

    .tabs-navigation {
        width: 100%;
        overflow-x: auto;
        margin-left: 0 !important;
    }

    .tabs-navigation .nav-tabs {
        flex-wrap: nowrap;
        white-space: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .tabs-navigation::-webkit-scrollbar,
    .tabs-navigation .nav-tabs::-webkit-scrollbar {
        display: none;
        width: 0 !important;
        height: 0 !important;
        -webkit-appearance: none;
        background: transparent;
    }

    .tabs-navigation,
    .tabs-navigation .nav-tabs {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .tabs-navigation .nav-link {
        font-size: 13px;
        padding: 6px 12px !important;
    }

    .swiper[data-slides-per-view="4"] {
        --slides-per-view: 1.2 !important;
    }

    .service-card {
        margin-bottom: 15px;
    }

    .service-card-img img {
        height: 200px;
    }

    .service-card-body {
        padding: 15px;
    }

    .service-title {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .service-title a {
        font-size: 16px;
    }

    .service-vendor .tag {
        font-size: 12px;
        padding: 4px 10px;
    }

    .service-location {
        font-size: 13px;
        margin: 8px 0;
    }

    .service-footer {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }

    .service-price strong {
        font-size: 18px;
    }

    .btn.btn-sm.rounded-pill {
        width: 100%;
        padding: 8px 20px;
    }

    .banner-collection {
        padding-bottom: 40px;
    }

    .banner-sm {
        margin-bottom: 15px;
    }

    .banner-sm .banner-content {
        max-width: 100%;
        padding: 20px;
    }

    .banner-sm h3 {
        font-size: 18px;
        margin-bottom: 15px !important;
    }

    .action-banner .wrapper {
        padding: 30px 20px !important;
        border-radius: 15px !important;
    }

    .action-banner h2.title {
        font-size: 22px;
        margin-bottom: 15px !important;
    }

    .action-banner p {
        font-size: 14px;
    }

    .action-banner .btn {
        font-size: 14px;
        padding: 10px 20px;
    }

    .shop-area {
        padding: 50px 0;
    }

    .product-default {
        margin-bottom: 15px;
    }

    .product-default .product-details {
        padding: 15px;
    }

    .product-default h6 {
        font-size: 15px;
    }

    .product-default .btn {
        font-size: 13px;
        padding: 6px 15px;
    }

    .swiper-pagination {
        margin-top: 20px;
    }

    .slider-btn {
        display: none !important;
    }

    .ptb-100 {
        padding: 50px 0;
    }

    .pt-100 {
        padding-top: 50px;
    }

    .pb-100,
    .pb-70 {
        padding-bottom: 50px;
    }

    .mb-50 {
        margin-bottom: 30px !important;
    }

    .mb-40 {
        margin-bottom: 25px !important;
    }

    .mb-30 {
        margin-bottom: 20px !important;
    }

    .newsletter-hero {
        padding: 50px 15px;
    }

    .newsletter-box {
        padding: 40px 20px;
        border-radius: 24px;
    }

    .newsletter-box h2 {
        font-size: 26px;
    }

    .newsletter-box .subtitle {
        font-size: 14px;
        margin: 15px auto 25px;
    }

    .newsletter-input-wrap {
        flex-direction: column;
        align-items: stretch;
        border-radius: 20px;
        padding: 10px;
    }

    .newsletter-input-wrap .icon {
        display: none;
    }

    .newsletter-input-wrap input {
        padding: 10px 12px;
        font-size: 14px;
        margin-bottom: 10px;
        border-radius: 10px;
        border: 1px solid #eee;
    }

    .newsletter-input-wrap button {
        width: 100%;
        padding: 12px 18px;
        font-size: 15px;
    }

    /* Service Details Mobile Layout */
    .service-header-wrapper {
        flex-direction: column !important;
        gap: 20px;
    }

    .service-title-section {
        width: 100%;
    }

    .service-detail-title {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .location-display {
        margin-bottom: 0;
    }

    .vendor-rating-box {
        width: 100%;
        margin-top: 0;
    }

    .features-grid {
        grid-template-columns: 1fr !important;
    }

    .listing-scroll-area {
        height: auto !important;
        overflow-y: visible !important;
        padding-right: 0 !important;
    }
}

@media (min-width: 575px) and (max-width: 991.98px) {

    .hero-banner.hero-banner-2 {
        padding-top: 160px;
        padding-bottom: 80px;
    }

    .hero-banner .banner-content h1 {
        font-size: 42px;
        margin-bottom: 20px;
    }

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

    .search-box-container {
        max-width: 700px;
    }

    .search-input input {
        font-size: 15px;
    }

    .swiper[data-slides-per-view="5"] {
        --slides-per-view: 3 !important;
    }

    .category-area h2.title {
        font-size: 32px;
    }

    .how-it-works-area h2.title {
        font-size: 32px;
    }

    .work-step {
        margin-bottom: 35px !important;
    }

    .step-card {
        padding: 20px;
    }

    .right-images .img-main {
        max-width: 100%;
    }

    .verified-box {
        bottom: 20px;
        left: 20px;
    }

    .swiper[data-slides-per-view="4"] {
        --slides-per-view: 2.5 !important;
    }

    .service-card-horizontal {
        flex-direction: row !important;
        align-items: stretch;
    }

    .service-card-horizontal .horizontal-img {
        flex: 0 0 251px !important;
        max-width: 251px !important;
    }

    .service-card-horizontal .horizontal-img img {
        width: 251px !important;
        height: 176px !important;
        object-fit: cover;
    }

    .service-card-horizontal .service-card-body {
        padding: 16px 18px;
    }

    .section-title h2.title {
        font-size: 32px;
    }

    .section-title.title-inline {
        flex-wrap: wrap;
    }

    .tabs-navigation {
        width: 100%;
        margin-left: 0 !important;
        margin-top: 15px;
    }

    .tabs-navigation .nav-tabs {
        justify-content: flex-start;
    }

    .action-banner .wrapper {
        padding: 40px !important;
    }

    .ptb-100 {
        padding: 70px 0;
    }

    .pt-100 {
        padding-top: 70px;
    }

    .pb-100,
    .pb-70 {
        padding-bottom: 70px;
    }

    .newsletter-hero {
        padding: 70px 30px;
    }

    .newsletter-box {
        padding: 70px 40px;
        max-width: 900px;
    }

    .newsletter-input-wrap {
        max-width: 560px;
    }

    .service-location {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .service-location i {
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px;
    }
}

@media (min-width: 991.98px) and (max-width: 1180px) {
    .right-images .img-main {
        position: relative;
        z-index: 2;
        width: 191px;
        height: 280px;
        border-radius: 18px;
        margin-right: 40px;
    }

    .right-images .img-side {
        position: absolute;
        width: 257px;
        height: 400px;
        right: 0;
        z-index: 1;
        top: 0;
        border-radius: 18px;
    }

    .service-location {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        font-size: 13px;
    }

    .service-location i {
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px;
    }
}

@media (min-width: 1180px) and (max-width: 1366px) {
    .right-images .img-main {
        position: relative;
        z-index: 2;
        width: 216px;
        height: 349px;
        border-radius: 18px;
        margin-right: 40px;
    }

    .right-images .img-side {
        position: absolute;
        width: 320px;
        height: 460px;
        right: 0;
        z-index: 1;
        top: 0;
        border-radius: 18px;
    }
}