/* ============================================================
   ГУРМАНЪ.РФ — МОБИЛЬНЫЕ СТИЛИ
   Подключается ПОСЛЕ 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 var(--il-border, rgba(0,0,0,0.06));
        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: #fff;
        border: 1px solid var(--il-border, rgba(0,0,0,0.06));
        border-radius: 20px;
        padding: 6px 10px;
        font-size: 13px;
        font-weight: 600;
        color: var(--il-primary, #2c2c2c);
        cursor: pointer;
        font-family: inherit;
    }
    .gmh-geo svg {
        color: var(--il-accent, #6b1d2b);
        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: var(--il-primary, #2c2c2c);
        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: var(--il-primary, #2c2c2c);
        text-decoration: none;
    }
    .gmh-phone svg {
        color: var(--il-accent, #6b1d2b);
    }

    /* ============================================================
       НИЖНЯЯ ПАНЕЛЬ — жёсткий фикс
       ============================================================ */
    .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 var(--il-border, rgba(0,0,0,0.06));
        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: var(--il-accent, #6b1d2b);
    }
    .gmn-badge {
        position: absolute;
        top: 2px;
        right: 50%;
        transform: translateX(16px);
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        background: var(--il-accent, #6b1d2b);
        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 var(--il-border, rgba(0,0,0,0.06));
        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: var(--il-primary, #2c2c2c);
        padding-top: 6px;
    }
    .gmh-drawer-close {
        background: var(--il-bg-light, #f2ede6);
        border: none;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        font-size: 22px;
        line-height: 1;
        color: var(--il-text-muted, #8a8580);
        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: var(--il-accent, #6b1d2b); }

    .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 var(--il-border, rgba(0,0,0,0.06));
        background: #fff;
    }

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

    /* ============ ШТОРКА МЕНЮ ============ */
    .gmh-menu-contacts {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 14px 16px;
        background: #fff;
        border-radius: 12px;
        margin-bottom: 18px;
    }
    .gmh-menu-phone {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 18px;
        font-weight: 700;
        color: var(--il-primary, #2c2c2c);
        text-decoration: none;
    }
    .gmh-menu-phone svg { color: var(--il-accent, #6b1d2b); 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: var(--il-text-muted, #8a8580);
        cursor: pointer;
        text-align: left;
    }
    .gmh-menu-geo svg { color: var(--il-accent, #6b1d2b); flex-shrink: 0; }
    .gmh-menu-geo b { color: var(--il-primary, #2c2c2c); }
    .gmh-menu-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .gmh-menu-list li { border-bottom: 1px solid var(--il-border, rgba(0,0,0,0.06)); }
    .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: var(--il-primary, #2c2c2c);
        text-decoration: none;
        transition: color 0.15s;
    }
    .gmh-menu-list a:active { color: var(--il-accent, #6b1d2b); }

    /* ============ ШТОРКА КАТАЛОГА ============ */
    .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: var(--il-bg-light, #f2ede6) !important;
        color: var(--il-primary, #2c2c2c) !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: var(--il-accent, #6b1d2b) !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: var(--il-primary, #2c2c2c) !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: var(--il-accent, #6b1d2b) !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: var(--il-bg-light, #f2ede6);
        border-radius: 10px;
        border: 1.5px solid transparent;
        height: 48px;
        box-sizing: border-box;
    }
    .gmh-search-form:focus-within { border-color: var(--il-accent, #6b1d2b); }
    .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: var(--il-primary, #2c2c2c);
        font-size: 15px;
        font-family: inherit;
        outline: none;
        box-sizing: border-box;
    }
    .gmh-search-form input::placeholder { color: var(--il-text-muted, #8a8580); }
    .gmh-search-form button {
        position: absolute;
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        border: none;
        border-radius: 8px;
        background: var(--il-accent, #6b1d2b);
        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 var(--il-border, rgba(0,0,0,0.06));
        border-top-color: var(--il-accent, #6b1d2b);
        border-radius: 50%;
        animation: gmhSpin 0.7s linear infinite;
    }
    @keyframes gmhSpin { to { transform: rotate(360deg); } }
    .gmh-search-loader-text {
        font-size: 14px;
        color: var(--il-text-muted, #8a8580);
        font-weight: 500;
    }

    .gmh-search-hint {
        text-align: center;
        color: #b0bec5;
        font-size: 13px;
        padding: 24px 20px;
    }
    .gmh-search-empty {
        text-align: center;
        color: var(--il-text-muted, #8a8580);
        font-size: 14px;
        padding: 30px 20px;
    }

    .gmh-search-item {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
        background: #fff;
        border: 1px solid var(--il-border, rgba(0,0,0,0.06));
        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: var(--il-bg-light, #f2ede6);
    }
    .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: var(--il-primary, #2c2c2c);
        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: var(--il-accent, #6b1d2b); }
    .gmh-search-item__instock--out    { color: var(--il-text-muted, #8a8580); }

    .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: var(--il-accent, #6b1d2b);
        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: var(--il-bg-light, #f2ede6);
        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: var(--il-accent, #6b1d2b);
        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: var(--il-bg-light, #f2ede6);
    }
    .gmh-search-cart-qty {
        font-size: 12px;
        font-weight: 700;
        color: var(--il-primary, #2c2c2c);
        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: var(--il-accent, #6b1d2b);
        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: var(--il-bg-light, #f2ede6);
        border-radius: 12px;
        padding: 14px 16px;
        margin-bottom: 16px;
    }
    .gmh-cart-progress__text {
        font-size: 14px;
        color: var(--il-primary, #2c2c2c);
        font-weight: 600;
        margin-bottom: 8px;
        line-height: 1.4;
    }
    .gmh-cart-progress__text b { color: var(--il-accent, #6b1d2b); font-weight: 800; }
    .gmh-cart-progress__text--done { color: #27ae60; }
    .gmh-cart-progress__bar {
        height: 6px;
        background: var(--il-border, rgba(0,0,0,0.06));
        border-radius: 3px;
        overflow: hidden;
    }
    .gmh-cart-progress__fill {
        height: 100%;
        width: 0;
        background: linear-gradient(90deg, var(--il-accent, #6b1d2b), #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: var(--il-text-muted, #8a8580);
        font-size: 14px;
        padding: 30px 20px;
    }

    .gmh-cart-checkout {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 52px;
        background: var(--il-accent, #6b1d2b);
        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 var(--il-border, rgba(0,0,0,0.06));
        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: var(--il-primary, #2c2c2c);
        margin-bottom: 2px;
    }
    .advantage__text {
        font-size: 13px;
        color: var(--il-text-muted, #8a8580);
        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 var(--il-border, rgba(0,0,0,0.06));
    }
    .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 ;
        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: var(--il-primary, #2c2c2c);
        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: #fff;
        border-bottom: 1px solid var(--il-border, rgba(0,0,0,0.06));
        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: var(--il-primary, #2c2c2c);
        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: var(--il-bg-light, #f2ede6);
    }
    .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: var(--il-text-muted, #8a8580);
    }
    .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: var(--il-accent, #6b1d2b);
        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: var(--il-bg-light, #f2ede6);
        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 ;
        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;
    }
    /* Красная кнопка предзаказа в мобильной шторке */
    .gmh-search-btn-preorder {
        background-color: #c94634 !important;
        color: #fff !important;
        border: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 8px; /* Скругление как у зеленой кнопки */
        cursor: pointer;
        padding: 0;
        flex-shrink: 0;
    }

    .gmh-search-btn-preorder svg {
        width: 20px;
        height: 20px;
        stroke: #fff;
    }

    .gmh-search-btn-preorder:hover,
    .gmh-search-btn-preorder:active {
        background-color: #b03a29 !important;
    }

    /* Если нужно, чтобы кнопка была не круглая, а квадратная (как зеленая) */
    .gmh-search-cart .gmh-search-btn-preorder {
        border-radius: 8px;
    }
    .gmh-search-btn-preorder-text {
        background-color: #c94634;
        color: #fff;
        border: none;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 12px;
        font-weight: 500;
        white-space: nowrap;
        cursor: pointer;
    }
    /* Плашка предзаказа в мобильной шторке */
    .gmh-search-item__instock--preorder {
        color: #b8860b;
        background: rgba(184, 134, 11, 0.08);
        padding: 2px 6px;
        border-radius: 4px;
        display: inline-block;
        font-size: 11px;
        line-height: 1.3;
        margin-top: 4px;
        font-weight: 500;
    }
}
@media (max-width: 768px) {
    /* Убираем стремную рамку и фиксированную ширину у подменю каталога */
    .gmh-catalog-wrap .gurman-catalog-submenu,
    .gmh-catalog-wrap .gurman-catalog-submenu ul {
        border: none !important;
        box-shadow: none !important;
        width: 100% !important;
        max-width: 100% !important;
        background: transparent !important;
    }

    /* Делаем аккуратный отступ и убираем лишние маргины */
    .gmh-catalog-wrap .gurman-catalog-submenu {
        padding: 4px 0 8px 16px !important; /* сдвиг вправо для иерархии */
        margin: 0 !important;
    }

    /* Стилизуем ссылки подкатегорий */
    .gmh-catalog-wrap .gurman-catalog-submenu a {
        display: block !important;
        padding: 10px 14px !important;
        background: #fff !important;
        color: var(--il-primary, #2c2c2c) !important;
        border: 1px solid var(--il-border, rgba(0,0,0,0.06)) !important;
        border-radius: 8px !important;
        margin-bottom: 6px !important;
        font-size: 14px !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    /* Убираем отступ у последней ссылки */
    .gmh-catalog-wrap .gurman-catalog-submenu a:last-child {
        margin-bottom: 0 !important;
    }

    /* Эффект нажатия */
    .gmh-catalog-wrap .gurman-catalog-submenu a:active {
        background: #fef5f4 !important;
        border-color: rgba(107, 29, 43, 0.2) !important;
        color: var(--il-accent, #6b1d2b) !important;
    }
}
@media (max-width: 768px) {
    /* Задаем боковые отступы для основного контейнера */
    .middle {
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    /* Компенсируем эти отступы для элементов, которые должны быть во всю ширину */
    .middle main {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Внутри статьи (где карточки) убираем дублирующие отступы, если они есть */
    main article,
    main article.gurman-product,
    article.gurman-product {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .il-breadcrumbs{
        margin-top: 24px;
    }
    .il-container{
        padding: 0;
    }
}
@media (max-width: 768px) {
    /* ============================================================
       СРОКИ ХРАНЕНИЯ (КАРТОЧКИ)
       ============================================================ */

    /* Ставим карточки друг под другом */
    .il-storage-cards {
        display: flex;
        flex-direction: column;
        gap: 12px; /* Отступ между карточками */
        margin-bottom: 24px;
    }

    /* Сама карточка */
    .il-storage-card {
        width: 100%;
        box-sizing: border-box;
        background: var(--il-bg-light, #f2ede6);
        border: 1px solid var(--il-border, rgba(0,0,0,0.06));
        border-radius: 12px;
        padding: 16px;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    /* Заголовок (Закрытая банка и т.д.) */
    .il-storage-card__title {
        font-size: 13px;
        color: var(--il-text-muted, #8a8580);
        line-height: 1.3;
        margin-bottom: 2px;
    }

    /* Температура (0...+4) */
    .il-storage-card__temp {
        font-size: 18px;
        font-weight: 800;
        color: var(--il-primary, #2c2c2c);
    }

    /* Срок хранения (плашка) */
    .il-storage-card__shelf {
        display: inline-block;
        align-self: flex-start;
        font-size: 13px;
        font-weight: 600;
        color: var(--il-accent, #6b1d2b);
        background: rgba(107, 29, 43, 0.08);
        padding: 6px 10px;
        border-radius: 6px;
        line-height: 1.3;
        margin-top: 4px;
    }
}
@media (max-width: 768px) {
    /* ============================================================
       ФУТЕР (BENTO)
       ============================================================ */

    /* Общая обертка */
    .il-footer-main {
        display: flex;
        flex-direction: column;
        gap: 32px;
        padding: 32px 16px 24px;
    }

    /* Левая часть (лого + описание) */
    .il-footer-brand {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .il-footer-logo {
        font-size: 26px;
        font-weight: 900;
        color: var(--il-primary, #2c2c2c);
        text-decoration: none;
        margin-bottom: 12px;
        display: inline-block;
    }

    .il-footer-logo span {
        color: var(--il-accent, #6b1d2b);
    }

    .il-footer-desc {
        font-size: 14px;
        color: var(--il-text-muted, #8a8580);
        line-height: 1.5;
        margin: 0;
        max-width: 300px;
    }

    /* Правая часть (сетка ссылок) — выстраиваем в колонку */
    .il-footer-links {
        display: flex;
        flex-direction: column;
        gap: 28px;
        text-align: center;
    }

    /* Колонки */
    .il-footer-col {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* Заголовки колонок */
    .il-footer-col h4 {
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: var(--il-text-muted, #8a8580);
        margin: 0 0 16px 0;
    }

    /* Списки ссылок */
    .il-footer-col ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .il-footer-col ul li,
    .il-footer-col ul li a {
        font-size: 15px;
        color: var(--il-primary, #2c2c2c);
        text-decoration: none;
        font-weight: 500;
        line-height: 1.4;
    }

    .il-footer-col ul li a:active {
        color: var(--il-accent, #6b1d2b);
    }

    /* Телефон */
    .il-footer-phone {
        font-size: 22px;
        font-weight: 800;
        color: var(--il-accent, #6b1d2b);
        text-decoration: none;
        margin-bottom: 6px;
        display: inline-block;
    }

    /* Время работы */
    .il-footer-time {
        font-size: 13px;
        color: var(--il-text-muted, #8a8580);
    }

    /* Кнопка ВК (убираем инлайн-стиль через flex-обертку) */
    .il-footer-col > div {
        margin-top: 16px !important; /* перебиваем инлайн margin-top: 15px */
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .il-footer-vk {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        border: 1px solid var(--il-border, rgba(0,0,0,0.06));
        padding: 12px 24px;
        border-radius: 12px;
        font-size: 14px;
        font-weight: 600;
        color: var(--il-primary, #2c2c2c);
        text-decoration: none;
        transition: background 0.2s, color 0.2s;
    }

    .il-footer-vk:active {
        background: #fef5f4;
        color: var(--il-accent, #6b1d2b);
        border-color: rgba(107, 29, 43, 0.2);
    }

    /* Подвал (Копирайт) */
    .il-footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center;
        padding: 24px 16px;
        border-top: 1px solid var(--il-border, rgba(0,0,0,0.06));
        font-size: 12px;
        color: var(--il-text-muted, #8a8580);
    }

    .il-footer-bottom a {
        color: var(--il-text-muted, #8a8580);
        text-decoration: underline;
    }

    /* ============================================================
       COOKIE BANNER (чтобы тоже не прилипал и был в стиле)
       ============================================================ */
    .cookie-banner__content {
        flex-direction: column;
        text-align: center;
        gap: 16px;
        padding: 16px;
    }

    .cookie-banner__buttons {
        flex-direction: column;
        width: 100%;
        gap: 8px;
    }

    .cookie-banner__btn {
        width: 100%;
        justify-content: center;
    }
}
@media (max-width: 768px) {

    /* Убираем жесткую высоту у самого блока галереи */
    .il-bento-image.gurman-gallery {
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin-bottom: 16px;
        border-radius: 16px;
        overflow: hidden;
    }

    /* Контейнер внутри */
    .il-main-photo {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 3 !important;
        display: block;
    }

    /* Сама ссылка на картинку */
    #gurmanMainLink {
        height: 100% !important;
        display: block;
    }

    /* Картинка */
    #gurmanMainPhoto,
    .il-main-photo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block;
    }

    /* Блок с бейджами (чтобы прилипал ближе к картинке) */
    .il-bento-info {
        margin-top: 0;
    }
}
@media (max-width: 768px) {
    /* ============================================================
       ОФОРМЛЕНИЕ ЗАКАЗА — ФИКС КОНТРОЛА КОЛИЧЕСТВА
       ============================================================ */

    /* Убираем жесткую высоту, чтобы блок подстраивался под текст */
    .gurman-checkout-item__qty {
        height: auto !important;
        min-height: 44px;
        align-items: stretch;
    }

    /* Центрируем текст по вертикали */
    .gurman-checkout .qty-info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 6px 8px;
        line-height: 1.2;
    }

    /* Делаем шрифты аккуратнее, чтобы всё влезало */
    .gurman-checkout .qty-info__count {
        font-size: 11px;
        margin-bottom: 2px;
    }

    .gurman-checkout .qty-info__sum {
        font-size: 14px;
        font-weight: 700;
    }

    /* Кнопки плюс/минус выравниваем по высоте блока */
    .gurman-checkout-item__qty .qty-minus,
    .gurman-checkout-item__qty .qty-plus {
        display: flex;
        align-items: center;
        justify-content: center;
        height: auto;
    }

    /* Чуть увеличиваем отступ снизу у самого товара, чтобы блоки не слипались */
    .gurman-checkout-item {
        padding-bottom: 20px !important;
    }
    main.inner{
        padding: 40px 24px 80px;
    }
    .il-main-content{
        padding-left: 12px;
        padding-right: 12px;
    }
    .header_block_wrap .gurman-category-top{
        display: none;
    }
}
@media (max-width: 768px) {
    /* ============================================================
       СТРАНИЦА РЕЦЕПТА — ФИКС ВЫЛЕЗАНИЯ ЗА ЭКРАН
       ============================================================ */

    /* Сбрасываем возможную жесткую ширину у главного контейнера */
    .gurman-recipe-page,
    main.inner {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden;
        box-sizing: border-box !important;
    }

    /* Переводим сетку в одну колонку */
    .gurman-recipe-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        width: 100% !important;
    }

    /* Колонки на всю ширину */
    .gurman-recipe-col {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px !important;
        box-sizing: border-box !important;
    }

    /* Фикс для картинки шапки, чтобы не вылезала */
    .gurman-recipe-hero {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        border-radius: 20px !important;
    }

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

    .gurman-recipe-hero-info {
        padding: 20px !important;
    }

    /* Чтобы длинные названия ингредиентов и шагов переносились, а не вылезали */
    .gurman-recipe-ingredients li,
    .gurman-recipe-step-text,
    .gurman-recipe-meta__item,
    .gurman-recipe-tags__list a {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }

    /* Сетка продуктов (Осётр, Соль) */
    .gurman-recipe-products {
        width: 100% !important;
    }

    .gurman-recipe-products .gurman-product-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
@media (max-width: 768px) {
    /* ============================================================
       ПРОДУКТЫ ДЛЯ РЕЦЕПТА (ГОРИЗОНТАЛЬНЫЕ КАРТОЧКИ)
       ============================================================ */

    /* Сама карточка — флекс-контейнер в строку */
    .gurman-recipe-products .gurman-product-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        padding: 12px !important;
        gap: 12px !important;
        background: #fafbfc !important; /* Легкий серый фон, как на скрине */
        border: 1px solid var(--il-border, rgba(0,0,0,0.06)) !important;
        border-radius: 12px !important;
        margin-bottom: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
    }

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

    /* Ссылка-обертка — тоже строка */
    .gurman-recipe-products .gurman-card-link {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        flex: 1 !important;
        min-width: 0 !important;
        text-decoration: none !important;
    }

    /* Картинка */
    .gurman-recipe-products .gurman-card-img {
        width: 64px !important;
        height: 64px !important;
        flex-shrink: 0 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

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

    /* Текстовая часть */
    .gurman-recipe-products .gurman-card-body {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 2px !important;
        flex: 1 !important;
        min-width: 0 !important;
    }

    /* Название */
    .gurman-recipe-products .gurman-card-title {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--il-primary, #2c2c2c) !important;
        line-height: 1.3 !important;
        margin: 0 !important;
        white-space: normal !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    /* Наличие */
    .gurman-recipe-products .gurman-card-instock {
        font-size: 12px !important;
        margin: 0 !important;
    }

    /* Цена и фасовка в одну строку */
    .gurman-recipe-products .gurman-card-price-row {
        display: flex !important;
        align-items: baseline !important;
        gap: 4px !important;
        margin: 0 !important;
    }

    /* Рамка в цене — убираем, чтобы не было "юбиков" */
    .gurman-recipe-products .gurman-card-price,
    .gurman-recipe-products .gurman-price-block,
    .gurman-recipe-products .gurman-price-current {
        display: inline-block !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        color: var(--il-accent, #6b1d2b) !important;
        margin: 0 !important;
    }

    /* Убираем красную рамку (юбик) если она где-то затесалась */
    .gurman-recipe-products .gurman-price-current {
        border: none !important;
        outline: none !important;
        text-decoration: none !important;
    }

    .gurman-recipe-products .gurman-card-unit {
        font-size: 12px !important;
        color: var(--il-text-muted, #8a8580) !important;
    }

    /* ============================================================
       КНОПКИ (В КОРЗИНУ / ОЖИДАЕМ / ЧАСИКИ)
       ============================================================ */

    /* Контейнер для кнопки */
    .gurman-recipe-products .gurman-card-cart-block {
        flex-shrink: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
    }

    /* Сама кнопка — квадратная 44x44 */
    .gurman-recipe-products .gurman-card-btn-initial {
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        border-radius: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important; /* Скрываем текст "Ожидаем" */
        border: none !important;
        cursor: pointer !important;
        transition: background 0.2s !important;
    }

    /* Если в наличии — зеленая кнопка с плюсом */
    .gurman-recipe-products .gurman-card-btn-initial:not(.gurman-card-btn-disabled) {
        background: #27ae60 !important;
        color: #fff !important;
    }

    /* Рисуем плюс через псевдоэлемент, если его нет в тексте */
    .gurman-recipe-products .gurman-card-btn-initial:not(.gurman-card-btn-disabled)::after {
        content: '+' !important;
        font-size: 24px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }

    /* Если нет в наличии (Ожидаем) — серая кнопка с часиками */
    .gurman-recipe-products .gurman-card-btn-initial.gurman-card-btn-disabled {
        background: #cbd5e1 !important;
        color: #fff !important;
        pointer-events: none !important;
    }

    /* Рисуем часики через псевдоэлемент для серой кнопки */
    .gurman-recipe-products .gurman-card-btn-initial.gurman-card-btn-disabled::after {
        content: '' !important;
        display: block !important;
        width: 20px !important;
        height: 20px !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E") !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }

    /* Скрываем контролы плюс/минус (если товар добавлен) — оставляем просто плюс, как на макете */
    .gurman-recipe-products .gurman-card-cart-controls {
        display: none !important;
    }
    .il-delivery-block{
        display: none;
    }
}
/* --- Мобильная карточка товара: поднимаем кнопку на первый экран --- */
@media (max-width: 768px) {

    /* 1. Ужимаем верхние отступы у хлебных крошек и заголовков (если они мешают) */
    .il-breadcrumbs,
    .breadcrumbs {
        margin-bottom: 8px;
        font-size: 11px;
    }

    /* 2. Делаем картинку чуть компактнее, чтобы освободить место под цену и кнопку */
    .il-bento-grid .il-gallery,
    .il-bento-grid .gurman-product-gallery {
        aspect-ratio: 16 / 10; /* было 4/3, делаем чуть ниже */
        max-height: 280px; /* было 350px */
        margin-bottom: 12px;
    }

    /* 3. Уменьшаем отступы внутри карточки товара (инфо-блок) */
    .il-bento-grid .il-product-info,
    .il-bento-grid .gurman-product-info {
        padding: 16px; /* вместо стандартных 20-24px */
    }

    /* 4. Подтягиваем цену и кнопку поближе друг к другу */
    .il-bento-grid .il-product-info h1,
    .il-bento-grid .gurman-product-title {
        font-size: 20px;
        line-height: 1.3;
        margin-bottom: 8px;
    }

    .il-bento-grid .il-product-buy-box,
    .il-bento-grid .gurman-buy-box {
        margin-top: 12px;
        gap: 8px; /* отступ между ценой и кнопкой */
    }

    /* 5. Кнопка «В корзину» — делаем её заметной и удобной */
    .il-bento-grid .il-btn-add,
    .il-bento-grid .gurman-buy-button,
    .il-bento-grid .btn-add-to-cart {
        width: 100%;
        height: 48px;
        border-radius: 12px;
        font-size: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* 6. Убираем лишний нижний отступ у контейнера с картинкой */
    .il-bento-grid .il-gallery-wrapper {
        margin-bottom: 0;
    }
}
@media (max-width: 768px) {
    .il-bento-badges {
        display: none;
    }

    .il-badges-mobile {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        position: absolute;
        left: 12px;
        bottom: 12px;
        z-index: 5;
        max-width: calc(100% - 24px);
    }

    .il-badges-mobile span,
    .il-badges-mobile a,
    .il-badges-mobile div {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        font-weight: 700;
        padding: 4px 12px;
        border-radius: 20px;
        line-height: 1.2;
        color: #fff !important;
        border: none;
        box-shadow: none;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .il-badges-mobile > *:nth-child(1) { background-color: #4CAF50; }
    .il-badges-mobile > *:nth-child(2) { background-color: #6b1d2b; }
    .il-badges-mobile > *:nth-child(3) { background-color: #2196F3; }
    .il-badges-mobile > *:nth-child(4) { background-color: #8a8580; }
}