body {
    height: 100%;
    margin: 0;
    padding-right: 0 !important;
    overflow: auto !important;
}

#app {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#main {
    flex: 1;
}

.ui-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100% - 20px);
    max-height: calc(100% - 20px);
}
img{
    max-width: 100%;
    height: auto;
}
/*HEADER STYLES*/
#footer .ajax-progress,
#header .ajax-progress {
    display: none;
}

.header-bottom {
    background: #ccc;
}

.toolbar .toolbar-tab .toolbar-icon {
    padding: 0.75em 1.5em 0.75em 2.5em;
}
.path-admin .messages--error {
    display: none;
}
/* *** contextual-region *** */
.contextual-region .contextual {
    display: none;
    top: -8px;
    right: 8px;
}

.contextual-region .contextual-region .contextual {
    top: 8px;
}

.contextual-region:hover .contextual {
    display: block;
}

.contextual-region .contextual .trigger {
    width: 22px !important;
    height: 22px !important;
    background-size: 14px 14px;
}

.cart-block--summary .cart-block--summary__count {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    background: #ccc;
    color: #fff;
    top: -3px;
    right: -9px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 500;
}

#header-mob {
    top: 0;
    width: 100%;
    background: #d9d9d9;
    color: #000;
    padding: 5px 5px;
    z-index: 50;
}

#header-mob.toolbar-horizontal #header-mob {
    top: 0;
}

#header-mob > * {
    padding: 0 10px;
}

#header-mob a {
    color: #000;
}

.offcanvas {
    --bs-offcanvas-bg: #d9d9d9;
}

.offcanvas .offcanvas-title {
    color: #000;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500;
}

.region-navigation .nav > .nav-item:hover .dropdown-menu {
    display: block;
    top: 100%;
    left: 0;
}


/*HEADER STYLES*/

/* SLICK STYLES */
.region-slider .view-content:not(.slick-initialized) .views-row {
    display: none;
}

.region-slider .view-content:not(.slick-initialized) .views-row:first-child {
    display: block;
}

div#slider-block .view.view-slayder.view-id-slayder .view-content .node--type-slide .content {
    position: absolute;
    top: 0;
    bottom: calc(1vw + 12px);
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

button.slick-prev.slick-arrow {
    left: 25px;
}

button.slick-next.slick-arrow {
    right: 25px;
}

ul.slick-dots {
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 7px;
    list-style: none;
    margin: 10px 0;
}

ul.slick-dots li button {
    background: #686868;
    border-radius: 50%;
    border: none;
    padding: 0;
    width: 10px;
    font-size: 0;
    height: 10px;
    display: block;
}

ul.slick-dots li button::before {
    display: none;
}

ul.slick-dots li.slick-active button {
    background: #272727;
}

button.slick-arrow {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

button.slick-arrow::before {
    content: '';
    display: block;
    position: relative;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    font-size: 0;
}

button.slick-prev.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/arrow-top.svg");
    transform: rotate(-90deg);
}

button.slick-next.slick-arrow::before {
    background-image: url("/sites/all/themes/vesta_theme/image/arrow-top.svg");
    transform: rotate(90deg);
}

/*#scrollToTop {*/
/*    width: 48px;*/
/*    height: 48px;*/
/*    background: none;*/
/*    text-indent: 0;*/
/*    font-size: 0;*/
/*    border: 0px;*/
/*    outline: 0px;*/
/*    display: flex;*/
/*    bottom: 120px;*/
/*    cursor: pointer;*/
/*    position: fixed;*/
/*    right: 75px;*/
/*    z-index: 10;*/
/*    transition: 0.2s;*/
/*    padding: 0;*/
/*}*/

/* SLICK STYLES */

/* PRODUCT PAGE STYLES*/
.product-teaser {
    display: flex;
    gap: 50px;
}

.product-teaser .product-teaser-image {
    max-width: 500px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider {
    margin: 0 0 10px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 500px;
    min-width: 500px;
    max-height: 500px;
    min-height: 500px;
    object-fit: cover;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable {
    margin: 0 -5px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide {
    margin: 0 5px;
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
    object-fit: cover;
}

.product-teaser .product-teaser-info {
    max-width: 500px;
}

.product-view-full button.slick-prev.slick-arrow {
    left: -25px;
}

.product-view-full button.slick-next.slick-arrow {
    right: -25px;
}


.node--view-mode-full .field--name-body img {
    margin: 0 10px;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../font/Montserrat-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../font/Montserrat-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../font/Montserrat-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'Montserrat', sans-serif;
}

:root {
    --font-family: "Montserrat", sans-serif;
}

/* PRODUCT PAGE STYLES*/

/* HEADER */

.adress_text {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 14px;
    color: #fff;
}

.header-line {
    background-color: #6b2a7e !important;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 500;
}

.header-top {
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Логотип */
.logo img {
    max-height: 68px;
    width: auto;
}

/* ==================== ИКОНКИ АДРЕСА, ТЕЛЕФОНА И ПОЧТЫ — ВАШИ С ПРОЕКТА ==================== */

/* Адрес (верхняя линия) — ваша иконка вместо 📍 */
.header-line .address-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url('/sites/all/themes/vesta_theme/image/adress.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin-right: 6px;
}

/* Контакты — горизонтально */
.col-contacts {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 28px !important;
    font-size: 1.05rem;
    font-weight: 600;
}
.col-contacts a {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 16px;
    color: #1e1e1e;
    text-decoration: none;
}

.col-contacts a.tel::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url('/sites/all/themes/vesta_theme/image/phone.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

.col-contacts a.mail::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 14px;
    background-image: url('/sites/all/themes/vesta_theme/image/mail.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

/* ==================== СОЦСЕТИ — ТОЛЬКО ВАШИ ИКОНКИ (без букв) ==================== */
.col-social {
    gap: 9px;
}
.social-item {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.2s;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.social-item:hover {
    transform: scale(1.1);
}

.social-item.max {
    background-image: url('/sites/all/themes/vesta_theme/image/max.svg');
}
.social-item.vk {
    background-image: url('/sites/all/themes/vesta_theme/image/vk.svg');
}
.social-item.ok {
    background-image: url('/sites/all/themes/vesta_theme/image/ok.svg');
}

/* ==================== ИКОНКА ПОИСКА — ВАША ==================== */
.search-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
}
.search-icon:hover {
    color: #6b2a7e;
}
.search-icon .region-search {
    position: absolute;
    top: 50%;
    right: calc(100% + 2px) !important;
    left: auto !important;

    transform: translateY(-50%) scale(0.95);
    opacity: 0;
    visibility: hidden;

    transition: all 0.25s ease;

    background: #fff;
    padding: 10px;
    width: 260px;

    border-radius: 6px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);

    z-index: 9999;
}

.search-icon.active .region-search {
    transform: translateY(-50%) translateX(25%) scale(1);
    opacity: 1;
    visibility: visible;
}

.search-icon::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url('/sites/all/themes/vesta_theme/image/search.svg');
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
}

.search-icon .contextual,
.search-icon .form-actions,
.search-icon input[type="hidden"],
.search-icon label {
    display: none !important;
}

.search-icon .region-search {
    background: transparent;
    padding: 0;
    box-shadow: none;
}

/* Кнопка */
.col-callback .btn {
    background-color: #72286f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 65px !important;
    padding: 12px 32px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    white-space: nowrap;
    box-shadow: 0 3px 8px rgba(107, 42, 126, 0.3) !important;
}
.col-callback .btn:hover {
    background-color: #5a2eb2 !important;
    transform: translateY(-1px);
}

/* Нижняя панель */
.header-bottom {
    background-color: #fff;
    padding: 0px !important;
}

.header-bottom .container {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.header-bottom .nav {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.header-bottom .nav-link {
    color: #1e1e1e;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.2s;
}

.header-bottom .nav-link:hover,
.header-bottom .nav-link.is-active {
    color: #6b2a7e;
}

/*MAIN BLOCK*/

.main_bg {
    background: #fefaf5;
    border-bottom: 1px solid #eae3d8;
    position: relative;
    overflow: visible;
}

.main-block {
    position: relative;
    z-index: 2;
    overflow: visible;
}

.main-block .block-content {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 40px;
    overflow: visible;
}

.group-left {
    max-width: 608px;
    flex: 1 1 auto;
}

.group-right {
    position: relative;
    flex: 0 0 auto;
    margin-right: -400px;
}

.group-right .field--name-field-main-image,
.group-right .field__item {
    display: flex;
    height: 100%;
}

.field--name-field-title h1 {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 51px;
    color: #1e1e1e;
}

.field--name-field-title span {
    color: #72286f;
}

.field--name-field-main-text {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    color: #1e1e1e;
    max-width: 507px;
}

.field--name-field-main-convenience {
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 24px;
}

/* один элемент */
.field--name-field-main-convenience .field__item {
    display: flex;
}

/* сам блок удобства */
.paragraph--type--convenience {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* скрываем label */
.field--name-field-comfort .field__label {
    display: none;
}

/* текст */
/*.field--name-field-comfort .field__item {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    gap: 8px;*/

/*    background: #fff;*/
/*    padding: 8px 14px 8px 32px; !* место под иконку *!*/
/*    border-radius: 64px;*/
/*    font-size: 16px;*/
/*    color: #1e1e1e;*/
/*    font-weight: 500;*/
/*    border: 1px solid #eae3d8;*/

/*    position: relative;*/
/*}*/

.field--name-field-comfort .field__item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    padding: 8px 14px 8px 32px;
    border-radius: 20px;
    font-size: 16px;
    color: #1e1e1e;
    font-weight: 500;
    border: 1px solid #eae3d8;
    position: relative;
    white-space: normal;
    line-height: 1.35;
    width: 100%; /* ← добавить */
    box-sizing: border-box; /* ← добавить */
}

.field--name-field-main-convenience .field__item,
.field--name-field-main-convenience .paragraph--type--convenience,
.field--name-field-main-convenience .field--name-field-comfort {
    width: 100%;
}

.field--name-field-comfort .field__item::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);

    width: 20px;
    height: 20px;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.field--name-field-main-convenience .field__item:nth-child(1) .field__item::before {
    background-image: url('/sites/all/themes/vesta_theme/image/tree.svg');
}

.field--name-field-main-convenience .field__item:nth-child(2) .field__item::before {
    background-image: url('/sites/all/themes/vesta_theme/image/tableware.svg');
}

.field--name-field-main-convenience .field__item:nth-child(3) .field__item::before {
    background-image: url('/sites/all/themes/vesta_theme/image/bus.svg');
}

/*.field--name-field-main-convenience .field__item:nth-child(4) .field__item::before {*/
/*    background-image: url('/sites/all/themes/vesta_theme/image/shop.svg');*/
/*}*/

.group-right img {
    display: block;
    height: 100%;
    width: auto;
    max-width: none;
    position: relative;
    z-index: 2;
}

.main-block {
    position: relative;
    z-index: 2;
    overflow: visible; /* важно, если звезды будут выходить за границы */
}

.group-right {
    position: relative;
}

/*.group-right img {*/
/*    max-width: 100%;*/
/*    height: auto;*/
/*    border-radius: 16px;*/
/*    position: relative;*/
/*    z-index: 2;*/
/*    display: block;*/
/*}*/

/* общие стили для всех звезд */
.main_bg::before,
.group-right::before,
.group-right::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    transition: transform .35s ease, opacity .35s ease;
}

/* большая звезда слева */
.main_bg::before {
    width: 180px;
    height: 180px;
    left: -15px;
    top: 0px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star4.svg');
    z-index: 1;
}

/* звезда сверху справа */
.group-right::before {
    width: 70px;
    height: 70px;
    right: -60px;
    top: 30px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star3.svg');
    z-index: 3;
}

/* звезда снизу справа */
.group-right::after {
    width: 90px;
    height: 90px;
    left: 53px;
    bottom: -22px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star2.svg');
    z-index: 3;
}

/* лёгкая интерактивность */
/*.main_bg:hover::before {*/
/*    transform: translate(-4px, -4px) rotate(-4deg) scale(1.03);*/
/*}*/

/*.group-right:hover::before {*/
/*    transform: translateY(-3px) rotate(8deg) scale(1.05);*/
/*}*/

/*.group-right:hover::after {*/
/*    transform: translateY(4px) rotate(-6deg) scale(1.05);*/
/*}*/

/* ABOUT BLOCK */

.about-block {
    background: #6f2c7f;
    padding-top: 75px;
    padding-bottom: 80px;
    text-align: center;
    color: #fff;
}

.about-block .field--name-field-about-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 30px;
}

.field--name-field-comfort-item {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;

    max-width: none;
    margin: 0 0 40px;
    width: 100%;
}

.field--name-field-comfort-item .field__item {
    display: flex;
}

.field--name-field-comfort-text {
    font-weight: 400;
    font-size: 16px;
    text-align: center;
    color: #1e1e1e;
    max-width: 213px;
}

.paragraph--type--comfort-about {
    background: #f2f2f2;
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    color: #333;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.field--name-field-comfort-img img {
    width: 50px;
    height: 50px;
    margin-bottom: 20px;
}

.field--name-field-comfort-title {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    color: #1e1e1e;
    margin-bottom: 10px;
    max-width: 79%;
    text-align: center;
}

.field--name-field-comfort-text .field__item {
    font-size: 14px;
    line-height: 1.4;
    color: #666;
}

.about_buttom {
    background: #f2f2f2;
    border-radius: 16px;
    padding: 30px;
    max-width: none;
    width: 100%;
    margin: 0 0 30px;
    color: #333;
}

.field--name-field-about-buttom-title {
    font-weight: 700;
    font-size: 24px;
    text-align: center;
    color: #72286f;
    margin-bottom: 20px;
}

.field--name-field-about-buttom-text {
    font-weight: 400;
    font-size: 16px;
    text-align: center;
    color: #1e1e1e;
}

.field--name-field-about-btn a {
    display: inline-block;
    background: #fefcf9;
    color: #1e1e1e;
    padding: 10px 20px;
    border-radius: 65px;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: 0.3s;
}

.field--name-field-about-btn a:hover {
    background: #d5d5d5;
}

/* FEEDBACK BLOCK */

/* FEEDBACK BLOCK */

.feedback-block {
    position: relative;
    overflow: visible;
}

.star-feedback {
    position: relative;
    overflow: visible;
}

#feedback-block {
    position: relative;
    padding: 80px 0;
    overflow: visible;
    isolation: isolate; /* чтобы звезды были за контентом */
}

/* декоративные звезды */
#feedback-block::before,
#feedback-block::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

/* левая звезда — Star10 */
#feedback-block::before {
    left: -30px;
    top: 276px;
    width: 154px;
    height: 154px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star10.svg');
}

/* правая звезда — Star11 */
#feedback-block::after {
    right: 60px;
    top: 130px;
    width: 96px;
    height: 96px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star11.svg');
}

/* весь основной контент поверх звезд */
#feedback-block .region-feedback,
#feedback-block .region-feedback > * {
    position: relative;
    z-index: 1;
}

#block-vesta-theme-block-title,
#block-vesta-theme-feedback,
#block-vesta-theme-yandekskarta-2 {
    position: relative;
    z-index: 1;
}

/* --- СТАРЫЕ СТИЛИ БЛОКА --- */

#feedback-block .webform-submission-form {
    max-width: 570px;
    padding: 28px 55px;
    border-radius: 30px;

    background: #fefcf9;
    border: 1px solid #eae3d8;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);

    color: #1e1e1e;

    height: 477px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Заголовок формы */
#feedback-block .webform-submission-form .js-form-item-name label {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 22px;
    color: #1e1e1e;
    display: block;
}

/* Поля ввода */
#feedback-block input,
#feedback-block textarea {
    width: 100%;
    padding: 14px 20px;
    margin-bottom: 20px;

    border-radius: 68px;
    border: 1px solid #eae3d8;

    background: #fff;
    color: #5c5c5c;
    font-size: 14px;
    transition: all 0.3s ease;
}

#feedback-block textarea {
    border-radius: 30px;
    max-height: 83px;
    resize: none;
}

/* СТИЛИЗАЦИЯ ОШИБОК — только свечение красным */
#feedback-block .form-item--error input,
#feedback-block .form-item--error textarea,
#feedback-block .form-item--error .form-checkbox {
    border-color: #e74c3c !important;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15) !important;
}

/* Убираем стандартные сообщения об ошибках */
#feedback-block .form-item--error-message,
#feedback-block .alert.alert-error {
    display: none !important;
}

/* Фокус */
#feedback-block input:focus,
#feedback-block textarea:focus {
    border-color: #6a3dc2;
    outline: none;
}

#feedback-block input::placeholder,
#feedback-block textarea::placeholder {
    color: #9a8f7e;
}

/* Чекбокс + текст согласия */
#feedback-block .form-item-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
    color: #6b6b6b;
    margin-top: 8px;
    margin-bottom: 18px;
}

#feedback-block .form-item-privacy input[type="checkbox"] {
    margin: 4px 0 0 0;
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    border: 1px solid #1e1e1e;
    border-radius: 3px;
}

.webform-element-description {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 128%;
    color: #1e1e1e;
    max-width: 354px;
}

#feedback-block .form-item-privacy .description {
    margin: 0;
    flex: 1;
}

#feedback-block .form-item-privacy a {
    color: #6a3dc2;
    text-decoration: underline;
}

/* Кнопка */
#feedback-block .form-submit {
    width: 100%;
    height: 40px;
    padding: 0 24px;
    margin-top: auto;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 65px;
    border: none;

    background: #72286f;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;

    transition: all 0.3s ease;
    cursor: pointer;
}

#feedback-block .form-submit:hover {
    background: #5a2eb2;
    transform: translateY(-1px);
}

/* Строка адреса с иконкой */
#block-vesta-theme-yandekskarta-2 .field--name-field-adress {
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    font-size: 16px;
    font-weight: 500;
    color: #1e1e1e;
}

#block-vesta-theme-yandekskarta-2 .field--name-field-adress::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;

    background-image: url('/sites/all/themes/vesta_theme/image/adress_webform.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Заголовок блока */
#block-vesta-theme-block-title .field--name-field-block-title {
    font-weight: 700;
    font-size: 32px;
    color: #1e1e1e;
}

#block-vesta-theme-yandekskarta-2 iframe {
    width: 100%;
    height: 100%;
    min-height: 400px;
    border-radius: 20px;
}

#feedback-block .mapContainer {
    filter: none;
}

#feedback-block .region-feedback {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "title title" "form map";
    gap: 40px;
    align-items: start;
}

#block-vesta-theme-block-title {
    grid-area: title;
    text-align: center;
}

#block-vesta-theme-feedback {
    grid-area: form;
}

#block-vesta-theme-yandekskarta-2 {
    grid-area: map;
}

#block-vesta-theme-feedback .webform-submission-form {
    max-width: 100%;
}

/*!* FEEDBACK BLOCK *!*/

/*#feedback-block {*/
/*    position: relative;*/
/*    padding: 80px 0;*/
/*}*/

/*#feedback-block .webform-submission-form {*/
/*    max-width: 570px;*/
/*    padding: 28px 55px;*/
/*    border-radius: 30px;*/

/*    background: #fefcf9;*/
/*    border: 1px solid #eae3d8;*/
/*    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);*/

/*    color: #1e1e1e;*/

/*    height: 477px;*/
/*    box-sizing: border-box;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    overflow: hidden;*/
/*}*/

/*!* Заголовок формы *!*/
/*#feedback-block .webform-submission-form .js-form-item-name label {*/
/*    font-size: 26px;*/
/*    font-weight: 700;*/
/*    line-height: 1.2;*/
/*    margin-bottom: 22px;*/
/*    color: #1e1e1e;*/
/*    display: block;*/
/*}*/

/*!* Поля ввода *!*/
/*#feedback-block input,*/
/*#feedback-block textarea {*/
/*    width: 100%;*/
/*    padding: 14px 20px;*/
/*    margin-bottom: 20px;*/

/*    border-radius: 68px;           !* для input *!*/
/*    border: 1px solid #eae3d8;*/

/*    background: #fff;*/
/*    color: #5c5c5c;*/
/*    font-size: 14px;*/
/*    transition: all 0.3s ease;*/
/*}*/

/*#feedback-block textarea {*/
/*    border-radius: 30px;*/
/*    max-height: 83px;*/
/*    resize: none;*/
/*}*/

/*!* 🔥 СТИЛИЗАЦИЯ ОШИБОК — только свечение красным, без текстов ошибок *!*/
/*#feedback-block .form-item--error input,*/
/*#feedback-block .form-item--error textarea,*/
/*#feedback-block .form-item--error .form-checkbox {*/
/*    border-color: #e74c3c !important;*/
/*    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15) !important;*/
/*}*/

/*!* Убираем все стандартные сообщения об ошибках *!*/
/*#feedback-block .form-item--error-message,*/
/*#feedback-block .alert.alert-error {*/
/*    display: none !important;*/
/*}*/

/*!* Фокус (в том числе при ошибке) *!*/
/*#feedback-block input:focus,*/
/*#feedback-block textarea:focus {*/
/*    border-color: #6a3dc2;*/
/*    outline: none;*/
/*}*/

/*#feedback-block input::placeholder,*/
/*#feedback-block textarea::placeholder {*/
/*    color: #9a8f7e;*/
/*}*/

/*!* Чекбокс + текст согласия *!*/
/*#feedback-block .form-item-privacy {*/
/*    display: flex;*/
/*    align-items: flex-start;*/
/*    gap: 10px;*/
/*    font-size: 13px;*/
/*    line-height: 1.4;*/
/*    color: #6b6b6b;*/
/*    margin-top: 8px;*/
/*    margin-bottom: 18px;*/
/*}*/

/*#feedback-block .form-item-privacy input[type="checkbox"] {*/
/*    margin: 4px 0 0 0;*/
/*    flex-shrink: 0;*/
/*    width: 13px;*/
/*    height: 13px;*/
/*    border: 1px solid #1e1e1e;*/
/*    border-radius: 3px;*/
/*}*/

/*.webform-element-description {*/
/*    font-family: var(--font-family);*/
/*    font-weight: 400;*/
/*    font-size: 14px;*/
/*    line-height: 128%;*/
/*    color: #1e1e1e;*/
/*    max-width: 354px;*/
/*}*/

/*#feedback-block .form-item-privacy .description {*/
/*    margin: 0;*/
/*    flex: 1;*/
/*}*/

/*#feedback-block .form-item-privacy a {*/
/*    color: #6a3dc2;*/
/*    text-decoration: underline;*/
/*}*/

/*!* Кнопка — высота 40px, текст по центру *!*/
/*#feedback-block .form-submit {*/
/*    width: 100%;*/
/*    height: 40px;*/
/*    padding: 0 24px;*/
/*    margin-top: auto;*/

/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/

/*    border-radius: 65px;*/
/*    border: none;*/

/*    background: #72286f;*/
/*    color: #ffffff;*/
/*    font-size: 16px;*/
/*    font-weight: 500;*/

/*    transition: all 0.3s ease;*/
/*    cursor: pointer;*/
/*}*/

/*#feedback-block .form-submit:hover {*/
/*    background: #5a2eb2;*/
/*    transform: translateY(-1px);*/
/*}*/

/*!* Строка адреса с иконкой *!*/
/*#block-vesta-theme-yandekskarta-2 .field--name-field-adress {*/
/*    margin-top: 24px;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    gap: 10px;*/

/*    font-size: 16px;*/
/*    font-weight: 500;*/
/*    color: #1e1e1e;*/
/*}*/

/*#block-vesta-theme-yandekskarta-2 .field--name-field-adress::before {*/
/*    content: "";*/
/*    display: block;*/
/*    width: 18px;*/
/*    height: 18px;*/
/*    flex-shrink: 0;*/

/*    background-image: url('/sites/all/themes/vesta_theme/image/adress_webform.svg');*/
/*    background-repeat: no-repeat;*/
/*    background-position: center;*/
/*    background-size: contain;*/
/*}*/

/*!* Остальное *!*/
/*#block-vesta-theme-block-title .field--name-field-block-title {*/
/*    font-weight: 700;*/
/*    font-size: 32px;*/
/*    color: #1e1e1e;*/
/*}*/

/*#block-vesta-theme-yandekskarta-2 iframe {*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    min-height: 400px;*/
/*    border-radius: 20px;*/
/*}*/

/*#feedback-block .mapContainer {*/
/*    filter: none;*/
/*}*/

/*#feedback-block .region-feedback {*/
/*    display: grid;*/
/*    grid-template-columns: 1fr 1fr;*/
/*    grid-template-areas: "title title" "form map";*/
/*    gap: 40px;*/
/*    align-items: start;*/
/*}*/

/*#block-vesta-theme-block-title { grid-area: title; text-align: center; }*/
/*#block-vesta-theme-feedback   { grid-area: form; }*/
/*#block-vesta-theme-yandekskarta-2 { grid-area: map; }*/

/*#block-vesta-theme-feedback .webform-submission-form {*/
/*    max-width: 100%;*/
/*}*/

/* Поля формы */
#webform-submission-callback-node-2-form-ajax .form-control {
    border: 1px solid #e5e5e5;
    border-radius: 54px;
    background: #fff;
    color: #1e1e1e;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}

/* Фокус у input и textarea */
#webform-submission-callback-node-2-form-ajax .form-control:focus,
#webform-submission-callback-node-2-form-ajax .form-control:focus-visible {
    border-color: #72286f;
    box-shadow: 0 0 0 3px rgba(114, 40, 111, 0.12);
    outline: none;
}

/* Если textarea должна быть менее "круглой" */
#webform-submission-callback-node-2-form-ajax textarea.form-control {
    border-radius: 24px;
    min-height: 120px;
}

/* Чекбокс */
#webform-submission-callback-node-2-form-ajax .form-checkbox:focus,
#webform-submission-callback-node-2-form-ajax .form-checkbox:focus-visible {
    outline: 2px solid rgba(114, 40, 111, 0.35);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(114, 40, 111, 0.12);
}

/* === Общий блок фотогалереи === */
#photogallery-block {
    position: relative;
    overflow: hidden;
    background: #fbf7f1;
    padding: 77px 0 80px;
    isolation: isolate;
}

/* контейнер внутри блока */
#photogallery-block .star-photogallery {
    position: relative;
    z-index: 1;
    overflow: visible;
}

/* контент поверх декора */
#photogallery-block .region-photogallery,
#photogallery-block .views-element-container,
#photogallery-block .view,
#photogallery-block .view-content {
    position: relative;
    z-index: 1;
}

/* Общие стили для всех звёзд */
#photogallery-block::before,
#photogallery-block::after,
#photogallery-block .star-photogallery::before,
#photogallery-block .star-photogallery::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

/* === ЛЕВАЯ ВЕРХНЯЯ ЗВЕЗДА — Star6 === */
#photogallery-block::before {
    left: -35px;
    top: 145px;
    width: 150px;
    height: 150px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star6.svg');
}

/* === ЛЕВАЯ НИЖНЯЯ ЗВЕЗДА — Star5 === */
#photogallery-block::after {
    left: 35px;
    bottom: 115px;
    width: 72px;
    height: 72px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star5.svg');
}

/* === ПРАВАЯ ВЕРХНЯЯ ЗВЕЗДА — Star4 === */
#photogallery-block .star-photogallery::before {
    right: -90px;
    top: 10px;
    width: 165px;
    height: 165px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star6.svg');
}

/* === ПРАВАЯ НИЖНЯЯ ЗВЕЗДА — Star7 === */
#photogallery-block .star-photogallery::after {
    right: -300px;
    bottom: -94px;
    width: 176px;
    height: 176px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star7.svg');
}

/* === Заголовок === */
#photogallery-block .block-title {
    display: block;
    margin: 0 0 30px;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #1e1e1e;
    position: relative;
    z-index: 1;
}

/* === Сетка фото === */
#photogallery-block .view-content,
#photogallery-block .views-row,
#photogallery-block .views-field-field-photogallery,
#photogallery-block .item-list {
    margin: 0;
    padding: 0;
}

#photogallery-block .views-field-field-photogallery .item-list ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}

#photogallery-block .views-field-field-photogallery .item-list li {
    margin: 0;
    padding: 0;
}

/* === Карточка фото === */
#photogallery-block .views-field-field-photogallery a {
    position: relative;
    display: block;
    aspect-ratio: 370 / 283;
    overflow: hidden;
    border-radius: 24px;
    background: #e9e0d9;
    text-decoration: none;
    transform: translateY(0);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    will-change: transform;
}

/* Лёгкий оверлей поверх изображения */
#photogallery-block .views-field-field-photogallery a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.00) 0%,
            rgba(0, 0, 0, 0.08) 100%
    );
    opacity: 0;
    transition: opacity 0.28s ease;
    pointer-events: none;
}

/* Само изображение */
#photogallery-block .views-field-field-photogallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.38s ease, filter 0.38s ease;
    will-change: transform;
}

/* Hover-эффекты */
@media (hover: hover) and (pointer: fine) {
    #photogallery-block .views-field-field-photogallery a:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
    }

    #photogallery-block .views-field-field-photogallery a:hover img {
        transform: scale(1.06);
        filter: saturate(1.05) contrast(1.02);
    }

    #photogallery-block .views-field-field-photogallery a:hover::after {
        opacity: 1;
    }
}

/* Фокус с клавиатуры */
#photogallery-block .views-field-field-photogallery a:focus-visible {
    outline: 2px solid #7f2b79;
    outline-offset: 4px;
}

#photogallery-block .views-field-field-photogallery a:focus-visible img {
    transform: scale(1.03);
}

/* === Кнопка === */
#photogallery-block .more-link {
    margin-top: 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

#photogallery-block .more-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 260px;
    height: 40px;
    padding: 0 50px;
    border-radius: 65px;
    background: #72286f;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

#photogallery-block .more-link a:hover {
    background: #6f246a;
}

/* ================================
   FOOTER
================================ */

#footer {
    background: #72286f;
    color: #fff;
    overflow: hidden;
    position: relative;
    padding-top: 26px;
    font-family: inherit;
}

#footer .footer-main-row {
    padding-bottom: 18px;
    align-items: flex-start;
}

#footer .footer-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Все ссылки в футере */
#footer a {
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

#footer a:hover {
    opacity: 0.82;
}

/* ================================
   ЛОГОТИП ТЕКСТОМ
================================ */
#footer .footer-brand {
    margin-bottom: 65px;
    line-height: 1;
}

#footer .footer-brand-link {
    display: inline-block;
    color: #fff;
}

#footer .footer-brand-top {
    display: block;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0;
    color: #fff;
    opacity: 0.95;
}

#footer .footer-brand-name {
    display: block;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
}

/* ================================
   ПРАВАЯ/ЛЕВАЯ КОЛОНКА: ПРАВОВЫЕ ССЫЛКИ
================================ */
#footer .footer-legal {
    font-size: 13px;
    line-height: 1.45;
}

#footer .footer-legal .copyright {
    margin-bottom: 6px;
    color: rgba(255, 255, 255, 0.92);
}

#footer .footer-legal .legal-link {
    display: block;
    width: fit-content;
    margin-top: 2px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 1px;
}

/* ================================
   ЦЕНТР: МЕНЮ ИЗ РЕГИОНА
================================ */
#footer .footer-col-nav {
    padding-top: 4px;
}

#footer .footer-col-nav h2,
#footer .footer-col-nav .block-title,
#footer .footer-col-nav .block__title {
    display: none;
}

#footer .footer-col-nav ul,
#footer .footer-col-nav .menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer .footer-col-nav li,
#footer .footer-col-nav .menu-item {
    margin: 0 0 7px;
    padding: 0;
    line-height: 1;
}

#footer .footer-col-nav a {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    padding: 0;
    margin-bottom: 10px;
}

/* ================================
   КОНТАКТЫ
================================ */
#footer .footer-col-contacts {
    padding-top: 4px;
}

#footer .contact-list {
    width: 100%;
}

#footer .contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 16px;
    color: #fff;
}

#footer .contact-item img {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    margin-top: 2px;
    filter: brightness(0) invert(1);
}

#footer .contact-item a,
#footer .contact-item span {
    color: #fff;
    text-decoration: none;
    text-align: left;
}

/* ================================
   СОЦСЕТИ
================================ */
#footer .footer-socials {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 6px;
}

#footer .footer-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#footer .footer-socials img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* ================================
   НИЖНЯЯ ПОЛОСА
================================ */
#footer .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.38);
    border-bottom: 1px solid rgba(255, 255, 255, 0.38);
    padding: 10px 0 10px;
    text-align: center;
    margin-bottom: 30px;
}

#footer .footer-bottom-content {
    font-size: 14px;
    color: #fff;
}

#footer .footer-bottom-content a {
    color: inherit;
    text-decoration: none;
}

#footer .brand-name {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ================================
   ПРАВАЯ/ЛЕВАЯ КОЛОНКА: ПРАВОВЫЕ ССЫЛКИ
================================ */
#footer .footer-legal {
    font-size: 13px;
    line-height: 1.45;
}

#footer .footer-legal .copyright {
    margin-bottom: 6px;
    color: rgba(255, 255, 255, 0.92);
}

#footer .footer-legal .legal-link {
    display: block;
    width: fit-content;
    margin-top: 2px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 1px;
}

/* Политика конфиденциальности — без подчёркивания */
#footer .footer-legal a[href="/politika-konfidencialnosti"] {
    border-bottom: none;
    padding-bottom: 0;
}


/* ================================
   КОНТАКТЫ
================================ */
#footer .footer-col-contacts {
    padding-top: 4px;
}

#footer .contact-list {
    width: 100%;
}

#footer .contact-item {
    display: flex;
    align-items: center; /* было flex-start */
    gap: 10px;
    margin-bottom: 10px;
    font-size: 16px;
    color: #fff;
}

#footer .contact-item img {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    margin-top: 0; /* убрали смещение */
    display: block;
    filter: brightness(0) invert(1);
}

#footer .contact-item a,
#footer .contact-item span {
    color: #fff;
    text-decoration: none;
    text-align: left;
}

/* =================================
   BLOCK ROOMS
================================= */

/* контейнер секции */
.star-rooms {
    position: relative;
    overflow: visible;
}

/* сам блок */
#block-rooms {
    position: relative;
    overflow: visible; /* важно: иначе звезды будут обрезаться */
    padding: 80px 0 80px;
    z-index: 1;
}

/* декоративные звезды */
#block-rooms::before,
#block-rooms::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

/* левая звезда — Star6 */
#block-rooms::before {
    left: -156px;
    top: 204px;
    width: 210px;
    height: 210px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star6.svg');
}

/* правая звезда — Star5 */
#block-rooms::after {
    right: -120px;
    top: 499px;
    width: 220px;
    height: 220px;
    background-image: url('/sites/all/themes/vesta_theme/image/Star5.svg');
}

/* весь контент поверх декора */
#block-rooms .region-block-rooms,
#block-rooms .views-element-container,
#block-rooms .view,
#block-rooms .view-content {
    position: relative;
    z-index: 1;
}

/* Заголовок */
#block-rooms .block-title {
    margin: 0 0 30px;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #222;
    position: relative;
    z-index: 1;
}

/* Сетка карточек */
#block-rooms .view-content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    align-items: stretch;
}

/* Карточка */
#block-rooms .views-row {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #eae3d8;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding-bottom: 72px;
    z-index: 1;
}

#block-rooms .views-row:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
}

/* Порядок блоков внутри карточки */
#block-rooms .views-field-field-image-product-view {
    order: 1;
    width: 100%;
    height: 214px;
    overflow: hidden;
    line-height: 0;
}

#block-rooms .views-field-field-rooms-title {
    order: 2;
    width: 83%;
    margin: 16px 24px 0;
    font-size: 24px;
    font-weight: 700;
    color: #1e1e1e;
}

#block-rooms .views-field-field-rooms-title .field-content {
    display: block;
}

#block-rooms .views-field-field-rooms-text {
    order: 3;
    width: 87%;
    margin: 10px 24px 0;
    font-size: 16px;
    color: #1e1e1e;
}

#block-rooms .views-field-field-rooms-text .field-content {
    display: block;
}

/* =================================
   КАРТИНКА И ССЫЛКА
================================= */

/* Ссылка только на изображении */
#block-rooms .views-field-field-image-product-view a {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Картинка */
#block-rooms .views-field-field-image-product-view img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

/* Hover-эффект на картинке */
#block-rooms .views-row:hover .views-field-field-image-product-view img {
    transform: scale(1.05);
}

/* =================================
   УДОБСТВА
   Компактные плашки с иконкой слева
================================= */

#block-rooms .views-field-field-convenience {
    order: 4;
    width: 84%;
    margin: 16px 24px 0px;
}

/* Контейнер удобств */
#block-rooms .views-field-field-convenience .field-content {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: flex-start;
    font-size: 0;
    line-height: 0;
}

/* Сам термин */
#block-rooms .views-field-field-convenience .taxonomy-term {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    min-height: 30px;
    border-radius: 54px;
    background: #f5f2ed;
    color: #6a5d64;
    margin: 0;
    vertical-align: top;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
}

/* Убираем ссылку-заголовок термина */
#block-rooms .views-field-field-convenience .taxonomy-term > h2 {
    display: none !important;
}

/* Убираем служебные подписи */
#block-rooms .views-field-field-convenience .taxonomy-term .field__label {
    display: none !important;
}

/* Внутренний контент термина */
#block-rooms .views-field-field-convenience .taxonomy-term .content {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

/* Сбрасываем внутренние отступы */
#block-rooms .views-field-field-convenience .taxonomy-term * {
    margin: 0;
    padding: 0;
}

/* Иконка слева */
#block-rooms .views-field-field-convenience .taxonomy-term .field--name-field-convenience-icon {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    line-height: 0;
}

#block-rooms .views-field-field-convenience .taxonomy-term .field--name-field-convenience-icon img {
    display: block;
    width: 14px;
    height: 14px;
    object-fit: contain;
}

/* Текст удобства */
#block-rooms .views-field-field-convenience .taxonomy-term .field--name-field-name-comfort,
#block-rooms .views-field-field-convenience .taxonomy-term .field--name-description,
#block-rooms .views-field-field-convenience .taxonomy-term .field--name-name {
    display: inline;
    font-size: 14px;
    color: inherit;
    white-space: nowrap;
}

/* Убираем лишние отступы у описания */
#block-rooms .views-field-field-convenience .taxonomy-term .field--name-description p {
    margin: 0;
    display: inline;
}

#block-rooms .views-field-field-convenience .taxonomy-term .field--name-description span {
    display: inline;
}

/* =================================
   БЕЙДЖ
   Внизу карточки слева, на одной линии со стрелкой
================================= */

#block-rooms .views-field-field-badge {
    position: absolute;
    left: 24px;
    bottom: 18px;
    margin: 0;
    width: auto;
    z-index: 2;
}

#block-rooms .views-field-field-badge .field-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 16px;
    border-radius: 54px;
    background: #72286f;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

/* Круглая стрелка справа снизу */
#block-rooms .views-row::after {
    content: "";
    position: absolute;
    right: 24px;
    bottom: 18px;
    width: 30px;
    height: 30px;
    border-radius: 49px;
    background-color: #72286f;
    background-image: url('/sites/all/themes/vesta_theme/image/arrow-right.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 10px;
    z-index: 2;
}

/* =================================
   КНОПКА СМОТРЕТЬ ВСЕ
================================= */

#block-rooms .more-link {
    margin-top: 22px;
    text-align: center;
    position: relative;
    z-index: 1;
}

#block-rooms .more-link::before {
    content: "*Завтраки включены в стоимость номера при проживании более суток.";
    display: block;
    margin-bottom: 20px;
    font-size: 16px;
    color: #5c5c5c;
}

#block-rooms .more-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 260px;
    height: 40px;
    padding: 0 26px;
    border-radius: 65px;
    background: #72286f;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    box-shadow: 0 10px 18px rgba(124, 47, 122, 0.16);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

#block-rooms .more-link a:hover {
    background: #6d276c;
}

/* ===== Наша кухня ===== */

.star_kitchen {
    position: relative;
    overflow: visible;
}

#block-our-kitchen {
    position: relative;
    overflow: visible; /* важно, чтобы звезда не обрезалась */
    padding-bottom: 80px;
    z-index: 0;
}

/* Звезда слева */
#block-our-kitchen::before {
    content: "";
    position: absolute;
    left: -275px;
    top: 300px;
    width: 518px;
    height: 511px;
    background: url('/sites/all/themes/vesta_theme/image/Star12.svg') center center / contain no-repeat;
    pointer-events: none;
    z-index: 0;
}

/* Весь контент поверх звезды */
#block-our-kitchen .region-our-kitchen,
#block-our-kitchen .views-element-container,
#block-our-kitchen .view,
#block-our-kitchen .view-content,
#block-our-kitchen .views-row {
    position: relative;
    z-index: 1;
}

/* Заголовок */
#block-our-kitchen .block-title {
    margin: 0 0 24px;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #1e1e1e;
}

/* Основная карточка */
#block-our-kitchen .views-row {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    grid-template-rows: repeat(4, min-content);
    align-items: start;

    position: relative;
    background: #fff;
    border: 1px solid #eee1d7;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(52, 32, 49, 0.08);
}

/* Левая часть — фото */
#block-our-kitchen .views-field-field-kitchen-img {
    grid-column: 1;
    grid-row: 1 / span 4;
    min-width: 0;
}

#block-our-kitchen .views-field-field-kitchen-img a {
    display: block;
    width: 100%;
    height: 100%;
}

#block-our-kitchen .views-field-field-kitchen-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Правая часть — контент */
#block-our-kitchen .views-field-field-kitchen-title {
    grid-column: 2;
    grid-row: 1;
    padding: 28px 34px 0;
    align-self: start;
}

#block-our-kitchen .views-field-field-kitchen-title .field-content {
    font-size: 24px;
    font-weight: 700;
    color: #1e1e1e;
}

#block-our-kitchen .views-field-field-kitchen-text {
    grid-column: 2;
    grid-row: 2;
    padding: 14px 34px 0;
    align-self: start;
}

#block-our-kitchen .views-field-field-kitchen-text .field-content {
    color: #1e1e1e;
    font-size: 16px;
}

/* Удобства */
#block-our-kitchen .views-field-field-kitchen-comfort {
    grid-column: 2;
    grid-row: 3;
    padding: 16px 34px 0;
    align-self: start;
    max-width: 386px;
}

#block-our-kitchen .views-field-field-kitchen-comfort .field-content {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;

    font-size: 0;
    line-height: 0;
}

/* Каждый термин удобства */
#block-our-kitchen .views-field-field-kitchen-comfort .taxonomy-term {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 1px solid #e8ded5;
    background: #f6f1eb;
    border-radius: 999px;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.2;
}

/* Убираем заголовок-ссылку */
#block-our-kitchen .views-field-field-kitchen-comfort .taxonomy-term > h2 {
    display: none !important;
}

/* Внутренний контент термина */
#block-our-kitchen .views-field-field-kitchen-comfort .taxonomy-term .content {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Иконка */
#block-our-kitchen .views-field-field-kitchen-comfort .taxonomy-term .field--name-field-convenience-icon img {
    width: 16px;
    height: 16px;
    display: block;
    object-fit: contain;
}

/* Название удобства */
#block-our-kitchen .views-field-field-kitchen-comfort .taxonomy-term .field--name-field-name-comfort {
    color: #5d4a50;
    font-size: 14px;
    line-height: 1.2;
    margin: 0;
}

/* Время работы */
#block-our-kitchen .views-field-field-kitchen-badge {
    grid-column: 2;
    grid-row: 4;
    padding: 18px 34px 32px;
    align-self: end;

    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

#block-our-kitchen .views-field-field-kitchen-badge .field-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 54px;
    background: #72286f;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
}

#block-our-kitchen .views-field-field-kitchen-badge::after {
    content: "";
    margin-left: auto;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 49px;
    background: #72286f url('/sites/all/themes/vesta_theme/image/arrow-right.svg') center center / 10px 10px no-repeat;
}

/* =================================
   HOVER ЭФФЕКТЫ
================================= */

@media (hover: hover) and (pointer: fine) {
    #block-rooms .views-row:hover .views-field-field-badge .field-content {
        background: #6d276c;
    }
}

/* ===== Модальное окно обратной связи ===== */
body .modal-dialog.modal-dialog-centered {
    max-width: 570px;
    width: calc(100% - 32px);
}

/* Основной блок модалки */
body .modal-dialog.modal-dialog-centered .modal-content {
    border-radius: 30px;
    background: #fefcf9;
    border: 1px solid #eae3d8;
    border-bottom: 0;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
    overflow: hidden;
    color: #1e1e1e;
}

/* Заголовок */
body .modal-dialog.modal-dialog-centered .modal-header {
    padding: 28px 55px 0;
    border-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body .modal-dialog.modal-dialog-centered .modal-title {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    color: #1e1e1e;
    margin: 0;
}

/* Кнопка закрытия */
body .modal-dialog.modal-dialog-centered .btn-close {
    box-shadow: none;
    opacity: 1;
}

/* Форма */
body .modal-dialog.modal-dialog-centered .webform-submission-form {
    width: 100%;
}

/* Поля ввода */
body .modal-dialog.modal-dialog-centered input:not([type="checkbox"]),
body .modal-dialog.modal-dialog-centered textarea {
    width: 100%;
    padding: 14px 20px;
    margin-bottom: 20px;
    border-radius: 68px;
    border: 1px solid #eae3d8;
    background: #fff;
    color: #5c5c5c;
    font-size: 14px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

body .modal-dialog.modal-dialog-centered textarea {
    border-radius: 30px;
    max-height: 83px;
    resize: none;
}

body .modal-dialog.modal-dialog-centered input::placeholder,
body .modal-dialog.modal-dialog-centered textarea::placeholder {
    color: #9a8f7e;
}

body .modal-dialog.modal-dialog-centered input:not([type="checkbox"]):focus,
body .modal-dialog.modal-dialog-centered textarea:focus {
    border-color: #6a3dc2;
    outline: none;
}

/* Ошибки */
body .modal-dialog.modal-dialog-centered .form-item--error input:not([type="checkbox"]),
body .modal-dialog.modal-dialog-centered .form-item--error textarea,
body .modal-dialog.modal-dialog-centered .form-item--error .form-checkbox {
    border-color: #e74c3c !important;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15) !important;
}

body .modal-dialog.modal-dialog-centered .form-item--error-message,
body .modal-dialog.modal-dialog-centered .alert.alert-error {
    display: none !important;
}

/* Чекбокс и текст согласия */
body .modal-dialog.modal-dialog-centered .form-item-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
    color: #6b6b6b;
    margin-top: 8px;
    margin-bottom: 18px;
}

body .modal-dialog.modal-dialog-centered .form-item-privacy input[type="checkbox"] {
    margin: 4px 0 0 0;
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    border: 1px solid #1e1e1e;
    border-radius: 3px;
    padding: 0;
}

body .modal-dialog.modal-dialog-centered .form-item-privacy .description {
    margin: 0;
    flex: 1;
}

body .modal-dialog.modal-dialog-centered .webform-element-description {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 128%;
    color: #1e1e1e;
    max-width: 354px;
}

body .modal-dialog.modal-dialog-centered .form-item-privacy a {
    color: #6a3dc2;
    text-decoration: underline;
}

/* Нижняя часть модалки */
body .modal-dialog.modal-dialog-centered .modal-footer {
    padding: 0 55px 28px;
    border-top: 0;
    background: #fefcf9;
    border-top: 0;
}

/* Кнопка отправки */
body .modal-dialog.modal-dialog-centered .modal-footer .form-submit {
    width: 100%;
    height: 40px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 65px;
    border: none;
    background: #72286f;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
}

body .modal-dialog.modal-dialog-centered .modal-footer .form-submit:hover {
    background: #5a2eb2;
    transform: translateY(-1px);
}

/* ================================
   CONTACT PAGE / ХЛЕБНЫЕ КРОШКИ
================================ */

/* Хлебные крошки */
#block-vesta-theme-strokanavigacii {
    margin: 24px 0 12px;
}

#block-vesta-theme-strokanavigacii nav[aria-label="breadcrumb"] {
    margin: 0;
}

#block-vesta-theme-strokanavigacii .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    background: transparent;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
    color: #6b6b6b;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    color: #c8beb3;
    padding: 0 10px;
    float: none;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item a {
    color: #1e1e1e;
    text-decoration: none;
    transition: color 0.2s ease;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item a:hover {
    color: #72286f;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item:last-child {
    color: #72286f;
}

/* Заголовок страницы */
#block-vesta-theme-page-title {
    margin: 0 0 28px;
}

#block-vesta-theme-page-title h1 {
    margin: 0;
    font-size: 40px;
    line-height: 1.15;
    font-weight: 700;
    color: #1e1e1e;
}

/* Основной блок контактов */
#block-vesta-theme-bloknastranicekontakty {
    display: grid;
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
    grid-template-areas:
        "contacts map"
        "address  map";
    gap: 24px 30px;
    align-items: start;
    margin-bottom: 80px;
}

/* Карточка с телефоном и почтой */
#block-vesta-theme-bloknastranicekontakty .field--name-body {
    grid-area: contacts;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px 30px;
    background: #fefcf9;
    border: 1px solid #eae3d8;
    border-radius: 30px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

#block-vesta-theme-bloknastranicekontakty .field--name-body p {
    margin: 0;
}

/* Телефон и email */
#block-vesta-theme-bloknastranicekontakty .field-tel a,
#block-vesta-theme-bloknastranicekontakty .field-mail a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 500;
    color: #1e1e1e;
    text-decoration: none;
    transition: color 0.2s ease;
}

#block-vesta-theme-bloknastranicekontakty .field-tel a:hover,
#block-vesta-theme-bloknastranicekontakty .field-mail a:hover {
    color: #72286f;
}

/* Иконка телефона */
#block-vesta-theme-bloknastranicekontakty .field-tel a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url('/sites/all/themes/vesta_theme/image/phone.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex: 0 0 16px;
}

/* Иконка почты */
#block-vesta-theme-bloknastranicekontakty .field-mail a::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 14px;
    background-image: url('/sites/all/themes/vesta_theme/image/mail.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex: 0 0 18px;
}

/* Карточка адреса */
#block-vesta-theme-bloknastranicekontakty .field--name-field-adress {
    grid-area: address;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 20px;
    background: #fefcf9;
    border: 1px solid #eae3d8;
    border-radius: 24px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.04);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 500;
    color: #1e1e1e;
}

/* Иконка адреса */
#block-vesta-theme-bloknastranicekontakty .field--name-field-adress::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 18px;
    background-image: url('/sites/all/themes/vesta_theme/image/adress_webform.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Блок карты */
#block-vesta-theme-bloknastranicekontakty .field--name-field-contact-map {
    grid-area: map;
}

#block-vesta-theme-bloknastranicekontakty .mapContainer {
    position: relative;
    width: 100% !important;
    height: 100%;
    min-height: 437px;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    background: #f3eee8;
}

#block-vesta-theme-bloknastranicekontakty .mapContainer iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 30px;
}

/* =================================
   СТРАНИЦА ФОТОГАЛЕРЕИ
   ТОЛЬКО /photogallery
================================= */


/* Контейнер с картинками */
.view-photogallery.view-display-id-page_1 .views-field-field-photogallery .field-content {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    font-size: 0; /* скрывает запятые между элементами */
}

/* Каждый элемент галереи */
.view-photogallery.view-display-id-page_1 .views-field-field-photogallery .field-content > span {
    display: block;
    flex: 1 1 calc(25% - 18px);
    min-width: 220px;
}

/* Карточка изображения */
.view-photogallery.view-display-id-page_1 .photoswipe-gallery {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    background: #f4f4f4;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.view-photogallery.view-display-id-page_1 .photoswipe-gallery:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
}

.view-photogallery.view-display-id-page_1 .photoswipe-gallery a {
    display: block;
}

/* Превью */
.view-photogallery.view-display-id-page_1 .photoswipe-gallery img {
    display: block;
    width: 100%;
    height: 260px;
    object-fit: cover;
    transition: transform .25s ease;
}

.view-photogallery.view-display-id-page_1 .photoswipe-gallery:hover img {
    transform: scale(1.04);
}

/* =================================
   СТРАНИЦА СЕРТИФИКАТОВ
================================= */

#block-vesta-theme-content article.node--type-certificates {
    padding: 30px 0 80px;
}

/* Убираем служебную информацию */
#block-vesta-theme-content article.node--type-certificates .node__meta {
    display: none;
}

/* Основная сетка */
#block-vesta-theme-content article.node--type-certificates .node__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
        "title title"
        "cert1 cert2"
        "pdf pdf";
    gap: 30px;
    align-items: start;
}

/* Заголовок */
#block-vesta-theme-content article.node--type-certificates .field--name-field-certificate-title {
    grid-area: title;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: #1e1e1e;
    text-align: center;
    margin: 0 0 10px;
}

/* Первое и второе изображение сертификата */
#block-vesta-theme-content article.node--type-certificates .field--name-field-certificate1 {
    grid-area: cert1;
}

#block-vesta-theme-content article.node--type-certificates .field--name-field-certificate2 {
    grid-area: cert2;
}

#block-vesta-theme-content article.node--type-certificates .field--name-field-certificate1,
#block-vesta-theme-content article.node--type-certificates .field--name-field-certificate2 {
    line-height: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #eae3d8;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

#block-vesta-theme-content article.node--type-certificates .field--name-field-certificate1 img,
#block-vesta-theme-content article.node--type-certificates .field--name-field-certificate2 img {
    display: block;
    width: 100%;
    height: auto;
}

/* PDF-ссылка */
#block-vesta-theme-content article.node--type-certificates .field--name-field-accreditation {
    grid-area: pdf;
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

#block-vesta-theme-content article.node--type-certificates .field--name-field-accreditation .file {
    margin: 0;
}

#block-vesta-theme-content article.node--type-certificates .field--name-field-accreditation a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 260px;
    height: 40px;
    padding: 0 26px;
    border-radius: 65px;
    background: #72286f;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    box-shadow: 0 10px 18px rgba(124, 47, 122, 0.16);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

#block-vesta-theme-content article.node--type-certificates .field--name-field-accreditation a:hover {
    background: #6d276c;
    transform: translateY(-1px);
}

/* ================================
   SEARCH PAGE (FOOLPROOF)
================================ */

/* Основной контейнер */
#block-vesta-theme-content .search-api-page-block-form-search,
#block-vesta-theme-content > h2,
#block-vesta-theme-content > p,
#block-vesta-theme-content h3 {
    font-family: var(--font-family);
}

/* Форма поиска */
#block-vesta-theme-content .search-api-page-block-form-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 24px;
    margin-bottom: 32px;
    background: #fefcf9;
    border: 1px solid #eae3d8;
    border-radius: 30px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

#block-vesta-theme-content .search-api-page-block-form-search input[type="search"] {
    width: 100%;
    height: 48px;
    padding: 0 20px;
    border: 1px solid #eae3d8;
    border-radius: 65px;
    background: #fff;
    color: #1e1e1e;
    font-size: 16px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

#block-vesta-theme-content .search-api-page-block-form-search input[type="search"]::placeholder {
    color: #9a8f7e;
}

#block-vesta-theme-content .search-api-page-block-form-search input[type="search"]:focus {
    outline: none;
    border-color: #72286f;
    box-shadow: 0 0 0 3px rgba(114, 40, 111, 0.12);
}

#block-vesta-theme-content .search-api-page-block-form-search .form-actions {
    margin: 0;
}

#block-vesta-theme-content .search-api-page-block-form-search .form-submit {
    height: 48px;
    padding: 0 28px;
    border: none;
    border-radius: 65px;
    background: #72286f;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    box-shadow: 0 8px 16px rgba(114, 40, 111, 0.2);
    transition: all 0.2s ease;
    cursor: pointer;
    white-space: nowrap;
}

#block-vesta-theme-content .search-api-page-block-form-search .form-submit:hover {
    background: #5a1f58;
    transform: translateY(-1px);
}

/* Заголовок и счётчик */
#block-vesta-theme-content > h2 {
    margin: 0 0 8px;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #1e1e1e;
}

#block-vesta-theme-content > h2 + p {
    margin: 0 0 24px;
    text-align: center;
    font-size: 16px;
    color: #5c5c5c;
}

/* Карточка результата */
#block-vesta-theme-content h3 {
    margin: 0;
}

#block-vesta-theme-content h3 a {
    display: block;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid #eae3d8;
    border-radius: 24px;
    color: #1e1e1e;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: all 0.2s ease;
}

#block-vesta-theme-content h3 a:hover {
    color: #72286f;
    border-color: #72286f;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(114, 40, 111, 0.12);
}

/* Описание результата (если есть) */
#block-vesta-theme-content h3 + p {
    margin: 8px 0 20px;
    padding: 0 24px 16px;
    background: #fff;
    border: 1px solid #eae3d8;
    border-top: none;
    border-radius: 0 0 24px 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    color: #5c5c5c;
    font-size: 15px;
    line-height: 1.5;
}

#block-vesta-theme-content h3 + p:empty {
    display: none;
}

/* ================================
   CALLBACK PAGE
================================ */

/* Фон и отступы страницы */
#block-vesta-theme-content {
    font-family: var(--font-family);
    box-sizing: border-box;
}

/* Обертка ajax формы */
#webform-submission-callback-form-ajax {
    max-width: 570px;
    margin: 0 auto;
}

/* Сама форма */
#webform-submission-callback-add-form,
#webform-submission-callback-form-ajax > .webform-submission-form {
    padding: 28px 55px;
    border-radius: 30px;
    background: #fefcf9;
    color: #1e1e1e;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* Первый label — как заголовок формы */
#webform-submission-callback-add-form .js-form-item-name label,
#webform-submission-callback-form-ajax .js-form-item-name label {
    display: block;
    margin-bottom: 22px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    color: #1e1e1e;
    background: transparent;
    border: none;
    padding: 0;
}

/* Скрываем остальные label */
#webform-submission-callback-add-form .js-form-item-phone label,
#webform-submission-callback-add-form .js-form-item-message label,
#webform-submission-callback-form-ajax .js-form-item-phone label,
#webform-submission-callback-form-ajax .js-form-item-message label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Общие отступы между полями */
#webform-submission-callback-add-form .form-item,
#webform-submission-callback-add-form .js-form-item,
#webform-submission-callback-form-ajax .form-item,
#webform-submission-callback-form-ajax .js-form-item {
    margin-bottom: 20px;
    background: transparent;
    border: none;
    padding: 0;
}

/* Поля ввода */
#webform-submission-callback-add-form input[type="text"],
#webform-submission-callback-add-form input[type="tel"],
#webform-submission-callback-add-form input[type="email"],
#webform-submission-callback-add-form textarea,
#webform-submission-callback-form-ajax input[type="text"],
#webform-submission-callback-form-ajax input[type="tel"],
#webform-submission-callback-form-ajax input[type="email"],
#webform-submission-callback-form-ajax textarea {
    width: 100%;
    padding: 14px 20px;
    border-radius: 68px;
    border: 1px solid #eae3d8;
    background: #fff;
    color: #5c5c5c;
    font-size: 14px;
    font-family: var(--font-family);
    transition: all 0.3s ease;
    box-sizing: border-box;
    box-shadow: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#webform-submission-callback-add-form textarea,
#webform-submission-callback-form-ajax textarea {
    border-radius: 30px;
    min-height: 83px;
    resize: none;
}

/* Placeholder */
#webform-submission-callback-add-form input::placeholder,
#webform-submission-callback-add-form textarea::placeholder,
#webform-submission-callback-form-ajax input::placeholder,
#webform-submission-callback-form-ajax textarea::placeholder {
    color: #9a8f7e;
    opacity: 1;
}

/* Focus */
#webform-submission-callback-add-form input[type="text"]:focus,
#webform-submission-callback-add-form input[type="tel"]:focus,
#webform-submission-callback-add-form input[type="email"]:focus,
#webform-submission-callback-add-form textarea:focus,
#webform-submission-callback-form-ajax input[type="text"]:focus,
#webform-submission-callback-form-ajax input[type="tel"]:focus,
#webform-submission-callback-form-ajax input[type="email"]:focus,
#webform-submission-callback-form-ajax textarea:focus {
    outline: none;
    border-color: #6a3dc2;
    box-shadow: 0 0 0 3px rgba(106, 61, 194, 0.12);
}

/* Согласие */
#webform-submission-callback-add-form .form-item-privacy,
#webform-submission-callback-add-form .js-form-item-privacy,
#webform-submission-callback-form-ajax .form-item-privacy,
#webform-submission-callback-form-ajax .js-form-item-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
    color: #6b6b6b;
    margin-top: 8px;
    margin-bottom: 18px;
    background: transparent;
    border: none;
    padding: 0;
}

#webform-submission-callback-add-form input[type="checkbox"],
#webform-submission-callback-form-ajax input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    margin: 2px 0 0;
    flex-shrink: 0;
    border: 1px solid #1e1e1e;
    border-radius: 3px;
    background: #fff;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
}

#webform-submission-callback-add-form input[type="checkbox"]:checked,
#webform-submission-callback-form-ajax input[type="checkbox"]:checked {
    background: #6a3dc2;
    border-color: #6a3dc2;
}

#webform-submission-callback-add-form input[type="checkbox"]:checked::after,
#webform-submission-callback-form-ajax input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

#webform-submission-callback-add-form .form-item-privacy .description,
#webform-submission-callback-form-ajax .form-item-privacy .description {
    margin: 0;
    flex: 1;
}

#webform-submission-callback-add-form .webform-element-description,
#webform-submission-callback-form-ajax .webform-element-description {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 128%;
    color: #1e1e1e;
    max-width: 354px;
}

#webform-submission-callback-add-form .form-item-privacy a,
#webform-submission-callback-form-ajax .form-item-privacy a {
    color: #6a3dc2;
    text-decoration: underline;
}

/* Кнопка отправки */
#webform-submission-callback-add-form .form-actions,
#webform-submission-callback-form-ajax .form-actions {
    margin-top: auto;
    padding: 0;
    background: transparent;
    border: none;
}

#webform-submission-callback-add-form input[type="submit"],
#webform-submission-callback-add-form button[type="submit"],
#webform-submission-callback-add-form .form-submit,
#webform-submission-callback-form-ajax input[type="submit"],
#webform-submission-callback-form-ajax button[type="submit"],
#webform-submission-callback-form-ajax .form-submit {
    width: 100%;
    height: 40px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 65px;
    border: none;
    background: #72286f;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    font-family: var(--font-family);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#webform-submission-callback-add-form input[type="submit"]:hover,
#webform-submission-callback-add-form button[type="submit"]:hover,
#webform-submission-callback-add-form .form-submit:hover,
#webform-submission-callback-form-ajax input[type="submit"]:hover,
#webform-submission-callback-form-ajax button[type="submit"]:hover,
#webform-submission-callback-form-ajax .form-submit:hover {
    background: #5a2058;
    transform: translateY(-1px);
}

/* ================================
   СОСТОЯНИЯ ОШИБОК
================================ */

/* Подсветка полей с ошибкой */
#webform-submission-callback-add-form .form-item--error input[type="text"],
#webform-submission-callback-add-form .form-item--error input[type="tel"],
#webform-submission-callback-add-form .form-item--error input[type="email"],
#webform-submission-callback-add-form .form-item--error textarea,
#webform-submission-callback-add-form input[type="text"].error,
#webform-submission-callback-add-form input[type="tel"].error,
#webform-submission-callback-add-form input[type="email"].error,
#webform-submission-callback-add-form textarea.error,
#webform-submission-callback-form-ajax .form-item--error input[type="text"],
#webform-submission-callback-form-ajax .form-item--error input[type="tel"],
#webform-submission-callback-form-ajax .form-item--error input[type="email"],
#webform-submission-callback-form-ajax .form-item--error textarea,
#webform-submission-callback-form-ajax input[type="text"].error,
#webform-submission-callback-form-ajax input[type="tel"].error,
#webform-submission-callback-form-ajax input[type="email"].error,
#webform-submission-callback-form-ajax textarea.error {
    border-color: #e74c3c;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15);
    background: #fff;
}

/* Ошибка чекбокса */
#webform-submission-callback-add-form .form-item--error input[type="checkbox"],
#webform-submission-callback-add-form input[type="checkbox"].error,
#webform-submission-callback-form-ajax .form-item--error input[type="checkbox"],
#webform-submission-callback-form-ajax input[type="checkbox"].error {
    border-color: #e74c3c;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15);
}

/* Скрываем сообщения об ошибках */
#webform-submission-callback-add-form .form-item--error-message,
#webform-submission-callback-add-form .alert,
#webform-submission-callback-add-form .messages,
#webform-submission-callback-add-form .messages--error,
#webform-submission-callback-form-ajax .form-item--error-message,
#webform-submission-callback-form-ajax .alert,
#webform-submission-callback-form-ajax .messages,
#webform-submission-callback-form-ajax .messages--error {
    display: none;
}

/* Скрываем индикатор AJAX */
#webform-submission-callback-add-form .ajax-progress,
#webform-submission-callback-add-form .ajax-progress-throbber,
#webform-submission-callback-form-ajax .ajax-progress,
#webform-submission-callback-form-ajax .ajax-progress-throbber {
    display: none;
}

/* =================================
   BLOCK ROOMS / PAGE ROOMS
   Главная + отдельная страница номеров
================================= */

/* Общая обёртка страницы номеров */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 {
    position: relative;
    overflow: hidden;
    padding: 80px 0 80px;
}

/* Если нужно убрать стандартные отступы Drupal */
#block-vesta-theme-content .views-element-container {
    margin: 0;
}

/* Сетка карточек */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .view-content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    align-items: stretch;
}

/* Карточка */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-row {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #eae3d8;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    padding-bottom: 72px;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-row:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
}

/* Порядок блоков внутри карточки */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-image-product-view {
    order: 1;
    width: 100%;
    line-height: 0;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-title {
    order: 2;
    width: 80%;
    margin: 16px 24px 0;
    font-size: 24px;
    font-weight: 700;
    color: #1e1e1e;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-title .field-content {
    display: block;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-text {
    order: 3;
    width: 87%;
    margin: 10px 24px 0;
    font-size: 16px;
    color: #1e1e1e;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-text .field-content {
    display: block;
}

/* Картинка */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-image-product-view a {
    display: block;
    overflow: hidden;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-image-product-view img {
    display: block;
    width: 100%;
    height: 214px;
    object-fit: cover;
    transition: transform 0.35s ease;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-row:hover .views-field-field-image-product-view img {
    transform: scale(1.05);
}

/* =================================
   УДОБСТВА
================================= */

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience {
    order: 4;
    width: 77%;
    margin: 16px 24px 0px;
}

/* Контейнер удобств */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .field-content {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: flex-start;
    font-size: 0;
    line-height: 0;
}

/* Сам термин */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    min-height: 30px;
    border-radius: 54px;
    background: #f5f2ed;
    color: #6a5d64;
    margin: 0;
    vertical-align: top;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
}

/* Убираем ссылку-заголовок термина */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term > h2 {
    display: none !important;
}

/* Убираем служебные подписи */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field__label {
    display: none !important;
}

/* Внутренний контент термина */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .content {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

/* Сбрасываем внутренние отступы */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term * {
    margin: 0;
    padding: 0;
}

/* Иконка слева */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field--name-field-convenience-icon {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    line-height: 0;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field--name-field-convenience-icon img {
    display: block;
    width: 14px;
    height: 14px;
    object-fit: contain;
}

/* Текст удобства */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field--name-field-name-comfort,
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field--name-description,
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field--name-name {
    display: inline;
    font-size: 14px;
    color: #1e1e1e;
    white-space: nowrap;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field--name-description p {
    margin: 0;
    display: inline;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term .field--name-description span {
    display: inline;
}

/* =================================
   БЕЙДЖ
================================= */

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-badge {
    position: absolute;
    left: 24px;
    bottom: 18px;
    margin: 0;
    width: auto;
    z-index: 2;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-badge .field-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 16px;
    border-radius: 54px;
    background: #72286f;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

/* Круглая стрелка справа снизу */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-row::after {
    content: "";
    position: absolute;
    right: 24px;
    bottom: 18px;
    width: 30px;
    height: 30px;
    border-radius: 49px;
    background-color: #72286f;
    background-image: url('/sites/all/themes/vesta_theme/image/arrow-right.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 10px;
    z-index: 2;
}

/* Если на странице есть кнопка "смотреть все" */
#block-vesta-theme-content .view-tovary.view-display-id-page_1 .more-link {
    margin-top: 22px;
    text-align: center;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .more-link::before {
    content: "*Завтраки включены в стоимость номера при проживании более суток.";
    display: block;
    margin-bottom: 20px;
    font-size: 16px;
    color: #5c5c5c;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .more-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 260px;
    height: 40px;
    padding: 0 26px;
    border-radius: 65px;
    background: #72286f;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    box-shadow: 0 10px 18px rgba(124, 47, 122, 0.16);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

#block-vesta-theme-content .view-tovary.view-display-id-page_1 .more-link a:hover {
    background: #6d276c;
}

/*!* =================================*/
/*ROOM FULL PAGE*/
/*================================= *!*/

/*#block-vesta-theme-content .product-view-full {*/
/*    max-width: 760px;*/
/*    width: calc(100% - 32px);*/
/*    margin: 80px auto;*/
/*    background: #fff;*/
/*    border: 1px solid #eae3d8;*/
/*    border-radius: 30px;*/
/*    overflow: hidden;*/
/*    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);*/
/*    padding-bottom: 28px;*/
/*}*/

/*!* Прячем пустой teaser *!*/
/*#block-vesta-theme-content .product-view-full .product-teaser {*/
/*    display: none;*/
/*}*/

/*!* Картинка *!*/
/*#block-vesta-theme-content .product-view-full .field--name-field-image-product-view {*/
/*    line-height: 0;*/
/*}*/

/*#block-vesta-theme-content .product-view-full .field--name-field-image-product-view img {*/
/*    display: block;*/
/*    width: 100%;*/
/*    height: auto;*/
/*    aspect-ratio: 368 / 218;*/
/*    object-fit: cover;*/
/*}*/

/*!* Заголовок *!*/
/*#block-vesta-theme-content .product-view-full .field--name-field-rooms-title {*/
/*    margin: 24px 24px 0;*/
/*    font-size: 32px;*/
/*    font-weight: 700;*/
/*    line-height: 1.2;*/
/*    color: #222;*/
/*}*/

/*!* Описание *!*/
/*#block-vesta-theme-content .product-view-full .field--name-field-rooms-text {*/
/*    margin: 12px 24px 0;*/
/*    font-size: 16px;*/
/*    line-height: 1.6;*/
/*    color: #1e1e1e;*/
/*}*/

/*!* =================================*/
/*СБРОС СТАРОГО СТИЛЯ УДОБСТВ*/
/*================================= *!*/

/*#block-vesta-theme-content .product-view-full .block_comfort {*/
/*    margin: 18px 24px 0;*/
/*}*/

/*!* Сброс старого стиля у .field__item*/
/*   Работает и для field-comfort, и для field-convenience *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .field--name-field-comfort > .field__item,*/
/*#block-vesta-theme-content .product-view-full .block_comfort .field--name-field-convenience > .field__item {*/
/*    display: block !important;*/
/*    padding: 0 !important;*/
/*    margin: 0 !important;*/
/*    border: 0 !important;*/
/*    border-radius: 0 !important;*/
/*    background: transparent !important;*/
/*    position: static !important;*/
/*    min-height: 0;*/
/*    font-size: 0;*/
/*    line-height: 0;*/
/*}*/

/*!* Контейнер удобств *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .field--name-field-comfort,*/
/*#block-vesta-theme-content .product-view-full .block_comfort .field--name-field-convenience {*/
/*    display: flex;*/
/*    flex-wrap: wrap;*/
/*    gap: 8px 10px;*/
/*    align-items: flex-start;*/
/*    font-size: 0;*/
/*    line-height: 0;*/
/*}*/

/*!* Сам термин *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    gap: 5px;*/
/*    padding: 5px 10px;*/
/*    min-height: 30px;*/
/*    border-radius: 54px;*/
/*    background: #f5f2ed;*/
/*    color: #6a5d64;*/
/*    margin: 0;*/
/*    vertical-align: top;*/
/*    font-size: 14px;*/
/*    line-height: 1;*/
/*    white-space: nowrap;*/
/*    overflow: hidden;*/
/*    max-width: 100%;*/
/*}*/

/*!* Убираем заголовок термина *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term > h2 {*/
/*    display: none !important;*/
/*}*/

/*!* Убираем служебные подписи *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field__label {*/
/*    display: none !important;*/
/*}*/

/*!* Внутренний контент термина *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .content {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    gap: 5px;*/
/*    min-width: 0;*/
/*}*/

/*!* Сбрасываем отступы внутри термина *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term * {*/
/*    margin: 0;*/
/*    padding: 0;*/
/*}*/

/*!* Иконка *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field--name-field-convenience-icon {*/
/*    flex: 0 0 14px;*/
/*    width: 14px;*/
/*    height: 14px;*/
/*    line-height: 0;*/
/*}*/

/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field--name-field-convenience-icon img {*/
/*    display: block;*/
/*    width: 14px;*/
/*    height: 14px;*/
/*    object-fit: contain;*/
/*}*/

/*!* Текст удобства *!*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field--name-field-name-comfort,*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field--name-description,*/
/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field--name-name {*/
/*    display: inline;*/
/*    font-size: 14px;*/
/*    color: inherit;*/
/*    white-space: nowrap;*/
/*}*/

/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field--name-description p {*/
/*    margin: 0;*/
/*    display: inline;*/
/*}*/

/*#block-vesta-theme-content .product-view-full .block_comfort .taxonomy-term .field--name-description span {*/
/*    display: inline;*/
/*}*/


/*!* =================================*/
/*БЕЙДЖ*/
/*================================= *!*/

/*#block-vesta-theme-content .product-view-full .field--name-field-badge {*/
/*    margin: 22px 24px 0;*/
/*}*/

/*#block-vesta-theme-content .product-view-full .field--name-field-badge .field__item {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    min-height: 30px;*/
/*    padding: 0 16px;*/
/*    border-radius: 54px;*/
/*    background: #72286f;*/
/*    color: #fff;*/
/*    font-size: 14px;*/
/*    font-weight: 500;*/
/*    white-space: nowrap;*/
/*}*/

/*!* =================================*/
/*КНОПКА ЗАБРОНИРОВАТЬ*/
/*================================= *!*/

/*#block-vesta-theme-content .product-view-full .field--name-field-room-btn,*/
/*#block-vesta-theme-content .product-view-full .field--name-field-book-button {*/
/*    margin: 20px 24px 0;*/
/*}*/

/*#block-vesta-theme-content .product-view-full .field--name-field-room-btn a,*/
/*#block-vesta-theme-content .product-view-full .field--name-field-book-button a {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    gap: 8px;*/
/*    min-height: 48px;*/
/*    padding: 0 26px;*/
/*    border-radius: 54px;*/
/*    background: #72286f;*/
/*    color: #fff !important;*/
/*    text-decoration: none;*/
/*    font-size: 16px;*/
/*    font-weight: 600;*/
/*    border: none;*/
/*    box-shadow: none;*/
/*    transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;*/
/*}*/

/*!* стрелка *!*/
/*#block-vesta-theme-content .product-view-full .field--name-field-room-btn a::after,*/
/*#block-vesta-theme-content .product-view-full .field--name-field-book-button a::after {*/
/*    content: "";*/
/*    width: 10px;*/
/*    height: 10px;*/
/*    background: url('/sites/all/themes/vesta_theme/image/arrow-right.svg') no-repeat center / contain;*/
/*    filter: brightness(0) invert(1);*/
/*    flex: 0 0 10px;*/
/*}*/

/*!* hover *!*/
/*#block-vesta-theme-content .product-view-full .field--name-field-room-btn a:hover,*/
/*#block-vesta-theme-content .product-view-full .field--name-field-book-button a:hover {*/
/*    background: #5f215b;*/
/*    transform: translateY(-2px);*/
/*    box-shadow: 0 8px 20px rgba(114, 40, 111, 0.2);*/
/*    text-decoration: none;*/
/*}*/

/* =================================
   ВЫПАДАЮЩЕЕ МЕНЮ
================================= */

/* Основное меню навигации */
.region-navigation .nav {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Элемент меню с выпадашкой */
.region-navigation .nav > .nav-item {
    position: relative;
}

/* Ссылка верхнего уровня */
.region-navigation .nav > .nav-item > .nav-link {
    color: #1e1e1e;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    gap: 8px; /* Небольшой отступ перед иконкой */
    padding: 8px 0; /* Отступы сверху/снизу для кликабельной зоны */
}

.region-navigation .nav > .nav-item > .nav-link:hover,
.region-navigation .nav > .nav-item > .nav-link.is-active {
    color: #6b2a7e;
}

/* =================================
   ИКОНКА-СТРЕЛКА (ПЛЮСИК)
   Вместо стандартной стрелки
================================= */

/* Создаем иконку через псевдоэлемент */
.region-navigation .nav > .nav-item > .nav-link.dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1e1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'%3E%3C/line%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease, filter 0.3s ease;
    margin-left: 4px;
}

/* При наведении: поворачиваем в крестик (ротейт 45 градусов) */
.region-navigation .nav > .nav-item:hover > .nav-link.dropdown-toggle::after {
    transform: rotate(45deg);
    filter: brightness(0) invert(1) sepia(1) saturate(5) hue-rotate(250deg); /* Делает иконку фиолетовой */
}

/* =================================
   ВЫПАДАЮЩЕЕ МЕНЮ
================================= */

.region-navigation .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    min-width: 220px;
    padding: 6px 0;
    margin: 0;

    background: #fff;
    border: 1px solid #eae3d8;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);

    list-style: none;
}

/* Показываем при ховере */
.region-navigation .nav > .nav-item:hover .dropdown-menu,
.region-navigation .nav > .nav-item:focus-within .dropdown-menu {
    display: block;
}

/* Элемент выпадающего меню */
.region-navigation .dropdown-menu .nav-item {
    margin: 0;
    padding: 0;
}

/* Ссылка внутри выпадашки */
.region-navigation .dropdown-menu .dropdown-item {
    display: block;
    padding: 10px 20px;
    color: #1e1e1e;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
}

.region-navigation .dropdown-menu .dropdown-item:hover,
.region-navigation .dropdown-menu .dropdown-item:focus {
    background: #f9f5f1;
    color: #6b2a7e;
    outline: none;
}

/* Активный пункт в выпадашке */
.region-navigation .dropdown-menu .dropdown-item.is-active {
    color: #6b2a7e;
    background: #f9f5f1;
}

/* =========================
   ИКОНКА СТРЕЛКИ
========================= */

/* Прячем стандартную caret/::after от dropdown */
.region-navigation .nav > .nav-item > .nav-link.dropdown-toggle::after {
    display: none !important;
}

/* Делаем место под иконку */
.region-navigation .nav > .nav-item > .nav-link.dropdown-toggle {
    position: relative;
    padding-right: 20px;
}

/* Своя стрелка через CSS (шеврон) */
.region-navigation .nav > .nav-item > .nav-link.dropdown-toggle::before {
    content: "";
    position: absolute;
    right: 2px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.25s ease;
}

/* При наведении/открытии разворачиваем стрелку вверх */
.region-navigation .nav > .nav-item:hover > .nav-link.dropdown-toggle::before,
.region-navigation .nav > .nav-item:focus-within > .nav-link.dropdown-toggle::before,
.region-navigation .nav > .nav-item.show > .nav-link.dropdown-toggle::before {
    transform: translateY(-30%) rotate(-135deg);
}

/* ===== Отдельная страница "Наша кухня" ===== */
#block-vesta-theme-content .node--type-kitchen {
    max-width: 1200px;
    margin: 0 auto;
}

#block-vesta-theme-content .node--type-kitchen .node__meta {
    display: none;
}

#block-vesta-theme-content .node--type-kitchen .node__content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    grid-template-rows: repeat(4, min-content);
    align-items: start;

    background: #fff;
    border: 1px solid #eee1d7;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(52, 32, 49, 0.08);
    box-sizing: border-box;
}

/* Сброс стандартных отступов у полей */
#block-vesta-theme-content .node--type-kitchen .field {
    margin: 0;
}

/* ===== Фото слева ===== */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img {
    grid-column: 1;
    grid-row: 1 / span 4;
    min-width: 0;
    height: 100%;
}

#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img .field__item {
    height: 100%;
}

#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===== Заголовок ===== */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title {
    grid-column: 2;
    grid-row: 1;
    padding: 28px 34px 0;
    align-self: start;
}

#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title .field__item {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: #1e1e1e;
}

/* ===== Текст ===== */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-text {
    grid-column: 2;
    grid-row: 2;
    padding: 14px 34px 0;
    align-self: start;
}

#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-text .field__item {
    font-size: 16px;
    line-height: 1.55;
    color: #1e1e1e;
}

/* ===== Удобства ===== */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort {
    grid-column: 2;
    grid-row: 3;
    padding: 16px 34px 0;
    align-self: start;
    max-width: 386px;
}

/* контейнер списка */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .field__items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;

    /* убирает визуальные артефакты */
    font-size: 0;
    line-height: 0;
}

/* каждый пункт */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .field__item {
    margin: 0;
}

/* сам taxonomy-term */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .taxonomy-term {
    margin: 0;
}

/* скрываем лишнее */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .taxonomy-term > h2 {
    display: none !important;
}

#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .taxonomy-term .contextual {
    display: none !important;
}

/* Плашка удобства */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .taxonomy-term .content {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 6px 12px;
    border: 1px solid #e8ded5;
    background: #f6f1eb;
    border-radius: 999px;

    white-space: nowrap;
    box-sizing: border-box;
}

/* иконка */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .taxonomy-term .field--name-field-convenience-icon img {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
    flex: 0 0 16px;
}

/* название удобства */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort .taxonomy-term .field--name-field-name-comfort {
    margin: 0;
    font-size: 14px;
    line-height: 1.2;
    color: #5d4a50;
}

/* ===== Время работы ===== */
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-badge {
    grid-column: 2;
    grid-row: 4;
    padding: 18px 34px 32px;
    align-self: end;
}

#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-badge .field__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 10px 16px;
    border-radius: 54px;
    background: #72286f;
    color: #fff;

    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
}

/* =========================================================
   GLOBAL FIX: убираем горизонтальный overflow
========================================================= */

*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    width: 100%;
    overflow-x: hidden;
}

#app {
    width: 100%;
    overflow-x: hidden;
}

img, svg, video, iframe {
    max-width: 100%;
    height: auto;
}

/* =========================================================
   МОБИЛЬНЫЙ HEADER
========================================================= */

#header-mob {
    top: 0;
    width: 100%;
    background: #fff;
    color: #1e1e1e;
    padding: 12px 16px;
    z-index: 50;
    border-bottom: 1px solid #eae3d8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

#header-mob a {
    color: #1e1e1e;
    text-decoration: none;
}

/* Бургер */
#header-mob .col-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #f5f2ed;
    transition: background 0.2s ease;
}

#header-mob .col-nav a:hover {
    background: #eae3d8;
}

#header-mob .col-nav img {
    width: 20px;
    height: 20px;
    display: block;
}

/* Логотип */
#header-mob .col-logo a {
    display: flex;
    align-items: center;
}

#header-mob .col-logo img {
    max-height: 42px;
    width: auto;
    display: block;
}

/* Телефон */
#header-mob .col-phone {
    display: flex;
    align-items: center;
}

#header-mob .col-phone .contact-item {
    margin: 0;
    padding: 0;
}

#header-mob .col-phone .contact-item a {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 14px;
    color: #1e1e1e;
    white-space: nowrap;
}

/* Иконка телефона */
#header-mob .col-phone .contact-item a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background-image: url('/sites/all/themes/vesta_theme/image/phone.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Корзина (пустая) */
#header-mob .col-cart:empty {
    display: none;
}

/* =========================================================
   OFFCANVAS МЕНЮ — стилизация
========================================================= */

.offcanvas {
    --bs-offcanvas-bg: #fff;
    border-right: 1px solid #eae3d8 !important;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.08);
}

.offcanvas .offcanvas-header {
    padding: 16px 20px;
    border-bottom: 1px solid #eae3d8;
}

.offcanvas .offcanvas-title {
    color: #1e1e1e;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
    font-family: var(--font-family);
}

.offcanvas .btn-close {
    opacity: 0.6;
}

.offcanvas .offcanvas-body {
    padding: 16px 20px;
}

/* Пункты меню */
.offcanvas .nav {
    flex-direction: column;
    gap: 0;
}

.offcanvas .nav .nav-item {
    border-bottom: 1px solid #f0ebe5;
}

.offcanvas .nav .nav-link {
    padding: 14px 0;
    font-size: 16px;
    font-weight: 500;
    color: #1e1e1e;
    font-family: var(--font-family);
    transition: color 0.2s ease;
}

.offcanvas .nav .nav-link:hover,
.offcanvas .nav .nav-link.is-active {
    color: #72286f;
}

/* Подменю */
.offcanvas .nav .dropdown-menu {
    position: static;
    border: 0;
    background: transparent;
    padding: 0 0 8px 16px;
    box-shadow: none;
    min-width: 0;
}

.offcanvas .nav .dropdown-menu .dropdown-item {
    padding: 10px 0;
    font-size: 15px;
    color: #5c5c5c;
    border-bottom: 1px solid #f5f2ed;
}

.offcanvas .nav .dropdown-menu .dropdown-item:hover {
    color: #72286f;
    background: transparent;
}


/* =========================================================
   BURGER MENU / OFFCANVAS
========================================================= */

#offcanvasNav {
    --bs-offcanvas-width: min(100vw, 360px);
    background: #fff;
    color: #1e1e1e;
    border-right: 0 !important;   /* убираем белую линию */
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.10);
    overflow-x: hidden;
    background-clip: padding-box;
}

#offcanvasNav.offcanvas-start {
    border-right: 0 !important;   /* на всякий случай */
}

#offcanvasNav .offcanvas-header {
    padding: 16px 20px;
    border-bottom: 1px solid #eae3d8;
    background: linear-gradient(180deg, #fff 0%, #fbf7f1 100%);
    align-items: center;
}

#offcanvasNav .offcanvas-body {
    padding: 16px 20px 24px;
    overflow-y: auto;
}

/* Лого */
#offcanvasNav .logo img {
    max-height: 42px;
    width: auto;
    display: block;
}

/* Кнопка закрытия */
#offcanvasNav .btn-close {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #f5f2ed;
    background-size: 12px;
    opacity: 1;
    box-shadow: none;
    border: 0;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

#offcanvasNav .btn-close:hover {
    background-color: #eae3d8;
    transform: rotate(90deg);
}

/* Убираем возможные отступы */
#offcanvasNav .region-search,
#offcanvasNav .region-navigation {
    margin: 0;
}

/* =========================================================
   SEARCH FORM IN MENU
========================================================= */

#offcanvasNav .search-api-page-block-form-search {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    margin-bottom: 18px;
    background: #fefcf9;
    border: 1px solid #eae3d8;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    margin-top: 20px;
}

#offcanvasNav .search-api-page-block-form-search form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#offcanvasNav .search-api-page-block-form-search input[type="search"] {
    width: 100%;
    height: 44px;
    padding: 0 16px;
    border: 1px solid #eae3d8;
    border-radius: 65px;
    background: #fff;
    color: #1e1e1e;
    font-size: 15px;
    box-sizing: border-box;
}

#offcanvasNav .search-api-page-block-form-search input[type="search"]::placeholder {
    color: #9a8f7e;
}

#offcanvasNav .search-api-page-block-form-search input[type="search"]:focus {
    outline: none;
    border-color: #72286f;
    box-shadow: 0 0 0 3px rgba(114, 40, 111, 0.12);
}

#offcanvasNav .search-api-page-block-form-search .form-actions {
    margin: 0;
}

#offcanvasNav .search-api-page-block-form-search .form-submit {
    width: 100%;
    height: 44px;
    border: none;
    border-radius: 65px;
    background: #72286f;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

#offcanvasNav .search-api-page-block-form-search .form-submit:hover {
    background: #5f215b;
    transform: translateY(-1px);
}

/* =========================================================
   MAIN MENU
========================================================= */

#offcanvasNav .region-navigation .nav {
    display: flex;
    flex-direction: column;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

#offcanvasNav .region-navigation .nav > .nav-item {
    border-bottom: 1px solid #f0ebe5;
}

#offcanvasNav .region-navigation .nav > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    color: #1e1e1e;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}

#offcanvasNav .region-navigation .nav > .nav-item > .nav-link:hover,
#offcanvasNav .region-navigation .nav > .nav-item > .nav-link.is-active {
    color: #72286f;
}

/* Стрелка у пунктов с подменю */
#offcanvasNav .region-navigation .nav > .nav-item > .nav-link.dropdown-toggle {
    position: relative;
    padding-right: 18px;
}

#offcanvasNav .region-navigation .nav > .nav-item > .nav-link.dropdown-toggle::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.25s ease;
}

#offcanvasNav .region-navigation .nav > .nav-item.show > .nav-link.dropdown-toggle::before,
#offcanvasNav .region-navigation .nav > .nav-item:focus-within > .nav-link.dropdown-toggle::before {
    transform: translateY(-30%) rotate(-135deg);
}

/* Подменю */
#offcanvasNav .region-navigation .dropdown-menu {
    position: static !important;
    display: none;
    min-width: 0;
    margin: 0;
    padding: 0 0 10px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#offcanvasNav .region-navigation .nav > .nav-item:hover .dropdown-menu,
#offcanvasNav .region-navigation .nav > .nav-item:focus-within .dropdown-menu,
#offcanvasNav .region-navigation .nav > .nav-item.show .dropdown-menu {
    display: block;
}

#offcanvasNav .region-navigation .dropdown-menu .nav-item {
    border-bottom: 0;
}

#offcanvasNav .region-navigation .dropdown-menu .dropdown-item {
    display: block;
    padding: 8px 0;
    color: #5c5c5c;
    font-size: 15px;
    text-decoration: none;
}

#offcanvasNav .region-navigation .dropdown-menu .dropdown-item:hover,
#offcanvasNav .region-navigation .dropdown-menu .dropdown-item.is-active {
    color: #72286f;
    background: transparent;
}

/* =========================================================
   CONTACTS / SOCIALS
========================================================= */

#offcanvasNav .contact-item {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #f0ebe5;
}

#offcanvasNav .contact-item-label {
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #72286f;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-top: 10px;
}

#offcanvasNav .contact-item-el a,
#offcanvasNav .contact-item a {
    color: #1e1e1e;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
}

#offcanvasNav .msngrs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

#offcanvasNav .msngrs .item a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: #f5f2ed;
    color: #1e1e1e;
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#offcanvasNav .msngrs .item a:hover {
    background: #72286f;
    color: #fff;
}

/* =========================================================
   BACKDROP
========================================================= */

.offcanvas-backdrop.show {
    background: rgba(30, 30, 30, 0.45);
    opacity: 1;
}

/* Убираем сдвиг страницы при открытии offcanvas */
body.offcanvas-open,
body.modal-open {
    padding-right: 0 !important;
    overflow: hidden;
}

/* 1399px — 992px */
@media screen and (max-width: 1399px) and (min-width: 992px) {
    .main-block .block-content {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 24px;
    }

    .group-left {
        flex: 1 1 56%;
        max-width: 56%;
        min-width: 0;
    }

    .group-right {
        flex: 0 0 58%;
        min-width: 0;
        display: flex;
        align-self: stretch;
        margin-right: -165px;
    }

    .group-right .field--name-field-main-image,
    .group-right .field__item {
        width: 100%;
        height: 100%;
        display: flex;
    }

    .group-right img {
        width: auto;
        height: 100%;
        max-width: 100%;
        display: block;
        border-radius: 16px;
        object-fit: fill; /* не crop, но и не содержит пустот */
    }

    .field--name-field-title h1 {
        font-size: 42px;
        line-height: 1.05;
    }

    .field--name-field-main-text {
        max-width: 100%;
        font-size: 13px;
        line-height: 1.45;
    }

    .field--name-field-main-convenience {
        margin-top: 22px;
        gap: 10px 16px;
    }

    .group-right::after {
        left: 20px;
    }

    #block-rooms .view-content,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    /* скрываем третий номер */
    #block-rooms .view-content .views-row:nth-child(n+3) {
        display: none;
    }
}

/* 991px и ниже */
@media screen and (max-width: 991px) {

    #block-rooms .view-content .views-row:nth-child(n+3) {
        display: none;
    }

    .main-block .block-content {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
    }

    .group-left,
    .group-right {
        max-width: 100%;
        width: 100%;
    }

    .group-right {
        order: 2;
        flex: 1 1 100%;
    }

    .group-right .field--name-field-main-image,
    .group-right .field__item {
        width: 100%;
        height: auto;
    }

    .group-right img {
        width: 100%;
        height: auto;
        max-width: 100%;
        display: block;
    }

    .field--name-field-title h1 {
        font-size: 36px;
        line-height: 1.08;
    }

    .field--name-field-main-text {
        font-size: 14px;
    }

    .field--name-field-main-convenience {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


@media screen and (max-width: 1399px) {
    .main_bg::before {
        left: -103px;
    }

    .col-contacts a {
        font-size: 15px;
    }

    .col-contacts {
        gap: 10px;
    }

    .col-social {
        gap: 3px;
    }

    #block-rooms .views-field-field-convenience {
        width: 84%;
    }

    .col-callback .btn {
        padding: 12px 25px;
    }

    #block-our-kitchen .views-row,
    #block-vesta-theme-content .node--type-kitchen .node__content {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
    }

    #block-our-kitchen .views-field-field-kitchen-badge {
        padding: 18px 34px 0px;
    }

    #block-our-kitchen .views-field-field-kitchen-text .field-content {
        font-size: 14px;
    }

    #block-our-kitchen .views-field-field-kitchen-title {
        padding: 16px 34px 0;
    }
}

/* =========================================================
   1199px
========================================================= */
@media screen and (max-width: 1199px) {
    /*.group-right img {*/
    /*    display: none;*/
    /*}*/

    #feedback-block {
        padding: 55px 0;
    }

    #photogallery-block {
        padding: 55px 0 55px;
    }

    #block-rooms {
        padding: 55px 0 55px;
    }

    #block-our-kitchen {
        padding-bottom: 55px;
    }

    #feedback-block .webform-submission-form {
        height: 500px;
    }

    .main_bg::before {
        display: none;
    }

    .header-bottom .nav {
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .col-contacts {
        gap: 16px !important;
        flex-wrap: wrap;
        margin-left: 20px;
    }

    .field--name-field-title h1 {
        font-size: 36px;
    }

    .field--name-field-main-text {
        font-size: 18px;
    }

    .main-block .block-content {
        gap: 28px;
    }

    .field--name-field-main-convenience {
        gap: 10px 16px;
    }

    .about-block {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .field--name-field-comfort-item {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Номера */
    #block-rooms .view-content,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    /* Кухня */
    #block-our-kitchen .views-row,
    #block-vesta-theme-content .node--type-kitchen .node__content {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
    }

    /* Фотогалерея */
    #photogallery-block .views-field-field-photogallery .item-list ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .view-photogallery.view-display-id-page_1 .views-field-field-photogallery .field-content > span {
        flex: 1 1 calc(33.333% - 18px);
        min-width: 0;
    }

    /* Контакты */
    #block-vesta-theme-bloknastranicekontakty {
        gap: 20px 24px;
    }

    /* Формы */
    #feedback-block .region-feedback {
        gap: 24px;
    }

    /* Продуктовая страница */
    .product-teaser {
        gap: 30px;
    }

    .product-teaser .product-teaser-image,
    .product-teaser .product-teaser-info {
        max-width: 100%;
    }

    .product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
        min-width: 0;
        min-height: 0;
        max-width: 100%;
        width: 100%;
        height: auto;
    }

    .product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide {
        min-width: 90px;
        max-width: 90px;
        min-height: 90px;
        max-height: 90px;
    }

    .product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
        min-width: 90px;
        max-width: 90px;
        min-height: 90px;
        max-height: 90px;
    }

    #block-vesta-theme-content .product-view-full {
        width: calc(100% - 24px);
        margin: 60px auto;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-image-product-view img {
        aspect-ratio: 16 / 10;
    }

    #block-vesta-theme-content .node--type-kitchen .node__content {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.85fr);
    }

    #block-our-kitchen .views-row {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    /* Картинка сверху, на всю ширину */
    #block-our-kitchen .views-field-field-kitchen-img {
        grid-column: 1;
        grid-row: 1;
    }

    #block-our-kitchen .views-field-field-kitchen-img img {
        width: 100%;
        height: auto;
        max-height: 400px;
        object-fit: cover;
        border-radius: 30px 30px 0 0;
    }

    /* Контент снизу */
    #block-our-kitchen .views-field-field-kitchen-title {
        grid-column: 1;
        grid-row: 2;
        padding: 22px 24px 0;
    }

    #block-our-kitchen .views-field-field-kitchen-text {
        grid-column: 1;
        grid-row: 3;
        padding: 12px 24px 0;
    }

    #block-our-kitchen .views-field-field-kitchen-comfort {
        grid-column: 1;
        grid-row: 4;
        padding: 14px 24px 0;
        max-width: none;
    }

    #block-our-kitchen .views-field-field-kitchen-badge {
        grid-column: 1;
        grid-row: 5;
        padding: 16px 24px 24px;
    }
}

/* =========================================================
   991px
========================================================= */
@media screen and (max-width: 991px) {

    .group-right {
        display: none;
    }

    .main_bg {
        padding: 24px 0 30px;
    }

    /* Убираем двухколоночную схему */
    .main-block .block-content.ds-2col {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .group-left {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .group-right {
        display: none !important;
    }

    .field--name-field-title h1 {
        font-size: 34px;
        line-height: 1.1;
        margin-bottom: 14px;
    }

    .field--name-field-main-text {
        font-size: 16px;
        line-height: 1.55;
        max-width: 100%;
        margin: 0 0 18px;
    }

    .field--name-field-main-convenience {
        justify-content: flex-start;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
    }

    /* Главное: убираем декоративные элементы, которые часто дают overflow */
    .main_bg::before,
    .group-right::before,
    .group-right::after,
    #block-rooms::before,
    #block-rooms::after,
    #photogallery-block::before,
    #photogallery-block::after,
    #photogallery-block .star-photogallery::before,
    #photogallery-block .star-photogallery::after,
    #feedback-block::before,
    #feedback-block::after,
    #block-our-kitchen::before {
        display: none;
    }

    /* Offcanvas меню */
    #offcanvasNav .nav {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    #offcanvasNav .nav .nav-item {
        width: 100%;
    }

    #offcanvasNav .nav .nav-link {
        padding: 12px 0;
    }

    #offcanvasNav .nav .dropdown-menu {
        display: none;
        position: static;
        border: 0;
        background: transparent;
        padding: 10px 0;
        border-bottom: 1px solid #BDBDBD;
        box-shadow: none;
        min-width: 0;
    }

    /* Хедер */
    .header-bottom .nav {
        gap: 14px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .col-contacts {
        gap: 12px !important;
        flex-wrap: wrap;
        justify-content: center;
    }

    .col-callback .btn {
        padding: 10px 24px !important;
    }

    .logo img {
        max-height: 58px;
    }

    /* Главный экран */
    .main-block .block-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 24px;
    }

    .group-left,
    .group-right {
        max-width: 100%;
        width: 100%;
    }

    .field--name-field-title h1 {
        font-size: 38px;
    }

    .field--name-field-main-text {
        font-size: 17px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .field--name-field-main-convenience {
        justify-content: center;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .group-right img {
        width: 100%;
        max-width: 100%;
    }

    /* О нас */
    .field--name-field-comfort-item {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .paragraph--type--comfort-about {
        padding: 20px 16px;
    }

    /* Номера */
    #block-rooms .view-content,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    #block-rooms .views-row,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-row {
        padding-bottom: 64px;
    }

    #block-rooms .views-field-field-rooms-title,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-title {
        font-size: 22px;
        margin: 14px 20px 0;
        width: auto;
    }

    #block-rooms .views-field-field-rooms-text,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-text {
        margin: 10px 20px 0;
        width: auto;
        font-size: 15px;
    }

    #block-rooms .views-field-field-convenience,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience {
        margin: 14px 20px 0;
        width: auto;
    }

    #block-rooms .views-field-field-badge,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-badge {
        left: 20px;
        bottom: 16px;
    }

    #block-rooms .views-row::after,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-row::after {
        right: 20px;
        bottom: 16px;
    }

    /* Кухня */
    #block-our-kitchen .views-row,
    #block-vesta-theme-content .node--type-kitchen .node__content {
        grid-template-columns: 1fr;
    }

    #block-our-kitchen .views-field-field-kitchen-img,
    #block-our-kitchen .views-field-field-kitchen-title,
    #block-our-kitchen .views-field-field-kitchen-text,
    #block-our-kitchen .views-field-field-kitchen-comfort,
    #block-our-kitchen .views-field-field-kitchen-badge,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-text,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-badge {
        grid-column: auto;
        grid-row: auto;
    }

    #block-our-kitchen .views-field-field-kitchen-img,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img {
        height: auto;
    }

    #block-our-kitchen .views-field-field-kitchen-img img,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img img {
        height: auto;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    #block-our-kitchen .views-field-field-kitchen-title,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title {
        padding: 22px 20px 0;
    }

    #block-our-kitchen .views-field-field-kitchen-text,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-text {
        padding: 12px 20px 0;
    }

    #block-our-kitchen .views-field-field-kitchen-comfort,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort {
        padding: 14px 20px 0;
        max-width: none;
    }

    #block-our-kitchen .views-field-field-kitchen-badge,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-badge {
        padding: 16px 20px 22px;
    }

    /* Фотогалерея */
    #photogallery-block .views-field-field-photogallery .item-list ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .view-photogallery.view-display-id-page_1 .views-field-field-photogallery .field-content > span {
        flex: 1 1 calc(50% - 18px);
        min-width: 0;
    }

    /* Форма обратной связи */
    #feedback-block .region-feedback {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "form"
            "map";
    }

    #feedback-block .webform-submission-form {
        max-width: 100%;
        height: auto;
        padding: 24px 24px;
    }

    #feedback-block .webform-submission-form .js-form-item-name label {
        font-size: 22px;
    }

    #block-vesta-theme-yandekskarta-2 iframe {
        min-height: 320px;
    }

    /* Контакты */
    #block-vesta-theme-bloknastranicekontakty {
        grid-template-columns: 1fr;
        grid-template-areas:
            "contacts"
            "map"
            "address";
    }

    #block-vesta-theme-bloknastranicekontakty .mapContainer {
        min-height: 340px;
    }

    #block-vesta-theme-page-title h1 {
        font-size: 34px;
    }

    /* Сертификаты */
    #block-vesta-theme-content article.node--type-certificates .node__content {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "cert1"
            "cert2"
            "pdf";
    }

    /* Поиск */
    #block-vesta-theme-content .search-api-page-block-form-search {
        grid-template-columns: 1fr;
        padding: 18px;
        border-radius: 22px;
    }

    #block-vesta-theme-content .search-api-page-block-form-search .form-submit,
    #block-vesta-theme-content .search-api-page-block-form-search input[type="search"] {
        width: 100%;
        height: 44px;
    }

    /* Продуктовая страница */
    .product-teaser {
        flex-direction: column;
        gap: 22px;
    }

    .product-teaser .product-teaser-image,
    .product-teaser .product-teaser-info {
        max-width: 100%;
    }

    .product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
        min-width: 0;
        min-height: 0;
        width: 100%;
        height: auto;
    }

    .product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide {
        min-width: 80px;
        max-width: 80px;
        min-height: 80px;
        max-height: 80px;
    }

    .product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
        min-width: 80px;
        max-width: 80px;
        min-height: 80px;
        max-height: 80px;
    }

    #block-vesta-theme-content .product-view-full {
        width: calc(100% - 24px);
        margin: 40px auto;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
        font-size: 28px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn a {
        width: 100%;
    }

    /*!* Футер *!*/
    /*#footer .footer-main-row {*/
    /*    gap: 24px;*/
    /*}*/

    /*#footer .footer-col,*/
    /*#footer .footer-col-nav,*/
    /*#footer .footer-col-contacts {*/
    /*    width: 100%;*/
    /*    align-items: center;*/
    /*    text-align: center;*/
    /*}*/

    /*#footer .footer-brand {*/
    /*    margin-bottom: 24px;*/
    /*}*/

    /*#footer .footer-socials {*/
    /*    justify-content: center;*/
    /*}*/

    * ================================
    FOOTER (Компактная версия)
================================ */

#footer {
    background: #72286f;
    color: #fff;
    overflow: hidden;
    position: relative;
    padding-top: 22px;
    padding-bottom: 10px;
    font-family: inherit;
}

    #footer .footer-main-row {
        padding-bottom: 12px;
        align-items: flex-start;
        row-gap: 24px;
    }

    #footer .footer-col {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    /* Все ссылки в футере */
    #footer a {
        color: #fff;
        text-decoration: none;
        transition: opacity 0.2s ease;
    }

    #footer a:hover {
        opacity: 0.82;
    }

    /* === ЛОГОТИП === */
    #footer .footer-brand {
        margin-bottom: 28px;
        line-height: 1;
    }

    #footer .footer-brand-link {
        display: inline-block;
        color: #fff;
    }

    #footer .footer-brand-top {
        display: block;
        font-size: 13px;
        font-weight: 400;
        margin-bottom: 0;
        color: #fff;
        opacity: 0.95;
    }

    #footer .footer-brand-name {
        display: block;
        font-size: 32px;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        color: #fff;
    }

    /* === ПРАВОВЫЕ ССЫЛКИ === */
    #footer .footer-legal {
        font-size: 13px;
        line-height: 1.4;
    }

    #footer .footer-legal .copyright {
        margin-bottom: 4px;
        color: rgba(255, 255, 255, 0.92);
    }

    #footer .footer-legal .legal-link {
        display: block;
        width: fit-content;
        margin-top: 1px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.35);
        padding-bottom: 1px;
    }

    /* Политика конфиденциальности без подчёркивания */
    #footer .footer-legal a[href="/politika-konfidencialnosti"] {
        border-bottom: none;
        padding-bottom: 0;
    }

    /* === МЕНЮ === */
    #footer .footer-col-nav {
        padding-top: 2px;
    }

    #footer .footer-col-nav h2,
    #footer .footer-col-nav .block-title {
        display: none;
    }

    #footer .footer-col-nav ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    #footer .footer-col-nav li {
        margin: 0 0 5px;
        padding: 0;
        line-height: 1;
    }

    #footer .footer-col-nav a {
        font-size: 15px;
        font-weight: 400;
        color: #fff;
        padding: 0;
    }

    /* === КОНТАКТЫ === */
    #footer .footer-col-contacts {
        padding-top: 2px;
    }

    #footer .contact-list {
        width: 100%;
    }

    #footer .contact-item {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 7px;
        font-size: 15px;
        color: #fff;
    }

    #footer .contact-item img {
        width: 14px;
        height: 14px;
        flex: 0 0 14px;
        filter: brightness(0) invert(1);
    }

    /* === СОЦСЕТИ === */
    #footer .footer-socials {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-top: 4px;
    }

    #footer .footer-socials img {
        width: 26px;
        height: 26px;
        filter: brightness(0) invert(1);
    }

    /* === НИЖНЯЯ ПОЛОСА === */
    #footer .footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.38);
        border-bottom: 1px solid rgba(255, 255, 255, 0.38);
        padding: 8px 0;
        text-align: center;
        margin-top: 10px;
    }

    #footer .footer-bottom-content {
        font-size: 13px;
        color: #fff;
    }
}

/* =========================================================
   767px
========================================================= */
@media screen and (max-width: 767px) {

    .header-line,
    .header-bottom {
        text-align: center;
    }

    .header-bottom .nav {
        gap: 12px;
    }

    .col-contacts {
        flex-direction: column;
        align-items: center !important;
        gap: 8px !important;
    }

    .col-social {
        justify-content: center;
    }

    .col-callback .btn {
        width: 100%;
        max-width: 320px;
    }

    .search-icon .region-search {
        width: min(260px, calc(100vw - 32px));
        right: auto !important;
        left: 50% !important;
        transform: translate(-50%, -50%) scale(0.95);
    }

    .search-icon.active .region-search {
        transform: translate(-50%, -50%) scale(1);
    }

    /* Главный экран */
    .main_bg {
        padding-bottom: 10px;
    }

    .field--name-field-title h1 {
        font-size: 34px;
    }

    .field--name-field-main-text {
        font-size: 16px;
    }

    .field--name-field-main-convenience {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .field--name-field-comfort-item {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .field--name-field-comfort-title {
        max-width: 100%;
        font-size: 18px;
    }

    .about-block {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    /* Номера */
    #block-rooms,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 {
        padding: 56px 0 56px;
    }

    #block-rooms .view-content,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .view-content {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    #block-rooms .views-field-field-image-product-view,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-image-product-view {
        height: auto;
    }

    #block-rooms .views-field-field-image-product-view img,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-image-product-view img {
        height: 220px;
    }

    #block-rooms .views-field-field-rooms-title,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-title {
        font-size: 20px;
    }

    #block-rooms .views-field-field-rooms-text,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-text {
        font-size: 14px;
    }

    #block-rooms .views-field-field-convenience .taxonomy-term,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience .taxonomy-term {
        white-space: normal;
    }

    #block-rooms .more-link a,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .more-link a {
        width: 100%;
        min-width: 0;
    }

    /* Кухня */
    #block-our-kitchen {
        padding-bottom: 56px;
    }

    #block-our-kitchen .block-title,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title .field__item {
        font-size: 22px;
    }

    #block-our-kitchen .views-field-field-kitchen-title,
    #block-our-kitchen .views-field-field-kitchen-text,
    #block-our-kitchen .views-field-field-kitchen-comfort,
    #block-our-kitchen .views-field-field-kitchen-badge,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-text,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-badge {
        padding-left: 16px;
        padding-right: 16px;
    }

    #block-our-kitchen .views-field-field-kitchen-img img,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img img {
        aspect-ratio: 16 / 11;
    }

    /* Фотогалерея */
    #photogallery-block {
        padding: 56px 0 56px;
    }

    #photogallery-block .views-field-field-photogallery .item-list ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .view-photogallery.view-display-id-page_1 .views-field-field-photogallery .field-content > span {
        flex: 1 1 calc(50% - 14px);
    }

    .view-photogallery.view-display-id-page_1 .photoswipe-gallery img {
        height: 220px;
    }

    #photogallery-block .more-link a {
        width: 100%;
        min-width: 0;
    }

    /* Формы */
    #feedback-block {
        padding: 56px 0;
    }

    #feedback-block .region-feedback {
        gap: 18px;
    }

    #feedback-block .webform-submission-form {
        padding: 20px;
    }

    #feedback-block .webform-submission-form .js-form-item-name label {
        font-size: 20px;
    }

    #feedback-block input,
    #feedback-block textarea {
        margin-bottom: 14px;
    }

    #block-vesta-theme-yandekskarta-2 iframe {
        min-height: 280px;
    }

    /* Контакты */
    #block-vesta-theme-page-title h1 {
        font-size: 30px;
    }

    #block-vesta-theme-bloknastranicekontakty .field--name-body,
    #block-vesta-theme-bloknastranicekontakty .field--name-field-adress {
        padding: 18px;
        border-radius: 22px;
    }

    #block-vesta-theme-bloknastranicekontakty .mapContainer {
        min-height: 280px;
        border-radius: 22px;
    }

    #block-vesta-theme-bloknastranicekontakty .mapContainer iframe {
        border-radius: 22px;
    }

    /* Сертификаты */
    #block-vesta-theme-content article.node--type-certificates {
        padding: 20px 0 60px;
    }

    #block-vesta-theme-content article.node--type-certificates .field--name-field-certificate-title {
        font-size: 24px;
    }

    #block-vesta-theme-content article.node--type-certificates .field--name-field-accreditation a {
        width: 100%;
        min-width: 0;
    }

    /* Поиск */
    #block-vesta-theme-content > h2 {
        font-size: 26px;
    }

    #block-vesta-theme-content h3 a {
        font-size: 18px;
        padding: 16px 20px;
        border-radius: 20px;
    }

    #block-vesta-theme-content h3 + p {
        padding: 0 20px 16px;
        border-radius: 0 0 20px 20px;
    }

    /* Product page */
    #block-vesta-theme-content .product-view-full {
        margin: 28px auto;
        border-radius: 22px;
        padding-bottom: 20px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
        margin: 20px 20px 0;
        font-size: 26px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-text {
        margin: 10px 20px 0;
        font-size: 15px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-badge,
    #block-vesta-theme-content .product-view-full .field--name-field-room-btn {
        margin-left: 20px;
        margin-right: 20px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn a {
        width: 100%;
    }

    #block-vesta-theme-content .node--type-kitchen .node__content {
        border-radius: 22px;
    }

    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title .field__item {
        font-size: 22px;
    }

    /* Footer */
    #footer {
        padding-top: 20px;
    }

    #footer .footer-brand-name {
        font-size: 32px;
    }

    #footer .footer-bottom-content {
        font-size: 13px;
    }
}

/* =========================================================
   576px
========================================================= */
@media screen and (max-width: 576px) {

    .floating-social-btn, #scrollToTop {
        width: 55px;
        height: 55px;
    }

    /* Самые мелкие отступы */
    .main_bg,
    #block-rooms,
    #block-our-kitchen,
    #photogallery-block,
    #feedback-block {
        padding-left: 0;
        padding-right: 0;
        padding: 30px 0 30px;
    }

    #block-rooms .views-row {
        border-radius: 10px;
    }

    #block-vesta-theme-yandekskarta-2 .mapContainer {
        height: 240px !important;
    }

    .logo img {
        max-height: 52px;
    }

    .header-bottom .nav {
        gap: 8px;
    }

    .header-bottom .nav-link {
        font-size: 14px;
    }

    .col-contacts a {
        font-size: 14px;
    }

    .col-social .social-item {
        width: 36px;
        height: 36px;
    }

    .social-item.max,
    .social-item.vk,
    .social-item.ok {
        background-size: 70%;
    }

    /* Главный экран */
    .field--name-field-title h1 {
        font-size: 28px;
        line-height: 1.15;
    }

    .field--name-field-main-text {
        font-size: 15px;
    }

    .field--name-field-main-convenience {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .field--name-field-comfort .field__item {
        width: 100%;
        justify-content: center;
        text-align: center;
        padding-left: 28px;
    }

    .field--name-field-comfort-title {
        font-size: 16px;
    }

    .field--name-field-comfort-text .field__item {
        font-size: 13px;
    }

    /* О нас */
    .field--name-field-comfort-item {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .about-block {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    /* Номера */
    #block-rooms .views-field-field-image-product-view img,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-image-product-view img {
        height: 200px;
    }

    #block-rooms .views-field-field-rooms-title,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-title {
        font-size: 18px;
        margin: 12px 16px 0;
    }

    #block-rooms .views-field-field-rooms-text,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-rooms-text {
        margin: 8px 16px 0;
    }

    #block-rooms .views-field-field-convenience,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-convenience {
        margin: 12px 16px 0;
    }

    #block-rooms .views-field-field-badge,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-field-field-badge {
        left: 16px;
        bottom: 14px;
    }

    #block-rooms .views-row::after,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .views-row::after {
        right: 16px;
        bottom: 14px;
    }

    #block-rooms .more-link::before,
    #block-vesta-theme-content .view-tovary.view-display-id-page_1 .more-link::before {
        font-size: 14px;
    }

    /* Кухня */
    #block-our-kitchen .block-title,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title .field__item {
        font-size: 20px;
    }

    #block-our-kitchen .views-field-field-kitchen-title,
    #block-our-kitchen .views-field-field-kitchen-text,
    #block-our-kitchen .views-field-field-kitchen-comfort,
    #block-our-kitchen .views-field-field-kitchen-badge,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-title,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-text,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-comfort,
    #block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-badge {
        padding-left: 14px;
        padding-right: 14px;
    }

    /* Фотогалерея */
    #photogallery-block .views-field-field-photogallery .item-list ul {
        grid-template-columns: 1fr;
    }

    .view-photogallery.view-display-id-page_1 .views-field-field-photogallery .field-content > span {
        flex: 1 1 100%;
    }

    .view-photogallery.view-display-id-page_1 .photoswipe-gallery img {
        height: 240px;
    }

    /* Формы */
    #feedback-block .webform-submission-form {
        padding: 18px 16px;
        border-radius: 20px;
    }

    #feedback-block .webform-submission-form .js-form-item-name label {
        font-size: 18px;
    }

    #feedback-block input,
    #feedback-block textarea {
        padding: 12px 16px;
        border-radius: 20px;
    }

    #feedback-block .form-submit {
        height: 44px;
        font-size: 15px;
    }

    #block-vesta-theme-yandekskarta-2 iframe {
        min-height: 240px;
    }

    /* Контакты */
    #block-vesta-theme-page-title h1 {
        font-size: 26px;
    }

    #block-vesta-theme-bloknastranicekontakty .field-tel a,
    #block-vesta-theme-bloknastranicekontakty .field-mail a {
        font-size: 15px;
    }

    /* Сертификаты */
    #block-vesta-theme-content article.node--type-certificates .field--name-field-certificate-title {
        font-size: 22px;
    }

    #block-vesta-theme-content article.node--type-certificates .field--name-field-certificate1,
    #block-vesta-theme-content article.node--type-certificates .field--name-field-certificate2 {
        border-radius: 18px;
    }

    /* Product page */
    #block-vesta-theme-content .product-view-full {
        width: calc(100% - 20px);
        border-radius: 18px;
        margin: 20px auto;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-image-product-view img {
        aspect-ratio: 4 / 3;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
        margin: 16px 16px 0;
        font-size: 22px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-text {
        margin: 8px 16px 0;
        font-size: 14px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-badge,
    #block-vesta-theme-content .product-view-full .field--name-field-room-btn {
        margin-left: 16px;
        margin-right: 16px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn a {
        font-size: 15px;
        min-height: 44px;
    }

    /* Футер */
    #footer .footer-brand-name {
        font-size: 28px;
    }

    #footer .footer-brand-top {
        font-size: 13px;
    }

    #footer .footer-col-nav a {
        font-size: 15px;
    }

    #footer .contact-item,
    #footer .footer-bottom-content {
        font-size: 13px;
    }

    #footer .footer-socials img {
        width: 26px;
        height: 26px;
    }

    /* Плавающие кнопки */
    .floating-buttons {
        right: 12px;
        bottom: 12px;
    }

    .floating-social-btn,
    #scrollToTop {
        width: 56px;
        height: 56px;
    }

    .floating-social-btn img,
    #scrollToTop img {
        width: 56px;
        height: 56px;
    }

    #header-mob {
        padding: 10px 12px;
    }

    /*#header-mob .col-phone .contact-item a {*/
    /*    font-size: 0; !* прячем текст *!*/
    /*    gap: 0;*/
    /*}*/

    /*#header-mob .col-phone .contact-item a::before {*/
    /*    width: 22px;*/
    /*    height: 22px;*/
    /*    flex: 0 0 22px;*/
    /*}*/

    #header-mob {
        padding: 10px 12px;
    }

    #header-mob .col-phone {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    #header-mob .col-phone .contact-item {
        margin: 0;
    }

    #header-mob .col-phone .contact-item a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        font-size: 0;           /* скрываем текст номера */
        line-height: 0;
        padding: 0;
        text-decoration: none;
    }

    #header-mob .col-phone .contact-item a::before {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        background: url('/sites/all/themes/vesta_theme/image/phone.svg') no-repeat center / contain;
    }

    #header-mob .col-logo img {
        max-height: 36px;
    }

    #header-mob .col-nav a {
        width: 38px;
        height: 38px;
    }

    #header-mob .col-logo img {
        max-height: 36px;
    }

    #header-mob .col-nav a {
        width: 38px;
        height: 38px;
    }
}

html {
    overflow-y: auto;
    scrollbar-gutter: stable;
}

body.modal-open {
    padding-right: 0 !important;
}

/* Контейнер плавающих кнопок */
.floating-buttons {
    position: fixed;
    right: 24px;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 9999;
}

/* Общий стиль для всех кнопок */
.floating-social-btn,
#scrollToTop {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    overflow: hidden;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}

/* Наведение */
.floating-social-btn:hover,
#scrollToTop:hover {
    background: transparent;
    box-shadow: none;
    transform: translateY(-2px);
}

/* Иконки */
.floating-social-btn img,
#scrollToTop img {
    width: 74px;
    height: 74px;
    display: block;
    object-fit: contain;
    pointer-events: none;
}

/* FIX для блока "Наша кухня" */
#block-our-kitchen .views-row,
#block-vesta-theme-content .node--type-kitchen .node__content {
    align-items: stretch; /* было start */
}

/* Левая картинка должна тянуться по высоте всей карточки */
#block-our-kitchen .views-field-field-kitchen-img,
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img {
    height: 100%;
    min-height: 100%;
}

#block-our-kitchen .views-field-field-kitchen-img a,
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img a {
    display: block;
    width: 100%;
    height: 100%;
}

#block-our-kitchen .views-field-field-kitchen-img img,
#block-vesta-theme-content .node--type-kitchen .field--name-field-kitchen-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ================================
   COOKIE DISCLAIMER / VPA
================================= */

#vpa-short-wrapper.vpa-wrapper {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 24px;
    z-index: 2147483647;

    width: min(760px, calc(100vw - 32px));
    margin: 0 auto;

    display: flex;
    align-items: center;
    gap: 20px;

    padding: 20px 56px 20px 24px;
    background: #fff;
    border: 1px solid #eae3d8;
    border-radius: 24px;
    box-shadow: 0 18px 50px rgba(52, 32, 49, 0.08);

    color: #1e1e1e;
    font-family: var(--font-family);
    box-sizing: border-box;
}

/* Текст */
#vpa-short-wrapper .vpa-content {
    flex: 1;
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #1e1e1e;
}

#vpa-short-wrapper .vpa-content p {
    margin: 0;
}

#vpa-short-wrapper .vpa-content a {
    color: #72286f;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

#vpa-short-wrapper .vpa-content a:hover {
    color: #5f215b;
}

/* Кнопка */
#vpa-short-wrapper .vpa-actions {
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

#vpa-short-wrapper .vpa-actions .btn,
#vpa-short-wrapper .vpa-actions .btn-primary,
#vpa-short-wrapper #vpa-btn-ok {
    width: auto;
    min-height: 40px;
    padding: 0 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: none;
    border-radius: 65px;
    background: #72286f;
    color: #fff;

    font-family: var(--font-family);
    font-size: 16px;
    font-weight: 500;

    cursor: pointer;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    transition: background-color 0.25s ease, transform 0.25s ease;
}

#vpa-short-wrapper .vpa-actions .btn:hover,
#vpa-short-wrapper .vpa-actions .btn-primary:hover,
#vpa-short-wrapper #vpa-btn-ok:hover {
    background: #5f215b;
    transform: translateY(-1px);
}

/* Поле поиска */
#block-vesta-theme-searchapipagesearchblockform--2 .form-control {
    height: 40px;
    border: 1px solid #e5e5e5;
    border-radius: 54px;
    padding: 0 16px;
    background: #fff;
    color: #1e1e1e;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Фокус */
#block-vesta-theme-searchapipagesearchblockform--2 .form-control:focus,
#block-vesta-theme-searchapipagesearchblockform--2 .form-control:focus-visible {
    border-color: #72286f;
    box-shadow: 0 0 0 3px rgba(114, 40, 111, 0.12);
    outline: none;
}

#webform-submission-callback-node-2-form-ajax .form-item-privacy {
    display: flex;
    align-items: center; /* вертикально по центру */
    gap: 12px;
}

/* Сам чекбокс */
#webform-submission-callback-node-2-form-ajax .form-item-privacy input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Блок с текстом справа */
#webform-submission-callback-node-2-form-ajax .form-item-privacy .description {
    margin: 0;
    flex: 1;
}

/* Текст внутри описания */
#webform-submission-callback-node-2-form-ajax .form-item-privacy .webform-element-description {
    font-size: 14px;
    line-height: 1.4;
    color: #1e1e1e;
}

.mapContainer:after {
    border-radius: 30px;
}

.field--name-field-accreditation .file a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 54px;
    background: #72286f;
    text-decoration: none;
    overflow: hidden;

    /* прячем старый текст */
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px;
    white-space: nowrap;
}

.field--name-field-accreditation .file a::before {
    content: "Аккредитация";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    text-indent: 0;
}

/* =================================
   СТРАНИЦА НОМЕРА БЕЗ КАРТОЧКИ
================================= */

#block-vesta-theme-content .product-view-full {
    max-width: 1200px;
    width: calc(100% - 32px);
    margin: 60px auto 80px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    padding: 0;
}

/* Прячем пустой teaser */
#block-vesta-theme-content .product-view-full .product-teaser {
    display: none;
}

/* Можно сделать двухколоночный layout */
#block-vesta-theme-content .product-view-full {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    grid-template-areas:
        "image title"
        "image text"
        "image badge"
        "image button";
    gap: 24px 48px;
    align-items: start;
}

/* Картинка */
#block-vesta-theme-content .product-view-full .field--name-field-image-product-view {
    grid-area: image;
    line-height: 0;
}

#block-vesta-theme-content .product-view-full .field--name-field-image-product-view img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
    object-fit: cover;
}

/* Заголовок */
#block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
    grid-area: title;
    margin: 0;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.15;
    color: #1e1e1e;
}

/* Описание */
#block-vesta-theme-content .product-view-full .field--name-field-rooms-facilities {
    grid-area: text;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #1e1e1e;
}

#block-vesta-theme-content .product-view-full .field--name-field-rooms-facilities p {
    margin: 0;
}

/* Бейдж */
#block-vesta-theme-content .product-view-full .field--name-field-badge {
    grid-area: badge;
    margin: 0;
}

#block-vesta-theme-content .product-view-full .field--name-field-badge .field__item,
#block-vesta-theme-content .product-view-full .field--name-field-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 16px;
    border-radius: 54px;
    background: #f5f2ed;
    color: #72286f;
    font-size: 14px;
    font-weight: 600;
    width: fit-content;
}

/* Кнопка */
#block-vesta-theme-content .product-view-full .field--name-field-room-btn {
    grid-area: button;
    margin: 0;
}

#block-vesta-theme-content .product-view-full .field--name-field-room-btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 54px;
    background: #72286f;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

#block-vesta-theme-content .product-view-full .field--name-field-room-btn a:hover {
    background: #5f215b;
    transform: translateY(-2px);
    box-shadow: 0 10px 18px rgba(114, 40, 111, 0.16);
}

/* =================================
КНОПКА ЗАБРОНИРОВАТЬ
================================= */

#block-vesta-theme-content .product-view-full .field--name-field-room-btn,
#block-vesta-theme-content .product-view-full .field--name-field-book-button {
    grid-area: button;
    margin: 20px 0 0;
    justify-self: start;
}

#block-vesta-theme-content .product-view-full .field--name-field-room-btn a,
#block-vesta-theme-content .product-view-full .field--name-field-book-button a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 54px;
    background: #72286f;
    color: #fff !important;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    border: none;
    box-shadow: none;
    transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

#block-vesta-theme-content .product-view-full .field--name-field-room-btn a::after,
#block-vesta-theme-content .product-view-full .field--name-field-book-button a::after {
    content: "";
    width: 10px;
    height: 10px;
    background: url('/sites/all/themes/vesta_theme/image/arrow-right.svg') no-repeat center / contain;
    filter: brightness(0) invert(1);
    flex: 0 0 10px;
}

#block-vesta-theme-content .product-view-full .field--name-field-room-btn a:hover,
#block-vesta-theme-content .product-view-full .field--name-field-book-button a:hover {
    background: #5f215b;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(114, 40, 111, 0.2);
    text-decoration: none;
}

/* ================================
   1199px
================================= */
@media (max-width: 1199px) {
    #block-vesta-theme-content .product-view-full {
        width: calc(100% - 24px);
        margin: 50px auto 70px;
        grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
        gap: 20px 32px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
        font-size: 36px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-facilities {
        font-size: 15px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-image-product-view img {
        border-radius: 20px;
    }
}


/* ================================
   991px
================================= */
@media (max-width: 991px) {
    #block-vesta-theme-content .product-view-full {
        width: calc(100% - 24px);
        margin: 40px auto 60px;
        grid-template-columns: 1fr;
        grid-template-areas:
            "image"
            "title"
            "text"
            "badge"
            "button";
        gap: 18px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
        font-size: 32px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-facilities {
        font-size: 15px;
        line-height: 1.65;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-badge,
    #block-vesta-theme-content .product-view-full .field--name-field-badge .field__item {
        min-height: 32px;
        font-size: 13px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn a,
    #block-vesta-theme-content .product-view-full .field--name-field-book-button a {
        width: fit-content;
    }
}


/* ================================
   767px
================================= */
@media (max-width: 767px) {
    #block-vesta-theme-content .product-view-full {
        width: calc(100% - 20px);
        margin: 32px auto 50px;
        gap: 16px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-image-product-view img {
        border-radius: 18px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
        font-size: 28px;
        line-height: 1.2;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-facilities {
        font-size: 14px;
        line-height: 1.6;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn a,
    #block-vesta-theme-content .product-view-full .field--name-field-book-button a {
        min-height: 44px;
        padding: 0 22px;
        font-size: 15px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-badge,
    #block-vesta-theme-content .product-view-full .field--name-field-badge .field__item {
        padding: 0 14px;
        font-size: 12px;
    }
}


/* ================================
   567px
================================= */
@media (max-width: 567px) {
    #block-vesta-theme-content .product-view-full {
        width: calc(100% - 16px);
        margin: 24px auto 40px;
        gap: 14px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-title {
        font-size: 24px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-rooms-facilities {
        font-size: 13px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-badge,
    #block-vesta-theme-content .product-view-full .field--name-field-badge .field__item {
        min-height: 30px;
        padding: 0 12px;
        font-size: 12px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn,
    #block-vesta-theme-content .product-view-full .field--name-field-book-button {
        width: 100%;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn a,
    #block-vesta-theme-content .product-view-full .field--name-field-book-button a {
        width: 100%;
        justify-content: center;
        padding: 0 18px;
    }

    #block-vesta-theme-content .product-view-full .field--name-field-room-btn a::after,
    #block-vesta-theme-content .product-view-full .field--name-field-book-button a::after {
        width: 9px;
        height: 9px;
    }
}


/* ================================
   1199px
================================= */
@media (max-width: 1199px) {
    .floating-buttons {
        right: 20px;
        bottom: 20px;
        gap: 9px;
    }

    .floating-social-btn,
    #scrollToTop {
        width: 56px;
        height: 56px;
    }
}

/* ================================
   991px
================================= */
@media (max-width: 991px) {
    .floating-buttons {
        right: 16px;
        bottom: 16px;
        gap: 8px;
    }

    .floating-social-btn,
    #scrollToTop {
        width: 52px;
        height: 52px;
    }
}

/* ================================
   767px
================================= */
@media (max-width: 767px) {
    .floating-buttons {
        right: 14px;
        bottom: 14px;
        gap: 7px;
    }

    .floating-social-btn,
    #scrollToTop {
        width: 48px;
        height: 48px;
    }
}

/* ================================
   567px
================================= */
@media (max-width: 567px) {
    .floating-buttons {
        right: 10px;
        bottom: 10px;
        gap: 6px;
    }

    .floating-social-btn,
    #scrollToTop {
        width: 44px;
        height: 44px;
    }
}

@media screen and (max-width: 576px) {
    .field--name-field-main-convenience {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}