:root {
    --primary-yellow: #FFE600;
    --primary-orange: #FF8C00;
    --text-dark: #333333;
    --text-light: #767676;
    --text-title: #319B54;
    --text-size-p: 20px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Inter", sans-serif;
    font-weight: 400;
}



.header_bg {
    background-image: url('/wp-content/uploads/2025/12/bg-novbar.png');
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    height: 100%;
}

.header_post_bg{
    background-image: linear-gradient(135deg, #FDEB71 10%, #F8D800 100%);
}

.header_icon {
    margin-top: 0 !important;
    gap: 3px !important;
}

.header_icon img {
    max-width: 1.7rem;
}

/* Header */
.header-top {
    /* background: #f8f9fa; */
    padding: 8px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--primary-orange);
}

.navbar {
    /* background: white;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
}

.navbar-brand img {
    max-width: 100%;
}

.lang-phone-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
}

.lang-switch {
    display: flex;
    gap: 5px;
    align-items: center;
    overflow: hidden;
}

.lang-btn {
    background: transparent;
    border: none;
    /*padding: 5px 15px;*/
    cursor: pointer;
    transition: all 0.3s;
    font-weight: 500;
}
.lang-item>a>img{
    width: 20px !important;
    height: auto !important;
}

.phone-btn {
    background: var(--primary-orange);
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
}

.btn-book {
    background: var(--primary-orange);
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: bold;
    transition: all 0.3s;
}

.btn-book:hover {
    transition: all 0.3s;
    background-color: #06742A;
}

.phone-btn:hover {
    transition: all 0.3s;
    background-color: #06742A;
    color: #ffffff;
}

.active_nav {
    background: var(--primary-orange);
    color: #ffff !important;
    border-radius: 8px;
    padding-left: .5rem;
}


/* Hero Section */
.hero-section {
    /* background: linear-gradient(135deg, var(--primary-yellow) 0%, #FFF200 100%); */
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 300px;
    height: 300px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.grid-header {
    display: grid;
    justify-items: start;
    align-content: space-around;
    height: 100%;
}

.hero-content h1 {
    margin-bottom: 0px;
    color: var(--text-title);
    font-weight: 700;
    font-size: 4rem;
}

.hero-content p {
    font-size: var(--text-size-p);
    margin-bottom: 30px;
}

.hero-content span {
    font-size: var(--text-size-p);
}

.btn-hero {
    background: var(--primary-orange);
    color: white;
    border: none;
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: bold;
    max-width: fit-content;
    transition: all .5s;
}

.btn-hero:hover {
    background-color: #06742A;
    transition: all .5s;
}

.header_icon_text {
    font-size: var(--text-size-p);
    padding-left: 0;
}

.header_icon_text li {
    list-style-type: none;
}

.header_icon_text li img {
    margin-right: 1rem;
    height: 24px;
    width: 24px;
}


.hero-image {
    position: relative;
    z-index: 2;
}

.hero-image img {
    width: 100%;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* Accommodation Options */
.accommodation-section {
    padding: 80px 0;
}

.section-title {
    text-align: center;
    margin-bottom: 50px;
}

.section-title h2 {
    font-size: 2.2rem;
    margin-bottom: 10px;
    font-weight: 600;
    color: var(--text-dark);
}

.section-title p {
    color: var(--text-light);
    font-weight: 500;
    font-size: 16px;
    line-height: 125%;
}

.room-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    transition: transform 0.2s;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.room-card:hover {
    transition: all 0.2s;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.room-card-image {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.room-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.room-card.large .room-card-image {
    height: 300px;
}

.room-card.small .room-card-image {
    height: 300px;
}

.room-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--primary-orange);
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 12px;
}

.room-card-body {
    padding: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.room-card-text {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}



.room-card-text h5 {
    font-size: 1rem;
    margin-bottom: 10px;
}

.room-card-text p {
    color: var(--text-light);
    font-size: 14px;
    margin-bottom: 15px;
    flex-grow: 1;
}

.room-arrow {
    width: 40px;
    height: 40px;
    border: 2px solid var(--primary-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-orange);
    font-size: 20px;
    cursor: pointer;
    transition: all 0.3s;
    margin-left: auto;
}

.room-arrow:hover {
    background: var(--primary-orange);
    color: white;
}

.link_room_options{
    transition: all 0.2s;
}

.room-card:hover{
    cursor:pointer;
}
.room-card:hover .link_room_options{
    transition: all 0.2s;
    transform: rotate(43deg);
}

/*.link_room_options:hover{*/
/*    transition: all 0.2s;*/
/*    transform: rotate(43deg);*/
/*}*/

/* Amenities */
.amenities-section {
    padding: 30px 0;
}

.amenities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.8rem;
    margin-top: 40px;
}

.amenity-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.amenity-icon {
    width: 50px;
    height: 50px;
    /* background: var(--primary-yellow); */
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.amenity-icon img {
    width: 2rem;
}

/* All Seasons Banner */

.bg {
    padding: 7rem 0 0 0;
    background-image: url('/wp-content/uploads/2025/12/bg.png');
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    height: 100%;
}

.all-seasons-banner {
    border-radius: 8px;
    padding: 2rem;
    background: url('/wp-content/uploads/2025/12/bg_banner.png');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: relative;
    height: 100%;
    width: 100%;
}

.banner-content h2 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 20px;
    font-weight: 600;
    line-height: 125%;
    color: #319b54;
}

.banner-content {
    max-width: 80%;
}

.banner-image {
    width: 400px;
    height: 300px;
    background-image: url('/wp-content/uploads/2025/12/bg_banner-scaled.jpg');
    background-size: cover;
    background-position: center;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351 266"><path d="M346.832 127.891C346.832 199.298 270.944 257.185 177.332 257.185C83.7196 257.185 12.6863 189.688 4.83185 127.891C-5.16815 49.2121 76.8319 -38.7878 151.832 18.2123C226.332 127.712 346.832 56.4831 346.832 127.891Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351 266"><path d="M346.832 127.891C346.832 199.298 270.944 257.185 177.332 257.185C83.7196 257.185 12.6863 189.688 4.83185 127.891C-5.16815 49.2121 76.8319 -38.7878 151.832 18.2123C226.332 127.712 346.832 56.4831 346.832 127.891Z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

}

.ramka {
    position: absolute;
    top: -5px;
    left: 8px;
    width: 407px;
    height: 307px;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351 266"><path d="M346.832 127.891C346.832 199.298 270.944 257.185 177.332 257.185C83.7196 257.185 12.6863 189.688 4.83185 127.891C-5.16815 49.2121 76.8319 -38.7878 151.832 18.2123C226.332 127.712 346.832 56.4831 346.832 127.891Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351 266"><path d="M346.832 127.891C346.832 199.298 270.944 257.185 177.332 257.185C83.7196 257.185 12.6863 189.688 4.83185 127.891C-5.16815 49.2121 76.8319 -38.7878 151.832 18.2123C226.332 127.712 346.832 56.4831 346.832 127.891Z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background: var(--primary-orange);
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}


.rounded_banner {
    position: absolute;
    left: 34%;
}

.rounded_banner-1 {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2rem;
    height: 2rem;
    background-color: var(--primary-orange);
    border-radius: 100%;

    /* Применяем анимацию */
    animation-name: pulse-scale;
    animation-duration: 1.5s;
    /* Длительность одного цикла */
    animation-timing-function: ease-in-out;
    /* Плавное начало и конец */
    animation-iteration-count: infinite;
    /* **Бесконечное повторение** */
}

.rounded_banner-2 {
    display: block;
    position: absolute;
    top: 1.5rem;
    left: 3rem;
    width: 3rem;
    height: 3rem;
    background-color: var(--primary-orange);
    border-radius: 100%;

    outline: 2px solid var(--primary-orange);
    outline-offset: 3px;

    /* Применяем анимацию */
    animation-name: pulse-scale;
    animation-duration: 1.5s;
    /* Длительность одного цикла */
    animation-timing-function: ease-in-out;
    /* Плавное начало и конец */
    animation-iteration-count: infinite;
    /* **Бесконечное повторение** */
}

.rounded_banner-3 {
    display: block;
    position: absolute;
    top: 3.5rem;
    left: 8.2rem;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 100%;
    background-color: #034d1b00;
    border: 2px solid var(--primary-orange);

    /* Применяем анимацию */
    animation-name: pulse-scale;
    animation-duration: 1.5s;
    /* Длительность одного цикла */
    animation-timing-function: ease-in-out;
    /* Плавное начало и конец */
    animation-iteration-count: infinite;
    /* **Бесконечное повторение** */
}


@keyframes pulse-scale {
    0% {
        transform: scale(1);
    }

    50% {
        /* Немного увеличиваем элемент в середине анимации */
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

/* Reviews */
.reviews-section {
    padding: 80px 0;
}

.review-card {
    background: white;
    padding: 30px;
    border-radius: 7px;
    height: 100%;
}

.review-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.review-avatar {
    width: 50px;
    height: 50px;
    background: #e0e0e0;
    border-radius: 50%;
}

.stars {
    color: var(--primary-orange);
}

.text_comment {
    margin-bottom: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    transition: .3s ease;
}

/* скрываем чекбокс */
.comment-toggle {
    display: none;
}

/* При включении чекбокса — показываем весь текст */
.comment-toggle:checked + .text_comment {
    -webkit-line-clamp: unset;
    max-height: none;
}

/* Кнопка */
.toggle-btn {
    display: inline-block;
    margin-top: 6px;
    cursor: pointer;
    color: #ff8c00;
    font-weight: 600;
    user-select: none;
}

/* Меняем текст кнопки после раскрытия */
.comment-toggle:checked ~ .toggle-btn::after {
    content: " Скрыть";
}

.toggle-btn::after {
    content: "";
}


.reviewsSwiper .swiper-slide {
    height: auto;
}

/* Gallery */
.gallery-section {
    padding: 80px 0;
}

.gallery-masonry {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    grid-auto-rows: 200px;
}

.gallery-item {
    background: #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.gallery-item:nth-child(6) {
    grid-column: span 2;
    grid-row: span 2;
}

.gallery-item:nth-child(11) {
    grid-column: span 2;
    grid-row: span 1;
}

.gallery-item:nth-child(15) {
    grid-column: span 2;
    grid-row: span 2;
}

.gallery-mobile {
    display: none;
}

/* News */
.news-section {
    padding: 80px 0;
    background-image: url('/wp-content/uploads/2025/12/bg_news.png');
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    height: 100%;
}

.title_news {
    font-weight: 600;
    font-size: 2.3rem;
    line-height: 140%;
    color: #319b54 !important;
}

.box_news{
    display: flex;
    grid-gap: .5rem;
	flex-wrap: wrap;
}

.news-card {
    flex: 1 0 300px;
    display: grid;
    background: white;
    padding: 11px;
    border-radius: 6px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    transition: all 0.3s;
}

.news-card:hover {
    cursor: pointer;

    transition: all 0.3s;
    transform: translateY(-5px);
}

.news-card img {
    margin-bottom: 1rem;
    height: 250px;
}

.card-text{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* Info Section */
.info-section {
    padding: 60px 0;
}

.info-content h3 {
    color: var(--primary-orange);
    margin-bottom: 20px;
}

.map-placeholder {
    width: 100%;
    max-height: 400px;
    background: #e0e0e0;
    border-radius: 10px;
}

.yellow_title {
    color: #FF8200;
}

.green_title {
    color: #06742A;
    font-weight: 400;
    margin-bottom: 1.5rem;
}

.yellow_text {
    color: #FF8200;
    font-weight: 400;
}

/* Footer */
.footer {
    background: var(--primary-orange);
    color: #034D1B;
    padding: 50px 0 20px;
}

.footer h5 {
    margin-bottom: 20px;
}

.footer ul {
    list-style: none;
    padding: 0;
}

.ul_footer {
    list-style-type: disc !important;
}

.footer ul li {
    margin-bottom: 10px;
}

.footer ul li a:hover {
    transition: all .3s;
    color: #ffff;
}

.footer a {
    color: #034D1B;
    text-decoration: none;
    transition: all .3s;
}

.footer_contact img {
    width: 1.2rem;
    margin-right: .5rem;
}


.foot_icon_social img {
    width: 2rem;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px;
    border-radius: 8px;
    transition: all 5ms;
}

.foot_icon_social img:hover {
    transition: all 0.3s;
    transform: translateY(-5px);
    cursor: pointer;
}

.social-icons {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.social-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.social-icon :hover {
    cursor: pointer;
    transition: all 0.3s;
    transform: translateY(-5px);
}



/* Swiper Custom Styles */
.swiper-pagination-bullet {
    background: var(--primary-orange);
}

.swiper-button-next,
.swiper-button-prev {
    color: var(--primary-orange);
}

@media (max-width: 1199px) {
    .gallery-masonry {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 991px) {
    .gallery-masonry {
        grid-template-columns: repeat(3, 1fr);
    }

    .room-card.large .room-card-image,
    .room-card.small .room-card-image {
        height: 250px;
    }

    .bg,
    .all-seasons-banner,
    .news-section,
    .header_bg {
        background-size: cover;
    }
}

@media (max-width: 768px) {
    .hero-content h1 {
        font-size: 1.8rem;
    }

    .gallery-masonry {
        display: none;
    }

    .gallery-mobile {
        display: block;
    }

    .room-card.large .room-card-image,
    .room-card.small .room-card-image {
        height: 250px;
    }

    .banner-content {
        max-width: 100%;
    }

    .offcanvas {
        background-image: linear-gradient(135deg, #FDEB71 10%, #F8D800 100%);
    }
}


@media (max-width: 480px) {
    .header_icon {
        display: none !important;
    }

    .lang-phone-wrapper {
        justify-content: space-between;
        width: 100%;
    }

    .rounded_banner {
        left: 50%;
    }

    .banner-image {
        max-width: 300px;
        max-height: 250px;
    }

    .ramka {
        max-width: 308px;
        max-height: 230px;
        top: -2px;
    }

    .rounded_banner-2 {
        top: 0.5rem;
    }

    .rounded_banner-3 {
        position: absolute;
        top: 2.5rem;
    }
}





/*Animations*/

@keyframes rotate360 {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


.text_page_content{
    color: white !important;
    /*word-spacing: 0.5em;*/
    /*letter-spacing: .2rem;*/
}

.dropdown-item.active, .dropdown-item:active{
    background-color: var(--primary-orange) !important;
}

.cursor-pointer{
    cursor: pointer;
}
.cursor-pointer:hover{
    box-shadow: rgba(136, 165, 191, 0.48) 6px 2px 16px 0px, rgba(255, 255, 255, 0.8) -6px -2px 16px 0px;
}

.widget-area{
    margin-top: 0;
    background-image: linear-gradient(135deg, #FDEB71 10%, #F8D800 100%);
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
}

.nav-links{
    grid-gap: 10px;
}
.nav-previous:hover{
    background: #36cd87;
}
.nav-next:hover{
    background: #36cd87;
}


.wp-block-latest-posts.wp-block-latest-posts__list{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    grid-gap: 10px;
    justify-items: center;
}
.wp-block-latest-posts.wp-block-latest-posts__list li {
    max-width: 190px;
    padding: 8px;
    margin-bottom: 1rem;
    border-radius: 10px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.wp-block-latest-posts__post-title{
    color: #212529;
    text-decoration: none;

}
.wp-block-latest-posts__post-title:hover{
    text-decoration: underline;
}
.wp-block-latest-posts__post-date{
    margin-bottom: 10px;
}
/*.show{*/
/*    background: #fdf5d7;*/
/*}*/

@media (max-width: 480px) {
    .text_page_content{
        font-size: 2rem;
        text-align: center;
    }
}
