

/* Start:/local/templates/main/template_styles.css?177015626514853*/
.page_action_panel {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    background: rgba(255, 255, 255, 0.6);
    padding: 8px 16px;
    box-sizing: border-box;
    box-shadow: 0 0 5px darkgrey;
}
.page_action_panel .page_action_panel--item:not(:last-of-type) {
    margin-right: 8px;
}
.page_action_panel .page_action_panel--item a {
    color: black;
    white-space: nowrap;
}
.page_action_panel .page_action_panel--item a:hover {
    opacity: 0.5;
}


.winepark--advantages {
    z-index: 2;
}

.lang .dropdown--wrapper {
    min-width: 100px;
}
.winepark--content_wrapper {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    @media(max-width: 800px) {
        border-color: #fff;
        .winepark--advantages {
            border-color: #fff;
        }

    }
}
.winepark--button .button{
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

@media (max-width: 1024px) {

    .winepark--advantages_item:nth-child(even) {
        padding-left: 10px;
    }
    .footer--nav .nav--col a {
        font-size: 14px;
    }
    .popup-form .popup--content {
        padding: 32px 16px;
    }
}
.popup.is_active {
    overflow-y: auto;
}
.block_element .block--head_image {
    max-height: 600px;
}
@media (max-width: 1024px) {
    .content_accommodation .block--elements {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .content_accommodation .card--image .card--image_slider {
        overflow: visible;
    }
}
.popup-form .form--title {
    padding-right: 48px
}
@media (min-width: 1024px) {
    .content_accommodation .card {
        place-items: start;
        place-content: start;
    }
}

.popup-video {
    padding: 16px;
    background-color: rgba(0,0,0,0.8);
    .popup--content {
        max-width: 100%;
        height: 100%;
        border-radius: 4px;
        video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
        .popup--close {
            position: absolute;
            top: 16px;
            right: 16px;
            z-index: 3;
            background-color: rgba(0,0,0,0.3);
            backdrop-filter: blur(30px);
            color: #fff;
            width: 42px;
            height: 42px;
        }
    }
}

.is_cascade--blockquote::before {
    color: var(--accent-color);
}
.is_cascade--blockquote p {
    margin: 0;
}
.is_cascade--blockquote blockquote strong { font-weight: 400; }
.block_image_text:has(.is_cascade--cols) {
    .block--head {
        margin-bottom: var(--g-content-xl);
    }
    .f-h2 {
        font-size: clamp(30px, calc(30px + (56 - 30) * ((100vw - 540px) / (1920 - 540))), 56px);
    }
    h4 {
        text-transform: uppercase;
    }
    .is_cascade--cols_item p {
        font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 540px) / (1920 - 540))), 18px);
    }
}
.block_image_text .block--image img {
    aspect-ratio: unset;
}
.block_image_text.block_image_text-wide {
    padding: 0;
    @media(max-width: 1024px) {
        .block--content {
            padding: 0 var(--container-padding)
        }
    }
    .block--content {
        @media(min-width: 1024px) {
            padding: var(--g-vertical-xl) clamp(0px, calc(0px + (32 - 0) * ((100vw - 540px) / (1920 - 540))), 32px)  0 var(--container-padding);
        }
    }
    &.block_image_text-reversed {
        .block--content {
            @media(min-width: 1024px) {
                padding: var(--g-vertical-xl) var(--container-padding)  0  clamp(0px, calc(0px + (32 - 0) * ((100vw - 540px) / (1920 - 540))), 32px);
            }
        }
    }
    .block--image img {
        aspect-ratio: 1 / 1;
    }
    @media (max-width: 992px) {
        .block--wrapper {
            padding-top: 0;
        }
    }
}
.content_galleries:not(:has(.is_cascade--slider)) {
    .block--actions {
        margin-top: 24px;

        .button {
            width: 100%;
            text-align: center;
            justify-content: flex-start;
        }
        @media (max-width: 1024px) {
            grid-row: 3;
        }
        @media (min-width: 1024px) {
            .button {
                font-size: 20px;
                padding: 17px 20px;
                span:not([class]) {
                    font-weight: 400;
                    width: 100%;
                }
            }
        }
    }
    .f-h2 {
        font-size: clamp(30px, calc(30px + (56 - 30) * ((100vw - 540px) / (1920 - 540))), 56px);
    }
    .js-gallery_sticky_block {
        @media(min-width: 1024px) {
        padding-right: var(--column);
        }
    }
}
.block_banner.block_banner-hero.block_banner-custom {
    @media (min-width: 1024px) {
        .banner {
            padding: var(--g-vertical-xl) calc(var(--container-padding) + var(--column));
        }
    }
    .block--head {
        align-items: center;
    }
    .block--head_title {
        text-align: center;
        max-width: 880px
    }
    .block--head_caption {
        margin-left: auto;
        max-width: 434px;
    }
    .block--content:after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        z-index: 2;
        background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0) 36.92%, rgba(0, 0, 0, 0.6) 100%);
    }
    .f-h2 {
        font-size: clamp(32px, calc(32px + (64 - 32) * ((100vw - 540px) / (1920 - 540))), 64px);
    }
}

.is_cascade a {
    text-decoration: underline;
}

/* Интерактивная карта */

.scheme {
    overflow: hidden;
    svg {

        text{
            fill: #000;
            text-transform: uppercase;
            font-size: 12px;
            paint-order: stroke;
            stroke: #fff;
            stroke-width: 2px;
            stroke-opacity: 0.8;
            stroke-linecap: butt;
            stroke-linejoin: miter;
            font-weight: 500;
        }
        image {
            pointer-events: none;
        }
        use {
            transition: var(--transition);
        }
    }
}

@media (max-width: 1024px) {
    .scheme--figure {
        overflow-x: auto;
        svg {
            aspect-ratio: 1920 / 667;
            height: 60vh
        }
    }
}

.placemark{
    cursor: pointer;
    transition: var(--transition);
    --bg-color: #121212;
    --opacity: 0;
    &:hover, &[data-hover="hovered"] {
        --bg-color: #B92846;
        --opacity: 1

    }
    &.placemark-image {
        --bg-color: #1212120D;
        &:hover, &[data-hover="hovered"] {
            --bg-color: #B92846;
            --opacity: 1;
            image {
                opacity: 0;

            }
        }
    }
    image {
        clip-path: circle(50% at 50% 50%);
        transition: var(--transition);
    }
}
.scheme--slider {
    position: relative;
    padding: 0 var(--container-padding);
}
.scheme--slider_navigation {
    position: absolute;
    bottom: 100%;
    right: var(--container-padding);
    display: flex;
    gap: 2px;
}
.scheme--slider_item {
    height: 118px;
    border: 1px solid #1212121F;
    padding: 12px 16px;
    position: relative;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    flex-shrink: 0;
    flex-grow: 0;
    &:hover, &[data-hover="hovered"] {
        img {
            opacity: 1;
        }
        h3 {
            color: #fff
        }
        .scheme--slider_item_action {
            background-color: #fff;
            &:after {
                opacity: 0;
            }
            &:before {
                opacity: 1;
            }
        }
        &:before {
            opacity: 1;
        }
    }
    &:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        background: #0000004D;
        opacity: 0;
    }
    h3 {
        position: relative;
        z-index: 3;
        font-weight: 500;
        font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 1152, 18px);
        line-height: 1;
        text-transform: uppercase;
        text-overflow: ellipsis;
        overflow: hidden;
        display: -webkit-box;
        display: inline-block;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        transition: var(--transition);
        color: #121212;
    }
    img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        z-index: 1;
        opacity: 0;
    }
    .scheme--slider_item_action {
        position: relative;
        z-index: 3;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: #1212120D;
        cursor: pointer;
        flex-shrink: 0;
        &:after {
            content: "\e947";
            font-family: 'icomoon' !important;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
        &:before {
            content: "\e936";
            font-family: 'icomoon' !important;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            opacity: 0;
        }
    }
}
.popup-scheme {
    @media(max-width: 1023px) {
        place-items: end center;
        min-height: 50vh;

    }
    .popup--content {
        padding: 32px;
    }
    .popup--close {
        position: absolute;
        right: 32px;
        top: 32px;
    }
    .popup--content_title {
        font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 1152, 20px);
        font-weight: 500;
        text-transform: uppercase;
        margin-bottom: 16px;
    }
    .popup--content_media {
        margin-bottom: 24px;
        video, img {
            width: 100%;
            height: 252px;
            object-fit: cover;
            object-position: center;
        }
    }
    .popup--content_text {
        color: #121212E5;
        font-size: clamp(18px, 18px + 4 * (100vw - 768px) / 1152, 22px);
        margin-bottom: 24px;
    }
    .popup--content_buttons {
        display: flex;
        gap: 8px;
        .button {
            &:has(span:empty) {
                display: none;
            }
        }
    }
}
/* Интерактивная карта END */
@media(max-width: 768px){
    .menu--button, .header--actions {
        .button {
            padding: 8px 12px
        }
    }
    .popup.popup-menu .popup--close {
        padding: 8px 12px;
        font-size: 20px;
        height: 40px;
        &:before {
            font-size: 20px;
        }
    }

}
@media(max-width: 1440px){
    .nav--item a {
        padding: 12px 16px;
    }
}
.header--actions .dropdown{
    font-size: 16px;
}
@media(max-width: 768px) {
    .route {
        .tabs {
            overflow-x: auto;
            padding: 0 16px;
            margin: 0 -16px;
            width: 100vw
        }
    }
}

.popup_wine_card {
    place-items: end center;
    .card--content {
        gap: 10px;
        padding: 16px;
        min-height: 40vh
    }
    .card--description {
        padding-left: 20px;
    }
    .card--title {
        line-height: 24px;
        font-size: clamp(18px, 18px + 6 * (100vw - 768px) / 1152, 24px);
    }
    .card--description {
        padding-left: 18px;
        font-size: 14px;
        line-height: 1.5;
        font-weight: 400;
    }
    .card--buttons .button {
        width: 100%;
        justify-content: space-between;
        padding: 8px 0;
    }
    .popup--close {
        position: absolute;
        top: 16px;
        right: 16px;
    }
}
.block_list--map {
    margin-top: 32px;
    position: relative;
}
.contact--value {
    display: inline-flex;
    gap: 8px;
    flex-direction: column;
}

.block_list--map #shops_map{
position: absolute;
    top: 0;
    left: 0;
}

@media (max-width: 767px) {
    .winepark {
        overflow: hidden;
    }
    .winepark--bg img,
    .winepark--tower img {
        transform: scale(1.1);
    }
}

@media (max-width: 768px) {
    .footer--contacts .contacts {
        display: grid;
        gap: 24px;
        grid-template-columns: repeat(2, 1fr);
    }
}

.details li span {
    font-size: 14px;
}

@media (max-width: 768px) {
    .details li span {
        font-size: 12px;
    }
    .sidebar {
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .block_element:has(.block--sidebar) .block--content {
        padding-top: var(--g-vertical-m);
    }
}

.menu--image .hover {
    object-fit: cover;
}

@media (max-width: 768px) {
    .olives-2 {
        .olives-2--textblock {
            bottom: 64px;
            left: 22px;
            max-width: 220px;
        }
    }
}

.is_cascade .is_cascade--table:first-child {
    margin-top: 0;
}

.olives-4 {
    & .olives-4--bottle {
        @media (max-width: 768px) {
            width: 90vw;
        }
    }
}

@media (max-width: 768px) {
    .olives-4 {
        & .olives-4--bottle--text {
            @media (max-width: 768px) {
                font-size: 10px;
                font-size: 9px;
                max-width: 45vw;
                left: 44%;
                top: 12%;
            }
        }
    }
}

@media (max-width: 768px) {
    .popup {
        height: 100vh;
    }
    .popup-form .popup--content {
        padding-bottom: 62px;
    }
    .popup.popup-menu.is_active {
        height: 100%;
        background-color: #1E1E1E;
    }
    .popup.popup-menu .popup--content {
        height: 100%;
    }
    .popup.popup-cookies.is_active {
        height: 100%;
    }
    .popup.popup-cookies .popup--content {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .cheese-banner:first-of-type {
        height: 100vh;
    }
    .cheese-banner_heart img {
        object-fit: cover;
    }
    .cheese-banner {
        & .block--head {
            svg {
                width: 70%;
            }
        }
    }
}

@media (max-width: 768px) {
    .content_accommodation .card {
        height: auto;
    }
}

.filter--item > span {
    white-space: nowrap;
}

.filter--input label input[type="checkbox"] {
    width: 0;
    height: 0;
    opacity: 0;
}

.content_galleries:not(.block_list-slider) .block--elements, .content_mice_events:not(.block_list-slider) .block--elements, .content_offers:not(.block_list-slider) .block--elements, .content_visiting_formats:not(.block_list-slider) .block--elements, .content_cards:not(.block_list-slider) .block--elements, .content_cards_2:not(.block_list-slider) .block--elements {
    @media (max-width: 768px) {
        .card--title {
            font-size: 11px;
        }
    }
}

.block--link {
    margin-top: var(--g-content-m);
}
/* End */
/* /local/templates/main/template_styles.css?177015626514853 */
