<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>Вкусные истории</title>
    <script src="https://cdn.tailwindcss.com"></script>

    <link rel="stylesheet" href="/css/style.css">

</head>

<body class="font-sans flex flex-col min-h-screen">

<header class="text-gray-800 shadow-sm sticky top-0 z-50">
    <div class="max-w-7xl mx-auto px-2 md:px-3 py-2 header-inner">
        <!-- Left: Logo + City -->
        <div class="header-left">
            <a href="/" class="flex items-center shrink-0 logo-wrap">
                <img src="/images/logo.svg" alt="Вкусные истории"
                     class="block h-12 md:h-20 w-[100px] sm:w-[120px] md:w-[200px] object-contain"/>
            </a>
            <button data-role="city-button"
                    class="flex items-center gap-1 text-sm md:text-base font-medium text-gray-700 hover:text-[var(--gold)] transition header-city">
                <!-- Ограничение длины города, чтобы не ломать верстку на iPhone SE -->
                <span id="userCityDisplay" class="max-w-[100px] sm:max-w-xs truncate"></span>
                <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 md:w-5 md:h-5 shrink-0" fill="none"
                     viewBox="0 0 24 24" stroke="currentColor">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
                </svg>
            </button>
        </div>

        <div class="flex items-center oki-navwrap">
            <button type="button" class="oki-nav-arrow" data-nav-arrow="left" aria-label="Назад">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"/>
                </svg>
            </button>
            <nav id="categoryNav" class="oki-nav font-medium text-sm text-gray-700">
                
            </nav>
            <button type="button" class="oki-nav-arrow" data-nav-arrow="right" aria-label="Вперед">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
                </svg>
            </button>
        </div>

        <div class="header-right">
            <button id="ordersHeaderButton" data-role="toggle-orders" class="oki-btn hidden">
                <svg xmlns="http://www.w3.org/2000/svg" class="oki-btn-icon" fill="none" viewBox="0 0 24 24"
                     stroke="currentColor">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                          d="M9 12h6m-6 4h6M5 6h14M5 10h14M5 14h14M5 18h14"/>
                </svg>
                <span>Мои заказы</span>
            </button>
            <div class="flex items-center gap-2">
                <button data-role="login-button" class="oki-btn">
                    <svg xmlns="http://www.w3.org/2000/svg" class="oki-btn-icon" fill="none" viewBox="0 0 24 24"
                         stroke="currentColor">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                              d="M5.121 17.804A13.937 13.937 0 0112 15c2.5 0 4.847.655 6.879 1.804M12 12a4 4 0 100-8 4 4 0 000 8z"/>
                    </svg>
                    <span>Войти</span>
                </button>
                <div id="profileBlock" data-role="profile-block" class="flex items-center gap-2 hidden">
                    <a href="/profile" class="oki-btn">
                        <svg xmlns="http://www.w3.org/2000/svg" class="oki-btn-icon" fill="none" viewBox="0 0 24 24"
                             stroke="currentColor">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                                  d="M5.121 17.804A13.937 13.937 0 0112 15c2.5 0 4.847.655 6.879 1.804M12 12a4 4 0 100-8 4 4 0 000 8z"/>
                        </svg>
                        <span>Профиль</span>
                    </a>
                </div>
            </div>
            <button data-role="toggle-cart" class="oki-btn oki-accent relative">
                <svg xmlns="http://www.w3.org/2000/svg" class="oki-btn-icon" fill="none" viewBox="0 0 24 24"
                     stroke="currentColor">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                          d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13l-1.5 7h13L17 13M7 13h10"/>
                </svg>
                <span>Корзина</span>
                <span id="cartCount" class="oki-badge hidden">0</span>
            </button>
        </div>
    </div>
</header>

<div id="cartDrawer" class="fixed inset-0 bg-black bg-opacity-40 hidden z-50 transition-opacity duration-300">
    <div class="absolute right-0 top-0 h-screen w-full sm:w-96 bg-white shadow-2xl transform translate-x-full transition-transform duration-300 flex flex-col">
        <div class="p-4 border-b flex justify-between items-center shrink-0"
             style="border-color: rgba(241,227,214,.16);">
            <!-- Обертка для заголовка и кнопки очистки -->
            <div class="flex items-center gap-4">
                <h3 class="text-lg font-semibold text-gray-800">Корзина</h3>
                <button id="clearCartBtn"
                        class="hidden text-sm text-[rgba(246,239,232,.5)] hover:text-red-400 transition-colors"
                        title="Очистить корзину">Очистить корзину
                </button>
            </div>
            <!-- Кнопка закрытия -->
            <button data-role="toggle-cart" class="text-gray-400 hover:text-gray-600 text-2xl font-bold leading-none">
                ×
            </button>
        </div>

        <div id="cartItems" class="flex-1 overflow-y-auto p-4 space-y-3">
            <div id="emptyCartText" class="text-center text-gray-500 mt-10">
                <div class="text-5xl" aria-hidden="true">😞</div>
                <div class="mt-3 text-lg font-semibold" style="color: rgba(246,239,232,.88);">В корзине пусто :(</div>
                <div class="mt-1 text-sm" style="color: rgba(246,239,232,.60);">Добавьте блюда, перейдя в меню.</div>
                <button type="button" data-role="empty-cart-cta" class="mt-5 oki-btn oki-accent"
                        style="margin-left:auto;margin-right:auto;">Перейти в меню
                </button>
            </div>
        </div>
        <div class="border-t p-4 shrink-0 bg-white sticky bottom-0" style="border-color: rgba(241,227,214,.16);">
            <div class="flex justify-between items-center font-semibold text-lg mb-3 text-gray-900">
                <span>Сумма заказа:</span>
                <span id="cartTotal" style="color: var(--gold);">0 ₽</span>
            </div>
            <button id="checkoutBtn" class="w-full text-white py-2.5 rounded-full font-semibold text-sm transition">
                Оформить заказ
            </button>
        </div>
    </div>
</div>

<main class="w-full max-w-6xl mx-auto mt-6 md:mt-8 px-4 space-y-16 md:space-y-20 flex-1 box-border">
    <section id="pizzaShowcaseHero" class="oki-hero pizza-showcase hidden p-4 sm:p-5 md:p-8 box-border">
        <div class="pizza-showcase-copy">
            <span class="oki-chip pizza-showcase-chip">Обновлённая линейка пицц</span>
            <h1 class="text-2xl sm:text-3xl md:text-4xl font-extrabold break-words">
                <span style="color: var(--brand-orange);">Вкусные истории</span>
                <span style="color: #fff;">начинаются здесь!</span>
            </h1>
            <div class="pizza-showcase-copy-shell text-sm md:text-base max-w-3xl break-words">
                <div class="hero-text-bg pizza-showcase-text space-y-3">
                    <div class="pizza-showcase-copy-lead">
                        <span class="pizza-showcase-copy-kicker">НОВЫЕ ПИЦЦЫ</span>
                        <p>
                            Мы обновили рецептуру пицц: улучшили вкус, и приблизили его ко вкусу настоящей итальянской пиццы
                            и аккуратно пересобрали ассортимент, чтобы каждая позиция раскрывалась ярче и стабильнее по
                            качеству.
                        </p>
                    </div>
                </div>
            </div>
            <div class="hero-actions flex flex-wrap gap-3 pt-2 min-w-0">
                <a href="#mobileCategoryBarMount" class="oki-btn oki-accent">Смотреть меню</a>
                <button data-role="toggle-cart" class="oki-btn">Оформить заказ</button>
            </div>
        </div>

        <div class="pizza-showcase-panel">
            <div class="pizza-showcase-panel-head">
                <div>
                    <p class="pizza-showcase-eyebrow">Пиццы в меню</p>
                    <h2 class="pizza-showcase-title">Доступные сейчас позиции</h2>
                </div>
                <div class="pizza-showcase-controls">
                    <button type="button" class="pizza-showcase-arrow" data-pizza-scroll="left"
                            aria-label="Прокрутить влево">
                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"/>
                        </svg>
                    </button>
                    <button type="button" class="pizza-showcase-arrow" data-pizza-scroll="right"
                            aria-label="Прокрутить вправо">
                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
                        </svg>
                    </button>
                </div>
            </div>

            <div class="pizza-showcase-carousel" id="pizzaShowcaseCarousel">
                <div class="pizza-showcase-track" id="pizzaShowcaseTrack"></div>
            </div>
        </div>
    </section>

    <div id="mobileCategoryBarMount" aria-label="Категории (моб.)"></div>

    
</main>

<footer class="bg-white mt-10 md:mt-12 border-t border-gray-200 py-5 w-full box-border">
    <div class="max-w-6xl mx-auto flex flex-col md:flex-row justify-between items-center px-4 text-gray-500 gap-3 text-xs md:text-sm">
        <p>&copy; 2026 Вкусные истории. Все права защищены.</p>
        <div class="flex flex-wrap justify-center gap-4 md:gap-6">
            <a class="hover:text-[var(--gold)] transition" href="/more#about">О нас</a>
            <a class="hover:text-[var(--gold)] transition" href="/more#help">Контакты и Помощь</a>
            <a class="hover:text-[var(--gold)] transition" href="/more#offer">Публичная оферта</a>
            <a class="hover:text-[var(--gold)] transition" href="/more#privacy">Политика конфиденциальности</a>
            <a class="hover:text-[var(--gold)] transition" href="/more#yandex-maps">
                Яндекс.Карты
            </a>
        </div>
    </div>
</footer>

<!-- Модалка входа (отступы адаптированы p-4 sm:p-6) -->
<div id="loginModal" class="hidden fixed inset-0 z-50 bg-black/50 flex items-center justify-center">
    <div class="bg-white w-[95%] sm:w-[92%] max-w-md rounded-xl shadow-xl p-4 sm:p-6 relative">
        <button data-role="close-login-modal"
                class="absolute top-3 right-3 text-gray-400 hover:text-gray-700 text-2xl leading-none">×
        </button>
        <div id="loginStep1">
            <h3 class="text-xl font-bold text-center mb-4 text-gray-900">Вход</h3>
            <div id="loginError" class="hidden text-red-600 text-sm mb-3"></div>
            <input type="text" id="phoneInput" placeholder="+7XXXXXXXXXX"
                   class="w-full mb-3 px-3 py-2 rounded-lg border border-gray-300 text-sm focus:outline-none"/>
            <div class="space-y-2 mb-3">
                <label class="flex items-start gap-2 cursor-pointer select-none">
                    <input type="checkbox" id="consentRequired" class="mt-1">
                    <span class="text-gray-600 text-xs leading-snug">
                        Я соглашаюсь с <a href="/more#offer" class="consent-link">офертой</a> и <a href="/more#privacy"
                                                                                                   class="consent-link">политикой конфиденциальности</a>
                    </span>
                </label>
                <label class="flex items-start gap-2 text-xs text-gray-700">
                    <input id="consentMarketing" type="checkbox" class="mt-0.5"/>
                    <span>Я согласен(на) на получение рекламных сообщений</span>
                </label>
                <div id="consentError" class="hidden text-red-600 text-xs"></div>
            </div>
            <button id="getCodeBtn"
                    class="w-full bg-black text-white py-2 rounded-lg text-sm font-semibold opacity-60 cursor-not-allowed"
                    disabled>Получить код
            </button>
        </div>
        <div id="loginStep2" class="hidden">
            <h3 class="text-xl font-bold text-center mb-4 text-gray-900">Введите код</h3>
            <p id="codeSentInfo" class="text-gray-600 text-xs text-center mb-3"></p>
            <div id="verifyError" class="hidden text-red-600 text-sm mb-3"></div>
            <input type="text" id="codeInput" placeholder="Код"
                   class="w-full mb-4 px-3 py-2 rounded-lg border border-gray-300 text-sm focus:outline-none"/>
            <div class="flex justify-between items-center mb-4">
                <button id="backToPhoneBtn" class="text-xs text-gray-600 hover:text-gray-900">← Изменить номер</button>
                <button id="resendCodeBtn" class="text-xs text-gray-600 hover:text-gray-900" disabled>Отправить еще раз
                    (60)
                </button>
            </div>
            <button id="submitCodeBtn" class="w-full bg-black text-white py-2 rounded-lg text-sm font-semibold">Войти
            </button>
        </div>
    </div>
</div>

<!-- Модалка товара -->
<div id="productModal"
     class="hidden fixed inset-0 bg-black bg-opacity-50 flex justify-center items-center z-50 transition-opacity duration-300">
    <div id="productModalPanel"
         class="bg-white rounded-3xl shadow-2xl w-[calc(100%-2rem)] max-w-7xl mx-auto flex flex-col lg:flex-row overflow-hidden transform scale-95 opacity-0 transition-all duration-300 max-h-[92vh]">
        <button data-role="close-product-modal"
                class="absolute top-4 right-4 w-11 h-11 rounded-full bg-black/50 text-white flex items-center justify-center hover:bg-black/70 transition text-2xl leading-none z-[60]"
                aria-label="Закрыть">×
        </button>
        <div class="w-full lg:w-1/2 flex justify-center items-center p-4 sm:p-6"
             style="background: rgba(241,227,214,.06);">
            <img id="productImage" src="" alt=""
                 class="rounded-2xl w-full max-w-lg object-contain max-h-[45vh] sm:max-h-[75vh]"
                 style="background: var(--smoke); border: 1px solid rgba(241,227,214,.16);">
        </div>

        <div class="product-modal-details w-full lg:w-1/2 flex flex-col relative">
            <div class="product-modal-scroll">
                <div class="product-modal-body">
                <div class="product-modal-title-row flex items-start justify-between gap-3 mb-1">
                    <!-- Заголовок адаптивен -->
                    <h2 id="productName" class="text-xl sm:text-2xl md:text-3xl font-bold text-gray-900"></h2>
                    <div class="product-modal-header-actions">
                        <div class="relative">
                            <button id="nutritionInfoBtn"
                                    class="w-9 h-9 rounded-full flex items-center justify-center transition shrink-0">i
                            </button>
                            <div id="nutritionTooltip"
                                 class="hidden absolute right-0 mt-2 w-64 bg-gray-900/75 backdrop-blur text-white rounded-2xl p-4 shadow-2xl z-50">
                                <div class="text-sm font-semibold mb-2">Пищевая ценность на 100 г</div>
                                <div class="text-sm space-y-1 opacity-95">
                                    <div class="flex justify-between"><span>Белки:</span><span id="nutP">—</span></div>
                                    <div class="flex justify-between"><span>Жиры:</span><span id="nutF">—</span></div>
                                    <div class="flex justify-between"><span>Углеводы:</span><span id="nutC">—</span>
                                    </div>
                                    <div class="flex justify-between"><span>Энерг.:</span><span id="nutE">—</span></div>
                                </div>
                            </div>
                        </div>
                        <button id="mobileQuickAddBtn"
                                type="button"
                                class="product-modal-quick-add"
                                aria-label="Добавить в корзину"
                                title="Добавить в корзину">
                            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
                                 stroke="currentColor" aria-hidden="true">
                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                                      d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13l-1.5 7h13L17 13M7 13h10"/>
                            </svg>
                        </button>
                    </div>
                </div>

                <div id="productMetaLine" class="text-gray-500 text-xs sm:text-sm mb-3"></div>
                <p id="productDesc" class="text-gray-500 text-sm sm:text-base mb-4"></p>
                <div id="selectedChips" class="flex flex-wrap gap-2 mb-4"></div>
                <div id="ingredientsBlock" class="mb-4"></div>

                <div id="sizeBlock" class="hidden mb-4">
                    <h4 class="font-semibold text-gray-700 mb-2 text-base sm:text-lg">Размер:</h4>
                    <div id="sizeButtons" class="flex gap-2 flex-wrap text-sm sm:text-base"></div>
                </div>

                <div id="addBlock" class="mb-4 pb-4">
                    <h4 class="font-semibold text-gray-700 mb-2 text-base sm:text-lg">Добавить по вкусу:</h4>
                    <!-- 1 колонка на мобилках, чтобы кнопки не сплющивались! -->
                    <div id="addIngredients"
                         class="grid grid-cols-1 sm:grid-cols-2 gap-2 sm:gap-4 text-sm sm:text-base"></div>
                </div>
            </div>
            </div>

            <div class="product-modal-footer">
                <button id="addToCartBtn"
                        class="w-full text-white py-3 sm:py-4 rounded-xl md:rounded-full font-bold text-base sm:text-lg shadow-[0_10px_30px_rgba(242,140,40,0.3)] transition active:scale-95">
                    В корзину за <span id="modalPrice">0 ₽</span>
                </button>
            </div>
        </div>
    </div>
</div>

<div id="ordersDrawer" class="fixed inset-0 bg-black bg-opacity-40 hidden z-50 transition-opacity duration-300">
    <div class="absolute right-0 top-0 h-screen w-full sm:w-96 bg-white shadow-2xl transform translate-x-full transition-transform duration-300 flex flex-col">
        <div class="p-4 border-b flex justify-between items-center shrink-0"
             style="border-color: rgba(241,227,214,.16);">
            <h3 class="text-lg font-semibold text-gray-800">Мои заказы</h3>
            <button data-role="toggle-orders" class="text-gray-400 hover:text-gray-600 text-2xl font-bold leading-none">
                ×
            </button>
        </div>
        <div id="ordersList" class="flex-1 overflow-y-auto p-4 space-y-3">
            <p id="emptyOrdersText" class="text-center text-gray-500 text-base mt-10">У вас пока нет заказов.</p>
        </div>
    </div>
</div>
<script type="module" src="/js/city/init.js"></script>
<div id="cookieBanner" class="hidden fixed bottom-6 left-1/2 -translate-x-1/2 z-[9999] max-w-xl w-[92%] md:w-auto">
    <div class="cookie-card flex flex-col md:flex-row items-center gap-4 p-4 md:p-5 rounded-2xl">
        <div class="text-sm leading-snug text-center md:text-left">
            Мы используем cookies для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с <a
                href="/more#privacy" class="cookie-link">политикой конфиденциальности</a>.
        </div>
        <button id="acceptCookiesBtn" class="cookie-btn whitespace-nowrap">Принять</button>
    </div>
</div>
<div id="mobileBottomNav" aria-label="Нижняя навигация">
    <div class="nav-shell">
        <div class="max-w-7xl mx-auto h-full px-2">
            <div class="flex h-full items-stretch relative">
                <button type="button" class="nav-btn" data-role="nav-menu" aria-label="Меню">
                    <svg class="nav-ico" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
                         stroke="currentColor">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                              d="M4 6h16M4 12h16M4 18h16"/>
                    </svg>
                    <span>Меню</span>
                </button>
                <button type="button" class="nav-btn hidden" data-role="toggle-orders" aria-label="Заказы">
                    <svg class="nav-ico" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
                         stroke="currentColor">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                              d="M9 12h6m-6 4h6M5 6h14M5 10h14M5 14h14M5 18h14"/>
                    </svg>
                    <span>Заказы</span>
                </button>
                <button type="button" class="nav-btn" data-role="toggle-cart" aria-label="Корзина">
                    <svg class="nav-ico" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
                         stroke="currentColor">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                              d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13l-1.5 7h13L17 13M7 13h10"/>
                    </svg>
                    <span>Корзина</span>
                    <span id="cartCountMobile" class="nav-badge hidden">0</span>
                </button>
                <button type="button" class="nav-btn" data-role="nav-profile" aria-label="Профиль">
                    <svg class="nav-ico" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
                         stroke="currentColor">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                              d="M5.121 17.804A13.937 13.937 0 0112 15c2.5 0 4.847.655 6.879 1.804M12 12a4 4 0 100-8 4 4 0 000 8z"/>
                    </svg>
                    <span>Профиль</span>
                </button>
            </div>
        </div>
    </div>
</div>

</body>
</html>
