/* =========================================
   1. СБРОСЫ И БАЗА
   ========================================= */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #2c2c2c;
    background-color: #f2ede6;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-image: radial-gradient(circle at 10% 20%, rgba(255,255,255,0.6) 0%, transparent 40%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
button { font-family: inherit; }

/* Цветовые переменные */
:root {
    --il-accent: #6b1d2b;
    --il-accent-hover: #52141f;
    --il-gold: #d4af37;
    --il-bg-light: rgba(255, 255, 255, 0.85);
    --il-border: rgba(0, 0, 0, 0.06);
    --il-text-muted: #8a8580;
    --il-primary: #2c2c2c;
    --il-glass: rgba(255, 255, 255, 0.9);
}

.il-container {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
}
main {
    display: block;
    width: 100%;
}
.middle {
    max-width: 1360px;
    margin: 0 auto;
    margin-top: 0px;
    box-sizing: border-box;
    margin-top: -1px;
    padding: 0 24px;
}

/* =========================================
   2. ШАПКА
   ========================================= */
.il-header {
    background: var(--il-glass);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--il-border);
    box-shadow: 0 4px 30px rgba(0,0,0,0.03);
    transition: transform 0.3s ease;
}

.il-header.hidden { transform: translateY(-100%); }

/* Верхняя полоса */
.il-top-bar {
    font-size: 12px;
    color: var(--il-text-muted);
    padding: 8px 0;
    border-bottom: 1px solid var(--il-border);
}
.il-top-bar .il-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.il-top-menu { display: flex; gap: 20px; }
.il-top-menu a { color: var(--il-text-muted); transition: 0.2s; }
.il-top-menu a:hover { color: var(--il-accent); }

.il-top-right { display: flex; align-items: center; gap: 20px; }
.il-geo { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.il-geo b { color: var(--il-primary); border-bottom: 1px dashed var(--il-text-muted); font-weight: 500; }
.il-phone a { font-weight: 600; font-size: 14px; color: var(--il-primary); }
.form_callback { font-size: 11px; color: var(--il-text-muted); cursor: pointer; }
.form_callback:hover { color: var(--il-accent); }

/* Основная часть (Лого, Поиск, Корзина) */
.il-header-main {
    padding: 16px 0;
}

/* Возвращаем Flexbox, но с жесткими колонками */
.il-header-main .il-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ЛОГОТИП: жестко 280px слева */
.il-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    width: 280px; /* Фиксируем ширину */
    flex-shrink: 0; /* Запрещаем сжиматься */
}

/* ПОИСК: занимает всё место между колонками */
.il-search {
    flex-grow: 1;
    position: relative;
    margin: 0 30px; /* Отступы от лого и корзины */
    max-width: 700px; /* Ограничиваем максимальную ширину */
}
.il-search form { display: flex; width: 100%; margin: 0; }
.il-search input {
    width: 100%; padding: 10px 16px; border: 1px solid var(--il-border);
    border-radius: 10px; background: rgba(255,255,255,0.5); font-size: 14px; outline: none; transition: 0.2s;
    font-family: inherit;
}
.il-search input:focus { border-color: var(--il-accent); background: #fff; }
.il-search button[type="submit"] {
    position: absolute;
    right: 4px;
    top: 4px;
    bottom: 4px;
    width: 32px;
    border: none;
    background: var(--il-accent);
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s;
    padding: 0;
}
.il-search button[type="submit"]:hover {
    background: var(--il-accent-hover);
}

/* Корзина */
.il-cart-wrap {
    width: 280px; /* Такая же ширина, как у логотипа */
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end; /* Прижимаем корзину к правому краю */
    position: relative;
}
.il-cart-btn {
    display: flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.5); border: 1px solid var(--il-border);
    padding: 8px 14px; border-radius: 10px;
    color: var(--il-primary); font-weight: 600; font-size: 13px; cursor: pointer; transition: 0.2s;
}
.il-cart-btn:hover { border-color: var(--il-accent); color: var(--il-accent); }
.il-cart-count { background: var(--il-accent); color: #fff; font-size: 11px; padding: 2px 6px; border-radius: 10px; font-weight: 700; }

/* Выпадающая мини-корзина */
.il-cart-dropdown {
    position: absolute; top: 100%; right: 0; width: 320px;
    background: var(--il-glass); backdrop-filter: blur(15px);
    border: 1px solid var(--il-border);
    border-radius: 16px; box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    padding: 20px; display: none; z-index: 100; margin-top: 8px; cursor: default;
}
.il-cart-wrap:hover .il-cart-dropdown { display: block; }
.il-cart-dropdown::before { content: ''; position: absolute; top: -8px; left: 0; right: 0; height: 8px; }

/* Меню каталога */
.il-nav { border-top: 1px solid var(--il-border); }
.il-nav .il-container { display: flex; gap: 28px; height: 46px; align-items: center; }
.il-nav a {
    font-size: 14px; font-weight: 500; color: var(--il-primary); height: 100%;
    display: flex; align-items: center; border-bottom: 2px solid transparent; transition: 0.2s;
}
.il-nav a:hover { color: var(--il-accent); border-bottom-color: var(--il-accent); }

/* =========================================
   3. МИНИ-ШАПКА (ВЫЕЗЖАЮЩАЯ)
   ========================================= */
.il-mini-header {
    position: fixed; top: 0; left: 0; right: 0;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    z-index: 99; padding: 10px 0;
    transform: translateY(-100%); transition: transform 0.3s ease;
    border-bottom: 1px solid var(--il-border);
}
.il-mini-header.visible { transform: translateY(0); }
.il-mini-header .il-container { display: flex; align-items: center; justify-content: space-between; gap: 20px; }

.il-mini-catalog-btn {
    display: flex; align-items: center; gap: 8px; background: #fff;
    border: 1px solid var(--il-border); padding: 8px 16px; border-radius: 8px; font-weight: 600;
    font-size: 14px; color: var(--il-primary); cursor: pointer; transition: 0.2s;
}
.il-mini-catalog-btn:hover { border-color: var(--il-accent); color: var(--il-accent); }

/* Адаптив */
@media (max-width: 992px) {
    .il-top-bar { display: none; }
    .il-header-main .il-container { flex-wrap: wrap; }
    .il-search { order: 4; max-width: 100%; margin-top: 15px; }
    .il-nav { display: none; }
}
/* Верхняя полоса (Top Bar) */
.il-top-bar {
    font-size: 12px;
    color: var(--il-text-muted);
    padding: 10px 0; /* Чуть увеличили отступ */
    border-bottom: 1px solid var(--il-border);
}

.il-top-bar .il-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px; /* Чтобы меню не прилипало к гео */
}

/* Стилизация UMI-меню (ul/li) */
.il-top-menu ul {
    display: flex;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.il-top-menu li {
    margin: 0;
    padding: 0;
}

.il-top-menu a {
    color: var(--il-text-muted);
    text-decoration: none;
    transition: color 0.2s ease;
    font-size: 12px;
}

.il-top-menu a:hover,
.il-top-menu li.active > a {
    color: var(--il-accent);
}
/* =========================================
   МЕНЮ КАТАЛОГА (ОСНОВНОЕ)
   ========================================= */
.il-nav {
    border-top: 1px solid var(--il-border);
    position: relative; /* Важно для позиционирования выпадашек */
    z-index: 50;
}

.il-nav .il-container {
    display: flex;
    height: 50px;
    align-items: center;
}

/* Сбросы для UMI-меню */
.il-nav ul {
    display: flex;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
    height: 100%;
}

.il-nav > .il-container > ul > li {
    position: relative; /* Чтобы подменю позиционировалось относительно этого пункта */
    height: 100%;
    display: flex;
    align-items: center;
}

.il-nav a {
    font-size: 14px;
    font-weight: 500;
    color: var(--il-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.il-nav > .il-container > ul > li > a {
    height: 100%;
    display: flex;
    align-items: center;
    border-bottom: 2px solid transparent;
}

.il-nav > .il-container > ul > li:hover > a,
.il-nav > .il-container > ul > li.active > a {
    color: var(--il-accent);
    border-bottom-color: var(--il-accent);
}

/* =========================================
   ВЫПАДАЮЩЕЕ ПОДМЕНЮ (DROPDOWN)
   ========================================= */
.il-nav .pod_menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    background: var(--il-glass);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid var(--il-border);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    padding: 12px 0;
    display: block;
    flex-direction: column;
    gap: 0;
    height: auto;

    /* Скрываем по умолчанию */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s ease;
    z-index: 100;
}

/* Показываем при наведении на родительский li */
.il-nav > .il-container > ul > li:hover .pod_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Стили для пунктов внутри выпадашки */
.il-nav .pod_menu li {
    height: auto;
    display: block;
    padding: 0;
}

.il-nav .pod_menu a {
    display: block;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 400;
    border-bottom: none;
    white-space: normal; /* Чтобы длинные названия переносились, а не вылезали */
    line-height: 1.4;
}

.il-nav .pod_menu a:hover {
    background: rgba(107, 29, 43, 0.05); /* Легкий бордовый фон при наведении */
    color: var(--il-accent);
}
/* =========================================
   ЛОГОТИП
   ========================================= */
.il-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}
.il-logo__icon {
    width: auto;
    object-fit: contain;
    display: block;
}
.il-logo__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.1;
}
.il-logo__title {
    font-size: 24px;
    font-weight: 900;
    color: var(--il-primary);
    letter-spacing: 0.5px;
}
.il-logo__title span {
    color: var(--il-accent);
}
.il-logo__subtitle {
    font-size: 9px;
    font-weight: 600;
    color: var(--il-accent);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-top: 2px;
}
/* =========================================
   ВЫЕЗЖАЮЩАЯ МИНИ-ШАПКА
   ========================================= */
.il-mini-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    z-index: 99;
    padding: 10px 0;
    transform: translateY(-100%); /* Прячем наверх */
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-bottom: 1px solid var(--il-border);
}

/* Когда JS добавит класс .visible, шапка выедет */
.il-mini-header.visible {
    transform: translateY(0);
}

/* Сетка мини-шапки: Лого - Каталог - Поиск - Корзина */
.il-mini-header .il-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

/* Уменьшаем логотип в мини-шапке */
.il-mini-header .il-logo {
    width: auto; /* Убираем жесткие 280px */
}
.il-mini-header .il-logo__icon {
    height: 32px;
}
.il-mini-header .il-logo__title {
    font-size: 18px;
}
.il-mini-header .il-logo__subtitle {
    display: none; /* Прячем подпись в мини-версии */
}

/* Кнопка Каталог */
.il-mini-catalog-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--il-border);
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 13px;
    color: var(--il-primary);
    cursor: pointer;
    transition: 0.2s;
    flex-shrink: 0;
}
.il-mini-catalog-btn:hover {
    border-color: var(--il-accent);
    color: var(--il-accent);
}

/* Поиск в мини-шапке */
.il-mini-header .il-search {
    flex-grow: 1;
    max-width: 600px;
    margin: 0;
}

/* Корзина в мини-шапке */
.il-mini-header .il-cart-wrap {
    width: auto; /* Убираем жесткие 280px */
}
/* =========================================
   ВЫПАДАЮЩИЙ КАТАЛОГ В МИНИ-ШАПКЕ (2 УРОВНЯ)
   ========================================= */
.mini-catalog-wrap {
    position: relative;
}

.mini-catalog-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 10px;
    width: 280px; /* Ширина основного списка */
    background: var(--il-glass);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid var(--il-border);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 10px 0;
    z-index: 100;

    /* Скрываем по умолчанию */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s ease;
}

.mini-catalog-dropdown.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Сбросы для списка первого уровня */
.gurman-catalog-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gurman-catalog-item {
    position: relative; /* Важно для позиционирования второго уровня */
}

/* Ссылки первого уровня */
.gurman-catalog-item > a {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Текст слева, стрелочка справа */
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--il-primary);
    text-decoration: none;
    transition: 0.2s;
}

.gurman-catalog-item > a:hover {
    background: rgba(107, 29, 43, 0.05);
    color: var(--il-accent);
}

/* Стрелочка */
.gurman-catalog-arrow {
    transition: transform 0.2s;
}
.gurman-catalog-item:hover .gurman-catalog-arrow {
    transform: translateX(3px);
    stroke: var(--il-accent);
}

/* =========================================
   ВТОРОЙ УРОВЕНЬ (ПОДМЕНЮ)
   ========================================= */
.gurman-catalog-submenu {
    position: absolute;
    top: 0;
    left: 100%; /* Выезжает ровно справа от первого уровня */
    margin-left: 0;
    width: 280px;
    background: var(--il-glass);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid var(--il-border);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 10px 0;

    /* Скрываем по умолчанию */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.2s ease;
}

/* При наведении на родительский li — показываем подменю */
.gurman-catalog-item:hover > .gurman-catalog-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Ссылки второго уровня */
.gurman-catalog-submenu a {
    display: block;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 400;
    color: var(--il-text-muted);
    text-decoration: none;
    transition: 0.2s;
    line-height: 1.4;
    white-space: normal; /* Чтобы длинные названия переносились */
}

.gurman-catalog-submenu a:hover {
    background: rgba(107, 29, 43, 0.05);
    color: var(--il-accent);
}

/* Активный пункт */
.gurman-catalog-submenu a.active {
    color: var(--il-accent);
    font-weight: 600;
}
/* =========================================
   ГЕО-МОДАЛКИ (ВЫБОР И ПОДТВЕРЖДЕНИЕ ГОРОДА)
   ========================================= */

/* Общие стили для оверлеев (затемнение фона) */
.geo-modal-overlay,
.geo-confirm-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(44, 44, 44, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 9998;

    /* Скрываем по умолчанию */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.geo-modal-overlay.open,
.geo-confirm-overlay.open {
    opacity: 1;
    visibility: visible;
}

/* Общие стили для самих окон */
.geo-modal,
.geo-confirm-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -40%); /* Смещение для анимации */
    width: 100%;
    max-width: 420px;
    background: var(--il-glass);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--il-border);
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    z-index: 9999;

    /* Скрываем по умолчанию */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.geo-modal.open,
.geo-confirm-modal.open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%); /* Возвращаем в центр */
}

/* --- ОКНО ВЫБОРА ГОРОДА (geoModal) --- */
.geo-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 24px 16px;
    border-bottom: 1px solid var(--il-border);
}

.geo-modal-head h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--il-primary);
    margin: 0;
}

.geo-modal-close {
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    color: var(--il-text-muted);
    cursor: pointer;
    transition: 0.2s;
    padding: 0 5px;
}

.geo-modal-close:hover {
    color: var(--il-accent);
}

.geo-modal-body {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.geo-search-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--il-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.6);
    font-family: inherit;
    font-size: 15px;
    outline: none;
    transition: 0.2s;
}

.geo-search-input:focus {
    border-color: var(--il-accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107, 29, 43, 0.1);
}

.geo-cities-list {
    max-height: 300px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-right: 5px; /* Место под скроллбар */
}

/* Кастомный скроллбар для списка городов */
.geo-cities-list::-webkit-scrollbar {
    width: 6px;
}
.geo-cities-list::-webkit-scrollbar-track {
    background: transparent;
}
.geo-cities-list::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.1);
    border-radius: 3px;
}

.geo-city-item {
    text-align: left;
    background: none;
    border: none;
    padding: 10px 12px;
    font-size: 15px;
    color: var(--il-primary);
    border-radius: 8px;
    cursor: pointer;
    transition: 0.2s;
    font-family: inherit;
}

.geo-city-item:hover {
    background: rgba(107, 29, 43, 0.05);
}

.geo-city-item.active {
    background: rgba(107, 29, 43, 0.1);
    color: var(--il-accent);
    font-weight: 600;
}

/* --- ОКНО ПОДТВЕРЖДЕНИЯ (geoConfirmModal) --- */
.geo-confirm-modal {
    text-align: center;
    padding: 40px 30px;
    align-items: center;
}

.geo-confirm-icon {
    margin-bottom: 20px;
}

.geo-confirm-icon svg {
    stroke: var(--il-accent); /* Перекрашиваем иконку в бордовый */
}

.geo-confirm-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--il-primary);
    margin-bottom: 12px;
    line-height: 1.2;
}

.geo-confirm-title span {
    color: var(--il-accent);
}

.geo-confirm-subtitle {
    font-size: 14px;
    color: var(--il-text-muted);
    line-height: 1.5;
    margin-bottom: 30px;
}

.geo-confirm-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.geo-confirm-btn {
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
    font-family: inherit;
    border: none;
}

.geo-confirm-btn--yes {
    background: var(--il-accent);
    color: #fff;
    box-shadow: 0 4px 15px rgba(107, 29, 43, 0.2);
}

.geo-confirm-btn--yes:hover {
    background: var(--il-accent-hover);
    transform: translateY(-2px);
}

.geo-confirm-btn--change {
    background: transparent;
    color: var(--il-text-muted);
    border: 1px solid var(--il-border);
}

.geo-confirm-btn--change:hover {
    background: rgba(0, 0, 0, 0.03);
    color: var(--il-primary);
}
/* =========================================
   ЖИВОЙ ПОИСК (LIVE SEARCH) — ФИНАЛЬНАЯ ВЕРСИЯ
   ========================================= */

.live-search-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(45, 58, 75, 0.18);
    z-index: 9999;
    display: none;
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    scrollbar-width: thin;
}
.live-search-dropdown::-webkit-scrollbar { width: 6px; }
.live-search-dropdown::-webkit-scrollbar-thumb { background: #d5dbe2; border-radius: 3px; }
.live-search-dropdown.open { display: block; }
.live-search-dropdown--fixed {
    position: fixed;
    z-index: 100000;
    max-height: 70vh;
    overflow-y: auto;
}
.live-search-head {
    padding: 14px 16px 8px;
    border-bottom: 1px solid #f0f3f7;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
}
.live-search-tabs { display: flex; gap: 6px; }
.live-search-tab {
    font-size: 14px;
    font-weight: 600;
    color: #2d3a4b;
    padding: 8px 14px;
    border-radius: 8px;
    background: #f5f7fa;
}
.live-search-tab.active { background: var(--il-accent); color: #fff; }
.live-search-tab b { font-weight: 800; margin-left: 4px; opacity: 0.85; }
.live-search-list { padding: 8px 0; }
.live-search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    position: relative;
    transition: background 0.15s;
}
.live-search-item:hover { background: #f9fafc; }
.live-search-item-link {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}
.live-search-img {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 8px;
    background: #f5f7fa;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.live-search-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.live-search-info { flex: 1; min-width: 0; }
.live-search-name {
    font-size: 14px;
    line-height: 1.3;
    color: #2d3a4b;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.live-search-instock { font-size: 12px; font-weight: 500; }
.live-search-instock--high   { color: #27ae60; }
.live-search-instock--medium { color: #e67e22; }
.live-search-instock--low    { color: var(--il-accent); }
.live-search-instock--out    { color: #95a5a6; }
.live-search-price-block { text-align: right; flex-shrink: 0; white-space: nowrap; }
.live-search-price { font-size: 16px; font-weight: 800; color: var(--il-accent); display: block; line-height: 1.2; }
.live-search-price-old {
    font-size: 12px;
    color: #95a5a6;
    text-decoration: line-through;
    display: block;
    line-height: 1.2;
}
.live-search-fasovka { font-size: 11px; color: #95a5a6; display: block; margin-top: 2px; }
.live-search-all {
    display: block;
    text-align: center;
    padding: 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--il-accent);
    text-decoration: none;
    border-top: 1px solid #f0f3f7;
    background: #fff;
    position: sticky;
    bottom: 0;
    transition: background 0.15s;
}
.live-search-all:hover { background: #fef5f4; }
.live-search-empty { padding: 30px 16px; text-align: center; font-size: 14px; color: #7f8c8d; }

/* Затемнение фона */
.live-search-overlay {
    position: fixed;
    inset: 0;
    background: rgba(29, 39, 52, 0.4);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    pointer-events: none;
}
.live-search-overlay.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Блок корзины в выпадашке (ОРИГИНАЛ) */
.live-search-cart {
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    min-height: 40px;
    width: auto;
    margin-left: 12px;
}
.live-search-cart--disabled { width: auto; }
.live-search-btn-initial {
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: var(--il-accent); /* Бордовый */
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
    transition: background 0.2s;
    box-sizing: border-box;
}
.live-search-btn-initial svg { display: block; width: 20px; height: 20px; stroke: currentColor; flex-shrink: 0; }
.live-search-btn-initial:hover { background: var(--il-accent-hover); }
.live-search-btn-disabled {
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: #d5dbe2;
    color: #7f8c8d;
    cursor: not-allowed;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.live-search-btn-disabled svg { display: block; width: 20px; height: 20px; stroke: currentColor; flex-shrink: 0; }
.live-search-cart-controls {
    display: none;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 8px;
    overflow: hidden;
    min-height: 40px;
    width: 100%;
}
.live-search-cart-controls.active { display: flex; }
.live-search-btn-trash {
    width: 38px;
    background: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--il-accent); /* Бордовый */
    padding: 0;
    border-right: 1px solid #ecf0f1;
    transition: background 0.2s;
    font-family: inherit;
}
.live-search-btn-trash:hover { background: #fef5f4; }
.live-search-btn-trash svg { width: 16px; height: 16px; }
.live-search-btn-trash .live-search-icon-minus { display: none; font-size: 20px; font-weight: 700; line-height: 1; }
.live-search-btn-trash.is-minus svg { display: none; }
.live-search-btn-trash.is-minus .live-search-icon-minus { display: block; }
.live-search-cart-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2px 10px;
    min-width: 80px;
    text-align: center;
}
.live-search-cart-qty { font-size: 11px; color: #7f8c8d; font-weight: 500; line-height: 1.2; }
.live-search-cart-sum {
    font-size: 13px;
    font-weight: 800;
    color: var(--il-primary);
    line-height: 1.1;
    font-family: 'Inter', sans-serif;
}
.live-search-btn-plus {
    width: 42px;
    background: var(--il-accent); /* Бордовый */
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 400;
    padding: 0;
    transition: background 0.2s;
    font-family: inherit;
}
.live-search-btn-plus:hover { background: var(--il-accent-hover); }
.live-search-item.is-loading .live-search-cart {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}
.live-search-item.is-loading .live-search-cart::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 3px solid var(--il-accent); /* Бордовый */
    border-top-color: transparent;
    border-radius: 50%;
    animation: gurmanSpin 0.7s linear infinite;
    z-index: 10;
}

/* Кнопка "Показать все" */
.live-search-all {
    display: block;
    text-align: center;
    padding: 16px;
    background: rgba(255, 255, 255, 0.5);
    color: var(--il-accent);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-top: 1px solid var(--il-border);
    transition: 0.2s;
    position: sticky;
    bottom: 0;
}
.live-search-all:hover { background: rgba(107, 29, 43, 0.05); }

/* Пустой результат */
.live-search-empty {
    padding: 40px 20px;
    text-align: center;
    color: var(--il-text-muted);
    font-size: 15px;
}
/* =========================================
   МИНИ-КОРЗИНА В ШАПКЕ
   ========================================= */

/* 1. Внешняя обертка (невидимая, только для позиционирования) */
.miniWrapperBasket {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 12px;
    z-index: 9999;
    display: none; /* JS переключает на block */
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

/* Убираем старый ромбик */
.miniWrapperBasket::before {
    display: none !important;
}

/* 2. Само окно корзины (Матовое стекло) */
.basketMini {
    background: rgba(255, 255, 255, 0.92); /* Полупрозрачный фон */
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
    width: 380px;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    max-height: 70vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 20px;
}

/* 3. Скроллируемый список товаров */
.basketMini-list {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    min-height: 0;
    margin: 0 -8px;
    padding: 0 8px;
}
.basketMini-list::-webkit-scrollbar { width: 4px; }
.basketMini-list::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); border-radius: 2px; }

/* 4. Один товар в корзине */
.itemBasketMini {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    position: relative;
    margin: 0;
}
.itemBasketMini:last-child { border-bottom: none; }

/* Картинка */
.itemBasketMini img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 10px;
    background: #f5f7fa;
    flex-shrink: 0;
    margin: 0;
}

/* Информация (название, цена) */
.itemBasketMini .itemcont {
    flex: 1;
    min-width: 0;
    text-align: left;
    padding-right: 10px;
}
.itemBasketMini .itemcont a {
    font-size: 13px;
    line-height: 1.3;
    color: var(--il-primary);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 6px;
    font-weight: 500;
    max-height: 34px;
}
.itemBasketMini .itemcont a:hover { color: var(--il-accent); }

.itemBasketMini .itemcont .lineitem {
    display: block;
    color: var(--il-accent);
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    white-space: normal;
    word-wrap: break-word;
}

/* Кнопка удаления (крестик) */
.itemBasketMini .del {
    position: absolute;
    top: 12px;
    right: -4px;
    width: 24px;
    height: 24px;
    background: transparent;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    z-index: 5;
}
.itemBasketMini .del::before,
.itemBasketMini .del::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 1.5px;
    background: var(--il-text-muted);
    border-radius: 2px;
    transition: background 0.2s;
}
.itemBasketMini .del::before { transform: rotate(45deg); }
.itemBasketMini .del::after { transform: rotate(-45deg); }
.itemBasketMini .del:hover { background: rgba(231, 76, 60, 0.1); }
.itemBasketMini .del:hover::before,
.itemBasketMini .del:hover::after { background: #e74c3c; }

/* 5. Блок с итоговой суммой (Плашка) */
.basketMiniSumm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    margin-top: 16px;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    font-size: 14px;
    color: var(--il-text-muted);
    font-weight: 500;
}
.basketMiniSumm .summa {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--il-accent);
    line-height: 1;
    letter-spacing: -0.5px;
    text-shadow: 0 2px 10px rgba(107, 29, 43, 0.15);
}

/* 6. Кнопка "Заказать" */
.footmini {
    flex-shrink: 0;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

/* Кнопка "Заказать" */
.footmini a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--il-accent);
    color: #fff !important;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 24px;
    border-radius: 12px;
    text-decoration: none;
    transition: background 0.2s, transform 0.1s;
    box-shadow: 0 8px 20px rgba(107, 29, 43, 0.25);
    white-space: nowrap;
}
.footmini a:hover { background: var(--il-accent-hover); }
.footmini a:active { transform: scale(0.98); }

/* Блок "Итого" */
.minisum {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-end;
    margin-left: auto; /* Вот эта строчка прижимает блок вправо */
    font-family: 'Inter', sans-serif;
    font-size: 0;
    padding: 0;
    color: transparent;
}

.minisum::before {
    content: 'Итого:';
    font-size: 13px;
    color: var(--il-text-muted);
    font-weight: 500;
    margin-right: 6px;
    text-transform: none;
}

.minisum .summa {
    font-size: 24px;
    font-weight: 800;
    color: var(--il-accent);
    line-height: 1;
    letter-spacing: -0.5px;
    display: inline;
}

.minisum::after {
    content: '₽';
    font-size: 18px;
    color: var(--il-accent);
    font-weight: 800;
    margin-left: 2px;
    display: inline;
}

/* 7. Пустая корзина */
.basketMini .empty {
    text-align: center;
    padding: 30px 20px;
    color: var(--il-text-muted);
    font-size: 14px;
}

/* 8. Кнопки плюс/минус в мини-корзине */
.basketMini-cart {
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 8px;
    overflow: hidden;
    min-height: 36px;
    align-self: flex-start;
    margin-left: 8px;
    border: 1px solid var(--il-border);
}
.basketMini-btn-trash {
    width: 34px;
    min-width: 34px;
    background: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--il-accent);
    padding: 0;
    border-right: 1px solid var(--il-border);
    transition: background 0.15s;
}
.basketMini-btn-trash:hover { background: #fef5f4; }
.basketMini-btn-trash svg { width: 14px; height: 14px; display: block; }
.basketMini-btn-trash .basketMini-icon-minus { display: none; font-size: 18px; font-weight: 700; line-height: 1; }
.basketMini-btn-trash.is-minus svg { display: none; }
.basketMini-btn-trash.is-minus .basketMini-icon-minus { display: block; }

.basketMini-cart-info {
    flex: 1;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f7fa;
    padding: 0 6px;
}
.basketMini-cart-qty {
    font-size: 12px;
    font-weight: 700;
    color: var(--il-primary);
    white-space: nowrap;
    line-height: 1;
}
.basketMini-btn-plus {
    width: 34px;
    min-width: 34px;
    background: var(--il-accent);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 400;
    padding: 0;
    transition: background 0.15s;
}
.basketMini-btn-plus:hover { background: var(--il-accent-hover); }
/* =========================================
   КАРТОЧКА ТОВАРА (BENTO GRID)
   ========================================= */

/* Основной контейнер */
.il-main-content {
    padding-top: 30px;
    padding-bottom: 60px;
}

/* Хлебные крошки */
.il-breadcrumbs {
    font-size: 12px;
    color: var(--il-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.il-breadcrumbs a {
    color: var(--il-text-muted);
    text-decoration: none;
    transition: color 0.2s;
}
.il-breadcrumbs a:hover { color: var(--il-accent); }

/* Bento-сетка: Галерея слева, Покупка справа */
.il-bento-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

/* Общие стили для Bento-блоков */
.il-bento-item {
    background: var(--il-bg-light);
    border-radius: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
    border: 1px solid var(--il-border);
    display: flex;
    flex-direction: column;
}

/* --- 1. БЛОК ГАЛЕРЕИ --- */
.il-bento-image {
    grid-row: span 2;
    padding: 0;
    overflow: hidden;
    background: #e8e0d5;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 500px;
}
.il-main-photo {
    flex-grow: 1;
    overflow: hidden;
    position: relative;
}
.il-main-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.il-thumbs {
    display: flex;
    gap: 8px;
    padding: 16px;
    background: rgba(255,255,255,0.4);
    backdrop-filter: blur(10px);
    overflow-x: auto;
    overflow-y: hidden;
}
.il-thumbs a {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
}
.il-thumbs a:hover, .il-thumbs a.active { border-color: var(--il-accent); }
.il-thumbs img { width: 100%; height: 100%; object-fit: cover; }

/* --- 2. БЛОК ПОКУПКИ --- */
.il-bento-main {
    grid-column: 2;
    padding: 40px;
    justify-content: space-between;
}
.il-bento-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Бейджи */
.il-bento-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.il-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    background: rgba(107, 29, 43, 0.08);
    color: var(--il-accent);
    letter-spacing: 0.5px;
}

/* Заголовок и наличие */
.il-bento-title {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.15;
    color: var(--il-primary);
    letter-spacing: -1px;
    margin: 0;
}
.il-bento-status {
    font-size: 14px;
    font-weight: 600;
    margin-top: 10px;
}

/* Плашка доставки */
.il-delivery-block {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #f2ede6;
    border: 1px solid #e8dfd2;
    border-radius: 16px;
    padding: 16px 20px;
    margin-top: 16px;
    width: 100%;
    box-sizing: border-box;
}

.il-delivery-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ffffff;
    border-radius: 12px;
    flex-shrink: 0;
}

.il-delivery-icon svg {
    width: 22px;
    height: 22px;
    stroke: #6b1d2b;
}

.il-delivery-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.il-delivery-title {
    font-size: 14px;
    font-weight: 700;
    color: #2c2c2c;
    line-height: 1.2;
}

.il-delivery-desc {
    font-size: 13px;
    color: #8a8580;
    line-height: 1.4;
}

/* Цена */
.il-bento-buy {
    margin-top: 30px;
}
.il-bento-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 20px;
}
.il-bento-price__current {
    font-size: 42px;
    font-weight: 900;
    color: var(--il-accent);
    letter-spacing: -1px;
    line-height: 1;
}
.il-bento-price__unit {
    font-size: 16px;
    color: var(--il-text-muted);
    font-weight: 500;
}
.gurman-price-old {
    font-size: 20px;
    color: #95a5a6;
    text-decoration: line-through;
    margin-right: 10px;
}

/* Кнопка добавления в корзину (Контрол) */
.il-cart-control {
    display: flex;
    align-items: stretch;
    height: 64px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(107, 29, 43, 0.15);
}

/* Изначальная кнопка */
.il-btn-initial {
    width: 100%;
    min-height: 64px;
    background: var(--il-accent);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background 0.2s;
    padding: 0 20px;
}

.il-btn-initial:hover {
    background: var(--il-accent-hover);
}

.il-btn-initial svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.il-qty-wrapper {
    display: none;
    align-items: stretch;
    width: 100%;
    min-height: 64px;
    background: #f5f7fa;
    border-radius: 12px;
    border: 1px solid var(--il-border);
    overflow: hidden;
}

.il-qty-wrapper.active {
    display: flex;
}

.il-qty-btn-trash {
    width: 64px;
    background: #fff;
    border: none;
    border-right: 1px solid var(--il-border);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--il-accent); /* Бордовый цвет для иконки */
    flex-shrink: 0;
    padding: 0;
}

.il-qty-btn-trash:hover {
    background: #fef5f4;
}

.il-qty-btn-trash svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
}

.il-qty-btn-trash .gurman-icon-minus {
    display: none;
    font-size: 24px;
    font-weight: 700;
    color: var(--il-accent);
}

.il-qty-btn-trash.is-minus svg {
    display: none;
}

.il-qty-btn-trash.is-minus .gurman-icon-minus {
    display: block;
}

.il-qty-center {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.il-qty-center span {
    font-size: 12px;
    color: var(--il-text-muted);
    line-height: 1.2;
}

.il-qty-center b {
    font-size: 18px;
    font-weight: 800;
    color: var(--il-primary);
    line-height: 1.1;
}

.il-btn-plus {
    width: 64px;
    background: var(--il-accent);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 400;
    flex-shrink: 0;
    padding: 0;
}

.il-btn-plus:hover {
    background: var(--il-accent-hover);
}

/* --- 3. БЛОК ХАРАКТЕРИСТИК И ХРАНЕНИЯ --- */
.il-details-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
    align-items: stretch;
}
.il-details-row.no-storage { grid-template-columns: 1fr; }

.il-specs-block, .il-storage-block {
    background: var(--il-bg-light);
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
    border: 1px solid var(--il-border);
    display: flex;
    flex-direction: column;
}

.il-block-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--il-primary);
    margin-bottom: 20px;
}

/* =========================================
   БЛОК УСЛОВИЙ ХРАНЕНИЯ
   ========================================= */

.il-storage-content {
    font-size: 14px;
    color: #4a4a4a;
    line-height: 1.7;
}

.il-storage-content h4,
.il-storage-text h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--il-primary);
    margin-bottom: 12px;
    margin-top: 24px;
}
.il-storage-text h4:first-child { margin-top: 0; }

/* Сетка карточек для сроков хранения */
.il-storage-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 24px;
}

.il-storage-card {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid var(--il-border);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.il-storage-card__title {
    font-size: 12px;
    color: var(--il-text-muted);
    margin-bottom: 4px;
}

.il-storage-card__temp {
    font-size: 18px;
    font-weight: 800;
    color: var(--il-primary);
    line-height: 1.2;
}

.il-storage-card__shelf {
    font-size: 12px;
    font-weight: 600;
    color: var(--il-accent);
    background: rgba(107, 29, 43, 0.05); /* Легкий бордовый фон */
    padding: 4px 8px;
    border-radius: 6px;
    align-self: flex-start;
    margin-top: 4px;
}

/* Текстовые блоки и списки */
.il-storage-text p {
    margin-bottom: 12px;
}
.il-storage-text strong {
    color: var(--il-primary);
}

.il-storage-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.il-storage-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}
/* Бордовая точка в списке */
.il-storage-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--il-accent);
    font-weight: bold;
}

.il-specs-list .gurman-spec-item {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px dashed var(--il-border);
    font-size: 14px;
}
.il-specs-list .gurman-spec-item:last-child { border-bottom: none; }
.il-specs-list .gurman-spec-label { color: var(--il-text-muted); }
.il-specs-list .gurman-spec-value {
    font-weight: 600;
    color: var(--il-primary);
    text-align: right;
    max-width: 60%;
}
.il-specs-list .gurman-spec-item.gurman-hidden { display: none !important; }

.il-specs-toggle {
    background: none;
    border: none;
    color: var(--il-accent);
    font-weight: 600;
    cursor: pointer;
    margin-top: 16px;
    font-size: 14px;
    display: none;
    padding: 0;
    align-self: flex-start;
}
.il-specs-toggle.visible { display: block; }
.gurman-specs {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.gurman-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 14px 0;
    border-bottom: 1px dashed var(--il-border);
    gap: 20px;
}

.gurman-spec-row:last-child {
    border-bottom: none;
}

.gurman-spec-name {
    color: var(--il-text-muted);
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    flex-shrink: 0;
    max-width: 45%;
    line-height: 1.4;
}

.gurman-spec-value {
    color: var(--il-primary);
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    text-align: right;
    max-width: 55%;
    line-height: 1.4;
}

.gurman-spec-row.gurman-hidden {
    display: none !important;
}
/* --- 4. ТАБЫ --- */
.il-tabs-section {
    margin-bottom: 30px;
    background: var(--il-bg-light);
    padding: 30px;
    border-radius: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
    border: 1px solid var(--il-border);
}
.il-tabs-nav {
    display: flex;
    gap: 24px;
    border-bottom: 1px solid var(--il-border);
    margin-bottom: 24px;
}
.il-tab-btn {
    background: none;
    border: none;
    padding: 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--il-text-muted);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.2s, border-color 0.2s;
}
.il-tab-btn:hover { color: var(--il-primary); }
.il-tab-btn.active {
    color: var(--il-accent);
    border-bottom-color: var(--il-accent);
}
.il-tab-content {
    display: none;
    font-size: 14px;
    line-height: 1.7;
    color: #4a4a4a;
}
.il-tab-content.active { display: block; }

/* --- 5. FAQ --- */
.il-faq-section {
    margin-bottom: 30px;
    background: var(--il-bg-light);
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
    border: 1px solid var(--il-border);
}
.il-faq-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--il-primary);
    margin-bottom: 20px;
}
.il-faq-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.il-faq-item {
    background: rgba(255,255,255,0.5);
    border-radius: 12px;
    border-left: 3px solid var(--il-gold);
    border: 1px solid var(--il-border);
    overflow: hidden;
}
.il-faq-q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: none;
    border: none;
    font-size: 14px;
    font-weight: 600;
    color: var(--il-primary);
    cursor: pointer;
    text-align: left;
}
.il-faq-icon {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--il-gold);
    flex-shrink: 0;
    transition: transform 0.3s, background 0.3s;
}
.il-faq-icon::before, .il-faq-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
}
.il-faq-icon::before { width: 10px; height: 2px; }
.il-faq-icon::after { width: 2px; height: 10px; }
.il-faq-item.is-open .il-faq-icon {
    transform: rotate(45deg);
    background: var(--il-accent);
}
.il-faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.il-faq-a-inner {
    padding: 0 20px 16px 20px;
    font-size: 13px;
    color: var(--il-text-muted);
    line-height: 1.6;
}

/* --- 6. СЕТКИ (ПОХОЖИЕ / РЕЦЕПТЫ) --- */
.il-section-title {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 24px;
    color: var(--il-primary);
    letter-spacing: -0.5px;
}

/* Сетка карточек */
.il-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

/* Адаптив */
@media (max-width: 992px) {
    .il-bento-grid {
        grid-template-columns: 1fr;
    }
    .il-bento-image {
        grid-row: auto;
        aspect-ratio: 16/9;
    }
    .il-bento-main {
        grid-column: auto;
        padding: 24px;
    }
    .il-details-row {
        grid-template-columns: 1fr;
    }
    .il-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .il-bento-title {
        font-size: 26px;
    }
}
@media (max-width: 768px) {
    .il-grid {
        grid-template-columns: 1fr;
    }
    .il-tabs-nav {
        overflow-x: auto;
        white-space: nowrap;
    }
    .il-bento-price__current {
        font-size: 32px;
    }
}
.gurman-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

.gurman-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid transparent;
    transition: all 0.2s ease;
}

.gurman-badge.red,
.gurman-badge--sale {
    background: rgba(107, 29, 43, 0.08);
    color: var(--il-accent);
    border-color: rgba(107, 29, 43, 0.2);
    box-shadow: 0 2px 10px rgba(107, 29, 43, 0.05);
}

.gurman-badge.green {
    background: rgba(39, 174, 96, 0.08);
    color: #27ae60;
    border-color: rgba(39, 174, 96, 0.2);
    box-shadow: 0 2px 10px rgba(39, 174, 96, 0.05);
}

.gurman-badge.blue {
    background: rgba(52, 152, 219, 0.08);
    color: #3498db;
    border-color: rgba(52, 152, 219, 0.2);
    box-shadow: 0 2px 10px rgba(52, 152, 219, 0.05);
}

.gurman-badge.purple {
    background: rgba(142, 68, 173, 0.08);
    color: #8e44ad;
    border-color: rgba(142, 68, 173, 0.2);
    box-shadow: 0 2px 10px rgba(142, 68, 173, 0.05);
}

.gurman-badge.gold {
    background: rgba(212, 175, 55, 0.08);
    color: #b8952e;
    border-color: rgba(212, 175, 55, 0.3);
    box-shadow: 0 2px 10px rgba(212, 175, 55, 0.05);
}

.gurman-badge.yellow {
    background: rgba(241, 196, 15, 0.08);
    color: #d4ac0d;
    border-color: rgba(241, 196, 15, 0.3);
    box-shadow: 0 2px 10px rgba(241, 196, 15, 0.05);
}

.gurman-badge.brown {
    background: rgba(139, 90, 43, 0.08);
    color: #8b5a2b;
    border-color: rgba(139, 90, 43, 0.2);
    box-shadow: 0 2px 10px rgba(139, 90, 43, 0.05);
}

.gurman-badge.black {
    background: rgba(45, 58, 75, 0.08);
    color: #2d3a4b;
    border-color: rgba(45, 58, 75, 0.2);
    box-shadow: 0 2px 10px rgba(45, 58, 75, 0.05);
}

.gurman-badge.orange {
    background: rgba(230, 126, 34, 0.08);
    color: #e67e22;
    border-color: rgba(230, 126, 34, 0.2);
    box-shadow: 0 2px 10px rgba(230, 126, 34, 0.05);
}
.il-thumbs {
    display: none;
}

.il-thumbs:has(a),
.il-thumbs:has(img) {
    display: flex;
}
/* =========================================
   СТАТУС НАЛИЧИЯ (ЦВЕТА)
   ========================================= */

.gurman-instock {
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Много (Зеленый) */
.gurman-instock--high {
    color: #27ae60;
}

/* Средне (Оранжевый) */
.gurman-instock--medium {
    color: #e67e22;
}

/* Мало (Красный) */
.gurman-instock--low {
    color: #e74c3c;
}

/* Нет в наличии (Серый) */
.gurman-instock--out {
    color: #95a5a6;
}

/* Предзаказ (Золотистый/Коричневый) */
.gurman-instock--preorder {
    color: #b8860b;
    background: rgba(184, 134, 11, 0.08);
    padding: 4px 10px;
    border-radius: 6px;
}
/* =========================================
   FAQ (АККОРДЕОН) В КАРТОЧКЕ ТОВАРА
   ========================================= */

.gurman-faq {
    background: var(--il-bg-light);
    border-radius: 24px;
    padding: 30px;
    margin: 30px 0;
    border: 1px solid var(--il-border);
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

.gurman-faq__head {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--il-border);
}

.gurman-faq__title {
    font-size: 24px;
    font-weight: 800;
    color: var(--il-primary);
    margin: 0 0 10px;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.gurman-faq__subtitle {
    font-size: 15px;
    color: var(--il-text-muted);
    margin: 0;
    line-height: 1.6;
}

.gurman-faq__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gurman-faq__item {
    background: #fff;
    border: 1px solid var(--il-border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.gurman-faq__item.is-open {
    border-color: var(--il-accent);
    box-shadow: 0 4px 15px rgba(107, 29, 43, 0.05);
}

.gurman-faq__q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
    background: none;
    border: none;
    font-size: 16px;
    font-weight: 600;
    color: var(--il-primary);
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.2s;
}

.gurman-faq__q:hover {
    color: var(--il-accent);
}

.gurman-faq__q-text {
    flex: 1;
    padding-right: 20px;
}

/* Иконка плюс/минус (бордовая) */
.gurman-faq__q-icon {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--il-accent);
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.gurman-faq__q-icon::before,
.gurman-faq__q-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
    border-radius: 2px;
    transition: opacity 0.3s ease;
}

.gurman-faq__q-icon::before {
    width: 10px;
    height: 2px;
}

.gurman-faq__q-icon::after {
    width: 2px;
    height: 10px;
}

/* При открытии вертикальная полоска исчезает, образуя минус */
.gurman-faq__item.is-open .gurman-faq__q-icon::after {
    opacity: 0;
}

/* Контент (ответ) */
.gurman-faq__a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.gurman-faq__a-inner {
    padding: 0 24px 24px;
    font-size: 14px;
    line-height: 1.7;
    color: #4a4a4a;
}

/* Списки в ответе */
.gurman-faq__a-inner ul,
.gurman-faq__a-inner ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gurman-faq__a-inner li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
}

.gurman-faq__a-inner li:last-child {
    margin-bottom: 0;
}

.gurman-faq__a-inner li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--il-accent);
    font-weight: bold;
}

.gurman-faq__a-inner strong {
    color: var(--il-primary);
    font-weight: 700;
}
/* =========================================
   КОНТЕНТ В ТАБАХ (ОПИСАНИЕ, ХРАНЕНИЕ И Т.Д.)
   ========================================= */

.il-tab-content {
    font-family: 'Inter', sans-serif;
    font-size: 14px; /* Уменьшили с 15px до 14px, как в хранении */
    line-height: 1.7;
    color: #4a4a4a; /* Тот же цвет, что и в хранении */
}

/* Заголовки в контенте */
.il-tab-content h2 {
    font-size: 16px; /* Сделали как h4 в хранении */
    font-weight: 700;
    color: var(--il-primary);
    margin: 24px 0 12px;
    line-height: 1.4;
    letter-spacing: 0;
}

.il-tab-content h2:first-child {
    margin-top: 0;
}

.il-tab-content h3 {
    font-size: 15px;
    font-weight: 700;
    color: var(--il-primary);
    margin: 20px 0 10px;
}

/* Параграфы */
.il-tab-content p {
    margin: 0 0 12px;
}

/* Списки */
.il-tab-content ul {
    list-style: none;
    padding: 0;
    margin: 12px 0;
}

.il-tab-content li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
}

.il-tab-content li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--il-accent);
    font-weight: bold;
    font-size: 16px;
    line-height: 1.5;
}

/* Жирный текст */
.il-tab-content strong,
.il-tab-content b {
    font-weight: 600; /* Чуть мягче, чем 700 */
    color: var(--il-primary);
}
/* =========================================
   КАРТОЧКИ В БЛОКЕ "С ЭТИМ ПОКУПАЮТ" (СЕТКА)
   ========================================= */

.il-related-section {
    margin-bottom: 40px;
}

.il-section-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--il-primary);
    margin-bottom: 24px;
    letter-spacing: -0.5px;
}

.il-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

.il-related-card.hidden-card {
    display: none;
}

.il-card {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.il-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.il-card__img {
    width: 100%;
    /*aspect-ratio: 1 / 1;*/
    background: #f5f2ee;
    position: relative;
    overflow: hidden;
}

.il-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.il-card:hover .il-card__img img {
    transform: scale(1.05);
}

.il-card .gurman-card-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: calc(100% - 24px);
    pointer-events: none;
}

/* Базовая плашка в карточке */
.il-card .gurman-badge {
    border-radius: 8px;
    font-size: 10px;
    padding: 5px 10px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Тень для отрыва от фона */
    border: 1px solid rgba(255, 255, 255, 0.2); /* Легкая светлая грань */
    backdrop-filter: blur(4px);
}

/* Бордовый (Хит, Скидка) */
.il-card .gurman-badge.red,
.il-card .gurman-badge--sale {
    background: var(--il-accent);
}

/* Зеленый (Новинка, Свежий улов) */
.il-card .gurman-badge.green {
    background: #27ae60;
}

/* Синий (Популярное, Камчатка) */
.il-card .gurman-badge.blue {
    background: #3498db;
}

/* Фиолетовый (Рекомендуем) */
.il-card .gurman-badge.purple {
    background: #8e44ad;
}

/* Золотой (Премиум) */
.il-card .gurman-badge.gold {
    background: linear-gradient(135deg, #d4af37, #f4d03f);
    color: #2d3a4b !important;
}

/* Желтый (Сезон) */
.il-card .gurman-badge.yellow {
    background: #f1c40f;
    color: #2d3a4b !important;
}

/* Оранжевый (Акция) */
.il-card .gurman-badge.orange {
    background: #e67e22;
}

/* Темный (Выбор шефа) */
.il-card .gurman-badge.black {
    background: #2d3a4b;
    color: #e5c07b !important;
}

/* Коричневый (Ручная работа) */
.il-card .gurman-badge.brown {
    background: #8b5a2b;
}

.il-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.il-card .gurman-card-rating-row {
    min-height: 20px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.il-card .gurman-card-stars {
    font-size: 14px;
    position: relative;
    display: inline-block;
    letter-spacing: 1px;
}

.il-card .gurman-card-stars__base {
    color: #e0e0e0;
}

.il-card .gurman-card-stars__fill {
    color: #d4af37;
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    overflow: hidden;
}

.il-card__title {
    font-size: 14px;
    font-weight: 600;
    color: var(--il-primary);
    line-height: 1.4;
    margin-bottom: 8px;
    min-height: 40px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.il-card__instock {
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 12px;
}

.il-card__price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 16px;
}

.il-card__price {
    font-size: 18px;
    font-weight: 800;
    color: var(--il-accent);
    letter-spacing: -0.5px;
}

.il-card__unit {
    font-size: 12px;
    color: var(--il-text-muted);
}

.il-card__cart-block {
    margin-top: auto;
    padding: 0 16px 16px;
}

.il-card__btn {
    width: 100%;
    padding: 12px;
    background: var(--il-accent); /* Изначально бордовая */
    border: 1px solid var(--il-accent);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border-radius: 12px;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(107, 29, 43, 0.2);
}

.il-card__btn:hover {
    background: #fff; /* При наведении белая */
    color: var(--il-accent);
    border-color: var(--il-border);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.il-card__controls {
    display: none;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--il-border);
    height: 44px;
}

.il-card__controls.active {
    display: flex;
}

.il-card__btn-trash {
    width: 44px;
    background: #fff;
    border: none;
    border-right: 1px solid var(--il-border);
    color: var(--il-accent);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}

.il-card__btn-trash svg { width: 16px; height: 16px; }
.il-card__btn-trash .il-icon-minus { display: none; font-size: 18px; }
.il-card__btn-trash.is-minus svg { display: none; }
.il-card__btn-trash.is-minus .il-icon-minus { display: block; }

.il-card__cart-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.il-card__cart-qty { font-size: 10px; color: var(--il-text-muted); line-height: 1.2; }
.il-card__cart-sum { font-size: 13px; font-weight: 800; color: var(--il-primary); line-height: 1.1; }

.il-card__btn-plus {
    width: 44px;
    background: var(--il-accent);
    color: #fff;
    border: none;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}

.il-card__btn-plus:hover {
    background: var(--il-accent-hover);
}

.il-load-more-wrap {
    text-align: center;
    margin-top: 20px;
}

.il-load-more-btn {
    display: inline-block;
    padding: 14px 40px;
    background: #fff;
    border: 1px solid var(--il-border);
    color: var(--il-primary);
    font-size: 14px;
    font-weight: 600;
    border-radius: 30px;
    cursor: pointer;
    transition: 0.2s;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.il-load-more-btn:hover {
    border-color: var(--il-accent);
    color: var(--il-accent);
    background: #fef5f4;
}

@media (max-width: 992px) {
    .il-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
    .il-grid { grid-template-columns: 1fr; }
}
.il-card__btn[disabled],
.il-card__btn.gurman-card-btn-disabled,
.il-card__btn:disabled {
    background: #f5f5f5 !important;
    color: #a0a0a0 !important;
    border-color: #e0e0e0 !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none;
}
/* =========================================
   БЛОК РЕЦЕПТОВ (ДОПОЛНИТЕЛЬНО)
   ========================================= */

.il-recipes-section {
    margin-bottom: 40px;
}

/* Убираем фиксированную высоту картинки для рецептов, если нужно */
.il-recipes-grid .il-card__img {
    aspect-ratio: 4 / 3; /* Рецепты чуть шире */
}

/* Кнопка "Читать рецепт" */
.il-recipes-grid .il-card__btn {
    background: #fff;
    color: var(--il-accent);
    border: 1px solid var(--il-border);
    box-shadow: none;
    display: inline-flex;
    width: 100%;
    padding: 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    transition: 0.2s;
}

.il-recipes-grid .il-card:hover .il-card__btn {
    border-color: var(--il-accent);
    background: #fef5f4;
}

/* Прячем невидимые карточки */
.il-recipe-card.hidden-card {
    display: none;
}
/* =========================================
   ФУТЕР
   ========================================= */

.il-footer {
    background: #fcfbf9;
    border-top: 1px solid var(--il-border);
    padding: 60px 0 30px;
    margin-top: auto;
}

/* Основная сетка: Логотип слева, ссылки справа */
.il-footer-main {
    display: grid;
    grid-template-columns: 1fr 1.2fr; /* Логотип чуть уже, ссылки шире */
    gap: 60px;
    margin-bottom: 50px;
}

/* Брендовая часть */
.il-footer-brand {
    max-width: 320px;
}

.il-footer-logo {
    display: inline-block;
    font-size: 28px;
    font-weight: 900;
    color: var(--il-primary);
    letter-spacing: 1px;
    text-decoration: none;
    margin-bottom: 20px;
}
.il-footer-logo span { color: var(--il-accent); }

.il-footer-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--il-text-muted);
}

/* Сетка ссылок (две колонки) */
.il-footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr;
    gap: 40px;
}

.il-footer-col h4 {
    font-size: 15px;
    font-weight: 700;
    color: var(--il-primary);
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.il-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.il-footer-col li {
    font-size: 14px;
    line-height: 1.5;
    color: var(--il-text-muted);
}

.il-footer-col a {
    color: var(--il-text-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.il-footer-col a:hover {
    color: var(--il-accent);
}

/* Телефон */
.il-footer-phone {
    display: block;
    font-size: 20px;
    font-weight: 800;
    color: var(--il-accent) !important;
    margin-bottom: 4px;
    text-decoration: none;
}

.il-footer-time {
    font-size: 12px;
    color: var(--il-text-muted);
}

/* Нижняя часть */
.il-footer-bottom {
    border-top: 1px solid var(--il-border);
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #a0a0a0;
}

.il-footer-bottom a {
    color: #a0a0a0;
    text-decoration: none;
    transition: color 0.2s;
}
.il-footer-bottom a:hover {
    color: var(--il-primary);
}

/* Адаптив */
@media (max-width: 992px) {
    .il-footer-main {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .il-footer-brand {
        max-width: 100%;
    }
}

@media (max-width: 576px) {
    .il-footer-links {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .il-footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}
.il-footer-vk {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--il-accent) !important;
    text-decoration: none;
    background: rgba(107, 29, 43, 0.08);
    padding: 8px 16px;
    border-radius: 8px;
    transition: 0.2s;
}

.il-footer-vk:hover {
    background: var(--il-accent);
    color: #fff !important;
}

@media (max-width: 1200px) {
    .il-footer-links {
        grid-template-columns: 1fr 1fr; /* На средних экранах 2 колонки */
    }
}

@media (max-width: 768px) {
    .il-footer-links {
        grid-template-columns: 1fr; /* На мобилке 1 колонка */
    }
}

/* =========================================
   COOKIE BANNER (КРАСИВЫЙ И СТЕКЛЯННЫЙ)
   ========================================= */

.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    padding: 20px;
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
    pointer-events: none;
    display: flex;
    justify-content: center;
}

.cookie-banner.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.cookie-banner__container {
    max-width: 900px;
    width: 100%;
    background: rgba(255, 255, 255, 0.85); /* Матовое стекло */
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--il-border);
    border-radius: 20px;
    padding: 24px 32px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.cookie-banner__text {
    flex: 1;
}

.cookie-banner__title {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 800;
    color: var(--il-primary);
}

.cookie-banner__description {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--il-text-muted);
}

.cookie-banner__description a {
    color: var(--il-accent);
    text-decoration: underline;
}

.cookie-banner__buttons {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.cookie-banner__btn {
    padding: 12px 24px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: 0.2s;
    border: none;
}

.cookie-banner__btn--accept {
    background: var(--il-accent);
    color: #fff;
    box-shadow: 0 4px 15px rgba(107, 29, 43, 0.2);
}

.cookie-banner__btn--accept:hover {
    background: var(--il-accent-hover);
    transform: translateY(-2px);
}

.cookie-banner__btn--decline {
    background: transparent;
    color: var(--il-text-muted);
    border: 1px solid var(--il-border);
}

.cookie-banner__btn--decline:hover {
    background: #f5f5f5;
    color: var(--il-primary);
}

@media (max-width: 768px) {
    .cookie-banner__container {
        flex-direction: column;
        padding: 24px;
        text-align: center;
    }
    .cookie-banner__buttons {
        width: 100%;
        flex-direction: column;
    }
    .cookie-banner__btn {
        width: 100%;
    }
}
/* =========================================
   ПАГИНАЦИЯ UMI
   ========================================= */
.numpages {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 50px;
}
.numpages a,
.numpages span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--il-border);
    color: var(--il-primary);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.2s;
}
.numpages a:hover {
    border-color: var(--il-accent);
    color: var(--il-accent);
}
.numpages span,
.numpages a.active {
    background: var(--il-accent);
    color: #fff;
    border-color: var(--il-accent);
}

/* =========================================
   SEO-БЛОК ВНИЗУ КАТЕГОРИИ
   ========================================= */
.il-category-seo {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 24px;
    padding: 30px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--il-text-muted);
    margin-top: 20px;
    margin-bottom: 60px;
}
.il-category-seo h2,
.il-category-seo h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--il-primary);
    margin-bottom: 16px;
    margin-top: 24px;
}
.il-category-seo h2:first-child,
.il-category-seo h3:first-child {
    margin-top: 0;
}
.il-category-seo p { margin-bottom: 12px; }
.il-category-seo a { color: var(--il-accent); text-decoration: none; }
.il-category-seo a:hover { text-decoration: underline; }

/* =========================================
   ПОДКАТЕГОРИИ (БЕЗ КАРТИНОК)
   ========================================= */
.il-subcats-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--il-border);
}
.il-subcat {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #fff;
    border: 1px solid var(--il-border);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--il-primary);
    text-decoration: none;
    transition: 0.2s;
}
.il-subcat:hover { border-color: var(--il-accent); color: var(--il-accent); }
.il-subcat.active { background: var(--il-accent); color: #fff; border-color: var(--il-accent); }
.il-subcat span {
    font-size: 11px;
    background: rgba(0,0,0,0.05);
    padding: 2px 6px;
    border-radius: 10px;
    font-weight: 600;
}
.il-subcat.active span { background: rgba(255,255,255,0.2); }
/* =========================================
   СЕТКА КАТЕГОРИИ (BENTO)
   ========================================= */

.il-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.il-card {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.il-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.il-card__link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    flex-grow: 1;
}

.il-card__img {
    width: 100%;
    /*aspect-ratio: 1 / 1;*/
    background: #f5f2ee;
    position: relative;
    overflow: hidden;
}

.il-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.il-card:hover .il-card__img img {
    transform: scale(1.05);
}

.il-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.il-card__title {
    font-size: 14px;
    font-weight: 600;
    color: var(--il-primary);
    line-height: 1.4;
    margin-bottom: 8px;
    min-height: 40px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.il-card__instock {
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 12px;
}

.il-card__price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 16px;
}

.il-card__price {
    font-size: 18px;
    font-weight: 800;
    color: var(--il-accent);
    letter-spacing: -0.5px;
}

.il-card__unit {
    font-size: 12px;
    color: var(--il-text-muted);
}

.il-card__cart-block {
    margin-top: auto;
    padding: 0 16px 16px;
}

.il-card__btn {
    width: 100%;
    padding: 12px;
    background: var(--il-accent);
    border: 1px solid var(--il-accent);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border-radius: 12px;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(107, 29, 43, 0.2);
}

.il-card__btn:hover {
    background: #fff;
    color: var(--il-accent);
    border-color: var(--il-border);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.il-card__btn[disabled] {
    background: #f5f5f5;
    color: #a0a0a0;
    border-color: #e0e0e0;
    box-shadow: none;
    cursor: not-allowed;
}
/* =========================================
   ПОДКАТЕГОРИИ (ПОД ТВОЙ HTML)
   ========================================= */

/* Контейнер-обертка (в tpl он должен быть) */
.il-subcats-wrap,
.gurman-subcats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--il-border);
}

/* Сама плашка */
.gurman-subcat {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #fff;
    border: 1px solid var(--il-border);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--il-primary);
    text-decoration: none;
    transition: 0.2s;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.gurman-subcat:hover {
    border-color: var(--il-accent);
    color: var(--il-accent);
    transform: translateY(-2px);
}

.gurman-subcat.active {
    background: var(--il-accent);
    color: #fff;
    border-color: var(--il-accent);
    box-shadow: 0 4px 10px rgba(107, 29, 43, 0.2);
}

/* Счетчик внутри плашки */
.gurman-subcat-count {
    font-size: 11px;
    background: rgba(0,0,0,0.05);
    padding: 2px 6px;
    border-radius: 10px;
    font-weight: 600;
}

.gurman-subcat.active .gurman-subcat-count {
    background: rgba(255,255,255,0.2);
}
@media (max-width: 1200px) {
    .il-catalog-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
    .il-catalog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
    .il-catalog-grid { grid-template-columns: 1fr; }
}
.il-category-top {
    margin-bottom: 30px;
}
.il-category-title{
    font-size: 36px;
    font-weight: 800;
    color: var(--il-primary);
    letter-spacing: -1px;
    margin-bottom: 0;
    line-height: 1.2;
}
/* =========================================
   ГЛАВНАЯ СТРАНИЦА (BENTO)
   ========================================= */

/* Сбросы, если их нет в основном файле (на всякий случай) */
.il-main-content * { box-sizing: border-box; }
.il-main-content { padding-top: 30px; padding-bottom: 60px; flex-grow: 1; }

/* HERO */
.il-hero {
    background: linear-gradient(135deg, #2c2c2c 0%, var(--il-accent, #6b1d2b) 100%);
    border-radius: 32px;
    padding: 80px 60px;
    margin-bottom: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.il-hero-content { position: relative; z-index: 2; }
.il-hero-badge {
    display: inline-block;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 24px;
    border: 1px solid rgba(255,255,255,0.2);
}
.il-hero-title {
    font-size: 52px;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -2px;
    margin: 0 0 24px;
}
.il-hero-desc {
    font-size: 18px;
    opacity: 0.8;
    max-width: 450px;
    margin-bottom: 40px;
}
.il-hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.il-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    background: #fff;
    color: var(--il-accent, #6b1d2b);
    font-weight: 700;
    border-radius: 12px;
    transition: transform 0.2s, background 0.2s;
    font-size: 16px;
    text-decoration: none;
}
.il-hero-btn:hover {
    transform: translateY(-3px);
}
.il-hero-btn--outline {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.3);
}
.il-hero-btn--outline:hover {
    background: rgba(255,255,255,0.1);
}
.il-hero-image { position: relative; height: 100%; min-height: 400px; }
.il-hero-blob {
    position: absolute;
    top: -20%;
    right: -20%;
    width: 120%;
    height: 120%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.4) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(50px);
}

/* ПРЕИМУЩЕСТВА */
.il-advantages {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 60px;
}
.il-advantage-item {
    background: var(--il-bg-light, rgba(255, 255, 255, 0.85));
    border: 1px solid var(--il-border, rgba(0, 0, 0, 0.06));
    border-radius: 24px;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.il-advantage-icon {
    width: 56px;
    height: 56px;
    background: rgba(107, 29, 43, 0.08);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--il-accent, #6b1d2b);
}
.il-advantage-icon svg { width: 28px; height: 28px; stroke-width: 1.5; }
.il-advantage-text h4 { font-size: 18px; font-weight: 800; margin-bottom: 8px; margin-top: 0; }
.il-advantage-text p { font-size: 14px; color: var(--il-text-muted, #8a8580); margin: 0; line-height: 1.5; }

/* СЕКЦИИ */
.il-section { margin-bottom: 60px; }
.il-section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.il-section-title { font-size: 32px; font-weight: 800; letter-spacing: -0.5px; margin: 0; }

/* КАТЕГОРИИ */
.il-cats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.il-cat-card {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: flex-end;
    padding: 24px;
    transition: transform 0.3s, box-shadow 0.3s;
    text-decoration: none;
}
.il-cat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,0.15); }
.il-cat-img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.il-cat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.il-cat-card:hover .il-cat-img img { transform: scale(1.05); }
.il-cat-img::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 60%);
}
.il-cat-title { position: relative; z-index: 2; color: #fff; font-size: 20px; font-weight: 800; }

/* ХИТЫ ПРОДАЖ (Обертка для старого макроса) */
.il-hits-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
/* Стилизуем стандартные карточки UMI, если они не имеют наших классов */
.il-hits-wrapper > * {
    background: var(--il-bg-light, rgba(255, 255, 255, 0.85));
    border: 1px solid var(--il-border, rgba(0, 0, 0, 0.06));
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}
.il-hits-wrapper > *:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

/* ПОЧЕМУ ВЫБИРАЮТ */
.il-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.il-why-card {
    background: var(--il-bg-light, rgba(255, 255, 255, 0.85));
    border: 1px solid var(--il-border, rgba(0, 0, 0, 0.06));
    border-radius: 24px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.il-why-icon {
    width: 52px;
    height: 52px;
    background: rgba(107, 29, 43, 0.08);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--il-accent, #6b1d2b);
    margin-bottom: 8px;
}
.il-why-icon svg { width: 26px; height: 26px; }
.il-why-title { font-size: 18px; font-weight: 800; margin-bottom: 4px; }
.il-why-text { font-size: 14px; color: var(--il-text-muted, #8a8580); line-height: 1.5; }

/* SEO БЛОК */
.il-seo-block {
    background: var(--il-bg-light, rgba(255, 255, 255, 0.85));
    border: 1px solid var(--il-border, rgba(0, 0, 0, 0.06));
    border-radius: 24px;
    padding: 40px;
    margin-bottom: 60px;
}
.il-seo-block h2 { font-size: 24px; font-weight: 800; margin-top: 0; margin-bottom: 16px; }
.il-seo-block p { font-size: 15px; color: var(--il-text-muted, #8a8580); line-height: 1.7; margin-bottom: 16px; }
.il-seo-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    color: var(--il-accent, #6b1d2b);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    padding: 10px 0;
}
.il-seo-toggle svg { transition: transform 0.3s; }
.il-seo-toggle.open svg { transform: rotate(180deg); }

/* РЕЦЕПТЫ (Обертка для старого макроса) */
.il-recipes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.il-recipes-grid > * {
    background: var(--il-bg-light, rgba(255, 255, 255, 0.85));
    border: 1px solid var(--il-border, rgba(0, 0, 0, 0.06));
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}
.il-recipes-grid > *:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

/* АДАПТИВ */
@media (max-width: 1200px) {
    .il-hero-title { font-size: 42px; }
    .il-cats-grid, .il-hits-wrapper, .il-recipes-grid { grid-template-columns: repeat(3, 1fr); }
    .il-why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 992px) {
    .il-hero { grid-template-columns: 1fr; padding: 60px 40px; }
    .il-hero-title { font-size: 36px; }
    .il-hero-image { display: none; }
    .il-advantages { grid-template-columns: 1fr; }
    .il-cats-grid, .il-hits-wrapper, .il-recipes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
    .il-hero { padding: 40px 24px; }
    .il-hero-title { font-size: 28px; }
    .il-cats-grid, .il-hits-wrapper, .il-recipes-grid, .il-why-grid { grid-template-columns: 1fr; }
}
/* Сетка для хитов */
.il-grid {
    display: grid !important; /* Принудительно перебиваем старые стили */
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px;
    width: 100%;
}

/* Сама карточка (чтобы не было конфликтов с UMI) */
.il-card {
    display: flex;
    flex-direction: column;
    background: var(--il-bg-light, #fff);
    border-radius: 20px;
    overflow: hidden;
    width: 100%;
}

/* Картинка в карточке */
.il-card__img {
    width: 100%;
    /*aspect-ratio: 1 / 1;*/
    position: relative;
}
.il-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Адаптив для сетки */
@media (max-width: 1200px) {
    .il-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 992px) {
    .il-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 576px) {
    .il-grid { grid-template-columns: 1fr !important; }
}
/* =========================================
   РЕЦЕПТЫ (ГЛАВНАЯ И БЛОГ)
   ========================================= */
.il-recipes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
}

.il-recipe-card {
    background: var(--il-bg-light, #fff);
    border: 1px solid var(--il-border, rgba(0,0,0,0.06));
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    height: 100%; /* Чтобы карточки в ряду были одинаковыми по высоте */
}

.il-recipe-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.il-recipe-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.il-recipe-img {
    width: 100%;
    aspect-ratio: 4 / 3; /* Пропорции как у категорий */
    background: #f5f2ee;
    overflow: hidden;
    position: relative;
}

.il-recipe-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.il-recipe-card:hover .il-recipe-img img {
    transform: scale(1.05);
}

.il-recipe-body {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.il-recipe-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0; /* Убрали отступ, так как кнопки нет */
    line-height: 1.4;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Обрезаем длинный текст до 3 строк */
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--il-primary, #2c2c2c);
}

/* Адаптив */
@media (max-width: 1200px) {
    .il-recipes-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .il-recipes-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .il-recipes-grid {
        grid-template-columns: 1fr;
    }
}
/* =========================================
   ОФОРМЛЕНИЕ ЗАКАЗА (BENTO)
   ========================================= */

/* Общий контейнер */
.gurman-checkout {
    max-width: 1360px;
    margin: 0 auto;
    padding: 40px 24px;
    font-family: 'Inter', sans-serif;
    color: var(--il-primary);
}

/* Сетка: слева контент, справа сайдбар */
.gurman-checkout__form {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 30px;
    align-items: start;
}

.gurman-checkout__main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Блоки шагов */
.step {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.step__title {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 24px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.step__num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--il-accent);
    color: #fff;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
}

/* Прогресс-бары */
.checkout-progress {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
    background: #fdfbf9;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--il-border);
}

.progress-item__head {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}
.progress-item__label { color: var(--il-text-muted); }
.progress-item__value { color: var(--il-accent); }
.progress-item__value--done { color: #27ae60; }

.progress-item__bar {
    height: 6px;
    background: #e0e0e0;
    border-radius: 3px;
    overflow: hidden;
}
.progress-item__fill {
    height: 100%;
    background: var(--il-accent);
    border-radius: 3px;
    transition: width 0.3s ease;
}
.progress-item__fill--done { background: #27ae60; }
.progress-item__hint { font-size: 11px; color: var(--il-text-muted); margin-top: 6px; }

/* Карточки товаров в корзине */
.gurman-basket-group { margin-bottom: 24px; }
.gurman-basket-group:last-child { margin-bottom: 0; }

.gurman-basket-group__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--il-text-muted);
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Группа предзаказа (желтоватый фон) */
.gurman-basket-group--preorder {
    background: #fffcf5;
    border: 1px solid #fcedcc;
    border-radius: 16px;
    padding: 20px;
}
.gurman-basket-group--preorder .gurman-basket-group__header {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #d4af37;
    margin-bottom: 16px;
}
.gurman-basket-group--preorder .gurman-basket-group__title { color: #d4af37; margin-bottom: 0; }

/* Один товар */
.gurman-checkout-item {
    display: grid;
    grid-template-columns: 64px 1fr auto auto auto;
    gap: 16px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--il-border);
}
.gurman-checkout-item:last-child { border-bottom: none; padding-bottom: 0; }

.gurman-checkout-item__img {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f2ee;
}
.gurman-checkout-item__img img { width: 100%; height: 100%; object-fit: cover; }

.gurman-checkout-item__name {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--il-primary);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gurman-checkout-item__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.gurman-checkout-item__price-current { font-size: 16px; font-weight: 800; color: var(--il-accent); }
.gurman-checkout-item__price-old { font-size: 12px; text-decoration: line-through; color: var(--il-text-muted); }

/* Контролы количества */
.gurman-checkout-item__qty {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid var(--il-border);
    border-radius: 10px;
    padding: 4px;
}
.qty-minus, .qty-plus {
    width: 28px; height: 28px;
    border: none; background: transparent;
    font-size: 18px; font-weight: 600;
    color: var(--il-accent); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.qty-info { display: flex; flex-direction: column; align-items: center; width: 50px; }
.qty-info__count { font-size: 12px; font-weight: 600; }
.qty-info__sum { font-size: 11px; color: var(--il-text-muted); }

.gurman-checkout-item__del {
    width: 32px; height: 32px;
    border: none; background: #fef5f4;
    color: var(--il-accent); border-radius: 8px;
    font-size: 20px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}

/* Поля ввода (Шаг 2) */
.fields-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.field:last-child { margin-bottom: 0; }
.field-label { font-size: 13px; font-weight: 600; color: var(--il-text-muted); }
.field input, .field textarea {
    width: 100%; padding: 14px 16px;
    border: 1px solid var(--il-border);
    border-radius: 12px; font-family: inherit; font-size: 15px;
    background: #fff; transition: border-color 0.2s;
}
.field input:focus, .field textarea:focus {
    outline: none; border-color: var(--il-accent);
    box-shadow: 0 0 0 3px rgba(107, 29, 43, 0.1);
}

/* Радио-карточки (Шаг 3 и 4) */
.radio-cards { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.radio-card {
    display: block; position: relative;
    padding: 16px 16px 16px 48px;
    background: #fff;
    border: 1px solid var(--il-border);
    border-radius: 16px; cursor: pointer;
    transition: all 0.2s;
}
.radio-card:hover { border-color: rgba(107, 29, 43, 0.3); }
.radio-card input { position: absolute; opacity: 0; pointer-events: none; }
.radio-card input:checked ~ .radio-card__title { color: var(--il-accent); font-weight: 700; }
.radio-card input:checked ~ .radio-card__hint { color: var(--il-primary); }
.radio-card input:checked { border-color: var(--il-accent); background: #fef5f4; }
.radio-card__title { display: block; font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.radio-card__hint { display: block; font-size: 13px; color: var(--il-text-muted); }

/* Сайдбар (Итого) */
.gurman-checkout__sidebar {
    position: sticky;
    top: 100px; /* Под шапку */
}
.summary {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 24px; padding: 32px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04);
}
.summary__title { font-size: 20px; font-weight: 800; margin: 0 0 24px 0; }
.summary__row { display: flex; justify-content: space-between; font-size: 15px; margin-bottom: 16px; color: var(--il-text-muted); }
.summary__row--discount { color: #27ae60; }
.summary__row--total {
    border-top: 1px solid var(--il-border);
    padding-top: 16px; margin-top: 16px; margin-bottom: 24px;
    font-size: 18px; font-weight: 800; color: var(--il-primary);
}
.summary__total { font-size: 24px; color: var(--il-accent); }
.summary__privacy { margin-bottom: 20px; font-size: 12px; line-height: 1.5; }
.summary__privacy label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.summary__privacy a { color: var(--il-accent); text-decoration: underline; }

/* Кнопка "Оформить заказ" */
.btn-checkout {
    width: 100%; padding: 18px;
    background: var(--il-accent); color: #fff;
    border: none; border-radius: 14px;
    font-size: 16px; font-weight: 700; cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
.btn-checkout:hover:not(:disabled) { background: var(--il-accent-hover); transform: translateY(-2px); }
.btn-checkout:disabled { background: #a0a0a0; cursor: not-allowed; }

/* Гарантии в сайдбаре */
.guarantees { margin-top: 24px; display: flex; flex-direction: column; gap: 16px; }
.guarantee { display: flex; align-items: center; gap: 12px; }
.guarantee__icon { color: var(--il-accent); opacity: 0.7; }
.guarantee__text strong { display: block; font-size: 13px; font-weight: 700; }
.guarantee__text span { display: block; font-size: 11px; color: var(--il-text-muted); }

/* Дополнительные элементы доставки (карта, блоки) */
#deliveryMap, #pickupMap { border-radius: 16px; border: 1px solid var(--il-border); }
.delivery-zone-result {
    display: flex; justify-content: space-between;
    background: #fdfbf9; padding: 16px; border-radius: 12px;
    margin: 16px 0; border: 1px solid var(--il-border);
}
.delivery-info {
    background: #f5f2ee; border-radius: 16px; padding: 20px; font-size: 13px;
}
.delivery-info ul { padding-left: 20px; margin: 10px 0; }
.delivery-info li { margin-bottom: 6px; }
.delivery-info__note { font-style: italic; color: var(--il-text-muted); margin-top: 10px; }

/* Адаптив */
@media (max-width: 992px) {
    .gurman-checkout__form { grid-template-columns: 1fr; }
    .gurman-checkout__sidebar { position: static; }
    .fields-row { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
    .step { padding: 20px; }
    .gurman-checkout-item {
        grid-template-columns: 64px 1fr;
        grid-template-areas: "img info" "price price" "qty del";
        gap: 12px;
    }
    .gurman-checkout-item__img { grid-area: img; }
    .gurman-checkout-item__info { grid-area: info; }
    .gurman-checkout-item__price { grid-area: price; align-items: flex-start; }
    .gurman-checkout-item__qty { grid-area: qty; justify-self: start; }
    .gurman-checkout-item__del { grid-area: del; justify-self: end; }
}
/* =========================================
   БЛОК ДОСТАВКИ (ШАГ 3)
   ========================================= */

/* Контейнер с адресом и временем работы */
.pickup-info {
    background: #f5f7f9; /* Светло-серый фон, как на Гурмане */
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Строка (адрес или время) */
.pickup-info__address,
.pickup-info__time {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

/* Иконки */
.pickup-info__address svg,
.pickup-info__time svg {
    flex-shrink: 0;
    color: var(--il-accent, #6b1d2b);
    margin-top: 2px;
    width: 20px;
    height: 20px;
}

/* Текст внутри строки */
.pickup-info__address div,
.pickup-info__time div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Заголовок (Адрес склада / Время работы) */
.pickup-info__address strong,
.pickup-info__time strong {
    font-size: 13px;
    font-weight: 600;
    color: #8a8580; /* Приглушенный цвет */
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Значение (Сам адрес / Часы работы) */
.pickup-info__address span,
.pickup-info__time span {
    font-size: 15px;
    font-weight: 600;
    color: #2c2c2c;
    line-height: 1.4;
}

/* Кнопка "Построить маршрут" */
.pickup-route-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--il-accent, #6b1d2b);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border-radius: 12px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
    margin-top: 8px;
}

.pickup-route-btn:hover {
    background: var(--il-accent-hover, #52141f);
    transform: translateY(-2px);
}

.pickup-route-btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
/* =========================================
   РАДИО-КАРТОЧКИ (БЕЗ КРУЖКОВ, В РЯД)
   ========================================= */
.radio-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    margin-bottom: 24px;
    width: 100%;
}

.radio-card {
    position: relative;
    display: block !important;
    padding: 16px 48px 16px 20px !important; /* Слева 20px — текст прижат к краю */
    background: #fff;
    border: 1px solid var(--il-border, rgba(0,0,0,0.08));
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex: 1 1 50%;
    width: 50%;
    box-sizing: border-box;
}

.radio-card:hover {
    border-color: rgba(107, 29, 43, 0.3);
}

/* ПОЛНОСТЬЮ УБИРАЕМ ИНПУТ ИЗ DOM (чтобы он не занимал место) */
.radio-card input[type="radio"] {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
}

.radio-card__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--il-primary, #2c2c2c);
    margin: 0;
    display: block;
    text-align: left; /* Жестко влево */
}

.radio-card__hint {
    font-size: 13px;
    color: var(--il-text-muted, #8a8580);
    margin-top: 4px;
    display: block;
    text-align: left;
}

/* ВЫБРАННОЕ СОСТОЯНИЕ */
.radio-card:has(input:checked) {
    border-color: var(--il-accent, #6b1d2b);
    background: #fef5f4;
}

.radio-card:has(input:checked) .radio-card__title {
    color: var(--il-accent, #6b1d2b);
}

/* ГАЛОЧКА СПРАВА */
.radio-card:has(input:checked)::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-color: var(--il-accent, #6b1d2b);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 2;
}

@media (max-width: 576px) {
    .radio-cards {
        flex-direction: column !important;
    }
    .radio-card {
        width: 100% !important;
    }
}
/* Убиваем только ::before (кружок), ::after (галочку) не трогаем! */
.radio-card::before {
    display: none !important;
    content: none !important;
}

.radio-card input[type="radio"]::before {
    display: none !important;
    content: none !important;
}
/* Убиваем ::before у карточки и у инпута ВО ВСЕХ СОСТОЯНИЯХ */
.radio-card::before,
.radio-card:has(input:checked)::before,
.radio-card input[type="radio"]::before,
.radio-card input[type="radio"]:checked::before {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
}
/* =========================================
   МОДАЛЬНОЕ ОКНО УСПЕШНОГО ЗАКАЗА
   ========================================= */

/* Оверлей (затемнение фона) */
.order-result-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(44, 44, 44, 0.6); /* Темный полупрозрачный фон */
    backdrop-filter: blur(4px); /* Легкое размытие фона (матовое стекло) */
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.order-result-overlay.open {
    opacity: 1;
    visibility: visible;
}

/* Само модальное окно */
.order-result-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    width: 100%;
    max-width: 420px;
    background: var(--il-bg-light, #fff);
    border-radius: 24px;
    padding: 40px 32px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    z-index: 9999;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Пружинистое появление */
}

.order-result-modal.open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

/* Иконка (галочка или крестик) */
.order-result-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.order-result-icon svg {
    width: 40px;
    height: 40px;
}

/* Стили для успеха */
.order-result-icon--success {
    background: rgba(39, 174, 96, 0.1);
    color: #27ae60;
}

/* Стили для ошибки */
.order-result-icon--error {
    background: rgba(231, 76, 60, 0.1);
    color: #e74c3c;
}

/* Заголовок */
.order-result-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--il-primary, #2c2c2c);
    margin: 0 0 12px 0;
    letter-spacing: -0.5px;
}

/* Подзаголовок (текст сообщения) */
.order-result-subtitle {
    font-size: 15px;
    color: var(--il-text-muted, #8a8580);
    line-height: 1.5;
    margin: 0 0 32px 0;
}

/* Контейнер для кнопок */
.order-result-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Общие стили для кнопок */
.order-result-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 16px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    font-family: inherit;
}

/* Основная кнопка (На главную) */
.order-result-btn--primary {
    background: var(--il-accent, #6b1d2b);
    color: #fff;
}

.order-result-btn--primary:hover {
    background: var(--il-accent-hover, #52141f);
    transform: translateY(-2px);
}

/* Вторичная кнопка (Закрыть) */
.order-result-btn--secondary {
    background: #fff;
    color: var(--il-primary, #2c2c2c);
    border: 1px solid var(--il-border, rgba(0,0,0,0.08));
}

.order-result-btn--secondary:hover {
    border-color: var(--il-accent, #6b1d2b);
    color: var(--il-accent, #6b1d2b);
}

/* Адаптив для мобилок */
@media (max-width: 576px) {
    .order-result-modal {
        width: calc(100% - 32px);
        padding: 32px 24px;
    }
    .order-result-title {
        font-size: 20px;
    }
}
/* =========================================
   СТРАНИЦА РЕЦЕПТОВ (СПИСОК)
   ========================================= */

/* Контейнер для всей страницы (если UMI не обернул) */
.gurman-recipe-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--il-border);
}

/* Кнопки фильтров (теги) */
.gurman-filter-btn {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    border: 1px solid var(--il-border);
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    color: var(--il-primary);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s;
}

.gurman-filter-btn:hover {
    border-color: var(--il-accent);
    color: var(--il-accent);
}

.gurman-filter-btn.active {
    background: var(--il-accent);
    border-color: var(--il-accent);
    color: #fff;
}

/* Сетка карточек рецептов */
.gurman-recipes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

/* Карточка рецепта */
.gurman-recipe-card {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    height: 100%;
}

.gurman-recipe-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.gurman-recipe-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

/* Картинка */
.gurman-recipe-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #f5f2ee;
    overflow: hidden;
}

.gurman-recipe-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gurman-recipe-card:hover .gurman-recipe-img img {
    transform: scale(1.05);
}

/* Тело карточки */
.gurman-recipe-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Заголовок */
.gurman-recipe-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 12px;
    color: var(--il-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 42px;
}

/* Мета-данные (время, порции, кухня) */
.gurman-recipe-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.grm-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--il-text-muted);
    font-weight: 500;
}

.grm-meta-item svg {
    width: 14px;
    height: 14px;
    color: var(--il-accent);
    opacity: 0.7;
}

/* Описание (обрезанное) */
.gurman-recipe-desc {
    font-size: 13px;
    color: var(--il-text-muted);
    line-height: 1.5;
    position: relative;
    padding-bottom: 24px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 78px; /* 4 строки * 1.5 */
}
.gurman-recipe-desc::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    pointer-events: none;
}
/* Адаптив */
@media (max-width: 1200px) {
    .gurman-recipes-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
    .gurman-recipes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
    .gurman-recipes-grid { grid-template-columns: 1fr; }
}
/* Контейнер */
.header_block_wrap {
    max-width: 1360px;
    margin: 0;
    padding: 25px 0 15px;
    box-sizing: border-box;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Верхняя строка (кнопка + заголовок) */
.header_block_wrap .gurman-category-top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    width: 100%;
    text-align: left;
}

/* Заголовок */
.header_block_wrap .gurman-category-top .header_block {
    display: block;
    text-align: left;
    margin: 0;
    padding: 0;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: var(--il-primary);
    flex: none;
    background: transparent;
}

/* Кнопка "Назад" */
.header_block_wrap .gurman-category-top .gurman-back-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: var(--il-primary);
    text-decoration: none;
    flex-shrink: 0;
    border: 1px solid var(--il-border);
    box-sizing: border-box;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}

.header_block_wrap .gurman-category-top .gurman-back-circle:hover {
    background: var(--il-accent);
    color: #fff;
    border-color: var(--il-accent);
    transform: translateX(-3px);
}

/* Крошки */
.header_block_wrap .gurman-category-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    margin: 20px 0 15px;
    padding: 0;
    width: 100%;
    font-size: 13px;
    color: var(--il-text-muted);
}

.header_block_wrap .gurman-category-breadcrumbs a {
    color: var(--il-text-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.header_block_wrap .gurman-category-breadcrumbs a:hover {
    color: var(--il-accent);
}

.header_block_wrap .gurman-category-breadcrumbs span {
    color: var(--il-text-muted);
    margin: 0 6px;
}
/* =========================================
   СТРАНИЦА ОДНОГО РЕЦЕПТА (POST_VIEW)
   ========================================= */

.gurman-recipe-page {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 0 60px;
    box-sizing: border-box;
}

/* --- ШАПКА РЕЦЕПТА --- */
.gurman-recipe-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04);
}

.gurman-recipe-hero-img {
    width: 100%;
    height: 100%;
    min-height: 400px;
    background: #f5f2ee;
}

.gurman-recipe-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gurman-recipe-hero-info {
    padding: 40px 40px 40px 0; /* Отступ слева убираем, так как картинка */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gurman-recipe-hero-info h2 {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 24px 0;
    color: var(--il-primary);
    letter-spacing: -0.5px;
}

/* Метаданные */
.gurman-recipe-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--il-border);
}

.gurman-recipe-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--il-text-muted);
}

.gurman-recipe-meta__item svg {
    color: var(--il-accent);
    width: 18px;
    height: 18px;
}

/* Вступление (короткий текст) */
.gurman-recipe-intro {
    font-size: 15px;
    line-height: 1.6;
    color: var(--il-primary);
}

/* --- СЕТКА КОНТЕНТА --- */
.gurman-recipe-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}

.gurman-recipe-col {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.gurman-recipe-col h2 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 20px 0;
    color: var(--il-primary);
}

/* Ингредиенты (стилизуем стандартный вывод UMI) */
.gurman-recipe-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.gurman-recipe-col li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid var(--il-border);
    font-size: 14px;
}
.gurman-recipe-col li:last-child {
    border-bottom: none;
}

/* Шаги приготовления */
.gurman-recipe-col .step-item {
    margin-bottom: 20px;
}
.gurman-recipe-col .step-title {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 8px;
    color: var(--il-accent);
}
.gurman-recipe-col .step-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--il-primary);
}

/* Продукты для рецепта */
.gurman-recipe-products {
    margin-top: 32px;
}
.gurman-recipe-products h2 {
    font-size: 18px;
    margin-bottom: 16px;
}

/* Теги */
.gurman-recipe-tags {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid var(--il-border);
}
.gurman-recipe-tags__label {
    font-size: 14px;
    font-weight: 700;
    color: var(--il-text-muted);
}
.gurman-recipe-tags__list {
    display: flex;
    gap: 8px;
}
.gurman-recipe-tags__list a {
    display: inline-block;
    padding: 6px 14px;
    background: #fff;
    border: 1px solid var(--il-border);
    border-radius: 20px;
    font-size: 13px;
    color: var(--il-primary);
    text-decoration: none;
    transition: all 0.2s;
}
.gurman-recipe-tags__list a:hover {
    border-color: var(--il-accent);
    color: var(--il-accent);
}

/* --- АДАПТИВ --- */
@media (max-width: 992px) {
    .gurman-recipe-hero {
        grid-template-columns: 1fr;
    }
    .gurman-recipe-hero-info {
        padding: 24px;
    }
    .gurman-recipe-hero-img {
        min-height: 300px;
    }
    .gurman-recipe-grid {
        grid-template-columns: 1fr;
    }
}
/* =========================================
   ШАГИ ПРИГОТОВЛЕНИЯ (ТОЧНЫЕ КЛАССЫ)
   ========================================= */

.gurman-recipe-steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

.gurman-recipe-step {
    background: #fdfbf9; /* Светлый фон */
    border: 1px solid var(--il-border, rgba(0,0,0,0.06));
    border-radius: 16px;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gurman-step-num {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--il-accent, #6b1d2b); /* Бордовый цвет */
    letter-spacing: 0.5px;
}

.gurman-step-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--il-primary, #2c2c2c);
}
/* =========================================
   ПРОДУКТЫ ДЛЯ РЕЦЕПТА (КОМПАКТНЫЙ СПИСОК)
   ========================================= */

.gurman-recipe-products {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
}

/* Переопределяем карточку товара внутри этого блока */
.gurman-recipe-products .gurman-product-card {
    display: flex;
    align-items: center;
    background: #fdfbf9;
    border: 1px solid var(--il-border);
    border-radius: 16px;
    padding: 12px 16px;
    position: relative;
    transition: background 0.2s;
    min-height: 80px;
}

.gurman-recipe-products .gurman-product-card:hover {
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

/* Скрываем бейджи (Новинка, Хит и т.д.) в этом блоке */
.gurman-recipe-products .gurman-card-badges {
    display: none !important;
}

/* Ссылка-обертка (картинка + текст) */
.gurman-recipe-products .gurman-card-link {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    color: inherit;
    flex-grow: 1;
    min-width: 0; /* Чтобы текст мог обрезаться */
}

/* Картинка (маленькая) */
.gurman-recipe-products .gurman-card-img {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f2ee;
}

.gurman-recipe-products .gurman-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Текстовая часть */
.gurman-recipe-products .gurman-card-body {
    display: flex;
    flex-direction: column;
    padding: 0;
    min-width: 0;
}

/* Заголовок (название) */
.gurman-recipe-products .gurman-card-title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 4px;
    color: var(--il-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Статус наличия */
.gurman-recipe-products .gurman-card-instock {
    font-size: 12px;
    margin-bottom: 4px;
}
.gurman-recipe-products .gurman-instock {
    color: #27ae60; /* Зеленый или серый */
}

/* Цена */
.gurman-recipe-products .gurman-card-price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.gurman-recipe-products .gurman-card-price {
    font-size: 18px;
    font-weight: 800;
    color: var(--il-accent);
}

.gurman-recipe-products .gurman-card-unit {
    font-size: 12px;
    color: var(--il-text-muted);
}

/* Блок с кнопкой */
.gurman-recipe-products .gurman-card-cart-block {
    flex-shrink: 0;
    margin-left: 16px;
    padding: 0;
    min-width: auto;
}

/* Кнопка (Ожидаем / +) */
.gurman-recipe-products .gurman-card-btn-initial {
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 0;
    font-weight: 600;
    background: #e0e0e0;
    color: #666;
    border: none;
    cursor: not-allowed;
}

/* Если товар в наличии — делаем кнопку квадратной с плюсом */
.gurman-recipe-products .gurman-card-btn-initial:not(.gurman-card-btn-disabled) {
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #27ae60; /* Зеленая кнопка */
    color: #fff;
    font-size: 0;
    font-weight: 400;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s;
}

.gurman-recipe-products .gurman-card-btn-initial:not(.gurman-card-btn-disabled):hover {
    background: #219653;
}

/* Скрываем контролы плюс/минус, если они не нужны в этом виде */
.gurman-recipe-products .gurman-card-cart-controls {
    display: none;
}
/* =========================================
   КОНТЕНТНЫЕ СТРАНИЦЫ (ТЕКСТОВЫЕ)
   ========================================= */

/* Общая обертка */
main.inner {
    max-width: 1000px; /* Ограничиваем ширину для удобства чтения */
    margin: 0 auto;
    padding: 40px 24px 80px;
    box-sizing: border-box;
}

main.inner h1.header_block {
    font-size: 40px;
    font-weight: 900;
    letter-spacing: -1px;
    margin-bottom: 40px;
    color: var(--il-primary);
}

/* Сама статья */
.inner_page {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
    border-radius: 32px;
    padding: 48px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
    font-size: 16px;
    line-height: 1.7;
    color: var(--il-primary);
}

/* Заголовки внутри текста */
.inner_page h2 {
    font-size: 26px;
    font-weight: 800;
    margin: 40px 0 20px;
    color: var(--il-primary);
    letter-spacing: -0.5px;
    position: relative;
    padding-bottom: 12px;
}

/* Бордовая полоска под H2 */
.inner_page h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--il-accent);
    border-radius: 3px;
}

/* Заголовки H3 (например, "Рыба", "Крабы") */
.inner_page h3 {
    font-size: 20px;
    font-weight: 800;
    margin: 32px 0 16px;
    color: var(--il-accent);
}

/* Абзацы */
.inner_page p {
    margin-bottom: 16px;
}

/* Списки */
.inner_page ul,
.inner_page ol {
    margin-bottom: 24px;
    padding-left: 0;
    list-style: none; /* Убираем стандартные маркеры */
}

.inner_page li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 12px;
}

/* Кастомный маркер списка (бордовая точка) */
.inner_page ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background-color: var(--il-accent);
    border-radius: 50%;
}

/* Ссылки внутри текста */
.inner_page a {
    color: var(--il-accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(107, 29, 43, 0.3);
    transition: border-color 0.2s;
}
.inner_page a:hover {
    border-bottom-color: var(--il-accent);
}

/* Выделенный текст (strong) */
.inner_page strong {
    font-weight: 700;
    color: var(--il-primary);
}

/* Убираем лишние <span> и <p>, если они пустые (чтобы не было лишних отступов) */
.inner_page p:empty,
.inner_page span:empty {
    display: none;
}

/* Адаптив */
@media (max-width: 768px) {
    main.inner h1.header_block {
        font-size: 32px;
    }
    .inner_page {
        padding: 24px;
        border-radius: 20px;
    }
    .inner_page h2 {
        font-size: 22px;
    }
    .il-logo{
        width: auto;
    }
    .il-logo__title{
        font-size: 17px;
    }
}
/* Бейджи на фото — только для мобилки */
.il-badges-mobile {
    display: none;
}
.gurman-product.is-loading .gurman-cart-block {
    position: relative;
    pointer-events: none;
}

.gurman-product.is-loading .gurman-cart-block form > * {
    opacity: 0 !important;
    pointer-events: none;
}

.gurman-product.is-loading .gurman-cart-block::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent);
    animation: il-shimmer 1.2s infinite;
    z-index: 2;
    border-radius: inherit;
}

.gurman-product.is-loading .gurman-cart-block::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px;
    border: 2.5px solid rgba(255,255,255,0.35);
    border-top-color: var(--il-accent);
    border-radius: 50%;
    animation: il-spin 0.7s linear infinite;
    z-index: 3;
}

@keyframes il-shimmer {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

@keyframes il-spin {
    to { transform: rotate(360deg); }
}
.gurman-product-card.is-loading .il-card__cart-block {
    position: relative;
    pointer-events: none;
}

.gurman-product-card.is-loading .il-card__cart-block > * {
    opacity: 0 !important;
    pointer-events: none;
}

.gurman-product-card.is-loading .il-card__cart-block::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent);
    animation: il-shimmer 1.2s infinite;
    z-index: 2;
    border-radius: inherit;
}

.gurman-product-card.is-loading .il-card__cart-block::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    border: 2.5px solid rgba(255,255,255,0.35);
    border-top-color: var(--il-accent);
    border-radius: 50%;
    animation: il-spin 0.7s linear infinite;
    z-index: 3;
}
/* ============================================
   DADATA SUGGESTIONS (стилизация под Ikra Life)
   ============================================ */

/* Контейнер выпадающего списка */
.suggestions-wrapper {
    width: 100% !important;
}

.suggestions-suggestions {
    background: #ffffff !important;
    border: 1px solid var(--il-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 40px rgba(107, 29, 43, 0.12) !important;
    margin-top: 8px !important;
    padding: 6px 0 !important;
    font-family: 'Inter', sans-serif !important;
    overflow: hidden !important;
    z-index: 9999 !important;
}

/* Убираем стандартную иконку "лупы" и ставим свою */
.suggestions-suggestions::before {
    content: none !important;
    display: none !important;
}

/* Пункт подсказки */
.suggestions-suggestion {
    padding: 12px 16px !important;
    font-size: 14px !important;
    color: var(--il-text) !important;
    cursor: pointer !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    border-radius: 12px !important;
    margin: 2px 6px !important;
    line-height: 1.4 !important;
}

/* Наведение и активный пункт */
.suggestions-suggestion:hover,
.suggestions-suggestion.suggestions-suggestion-select {
    background: var(--il-bg-light) !important;
    color: var(--il-primary) !important;
}

/* Выделение совпадающего текста (подсветка) */
.suggestions-suggestion .suggestions-suggestion-label {
    color: var(--il-primary) !important;
    font-weight: 700 !important;
}

/* Убираем старую иконку в каждом пункте (если есть) */
.suggestions-suggestion::before {
    content: none !important;
    display: none !important;
}

/* Поле ввода с подсказками (рамка при фокусе) */
.suggestions-input {
    border-radius: 12px !important;
    font-family: 'Inter', sans-serif !important;
}

.suggestions-input:focus {
    outline: none !important;
    border-color: var(--il-accent) !important;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15) !important;
}

/* Скрываем стандартную подпись "Powered by DaData" (если мешает) */
.suggestions-suggestions .suggestions-promo {
    display: none !important;
}
/* Кастомный чекбокс для Email */
.field-email-toggle {
    margin-top: 24px;
}

.il-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    font-size: 15px;
    color: var(--il-text);
    margin-bottom: 16px;
}

.il-checkbox input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.il-checkbox__box {
    width: 22px;
    height: 22px;
    border: 2px solid var(--il-border);
    border-radius: 6px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    position: relative;
    flex-shrink: 0;
}

/* Галочка (SVG через маску) */
.il-checkbox__box::after {
    content: '';
    width: 12px;
    height: 12px;
    background-color: #fff;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s ease;
}

.il-checkbox input:checked + .il-checkbox__box {
    background: var(--il-primary);
    border-color: var(--il-primary);
}

.il-checkbox input:checked + .il-checkbox__box::after {
    opacity: 1;
    transform: scale(1);
}

.il-checkbox input:focus-visible + .il-checkbox__box {
    box-shadow: 0 0 0 3px rgba(107, 29, 43, 0.2);
}

.il-checkbox__text {
    line-height: 1.4;
}

/* Плавное появление поля email */
.field-email-input {
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.field-email-input.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.il-details-row:has(> .il-storage-block[style*="display: none"]) > .il-specs-block,
.il-details-row:has(> .il-specs-block[style*="display: none"]) > .il-storage-block {
    flex: 1 1 100% !important;
    max-width: 100% !important;
}
.gurman-recipe-products .gurman-card-btn-initial::before {
    content: '+';
    font-size: 24px;
    color: #fff;
    font-weight: 400;
}
.gurman-card-cart-controls.active {
    display: flex;
}
/* ============================================
   КНОПКИ В ПРОДУКТАХ ДЛЯ РЕЦЕПТОВ (IKRA LIFE)
   ============================================ */

/* Контейнер управления (плюс/минус) */
.gurman-recipe-products .gurman-card-cart-controls {
    flex: 1;
    align-items: stretch; /* Важно: растягиваем по высоте */
    background: var(--il-bg-light);
    border-radius: 8px;
    overflow: hidden;
}

/* Кнопка удаления (слева) */
.gurman-recipe-products .gurman-card-btn-trash {
    width: 38px;
    background: #ffffff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--il-accent); /* Красный/бордовый */
    border-right: 1px solid var(--il-border);
    transition: background 0.2s;
    padding: 0;
}

.gurman-recipe-products .gurman-card-btn-trash:hover {
    background: var(--il-bg-light);
}

.gurman-recipe-products .gurman-card-btn-trash svg {
    width: 16px;
    height: 16px;
    stroke: var(--il-primary);
}

.gurman-recipe-products .gurman-card-btn-trash .gurman-card-icon-minus {
    display: none;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    color: var(--il-primary);
}

.gurman-recipe-products .gurman-card-btn-trash.is-minus svg {
    display: none;
}

.gurman-recipe-products .gurman-card-btn-trash.is-minus .gurman-card-icon-minus {
    display: block;
}

/* Центральная часть с инфо */
.gurman-recipe-products .gurman-card-cart-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4px;
    text-align: center;
    line-height: 1.2;
}

.gurman-recipe-products .gurman-card-cart-qty {
    font-size: 11px;
    color: var(--il-text-muted);
    font-weight: 500;
    margin-bottom: 2px;
}

.gurman-recipe-products .gurman-card-cart-sum {
    font-size: 14px;
    font-weight: 800;
    color: var(--il-text);
    white-space: nowrap;
}

/* Кнопка плюс (справа) */
.gurman-recipe-products .gurman-card-btn-plus {
    width: 42px;
    background: var(--il-primary); /* Бордовый */
    color: #ffffff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 400;
    transition: background 0.2s;
    padding: 0;
}

.gurman-recipe-products .gurman-card-btn-plus:hover {
    background: var(--il-accent); /* Золотой при наведении */
}

.gurman-recipe-products .gurman-card-btn-initial:hover {
    background: var(--il-accent);
}
.gurman-recipe-products .gurman-card-cart-controls {
    background: var(--il-bg-light);
    border: 1px solid var(--il-border);
}

/* Кнопка удаления (мусорка) */
.gurman-recipe-products .gurman-card-btn-trash {
    background: #ffffff;
    color: var(--il-primary);
}

.gurman-recipe-products .gurman-card-btn-trash svg {
    stroke: var(--il-primary);
}

.gurman-recipe-products .gurman-card-btn-trash:hover {
    background: var(--il-bg-light);
}

.gurman-recipe-products .gurman-card-btn-trash .gurman-card-icon-minus {
    color: var(--il-primary);
}

/* Кнопка плюс — БОРДОВАЯ в покое */
.gurman-recipe-products .gurman-card-btn-plus {
    background: var(--il-accent);
    color: #ffffff;
}

/* Кнопка плюс — ЧЕРНАЯ при наведении */
.gurman-recipe-products .gurman-card-btn-plus:hover {
    background: #2c2c2c;
}

/* Инфо (кол-во и сумма) */
.gurman-recipe-products .gurman-card-cart-qty {
    color: var(--il-text-muted);
}

.gurman-recipe-products .gurman-card-cart-sum {
    color: var(--il-text);
}
/* ============================================
   ОТЗЫВЫ (BENTO STYLE)
   ============================================ */

.gurman-reviews {
    margin-top: 32px;
}

.gurman-reviews__title {
    font-size: 24px;
    font-weight: 800;
    color: var(--il-text);
    margin-bottom: 24px;
}

.gurman-reviews__form-wrap {
    background: #ffffff;
    border: 1px solid var(--il-border);
    border-radius: 20px;
    padding: 24px;
    margin-bottom: 32px;
    box-shadow: 0 4px 20px rgba(107, 29, 43, 0.04);
}

.gurman-reviews__form-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--il-text);
    margin-bottom: 16px;
}

/* Звезды в форме */
.gurman-review-form__rating {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.gurman-review-form__rating-label {
    font-size: 14px;
    color: var(--il-text-muted);
}

.gurman-review-form__stars {
    display: flex;
    gap: 4px;
    cursor: pointer;
}

.gurman-review-form__star {
    font-size: 24px;
    color: #e0e0e0; /* Серый по умолчанию */
    transition: color 0.2s;
    line-height: 1;
}

.gurman-review-form__star.is-active {
    color: var(--il-accent); /* Золотой */
}

/* Поля ввода */
.gurman-review-form__field {
    margin-bottom: 16px;
}

.gurman-review-form__field textarea {
    width: 100%;
    min-height: 100px;
    padding: 16px;
    border: 1px solid var(--il-border);
    border-radius: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--il-text);
    background: var(--il-bg-light);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    resize: vertical;
    box-sizing: border-box;
}

.gurman-review-form__field textarea:focus {
    border-color: var(--il-accent);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);
}

/* Кнопка отправки */
.gurman-review-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    background: var(--il-primary);
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.gurman-review-form__submit:hover {
    background: var(--il-accent);
    transform: translateY(-1px);
}

/* Список отзывов */
.gurman-reviews__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

.gurman-review {
    background: #ffffff;
    border: 1px solid var(--il-border);
    border-radius: 16px;
    padding: 20px;
}

.gurman-review__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.gurman-review__author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gurman-review__avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--il-bg-light);
    color: var(--il-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
}

.gurman-review__author-info {
    display: flex;
    flex-direction: column;
}

.gurman-review__name {
    font-weight: 700;
    color: var(--il-text);
    font-size: 15px;
}

.gurman-review__date {
    font-size: 12px;
    color: var(--il-text-muted);
    margin-top: 2px;
}

.gurman-review__body {
    font-size: 15px;
    line-height: 1.6;
    color: var(--il-text);
}

/* Рейтинг (звезды в отзыве) */
.gurman-reviews-stars {
    position: relative;
    display: inline-block;
    font-size: 16px;
    letter-spacing: 2px;
}

.gurman-reviews-stars__base {
    color: #e0e0e0;
}

.gurman-reviews-stars__fill {
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    overflow: hidden;
    color: var(--il-accent);
    width: var(--rating-percent, 0%);
}

/* Кнопка "Показать ещё" */
.gurman-reviews__more-wrap {
    display: none;
    text-align: center;
    margin-top: 20px;
}

.gurman-reviews__more-wrap.is-visible {
    display: block;
}

.gurman-reviews__more {
    background: transparent;
    color: var(--il-primary);
    border: 1px solid var(--il-primary);
    padding: 12px 32px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.gurman-reviews__more:hover {
    background: var(--il-primary);
    color: #ffffff;
}

/* ============================================
   МОДАЛКА ОТЗЫВА (BENTO)
   ============================================ */

.gurman-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}

.gurman-modal.open {
    display: flex;
}

.gurman-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(44, 44, 44, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.gurman-modal__content {
    position: relative;
    width: 100%;
    max-width: 400px;
    background: #ffffff;
    border-radius: 24px;
    padding: 32px;
    text-align: center;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.15);
    z-index: 10;
    animation: modalFadeIn 0.3s ease;
}

@keyframes modalFadeIn {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.gurman-modal__x {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: var(--il-bg-light);
    border-radius: 50%;
    cursor: pointer;
    color: var(--il-text-muted);
    transition: background 0.2s, color 0.2s;
}

.gurman-modal__x:hover {
    background: var(--il-border);
    color: var(--il-text);
}

.gurman-modal__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gurman-modal__icon svg {
    width: 32px;
    height: 32px;
}

.gurman-modal__icon--success {
    background: rgba(39, 174, 96, 0.1);
    color: #27ae60;
}

.gurman-modal__icon--error {
    background: rgba(192, 57, 43, 0.1);
    color: #c0392b;
}

.gurman-modal__title {
    font-size: 22px;
    font-weight: 800;
    color: var(--il-text);
    margin-bottom: 12px;
}

.gurman-modal__text {
    font-size: 15px;
    line-height: 1.5;
    color: var(--il-text-muted);
    margin-bottom: 24px;
}

.gurman-modal__btn {
    width: 100%;
    padding: 14px;
    background: var(--il-primary);
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s;
}

.gurman-modal__btn:hover {
    background: var(--il-accent);
}
/* ============================================
   ДОСТАВКА В ТАБЕ (КОРОТКАЯ ВЕРСИЯ)
   ============================================ */

.il-delivery-short {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: var(--il-bg-light);
    border-radius: 20px;
    padding: 24px;
    margin-top: 16px;
}

/* Строки с иконками */
.il-delivery-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.il-delivery-row__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #ffffff;
    border-radius: 10px;
    color: var(--il-primary);
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}

.il-delivery-row__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 2px;
}

.il-delivery-row__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--il-text);
}

.il-delivery-row__desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--il-text-muted);
}

.il-delivery-row__desc strong {
    color: var(--il-text);
    font-weight: 600;
}

.il-text-green {
    color: #27ae60;
}

/* Кнопка */
.il-delivery-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 14px;
    margin-top: 8px;
    background: #ffffff;
    border: 1px solid var(--il-border);
    border-radius: 12px;
    color: var(--il-primary);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.il-delivery-btn:hover {
    background: var(--il-primary);
    color: #ffffff;
    border-color: var(--il-primary);
}