/*Переопределение стандартных стилей Bulma */
.title.is-1 {
  font-size: 2.6rem;
}
.title.is-2 {
  font-size: 2.3rem;
}
.content ul {
    margin-inline-start: 1em;
  }
@media screen and (max-width: 400px) {
.content ul {
    margin-inline-start: 0.5em;
  }
} 
/* Конец переопределений */
/* Подключение шрифта Inter */
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Подключение шрифта JetBrains Mono */
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/JetBrainsMono-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/JetBrainsMono-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
/* Подключаем обычный рукописный шрифт */
@font-face {
    font-family: 'Caveat Local';
    src: url('../fonts/Caveat-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Подключаем жирный вариант для активного тега */
@font-face {
    font-family: 'Caveat Local';
    src: url('../fonts/Caveat-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Применение шрифтов и цветов */
/* Для всего базового контента используем JetBrains Mono и задаем цвет текста */
body {
    font-family: 'JetBrains Mono', monospace;
    color: rgba(28, 15, 15, 0.75);
}
.table td {
    font-family: 'JetBrains Mono', monospace;
    color: rgba(28, 15, 15, 0.75);
}

/* Перебиваем специфичные текстовые блоки Bulma, включая параграфы, списки и контейнер .content */
.content, 
.content p, 
.content ul, 
.content ol, 
.content li, 
.content strong,
.content span,
main,
p {
    color: rgba(28, 15, 15, 0.75);
}

/* Для заголовков Bulma используем Inter и задаем цвет */
h1, h2, h3, h4, h5, h6, .title, .subtitle {
    font-family: 'Inter', sans-serif !important;
    color: rgba(65, 23, 23, 0.85) !important; 
}
/* Отрисовка стрелочек на чистом CSS */
.custom-slider-wrapper .arrow-icon {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #d9c3b0;
    border-left: 2px solid #d9c3b0;
    transition: border-color 0.2s ease;
}

/* Разворачиваем уголки в нужные стороны */
.custom-slider-wrapper .arrow-icon.left {
    transform: rotate(-45deg);
    margin-left: 3px; /* Оптическое центрирование */
}

.custom-slider-wrapper .arrow-icon.right {
    transform: rotate(135deg);
    margin-right: 3px; /* Оптическое центрирование */
}

/* Меняем цвет стрелочки при наведении на кнопку */
.custom-slider-wrapper .slider-arrow:hover .arrow-icon {
    border-color: #ffffff;
}

/* Стили для меню (Navbar) */
nav.navbar,
nav.navbar .navbar-menu,
nav.navbar .navbar-brand {
    background-color: #411717;
}

/* Цвет ссылок в меню — благородный бежево-льняной + шрифт Inter */
nav.navbar .navbar-start .navbar-item,
nav.navbar .navbar-end .navbar-item,
nav.navbar .navbar-link {
    color: #d9c3b0;
    font-family: 'Inter', sans-serif;
}

/* Убираем фиксированную ширину, возвращаем дефолтные отступы Bulma */
@media screen and (min-width: 1024px) {
    nav.navbar .navbar-start .navbar-item {
        width: auto; 
    }
}

/* Эффект при наведении на пункты меню — делаем чуть ярче */
nav.navbar .navbar-start .navbar-item:hover,
nav.navbar .navbar-end .navbar-item:hover,
nav.navbar .navbar-link:hover {
    background-color: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

/* Убираем эффект засвета (вспышки) при клике и удержании фокуса */
nav.navbar .navbar-start .navbar-item:focus,
nav.navbar .navbar-start .navbar-item:active,
nav.navbar .navbar-end .navbar-item:focus,
nav.navbar .navbar-end .navbar-item:active,
nav.navbar .navbar-link:focus,
nav.navbar .navbar-link:active {
    background-color: transparent;
    color: #d9c3b0;
}

/* Выделение для активного пункта (облегченный коричневый) */
nav.navbar .navbar-start .navbar-item.is-active,
nav.navbar .navbar-end .navbar-item.is-active,
nav.navbar .navbar-start .navbar-item.is-active:focus,
nav.navbar .navbar-start .navbar-item.is-active:active {
    background-color: #732e2e; 
    color: #ffffff;
}

/* Полоски бургера */
nav.navbar .navbar-burger {
    color: #d9c3b0;
}
nav.navbar .navbar-burger span {
    background-color: #d9c3b0;
}

/* Стилизация правой части: Селектор и Поиск */
nav.navbar .navbar-end {
    align-items: center; /* Центрируем селектор и форму по вертикали */
    padding-right: 1rem;
}
/* Задаем единое минимальное скругление для всех элементов управления в шапке */
nav.navbar .select select,
nav.navbar .input,
nav.navbar .search-form-navbar .button {
    border-radius: 4px !important;
} 

/* Управление шириной формы поиска на десктопах */
@media screen and (min-width: 1024px) {
    nav.navbar .search-form-navbar {
        width: 22rem; /* Сделали форму ощутимо шире */
    }
}

/* Приглушаем ядовито-белый фон инпута и селектора под архивный стиль */
nav.navbar .select select,
nav.navbar .input {
    background-color: #f6f4e8; /* Мягкий кремово-бумажный оттенок */
    border: 1px solid #d4c5b3;
    color: rgba(28, 15, 15, 0.85);
    font-family: 'Inter', sans-serif;
}

/* Ховеры для инпутов, чтобы не выбивались синим цветом Bulma */
nav.navbar .select select:hover,
nav.navbar .input:hover,
nav.navbar .input:focus {
    border-color: #a68f77;
    box-shadow: none;
}
/* Стилизация кнопки "Искать" под архивный стиль */
nav.navbar .search-form-navbar .button.is-black {
    background-color: #732e2e !important; /* Бежево-кремовый фон, как у инпута */
    color: #ffffff !important; /* Темно-коричневый текст заголовков */
    font-family: 'Inter', sans-serif;
}

/* Ховер для кнопки "Искать" при наведении */
nav.navbar .search-form-navbar .button.is-black:hover {
    background-color: #d9c3b0 !important; /* Чуть более насыщенный бумажный тон при наведении */
    color: rgba(65, 23, 23, 1) !important;
    border-color: #a68f77 !important;
}

/* Отступы и центрирование для мобильной версии меню (off-canvas) */
@media screen and (max-width: 1023px) {
    /* Центрируем ссылки самого меню */
    nav.navbar .navbar-start .navbar-item,
    nav.navbar .navbar-start .navbar-link {
        text-align: center;
        justify-content: center;
    }

    nav.navbar .mb-4-mobile {
        margin-bottom: 1.5rem !important;
        margin-right: 0 !important;
    }
    
    /* Выравниваем ширину селектора и поиска на мобильных по центру */
    nav.navbar .navbar-end {
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    nav.navbar .search-form-navbar {
        max-width: 100%;
    }
}
/*Конец блока стилей меню*/

/* Стили для подвала (Footer) */
footer, 
.footer {
    background-color: #411717 !important;
    padding: 3rem 1.5rem 6rem !important;
}

/* Цвет текста и ссылок в футере */
.footer, 
.footer p, 
.footer strong {
    color: #d9c3b0 !important;
}

/* Намертво пробиваем цвет для ссылок меню футера */
.footer a,
.footer .level-right .level-item a,
.footer .level-right p a {
    color: #d9c3b0 !important;
    text-decoration: none !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.9rem !important;
}

/* Эффект ховера в цветах темы */
.footer a:hover,
.footer .level-right .level-item a:hover,
.footer .level-right p a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}
/* конец стилей футера */

/* Общий бумажный лист для всего контента страницы */
/* Общий бумажный лист для всего контента страницы */
/* Общий бумажный лист для всего контента страницы */
/* Общий бумажный лист для всего контента страницы */
.paper-box {
    background-image: url('../images/paper-bg.jpg'); 
    background-image: url('../images/paper-bg.avif'); 
    background-repeat: repeat;
    background-size: 100% auto;
    border: 1px solid #d4c5b3;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    
    /* Большие, солидные отступы для компьютеров */
    padding: 3rem; 
}

/* Адаптивные стили для мобильных экранов */
@media screen and (max-width: 768px) {
    .paper-box {
        padding: 1.5rem 1rem;
        border: none;
    }
    main#main-content {
    padding: 0;
  } 
  /* Заголовки на мобильных */
    .title.is-1, .content h1, 
    h1.title {
        font-size: 2rem;
        line-height: 1.25;
    }
    .title.is-2, .content h2, 
    h2.title {
        font-size: 1.8rem;
        line-height: 1.3;
    }
    .title.is-3, .content h3, 
    h3.title {
        font-size: 1.6rem;
        line-height: 1.3;
    }
    .title.is-4, .content h4, 
    h4.title {
        font-size: 1.4rem;
        line-height: 1.3;
    }
    .title.is-5, .content h5, 
    h5.title {
        font-size: 1.2rem;
        line-height: 1.3;
    }
    .title.is-6, .content h6, 
    h6.title {
        font-size: 1.1rem;
        line-height: 1.3;
    }
    .title:not(:last-child) {
        margin-bottom: 0.8rem;
    }
}

/* Сбрасываем жесткие боксы Bulma, делая их прозрачными подложками */
.transparent-box {
    background-color: transparent;
    box-shadow: none;
    border: none;
}

/* Решение проблемы с тенями: вешаем фильтр строго на силуэт картинки */
.photo-card {
    display: block;
    margin: 0 auto; /* Центрируем фото по горизонтали */
    max-width: 100%;
    height: auto;
    max-height: 250px; /* Ограничиваем высоту в ряду, чтобы фотки не прыгали */
    border-radius: 4px;
    transition: transform 0.3s ease, filter 0.3s ease;

    /* Браузерный фильтр тени: обтекает физические контуры самого изображения, а не блок */
    filter: drop-shadow(0 8px 12px rgba(38, 5, 5, 0.32)) 
            drop-shadow(0 2px 4px rgba(38, 5, 5, 0.22));
}

/* Эффект приподнятия при наведении */
.lightbox-link:hover .photo-card {
    transform: scale(1.04);
    filter: drop-shadow(0 15px 20px rgba(38, 5, 5, 0.42)) 
            drop-shadow(0 4px 8px rgba(38, 5, 5, 0.28));
}

/* Адаптивный контейнер для видео 16:9 */
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
/* Кастомные кнопки навигации в фирменных цветах */
.button.nav-btn {
    background-color: #411717;
    color: #d9c3b0;
    border-color: #d4c5b3;
    transition: background-color 0.2s ease, color 0.2s ease;
    max-width: 300px; 
    width: 98%;       
    margin: 0 auto;
}

/* Эффект при наведении курсора */
.button.nav-btn:hover {
    background-color: #572020;
    color: #ffffff;
}

/* Состояние заблокированной кнопки */
.button.nav-btn[disabled] {
    background-color: rgba(65, 23, 23, 0.8);
    color: #d9c3b0;
    border-color: #d4c5b3;
    cursor: not-allowed;
}
/* Базовое состояние ссылок в общем списке каталога */
.content ul li a.listing-link {
    color: rgba(28, 15, 15, 0.75);
    text-decoration: none;
    border-bottom: 1px dashed rgba(65, 23, 23, 0.3); /* Перенесли пунктир сюда */
    padding-bottom: 2px;
    display: inline-block;
    transition: color 0.2s ease, border-bottom-color 0.2s ease, border-bottom-style 0.2s ease;
}

/* При наведении ссылка становится светло-коричневой, а пунктир — сплошной линией */
.content ul li a.listing-link:hover {
    color: #572020;
    border-bottom-style: solid;
    border-bottom-color: #572020;
}

/* Стилизация изображений внутри текста статей с эффектом drop-shadow */
main .article-body img {
    display: block;
    margin: 2rem auto;
    max-width: 96%;
    max-height: 500px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    cursor: zoom-in;
    transition: transform 0.3s ease, filter 0.3s ease;

    filter: drop-shadow(0 8px 12px rgba(38, 5, 5, 0.22)) 
            drop-shadow(0 2px 4px rgba(38, 5, 5, 0.12));
}

/* Эффект приподнятия картинки в тексте при наведении */
main .article-body img:hover {
    transform: scale(1.02);
    filter: drop-shadow(0 15px 20px rgba(38, 5, 5, 0.32)) 
            drop-shadow(0 4px 8px rgba(38, 5, 5, 0.18));
}
/* Адаптивность для хлебных крошек на мобильных */
.breadcrumb ul {
    flex-wrap: wrap;
}

.breadcrumb li {
    min-width: 0; 
}
.breadcrumb li a, 
.breadcrumb li span {
    white-space: normal;
    word-break: break-word; 
    text-align: left;      
}
/* Полностью лечим поведение картинок внутри модального окна */
.modal-content img {
    max-width: 100%;   
    max-height: 80vh;  
    width: auto;      
    height: auto;      
    display: block;
    margin: 0 auto;               
}
.modal {
    --bulma-modal-content-width: 80rem;
}

/* ==========================================================================
   Кастомный слайдер для галереи на вкладках
   ========================================================================== */
.custom-slider-wrapper .custom-slides-container {
    height: 450px !important;
}
.custom-slider-wrapper .custom-slide img {
    max-height: 380px !important;
}
.custom-slider-wrapper .custom-slide.is-active {
    opacity: 1 !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}

/* Ховер-эффекты для стрелок слайдера в цветах темы */
.custom-slider-wrapper .slider-arrow:hover {
    background: #572020 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
/* Исправление цвета цифр в счётчике слайдера */
.custom-slider-wrapper .slider-counter {
    color: #d9c3b0;
}
.custom-slider-wrapper .slider-counter span {
    color: #d9c3b0;
}

/* Адаптивность высоты слайдера под мобильные экраны */
@media screen and (max-width: 768px) {
    .custom-slider-wrapper .custom-slides-container {
        height: 320px !important;
    }
    .custom-slider-wrapper .custom-slide img {
        max-height: 260px !important;
    }
    .custom-slider-wrapper .slider-arrow {
        width: 36px !important;
        height: 36px !important;
    }
    .custom-slider-wrapper .slider-counter {
        bottom: 50px !important;
        right: 15px !important;
    }
}
/* ==========================================================================
   Адаптивный сайдбар-шторка (Offcanvas) для фильтров — СЛЕВА
   ========================================================================== */

/* На мобильных устройствах и планшетах (до брейкпоинта Bulma 1023px) */
@media screen and (max-width: 1023px) {
    .mobile-sidebar-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5); /* Мягкое затемнение фона сайта */
        z-index: 1000;
        display: none; /* По умолчанию скрыто */
        padding: 0;
    }

    /* Когда шторка активирована кнопкой */
    .mobile-sidebar-overlay.is-active {
        display: block;
    }

    /* Контейнер, который выезжает СЛЕВА */
    .mobile-sidebar-overlay .sidebar-content-wrapper {
        position: absolute;
        top: 0;
        left: 0; /* Перенесли налево */
        width: 280px; /* Аккуратная ширина */
        height: 100%;
        background-color:#f6f4e8; 
        box-shadow: 4px 0 16px rgba(0, 0, 0, 0.15);
        padding: 2rem 1.5rem;
        overflow-y: auto;
    }

    /* ФИКСИРОВАННАЯ КНОПКА «ФИЛЬТР» ВНИЗУ ЭКРАНА */
    #open-filters-btn {
        position: fixed;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%); /* Центрируем по горизонтали */
        z-index: 999;
        background-color: #572020; /* Темно-бордовый в цвет темы */
        color: #d9c3b0;
        border: 1px solid #d4c5b3;
        border-radius: 25px; /* Скругленная кнопка-таблетка */
        padding: 0.5rem 1.5rem;
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.9rem;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
        display: inline-flex;
        align-items: center;
        gap: 8px; /* Отступ между лупой и текстом */
    }

    #open-filters-btn:hover {
        background-color: #411717;
        color: #ffffff;
    }
}

/* На десктопах (от 1024px и выше) возвращаем стандартное правое положение Bulma */
@media screen and (min-width: 1024px) {
    .mobile-sidebar-overlay {
        display: block !important;
        position: static;
        background-color: transparent;
        padding: 0.75rem;
    }
    .mobile-sidebar-overlay .sidebar-content-wrapper {
        position: static;
        width: auto;
        height: auto;
        background-color: transparent;
        box-shadow: none;
        padding: 0;
    }
}

/* Адаптация таблиц характеристик на мобильных (вкладки Главное и Характеристики) */
@media screen and (max-width: 768px) {
    .table-container table.table tbody,
    .table-container table.table tr,
    .table-container table.table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }
    
    .table-container table.table tr {
        padding: 0.75rem 0;
        border-bottom: 1px dashed rgba(54, 18, 13, 0.1);
    }
    
    .table-container table.table td {
        padding: 0.25rem 0;
        border: none;
    }  
    
    /* Слегка отделяем значение от названия поля */
    .table-container table.table td:first-child {
        padding-bottom: 0;
    }
} 
/* Оформление внешнего вида вкладок вывода сортов */
.tabs.is-boxed li.is-active a {
background-color: rgba(38, 5, 5, 0.1);
color: rgba(38, 5, 5, 0.78);
font-weight: bold;
}
/* Блок сортировки на листинге селекционеров */
.sorting-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem 0;
}

.sorting-container .style-order-label {
    white-space: nowrap;
    font-family: 'JetBrains Mono', monospace;
    color: rgba(38, 5, 5, 0.78);
    font-size: 1.1rem;
    margin-right: 0.75rem;
    margin-bottom: 0;
}

.sorting-container .select-control select {
    font-family: 'JetBrains Mono', monospace;
    color: rgba(28, 15, 15, 0.75);
    background-color: rgba(255, 255, 255, 0.5);
    border: 2px solid rgba(54, 18, 13, 0.15);
    box-shadow: none;
    border-radius: 4px;
}

/* Перебиваем дефолтный ховер Bulma, чтобы рамка оставалась благородной */
.sorting-container .select-control select:hover,
.sorting-container .select-control select:focus {
    border-color: rgba(54, 18, 13, 0.35);
}

.sorting-container .select-control select option {
    color: rgba(28, 15, 15, 0.75);
    background-color: #ffffff;
}

/* Стилизация выпадающего списка алфавита */
.alphabet-select-control select {
    font-family: 'JetBrains Mono', monospace !important;
    color: rgba(28, 15, 15, 0.75) !important;
    background-color: rgba(255, 255, 255, 0.5) !important;
    border: 2px solid rgba(54, 18, 13, 0.15) !important;
    box-shadow: none;
    border-radius: 4px;
    width: 100%;
}

/*Стилизация селекторов в сайдбаре*/
.select.is-fullwidth select {
    font-family: 'JetBrains Mono', monospace !important;
    color: rgba(28, 15, 15, 0.75) !important;
    background-color: rgba(255, 255, 255, 0.5) !important;
    border: 2px solid rgba(54, 18, 13, 0.15) !important;
    box-shadow: none;
    border-radius: 4px;
    width: 100%;
}

/* Ховер и фокус для алфавита */
.alphabet-select-control select:hover,
.alphabet-select-control select:focus {
    border-color: rgba(54, 18, 13, 0.35) !important;
}

/* Стилизация опций внутри селекта */
.alphabet-select-control select option {
    color: rgba(28, 15, 15, 0.75) !important;
    background-color: #ffffff !important;
}

/* Фирменная кнопка сброса фильтров в сайдбаре */
.button.reset-filter-btn {
    background-color: #411717 !important;
    color: #d9c3b0 !important;
    border: 1px solid #d4c5b3 !important;
    font-family: 'JetBrains Mono', monospace !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

/* Ховер для кнопки сброса */
.button.reset-filter-btn:hover {
    background-color: #572020 !important;
    color: #ffffff !important;
}

/* Новый класс для старинных гравюр на главной странице */
.photo-vintage-homepage {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    max-height: 450px; /* Удерживаем ряд в стабильных границах */
    border-radius: 4px;
    
    /* Начальное состояние: бледный вид за счет полупрозрачности */
    opacity: 0.8; 
    
    /* Базовая контурная тень, заставляющая гравюру "лежать" на бумаге */
    filter: drop-shadow(0 6px 10px rgba(38, 5, 5, 0.32));
    
    /* Плавный переход для всех эффектов */
    transition: opacity 0.5s ease, transform 0.5s ease, filter 0.5s ease;
}

/* Навешиваем индивидуальные углы наклона для картинок только на десктопах */
@media screen and (min-width: 769px) {
    .photo-vintage-1 { transform: rotate(-1.7deg) translate(-15px, -10px);}
    .photo-vintage-2 { transform: rotate(1.9deg) translate(20px, 5px);}
    .photo-vintage-3 { transform: rotate(-1.5deg) translate(-20px, 0);}
    .photo-vintage-4 { transform: rotate(1.6deg) translate(15px, -12px);}
}

/* Перебиваем базовый ховер, чтобы при наведении поворот плавно сбрасывался в ноль */
@media screen and (min-width: 769px) {
    .photo-vintage-homepage:hover {
        transform: rotate(0deg) translate(0, 0) scale(1.10) !important;
        z-index: 10;
        position: relative;
    }
}

/* Эффект при наведении курсора */
.photo-vintage-homepage:hover {
    opacity: 0.95;          /* Полупрозрачность уходит, фото становится темнее */
    transform: scale(1.10); /* Плавное увеличение на 10% */
    
    /* Тень становится заметно глубже, создавая эффект приподнимания */
    filter: drop-shadow(0 14px 18px rgba(38, 5, 5, 0.42))
            drop-shadow(0 4px 6px rgba(38, 5, 5, 0.25));
}

/* Кастомный класс для подзаголовков блоков на главной */
.homepage-block-title {
    font-family: 'JetBrains Mono', monospace !important;
    font-weight: 600 !important;
    color: rgba(107, 51, 51, 0.9) !important; 
    margin-bottom: 1.5rem !important;
}

/* Контейнер для строки оглавления */
.homepage-announcement-list li {
    list-style: none !important;
    margin-bottom: 0.8rem;
    display: flex;
    align-items: flex-end; /* Выравниваем точки и дату по нижней линии текста */
    gap: 8px;
}

/* Ссылка с названием (запрещаем сжатие) */
.homepage-announcement-list .announcement-title-wrapper {
    flex-shrink: 1;
    display: inline-flex;
    gap: 5px;
}

/* Наш заполнитель точками */
.homepage-announcement-list .announcement-leader {
    flex-grow: 1;
    border-bottom: 2px dotted rgba(28, 15, 15, 0.3); /* Цвет точек в тон чернил */
    height: 4px; /* Приподнимаем точки к центру строки */
    margin-bottom: 4px;
}

/* Элемент даты (запрещаем перенос внутри даты и сжатие) */
.homepage-announcement-list .announcement-date {
    flex-shrink: 0;
    white-space: nowrap;
    font-family: 'JetBrains Mono', monospace;
    color: rgba(28, 15, 15, 0.5);
}

/* Мобильный реверс колонок для шахматной сетки на главной */
@media screen and (max-width: 1023px) {
    .columns.is-multiline.is-reversed-mobile {
        display: flex !important;
        flex-direction: column-reverse !important;
    }
}

/* Логотип грозди в заголовке на главной */
.homepage-grape-logo {
    height: 1em;
    margin-left: 0.2em;
    opacity: 0.8;
}

@media screen and (max-width: 500px) {
    h1.title.is-1 {
        display: inline-flex !important; /* Намертво возвращаем флекс, который Bulma сбрасывает на мобильных */
        align-items: center !important;  /* Жестко центрируем картинку ровно между двумя строками */
    }
    .homepage-grape-logo {
    height: 1.5em;
  }
}

/* Сброс дефолтных списков для нативного пейджера Bolt v6 */
.pagination-wrapper nav,
.pagination-wrapper ul {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Элементы пагинации (ссылки, кнопки, текущая страница) */
.pagination-wrapper a,
.pagination-wrapper span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.75rem;
    min-width: 2.25rem;
    height: 2.25rem;
    border: 1px solid #d4c5b3;
    border-radius: 4px; /* В тон инпутам шапки */
    background-color: #f6f4e8; /* Мягкий кремовый оттенок чернил */
    color: rgba(28, 15, 15, 0.75);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Ховер для активных кнопок */
.pagination-wrapper a:hover {
    background-color: #572020;
    border-color: #572020;
    color: #ffffff;
}

/* Текущая активная страница — благородный бордовый */
.pagination-wrapper .current,
.pagination-wrapper span.current,
.pagination-wrapper li.active a {
    background-color: #732e2e;
    border-color: #732e2e;
    color: #ffffff;
    font-weight: bold;
    cursor: default;
}

/* Неактивные элементы и многоточия (блокируем ховер) */
.pagination-wrapper .disabled a,
.pagination-wrapper .disabled span,
.pagination-wrapper .ellipse,
.pagination-wrapper span.gap {
    background-color: transparent;
    border-color: transparent;
    color: rgba(28, 15, 15, 0.4);
    cursor: not-allowed;
}
.pagination-wrapper .disabled a:hover {
    background-color: transparent;
    border-color: transparent;
    color: rgba(28, 15, 15, 0.4);
}
/* Фиксированное позиционирование баннера куки */
.vineyard-cookie-banner {
    position: fixed; 
    bottom: 20px; 
    right: 20px; 
    max-width: 400px; 
    z-index: 20; 
    display: none; 
    margin: 0;
    border: 2px solid #d4c5b3;
    background-color: #f6f4e8;
    border-radius: 4px;
    box-shadow: 1px -1px 12px rgba(0, 0, 0, 0.3);
}
/* Адаптив для узких экранов */
@media screen and (max-width: 480px) {
    .vineyard-cookie-banner { right: 2%; left: 2%; max-width: 96%; bottom: 15px; }
}
/* Конец стилей баннера куки */

/* ==========================================================================
   Листинг Поставщиков (suppliers.twig)
   ========================================================================== */

/* Кастомный класс для более темных и контрастных ссылок */
.supplier-listing-link {
    color: rgba(28, 15, 15, 0.85) !important;
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.15rem;
    font-weight: 500;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(87, 32, 32, 0.4);
    padding-bottom: 2px;
    display: inline-block;
    transition: color 0.2s ease, border-bottom-color 0.2s ease, border-bottom-style 0.2s ease;
}

/* Эффект ховера для ссылки */
.supplier-listing-link:hover {
    color: #572020 !important;
    border-bottom-style: solid;
    border-bottom-color: #572020;
}

/* Уникальный класс плашки Статуса (Бордово-коричневая) */
.tag-supplier-status {
    background-color: #411717 !important;
    color: #d9c3b0 !important;
    border: 1px solid #d4c5b3;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 600;
}

/* Уникальный класс плашки Страны (Кремово-бумажная) */
.tag-supplier-homeland {
    background-color: #f6f4e8 !important;
    color: rgba(65, 23, 23, 0.85) !important;
    border: 2px solid #d4c5b3;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 00;
}

/*Стили для результатов Гугл поиска */
.gsc-control-cse {
    font-family: 'Inter' !important;
    background-color: transparent !important;
    border: none !important;
}
.gsc-control-cse .gsc-table-result {
    font-family: 'JetBrains Mono' !important;
}
.gsc-webResult.gsc-result, .gsc-results .gsc-imageResult {
    background-color: transparent !important;
    border: none !important;
}
.gsc-wrapper {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.gsc-above-wrapper-area {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.gs-result .gs-title:hover {
    text-decoration: none !important;
}

/* Ссылки списка тегов */
.article-tag-link {
    font-family: 'Caveat Local', cursive;
    color: rgba(65, 23, 23, 0.85); 
    font-size: 1.8em;
    margin-bottom: 1.1rem;
    line-height: 1.6rem;
    text-decoration: none;
    text-transform: lowercase;
    display: inline-block;
    transition: color 0.2s ease, border-bottom-color 0.2s ease, border-bottom-style 0.2s ease;
}

/* Ссылки тегов при наведении */
.article-tag-link:hover {
    border-bottom: solid 1px;
    border-bottom-color: rgba(65, 23, 23, 0.85);
}
/*Заголовок сайдбара (списка тегов)*/
.sidebar-handwritten-title {
    font-family: 'Caveat Local', cursive;
    font-size: 2rem; 
    color: rgba(65, 23, 23, 0.85); 
    margin-bottom: 2rem;
    margin-top: 0.5rem;
}

/* Адаптивная сетка листинга: 1 колонка на мобильных, 2 колонки на десктопах */
.grapes-responsive-columns {
    margin-left: 0px !important;
    padding-left: 0px !important;
    list-style: none; 
    column-count: 1;
    column-gap: 0;
}

/* Для десктопов (от 1024px по сетке Bulma) переключаем в 2 колонки */
@media screen and (min-width: 1024px) {
    .grapes-responsive-columns {
        column-count: 2;
        column-gap: 40px;
    }
}

.grapes-responsive-columns li {
    margin-bottom: 0.75rem; /* аналог mb-3 в Bulma */
    list-style-type: none !important; 
    margin-right: 30px;
    break-inside: avoid;
    page-break-inside: avoid;
}
@media screen and (max-width: 1023px) {
    .grapes-responsive-columns li {
        margin-left: 30px;
    }
}
.grapes-responsive-columns li a {
    font-size: 1.15rem;
    display: inline-block;
}

/* Анимация плавного появления новых сортов винограда */
@keyframes grapeFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.grape-item-animated {
    animation: grapeFadeIn 0.4s ease forwards;
}

/* Стилизация и центрирование кнопки дозагрузки по UX-плану */
.load-more-btn-custom {
    font-weight: 500 !important;
}
.load-more-btn-custom {
   max-width: 170px;
   margin-left: 0;
}
@media screen and (max-width: 768px) {
    .load-more-btn-custom {
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
    }
}
/* Горизонтальный скролл таблиц на узких экранах */
.table-article {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Плавный скролл на iOS */
    margin-bottom: 1em;
}

.table-article table {
    display: table;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse; /* Чтобы рамки ячеек не двоились */
    width: 100%; /* Растягивает таблицу в пределах контейнера */
}

/* Стили для заголовков таблиц */
.table-article th {
    border: 1px solid rgba(28, 15, 15, 0.75) !important;
    padding: 10px;
    background-color: #fcf8f8 !important; /* Легкий светлый фон для контраста заголовков */
    font-weight: 600 !important;
    text-align: left;
}

/* Стили для обычных ячеек */
.table-article td {
    border: 1px solid rgba(28, 15, 15, 0.75) !important;
    padding: 10px;
    text-align: left;
}

/* Подпись таблицы (caption), если используется */
.table-article caption {
    font-weight: bold;
    margin-bottom: 8px;
    text-align: left;
    color: #411717;
}



