@media (max-width: 1199px) {

    .whatsappicon .call-icons {
        display: block;
    }

    .whatsappicon {
        flex-direction: column;
    }

    .desktop-navigation .nav-link {
        padding: 0 8px;
        font-size: 12px;
    }

    .header-cta {
        margin-left: 8px;
    }

    .stays-mega-menu {
        width: 800px;
    }

    .why-choose-title {
        margin-bottom: 70px;
    }

    .why-choose-item {
        padding: 0 20px;
    }

    .testimonial-heading {
        margin-bottom: 45px;
    }

    .testimonial-text {
        font-size: 22px;
    }

    .testimonialSwiper {
        max-width: 700px;
    }

    .testimonial-decoration {
        width: 45%;
    }

    .location-map {
        min-height: 600px;
    }

    .location-map::before {
        width: 100px;
    }

    .location-property-pin {
        left: 50%;
    }

    .faq-heading {
        margin-bottom: 40px;
    }

    .faq-question {
        font-size: 16px;
    }

    .rooms-heading {
        margin-bottom: 45px;
    }

    .room-content h3 {
        font-size: 18px;
    }

    .room-content {
        padding: 20px 18px 18px;
    }

    .room-features li {
        font-size: 13px;
    }

    .room-btn {
        font-size: 10px;
        padding: 10px 8px;
    }

    .border-right {
        border-right: unset !important;
        border-bottom: 1px solid #dedbd5;
    }
}

@media (max-width: 991px) {

    :root {
        --header-height: 78px;
    }

    .main-header .navbar {
        height: var(--header-height);
    }

    .desktop-navigation {
        display: none;
    }

    .mobile-toggle {
        display: flex;
        margin-left: auto;
    }

    .hero {
        min-height: 600px;
    }

    .hero h1 {
        font-size: 40px;
    }

    .key-fact-item {
        padding: 20px 15px;
    }

    .key-fact-number {
        font-size: 36px;
    }

    .rooms-heading {
        max-width: 700px;
        margin-bottom: 40px;
    }

    .sec-title h2 {
        font-size: 30px;
    }

    .sec-title p {
        margin-top: 15px;
        font-size: 14px;
        line-height: 1.7;
    }

    .room-content {
        padding: 20px;
    }

    .room-price {
        font-size: 13px;
    }

    .room-features {
        margin-bottom: 20px;
    }

    .room-features li {
        font-size: 13px;
    }

    .room-buttons {
        gap: 7px;
    }

    .room-btn {
        min-height: 40px;
        font-size: 10px;
    }

    .amenities-heading {
        margin-bottom: 50px;
    }

    .amenities-list {
        row-gap: 45px;
    }

    .stay-needs-heading {
        margin-bottom: 30px;
    }

    .stay-images {
        margin: 55px 0 0;
    }

    .ideal-guests-title {
        margin-bottom: 40px;
    }

    .ideal-guest-item p {
        min-height: auto;
    }

    .why-choose-section {
        min-height: auto;
    }

    .why-choose-title {
        margin-bottom: 55px;
    }

    .why-choose-item {
        min-height: 220px;
        padding: 0 18px;
    }

    .why-choose-col:nth-child(2) .why-choose-item {
        border-right: 0;
    }

    .why-choose-col:nth-child(-n + 2) .why-choose-item {
        padding: 20px;
    }

    .testimonial-label {
        position: static;
        display: block;
        margin-bottom: 15px;
    }

    .testimonial-heading {
        margin-bottom: 40px;
    }

    .testimonial-text {
        font-size: 20px;
    }

    .testimonialSwiper {
        max-width: 620px;
    }

    .testimonial-navigation {
        position: static;
        margin: 30px 0;
        justify-content: center;
    }

    .testimonial-decoration {
        width: 45%;
    }

    .location-heading {
        margin-bottom: 30px;
    }

    .location-list {
        max-width: 100%;
    }

    .location-item {
        min-height: 45px;
    }

    .location-name {
        font-size: 13px;
    }

    .location-map {
        min-height: 520px;
    }

    .faq-heading {
        margin-bottom: 35px;
    }

    .faq-question {
        font-size: 15px;
        gap: 20px;
    }

    .faq-answer-inner {
        font-size: 14px;
    }

    .horizon-footer {
        padding: 55px 0 20px;
    }

    .footer-main {
        row-gap: 40px;
    }

    .footer-brand {
        padding-right: 0;
    }

    .testimonial-content {
        display: flex;
        flex-direction: column-reverse;
    }

    .ideal-guests-list {
        border-right: 1px solid #dedbd5;
    }

    .stay-image-main {
        width: unset;
    }

    .stay-image-small {
        width: unset;
    }

    .apartment-intro-image {
        padding-right: 0;
        margin-bottom: 40px;
    }

    .apartment-intro-image img {
        height: 450px;
    }

    .apartment-intro-section .row {
        flex-direction: column-reverse;
        gap: 20px;
    }

    .trust-info-box {
        min-height: auto;
        padding: 15px;
        padding-top: 70px;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0;
    }

    .trust-badge {
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .trust-item {
        flex: 0 0 50%;
        min-height: 55px;
        padding: 10px 15px;
    }

    .trust-item:nth-of-type(2) {
        border-right: 0;
    }

    .modern-amenities-grid,
    .modern-amenity-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .modern-amenities-tabs {
        justify-content: center;
    }

    .modern-amenity-tab {
        flex: 0 0 auto;
        padding: 14px 22px;
    }

    .rental-plans-heading {
        margin-bottom: 40px;
    }

    .rental-plans-heading h2 {
        font-size: 31px;
    }

    .rental-plan-content {
        padding: 32px 18px 20px;
    }

    .rental-plan-content h3 {
        font-size: 19px;
    }

    .rental-plan-content p {
        font-size: 11px;
    }

    .ideal-guests-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .ideal-guest-card {
        height: 320px;
    }

    .villa-cta-section {
        min-height: 600px;
    }

    .villa-cta-content {
        width: 58%;
        min-height: 500px;
        padding: 90px 55px 70px 100px;
    }

    .villa-cta-logo {
        left: -90px;
        width: 160px;
        height: 160px;
    }

    .villa-cta-text p {
        font-size: 16px;
        line-height: 1.8;
    }

    .nearby-horizon-location {
        grid-template-columns: repeat(2, 1fr);
    }

    .nearby-horizon-tabs {
        overflow: hidden;
    }

    .nearby-horizon-menu {
        white-space: nowrap;
    }
    
    .horizon-engagement-row > div {
        margin-bottom: 55px;
    }

    .horizon-engagement-card {
        min-height: 320px;
        padding: 52px 30px 35px;
    }
}

@media (max-width: 767px) {

    .apartment-intro-section,
    .trust-info-section,
    .modern-amenities-section,
    .rental-plans-section,
    .ideal-guests-section,
    .key-facts-section.key-facts-section,
    .why-choose-section {
        padding: 3rem 0 0;
    }
    
        
    .rooms-section {
        padding: 3rem 15px 0;
    }

    .nearby-horizon-sec,
    .horizon-engagement-section,
    .faq-section,
    .testimonial-section,
    .amenities-section,
    .stay-needs-section,
    .gallery-section,
    .location-section {
        padding: 3rem 0;
    }

    p {
        font-size: 14px;
    }

    .sec-title h2 {
        font-size: 20px;
        text-align: center;
        line-height: 1.3;
    }

    .site-logo {
        width: 65%;
    }

    .site-logo img {
        width: 100%;
    }

    .mobile-menu {
        width: min(390px, 100vw);
    }

    .mobile-menu-header {
        height: 68px;
    }

    .mobile-menu-body {
        padding: 0 24px 30px;
    }

    .mobile-mega-row {
        margin: 0 -6px;
    }

    .mobile-mega-column {
        padding: 0 6px;
    }

    .mobile-mega-title {
        font-size: 16px;
    }

    .mobile-mega-list a {
        font-size: 11px;
    }

    .mobile-mega-image {
        height: 165px;
        margin-top: 18px;
    }

    .hero {
        min-height: 450px;
        align-items: flex-end;
        padding-bottom: 20px;
    }

    .hero-label {
        margin-bottom: 16px;
        font-size: 10px;
        letter-spacing: .7px;
    }

    .hero h1 {
        margin-bottom: 20px;
        font-size: 27px;
    }

    .hero p {
        margin-bottom: 25px;
    }

    .hero-buttons {
        flex-direction: row;
        align-items: flex-start;
    }

    .hero-buttons .cta-button {
        width: 100%;
        max-width: 160px;
        padding: 5px;
        height: 40px;
    }

    .cta-button i {
        width: 25px;
        height: 25px;
    }

    .key-fact-item:not(:last-child)::after {
        display: none;
    }

    .key-fact-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 14px;
        font-size: 20px;
    }

    .key-fact-number {
        font-size: 20px;
    }

    .key-fact-number span:not(.counter) {
        font-size: 19px;
    }

    .key-fact-item p {
        margin-top: 9px;
    }

    .rooms-section .col-12 {
        padding: unset;
    }

    .rooms-heading {
        margin-bottom: 35px;
    }

    .sec-title h2 strong {
        display: inline;
    }

    .sec-title p {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.7;
        text-align: justify;
    }

    .room-content {
        padding: 20px;
    }

    .room-content h3 {
        margin-bottom: 6px;
        font-size: 18px;
    }

    .room-price {
        margin-bottom: 16px;
        font-size: 14px;
    }

    .room-features {
        margin-bottom: 22px;
    }

    .room-features li {
        margin-bottom: 8px;
        font-size: 14px;
    }

    .room-buttons {
        gap: 10px;
    }

    .room-btn {
        min-height: 43px;
        padding: 10px;
        font-size: 11px;
    }

    .amenities-heading {
        margin-bottom: 40px;
    }

    .amenities-list {
        row-gap: 20px;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .amenity-item {
        min-height: 90px;
    }

    .amenity-item svg {
        width: 42px;
        height: 42px;
        margin-bottom: 11px;
    }

    .amenity-item span {
        font-size: 13px;
    }

    .stay-needs-heading {
        margin-bottom: 30px;
    }

    .stay-option {
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    .stay-option h3 {
        gap: 8px;
        font-size: 17px;
    }

    .stay-option h3 i {
        font-size: 14px;
    }

    .stay-option p {
        font-size: 13px;
        line-height: 1.6;
    }

    .stay-duration {
        margin-top: 30px;
    }

    .stay-duration h4 {
        margin-bottom: 25px;
        font-size: 14px;
        line-height: 1.6;
    }

    .duration-list {
        margin-bottom: 30px;
    }

    .duration-list a {
        padding: 0 15px;
        font-size: 13px;
    }

    .stay-images {
        width: 100%;
        margin: 45px auto 0;
        height: 600px;
    }

    .stay-image-main {
        height: 300px;
        width: 100%;
    }

    .stay-image-small {
        border: none;
        width: 100%;
    }

    .ideal-guests-title {
        margin-bottom: 30px;
    }

    .ideal-guests-title .section-label {
        gap: 10px;
        margin-bottom: 12px;
        font-size: 11px;
        letter-spacing: 3px;
    }

    .ideal-guests-title .section-label::before,
    .ideal-guests-title .section-label::after {
        width: 28px;
    }

    .ideal-guest-col {
        border-right: 0;
        border-bottom: 1px solid #dedbd5;
    }

    .ideal-guest-item {
        min-height: auto;
    }

    .ideal-guest-icon {
        width: 72px;
        height: 72px;
        margin-bottom: 18px;
    }

    .ideal-guest-icon svg {
        width: 70px;
        height: 70px;
    }

    .ideal-guest-item h3 {
        font-size: 18px;
    }

    .ideal-guest-item p {
        max-width: 390px;
        margin-bottom: 17px;
    }

    .why-choose-section {
        min-height: auto;
        background-position: center;
    }

    .why-choose-content {
        gap: unset;
    }

    .why-choose-title {
        margin-bottom: 45px;
    }

    .why-choose-col {
        border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    }

    .why-choose-col:last-child {
        border-bottom: 0;
    }

    .why-choose-item {
        min-height: auto;
        padding: 32px 20px 35px;
        border-right: 0;
    }

    .why-choose-col:last-child .why-choose-item {
        border-right: 0;
    }

    .why-choose-icon {
        width: 62px;
        height: 62px;
        margin-bottom: 15px;
    }

    .why-choose-icon svg {
        width: 62px;
        height: 62px;
    }

    .why-choose-item h3 {
        font-size: 18px;
    }

    .why-choose-item p {
        max-width: 420px;
    }

    .gallery-header {
        gap: 22px;
        margin-bottom: 28px;
    }

    .gallery-header a {
        border: none;
        background: none;
        color: #fff;
        gap: 5px;
    }

    .gallery-header a:hover {
        border: none;
        background: none;
        color: #d95716;
        gap: 5px;
    }

    .gallery-header .cta-button i {
        border: none;
        background: none;
        color: #fff;
        width: unset;
        height: unset;
    }

    .gallery-header .cta-button i:hover {
        color: #d95716;
    }

    .gallery-heading h2 {
        font-size: 17px;
    }

    .testimonial-heading {
        text-align: left;
        margin-bottom: 35px;
    }

    .testimonial-label {
        position: static;
        display: block;
        margin-bottom: 12px;
        text-align: center;
    }

    .testimonial-heading .sec-title h2 {
        margin: 0;
    }

    .testimonial-content {
        display: flex;
        flex-direction: column-reverse;
    }

    .testimonial-text {
        margin-bottom: 30px;
        font-size: 15px;
        line-height: 1.45;
        letter-spacing: 0;
    }

    .testimonial-navigation {
        position: static;
        margin-top: 30px;
    }

    .testimonial-navigation button {
        width: 38px;
        height: 38px;
    }

    .testimonial-decoration {
        width: 75%;
        opacity: 0.5;
    }

    .location-content {
        padding: 0 15px 40px;
    }

    .location-heading {
        margin-bottom: 30px;
    }

    .location-heading .sec-title h2 {
        max-width: 100%;
    }

    .location-heading .sec-title p {
        margin-top: 18px;
    }

    .location-list {
        width: 100%;
    }

    .location-item {
        align-items: flex-start;
        gap: 12px;
        min-height: auto;
        padding: 9px 0;
    }

    .location-info {
        gap: 11px;
        align-items: flex-start;
    }

    .location-icon {
        margin-top: 1px;
        width: 17px;
        height: 17px;
        flex-basis: 17px;
    }

    .location-icon svg {
        width: 17px;
        height: 17px;
    }

    .location-name {
        font-size: 13px;
    }

    .location-distance {
        min-width: 76px;
        padding: 6px 5px;
        font-size: 10px;
    }

    .location-map {
        min-height: 430px;
    }

    .location-map::before {
        display: none;
    }

    .location-property-pin {
        top: 50%;
        left: 50%;
    }

    .faq-heading {
        margin-bottom: 25px;
    }

    .faq-question {
        padding: 16px 0;
        font-size: 16px;
        line-height: 1.45;
        gap: 20px;
    }

    .faq-question span:first-child {
        font-size: 15px;
    }

    .faq-item.active .faq-answer {
        padding: 0 0px 20px 0;
    }

    .horizon-footer {
        padding: 50px 0 20px;
    }

    .footer-main {
        row-gap: 35px;
    }

    .footer-logo {
        width: 220px;
        margin-bottom: 18px;
    }

    .footer-brand-text {
        max-width: 100%;
        margin-bottom: 20px;
    }

    .footer-column h3 {
        margin-bottom: 20px;
    }

    .footer-links-row {
        gap: 100px;
    }

    .footer-links li {
        margin-bottom: 13px;
    }

    .footer-contact {
        gap: 18px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-top: 40px;
        padding-top: 20px;
    }

    .footer-bottom-links {
        gap: 20px;
    }

    .footer-stay-column {
        display: flex;
        align-items: flex-start;
        gap: 20px;
    }

    .footer-stay-block {
        width: 50%;
    }

    .footer-stay-block h3 {
        margin-bottom: 15px;
    }

    .footer-stay-block .footer-links {
        margin: 0;
        padding: 0;
    }

    .footer-stay-block h4 {
        margin-top: 0px;
    }

    .breadcumb-title {
        font-size: 20px;
    }

    .apartment-intro-image {
        margin-bottom: 30px;
    }

    .apartment-intro-section .row {
        flex-direction: column-reverse;
        gap: 20px;
    }

    .apartment-intro-image img {
        height: 350px;
    }

    .trust-info-box {
        padding: 65px 15px 15px;
        display: flex;
        flex-direction: column;
    }

    .trust-item {
        width: 100%;
        flex: none;
        justify-content: center;
        border-right: 0;
        border-bottom: 1px solid #d5d1c8;
        flex-direction: column;
    }

    .trust-item:last-of-type {
        border-bottom: 0;
    }

    .trust-number {
        font-size: 22px;
    }

    .trust-text {
        font-size: 13px;
    }

    .trust-button {
        width: 50%;
        justify-content: space-between;
    }

    .modern-amenities-heading {
        margin-bottom: 25px;
    }

    .modern-amenities-tabs {
        justify-content: flex-start;
        margin-bottom: 30px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .modern-amenities-tabs::-webkit-scrollbar {
        display: none;
    }

    .modern-amenity-tab {
        padding: 13px 18px;
        font-size: 13px;
    }

    .modern-amenity-grid,
    .additional-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0;
    }

    .modern-amenity-item {
        gap: 15px;
        flex-direction: column;
        gap: 15px;
    }

    .modern-amenity-item svg {
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
    }

    .modern-amenity-item span {
        font-size: 14px;
        text-align: center;
    }

    .rental-plans-heading {
        margin-bottom: 35px;
        padding: 0 15px;
    }

    .rental-plans-row {
        margin-right: 0;
        margin-left: 0;
        gap: 50px;
    }

    .rental-plan-content {
        min-height: 300px;
        padding: 38px 25px 25px;
    }

    .rental-plan-content h3 {
        font-size: 18px;
    }

    .rental-plan-content p {
        max-width: 310px;
        min-height: auto;
        font-size: 13px;
    }

    .rental-plan-divider {
        margin-top: 25px;
    }

    .ideal-guests-title p {
        font-size: 13px;
        line-height: 1.7;
    }

    .ideal-guests-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ideal-guest-card {
        height: 330px;
    }

    .ideal-guest-content {
        padding: 22px 20px;
    }

    .ideal-guest-content h3 {
        font-size: 19px;
    }

    .ideal-guest-content p {
        font-size: 13px;
    }

    .ideal-guest-arrow {
        top: 15px;
        right: 15px;
        width: 38px;
        height: 38px;
    }

    .villa-cta-section {
        min-height: 550px;
    }

    .villa-cta-bg {
        inset: 0;
        background-position: center;
    }

    .villa-cta-content {
        width: 100%;
        min-height: auto;
        padding: 70px 20px 20px;
        text-align: center;
        border-radius: 10px;
    }

    .villa-cta-logo {
        top: -45px;
        left: 50%;
        transform: translateX(-50%);
        width: 100px;
        height: 100px;
    }

    .villa-cta-text p {
        font-size: 15px;
        line-height: 1.7;
        margin-bottom: 28px;
    }

    .villa-cta-btn {
        height: 54px;
        min-width: 190px;
        font-size: 14px;
    }

    .nearby-horizon-sec .sec-title p {
        font-size: 15px;
        line-height: 1.7;
    }

    .nearby-horizon-tabs {
        overflow: hidden;
    }

    .nearby-horizon-tabs .swiper-slide {
        width: auto;
    }

    .nearby-horizon-menu {
        padding: 10px 18px;
        font-size: 13px;
    }

    .nearby-horizon-location {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .nearby-horizon-location li {
        font-size: 15px;
    }

    .horizon-engagement-row {
        gap: 30px;
    }

    .horizon-engagement-content h3 {
        font-size: 18px;
    }
    
    .book-buttons {
            margin-top: 20px;
    }
    
    .horizon-engagement-row {
        margin-left: 0;
        margin-right: 0;
    }

    .horizon-engagement-row > div {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 60px;
    }

    .horizon-engagement-card {
        min-height: auto;
        padding: 52px 25px 35px;
        border-radius: 0 28px 28px 28px;
    }

    .horizon-engagement-icon {
        left: 18px;
        width: 60px;
        height: 60px;
        top: -30px;
    }

    .horizon-engagement-icon svg {
        width: 32px;
        height: 32px;
    }

    .horizon-engagement-content h3 {
        font-size: 18px;
        font-weight: 500;
        margin-bottom: 18px;
    }

}