/*!
Theme Name: YO
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Cleaned & Optimized Version
Version: 1.1.0
Text Domain: yo
*/

/*--------------------------------------------------------------
>>> Переменные и Глобальные стили
--------------------------------------------------------------*/
:root {
    --color-primary: #2c7be5;
    --color-primary-hover: #000000;
    --color-text: #000000;
    --color-link: #2c7be5;
    --color-bg: #ffffff;
    
    /* Новые переменные в стиле оранжевого сайта */
    --color-orange: #ff7a00;
    --color-orange-hover: #e56d00;
    --transition-base: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

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

html {
    box-sizing: border-box;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: "Commissioner", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-variation-settings: "slnt" 0, "FLAR" 0, "VOLM" 0;
    background: linear-gradient(135deg, #f5f7ff 0%, #eef2ff 40%, #ffffff 100%);
    color: var(--color-text);
    margin: 0;
}

/* Унификация шрифтов для элементов интерфейса и ввода */
button, input, optgroup, select, textarea, pre, code, kbd, samp, h1, h2, h3, h4, h5, h6 {
    font-family: "Commissioner", sans-serif !important;
}

/*--------------------------------------------------------------
# Базовые элементы
--------------------------------------------------------------*/
main {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 16px;
    margin: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
    font-weight: 500;
}

h1, h2, h3, h4, h5, h6 {
    clear: both;
}

p {
    margin-bottom: 1.5em;
    margin-left: 50px;   
}

dfn, cite, em, i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    padding: 1em;
    overflow: auto;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline dotted;
    cursor: help;
}

b, strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub { bottom: -0.25em; }
sup { top: -0.5em; }

img {
    border-style: none;
    height: auto;
    max-width: 100%;
}

figure {
    margin: 1em 0;
}

embed, iframe, object {
    max-width: 100%;
}

hr {
    box-sizing: content-box;
    height: 1px;
    background-color: #ccc;
    border: 0;
    margin-bottom: 1.5em;
    overflow: visible;
}

/* Списки и Таблицы */
ul, ol {
    margin: 0 0 1.5em 3em;
}

ul { list-style: disc; }
ol { list-style: decimal; }

li > ul, li > ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt { font-weight: 700; }
dd { margin: 0 1.5em 1.5em; }

table {
    margin: 0 0 1.5em;
    width: 100%;
}

mark, ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

/* Ссылки */
a {
    color: var(--color-link);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

a:hover, a:focus, a:active {
    opacity: 0.8;
}

/*--------------------------------------------------------------
# Формы и Кнопки
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 1px solid #ccc;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 0.6em 1em 0.4em;
    cursor: pointer;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    border-color: #ccc #bbb #aaa;
}

.button {
    background: linear-gradient(135deg, #2c7be5, #00c6ff);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 10px 20px;
    display: inline-block;
}

.button:hover {
    background-color: var(--color-primary-hover);
    opacity: 1;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    appearance: button;
    -webkit-appearance: button; 
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
    width: 100%;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    appearance: textfield;
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 5px;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    color: #111;
}

select {
    border: 1px solid #ccc;
}

/* Интерактивные элементы */
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }

/*--------------------------------------------------------------
# СТИЛЬНАЯ ШАПКА (SITE HEADER) — УМНОЕ РАСПРЕДЕЛЕНИЕ
--------------------------------------------------------------*/

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #ffffff;
    border-bottom: 1px solid #e5e5e5;
}

/* Главный контейнер хедера */
.site-header__inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px;
    min-height: 70px;
    padding: 0 20px;
}

/* Блок брендинга (Логотип) */
.site-branding {
    display: flex;
    align-items: center;
    gap: 6px; 
    flex-shrink: 0 !important;
}

.site-header__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #222222;
}

.logo-text {
    font-weight: 600;
    font-size: 18px;
    white-space: nowrap;
}

.site-branding .logo-icon,
.site-branding .custom-logo-link img,
.site-branding img {
    height: 32px;
    width: auto;
    display: block;
    object-fit: contain;
}

.logo-icon__path {
    fill: #222222;
}

.site-title {
    margin: 0 !important; 
    padding: 0;
    font-size: 24px;
    line-height: 1;
}

.site-title a {
    text-decoration: none;
    color: #222222;
}

.site-description {
    display: none; 
}

/* Меню навигации хедера —  */
.site-header .main-navigation {
    flex-grow: 1 !important; /* Растягиваем блок, чтобы управлять внутренностями */
    margin-left: 40px !important; /* Красивый отступ от логотипа, чтобы кнопки не слипались с ним */
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;
    width: auto !important;
    flex-shrink: 0 !important;
}

/* Список кнопок меню (ОНИ СТАНОВЯТСЯ БЛИЖЕ К ЦЕНТРУ / ЛОГОТИПУ) */
.main-navigation ul {
    order: 1 !important; /* Жестко ставим кнопки на первое место после логотипа */
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 24px !important; 
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-navigation a {
    text-decoration: none;
    color: #222222;
    font-weight: 500;
    transition: opacity 0.3s ease;
    white-space: nowrap !important;
}

.main-navigation a:hover {
    opacity: 0.7;
}

/* Выпадающие списки (Dropdown) */
.main-navigation ul ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
    display: none;
    flex-direction: column !important; 
    background: #ffffff;
    padding: 10px 0;
}

.main-navigation ul ul li:hover > ul { 
    display: block; 
    left: auto; 
}

.main-navigation ul ul a { 
    width: 200px; 
    padding: 8px 15px;
}

.main-navigation ul li:hover > ul { 
    left: auto; 
}

.main-navigation li { 
    position: relative; 
}

/* --- Соцсети в Хедере  --- */

/* Контейнер иконок хедера */
.site-header__socials {
    order: 2 !important; /* Ставим соцсети после кнопок меню */
    margin-left: auto !important; /* Магия флексбокса: отталкивает соцсети максимально вправо */
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important; 
    flex-shrink: 0 !important;
    margin-top: 0 !important; 
}

/* Отдельная ссылка-иконка */
.site-header__social {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    transition: opacity 0.3s ease !important;
}

/* Стилизация SVG внутри хедера */
.site-header__social svg {
    width: 18px !important;
    height: 18px !important;
    fill: #222222 !important;
    color: #222222 !important;
    display: block !important;
}

.site-header__social:hover {
    opacity: 0.7 !important;
    background: transparent !important;
}

/* --- Адаптив под мобильные устройства --- */
@media (max-width: 768px) {
    .site-header__inner {
        flex-wrap: nowrap !important;
    }
    .site-header .main-navigation {
        margin-left: 15px !important;
        gap: 16px !important;
    }
    .site-header__socials {
        margin-left: auto !important;
        margin-right: 12px !important; 
    }
}

/* Хлебные крошки */
.breadcrumbs { font-size: 14px; margin: 15px 0; color: #666; }
.breadcrumbs a { color: #000; }
.breadcrumbs span { color: #999; }

/* Индикатор чтения */
#reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0%;
    background: linear-gradient(90deg, #007bff, #00c6ff);
    z-index: 9999;
    transition: width 0.15s ease-out;
    pointer-events: none;
}

/*--------------------------------------------------------------
# Компоненты: Слайдер (Home Hero Slider)
--------------------------------------------------------------*/
.home-hero-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.home-hero-slide {
    position: relative;
}

.home-hero-slide__image {
    width: 100%;
    height: 600px;
    object-fit: cover;
    filter: brightness(0.85);
    transition: 0.6s ease;
    display: block;
}

.swiper-slide-active .home-hero-slide__image {
    filter: brightness(1);
    transform: scale(1.02);
}

.home-hero-slide__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
    color: #fff;
}

.home-hero-slide__title {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2;
    text-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

.home-hero-slide__text {
    font-size: 1.2rem;
    max-width: 600px;
    opacity: 0.9;
}

/* Стрелки слайдера */
.home-slider__arrow {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.25s ease;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
    z-index: 10;
}

.home-slider__arrow:hover {
    background: #fff;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

.home-slider__arrow svg {
    width: 26px;
    height: 26px;
    color: #222;
}

.home-slider__arrow--prev { position: absolute; left: 30px; top: 50%; transform: translateY(-50%); }
.home-slider__arrow--next { position: absolute; right: 30px; top: 50%; transform: translateY(-50%); }

.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: rgba(255,255,255,0.6);
    opacity: 1;
    transition: 0.3s;
}

.swiper-pagination-bullet-active {
    background: #fff;
    transform: scale(1.25);
    box-shadow: 0 0 10px rgba(255,255,255,0.8);
}

/* Старый блок home-slider */
.home-slider .swiper { padding-bottom: 50px; }
.home-slider .swiper-slide { width: 100%; box-sizing: border-box; }
.home-slider .home-content-block { padding: 0; }
.home-slider .home-content-block__image img,
.home-slider .home-slider__image { width: 100%; height: auto; display: block; }
.home-slider__top { gap: 20px; }
.home-slider__nav { flex-shrink: 0; }
.home-slider .swiper-pagination { bottom: 0 !important; }

/*--------------------------------------------------------------
# Компоненты: Карточки Новостей (News Cards) — СТИЛЬНОЕ ОБНОВЛЕНИЕ
--------------------------------------------------------------*/
.home-news, .home-news-carousel {
    background: transparent;
    padding: 60px 0;
}

.news-swiper {
    padding: 20px 15px 60px 15px;
    margin: 0 -15px;
    overflow: visible; /* Позволяет теням карточек "дышать" и не обрезаться */
    position: relative;
}

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

.news-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform var(--transition-base), 
                box-shadow var(--transition-base),
                border-color 0.4s ease;
}

.news-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 20px 40px rgba(44, 123, 229, 0.08), 0 1px 3px rgba(0, 0, 0, 0.02);
}

.news-card__image-wrapper {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10; /* Фиксирует картинки в идеальной пропорции */
    background: #e9ecef;
}

.news-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.news-card:hover .news-card__image {
    transform: scale(1.05);
}

.news-card__image--placeholder {
    background: #e9ecef;
    color: #777;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}

.news-card__content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.news-card__title {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 12px;
    /* Защита: обрезка текста, если заголовок слишком длинный */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card__title a { 
    color: #111111; 
    transition: color 0.25s ease;
}

.news-card__title a:hover { 
    color: var(--color-primary); 
}

.news-card__excerpt { 
    flex-grow: 1; 
    color: #555555; 
    font-size: 0.95rem; 
    line-height: 1.6;
    margin-bottom: 24px; 
    /* Защита: обрезка анонса строго на 3 строках */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card__button {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #000000;
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.news-card__button:hover { 
    background: var(--color-primary); 
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(44, 123, 229, 0.25);
    opacity: 1; 
}

.news-card__button:active {
    transform: scale(0.98);
}

/* Модернизированные стрелки управления карусели */


.news-arrow:hover {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.12);
    color: var(--color-primary);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.news-arrow:active {
    transform: translateY(-50%) scale(0.95);
}

.news-arrow svg {
    width: 20px;
    height: 20px;
    fill: none;
}

.news-arrow--prev { 
    left: -24px; 
}

.news-arrow--next { 
    right: -24px; 
}

/* Адаптивность стрелок под разные экраны */
@media (max-width: 1200px) {
    .news-swiper {
        overflow: hidden; /* Прячем стрелки, вышедшие за экран */
    }
    .news-arrow--prev { left: 15px; }
    .news-arrow--next { right: 15px; }
}

/* Трендовая пагинация (точки превращаются в пилюли) */
.home-news-carousel .swiper-pagination {
    bottom: 15px !important;
}

.home-news-carousel .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(0, 0, 0, 0.2);
    opacity: 1;
    border-radius: 50%;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.home-news-carousel .swiper-pagination-bullet-active {
    background: var(--color-primary);
    width: 24px;
    border-radius: 4px;
}

/* Похожие посты и архивы */
.related-posts { margin-top: 50px; }
.related-posts__title { margin-bottom: 20px; font-weight: 600; }
.related-post-card, .archive-card { border: none; transition: 0.3s; }
.related-post-card:hover, .archive-card:hover { transform: translateY(-5px); }
.related-post-card .card-title a, .archive-card .card-title a { color: #000; }
.archive-card__meta { font-size: 13px; color: #888; margin-bottom: 10px; }
.archive-description { margin-bottom: 30px; color: #666; }

/*--------------------------------------------------------------
# Компоненты: Конструктор Шаблонов (Template Builder) — ДВУХКОЛОНОЧНАЯ СЕТКА
--------------------------------------------------------------*/
/* Главный родительский контейнер или строка (row) внутри билдера */
.template-builder,
.template-builder-row,
.builder-layout,
/* Также поддерживаем обертку .container, если она используется */
.site-main .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 30px !important; /* Расстояние между колонками */
    width: 100% !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
    align-items: flex-start !important; /* Выравнивание по верху */
}

/* Изменение под сетку 50/50 для builder-two-columns */
.builder-two-columns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    width: 100% !important;
}

.builder-two-columns__col {
    flex: 1 1 calc(50% - 15px) !important; 
    min-width: 300px !important; 
    box-sizing: border-box !important;
}

/* Основная (Левая) колонка */
.left-column {
    flex: 1 1 calc(70% - 15px) !important; /* Занимает ~70% ширины экрана на десктопе */
    min-width: 300px !important;
    box-sizing: border-box !important;
}

/* Боковая (Правая) колонка */
.right-column {
    flex: 0 1 calc(30% - 15px) !important; /* Занимает ~30% ширины экрана на десктопе */
    min-width: 280px !important;
    box-sizing: border-box !important;
}

/* Адаптивность для планшетов и мобильных устройств */
@media (max-width: 991px) {
    .template-builder,
    .template-builder-row,
    .builder-layout,
    .site-main .container,
    .builder-two-columns {
        flex-direction: column !important; /* Колонки перестраиваются вертикально (одна под другой) */
        gap: 24px !important;
    }

    .left-column,
    .right-column,
    .builder-two-columns__col {
        flex: 1 1 100% !important; /* На мобильных обе колонки растягиваются на всю ширину */
        width: 100% !important;
    }
}

/*--------------------------------------------------------------
# Навигация внутри постов (Single Post Navigation)
--------------------------------------------------------------*/
.fancy-post-nav {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid #e5e5e5;
}

.fancy-post-nav .nav-links {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.fancy-post-nav .nav-previous,
.fancy-post-nav .nav-next {
    width: 320px;
}

.fancy-post-nav .nav-next { margin-left: auto; }
.fancy-post-nav a { display: block; color: inherit; }

.post-nav-card {
    display: block;
    padding: 20px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e5e5e5;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.post-nav-card__label {
    display: block;
    font-size: 13px;
    color: #777;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.post-nav-card__title {
    display: block;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
    color: #222;
}

.fancy-post-nav a:hover .post-nav-card {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.fancy-post-nav a:hover .post-nav-card__title {
    text-decoration: underline;
}

/* Нативная навигация WordPress */
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation { margin: 0 0 1.5em; }
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links { display: flex; }
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous { flex: 1 0 50%; }
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next { text-align: end; flex: 1 0 50%; }

.post, .page { margin: 0 0 1.5em; }
.sticky, .bypostauthor { display: block; }
.updated:not(.published) { display: none; }
.page-content, .entry-content, .entry-summary { margin: 1.5em 0 0; }
.page-links, .widget { margin: 0 0 1.5em; }
.comment-content a { word-wrap: break-word; }
.widget select { max-width: 100%; }
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley { border: none; margin: 0; padding: 0; }
.custom-logo-link { display: inline-block; }

/* Вордпресс-галереи и подписи */
.wp-caption { margin-bottom: 1.5em; max-width: 100%; }
.wp-caption img[class*="wp-image-"] { display: block; margin-left: auto; margin-right: auto; }
.wp-caption .wp-caption-text { margin: 0.8075em 0; }
.wp-caption-text { text-align: center; }

.gallery { margin-bottom: 1.5em; display: grid; grid-gap: 1.5em; }
.gallery-item { display: inline-block; text-align: center; width: 100%; }
.gallery-caption { display: block; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }

/*--------------------------------------------------------------
# Бургер-меню (Мобильное меню) — ИСПРАВЛЕНО (БЕЗ ОБЛАКА)
--------------------------------------------------------------*/
.menu-toggle {
    display: none;
    width: 22px;
    height: 14px;
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 2000;
}

.menu-toggle span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #1d1d1f;
    border-radius: 1px;
    transition: transform 0.3s ease, opacity 0.2s ease;
}

.menu-toggle span:nth-child(1) { top: 0; }
.menu-toggle span:nth-child(2) { bottom: 0; }

.menu-toggle.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { transform: translateY(-6px) rotate(-45deg); }

/* Оверлей (фон за меню) */
.menu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,0.1); /* Легкий оттенок */
    backdrop-filter: blur(5px);        /* Размытие фона за меню */
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 1500;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* САМО МЕНЮ (Скругленное со всех сторон) */
.mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 280px; 
    height: 100%;
    
    /* ЭФФЕКТ МАТОВОГО СТЕКЛА */
    background: rgba(255, 255, 255, 0.4) !important; 
    backdrop-filter: blur(20px) saturate(180%) !important;
    
    /* Скругление всех углов (Верх-лево, Верх-право, Низ-право, Низ-лево) */
    border-radius: 0 30px 30px 0; 
    /* Чтобы скруглить и левую сторону тоже, просто пропишите радиус для всех углов: */
    border-radius: 0 30px 30px 30px; /* Это даст скругление сверху-право, низ-право и низ-лево */
    /* А если нужно скруглить все 4 угла, просто сделайте так: */
    border-radius: 30px;
    
    border: none;
    
    transform: translateX(-100%);
    transition: transform 0.35s ease;
    z-index: 1600;
    padding: 20px 20px; 
}

.mobile-menu.active { transform: translateX(0); }
.mobile-menu ul { list-style: none; padding: 0; margin: 0; }
.mobile-menu li { margin-bottom: 20px; }
.mobile-menu a { font-size: 20px; color: #1d1d1f; font-weight: 500; text-decoration: none; }

.desktop-menu ul { display: flex; gap: 20px; list-style: none; margin: 0; padding: 0; }

/*--------------------------------------------------------------
# Утилиты и Плагины
--------------------------------------------------------------*/
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer { display: none; }
.infinity-end.neverending .site-footer { display: block; }

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    top: 5px;
    width: auto;
    z-index: 100000;
}

#primary[tabindex="-1"]:focus { outline: 0; }

.alignleft { float: left; margin-right: 1.5em; margin-bottom: 1.5em; }
.alignright { float: right; margin-left: 1.5em; margin-bottom: 1.5em; }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; margin-bottom: 1.5em; }

/*--------------------------------------------------------------
# Медиа-запросы (Адаптив)
--------------------------------------------------------------*/
@media (max-width: 991px) {
    .home-hero-slide__image { height: 420px; }
    .home-slider__arrow { width: 44px; height: 44px; }
}

@media (max-width: 768px) {
    .menu-toggle { display: block; }
    .desktop-menu { display: none; }
    
    .fancy-post-nav .nav-links { flex-direction: column; }
    .fancy-post-nav .nav-previous,
    .fancy-post-nav .nav-next { width: 100%; }
    .fancy-post-nav .nav-next { margin-left: 0; }
}

@media (max-width: 767.98px) {
    .home-slider__top { flex-direction: column; align-items: flex-start !important; }
    .home-content-block__content.ps-md-4 { padding-left: 0 !important; padding-top: 20px; }
}

@media (min-width: 769px) {
    .mobile-menu, .menu-overlay { display: none; }
}

@media (max-width: 575px) {
    .home-hero-slide__image { height: 320px; }
    .home-hero-slide__title { font-size: 1.8rem; }
    .home-slider__arrow { width: 38px; height: 38px; }
    .home-slider__arrow--prev { left: 10px; }
    .home-slider__arrow--next { right: 10px; }
}

@media screen and (min-width: 37.5em) {
    .menu-toggle { display: none; }
    .main-navigation ul { display: flex; }
}

/*--------------------------------------------------------------
# СТИЛЬНЫЙ ФУТЕР (SITE FOOTER) — СИММЕТРИЧНЫЙ
--------------------------------------------------------------*/

/* 1. Пицца в футере */
.site-footer .site-footer_logo img,
.site-footer .site-footer_logo svg {
    height: 28px !important; 
    width: auto !important;
    display: block !important;
}

/* 2. Текстовые ссылки */
.site-footer .site-footer__menu a,
.site-footer .site-footer__info a {
    color: #000000 !important;
    background: transparent !important;
    display: inline-block;
    transition: transform 0.25s ease !important;
}

.site-footer .site-footer__menu a:hover,
.site-footer .site-footer__info a:hover {
    color: #000000 !important;
    background: transparent !important;
    transform: translateY(-3px) !important;
}

/* 3. Соцсети в футере */
.site-footer .site-footer__social {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    transition: transform 0.25s ease !important;
}

.site-footer .site-footer__social:hover {
    transform: translateY(-3px) !important;
    background: transparent !important;
}

.site-footer .site-footer__social svg {
    width: 20px !important;
    height: 20px !important;
    fill: #000000 !important;
    color: #000000 !important;
}

/* 4. Распределение на 3 колонны */
.site-footer .site-footer__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 24px !important;
    margin-top: 40px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e5e5e5 !important;
}

@media (min-width: 769px) {
    .site-footer .site-footer__bottom {
        flex-direction: row !important;
        justify-content: space-between !important;
    }

    .site-footer .site-footer_logo {
        flex: 1 !important;
        display: flex !important;
        justify-content: flex-start !important;
    }

    .site-footer .site-footer__info {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 20px !important;
        flex-wrap: nowrap !important;
    }

    .site-footer .site-footer__socials {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 16px !important;
        margin-left: 0 !important;
    }
}

/* ==========================================================================
   ФИНАЛЬНЫЙ БУЛЛЕТПРУФ CSS ДЛЯ ФОРМЫ (ЦЕНТРИРОВАНИЕ И ФИКС РАЗМЕРОВ)
   ========================================================================== */

/* 1. Сбрасываем флексы с главного контейнера, чтобы они не ломали общую сетку темы */
.page .site-main {
    display: block !important;
    padding: 60px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 2. ЦЕНТРИРУЕМ ОБЛАЧКО ФОРМЫ НА СТРАНИЦЕ
   Этот блок отвечает строго за то, чтобы форма встала идеально по центру экрана */
.page .wpcf7 {
    display: block !important;
    max-width: 800px !important; /* Максимальная ширина всей формы */
    margin-left: auto !important;  /* Магия центрирования: одинаковые отступы */
    margin-right: auto !important; /* по бокам сдвигают блок в центр */
    width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* 3. СЕТКА ДЛЯ ПОЛЕЙ ВНУТРИ ФОРМЫ */
.page .wpcf7 form {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* 3 равные колонки */
    gap: 20px !important; /* Одинаковый шаг между полями */
    width: 100% !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

/* 4. ВЫРАВНИВАЕМ РАЗМЕРЫ: заставляем все скрытые теги плагина (p, span) 
   и сами инпуты растягиваться ровно на 100% своей ячейки */
.page .wpcf7 form p,
.page .wpcf7 form div,
.page .wpcf7 form label,
.page .wpcf7 form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* 5. Базовые стили окон ввода (теперь они строго одного размера) */
.page .wpcf7 form input[type="text"],
.page .wpcf7 form input[type="email"],
.page .wpcf7 form input[type="tel"],
.page .wpcf7 form textarea {
    width: 100% !important;
    height: 46px !important; /* Одинаковая фиксированная высота для верхних инпутов */
    padding: 12px 16px !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
}

/* 6. Индивидуальные настройки для большого поля сообщения */
.page .wpcf7 form p:has(textarea),
.page .wpcf7 form .wpcf7-form-control-wrap:has(textarea),
.page .wpcf7 form p:nth-last-of-type(2) {
    grid-column: 1 / -1 !important; /* Растягиваем на всю ширину (3 колонки) */
}
.page .wpcf7 form textarea {
    height: 140px !important; /* Возвращаем ему высоту */
    resize: vertical !important;
}

/* 7. Кнопка отправки */
.page .wpcf7 form p:has(input[type="submit"]),
.page .wpcf7 form p:last-child {
    grid-column: 1 / -1 !important;
    text-align: center !important; 
    margin-top: 10px !important;
}
.page .wpcf7 form input[type="submit"] {
    background: linear-gradient(135deg, #2c7be5, #00c6ff) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 45px !important;
    height: auto !important; /* Сбрасываем высоту инпута для кнопки */
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-block !important;
    width: auto !important; 
}

/* 8. РАСТЯГИВАЕМ ПЛАШКУ ОШИБКИ НА ВСЮ ШИРИНУ ФОРМЫ */
.page .wpcf7 .wpcf7-response-output,
.page .wpcf7 form .wpcf7-response-output {
    grid-column: 1 / -1 !important; /* Простирается от края до края формы */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important; 
    margin: 20px 0 0 0 !important;
    padding: 15px !important;
    display: block !important;
}

/* 9. АДАПТИВНОСТЬ: На телефонах выстраиваем поля в одну линию */
@media (max-width: 768px) {
    .page .wpcf7 form {
        grid-template-columns: 1fr !important; 
        gap: 15px !important;
    }
}

/* СТИЛИ СТРАНИЦЫ ПОИСКА */
.search-header {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}
.search-header .page-title span {
    color: var(--color-primary, #2c7be5);
    font-weight: 700;
}
.search-header__form, .search-no-results__form {
    max-width: 500px;
    margin-top: 20px;
}
.search-form {
    display: flex !important;
    width: 100%;
    gap: 10px;
}
.search-form label { flex-grow: 1; margin: 0 !important; }
.search-form .search-field {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
}
.search-form .search-submit {
    background: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 24px !important;
    font-weight: 600 !important;
}
.search-results-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 40px;
}
.search-results-grid article {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.search-results-grid .entry-title { font-size: 1.4rem !important; margin: 0 0 10px 0 !important; }
.search-results-grid .entry-title a { color: #111; }
.search-results-grid .entry-summary p { color: #555; font-size: 0.95rem; line-height: 1.6; }
.search-no-results { padding: 40px 0; }
.search-pagination { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(0,0,0,0.05); }
/* ==========================================================================
   ИЗОЛИРОВАННЫЕ СТИЛИ ДЛЯ СТРАНИЦЫ ПОИСКА (БЕЗОПАСНЫЕ)
   ========================================================================== */

/* Включаем защиту от скролла только на странице поиска */
body.search-results {
    overflow-x: hidden !important;
}

/* Наш изолированный контейнер для поиска и сайдбара */
.yo-search-page-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    max-width: 1200px !important; /* Можешь поставить ширину, как у тебя на сайте */
    margin: 30px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* Контентная зона поиска */
.yo-search-main {
    flex: 1 1 calc(70% - 15px) !important;
    min-width: 300px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 30px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    margin: 0 !important; /* Сбрасываем ломающие маргины */
}

/* Сайдбар на странице поиска */
body.search-results #secondary,
body.search-results .widget-area {
    flex: 0 1 calc(30% - 15px) !important;
    min-width: 280px !important;
    box-sizing: border-box !important;
}

/* Хедер поиска */
.yo-search-header {
    margin-bottom: 35px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}
.yo-search-header .page-title {
    font-size: 2rem !important;
    font-weight: 600 !important;
    margin: 0 0 15px 0 !important;
    text-align: left !important;
}
.yo-search-header .page-title span {
    color: var(--color-primary, #2c7be5);
}

/* Поисковая форма */
.yo-search-header__form,
.yo-search-no-results__form {
    max-width: 450px;
}
.yo-search-page-wrapper .search-form {
    display: flex !important;
    width: 100%;
    gap: 10px;
}
.yo-search-page-wrapper .search-form label {
    flex-grow: 1;
    margin: 0 !important;
}
.yo-search-page-wrapper .search-form .search-field {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    background: #fff !important;
}
.yo-search-page-wrapper .search-form .search-submit {
    background: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 24px !important;
    font-weight: 600 !important;
    cursor: pointer;
}

/* Лента результатов */
.yo-search-results-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Карточки постов в поиске */
.yo-search-results-list article {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01) !important;
    text-align: left !important;
}
.yo-search-results-list .entry-title {
    font-size: 1.35rem !important;
    margin: 0 0 10px 0 !important;
    font-weight: 600 !important;
}
.yo-search-results-list .entry-title a {
    color: #111 !important;
    text-decoration: none !important;
}
.yo-search-results-list .entry-title a:hover {
    color: var(--color-primary, #2c7be5) !important;
}
.yo-search-results-list .entry-summary p {
    color: #555 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Ничего не найдено */
.yo-search-no-results__text {
    font-size: 1.05rem;
    color: #444;
    line-height: 1.6;
    text-align: left;
    margin-bottom: 20px;
}

/* Пагинация */
.yo-search-pagination {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(0,0,0,0.06);
}

/* Адаптивность для мобилок */
@media (max-width: 991px) {
    .yo-search-page-wrapper {
        flex-direction: column !important;
        gap: 20px !important;
    }
    .yo-search-main,
    body.search-results #secondary,
    body.search-results .widget-area {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}
/* ==========================================================================
   ИЗОЛИРОВАННЫЕ СТИЛИ ДЛЯ СТРАНИЦЫ ПОСТА И ПРАВОГО САЙДБАРА
   ========================================================================== */

/* Предотвращаем любые случайные вылеты за край только внутри постов */
body.single-post {
    overflow-x: hidden !important;
}

/* Контейнер-обертка "Контент слева + Сайдбар справа" */
.yo-single-page-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    max-width: 1200px !important; /* Общая ширина контентной зоны */
    margin: 40px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* Основная колонка с текстом статьи (70% ширины) */
.yo-single-main {
    flex: 1 1 calc(70% - 15px) !important;
    min-width: 300px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 35px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Правый сайдбар (30% ширины) */
.yo-post-sidebar {
    flex: 0 1 calc(30% - 15px) !important;
    min-width: 290px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 16px;
    padding: 30px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* Разделение виджетов в сайдбаре */
.yo-post-sidebar .widget {
    margin-bottom: 40px;
}

.yo-post-sidebar .widget:last-child {
    margin-bottom: 0;
}

/* Заголовки виджетов с красивым нижним подчеркиванием */
.yo-post-sidebar .widget-title {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 20px 0 !important;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-primary, #2c7be5);
    color: #111111;
}

/* Элементы списков в категориях и архивах */
.yo-post-sidebar .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.yo-post-sidebar .widget ul li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 0.95rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #666;
}

.yo-post-sidebar .widget ul li:last-child {
    border-bottom: none;
}

.yo-post-sidebar .widget ul li a {
    color: #222222;
    text-decoration: none;
    transition: color 0.2s ease;
}

.yo-post-sidebar .widget ul li a:hover {
    color: var(--color-primary, #2c7be5);
}

/* Красивое аккуратное облако тегов */
.yo-post-sidebar .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 5px;
}

.yo-post-sidebar .tagcloud a {
    background: #f1f3f9 !important;
    color: #4f5e71 !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    font-size: 13px !important; /* Фиксируем размер тегов в облаке */
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.yo-post-sidebar .tagcloud a:hover {
    background: var(--color-primary, #2c7be5) !important;
    color: #ffffff !important;
}

/* Стилизация строки поиска внутри сайдбара */
.yo-post-sidebar .search-form {
    display: flex !important;
    width: 100%;
    gap: 8px;
}

.yo-post-sidebar .search-form label {
    flex-grow: 1;
    margin: 0 !important;
}

.yo-post-sidebar .search-form .search-field {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 0.95rem !important;
}

/* Адаптивный сброс: на планшетах и мобильных сайдбар падает под статью */
@media (max-width: 991px) {
    .yo-single-page-wrapper {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .yo-single-main,
    .yo-post-sidebar {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}
/* ==========================================================================
   ИЗОЛИРОВАННАЯ ДВУХКОЛОНОЧНАЯ СЕТКА ДЛЯ СТРАНИЦЫ ПОСТА (БЕЗОПАСНАЯ)
   ========================================================================== */

/* 1. Общая обертка: Контент слева (70%) + Сайдбар справа (30%) */
body.single-post .yo-single-post-wrapper-isolated {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* 2. Левая колонка с материалом */
body.single-post .yo-single-main-column-isolated {
    flex: 1 1 calc(70% - 15px) !important;
    min-width: 300px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 35px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    margin: 0 !important; /* Убираем дефолтные внешние отступы main */
}

/* 3. ОТМЕНА СЛОМАННЫХ ФЛЕКСБОКСОВ ТЕМЫ ДЛЯ ВНУТРЕННИХ БЛОКОВ ПОСТА */
body.single-post .yo-single-main-column-isolated .container,
body.single-post .yo-single-main-column-isolated .yo-single-post-inner-block-isolated {
    display: block !important; /* Возвращаем стандартное блочное поведение */
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* 4. Правая колонка — наш кастомный сайдбар */
body.single-post .yo-post-sidebar {
    flex: 0 1 calc(30% - 15px) !important;
    min-width: 290px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 16px;
    padding: 30px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* 5. Оформление элементов внутри сайдбара */
body.single-post .yo-post-sidebar .widget { margin-bottom: 35px; }
body.single-post .yo-post-sidebar .widget:last-child { margin-bottom: 0; }

body.single-post .yo-post-sidebar .widget-title {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0 !important;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--color-primary, #2c7be5);
    color: #111;
}

body.single-post .yo-post-sidebar .widget ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
body.single-post .yo-post-sidebar .widget ul li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 0.95rem;
    display: flex;
    justify-content: space-between;
    color: #666;
}
body.single-post .yo-post-sidebar .widget ul li a { color: #222; text-decoration: none; }
body.single-post .yo-post-sidebar .widget ul li a:hover { color: var(--color-primary, #2c7be5); }

/* Облако тегов в сайдбаре */
body.single-post .yo-post-sidebar .tagcloud { display: flex; flex-wrap: wrap; gap: 6px; }
body.single-post .yo-post-sidebar .tagcloud a {
    background: #f1f3f9 !important; color: #4f5e71 !important; padding: 5px 10px !important;
    border-radius: 4px !important; font-size: 13px !important; text-decoration: none !important;
}
body.single-post .yo-post-sidebar .tagcloud a:hover { background: var(--color-primary, #2c7be5) !important; color: #fff !important; }

/* Форма поиска в сайдбаре */
body.single-post .yo-post-sidebar .search-form { display: flex !important; width: 100%; gap: 6px; }
body.single-post .yo-post-sidebar .search-form label { flex-grow: 1; margin: 0 !important; }
body.single-post .yo-post-sidebar .search-form .search-field { width: 100% !important; padding: 10px !important; border: 1px solid #ddd !important; border-radius: 6px !important; }
body.single-post .yo-post-sidebar .search-form .search-submit { background: #000 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 0 15px !important; cursor: pointer; }

/* 6. Фикс адаптивности для планшетов и мобильных */
@media (max-width: 991px) {
    body.single-post .yo-single-post-container {
        flex-direction: column !important;
        gap: 30px !important;
    }
    body.single-post .yo-single-main-column,
    body.single-post .yo-post-sidebar {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* ==========================================================================
   КОРРЕКЦИЯ СТРАНИЦЫ UUDISED (БЛОГ) БЕЗ САЙДБАРА
   ========================================================================== */

/* Заставляем контентную область на странице новостей занимать 100% ширины */
body.blog #primary.site-main,
body.blog .site-main .container,
body.blog .builder-layout {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    display: block !important;
}

/* Скрываем пустые контейнеры сайдбара на странице новостей, если они остались в разметке */
body.blog #secondary,
body.blog .widget-area {
    display: none !important;
}
/* ==========================================================================
   НОВАЯ ВНУТРЕННЯЯ СТРУКТУРА ШАПКИ СТАТЬИ (КАРТИНКА СЛЕВА, ИНФО СПРАВА)
   ========================================================================== */

/* Контейнер шапки: выстраивает контент в строку */
body.single-post .yo-post-header-flex {
    display: flex !important;
    flex-direction: row !important;
    gap: 30px !important;
    margin-bottom: 35px !important;
    align-items: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Левая часть: Картинка (занимает 40% от ширины контентной зоны) */
body.single-post .yo-post-header-thumb {
    flex: 0 0 40% !important;
    min-width: 260px !important;
    max-width: 100% !important;
}

body.single-post .yo-post-header-thumb img {
    width: 100% !important;
    height: auto !important;
    max-height: 280px !important; /* Ограничиваем высоту, чтобы картинка не была гигантской */
    object-fit: cover !important; /* Обрезает картинку аккуратно по границам */
    border-radius: 12px !important;
    display: block !important;
}

/* Правая часть: Название + Теги (вертикальный стек) */
body.single-post .yo-post-header-info {
    flex: 1 1 60% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important; /* Отступ между названием и тегами */
    text-align: left !important;
}

/* Стили заголовка статьи */
body.single-post h1.yo-post-single-title {
    font-size: 2.2rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111111 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Блок с тегами под заголовком */
body.single-post .yo-post-single-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

/* Индивидуальный стиль тега */
body.single-post .yo-header-tag-item {
    background: #f1f3f9 !important;
    color: #4f5e71 !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease !important;
}

body.single-post .yo-header-tag-item:hover {
    background: var(--color-primary, #2c7be5) !important;
    color: #ffffff !important;
}

/* Заглушка, если тегов нет */
body.single-post .yo-no-tags {
    font-size: 13px !important;
    color: #999999 !important;
    font-weight: 500;
}

/* ==========================================================================
   АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ
   ========================================================================== */
@media (max-width: 767px) {
    /* На мобильных экранах картинка встает НАД названием на всю ширину */
    body.single-post .yo-post-header-flex {
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    body.single-post .yo-post-header-thumb,
    body.single-post .yo-post-header-info {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    body.single-post h1.yo-post-single-title {
        font-size: 1.75rem !important;
    }
}
/* ==========================================================================
   УЛЬТРА-СПЕЦИФИЧНЫЙ ФИКС СТРЕЛОК КАРУСЕЛИ: ПЕРЕНОС НАВЕРХ ВПРАВО + КЛИКАБЕЛЬНОСТЬ
   ========================================================================== */

/* 1. Разрешаем стрелкам выходить за верхнюю границу карусели (чтобы подняться к заголовку) */
body.single-post .site-main .slick-slider,
body.single-post .site-main .swiper,
body.single-post .site-main .swiper-container,
body.single-post .site-main .owl-carousel {
    overflow: visible !important;
    position: relative !important;
}

/* Гарантируем, что сами слайды при этом не ломают сетку и не вылезают за рамки */
body.single-post .site-main .slick-list {
    overflow: hidden !important;
}

/* 2. Высокоточный перенос ВСЕХ видов стрелок в правый верхний угол */
body.single-post .site-main .slick-arrow,
body.single-post .site-main .slick-prev,
body.single-post .site-main .slick-next,
body.single-post .site-main .swiper-button-prev,
body.single-post .site-main .swiper-button-next,
body.single-post .site-main .owl-nav .owl-prev,
body.single-post .site-main .owl-nav .owl-next,
body.single-post .site-main .owl-nav button {
    /* Физически выталкиваем стрелки НАВЕРХ над каруселью (на уровень H2 заголовка) */
    position: absolute !important;
    top: -50px !important; 
    bottom: auto !important;
    
    /* Сносим внутренние трансформации темы, которые смещали их по центру и ломали клики */
    transform: none !important;
    margin: 0 !important;
    
    /* Максимальный приоритет для кликабельности и слоев */
    z-index: 99999 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    
    /* Возвращаем жесткую видимость */
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 3. Точечное позиционирование по горизонтали (обе стрелки принудительно уводим ВПРАВО) */

/* Левая стрелка ("Назад") — смещается вправо, но оставляет место для правой */
body.single-post .site-main .slick-prev,
body.single-post .site-main .swiper-button-prev,
body.single-post .site-main .owl-nav .owl-prev {
    left: auto !important;
    right: 55px !important; /* Дистанция (отступ) между двумя стрелками */
}

/* Правая стрелка ("Вперед") — встает строго в правый край */
body.single-post .site-main .slick-next,
body.single-post .site-main .swiper-button-next,
body.single-post .site-main .owl-nav .owl-next {
    left: auto !important;
    right: 0 !important;
}

/* 4. ЗАЩИТА ЗАГОЛОВКА: чтобы длинное название карусели не налезло на стрелки справа */
body.single-post .site-main h2,
body.single-post .site-main h3,
body.single-post .site-main .related-title {
    position: relative !important;
    padding-right: 120px !important; /* Блокируем зону под стрелки */
    box-sizing: border-box !important;
}
/* ==========================================================================
   ПОЗИЦИОНИРОВАНИЕ СТРЕЛОК ДЛЯ КАРУСЕЛИ НОВОСТЕЙ НА ГЛАВНОЙ
   ========================================================================== */

/* Делаем контейнер основой для точного позиционирования кнопок */
.home-news-carousel .container {
    position: relative !important;
}

/* Защищаем заголовок от накладывания стрелок */
.home-news-carousel h2 {
    padding-right: 120px !important;
    margin-bottom: 30px !important;
}

/* Базовые стили для обеих стрелок на главной */
.home-news-carousel .news-arrow {
    position: absolute !important;
    top: 0 !important; /* Ровно по линии верхней границы заголовка */
    bottom: auto !important;
    transform: none !important;
    z-index: 99 !important;
    background: transparent !important;
    border: none !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.home-news-carousel .news-arrow svg {
    width: 24px;
    height: 24px;
}

/* Левая стрелка (Eelmine) */
.home-news-carousel .news-arrow--prev {
    right: 50px !important;
    left: auto !important;
}

/* Правая стрелка (Järgmine) */
.home-news-carousel .news-arrow--next {
    right: 0 !important;
    left: auto !important;
}

/* Переносим точки пагинации (буллеты) пониже под слайдер */
.home-news-carousel .swiper-pagination {
    position: relative !important;
    margin-top: 25px !important;
    top: auto !important;
    bottom: 0 !important;
    text-align: center !important;
}
/* ==========================================================================
   СТИЛИЗАЦИЯ СТРЕЛОК КАРУСЕЛИ НОВОСТЕЙ (РЯДОМ С ЗАГОЛОВКОМ)
   ========================================================================== */

/* Контейнер для кнопок */
.news-arrows-wrapper {
    display: flex !important;
    gap: 8px !important;
}

/* Сами кнопочки-стрелки */
.news-arrows-wrapper .news-arrow {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    background: #f4f4f4 !important; /* Светло-серый фон кнопок */
    border: 1px solid #e0e0e0 !important;
    border-radius: 50% !important; /* Делаем их круглыми */
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #333 !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Эффект при наведении (акцентный зеленый цвет, как у твоих кнопок на сайте) */
.news-arrows-wrapper .news-arrow:hover {
    background: #198754 !important; 
    color: #fff !important;
    border-color: #198754 !important;
}

/* Размер иконок внутри стрелок */
.news-arrows-wrapper .news-arrow svg {
    width: 20px !important;
    height: 20px !important;
}

/* Точки пагинации (буллеты) центрируем строго под слайдером */
.home-news-carousel .swiper-pagination {
    position: relative !important;
    margin-top: 30px !important;
    top: auto !important;
    bottom: 0 !important;
    text-align: center !important;
}
/* ==========================================================================
   УНИВЕРСАЛЬНЫЕ КНОПКИ КАРУСЕЛИ (ГЛАВНАЯ + КОНСТРУКТОР + ФИКС СПРАВА)
   ========================================================================== */

/* 1. ФИКС ПОЗИЦИИ: Жестко выталкиваем стрелки в правый край контейнера */
.yo-builder-carousel-header {
    width: 100% !important; /* Гарантируем полную ширину flex-контейнера */
}

/* Обнуляем маргины заголовка, чтобы justify-content сработал верно */
.yo-builder-carousel-header h2 {
    margin-right: 0 !important;
}

/* Контейнер стрелок: магия margin-left: auto выталкивает его вправо */
.news-arrows-wrapper {
    display: flex !important;
    gap: 8px !important;
    margin-left: auto !important; /* УЛЬТРА-ФИКС: заставляет блок улететь вправо */
}

/* 2. БАЗОВЫЙ ДИЗАЙН КНОПОК-СТРЕЛОК */
.news-arrows-wrapper .news-arrow {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    background: #f4f4f4 !important; /* Светло-серый фон кнопок */
    border: 1px solid #e0e0e0 !important;
    border-radius: 50% !important; /* Ровный круг */
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #333 !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Эффект наведения мыши (красивый зеленый Bootstrap-цвет) */
.news-arrows-wrapper .news-arrow:hover {
    background: #198754 !important;
    color: #fff !important;
    border-color: #198754 !important;
}

/* Размер SVG иконок внутри кнопок */
.news-arrows-wrapper .news-arrow svg {
    width: 20px !important;
    height: 20px !important;
}

/* 3. АДАПТИВНОСТЬ: На мобильных центрируем заголовок и кнопки */
@media (max-width: 575px) {
    .yo-builder-carousel-header {
        flex-direction: column !important; /* Выстраиваем в столбик */
        gap: 15px !important;
        text-align: center !important;
    }
    
    .news-arrows-wrapper {
        margin-left: auto !important;
        margin-right: auto !important; /* Центрируем блок кнопок */
    }
}

/* Перенос и центрирование точек пагинации строго под слайдером */
.home-news-carousel .swiper-pagination,
.builder-section--posts-slider .swiper-pagination,
.news-swiper .swiper-pagination {
    position: relative !important;
    margin-top: 30px !important;
    top: auto !important;
    bottom: 0 !important;
    text-align: center !important;
}
/* ==========================================================================
   СТИЛИЗАЦИЯ КОЛОНОК ФУТЕРА (ИДЕАЛЬНАЯ СИММЕТРИЯ И ЦЕНТР)
   ========================================================================== */

/* Контейнер верхнего футера: делим на 3 равные колонки */
.site-footer__top {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* 3 колонки одинаковой ширины */
    gap: 30px !important; /* Расстояние между колонками */
    text-align: center !important; /* Центрируем текст */
    margin-bottom: 50px !important; /* Отступ до нижней линии футера с логотипом */
    width: 100% !important;
}

/* Отдельная колонка (Pizza, Pasta, Sushi) */
.site-footer__col {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Центрируем заголовок и список по горизонтали */
    justify-content: flex-start !important;
}

/* Заголовки колонок */
.site-footer__title {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important; /* Делаем буквы заглавными для солидности */
    letter-spacing: 1px !important;
    margin-bottom: 20px !important; /* Отступ от заголовка до ссылок */
    color: #222 !important; /* Цвет заголовков */
}

/* Список меню со ссылками */
.site-footer__menu {
    list-style: none !important; /* Убираем стандартные точки списков */
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important; /* Расстояние между ссылками по вертикали */
    align-items: center !important; /* Центрируем сами ссылки */
}

/* Элементы списка и ссылки */
.site-footer__menu li {
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer__menu li a {
    text-decoration: none !important;
    color: #555 !important; /* Спокойный серый цвет ссылок */
    font-size: 0.95rem !important;
    transition: all 0.25s ease-in-out !important;
    display: inline-block !important;
}

/* Эффект при наведении на ссылку в футере */
.site-footer__menu li a:hover {
    color: #198754 !important; /* Наш фирменный зеленый цвет при наведении */
    transform: translateY(-1px) !important; /* Легкий визуальный подскок */
}

/* ==========================================================================
   АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ
   ========================================================================== */
@media (max-width: 767px) {
    /* На планшетах и телефонах перестраиваем 3 колонки в один вертикальный столбец */
    .site-footer__top {
        grid-template-columns: 1fr !important; 
        gap: 45px !important; /* Увеличиваем отступ между блоками, чтобы они не слипались */
        margin-bottom: 40px !important;
    }
}
/* ==========================================================================
   6. ГЛОБАЛЬНАЯ НАСТРОЙКА ФОРМЫ (ИДЕАЛЬНАЯ СИММЕТРИЯ И ЦЕНТРОВКА ПО КРАЯМ)
   ========================================================================== */
.wpcf7 {
    display: block !important;
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    clear: both !important;
    box-sizing: border-box !important;
}

.wpcf7 form {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important; /* ВЫРАВНИВАНИЕ ПО ЦЕНТРУ: убирает огромный зазор справа, делит отступы поровну */
    gap: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.wpcf7 form br { display: none !important; }
.wpcf7 form p:empty { display: none !important; }

.wpcf7 form p,
.wpcf7 form .wpcf7-form-control-wrap {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Идеальный математический расчет под 3 колонки с учетом зазоров */
.wpcf7 form p:has(input[type="text"]),
.wpcf7 form p:has(input[type="email"]),
.wpcf7 form p:has(input[type="tel"]) {
    flex: 1 1 calc((100% - 40px) / 3) !important;
    width: calc((100% - 40px) / 3) !important;
    max-width: calc((100% - 40px) / 3) !important; /* Намертво фиксируем ширину */
}

.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form textarea {
    width: 100% !important;
    max-width: 100% !important; /* Сбрасываем жесткие ограничения темы на ширину инпутов */
    height: 46px !important;
    padding: 12px 16px !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    box-sizing: border-box !important;
}

.wpcf7 form p:has(textarea) {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}
.wpcf7 form textarea { height: 140px !important; resize: vertical !important; }

.wpcf7 form p:has(input[type="submit"]) {
    flex: 1 1 100% !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 10px !important;
}
.wpcf7 form input[type="submit"] {
    background: linear-gradient(135deg, #2c7be5, #00c6ff) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 45px !important;
    height: auto !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-block !important;
    width: auto !important;
}

/* УЛЬТИМАТИВНОЕ УНИЧТОЖЕНИЕ СИНЕГО ПРЯМОУГОЛЬНИКА ПО РОДНОЙ СТРУКТУРЕ */
.wpcf7 form .wpcf7-response-output {
    display: none !important; 
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
    display: block !important; 
    margin: 20px 0 0 0 !important;
    padding: 15px !important;
    border-radius: 8px !important;
    border-width: 2px !important;
    border-style: solid !important;
}

@media (max-width: 768px) {
    .wpcf7 form p:has(input[type="text"]),
    .wpcf7 form p:has(input[type="email"]),
    .wpcf7 form p:has(input[type="tel"]) {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* Базовые (неактивные) точки */
.home-swiper .swiper-pagination-bullet {
    background: #ffffff !important;
    opacity: 0.5 !important;
    width: 10px !important;
    height: 10px !important;
    transition: all 0.3s ease-in-out !important;
}

/* Активная точка */
.home-swiper .swiper-pagination-bullet-active {
    background: #198754 !important; /* Зеленый цвет вашей кнопки */
    width: 30px !important;          /* Растягиваем в ширину */
    border-radius: 5px !important;   /* Превращаем в аккуратную пилюлю */
    opacity: 1 !important;
    /* Создаем эффект внешней рамки через тень */
    box-shadow: 0 0 0 3px rgba(25, 135, 84, 0.4) !important; 
}
/* ==========================================================================
   ЖЕСТКОЕ ЦЕНТРИРОВАНИЕ ТРЕХ КОЛОНОК В ФУТЕРЕ
   ========================================================================== */

/* Центрируем саму строку-родителя */
.site-footer__top {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important; /* Выстраивает сами колонки ровно по центру */
    gap: 30px 80px !important;          /* Задает фиксированный шаг между колонками */
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

/* Задаем колонкам их прежний крупный размер, но сохраняем центрирование */
.site-footer__col {
    flex: 1 1 300px !important;         /* Даем колонкам свободно расширяться */
    width: 100% !important;
    max-width: 33.333% !important;      /* Возвращаем им честную треть ширины экрана (как у col-md-4) */
    text-align: center !important;      /* Текст и заголовки остаются по центру */
    float: none !important;
    padding: 0 15px !important;          /* Небольшие отступы по бокам, чтобы они не слипались */
}

/* Адаптивность для мобильных телефонов */
@media (max-width: 767px) {
    .site-footer__col {
        max-width: 100% !important;     /* На смартфонах они займут всю ширину экрана */
        margin-bottom: 30px;
    }
}

/* Центрируем списки ссылок внутри колонок */
.site-footer__menu {
    display: block !important;
    text-align: center !important;      /* Центрирует пункты меню */
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.site-footer__menu li {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* ==========================================================================
   ВОЗВРАТ РАЗМЕРА ТЕКСТА И УВЕЛИЧЕНИЕ ИНТЕРВАЛОВ В ФУТЕРЕ
   ========================================================================== */

/* Возвращаем заголовкам колонок родной размер из темы */
.site-footer__title {
    font-size: inherit !important;       /* Отменяем мелкий размер, возвращаем как было */
    font-weight: 600 !important;
    margin-bottom: 28px !important;      /* Увеличиваем расстояние от заголовка до первых ссылок */
}

/* Возвращаем ссылкам их родной размер */
.site-footer__menu a {
    font-size: inherit !important;       /* Текст снова станет крупным, как прежде */
    display: inline-block;
}

/* Увеличиваем расстояние между строками текста (ссылками) */
.site-footer__menu li {
    margin-bottom: 18px !important;      /* Было 10px, теперь расстояние между пунктами заметно больше */
    text-align: center !important;
}

/* На всякий случай убираем ограничение ширины, если оно сжимало текст */
.site-footer__col {
    flex: 1 1 320px !important;
    max-width: 33.333% !important;
}
/* ==========================================================================
   2. УЛЬТИМАТИВНОЕ МОБИЛЬНОЕ МЕНЮ (Экраны до 991px) — СТИЛЬ "МАТОВОЕ СТЕКЛО"
   ========================================================================== */
body.menu-is-open { 
    overflow: hidden !important; 
    height: 100vh !important; 
}

.desktop-only { 
    display: flex !important; 
}

.mobile-drawer { 
    display: none; 
}

@media (max-width: 991px) {
    .desktop-only, 
    .desktop-menu, 
    .site-header__socials { 
        display: none !important; 
    }
    
    header.site-header, 
    .site-header__inner { 
        position: relative !important; 
    }

    /* Кнопка гамбургера */
    button.menu-toggle {
        display: block !important; 
        position: absolute !important; 
        right: 20px !important;
        top: 50% !important; 
        transform: translateY(-50%) !important; 
        z-index: 99999 !important;
        background: none !important; 
        border: none !important; 
        width: 35px !important; 
        height: 35px !important;
        cursor: pointer !important; 
        padding: 0 !important;
    }

    button.menu-toggle .line {
        display: block !important; 
        width: 26px !important; 
        height: 2px !important;
        background-color: #000000 !important; 
        position: absolute !important; 
        left: 4px !important;
        transition: transform 0.25s ease, top 0.25s ease !important;
    }
    button.menu-toggle .line-top { top: 13px !important; }
    button.menu-toggle .line-bottom { top: 21px !important; }
    button.menu-toggle.is-active .line-top { transform: rotate(45deg) !important; top: 17px !important; }
    button.menu-toggle.is-active .line-bottom { transform: rotate(-45deg) !important; top: 17px !important; }

    /* Оболочка меню */
    .mobile-drawer {
        display: block !important; position: fixed !important; top: 0 !important; left: 0 !important; 
        width: 100vw !important; height: 100vh !important; z-index: 9999 !important; 
        visibility: hidden !important; opacity: 0 !important; transition: opacity 0.3s ease, visibility 0.3s !important; 
        pointer-events: none !important;
    }
    .mobile-drawer.is-open { visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; }
    
    /* Слой БЛЮРА — это наш "кремовый" фон */
    .mobile-drawer__blur-bg {
        position: absolute !important; top: 0 !important; left: 0 !important; 
        width: 100% !important; height: 100% !important;
        background: rgba(255, 255, 255, 0.25) !important;
        -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
        backdrop-filter: blur(28px) saturate(180%) !important;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,0.5) !important;
    }
   /* КОНТЕЙНЕР — убираем здесь любой фон, чтобы не было "облака" */
    .mobile-drawer__container {
        position: relative !important; z-index: 10 !important; height: 100% !important;
        display: flex !important; flex-direction: column !important; 
        padding: 110px 30px 40px 30px !important; overflow-y: auto !important;
        background: transparent !important; box-shadow: none !important; border: none !important;
    }

/* КОНТЕНТ — также прозрачный */
    .mobile-drawer__content { 
        display: flex !important; flex-direction: column !important; width: 100% !important; 
        align-items: flex-start !important; background: transparent !important;
    }
    
    .mobile-drawer__header { 
        width: 100% !important; margin-bottom: 35px !important; 
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important; padding-bottom: 15px !important; 
        background: transparent !important;
    }

    /* Блок меню (Ссылки парят прямо на заблюренном фоне, выравнивание слева) */
    .mobile-menu, .mobile-menu div, .mobile-menu ul, .mobile-menu li, .mobile-menu a {
        display: block !important; 
        visibility: visible !important; 
        opacity: 1 !important; 
        position: relative !important; 
        transform: none !important; 
        transition: none !important; 
        animation: none !important;
    }
    .mobile-menu { 
        width: 100% !important; 
        margin-bottom: 40px !important; 
    }
    .mobile-menu ul { 
        list-style: none !important; 
        padding: 0 !important; 
        margin: 0 !important; 
        display: flex !important; 
        flex-direction: column !important; 
        gap: 25px !important; 
        align-items: flex-start !important; 
    }
    .mobile-menu ul li a { 
        display: inline-block !important; 
        font-size: 1.35rem !important; 
        font-weight: 600 !important; 
        color: #1d1d1f !important; 
        text-decoration: none !important; 
        letter-spacing: -0.3px !important; 
    }

    /* Логотип */
    .mobile-drawer__logo-link { display: flex !important; align-items: center !important; gap: 12px !important; text-decoration: none !important; }
    .mobile-drawer__logo-svg { height: 38px !important; width: auto !important; display: block !important; }
    .mobile-drawer__logo-text { font-size: 1.3rem !important; font-weight: 700 !important; color: #1d1d1f !important; text-transform: uppercase !important; letter-spacing: -0.5px !important; }

    /* СОЦСЕТИ — В ЛИНЕЙКУ */
    .mobile-drawer__socials { 
        width: 100% !important; 
        border-top: 1px solid rgba(0, 0, 0, 0.08) !important; 
        padding-top: 30px !important; 
        display: flex !important; 
        flex-direction: row !important; 
        flex-wrap: nowrap !important;
        gap: 25px !important; 
        align-items: center !important;
        justify-content: flex-start !important;
        background: transparent !important;
    }
    
    .mobile-drawer__social-link { 
        display: inline-flex !important; 
        align-items: center !important; 
        justify-content: center !important;
        text-decoration: none !important; 
        color: #515154 !important; 
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
    }
    
    .mobile-drawer__social-icon svg { 
        width: 22px !important; 
        height: 22px !important; 
        fill: currentColor !important; 
        display: block !important; 
    }

    /* Адаптивность секций на мобильном */
    .builder-section { padding-top: 30px !important; padding-bottom: 30px !important; }
    .builder-page__hero { padding-top: 40px !important; padding-bottom: 20px !important; }
    .builder-page__title { font-size: 2rem !important; }
    .builder-section__title { font-size: 1.6rem !important; margin-bottom: 15px !important; }
    
    /* Складывание Текст+Медиа */
    .builder-text-media, .builder-text-media.builder-text-media--reverse { display: flex !important; flex-direction: column !important; gap: 24px !important; }
    .builder-text-media__content, .builder-text-media__media { width: 100% !important; max-width: 100% !important; }
    .builder-text-media__image { width: 100% !important; height: auto !important; object-fit: cover !important; }
    .builder-two-columns { display: flex !important; flex-direction: column !important; gap: 30px !important; }
    .builder-two-columns__col { width: 100% !important; max-width: 100% !important; }
}
