@media only screen and (min-width: 320px) and (max-width: 768px) {
	.hero, .hero__overlay {
		height: 100%;
	}
	.gallery__wrap div {
	    padding: 5px;
	    width: 100%;
	}
	.container__wrapper_nowrap {
    	flex-wrap: wrap;
	}
	.container_height {
		height: 100%;
		width: 100%;
	}
	.header-area {
		position: relative;
	}
	.button a {
		font-size: 15px;
	}
}
@media only screen and (min-width: 320px) and (max-width: 1024px) {
	.container__wrap_2, 
	.container__wrap_3 {
		width: 100%;
	}
	.nav-toggler {
    	display: block;
	    position: absolute;
	    right: 5%;
  	}
  	.site-navbar {
    	min-height: 60px;
  	}
	.site-navbar ul {
	    position: absolute;
	    width: 100%;
	    height: calc(100vh - 60px);
	    left: 0;
	    top: 30px;
	    flex-direction: column;
	    align-items: center;
	    background-color: #ffffffe6;
	    max-height: 0;
	    overflow: hidden;
	    transition: .3s;
	}
	.header {
		font-size: 30px;
	}
	.site-navbar ul li {
	    width: 90%;
	    text-align: center;
	}
	.site-navbar ul li a {
	    padding: 25px;
    	font-size: 25px;
    	text-transform: uppercase;
	}
	.site-navbar ul li a:hover {
	    background-color: rgba(255,255,255,.1);
	}
	.site-navbar ul.open {
	    max-height: 100vh;
	    overflow: visible;
	    margin-top: 40px;
	}
	.intro-area h2 {
	    font-size: 36px;
	    margin-bottom: 15px;
	}  
	.menu__item {
    	margin: 10px;
	}
	.menu__phone {
		display: none;
	}
}
@media only screen and (max-width: 1024px) {
    .site-navbar ul {
        height: auto;
        top: 70px;
        margin: 0;
        background: #fff;
        visibility: hidden;
    }
    .site-navbar ul.open {
        margin-top: 0;
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        visibility: visible;
    }
    .site-navbar ul li a {
        padding: 10px;
        font-size: 20px;
    }
    .menu__item {
        margin: 3px;
    }
}
@media only screen and (max-width: 768px) {
    .hero__wrapper {
        height: auto;
        min-height: 480px;
    }
    .hero__overlay {
        min-height: 480px;
        padding: 25px 0;
    }
    .hero__text {
        font-size: 17px;
    }
    .advantages {
        padding: 10px 0;
    }
    .container_nowrap {
        flex-wrap: wrap;
    }
    .gallery__image {
        width: 100%;
        margin: 10px 0;
    }
    .menu-logo__desktop {
        font-size: 21px;
    }
    .travel-checklist, .swiper-container {
        padding: 18px;
    }
    .cookies {
        padding: 10px 12px;
    }
    .policy-block .button a {
        display: inline-block;
    }
}
@media (prefers-reduced-motion: reduce) {
    * {
        scroll-behavior: auto!important;
        transition: none!important;
    }
}

@media only screen and (max-width: 1024px) {
    .container__flex {
        width: 94%;
    }
    .site-navbar ul li a {
        padding: 12px 16px;
        margin: 0;
    }
    .site-navbar ul.open {
        padding: 15px 0;
        box-shadow: 0 15px 25px #20355114;
        border-bottom: 1px solid #e0e6ef;
    }
    .services .container__wrap_2 {
        margin: 12px 0;
    }
}
@media only screen and (max-width: 768px) {
    .container {
        width: 92%;
    }
    .container__flex {
        width: 100%;
    }
    .hero__overlay {
        padding: 50px 22px;
        background: linear-gradient(90deg, #081b35d9, #081b356b);
    }
    .hero__header {
        font-size: clamp(28px, 7vw, 40px);
        line-height: 1.25;
    }
    .hero__overlay .container {
        width: 100%;
    }
    .button a {
        padding: 13px 22px;
        font-size: 15px;
    }
    .rooms, .about, .gallery, .services, .reviews, .faq, section.form {
        padding: 10px 0;
    }
    .header {
        font-size: 29px;
        padding: 18px 0;
    }
    .advantages {
        padding: 0;
    }
    .advantages__icon {
        margin: 12px auto;
    }
    .advantages__title {
        padding: 10px 0;
    }
    .rooms__image {
        height: 230px;
    }
    .gallery__image {
        flex: 0 0 100%;
    }
    .services .container__wrap_2, .policy-block section,
    section.form .container__wrap_2:last-child {
        padding: 20px;
    }
    .services__title, .policy-block section h2 {
        font-size: 24px;
    }
    .policy-block section {
        margin: 22px 0;
    }
    .policy-block > .container {
        padding-bottom: 35px;
    }
    .cabin-table th, .cabin-table td {
        padding: 12px;
        min-width: 130px;
    }
    .cabin-table {
        font-size: 16px;
    }
    .faq-card {
        padding: 20px 16px;
    }
    .faq-open-icon {
        right: 16px;
    }

    .footer__title {
        padding: 10px 0;
    }
    .footer__wrapper {
        margin: 12px 0;
    }
}
@media only screen and (max-width: 360px) {
    .menu-logo__desktop {
        font-size: 18px;
    }
    .hero__overlay {
        padding: 40px 16px;
    }
    .nav-toggler {
        right: 4%;
    }
}

@media only screen and (max-width: 768px) {
    .policy-summary, .budget-tool {
        padding: 18px;
    }
    .budget-tool .container__wrap_2 {
        margin: 10px 0;
    }
    .budget-result {
        padding: 18px 10px;
    }
}

@media only screen and (max-width: 768px) {
    .cookies_home {
        padding: 16px;
        max-height: 45svh;
    }
    .cookies__content {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .cookies_home button {
        width: 100%;
    }
    body:has(.cookies_home:not([hidden])) {
        padding-bottom: 45svh;
    }
}
