/* ============================================
   ГУРМАНЪ.РФ — ОСНОВНОЙ CSS (v3)
   ============================================
   Структура:
   1.  Шрифты (Inter + SFUIText fallback)
   2.  База
   3.  Шапка (header, nav_top, menu_top)
   4.  Мини-шапка + выпадашка каталога
   5.  Боковое меню (aside)
   6.  Основной контент
   7.  Каталог — сетка и карточки
   8.  Карточка товара (GURMAN)
   9.  Карусель + карточка рецепта
   10. Корзина (основная + мини)
   11. Оформление заказа (GURMAN CHECKOUT)
   12. Живой поиск
   13. Геотаргетинг
   14. Формы, ЛК, история
   15. Футер
   16. Главная
   17. Разное (пагинация, крошки, заглушка, cookie)
   18. Медиа-запросы
   ============================================ */


/* ============================================
   1. ШРИФТЫ
   ============================================ */

/* --- Inter — основной шрифт --- */
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-300.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-900.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* --- SFUIText — fallback (оставлен для совместимости) --- */
@font-face {
    font-family: 'SFUIText-Medium';
    src: url('../fonts/d576bebf44b0989ad4b30390763158cd.eot?#iefix') format('embedded-opentype'),
    url('../fonts/d576bebf44b0989ad4b30390763158cd.woff') format('woff'),
    url('../fonts/d576bebf44b0989ad4b30390763158cd.woff2') format('woff2');
}
@font-face {
    font-family: 'SFUIText-RegularG2';
    src: url('../fonts/735039b757c96de6f7c4a615825d601a.eot?#iefix') format('embedded-opentype'),
    url('../fonts/735039b757c96de6f7c4a615825d601a.woff') format('woff'),
    url('../fonts/735039b757c96de6f7c4a615825d601a.woff2') format('woff2');
}
@font-face {
    font-family: 'SFUIText-BoldG1';
    src: url('../fonts/658f3624637d04144d255ff7dd781964.eot?#iefix') format('embedded-opentype'),
    url('../fonts/658f3624637d04144d255ff7dd781964.woff') format('woff'),
    url('../fonts/658f3624637d04144d255ff7dd781964.woff2') format('woff2');
}


/* ============================================
   2. БАЗА
   ============================================ */
body {
    margin: 0 !important;
    background: #f5f7fa;
    font-family: 'Inter', 'SFUIText-RegularG2', -apple-system, BlinkMacSystemFont, sans-serif;
}
img { border: none; max-width: 100%; }
input { outline: none; }
strong { font-family: 'Inter', 'SFUIText-BoldG1', sans-serif; font-weight: 700; }
input[type="submit"] { cursor: pointer; }
textarea { outline: none; resize: none; }
.clear { clear: both; }
.txt1 { margin-bottom: 0; display: none; }
.txt2 { margin-top: 0; }
html, body { height: 100%; min-height: 100%; }
.inner, .middle { min-height: 54%; background-color: #FFF; }
@-moz-document url-prefix() {
    .inner, .middle { min-height: 55%; }
}


/* ============================================
   3. ШАПКА
   ============================================ */
header {
    background: #21374a;
    width: 100%;
    padding: 0 0 20px;
    position: relative;
}

/* --- Верхняя полоса (nav_top) --- */
.nav_top {
    background-color: #222d3c;
    margin-bottom: 20px;
}
.nav_top-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 35px;
}
.nav_top ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}
.nav_top li { list-style: none; padding: 0 20px; }
.nav_top li:first-child { padding-left: 0; }
.nav_top a {
    color: #adbbcf;
    font-size: 13px;
    line-height: 35px;
    text-decoration: none;
}
.nav_top a:hover { color: #fff; }
.dostsum {
    color: #e5493a;
    font-size: 13px;
    font-weight: 700;
    line-height: 35px;
    white-space: nowrap;
}
.dostsum:before {
    content: url(../img/emodji.png);
    margin-right: 6px;
    position: relative;
    top: 6px;
}
.nav_top_right {
    display: flex;
    align-items: center;
    position: relative;
}

/* --- Основная шапка: grid 3 зоны --- */
.header-inner {
    display: grid;
    grid-template-columns: minmax(max-content, 1fr) minmax(320px, 640px) minmax(max-content, 1fr);
    align-items: center;
    gap: 24px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
    min-height: 96px;
    box-sizing: border-box;
}
.header-inner > .clear { display: none; }
#phone_food { display: none; }

/* ЗОНА 1: лого + текст */
.header-left {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}
.header-left .logo {
    flex-shrink: 0;
    display: block;
    margin: 0;
}
.header-left .logo img { display: block; }
.header-left .left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
.about_text {
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 2px;
    white-space: nowrap;
}
.address_top {
    color: #adbbcf;
    font-size: 12px;
    line-height: 1.5;
}
.mobile_about { display: none; }

/* ЗОНА 2: поиск */
.header-search {
    width: 100%;
    justify-self: center;
    position: relative;
}
.header-search form {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.header-search input,
.header-search button,
.header-search form * {
    outline: none !important;
    box-shadow: none !important;
}
.header-search .search {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.header-search .search input[type="text"] {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 8px !important;
    height: 44px !important;
    padding: 0 16px !important;
    color: #fff !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background-image: none !important;
}
.header-search .search input[type="submit"] {
    display: block !important;
    height: 44px !important;
    padding: 0 20px !important;
    background: #e5493a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    width: auto !important;
}
.header-search form input[type="text"],
.header-search form input[type="search"] {
    display: block;
    width: 100%;
    height: 44px;
    padding: 0 52px 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s, background 0.2s;
    background-image: none !important;
}
.header-search form input::placeholder { color: rgba(255, 255, 255, 0.6); }
.header-search form input:focus {
    border-color: #e5493a;
    background: rgba(255, 255, 255, 0.12);
}
.header-search form input[type="submit"],
.header-search form button[type="submit"] {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0;
    text-indent: -9999px;
    overflow: hidden;
    transition: color 0.2s, background 0.2s;
    z-index: 2;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='0.75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
}
.header-search form input[type="submit"]:hover,
.header-search form button[type="submit"]:hover {
    color: #e5493a;
    background-color: rgba(229, 73, 58, 0.12);
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23e5493a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
}

/* ЗОНА 3: телефон + VK */
.header-inner .right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}
.header-inner .right_top {
    display: flex;
    align-items: center;
    gap: 12px;
}
.header-inner .right_top_block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}
.header-inner .right_top_block.vert_block {
    align-items: center;
    justify-content: center;
}
.header-inner .tel {
    font-size: 18px;
    font-weight: 600;
    color: #e5493a;
    text-decoration: none;
    line-height: 1.2;
    white-space: nowrap;
}
.form_callback {
    color: #fff;
    font-size: 12px;
    font-weight: 300;
    cursor: pointer;
}
.form_callback span { border-bottom: 1px dotted; }
.header-inner .link_vk {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    text-decoration: none;
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s, transform 0.15s;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.header-inner .link_vk svg { display: block; width: 22px; height: 22px; }
.header-inner .link_vk:hover {
    background: #0077FF;
    color: #fff;
    border-color: #0077FF;
    transform: scale(1.05);
}
.header-inner .link_vk:active { transform: scale(0.97); }

/* --- Бургер --- */
.burger_menu_btn { display: none; }
.burger_menu_btn span {
    width: 25px;
    border-bottom: 2px solid #e5493a;
    display: block;
    margin-bottom: 7px;
    border-radius: 5px;
}

/* --- Главное меню (menu_top) --- */
.menu_top {
    position: relative;
    width: 100%;
    background-color: #e5493a;
}
.menu_top .header-inner {
    display: block;
    padding: 0;
    min-height: 0;
    max-width: 1440px;
    margin: 0 auto;
}
.menu_top a {
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    color: #FFF;
    text-decoration: none;
    padding: 17px 20px;
    display: inline-block;
    box-sizing: border-box;
}
.menu_top li { position: relative; }
.menu_top li:hover { background-color: #da2413; }
#menu {
    display: flex;
    margin: 0;
    list-style: none;
    padding-left: 0;
}
.pod_menu {
    display: none;
    position: absolute;
    background-color: #e5493a;
    list-style: none;
    padding: 0;
    width: 100%;
    min-width: 310px;
    z-index: 99;
}
.pod_menu li {
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}
li.pod_menu_cont { position: relative; }
li.pod_menu_cont .caret_pick {
    background: transparent url(/templates/foodlife/svg/arr_r.svg) no-repeat center center;
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    right: 5px;
    top: 18px;
    transform: rotate(90deg);
    cursor: pointer;
}


/* ============================================
   4. МИНИ-ШАПКА + ВЫПАДАШКА КАТАЛОГА
   ============================================ */
.mini-header {
    position: fixed;
    top: -150px;
    left: 0;
    right: 0;
    height: 60px;
    background: #21374a;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
    z-index: 100000;
    transition: top 0.3s ease;
}
.mini-header.visible { top: 0; }
.mini-header-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    box-sizing: border-box;
}
.mini-logo img { height: 40px; display: block; }

/* Поиск в мини-шапке */
.mini-search {
    flex: 1;
    max-width: 620px;
    position: relative;
}
.mini-search .header-search-form,
.mini-search form,
form.mini-search {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #1d2734;
    border-radius: 8px;
    border: 1px solid transparent;
    box-sizing: border-box;
    transition: border-color 0.2s;
    height: 40px;
}
.mini-search .header-search-form:focus-within,
.mini-search form:focus-within,
form.mini-search:focus-within {
    border-color: rgba(229, 73, 58, 0.5);
}
.mini-search .header-search-form input[type="text"],
.mini-search .header-search-form input[type="search"],
.mini-search form input[type="text"],
.mini-search form input[type="search"],
form.mini-search input[type="text"],
form.mini-search input[type="search"] {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 0 48px 0 14px;
    border: none;
    background: transparent !important;
    background-image: none !important;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    box-sizing: border-box;
}
.mini-search .header-search-form input::placeholder,
.mini-search form input::placeholder,
form.mini-search input::placeholder {
    color: #adbbcf;
    opacity: 1;
}
.mini-search .header-search-form button[type="submit"],
.mini-search form button,
.mini-search form button[type="submit"],
form.mini-search button,
form.mini-search button[type="submit"] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    background: transparent !important;
    background-image: none !important;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #adbbcf;
    transition: color 0.2s, background 0.2s;
}
.mini-search .header-search-form button[type="submit"]:hover,
.mini-search form button:hover,
form.mini-search button:hover {
    color: #e5493a;
    background: rgba(229, 73, 58, 0.12) !important;
}
.mini-search .header-search-form button[type="submit"] svg,
.mini-search form button svg,
form.mini-search button svg {
    display: block;
    width: 16px;
    height: 16px;
    stroke: currentColor;
}

/* Кнопка "Каталог" */
.mini-catalog-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e5493a;
    color: #fff;
    border: none;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    text-transform: uppercase;
    flex-shrink: 0;
    transition: background 0.2s;
    height: 40px;
    box-sizing: border-box;
}
.mini-catalog-btn:hover { background: #c0392b; }
.mini-catalog-btn svg { display: block; flex-shrink: 0; }
.mini-catalog-wrap { position: relative; flex-shrink: 0; }

/* Выпадашка мини-шапки */
#miniCatalogDropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(45, 58, 75, 0.15);
    width: 340px;
    max-width: 90vw;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
    z-index: 9999;
}
#miniCatalogDropdown.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
#miniCatalogDropdown::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 30px;
    width: 14px;
    height: 14px;
    background: #fff;
    transform: rotate(45deg);
    box-shadow: -3px -3px 6px rgba(45, 58, 75, 0.04);
    z-index: 1;
}
.mini-catalog-inner {
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
}
#miniCatalogDropdown .menu_top,
.mini-catalog-inner .caret_pick,
.mini-catalog-inner .pod_menu { display: none !important; }
.mini-catalog-inner ul.gurman-catalog-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
}
.mini-catalog-inner li.gurman-catalog-item {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important;
}
.mini-catalog-inner li.gurman-catalog-item > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 18px !important;
    background: #f5f7fa !important;
    color: #2d3a4b !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif !important;
    text-transform: none !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: background 0.15s, color 0.15s;
}
.mini-catalog-inner li.gurman-catalog-item > a:hover {
    background: #fef5f4 !important;
    color: #e5493a !important;
}
.mini-catalog-inner .gurman-catalog-title {
    flex: 1 !important;
    text-align: left !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}
.mini-catalog-inner .gurman-catalog-arrow {
    display: block !important;
    color: #b0bec5 !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    transition: transform 0.15s, color 0.15s;
}
.mini-catalog-inner li.gurman-catalog-item > a:hover .gurman-catalog-arrow {
    color: #e5493a !important;
    transform: translateX(3px);
}
.mini-catalog-inner .gurman-catalog-submenu {
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    margin-left: 8px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(45, 58, 75, 0.15) !important;
    padding: 12px !important;
    min-width: 300px !important;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-10px);
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
    z-index: 999;
    pointer-events: none;
    box-sizing: border-box !important;
}
.mini-catalog-inner li.gurman-catalog-item:hover > .gurman-catalog-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
    pointer-events: auto !important;
}
.mini-catalog-inner .gurman-catalog-submenu a {
    display: block !important;
    padding: 12px 16px !important;
    color: #2d3a4b !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif !important;
    text-transform: none !important;
    border-radius: 8px !important;
    font-weight: 400 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: background 0.15s, color 0.15s;
}
.mini-catalog-inner .gurman-catalog-submenu a:hover {
    background: #f5f7fa !important;
    color: #e5493a !important;
}


/* ============================================
   5. БОКОВОЕ МЕНЮ (aside)
   ============================================ */
aside { float: left; width: 295px; }
aside nav { display: flex; flex-direction: column; }
aside nav a {
    display: block;
    width: 295px;
    height: 60px;
    overflow: hidden;
    background: #2d3a4b;
    text-decoration: none;
    color: #fff;
    position: relative;
    border-radius: 12px;
    transition: box-shadow 0.2s ease;
}
aside nav a:hover { box-shadow: 0 6px 20px rgba(45, 58, 75, 0.25); }
aside nav a img {
    position: absolute;
    top: -10px;
    left: 0;
    width: 80px;
    transition: top 0.25s ease;
}
aside nav a span {
    display: block;
    text-align: left;
    font-size: 12px;
    text-transform: uppercase;
    position: absolute;
    bottom: 22px;
    width: 100%;
    padding-left: 80px;
}
aside nav a:hover,
aside nav .active { color: #e6483b; }
aside nav a:hover img,
aside nav .active img { top: -90px; width: 80px; }

/* Красная полоса слева */
aside nav a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #e5493a;
    transform: scaleY(0);
    transform-origin: center;
    transition: transform 0.25s ease;
    border-radius: 0 4px 4px 0;
    z-index: 2;
}
aside nav a:hover::before,
aside nav a.active::before,
aside nav .active::before { transform: scaleY(1); }

/* Пункт "Скидки" — SVG-иконка процента с эффектом спрайта */
aside nav a .gurman-sale-icon-wrap {
    position: absolute;
    top: 50%;
    left: 22px;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    overflow: hidden;
    z-index: 1;
}
aside nav a .gurman-sale-icon {
    position: absolute;
    left: 0;
    width: 36px;
    height: 36px;
    transition: top 0.25s ease;
}
aside nav a .gurman-sale-icon--white { top: 0; stroke: #fff; }
aside nav a .gurman-sale-icon--red { top: 36px; stroke: #e5493a; }
aside nav a:hover .gurman-sale-icon--white,
aside nav a.active .gurman-sale-icon--white { top: -36px; }
aside nav a:hover .gurman-sale-icon--red,
aside nav a.active .gurman-sale-icon--red { top: 0; }

/* Аккордеон */
aside .nav_ul { list-style: none; padding: 0; margin-top: 0; }
aside .nav_ul > li {
    position: relative;
    overflow: auto;
    display: flex;
    margin-bottom: 8px;
    flex-direction: column;
}
.nav_ul_pod_menu {
    display: none;
    list-style: none;
    margin: 6px 0 0;
    padding: 6px 0;
    background: #1a2431;
    border-radius: 12px;
    overflow: hidden;
}
.nav_ul_pod_menu li {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
    display: block !important;
}
.nav_ul_pod_menu a {
    display: block;
    padding: 14px 16px 14px 24px;
    margin: 0 4px 2px;
    background: transparent;
    color: #adbbcf;
    text-decoration: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    text-transform: none;
    width: 100%;
    box-sizing: border-box;
    height: auto;
    min-height: 44px;
    position: relative;
    transition: background 0.2s, color 0.2s;
}
.nav_ul_pod_menu a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #e5493a;
    border-radius: 8px 0 0 8px;
    opacity: 0;
    transition: opacity 0.2s;
}
.nav_ul_pod_menu a:hover { background: #2d3a4b; color: #fff; }
.nav_ul_pod_menu a:hover::before,
.nav_ul_pod_menu a.active::before,
.nav_ul_pod_menu li.active a::before { opacity: 1; }
.nav_ul_pod_menu li.active a {
    background: #2d3a4b;
    color: #e5493a;
    font-weight: 600;
}
.nav_ul_pod_menu a img { display: none; }
.nav_ul_pod_menu a span {
    padding: 0;
    text-transform: none;
    line-height: 1.3;
    font-size: 13px;
    position: static;
    color: inherit;
}
.caret {
    background: transparent url(/templates/foodlife/svg/arr_r.svg) no-repeat center center;
    width: 40px;
    height: 40px;
    display: block;
    position: absolute;
    right: 5px;
    top: 10px;
    transform: rotate(90deg);
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s;
}
aside nav a:hover .caret,
aside nav .active .caret { opacity: 1; }
.show_menu { display: block !important; }
.hide_menu { display: none !important; }


/* ============================================
   6. ОСНОВНОЙ КОНТЕНТ
   ============================================ */
main {
    flex-wrap: wrap;
    display: inline-block;
    flex-grow: 1;
}
.middle {
    max-width: 1440px;
    margin: 0 auto;
    background: #FFF;
    box-sizing: border-box;
    display: flex;
    margin-top: -1px;
}
.middle.pad { padding: 15px; }
.inner {
    float: none;
    display: block;
    position: relative;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}
.inner_page { padding: 1px 15px 15px; max-width: 1440px; }
.pad_fix_inner { padding: 0 15px; }

main article { background: #fff; margin: 50px 0; padding: 0 30px; }
main article h2.red { color: #e6483b; text-align: left; margin: 0; font-size: 20px; }
.gurman-search-title { color: #e6483b; text-align: left; margin: 0; font-size: 20px; }
main article p { color: #000; text-align: left; font-size: 13px; }
main article ul { color: #000; text-align: left; font-size: 13px; padding-left: 15px; }
main article.main_text_wrap { padding: 20px 15px; margin: 0 0 50px; }
main article.catalog_block { padding-right: 25px; }
.inner article { margin: 0; padding: 40px 50px; }
.inner article.fix_pad_top { padding: 10px 15px; padding-top: 5px; max-width: 1440px; }
.main_text_block {
    color: #2d3a4b;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    background-color: whitesmoke;
    padding: 20px 25px;
}
.main_text_block h2,
.main_text_block h3 { color: #2d3a4b; text-align: left; }
main article .main_text_block p { color: #000; text-align: left; font-size: 13px; margin: 0 0 10px; }

/* Заголовок страницы */
.header_block {
    color: #222d3c;
    font-size: 36px;
    font-weight: 700;
    line-height: 42px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 25px 15px;
    margin-bottom: -3px;
    background: #FFF;
    box-sizing: border-box;
}
.titleSection {
    padding: 0 15px;
    margin-bottom: 20px;
    display: inline-block;
    color: #e6483b;
    font-family: 'Inter', 'SFUIText-Medium', sans-serif;
    text-decoration: none;
    font-size: 20px;
    text-transform: uppercase;
}


/* ============================================
   7. КАТАЛОГ — СЕТКА И КАРТОЧКИ
   ============================================ */
.itemSection { margin-bottom: 30px; }
.itemObject { float: left; width: 23%; position: relative; min-height: 295px; margin: 10px 0 20px; }
main .itemObject {
    margin: 0 !important;
    padding: 0 15px 30px;
    box-sizing: border-box;
    float: left;
    width: 33%;
    position: relative;
    max-width: 322px;
}
.itemObject a { text-decoration: none; color: #2d3a4b; position: relative; display: block; }
.itemObject a img { width: 100%; height: 180px; display: block; margin-bottom: 10px; }
.itemObject a span.name { padding: 0 15px; display: inline-block; float: left; text-align: left; }
.itemObjectdescr { padding: 0 15px; margin: 10px 0; text-align: left; color: #b2b3b3; font-size: 13px; }
.itemObjectInner {
    height: 330px;
    overflow: hidden;
    background-color: whitesmoke;
    position: relative;
}
.itemObjectInnerBottom { display: flex; position: absolute; width: 100%; bottom: 0; }
.itemObject .addItem {
    background-color: #e5493a;
    color: #fff;
    font-size: 13px;
    padding: 5px 10px;
    float: left;
    height: 36px;
    box-sizing: border-box;
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.itemObject .addItem:hover { background-color: #21374a; cursor: pointer; }
.itemObject .priceItem {
    position: relative;
    float: right;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    color: #e5493a;
    font-size: 13px;
    font-weight: 700;
    line-height: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 50%;
    height: 36px;
    border: 1px solid #e5493a;
}

/* Grid-сетка каталога */
.gurman-catalog-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    padding: 0 15px;
    box-sizing: border-box;
}
.gurman-catalog-grid .gurman-product-card {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}


/* ============================================
   8. КАРТОЧКА ТОВАРА (GURMAN)
   ============================================ */
.gurman-product {
    background: #fff;
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
}
.gurman-breadcrumbs { padding: 15px 0; font-size: 13px; color: #7f8c8d; }
.gurman-breadcrumbs a { color: #7f8c8d; text-decoration: none; }
.gurman-breadcrumbs a:hover { color: #e5493a; }
.gurman-breadcrumbs span { margin: 0 6px; }

.gurman-product-top { display: flex; gap: 40px; margin-bottom: 40px; flex-wrap: wrap; }
.gurman-gallery,
.gurman-buy-box { box-sizing: border-box; }
.gurman-gallery { width: 55%; }
.gurman-buy-box { width: calc(45% - 40px); position: sticky; top: 20px; }

/* Галерея */
.gurman-gallery-main {
    background: #f5f7fa;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 15px;
    height: 500px;
}
.gurman-gallery-main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gurman-gallery-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.gurman-gallery-thumbs a,
.gurman-gallery-thumbs img {
    display: block;
    width: 100%;
    height: 70px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s;
}
.gurman-gallery-thumbs a:hover img,
.gurman-gallery-thumbs img.active { border-color: #e5493a; }

/* Бейджи */
.gurman-badges { display: flex; gap: 8px; margin-bottom: 15px; flex-wrap: wrap; }
.gurman-badge {
    background: #2d3a4b;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.gurman-badge.red { background: #e5493a; }
.gurman-badge.green { background: #27ae60; }
.gurman-badge.orange { background: #e67e22; }
.gurman-badge.blue { background: #3498db; }
.gurman-badge.yellow { background: #f1c40f; color: #2d3a4b; }
.gurman-badge.black { background: #2d3a4b; color: #e5c07b; }
.gurman-badge.purple { background: #8e44ad; }
.gurman-badge.brown { background: #8b5a2b; }
.gurman-badge.gold { background: linear-gradient(135deg, #d4af37, #f4d03f); color: #2d3a4b; }

/* Автобейдж "Скидка" с переливом */
.gurman-badge.gurman-badge--sale {
    background: linear-gradient(90deg, #e5493a, #ff8a7a, #e5493a);
    background-size: 300% 100%;
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.5px;
    box-shadow:
            0 2px 12px rgba(229, 73, 58, 0.4),
            inset 0 1px 0 rgba(255, 255, 255, 0.3);
    animation:
            gurmanSaleShimmer 4s ease-in-out infinite,
            gurmanSalePulse 2.5s ease-in-out infinite;
    border: none;
}
@keyframes gurmanSaleShimmer {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
@keyframes gurmanSalePulse {
    0%, 100% { box-shadow: 0 2px 12px rgba(229, 73, 58, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3); }
    50%      { box-shadow: 0 4px 20px rgba(229, 73, 58, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.3); }
}

/* Заголовок и рейтинг */
.gurman-title { font-size: 24px; font-weight: 700; line-height: 1.3; margin: 0 0 15px; color: #2d3a4b; }
.gurman-rating-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    font-size: 13px;
    color: #7f8c8d;
}
.gurman-rating-left { display: flex; align-items: center; gap: 10px; }
.gurman-stars { color: #f39c12; font-size: 16px; }
.gurman-rating-left a { color: #7f8c8d; text-decoration: underline; }

/* Наличие */
.gurman-instock { font-weight: 600; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.gurman-instock--high { color: #27ae60; }
.gurman-instock--medium { color: #e67e22; }
.gurman-instock--low { color: #e5493a; }
.gurman-instock--out { color: #95a5a6; }

/* Доставка с тултипом */
.gurman-delivery {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    padding: 14px 16px;
    background: #f5f7fa;
    border-radius: 10px;
    font-size: 13px;
    color: #2d3a4b;
    cursor: pointer;
}
.gurman-delivery-icon {
    width: 34px;
    height: 34px;
    background: #27ae60;
    color: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.gurman-delivery-text { flex: 1; line-height: 1.4; }
.gurman-delivery-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #2d3a4b;
    margin-bottom: 2px;
}
.gurman-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #27ae60;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    cursor: help;
    font-style: normal;
    line-height: 1;
}
.gurman-delivery-sub { font-size: 13px; color: #7f8c8d; }
.gurman-delivery-tooltip {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px;
    min-width: 260px;
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 8px 30px rgba(45, 58, 75, 0.15);
    border: 1px solid #ecf0f1;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
    z-index: 100;
    pointer-events: none;
}
.gurman-delivery-tooltip::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 30px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-left: 1px solid #ecf0f1;
    border-top: 1px solid #ecf0f1;
    transform: rotate(45deg);
}
.gurman-delivery:hover .gurman-delivery-tooltip,
.gurman-delivery:focus-within .gurman-delivery-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}
.gurman-tooltip-title { font-size: 14px; font-weight: 700; color: #2d3a4b; margin-bottom: 12px; }
.gurman-tooltip-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 8px 0;
    font-size: 13px;
    color: #34495e;
    border-bottom: 1px solid #f5f7fa;
}
.gurman-tooltip-row:last-child { border-bottom: none; }
.gurman-tooltip-price { font-weight: 700; color: #2d3a4b; white-space: nowrap; }
.gurman-tooltip-price.free { color: #27ae60; }

/* Цена (единый блок — используется и в карточке товара, и в каталоге) */
.gurman-price-block {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}
.gurman-price-old {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #95a5a6;
    text-decoration: line-through;
    line-height: 1;
    white-space: nowrap;
}
.gurman-price-current {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #e5493a;
    line-height: 1;
    white-space: nowrap;
}
.gurman-price-unit { font-size: 15px; color: #7f8c8d; }

/* Переопределения для карточек каталога */
.gurman-product-card .gurman-price-current { font-size: 25px !important; font-weight: 800; }
.gurman-product-card .gurman-price-old { font-size: 14px !important; margin-right: 4px; }
.gurman-product-card .gurman-price-block {
    display: inline-flex !important;
    align-items: baseline;
    gap: 6px;
    margin: 0 !important;
    flex-wrap: nowrap;
}

/* Блок корзины в карточке товара */
.gurman-cart-block { margin-bottom: 25px; width: 100%; }
.gurman-cart-form { margin: 0; padding: 0; }
.gurman-btn-buy-initial {
    width: 100%;
    background: #e5493a;
    color: #fff;
    border: none;
    padding: 16px 24px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: inherit;
    transition: background 0.2s, transform 0.1s;
}
.gurman-btn-buy-initial:hover { background: #c0392b; }
.gurman-btn-buy-initial:active { transform: scale(0.98); }
.gurman-btn-buy-initial svg { width: 22px; height: 22px; }

.gurman-cart-controls {
    display: none;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 10px;
    overflow: hidden;
    min-height: 56px;
}
.gurman-cart-controls.active { display: flex; }
.gurman-btn-trash {
    width: 60px;
    background: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e5493a;
    transition: background 0.2s;
    font-family: inherit;
    border-right: 1px solid #ecf0f1;
}
.gurman-btn-trash:hover { background: #fef5f4; }
.gurman-btn-trash svg { width: 20px; height: 20px; }
.gurman-btn-trash .gurman-icon-minus { display: none; font-size: 24px; font-weight: 700; line-height: 1; }
.gurman-btn-trash.is-minus svg { display: none; }
.gurman-btn-trash.is-minus .gurman-icon-minus { display: block; }
.gurman-cart-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    text-align: center;
}
.gurman-cart-qty { font-size: 13px; color: #7f8c8d; font-weight: 500; }
.gurman-cart-sum { font-size: 18px; font-weight: 800; color: #2d3a4b; line-height: 1.1; }
.gurman-btn-plus {
    width: 70px;
    background: #e5493a;
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 400;
    transition: background 0.2s;
    font-family: inherit;
}
.gurman-btn-plus:hover { background: #c0392b; }

/* Характеристики */
.gurman-specs-block { padding-top: 25px; border-top: 1px solid #ecf0f1; margin-bottom: 25px; }
.gurman-specs-block h2 {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2d3a4b !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.3 !important;
    display: block !important;
}
.gurman-spec-item { padding: 12px 0; }
.gurman-spec-label {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #2d3a4b !important;
    margin: 0 0 4px !important;
    display: block !important;
    line-height: 1.4 !important;
    text-align: left !important;
}
.gurman-spec-value {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #34495e !important;
    line-height: 1.6 !important;
    text-align: left !important;
    display: block !important;
    margin: 0 !important;
}
.gurman-spec-item.gurman-hidden { display: none !important; }
.gurman-specs-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    margin: 12px 0 0;
    padding: 12px 0;
    background: none;
    border: none;
    color: #27ae60;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.4;
    text-align: center;
}
.gurman-specs-toggle:hover { color: #1e8449; }
.gurman-specs-toggle .gurman-arrow {
    display: inline-block;
    transition: transform 0.3s;
    font-size: 12px;
}

/* Похожие */
.gurman-related-mini { padding-top: 25px; border-top: 1px solid #ecf0f1; }
.gurman-related-mini h2 {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2d3a4b !important;
    margin: 0 0 15px !important;
    text-align: left !important;
    line-height: 1.3 !important;
}
.gurman-related-mini-card {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px;
    background: #f5f7fa;
    border-radius: 10px;
    transition: background 0.2s;
    text-decoration: none;
}
.gurman-related-mini-card:hover { background: #ecf0f1; }
.gurman-related-mini-card img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 8px;
    background: none;
    display: block;
    flex-shrink: 0;
}
.gurman-related-mini-card .gurman-info { flex: 1; }
.gurman-related-mini-card .gurman-price {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #e5493a !important;
    line-height: 1.2;
    margin: 0 0 3px;
    display: block;
}
.gurman-related-mini-card .gurman-title {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #7f8c8d !important;
    line-height: 1.3;
    margin: 0;
    display: block;
}

/* Табы */
.gurman-tabs-section {
    background: #fff;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 40px;
    box-shadow: 0 4px 20px rgba(45, 58, 75, 0.06);
}
.gurman-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    border-bottom: 2px solid #ecf0f1;
    margin-bottom: 25px;
    overflow: hidden;
}
.gurman-tab-btn {
    background: none;
    border: none;
    padding: 14px 22px;
    font-size: 15px;
    font-weight: 600;
    color: #7f8c8d;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    white-space: nowrap;
    font-family: inherit;
    transition: color 0.2s, border-color 0.2s;
    line-height: 1.2;
}
.gurman-tab-btn:hover { color: #2d3a4b; }
.gurman-tab-btn.active { color: #e5493a; border-bottom-color: #e5493a; }
.gurman-tab-content { display: none; }
.gurman-tab-content.active { display: block; }

/* Контент табов */
.gurman-tab-content,
.gurman-tab-content *:not(.gurman-modal):not(.gurman-modal *):not(.gurman-reviews__more-wrap):not(.gurman-reviews__more) {
    text-align: left !important;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif !important;
}
.gurman-tab-content p {
    color: #34495e !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 0 12px !important;
    font-weight: 400 !important;
}
.gurman-tab-content strong {
    color: #2d3a4b !important;
    font-weight: 700 !important;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
}
.gurman-tab-content h2,
.gurman-tab-content h2 span {
    color: #2d3a4b !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 30px 0 15px !important;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    display: block !important;
}
.gurman-tab-content h3,
.gurman-tab-content h3 span {
    color: #2d3a4b !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 25px 0 12px !important;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    display: block !important;
}
.gurman-tab-content h1 { display: none !important; }
.gurman-tab-content ul,
.gurman-tab-content ol {
    margin: 12px 0 15px 20px !important;
    padding: 0 !important;
    color: #34495e !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.gurman-tab-content li {
    margin-bottom: 8px !important;
    color: #34495e !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    list-style: disc !important;
    display: list-item !important;
}
.gurman-tab-content li p { display: inline !important; margin: 0 !important; padding: 0 !important; }
.gurman-tab-content ol li { list-style: decimal !important; }
.gurman-tab-content p span,
.gurman-tab-content li span {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-family: inherit !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.gurman-tab-content span:empty:not([class*="gurman-reviews"]) { display: none !important; }

/* Прелоадеры кнопок */
.gurman-catalog-grid .gurman-card-btn-initial.gurman-preloading,
.gurman-product .gurman-btn-buy-initial.gurman-preloading {
    position: relative;
    color: transparent !important;
    pointer-events: none !important;
    cursor: default;
    background: #bdc3c7 !important;
}
.gurman-catalog-grid .gurman-card-btn-initial.gurman-preloading::after,
.gurman-product .gurman-btn-buy-initial.gurman-preloading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    animation: gurmanSpin 0.7s linear infinite;
}


/* ============================================
   9. КАРУСЕЛЬ + КАРТОЧКА РЕЦЕПТА
   ============================================ */
.gurman-carousel-section { margin-bottom: 40px; }
.gurman-carousel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.gurman-carousel-header h2 {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #2d3a4b !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}
.gurman-carousel-arrows { display: flex; gap: 8px; }
.gurman-carousel-prev,
.gurman-carousel-next {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #ecf0f1;
    background: #fff;
    cursor: pointer;
    font-size: 16px;
    color: #2d3a4b;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    font-family: inherit;
}
.gurman-carousel-prev:hover,
.gurman-carousel-next:hover {
    background: #e5493a;
    border-color: #e5493a;
    color: #fff;
}
.gurman-carousel-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 10px;
    scrollbar-width: thin;
}
.gurman-carousel-track::-webkit-scrollbar { height: 6px; }
.gurman-carousel-track::-webkit-scrollbar-thumb { background: #bdc3c7; border-radius: 3px; }

/* Карточка товара */
.gurman-product-card {
    flex: 0 0 280px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(44, 62, 80, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding-bottom: 15px;
    position: relative;
}
.gurman-card-link { text-decoration: none; color: inherit; display: block; }
.gurman-card-img {
    width: 100%;
    height: 220px;
    background: #f5f7fa;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}
.gurman-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gurman-card-body { padding: 12px 15px 8px; }
.gurman-card-rating-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 12px;
    color: #7f8c8d;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
}
.gurman-card-stars { color: #f39c12; font-size: 14px; letter-spacing: -1px; }
.gurman-card-rating-value { font-weight: 600; color: #2d3a4b; }
.gurman-card-title {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #2d3a4b !important;
    margin-bottom: 8px;
    min-height: 40px;
    line-height: 1.4;
}
.gurman-card-instock { font-size: 12px; margin-bottom: 8px; }
.gurman-card-price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.gurman-card-price {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    color: #e5493a !important;
    line-height: 1;
}
.gurman-card-price-old {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 14px;
    color: #95a5a6;
    text-decoration: line-through;
    font-weight: 400;
    margin-right: 6px;
    white-space: nowrap;
    line-height: 1;
}
.gurman-card-unit { font-size: 12px; color: #7f8c8d; }

/* Блок корзины в карточке карусели */
.gurman-card-cart-block {
    margin: 0 15px 15px;
    display: flex;
    align-items: stretch;
    min-height: 40px;
    border-radius: 8px;
    overflow: hidden;
}
.gurman-card-btn-initial {
    flex: 1;
    background: #e5493a;
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gurman-card-btn-initial:hover { background: #c0392b; }
.gurman-card-btn-disabled,
.gurman-card-btn-initial:disabled {
    background: #bdc3c7 !important;
    color: #fff !important;
    cursor: not-allowed !important;
}
.gurman-card-btn-disabled:hover,
.gurman-card-btn-initial:disabled:hover { background: #bdc3c7 !important; }

.gurman-card-cart-controls {
    display: none;
    flex: 1;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 8px;
    overflow: hidden;
}
.gurman-card-cart-controls.active { display: flex; }
.gurman-card-btn-trash {
    width: 38px;
    background: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e5493a;
    font-family: inherit;
    border-right: 1px solid #ecf0f1;
    transition: background 0.2s;
    padding: 0;
}
.gurman-card-btn-trash:hover { background: #fef5f4; }
.gurman-card-btn-trash svg { width: 16px; height: 16px; }
.gurman-card-btn-trash .gurman-card-icon-minus { display: none; font-size: 20px; font-weight: 700; line-height: 1; }
.gurman-card-btn-trash.is-minus svg { display: none; }
.gurman-card-btn-trash.is-minus .gurman-card-icon-minus { display: block; }
.gurman-card-cart-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4px;
    text-align: center;
}
.gurman-card-cart-qty { font-size: 11px; color: #7f8c8d; font-weight: 500; line-height: 1.2; }
.gurman-card-cart-sum {
    font-size: 14px;
    font-weight: 800;
    color: #2d3a4b;
    line-height: 1.1;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
}
.gurman-card-btn-plus {
    width: 42px;
    background: #e5493a;
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 400;
    font-family: inherit;
    transition: background 0.2s;
    padding: 0;
}
.gurman-card-btn-plus:hover { background: #c0392b; }

/* Бейджи в карточке */
.gurman-card-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: calc(100% - 20px);
    pointer-events: none;
}
.gurman-card-badges .gurman-badge { font-size: 13px; padding: 3px 8px; border-radius: 12px; }
.gurman-product-card .gurman-badge--small { font-size: 11px; padding: 3px 8px; border-radius: 10px; letter-spacing: 0; }
.gurman-product-card .gurman-badge--tiny {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 8px;
    letter-spacing: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* Прелоадеры карточек */
.gurman-product-card.is-loading .gurman-card-cart-block {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}
.gurman-product-card.is-loading .gurman-card-cart-block::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 3px solid #e5493a;
    border-top-color: transparent;
    border-radius: 50%;
    animation: gurmanSpin 0.7s linear infinite;
    z-index: 100;
}
.gurman-product.is-loading .gurman-cart-block {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}
.gurman-product.is-loading .gurman-cart-block::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    border: 3px solid #e5493a;
    border-top-color: transparent;
    border-radius: 50%;
    animation: gurmanSpin 0.7s linear infinite;
    z-index: 100;
}
@keyframes gurmanSpin { to { transform: rotate(360deg); } }

/* Карточка рецепта */
.gurman-recipe-card {
    flex: 0 0 280px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(44, 62, 80, 0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.gurman-recipe-link { text-decoration: none; color: inherit; display: block; }
.gurman-recipe-img { width: 100%; height: 180px; background: #f5f7fa; overflow: hidden; }
.gurman-recipe-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gurman-recipe-body { padding: 15px; }
.gurman-recipe-title {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #2d3a4b;
    line-height: 1.4;
    min-height: 42px;
}


/* ============================================
   10. КОРЗИНА (основная + мини)
   ============================================ */
.basket table { border-collapse: collapse; width: 100%; }
.basket table tr th {
    background: #2d3a4b;
    color: #fff;
    font-size: 14px;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    padding: 10px 20px;
}
.basket table tr td {
    background: #fff;
    border-bottom: 2px solid #f3f3f3;
    color: #2d3a4b;
    padding: 10px 20px;
    text-align: center;
}
.basket table tr td:first-child img { width: 80px; }
.basket table tr td a { text-decoration: none; float: left; font-size: 13px; text-align: left; }
.basket table tr td .amount { margin: 0; }
.basket table tr:last-child td { color: #e5493a; font-family: 'Inter', 'SFUIText-BoldG1', sans-serif; border-bottom: none; }
.basket .oldPrice { display: block; position: inherit; }

/* Виджеты корзины */
#header-cart-widget,
#mini-cart-widget {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 40px;
    padding-bottom: 10px;
    margin-top: 5px;
    margin-bottom: -5px;
}
#header-cart-widget .lickb,
#mini-cart-widget .lickb {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px !important;
    padding: 0 14px 0 12px !important;
    box-sizing: border-box;
    background: #1d2734;
    color: #fff !important;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    line-height: 1 !important;
    border-radius: 8px;
    transition: background 0.2s;
    float: none !important;
    position: relative !important;
    margin: 0 !important;
}
#header-cart-widget .lickb:hover,
#mini-cart-widget .lickb:hover { background: #2d3a4b; }
#header-cart-widget .lickb:before,
#mini-cart-widget .lickb:before,
header .lickb:before { content: none !important; display: none !important; }
#header-cart-widget .lickb svg,
#mini-cart-widget .lickb svg { display: block; width: 22px; height: 22px; flex-shrink: 0; }

#header-cart-widget .cart-count,
#mini-cart-widget .cart-count,
header .lickb span {
    position: static !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px !important;
    box-sizing: border-box;
    background: #e5493a !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    margin: 0 0 0 2px !important;
}

/* Выпадашка мини-корзины */
.miniWrapperBasket {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 12px;
    z-index: 9999;
    display: none;
}
.miniWrapperBasket::before {
    content: '';
    position: absolute;
    top: -8px;
    right: 30px;
    width: 16px;
    height: 16px;
    background: #fff;
    transform: rotate(45deg);
    box-shadow: -3px -3px 8px rgba(45, 58, 75, 0.06);
    z-index: 1;
}
.basketMini {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(45, 58, 75, 0.18);
    width: 380px;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    max-height: 70vh;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* ← общий overflow выключен */
}

/* Список — скроллится */
.basketMini-list {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 12px 16px 8px; /* ← отступы со всех сторон */
    scrollbar-width: thin;
    min-height: 0;
}
.basketMini-list::-webkit-scrollbar { width: 6px; }
.basketMini-list::-webkit-scrollbar-thumb { background: #d5dbe2; border-radius: 3px; }

/* Прижимаем скроллбар к правому краю */
.basketMini-list .itemBasketMini:last-child {
    border-bottom: none;
}

/* Футер — фиксирован внизу, не скроллится */
.footmini {
    flex-shrink: 0;
    background: #fff;
    padding: 14px 16px 16px; /* ← отступы */
    margin: 0;
    border-top: 1px solid #f0f3f7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    border-radius: 0 0 12px 12px;
}
.basketMini:after,
.basketMini:before { content: none !important; display: none !important; }

.itemBasketMini {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f3f7;
    position: relative;
    margin: 0;
}
.itemBasketMini:last-child { border-bottom: none; }
.itemBasketMini img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    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.4;
    color: #2d3a4b;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 6px;
    max-height: 36px;
}
.itemBasketMini .itemcont a:hover { color: #e5493a; }
.itemBasketMini .itemcont .lineitem {
    display: block;
    color: #e5493a;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    white-space: normal; /* ← разрешаем перенос */
    word-wrap: break-word;
}
.itemBasketMini .itemcont .lineitem .old-price,
.itemBasketMini .itemcont .lineitem > * {
    display: inline !important;
    margin-right: 4px;
}
.itemBasketMini .itemcont .lineitem .old-price {
    color: #95a5a6;
    text-decoration: line-through;
    font-size: 12px;
    font-weight: 400;
}
.old-price {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 12px;
    color: #95a5a6;
    text-decoration: line-through;
    margin-right: 6px;
    line-height: 1;
}

/* Удаление */
#header-cart-widget .del,
#mini-cart-widget .del,
.miniWrapperBasket .del,
.itemBasketMini .del {
    position: absolute !important;
    top: 12px !important;
    right: 0 !important;
    width: 22px !important;
    height: 22px !important;
    background: #f5f7fa !important;
    background-image: none !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    z-index: 5;
}
#header-cart-widget .del::before,
#header-cart-widget .del::after,
#mini-cart-widget .del::before,
#mini-cart-widget .del::after,
.miniWrapperBasket .del::before,
.miniWrapperBasket .del::after,
.itemBasketMini .del::before,
.itemBasketMini .del::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 1.5px;
    background: #95a5a6;
    border-radius: 2px;
    transition: background 0.2s;
}
#header-cart-widget .del::before,
#mini-cart-widget .del::before,
.miniWrapperBasket .del::before,
.itemBasketMini .del::before { transform: rotate(45deg); }
#header-cart-widget .del::after,
#mini-cart-widget .del::after,
.miniWrapperBasket .del::after,
.itemBasketMini .del::after { transform: rotate(-45deg); }
#header-cart-widget .del:hover,
#mini-cart-widget .del:hover,
.miniWrapperBasket .del:hover,
.itemBasketMini .del:hover { background: #fef5f4 !important; }
#header-cart-widget .del:hover::before,
#header-cart-widget .del:hover::after,
#mini-cart-widget .del:hover::before,
#mini-cart-widget .del:hover::after,
.miniWrapperBasket .del:hover::before,
.miniWrapperBasket .del:hover::after,
.itemBasketMini .del:hover::before,
.itemBasketMini .del:hover::after { background: #e5493a; }

.basketMiniSumm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    margin-top: 8px;
    border-top: 1px solid #f0f3f7;
    font-size: 13px;
    color: #7f8c8d;
}
.basketMiniSumm .summa {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #e5493a;
    line-height: 1;
}
.footmini a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e5493a;
    color: #fff !important;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: 8px;
    text-decoration: none;
    margin: 0;
    line-height: 1.2 !important;
    transition: background 0.2s;
    flex-shrink: 0;
    white-space: nowrap;
}
.footmini a:hover { background: #c0392b; }
.footmini .minisum {
    color: #2d3a4b;
    font-size: 13px;
    padding: 0;
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: auto;
}
.footmini .minisum .summa {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #e5493a;
    line-height: 1;
}
.basketMini .empty { text-align: center; padding: 20px; color: #7f8c8d; font-size: 14px; }


/* ============================================
   11. ОФОРМЛЕНИЕ ЗАКАЗА — GURMAN CHECKOUT
   ============================================ */
.gurman-checkout {
    max-width: 1440px;
    margin: 0 auto;
    padding: 20px 15px;
    box-sizing: border-box;
}
.gurman-checkout__form {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 24px;
    align-items: start;
}
.gurman-checkout__main { min-width: 0; }
.gurman-checkout__sidebar { position: sticky; top: 20px; }

/* Отменяем общий стиль aside */
.gurman-checkout aside,
.gurman-checkout__sidebar {
    float: none;
    width: auto;
    text-align: left;
}

/* ШАГИ */
.gurman-checkout .step {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    margin-bottom: 20px;
    box-shadow: 0 2px 12px rgba(45, 58, 75, 0.06);
}
.gurman-checkout .step__title {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 24px;
    color: #2d3a4b;
}
.gurman-checkout .step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #e5493a;
    color: #fff;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 800;
    flex-shrink: 0;
}

/* ПРОГРЕСС-БАРЫ */
.gurman-checkout .checkout-progress {
    display: grid;
    gap: 16px;
    margin-bottom: 24px;
    padding: 20px;
    background: #fafbfc;
    border-radius: 12px;
    border: 1px solid #eef1f5;
}
.gurman-checkout .progress-item__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
    font-size: 13px;
}
.gurman-checkout .progress-item__label { color: #7f8c8d; font-weight: 500; }
.gurman-checkout .progress-item__value { color: #95a5a6; font-size: 12px; }
.gurman-checkout .progress-item__value b { color: #e5493a; font-weight: 700; font-size: 13px; }
.gurman-checkout .progress-item__value--done { color: #27ae60; font-weight: 700; }
.gurman-checkout .progress-item__bar {
    height: 6px;
    background: #ecf0f1;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 6px;
}
.gurman-checkout .progress-item__fill {
    height: 100%;
    background: linear-gradient(90deg, #e5493a, #ff7a6b);
    border-radius: 3px;
    transition: width 0.4s ease, background 0.3s ease;
}
.gurman-checkout .progress-item__fill--done {
    background: linear-gradient(90deg, #27ae60, #2ecc71);
}
.gurman-checkout .progress-item__hint { font-size: 11px; color: #b0b8c1; }

/* КАРТОЧКА ТОВАРА В ОФОРМЛЕНИИ */
.gurman-checkout-item {
    display: grid;
    grid-template-columns: 80px 1fr auto auto 32px;
    gap: 16px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #f0f2f5;
    position: relative;
}
.gurman-checkout-item:last-child { border-bottom: none; }
.gurman-checkout-item__img {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
    background: #f5f7fa;
    flex-shrink: 0;
}
.gurman-checkout-item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gurman-checkout-item__info { min-width: 0; }
.gurman-checkout-item__name {
    font-size: 15px;
    font-weight: 600;
    color: #2d3a4b;
    margin-bottom: 4px;
    display: block;
    text-decoration: none;
    line-height: 1.3;
}
.gurman-checkout-item__name:hover { color: #e5493a; }
.gurman-checkout-item__options { font-size: 13px; color: #7f8c8d; }
.gurman-checkout-item__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    white-space: nowrap;
    min-width: 90px;
    text-align: right;
}
.gurman-checkout-item__price-old {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 13px;
    color: #95a5a6;
    text-decoration: line-through;
    line-height: 1;
}
.gurman-checkout-item__price-current {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #e5493a;
    line-height: 1.1;
}
.gurman-checkout-item__del {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fef5f4;
    border: none;
    color: #e5493a;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    transition: background 0.15s;
    padding: 0;
}
.gurman-checkout-item__del:hover { background: #e5493a; color: #fff; }

/* КНОПКИ КОЛИЧЕСТВА */
.gurman-checkout-item__qty {
    display: inline-flex;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 10px;
    height: 48px;
    overflow: hidden;
    min-width: 160px;
}
.gurman-checkout-item__qty .qty-minus,
.gurman-checkout-item__qty .qty-plus {
    width: 42px;
    background: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2d3a4b;
    font-size: 20px;
    font-weight: 500;
    transition: background 0.15s;
    flex-shrink: 0;
    padding: 0;
}
.gurman-checkout-item__qty .qty-minus {
    border-right: 1px solid #ecf0f1;
    color: #e5493a;
}
.gurman-checkout-item__qty .qty-minus:hover { background: #fef5f4; }
.gurman-checkout-item__qty .qty-plus {
    background: #27ae60;
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    border-radius: 0 10px 10px 0;
}
.gurman-checkout-item__qty .qty-plus:hover { background: #219150; }
.gurman-checkout .qty-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    min-width: 80px;
}
.gurman-checkout .qty-info__count { font-size: 11px; color: #7f8c8d; font-weight: 500; line-height: 1.2; }
.gurman-checkout .qty-info__sum { font-size: 14px; font-weight: 800; color: #2d3a4b; line-height: 1.1; }

/* ПОЛЯ */
.gurman-checkout .field { margin-bottom: 16px; }
.gurman-checkout .field-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #7f8c8d;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.gurman-checkout .field input[type="text"],
.gurman-checkout .field input[type="tel"],
.gurman-checkout .field input[type="email"],
.gurman-checkout .field textarea {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1.5px solid #e8ecf1;
    border-radius: 10px;
    font-size: 15px;
    color: #2d3a4b;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    box-sizing: border-box;
}
.gurman-checkout .field textarea {
    height: auto;
    padding: 14px 16px;
    min-height: 90px;
    resize: vertical;
    font-family: inherit;
}
.gurman-checkout .field input:focus,
.gurman-checkout .field textarea:focus {
    border-color: #e5493a;
    box-shadow: 0 0 0 3px rgba(229, 73, 58, 0.1);
}
.gurman-checkout .fields-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 0;
}

/* RADIO-КАРТОЧКИ */
.gurman-checkout .radio-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.gurman-checkout .radio-card {
    position: relative;
    display: block;
    padding: 16px 18px;
    border: 1.5px solid #e8ecf1;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    background: #fff;
}
.gurman-checkout .radio-card:hover {
    border-color: #c8d0d8;
    background: #fafbfc;
}
.gurman-checkout .radio-card input { position: absolute; opacity: 0; pointer-events: none; }
.gurman-checkout .radio-card__title {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #2d3a4b;
    margin-bottom: 2px;
    padding-right: 32px;
}
.gurman-checkout .radio-card__hint {
    display: block;
    font-size: 12px;
    color: #95a5a6;
    padding-right: 32px;
}
.gurman-checkout .radio-card:has(input:checked) {
    border-color: #e5493a;
    background: #fef8f7;
    box-shadow: 0 0 0 3px rgba(229, 73, 58, 0.08);
}
.gurman-checkout .radio-card:has(input:checked)::after {
    content: '';
    position: absolute;
    top: 14px;
    right: 14px;
    width: 20px;
    height: 20px;
    background: #e5493a;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' 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/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

/* Оплата — 2 колонки */
#paymentCardsCourier,
#paymentCardsPickup {
    display: grid;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    margin-bottom: 20px;
    width: 100%;
}
#paymentCardsCourier .radio-card,
#paymentCardsPickup .radio-card {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
}
#paymentCardsCourier .radio-card__title,
#paymentCardsPickup .radio-card__title,
#paymentCardsCourier .radio-card__hint,
#paymentCardsPickup .radio-card__hint {
    padding-right: 32px;
    display: block;
}

/* САМОВЫВОЗ */
.gurman-checkout .pickup-info {
    background: #f5f7fa;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
}
.gurman-checkout .pickup-info__address,
.gurman-checkout .pickup-info__time {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 8px 0;
}
.gurman-checkout .pickup-info__address svg { color: #e5493a; flex-shrink: 0; margin-top: 2px; }
.gurman-checkout .pickup-info__time svg { color: #27ae60; flex-shrink: 0; margin-top: 2px; }
.gurman-checkout .pickup-info strong {
    display: block;
    font-size: 13px;
    color: #7f8c8d;
    font-weight: 500;
    margin-bottom: 2px;
}
.gurman-checkout .pickup-info span {
    font-size: 15px;
    color: #2d3a4b;
    font-weight: 600;
    display: block;
}

/* ЗАГЛУШКА КАРТЫ */
.gurman-checkout .delivery-map-stub {
    position: relative;
    width: 100%;
    height: 280px;
    border-radius: 12px;
    background: repeating-linear-gradient(45deg, #f0f2f5 0, #f0f2f5 10px, #e8ecf1 10px, #e8ecf1 20px);
    margin: 16px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1.5px dashed #c8d0d8;
}
.gurman-checkout .delivery-map-stub__overlay {
    text-align: center;
    color: #7f8c8d;
    padding: 20px;
    max-width: 320px;
}
.gurman-checkout .delivery-map-stub__overlay svg {
    color: #e5493a;
    margin-bottom: 12px;
    opacity: 0.7;
}
.gurman-checkout .delivery-map-stub__overlay p {
    font-size: 16px;
    font-weight: 700;
    color: #2d3a4b;
    margin: 0 0 6px;
}
.gurman-checkout .delivery-map-stub__overlay span {
    font-size: 13px;
    line-height: 1.4;
    display: block;
}

/* ЗОНА ДОСТАВКИ */
.gurman-checkout .delivery-zone-result {
    background: #fef8f7;
    border: 1.5px solid #fcd9d5;
    border-radius: 12px;
    padding: 16px 20px;
    margin-top: 12px;
}
.gurman-checkout .delivery-zone-result__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 14px;
}
.gurman-checkout .delivery-zone-result__row span { color: #7f8c8d; }
.gurman-checkout .delivery-zone-result__row b { color: #2d3a4b; font-weight: 700; }
.gurman-checkout .delivery-zone-result__price { color: #e5493a !important; }

/* ИНФО ДОСТАВКИ */
.gurman-checkout .delivery-info {
    background: #f5f7fa;
    border-radius: 12px;
    padding: 18px 20px;
    font-size: 14px;
    color: #34495e;
    margin-top: 16px;
}
.gurman-checkout .delivery-info strong { color: #2d3a4b; display: block; margin-bottom: 8px; }
.gurman-checkout .delivery-info ul { list-style: none; padding: 0; margin: 0; }
.gurman-checkout .delivery-info li {
    padding: 6px 0 6px 22px;
    position: relative;
}
.gurman-checkout .delivery-info li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #27ae60;
    font-weight: 700;
}
.gurman-checkout .delivery-info__note {
    margin-top: 10px;
    font-size: 13px;
    color: #95a5a6;
    font-style: italic;
}

/* SIDEBAR */
.gurman-checkout .summary {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 2px 12px rgba(45, 58, 75, 0.06);
}
.gurman-checkout .summary__title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 20px;
    color: #2d3a4b;
}
.gurman-checkout .summary__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
    color: #7f8c8d;
}
.gurman-checkout .summary__row--total {
    border-top: 1px solid #f0f2f5;
    margin-top: 12px;
    padding-top: 16px;
    font-size: 16px;
    color: #2d3a4b;
    font-weight: 600;
}
.gurman-checkout .summary__total {
    font-size: 26px;
    font-weight: 800;
    color: #e5493a;
}
.gurman-checkout .summary__privacy {
    margin: 20px 0;
    font-size: 13px;
    color: #7f8c8d;
    line-height: 1.5;
}
.gurman-checkout .summary__privacy label { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
.gurman-checkout .summary__privacy input { margin-top: 2px; accent-color: #e5493a; }
.gurman-checkout .summary__privacy a { color: #e5493a; text-decoration: underline; }

/* Строка "Ваша скидка" */
.gurman-checkout .summary__row--discount {
    color: #27ae60;
    font-weight: 600;
}
.gurman-checkout .summary__row--discount span:last-child {
    color: #27ae60;
    font-weight: 700;
}

.gurman-checkout .btn-checkout {
    width: 100%;
    height: 56px;
    background: #e5493a;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.3px;
    transition: background 0.2s, transform 0.1s;
    box-shadow: 0 8px 20px rgba(229, 73, 58, 0.25);
    font-family: inherit;
}
.gurman-checkout .btn-checkout:hover { background: #c0392b; }
.gurman-checkout .btn-checkout:active { transform: none; }

/* Кнопка disabled */
.gurman-checkout .btn-checkout:disabled,
.gurman-checkout .btn-checkout.is-disabled {
    background: #bdc3c7;
    color: #fff;
    cursor: not-allowed;
    box-shadow: none;
    opacity: 0.9;
}
.gurman-checkout .btn-checkout:disabled:hover,
.gurman-checkout .btn-checkout.is-disabled:hover { background: #bdc3c7; }

/* ГАРАНТИИ */
.gurman-checkout .guarantees {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f0f2f5;
}
.gurman-checkout .guarantee {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}
.gurman-checkout .guarantee__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f5f7fa;
    color: #2d3a4b;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.gurman-checkout .guarantee__text strong {
    display: block;
    font-size: 13px;
    color: #2d3a4b;
    font-weight: 600;
}
.gurman-checkout .guarantee__text span {
    font-size: 12px;
    color: #95a5a6;
}

/* ПУСТАЯ КОРЗИНА */
.gurman-checkout-empty {
    max-width: 600px;
    margin: 60px auto;
    text-align: center;
    padding: 40px 20px;
}
.gurman-checkout-empty p { font-size: 16px; color: #7f8c8d; margin-bottom: 12px; }
.gurman-checkout-empty a { color: #e5493a; font-weight: 600; text-decoration: none; }

/* ПРЕЛОАДЕР */
.gurman-checkout-item.is-loading { opacity: 0.5; pointer-events: none; }

/* Обёртка корзины — на всю ширину */
.wrap_content_basket {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
.wrap_content_basket main {
    width: 100%;
    max-width: none;
    display: block;
}

/* ВСПЛЫВАШКА РЕЗУЛЬТАТА ОФОРМЛЕНИЯ ЗАКАЗА */
.order-result-overlay {
    position: fixed;
    inset: 0;
    background: rgba(29, 39, 52, 0.55);
    z-index: 100010;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
}
.order-result-overlay.open {
    opacity: 1;
    visibility: visible;
}

.order-result-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 24px 80px rgba(45, 58, 75, 0.35);
    width: 90%;
    max-width: 440px;
    padding: 40px 32px 28px;
    z-index: 100011;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
    box-sizing: border-box;
}
.order-result-modal.open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.order-result-icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: orderPulse 2s infinite;
}
.order-result-icon--success {
    background: #e8f5e9;
    color: #27ae60;
}
.order-result-icon--error {
    background: #fef5f4;
    color: #e5493a;
}

@keyframes orderPulse {
    0%   { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.25); }
    70%  { box-shadow: 0 0 0 20px rgba(39, 174, 96, 0); }
    100% { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0); }
}
.order-result-icon--error {
    animation-name: orderPulseError;
}
@keyframes orderPulseError {
    0%   { box-shadow: 0 0 0 0 rgba(229, 73, 58, 0.25); }
    70%  { box-shadow: 0 0 0 20px rgba(229, 73, 58, 0); }
    100% { box-shadow: 0 0 0 0 rgba(229, 73, 58, 0); }
}

.order-result-title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #2d3a4b;
    margin: 0 0 12px;
    line-height: 1.3;
}

.order-result-subtitle {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 15px;
    color: #7f8c8d;
    margin: 0 0 28px;
    line-height: 1.5;
}

.order-result-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.order-result-btn {
    flex: 1;
    min-width: 140px;
    height: 48px;
    padding: 0 20px;
    border: none;
    border-radius: 10px;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s, transform 0.1s;
    box-sizing: border-box;
}
.order-result-btn:active { transform: scale(0.97); }

.order-result-btn--primary {
    background: #e5493a;
    color: #fff;
}
.order-result-btn--primary:hover { background: #c0392b; }

.order-result-btn--secondary {
    background: #f5f7fa;
    color: #2d3a4b;
    border: 1px solid #ecf0f1;
}
.order-result-btn--secondary:hover {
    background: #ecf0f1;
    color: #e5493a;
    border-color: #e5493a;
}

@media (max-width: 480px) {
    .order-result-modal { padding: 30px 22px 22px; }
    .order-result-title { font-size: 20px; }
    .order-result-btn { min-width: 100%; }
    .order-result-buttons { flex-direction: column; }
}


/* ============================================
   12. ЖИВОЙ ПОИСК
   ============================================ */
.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: #e5493a; 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: #e5493a; }
.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: #e5493a; 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: #e5493a;
    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: 9998;
    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: #27ae60;
    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: #219150; }
.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: #e5493a;
    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: #2d3a4b;
    line-height: 1.1;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
}
.live-search-btn-plus {
    width: 42px;
    background: #27ae60;
    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: #219150; }
.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 #27ae60;
    border-top-color: transparent;
    border-radius: 50%;
    animation: gurmanSpin 0.7s linear infinite;
    z-index: 10;
}


/* ============================================
   13. ГЕОТАРГЕТИНГ
   ============================================ */
.header-geo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #adbbcf;
    cursor: pointer;
    transition: color 0.2s;
    white-space: nowrap;
}
.header-geo:hover { color: #fff; }
.header-geo .geo-label { opacity: 0.7; }
.header-geo .geo-city {
    font-weight: 600;
    color: #fff;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
    transition: border-color 0.2s;
}
.header-geo:hover .geo-city { border-bottom-color: #e5493a; color: #e5493a; }
.geo-arrow { opacity: 0.6; flex-shrink: 0; }

/* Модалка выбора города */
.geo-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(29, 39, 52, 0.5);
    z-index: 100000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
}
.geo-modal-overlay.open { opacity: 1; visibility: visible; }
.geo-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(45, 58, 75, 0.25);
    width: 90%;
    max-width: 480px;
    max-height: 80vh;
    z-index: 100001;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
}
.geo-modal.open { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.geo-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #ecf0f1;
}
.geo-modal-head h3 {
    margin: 0;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 18px;
    color: #2d3a4b;
}
.geo-modal-close {
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    color: #95a5a6;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s, color 0.2s;
}
.geo-modal-close:hover { background: #f5f7fa; color: #e5493a; }
.geo-modal-body { padding: 16px 24px 24px; overflow-y: auto; }
.geo-search-input {
    width: 100%;
    height: 44px;
    padding: 0 16px;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    margin-bottom: 12px;
    box-sizing: border-box;
    transition: border-color 0.2s;
}
.geo-search-input:focus { border-color: #e5493a; }
.geo-cities-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
}
.geo-city-item {
    text-align: left;
    padding: 12px 14px;
    background: #f5f7fa;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #2d3a4b;
    font-size: 14px;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.geo-city-item:hover { background: #fef5f4; color: #e5493a; }
.geo-city-item.active { background: #e5493a; color: #fff; border-color: #e5493a; }
.geo-empty { grid-column: 1 / -1; text-align: center; padding: 20px; color: #95a5a6; font-size: 14px; }

/* Модалка подтверждения города */
.geo-confirm-overlay {
    position: fixed;
    inset: 0;
    background: rgba(29, 39, 52, 0.55);
    z-index: 100002;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
}
.geo-confirm-overlay.open { opacity: 1; visibility: visible; }
.geo-confirm-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 24px 80px rgba(45, 58, 75, 0.35);
    width: 90%;
    max-width: 440px;
    padding: 36px 32px 28px;
    z-index: 100003;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
    box-sizing: border-box;
}
.geo-confirm-modal.open { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.geo-confirm-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: #fef5f4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: geoPulse 2s infinite;
}
@keyframes geoPulse {
    0%   { box-shadow: 0 0 0 0 rgba(229, 73, 58, 0.25); }
    70%  { box-shadow: 0 0 0 20px rgba(229, 73, 58, 0); }
    100% { box-shadow: 0 0 0 0 rgba(229, 73, 58, 0); }
}
.geo-confirm-title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #2d3a4b;
    margin: 0 0 10px;
    line-height: 1.3;
}
.geo-confirm-title span { color: #e5493a; }
.geo-confirm-subtitle {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 14px;
    color: #7f8c8d;
    margin: 0 0 24px;
    line-height: 1.5;
}
.geo-confirm-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.geo-confirm-btn {
    flex: 1;
    min-width: 140px;
    height: 48px;
    padding: 0 20px;
    border: none;
    border-radius: 10px;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, transform 0.1s;
    box-sizing: border-box;
}
.geo-confirm-btn:active { transform: scale(0.97); }
.geo-confirm-btn--yes { background: #e5493a; color: #fff; }
.geo-confirm-btn--yes:hover { background: #c0392b; }
.geo-confirm-btn--change { background: #f5f7fa; color: #2d3a4b; border: 1px solid #ecf0f1; }
.geo-confirm-btn--change:hover { background: #ecf0f1; color: #e5493a; border-color: #e5493a; }

/* Блок "не доставляем" */
.gurman-region-block {
    max-width: 560px;
    margin: 40px auto;
    background: #fff;
    border-radius: 20px;
    padding: 56px 40px 44px;
    text-align: center;
    box-shadow: 0 8px 32px rgba(45, 58, 75, 0.08);
    border: 1px solid #eef1f5;
    box-sizing: border-box;
}
.gurman-region-icon {
    width: 96px;
    height: 96px;
    margin: 0 auto 28px;
    background: linear-gradient(135deg, #fef5f4 0%, #ffe8e5 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e5493a;
    animation: regionPulse 2.5s ease-in-out infinite;
}
@keyframes regionPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(229, 73, 58, 0.15); }
    50%      { box-shadow: 0 0 0 16px rgba(229, 73, 58, 0); }
}
.gurman-region-title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #2d3a4b;
    margin: 0 0 16px;
    line-height: 1.3;
}
.gurman-region-text {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 15px;
    color: #7f8c8d;
    margin: 0 0 12px;
    line-height: 1.6;
}
.gurman-region-text--small {
    font-size: 14px;
    margin-bottom: 28px;
}
.gurman-region-text a {
    color: #e5493a;
    text-decoration: none;
    border-bottom: 1px dashed rgba(229, 73, 58, 0.4);
    transition: border-color 0.2s;
}
.gurman-region-text a:hover { border-bottom-color: #e5493a; }
.gurman-region-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 8px;
}
.gurman-region-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: 10px;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s, box-shadow 0.2s, border-color 0.2s;
    box-sizing: border-box;
}
.gurman-region-btn svg { display: block; flex-shrink: 0; }
.gurman-region-btn--primary {
    background: #e5493a;
    color: #fff;
    border: none;
    box-shadow: 0 4px 14px rgba(229, 73, 58, 0.25);
}
.gurman-region-btn--primary:hover {
    background: #c0392b;
    box-shadow: 0 6px 20px rgba(229, 73, 58, 0.35);
}
.gurman-region-btn--primary:active { transform: scale(0.98); }
.gurman-region-btn--secondary {
    background: #f5f7fa;
    color: #2d3a4b;
    border: 1px solid #ecf0f1;
}
.gurman-region-btn--secondary:hover {
    background: #ecf0f1;
    color: #e5493a;
    border-color: #e5493a;
}


/* ============================================
   14. ФОРМЫ, ЛК, ИСТОРИЯ
   ============================================ */
.formTitle { display: block; font-family: 'Inter', 'SFUIText-Medium', sans-serif; text-align: center; color: #2d3a4b; font-size: 30px; margin-top: 20px; }
.formDescr { display: block; text-align: center; color: #959595; font-size: 14px; margin-top: 10px; }
.resFormCont { display: block; text-align: center; color: #959595; font-size: 22px; margin-top: 10px; }
.formCont { width: 800px; margin: 25px auto; text-align: center; }
.formCont input[type="text"],
.formCont textarea {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    border: none;
    background: #f8f8f8;
    padding: 10px 20px 12px;
    border-radius: 5px;
    box-sizing: border-box;
}
.formCont input[type="text"] { display: inline-block; width: 44%; margin: 0 15px; }
.formCont textarea { display: inline-block; width: 740px; margin: 25px; height: 100px; }
.formCont input[type="submit"] {
    border: none;
    background: #e5493a;
    color: #fff;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    text-transform: uppercase;
    padding: 15px 25px;
    border-radius: 5px;
}
.formCont input[type="submit"]:hover { background: #2d3a4b; }
.formCont input.error { background: rgba(238, 178, 178, 0.4); }

.formZ .corp { display: none; }
.formZ h2 { font-family: 'Inter', 'SFUIText-BoldG1', sans-serif; font-size: 18px; color: #2D3A4B; }
.formZ .linef { padding: 10px; background: #e8e8e8; margin-bottom: 5px; color: #454545; }
.formZ input[type="text"] {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    padding: 5px 10px;
    width: 400px;
    color: #454545;
    box-sizing: border-box;
    border: 1px solid #aaa;
}
.formZ input[type="submit"] {
    margin-top: 10px;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    padding: 20px 10px;
    width: 400px;
    color: #fff;
    box-sizing: border-box;
    border: none;
    background: #E5493A;
    font-size: 20px;
}
.formZ input[type="submit"]:hover { background: #2D3A4B; }

/* Количество */
.amount { float: left; border: 1px solid #ddd; margin: 20px 5px 0 0; }
.amount input {
    padding: 10px 0;
    float: left;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 0;
    border-top: 0;
    width: 50px;
    text-align: center;
}
.amount_count { font-family: 'Inter', 'SFUIText-BoldG1', sans-serif; float: left; color: #454545; padding: 8px 14px 8px; }
.amount_count:hover { cursor: pointer; background: #f1f1f1; }
input[name="amount"]:disabled { background: #fff; }

/* ЛК */
.userPage h1 { margin: -5px 0 0; font-size: 20px; color: #E5493A; }
.userLeft { float: left; width: 45%; }
.userRight { float: right; width: 45%; }
.userPage form { margin: 10px 0 0; }
.userPage .linef { padding: 10px; background: #e8e8e8; margin-bottom: 5px; color: #454545; }
.userPage input[type="text"],
.userPage input[type="password"] {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    padding: 5px 10px;
    width: 100%;
    color: #454545;
    box-sizing: border-box;
    border: 1px solid #aaa;
}
.userPage input[type="submit"] {
    margin-top: 5px;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    padding: 10px;
    width: 100%;
    color: #fff;
    box-sizing: border-box;
    border: none;
    background: #E5493A;
    font-size: 14px;
}
.userPage input[type="submit"]:hover { background: #2D3A4B; }
.userPage .corp { display: none; }
.userPage label { font-size: 12px; margin-bottom: 5px; display: block; }
.linef label { font-size: 12px; margin-bottom: 5px; display: block; }
.mepassspan { display: inline-block; margin-top: 10px; color: #454545; border-bottom: 1px dashed; font-size: 14px; cursor: pointer; }
.mepassspan:hover { border-bottom: 1px solid; }
.mepass { display: none; }
.err { color: #fff; background: red; padding: 5px 20px; font-size: 13px; }
.lflabel { position: relative; }
.lflabel label { margin-bottom: 0; }
.lflabel span { position: absolute; top: 7px; right: 10px; cursor: pointer; }

/* История */
.history { border-collapse: collapse; width: 100%; }
.history tr th { background: #2d3a4b; color: #fff; font-size: 14px; font-family: 'Inter', 'SFUIText-BoldG1', sans-serif; padding: 10px 20px; }
.history tr td { background: #fff; border-bottom: 2px solid #f3f3f3; color: #2d3a4b; padding: 10px 20px; text-align: center; }
.history tr td a { text-decoration: none; float: left; font-size: 13px; text-align: left; color: #454545; }


/* ============================================
   15. ФУТЕР
   ============================================ */
footer { width: 100%; margin: 0 auto; padding: 0; background: #222d3c; }
.footer_wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
footer .footer_block { display: flex; flex-direction: column; padding: 28px 30px 10px; }
footer .logo img { width: 80px; margin: 0 auto 10px; display: block; }
footer .text_logo_footer { color: #fff; font-size: 14px; line-height: 18px; width: 185px; text-align: center; margin: 0 auto 5px; display: block; }
footer .dix { opacity: 0.5; color: #adbbcf; font-size: 12px; line-height: 18px; margin: 0 auto; display: block; }
footer .logo_block_footer { background-color: #222d3c; padding: 30px 50px 15px; display: flex; flex-direction: column; }
footer .title_footer { color: #fff; font-size: 14px; line-height: 18px; margin-bottom: 15px; }
footer .red_block_footer { color: #e5493a; font-size: 14px; line-height: 1.5; }
footer .time_block { color: #adbbcf; font-size: 12px; line-height: 1.5; }
footer .time_block span { position: relative; left: 10px; }
footer .tel_footer { text-decoration: none; color: #e5493a; font-size: 16px; font-weight: 300; line-height: 1.1; }
footer .social_footer a { margin: 0 5px; }
footer .social_footer { display: flex; justify-content: center; }
footer .social_footer_block { min-width: 105px; }
footer .tel_footer_block { min-width: 155px; }
footer .pay_footer img { width: 100%; max-width: 200px; }
footer .address { min-width: 155px; }
.right_footer_block { display: flex; }
.developer { background-color: #1d2734; display: flex; justify-content: center; align-items: center; height: 42px; }
.developer_block,
.developer_block a { opacity: 0.4; color: #adbbcf; font-size: 12px; line-height: 18px; }
.developer_block a { text-decoration: none; border-bottom: 1px solid rgba(173, 187, 207, 0.5); }
.developer_block a:hover { border: none; }
.developer_logo { display: inline; position: relative; top: 2px; right: 5px; }


/* ============================================
   16. ГЛАВНАЯ — НОВЫЙ ДИЗАЙН
   ============================================ */

/* ---------- HERO ---------- */
.hero {
    position: relative;
    height: 480px;
    background: linear-gradient(135deg, #1a252f 0%, #2d3a4b 60%, #3c150e 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 0;
}
.hero::before {
    content: '';
    position: absolute;
    top: -100px; right: -100px;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(229, 73, 58, 0.25) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.hero::after {
    content: '';
    position: absolute;
    bottom: -150px; left: -150px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(229, 73, 58, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.hero__content {
    position: relative;
    z-index: 2;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 60px;
    width: 100%;
    box-sizing: border-box;
}
.hero__badge {
    display: inline-block;
    background: rgba(229, 73, 58, 0.15);
    color: #e5493a;
    font-family: 'Inter', 'SFUIText-Medium', sans-serif;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 20px;
    margin-bottom: 24px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    line-height: 1;
}
.hero__title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 48px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0 0 20px;
    max-width: 800px;
}
.hero__title span { color: #e5493a; }
.hero__subtitle {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
    color: #adbbcf;
    margin: 0 0 36px;
    max-width: 640px;
}
.hero__buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    border: none;
    transition: background 0.2s, transform 0.1s;
    text-decoration: none;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
}
.hero__btn--primary {
    background: #e5493a;
    color: #fff;
    box-shadow: 0 8px 24px rgba(229, 73, 58, 0.35);
}
.hero__btn--primary:hover { background: #c0392b; }
.hero__btn--primary:active { transform: scale(0.98); }
.hero__btn--secondary {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.hero__btn--secondary:hover { background: rgba(255, 255, 255, 0.15); }
.hero__btn svg { display: block; flex-shrink: 0; }

/* ---------- ПРЕИМУЩЕСТВА (3 полосы) ---------- */
.advantages {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-bottom: 1px solid #ecf0f1;
    max-width: 1440px;
    margin: 0 auto;
    background: #fff;
}
.advantage {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 28px 32px;
    border-right: 1px solid #ecf0f1;
    box-sizing: border-box;
}
.advantage:last-child { border-right: none; }
.advantage__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #fef5f4;
    color: #e5493a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.advantage__title {
    font-size: 15px;
    font-weight: 700;
    color: #2d3a4b;
    margin-bottom: 2px;
}
.advantage__text {
    font-size: 13px;
    color: #7f8c8d;
    line-height: 1.4;
}

/* ---------- СЕКЦИЯ ---------- */
.section {
    padding: 48px 60px;
    max-width: 1440px;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
}
.section--gray {
    background: #fafbfc;
}
.section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
    gap: 20px;
    flex-wrap: wrap;
}
.section__title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2d3a4b;
    margin: 0;
}
.section__title span { color: #e5493a; }
.section__subtitle {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #7f8c8d;
    margin-top: 4px;
}
.section__arrows { display: flex; gap: 8px; }
.section__arrow {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid #ecf0f1;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2d3a4b;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.section__arrow:hover {
    background: #e5493a;
    border-color: #e5493a;
    color: #fff;
}

/* ---------- КАТЕГОРИИ ---------- */
.cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.cat {
    position: relative;
    display: block;
    border-radius: 16px;
    overflow: hidden;
    background: #f5f7fa;
    text-decoration: none;
    aspect-ratio: 4 / 1; /* ← фиксируем пропорцию под картинку */
    transition: box-shadow 0.25s;
}
.cat:hover {
    box-shadow: 0 12px 32px rgba(45, 58, 75, 0.15);
}
.cat img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease; /* ← плавный зум */
}
.cat:hover img {
    transform: scale(1.08); /* ← картинка зумится внутри */
}
.cat__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 0 20px;
    pointer-events: none;
    z-index: 2;
}
.cat__title {
    display: inline-block;
    background: rgba(255, 255, 255, 0.95);
    color: #2d3a4b;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.01em;
    padding: 10px 18px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}
.cat:hover .cat__title {
    background: #e5493a;
    color: #fff;
}
.cat__count {
    display: none;
}

/* ---------- СЛАЙДЕР ТОВАРОВ ---------- */
.products {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 12px;
    scrollbar-width: thin;
}
.products::-webkit-scrollbar { height: 6px; }
.products::-webkit-scrollbar-thumb { background: #d5dbe2; border-radius: 3px; }

.product {
    flex: 0 0 280px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(44, 62, 80, 0.06);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: box-shadow 0.2s, transform 0.2s;
}
.product:hover {
    box-shadow: 0 8px 24px rgba(44, 62, 80, 0.12);
    transform: translateY(-2px);
}
.product__badges {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: calc(100% - 20px);
    pointer-events: none;
}
.badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff;
    line-height: 1.2;
}
.badge--sale { background: linear-gradient(90deg, #e5493a, #ff8a7a, #e5493a); background-size: 300% 100%; animation: badgeShimmer 4s ease-in-out infinite; }
.badge--new { background: #27ae60; }
.badge--hit { background: #e5493a; }
.badge--pop { background: #3498db; }
.badge--catch { background: #8e44ad; }
@keyframes badgeShimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.product__img {
    height: 220px;
    background: #f5f7fa;
    overflow: hidden;
}
.product__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.product__body {
    padding: 12px 15px 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.product__rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 12px;
    color: #7f8c8d;
}
.product__stars { color: #f39c12; font-size: 14px; letter-spacing: -1px; }
.product__rating-value { font-weight: 600; color: #2d3a4b; }
.product__title {
    font-size: 15px;
    font-weight: 600;
    color: #2d3a4b;
    line-height: 1.35;
    margin-bottom: 8px;
    min-height: 40px;
    text-decoration: none;
    display: block;
}
.product__title:hover { color: #e5493a; }
.product__instock {
    font-size: 12px;
    font-weight: 600;
    color: #27ae60;
    margin-bottom: 8px;
}
.product__price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.product__price-old {
    font-size: 14px;
    color: #95a5a6;
    text-decoration: line-through;
    font-weight: 400;
}
.product__price {
    font-size: 24px;
    font-weight: 800;
    color: #e5493a;
    line-height: 1;
}
.product__unit {
    font-size: 12px;
    color: #7f8c8d;
}
.product__cart {
    margin-top: auto;
    display: flex;
    align-items: stretch;
    min-height: 44px;
    border-radius: 8px;
    overflow: hidden;
}
.product__btn-initial {
    flex: 1;
    background: #e5493a;
    color: #fff;
    border: none;
    padding: 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    cursor: pointer;
}
.product__btn-initial:hover { background: #c0392b; }
.product__cart-controls {
    display: flex;
    flex: 1;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 8px;
    overflow: hidden;
}
.product__btn-trash {
    width: 44px;
    background: #fff;
    border: none;
    border-right: 1px solid #ecf0f1;
    color: #e5493a;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
    font-weight: 700;
}
.product__cart-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4px;
    text-align: center;
}
.product__cart-qty {
    font-size: 11px;
    color: #7f8c8d;
    font-weight: 500;
    line-height: 1.2;
}
.product__cart-sum {
    font-size: 14px;
    font-weight: 800;
    color: #2d3a4b;
    line-height: 1.1;
}
.product__btn-plus {
    width: 44px;
    background: #e5493a;
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 400;
    cursor: pointer;
}
.product__btn-plus:hover { background: #c0392b; }

/* ---------- ПОЧЕМУ ВЫБИРАЮТ ---------- */
.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.why-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 4px 15px rgba(44, 62, 80, 0.06);
    transition: transform 0.2s, box-shadow 0.2s;
    text-align: left;
}
.why-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(44, 62, 80, 0.12);
}
.why-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, #fef5f4 0%, #fce8e5 100%);
    color: #e5493a;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
.why-card__title {
    font-size: 17px;
    font-weight: 700;
    color: #2d3a4b;
    margin-bottom: 8px;
    line-height: 1.3;
}
.why-card__text {
    font-size: 14px;
    color: #7f8c8d;
    line-height: 1.5;
}

/* ---------- SEO-БЛОК ---------- */
.seo {
    padding: 0 60px 48px;
    max-width: 1440px;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
}
.seo__preview {
    margin-bottom: 20px;
}
.seo__preview h2 {
    font-size: 22px;
    font-weight: 700;
    color: #2d3a4b;
    margin: 0 0 12px;
    line-height: 1.3;
}
.seo__preview p {
    font-size: 14px;
    line-height: 1.7;
    color: #34495e;
    margin: 0;
    max-width: 900px;
}
.seo__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    background: #fef5f4;
    border: 1px solid #fcd9d5;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    color: #e5493a;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.seo__toggle:hover {
    background: #fce8e5;
    border-color: #e5493a;
}
.seo__toggle svg { transition: transform 0.3s; }
.seo__toggle.open svg { transform: rotate(180deg); }
.seo__content {
    display: none;
    margin-top: 24px;
    padding: 32px 36px;
    background: #fafbfc;
    border-radius: 16px;
    font-size: 14px;
    line-height: 1.7;
    color: #34495e;
}
.seo__content.open { display: block; }
.seo__content h2 {
    font-size: 20px;
    font-weight: 700;
    color: #2d3a4b;
    margin: 24px 0 12px;
}
.seo__content h2:first-child { margin-top: 0; }
.seo__content p { margin-bottom: 12px; }
.seo__content ul { margin: 12px 0 12px 20px; }
.seo__content li { margin-bottom: 6px; }

/* ---------- РЕЦЕПТЫ ---------- */
.recipes {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 12px;
    scrollbar-width: thin;
}
.recipes::-webkit-scrollbar { height: 6px; }
.recipes::-webkit-scrollbar-thumb { background: #d5dbe2; border-radius: 3px; }
.recipe {
    flex: 0 0 280px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(44, 62, 80, 0.06);
    transition: box-shadow 0.2s, transform 0.2s;
    display: block;
    text-decoration: none;
}
.recipe:hover {
    box-shadow: 0 8px 24px rgba(44, 62, 80, 0.12);
    transform: translateY(-2px);
}
.recipe__img {
    height: 200px;
    overflow: hidden;
    background: #f5f7fa;
}
.recipe__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s;
}
.recipe:hover .recipe__img img { transform: scale(1.05); }
.recipe__body {
    padding: 16px;
}
.recipe__title {
    font-size: 15px;
    font-weight: 600;
    color: #2d3a4b;
    line-height: 1.4;
    min-height: 42px;
}


/* ============================================
   17. РАЗНОЕ
   ============================================ */

/* Пагинация */
.numpages {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 30px 0;
    margin: 0;
    flex-wrap: wrap;
    list-style: none;
}
.numpages a,
.numpages span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 8px;
    color: #2d3a4b;
    text-decoration: none;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 14px;
    font-weight: 700;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    box-sizing: border-box;
}
.numpages a:hover { background: #f5f7fa; border-color: #e5493a; color: #e5493a; }
.numpages a.active,
.numpages .active,
.numpages .current { background: #e5493a; border-color: #e5493a; color: #fff; }
.numpages span { background: #fef5f4; border-color: #e5493a; color: #e5493a; cursor: default; pointer-events: none; }

/* Подкатегории-табы */
.gurman-subcats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 15px 25px;
    margin-bottom: 25px;
    border-bottom: 1px solid #ecf0f1;
}
.gurman-subcat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: #f5f7fa;
    color: #2d3a4b;
    text-decoration: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    transition: background 0.2s, color 0.2s, transform 0.1s;
    border: 2px solid transparent;
    box-sizing: border-box;
}
.gurman-subcat:hover { background: #fef5f4; color: #e5493a; transform: translateY(-2px); }
.gurman-subcat.active { background: #e5493a; color: #fff; border-color: #e5493a; }
.gurman-subcat-count {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #95a5a6;
    background: #fff;
    padding: 2px 7px;
    border-radius: 10px;
    line-height: 1.4;
    margin-left: 2px;
}
.gurman-subcat:hover .gurman-subcat-count,
.gurman-subcat.active .gurman-subcat-count { color: #e5493a; background: #fff; }

/* Крошки + стрелка назад */
.header_block_wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 25px 15px 15px;
    background: #FFF;
    box-sizing: border-box;
}
.header_block_wrap .header_block { max-width: none; margin: 0 0 -3px; padding: 0; background: transparent; }
.gurman-category-top { display: flex; align-items: center; gap: 14px; }
.gurman-category-top .header_block { flex: 1; min-width: 0; }
.gurman-back-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    background: #f5f7fa;
    color: #2d3a4b;
    text-decoration: none;
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s, transform 0.2s;
    border: 1px solid #ecf0f1;
    box-sizing: border-box;
}
.gurman-back-circle:hover { background: #e5493a; color: #fff; border-color: #e5493a; transform: translateX(-3px); }
.gurman-category-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 20px 0 15px;
    font-size: 13px;
    color: #7f8c8d;
}
.gurman-category-breadcrumbs a { color: #7f8c8d; text-decoration: none; transition: color 0.2s; }
.gurman-category-breadcrumbs a:hover { color: #e5493a; }
.gurman-category-breadcrumbs span { color: #7f8c8d; margin: 0 6px; }

/* Статус, старые цены */
.statusItem {
    position: absolute;
    z-index: 1;
    color: #fff;
    font-size: 13px;
    width: 70px; height: 70px;
    border-radius: 100%;
    display: table;
    top: 10px; right: 10px;
}
.statusItem span { display: table-cell; text-align: center; vertical-align: middle; }
.oldPrice {
    margin-right: 10px;
    color: #2d3a4b;
    font-size: 20px;
    text-decoration: line-through;
    font-family: 'Inter', 'SFUIText-Medium', sans-serif;
}
.oldPriceTable { text-decoration: line-through; color: #999; }
.itemObject .oldPrice { position: absolute; top: -25px; left: 0; }

/* SEO-текст категории */
.gurman-category-textpage {
    padding: 30px 15px;
    margin: 30px 0 0;
    background: #fff;
    border-top: 1px solid #ecf0f1;
    font-size: 14px;
    line-height: 1.6;
    color: #34495e;
    box-sizing: border-box;
}
.gurman-category-textpage p { margin: 0 0 12px; }
.gurman-category-textpage h2 { font-size: 20px; font-weight: 700; color: #2d3a4b; margin: 25px 0 12px; font-family: 'Inter', 'SFUIText-BoldG1', sans-serif; }
.gurman-category-textpage ul,
.gurman-category-textpage ol { margin: 12px 0 12px 20px; }
.gurman-category-textpage a { color: #e5493a; text-decoration: none; }
.gurman-category-textpage a:hover { text-decoration: underline; }

/* Заглушка */
.gurman-maint {
    font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
    background: linear-gradient(135deg, #1a252f 0%, #2c3e50 100%);
    color: #fff;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 20px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}
.gurman-maint::before,
.gurman-maint::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.gurman-maint::before {
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(231, 76, 60, 0.15) 0%, transparent 70%);
    top: -150px; right: -150px;
}
.gurman-maint::after {
    width: 350px; height: 350px;
    background: radial-gradient(circle, rgba(231, 76, 60, 0.1) 0%, transparent 70%);
    bottom: -100px; left: -100px;
}
.gurman-maint .g-content { position: relative; z-index: 2; max-width: 600px; }
.gurman-maint .g-logo { font-size: 26px; font-weight: 800; letter-spacing: 2px; margin-bottom: 35px; text-transform: uppercase; }
.gurman-maint .g-logo span { color: #e74c3c; }
.gurman-maint .g-icon {
    width: 110px; height: 110px;
    margin: 0 auto 25px;
    background: rgba(231, 76, 60, 0.1);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid rgba(231, 76, 60, 0.3);
    animation: g-pulse 2s infinite;
}
.gurman-maint .g-icon svg { width: 55px; height: 55px; }
@keyframes g-pulse {
    0% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.4); }
    70% { box-shadow: 0 0 0 20px rgba(231, 76, 60, 0); }
    100% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0); }
}
.gurman-maint h1 { font-size: 30px; font-weight: 700; margin-bottom: 15px; line-height: 1.3; }
.gurman-maint p { font-size: 16px; color: #b0bec5; margin-bottom: 30px; line-height: 1.6; }
.gurman-maint .g-contacts { display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; font-size: 14px; color: #90a4ae; }
.gurman-maint .g-contacts a { color: #e74c3c; text-decoration: none; transition: color 0.3s; }
.gurman-maint .g-contacts a:hover { color: #ff6b5b; }

/* Сброс дефолтных стилей форм корзины */
.umiform-add-to-cart { display: block; width: 100%; margin: 0; padding: 0; }
.umiform-add-to-cart .addItem,
.umiform-add-to-cart button[type="submit"] {
    border: none; padding: 0; margin: 0;
    font: inherit; color: #fff; cursor: pointer;
    display: inline-block; text-decoration: none;
    line-height: normal;
    -webkit-appearance: none; appearance: none;
}
.umiform-add-to-cart .addItem:focus,
.umiform-add-to-cart button[type="submit"]:focus { outline: none; }
.umiform-add-to-cart .addItem { width: 100%; box-sizing: border-box; display: block; }

/* Прочее */
.menublockmobile { display: none; }
.imgRight { float: right; margin: 0 0 20px 20px; }
.miniBlog { margin: 0; }
.miniBlog a { font-family: 'Inter', 'SFUIText-BoldG1', sans-serif; text-decoration: none; color: #E6483B; display: block; overflow: auto; }
.miniBlog p { font-size: 13px; }
.imgLeftMini { float: left; width: 200px; margin: 0 20px 20px 0; }
.exit { cursor: pointer; }
.resSearch a { color: #e6483b; }
.map { margin: 0; width: 100%; }
.top_imput { margin-top: 5px; }
.not_f { text-align: center; display: inline-block; width: 100%; margin-bottom: 50px; }
.wrap_link { text-align: center; }
.wrap_link a { margin: 0 10px; background-color: #e5493a; color: #FFF; text-decoration: none; padding: 10px 15px; border-radius: 2px; }
.wrap_link a:hover { background-color: #21374a; }
.minopl { color: red; text-decoration: underline; }
.td { position: fixed; top: 0; left: 0; width: 100%; text-align: center; background: #55C65E; border-bottom: 1px solid #48B151; display: none; z-index: 99; color: #fff; padding: 6px 0 10px; }
.bigtext { display: none; }
.h2dop { display: block; text-align: center; font-size: 30px; color: #2d3a4b; }
.tnoopl { text-align: left; font-size: 11px; color: red; }
.text_block_area { width: 400px; padding: 5px 10px; }

/* Старый поиск (нейтрализован, для совместимости) */
.search {
    margin: 20px 0 0;
    border: 1px solid rgba(172, 193, 221, 0.25);
    width: 227px;
    padding: 10px;
    float: right;
    background-color: #21374a;
}
.search input[type="text"] {
    background: url(../svg/search.svg) no-repeat 98%;
    border: none;
    color: #fff;
    font-size: 14px;
    width: 100%;
    padding-left: 5px;
}
.search input[placeholder] { color: #adbbcf; font-size: 14px; line-height: 18px; }
.search input[type="submit"] { display: none; }
.searchtab { width: 100%; transition: width 0.4s ease-in-out; border: 1px solid rgba(172, 193, 221, 0.25); }
.searchtab_min { width: 90px; transition: width 0.4s ease-in-out; }

/* Анимации */
.moretext,
.formCont input[type="submit"],
.text .addItem,
.itemObject .addItem,
.footmini a,
aside nav a,
.userPage input[type="submit"],
.amount_count,
.formZ input[type="submit"],
.anim { transition: 0.3s all ease; }
.moretext {
    display: block;
    background: transparent;
    width: 150px;
    text-align: center;
    padding: 10px 0;
    color: #FFF;
    border: 1px solid #e5493a;
    font-size: 13px;
    font-weight: 700;
    line-height: 16px;
    margin: 30px 0 0;
}
.moretext:hover { background: #e5493a; color: #fff; cursor: pointer; }

/* DaData — подсказки */
.suggestions-suggestions {
    background: #fff !important;
    border: 1px solid #e8ecf1 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(45, 58, 75, 0.12) !important;
    margin-top: 6px !important;
    padding: 6px !important;
    overflow: hidden !important;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif !important;
}
.suggestions-suggestions .suggestions-hint {
    background: transparent !important;
    border-bottom: 1px solid #f0f3f7 !important;
    color: #95a5a6 !important;
    font-size: 12px !important;
    padding: 8px 12px !important;
    margin-bottom: 4px !important;
}
.suggestions-suggestions .suggestions-suggestion {
    padding: 10px 12px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background 0.15s, color 0.15s !important;
    color: #2d3a4b !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}
.suggestions-suggestions .suggestions-suggestion:hover,
.suggestions-suggestions .suggestions-suggestion.selected {
    background: #fef5f4 !important;
    color: #e5493a !important;
}
.suggestions-suggestions .suggestions-suggestion b,
.suggestions-suggestions .suggestions-suggestion strong {
    color: #2d3a4b !important;
    font-weight: 700 !important;
}
.suggestions-suggestions .suggestions-addon { display: none !important; }
.suggestions-suggestions::before,
.suggestions-suggestions::after,
.suggestions-suggestions .suggestions-promo {
    display: none !important;
    content: none !important;
    background: none !important;
}
.suggestions-suggestions .suggestions-suggestion::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
}
.suggestions-suggestions .suggestions-suggestion[data-suggestion-type="EMAIL"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2395a5a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

/* Кнопка "Построить маршрут" */
.pickup-route-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #e5493a;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 14px;
    font-weight: 700;
    transition: background 0.2s;
}
.pickup-route-btn:hover { background: #c0392b; }
.pickup-route-btn svg { display: block; flex-shrink: 0; }


/* ============================================
   18. МЕДИА-ЗАПРОСЫ
   ============================================ */
@media (max-width: 1295px) {
    aside { float: none; width: 100%; text-align: center; }
    aside nav a { float: none !important; display: inline-block; width: 100px; height: 100px; }
    aside nav a img { width: 100px; }
    aside nav a:hover img,
    aside nav .active img { top: -110px; }
    main { width: 0; }
    .catalogMenu li { height: auto; }
}
@media (max-width: 1200px) {
    header .tel, header .tel2 { display: block; margin: 0; }
    .dostsum { display: none; }
    .gurman-catalog-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 1115px) and (min-width: 861px) {
    .menu_top a { padding: 17px 7px; }
    li.pod_menu_cont .caret_pick { display: none; }
}
@media (max-width: 1100px) {
    main .itemObject { width: 50%; }
    .Item_detail { display: flex; flex-direction: column; margin: 0; padding: 0; }
    .Item_detail .imgTovar,
    .Item_detail .text { width: 100%; padding: 0 15px; }
    .header-inner { grid-template-columns: auto 1fr auto; gap: 16px; }
    .header-search { max-width: 100%; }
}
@media (max-width: 1040px) {
    footer .footer_wrap { flex-direction: column; }
}
@media (max-width: 992px) {
    .wrap_content_basket aside { display: none; }
}
@media (max-width: 960px) {
    .slider .slide_title { font-size: 18px; }
    .slider .slide_desc { font-size: 13px; }
}
@media (max-width: 900px) {
    .header-inner {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "left contacts"
            "search search";
        gap: 12px;
        padding: 10px 16px;
        min-height: auto;
    }
    .header-left { grid-area: left; }
    .header-search { grid-area: search; max-width: 100%; }
    .header-inner .right { grid-area: contacts; }
    .header-inner .left { display: none; }
    .mobile_about { display: block; }
    .burger_menu_btn { display: block; cursor: pointer; }
    .gurman-catalog-grid { grid-template-columns: repeat(2, 1fr) !important; }

    /* Оформление заказа */
    .gurman-checkout__form { grid-template-columns: 1fr; }
    .gurman-checkout__sidebar { position: static; }
    .gurman-checkout-item {
        grid-template-columns: 60px 1fr auto;
        gap: 12px;
    }
    .gurman-checkout-item__price { display: none; }
    .gurman-checkout-item__qty { grid-column: span 2; margin-top: 8px; }
    .gurman-checkout .fields-row { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
    header { height: 55px; padding: 20px 0; }
    header .logo { float: left; z-index: 99; position: relative; }
    header .logo img { height: 50px; }
    .search { margin-top: -6px; }
    .menu_top { display: none; }
    .menu_top a { line-height: 1; display: inline; padding: 0 0 0 15px; }
    #menu { display: block; }
    .pod_menu { background-color: #bf3a2d; position: relative; margin-top: 15px; margin-bottom: -15px; }
    .pod_menu li { border-top: none; padding: 15px 0; border-top: 1px solid rgba(255, 255, 255, 0.3); }
    .pod_menu li a { padding-left: 30px; }
    li.pod_menu_cont { position: relative; padding: 15px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    li.pod_menu_cont .caret_pick { width: 43px; height: 60px; position: absolute; right: 9px; top: -9px; z-index: 9999; }
    .caret { right: 5px; top: 10px; }
    main article.catalog_block { padding-right: 15px !important; }
    .middle aside { display: none; }
    .middle main { margin: 0; }
    .middle { padding: 0; margin-top: -1px; }
    .recent, .youWatchedTitle { display: none; }
    .advantage .advantage_item { width: 100%; padding: 35px 15px 30px; box-sizing: border-box; }
    .advantage { flex-direction: column; }
    .text_block:before { background-image: linear-gradient(to top, #3c150e 0%, #3c150e 70%, transparent 100%); }
    .basketMini { display: none; }
    .imgRight { float: none; margin: 0; width: 100%; }
    header { text-align: center; }
    header .left { margin: 0; float: none; }
    .slider img { height: 180px; }
    header .right { float: none; text-align: center; position: relative; right: 0; }
    header .dostsum { font-size: 19px; }
    .catalogMenu li { width: 50%; }
    .catalogMenu li:nth-child(3) { float: right; }
    .catalogMenu li a span { font-size: 24px; bottom: 10px; }
    article { padding: 20px; }
    footer { padding: 20px; }
    footer .tel { float: none; text-align: center; margin: 20px 0; font-size: 18px; }
    footer .logo { float: none !important; display: block; margin: 0 auto; text-align: center; width: 100px; height: auto; }
    footer .imgf { display: none; }
    .middle { padding: 10px; }
    aside { float: none; width: 100%; text-align: center; }
    aside nav a { float: none !important; display: inline-block; width: 70px; height: 70px; }
    aside nav a img { width: 70px; }
    aside nav a span { font-size: 8px; }
    aside nav a:hover img,
    aside nav .active img { top: -80px; }
    .youWatchedTitle, .recent, .banner { display: none; }
    main { width: 100%; }
    .itemObject { width: 80%; float: left; }
    .imgTovar { width: 100%; float: none; }
    .text { width: 100%; float: none; }
    .carusel { width: 70%; }
    .basket table tr th,
    .basket table tr td,
    .basket table tr td a { font-size: 12px !important; padding: 5px; }
    .basket table tr td:first-child img { width: 50px; }
    .basket table tr td:first-child,
    .basket table tr th:first-child { display: none; }
    .basket .amount { width: 40px; }
    .basket .amount input { width: 37px; font-size: 12px; float: none; border: 1px solid #ddd; border-left: none; border-right: none; }
    .basket .amount_count { float: none; }
    .formZ input[type="text"],
    .formZ input[type="submit"],
    .text_block_area { width: 90%; }
    .userLeft, .userRight { float: none; width: 100%; margin-bottom: 40px; }
    .blockContact { display: inline-block; margin-bottom: 45px; }
    .formCont { width: 100%; }
    .inner article { padding: 10px; }
    .formCont input[type="text"],
    .formCont textarea { width: 100%; margin: 0 0 10px; }
    .inner { width: 100%; text-align: center; }
    .map { width: 100%; margin: 0 0 20px; }
    .banner span { font-size: 12px; text-transform: lowercase; padding: 10px; }
    .itemObject a img { height: auto; }
    .gurman-gallery-main img { height: 350px; }
    .gurman-title { font-size: 20px; }
    .gurman-price-current { font-size: 30px; }
}
@media (max-width: 810px) {
    .nav_top li { padding: 0 5px; }
}
@media (max-width: 768px) {
    .nav_top ul { display: none; }
    .nav_top_right { width: 100%; display: flex; }
    header .nav_top .link { width: 50%; display: flex; padding: 0 10px; justify-content: center; }
    .mini-catalog-btn { display: inline-flex; }
    .mini-logo img { height: 32px; }
    .gurman-subcats { gap: 6px; padding: 15px 0; overflow-x: auto; scrollbar-width: none; }
    .gurman-subcats::-webkit-scrollbar { display: none; }
    .gurman-subcat { padding: 8px 12px; font-size: 13px; flex-shrink: 0; }
    .gurman-subcat-count { font-size: 10px; padding: 1px 6px; }
}
@media (max-width: 767px) {
    .right_footer_block { flex-direction: column; padding-bottom: 10px; }
    footer .social_footer { display: flex; justify-content: center; }
    footer .pay_footer img { width: 250px; }
    footer .footer_block { display: flex; flex-direction: column; padding: 20px 30px 10px; text-align: center; }
    .dostavka_car { width: 100%; height: auto; }
}
@media (max-width: 600px) {
    .search { width: 0; border: none; position: relative; }
    .search input[type="text"] { display: none; background: none; }
    .search input[type="submit"] {
        right: 6px; position: absolute; top: 13px;
        background: url(../svg/search.svg) no-repeat center center;
        border: none; width: 15px; height: 15px; display: block;
    }
    header .right { right: 12px; }
    .mobile_about { margin-left: 5px; }
    header .logo { margin-left: -3px; }
    header .logo img { height: 48px; margin-top: 3px; }
    .slider .slide_title { margin-top: 0; }
    .slider .swiper-slide { justify-content: start; text-align: left; }
    .swiper-pagination { display: none; }
    .catalogMenu li { width: 100%; }
    .text_block { padding: 20px 15px; }
    .gurman-product { padding: 15px 12px 30px; }
    .gurman-gallery-main img { height: 250px; }
    .gurman-gallery-thumbs img,
    .gurman-gallery-thumbs a { height: 55px; }
    .gurman-btn-buy-initial { font-size: 15px; padding: 14px 16px; }
    .gurman-cart-sum { font-size: 16px; }
    .gurman-btn-plus { width: 60px; }
    .gurman-btn-trash { width: 50px; }
    .gurman-delivery { flex-wrap: wrap; }
    .gurman-delivery-tooltip {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        padding: 10px 0 0 44px;
        min-width: 0;
        pointer-events: auto;
        margin-top: 5px;
    }
    .gurman-delivery-tooltip::before { display: none; }
    .gurman-catalog-grid { grid-template-columns: 1fr !important; }

    /* Живой поиск — мобильная выпадашка */
    .live-search-dropdown {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        max-height: 80vh;
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -10px 40px rgba(45, 58, 75, 0.2);
    }
    .live-search-img { width: 50px; height: 50px; }
    .live-search-price { font-size: 14px; }
    .live-search-btn-initial,
    .live-search-btn-disabled,
    .live-search-btn-trash,
    .live-search-btn-plus { width: 36px; height: 36px; font-size: 20px; }

    /* Геотаргетинг */
    .geo-cities-list { grid-template-columns: 1fr; }
    .geo-modal { max-height: 90vh; }

    /* Главная */
    .hero { padding: 0 24px; height: auto; min-height: 360px; }
    .hero__title { font-size: 26px; }
    .hero__subtitle { font-size: 14px; }
    .hero__btn { padding: 14px 22px; font-size: 14px; }
    .section { padding: 28px 20px; }
    .seo { padding: 0 20px 28px; }
    .section__title { font-size: 22px; }
    .cats { grid-template-columns: 1fr; gap: 12px; }
    .cat__title { font-size: 20px; }
    .product { flex: 0 0 240px; }
    .product__img { height: 180px; }
    .recipe { flex: 0 0 240px; }
    .recipe__img { height: 170px; }
    .seo__preview h2 { font-size: 18px; }
    .why-grid { grid-template-columns: 1fr; gap: 12px; }
    .why-card { padding: 20px; }
    .why-card__icon { width: 48px; height: 48px; margin-bottom: 14px; }
    .why-card__title { font-size: 15px; }
}
@media (max-width: 480px) {
    .gurman-maint h1 { font-size: 22px; }
    .gurman-maint .g-contacts { flex-direction: column; gap: 10px; }
    #header-cart-widget .lickb,
    #mini-cart-widget .lickb { padding: 0 10px !important; gap: 4px; }
    #header-cart-widget .lickb { font-size: 0 !important; }
    #header-cart-widget .cart-count,
    #mini-cart-widget .cart-count { margin-left: 0 !important; }

    /* Геотаргетинг — подтверждение */
    .geo-confirm-modal { padding: 28px 20px 20px; }
    .geo-confirm-title { font-size: 18px; }
    .geo-confirm-btn { min-width: 100%; }
    .geo-confirm-buttons { flex-direction: column; }

    /* Блок "не доставляем" */
    .gurman-region-block { padding: 40px 24px 32px; margin: 20px auto; }
    .gurman-region-title { font-size: 20px; }
    .gurman-region-actions { flex-direction: column; width: 100%; }
    .gurman-region-btn { width: 100%; justify-content: center; }
}
@media (max-width: 460px) {
    .text_block:before { background-image: linear-gradient(to top, #3c150e 0%, #3c150e 80%, transparent 100%); }
    main .itemObject { width: 100%; float: none; margin: 0 auto !important; max-width: 100%; }
    .itemSection { margin-bottom: 30px; display: flex; flex-direction: column; }
    .itemObject a img { height: 205px; }
    .basket table tr th,
    .basket table tr td,
    .basket table tr td a { font-size: 10px !important; padding: 5px; }
}
@media (max-width: 380px) {
    .wrap_link a { display: block; margin-bottom: 10px; }
}
.product__link {
    text-decoration: none;
    color: inherit;
    display: block;
}
.product__icon-minus {
    display: none;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}
.product__btn-trash.is-minus svg { display: none; }
.product__btn-trash.is-minus .product__icon-minus { display: block; }
/* ============ СТРАНИЦА РЕЦЕПТОВ — СЕТКА ============ */
.gurman-recipes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 0 15px;
    box-sizing: border-box;
}

/* Карточка рецепта — та же, что на главной, но без flex-фиксации */
.gurman-recipes-grid .gurman-recipe-card {
    flex: none;
    width: 100%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(44, 62, 80, 0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s, transform 0.2s;
}
.gurman-recipes-grid .gurman-recipe-card:hover {
    box-shadow: 0 8px 24px rgba(44, 62, 80, 0.12);
    transform: translateY(-2px);
}

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

.gurman-recipes-grid .gurman-recipe-img {
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #f5f7fa;
}
.gurman-recipes-grid .gurman-recipe-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s;
}
.gurman-recipes-grid .gurman-recipe-card:hover .gurman-recipe-img img {
    transform: scale(1.05);
}

.gurman-recipes-grid .gurman-recipe-body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.gurman-recipes-grid .gurman-recipe-title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #2d3a4b;
    line-height: 1.35;
    margin-bottom: 10px;
    min-height: 46px;
}

.gurman-recipes-grid .gurman-recipe-desc {
    position: relative;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #7f8c8d;
    line-height: 1.5;
    max-height: 63px;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}

/* Затухание — только если JS поставил класс .is-clamped */
.gurman-recipes-grid .gurman-recipe-desc.is-clamped::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 100%);
    pointer-events: none;
}

/* Адаптив */
@media (max-width: 1024px) {
    .gurman-recipes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}
@media (max-width: 600px) {
    .gurman-recipes-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .gurman-recipes-grid .gurman-recipe-img {
        height: 200px;
    }
    .gurman-recipes-grid .gurman-recipe-title {
        font-size: 15px;
        min-height: auto;
    }
}
/* ==========================================================================
   СТРАНИЦА РЕЦЕПТА (post_view)
   ========================================================================== */

.gurman-recipe-page {
    max-width: 1440px;
    margin: 0 auto;
    padding: 24px 20px 60px;
    box-sizing: border-box;
    color: #2d3a4b;
    font-family: 'Inter', 'SFUIText-RegularG2', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- Хлебные крошки ---------- */
.gurman-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #7f8c8d;
    margin-bottom: 24px;
}
.gurman-breadcrumbs a {
    color: #7f8c8d;
    text-decoration: none;
    transition: color 0.2s;
}
.gurman-breadcrumbs a:hover { color: #e5493a; }
.gurman-breadcrumbs span { color: #b0bec5; }

/* ---------- Шапка рецепта ---------- */
.gurman-recipe-hero {
    display: grid;
    grid-template-columns: 55% 1fr;
    gap: 40px;
    margin-bottom: 48px;
    align-items: start;
}
.gurman-recipe-hero-img {
    border-radius: 16px;
    overflow: hidden;
    background: #f5f7fa;
    aspect-ratio: 4 / 3;
}
.gurman-recipe-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gurman-recipe-hero-info {
    padding-top: 8px;
}
.gurman-recipe-hero-info h2 {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #2d3a4b;
    margin: 0 0 20px;
}
.gurman-recipe-intro {
    font-size: 15px;
    line-height: 1.65;
    color: #34495e;
}
.gurman-recipe-intro p { margin: 0 0 12px; }
.gurman-recipe-intro p:last-child { margin: 0; }

/* ---------- Сетка контента ---------- */
.gurman-recipe-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 48px;
    align-items: start;
}

.gurman-recipe-col h2 {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #2d3a4b;
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #ecf0f1;
}
.gurman-recipe-col h2:not(:first-child) { margin-top: 40px; }

/* ---------- Ингредиенты ---------- */
.gurman-recipe-ingredients {
    list-style: none;
    padding: 8px 20px;
    margin: 0;
    background: #fafbfc;
    border-radius: 12px;
}
.gurman-recipe-ingredients li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px dashed #e8ecf1;
    font-size: 14px;
    line-height: 1.4;
}
.gurman-recipe-ingredients li:last-child { border-bottom: none; }
.gurman-recipe-ingredients .gi-name { color: #2d3a4b; }
.gurman-recipe-ingredients .gi-qty {
    color: #7f8c8d;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ---------- Продукты для рецепта ---------- */
.gurman-recipe-products {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.gurman-recipe-product {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px;
    background: #fafbfc;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: background 0.2s, box-shadow 0.2s;
}
.gurman-recipe-product:hover {
    background: #fff;
    box-shadow: 0 4px 16px rgba(45, 58, 75, 0.08);
}
.gurman-recipe-product__img {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    overflow: hidden;
    background: #f5f7fa;
    flex-shrink: 0;
}
.gurman-recipe-product__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gurman-recipe-product__info { flex: 1; min-width: 0; }
.gurman-recipe-product__name {
    font-size: 14px;
    font-weight: 600;
    color: #2d3a4b;
    line-height: 1.3;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gurman-recipe-product__price {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #e5493a;
    line-height: 1.2;
}

/* ---------- Шаги приготовления ---------- */
.gurman-recipe-steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.gurman-recipe-step {
    background: #fafbfc;
    border-radius: 12px;
    padding: 20px 24px;
    position: relative;
}
.gurman-step-num {
    display: inline-block;
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #e5493a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}
.gurman-step-text {
    font-size: 14px;
    line-height: 1.65;
    color: #34495e;
}

/* ---------- FAQ ---------- */
.gurman-recipe-faq {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.gurman-recipe-faq-item {
    padding: 18px 22px;
    background: #fafbfc;
    border-radius: 12px;
}
.gurman-recipe-faq-q {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #2d3a4b;
    margin-bottom: 8px;
    line-height: 1.4;
}
.gurman-recipe-faq-a {
    font-size: 14px;
    line-height: 1.6;
    color: #34495e;
}

/* ==========================================================================
   АДАПТИВ
   ========================================================================== */
@media (max-width: 1024px) {
    .gurman-recipe-page { padding: 20px 16px 40px; }
    .gurman-recipe-hero { grid-template-columns: 1fr; gap: 24px; }
    .gurman-recipe-hero-info h2 { font-size: 26px; }
    .gurman-recipe-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 600px) {
    .gurman-recipe-page { padding: 16px 12px 32px; }
    .gurman-recipe-hero-info h2 { font-size: 22px; }
    .gurman-recipe-col h2 { font-size: 18px; }
    .gurman-recipe-ingredients { padding: 6px 16px; }
    .gurman-recipe-step,
    .gurman-recipe-faq-item { padding: 16px 18px; }
}
/* Карточки товаров в рецепте — компактный вид */
.gurman-recipe-products {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.gurman-recipe-products .gurman-product-card {
    flex: none;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 10px;
    border-radius: 12px;
    background: #fafbfc;
    box-shadow: none;
    min-height: auto;
}
.gurman-recipe-products .gurman-product-card:hover {
    background: #fff;
    box-shadow: 0 4px 16px rgba(45, 58, 75, 0.08);
    transform: none;
}
.gurman-recipe-products .gurman-card-badges {
    display: none; /* бейджи в компактном виде не нужны */
}
.gurman-recipe-products .gurman-card-link {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1;
    min-width: 0;
}
.gurman-recipe-products .gurman-card-img {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 10px;
}
.gurman-recipe-products .gurman-card-body {
    padding: 0;
    flex: 1;
    min-width: 0;
}
.gurman-recipe-products .gurman-card-rating-row {
    display: none;
}
.gurman-recipe-products .gurman-card-title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #2d3a4b !important;
    line-height: 1.35;
    margin-bottom: 4px;
    min-height: auto;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gurman-recipe-products .gurman-card-price-row {
    margin-bottom: 0;
}
.gurman-recipe-products .gurman-card-price {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #e5493a;
    letter-spacing: -0.01em;
}
.gurman-recipe-products .gurman-card-cart-block {
    flex-shrink: 0;
    width: auto;
    margin: 0 0 0 10px;
    min-height: 44px;
}
.gurman-recipe-products .gurman-card-btn-initial {
    width: 44px;
    padding: 0;
    font-size: 0;
    background: #27ae60;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gurman-recipe-products .gurman-card-btn-initial::before {
    content: '+';
    font-size: 24px;
    color: #fff;
    font-weight: 400;
}
.gurman-recipe-products .gurman-card-btn-initial:hover {
    background: #219150;
}
/* ===== Характеристики товара (product_specs) ===== */
.gurman-specs-block {
    margin: 32px 0;
}
.gurman-specs-block h2 {
    margin: 0 0 16px;
    font-size: 22px;
    font-weight: 700;
    color: #2d3a4b;
}
/* Характеристики товара (product_specs) — блок */
.gurman-specs {
    margin: 0;
    padding: 0;
    border: 1px solid #e8ecf1;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
.gurman-spec-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 18px;
    border-bottom: 1px solid #f0f3f7;
}
.gurman-spec-row:last-child { border-bottom: none; }
.gurman-spec-row:nth-child(odd) { background: #fafbfc; }
.gurman-spec-name {
    flex: 0 0 220px;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #7a8794;
}
.gurman-spec-value {
    flex: 1;
    margin: 0;
    font-size: 14px;
    color: #2d3a4b;
    line-height: 1.5;
}
/* Скрытые строки характеристик */
.gurman-spec-row.gurman-hidden {
    display: none !important;
}

/* Кнопка "Читать далее" */
.gurman-specs-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 10px 0;
    background: none;
    border: none;
    color: #27ae60;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.4;
}
.gurman-specs-toggle:hover { color: #1e8449; }
.gurman-specs-toggle .gurman-arrow {
    display: inline-block;
    transition: transform 0.3s;
    font-size: 12px;
}
@media (max-width: 640px) {
    .gurman-spec-row {
        flex-direction: column;
        gap: 4px;
    }
    .gurman-spec-name {
        flex: none;
    }
}
/* ============================================================
   КОНТРОЛ КОЛИЧЕСТВА В МИНИ-КОРЗИНЕ (.basketMini-cart)
   Заменяет старый .del — работает в хедере и в мобильной шторке
   ============================================================ */
.basketMini-cart {
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    background: #f5f7fa;
    border-radius: 8px;
    overflow: hidden;
    min-height: 34px;
    align-self: flex-start;
    margin-left: 8px;
}
.basketMini-btn-trash {
    width: 34px;
    min-width: 34px;
    background: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e5493a;
    padding: 0;
    border-right: 1px solid #ecf0f1;
    transition: background 0.15s;
    flex-shrink: 0;
}
.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: #2d3a4b;
    white-space: nowrap;
    line-height: 1;
}
.basketMini-btn-plus {
    width: 34px;
    min-width: 34px;
    background: #27ae60;
    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;
    flex-shrink: 0;
}
.basketMini-btn-plus:hover { background: #219150; }

/* Лоадер на контроле */
.basketMini-cart.is-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}
.basketMini-cart.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid #27ae60;
    border-top-color: transparent;
    border-radius: 50%;
    animation: gurmanSpin 0.7s linear infinite;
}
/* ============================================================
   ОТЗЫВЫ ПОКУПАТЕЛЕЙ
   ============================================================ */

.gurman-reviews {
    max-width: 1440px;
}

.gurman-reviews__title {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 24px;
    color: #1a1a1a;
}

/* --- Сводка --- */
.gurman-reviews-summary {
    display: flex;
    gap: 40px;
    padding: 24px;
    background: #fafafa;
    border-radius: 16px;
    margin-bottom: 32px;
    align-items: center;
}

.gurman-reviews-summary__left {
    text-align: center;
    flex-shrink: 0;
}

.gurman-reviews-summary__avg {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.gurman-reviews-summary__count {
    font-size: 13px;
    color: #7a7a7a;
    margin-top: 8px;
}

.gurman-reviews-summary__right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* --- Звёзды --- */
.gurman-reviews-stars {
    display: inline-block;
    position: relative;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 2px;
    color: #d4d4d4;
    font-family: Arial, sans-serif;
}

.gurman-reviews-stars--lg {
    font-size: 24px;
}

.gurman-reviews-stars__base {
    display: block;
}

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

/* --- Полоски распределения --- */
.gurman-reviews-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #4a4a4a;
}

.gurman-reviews-bar__label {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 34px;
    font-size: 13px;
    line-height: 1;
    color: #7a7a7a;
}

.gurman-reviews-bar__num {
    display: inline-block;
    width: 9px;
    text-align: center;
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    /* БЕЗ transform */
}

.gurman-reviews-bar__star {
    display: inline-block;
    width: 14px;
    text-align: center;
    font-size: 13px;
    line-height: 1;
    color: #b0b0b0;
    /* БЕЗ transform */
}

.gurman-reviews-bar__track {
    flex: 1;
    height: 8px;
    background: #ececec;
    border-radius: 4px;
    overflow: hidden;
}

.gurman-reviews-bar__fill {
    display: block;
    height: 100%;
    background: #f5a623;
    border-radius: 4px;
    transition: width .3s;
}

.gurman-reviews-bar__count {
    flex-shrink: 0;
    display: inline-block;
    width: 20px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    color: #7a7a7a;
    line-height: 1;
    transform: translateY(1px);
}

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

.gurman-review {
    padding: 20px 24px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
}

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

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

.gurman-review__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #c45e48, #e08c72);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    flex-shrink: 0;
    user-select: none;
    /* БЕЗ overflow:hidden — буква не должна обрезаться */
}

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

.gurman-review__name {
    font-weight: 600;
    font-size: 14px;
    color: #1a1a1a;
}

.gurman-review__date {
    font-size: 12px;
    color: #9a9a9a;
}

.gurman-review__body {
    font-size: 14px;
    line-height: 1.6;
    color: #3a3a3a;
}

.gurman-review__body p {
    margin: 0 0 8px;
}

.gurman-review__body p:last-child {
    margin-bottom: 0;
}

/* --- Форма --- */
.gurman-reviews__form-wrap {
    padding-bottom: 24px;
    border-bottom: 1px solid #ececec;
    margin-bottom: 32px;
}

.gurman-reviews__form-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 16px;
    color: #1a1a1a;
}

.gurman-review-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gurman-review-form__rating {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.gurman-review-form__rating-label {
    font-size: 14px;
    color: #4a4a4a;
}

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

.gurman-review-form__star {
    font-size: 28px;
    line-height: 1;
    color: #d4d4d4;
    transition: color .15s, transform .15s;
}

.gurman-review-form__star:hover,
.gurman-review-form__star.is-active {
    color: #f5a623;
}

.gurman-review-form__star:hover {
    transform: scale(1.1);
}

.gurman-review-form__row {
    display: flex;
    gap: 12px;
}

.gurman-review-form__row .gurman-review-form__field {
    flex: 1;
}

.gurman-review-form__field input,
.gurman-review-form__field textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: border-color .2s;
    background: #fff;
}

.gurman-review-form__field textarea {
    min-height: 110px;
    resize: vertical;
}

.gurman-review-form__field input:focus,
.gurman-review-form__field textarea:focus {
    border-color: #c45e48;
}

.gurman-review-form__actions {
    display: flex;
    justify-content: flex-start;
}

.gurman-review-form__submit {
    padding: 12px 28px;
    background: #c45e48;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
    font-family: inherit;
}

.gurman-review-form__submit:hover {
    background: #a84a37;
}

/* --- Мобильная адаптация --- */
@media (max-width: 768px) {
    .gurman-reviews-summary {
        flex-direction: column;
        gap: 24px;
        padding: 20px;
    }

    .gurman-reviews-summary__avg {
        font-size: 40px;
    }

    .gurman-review {
        padding: 16px;
    }

    .gurman-review__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .gurman-review-form__row {
        flex-direction: column;
    }

    .gurman-review-form__submit {
        width: 100%;
    }
}
/* --- Строка рейтинга в карточке товара --- */
.gurman-stars {
    display: inline-block;
    position: relative;
    font-family: Arial, sans-serif;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 2px;
    color: #d4d4d4;
    white-space: nowrap;
}

.gurman-stars__base {
    display: block;
}

.gurman-stars__fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    color: #f5a623;
    white-space: nowrap;
}

.gurman-rating-avg {
    font-weight: 600;
    color: #1a1a1a;
}

.gurman-rating-link {
    color: #7a7a7a;
    text-decoration: none;
    border-bottom: 1px dashed #c0c0c0;
    transition: color .15s, border-color .15s;
}

.gurman-rating-link:hover {
    color: #c45e48;
    border-color: #c45e48;
}
/* ============================================================
   МОДАЛКА РЕЗУЛЬТАТА ОТПРАВКИ ОТЗЫВА
   ============================================================ */

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

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

.gurman-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(20, 20, 30, .5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: gurmanModalFade .25s ease;
}

.gurman-modal__content {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 40px 28px 28px;
    max-width: 360px;
    width: 100%;
    text-align: center;
    box-shadow:
            0 24px 64px rgba(0, 0, 0, .18),
            0 4px 12px rgba(0, 0, 0, .06);
    animation: gurmanModalPop .3s cubic-bezier(.34, 1.56, .64, 1);
}

/* --- Крестик в углу --- */
.gurman-modal__x {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 30px;
    height: 30px;
    border: none;
    background: transparent;
    color: #b0b0b0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, color .2s;
    padding: 0;
}

.gurman-modal__x:hover {
    background: #f5f5f5;
    color: #4a4a4a;
}

/* --- Иконка --- */
.gurman-modal__icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    position: relative;
    animation: gurmanModalIconPop .45s cubic-bezier(.34, 1.56, .64, 1) .1s both;
}

.gurman-modal__icon::before {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    opacity: .15;
    z-index: -1;
}

.gurman-modal__icon svg {
    width: 36px;
    height: 36px;
    stroke-width: 3;
}

.gurman-modal__icon--success {
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    color: #fff;
    box-shadow: 0 8px 24px rgba(46, 204, 113, .35);
}

.gurman-modal__icon--success::before {
    background: #2ecc71;
}

.gurman-modal__icon--error {
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: #fff;
    box-shadow: 0 8px 24px rgba(231, 76, 60, .35);
}

.gurman-modal__icon--error::before {
    background: #e74c3c;
}

/* --- Заголовок --- */
.gurman-modal__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px;
    color: #1a1a1a;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-align: center;
}

/* --- Текст --- */
.gurman-modal__text {
    font-size: 14px;
    line-height: 1.5;
    color: #7a7a7a;
    margin: 0 0 24px;
    text-align: center;
}

/* --- Кнопка — на всю ширину --- */
.gurman-modal__btn {
    display: block;
    width: 100%;
    padding: 14px 20px;
    background: #c45e48;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, transform .1s;
    font-family: inherit;
    text-align: center;
}

.gurman-modal__btn:hover {
    background: #a84a37;
}

.gurman-modal__btn:active {
    transform: scale(.98);
}

/* --- Анимации --- */
@keyframes gurmanModalFade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes gurmanModalPop {
    from { transform: scale(.92) translateY(8px); opacity: 0; }
    to   { transform: scale(1) translateY(0); opacity: 1; }
}

@keyframes gurmanModalIconPop {
    0%   { transform: scale(0); }
    60%  { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* --- Мобильная версия --- */
@media (max-width: 480px) {
    .gurman-modal__content {
        padding: 32px 22px 22px;
        border-radius: 16px;
    }

    .gurman-modal__icon {
        width: 64px;
        height: 64px;
        margin-bottom: 18px;
    }

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

    .gurman-modal__title {
        font-size: 18px;
    }

    .gurman-modal__text {
        font-size: 13px;
    }
}
.gurman-reviews__more-wrap {
    display: none;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #ececec;
}

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

.gurman-reviews__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 40px;
    background: #c45e48;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, transform .1s;
    font-family: inherit;
    min-width: 200px;
    box-shadow: 0 4px 14px rgba(196, 94, 72, .25);
}

.gurman-reviews__more:hover {
    background: #a84a37;
    box-shadow: 0 6px 20px rgba(196, 94, 72, .35);
}

.gurman-reviews__more:active {
    transform: scale(.98);
}

.gurman-reviews__more:disabled {
    opacity: .7;
    cursor: default;
    box-shadow: none;
}

/* Скрыть стандартную пагинацию, если JS работает */
.gurman-reviews .numpages {
    /* Оставим видимой на случай, если JS отключён, но закомментируй, чтобы скрыть */
    display: none;
}
/* Контейнер строки рейтинга — фиксируем высоту, чтобы карточки не плясали */
.gurman-card-rating-row {
    display: flex;
    align-items: center;
    min-height: 20px;
    margin-bottom: 8px;
}

/* Звёзды */
.gurman-card-stars {
    position: relative;
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 1px;
}

.gurman-card-stars__base {
    color: #d8d8d8; /* серый для «пустых» */
}

.gurman-card-stars__fill {
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    overflow: hidden;
    color: #ffb400; /* золотой */
    width: var(--rating-percent, 100%);
}

/* Значение рейтинга */
.gurman-card-rating-value {
    font-weight: 600;
    font-size: 13px;
    color: #333;
    margin-left: 6px;
}

/* Прочерк для «нет отзывов» — серый, чтобы не выбивался */
.gurman-card-rating-value--empty {
    color: #c0c0c0;
    font-weight: 400;
}

/* Счётчик отзывов */
.gurman-card-rating-count {
    color: #999;
    font-size: 12px;
    margin-left: 4px;
}
/* ============================================================= */
/* FAQ — аккордеон (товар / категория)                            */
/* ============================================================= */
.gurman-faq {
    background: #fff;
    border-radius: 16px;
    padding: 32px 28px;
    margin: 32px 0;
    box-shadow: 0 2px 20px rgba(45, 58, 75, 0.05);
}

.gurman-faq__head {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eef1f5;
}

.gurman-faq__title {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #2d3a4b;
    margin: 0 0 8px;
    line-height: 1.2;
}

.gurman-faq__subtitle {
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 15px;
    color: #8a97a4;
    margin: 0;
    line-height: 1.5;
}

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

.gurman-faq__item {
    position: relative;
    background: #fafbfc;
    border-radius: 12px;
    overflow: hidden;
    transition: background 0.2s, box-shadow 0.2s;
}

.gurman-faq__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #e5493a;
    border-radius: 0 3px 3px 0;
    z-index: 2;
}

.gurman-faq__item.is-open {
    background: #fff;
    box-shadow: 0 2px 12px rgba(45, 58, 75, 0.06);
}

.gurman-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding: 18px 22px 18px 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    color: #2d3a4b;
    line-height: 1.35;
    transition: color 0.2s;
}

.gurman-faq__q:hover { color: #e5493a; }

.gurman-faq__q-text {
    flex: 1;
    min-width: 0;
}

/* Круглая кнопка +/− */
.gurman-faq__q-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e5493a;
    transition: background 0.2s, transform 0.2s;
}

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

/* Горизонтальная полоска (есть всегда) */
.gurman-faq__q-icon::before {
    width: 12px;
    height: 2px;
    transform: translate(-50%, -50%);
}

/* Вертикальная полоска (исчезает при .is-open) */
.gurman-faq__q-icon::after {
    width: 2px;
    height: 12px;
    transform: translate(-50%, -50%);
}

.gurman-faq__item.is-open .gurman-faq__q-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

/* Контент ответа — раскрытие по высоте */
.gurman-faq__a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

/* ============================================================= */
/* FAQ — контент ответа (текст и списки)                          */
/* ============================================================= */
.gurman-faq__a-inner {
    padding: 0 22px 22px 24px;
    font-family: 'Inter', 'SFUIText-RegularG2', sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #34495e;
}

/* Параграфы */
.gurman-faq__a-inner p {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #34495e !important;
}
.gurman-faq__a-inner p:last-child { margin-bottom: 0 !important; }

/* ========== Списки — через ::before, list-style отключён ========== */

/* Обёртка ul/ol */
.gurman-faq__a-inner ul,
.gurman-faq__a-inner ol {
    margin: 12px 0 14px !important;
    padding: 0 !important;
    list-style: none !important; /* отключаем всё, что могло перебить */
}

/* li — flex-строка: слева маркер (::before), справа текст */
.gurman-faq__a-inner ul li,
.gurman-faq__a-inner ol li {
    position: relative !important;
    display: block !important;
    margin: 0 0 8px !important;
    padding: 0 0 0 20px !important; /* отступ под маркер */
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #34495e !important;
    list-style: none !important;
    background: none !important;
}
.gurman-faq__a-inner ul li:last-child,
.gurman-faq__a-inner ol li:last-child {
    margin-bottom: 0 !important;
}

/* Маркер • — для <ul> */
.gurman-faq__a-inner ul li::before {
    content: '' !important;
    position: absolute !important;
    left: 4px !important;
    top: 0.65em !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #34495e !important;
    display: block !important;
}

/* Маркер «1.», «2.» — для <ol>. Нумерация через counter */
.gurman-faq__a-inner ol {
    counter-reset: gurman-faq-counter !important;
}
.gurman-faq__a-inner ol li {
    padding-left: 26px !important;
    counter-increment: gurman-faq-counter !important;
}
.gurman-faq__a-inner ol li::before {
    content: counter(gurman-faq-counter) '.' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    border-radius: 0 !important;
    color: #34495e !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

/* Жирный внутри ответов — тёмный, но не чёрный */
.gurman-faq__a-inner strong,
.gurman-faq__a-inner b {
    color: #2d3a4b !important;
    font-weight: 700 !important;
}
.gurman-faq__a-inner em,
.gurman-faq__a-inner i {
    font-style: italic;
}

.gurman-faq__a-inner a {
    color: #e5493a;
    text-decoration: underline;
}
.gurman-faq__a-inner a:hover { text-decoration: none; }

.gurman-faq__a-inner h3,
.gurman-faq__a-inner h4 {
    font-family: 'Inter', 'SFUIText-BoldG1', sans-serif;
    color: #2d3a4b;
    margin: 16px 0 8px;
    line-height: 1.3;
}
.gurman-faq__a-inner h3 { font-size: 16px; }
.gurman-faq__a-inner h4 { font-size: 15px; }

@media (max-width: 768px) {
    .gurman-faq__a-inner {
        padding: 0 16px 18px 18px;
        font-size: 14px;
    }
    .gurman-faq__a-inner p,
    .gurman-faq__a-inner ul li,
    .gurman-faq__a-inner ol li {
        font-size: 14px !important;
    }
    .gurman-faq__a-inner ul li,
    .gurman-faq__a-inner ol li {
        padding-left: 18px !important;
    }
    .gurman-faq__a-inner ol li {
        padding-left: 24px !important;
    }
}
/* ============================================
   COOKIE BANNER — в дизайне ГурманЪ
   ============================================ */

.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    padding: 16px;
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.35s ease,
    visibility 0.35s;
    pointer-events: none;
    font-family: 'Inter', 'SFUIText', -apple-system, BlinkMacSystemFont, sans-serif;
}

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

.cookie-banner__container {
    max-width: 1200px;
    margin: 0 auto;
    background: #1a2332;
    border-radius: 12px;
    padding: 20px 28px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.cookie-banner__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.cookie-banner__text {
    flex: 1;
    min-width: 0;
}

.cookie-banner__title {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 600;
    color: #e5493a;
    line-height: 1.3;
}

.cookie-banner__description {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.75);
}

.cookie-banner__description a {
    color: #e5493a;
    text-decoration: underline;
    transition: opacity 0.2s;
}

.cookie-banner__description a:hover {
    opacity: 0.8;
}

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

.cookie-banner__btn {
    padding: 11px 26px;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    font-family: inherit;
    line-height: 1;
}

.cookie-banner__btn--accept {
    background: #e5493a;
    color: #fff;
}

.cookie-banner__btn--accept:hover {
    background: #cf3d2f;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(229, 73, 58, 0.35);
}

.cookie-banner__btn--decline {
    background: transparent;
    color: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.cookie-banner__btn--decline:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.4);
}

/* ============================================
   MOBILE — не перекрываем нижнюю панель
   ============================================ */

@media (max-width: 768px) {
    .cookie-banner {
        bottom: calc(60px + env(safe-area-inset-bottom, 0px));
        padding: 10px;
    }

    .cookie-banner__container {
        padding: 16px 18px;
        border-radius: 10px;
    }

    .cookie-banner__content {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }

    .cookie-banner__title {
        font-size: 14px;
        margin-bottom: 4px;
    }

    .cookie-banner__description {
        font-size: 12px;
        line-height: 1.45;
    }

    .cookie-banner__buttons {
        flex-direction: row;
        gap: 8px;
    }

    .cookie-banner__btn {
        flex: 1;
        padding: 12px 8px;
        font-size: 12px;
        letter-spacing: 0.3px;
    }
}

@media (max-width: 380px) {
    .cookie-banner__buttons {
        flex-direction: column;
    }
}
/* Мета-данные рецепта */
.gurman-recipe-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 15px 0 25px;
}

.gurman-recipe-meta__item {
    display: none; /* Скрыто по умолчанию */
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background-color: #f7f9fa;
    border-radius: 8px;
    border: 1px solid #e5e9ec;
    font-size: 15px;
    font-weight: 500;
    color: #1a2332;
}

/* JS покажет элемент, если внутри есть текст */
.gurman-recipe-meta__item.has-value {
    display: flex;
}

.gurman-recipe-meta__item svg {
    color: #e5493a;
}

/* Теги */
.gurman-recipe-tags {
    margin-top: 30px;
    display: none; /* Скрыто по умолчанию */
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.gurman-recipe-tags.has-value {
    display: flex;
}

.gurman-recipe-tags__label {
    font-weight: 600;
    color: #1a2332;
}

.gurman-recipe-tags__list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.gurman-recipe-tag {
    display: inline-block;
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #e5493a;
    color: #e5493a;
    border-radius: 20px;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s;
}

.gurman-recipe-tag:hover {
    background: #e5493a;
    color: #fff;
}

@media (max-width: 768px) {
    .gurman-recipe-meta {
        flex-direction: column;
    }
}
/* Мета-данные в карточке рецепта */
.gurman-recipe-card-meta {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
    color: #7a8899;
    font-size: 13px;
    align-items: center;
    min-height: 20px; /* Чтобы блок не прыгал, если данных нет */
}

.grm-meta-item {
    display: flex;
    align-items: center;
    gap: 4px;
}

.grm-meta-item svg {
    color: #e5493a;
}

/* Блок фильтров */
.gurman-recipe-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
    padding: 0 15px;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

.gurman-filter-btn {
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #e5e9ec;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    color: #1a2332;
    cursor: pointer;
    transition: all 0.2s;
}

.gurman-filter-btn:hover {
    border-color: #e5493a;
    color: #e5493a;
}

.gurman-filter-btn.active {
    background: #e5493a;
    border-color: #e5493a;
    color: #fff;
}
/* ============================================================
   ГУРМАНЪ.РФ — МОБИЛЬНЫЕ СТИЛИ
   Подключается ПОСЛЕ style.css
   Всё внутри @media (max-width: 768px) — десктоп не трогаем
   ============================================================ */

/* По умолчанию мобильные элементы скрыты (на десктопе их нет) */
.gurman-mobile-header,
.gurman-mobile-nav,
.gmh-overlay,
.gmh-drawer,
.gmh-search-results,
.gmh-cart-mini,
.gmh-cart-progress {
    display: none;
}

@media (max-width: 768px) {

    /* ============================================================
       ФИКС position: fixed для нижней панели
       ============================================================ */
    html, body {
        height: auto !important;
        min-height: 100% !important;
        overflow-x: hidden;
    }

    /* ============================================================
       СКРЫВАЕМ ДЕСКТОПНУЮ ШАПКУ / МЕНЮ / МИНИ-ШАПКУ
       ============================================================ */
    header {
        display: none !important;
    }
    .nav_top,
    .header-inner,
    .menu_top,
    #miniHeader {
        display: none !important;
    }

    /* Отступ снизу под фиксированную панель */
    body {
        padding-bottom: 70px;
    }

    /* ============================================================
       МОБИЛЬНАЯ ШАПКА
       ============================================================ */
    .gurman-mobile-header {
        display: block;
        position: sticky;
        top: 0;
        z-index: 900;
        background: #fff;
        border-bottom: 1px solid #e8ecf1;
        box-shadow: 0 1px 6px rgba(45, 58, 75, 0.04);
    }
    .gmh-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 14px 6px;
        gap: 10px;
    }
    .gmh-logo img {
        height: 32px;
        width: auto;
        max-width: 130px;
        display: block;
    }
    .gmh-right {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
    }
    .gmh-geo {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: #fafbfc;
        border: 1px solid #e8ecf1;
        border-radius: 20px;
        padding: 6px 10px;
        font-size: 13px;
        font-weight: 600;
        color: #2d3a4b;
        cursor: pointer;
        font-family: inherit;
    }
    .gmh-geo svg {
        color: #e5493a;
        flex-shrink: 0;
    }
    .gmh-geo-city {
        max-width: 90px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .gmh-burger {
        width: 38px;
        height: 38px;
        border: none;
        background: transparent;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 4px;
        cursor: pointer;
        padding: 0;
    }
    .gmh-burger span {
        display: block;
        width: 22px;
        height: 2px;
        background: #2d3a4b;
        border-radius: 2px;
        transition: transform 0.2s, opacity 0.2s;
    }
    .gmh-phone {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 6px 14px 10px;
        font-size: 15px;
        font-weight: 700;
        color: #2d3a4b;
        text-decoration: none;
    }
    .gmh-phone svg {
        color: #e5493a;
    }

    /* ============================================================
       НИЖНЯЯ ПАНЕЛЬ — жёсткий фикс
       ============================================================ */
    .gurman-mobile-nav {
        display: flex !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 950;
        background: #fff;
        border-top: 1px solid #e8ecf1;
        box-shadow: 0 -2px 12px rgba(45, 58, 75, 0.06);
        padding: 6px 0;
        padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
    }
    .gmn-item {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 6px 2px;
        border: none;
        background: transparent;
        color: #7a8794;
        font-size: 11px;
        font-weight: 600;
        font-family: inherit;
        text-decoration: none;
        cursor: pointer;
        position: relative;
        transition: color 0.15s;
        box-sizing: border-box;
    }
    .gmn-item svg {
        display: block;
        flex-shrink: 0;
    }
    .gmn-item.active,
    .gmn-item:active {
        color: #e5493a;
    }
    .gmn-badge {
        position: absolute;
        top: 2px;
        right: 50%;
        transform: translateX(16px);
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        background: #e5493a;
        color: #fff;
        border-radius: 10px;
        font-size: 10px;
        font-weight: 700;
        line-height: 16px;
        text-align: center;
        box-sizing: border-box;
    }
    .gmn-badge:empty,
    .gmn-badge[data-count="0"] {
        display: none;
    }

    /* ============================================================
       ШТОРКИ — показываем на мобилке
       ============================================================ */
    .gmh-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(29, 39, 52, 0.5);
        z-index: 100000;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s, visibility 0.25s;
    }
    .gmh-overlay.open {
        opacity: 1;
        visibility: visible;
    }

    .gmh-drawer {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100001;
        pointer-events: none;
        transform: translateY(100%);
        transition: transform 0.3s ease;
    }
    .gmh-drawer.open {
        transform: translateY(0);
        pointer-events: auto;
    }

    .gmh-drawer-panel {
        display: none;
        background: #fff;
        border-radius: 18px 18px 0 0;
        max-height: 92vh;
        min-height: 70vh;
        box-shadow: 0 -10px 40px rgba(45, 58, 75, 0.2);
        padding-bottom: env(safe-area-inset-bottom, 0);
        overflow: hidden;
        flex-direction: column;
    }
    .gmh-drawer-panel.active {
        display: flex;
    }

    .gmh-drawer-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 18px;
        border-bottom: 1px solid #e8ecf1;
        flex-shrink: 0;
        position: relative;
    }
    .gmh-drawer-head::before {
        content: '';
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 4px;
        background: #dfe4ea;
        border-radius: 4px;
    }
    .gmh-drawer-title {
        font-size: 17px;
        font-weight: 700;
        color: #2d3a4b;
        padding-top: 6px;
    }
    .gmh-drawer-close {
        background: #f5f7fa;
        border: none;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        font-size: 22px;
        line-height: 1;
        color: #7f8c8d;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 6px;
        padding: 0;
        transition: background 0.15s, color 0.15s;
    }
    .gmh-drawer-close:active { background: #fef5f4; color: #e5493a; }

    .gmh-drawer-body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 16px 18px 24px;
        min-height: 0;
    }

    .gmh-drawer-footer {
        flex-shrink: 0;
        padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid #e8ecf1;
        background: #fff;
    }

    body.gmh-drawer-open {
        overflow: hidden !important;
    }

    /* ============ ШТОРКА МЕНЮ ============ */
    .gmh-menu-contacts {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 14px 16px;
        background: #fafbfc;
        border-radius: 12px;
        margin-bottom: 18px;
    }
    .gmh-menu-phone {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 18px;
        font-weight: 700;
        color: #2d3a4b;
        text-decoration: none;
    }
    .gmh-menu-phone svg { color: #e5493a; flex-shrink: 0; }
    .gmh-menu-geo {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: none;
        border: none;
        padding: 0;
        font-family: inherit;
        font-size: 14px;
        color: #7f8c8d;
        cursor: pointer;
        text-align: left;
    }
    .gmh-menu-geo svg { color: #e5493a; flex-shrink: 0; }
    .gmh-menu-geo b { color: #2d3a4b; }
    .gmh-menu-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .gmh-menu-list li { border-bottom: 1px solid #f0f3f7; }
    .gmh-menu-list li:last-child { border-bottom: none; }
    .gmh-menu-list a {
        display: block;
        padding: 16px 4px;
        font-size: 16px;
        font-weight: 600;
        color: #2d3a4b;
        text-decoration: none;
        transition: color 0.15s;
    }
    .gmh-menu-list a:active { color: #e5493a; }

    /* ============ ШТОРКА КАТАЛОГА ============ */
    .gmh-catalog-wrap ul.gurman-catalog-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .gmh-catalog-wrap li.gurman-catalog-item {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border: none !important;
    }
    .gmh-catalog-wrap li.gurman-catalog-item > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 14px 18px !important;
        background: #f5f7fa !important;
        color: #2d3a4b !important;
        border-radius: 10px !important;
        text-decoration: none !important;
        font-size: 16px !important;
        font-family: inherit !important;
        text-transform: none !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        transition: background 0.15s, color 0.15s;
    }
    .gmh-catalog-wrap li.gurman-catalog-item > a:active {
        background: #fef5f4 !important;
        color: #e5493a !important;
    }
    .gmh-catalog-wrap .gurman-catalog-title {
        flex: 1 !important;
        text-align: left !important;
    }
    .gmh-catalog-wrap .gurman-catalog-arrow {
        color: #b0bec5 !important;
        flex-shrink: 0 !important;
        width: 16px !important;
        height: 16px !important;
    }
    .gmh-catalog-wrap .gurman-catalog-submenu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        display: none;
        background: transparent !important;
        box-shadow: none !important;
        padding: 4px 0 4px 16px !important;
        margin: 0 !important;
        min-width: 0 !important;
        border-radius: 0 !important;
    }
    .gmh-catalog-wrap .gurman-catalog-item.open > .gurman-catalog-submenu {
        display: block;
    }
    .gmh-catalog-wrap .gurman-catalog-submenu a {
        display: block !important;
        padding: 10px 12px !important;
        color: #2d3a4b !important;
        text-decoration: none !important;
        font-size: 14px !important;
        border-radius: 8px !important;
        font-weight: 400 !important;
        margin: 0 0 2px !important;
        line-height: 1.3 !important;
    }
    .gmh-catalog-wrap .gurman-catalog-submenu a:active {
        background: #fef5f4 !important;
        color: #e5493a !important;
    }

    /* ============ ШТОРКА ПОИСКА ============ */
    #gmhDrawerSearch {
        max-height: 95vh;
        min-height: 85vh;
    }

    .gmh-search-form {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        margin: 0 0 16px;
        padding: 0;
        background: #f5f7fa;
        border-radius: 10px;
        border: 1.5px solid transparent;
        height: 48px;
        box-sizing: border-box;
    }
    .gmh-search-form:focus-within { border-color: #e5493a; }
    .gmh-search-form input[type="text"] {
        flex: 1;
        min-width: 0;
        height: 46px;
        padding: 0 52px 0 14px;
        border: none;
        background: transparent !important;
        background-image: none !important;
        color: #2d3a4b;
        font-size: 15px;
        font-family: inherit;
        outline: none;
        box-sizing: border-box;
    }
    .gmh-search-form input::placeholder { color: #95a5a6; }
    .gmh-search-form button {
        position: absolute;
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        border: none;
        border-radius: 8px;
        background: #e5493a;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        padding: 0;
    }
    .gmh-search-form button:active { background: #c0392b; }

    .gmh-search-results {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .gmh-search-loader {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 40px 20px;
        gap: 14px;
    }
    .gmh-search-spinner {
        width: 32px;
        height: 32px;
        border: 3px solid #e8ecf1;
        border-top-color: #e5493a;
        border-radius: 50%;
        animation: gmhSpin 0.7s linear infinite;
    }
    @keyframes gmhSpin { to { transform: rotate(360deg); } }
    .gmh-search-loader-text {
        font-size: 14px;
        color: #95a5a6;
        font-weight: 500;
    }

    .gmh-search-hint {
        text-align: center;
        color: #b0bec5;
        font-size: 13px;
        padding: 24px 20px;
    }
    .gmh-search-empty {
        text-align: center;
        color: #95a5a6;
        font-size: 14px;
        padding: 30px 20px;
    }

    .gmh-search-item {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
        background: #fafbfc;
        border: 1px solid #e8ecf1;
        border-radius: 10px;
        position: relative;
    }
    .gmh-search-item__link {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        flex: 1;
        min-width: 0;
        text-decoration: none;
        color: inherit;
    }
    .gmh-search-item__link:active { opacity: 0.75; }
    .gmh-search-item__img {
        width: 56px;
        height: 56px;
        flex-shrink: 0;
        border-radius: 8px;
        overflow: hidden;
        background: #f5f7fa;
    }
    .gmh-search-item__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .gmh-search-item__info {
        flex: 1;
        min-width: 0;
    }
    .gmh-search-item__name {
        font-size: 14px;
        font-weight: 600;
        color: #2d3a4b;
        line-height: 1.3;
        margin-bottom: 4px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .gmh-search-item__instock {
        font-size: 12px;
        font-weight: 500;
    }
    .gmh-search-item__instock--high   { color: #27ae60; }
    .gmh-search-item__instock--medium { color: #e67e22; }
    .gmh-search-item__instock--low    { color: #e5493a; }
    .gmh-search-item__instock--out    { color: #95a5a6; }

    .gmh-search-item__right {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
        flex-shrink: 0;
        min-width: 110px;
    }
    .gmh-search-item__price {
        font-size: 16px;
        font-weight: 800;
        color: #e5493a;
        white-space: nowrap;
        line-height: 1;
    }

    .gmh-search-cart {
        display: flex;
        align-items: stretch;
        border-radius: 8px;
        overflow: hidden;
        min-height: 34px;
    }

    .gmh-search-btn-initial {
        width: 34px;
        height: 34px;
        padding: 0;
        border: none;
        border-radius: 8px;
        background: #27ae60;
        color: #fff;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background 0.15s;
        flex-shrink: 0;
    }
    .gmh-search-btn-initial:active { background: #219150; }
    .gmh-search-btn-initial svg { display: block; }

    .gmh-search-cart-controls {
        display: none;
        align-items: stretch;
        background: #f5f7fa;
        border-radius: 8px;
        overflow: hidden;
        min-height: 34px;
    }
    .gmh-search-cart-controls.active { display: flex; }

    .gmh-search-btn-trash {
        width: 34px;
        background: #fff;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #e5493a;
        padding: 0;
        border-right: 1px solid #ecf0f1;
        transition: background 0.15s;
    }
    .gmh-search-btn-trash:active { background: #fef5f4; }
    .gmh-search-btn-trash svg { width: 14px; height: 14px; }
    .gmh-search-btn-trash .gmh-search-icon-minus {
        display: none;
        font-size: 18px;
        font-weight: 700;
        line-height: 1;
    }
    .gmh-search-btn-trash.is-minus svg { display: none; }
    .gmh-search-btn-trash.is-minus .gmh-search-icon-minus { display: block; }

    .gmh-search-cart-info {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 8px;
        min-width: 46px;
        background: #f5f7fa;
    }
    .gmh-search-cart-qty {
        font-size: 12px;
        font-weight: 700;
        color: #2d3a4b;
        white-space: nowrap;
        line-height: 1;
    }

    .gmh-search-btn-plus {
        width: 34px;
        background: #27ae60;
        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;
    }
    .gmh-search-btn-plus:active { background: #219150; }

    .gmh-search-cart-disabled {
        width: 34px;
        height: 34px;
        padding: 0;
        border: none;
        border-radius: 8px;
        background: #d5dbe2;
        color: #fff;
        cursor: not-allowed;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .gmh-search-cart-disabled svg { display: block; }

    .gmh-search-cart.is-loading {
        position: relative;
        pointer-events: none;
        opacity: 0.6;
    }
    .gmh-search-cart.is-loading::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 16px;
        height: 16px;
        margin: -8px 0 0 -8px;
        border: 2px solid #27ae60;
        border-top-color: transparent;
        border-radius: 50%;
        animation: gmhSpin 0.7s linear infinite;
    }

    .gmh-search-all {
        display: block;
        text-align: center;
        padding: 14px;
        font-size: 14px;
        font-weight: 600;
        color: #e5493a;
        text-decoration: none;
        background: #fef5f4;
        border: 1px solid #fcd9d5;
        border-radius: 10px;
        margin-top: 4px;
    }
    .gmh-search-all:active { background: #fce8e5; }

    /* ============ ШТОРКА КОРЗИНЫ ============ */
    .gmh-cart-progress {
        display: block;
        background: #f5f7fa;
        border-radius: 12px;
        padding: 14px 16px;
        margin-bottom: 16px;
    }
    .gmh-cart-progress__text {
        font-size: 14px;
        color: #2d3a4b;
        font-weight: 600;
        margin-bottom: 8px;
        line-height: 1.4;
    }
    .gmh-cart-progress__text b { color: #e5493a; font-weight: 800; }
    .gmh-cart-progress__text--done { color: #27ae60; }
    .gmh-cart-progress__bar {
        height: 6px;
        background: #e8ecf1;
        border-radius: 3px;
        overflow: hidden;
    }
    .gmh-cart-progress__fill {
        height: 100%;
        width: 0;
        background: linear-gradient(90deg, #e5493a, #ff8a7a);
        border-radius: 3px;
        transition: width 0.3s ease, background 0.3s ease;
    }
    .gmh-cart-progress__fill--done {
        background: linear-gradient(90deg, #27ae60, #2ecc71);
    }

    .gmh-cart-mini {
        display: block;
        margin-bottom: 8px;
    }
    .gmh-cart-mini .basketMini {
        width: auto !important;
        max-height: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }
    .gmh-cart-mini .basketMini-list {
        overflow: visible !important;
        max-height: none !important;
        padding: 0 !important;
    }
    .gmh-cart-mini .itemBasketMini:first-child { padding-top: 0; }
    .gmh-cart-mini .footmini { display: none !important; }
    .gmh-cart-mini .basketMiniSumm { display: none !important; }
    .gmh-cart-empty {
        text-align: center;
        color: #95a5a6;
        font-size: 14px;
        padding: 30px 20px;
    }

    .gmh-cart-checkout {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 52px;
        background: #e5493a;
        color: #fff !important;
        border-radius: 12px;
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
        font-family: inherit;
        box-sizing: border-box;
    }
    .gmh-cart-checkout:active { background: #c0392b; }
    .gmh-cart-checkout.is-disabled {
        background: #bdc3c7 !important;
        color: #fff !important;
        pointer-events: none !important;
        cursor: not-allowed;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       HERO — блок по центру, текст по левому краю
       ============================================================ */
    .hero {
        height: auto;
        min-height: 340px;
        padding: 40px 0;
        display: flex;
        align-items: center;
    }
    .hero__content {
        max-width: 100%;
        width: 100%;
        padding: 0 20px;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .hero__title {
        font-size: 26px;
        line-height: 1.15;
        margin: 0 0 16px;
    }
    .hero__subtitle {
        font-size: 14px;
        line-height: 1.55;
        margin: 0 0 26px;
        max-width: 340px;
    }
    .hero__buttons {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
        max-width: 320px;
    }
    .hero__btn {
        padding: 14px 20px;
        font-size: 14px;
        width: 100%;
        justify-content: center;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       ГЛАВНАЯ — ПРЕИМУЩЕСТВА
       ============================================================ */
    .advantages {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0 16px;
        background: #fff;
        border-bottom: none;
    }
    .advantage {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 14px;
        padding: 16px 0;
        border-right: none;
        border-bottom: 1px solid #f0f3f7;
        box-sizing: border-box;
    }
    .advantage:last-child {
        border-bottom: none;
    }
    .advantage__icon {
        width: 44px;
        height: 44px;
        flex-shrink: 0;
        margin-bottom: 0;
    }
    .advantage__title {
        font-size: 15px;
        font-weight: 700;
        color: #2d3a4b;
        margin-bottom: 2px;
    }
    .advantage__text {
        font-size: 13px;
        color: #7f8c8d;
        line-height: 1.4;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       КАРУСЕЛИ — карточка ровно на ширину контейнера
       ============================================================ */
    .gurman-carousel-track,
    .products,
    .recipes,
    .gurman-recipes-grid {
        gap: 12px;
        scroll-padding-left: 16px;
        box-sizing: border-box;
    }

    .gurman-carousel-track,
    .products,
    .recipes {
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-left: 16px;
        padding-right: 16px;
        margin-left: -16px;
        margin-right: -16px;
    }

    /* Карточка — на всю ширину контейнера минус отступы по бокам */
    .gurman-carousel-track .gurman-product-card,
    .products .product,
    .recipes .recipe,
    .recipes .gurman-recipe-card {
        flex: 0 0 calc(100vw - 36px);
        max-width: calc(100vw - 36px);
        min-width: 0;
        scroll-snap-align: start;
        box-sizing: border-box;
    }

    /* Первая и последняя карточки — с «воздухом» */
    .gurman-carousel-track .gurman-product-card:first-child,
    .products .product:first-child,
    .recipes .recipe:first-child {
        margin-left: 0;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       ФУТЕР — по центру
       ============================================================ */
    footer {
        padding: 0;
    }
    .footer_wrap {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0 20px;
        gap: 0;
        text-align: center;
    }
    footer .footer_block {
        padding: 24px 0 12px;
        align-items: center;
        text-align: center;
        width: 100%;
    }
    footer .logo_block_footer {
        padding: 24px 0 12px;
        align-items: center;
        text-align: center;
        width: 100%;
    }
    footer .logo img {
        margin: 0 auto 10px;
    }
    footer .text_logo_footer {
        text-align: center;
        margin: 0 auto 6px;
    }
    footer .title_footer,
    footer .red_block_footer,
    footer .time_block,
    footer .tel_footer {
        text-align: center;
    }
    footer .social_footer {
        justify-content: center;
    }
    footer .pay_footer img {
        margin: 0 auto;
        display: block;
    }
    .right_footer_block {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       КАРТОЧКА ТОВАРА — ВЕРХ (галерея + блок покупки)
       ============================================================ */

    /* Заголовок h1 сверху страницы — убираем дубль, уменьшаем */
    .header_block {
        font-size: 22px;
        line-height: 1.25;
        padding: 18px 16px 12px;
        margin-bottom: 0;
    }

    /* Крошки — компактнее */
    .header_block_wrap {
        padding: 12px 16px 8px;
    }
    .gurman-category-breadcrumbs {
        font-size: 12px;
        margin: 0 0 8px;
        line-height: 1.4;
    }

    /* Основной контейнер карточки */
    .gurman-product {
        padding: 0 16px 24px;
    }

    /* Верх — галерея + блок покупки в столбик */
    .gurman-product-top {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 24px;
    }
    .gurman-gallery,
    .gurman-buy-box {
        width: 100% !important;
        max-width: 100%;
    }
    .gurman-buy-box {
        position: static; /* убираем sticky на мобилке */
    }

    /* Галерея — нормальный размер */
    .gurman-gallery-main {
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 14px;
        margin-bottom: 10px;
    }
    .gurman-gallery-main img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .gurman-gallery-thumbs {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .gurman-gallery-thumbs::-webkit-scrollbar { display: none; }
    .gurman-gallery-thumbs a,
    .gurman-gallery-thumbs img {
        flex: 0 0 60px;
        height: 60px;
        width: 60px;
    }

    /* Бейджи — поверх галереи, компактно */
    .gurman-badges {
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 12px;
    }
    .gurman-badge {
        font-size: 10px;
        padding: 4px 10px;
    }

    /* Название товара — нормальный размер */
    .gurman-title {
        font-size: 20px;
        line-height: 1.3;
        margin-bottom: 12px;
    }

    /* Рейтинг — компактнее */
    .gurman-rating-row {
        font-size: 12px;
        margin-bottom: 14px;
        gap: 8px;
    }
    .gurman-stars {
        font-size: 14px;
    }

    /* «Стоимость доставки» — компактный блок */
    .gurman-delivery {
        padding: 12px;
        margin-bottom: 16px;
        font-size: 12px;
    }
    .gurman-delivery-icon {
        width: 32px;
        height: 32px;
    }
    .gurman-delivery-title {
        font-size: 13px;
    }
    .gurman-delivery-sub {
        font-size: 12px;
    }
    /* Тултип на мобилке — статичный, без наведения */
    .gurman-delivery-tooltip {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        padding: 12px 0 0 0;
        min-width: 0;
        pointer-events: auto;
        margin-top: 8px;
        border-top: 1px solid #e8ecf1;
    }
    .gurman-delivery-tooltip::before {
        display: none;
    }

    /* Цена */
    .gurman-price-block {
        margin-bottom: 14px;
        gap: 8px;
    }
    .gurman-price-current {
        font-size: 28px;
    }
    .gurman-price-old {
        font-size: 15px;
    }
    .gurman-price-unit {
        font-size: 13px;
    }

    /* Контрол корзины — вертикально, нормально */
    .gurman-cart-block {
        margin-bottom: 20px;
    }
    .gurman-btn-buy-initial {
        padding: 14px 20px;
        font-size: 15px;
    }
    .gurman-cart-controls {
        min-height: 50px;
    }
    .gurman-btn-trash {
        width: 50px;
        min-width: 50px;
    }
    .gurman-btn-plus {
        width: 58px;
        min-width: 58px;
    }
    .gurman-cart-info {
        padding: 4px 8px;
    }
    .gurman-cart-qty {
        font-size: 12px;
    }
    .gurman-cart-sum {
        font-size: 16px;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       КАРТОЧКА ТОВАРА — убираем лишние боковые отступы
       ============================================================ */

    /* Все родительские контейнеры — выравниваем по 16px */
    main article,
    main article.catalog_block,
    main article.main_text_wrap,
    .inner article,
    .inner article.fix_pad_top,
    .inner_page,
    .pad_fix_inner,
    .header_block_wrap,
    .header_block,
    .gurman-product {
        padding-left: 16px !important;
        padding-right: 16px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Хлебные крошки — тот же отступ */
    .gurman-category-breadcrumbs,
    .gurman-breadcrumbs {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    /* Верх карточки: галерея и блок покупки — во всю ширину */
    .gurman-product-top {
        padding-left: 0;
        padding-right: 0;
    }

    /* Табы — на всю ширину */
    .gurman-tabs-section {
        padding: 0;
        margin-left: 0;
        margin-right: 0;
        border-radius: 0;
        box-shadow: none;
    }

    /* Характеристики — компактнее */
    .gurman-specs-block,
    .gurman-related-mini {
        padding-left: 0;
        padding-right: 0;
    }

    /* Карусели внизу — на всю ширину */
    .gurman-carousel-section {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 30px;
    }
}
@media (max-width: 768px) {
    /* Фикс родительской структуры карточки */
    .middle {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        background: #fff;
    }
    .middle main,
    main {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }
    main article,
    main article.gurman-product,
    article.gurman-product {
        padding: 0 16px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       ГЕО-МОДАЛКИ — кнопки
       ============================================================ */
    .geo-confirm-modal,
    .geo-modal {
        width: calc(100% - 32px);
        max-width: 420px;
        padding: 28px 20px 22px;
        box-sizing: border-box;
    }
    .geo-confirm-title {
        font-size: 18px;
        line-height: 1.3;
    }
    .geo-confirm-subtitle {
        font-size: 13px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    /* Кнопки — в столбик, одинаковой ширины */
    .geo-confirm-buttons {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }
    .geo-confirm-btn {
        width: 100%;
        min-width: 0;
        flex: none;
        height: 48px;
        padding: 0 16px;
        font-size: 14px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Кнопки в модалке выбора города — то же самое */
    .geo-modal-head {
        padding: 16px 18px;
    }
    .geo-modal-head h3 {
        font-size: 16px;
    }
    .geo-modal-close {
        width: 30px;
        height: 30px;
        font-size: 24px;
    }
    .geo-modal-body {
        padding: 14px 18px 20px;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       КАРТОЧКА ТОВАРА — блок доставки (только таблица)
       ============================================================ */
    .gurman-delivery {
        display: block;
        padding: 0;
        margin-bottom: 16px;
        background: transparent;
        cursor: default;
        border: none;
    }

    /* Скрываем иконку и текст-заголовок */
    .gurman-delivery-icon,
    .gurman-delivery-text {
        display: none !important;
    }

    /* Тултип — статичный, на всю ширину, без рамки/тени */
    .gurman-delivery-tooltip {
        display: block;
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        box-shadow: none;
        border: none;
        padding: 0;
        margin: 0;
        min-width: 0;
        width: 100%;
        background: transparent;
    }
    .gurman-delivery-tooltip::before {
        display: none;
    }

    /* Заголовок «Стоимость доставки» */
    .gurman-tooltip-title {
        font-size: 15px;
        font-weight: 700;
        color: #2d3a4b;
        margin-bottom: 10px;
        padding: 0;
        text-align: left;
    }

    /* Строки таблицы */
    .gurman-tooltip-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 12px 16px;
        font-size: 14px;
        color: #34495e;
        background: #fafbfc;
        border-bottom: 1px solid #f0f3f7;
        border-radius: 0;
    }
    .gurman-tooltip-row:first-of-type {
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }
    .gurman-tooltip-row:last-child {
        border-bottom: none;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
    }
    .gurman-tooltip-price {
        font-weight: 700;
        color: #2d3a4b;
        white-space: nowrap;
    }
    .gurman-tooltip-price.free {
        color: #27ae60;
    }
}
@media (max-width: 768px) {
    .gurman-specs-toggle {
        font-size: 15px;
        padding: 14px 0;
        margin-top: 16px;
    }
    .gurman-specs-toggle .gurman-arrow {
        font-size: 14px;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       ТАБЫ КАРТОЧКИ ТОВАРА
       ============================================================ */
    .gurman-tabs-section {
        padding: 0;
        margin-left: 0;
        margin-right: 0;
        border-radius: 0;
        box-shadow: none;
        background: #fff;
    }

    /* Нав — горизонтальный скролл, одна строка */
    .gurman-tabs-nav {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0;
        border-bottom: 1px solid #ecf0f1;
        margin-bottom: 16px;
        padding: 0 12px;
    }
    .gurman-tabs-nav::-webkit-scrollbar { display: none; }

    .gurman-tab-btn {
        flex: 0 0 auto;
        padding: 12px 14px;
        font-size: 14px;
        white-space: nowrap;
        margin-bottom: -1px;
    }

    /* Контент таба — отступы */
    .gurman-tab-content {
        padding: 0 0 24px;
    }

    /* Заголовки внутри — меньше */
    .gurman-tab-content h2,
    .gurman-tab-content h2 span {
        font-size: 18px !important;
        line-height: 1.3 !important;
        margin: 20px 0 10px !important;
    }
    .gurman-tab-content h3,
    .gurman-tab-content h3 span {
        font-size: 16px !important;
        line-height: 1.3 !important;
        margin: 16px 0 8px !important;
    }

    /* Параграфы */
    .gurman-tab-content p {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin: 0 0 12px !important;
    }

    /* Списки */
    .gurman-tab-content ul,
    .gurman-tab-content ol {
        margin: 10px 0 14px 18px !important;
        padding: 0 !important;
    }
    .gurman-tab-content li {
        font-size: 14px !important;
        line-height: 1.55 !important;
        margin-bottom: 6px !important;
    }

    /* Внутренние блоки (таблицы характеристик и т.п.) */
    .gurman-tab-content table {
        font-size: 13px !important;
        width: 100% !important;
    }
    .gurman-tab-content img {
        max-width: 100% !important;
        height: auto !important;
        border-radius: 10px;
    }

    /* Отступ снизу страницы — чтобы не уходило под панель */
    .gurman-product {
        padding-bottom: 80px;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       ОФОРМЛЕНИЕ ЗАКАЗА — общие
       ============================================================ */
    .gurman-checkout {
        padding: 12px 12px 24px;
    }
    .gurman-checkout__form {
        display: block;
    }
    .gurman-checkout__main {
        width: 100%;
    }
    .gurman-checkout__sidebar {
        position: static;
        width: 100%;
        margin-top: 16px;
    }

    /* Шаги */
    .gurman-checkout .step {
        padding: 18px 14px;
        border-radius: 12px;
        margin-bottom: 14px;
    }
    .gurman-checkout .step__title {
        font-size: 17px;
        gap: 10px;
        margin-bottom: 16px;
    }
    .gurman-checkout .step__num {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    /* ============================================================
       ШАГ 1 — ТОВАРЫ В ЗАКАЗЕ
       ============================================================ */
    .gurman-checkout-item {
        display: grid;
        grid-template-columns: 60px 1fr 28px;
        grid-template-areas:
            "img  info del"
            "img  qty  qty";
        gap: 10px 12px;
        padding: 14px 0;
        align-items: start;
        position: relative;
    }
    .gurman-checkout-item__img {
        grid-area: img;
        width: 60px;
        height: 60px;
        border-radius: 8px;
        overflow: hidden;
        background: #f5f7fa;
    }
    .gurman-checkout-item__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .gurman-checkout-item__info {
        grid-area: info;
        min-width: 0;
    }
    .gurman-checkout-item__name {
        font-size: 14px;
        line-height: 1.3;
        font-weight: 600;
        margin-bottom: 4px;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .gurman-checkout-item__options {
        font-size: 12px;
        color: #7f8c8d;
    }
    .gurman-checkout-item__price {
        display: none; /* на мобилке цена в контроле */
    }
    .gurman-checkout-item__del {
        grid-area: del;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #fef5f4;
        border: none;
        color: #e5493a;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        line-height: 1;
        cursor: pointer;
        padding: 0;
        align-self: start;
        justify-self: end;
    }
    .gurman-checkout-item__qty {
        grid-area: qty;
        width: 100%;
        min-width: 0;
        height: 44px;
        display: flex;
        align-items: stretch;
        background: #f5f7fa;
        border-radius: 10px;
        overflow: hidden;
    }
    .gurman-checkout-item__qty .qty-minus,
    .gurman-checkout-item__qty .qty-plus {
        width: 42px;
        min-width: 42px;
    }
    .gurman-checkout .qty-info {
        flex: 1;
        padding: 4px 8px;
    }
    .gurman-checkout .qty-info__count {
        font-size: 11px;
    }
    .gurman-checkout .qty-info__sum {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    body {
        margin-top: 0 !important;
    }
}
@media (max-width: 768px) {

    /* Корзина — убираем отступы у родительских контейнеров */
    .wrap_content_basket,
    .wrap_content_basket main {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* main — block вместо inline-block */
    main {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    /* Контейнер оформления — 12px по бокам */
    .gurman-checkout {
        padding: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Шаги — только внутренние отступы */
    .gurman-checkout .step {
        padding: 16px 14px;
        margin: 0 0 14px;
        width: 100%;
        box-sizing: border-box;
    }
}
@media (max-width: 768px) {

    /* Sidebar оформления заказа — показываем на мобилке */
    .gurman-checkout__sidebar,
    .wrap_content_basket aside.gurman-checkout__sidebar,
    .middle aside.gurman-checkout__sidebar {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
        margin-top: 16px !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    /* Внутри sidebar — блок .summary */
    .gurman-checkout__sidebar .summary {
        padding: 18px 14px;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 12px rgba(45, 58, 75, 0.06);
    }
    .gurman-checkout__sidebar .summary__title {
        font-size: 17px;
        margin-bottom: 14px;
    }
    .gurman-checkout__sidebar .summary__row {
        font-size: 13px;
        padding: 6px 0;
    }
    .gurman-checkout__sidebar .summary__row--total {
        font-size: 15px;
        padding-top: 12px;
        margin-top: 8px;
    }
    .gurman-checkout__sidebar .summary__total {
        font-size: 22px;
    }
    .gurman-checkout__sidebar .summary__privacy {
        font-size: 12px;
        margin: 14px 0;
    }
    .gurman-checkout__sidebar .btn-checkout {
        height: 52px;
        font-size: 15px;
        width: 100%;
        border-radius: 10px;
    }
}
@media (max-width: 768px) {
    /* Гарантии в sidebar — скрыть на мобилке */
    .gurman-checkout__sidebar .guarantees,
    .gurman-checkout .guarantees {
        display: none !important;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       ОКНО РЕЗУЛЬТАТА ЗАКАЗА — кнопки
       ============================================================ */
    .order-result-modal {
        width: calc(100% - 32px);
        max-width: 420px;
        padding: 30px 20px 22px;
        box-sizing: border-box;
    }
    .order-result-icon {
        width: 72px;
        height: 72px;
        margin-bottom: 18px;
    }
    .order-result-icon svg {
        width: 40px;
        height: 40px;
    }
    .order-result-title {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .order-result-subtitle {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 22px;
    }

    /* Кнопки — в столбик, одинаковой ширины */
    .order-result-buttons {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }
    .order-result-btn {
        width: 100%;
        min-width: 0;
        flex: none;
        height: 48px;
        padding: 0 16px;
        font-size: 14px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
@media (max-width: 768px) {

    /* ============================================================
       КАРТОЧКА ТОВАРА — карусели (не трогает главную)
       ============================================================ */

    .gurman-product .gurman-carousel-track > * {
        flex: 0 0 calc(100vw - 32px) !important;  /* карточка = вся ширина минус padding */
        max-width: calc(100vw - 32px) !important;
    }
    .gurman-product .gurman-carousel-track {
        padding-left: 16px;
        padding-right: 16px;
        margin-left: -16px;
        margin-right: -16px;
        gap: 0; /* убираем gap */
    }
    .gurman-product .gurman-carousel-track > * {
        margin-right: 12px; /* отступ справа у каждой карточки */
    }
    .gurman-product .gurman-carousel-track > *:last-child {
        margin-right: 0;
    }
}
@media (max-width: 768px) {

    /* Рецепты в карточке товара — карточка во всю ширину, как товары */
    .gurman-product .gurman-carousel-track .gurman-recipe-card,
    .gurman-product .gurman-carousel-track .recipe {
        flex: 0 0 calc(100vw - 44px) !important;
        max-width: calc(100vw - 44px) !important;
        min-width: 0 !important;
        width: auto !important;
    }

    /* И трек рецептов — со скроллом и отступами, как у товаров */
    .gurman-product .gurman-carousel-track {
        padding-left: 16px;
        padding-right: 16px;
        margin-left: -16px;
        margin-right: -16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 12px;
    }
}
@media (max-width: 768px) {

    /* Продукты рецепта — карточки по ширине контейнера */
    .gurman-recipe-products .gurman-product-card,
    .gurman-recipe-products .gurman-product-card * {
        box-sizing: border-box !important;
    }
    .gurman-recipe-products .gurman-product-card {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        margin-right: 0 !important;
    }
}
/* === Сводка отзывов на мобиле === */
@media (max-width: 768px) {

    .gurman-reviews-summary {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 16px;
        border-radius: 12px;
        background: #f7f7f7;
    }

    .gurman-reviews-summary__left {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
    }

    .gurman-reviews-summary__avg {
        font-size: 36px;
        line-height: 1;
        margin-bottom: 6px;
    }

    .gurman-reviews-summary__count {
        font-size: 13px;
        color: #777;
        margin-top: 4px;
    }

    .gurman-reviews-summary__right {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .gurman-reviews-bar {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
    }

    .gurman-reviews-bar__label {
        flex: 0 0 32px;
        display: flex;
        align-items: center;
        gap: 2px;
        font-size: 13px;
        color: #555;
    }

    .gurman-reviews-bar__num {
        font-weight: 600;
    }

    .gurman-reviews-bar__star {
        color: #ffb400;
        font-size: 12px;
    }

    .gurman-reviews-bar__track {
        flex: 1 1 auto;
        min-width: 0;                  /* ← без этого flex-ребёнок не сожмётся */
        height: 6px;
        background: #e6e6e6;
        border-radius: 3px;
        overflow: hidden;
        position: relative;
        display: block;
    }

    .gurman-reviews-bar__fill {
        display: block;
        height: 100%;
        background: #ffb400;
        border-radius: 3px;
        transition: width 0.3s ease;
    }

    .gurman-reviews-bar__count {
        flex: 0 0 24px;
        text-align: right;
        font-size: 13px;
        color: #555;
    }
}
.slick-slider{position:relative;display:block;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent;}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0;}.slick-list:focus{outline:none;}.slick-list.dragging{cursor:pointer;cursor:hand;}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}.slick-track{position:relative;top:0;left:0;display:block;}.slick-track:before,.slick-track:after{display:table;content:'';}.slick-track:after{clear:both;}.slick-loading .slick-track{visibility:hidden;}.slick-slide{display:none;float:left;height:100%;min-height:1px;}[dir='rtl'] .slick-slide{float:right;}.slick-slide img{display:block;}.slick-slide.slick-loading img{display:none;}.slick-slide.dragging img{pointer-events:none;}.slick-initialized .slick-slide{display:block;}.slick-loading .slick-slide{visibility:hidden;}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent;}.slick-arrow.slick-hidden{ display:none;}
@charset 'UTF-8';.slick-loading .slick-list{background:#fff url('../img/ajax-loader.gif') center center no-repeat;}@font-face{font-family:'slick';font-weight:normal;font-style:normal;src:url('../fonts/slick.eot');src:url('../fonts/slick.eot?#iefix') format('embedded-opentype'), url('../fonts/slick.woff') format('woff'), url('../fonts/slick.ttf') format('truetype'), url('../fonts/slick.svg#slick') format('svg');}.slick-prev,.slick-next{font-size:0;line-height:0;position:absolute;top:50%;display:block;width:20px;height:20px;padding:0;margin-top:-10px\9;-webkit-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%);cursor:pointer;color:transparent;border:none;outline:none;background:transparent;}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:transparent;outline:none;background:transparent;}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1;}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25;}.slick-prev:before,.slick-next:before{font-family:'slick';font-size:20px;line-height:1;opacity:.75;color:#E6483B;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.slick-prev{left:-25px;}[dir='rtl'] .slick-prev{right:-25px;left:auto;}.slick-prev:before{content:'←';}[dir='rtl'] .slick-prev:before{content:'→';}.slick-next{right:-25px;}[dir='rtl'] .slick-next{right:auto;left:-25px;}.slick-next:before{content:'→';}[dir='rtl'] .slick-next:before{content:'←';}.slick-slider{margin-bottom:30px;}.slick-dots{position:absolute;bottom:-45px;display:block;width:100%;padding:0;list-style:none;text-align:center;}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer;}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent;}.slick-dots li button:hover,.slick-dots li button:focus{outline:none;}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1;}.slick-dots li button:before{font-family:'slick';font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:black;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.slick-dots li.slick-active button:before{opacity:.75;color:black;}
.h2dop{display:block;text-align:center;font-size:30px;color:#2d3a4b;}.doptovbl{}.doptovbl .itemObject:nth-child(4n+1){float:left!important;}.doptovbl .itemObject:nth-child(4n+2){float:left!important;margin-left:23px!important;margin-right:23px!important;}.doptovbl .itemObject:nth-child(4n+3){float:left!important;}.doptovbl .itemObject:nth-child(4n+4){float:right!important;margin:10px 0 20px 0!important;}.fancybox-wrap,.fancybox-skin,.fancybox-outer,.fancybox-inner,.fancybox-image,.fancybox-wrap iframe,.fancybox-wrap object,.fancybox-nav,.fancybox-nav span,.fancybox-tmp{padding:0;margin:0;border:0;outline:none;vertical-align:top;}.fancybox-wrap{position:absolute;top:0;left:0;z-index:8020;}.fancybox-skin{position:relative;background:#f9f9f9;color:#444;text-shadow:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.fancybox-opened{z-index:8030;}.fancybox-opened .fancybox-skin{-webkit-box-shadow:0 10px 25px rgba(0, 0, 0, 0.5);-moz-box-shadow:0 10px 25px rgba(0, 0, 0, 0.5);box-shadow:0 10px 25px rgba(0, 0, 0, 0.5);}.fancybox-outer, .fancybox-inner{position:relative;}.fancybox-inner{overflow:hidden;}.fancybox-type-iframe .fancybox-inner{-webkit-overflow-scrolling:touch;}.fancybox-error{color:#444;font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;margin:0;padding:15px;white-space:nowrap;}.fancybox-image, .fancybox-iframe{display:block;width:100%;height:100%;}.fancybox-image{max-width:100%;max-height:100%;}#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span{background-image:url('../img/fancybox_sprite.png');}#fancybox-loading{position:fixed;top:50%;left:50%;margin-top:-22px;margin-left:-22px;background-position:0 -108px;opacity:0.8;cursor:pointer;z-index:8060;}#fancybox-loading div{width:44px;height:44px;background:url('../img/fancybox_loading.gif') center center no-repeat;}.fancybox-close{position:absolute;top:-18px;right:-18px;width:36px;height:36px;cursor:pointer;z-index:8040;}.fancybox-nav{position:absolute;top:0;width:40%;height:100%;cursor:pointer;text-decoration:none;background:transparent url('../img/blank.gif');-webkit-tap-highlight-color:rgba(0,0,0,0);z-index:8040;}.fancybox-prev{left:0;}.fancybox-next{right:0;}.fancybox-nav span{position:absolute;top:50%;width:36px;height:34px;margin-top:-18px;cursor:pointer;z-index:8040;visibility:hidden;}.fancybox-prev span{left:10px;background-position:0 -36px;}.fancybox-next span{right:10px;background-position:0 -72px;}.fancybox-nav:hover span{visibility:visible;}.fancybox-tmp{position:absolute;top:-99999px;left:-99999px;visibility:hidden;max-width:99999px;max-height:99999px;overflow:visible !important;}.fancybox-lock{overflow:hidden !important;width:auto;}.fancybox-lock body{overflow:hidden !important;}.fancybox-lock-test{overflow-y:hidden !important;}.fancybox-overlay{position:absolute;top:0;left:0;overflow:hidden;display:none;z-index:8010;background:url('../img/fancybox_overlay.png');}.fancybox-overlay-fixed{position:fixed;bottom:0;right:0;}.fancybox-lock .fancybox-overlay{overflow:auto;overflow-y:scroll;}.fancybox-title{visibility:hidden;font:normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;text-shadow:none;z-index:8050;}.fancybox-opened .fancybox-title{visibility:visible;}.fancybox-title-float-wrap{position:absolute;bottom:0;right:50%;margin-bottom:-35px;z-index:8050;text-align:center;}.fancybox-title-float-wrap .child{display:inline-block;margin-right:-100%;padding:2px 20px;background:transparent;background:rgba(0, 0, 0, 0.8);-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;text-shadow:0 1px 2px #222;color:#FFF;font-weight:bold;line-height:24px;white-space:nowrap;}.fancybox-title-outside-wrap{position:relative;margin-top:10px;color:#fff;}.fancybox-title-inside-wrap{padding-top:10px;}.fancybox-title-over-wrap{position:absolute;bottom:0;left:0;color:#fff;padding:10px;background:#000;background:rgba(0, 0, 0, .8);}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span{background-image:url('../img/fancybox_sprite@2x.png');background-size:44px 152px;}#fancybox-loading div{background-image:url('../img/fancybox_loading@2x.gif');background-size:24px 24px;}}
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}