/*--------------------------------------------------------------------- File Name: responsive.css ---------------------------------------------------------------------*/


/*------------------------------------------------------------------- 991px x 768px ---------------------------------------------------------------------*/

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .header-search {
        padding: 15px 0px;
    }
}


/*------------------------------------------------------------------- 767px x 599px ---------------------------------------------------------------------*/

@media only screen and (min-width: 599px) and (max-width: 767px) {
    .logo {
        text-align: center;
    }
    .cart-content-right {
        padding-bottom: 5px;
    }
    .mg {
        margin: 0px 0px;
    }
    .menu-area-main {
        height: 256px;
        overflow-y: auto;
    }
    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }
    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }
    .mean-container .mean-nav ul li a.mean-expand {
        height: 19px;
    }
    .category-box.women-box {
        display: none;
    }
    .cart-box {
        display: inline-block;
        margin: 0px 30px;
    }
    .wish-box {
        float: none;
        margin: 0px 30px;
        display: inline-block;
    }
    .menu-add {
        display: none;
    }
    .category-box {
        display: none;
    }
    .mean-container .mean-nav ul li ol {
        padding: 0px;
    }
    .mean-container .mean-nav ul li a {
        padding: 10px 20px;
        width: 94.8%;
    }
    .mean-container .mean-nav ul li li a {
        width: 92%;
        padding: 1em 4%;
    }
    .mean-container .mean-nav ul li li li a {
        width: 100%;
    }
    .header-search {
        padding: 15px 0px;
    }
    #collapseFilter.d-md-block {
        padding: 30px 0px;
    }
}


/*------------------------------------------------------------------- 599px x 280px ---------------------------------------------------------------------*/

@media only screen and (min-width: 280px) and (max-width: 599px) {
    .cart-content-right {
        padding-bottom: 5px;
    }
    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }
    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }
    .mean-container .mean-nav ul li a {
        padding: 1em 4%;
        width: 92%;
    }
    .mean-container .mean-nav ul li li a {
        width: 90%;
        padding: 1em 5%;
    }
    .mean-container .sub-full.megamenu-categories ol li a {
        padding: 5px 0px;
        text-transform: capitalize;
        width: 100%;
    }
    .megamenu .sub-full.megamenu-categories .women-box .banner-up-text a {
        width: auto;
        border: none;
        float: none;
    }
    .menu-area-main {
        height: 45px;
        overflow-y: auto;
    }
    .mean-container .mean-nav ul li a.mean-expand {
        top: 0;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {

    .contact_section_2 {
        width: 80%;
    }

    #banner_slider .carousel-control-prev {
        left: 0px;
        top: 380px;
    }

    #banner_slider .carousel-control-next {
        right: -105%;
        top: 380px;
    }

    .about_text {
        width: 100%;
    }

    .carolo_text {
        padding-top: 30px;
    }

    .date_text {
        width: 100%;
    }

    .lorem_text {
        width: 80%;
    }

    .box_main {
        width: 100%;
        padding: 0px 50px 0px 0px;
    }

    .customer_right {
        padding-left: 130px;
    }

    .customer_img {
        top: -30px;
        left: -10px;
    }

    /* Fix price text on medium desktop screens */
    .price_text span[style*="margin-left: 20px"] {
        margin-left: 10px !important;
    }

    .price_main .read_btn {
        max-width: 48%;
    }

    .price_main .ml-md-4 {
        width: 100%;
        flex-wrap: wrap;
    }

}

@media (min-width: 768px) and (max-width: 991px) {
    .banner_taital_main{
        padding: 0px;
    }

    #banner_slider .carousel-control-prev {
        left: 0px;
        top: 290px;
    }

    #banner_slider .carousel-control-next {
        right: -380px;
        top: 290px;
    }

    .about_text {
        width: 100%;
    }

    .about_img {
        margin-top: 60px;
    }

    .carolo_text {
        padding-top: 0;
    }

    .read_btn {
        width: auto;
        max-width: 100%;
    }

    .price_text {
        padding-top: 45px;
    }

    /* Fix price text on tablet screens */
    .price_text > span {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
    }

    .price_text > span > span {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        gap: 4px !important;
    }

    .price_text > span > span > span {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .price_text span[style*="margin-left: 20px"] {
        margin-left: 0 !important;
    }

    .price_main .ml-md-4 {
        margin-left: 0 !important;
        margin-top: 15px !important;
        width: 100% !important;
    }

    .price_main .read_btn {
        margin-bottom: 8px !important;
    }

    /* Add padding for tablet screens */
    .models_section_2 .col-md-6 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .models_section_2 .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .ullamco_text{
        margin: 0px;
    }

    .rated_text {
        padding-top: 20px;
    }

    .date_text {
        width: 100%;
    }

    .lorem_text {
        width: 100%;
    }

    .customer_img {
        top: -40px;
        left: -20px;
    }

    .customer_right {
        padding-left: 150px;
    }

    .enim_text {
        font-size: 14px;
    }

    .box_main {
        width: 100%;
        padding: 0px 50px 0px 0px;
    }

    .contact_section_2 {
        width: 80%;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .navbar {
        padding: 15px 0px;
    }

    #banner_slider a.carousel-control-next {
        right: 0px;
        top: 585px;
        left: 170px;
        display: none;
    }
    #banner_slider a.carousel-control-prev {
        left: 100px;
        top: 585px;
        display: none;
    }
    .banner_section {
        padding: 50px 0px;
    }
    .banner_taital_main {
        padding-left: 0px;
    }
    .banner_taital {
        font-size: 50px;
    }

    .about_taital {
        font-size: 32px;
    }

    .about_text {
        width: 100%;
    }

    .models_taital {
        font-size: 30px;
    }

    .price_main {
        display: block;
    }

    .models_img {
        margin-top: 30px;
    }

    .rated_text {
        padding-top: 30px;
    }
    .blog_taital {
        font-size: 29px;
    }

    .date_text {
        width: 100%;
    }

    .blog_img {
        margin-top: 30px;
    }

    .client_taital {
        font-size: 30px;
    }

    .blog_img img {
        width: 100%;
    }

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

    .customer_img {
        position: inherit;
        top: 0px;
        left:0px;
    }

    .customer_left {
        width: 100%;
        float: left;
    }

    .customer_right {
        margin-top: 0px;
        padding-left: 0px;
    }

    .enim_text {
        font-size: 14px;
    }

    .customer_name {
        padding-top: 20px;
    }

    .contact_section_2 {
        width: 100%;
    }

    .send_bt {
        width: 135px;
        float: left;
    }

    .map_bt {
        width: 135px;
        float: right;
        margin-right: 0px;

    }

    .social_icon {
        margin-top: 0px;
    }

    /* Fix for Réserver button visibility on medium mobile - Stack vertically */
    .models_section_2 {
        padding: 20px 15px 30px 15px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        margin-bottom: 20px !important;
    }

    .models_section_2 .col-md-6 {
        padding-left: 15px !important;
        padding-right: 15px !important;
        overflow: visible !important;
        width: 100% !important;
    }

    .models_section_2 .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Add padding to inner content elements */
    .models_section_2 .models_img,
    .models_section_2 .carolo_text,
    .models_section_2 .vehicle_features,
    .models_section_2 .price_main {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .price_main {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .price_main .ml-md-4 {
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        margin-top: 15px !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        clear: both !important;
    }

    .price_main .read_btn {
        float: none !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        padding-top: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
    }

    .price_main .read_btn.mb-2 {
        margin-bottom: 0 !important;
    }
    
    .price_main .read_btn.mr-2 {
        margin-right: 0 !important;
    }

    .price_main .read_btn:first-child {
        margin-right: 0 !important;
        margin-bottom: 0 !important;
    }

    .price_main .read_btn:last-child {
        margin-left: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Add spacing between price and buttons to prevent overlap */
    .price_text {
        margin-bottom: 15px !important;
        padding-bottom: 10px !important;
    }
    
    .price_main .read_btn a {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        padding: 10px 14px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-height: 40px !important;
    }

    .price_main .read_btn a i {
        margin-right: 6px !important;
        flex-shrink: 0 !important;
        font-size: 14px !important;
    }

    .price_main .read_btn a span {
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: 13px !important;
    }
    
    /* Make booking buttons smaller on medium mobile to prevent overlap */
    .reserve-btn {
        font-size: 13px !important;
        padding: 10px 14px !important;
        min-height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .reserve-btn i {
        font-size: 14px !important;
        margin-right: 6px !important;
    }
    
    .reserve-btn span {
        font-size: 13px !important;
    }
}

@media (max-width: 575px) {
    .navbar {
        padding: 15px 0px;
    }

    #banner_slider a.carousel-control-next {
        right: 0px;
        top: 585px;
        left: 170px;
        display: none;
    }
    #banner_slider a.carousel-control-prev {
        left: 100px;
        top: 585px;
        display: none;
    }
    .banner_section {
        padding: 50px 0px;
    }
    .banner_taital_main {
        padding-left: 0px;
    }
    .banner_taital {
        font-size: 50px;
    }

    .about_taital {
        font-size: 32px;
    }

    .about_text {
        width: 100%;
    }

    .models_taital {
        font-size: 30px;
    }

    .price_main {
        display: block;
    }

    .models_img {
        margin-top: 30px;
    }

    .rated_text {
        padding-top: 30px;
    }
    .blog_taital {
        font-size: 29px;
    }

    .date_text {
        width: 100%;
    }

    .blog_img {
        margin-top: 30px;
    }

    .client_taital {
        font-size: 30px;
    }

    .blog_img img {
        width: 100%;
    }

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

    .customer_img {
        position: inherit;
        top: 0px;
        left:0px;
    }

    .customer_left {
        width: 100%;
        float: left;
    }

    .customer_right {
        margin-top: 0px;
        padding-left: 0px;
    }

    .enim_text {
        font-size: 14px;
    }

    .customer_name {
        padding-top: 20px;
    }

    .contact_section_2 {
        width: 100%;
    }

    .send_bt {
        width: 135px;
        float: left;
    }

    .map_bt {
        width: 135px;
        float: right;
        margin-right: 0px;

    }

    .social_icon {
        margin-top: 0px;
    }

    /* Fix for Réserver button visibility on mobile - Stack vertically */
    .models_section_2 {
        padding: 20px 15px 30px 15px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        margin-bottom: 20px !important;
    }

    .models_section_2 .col-md-6 {
        padding-left: 15px !important;
        padding-right: 15px !important;
        overflow: visible !important;
        width: 100% !important;
    }

    .models_section_2 .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Add padding to inner content elements */
    .models_section_2 .models_img,
    .models_section_2 .carolo_text,
    .models_section_2 .vehicle_features,
    .models_section_2 .price_main {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .price_main {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .price_main .ml-md-4 {
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        margin-top: 15px !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        clear: both !important;
    }

    .price_main .read_btn {
        float: none !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        padding-top: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
    }

    .price_main .read_btn.mb-2 {
        margin-bottom: 0 !important;
    }
    
    .price_main .read_btn.mr-2 {
        margin-right: 0 !important;
    }

    .price_main .read_btn:first-child {
        margin-right: 0 !important;
        margin-bottom: 0 !important;
    }

    .price_main .read_btn:last-child {
        margin-left: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Add spacing between price and buttons to prevent overlap */
    .price_text {
        margin-bottom: 15px !important;
        padding-bottom: 10px !important;
    }
    
    .price_main .read_btn a {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        padding: 10px 14px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-height: 40px !important;
    }

    .price_main .read_btn a i {
        margin-right: 6px !important;
        flex-shrink: 0 !important;
        font-size: 14px !important;
    }

    .price_main .read_btn a span {
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: 13px !important;
    }

    /* Make booking buttons smaller on mobile to prevent overlap */
    .reserve-btn {
        font-size: 13px !important;
        padding: 10px 14px !important;
        min-height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .reserve-btn i {
        font-size: 14px !important;
        margin-right: 6px !important;
    }
    
    .reserve-btn span {
        font-size: 13px !important;
    }
    
    .submit_btn {
        font-size: 15px !important;
        padding: 12px 20px !important;
        min-height: 44px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

}

@media (max-width: 575px) {
    /* Make booking buttons smaller on small mobile to prevent overlap */
    .price_text {
        margin-bottom: 12px !important;
        padding-bottom: 8px !important;
    }
    
    .reserve-btn {
        font-size: 12px !important;
        padding: 8px 12px !important;
        min-height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .reserve-btn i {
        font-size: 13px !important;
        margin-right: 5px !important;
    }
    
    .reserve-btn span {
        font-size: 12px !important;
    }
    
    .price_main .read_btn a {
        font-size: 12px !important;
        padding: 8px 12px !important;
        min-height: 36px !important;
    }
    
    .price_main .read_btn a i {
        font-size: 13px !important;
        margin-right: 5px !important;
    }
    
    .price_main .read_btn a span {
        font-size: 12px !important;
    }
    
    .submit_btn {
        font-size: 14px !important;
        padding: 10px 18px !important;
        min-height: 40px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* On very small screens, stack buttons vertically */
@media (max-width: 400px) {
    .models_section_2 .col-md-6 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .models_section_2 .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .price_main .read_btn {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .price_main .ml-md-4 {
        flex-direction: column !important;
    }
    
    /* Make booking buttons smaller on very small screens to prevent overlap */
    .price_text {
        margin-bottom: 10px !important;
        padding-bottom: 6px !important;
    }
    
    .reserve-btn {
        font-size: 11px !important;
        padding: 7px 10px !important;
        min-height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .reserve-btn i {
        font-size: 12px !important;
        margin-right: 4px !important;
    }
    
    .reserve-btn span {
        font-size: 11px !important;
    }
    
    .price_main .read_btn a {
        font-size: 11px !important;
        padding: 7px 10px !important;
        min-height: 32px !important;
    }
    
    .price_main .read_btn a i {
        font-size: 12px !important;
        margin-right: 4px !important;
    }
    
    .price_main .read_btn a span {
        font-size: 11px !important;
    }
    
    .submit_btn {
        font-size: 13px !important;
        padding: 9px 16px !important;
        min-height: 36px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Ensure all buttons are visible on mobile and prevent price overlap */
@media (max-width: 767px) {
    .read_btn,
    .read_btn a,
    .reserve-btn,
    .submit_btn {
        visibility: visible !important;
        opacity: 1 !important;
        display: flex !important;
    }

    /* Add spacing to prevent price text from overlapping buttons */
    .price_text {
        margin-bottom: 12px !important;
        padding-bottom: 8px !important;
    }

    .price_main {
        gap: 12px !important;
    }

    .price_main .read_btn {
        margin-bottom: 8px !important;
    }

    /* Ensure price text doesn't wrap into button area */
    .price_text > span {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .price_text > span > span {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        gap: 4px !important;
    }

    .price_text > span > span > span {
        margin-left: 0 !important;
        width: 100% !important;
        word-wrap: break-word !important;
    }

    /* Prevent price text from overlapping buttons */
    .price_text {
        line-height: 1.4 !important;
    }

    .price_text > div > div > div:last-child {
        flex-wrap: wrap !important;
        word-break: break-word !important;
    }

    /* Ensure buttons have proper margin from price */
    .price_main .ml-md-4 {
        margin-top: 12px !important;
        clear: both !important;
    }

    /* Fix for price text container to wrap properly */
    .price_text span[style*="display: flex"] {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .price_text span[style*="margin-left: 20px"] {
        margin-left: 0 !important;
    }

    /* Ensure button container doesn't overflow */
    .price_main .ml-md-4.d-flex {
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    /* Ensure all elements within price container fit */
    .models_section_2 .col-md-6 {
        overflow: visible !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Make sure price text and buttons stay within bounds */
    .price_main {
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
}