const audienceContent = { home: 'Артезианская вода 19 литров с доставкой на дом и в офис. Привозим по Гагаринскому, Ленинскому, Нахимовскому и Балаклавскому районам, помогаем с возвратной тарой и держим понятные цены без скрытых доплат.', office: 'Доставка воды в офис в Севастополе с регулярным графиком, безналичной оплатой и приоритетными интервалами. Подходит для команд, кафе, студий, фитнес-клубов и клиентских пространств.' } const audienceButtons = document.querySelectorAll('[data-audience]') const heroAudienceText = document.getElementById('heroAudienceText') const mobileToggle = document.getElementById('mobileToggle') const mobilePanel = document.getElementById('mobilePanel') const cartDrawer = document.getElementById('cartDrawer') const cartOpenButton = document.getElementById('cartOpenButton') const mobileCartOpenButton = document.getElementById('mobileCartOpenButton') const cartCloseButton = document.getElementById('cartCloseButton') const modalBackdrop = document.getElementById('orderModal') const modalCloseButton = document.getElementById('modalCloseButton') const checkoutButton = document.getElementById('checkoutButton') const orderButtons = document.querySelectorAll('[data-open-order]') const addToCartButtons = document.querySelectorAll('.add-to-cart') const faqItems = document.querySelectorAll('.faq-item') const cartCount = document.getElementById('cartCount') const mobileCartCount = document.getElementById('mobileCartCount') const cartItemsCount = document.getElementById('cartItemsCount') const cartTotal = document.getElementById('cartTotal') const cartList = document.getElementById('cartList') const orderForm = document.getElementById('orderForm') const contactForm = document.getElementById('contactForm') const orderItemsField = document.getElementById('orderItemsField') const orderSuccess = document.getElementById('orderSuccess') const contactSuccess = document.getElementById('contactSuccess') let cart = [] const updateAudience = audience => { heroAudienceText.textContent = audienceContent[audience] audienceButtons.forEach(button => { const isActive = button.dataset.audience === audience button.classList.toggle('active', isActive) button.setAttribute('aria-selected', String(isActive)) }) const typeField = orderForm.elements.customerType typeField.value = audience === 'office' ? 'Для офиса' : 'Для дома' } const openMobileMenu = () => { mobilePanel.classList.add('active') mobileToggle.setAttribute('aria-expanded', 'true') document.body.classList.add('menu-open') } const closeMobileMenu = () => { mobilePanel.classList.remove('active') mobileToggle.setAttribute('aria-expanded', 'false') document.body.classList.remove('menu-open') } const openCart = () => { cartDrawer.classList.add('open') cartDrawer.setAttribute('aria-hidden', 'false') document.body.classList.add('modal-open') } const closeCart = () => { cartDrawer.classList.remove('open') cartDrawer.setAttribute('aria-hidden', 'true') document.body.classList.remove('modal-open') } const openModal = () => { orderItemsField.value = cart.length ? cart.map(item => `${item.name} (${item.volume}) - ${item.price} ₽`).join('\n') : '' modalBackdrop.classList.add('open') modalBackdrop.setAttribute('aria-hidden', 'false') document.body.classList.add('modal-open') } const closeModal = () => { modalBackdrop.classList.remove('open') modalBackdrop.setAttribute('aria-hidden', 'true') document.body.classList.remove('modal-open') } const renderCart = () => { const total = cart.reduce((sum, item) => sum + item.price, 0) const count = cart.length cartCount.textContent = count mobileCartCount.textContent = count cartItemsCount.textContent = count cartTotal.textContent = `${total} ₽` if (!count) { cartList.innerHTML = '