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

#page {
    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: #0e0f0a;
}

.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: 270px;
    cursor: pointer;
    position: fixed;
    right: 15px;
    z-index: 10;
    transition: 0.2s;
    padding: 0;
}

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

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

@font-face {
    font-family: 'Inter';
    src: url('/sites/all/themes/vesta_theme/font/Inter-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

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

@font-face {
    font-family: 'Inter';
    src: url('/sites/all/themes/vesta_theme/font/Inter-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('/sites/all/themes/vesta_theme/font/Inter-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

:root {
    --font-family: 'Inter', sans-serif;
}

body {
    font-family: var(--font-family);
    font-weight: 400;
}

/* SLICK STYLES */

/* Cookie disclaimer */
#vpa-short-wrapper.vpa-wrapper {
    position: fixed;
    /* Отменяем растягивание по левому краю */
    left: auto;
    /* Задаем точные отступы: 15px справа и 20px снизу */
    right: 15px;
    bottom: 20px;
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    /* ВСЕ РАЗМЕРЫ И ОТСТУПЫ ОСТАЛИСЬ БЕЗ ИЗМЕНЕНИЙ */
    min-height: 90px;
    padding: 22px 44px 22px 45px;

    background: #262722;
    border-radius: 10px;

    box-sizing: border-box;
    font-family: var(--font-family);

    box-shadow: none;
}

/* Скрываем крестик/зону закрытия, если она не нужна */
#vpa-short-wrapper .vpa-close-zone {
    display: none;
}

/* Текст */
#vpa-short-wrapper .vpa-content {
    flex: 1;
    max-width: 620px;
}

#vpa-short-wrapper .vpa-content p {
    margin: 0;

    color: #fff;
    font-family: var(--font-family);
    font-size: 13px;
    font-weight: 400;
}

/* Ссылка */
#vpa-short-wrapper .vpa-content a {
    color: #f2f2f2;
    text-decoration: underline;
    text-underline-offset: 2px;
}

#vpa-short-wrapper .vpa-content a:hover {
    color: #ffffff;
}

/* Кнопка */
#vpa-short-wrapper .vpa-actions {
    flex-shrink: 0;
}

#vpa-short-wrapper #vpa-btn-ok {
    width: 120px;
    height: 50px;

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

    padding: 0;
    margin: 0;

    background: #fb2723;
    border: none;
    border-radius: 10px;

    color: #ffffff;
    font-family: var(--font-family);
    font-size: 16px;
    font-weight: 500;

    cursor: pointer;
    box-shadow: none;
}

#vpa-short-wrapper #vpa-btn-ok:hover {
    background: #ff1f1f;
}

#vpa-short-wrapper #vpa-btn-ok:active {
    background: #e91d1d;
}

/* 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;
}

/* =====================================================
   HEADER ONLY
   Все стили строго внутри #header
===================================================== */

#header.header {
    background: #000;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    position: relative;
    z-index: 100;
}

/* =====================================================
   TOP
===================================================== */

#header .header-top {
    height: 78px;
    display: flex;
    align-items: center;
    background: #0e0f0a;
}

#header .header-top-inner {
    min-height: 78px;
}

/* =====================================================
   DRUPAL MENU FIX
===================================================== */

#header .region-navigation {
    display: flex;
    align-items: center;
}

#header .region-navigation nav {
    display: flex;
    align-items: center;
}

/* ВАЖНО: не трогаем глобально ul/li */
#header .region-navigation .nav {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;

    gap: 12px;

    margin: 0;
    padding: 0;

    list-style: none;
}

#header .region-navigation .nav-item {
    display: flex;
    align-items: center;

    margin: 0;
    padding: 0;
}

#header .region-navigation .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 42px;
    padding: 0 20px;

    border-radius: 10px;

    color: #fff;
    font-size: 16px;
    font-weight: 500;

    text-decoration: none;

    transition: all .25s ease;
    background: transparent;

    white-space: nowrap;
}

/* hover */
#header .region-navigation .nav-link:hover {
    background: #fb2723;
    color: #fff;
}

/* active */
#header .region-navigation .nav-link.is-active,
#header .region-navigation .nav-item--active-trail .nav-link,
#header .region-navigation .nav-item.active .nav-link {
    background: #fb2723;
    color: #fff;
}

/* =====================================================
   SEARCH
===================================================== */

#header .header-search {
    margin-left: 25px;
    flex-shrink: 0;
}

#header .search-btn {
    width: 42px;
    height: 42px;

    border: none;
    background: transparent;

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

    padding: 0;
    cursor: pointer;
}

#header .search-btn img {
    width: 24px;
    height: 24px;
    display: block;
    transition: .2s ease;
}

#header .search-btn:hover img {
    opacity: .7;
}

/* =====================================================
   SEARCH DROPDOWN
===================================================== */

.header-search {
    position: relative;
    flex-shrink: 0;
    overflow: visible;
    z-index: 10002;
}

#header .search-btn {
    width: 42px;
    height: 42px;

    border: none;
    background: transparent;

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

    padding: 0;
    cursor: pointer;
    position: relative;
    z-index: 10003;
}

#header .search-btn img {
    width: 24px;
    height: 24px;
    display: block;
    transition: .2s ease;
}

#header .search-btn:hover img {
    opacity: .7;
}

/* Выпадающий блок поиска рядом с иконкой */
.search-overlay {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 10001;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);

    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.search-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

/* Убираем полноэкранный фон */
.search-overlay__backdrop {
    display: none;
}

.search-overlay__panel {
    position: relative;
    padding: 0;
}

/* Обёртка формы */
.search-overlay__form-wrapper {
    position: relative;
    width: min(560px, calc(100vw - 30px));

    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.12);

    padding: 18px 58px 18px 18px;
}

/* Если есть contextual links у админа */
.search-overlay .contextual {
    display: none !important;
}

.search-overlay .region-search {
    margin: 0;
}

/* Drupal block/form */
.search-overlay .search-api-page-block-form-search,
.search-overlay .search-form,
.search-overlay .block-search-api-page-form-block {
    margin: 0;
}

.search-overlay .search-api-page-block-form-search form {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    margin: 0;
}

/* Поле */
.search-overlay .form-item-keys {
    flex: 1 1 auto;
    margin: 0;
}

.search-overlay .form-item-keys label {
    display: none;
}

.search-overlay input[type="search"],
.search-overlay .form-search,
.search-overlay .form-control {
    width: 100%;
    height: 48px;

    border: 1px solid #e2e6ea;
    border-radius: 14px;
    background: #f8f9fb;

    padding: 0 16px;

    font-size: 16px;
    line-height: 1;
    color: #222;

    outline: none;
    box-shadow: none;
    transition: .2s ease;
}

.search-overlay input[type="search"]::placeholder,
.search-overlay .form-search::placeholder,
.search-overlay .form-control::placeholder {
    color: #9aa0a6;
}

.search-overlay input[type="search"]:focus,
.search-overlay .form-search:focus,
.search-overlay .form-control:focus {
    border-color: #8b8b8b;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06);
}

/* Кнопка submit */
.search-overlay .form-actions {
    margin: 0;
    flex: 0 0 auto;
}

.search-overlay .search-form__submit,
.search-overlay .form-submit,
.search-overlay button[type="submit"] {
    height: 48px;
    min-width: 110px;

    border: none;
    border-radius: 14px;
    background: #1f1f1f;
    color: #fff;

    padding: 0 18px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;

    cursor: pointer;
    transition: .2s ease;
}

.search-overlay .search-form__submit:hover,
.search-overlay .form-submit:hover,
.search-overlay button[type="submit"]:hover {
    opacity: .88;
}

.search-overlay__close {
    display: none !important;
}

.search-overlay__form-wrapper {
    position: relative;
}

body.search-open {
    overflow: hidden;
}

/* Адаптив */
@media (max-width: 768px) {
    .search-overlay {
        right: 0;
        left: auto;
    }

    .search-overlay__form-wrapper {
        width: calc(100vw - 24px);
        padding: 16px 52px 16px 16px;
        border-radius: 18px;
    }

    .search-overlay .search-api-page-block-form-search form {
        gap: 10px;
    }

    .search-overlay input[type="search"],
    .search-overlay .form-search,
    .search-overlay .form-control {
        height: 44px;
        font-size: 15px;
    }

    .search-overlay .search-form__submit,
    .search-overlay .form-submit,
    .search-overlay button[type="submit"] {
        height: 44px;
        min-width: 92px;
        font-size: 14px;
    }
}

/* =====================================================
   BORDER
===================================================== */

#header .header-line {
    width: 100%;
    height: 1px;
    background: #484848;
}

/* =====================================================
   BOTTOM
===================================================== */

#header .header-bottom {
    padding: 22px 0;
}

#header .header-bottom-inner {
    gap: 40px;
}

/* =====================================================
   LOGO
===================================================== */

#header .header-logo {
    flex-shrink: 0;
}

#header .header-logo img {
    max-width: 210px;
    width: 100%;
    height: auto;
    display: block;
}

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

#header .header-contacts {
    margin-left: auto;
    gap: 75px;
}

#header .contact-item {
    display: flex;
    flex-direction: column;
}

#header .contact-label {
    font-size: 15px;
    color: #fb2723;

    margin-bottom: 5px;
}

.header-contacts .contact-item:nth-of-type(3) .contact-label {
    color: #cfcfcf !important;
}

#header .contact-label:last-child {
    color: #cfcfcf;
}

#header .contact-item a {
    color: #fff;
    font-size: 16px;
    font-weight: 500;

    text-decoration: none;
    transition: .2s ease;
}

#header .contact-item a:hover {
    color: #ff2b2b;
}

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

#header .header-socials {
    gap: 10px;
}

#header .social-item {
    width: 44px;
    height: 44px;

    border-radius: 10px;

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

    overflow: hidden;

    transition: .2s ease;
}

#header .social-item:hover {
    transform: translateY(-2px);
}

#header .social-item img {
    width: 44px;
    height: 44px;

    object-fit: cover;
    display: block;
}

/* =====================================================
   CALLBACK BUTTON
===================================================== */

#header .header-callback .btn,
#header .header-callback a.btn {
    height: 52px;
    padding: 0 32px;

    border-radius: 10px;
    border: none;

    background: #fb2723;
    color: #fff;

    font-size: 15px;
    font-weight: 700;

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

    text-decoration: none;

    transition: .25s ease;
}

#header .header-callback .btn:hover,
#header .header-callback a.btn:hover {
    background: #ff4444;
    color: #fff;
}

/* =====================================================
   DRUPAL ADMIN FIX
===================================================== */

/* скрываем contextual только внутри header */
#header .contextual {
    display: none !important;
}

/* =========================================
   DRIVING SCHOOL BLOCK
========================================= */

.driving_school-block {
    background: #fff;
    padding: 70px 0 0px;
}

/* =========================================
   TOP
========================================= */

.driving_school-block .school_top {
    display: flex;
    align-items: flex-start;
    gap: 35px;

    margin-bottom: 25px;
}

/* image */
.driving_school-block .field--name-field-school-image {
    flex-shrink: 0;
}

.driving_school-block .field--name-field-school-image img {
    width: 170px;
    height: auto;
    display: block;
    object-fit: contain;
}

/* title */
.driving_school-block .field--name-field-school-title {
    max-width: 970px;

    color: #0e0f0a;
    font-size: 32px;
    font-weight: 300;
}

/* =========================================
   BOTTOM BOX
========================================= */

.driving_school-block .school_bottom {
    width: 100%;
    max-width: 1170px;
    min-height: 233px;

    margin: 0 auto;

    box-sizing: border-box;

    border: 1px solid #fb2723;
    border-radius: 10px;

    padding: 0 50px;

    background: transparent;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* red title */
.driving_school-block .field--name-field-school-block-title {
    color: #fb2723;

    font-size: 32px;
    font-weight: 300;
    line-height: 1.25;

    margin-bottom: 20px;
}

/* text */
.driving_school-block .field--name-field-school-text-block {
    max-width: 1072px;

    color: #0e0f0a;

    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
}

/* =========================================
   DRUPAL FIX
========================================= */

.driving_school-block .contextual {
    display: none !important;
}

/* ===== ВИДЫ ПРОГРАММ — стилизация блока ===== */

.types_programs-block {
    background: #fff;
    padding: 60px 0 70px;
}

/* Заголовок блока */
.types_programs-block .block-title {
    text-align: center;
    color: #0e0f0a;
    font-size: 60px;
    font-weight: 300;
    margin: 0 0 30px;
}

/* Сетка карточек */
.types_programs-block .view-content {
    display: flex;
    gap: 30px;
}

.types_programs-block .views-row {
    flex: 1;
    /*max-width: 0;*/
}

/* Скрываем h2, мета, ссылку «Подробнее» */
.types_programs-block article.node--type-program > h2,
.types_programs-block article.node--type-program .node__meta,
.types_programs-block .node__links {
    display: none;
}

/* Карточка */
.types_programs-block article.node--type-program {
    border-radius: 8px;
    overflow: hidden;
    display: block;
    /* Hover: плавный переход масштаба и тени */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.types_programs-block article.node--type-program:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

/* Hover: чуть осветляем картинку */
.types_programs-block article.node--type-program:hover
.field--name-field-program-image img {
    filter: brightness(1.08);
}

/* node__content — позиционирующий контейнер */
.types_programs-block .node__content {
    position: relative;
    line-height: 0;
}

/* Изображение */
.types_programs-block .field--name-field-program-image {
    display: block;
    margin: 0;
}

.types_programs-block .field--name-field-program-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: filter 0.3s ease;
}

/* Тёмный градиент */
.types_programs-block .node__content::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 220px;
    background: linear-gradient(to top, rgba(0,0,0,0.90) 0%, rgba(0,0,0,0.55) 50%, rgba(0,0,0,0) 100%);
    pointer-events: none;
    z-index: 1;
}

/*
  Кнопка-категория: font-size 26px + padding 20px сверху/снизу = ~66px высота.
  Отступ снизу 18px → верхний край кнопки на ~84px от низа.
  Заголовок (font-size 24px, line-height ~1.3) ставим bottom: 100px — с запасом 16px.
*/

/* Название — поверх градиента */
.types_programs-block .field--name-field-program-title {
    position: absolute;
    bottom: 130px;
    left: 0;
    right: 0;
    padding: 0 18px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    z-index: 2;
}

/* Кнопка-категория */
.types_programs-block .field--name-field-program-die-category {
    position: absolute;
    bottom: 43px;
    left: 18px;
    display: inline-block;
    background: #fb2723;
    color: #ffffff;
    font-size: 26px;
    font-weight: 400;
    padding: 20px 13px;
    border-radius: 10px;
    line-height: 1;
    z-index: 2;
}

/* Карточка без категории — название опускаем к самому низу */
.types_programs-block .node__content:not(:has(.field--name-field-program-die-category))
.field--name-field-program-title {
    bottom: 43px;
    left: 18px;
    right: auto;

    max-width: 318px;
    padding: 0;
}

/* Кнопка «Все программы» */
.types_programs-block .more-link {
    text-align: center;
    margin-top: 36px;
}

.types_programs-block .more-link a {
    display: inline-block;
    color: #0e0f0a;
    background: transparent;
    border: 1px solid #0e0f0a;
    border-radius: 10px;
    padding: 20px 50px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

/* Hover: тёмная заливка, белый текст */
.types_programs-block .more-link a:hover {
    background: #0e0f0a;
    color: #ffffff;
    border-color: #0e0f0a;
}

/* Название — ссылка внутри */
.types_programs-block .field--name-field-program-title a {
    color: #ffffff;
    text-decoration: none;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.types_programs-block .field--name-field-program-title a:hover {
    text-decoration: none;
    color: #ffffff;
}

/* Кнопка-категория — ссылка внутри */
.types_programs-block .field--name-field-program-die-category a {
    color: #ffffff;
    text-decoration: none;
    font-size: inherit;
    font-weight: inherit;
}

.types_programs-block .field--name-field-program-die-category a:hover {
    text-decoration: none;
    color: #ffffff;
}

/* Изображение теперь тоже в ссылке — убираем отступ под img */
.types_programs-block .field--name-field-program-image a {
    display: block;
    line-height: 0;
}

/* ===== СТРАНИЦА ПРОГРАММ — стилизация блока ===== */

.view-id-programs.view-display-id-page_1 {
    padding: 60px 0 70px;
}

/* Заголовок блока, если он есть */
.view-id-programs.view-display-id-page_1 .block-title {
    text-align: center;
    color: #0e0f0a;
    font-size: 60px;
    font-weight: 300;
    margin: 0 0 30px;
}

/* Сетка карточек */
.view-id-programs.view-display-id-page_1 .view-content {
    display: flex;
    gap: 30px;
    /*flex-wrap: wrap;*/
}

.view-id-programs.view-display-id-page_1 .views-row {
    flex: 1;
}

/* Скрываем h2, мета, ссылку «Подробнее» */
.view-id-programs.view-display-id-page_1 article.node--type-program > h2,
.view-id-programs.view-display-id-page_1 article.node--type-program .node__meta,
.view-id-programs.view-display-id-page_1 .node__links {
    display: none;
}

/* Карточка */
.view-id-programs.view-display-id-page_1 article.node--type-program {
    border-radius: 8px;
    overflow: hidden;
    display: block;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.view-id-programs.view-display-id-page_1 article.node--type-program:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

/* Hover: чуть осветляем картинку */
.view-id-programs.view-display-id-page_1 article.node--type-program:hover
.field--name-field-program-image img {
    filter: brightness(1.08);
}

/* node__content — позиционирующий контейнер */
.view-id-programs.view-display-id-page_1 .node__content {
    position: relative;
    line-height: 0;
}

/* Изображение */
.view-id-programs.view-display-id-page_1 .field--name-field-program-image {
    display: block;
    margin: 0;
}

.view-id-programs.view-display-id-page_1 .field--name-field-program-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: filter 0.3s ease;
}

/* Тёмный градиент */
.view-id-programs.view-display-id-page_1 .node__content::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 220px;
    background: linear-gradient(
            to top,
            rgba(0,0,0,0.90) 0%,
            rgba(0,0,0,0.55) 50%,
            rgba(0,0,0,0) 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* Название — поверх градиента */
.view-id-programs.view-display-id-page_1 .field--name-field-program-title {
    position: absolute;
    bottom: 130px;
    left: 0;
    right: 0;
    padding: 0 18px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    z-index: 2;
}

/* Кнопка-категория */
.view-id-programs.view-display-id-page_1 .field--name-field-program-die-category {
    position: absolute;
    bottom: 43px;
    left: 18px;
    display: inline-block;
    background: #fb2723;
    color: #ffffff;
    font-size: 26px;
    font-weight: 400;
    padding: 20px 13px;
    border-radius: 10px;
    line-height: 1;
    z-index: 2;
}

/* Карточка без категории — название опускаем ниже */
.view-id-programs.view-display-id-page_1 .node__content:not(:has(.field--name-field-program-die-category))
.field--name-field-program-title {
    bottom: 24px;
    max-width: 319px;
}

/* Название — ссылка внутри */
.view-id-programs.view-display-id-page_1 .field--name-field-program-title a {
    color: #ffffff;
    text-decoration: none;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.view-id-programs.view-display-id-page_1 .field--name-field-program-title a:hover {
    text-decoration: none;
    color: #ffffff;
}

/* Кнопка-категория — ссылка внутри */
.view-id-programs.view-display-id-page_1 .field--name-field-program-die-category a {
    color: #ffffff;
    text-decoration: none;
    font-size: inherit;
    font-weight: inherit;
}

.view-id-programs.view-display-id-page_1 .field--name-field-program-die-category a:hover {
    text-decoration: none;
    color: #ffffff;
}

/* Изображение тоже в ссылке */
.view-id-programs.view-display-id-page_1 .field--name-field-program-image a {
    display: block;
    line-height: 0;
}

/*!* ===== СТРАНИЦА ОТДЕЛЬНОЙ ПРОГРАММЫ ===== *!*/

/*#block-vesta-theme-content .node--type-program.node--view-mode-full {*/
/*    padding: 60px 0 70px;*/
/*}*/

/*!* Скрываем мету *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .node__meta {*/
/*    display: none;*/
/*}*/

/*!* Если где-то есть лишние ссылки/заголовки *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full h2,*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .node__links {*/
/*    display: none;*/
/*}*/

/*!* Центрируем сам блок и делаем его как карточку *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .node__content {*/
/*    position: relative;*/
/*    line-height: 0;*/
/*    max-width: 370px;   !* как у карточки *!*/
/*    margin: 0 auto;*/
/*    border-radius: 8px;*/
/*    overflow: hidden;*/
/*    display: block;*/
/*    transition: transform 0.3s ease, box-shadow 0.3s ease;*/
/*    cursor: pointer;*/
/*}*/

/*!* Hover *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .node__content:hover {*/
/*    transform: translateY(-6px) scale(1.01);*/
/*    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);*/
/*}*/

/*!* Изображение *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-image {*/
/*    display: block;*/
/*    margin: 0;*/
/*}*/

/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-image a {*/
/*    display: block;*/
/*    line-height: 0;*/
/*}*/

/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-image img {*/
/*    display: block;*/
/*    width: 100%;*/
/*    height: auto;*/
/*    object-fit: cover;*/
/*    transition: filter 0.3s ease;*/
/*}*/

/*!* Hover: чуть осветляем картинку *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .node__content:hover*/
/*.field--name-field-program-image img {*/
/*    filter: brightness(1.08);*/
/*}*/

/*!* Тёмный градиент *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .node__content::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    bottom: 0;*/
/*    left: 0;*/
/*    right: 0;*/
/*    height: 220px;*/
/*    background: linear-gradient(*/
/*            to top,*/
/*            rgba(0,0,0,0.90) 0%,*/
/*            rgba(0,0,0,0.55) 50%,*/
/*            rgba(0,0,0,0) 100%*/
/*    );*/
/*    pointer-events: none;*/
/*    z-index: 1;*/
/*}*/

/*!* Название *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title {*/
/*    position: absolute;*/
/*    bottom: 130px;*/
/*    left: 0;*/
/*    right: 0;*/
/*    padding: 0 18px;*/
/*    color: #ffffff;*/
/*    font-size: 24px;*/
/*    font-weight: 400;*/
/*    line-height: 1.3;*/
/*    z-index: 2;*/
/*}*/

/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title a {*/
/*    color: #ffffff;*/
/*    text-decoration: none;*/
/*    font-size: inherit;*/
/*    font-weight: inherit;*/
/*    line-height: inherit;*/
/*}*/

/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title a:hover {*/
/*    color: #ffffff;*/
/*    text-decoration: none;*/
/*}*/

/*!* Категория *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category {*/
/*    position: absolute;*/
/*    bottom: 43px;*/
/*    left: 18px;*/
/*    display: inline-block;*/
/*    background: #fb2723;*/
/*    color: #ffffff;*/
/*    font-size: 26px;*/
/*    font-weight: 400;*/
/*    padding: 20px 13px;*/
/*    border-radius: 10px;*/
/*    line-height: 1;*/
/*    z-index: 2;*/
/*}*/

/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category a {*/
/*    color: #ffffff;*/
/*    text-decoration: none;*/
/*    font-size: inherit;*/
/*    font-weight: inherit;*/
/*}*/

/*#block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category a:hover {*/
/*    color: #ffffff;*/
/*    text-decoration: none;*/
/*}*/

/*!* Если категории нет — опускаем название вниз *!*/
/*#block-vesta-theme-content .node--type-program.node--view-mode-full*/
/*.node__content:not(:has(.field--name-field-program-die-category))*/
/*.field--name-field-program-title {*/
/*    bottom: 24px;*/
/*    max-width: 319px;*/
/*}*/

/* ===== СТРАНИЦА ПРОГРАММЫ (полная) ===== */

/* Скрываем мету и contextual */
.node--type-program.node--view-mode-full .node__meta,
.node--type-program.node--view-mode-full .contextual {
    display: none !important;
}

/* Обёртка страницы */
.node--type-program.node--view-mode-full {
    padding: 50px 0 70px;
}

/* Контент — двухколоночный layout */
.node--type-program.node--view-mode-full .node__content {
    display: grid;
    grid-template-columns: 420px 1fr;
    grid-template-rows: auto auto 1fr;
    gap: 0 60px;
    align-items: start;
}

/* ── Изображение — левая колонка, все строки ── */
.node--type-program.node--view-mode-full .field--name-field-program-image {
    grid-column: 1;
    grid-row: 1 / 4;
    line-height: 0;
    border-radius: 14px;
    overflow: hidden;
}

.node--type-program.node--view-mode-full .field--name-field-program-image a {
    display: block;
    line-height: 0;
}

.node--type-program.node--view-mode-full .field--name-field-program-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 14px;
}

/* ── Правая колонка ── */

/* Категория — бейдж */
.node--type-program.node--view-mode-full .field--name-field-program-die-category {
    grid-column: 2;
    grid-row: 1;
    display: inline-block;
    background: #fb2723;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 6px;
    line-height: 1;
    margin-bottom: 18px;
    width: fit-content;
}

/* Заголовок программы */
.node--type-program.node--view-mode-full .field--name-field-program-title {
    grid-column: 2;
    grid-row: 2;
    color: #ffffff;
    font-size: 36px;
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: -0.01em;
    margin-bottom: 28px;
}

.node--type-program.node--view-mode-full .field--name-field-program-title a {
    color: inherit;
    text-decoration: none;
}

/* Описание */
.node--type-program.node--view-mode-full .field--name-field-program-text {
    grid-column: 2;
    grid-row: 3;
    color: rgba(255, 255, 255, 0.70);
    font-size: 17px;
    font-weight: 300;
    line-height: 1.75;
}

.node--type-program.node--view-mode-full .field--name-field-program-image a {
    pointer-events: none;
    cursor: default;
}

.node--type-program.node--view-mode-full .field--name-field-program-title a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}

/* ── Адаптив ── */

/* 991px — уменьшаем изображение */
@media (max-width: 991px) {
    .node--type-program.node--view-mode-full .node__content {
        grid-template-columns: 300px 1fr;
        gap: 0 40px;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-title {
        font-size: 28px;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-text {
        font-size: 15px;
    }
}

/* 767px — стек: изображение сверху, текст снизу */
@media (max-width: 767px) {
    .node--type-program.node--view-mode-full {
        padding: 36px 0 50px;
    }

    .node--type-program.node--view-mode-full .node__content {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 24px 0;
    }

    /* Переставляем порядок: картинка вверх */
    .node--type-program.node--view-mode-full .field--name-field-program-image {
        grid-column: 1;
        grid-row: 1;
        max-height: 340px;
        overflow: hidden;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-image img {
        width: 100%;
        height: 340px;
        object-fit: cover;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-die-category {
        grid-column: 1;
        grid-row: 2;
        margin-bottom: 12px;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-title {
        grid-column: 1;
        grid-row: 3;
        font-size: 24px;
        margin-bottom: 16px;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-text {
        grid-column: 1;
        grid-row: 4;
        font-size: 15px;
    }
}

/* 565px */
@media (max-width: 565px) {
    .node--type-program.node--view-mode-full {
        padding: 28px 0 40px;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-image img {
        height: 260px;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-title {
        font-size: 20px;
    }

    .node--type-program.node--view-mode-full .field--name-field-program-text {
        font-size: 14px;
        line-height: 1.65;
    }
}

/* ===== БЛОК КОНТАКТОВ ===== */

.contacts-cta-block {
    padding: 50px 0 0px;
}

/* Заголовок */
.contacts-cta-block__title {
    color: #fb2723;
    font-size: 32px;
    font-weight: 300;
    text-align: center;
    margin: 0 0 20px;
}

/* Ряд: контакты + соцсети */
.contacts-cta-block__row {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Карточка телефона */
.contacts-cta-block__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    background: #0e0f0a;
    border-radius: 8px;
    padding: 12px 42px;
    text-decoration: none;
    transition: background 0.25s ease;
    min-width: 300px;
}

.contacts-cta-block__item:hover {
    background: #2a2b24;
}

/* Подпись (Центр / Светотехстрой) */
.contacts-cta-block__label {
    color: #fb2723;
    font-size: 18px;
    font-weight: 400;
}

/* Номер телефона */
.contacts-cta-block__phone {
    color: #ffffff;
    font-size: 23px;
    font-weight: 500;
    white-space: nowrap;
}

/* Блок соцсетей */
.contacts-cta-block__socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #0e0f0a;
    border-radius: 8px;
    padding: 12px 23px;
    transition: background 0.25s ease;
}

.contacts-cta-block__socials:hover {
    background: #2a2b24;
}

/* Иконка соцсети */
.contacts-cta-block__social {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contacts-cta-block__social img {
    width: 42px;
    height: 42px;
    display: block;
    object-fit: contain;
}

/* Белый прямоугольник */
.main-content-card {
    background: #ffffff;
    border-radius: 10px;
    margin: 0 auto;
    max-width: 1800px;
    overflow: hidden;
    padding-bottom: 20px;
}

/* ===== FAQ АККОРДИОН ===== */

.faq-block {
    background: #0e0f0a;
    padding: 80px 0 100px;
}

.faq-block .contextual {
    display: none !important;
}

/* Заголовок */
.faq-block .block-title {
    color: #ffffff;
    font-size: 60px;
    font-weight: 300;
    text-align: center;
    margin: 0 0 40px;
}

/* Список — без отступов, на всю ширину container */
.faq-block .view-content {
    width: 100%;
}

/* Один элемент */
.faq-block .views-row {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

/* Вопрос — кликабельная строка */
.faq-block .views-field-field-faq-question {
    cursor: pointer;
}

.faq-block .views-field-field-faq-question .field-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 30px 0 20px 100px;
    user-select: none;
}

/* Текст вопроса */
.faq-block .faq-question-text {
    color: #ffffff;
    font-size: 22px;
    font-weight: 400;
}

/* Иконка: по умолчанию rotate(45deg) = плюс, is-open = rotate(0deg) = крестик */
.faq-block .faq-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: block;
    object-fit: contain;
    transform: rotate(45deg);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.7;
}

.faq-block .views-row.is-open .faq-icon {
    transform: rotate(0deg);
    opacity: 1;
}

/* Ответ — плавное раскрытие через grid */
.faq-block .views-field-field-faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-block .views-field-field-faq-answer .field-content {
    overflow: hidden;
    color: #999;
    font-size: 18px;
    font-weight: 400;
    padding-right: 242px;
    padding-left: 130px;
    padding-bottom: 0;
    transition: padding-bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Открытое состояние */
.faq-block .views-row.is-open .views-field-field-faq-answer {
    grid-template-rows: 1fr;
}

.faq-block .views-row.is-open .views-field-field-faq-answer .field-content {
    padding-bottom: 40px;
}

/* Убираем верхний отступ у вопроса в самом первом элементе списка */
.faq-block .views-row:first-child .views-field-field-faq-question .field-content {
    padding-top: 0;
}

/* ===== О АВТОШКОЛЕ ===== */

.main-content-black {
}

/* Сам блок */
.about-block {
    position: relative;
    width: min(100%, 1800px);
    height: 750px;
    margin: 0 auto;
    background: #262722;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

/* Внутренние обертки на всю высоту */
.about-block .container,
.about-block .region-about {
    height: 100%;
}

/* ВАЖНО: position убираем отсюда */
#block-vesta-theme-about-block {
    position: static;
    height: 100%;
    box-sizing: border-box;
}

/* Текстовая часть */
.about-block .field--name-field-about-title {
    color: #ffffff;
    font-size: 60px;
    font-weight: 300;
    margin-bottom: 25px;
    max-width: 570px;
}

.about-block .field--name-field-about-text {
    color: #999;
    font-size: 15px;
    font-weight: 300;
    margin-bottom: 10px;
    max-width: 570px;
}

.about-block .field--name-field-about-text br {
    display: block;
    content: '';
    margin-top: 12px;
}

.about-block .field--name-field-about-btn {
    max-width: 850px;
}

.about-block .field--name-field-about-btn a {
    display: inline-block;
    background: #fb2723;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    padding: 18px 21px;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.25s ease;
}

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

/* Картинка: теперь прижата к правому краю именно .about-block */
.about-block .field--name-field-about-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 815px;
    height: 100%;
}

.about-block .field--name-field-about-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
}

/* ===== БЛОК ОБРАТНОЙ СВЯЗИ ===== */

.feedback-block .contextual {
    display: none !important;
}

/* Красный фон — на обёртке, растянут на 1800px */
.main-conent-red {
    background: #cd1916;
    min-height: 430px;
    max-width: 1800px;
    margin: 0 auto;
    border-radius: 10px;
    display: flex;
    align-items: center;
    margin-top: 70px;
}

/* feedback-block и container — без изменений, стандартная ширина */
.main-conent-red .feedback-block {
    width: 100%;
}

.main-conent-red .feedback-block .container {
    /* container остаётся стандартным (max-width темы) */
}

/* Регион — flex строка, контент в рамках container */
.feedback-block .region-feedback {
    display: flex;
    gap: 120px;
    width: 100%;
    padding: 50px 0;
    box-sizing: border-box;
}

/* ── ЛЕВАЯ КОЛОНКА: заголовок + подзаголовок ── */
#block-vesta-theme-feedback-title {
    flex: 0 0 480px;
    width: 480px;
    min-width: 0;
}

.feedback-block .field--name-field-feedback-title {
    color: #ffffff;
    font-size: 60px;
    font-weight: 300;
    line-height: 1.1;
    margin-bottom: 30px;
    letter-spacing: -0.01em;
}

.feedback-block .field--name-field-feedback-text {
    color: #ffffff;
    font-size: 27px;
    font-weight: 300;
    line-height: 1.4;
}

/* ── ПРАВАЯ КОЛОНКА: форма ── */
#block-vesta-theme-feedback {
    flex: 0 0 470px;
    width: 470px;
    min-width: 0;
}

.feedback-block form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Поля ввода (общий контейнер) ── */
.feedback-block .js-form-item {
    position: relative;
    margin: 0;
    padding: 0;
}

/* Нижняя линия-разделитель */
.feedback-block .js-form-item::after {
    content: '';
    display: block;
    height: 1px;
    background: rgba(255, 255, 255, 0.40);
}

.feedback-block .form-item-privacy::after {
    display: none;
}

/* ── Текстовые поля ── */
.feedback-block input[type="text"],
.feedback-block textarea {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
    padding: 16px 16px 16px 42px;
    box-sizing: border-box;
    font-family: inherit;
    resize: none;
}

.feedback-block input[type="text"]::placeholder,
.feedback-block textarea::placeholder {
    color: rgba(255, 255, 255, 0.65);
    font-size: 16px;
    font-weight: 300;
}

.feedback-block textarea {
    height: 58px;
    overflow: hidden;
}

/* ── Иконки ── */
.feedback-block .form-item-name::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background: url('/sites/all/themes/vesta_theme/image/user.svg') center / contain no-repeat;
    opacity: 0.75;
}

.feedback-block .form-item-phone::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url('/sites/all/themes/vesta_theme/image/phone.svg') center / contain no-repeat;
    opacity: 0.75;
}

.feedback-block .form-item-message::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 18px;
    width: 20px;
    height: 20px;
    background: url('/sites/all/themes/vesta_theme/image/message.svg') center / contain no-repeat;
    opacity: 0.75;
}

/* ── Чекбокс ── */
.feedback-block .form-item-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 16px 0 10px;
}

.feedback-block input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(255, 255, 255, 0.70);
    border-radius: 3px;
    background: transparent;
    cursor: pointer;
    margin-top: 2px;
    position: relative;
    transition: background 0.2s, border-color 0.2s;
}

.feedback-block input[type="checkbox"]:checked {
    background: rgba(255, 255, 255, 0.20);
    border-color: #ffffff;
}

.feedback-block input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: 1.5px solid #ffffff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.feedback-block .form-item-privacy .description,
.feedback-block .form-item-privacy .webform-element-description {
    color: rgba(255, 255, 255, 0.70);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.5;
}

.feedback-block .form-item-privacy .description span {
    color: inherit;
    font-size: inherit;
}

/* ── Кнопка — по центру ── */
.feedback-block .form-actions {
    padding-top: 16px;
    display: flex;
    justify-content: center;
}

.feedback-block .webform-button--submit {
    background: #0e0f0a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 14px 52px;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.25s ease;
}

.feedback-block .webform-button--submit:hover {
    background: #2a2b24;
}

.feedback-block input[type="hidden"] {
    display: none;
}

/* ===== ВАЛИДАЦИЯ И ФОКУС — ФОРМА ОБРАТНОЙ СВЯЗИ ===== */

/* ── Скрываем стандартные текстовые ошибки Drupal ── */
.feedback-block .form-item--error-message {
    display: none !important;
}

/* ── Сброс всех браузерных стилей на полях ── */
.feedback-block input[type="text"],
.feedback-block textarea {
    background: transparent !important;
    background-color: transparent !important;
    outline: none !important;
    box-shadow: none;
    border-left: 3px solid transparent; /* место зарезервировано, но не видно */
    padding-left: 39px !important;      /* фиксированный отступ всегда */
    transition: background 0.3s ease, border-color 0.3s ease;
}

/* Сброс автозаполнения браузера (убирает жёлтый/белый фон) */
.feedback-block input:-webkit-autofill,
.feedback-block input:-webkit-autofill:hover,
.feedback-block input:-webkit-autofill:focus,
.feedback-block textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    -webkit-text-fill-color: #ffffff !important;
    transition: background-color 99999s ease-in-out 0s;
    caret-color: #ffffff;
}

/* ── ФОКУС: тонкая белая линия снизу ── */
.feedback-block input[type="text"]:focus,
.feedback-block textarea:focus {
    background: transparent !important;
    background-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    border-top: none !important;
    border-right: none !important;
    border-left: 3px solid transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 1) !important;
}

/* Иконка при фокусе — полная яркость */
.feedback-block .js-form-item:focus-within::before {
    opacity: 1 !important;
    transition: opacity 0.25s ease;
}

/* ── ОШИБКА: тёмный полупрозрачный фон + левая красная полоска ── */
.feedback-block .form-item--error input[type="text"],
.feedback-block .form-item--error textarea {
    background: rgba(0, 0, 0, 0.18) !important;
    border-left-color: rgba(0, 0, 0, 0.50) !important; /* только цвет, размер уже задан */
    animation: errorShake 0.35s ease;
}

/* Чекбокс с ошибкой */
.feedback-block .form-item--error input[type="checkbox"] {
    border-color: rgba(0, 0, 0, 0.60) !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.30);
}

/* Иконка поля с ошибкой */
.feedback-block .form-item--error::before {
    opacity: 1 !important;
    filter: brightness(0.6);
}

/* ── Анимация встряхивания при ошибке ── */
@keyframes errorShake {
    0%   { transform: translateX(0); }
    20%  { transform: translateX(-6px); }
    40%  { transform: translateX(6px); }
    60%  { transform: translateX(-4px); }
    80%  { transform: translateX(4px); }
    100% { transform: translateX(0); }
}

/* ── Фокус на чекбоксе ── */
.feedback-block input[type="checkbox"]:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

/* ── Убираем стандартную ошибку браузера ── */
.feedback-block input:invalid,
.feedback-block textarea:invalid {
    outline: none !important;
    box-shadow: none !important;
}

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

.footer {
    background: #0e0f0a;
    padding-top: 50px;
}

/* ── Основной ряд: 4 колонки ── */
.footer-inner {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    padding-bottom: 50px;
}

/* ═══════════════════════════════
   КОЛОНКА 1 — бренд
═══════════════════════════════ */
.footer-col--brand {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Лого */
.footer-logo a {
    display: inline-block;
}

.footer-logo img {
    max-width: 170px;
    height: auto;
    display: block;
}

/* Копирайт */
.footer-copy {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}

/* Политика */
.footer-policy {
    color: #fb2723;
    font-size: 16px;
    font-weight: 400;
    transition: opacity 0.2s ease;
}

.footer-policy:hover {
    opacity: 0.75;
}

/* Соцсети */
.footer-socials {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 4px;
}

/*.footer-social {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    width: 44px;*/
/*    height: 44px;*/
/*    background: #1e1f19;*/
/*    border-radius: 8px;*/
/*    transition: background 0.25s ease;*/
/*    flex-shrink: 0;*/
/*}*/

/*.footer-social:hover {*/
/*    background: #2a2b24;*/
/*}*/

.footer-social img {
    width: 42px;
    height: 42px;
    display: block;
    object-fit: contain;
}

/* ═══════════════════════════════
   КОЛОНКИ 2 и 3 — меню
═══════════════════════════════ */
.footer-col--nav,
.footer-col--programs {
    flex: 0 0 215px;
}

/* Стилизация меню Drupal внутри footer */
.footer-col--nav ul,
.footer-col--programs ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.footer-col--nav ul li a,
.footer-col--programs ul li a {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    transition: color 0.2s ease;
    padding: 0;
    padding-bottom: 15px;
}

.footer-col--nav ul li a:hover,
.footer-col--programs ul li a:hover {
    color: #ffffff;
}

/* Скрываем заголовок блока меню если есть */
.footer-col--nav .block-title,
.footer-col--programs .block-title {
    display: none;
}

/* ═══════════════════════════════
   КОЛОНКА 4 — контакты
═══════════════════════════════ */
.footer-col--contacts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Группа контакта */
.footer-contact-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Метка (Центр, Светотехстрой) — красная */
.footer-contact-label {
    color: #fb2723;
    font-size: 15px;
    font-weight: 400;
}

/* Метка E-mail — белая */
.footer-contact-label--white {
    color: rgba(255, 255, 255, 0.85);
}

/* Телефон / Email */
.footer-contact-phone {
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.footer-contact-phone:hover {
    opacity: 0.75;
}

/* Адрес */
.footer-contact-address {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

/* ═══════════════════════════════
   НИЖНЯЯ СТРОКА
═══════════════════════════════ */
.footer-bottom {
    padding: 18px 0;
}

.footer-bottom__text {
    color: #999;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-bottom__text:hover {
    color: rgba(255, 255, 255, 0.60);
}

/* ===== HERO БЛОК ===== */

.hero-block {
    position: relative;
    min-height: 605px;
    overflow: hidden;
}

.hero-block .contextual {
    display: none !important;
}

.hero-block .region-hero {
    min-height: 605px;
}

/* ── Блок-обёртка ── */
.hero-block .block {
    position: relative;
    min-height: 605px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 125px 0 225px;
    box-sizing: border-box;
}

/* ── Изображение — абсолютный фон ── */
.hero-block .field--name-field-hero-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    line-height: 0;
}

.hero-block .field--name-field-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* ── Затемнение слева направо ── */
.hero-block::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.62) 0%,
            rgba(0, 0, 0, 0.38) 45%,
            rgba(0, 0, 0, 0) 100%
    );
    pointer-events: none;
}

/* ── Размытие верхнего края в фон хедера ── */
.hero-block::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(
            to bottom,
            #0e0f0a 0%,
            rgba(14, 15, 10, 0.65) 45%,
            rgba(14, 15, 10, 0) 100%
    );
    z-index: 2;
    pointer-events: none;
}

/* ── Общий контейнер для текстового контента ── */
.hero-block .field--name-field-hero-text-top,
.hero-block .field--name-field-hero-title,
.hero-block .field--name-field-hero-subtitle,
.hero-block .field--name-field-hero-btn {
    position: relative;
    z-index: 3;
    max-width: 1290px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

/* ── Верхний текст ── */
.hero-block .field--name-field-hero-text-top {
    color: #ffffff;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 12px;
    text-transform: uppercase;
}

/* ── Заголовок ── */
.hero-block .field--name-field-hero-title h1 {
    color: #ffffff;
    font-size: 69px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0 0 10px;
}

/* ── Подзаголовок ── */
.hero-block .field--name-field-hero-subtitle {
    color: #ffffff;
    font-size: 69px;
    line-height: 1.1;
    font-weight: 300;
    margin-bottom: 25px;
}

/* ── Кнопка ── */
.hero-block .field--name-field-hero-btn a {
    display: inline-block;
    background: #fb2723;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    padding: 18px 25px;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.25s ease;
}

.hero-block .field--name-field-hero-btn a:hover {
    background: #d41e1a;
    color: #ffffff;
}


/* ── Адаптив ── */

@media (max-width: 1199px) {
    .hero-block .field--name-field-hero-text-top {
        font-size: 20px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 52px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 34px;
    }
}

@media (max-width: 991px) {
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 340px;
    }

    .hero-block .field--name-field-hero-text-top {
        font-size: 18px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 40px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 26px;
        margin-bottom: 32px;
    }
}

@media (max-width: 767px) {
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 380px;
    }

    .hero-block::before {
        background: rgba(0, 0, 0, 0.60);
    }

    .hero-block .block {
        padding: 80px 0 60px;
    }

    .hero-block .field--name-field-hero-text-top {
        font-size: 15px;
        margin-bottom: 10px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 30px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 20px;
        margin-bottom: 26px;
    }
}

@media (max-width: 565px) {
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 300px;
    }

    .hero-block .block {
        padding: 70px 0 50px;
    }

    .hero-block .field--name-field-hero-text-top {
        font-size: 13px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 24px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 17px;
        margin-bottom: 22px;
    }

    .hero-block .field--name-field-hero-btn a {
        font-size: 14px;
        padding: 12px 24px;
    }
}

@media (max-width: 1399px) {
    .hero-block .field--name-field-hero-text-top,
    .hero-block .field--name-field-hero-title,
    .hero-block .field--name-field-hero-subtitle,
    .hero-block .field--name-field-hero-btn {
        max-width: 1145px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 1199px) {
    .hero-block .field--name-field-hero-text-top,
    .hero-block .field--name-field-hero-title,
    .hero-block .field--name-field-hero-subtitle,
    .hero-block .field--name-field-hero-btn {
        max-width: 950px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 991px) {
    .hero-block .field--name-field-hero-text-top,
    .hero-block .field--name-field-hero-title,
    .hero-block .field--name-field-hero-subtitle,
    .hero-block .field--name-field-hero-btn {
        max-width: 720px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 767px) {
    .hero-block .field--name-field-hero-text-top,
    .hero-block .field--name-field-hero-title,
    .hero-block .field--name-field-hero-subtitle,
    .hero-block .field--name-field-hero-btn {
        max-width: 540px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

/*!* ===== HERO БЛОК ===== *!*/

/*.hero-block {*/
/*    position: relative;*/
/*    min-height: 605px;*/
/*    overflow: hidden;*/
/*}*/

/*.hero-block .contextual {*/
/*    display: none !important;*/
/*}*/

/*.hero-block .region-hero {*/
/*    min-height: 605px;*/
/*}*/

/*!* ── Изображение — абсолютный фон ── *!*/
/*.hero-block .field--name-field-hero-image {*/
/*    position: absolute;*/
/*    inset: 0;*/
/*    z-index: 0;*/
/*    margin: 0;*/
/*    line-height: 0;*/
/*}*/

/*.hero-block .field--name-field-hero-image img {*/
/*    display: block;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    object-fit: cover;*/
/*    object-position: center center;*/
/*}*/

/*!* ── Затемнение слева направо ── *!*/
/*.hero-block::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    inset: 0;*/
/*    z-index: 1;*/
/*}*/

/*!* ── Размытие верхнего края в фон хедера ── *!*/
/*.hero-block::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    right: 0;*/
/*    height: 120px;*/
/*    background: linear-gradient(*/
/*            to bottom,*/
/*            #0e0f0a 0%,*/
/*            rgba(14, 15, 10, 0.65) 45%,*/
/*            rgba(14, 15, 10, 0) 100%*/
/*    );*/
/*    z-index: 2;*/
/*    pointer-events: none;*/
/*}*/

/*!* ── Блок-обёртка — поверх всех слоёв ── *!*/
/*.hero-block .block {*/
/*    position: relative;*/
/*    min-height: 605px;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    justify-content: center;*/
/*    padding: 125px 0 225px;*/
/*    box-sizing: border-box;*/
/*}*/

/*!* ── Контейнер 1170px только для текстового контента ── *!*/
/*.hero-block .field--name-field-hero-title,*/
/*.hero-block .field--name-field-hero-subtitle,*/
/*.hero-block .field--name-field-hero-btn {*/
/*    max-width: 1290px;*/
/*    width: 100%;*/
/*    margin-left: auto;*/
/*    margin-right: auto;*/
/*    box-sizing: border-box;*/
/*    z-index: 3;*/
/*}*/

/*!* ── Заголовок ── *!*/
/*.hero-block .field--name-field-hero-title h1{*/
/*    color: #ffffff;*/
/*    font-size: 69px;*/
/*    font-weight: 800;*/
/*    margin-bottom: 10px;*/
/*}*/

/*!* ── Подзаголовок ── *!*/
/*.hero-block .field--name-field-hero-subtitle {*/
/*    color: #fff;*/
/*    font-size: 69px;*/
/*    font-weight: 300;*/
/*    margin-bottom: 25px;*/
/*}*/

/*!* ── Кнопка ── *!*/
/*.hero-block .field--name-field-hero-btn a {*/
/*    display: inline-block;*/
/*    background: #fb2723;*/
/*    color: #ffffff;*/
/*    font-size: 15px;*/
/*    font-weight: 700;*/
/*    padding: 18px 25px;*/
/*    border-radius: 10px;*/
/*    text-decoration: none;*/
/*    transition: background 0.25s ease;*/
/*}*/

/*.hero-block .field--name-field-hero-btn a:hover {*/
/*    background: #d41e1a;*/
/*    color: #ffffff;*/
/*}*/

/*!* ── Адаптив ── *!*/
/*@media (max-width: 1199px) {*/

/*    .hero-block .field--name-field-hero-title { font-size: 52px; }*/
/*    .hero-block .field--name-field-hero-subtitle { font-size: 34px; }*/
/*}*/

/*@media (max-width: 991px) {*/
/*    .hero-block,*/
/*    .hero-block .region-hero,*/
/*    .hero-block .block { min-height: 480px; }*/
/*    .hero-block .field--name-field-hero-title { font-size: 40px; }*/
/*    .hero-block .field--name-field-hero-subtitle { font-size: 26px; margin-bottom: 32px; }*/
/*}*/

/*@media (max-width: 767px) {*/
/*    .hero-block,*/
/*    .hero-block .region-hero,*/
/*    .hero-block .block { min-height: 380px; }*/
/*    .hero-block::before { background: rgba(0, 0, 0, 0.60); }*/
/*    .hero-block .field--name-field-hero-title { font-size: 30px; }*/
/*    .hero-block .field--name-field-hero-subtitle { font-size: 20px; margin-bottom: 26px; }*/
/*    .hero-block .block { padding: 80px 0 60px; }*/
/*}*/

/*@media (max-width: 565px) {*/
/*    .hero-block,*/
/*    .hero-block .region-hero,*/
/*    .hero-block .block { min-height: 300px; }*/
/*    .hero-block .field--name-field-hero-title { font-size: 24px; }*/
/*    .hero-block .field--name-field-hero-subtitle { font-size: 17px; margin-bottom: 22px; }*/
/*    .hero-block .field--name-field-hero-btn a { font-size: 14px; padding: 12px 24px; }*/
/*    .hero-block .block { padding: 70px 0 50px; }*/
/*}*/

/* ===== БЛОК ПРЕИМУЩЕСТВ ===== */

.benefits-block {
    padding: 50px 0 100px;
}

.benefits-block .contextual {
    display: none !important;
}

/* ── Сетка: 4 равные колонки ── */
.benefits-block .field--name-field-benefits-items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

/* ── Скрываем поле типа ── */
.benefits-block .field--name-field-benefit-type {
    display: none !important;
}

/* ════════════════════════════
   БАЗОВАЯ КАРТОЧКА (default)
════════════════════════════ */
.benefits-block .paragraph--type--benefit-item {
    height: 184px;
    background: linear-gradient(204deg, #262722 0%, #fb2723 100%);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 24px;
    box-sizing: border-box;
    overflow: hidden;
    transition: filter 0.25s ease;
}

.benefits-block .paragraph--type--benefit-item:hover {
    filter: brightness(1.1);
}

/* Текст */
.benefits-block .field--name-field-benefit-text {
    color: #ffffff;
    font-size: 18px;
    font-weight: 400;
    max-width: 192px;
}

/* ════════════════════════════
   IMAGE CARD — 2-я карточка
   Позиция в DOM: nth-child(2)
   Размер: 570×184
════════════════════════════ */

/* Ячейка сетки — span 2 */
.benefits-block .field--name-field-benefits-items > .field__item:nth-child(2) {
    grid-column: span 2;
}

/* Карточка: строка, изображение слева */
.benefits-block .field__item:nth-child(2) .paragraph--type--benefit-item {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
    padding: 0 28px 0 0;
    background: linear-gradient(204deg, #1e1f1a 0%, #2a2a24 100%);
    gap: 0;
}

/* Изображение — выдвигаем ВЛЕВО через order */
.benefits-block .field__item:nth-child(2) .field--name-field-benefit-image {
    order: -1;        /* ставим перед текстом */
    flex-shrink: 0;
    align-self: flex-end;
    line-height: 0;
}

.benefits-block .field__item:nth-child(2) .field--name-field-benefit-image img {
    display: block;
    width: auto;
    height: 175px;
    object-fit: contain;
    object-position: bottom left;
}

/* Текст — справа от изображения */
.benefits-block .field__item:nth-child(2) .field--name-field-benefit-text {
    padding-left: 28px;
    font-size: 18px;
    font-weight: 400;
    align-self: center;
    max-width: 350px;
}

/* ════════════════════════════
   FEATURED — 5-я карточка
   Позиция в DOM: nth-child(5)
   Размер: 570×184, красная
════════════════════════════ */

/* Ячейка сетки — span 2 */
.benefits-block .field--name-field-benefits-items > .field__item:nth-child(5) {
    grid-column: span 2;
}

/* Карточка: полностью красная */
.benefits-block .field__item:nth-child(5) .paragraph--type--benefit-item {
    background: #fb2723;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px 40px;
}

.benefits-block .field__item:nth-child(5) .field--name-field-benefit-text {
    font-size: 27px;
    font-weight: 400;
    max-width: 352px;
}

/* ════════════════════════════
   Поддержка через preprocess-классы
   (если хук добавлен)
════════════════════════════ */
.benefits-block .field__item:has(.benefit-type--image-card) {
    grid-column: span 2;
}

.benefits-block .field__item:has(.benefit-type--featured) {
    grid-column: span 2;
}

.benefits-block .benefit-type--featured {
    background: #fb2723 !important;
}

.benefits-block .benefit-type--featured .field--name-field-benefit-text {
    font-size: 26px;
    font-weight: 300;
}

/* Hero — overflow: visible чтобы карточки были видны */
.hero-block {
    overflow: visible;
}

/* Benefits заходит на hero */
.benefits-block {
    position: relative;
    z-index: 10;
    margin-top: -80px; /* величина захода на hero — меняйте под себя */
}

/* ════════════════════════════
   Адаптив
════════════════════════════ */
@media (max-width: 991px) {
    .benefits-block .field--name-field-benefits-items {
        grid-template-columns: repeat(2, 1fr);
    }

    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(2),
    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(5),
    .benefits-block .field__item:has(.benefit-type--image-card),
    .benefits-block .field__item:has(.benefit-type--featured) {
        grid-column: span 2;
    }
}

@media (max-width: 565px) {
    .benefits-block .field--name-field-benefits-items {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(2),
    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(5),
    .benefits-block .field__item:has(.benefit-type--image-card),
    .benefits-block .field__item:has(.benefit-type--featured) {
        grid-column: span 1;
    }

    .benefits-block .field__item:nth-child(2) .paragraph--type--benefit-item {
        align-items: center;
        padding: 16px;
        text-align: center;
    }

    .benefits-block .field__item:nth-child(2) .field--name-field-benefit-image img {
        height: 140px;
    }

    .benefits-block .field__item:nth-child(2) .field--name-field-benefit-text {
        padding-left: 0;
        font-size: 15px;
    }

    .benefits-block .field__item:nth-child(5) .field--name-field-benefit-text {
        font-size: 20px;
    }
}

/* ===== МОДАЛЬНОЕ ОКНО ОБРАТНОЙ СВЯЗИ ===== */

/* ── Backdrop ── */
.modal-backdrop {
    background: #0e0f0a;
}

.modal-backdrop.show {
    opacity: 0.85;
}

/* ── Само окно ── */
.modal-dialog {
    max-width: 560px;
    width: calc(100% - 32px);
    margin: auto;
}

.modal-content {
    background: #1a1b16;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.70);
}

/* ── Шапка ── */
.modal-header {
    background: #1a1b16;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 28px 36px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.modal-title {
    color: #ffffff;
    font-size: 28px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -0.01em;
}

/* Кнопка закрытия */
.modal-header .close,
.modal-header .btn-close {
    background: none !important;
    border: none !important;
    padding: 0;
    cursor: pointer;
    opacity: 0.70;
    transition: opacity 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    /* Убираем все возможные обводки */
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}

.modal-header .close:hover,
.modal-header .btn-close:hover {
    opacity: 1;
}

.modal-header .close:focus,
.modal-header .btn-close:focus,
.modal-header .close:focus-visible,
.modal-header .btn-close:focus-visible,
.modal-header .close:active,
.modal-header .btn-close:active {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Иконка крестика — через SVG-маску */
.modal-header .close::before,
.modal-header .btn-close::before {
    content: '';
    display: block;
    width: 26px;   /* было 20px */
    height: 26px;
    background: url('/sites/all/themes/vesta_theme/image/close.svg') center / contain no-repeat;
    filter: brightness(0) invert(1); /* делаем иконку белой независимо от исходного цвета */
}

.modal-header .close span,
.modal-header .btn-close span,
.modal-header .btn-close::after {
    display: none !important;
}

.modal-body .form-item--error input[type="checkbox"] {
    border-color: #fb2723 !important;
    box-shadow: 0 0 0 2px rgba(251, 39, 35, 0.25);
    animation: modalShake 0.35s ease;
}

.modal-body textarea,
.modal-body textarea.form-control {
    color: #ffffff !important;
}

/* Скрываем дефолтный × Bootstrap */
.modal-header .close span,
.modal-header .btn-close span {
    display: none;
}

/* ── Тело модалки ── */
.modal-body {
    background: #1a1b16;
    padding: 28px 36px;
}

/* ── Поля формы ── */
.modal-body .js-form-item {
    position: relative;
    margin: 0;
}

/* Разделитель между полями */
.modal-body .js-form-item::after {
    content: '';
    display: block;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
}

.modal-body .form-item-privacy::after {
    display: none;
}

/* Инпуты и textarea */
.modal-body input[type="text"],
.modal-body textarea {
    width: 100%;
    background: transparent !important;
    border: none;
    border-left: 3px solid transparent;
    outline: none !important;
    box-shadow: none !important;
    color: #ffffff;
    font-size: 15px;
    font-weight: 300;
    padding: 16px 16px 16px 42px;
    box-sizing: border-box;
    font-family: inherit;
    resize: none;
    transition: border-left-color 0.3s ease;
}

.modal-body input[type="text"]::placeholder,
.modal-body textarea::placeholder {
    color: rgba(255, 255, 255, 0.40);
    font-size: 15px;
    font-weight: 300;
}

.modal-body textarea {
    height: 56px;
    overflow: hidden;
}

/* Фокус */
.modal-body input[type="text"]:focus,
.modal-body textarea:focus {
    background: transparent !important;
    border-left-color: #fb2723;
}

/* Ошибка */
.modal-body .form-item--error input[type="text"],
.modal-body .form-item--error textarea {
    background: rgba(251, 39, 35, 0.06) !important;
    border-left-color: #fb2723;
    animation: modalShake 0.35s ease;
}

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

@keyframes modalShake {
    0%   { transform: translateX(0); }
    20%  { transform: translateX(-5px); }
    40%  { transform: translateX(5px); }
    60%  { transform: translateX(-3px); }
    80%  { transform: translateX(3px); }
    100% { transform: translateX(0); }
}

/* Иконки в полях */
.modal-body .form-item-name::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url('/sites/all/themes/vesta_theme/image/user.svg') center / contain no-repeat;
    opacity: 0.45;
}

.modal-body .form-item-phone::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url('/sites/all/themes/vesta_theme/image/phone.svg') center / contain no-repeat;
    opacity: 0.45;
}

.modal-body .form-item-message::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 18px;
    width: 18px;
    height: 18px;
    background: url('/sites/all/themes/vesta_theme/image/message.svg') center / contain no-repeat;
    opacity: 0.45;
}

/* Иконка ярче при фокусе */
.modal-body .js-form-item:focus-within::before {
    opacity: 0.85 !important;
}

/* ── Чекбокс ── */
.modal-body .form-item-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 16px 0 4px;
}

.modal-body input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(255, 255, 255, 0.30);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    margin-top: 2px;
    position: relative;
    transition: border-color 0.2s, background 0.2s;
}

.modal-body input[type="checkbox"]:checked {
    background: #fb2723;
    border-color: #fb2723;
}

.modal-body input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: 1.5px solid #ffffff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.modal-body input[type="checkbox"]:focus {
    outline: none;
    border-color: rgba(251, 39, 35, 0.60);
}

/* Текст согласия */
.modal-body .form-item-privacy .description,
.modal-body .webform-element-description {
    color: rgba(255, 255, 255, 0.40);
    font-size: 12px;
    font-weight: 300;
    line-height: 1.5;
}

.modal-body .form-item-privacy .description span {
    color: inherit;
    font-size: inherit;
}

/* Скрываем дублирующую кнопку внутри body */
.modal-body .form-actions {
    display: none !important;
}

/* Скрываем скрытые поля */
.modal-body input[type="hidden"] {
    display: none;
}

/* ── Подвал: кнопка ── */
.modal-footer {
    background: #1a1b16;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 20px 36px 28px;
    justify-content: center;
}

.modal-footer .webform-button--submit {
    background: #fb2723;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 14px 56px;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.25s ease;
    width: 100%;
}

.modal-footer .webform-button--submit:hover {
    background: #d41e1a;
}

/* ── Скрываем contextual ── */
.modal-body .contextual {
    display: none !important;
}

/* ── Адаптив ── */
@media (max-width: 565px) {
    .modal-header,
    .modal-body,
    .modal-footer {
        padding-left: 20px;
        padding-right: 20px;
    }

    .modal-title {
        font-size: 22px;
    }

    .modal-footer .webform-button--submit {
        padding: 13px 32px;
        font-size: 15px;
    }
}

.justify-content-between {
    justify-content: flex-start !important;
}

/* ===== BREADCRUMBS ===== */

#block-vesta-theme-strokanavigacii {
    padding: 18px 0 0;
    margin: 0;
}

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

#block-vesta-theme-strokanavigacii .breadcrumb-item {
    display: inline-flex;
    align-items: center;
    padding-left: 0;
    margin: 0;
    color: #0e0f0a;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item + .breadcrumb-item {
    padding-left: 0;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item + .breadcrumb-item::before {
    content: '/';
    color: #999999;
    padding: 0 10px;
    font-weight: 400;
}

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

#block-vesta-theme-strokanavigacii .breadcrumb-item a:hover {
    color: #d41e1a;
    opacity: 0.9;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item:last-child,
#block-vesta-theme-strokanavigacii .breadcrumb-item.active {
    color: #fff;
    font-weight: 500;
}

#block-vesta-theme-strokanavigacii .breadcrumb-item:last-child a {
    color: #fff;
    pointer-events: none;
}

#block-vesta-theme-strokanavigacii .contextual {
    display: none !important;
}

/* Адаптив */
@media (max-width: 767px) {
    #block-vesta-theme-strokanavigacii {
        padding-top: 14px;
    }

    /*#block-vesta-theme-strokanavigacii nav[aria-label="breadcrumb"] {*/
    /*    padding: 0 15px;*/
    /*}*/

    #block-vesta-theme-strokanavigacii .breadcrumb-item {
        font-size: 13px;
    }

    #block-vesta-theme-strokanavigacii .breadcrumb-item + .breadcrumb-item::before {
        padding: 0 8px;
    }
}

/* ===== PAGE TITLE ===== */

#block-vesta-theme-page-title {
    padding-top: 20px;
    background: transparent;
}

#block-vesta-theme-page-title h1 {
    margin: 0;
    color: #ffffff;
    font-family: var(--font-family);
    font-size: 60px;
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

#block-vesta-theme-page-title .contextual {
    display: none !important;
}

/* Адаптив */
@media (max-width: 991px) {
    #block-vesta-theme-page-title h1 {
        font-size: 44px;
    }
}

@media (max-width: 767px) {
    #block-vesta-theme-page-title {
        padding: 16px 0 22px;
    }

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

@media (max-width: 565px) {
    #block-vesta-theme-page-title h1 {
        font-size: 26px;
    }
}

/* ===== ТАБЛИЦА НА СТРАНИЦЕ ===== */

/* Контейнер теперь гарантированно скроллится на мобильных, если таблица не влезает */
.node__content .field--name-body {
    overflow-x: auto !important;
    display: block !important;
    width: 100% !important;
}

/* Сам table */
.node__content .field--name-body table.table {
    width: 100% !important;
    min-width: 760px !important; /* Базовая ширина для ПК */
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e7e7e7 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06) !important;
}

/* Шапка */
.node__content .field--name-body table.table thead th {
    background: #0e0f0a !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    padding: 18px 20px !important;
    text-align: left !important;
    border-bottom: 1px solid #2f302a !important;
    white-space: nowrap !important;
}

/* Ячейки */
.node__content .field--name-body table.table tbody td {
    padding: 16px 20px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #0e0f0a !important;
    vertical-align: top !important;
    border-bottom: 1px solid #ececec !important;
    background: #ffffff !important;
}

/* Последняя строка без нижней границы */
.node__content .field--name-body table.table tbody tr:last-child td {
    border-bottom: 0 !important;
}

/* Наведение на обычные строки */
.node__content .field--name-body table.table tbody tr:not(:has(td:nth-child(2) strong)):hover td {
    background: #fafafa !important;
}

/* Первый столбец (№) */
.node__content .field--name-body table.table th:nth-child(1),
.node__content .field--name-body table.table td:nth-child(1) {
    width: 70px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Цена */
.node__content .field--name-body table.table th:nth-child(4),
.node__content .field--name-body table.table td:nth-child(4) {
    text-align: right !important;
    white-space: nowrap !important;
    font-weight: 700 !important;
}

/* Услуга */
.node__content .field--name-body table.table td:nth-child(2) {
    font-weight: 500 !important;
}

/* ===== СТРОКИ-РАЗДЕЛЫ (Категория A / B / Доп. услуги) ===== */

.node__content .field--name-body table.table tbody tr:has(td:nth-child(2) strong) td {
    background: #fb2723 !important;
    color: #ffffff !important;
    border-bottom-color: #e21f1b !important;
}

.node__content .field--name-body table.table tbody tr:has(td:nth-child(2) strong) td strong {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.node__content .field--name-body table.table tbody tr:has(td:nth-child(2) strong) td:not(:nth-child(2)) {
    color: transparent !important;
}

.node__content .field--name-body table.table tbody tr:has(td:nth-child(2) strong):hover td {
    background: #fb2723 !important;
}


/* ===== ПОЛНЫЙ АДАПТИВ ДЛЯ МОБИЛЬНЫХ ЭКРАНОВ ===== */

@media (max-width: 991px) {
    /* Позволяем таблице сжиматься чуть сильнее перед тем, как включится скролл */
    .node__content .field--name-body table.table {
        min-width: 680px !important;
    }
}

@media (max-width: 767px) {
    /* Сбрасываем жесткую минимальную ширину, чтобы таблица подстроилась под экран смартфона */
    .node__content .field--name-body table.table {
        min-width: 100% !important;
    }

    /* Уменьшаем отступы в ячейках, чтобы сэкономить место */
    .node__content .field--name-body table.table thead th,
    .node__content .field--name-body table.table tbody td {
        padding: 12px 10px !important;
        font-size: 14px !important;
    }

    /* СКРЫВАЕМ КОЛОНКУ «ОПИСАНИЕ» (3-й столбец), чтобы таблица не обрезалась */
    .node__content .field--name-body table.table thead th:nth-child(3),
    .node__content .field--name-body table.table tbody td:nth-child(3) {
        display: none !important;
    }

    /* Уменьшаем ширину колонки № */
    .node__content .field--name-body table.table th:nth-child(1),
    .node__content .field--name-body table.table td:nth-child(1) {
        width: 40px !important;
    }
}

@media (max-width: 479px) {
    /* Дополнительно уменьшаем шрифт для совсем маленьких экранов */
    .node__content .field--name-body table.table thead th,
    .node__content .field--name-body table.table tbody td {
        padding: 10px 8px !important;
        font-size: 13px !important;
    }

    .node__content .field--name-body table.table tbody tr:has(td:nth-child(2) strong) td strong {
        font-size: 15px !important;
    }
}

/* ===== ФОТОГАЛЕРЕЯ — список альбомов ===== */

/* ── Отступы страницы ── */
.view-photogallerys {
    padding: 50px 0 70px;
}

/* ── Скрываем лишнее ── */
.view-photogallerys .contextual,
.view-photogallerys .node__meta,
.view-photogallerys .node__content {
    display: none !important;
}

/* ── Сетка ── */
.view-photogallerys .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.view-photogallerys .views-row {
    min-width: 0;
}

/* ── Карточка ── */
.view-photogallerys article.node--type-photogallery {
    background: linear-gradient(204deg, #262722 0%, #fb2723 100%);
    border-radius: 14px;
    min-height: 184px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}

.view-photogallerys article.node--type-photogallery:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    filter: brightness(1.1);
}

/* ── Заголовок с названием альбома ── */
.view-photogallerys article > h2 {
    margin: 0;
    padding: 0;
    text-align: center;
    line-height: 1.3;
}

.view-photogallerys article > h2 a {
    color: #ffffff;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    display: block;
}

.view-photogallerys article > h2 a span {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.view-photogallerys article > h2 a:hover {
    color: #ffffff;
    text-decoration: none;
}



/* ── Адаптив ── */
@media (max-width: 1199px) {
    .view-photogallerys .view-content {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .view-photogallerys .view-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .view-photogallerys article.node--type-photogallery {
        min-height: 140px;
    }

    .view-photogallerys article > h2 a {
        font-size: 17px;
    }
}

@media (max-width: 480px) {
    .view-photogallerys .view-content {
        grid-template-columns: 1fr;
    }
}

/* Карточка — позиционирующий контейнер */
.view-photogallerys article.node--type-photogallery {
    position: relative;
}

/* Ссылка растягивается на всю карточку */
.view-photogallerys article > h2 a {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    color: #ffffff;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
}

/* ===== ФОТОГАЛЕРЕЯ — страница альбома ===== */

/* ── Скрываем мета и contextual ── */
.node--type-photogallery .node__meta,
.node--type-photogallery .contextual {
    display: none !important;
}

/* ── Отступы страницы ── */
.node--type-photogallery.node--view-mode-full {
    padding: 50px 0 70px;
}

/* ── Сетка фотографий ── */
.photoswipe-gallery.field--name-field-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 0;
    padding: 0;
}

.photoswipe-gallery .field__item {
    min-width: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #1e1f1a;
    line-height: 0;
}

/* ── Ссылка-обёртка фото ── */
.photoswipe-gallery .field__item a.photoswipe {
    display: block;
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-radius: 12px;
    position: relative;
}

/* ── Изображение ── */
.photoswipe-gallery .field__item a.photoswipe img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease, filter 0.4s ease;
}

/* ── Hover: увеличение + затемнение ── */
.photoswipe-gallery .field__item a.photoswipe:hover img {
    transform: scale(1.06);
    filter: brightness(0.80);
}

/* Иконка лупы при hover */
.photoswipe-gallery .field__item a.photoswipe::after {
    content: '';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(251, 39, 35, 0.15)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E")
    center / 36px no-repeat;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 12px;
    pointer-events: none;
}

.photoswipe-gallery .field__item a.photoswipe:hover::after {
    opacity: 1;
}

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

/* ── Заголовок ── */
.contacts-hero {
    background: #0e0f0a;
    padding: 50px 0 40px;
}

.contacts-hero__title {
    color: #ffffff;
    font-size: 60px;
    font-weight: 300;
    margin: 0;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

/* ── Блок с контактами ── */
.contacts-page-block {
    background: #0e0f0a;
    padding: 0 0 60px;
}

/* Ряд контактов */
.contacts-page-inner {
    display: flex;
    align-items: stretch;
    gap: 16px;
    flex-wrap: wrap;
}

/* Группа контакта — карточка */
.contacts-page-group {
    flex: 1;
    min-width: 224px;
    background: #1a1b16;
    border-radius: 14px;
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;
    transition: background 0.25s ease;
}

.contacts-page-group:hover {
    background: #222318;
}

/* Метка (Центр / Светотехстрой / E-mail) */
.contacts-page-label {
    color: #fb2723;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 4px;
}

.contacts-page-label--white {
    color: rgba(255, 255, 255, 0.55);
}

/* Телефон / Email */
.contacts-page-phone {
    color: #ffffff;
    font-size: 22px;
    font-weight: 400;
    text-decoration: none;
    line-height: 1.2;
    transition: opacity 0.2s ease;
}

.contacts-page-phone:hover {
    opacity: 0.75;
    color: #ffffff;
}

/* Адрес */
.contacts-page-address {
    color: rgba(255, 255, 255, 0.55);
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
}

/* Соцсети */
.contacts-page-socials {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 4px;
}

.contacts-page-social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: #262722;
    border-radius: 8px;
    transition: background 0.25s ease;
    flex-shrink: 0;
}

.contacts-page-social:hover {
    background: #323328;
}

.contacts-page-social img {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
}

/* ── Две карты ── */
.contacts-maps {
    background: #0e0f0a;
    padding: 0 0 70px;
}

.contacts-maps-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* Обёртка одной карты */
.contacts-map-wrap {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Заголовок карты */
.contacts-map-title {
    color: #fb2723;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

/* Карта */
.contacts-map {
    border-radius: 14px;
    overflow: hidden;
    height: 400px;
    background: #1a1b16;
}

/* iframe от Яндекс/Google карт */
.contacts-map iframe,
.contacts-map .block {
    width: 100% !important;
    height: 100% !important;
    display: block;
    border: none;
}

/* ── Адаптив ── */
@media (max-width: 991px) {
    .contacts-hero__title {
        font-size: 42px;
    }

    .contacts-page-phone {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    .contacts-hero__title {
        font-size: 32px;
    }

    .contacts-page-inner {
        flex-direction: column;
    }

    .contacts-page-group {
        min-width: unset;
    }

    .contacts-maps-inner {
        grid-template-columns: 1fr;
    }

    .contacts-map {
        height: 300px;
    }
}

@media (max-width: 565px) {
    .contacts-hero {
        padding: 36px 0 28px;
    }

    .contacts-hero__title {
        font-size: 26px;
    }

    .contacts-map {
        height: 250px;
    }
}

/* ── Адаптив ── */
@media (max-width: 1199px) {
    .photoswipe-gallery.field--name-field-gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .photoswipe-gallery.field--name-field-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .photoswipe-gallery .field__item a.photoswipe {
        height: 180px;
    }
}

@media (max-width: 480px) {
    .photoswipe-gallery.field--name-field-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .photoswipe-gallery .field__item a.photoswipe {
        height: 140px;
    }
}

/* ===== СТРАНИЦА ПОИСКА ===== */

/* ── Главная форма-контейнер ── */
#block-vesta-theme-content .search-api-page-block-form-search {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 30px 0 45px 0;
    width: 100%;
    max-width: 650px; /* Ограничиваем оптимальную длину строки */
}

/* Убираем inline-блоки от Drupal, которые ломали ряд */
#block-vesta-theme-content .search-api-page-block-form-search.container-inline {
    display: flex !important;
}

/* Обертка инпута */
#block-vesta-theme-content .search-api-page-block-form-search .js-form-item {
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Поле ввода */
#block-vesta-theme-content .search-api-page-block-form-search input[type="search"] {
    width: 100%;
    height: 50px !important; /* Фиксированная высота */
    background: #1a1b16 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 300;
    padding: 0 18px !important; /* Только боковые отступы */
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.25s ease, background 0.25s ease;
    font-family: inherit;
}

#block-vesta-theme-content .search-api-page-block-form-search input[type="search"]::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

#block-vesta-theme-content .search-api-page-block-form-search input[type="search"]:focus {
    border-color: rgba(251, 39, 35, 0.60) !important;
    background: #1e1f1a !important;
}

/* Скрываем крестик в браузерах */
#block-vesta-theme-content .search-api-page-block-form-search input[type="search"]::-webkit-search-cancel-button {
    display: none;
}

/* Обертка кнопки */
#block-vesta-theme-content .search-api-page-block-form-search .form-actions {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* Кнопка "Поиск" */
#block-vesta-theme-content .search-api-page-block-form-search .search-form__submit {
    height: 50px !important; /* Идентичная инпуту высота */
    background: #fb2723 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0 35px !important; /* Боковые отступы кнопки */
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.25s ease;
    box-shadow: none !important;
    white-space: nowrap !important; /* Запрет переноса текста внутри кнопки */
}

#block-vesta-theme-content .search-api-page-block-form-search .search-form__submit:hover {
    background: #d41e1a !important;
}

/* ── Списочная часть результатов ── */
#block-vesta-theme-content h2 {
    color: #ffffff;
    font-size: 30px;
    font-weight: 400;
    margin: 40px 0 8px 0;
}

#block-vesta-theme-content > p:first-of-type {
    color: rgba(255, 255, 255, 0.45);
    font-size: 14px;
    margin: 0 0 35px 0;
}

/* Ссылки результатов */
#block-vesta-theme-content h3 {
    margin: 0;
    padding: 20px 0 6px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Убираем разделитель у первого результата */
#block-vesta-theme-content h2 + p + h3,
#block-vesta-theme-content form + h2 + p + h3 {
    border-top: none;
    padding-top: 0;
}

#block-vesta-theme-content h3 a {
    color: #ffffff;
    font-size: 19px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}

#block-vesta-theme-content h3 a:hover {
    color: #fb2723;
}

/* Описание */
#block-vesta-theme-content h3 + p {
    color: rgba(255, 255, 255, 0.60);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

/* ── Адаптивность ── */
@media (max-width: 565px) {
    #block-vesta-theme-content .search-api-page-block-form-search {
        flex-direction: column !important; /* Строго на мобилках в столбик */
        align-items: stretch !important;
        gap: 10px !important;
    }

    #block-vesta-theme-content .search-api-page-block-form-search input[type="search"],
    #block-vesta-theme-content .search-api-page-block-form-search .search-form__submit {
        width: 100% !important;
        height: 46px !important; /* На мобилках чуть компактнее */
    }
}

/*!* ===== СТРАНИЦА ПОИСКА ===== *!*/

/*!* ── Форма поиска — только внутри блока контента ── *!*/
/*#block-vesta-theme-content .search-api-page-block-form-search {*/
/*    display: flex !important;*/
/*    align-items: center;*/
/*    gap: 12px;*/
/*    margin-top: 50px;*/
/*    margin-bottom: 40px;*/
/*    flex-wrap: nowrap;*/
/*}*/

/*.webform-confirmation__message {*/
/*    color: #fff;*/
/*}*/

/*!* Поле ввода *!*/
/*#block-vesta-theme-content .search-api-page-block-form-search .js-form-item {*/
/*    flex: 1;*/
/*    margin: 0;*/
/*}*/

/*#block-vesta-theme-content .search-api-page-block-form-search input[type="search"] {*/
/*    width: 100%;*/
/*    background: #1a1b16 !important;*/
/*    border: 1px solid rgba(255, 255, 255, 0.12) !important;*/
/*    border-radius: 10px !important;*/
/*    color: #ffffff !important;*/
/*    font-size: 16px;*/
/*    font-weight: 300;*/
/*    padding: 14px 20px !important;*/
/*    box-sizing: border-box;*/
/*    outline: none !important;*/
/*    box-shadow: none !important;*/
/*    transition: border-color 0.25s ease;*/
/*    font-family: inherit;*/
/*    height: auto !important;*/
/*}*/

/*#block-vesta-theme-content .search-api-page-block-form-search input[type="search"]::placeholder {*/
/*    color: rgba(255, 255, 255, 0.35);*/
/*}*/

/*#block-vesta-theme-content .search-api-page-block-form-search input[type="search"]:focus {*/
/*    border-color: rgba(251, 39, 35, 0.60) !important;*/
/*    background: #1e1f1a !important;*/
/*}*/

/*!* Скрываем скрытые поля *!*/
/*#block-vesta-theme-content .search-api-page-block-form-search input[type="hidden"] {*/
/*    display: none;*/
/*}*/

/*!* Кнопка *!*/
/*#block-vesta-theme-content .search-api-page-block-form-search .form-actions {*/
/*    flex-shrink: 0;*/
/*    margin: 0;*/
/*}*/

/*#block-vesta-theme-content .search-api-page-block-form-search .search-form__submit {*/
/*    background: #fb2723 !important;*/
/*    color: #ffffff !important;*/
/*    border: none !important;*/
/*    border-radius: 10px !important;*/
/*    padding: 14px 32px !important;*/
/*    font-size: 15px;*/
/*    font-weight: 400;*/
/*    cursor: pointer;*/
/*    font-family: inherit;*/
/*    transition: background 0.25s ease;*/
/*    box-shadow: none !important;*/
/*    white-space: nowrap;*/
/*    height: auto !important;*/
/*    line-height: 1 !important;*/
/*}*/

/*#block-vesta-theme-content .search-api-page-block-form-search .search-form__submit:hover {*/
/*    background: #d41e1a !important;*/
/*}*/

/*!* ── Заголовок «Результаты поиска» ── *!*/
/*#block-vesta-theme-content h2 {*/
/*    color: #ffffff;*/
/*    font-size: 36px;*/
/*    font-weight: 300;*/
/*    margin: 0 0 12px;*/
/*    letter-spacing: -0.01em;*/
/*}*/

/*!* ── Счётчик результатов ── *!*/
/*#block-vesta-theme-content > p:first-of-type {*/
/*    color: rgba(255, 255, 255, 0.45);*/
/*    font-size: 14px;*/
/*    font-weight: 300;*/
/*    margin: 0 0 28px;*/
/*}*/

/*!* ── Результаты — заголовки ── *!*/
/*#block-vesta-theme-content h3 {*/
/*    margin: 0 0 6px;*/
/*    padding: 24px 0 0;*/
/*    border-top: 1px solid rgba(255, 255, 255, 0.08);*/
/*}*/

/*#block-vesta-theme-content h3:first-of-type {*/
/*    border-top: none;*/
/*    padding-top: 0;*/
/*}*/

/*#block-vesta-theme-content h3 a {*/
/*    color: #ffffff;*/
/*    font-size: 18px;*/
/*    font-weight: 400;*/
/*    text-decoration: none;*/
/*    transition: color 0.2s ease;*/
/*    line-height: 1.4;*/
/*}*/

/*#block-vesta-theme-content h3 a:hover {*/
/*    color: #fb2723;*/
/*}*/

/*!* ── Описание результата ── *!*/
/*#block-vesta-theme-content h3 + p {*/
/*    color: rgba(255, 255, 255, 0.55);*/
/*    font-size: 14px;*/
/*    font-weight: 300;*/
/*    line-height: 1.6;*/
/*    margin: 0 0 0;*/
/*}*/

/*!* ── Пагинация ── *!*/
/*#block-vesta-theme-content .pager {*/
/*    margin-top: 40px;*/
/*    display: flex;*/
/*    justify-content: center;*/
/*}*/

/*#block-vesta-theme-content .pager__items {*/
/*    display: flex;*/
/*    gap: 8px;*/
/*    list-style: none;*/
/*    margin: 0;*/
/*    padding: 0;*/
/*}*/

/*#block-vesta-theme-content .pager__item a,*/
/*#block-vesta-theme-content .pager__item span {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    width: 40px;*/
/*    height: 40px;*/
/*    border-radius: 8px;*/
/*    background: #1a1b16;*/
/*    color: rgba(255, 255, 255, 0.65);*/
/*    font-size: 14px;*/
/*    text-decoration: none;*/
/*    transition: background 0.2s ease, color 0.2s ease;*/
/*}*/

/*#block-vesta-theme-content .pager__item a:hover {*/
/*    background: #262722;*/
/*    color: #ffffff;*/
/*}*/

/*#block-vesta-theme-content .pager__item--current span {*/
/*    background: #fb2723;*/
/*    color: #ffffff;*/
/*}*/

/*!* ── Адаптив ── *!*/
/*@media (max-width: 767px) {*/
/*    #block-vesta-theme-content .search-api-page-block-form-search {*/
/*        flex-wrap: wrap;*/
/*    }*/

/*    #block-vesta-theme-content .search-api-page-block-form-search .form-actions {*/
/*        width: 100%;*/
/*    }*/

/*    #block-vesta-theme-content .search-api-page-block-form-search .search-form__submit {*/
/*        width: 100% !important;*/
/*    }*/

/*    #block-vesta-theme-content h2 {*/
/*        font-size: 26px;*/
/*    }*/
/*}*/

/* ===== МОДАЛЬНОЕ ОКНО ПОДТВЕРЖДЕНИЯ (jQuery UI) ===== */

/* ── Само окно ── */
.ui-dialog:not(.ui-dialog-buttons) {
    background: #1a1b16 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.70) !important;
    padding: 0 !important;
    overflow: hidden;
}

/* ── Шапка ── */
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar {
    background: #1a1b16 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0 !important;
    padding: 24px 30px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Заголовок */
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-title {
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    font-family: inherit !important;
    letter-spacing: -0.01em;
    margin: 0 !important;
    float: none !important;
}

/* ── Кнопка закрытия ── */
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar-close {
    position: static !important;
    float: none !important;
    flex-shrink: 0;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: url('/sites/all/themes/vesta_theme/image/close.svg') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    filter: brightness(0) invert(1);
    opacity: 0.60;
    box-shadow: none !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar-close:hover {
    opacity: 1;
    background-color: transparent !important;
}

.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar-close:focus,
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar-close:active {
    outline: none !important;
    box-shadow: none !important;
}

/* Скрываем иконку jQuery UI внутри кнопки */
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar-close .ui-icon,
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar-close .ui-button-icon {
    display: none !important;
}

/* ── Тело ── */
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-content,
.ui-dialog:not(.ui-dialog-buttons) .webform-confirmation-modal--content {
    background: #1a1b16 !important;
    border: none !important;
    padding: 30px !important;
    color: rgba(255, 255, 255, 0.80) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    font-family: inherit !important;
    line-height: 1.6;
    text-align: center;
}

/* ── Иконка галочки над текстом ── */
.ui-dialog:not(.ui-dialog-buttons) .ui-dialog-content::before,
.ui-dialog:not(.ui-dialog-buttons) .webform-confirmation-modal--content::before {
    content: '';
    display: block;
    width: 52px;
    height: 52px;
    background: #fb2723;
    border-radius: 50%;
    margin: 0 auto 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 26px;
}

/* ── Центрирование (перебиваем inline left/top от jQuery UI) ── */
.ui-dialog:not(.ui-dialog-buttons) {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    max-width: calc(100% - 32px) !important;
}

/* ── Backdrop ── */
.ui-widget-overlay {
    background: #0e0f0a !important;
    opacity: 0.85 !important;
}

#drupal-bootstrap4-modal {
    padding-right: 0px !important;
}

/* =========================================================
   WEBFORM CALLBACK — ПОЛНАЯ СТИЛИЗАЦИЯ БЕЗ BODY
   ========================================================= */

/* Центрируем и ограничиваем ширину */
#block-vesta-theme-content .webform-ajax-form-wrapper,
#block-vesta-theme-content form.webform-submission-form,
#block-vesta-theme-content .webform-confirmation,
#block-vesta-theme-content .messages--status,
#block-vesta-theme-content .alert-success {
    max-width: 560px;
    margin: 0 auto;
}

/* Само окно формы */
#block-vesta-theme-content form.webform-submission-form {
    background: #1a1b16;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.70);
    padding: 0;
}

/* Скрываем contextual */
#block-vesta-theme-content .contextual {
    display: none !important;
}

/* =========================================================
   ПОЛЯ ФОРМЫ
   ========================================================= */

#block-vesta-theme-content .js-form-item {
    position: relative;
    margin: 0;
    padding: 0 36px;
}

/* Отступ сверху у первого поля */
#block-vesta-theme-content .js-form-item:first-child {
    padding-top: 28px;
}

/*!* Разделитель между полями *!*/
/*#block-vesta-theme-content .js-form-item::after {*/
/*    content: '';*/
/*    display: block;*/
/*    height: 1px;*/
/*    !*background: rgba(255, 255, 255, 0.12);*!*/
/*}*/

/* У чекбокса разделитель не нужен */
#block-vesta-theme-content .form-item-privacy::after {
    display: none;
}

/* Общие стили полей */
#block-vesta-theme-content input[type="text"],
#block-vesta-theme-content input[type="email"],
#block-vesta-theme-content input[type="tel"],
#block-vesta-theme-content textarea {
    width: 100%;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-size: 18px 18px !important;
    background-position: 16px center !important;

    border: none;
    border-left: 3px solid transparent;
    outline: none !important;
    box-shadow: none !important;

    color: #ffffff;
    font-size: 15px;
    font-weight: 300;
    font-family: inherit;
    box-sizing: border-box;

    padding-left: 48px !important;
    padding-right: 16px !important;

    transition: border-left-color 0.3s ease;
}

/* Инпуты — фиксированная высота, иконка ровно по центру */
#block-vesta-theme-content input[type="text"],
#block-vesta-theme-content input[type="email"],
#block-vesta-theme-content input[type="tel"] {
    height: 54px !important;
    line-height: 54px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Textarea — компактный, без скролла справа */
#block-vesta-theme-content textarea {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;

    padding-top: 18px !important;
    padding-bottom: 18px !important;
    line-height: 1.4 !important;

    overflow: hidden !important;
    resize: none !important;

    scrollbar-width: none;
    -ms-overflow-style: none;

    /* для textarea иконку лучше чуть выше, чтобы она не "проваливалась" */
    background-position: 16px 18px !important;
}

#block-vesta-theme-content textarea::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

/* Placeholder */
#block-vesta-theme-content input::placeholder,
#block-vesta-theme-content textarea::placeholder {
    color: rgba(255, 255, 255, 0.40);
    font-size: 15px;
    font-weight: 300;
}

/* Фокус */
#block-vesta-theme-content input[type="text"]:focus,
#block-vesta-theme-content input[type="email"]:focus,
#block-vesta-theme-content input[type="tel"]:focus,
#block-vesta-theme-content textarea:focus {
    background-color: transparent !important;
    border-left-color: #fb2723;
}

/* Ошибки */
#block-vesta-theme-content .form-item--error input[type="text"],
#block-vesta-theme-content .form-item--error input[type="email"],
#block-vesta-theme-content .form-item--error input[type="tel"],
#block-vesta-theme-content .form-item--error textarea {
    background-color: rgba(251, 39, 35, 0.06) !important;
    border-left-color: #fb2723;
    animation: modalShake 0.35s ease;
}

#block-vesta-theme-content .form-item--error-message {
    display: none !important;
}

@keyframes modalShake {
    0%   { transform: translateX(0); }
    20%  { transform: translateX(-5px); }
    40%  { transform: translateX(5px); }
    60%  { transform: translateX(-3px); }
    80%  { transform: translateX(3px); }
    100% { transform: translateX(0); }
}

/* =========================================================
   ИКОНКИ — ЧЕРЕЗ BACKGROUND У САМИХ ПОЛЕЙ
   ========================================================= */

#block-vesta-theme-content .form-item-name input {
    background-image: url('/sites/all/themes/vesta_theme/image/user.svg') !important;
}

#block-vesta-theme-content .form-item-phone input {
    background-image: url('/sites/all/themes/vesta_theme/image/phone.svg') !important;
}

#block-vesta-theme-content .form-item-message textarea {
    background-image: url('/sites/all/themes/vesta_theme/image/message.svg') !important;
}

/* =========================================================
   ЧЕКБОКС
   ========================================================= */

#block-vesta-theme-content .form-item-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-top: 16px;
    padding-bottom: 4px;
}

#block-vesta-theme-content .form-item-privacy input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(255, 255, 255, 0.30);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    margin-top: 2px;
    position: relative;
    transition: border-color 0.2s, background 0.2s;
}

#block-vesta-theme-content .form-item-privacy input[type="checkbox"]:checked {
    background: #fb2723;
    border-color: #fb2723;
}

#block-vesta-theme-content .form-item-privacy input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: 1.5px solid #ffffff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

#block-vesta-theme-content .form-item-privacy input[type="checkbox"]:focus {
    outline: none;
    border-color: rgba(251, 39, 35, 0.60);
}

#block-vesta-theme-content .form-item-privacy .description,
#block-vesta-theme-content .webform-element-description {
    color: rgba(255, 255, 255, 0.40);
    font-size: 12px;
    font-weight: 300;
    line-height: 1.5;
}

#block-vesta-theme-content .form-item-privacy .description span {
    color: inherit;
    font-size: inherit;
}

/* =========================================================
   КНОПКА ОТПРАВКИ
   ========================================================= */

#block-vesta-theme-content .form-actions {
    /*background: #1a1b16;*/
    /*border-top: 1px solid rgba(255, 255, 255, 0.08);*/
    padding: 20px 36px 28px;
    margin: 0;
}

#block-vesta-theme-content .form-actions .webform-button--submit {
    background: #fb2723;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 14px 56px;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.25s ease;
    width: 100%;
}

#block-vesta-theme-content .form-actions .webform-button--submit:hover {
    background: #d41e1a;
}

#block-vesta-theme-content .form-actions .webform-button--submit:focus,
#block-vesta-theme-content .form-actions .webform-button--submit:active {
    outline: none;
    box-shadow: none;
}

/* =========================================================
   CONFIRMATION / SUCCESS
   ========================================================= */

#block-vesta-theme-content .webform-confirmation,
#block-vesta-theme-content .messages--status,
#block-vesta-theme-content .alert-success {
    background: #1a1b16;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.70);
    color: #ffffff;
    padding: 28px 36px;
}

#block-vesta-theme-content .webform-confirmation a,
#block-vesta-theme-content .messages--status a {
    color: #fb2723;
}



/* =========================================================
   АДАПТИВ
   ========================================================= */

@media (max-width: 565px) {
    #block-vesta-theme-content {
        padding-left: 0;
        padding-right: 0;
    }

    #block-vesta-theme-content form.webform-submission-form,
    #block-vesta-theme-content .webform-confirmation,
    #block-vesta-theme-content .messages--status,
    #block-vesta-theme-content .alert-success {
        border-radius: 0;
    }

    #block-vesta-theme-content .js-form-item {
        padding-left: 20px;
        padding-right: 20px;
    }

    #block-vesta-theme-content .js-form-item:first-child {
        padding-top: 20px;
    }

    #block-vesta-theme-content .form-actions {
        padding-left: 20px;
        padding-right: 20px;
    }

    #block-vesta-theme-content .form-actions .webform-button--submit {
        padding: 13px 32px;
        font-size: 15px;
    }
}

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

/* ── Позиционирующий контейнер ── */
.header-navigation .nav-item.dropdown {
    position: relative;
}

/* ── Выпадающий список ── */
.header-navigation .dropdown-menu {
    /* Сброс Bootstrap */
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;

    /*
       padding-top создаёт мост между ссылкой и меню —
       курсор остаётся внутри элемента .dropdown-menu
       и hover не слетает при переходе от ссылки к пунктам.
       Убрали ::after на .nav-item — он создавал лишнюю зону снизу.
    */
    padding: 10px 0 8px;
    margin-top: 0;
    min-width: 260px; /* достаточно для «Дополнительное вождение» */

    /* Анимация появления */
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    display: block !important;
    pointer-events: none;
    visibility: hidden;
}

/* Видимый фон */
.header-navigation .dropdown-menu::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #1a1b16;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.50);
    z-index: -1;
    pointer-events: none;
}

/* Показываем при hover и при .show */
.header-navigation .nav-item.dropdown:hover .dropdown-menu,
.header-navigation .nav-item.dropdown .dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible;
}

/* ── Пункт меню ── */
.header-navigation .dropdown-menu .dropdown-item {
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    font-weight: 300;
    padding: 10px 20px;
    line-height: 1.3;
    white-space: nowrap; /* запрещаем перенос текста */
    transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease;
    background: transparent;
    position: relative;
    z-index: 1;
}

.header-navigation .dropdown-menu .dropdown-item:hover,
.header-navigation .dropdown-menu .dropdown-item:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
    padding-left: 26px;
}

/* Активный пункт */
.header-navigation .dropdown-menu .dropdown-item.is-active,
.header-navigation .dropdown-menu .dropdown-item.active {
    color: #fb2723;
    background: transparent;
}

/* ── Разделитель между пунктами ── */
.header-navigation .dropdown-menu .nav-item + .nav-item {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* ── Стрелка у родительской ссылки ── */
.header-navigation .nav-link.dropdown-toggle::after {
    display: inline-block;
    content: '';
    width: 8px;
    height: 8px;
    border: none;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    margin-left: 6px;
    vertical-align: middle;
    transition: transform 0.2s ease;
}

/* Стрелка вверх когда меню открыто */
.header-navigation .nav-item.dropdown:hover .nav-link.dropdown-toggle::after,
.header-navigation .nav-item.dropdown .nav-link.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(-135deg) translateY(-2px);
}

/* Хедер не даёт контенту выходить за его границы */
#header .header-top {
    overflow: visible; /* оставляем visible чтобы меню было видно */
}

/* Ключевое — скрываем горизонтальный скролл на уровне body */
body {
    overflow-x: hidden;
}

/* Меню позиционируем абсолютно — оно не влияет на ширину страницы */
.header-navigation .dropdown-menu {
    position: absolute;   /* добавить явно */
    left: 0;
    top: 100%;
    z-index: 9999;
}

/* ===== МОБИЛЬНЫЙ ХЕДЕР ===== */

#header-mob {
    background: #0e0f0a;
    height: 60px;
    padding: 0 16px;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    gap: 12px;
}

/* ── Бургер ── */
#header-mob .col-nav {
    flex-shrink: 0;
}

#header-mob .mob-burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    transition: background 0.2s ease;
    text-decoration: none;
}

#header-mob .mob-burger:hover,
#header-mob .mob-burger:active {
    background: rgba(255, 255, 255, 0.12);
}

#header-mob .mob-burger img {
    width: 22px;
    height: 22px;
    display: block;
    /* SVG белым цветом */
    filter: brightness(0) invert(1);
}

/* ── Лого ── */
#header-mob .col-logo {
    flex: 1;
    display: flex;
    justify-content: center;
}

#header-mob .col-logo a {
    display: inline-flex;
    align-items: center;
}

#header-mob .col-logo img {
    height: 36px;
    width: auto;
    display: block;
    object-fit: contain;
}

/* ── Телефон ── */
#header-mob .col-phone {
    flex-shrink: 0;
}

#header-mob .mob-phone {
    color: #ffffff;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

#header-mob .mob-phone::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background: url('/sites/all/themes/vesta_theme/image/phone.svg') center / contain no-repeat;
    filter: brightness(0) invert(1);
    flex-shrink: 0;
    opacity: 0.70;
}

#header-mob .mob-phone:hover {
    color: #fb2723;
}

/* ── Скрываем contextual ── */
#header-mob .contextual {
    display: none !important;
}

/* ── 565px — совсем маленький экран ── */
@media (max-width: 565px) {
    #header-mob {
        height: 56px;
        padding: 0 12px;
        gap: 8px;
    }

    #header-mob .col-logo img {
        height: 30px;
    }

    #header-mob .mob-phone {
        font-size: 12px;
    }

    /* На очень маленьких скрывем текст телефона — оставляем только иконку */
    @media (max-width: 400px) {
        #header-mob .mob-phone {
            font-size: 0;
        }

        #header-mob .mob-phone::before {
            width: 20px;
            height: 20px;
            opacity: 1;
        }
    }
}

/* ===== OFFCANVAS — МОБИЛЬНОЕ МЕНЮ ===== */

/* ── Сама панель ── */
.offcanvas.offcanvas-start {
    width: 320px !important;
    background: #0e0f0a !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* ── Backdrop ── */
.offcanvas-backdrop {
    background: #0e0f0a !important;
}
.offcanvas-backdrop.show {
    opacity: 0.80 !important;
}

/* ── Шапка ── */
.offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Лого */
.offcanvas-logo a {
    display: inline-flex;
    align-items: center;
}

.offcanvas-logo img {
    height: 38px;
    width: auto;
    display: block;
}

/* Кнопка закрытия */
.offcanvas-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.06);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    transition: background 0.2s ease, opacity 0.2s ease;
    opacity: 0.70;
}

.offcanvas-close:hover {
    background: rgba(255, 255, 255, 0.12);
    opacity: 1;
}

.offcanvas-close:focus,
.offcanvas-close:active {
    outline: none !important;
    box-shadow: none !important;
}

.offcanvas-close img {
    width: 18px;
    height: 18px;
    display: block;
    filter: brightness(0) invert(1);
}

/* ── Тело ── */
.offcanvas-body {
    padding: 0 !important;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* Скроллбар */
.offcanvas-body::-webkit-scrollbar { width: 4px; }
.offcanvas-body::-webkit-scrollbar-track { background: transparent; }
.offcanvas-body::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 4px; }

/* ── Поиск ── */
.offcanvas-search {
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.offcanvas-search .contextual { display: none !important; }

.offcanvas-search form {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0;
}

.offcanvas-search .js-form-item {
    flex: 1;
    margin: 0;
}

.offcanvas-search input[type="search"] {
    width: 100%;
    background: #1a1b16 !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 300;
    padding: 10px 14px !important;
    box-sizing: border-box;
    outline: none !important;
    box-shadow: none !important;
    font-family: inherit;
    height: auto !important;
}

.offcanvas-search input[type="search"]::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.offcanvas-search input[type="search"]:focus {
    border-color: rgba(251, 39, 35, 0.50) !important;
}

.offcanvas-search .form-actions { margin: 0; }

.offcanvas-search .search-form__submit {
    background: #fb2723 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    height: auto !important;
    transition: background 0.2s ease;
    box-shadow: none !important;
}

.offcanvas-search .search-form__submit:hover {
    background: #d41e1a !important;
}

.offcanvas-search input[type="hidden"] { display: none; }

/* ── Навигация ── */
.offcanvas-nav {
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.offcanvas-nav .contextual { display: none !important; }
.offcanvas-nav .visually-hidden:not(:focus):not(:active) { display: none; }

/* Список пунктов */
.offcanvas-nav .nav {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    align-items: stretch !important;
}

.offcanvas-nav .nav-item {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ссылка пункта */
.offcanvas-nav .nav-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: auto !important;
    padding: 14px 20px !important;
    border-radius: 0 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-decoration: none;
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: color 0.2s ease, padding-left 0.2s ease;
    white-space: normal !important;
}

.offcanvas-nav .nav-link:hover {
    color: #ffffff !important;
    padding-left: 26px !important;
    background: transparent !important;
}

.offcanvas-nav .nav-link.is-active {
    color: #fb2723 !important;
    background: transparent !important;
}

/* Стрелка у dropdown */
.offcanvas-nav .nav-link.dropdown-toggle::after {
    display: inline-block;
    content: '';
    width: 8px;
    height: 8px;
    border: none;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    margin-left: auto;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

/* Подменю */
.offcanvas-nav .dropdown-menu {
    display: none;
    position: static !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    min-width: unset !important;
}

/* Показываем подменю через JS slideToggle */
.offcanvas-nav .dropdown-menu.show {
    display: block;
}

.offcanvas-nav .dropdown-menu .dropdown-item {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 15px !important;
    font-weight: 300;
    padding: 12px 20px 12px 32px !important;
    background: transparent !important;
    border: none !important;
    display: block;
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
    white-space: normal !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.offcanvas-nav .dropdown-menu .dropdown-item:last-child {
    border-bottom: none !important;
}

.offcanvas-nav .dropdown-menu .dropdown-item:hover {
    color: #ffffff !important;
    padding-left: 38px !important;
    background: transparent !important;
}

/* ── Контакты ── */
.offcanvas-contacts {
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.offcanvas-contact-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-decoration: none;
}

.offcanvas-contact-label {
    color: #fb2723;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
}

.offcanvas-contact-phone {
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    transition: opacity 0.2s ease;
}

.offcanvas-contact-item:hover .offcanvas-contact-phone {
    opacity: 0.75;
}

/* ── Соцсети ── */
.offcanvas-socials {
    display: flex;
    gap: 10px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.offcanvas-social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: #1a1b16;
    border-radius: 10px;
    transition: background 0.25s ease;
    flex-shrink: 0;
}

.offcanvas-social:hover {
    background: #262722;
}

.offcanvas-social img {
    width: 26px;
    height: 26px;
    display: block;
    object-fit: contain;
}

/* ── Кнопка обратного звонка ── */
.offcanvas-callback {
    padding: 16px 20px 24px;
}

.offcanvas-callback .btn,
.offcanvas-callback a.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    background: #fb2723;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.25s ease;
}

.offcanvas-callback .btn:hover,
.offcanvas-callback a.btn:hover {
    background: #d41e1a;
    color: #ffffff;
}

/* ===== СТРАНИЦА О НАС ===== */

/* Скрываем contextual */
.view-id-about .contextual {
    display: none !important;
}

/* Отступы страницы */
.view-id-about {
    padding: 40px 0 70px;
}

/* Убираем стандартные отступы views */
.view-id-about .view-content,
.view-id-about .views-row {
    margin: 0;
    padding: 0;
}

/* ── Основной блок ── */
.node--type-about.node--view-mode-full {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* ── Текст ── */
.node--type-about .field--name-body {
    background: #1a1b16;
    border-radius: 14px;
    padding: 36px 40px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    
    width: fit-content;
    max-width: 100%;
    color: #fff;
}

/* Параграфы внутри body */
.node--type-about .field--name-body div {
    margin: 0;
}

/* Пустые строки — небольшой отступ */
.node--type-about .field--name-body div:has(br),
.node--type-about .field--name-body div:empty {
    height: 16px;
}

/* Заголовки внутри текста (ПОЧЕМУ ВЫБИРАЮТ НАС, ЧЕМ МЫ ОТЛИЧАЕМСЯ) */
.node--type-about .field--name-body div:not(:has(*)):not(:empty) {
    line-height: 1.85;
}

/* Выделяем строки которые выглядят как заголовки (все заглавные) */
.node--type-about .field--name-body {
    /* Обёртка */
    background: #1a1b16;
    border-radius: 14px;
    padding: 36px 40px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Нумерованные пункты (1 Практика без стресса...) */
.node--type-about .field--name-body div:first-line {
    font-weight: 400;
}

/* ── Документы ── */
.node--type-about .field--name-field-about-doc-a,
.node--type-about .field--name-field-about-doc-b,
.node--type-about .field--name-field-about-doc-ab {
    display: inline-flex;
}

/* Обёртка для документов — flex строка */
.node--type-about .node__content,
.node--type-about.ds-1col {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Группируем документы в ряд */
.node--type-about .field--name-field-about-doc-a {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

/* Скрываем второй и третий doc отдельно — объединим через CSS рядом */
.node--type-about .field--name-field-about-doc-a,
.node--type-about .field--name-field-about-doc-b,
.node--type-about .field--name-field-about-doc-ab {
    display: flex;
}

/* Блок документов */
.node--type-about .field[class*="field--name-field-about-doc"] {
    display: inline-flex;
}

/* Ссылка документа */
.node--type-about .field[class*="field--name-field-about-doc"] a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #1a1b16;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 10px;
    padding: 14px 22px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease;
}

.node--type-about .field[class*="field--name-field-about-doc"] a:hover {
    background: #262722;
    border-color: rgba(251, 39, 35, 0.50);
    color: #ffffff;
}

/* Иконка PDF перед ссылкой */
.node--type-about .field[class*="field--name-field-about-doc"] a::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: #fb2723;
    border-radius: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
    flex-shrink: 0;
}

/* Скрываем стандартную иконку файла Drupal */
.node--type-about .file--application-pdf::before,
.node--type-about .file .file-icon {
    display: none !important;
}

/* Контейнер документов — горизонтальный ряд */
.node--type-about .field--name-field-about-doc-a,
.node--type-about .field--name-field-about-doc-b,
.node--type-about .field--name-field-about-doc-ab {
    flex: none;
}

/* Обёртка всех трёх документов */
.node--type-about .field--name-field-about-doc-a {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

/* Второй и третий документ перемещаем визуально в один ряд */
.node--type-about .field--name-field-about-doc-b,
.node--type-about .field--name-field-about-doc-ab {
    display: contents !important;
}

/* Заголовок раздела документов */
.node--type-about .field--name-field-about-doc-a::before {
    content: 'Документы';
    display: block;
    width: 100%;
    color: rgba(255, 255, 255, 0.45);
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 4px;
}

/* ── Адаптив ── */
@media (max-width: 991px) {
    .node--type-about .field--name-body {
        font-size: 15px;
        padding: 28px 30px;
    }
}

@media (max-width: 767px) {
    .view-id-about {
        padding: 28px 0 50px;
    }

    .node--type-about .field--name-body {
        font-size: 14px;
        padding: 24px 20px;
        border-radius: 10px;
    }

    .node--type-about .field[class*="field--name-field-about-doc"] a {
        font-size: 14px;
        padding: 12px 18px;
    }
}

@media (max-width: 565px) {
    .view-id-about {
        padding: 20px 0 40px;
    }

    .node--type-about .field--name-body {
        font-size: 13px;
        padding: 20px 16px;
        line-height: 1.75;
        width: 100%;
    }

    .node--type-about .field--name-field-about-doc-a {
        flex-direction: column;
        align-items: stretch;
    }

    .node--type-about .field[class*="field--name-field-about-doc"] a {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
        font-size: 14px;
    }
}

/* ===== СТРАНИЦА ПОЛИТИКИ ОБРАБОТКИ ПЕРСОНАЛЬНЫХ ДАННЫХ ===== */

/* Скрываем contextual и мета-информацию Drupal */
.node--type-personal-data .contextual,
.node--type-personal-data .node__meta {
    display: none !important;
}

/* Общий отступ страницы */
#block-vesta-theme-content .node--type-personal-data.node--view-mode-full {
    width: 100%;
    padding: 40px 0 70px;
    box-sizing: border-box;
}

/* Контент страницы */
#block-vesta-theme-content .node--type-personal-data.node--view-mode-full .node__content {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Основная карточка с текстом */
#block-vesta-theme-content .node--type-personal-data .field--name-body {
    width: 100%;
    max-width: 1290px;
    margin-left: auto;
    margin-right: auto;
    padding: 42px 50px;
    box-sizing: border-box;

    background: #1a1b16;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;

    color: rgba(255, 255, 255, 0.80);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.85;
}

/* Каждая строка текста из Drupal */
#block-vesta-theme-content .node--type-personal-data .field--name-body div {
    margin: 0;
}

/* Небольшой отступ между строками, чтобы длинный документ читался легче */
#block-vesta-theme-content .node--type-personal-data .field--name-body div + div {
    margin-top: 2px;
}

/* Главный заголовок документа */
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(1) {
    color: #ffffff;
    font-size: 42px;
    font-weight: 300;
    line-height: 1.15;
    margin-bottom: 34px;
    max-width: 980px;
}

/* Основные разделы политики */
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(2),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(15),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(64),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(97),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(133),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(156),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(168),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(192),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(242),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(261),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(266),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(270) {
    color: #ffffff;
    font-size: 26px;
    font-weight: 300;
    line-height: 1.25;
    margin-top: 36px;
    margin-bottom: 16px;
}

/* Первый раздел сразу после заголовка — без лишнего верхнего отступа */
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(2) {
    margin-top: 0;
}

/* Подпункты: 1.1, 1.2, 2.1 и т.д. */
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(8),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(12),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(16),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(18),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(21),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(24),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(27),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(31),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(37),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(42),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(44),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(50),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(51),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(52),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(58),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(60),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(65),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(77),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(98),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(122),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(130),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(134),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(135),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(138),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(140),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(142),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(145),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(148),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(169),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(171),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(175),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(179),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(184),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(187),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(190),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(202),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(203),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(208),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(212),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(219),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(225),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(230),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(232),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(237),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(243),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(252),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(262),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(271),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(274),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(277) {
    color: #ffffff;
    font-weight: 400;
    margin-top: 18px;
}

/* Маркеры через тире */
#block-vesta-theme-content .node--type-personal-data .field--name-body div {
    overflow-wrap: anywhere;
}

/* Выделение строк с email и сайтом */
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(14),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(50),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(127),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(128),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(211),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(218),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(276),
#block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(278) {
    color: rgba(255, 255, 255, 0.95);
}

/* Ссылки внутри политики, если Drupal выведет их ссылками */
#block-vesta-theme-content .node--type-personal-data .field--name-body a {
    color: #fb2723;
    text-decoration: underline;
    text-underline-offset: 3px;
}

#block-vesta-theme-content .node--type-personal-data .field--name-body a:hover {
    color: #ffffff;
}

/* ── Адаптив ── */

@media (max-width: 1399px) {
    #block-vesta-theme-content .node--type-personal-data .field--name-body {
        max-width: 1145px;
    }
}

@media (max-width: 1199px) {
    #block-vesta-theme-content .node--type-personal-data .field--name-body {
        max-width: 950px;
        padding: 36px 40px;
        font-size: 15px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(1) {
        font-size: 36px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(2),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(15),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(64),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(97),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(133),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(156),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(168),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(192),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(242),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(261),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(266),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(270) {
        font-size: 24px;
    }
}

@media (max-width: 991px) {
    #block-vesta-theme-content .node--type-personal-data.node--view-mode-full {
        padding: 32px 0 60px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body {
        max-width: 720px;
        padding: 30px 32px;
        font-size: 15px;
        line-height: 1.8;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(1) {
        font-size: 30px;
        margin-bottom: 28px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(2),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(15),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(64),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(97),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(133),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(156),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(168),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(192),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(242),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(261),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(266),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(270) {
        font-size: 22px;
        margin-top: 30px;
        margin-bottom: 14px;
    }
}

@media (max-width: 767px) {
    #block-vesta-theme-content .node--type-personal-data.node--view-mode-full {
        padding: 28px 0 50px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body {
        max-width: 540px;
        padding: 24px 20px;
        border-radius: 10px;
        font-size: 14px;
        line-height: 1.75;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(1) {
        font-size: 26px;
        margin-bottom: 24px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(2),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(15),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(64),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(97),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(133),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(156),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(168),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(192),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(242),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(261),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(266),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(270) {
        font-size: 20px;
        margin-top: 26px;
        margin-bottom: 12px;
    }
}

@media (max-width: 565px) {
    #block-vesta-theme-content .node--type-personal-data.node--view-mode-full {
        padding: 20px 0 40px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body {
        max-width: none;
        margin-left: 15px;
        margin-right: 15px;
        width: auto;
        padding: 20px 16px;
        font-size: 13px;
        line-height: 1.7;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(1) {
        font-size: 22px;
        margin-bottom: 20px;
    }

    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(2),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(15),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(64),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(97),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(133),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(156),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(168),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(192),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(242),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(261),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(266),
    #block-vesta-theme-content .node--type-personal-data .field--name-body div:nth-child(270) {
        font-size: 18px;
        margin-top: 24px;
    }
}

#edit-privacy--description a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.65);
    transition: color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

#edit-privacy--description a:hover {
    color: #ffe3c2;
    border-bottom-color: #ffe3c2;
}

#edit-privacy--description a:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
    border-radius: 3px;
}

/* ===== СТРАНИЦА СКИДОК ===== */

/* Скрываем contextual и мету */
.node--type-page .contextual {
    display: none !important;
}

/* Отступы страницы */
.node--type-page.node--view-mode-full {
    padding: 40px 0 70px;
}

/* ── Галерея изображений скидок ── */
.field--name-field-image-discounts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 36px;
}

.field--name-field-image-discounts .field__item {
    border-radius: 14px;
    overflow: hidden;
    background: #1a1b16;
    line-height: 0;
}

/* Ссылка-обёртка */
.field--name-field-image-discounts .field__item a.photoswipe {
    display: block;
    width: 100%;
    height: 280px;
    overflow: hidden;
    border-radius: 14px;
    position: relative;
}

/* Изображение */
.field--name-field-image-discounts .field__item a.photoswipe img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease, filter 0.4s ease;
}

/* Hover */
.field--name-field-image-discounts .field__item a.photoswipe:hover img {
    transform: scale(1.05);
    filter: brightness(0.80);
}

/* Иконка лупы при hover */
.field--name-field-image-discounts .field__item a.photoswipe::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(251, 39, 35, 0.12)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E")
    center / 36px no-repeat;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 14px;
    pointer-events: none;
}

.field--name-field-image-discounts .field__item a.photoswipe:hover::after {
    opacity: 1;
}

/* ── Кнопка PDF документа ── */
.field--name-field-discounts-doc {
    display: flex;
    align-items: center;
}

.field--name-field-discounts-doc .file {
    display: inline-flex;
}

/* Скрываем иконку Drupal */
.field--name-field-discounts-doc .file--application-pdf::before,
.field--name-field-discounts-doc .file-icon {
    display: none !important;
}

.field--name-field-discounts-doc a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #1a1b16;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 10px;
    padding: 14px 24px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease;
}

.field--name-field-discounts-doc a:hover {
    background: #262722;
    border-color: rgba(251, 39, 35, 0.50);
    color: #ffffff;
}

/* Иконка PDF */
.field--name-field-discounts-doc a::before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    background: #fb2723;
    border-radius: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px;
    flex-shrink: 0;
}

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

/* Скрываем настройки Drupal */
.node--type-politika-konfidencialnosti .contextual {
    display: none !important;
}

/* Скрываем блок с автором и датой публикации */
.node--type-politika-konfidencialnosti footer.node__meta {
    display: none;
}

/* Отступ снизу для главного заголовка страницы */
#block-vesta-theme-page-title h1 {
    margin-bottom: 30px;
}

/* ── Основной блок текста (Обёртка) ── */
.node--type-politika-konfidencialnosti .field--name-body {
    background: #1a1b16;
    border-radius: 14px;
    padding: 36px 40px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.90);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.75;
    
    display: inline-flex;
    max-width: 100%;
}

/* Внутренний контейнер Drupal (заставляем его тоже сжаться по тексту) */
.node--type-politika-konfidencialnosti .field--name-body .field__item {
    display: inline-block;
    width: auto;
}

/* Обычные строки внутри body */
.node--type-politika-konfidencialnosti .field--name-body .field__item div {
    margin: 0;
    color: rgba(255, 255, 255, 0.90);
    width: fit-content;
    max-width: 100%;
}

/* Заголовки разделов (1 Общие положения, 2 Основные понятия и т.д.) */
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(2),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(8),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(23),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(33),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(43),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(51),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(58),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(66),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(79),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(83),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(87),
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:nth-child(89) {
    font-size: 19px;
    font-weight: 600;
    color: #ffffff;
    margin-top: 30px;
    margin-bottom: 12px;
    padding-left: 14px;
    border-left: 3px solid #fb2723;
    width: fit-content;
}

/* Самый первый главный заголовок документа */
.node--type-politika-konfidencialnosti .field--name-body .field__item > div:first-child {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-top: 0;
    margin-bottom: 24px;
    border-left: none;
    padding-left: 0;
    width: fit-content;
}

/* ── Адаптив ── */
@media (max-width: 991px) {
    .node--type-politika-konfidencialnosti .field--name-body {
        font-size: 15px;
        padding: 28px 30px;
    }
}

@media (max-width: 767px) {
    #block-vesta-theme-page-title h1 {
        margin-bottom: 20px;
    }

    .node--type-politika-konfidencialnosti .field--name-body {
        font-size: 14px;
        padding: 24px 20px;
        border-radius: 10px;
    }

    .node--type-politika-konfidencialnosti .field--name-body .field__item > div:not(:first-child) {
        margin-top: 24px;
    }
}

@media (max-width: 565px) {
    .node--type-politika-konfidencialnosti .field--name-body {
        font-size: 13px;
        padding: 20px 16px;
        line-height: 1.65;
        display: block;
        width: 100%;
    }

    .node--type-politika-konfidencialnosti .field--name-body .field__item,
    .node--type-politika-konfidencialnosti .field--name-body .field__item div {
        display: block;
        width: 100%;
    }

    .node--type-politika-konfidencialnosti .field--name-body .field__item > div:first-child {
        font-size: 20px;
    }
}

/* =========================================================
   RESPONSIVE LAYER
   БАЗОВЫЕ БРЕЙКПОИНТЫ: 1399 / 1199 / 991 / 767 / 565
   ========================================================= */

/* =========================================================
   <= 1399px
   ========================================================= */
@media (max-width: 1399px) {

    .hero-block .field--name-field-hero-title, .hero-block .field--name-field-hero-subtitle, .hero-block .field--name-field-hero-btn {
        max-width: 1145px;
    }

    /* Header */
    #header .header-bottom-inner {
        gap: 28px;
    }

    #header .region-navigation .nav {
        gap: 10px;
    }

    #header .region-navigation .nav-link {
        height: 40px;
        padding: 0 16px;
        font-size: 15px;
    }

    #header .header-contacts {
        gap: 32px;
    }

    #header .header-logo img {
        max-width: 180px;
    }

    #header .header-callback .btn,
    #header .header-callback a.btn {
        height: 48px;
        padding: 0 24px;
    }

    /* Hero */
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 560px;
    }

    .hero-block .block {
        padding: 110px 0 180px;
    }

    .hero-block .field--name-field-hero-title,
    .hero-block .field--name-field-hero-subtitle,
    .hero-block .field--name-field-hero-btn {
        padding-left: 15px;
        padding-right: 15px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 58px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 58px;
    }

    /* About */
    .about-block {
        height: 650px;
        width: min(100%, 1800px);
    }

    .about-block .field--name-field-about-image {
        width: 54%;
    }

    .about-block .field--name-field-about-title {
        font-size: 52px;
    }

    .about-block .field--name-field-about-text {
        font-size: 13px;
        max-width: 483px;
    }

    /* Feedback */
    .main-conent-red {
        min-height: auto;
        margin-top: 50px;
    }

    .feedback-block .region-feedback {
        gap: 80px;
    }

    #block-vesta-theme-feedback-title {
        flex: 0 0 420px;
        width: 420px;
    }

    #block-vesta-theme-feedback {
        flex: 0 0 430px;
        width: 430px;
    }

    .feedback-block .field--name-field-feedback-title {
        font-size: 52px;
    }

    .feedback-block .field--name-field-feedback-text {
        font-size: 24px;
    }

    /* Titles */
    .faq-block .block-title,
    .types_programs-block .block-title,
    .view-id-programs.view-display-id-page_1 .block-title,
    #block-vesta-theme-page-title h1,
    .contacts-hero__title {
        font-size: 52px;
    }

    /* FAQ */
    .faq-block .views-field-field-faq-question .field-content {
        padding: 28px 0 36px 70px;
    }

    .faq-block .faq-question-text {
        font-size: 20px;
    }

    .faq-block .views-field-field-faq-answer .field-content {
        padding-left: 98px;
        padding-right: 180px;
        font-size: 17px;
    }

    /* Programs */
    .types_programs-block .view-content,
    .view-id-programs.view-display-id-page_1 .view-content {
        gap: 24px;
    }

    .types_programs-block .field--name-field-program-title,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-title {
        font-size: 22px;
        bottom: 118px;
    }

    .types_programs-block .field--name-field-program-die-category,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-die-category {
        font-size: 24px;
        padding: 18px 12px;
        bottom: 38px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title {
        font-size: 22px;
        bottom: 118px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category {
        font-size: 24px;
        padding: 18px 12px;
        bottom: 38px;
    }

    /* Gallery */
    .view-photogallerys .view-content {
        gap: 16px;
    }

    .view-photogallerys article > h2 a {
        font-size: 18px;
    }

    .photoswipe-gallery .field__item a.photoswipe {
        height: 200px;
    }

    /* Contacts */
    .contacts-page-phone {
        font-size: 20px;
    }

    .contacts-map {
        height: 360px;
    }

    /* Footer */
    .footer-inner {
        gap: 40px;
    }

    .footer-logo img {
        max-width: 150px;
    }

    .footer-copy,
    .footer-bottom__text,
    .footer-col--nav ul li a,
    .footer-col--programs ul li a,
    .footer-contact-phone,
    .footer-contact-address {
        font-size: 15px;
    }

    /* Product */
    .product-teaser {
        gap: 30px;
    }

    /* Main content card */
    .main-content-card {
        max-width: 100%;
        margin: 0 15px;
    }
}


/* =========================================================
   <= 1199px
   ========================================================= */
@media (max-width: 1199px) {

    .hero-block .field--name-field-hero-title, .hero-block .field--name-field-hero-subtitle, .hero-block .field--name-field-hero-btn {
        max-width: 950px;
    }

    /* Header */
    #header .header-bottom-inner {
        gap: 20px;
        flex-wrap: wrap;
    }

    #header .header-logo {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    #header .header-search {
        margin-left: 0;
    }

    #header .region-navigation {
        width: 100%;
        order: 3;
        justify-content: center;
    }

    #header .region-navigation .nav {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    #header .header-contacts {
        margin-left: 0;
        gap: 24px;
        flex-wrap: wrap;
        justify-content: center;
    }

    #header .header-socials,
    #header .header-callback {
        justify-content: center;
    }

    #header .header-logo img {
        max-width: 170px;
    }

    .search-overlay__form-wrapper {
        width: min(480px, calc(100vw - 30px));
    }

    /* Hero */
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 520px;
    }

    .hero-block .block {
        padding: 100px 0 150px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 48px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 48px;
    }

    /* Benefits */
    .benefits-block {
        padding: 40px 0 80px;
        margin-top: -60px;
    }

    .benefits-block .field--name-field-benefits-items {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(2),
    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(5),
    .benefits-block .field__item:has(.benefit-type--image-card),
    .benefits-block .field__item:has(.benefit-type--featured) {
        grid-column: span 2;
    }

    .benefits-block .paragraph--type--benefit-item {
        height: 170px;
    }

    .benefits-block .field--name-field-benefit-text {
        font-size: 16px;
    }

    /* About becomes stacked */
    .about-block {
        height: auto;
        min-height: 0;
        padding: 40px 0;
    }

    .about-block .field--name-field-about-image {
        position: static;
        width: 100%;
        height: 690px;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .about-block .field--name-field-about-title,
    .about-block .field--name-field-about-text,
    .about-block .field--name-field-about-btn {
        max-width: 100%;
    }

    .about-block .field--name-field-about-title {
        font-size: 44px;
    }

    /* Driving school block */
    .driving_school-block {
        padding: 50px 0 0;
    }

    .driving_school-block .school_top {
        gap: 24px;
    }

    .driving_school-block .field--name-field-school-image img {
        width: 140px;
    }

    .driving_school-block .field--name-field-school-title {
        font-size: 26px;
    }

    .driving_school-block .school_bottom {
        padding: 28px 32px;
    }

    .driving_school-block .field--name-field-school-block-title {
        font-size: 28px;
    }

    .driving_school-block .field--name-field-school-text-block {
        font-size: 16px;
    }

    /* Programs lists */
    .types_programs-block,
    .view-id-programs.view-display-id-page_1 {
        padding: 50px 0 60px;
    }

    .types_programs-block .block-title,
    .view-id-programs.view-display-id-page_1 .block-title {
        font-size: 44px;
    }

    .types_programs-block .view-content,
    .view-id-programs.view-display-id-page_1 .view-content {
        gap: 20px;
        /*flex-wrap: wrap;*/
    }

    /*.types_programs-block .views-row,*/
    /*.view-id-programs.view-display-id-page_1 .views-row {*/
    /*    flex: 1 1 calc(50% - 10px);*/
    /*}*/

    .types_programs-block .field--name-field-program-title,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-title {
        font-size: 20px;
        bottom: 110px;
    }

    .types_programs-block .field--name-field-program-die-category,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-die-category {
        font-size: 22px;
        padding: 16px 12px;
        bottom: 34px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full {
        padding: 50px 0 60px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full .node__content {
        max-width: 100%;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title {
        font-size: 20px;
        bottom: 110px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category {
        font-size: 22px;
        padding: 16px 12px;
        bottom: 34px;
    }

    /* FAQ */
    .faq-block {
        padding: 70px 0 80px;
    }

    .faq-block .block-title {
        font-size: 44px;
        margin-bottom: 40px;
    }

    .faq-block .views-field-field-faq-question .field-content {
        padding: 24px 0 32px 60px;
    }

    .faq-block .faq-question-text {
        font-size: 20px;
    }

    .faq-block .views-field-field-faq-answer .field-content {
        padding-left: 88px;
        padding-right: 120px;
        font-size: 16px;
    }

    /* Contacts CTA */
    .contacts-cta-block__row {
        gap: 10px;
    }

    .contacts-cta-block__item {
        min-width: 260px;
        padding: 12px 30px;
    }

    .contacts-cta-block__phone {
        font-size: 20px;
    }

    /* Contacts page */
    .contacts-page-inner {
        gap: 14px;
    }

    .contacts-page-group {
        padding: 24px;
    }

    .contacts-maps-inner {
        gap: 16px;
    }

    .contacts-map {
        height: 340px;
    }

    .contacts-hero__title {
        font-size: 44px;
    }

    /* Gallery */
    .view-photogallerys .view-content {
        grid-template-columns: repeat(3, 1fr);
    }

    .view-photogallerys article.node--type-photogallery {
        min-height: 170px;
    }

    .photoswipe-gallery.field--name-field-gallery {
        grid-template-columns: repeat(3, 1fr);
    }

    .photoswipe-gallery .field__item a.photoswipe {
        height: 200px;
    }

    /* Footer */
    .footer-inner {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 30px;
        padding: 40px 20px;
    }

    /* Первая колонка с брендом занимает всю ширину в своей строке для баланса */
    .footer-col--brand {
        grid-column: span 2;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        padding-bottom: 25px;
    }

    /* Убираем лишние отступы у списков меню в Drupal */
    .footer-inner .nav {
        padding: 0;
        margin: 0;
    }

    .footer-col--brand {
        flex: 1 1 100%;
    }

    .footer-col--nav,
    .footer-col--programs {
        flex: 1 1 calc(50% - 15px);
    }

    .footer-col--contacts {
        flex: 1 1 100%;
    }

    .footer-logo img {
        max-width: 150px;
    }

    /* Product page */
    .product-teaser {
        flex-direction: column;
        gap: 24px;
    }

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

    .product-teaser .product-teaser-image .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;
        max-width: 100%;
        min-height: 0;
        max-height: none;
    }

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

    .product-teaser .product-teaser-image .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: 96px;
        min-width: 96px;
        max-height: 96px;
        min-height: 96px;
    }

    /* Forms */
    .feedback-block .region-feedback {
        gap: 50px;
    }

    #block-vesta-theme-feedback-title {
        flex: 1 1 380px;
        width: auto;
    }

    #block-vesta-theme-feedback {
        flex: 1 1 420px;
        width: auto;
    }

    .feedback-block .field--name-field-feedback-title {
        font-size: 44px;
    }

    .feedback-block .field--name-field-feedback-text {
        font-size: 22px;
    }
}


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

    .feedback-block .field--name-field-feedback-title {
        font-size: 35px;
    }

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

    /* Header */
    #header .header-top,
    #header .header-bottom {
        height: auto;
        padding: 14px 0;
    }

    #header .header-bottom-inner {
        gap: 16px;
        flex-wrap: wrap;
    }

    #header .header-logo {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    #header .region-navigation {
        width: 100%;
        order: 3;
        justify-content: center;
    }

    #header .region-navigation .nav {
        justify-content: center;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    #header .header-search {
        margin-left: auto;
    }

    #header .header-contacts {
        width: 100%;
        margin-left: 0;
        gap: 18px;
        flex-wrap: wrap;
        justify-content: center;
    }

    #header .header-socials,
    #header .header-callback {
        width: 100%;
        justify-content: center;
    }

    /* Hero */
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 340px;
    }

    .hero-block::before {
        background: rgba(0, 0, 0, 0.45);
    }

    .hero-block .block {
        padding: 50px 0 50px;
    }

    .hero-block .field--name-field-hero-title,
    .hero-block .field--name-field-hero-subtitle,
    .hero-block .field--name-field-hero-btn {
        max-width: 720px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .footer-col--nav ul, .footer-col--programs ul {
        text-align: center;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 40px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 26px;
        margin-bottom: 26px;
    }

    /* Benefits */
    .benefits-block {
        margin-top: -50px;
        padding: 30px 0 70px;
    }

    .benefits-block .field--name-field-benefits-items {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
        /* Умная упаковка: заполняет пустые ячейки элементами, которые помещаются */
        grid-auto-flow: dense;
    }

    .benefits-block .paragraph--type--benefit-item {
        height: auto;
        min-height: 170px;
        padding: 16px 18px;
    }

    /* Растягивание элементов на 2 колонки */
    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(2),
    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(5),
    .benefits-block .field__item:has(.benefit-type--image-card),
    .benefits-block .field__item:has(.benefit-type--featured),
    .benefits-block .field__item:has(.field--name-field-benefit-type:contains("image_card")),
    .benefits-block .field__item:has(.field--name-field-benefit-type:contains("featured")) {
        grid-column: span 2;
    }

    .benefits-block .field--name-field-benefit-text {
        font-size: 16px;
        max-width: none;
    }

    /*!* Benefits *!*/
    /*.benefits-block {*/
    /*    margin-top: -50px;*/
    /*    padding: 30px 0 70px;*/
    /*}*/

    /*.benefits-block .field--name-field-benefits-items {*/
    /*    grid-template-columns: repeat(2, 1fr);*/
    /*    gap: 14px;*/
    /*}*/

    /*.benefits-block .paragraph--type--benefit-item {*/
    /*    height: auto;*/
    /*    min-height: 170px;*/
    /*    padding: 16px 18px;*/
    /*}*/

    /*.benefits-block .field--name-field-benefits-items > .field__item:nth-child(2),*/
    /*.benefits-block .field--name-field-benefits-items > .field__item:nth-child(5),*/
    /*.benefits-block .field__item:has(.benefit-type--image-card),*/
    /*.benefits-block .field__item:has(.benefit-type--featured) {*/
    /*    grid-column: span 2;*/
    /*}*/

    /*.benefits-block .field--name-field-benefit-text {*/
    /*    font-size: 16px;*/
    /*    max-width: none;*/
    /*}*/

    /* About */
    .about-block {
        border-radius: 8px;
        padding: 36px 0;
    }

    .about-block .field--name-field-about-image {
        height: 515px;
        margin-bottom: 22px;
    }

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

    .about-block .field--name-field-about-text {
        font-size: 15px;
    }

    .about-block .field--name-field-about-btn a {
        padding: 16px 18px;
        font-size: 14px;
    }

    /* Driving school */
    .driving_school-block .school_top {
        flex-direction: column;
        gap: 18px;
        margin-bottom: 18px;
    }

    .driving_school-block .field--name-field-school-image img {
        width: 120px;
    }

    .driving_school-block .field--name-field-school-title {
        font-size: 22px;
    }

    .driving_school-block .school_bottom {
        padding: 24px;
    }

    .driving_school-block .field--name-field-school-block-title {
        font-size: 24px;
    }

    .driving_school-block .field--name-field-school-text-block {
        font-size: 15px;
    }

    /* Programs */
    .types_programs-block,
    .view-id-programs.view-display-id-page_1 {
        padding: 40px 0 50px;
    }

    .types_programs-block .block-title,
    .view-id-programs.view-display-id-page_1 .block-title {
        font-size: 38px;
        margin-bottom: 24px;
    }

    .types_programs-block .view-content,
    .view-id-programs.view-display-id-page_1 .view-content {
        gap: 14px;
    }

    .types_programs-block .views-row,
    .view-id-programs.view-display-id-page_1 .views-row {
        flex: 1 1 100%;
    }

    .types_programs-block .field--name-field-program-title,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-title {
        font-size: 16px;
        bottom: 100px;
        padding: 0 14px;
    }

    .types_programs-block .field--name-field-program-die-category,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-die-category {
        font-size: 18px;
        bottom: 18px;
        left: 14px;
        padding: 14px 12px;
    }

    .types_programs-block .node__content::after,
    .view-id-programs.view-display-id-page_1 .node__content::after,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .node__content::after {
        height: 180px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full {
        padding: 40px 0 50px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title {
        font-size: 18px;
        bottom: 100px;
        padding: 0 14px;
    }

    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category {
        font-size: 18px;
        bottom: 18px;
        left: 14px;
        padding: 14px 12px;
    }

    .types_programs-block .more-link a {
        padding: 16px 34px;
    }

    /* FAQ */
    .faq-block {
        padding: 60px 0 70px;
    }

    .faq-block .block-title {
        font-size: 38px;
        margin-bottom: 30px;
    }

    .faq-block .views-field-field-faq-question .field-content {
        padding: 20px 0 24px 0;
        gap: 16px;
    }

    .faq-block .faq-question-text {
        font-size: 17px;
    }

    .faq-block .faq-icon {
        width: 32px;
        height: 32px;
    }

    .faq-block .views-field-field-faq-answer .field-content {
        padding-left: 0;
        padding-right: 0;
        font-size: 15px;
    }

    .faq-block .views-row.is-open .views-field-field-faq-answer .field-content {
        padding-bottom: 24px;
    }

    /* Contacts CTA */
    .contacts-cta-block {
        padding: 40px 0 0;
    }

    .contacts-cta-block__title {
        font-size: 28px;
    }

    .contacts-cta-block__item {
        min-width: 100%;
        width: 100%;
    }

    .contacts-cta-block__socials {
        width: 100%;
    }

    /* Contacts page */
    .contacts-page-inner {
        flex-direction: column;
    }

    .contacts-page-group {
        min-width: unset;
    }

    .contacts-maps-inner {
        grid-template-columns: 1fr;
    }

    .contacts-map {
        height: 300px;
    }

    .contacts-hero {
        padding: 40px 0 28px;
    }

    .contacts-hero__title {
        font-size: 38px;
    }

    .contacts-page-phone {
        font-size: 18px;
    }

    /* Gallery */
    .view-photogallerys .view-content {
        grid-template-columns: repeat(3, 1fr);
    }

    .photoswipe-gallery.field--name-field-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .photoswipe-gallery .field__item a.photoswipe {
        height: 180px;
    }

    /* Footer */
    .footer {
        padding-top: 36px;
    }

    .footer-inner {
        gap: 24px;
        padding-bottom: 30px;
    }

    .footer-col--brand {
        align-items: center;
        text-align: center;
    }

    .footer-col--nav,
    .footer-col--programs,
    .footer-col--contacts {
        flex: 1 1 100%;
    }

    .footer-socials {
        justify-content: center;
    }

    .footer-contact-group {
        align-items: center;
        text-align: center;
    }

    .footer-copy,
    .footer-policy,
    .footer-bottom__text,
    .footer-col--nav ul li a,
    .footer-col--programs ul li a,
    .footer-contact-phone,
    .footer-contact-address {
        font-size: 14px;
    }

    /* Search results */
    #block-vesta-theme-content .search-api-page-block-form-search {
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 32px;
        margin-bottom: 24px;
    }

    #block-vesta-theme-content .search-api-page-block-form-search .js-form-item,
    #block-vesta-theme-content .search-api-page-block-form-search .form-actions {
        width: 100%;
    }

    #block-vesta-theme-content .search-api-page-block-form-search .search-form__submit {
        width: 100% !important;
    }

    #block-vesta-theme-content h2 {
        font-size: 24px;
    }

    #block-vesta-theme-content h3 a {
        font-size: 16px;
    }

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

    .product-teaser .product-teaser-image .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: 84px;
        min-width: 84px;
        max-height: 84px;
        min-height: 84px;
    }
}


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

    .benefits-block {
        margin-top: -30px;
        padding: 20px 0 50px;
    }

    /* Делаем саму плашку компактнее */
    .benefits-block .paragraph--type--benefit-item {
        padding: 12px 14px !important;
        min-height: auto !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 10px;
    }

    /* Уменьшаем размер текста преимуществ */
    .benefits-block .field--name-field-benefit-text {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    /* Специфический фикс для карточки с изображением (инструктор) */
    .benefits-block .field__item:has(.field--name-field-benefit-image) .paragraph {
        flex-direction: row !important;
        align-items: center;
        justify-content: space-between;
        text-align: left;
    }

    /* Уменьшаем картинку инструктора, чтобы она не растягивала плашку */
    .benefits-block .field--name-field-benefit-image img {
        width: 75px !important;
        height: 75px !important;
        object-fit: contain;
    }

    .types_programs-block .view-content,
    .view-id-programs.view-display-id-page_1 .view-content {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .types_programs-block .views-row,
    .view-id-programs.view-display-id-page_1 .views-row {
        flex: initial;
    }

    /* скрываем третью и всё, что дальше */
    /*.types_programs-block .views-row:nth-child(n+3),*/
    /*.view-id-programs.view-display-id-page_1 .views-row:nth-child(n+3) {*/
    /*    display: none;*/
    /*}*/

    .hero-block .field--name-field-hero-title, .hero-block .field--name-field-hero-subtitle, .hero-block .field--name-field-hero-btn {
        max-width: 540px;
    }

    /* Если у тебя есть отдельная мобильная шапка — используй её */
    #header {
        display: none;
    }

    #header-mob {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 10px;
        position: sticky;
        top: 0;
        z-index: 1000;
    }

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

    #header-mob a {
        font-size: 14px;
    }

    .offcanvas {
        --bs-offcanvas-width: min(100vw, 420px);
    }

    .offcanvas .offcanvas-title {
        font-size: 18px;
    }

    /* Scroll to top */
    #scrollToTop {
        right: 15px;
        bottom: 150px;
        width: 40px;
        height: 40px;
    }

    /* Hero */
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 300px;
    }

    .hero-block::before {
        background: rgba(0, 0, 0, 0.60);
    }

    .hero-block .block {
        padding: 80px 0 55px;
    }

    .hero-block .field--name-field-hero-title,
    .hero-block .field--name-field-hero-subtitle,
    .hero-block .field--name-field-hero-btn {
        padding-left: 15px;
        padding-right: 15px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 30px;
        line-height: 1.15;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 20px;
        margin-bottom: 22px;
    }

    .hero-block .field--name-field-hero-btn a {
        font-size: 14px;
        padding: 12px 20px;
    }

    /* Benefits */
    .benefits-block {
        margin-top: -40px;
        padding: 24px 0 50px;
    }

    .benefits-block .field--name-field-benefits-items {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(2),
    .benefits-block .field--name-field-benefits-items > .field__item:nth-child(5),
    .benefits-block .field__item:has(.benefit-type--image-card),
    .benefits-block .field__item:has(.benefit-type--featured) {
        grid-column: span 1;
    }

    .benefits-block .paragraph--type--benefit-item {
        min-height: 110px;
        height: auto;
        padding: 16px;
    }

    .benefits-block .field__item:nth-child(2) .paragraph--type--benefit-item {
        align-items: center;
        text-align: center;
        padding: 16px;
    }

    .benefits-block .field__item:nth-child(2) .field--name-field-benefit-image img {
        height: 140px;
    }

    .benefits-block .field__item:nth-child(2) .field--name-field-benefit-text {
        padding-left: 0;
        font-size: 15px;
    }

    .benefits-block .field__item:nth-child(5) .field--name-field-benefit-text {
        font-size: 18px;
    }

    /* About */
    .about-block {
        width: 100%;
        border-radius: 0;
    }

    .about-block .field--name-field-about-image {
        height: 380px;
    }

    .about-block .field--name-field-about-title {
        font-size: 30px;
        margin-bottom: 16px;
    }

    .about-block .field--name-field-about-text {
        font-size: 14px;
        margin-bottom: 18px;
    }

    .about-block .field--name-field-about-btn a {
        font-size: 14px;
        padding: 12px 18px;
    }

    /* Driving school */
    .driving_school-block {
        padding: 40px 0 0;
    }

    .driving_school-block .school_top {
        gap: 18px;
        margin-bottom: 18px;
    }

    .driving_school-block .field--name-field-school-image img {
        width: 100px;
    }

    .driving_school-block .field--name-field-school-title {
        font-size: 20px;
    }

    .driving_school-block .school_bottom {
        padding: 20px;
    }

    .driving_school-block .field--name-field-school-block-title {
        font-size: 20px;
    }

    .driving_school-block .field--name-field-school-text-block {
        font-size: 14px;
    }

    /* Programs */
    .types_programs-block,
    .view-id-programs.view-display-id-page_1 {
        padding: 40px 0 50px;
    }

    .types_programs-block .block-title,
    .view-id-programs.view-display-id-page_1 .block-title {
        font-size: 30px;
        margin-bottom: 20px;
    }

    .types_programs-block .view-content,
    .view-id-programs.view-display-id-page_1 .view-content {
        gap: 14px;
    }

    .types_programs-block .views-row,
    .view-id-programs.view-display-id-page_1 .views-row {
        flex: 1 1 100%;
    }

    .types_programs-block article.node--type-program:hover,
    .view-id-programs.view-display-id-page_1 article.node--type-program:hover,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .node__content:hover,
    .view-photogallerys article.node--type-photogallery:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.20);
    }

    .types_programs-block .field--name-field-program-title,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-title,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title {
        font-size: 18px;
        bottom: 96px;
        padding: 0 12px;
    }

    .types_programs-block .field--name-field-program-die-category,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-die-category,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category {
        font-size: 18px;
        bottom: 14px;
        left: 12px;
        padding: 12px 10px;
    }

    .types_programs-block .node__content::after,
    .view-id-programs.view-display-id-page_1 .node__content::after,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .node__content::after {
        height: 160px;
    }

    .types_programs-block .more-link a {
        padding: 14px 28px;
        font-size: 14px;
    }

    /* FAQ */
    .faq-block {
        padding: 50px 0 60px;
    }

    .faq-block .block-title {
        font-size: 30px;
        margin-bottom: 24px;
    }

    .faq-block .views-field-field-faq-question .field-content {
        padding: 18px 0 20px 0;
        gap: 12px;
    }

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

    .faq-block .faq-icon {
        width: 24px;
        height: 24px;
    }

    .faq-block .views-field-field-faq-answer .field-content {
        padding-left: 0;
        padding-right: 0;
        font-size: 14px;
    }

    .faq-block .views-row.is-open .views-field-field-faq-answer .field-content {
        padding-bottom: 22px;
    }

    /* Main card */
    .main-content-card {
        border-radius: 0;
        max-width: 100%;
        margin: 0;
        padding-bottom: 10px;
    }

    /* Contacts CTA */
    .contacts-cta-block {
        padding: 36px 0 0;
    }

    .contacts-cta-block__title {
        font-size: 26px;
        margin-bottom: 16px;
    }

    .contacts-cta-block__item {
        padding: 12px 18px;
    }

    .contacts-cta-block__label {
        font-size: 16px;
    }

    .contacts-cta-block__phone {
        font-size: 18px;
    }

    .contacts-cta-block__socials {
        padding: 12px 18px;
        width: 100%;
    }

    /* Contacts page */
    .contacts-page-group {
        padding: 20px;
    }

    .contacts-page-label {
        font-size: 13px;
    }

    .contacts-page-phone {
        font-size: 16px;
    }

    .contacts-page-address {
        font-size: 14px;
    }

    .contacts-maps {
        padding-bottom: 50px;
    }

    .contacts-map {
        height: 260px;
    }

    .contacts-map-title {
        font-size: 18px;
    }

    .contacts-hero {
        padding: 34px 0 24px;
    }

    .contacts-hero__title {
        font-size: 28px;
    }

    /* Gallery */
    .view-photogallerys {
        padding: 36px 0 50px;
    }

    .view-photogallerys .view-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .view-photogallerys article.node--type-photogallery {
        min-height: 140px;
    }

    .view-photogallerys article > h2 a {
        font-size: 16px;
        padding: 16px;
    }

    .photoswipe-gallery.field--name-field-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .photoswipe-gallery .field__item a.photoswipe {
        height: 160px;
    }

    /* Footer */
    .footer-inner {
        gap: 20px;
    }

    .footer-logo img {
        max-width: 140px;
    }

    .footer-copy,
    .footer-policy,
    .footer-bottom__text,
    .footer-col--nav ul li a,
    .footer-col--programs ul li a,
    .footer-contact-phone,
    .footer-contact-address {
        font-size: 13px;
    }

    /* Breadcrumbs and title */
    #block-vesta-theme-page-title {
        padding-top: 16px;
    }

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

    #block-vesta-theme-strokanavigacii {
        padding-top: 14px;
    }

    #block-vesta-theme-strokanavigacii .breadcrumb-item {
        font-size: 13px;
    }

    /* Search results */
    #block-vesta-theme-content h2 {
        font-size: 22px;
    }

    #block-vesta-theme-content h3 a {
        font-size: 15px;
    }

    #block-vesta-theme-content h3 + p {
        font-size: 13px;
    }

    /* Search overlay */
    .search-overlay {
        top: calc(100% + 8px);
    }

    .search-overlay__form-wrapper {
        width: calc(100vw - 16px);
        padding: 16px 20px;
        border-radius: 16px;
    }

    .search-overlay .search-api-page-block-form-search form {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .search-overlay input[type="search"],
    .search-overlay .form-search,
    .search-overlay .form-control {
        height: 44px;
        font-size: 14px;
    }

    .search-overlay .search-form__submit,
    .search-overlay .form-submit,
    .search-overlay button[type="submit"] {
        width: 100%;
        height: 44px;
        min-width: 100%;
        font-size: 14px;
    }

    /* Product */
    .product-teaser {
        gap: 20px;
    }

    .product-teaser .product-teaser-image .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%;
        max-height: none;
    }

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

    .product-teaser .product-teaser-image .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: 80px;
        min-width: 80px;
        max-height: 80px;
        min-height: 80px;
    }

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

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

    /* Modal / dialog */
    .modal-dialog {
        width: calc(100% - 20px);
    }

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

    .ui-dialog:not(.ui-dialog-buttons) {
        max-width: calc(100% - 20px) !important;
    }

    .ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar,
    .ui-dialog:not(.ui-dialog-buttons) .ui-dialog-content,
    .ui-dialog:not(.ui-dialog-buttons) .webform-confirmation-modal--content {
        padding: 20px !important;
    }

    .ui-dialog:not(.ui-dialog-buttons) .ui-dialog-title {
        font-size: 20px !important;
    }

    .ui-dialog:not(.ui-dialog-buttons) .ui-dialog-content::before,
    .ui-dialog:not(.ui-dialog-buttons) .webform-confirmation-modal--content::before {
        width: 44px;
        height: 44px;
        background-size: 22px;
    }

    /* Content form */
    #block-vesta-theme-content .js-form-item {
        padding-left: 16px;
        padding-right: 16px;
    }

    #block-vesta-theme-content .js-form-item:first-child {
        padding-top: 20px;
    }

    #block-vesta-theme-content input[type="text"],
    #block-vesta-theme-content input[type="email"],
    #block-vesta-theme-content input[type="tel"] {
        height: 48px !important;
        line-height: 48px !important;
    }

    #block-vesta-theme-content textarea {
        height: 64px !important;
        min-height: 64px !important;
        max-height: 64px !important;
    }

    #block-vesta-theme-content .form-actions {
        padding: 16px 16px 20px;
    }

    #block-vesta-theme-content .form-actions .webform-button--submit {
        padding: 12px 20px;
        font-size: 14px;
    }

    #block-vesta-theme-content .webform-confirmation,
    #block-vesta-theme-content .messages--status,
    #block-vesta-theme-content .alert-success {
        padding: 20px;
    }

    /* Table */
    #block-vesta-theme-content .node--type-page.node--view-mode-full {
        padding: 40px 0 50px;
    }

    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table {
        min-width: 640px;
    }

    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table thead th,
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table tbody td {
        padding: 14px 16px;
        font-size: 14px;
    }

    /* Scroll top */
    #scrollToTop {
        right: 15px;
        bottom: 150px;
        width: 40px;
        height: 40px;
    }
}


/* =========================================================
   <= 565px
   ========================================================= */
@media (max-width: 565px) {

    /* Header mobile */
    #header-mob {
        padding: 6px 8px;
    }

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

    .offcanvas {
        --bs-offcanvas-width: 100vw;
    }

    /* Hero */
    .hero-block,
    .hero-block .region-hero,
    .hero-block .block {
        min-height: 300px;
    }

    .hero-block .block {
        padding: 70px 0 45px;
    }

    .hero-block .field--name-field-hero-title h1 {
        font-size: 24px;
    }

    .hero-block .field--name-field-hero-subtitle {
        font-size: 17px;
        margin-bottom: 18px;
    }

    .hero-block .field--name-field-hero-btn a {
        font-size: 13px;
        padding: 12px 16px;
    }

    /* Benefits */
    .benefits-block {
        margin-top: -36px;
        padding: 20px 0 40px;
    }

    .benefits-block .paragraph--type--benefit-item {
        min-height: 90px;
        padding: 16px;
        border-radius: 12px;
    }

    .benefits-block .field--name-field-benefit-text {
        font-size: 15px;
    }

    .benefits-block .field__item:nth-child(5) .field--name-field-benefit-text {
        font-size: 17px;
    }

    /* About */
    .about-block .field--name-field-about-image {
        height: 385px;
    }

    .about-block .field--name-field-about-title {
        font-size: 26px;
    }

    .about-block .field--name-field-about-text {
        font-size: 13px;
        line-height: 1.6;
    }

    .about-block .field--name-field-about-btn a {
        padding: 12px 16px;
        font-size: 13px;
    }

    /* Driving school */
    .driving_school-block .field--name-field-school-image img {
        width: 84px;
    }

    .driving_school-block .field--name-field-school-title {
        font-size: 18px;
    }

    .driving_school-block .school_bottom {
        padding: 18px;
    }

    .driving_school-block .field--name-field-school-block-title {
        font-size: 18px;
    }

    .driving_school-block .field--name-field-school-text-block {
        font-size: 14px;
    }

    /* Programs */
    .types_programs-block .block-title,
    .view-id-programs.view-display-id-page_1 .block-title {
        font-size: 26px;
    }

    .types_programs-block .field--name-field-program-title,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-title,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-title {
        font-size: 16px;
        bottom: 82px;
    }

    .types_programs-block .field--name-field-program-die-category,
    .view-id-programs.view-display-id-page_1 .field--name-field-program-die-category,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .field--name-field-program-die-category {
        font-size: 16px;
        padding: 12px 10px;
        bottom: 14px;
        left: 12px;
    }

    .types_programs-block .node__content::after,
    .view-id-programs.view-display-id-page_1 .node__content::after,
    #block-vesta-theme-content .node--type-program.node--view-mode-full .node__content::after {
        height: 150px;
    }

    /* FAQ */
    .faq-block .block-title {
        font-size: 26px;
    }

    .faq-block .views-field-field-faq-question .field-content {
        padding: 18px 0 20px 0;
        gap: 12px;
    }

    .faq-block .faq-question-text {
        font-size: 15px;
    }

    .faq-block .faq-icon {
        width: 22px;
        height: 22px;
    }

    .faq-block .views-field-field-faq-answer .field-content {
        font-size: 14px;
    }

    /* Contacts CTA */
    .contacts-cta-block__title {
        font-size: 24px;
    }

    .contacts-cta-block__label {
        font-size: 14px;
    }

    .contacts-cta-block__phone {
        font-size: 16px;
    }

    /* Contacts page */
    .contacts-page-group {
        padding: 18px;
    }

    .contacts-page-phone {
        font-size: 15px;
    }

    .contacts-map {
        height: 220px;
    }

    .contacts-map-title {
        font-size: 16px;
    }

    .contacts-hero__title {
        font-size: 24px;
    }

    /* Gallery */
    .view-photogallerys .view-content {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .view-photogallerys article.node--type-photogallery {
        min-height: 120px;
    }

    .view-photogallerys article > h2 a {
        font-size: 15px;
    }

    .photoswipe-gallery.field--name-field-gallery {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .photoswipe-gallery .field__item a.photoswipe {
        height: 220px;
    }

    /* Footer */
    .footer-logo img {
        max-width: 120px;
    }

    .footer-social img {
        width: 36px;
        height: 36px;
    }

    .footer-socials {
        gap: 8px;
    }

    /* Breadcrumb / title */
    #block-vesta-theme-page-title h1 {
        font-size: 24px;
    }

    #block-vesta-theme-strokanavigacii .breadcrumb-item {
        font-size: 12px;
    }

    /* Search results */
    #block-vesta-theme-content .search-api-page-block-form-search input[type="search"] {
        font-size: 14px;
        padding: 12px 14px !important;
    }

    #block-vesta-theme-content .search-api-page-block-form-search .search-form__submit {
        padding: 12px 18px !important;
        font-size: 14px;
    }

    #block-vesta-theme-content h2 {
        font-size: 22px;
    }

    /* Modal/dialog */
    .modal-title,
    .ui-dialog-title {
        font-size: 18px !important;
    }

    .ui-dialog:not(.ui-dialog-buttons) .ui-dialog-titlebar-close {
        width: 24px !important;
        height: 24px !important;
    }

    .ui-dialog:not(.ui-dialog-buttons) .ui-dialog-content::before,
    .ui-dialog:not(.ui-dialog-buttons) .webform-confirmation-modal--content::before {
        width: 40px;
        height: 40px;
        background-size: 20px;
    }

    /* Content form */
    #block-vesta-theme-content form.webform-submission-form,
    #block-vesta-theme-content .webform-confirmation,
    #block-vesta-theme-content .messages--status,
    #block-vesta-theme-content .alert-success {
        border-radius: 0;
    }

    #block-vesta-theme-content .js-form-item {
        padding-left: 12px;
        padding-right: 12px;
    }

    #block-vesta-theme-content .js-form-item:first-child {
        padding-top: 18px;
    }

    #block-vesta-theme-content input[type="text"],
    #block-vesta-theme-content input[type="email"],
    #block-vesta-theme-content input[type="tel"] {
        height: 46px !important;
        line-height: 46px !important;
    }

    #block-vesta-theme-content textarea {
        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;
    }

    #block-vesta-theme-content .form-actions {
        padding: 14px 12px 18px;
    }

    #block-vesta-theme-content .form-actions .webform-button--submit {
        padding: 12px 16px;
        font-size: 13px;
    }

    #block-vesta-theme-content .webform-confirmation,
    #block-vesta-theme-content .messages--status,
    #block-vesta-theme-content .alert-success {
        padding: 18px;
    }

    /* Table */
    #block-vesta-theme-content .node--type-page.node--view-mode-full {
        padding: 28px 0 40px;
    }

    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table {
        min-width: 560px;
    }

    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table thead th,
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table tbody td {
        padding: 12px 14px;
        font-size: 13px;
    }

    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table th:nth-child(1),
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table td:nth-child(1) {
        width: 52px;
    }

    /* Scroll to top */
    #scrollToTop {
        right: 15px;
        bottom: 250px;
        width: 38px;
        height: 38px;
    }

    /*.types_programs-block .view-content, .view-id-programs.view-display-id-page_1 .view-content {*/
    /*    grid-template-columns: repeat(1, minmax(0, 1fr));*/
    /*}*/

    /* Обёртка — убираем фиксированную ширину и border-radius */
    .main-conent-red {
        border-radius: 0;
        margin: 28px 0 0;
        min-height: unset;
    }

    /* Регион — одна колонка */
    .feedback-block .region-feedback {
        flex-direction: column;
        gap: 24px;
        padding: 30px 0;
    }

    /* Левая колонка — на всю ширину */
    #block-vesta-theme-feedback-title {
        flex: none;
        width: 100%;
    }

    .feedback-block .field--name-field-feedback-title {
        font-size: 26px;
        line-height: 1.2;
        margin-bottom: 10px;
    }

    .feedback-block .field--name-field-feedback-text {
        font-size: 15px;
    }

    /* Правая колонка — на всю ширину */
    #block-vesta-theme-feedback {
        flex: none;
        width: 100%;
    }

    /* Поля — убираем лишние отступы */
    .feedback-block input[type="text"],
    .feedback-block textarea {
        font-size: 14px;
        padding: 13px 13px 13px 36px !important;
    }

    /* Иконки — сдвигаем чуть левее */
    .feedback-block .form-item-name::before,
    .feedback-block .form-item-phone::before {
        left: 10px;
        width: 16px;
        height: 16px;
    }

    .feedback-block .form-item-message::before {
        left: 10px;
        width: 16px;
        height: 16px;
        top: 15px;
    }

    /* Чекбокс */
    .feedback-block .form-item-privacy {
        padding: 14px 0 8px;
    }

    .feedback-block .form-item-privacy .description,
    .feedback-block .form-item-privacy .webform-element-description {
        font-size: 12px;
    }

    /* Кнопка */
    .feedback-block .webform-button--submit {
        padding: 13px 28px;
        font-size: 14px;
        width: 100%;
    }

    .feedback-block .form-actions {
        padding-top: 14px;
    }
}

@media (max-width: 450px) {
    .types_programs-block .view-content, .view-id-programs.view-display-id-page_1 .view-content {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

#block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table {
    min-width: unset !important;
    width: 100% !important;
}

/* Разрешаем перенос текста в ячейках */
#block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table td,
#block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table th {
    white-space: normal !important;
    word-break: break-word;
}

/* Скрываем колонку «Описание» на мобильных */
@media (max-width: 767px) {
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table thead th:nth-child(3),
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table tbody td:nth-child(3) {
        display: none !important;
    }

    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table thead th,
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table tbody td {
        padding: 10px 10px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 565px) {
    /* Скрываем ещё и колонку № */
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table thead th:nth-child(1),
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table tbody td:nth-child(1) {
        display: none !important;
    }

    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table thead th,
    #block-vesta-theme-content .node--type-page.node--view-mode-full .field--name-body table.table tbody td {
        padding: 8px 8px !important;
        font-size: 12px !important;
    }
}

/* PRODUCT PAGE STYLES*/

.ui-dialog {
    z-index: 30000 !important;
}

.ui-widget-overlay {
    z-index: 29999 !important;
}

/* ── Запрещаем горизонтальный скролл ── */
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

/* ── Фиксим возможных виновников ── */
#page,
#header-mob,
#header,
main,
.footer {
    max-width: 100%;
}

/* ===== СТИЛИЗАЦИЯ ССЫЛКИ ПОЛИТИКИ В МОДАЛЬНОМ ОКНЕ ===== */

/* Контейнер описания чекбокса (увеличиваем читаемость) */
.modal-dialog .webform-element-description {
    color: rgba(255, 255, 255, 0.60); /* Приглушенный белый цвет для основного текста */
    font-size: 14px;
    line-height: 1.5;
    margin-top: 6px;
}

/* Сама ссылка на политику конфиденциальности */
.modal-dialog .webform-element-description a {
    color: #ffffff; /* Изначально белая */
    font-weight: 500;
    text-decoration: none;
    position: relative;
    padding-bottom: 2px;
    transition: color 0.25s ease;
}

/* Красное кастомное подчеркивание (вместо стандартного браузерного) */
.modal-dialog .webform-element-description a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(251, 39, 35, 0.40); /* Полупрозрачный красный */
    transition: background-color 0.25s ease, height 0.25s ease;
}

/* Эффект при наведении (Hover) */
.modal-dialog .webform-element-description a:hover {
    color: #fb2723; /* Текст плавно становится фирменным красным */
}

/* Анимация линии подчеркивания при наведении */
.modal-dialog .webform-element-description a:hover::after {
    background-color: #fb2723; /* Линия становится ярко-красной */
    height: 1.5px; /* Чуть утолщается */
}


/* ===== ДОПОЛНИТЕЛЬНЫЙ БОНУС: СТИЛИЗАЦИЯ САМОГО ЧЕКБОКСА ===== */

/* Делаем так, чтобы текст описания аккуратно стоял рядом с галочкой */
.modal-dialog .form-item-privacy {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Выравниваем чекбокс по высоте первой строки текста */
.modal-dialog .form-item-privacy input[type="checkbox"] {
    margin-top: 4px;
    cursor: pointer;
    accent-color: #fb2723; /* Окрашивает стандартную галочку в ваш красный цвет */
}

/* ===== БЛОК ДИСТАНЦИОННОГО ОБУЧЕНИЯ (СКРЫТИЕ НА 1500PX) ===== */

/* Родителю задаем relative, чтобы абсолютно позиционировать ссылку */
.header-bottom .position-relative {
    position: relative;
}

.header-distance-learning-wrapper {
    position: absolute;
    right: -170px; /* Вынос вправо за рамки контейнера */
    top: 50%;
    transform: translateY(-50%);
    width: 150px; /* Фиксированная ширина для переноса строк как на макете */
    z-index: 10;
}

/* Стилизация ссылки на ПК и в мобильном меню */
.header-distance-learning-wrapper a,
.offcanvas-distance-learning a {
    display: block;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.25;
    text-decoration: none;
    background: none;
    padding: 0;
    transition: color 0.25s ease;
}

/* Эффект при наведении — только смена цвета */
.header-distance-learning-wrapper a:hover,
.offcanvas-distance-learning a:hover {
    color: #fb2723;
}

/* ── Скрытие элемента при разрешении 1500px и ниже ── */
@media (max-width: 1500px) {
    .header-distance-learning-wrapper {
        display: none; /* Ссылка полностью исчезает из шапки ПК */
    }
}

/* Стили для мобильного меню (offcanvas) — здесь ссылка продолжает работать */
.offcanvas-distance-learning {
    margin: 25px 0;
    padding: 0 4px;
}

.offcanvas-distance-learning a {
    display: inline-block;
    font-size: 16px;
}

.node__meta {
    display: none;
}