/* responsive.css - Media queries and responsive design */

/* =============================================
   GRID SYSTEM
   ============================================= */
@media (min-width: 992px) {
    .properties-items.col-lg-4 {
        width: 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

@media (min-width: 768px) {
    .properties-items.col-md-6 {
        width: 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767px) {
    .properties-items {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* =============================================
   DESKTOP AND LARGE SCREENS
   ============================================= */
@media (max-width: 1200px) {
    .header-area .main-nav .nav li {
        padding-left: 5px;
        padding-right: 5px;
    }
    .contact-page .section-heading {
        margin-right: 100px;
    }
}

/* =============================================
   TABLET LANDSCAPE
   ============================================= */
@media (max-width: 992px) {
    /* SUB-HEADER - MOBILE FRIENDLY VERSION */
    .sub-header {
        display: block !important;
        padding: 10px 0;
    }

    /* Make all columns full width and stack */
    .sub-header .col-lg-8.col-md-8,
    .sub-header .col-lg-3.col-md-3,
    .sub-header .col-lg-1.col-md-1 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    /* Contact info - center and stack vertically */
    .sub-header ul.info {
        text-align: center;
        margin-bottom: 10px;
    }

    .sub-header ul.info li {
        display: block;
        border-right: none;
        margin: 5px 0;
        padding: 0;
        font-size: 13px;
    }

    /* Social links and language switcher container */
    .sub-header .col-lg-3.col-md-3 {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .sub-header .col-lg-1.col-md-1 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
    }

    /* Social links - keep in a row */
    .sub-header ul.social-links {
        text-align: center;
        margin-bottom: 0;
    }

    .sub-header ul.social-links li {
        margin: 0 4px;
    }

    .sub-header ul.social-links li a {
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 13px;
    }

    /* Language switcher stays on the right */
    .language-switcher {
        z-index: 1001 !important;
    }

    .language-switcher .dropdown-menu {
        z-index: 1002 !important;
    }

    .language-switcher .btn {
        padding: 4px 10px;
        font-size: 13px;
    }

    /* HEADER AND NAVIGATION */
    .header-area .main-nav .logo h1 {
        line-height: 100px;
    }
    .header-area .main-nav .nav li a {
        padding-left: 3px;
        padding-right: 3px;
    }
    .header-area .main-nav .nav li:last-child a {
        padding-right: 15px;
    }
    .main-banner .item h2 {
        width: 100%;
    }
    .featured .section-heading {
        margin-left: 0px;
        margin-right: 0px;
        margin-top: 100px;
    }
    .featured .accordion {
        margin-left: 0px;
        margin-right: 0px;
    }
    .featured .info-table {
        margin-top: 45px;
    }
    .fun-facts .counter {
        margin-bottom: 45px;
    }
    .service-item {
        margin-bottom: 25px;
        min-height: 200px;
        padding: 30px 15px;
    }
    .service-item h4 {
        font-size: 20px;
    }
    .service-item p {
        font-size: 14px;
    }
    .properties .item h6 {
        text-align: center;
        margin-bottom: 15px;
    }
    .properties .item .main-button {
        text-align: center;
    }
    .properties .item ul li {
        margin-right: 10px;
        font-size: 13px;
    }
    .contact-content .phone {
        margin-right: 0px;
        margin-bottom: 20px;
    }
    .contact-content .email {
        margin-left: 0px;
        margin-bottom: 45px;
    }
    .contact-content #contact-form {
        margin-left: 0px;
    }
    .single-property .info-table {
        margin-left: 0px;
        margin-top: 45px;
    }
    .contact-page .section-heading {
        margin-right: 0px !important;
    }
    .contact-page #contact-form {
        margin-left: 0px;
        margin-top: 60px;
    }
    .reviews-section {
        padding: 80px 0;
    }
    .review-content {
        padding: 30px 20px;
        min-height: 280px;
    }
    .reviews-slider .owl-nav .owl-prev {
        left: -15px;
    }
    .reviews-slider .owl-nav .owl-next {
        right: -15px;
    }
    .transport {
        padding: 60px 0;
    }
    .transport-item .item {
        padding: 25px 20px;
    }
    .transport-item .item img {
        height: 220px;
    }
    .transport-slider .owl-nav .owl-prev {
        left: -20px;
    }
    .transport-slider .owl-nav .owl-next {
        right: -20px;
    }
    .transport-features {
        justify-content: center;
    }
    .feature-icon {
        width: 32px;
        height: 32px;
    }
    .feature-icon .transport-icon {
        width: 18px;
        height: 18px;
    }
}

/* Alternative Layout for tablets: compact single-row layout */
@media (min-width: 768px) and (max-width: 992px) {
    .sub-header .row {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .sub-header .col-lg-8.col-md-8 {
        flex: 0 0 auto;
        width: auto;
    }

    .sub-header .col-lg-3.col-md-3 {
        flex: 1;
        display: flex;
        justify-content: center;
    }

    .sub-header .col-lg-1.col-md-1 {
        flex: 0 0 auto;
        width: auto;
        position: static;
        transform: none;
    }

    .sub-header ul.info li {
        display: inline-block;
        font-size: 12px;
        margin-right: 15px;
        padding-right: 15px;
    }
}

/* =============================================
   TABLET PORTRAIT AND MOBILE LANDSCAPE
   ============================================= */
@media (max-width: 768px) {
    /* SUB-HEADER ADJUSTMENTS FOR MOBILE */
    .sub-header {
        position: relative;
        padding: 12px 0;
        z-index: 1000 !important;
    }
    /* Stack contact info first */
    .sub-header .col-lg-8.col-md-8 {
        order: 1;
    }

    /* Social links in the middle */
    .sub-header .col-lg-3.col-md-3 {
        order: 2;
        margin-top: 8px;
    }

    /* Language switcher positioned absolutely on the right */
    .sub-header .col-lg-1.col-md-1 {
        order: 3;
    }

    /* NAVIGATION STYLES */
    .background-header .main-nav .nav,
    .header-area .main-nav .nav {
        background-color: #fff;
    }
    .background-header .main-nav .nav li a,
    .header-area .main-nav .nav li a {
        line-height: 50px;
        height: 50px;
        font-weight: 400;
        color: #1e1e1e;
        background-color: #fff;
        border-radius: 0px 0px 25px 25px;
    }
    .background-header .main-nav .nav li,
    .header-area .main-nav .nav li {
        border-top: 1px solid #ddd;
        background-color: #f1f0fe;
        height: 50px;
        border-radius: 0px 0px 25px 25px;
    }
    .header-area .main-nav .nav {
        height: auto;
        flex-basis: 100%;
    }
    .header-area .main-nav .logo {
        position: absolute;
        left: 30px;
        top: 0px;
    }
    .header-area .main-nav .logo h1 {
        line-height: 80px !important;
    }
    .header-area .main-nav .border-button {
        position: absolute;
        top: 15px;
        right: 70px;
    }
    .header-area.header-sticky .nav li a:hover,
    .header-area.header-sticky .nav li a.active {
        color: #ee626b!important;
        opacity: 1;
    }
    .header-area.header-sticky .nav li.search-icon a {
        width: 100%;
    }

    /* SHOW CONTACT US MENU ITEM */
    .header-area .nav li:last-child {
        display: block !important;
    }

    /* Remove special button styling for Contact Us on mobile */
    .header-area .nav li:last-child a {
        background-color: transparent !important;
        font-weight: 400 !important;
        text-transform: capitalize !important;
        color: #1e1e1e !important;
        border-radius: 0px 0px 25px 25px !important;
        padding: 0 20px !important;
    }

    /* Style the icon in Contact Us */
    .header-area .nav li:last-child a i {
        background-color: transparent !important;
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        margin-right: 5px !important;
        margin-left: 0 !important;
        color: #f35525 !important;
    }

    /* Hover state for Contact Us */
    .header-area .nav li:last-child:hover a {
        background-color: transparent !important;
        color: #f35525 !important;
    }

    .header-area {
        padding: 0px 15px;
        height: 80px;
        box-shadow: none;
        text-align: center;
    }
    .header-area .container {
        padding: 0px;
    }
    .header-area .logo {
        margin-left: 0px;
    }
    .header-area .menu-trigger {
        display: block !important;
    }
    .header-area .main-nav {
        overflow: hidden;
    }
    .header-area .main-nav .nav {
        float: none;
        width: 100%;
        display: none;
        -webkit-transition: all 0s ease 0s;
        -moz-transition: all 0s ease 0s;
        -o-transition: all 0s ease 0s;
        transition: all 0s ease 0s;
        margin-left: 0px;
    }
    .header-area .main-nav .nav li:first-child {
        border-top: 1px solid #eee;
    }
    .header-area.header-sticky .nav {
        margin-top: 80px !important;
    }
    .background-header.header-sticky .nav {
        margin-top: 80px !important;
    }
    .header-area .main-nav .nav li {
        width: 100%;
        background: #fff;
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
    .fun-facts.video.section {
        padding: 60px 0;
    }
    .service-item {
        min-height: 180px;
        padding: 25px 15px;
    }
    .service-item h4 {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .service-item p {
        font-size: 13px;
    }
    .reviews-section {
        padding: 60px 0;
    }
    .reviews-section .section-heading h2 {
        font-size: 32px;
    }
    .review-content {
        padding: 25px 20px;
        min-height: 250px;
    }
    .reviews-slider .owl-nav .owl-prev,
    .reviews-slider .owl-nav .owl-next {
        display: none;
    }
    .transport .section-heading h2 {
        font-size: 32px;
        line-height: 42px;
    }
    .transport-item .item {
        padding: 20px 15px;
    }
    .transport-item .item img {
        height: 200px;
    }
    .transport-item .item ul li {
        display: block;
        margin-right: 0;
        margin-bottom: 8px;
        width: 100%;
    }
    .transport-slider .owl-nav .owl-prev,
    .transport-slider .owl-nav .owl-next {
        display: none;
    }
    .transport-features {
        gap: 6px;
        padding: 12px;
    }
    .feature-icon {
        width: 30px;
        height: 30px;
    }
    .feature-icon .transport-icon {
        width: 16px;
        height: 16px;
    }
    .feature-item {
        padding: 10px 12px;
    }
    .feature-item .feature-label {
        font-size: 10px;
    }
    .pagination {
        gap: 5px;
        margin: 40px 0 20px 0;
    }
    .pagination li a {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }
    .pagination-dots {
        width: 40px;
        height: 40px;
    }
    .contact-transport-btn {
        padding: 15px 25px;
        font-size: 14px;
        max-width: 100%;
    }
    .contact-transport-btn i {
        font-size: 16px;
    }
    #loading-indicator {
        margin: 0 15px;
        padding: 25px 20px;
    }
    .loading-spinner p {
        font-size: 14px;
    }
}

/* =============================================
   MOBILE PORTRAIT
   ============================================= */
@media (max-width: 576px) {
    .feature-item .feature-label {
        font-size: 9px;
    }

    /* Sub-header refinements for very small screens */
    .sub-header ul.info li {
        font-size: 12px;
    }

    .sub-header ul.info li i {
        font-size: 16px;
    }

    .sub-header ul.social-links li a {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 12px;
    }

    .language-switcher .btn {
        padding: 3px 8px;
        font-size: 12px;
    }
}

/* =============================================
   REVIEW MODAL RESPONSIVE
   ============================================= */
@media (max-width: 768px) {
    .review-modal-content {
        width: 95%;
        margin: 20px;
        max-height: calc(100vh - 40px);
    }

    .review-modal-header {
        padding: 20px 20px 15px 20px;
    }

    .review-modal-header h2 {
        font-size: 20px;
    }

    .review-modal-body {
        padding: 20px;
    }

    .star {
        font-size: 28px;
    }

    .form-actions {
        flex-direction: column;
        gap: 10px;
    }

    .btn-cancel,
    .btn-submit {
        width: 100%;
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .review-modal-content {
        width: 98%;
        margin: 10px;
        border-radius: 15px;
    }

    .review-modal-header {
        padding: 15px 15px 10px 15px;
    }

    .review-modal-body {
        padding: 15px;
    }

    .star {
        font-size: 25px;
    }

    .review-modal .form-group {
        margin-bottom: 20px;
    }
}
