Files
hotell777_260507/public/index.html
kalugin66 f35f6f9a68
All checks were successful
Deploy hotel / deploy-kdo (push) Successful in 49s
чипсы
2026-07-27 22:05:52 +05:00

1036 lines
64 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hotel 777 — Гостиница на берегу моря в Абхазии</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/inter-font.css">
<link rel="stylesheet" href="css/playfair-font.css">
<link rel="stylesheet" href="css/fontawesome.min.css">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/reviews.css">
</head>
<body>
<!-- Preloader -->
<div id="preloader">
<div class="logo-text">HOTEL 777</div>
<div class="loader-bar"></div>
</div>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg fixed-top" id="mainNavbar">
<div class="container">
<a class="navbar-brand" href="#">HOTEL <span>777</span></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navMenu"
aria-label="Меню" aria-expanded="false" aria-controls="navMenu">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navMenu">
<ul class="navbar-nav ms-auto nav-pills-row">
<li class="nav-item"><a class="nav-pill" href="#about" data-i18n="nav.about"><i class="fas fa-info-circle"></i>О нас</a></li>
<li class="nav-item"><a class="nav-pill" href="#rooms" data-i18n="nav.rooms"><i class="fas fa-bed"></i>Номера</a></li>
<li class="nav-item"><a class="nav-pill" href="#gallery" data-i18n="nav.gallery"><i class="fas fa-images"></i>Галерея</a></li>
<li class="nav-item"><a class="nav-pill" href="#activities" data-i18n="nav.activities"><i class="fas fa-umbrella-beach"></i>Развлечения</a></li>
<li class="nav-item"><a class="nav-pill" href="#travel-tips"><i class="fas fa-map-marked-alt"></i><span data-i18n="nav.travel_tips">Уголок туриста</span></a></li>
<li class="nav-item"><a class="nav-pill" href="#reviews" data-i18n="nav.reviews"><i class="fas fa-star"></i>Отзывы</a></li>
<li class="nav-item"><a class="nav-pill" href="#host" data-i18n="nav.host"><i class="fas fa-user"></i>Хозяин</a></li>
<li class="nav-item"><a class="nav-pill" href="#contact" data-i18n="nav.contact"><i class="fas fa-phone"></i>Контакты</a></li>
<li class="nav-item"><a class="nav-pill" href="/admin"><i class="fas fa-cog"></i><span data-i18n="nav.admin">Управление</span></a></li>
<li class="nav-item language-switcher">
<button class="lang-btn active" data-lang="ru" onclick="switchLang('ru')">RU</button>
<button class="lang-btn" data-lang="en" onclick="switchLang('en')">EN</button>
<button class="lang-btn" data-lang="ab" onclick="switchLang('ab')">Аҧ</button>
</li>
</ul>
</div>
</div>
</nav>
<!-- Hero Section -->
<section class="hero" id="home">
<div class="hero-bg-layer" id="heroBgLayer">
<img class="hero-bg hero-bg-default" src="img/h777.webp" alt="Hotel 777" style="opacity: 1;">
</div>
<div class="hero-overlay"></div>
<div class="container">
<div class="hero-content">
<div class="hero-badge"><i class="fas fa-anchor me-2"></i><span data-i18n="hero.badge">Набережная ул. 1, Мгудзырхуа</span></div>
<h1 class="hero-title">Hotel <span>777</span><br><span data-i18n="hero.title">Абхазия</span></h1>
<p class="hero-subtitle" data-i18n="hero.subtitle">Ваш идеальный отдых на берегу Чёрного моря в самом сердце Абхазии. Комфорт, природа и гостеприимство — всё, что нужно для незабываемого отпуска.</p>
<div class="hero-buttons">
<a href="#rooms" class="btn-gold"><i class="fas fa-bed"></i> <span data-i18n="hero.btn_rooms">Выбрать номер</span></a>
<a href="tel:89409270080" class="btn-outline-white" data-phone="tel"><i class="fas fa-phone"></i> <span data-i18n="hero.btn_call">Позвонить</span></a>
<a href="https://wa.me/89409270080" class="btn-social btn-social--wa" target="_blank" title="Написать в WhatsApp" data-phone="wa"><i class="fab fa-whatsapp"></i></a>
<a href="https://t.me/+89409270080" class="btn-social btn-social--tg" target="_blank" title="Написать в Telegram" data-phone="tg"><i class="fab fa-telegram"></i></a>
<a href="https://max.ru/kalugin66" class="btn-social btn-social--max" target="_blank" title="Написать в Max" data-phone="max" aria-label="Max messenger"><span class="max-icon-circle">M</span></a>
<a href="#" data-phone="ig" class="btn-social btn-social--ig" target="_blank" title="Instagram"><i class="fab fa-instagram"></i></a>
</div>
</div>
</div>
<div class="hero-stats">
<div class="container">
<div class="row align-items-center justify-content-center">
<div class="col-auto">
<div class="stat-item">
<div class="stat-number"><span class="counter" data-target="5">0</span></div>
<div class="stat-label" data-i18n="hero.stat_sea">мин до моря</div>
</div>
</div>
<div class="col-auto"><div class="stat-divider"></div></div>
<div class="col-auto">
<div class="stat-item">
<div class="stat-number"><span class="counter" data-stat="categories" data-target="3">0</span></div>
<div class="stat-label" data-i18n="hero.stat_categories">категории</div>
</div>
</div>
<div class="col-auto"><div class="stat-divider"></div></div>
<div class="col-auto">
<div class="stat-item">
<div class="stat-number"><span class="counter" data-stat="satisfaction" data-target="98">0</span>%</div>
<div class="stat-label" data-i18n="hero.stat_guests">довольных гостей</div>
</div>
</div>
<div class="col-auto"><div class="stat-divider"></div></div>
<div class="col-auto">
<div class="stat-item">
<div class="stat-number"><span class="counter" data-target="365">0</span></div>
<div class="stat-label" data-i18n="hero.stat_days">дней в году</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- About Section -->
<section class="section section-light" id="about">
<div class="container">
<div class="row align-items-center g-5">
<div class="col-lg-6 animate-on-scroll">
<div class="about-image-wrapper">
<img src="img/123f15ff3-55ae-428f-8af9-7d53c01d28a5.webp" alt="Вид на реку Гудаута">
<div class="about-image-badge">
<span class="big">777</span>
<span class="small" data-i18n="about.badge_img">Счастье рядом</span>
</div>
</div>
</div>
<div class="col-lg-6 animate-on-scroll">
<div class="section-badge"><span data-i18n="about.badge">О гостинице</span></div>
<h2 class="section-title"><span data-i18n="about.title">Добро пожаловать в </span><span style="color: var(--primary);">Hotel 777</span></h2>
<div class="ornament"><div class="ornament-line"></div><div class="ornament-diamond"></div><div class="ornament-line"></div></div>
<p style="font-size: 1.05rem; line-height: 1.8; color: #555; margin-bottom: 20px;" data-i18n="about.desc1">
Гостиница <strong>Hotel 777</strong> расположена в живописном селе Мгудзырхуа, Гудаутский район Абхазии, на Набережной улице, 1 — прямо на берегу реки Гудаута и всего в нескольких шагах от Чёрного моря.
</p>
<p style="font-size: 1.05rem; line-height: 1.8; color: #555; margin-bottom: 25px;" data-i18n="about.desc2">
Мы предлагаем уютные номера всех категорий, вкусную домашнюю кухню в столовой, аренду SUP-бордов и близость к пляжному кафе. Наши гости ценят аутентичное абхазское гостеприимство и современный комфорт.
</p>
<div class="feature-grid">
<div class="feature-item">
<div class="feature-icon"><i class="fas fa-water"></i></div>
<div class="feature-text">
<h5 data-i18n="about.feature1_title">На берегу моря</h5>
<p data-i18n="about.feature1_desc">Чистый пляж в 5 минутах ходьбы</p>
</div>
</div>
<div class="feature-item">
<div class="feature-icon"><i class="fas fa-snowflake"></i></div>
<div class="feature-text">
<h5 data-i18n="about.feature2_title">Кондиционер</h5>
<p data-i18n="about.feature2_desc">В каждом номере для вашего комфорта</p>
</div>
</div>
<div class="feature-item">
<div class="feature-icon"><i class="fas fa-wifi"></i></div>
<div class="feature-text">
<h5 data-i18n="about.feature3_title">Бесплатный WiFi</h5>
<p data-i18n="about.feature3_desc">Высокоскоростной интернет на территории</p>
</div>
</div>
<div class="feature-item">
<div class="feature-icon"><i class="fas fa-utensils"></i></div>
<div class="feature-text">
<h5 data-i18n="about.feature4_title">Столовая</h5>
<p data-i18n="about.feature4_desc">Домашняя кухня — абхазская и русская</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Rooms Section -->
<section class="section section-light" id="rooms" style="background: #f8fafc;">
<div class="container">
<div class="section-header animate-on-scroll">
<div class="section-badge"><span data-i18n="rooms.badge">Размещение</span></div>
<h2 class="section-title" data-i18n="rooms.title">Выберите свой номер</h2>
<div class="abkhazian-pattern"></div>
<p class="section-subtitle" data-i18n="rooms.subtitle">Четыре категории номеров — от 2x-местного до люкса. Каждый номер оснащён всем необходимым для идеального отдыха.</p>
</div>
<div id="roomsGrid" class="row g-4"></div>
<div id="roomsEmpty" style="display: none; text-align: center; padding: 40px; color: #94a3b8;">
<!--
<i class="fas fa-door-open" style="font-size: 3rem; margin-bottom: 16px;"></i>
<p>Номера скоро появятся</p>
-->
</div>
</div>
</section>
<!-- Gallery Section -->
<section class="section section-light" id="gallery">
<div class="container">
<div class="section-header animate-on-scroll">
<div class="section-badge"><span data-i18n="gallery.badge">Галерея</span></div>
<h2 class="section-title" data-i18n="gallery.title">Красота Абхазии</h2>
<div class="abkhazian-pattern"></div>
<p class="section-subtitle" data-i18n="gallery.subtitle">Насладитесь видами нашей гостиницы, побережья и окрестностей Гудауты</p>
</div>
<div class="gallery-scroll-wrapper animate-on-scroll">
<div class="gallery-track" id="galleryTrack">
<div class="gallery-slide" onclick="openLightbox('img/h777.webp', 'Наша гостиница')">
<img src="img/h777.webp" alt="Hotel 777"><div class="gallery-overlay"><span data-i18n="gallery.overlay.hotel">Наша гостиница</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/16536f4b7-0c1c-4bbb-8537-96bbdd2e0886.webp', 'Пляж Гудауты')">
<img src="img/16536f4b7-0c1c-4bbb-8537-96bbdd2e0886.webp" alt="Пляж"><div class="gallery-overlay"><span data-i18n="gallery.overlay.beach">Пляж Гудауты</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/1e4e22546-0208-4ba8-96fb-02052aecc8b5.webp', 'Закат на море')">
<img src="img/1e4e22546-0208-4ba8-96fb-02052aecc8b5.webp" alt="Закат"><div class="gallery-overlay"><span data-i18n="gallery.overlay.sunset">Закат на море</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/1e1ad70fe-ff01-4f94-9ca9-4926eba5bdd2.webp', 'Горы Абхазии')">
<img src="img/1e1ad70fe-ff01-4f94-9ca9-4926eba5bdd2.webp" alt="Горы"><div class="gallery-overlay"><span data-i18n="gallery.overlay.mountains">Горы Абхазии</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/123f15ff3-55ae-428f-8af9-7d53c01d28a5.webp', 'Река Гудаута')">
<img src="img/123f15ff3-55ae-428f-8af9-7d53c01d28a5.webp" alt="Река"><div class="gallery-overlay"><span data-i18n="gallery.overlay.river">Река Гудаута</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/h777.webp', 'Наша гостиница')">
<img src="img/h777.webp" alt="Hotel 777"><div class="gallery-overlay"><span data-i18n="gallery.overlay.hotel">Наша гостиница</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/16536f4b7-0c1c-4bbb-8537-96bbdd2e0886.webp', 'Пляж Гудауты')">
<img src="img/16536f4b7-0c1c-4bbb-8537-96bbdd2e0886.webp" alt="Пляж"><div class="gallery-overlay"><span data-i18n="gallery.overlay.beach">Пляж Гудауты</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/1e4e22546-0208-4ba8-96fb-02052aecc8b5.webp', 'Закат на море')">
<img src="img/1e4e22546-0208-4ba8-96fb-02052aecc8b5.webp" alt="Закат"><div class="gallery-overlay"><span data-i18n="gallery.overlay.sunset">Закат на море</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/1e1ad70fe-ff01-4f94-9ca9-4926eba5bdd2.webp', 'Горы Абхазии')">
<img src="img/1e1ad70fe-ff01-4f94-9ca9-4926eba5bdd2.webp" alt="Горы"><div class="gallery-overlay"><span data-i18n="gallery.overlay.mountains">Горы Абхазии</span></div>
</div>
<div class="gallery-slide" onclick="openLightbox('img/123f15ff3-55ae-428f-8af9-7d53c01d28a5.webp', 'Река Гудаута')">
<img src="img/123f15ff3-55ae-428f-8af9-7d53c01d28a5.webp" alt="Река"><div class="gallery-overlay"><span data-i18n="gallery.overlay.river">Река Гудаута</span></div>
</div>
</div>
</div>
</div>
</section>
<!-- Activities Section -->
<section class="section section-dark" id="activities">
<div class="container">
<div class="section-header animate-on-scroll">
<div class="section-badge"><span data-i18n="activities.badge">Развлечения</span></div>
<h2 class="section-title" data-i18n="activities.title">Чем заняться рядом</h2>
<div class="abkhazian-pattern"></div>
<p class="section-subtitle" data-i18n="activities.subtitle">SUP-борды, пляжное кафе и незабываемые виды — всё это ждёт вас</p>
</div>
<div class="row g-4" id="activitiesContainer"></div>
</div>
</section>
<!-- Travel Tips Section -->
<section class="section section-dark" id="travel-tips">
<div class="container">
<div class="section-header animate-on-scroll">
<div class="section-badge" data-i18n="travel_tips.badge">Уголок туриста</div>
<h2 class="section-title" data-i18n="travel_tips.title">Что нужно знать туристу</h2>
<div class="abkhazian-pattern"></div>
<p class="section-subtitle" data-i18n="travel_tips.subtitle">Полезная информация для комфортного и безопасного отдыха в Абхазии: связь, традиции, важные советы</p>
</div>
<!-- Top Row: Important & Customs -->
<div class="travel-tips-grid animate-on-scroll">
<!-- Important Info Card -->
<div class="tips-card">
<div class="tips-card-header">
<div class="tips-card-icon blue"><i class="fas fa-passport"></i></div>
<h3 class="tips-card-title" data-i18n="travel_tips.important.title">Важные моменты</h3>
</div>
<ul class="tips-list">
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.important.1.title">Пересечение границы</strong>
<span data-i18n="travel_tips.important.1.desc">Для граждан РФ — внутренний паспорт. Детям до 14 лет — свидетельство о рождении. Граница по реке Псоу, работают два КПП. Очереди в пик сезона — планируйте время.</span>
</div>
</li>
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.important.2.title">Валюта и оплата</strong>
<span data-i18n="travel_tips.important.2.desc">В Абхазии действует российский рубль. Банкоматы есть только в крупных городах (Гагра, Сухум, Гудаута). Везде принимают наличные, карты — только в крупных магазинах и отелях.</span>
</div>
</li>
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.important.3.title">Медицина и страховка</strong>
<span data-i18n="travel_tips.important.3.desc">Полис ОМС РФ в Абхазии не действует. Рекомендуем оформить туристическую страховку. В Гудауте есть аптеки и больница. Возьмите необходимые лекарства с собой.</span>
</div>
</li>
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.important.4.title">Транспорт</strong>
<span data-i18n="travel_tips.important.4.desc">Основной транспорт — маршрутки и такси. Между городами курсируют автобусы. Дороги горные, соблюдайте осторожность. До гостиницы от границы ~30 минут на такси.</span>
</div>
</li>
</ul>
</div>
<!-- Customs Card -->
<div class="tips-card">
<div class="tips-card-header">
<div class="tips-card-icon"><i class="fas fa-heart"></i></div>
<h3 class="tips-card-title" data-i18n="travel_tips.customs.title">Национальные особенности</h3>
</div>
<ul class="tips-list">
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.customs.1.title">Абхазское гостеприимство</strong>
<span data-i18n="travel_tips.customs.1.desc">Гостеприимство для абхазов — священный долг. Гостю предложат лучшее, что есть в доме. Отказ от угощения может быть воспринят как неуважение — попробуйте хотя бы немного.</span>
</div>
</li>
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.customs.2.title">Застольные традиции</strong>
<span data-i18n="travel_tips.customs.2.desc">Тамада — главный человек за столом. Тосты произносятся по очереди, первый — за Всевышнего. Пить до дна не обязательно, но пригубить нужно. Не перебивайте говорящего тост.</span>
</div>
</li>
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.customs.3.title">Уважение к старшим</strong>
<span data-i18n="travel_tips.customs.3.desc">В Абхазии глубоко чтят старших по возрасту. При встрече первым здоровается младший. В присутствии старших не принято громко говорить, курить или сидеть в вольной позе.</span>
</div>
</li>
<li class="tips-list-item">
<div class="tips-list-marker"><i class="fas fa-check"></i></div>
<div class="tips-list-text">
<strong data-i18n="travel_tips.customs.4.title">Местная кухня</strong>
<span data-i18n="travel_tips.customs.4.desc">Обязательно попробуйте: абысту (мамалыга), аджику, хачапури, копчёный сыр, ачапу (фасоль с орехами), шашлык, свежую форель. Национальные напитки — чача и местное вино.</span>
</div>
</li>
</ul>
</div>
</div>
<!-- Mobile Operators -->
<div class="travel-tips-operators animate-on-scroll">
<div class="tips-card" style="grid-column: 1/-1;">
<div class="tips-card-header">
<div class="tips-card-icon sea"><i class="fas fa-signal"></i></div>
<h3 class="tips-card-title" data-i18n="travel_tips.mobile.title">Мобильная связь и интернет</h3>
</div>
<p style="color: rgba(255,255,255,0.6); font-size: clamp(0.8rem, 1.3vw, 0.9rem); margin-bottom: 18px;" data-i18n="travel_tips.mobile.subtitle">Какие операторы работают в Абхазии, условия роуминга и как получить местную SIM-карту</p>
<div class="operators-title">
<i class="fas fa-flag" style="font-size: 0.85rem;"></i>
<span data-i18n="travel_tips.operators.russian.title">Российские операторы в Абхазии</span>
</div>
<div class="operators-grid">
<!-- MTS - Featured -->
<div class="operator-card featured">
<div class="operator-badge" data-i18n="travel_tips.operators.mts.badge">Лучшее предложение</div>
<div class="operator-header">
<div class="operator-logo mts">MTC</div>
<div>
<div class="operator-name" data-i18n="travel_tips.operators.mts.name">МТС</div>
<div class="operator-plan" data-i18n="travel_tips.operators.mts.plan">«Забугорище»</div>
</div>
</div>
<div class="operator-rows">
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_in">Входящие</span>
<span class="operator-row-value highlight" data-i18n="travel_tips.operators.mts.calls_in">Бесплатно (первые 10 мин каждого вызова)</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_out">Исходящие в РФ</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.mts.calls_out">9,50 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.internet">Интернет</span>
<span class="operator-row-value highlight" data-i18n="travel_tips.operators.mts.internet">700 МБ/мес бесплатно. Далее — 3,50 ₽/МБ</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.bonus">Бонусы</span>
<span class="operator-row-value bonus" data-i18n="travel_tips.operators.mts.bonus">Яндекс Карты, 2ГИС и банковские приложения — безлимитно и без расхода пакета</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.activation">Как подключить</span>
<span class="operator-row-value activation" data-i18n="travel_tips.operators.mts.activation">USSD *111*333# или в приложении «Мой МТС»</span>
</div>
</div>
</div>
<!-- MegaFon -->
<div class="operator-card">
<div class="operator-header">
<div class="operator-logo megafon">M</div>
<div>
<div class="operator-name" data-i18n="travel_tips.operators.megafon.name">МегаФон</div>
<div class="operator-plan" data-i18n="travel_tips.operators.megafon.plan">Роуминг в Абхазии</div>
</div>
</div>
<div class="operator-rows">
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_in">Входящие</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.megafon.calls_in">9 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_out">Исходящие в РФ</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.megafon.calls_out">9 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.internet">Интернет</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.megafon.internet">~9 ₽/МБ без опции. Рекомендуется опция «Отпуск онлайн» — пакеты минут и ГБ со скидкой</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.bonus">Бонусы</span>
<span class="operator-row-value bonus" data-i18n="travel_tips.operators.megafon.bonus">Опция «Отпуск онлайн»: пакеты от 300 ₽ (минуты + ГБ)</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.activation">Как подключить</span>
<span class="operator-row-value activation" data-i18n="travel_tips.operators.megafon.activation">В приложении МегаФон → Роуминг</span>
</div>
</div>
</div>
<!-- Beeline -->
<div class="operator-card">
<div class="operator-header">
<div class="operator-logo beeline">B</div>
<div>
<div class="operator-name" data-i18n="travel_tips.operators.beeline.name">Билайн</div>
<div class="operator-plan" data-i18n="travel_tips.operators.beeline.plan">Роуминг по миру</div>
</div>
</div>
<div class="operator-rows">
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_in">Входящие</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.beeline.calls_in">9 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_out">Исходящие в РФ</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.beeline.calls_out">9 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.internet">Интернет</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.beeline.internet">Пакеты ГБ в приложении. Без пакета — ~10 ₽/МБ</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.bonus">Бонусы</span>
<span class="operator-row-value bonus" data-i18n="travel_tips.operators.beeline.bonus">Приложение Билайн работает без расхода трафика. Пакеты от 300 ₽</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.activation">Как подключить</span>
<span class="operator-row-value activation" data-i18n="travel_tips.operators.beeline.activation">В приложении «Мой Билайн» → Роуминг</span>
</div>
</div>
</div>
<!-- Yota -->
<div class="operator-card">
<div class="operator-header">
<div class="operator-logo yota">Yo</div>
<div>
<div class="operator-name" data-i18n="travel_tips.operators.yota.name">Yota</div>
<div class="operator-plan" data-i18n="travel_tips.operators.yota.plan">Роуминг (сеть МегаФон)</div>
</div>
</div>
<div class="operator-rows">
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_in">Входящие</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.yota.calls_in">~10 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_out">Исходящие в РФ</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.yota.calls_out">~10 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.internet">Интернет</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.yota.internet">~15 ₽/МБ. Пакеты роуминга не предусмотрены</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.bonus">Бонусы</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.yota.bonus"></span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.activation">Как подключить</span>
<span class="operator-row-value activation" data-i18n="travel_tips.operators.yota.activation">Автоматически, проверьте в приложении Yota</span>
</div>
</div>
</div>
<!-- Tele2 -->
<div class="operator-card">
<div class="operator-header">
<div class="operator-logo tele2">T2</div>
<div>
<div class="operator-name" data-i18n="travel_tips.operators.tele2.name">Tele2</div>
<div class="operator-plan" data-i18n="travel_tips.operators.tele2.plan">Роуминг в Абхазии</div>
</div>
</div>
<div class="operator-rows">
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_in">Входящие</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.tele2.calls_in">~10 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.calls_out">Исходящие в РФ</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.tele2.calls_out">~10 ₽/мин</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.internet">Интернет</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.tele2.internet">~15 ₽/МБ. Ограниченное покрытие — проверьте доступность</span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.bonus">Бонусы</span>
<span class="operator-row-value" data-i18n="travel_tips.operators.tele2.bonus"></span>
</div>
<div class="operator-row">
<span class="operator-row-label" data-i18n="travel_tips.operators.labels.activation">Как подключить</span>
<span class="operator-row-value activation" data-i18n="travel_tips.operators.tele2.activation">Проверьте в приложении Tele2 — может потребоваться подключение</span>
</div>
</div>
</div>
</div>
<!-- Local SIM -->
<div class="local-sim-card">
<div class="local-sim-icon"><i class="fas fa-sim-card"></i></div>
<div class="local-sim-body">
<h4 data-i18n="travel_tips.operators.local.title">Местные операторы и SIM-карты</h4>
<p data-i18n="travel_tips.operators.local.desc">В Абхазии работают два местных оператора: А-Мобайл и Аквафон. SIM-карту можно купить в любом салоне связи в Гудауте или Гагре. Потребуется паспорт РФ. Стоимость стартового пакета — от 200 ₽. Местная связь выгоднее для звонков внутри Абхазии.</p>
<div class="local-sim-note">
<i class="fas fa-exclamation-triangle"></i>
<span data-i18n="travel_tips.operators.local.note">Важно! Перед поездкой уточните актуальные условия в приложении вашего оператора — тарифы могут меняться.</span>
</div>
</div>
</div>
<!-- Footnote -->
<div class="travel-tips-footnote">
<p>
<i class="fas fa-info-circle"></i>
<span data-i18n="travel_tips.note">Тарифы указаны ориентировочно. Пожалуйста, проверяйте актуальные условия у вашего оператора перед поездкой.</span>
</p>
</div>
</div>
</div>
</div>
</section>
<!-- CTA Banner -->
<section class="section section-light" style="background: #fff;">
<div class="container">
<div class="cta-banner animate-on-scroll">
<h2 data-i18n="cta.title">Забронируйте номер прямо сейчас!</h2>
<p data-i18n="cta.subtitle">Лучшие цены гарантированы при бронировании напрямую. Позвоните Рауфу Алексеевичу или оставьте заявку.</p>
<a href="tel:89409270080" class="btn-dark-cta" data-phone="tel" data-phone-text><i class="fas fa-phone"></i> 8 (940) 927-00-80</a>
</div>
</div>
</section>
<!-- Reviews Section -->
<section class="section reviews-section" id="reviews">
<div class="container">
<div class="section-header animate-on-scroll">
<div class="section-badge" data-i18n="nav.reviews">Отзывы</div>
<h2 class="section-title" data-i18n="reviews.title">Что говорят наши гости</h2>
<div class="abkhazian-pattern"></div>
</div>
<div class="reviews-grid" id="reviewsGrid"></div>
<div class="reviews-empty" id="reviewsEmpty" style="display: none;">
<i class="fas fa-star-half-alt"></i>
<p data-i18n="reviews.write_first">Будьте первым, кто оставит отзыв!</p>
</div>
<div class="reviews-actions">
<button class="btn-gold" onclick="openReviewModal()">
<i class="fas fa-pen"></i> <span data-i18n="reviews.leave_review">Оставить отзыв</span>
</button>
</div>
</div>
</section>
<!-- Host Section -->
<section class="section section-light" id="host">
<div class="container">
<div class="section-header animate-on-scroll">
<div class="section-badge"><span data-i18n="host.badge">Хозяин Hotel 777</span></div>
<h2 class="section-title">Рауф Алексеевич</h2>
<div class="abkhazian-pattern"></div>
</div>
<div class="host-card animate-on-scroll">
<div class="host-image">
<div class="host-portrait">
<div class="host-portrait-ring"></div>
<i class="fas fa-user" style="position: relative; z-index: 2;"></i>
</div>
</div>
<div class="host-body">
<p style="font-size: 1.1rem; color: var(--gold); font-weight: 600; margin-bottom: 20px; font-style: italic;" data-i18n="host.quote">
«Абхазское гостеприимство — это не работа, это образ жизни»
</p>
<p style="font-size: 1rem; color: #666; line-height: 1.7; margin-bottom: 25px;" data-i18n="host.desc1">
Рауф Алексеевич — настоящий хозяин и душа Hotel 777. Он встречает каждого гостя с теплотой и заботой, как родного человека. Всегда подскажет лучшие маршруты по Абхазии, организует экскурсии к самым красивым местам — Новоафонскому монастырю, озеру Рица, Гагрскому парку.
</p>
<p style="font-size: 1rem; color: #666; line-height: 1.7; margin-bottom: 25px;" data-i18n="host.desc2">
Домашняя кухня — отдельная достопримечательность гостиницы. Свежие местные продукты, абхазские и русские блюда, приготовленные с душой — абиц, ачапа, хачапури, шашлык и многое другое. Чистые номера, искренняя улыбка и внимание к каждой детали — это то, что делает Hotel 777 особенным.
</p>
<a href="tel:89409270080" class="host-contact" data-phone="tel" data-phone-text>
<i class="fas fa-phone"></i> 8 (940) 927-00-80
</a>
</div>
</div>
</div>
</section>
<!-- Contact Section -->
<section class="section contact-section" id="contact">
<div class="container">
<div class="section-header animate-on-scroll">
<div class="section-badge"><span data-i18n="contact.badge">Контакты</span></div>
<h2 class="section-title" style="color: #fff;" data-i18n="contact.title">Свяжитесь с нами</h2>
<div class="abkhazian-pattern"></div>
<p class="section-subtitle" data-i18n="contact.subtitle">Рауф Алексеевич всегда рад ответить на ваши вопросы и помочь спланировать идеальный отдых</p>
</div>
<div class="row g-5">
<div class="col-lg-5 animate-on-scroll">
<div class="contact-info-item">
<div class="contact-icon"><i class="fas fa-user-tie"></i></div>
<div>
<div class="contact-label"><span data-i18n="contact.host_label">Хозяин гостиницы</span></div>
<div class="contact-value">Рауф Алексеевич</div>
</div>
</div>
<div class="contact-info-item">
<div class="contact-icon"><i class="fas fa-map-marker-alt"></i></div>
<div>
<div class="contact-label"><span data-i18n="contact.address_label">Адрес</span></div>
<div class="contact-value" data-i18n="contact.address_value">Абхазия, Гудаутский район,<br>с. Мгудзырхуа, Набережная ул., 1</div>
</div>
</div>
<div class="contact-info-item">
<div class="contact-icon"><i class="fas fa-phone"></i></div>
<div>
<div class="contact-label"><span data-i18n="contact.phone_label">Телефон</span></div>
<div class="contact-value"><a href="tel:89409270080" data-phone="tel" data-phone-text>8 (940) 927-00-80</a></div>
</div>
</div>
<div class="contact-info-item">
<div class="contact-icon"><i class="fas fa-clock"></i></div>
<div>
<div class="contact-label"><span data-i18n="contact.hours_label">Режим работы</span></div>
<div class="contact-value" data-i18n="contact.hours_value">Круглосуточно, 365 дней в году</div>
</div>
</div>
<div class="contact-info-item">
<div class="contact-icon"><i class="fas fa-water"></i></div>
<div>
<div class="contact-label"><span data-i18n="contact.location_label">Расположение</span></div>
<div class="contact-value" data-i18n="contact.location_value">На берегу реки Гудаута,<br>5 минут до Чёрного моря</div>
</div>
</div>
<div class="mt-4">
<a href="https://wa.me/89409270080" class="btn-gold" target="_blank" style="text-decoration: none;" data-phone="wa">
<i class="fab fa-whatsapp"></i> <span data-i18n="contact.whatsapp">Написать Рауфу в WhatsApp</span>
</a>
</div>
</div>
<div class="col-lg-7 animate-on-scroll">
<div class="map-container">
<i class="fas fa-map-marked-alt"></i>
<span data-i18n="contact.map_area">Гудаутский район, Абхазия</span>
<span style="font-size: 0.8rem; color: rgba(255,255,255,0.4);">E 40.5° N 43.1°</span>
<div style="padding: 20px; text-align: center;">
<p style="color: rgba(255,255,255,0.5); font-size: 0.9rem;">
<i class="fas fa-info-circle me-2"></i>
<span data-i18n="contact.map_desc">Мгудзырхуа — уютное село на Набережной улице, окружённое виноградниками и горами.
Чистый воздух, тишина и близость к морю — идеальное место для отдыха.</span>
</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="row g-4">
<div class="col-lg-4">
<div class="footer-brand">HOTEL <span>777</span></div>
<p class="footer-desc" data-i18n="footer.desc">Гостиница на берегу Чёрного моря в Абхазии. Комфортные номера, домашняя кухня Рауфа Алексеевича и настоящее абхазское гостеприимство.</p>
<div class="footer-social">
<a href="#" data-phone="wa"><i class="fab fa-whatsapp"></i></a>
<a href="#" data-phone="tg"><i class="fab fa-telegram"></i></a>
<a href="#" data-phone="max"><span class="max-icon-circle-footer">M</span></a>
<a href="#" data-phone="ig"><i class="fab fa-instagram"></i></a>
<a href="tel:89409270080" data-phone="tel"><i class="fas fa-phone"></i></a>
</div>
</div>
<div class="col-lg-2 col-md-4">
<div class="footer-title" data-i18n="footer.nav_title">Навигация</div>
<ul class="footer-links">
<li><a href="#home">Главная</a></li>
<li><a href="#about" data-i18n="nav.about">О нас</a></li>
<li><a href="#rooms" data-i18n="nav.rooms">Номера</a></li>
<li><a href="#gallery" data-i18n="nav.gallery">Галерея</a></li>
<li><a href="#travel-tips" data-i18n="nav.travel_tips">Уголок туриста</a></li>
<li><a href="#reviews" data-i18n="nav.reviews">Отзывы</a></li>
<li><a href="#host" data-i18n="nav.host">Хозяин</a></li>
<li><a href="/admin" style="color: var(--gold);"><i class="fas fa-cog"></i> <span data-i18n="nav.admin">Управление</span></a></li>
</ul>
</div>
<div class="col-lg-3 col-md-4">
<div class="footer-title" data-i18n="footer.services_title">Услуги</div>
<ul class="footer-links">
<li><a href="#rooms" data-i18n="footer.services_econom">Номера Эконом</a></li>
<li><a href="#rooms" data-i18n="footer.services_standard">Номера Стандарт</a></li>
<li><a href="#rooms" data-i18n="footer.services_vip">Номера VIP</a></li>
<li><a href="#activities" data-i18n="footer.services_sup">Аренда SUP-бордов</a></li>
<li><a href="#activities" data-i18n="footer.services_canteen">Столовая</a></li>
</ul>
</div>
<div class="col-lg-3 col-md-4">
<div class="footer-title" data-i18n="footer.contact_title">Контакты</div>
<ul class="footer-links">
<li><a href="tel:89409270080" data-phone="tel" data-phone-text><i class="fas fa-phone me-2"></i>8 (940) 927-00-80</a></li>
<li><a href="#"><i class="fas fa-user me-2"></i>Рауф Алексеевич</a></li>
<li><a href="#"><i class="fas fa-map-marker-alt me-2"></i>с. Мгудзырхуа</a></li>
<li><a href="#"><i class="fas fa-water me-2"></i>Набережная ул., 1</a></li>
<li><a href="#"><i class="fas fa-flag me-2"></i>Абхазия, Гудаутский р</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p data-i18n="footer.copyright">© <span id="copyrightYear">2025</span> Hotel 777. Хозяин — Рауф Алексеевич. Все права защищены. Абхазия, Гудаутский район, с. Мгудзырхуа.</p>
<p class="footer-legal">
<a href="/privacy">Политика конфиденциальности</a>
<span class="footer-legal-divider">|</span>
<a href="/terms">Пользовательское соглашение</a>
</p>
</div>
</div>
</footer>
<!-- Floating Phone Button -->
<a href="tel:89409270080" class="float-phone" data-phone="tel">
<i class="fas fa-phone"></i>
</a>
<!-- Booking Modal -->
<div class="modal fade" id="bookingModal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" style="font-family: 'Playfair Display', serif; font-size: 1.5rem;">
<i class="fas fa-calendar-check me-2"></i><span data-i18n="booking.title">Бронирование номера</span>
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<form id="bookingForm">
<div class="mb-3">
<label class="form-label"><i class="fas fa-door-open me-1"></i> <span data-i18n="booking.selected_room">Выбранный номер</span></label>
<input type="text" class="form-control" id="selectedRoom" name="room" readonly style="background: #f0f4f8; font-weight: 600;">
<input type="hidden" id="selectedRoomId" name="room_id">
</div>
<div class="row g-2">
<div class="col-md-6">
<label class="form-label"><i class="fas fa-user me-1"></i> <span data-i18n="booking.your_name">Ваше имя</span></label>
<input type="text" class="form-control" name="name" data-i18n-placeholder="booking.name_placeholder" placeholder="Иван Иванов" required>
</div>
<div class="col-md-6">
<label class="form-label"><i class="fas fa-phone me-1"></i> <span data-i18n="booking.phone">Телефон</span></label>
<input type="tel" class="form-control" name="phone" data-i18n-placeholder="booking.phone_placeholder" placeholder="+7 (___) ___-__-__" required>
</div>
</div>
<div class="row g-2 mt-2">
<div class="col-5">
<label class="form-label"><i class="fas fa-calendar-alt me-1"></i> <span data-i18n="booking.checkin">Дата заезда</span></label>
<input type="date" class="form-control" name="checkin" required>
</div>
<div class="col-2 d-flex align-items-center justify-content-center" style="padding-top: 1.8rem;">
<span id="nightsCount" style="background:#f0f4f8;padding:4px 12px;border-radius:20px;font-size:0.85rem;color:#64748b;white-space:nowrap;">1 ночь</span>
</div>
<div class="col-5">
<label class="form-label"><i class="fas fa-calendar-check me-1"></i> <span data-i18n="booking.checkout">Дата выезда</span></label>
<input type="date" class="form-control" name="checkout" required>
</div>
</div>
<div class="row g-2 mt-2">
<div class="col-md-5">
<label class="form-label"><i class="fas fa-users me-1"></i> <span data-i18n="booking.guests">Кол-во гостей</span></label>
<select class="form-select" name="guests">
<option value="1" data-i18n="booking.guest_1">1 гость</option>
<option value="2" data-i18n="booking.guest_2">2 гостя</option>
<option value="3" data-i18n="booking.guest_3">3 гостя</option>
<option value="4" data-i18n="booking.guest_4">4 гостя</option>
</select>
</div>
<div class="col-md-7">
<label class="form-label"><i class="fas fa-comment me-1"></i> <span data-i18n="booking.wishes">Пожелания</span></label>
<input type="text" class="form-control" name="wishes" data-i18n-placeholder="booking.wishes_placeholder" placeholder="Вид на море, этаж...">
</div>
</div>
<div class="mt-2">
<label class="form-label"><i class="fas fa-tag me-1"></i> <span data-i18n="booking.promocode">Промокод</span></label>
<div class="input-group">
<input type="text" class="form-control" id="promocodeInput" name="promocode" data-i18n-placeholder="booking.promocode_placeholder" placeholder="Введите промокод" style="text-transform: uppercase;">
<button type="button" class="btn btn-outline-primary" id="checkPromocodeBtn"><i class="fas fa-check me-1"></i><span data-i18n="booking.promocode_check">Проверить</span></button>
</div>
<div id="promocodeError" class="text-danger small mt-1" style="display: none;"></div>
</div>
<div id="priceInfo" class="mt-3" style="display: none; padding: 15px; background: #f8f9fa; border-radius: 10px;">
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
<span data-i18n="booking.base_price">Базовая стоимость:</span>
<span id="basePriceDisplay"></span>
</div>
<div style="display: flex; justify-content: space-between; margin-bottom: 8px; color: #16a34a;">
<span><span data-i18n="booking.discount">Скидка</span> (<span id="discountPercentDisplay">0</span>%):</span>
<span id="discountAmountDisplay"></span>
</div>
<div style="display: flex; justify-content: space-between; font-weight: 700; font-size: 1.1rem; border-top: 1px solid #dee2e6; padding-top: 8px;">
<span data-i18n="booking.total">Итого к оплате:</span>
<span id="totalPriceDisplay" style="color: var(--primary);"></span>
</div>
</div>
<div class="mt-4">
<div class="form-check mb-3" style="font-size: 0.8rem; color: #64748b;">
<input class="form-check-input" type="checkbox" id="privacyConsent" required style="margin-top: 0.3rem;">
<label class="form-check-label" for="privacyConsent">
<span data-i18n="booking.consent">Я согласен на обработку персональных данных в соответствии с</span>
<a href="/privacy" target="_blank" style="color: var(--primary); text-decoration: underline;">Политикой конфиденциальности</a>
</label>
</div>
<button type="submit" class="btn-submit-booking">
<i class="fas fa-paper-plane me-2"></i><span data-i18n="booking.submit">Отправить заявку</span>
</button>
</div>
<p class="text-center mt-3" style="font-size: 0.8rem; color: #999;">
Или позвоните Рауфу Алексеевичу: <a href="tel:89409270080" style="color: var(--primary); font-weight: 600;" data-phone="tel" data-phone-text>8 (940) 927-00-80</a>
</p>
</form>
</div>
</div>
</div>
</div>
<script src="js/bootstrap.bundle.min.js"></script>
<script src="js/rooms-public.js?v=20260511"></script>
<script src="js/main.js?v=20260511b"></script>
<script src="js/i18n.js"></script>
<script src="js/reviews.js"></script>
<script>
(function() {
function formatPhone(raw) {
if (!raw || raw.length < 5) return raw;
var d = raw.replace(/\D/g, '');
if (d.length === 11 && d[0] === '8') {
return '8 (' + d.substring(1, 4) + ') ' + d.substring(4, 7) + '-' + d.substring(7, 9) + '-' + d.substring(9, 11);
}
if (d.length === 10) {
return '8 (' + d.substring(0, 3) + ') ' + d.substring(3, 6) + '-' + d.substring(6, 8) + '-' + d.substring(8, 10);
}
return raw;
}
fetch('/api/config')
.then(function(r) { return r.json(); })
.then(function(cfg) {
var primary = cfg.phone_primary || '89409270080';
var additional = cfg.phone_additional || '';
var whatsappNum = cfg.whatsapp_num || primary;
var whatsappActive = cfg.whatsapp_active || 'true';
var telegramId = cfg.telegram_id || ('+' + primary);
var telegramActive = cfg.telegram_active || 'true';
var maxLink = cfg.max_link || 'kalugin66';
var maxActive = cfg.max_active || 'true';
var instagramId = cfg.instagram_id || '';
var instagramActive = cfg.instagram_active || 'true';
var displayText = formatPhone(primary);
if (additional) displayText += ', ' + formatPhone(additional);
document.querySelectorAll('[data-phone]').forEach(function(el) {
var type = el.getAttribute('data-phone');
var href = '#';
var active = true;
if (type === 'tel') href = 'tel:' + primary;
else if (type === 'wa') { href = 'https://wa.me/' + whatsappNum; active = whatsappActive === 'true'; }
else if (type === 'tg') {
href = 'https://t.me/' + telegramId;
active = telegramActive === 'true';
}
else if (type === 'max') { href = 'https://max.ru/' + maxLink; active = maxActive === 'true'; }
else if (type === 'ig') {
if (instagramId) href = 'https://instagram.com/' + instagramId;
active = instagramActive === 'true';
}
if (!/^(https?:\/\/|tel:|mailto:|#)/.test(href)) href = '#';
el.setAttribute('href', href);
if (href === '#') active = false;
if (!active) el.style.display = 'none';
});
document.querySelectorAll('[data-phone-text]').forEach(function(el) {
var t = el.textContent.trim();
var icon = el.querySelector('i');
if (t.match(/^8\s*\(?\d{3}\)?\s*\d{3}[\s-]*\d{2}[\s-]*\d{2}$/) || t.match(/^8\s*\(?\d{3}\)?/)) {
if (icon) {
el.innerHTML = '';
el.appendChild(icon.cloneNode(true));
el.appendChild(document.createTextNode(' ' + displayText));
} else {
el.textContent = displayText;
}
}
});
})
.catch(function(err) { console.error('Config load failed:', err); });
function acceptCookies() {
try { localStorage.setItem('cookie_consent', '1'); } catch(e) {}
document.getElementById('cookieBanner').classList.remove('show');
}
window.acceptCookies = acceptCookies;
function initCookieBanner() {
try {
if (localStorage.getItem('cookie_consent') === '1') return;
} catch(e) {}
document.getElementById('cookieBanner').classList.add('show');
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initCookieBanner);
} else {
initCookieBanner();
}
})();
</script>
<!-- Review Modal -->
<div class="review-modal" id="reviewModal">
<div class="review-modal-content">
<div class="review-modal-header">
<h3 data-i18n="reviews.write_review">Написать отзыв</h3>
<button class="review-modal-close" onclick="closeReviewModal()">&times;</button>
</div>
<div class="review-modal-body" id="reviewModalBody">
<form id="reviewForm">
<div class="review-row">
<div class="review-form-group">
<label data-i18n="form.select_country">Страна</label>
<div class="review-select-wrapper">
<select class="review-form-control" id="reviewCountry" required>
<option value="" data-i18n="form.select_country">Выберите страну (необязательно)</option>
</select>
</div>
<div class="review-error" id="countryError" data-i18n="validation.country_required">Выберите страну</div>
</div>
<div class="review-form-group" id="otherCountryGroup" style="display: none;">
<label data-i18n="form.another_country">Другая страна</label>
<input type="text" class="review-form-control" id="reviewOtherCountry" data-i18n-placeholder="form.country_placeholder" placeholder="Введите название страны">
</div>
<div class="review-form-group">
<label data-i18n="form.select_city">Город (необязательно)</label>
<div class="review-select-wrapper" id="citySelectWrapper">
<select class="review-form-control" id="reviewCity">
<option value="" data-i18n="form.select_city">Выберите город</option>
</select>
</div>
<div class="review-error" id="cityError" data-i18n="validation.city_required">Выберите или введите город</div>
</div>
</div>
<div class="review-form-group" id="otherCityGroup" style="display: none;">
<label data-i18n="form.another_city">Другой город</label>
<input type="text" class="review-form-control" id="reviewOtherCity" data-i18n-placeholder="form.city_placeholder" placeholder="Введите название города">
<div class="review-error" data-i18n="validation.city_required">Введите название города</div>
</div>
<div class="review-form-group">
<label data-i18n="form.rating">Оценка</label>
<div class="review-stars-input">
<div class="review-stars-slider-wrapper">
<div class="review-stars-display" id="starsDisplay"></div>
<div class="review-stars-value" id="starsValue">5.0</div>
</div>
<input type="range" class="review-stars-slider" id="starsSlider" min="0" max="5" step="0.1" value="5" style="--value: 100%;">
</div>
<div class="review-error" data-i18n="validation.rating_required">Поставьте оценку</div>
</div>
<div class="review-form-group">
<label data-i18n="form.your_name">Ваше имя (ФИО) <span class="required">*</span></label>
<input type="text" class="review-form-control" id="reviewName" required data-i18n-placeholder="form.name_placeholder" placeholder="Иванов Иван Иванович" minlength="2">
<div class="review-error" data-i18n="validation.name_min">Имя должно содержать минимум 2 символа</div>
</div>
<div class="review-form-group">
<label data-i18n="form.review_text">Текст отзыва <span class="required">*</span></label>
<textarea class="review-form-control" id="reviewText" rows="4" required data-i18n-placeholder="form.review_placeholder" placeholder="Расскажите о вашем опыте отдыха в Hotel 777..." minlength="20"></textarea>
<div class="review-error" id="textError" data-i18n="validation.review_min">Отзыв должен содержать минимум 20 символов</div>
</div>
<div class="review-form-group">
<label data-i18n="form.hotel_code">Код гостиницы <span class="required">*</span></label>
<input type="text" class="review-form-control" id="reviewCode" required data-i18n-placeholder="form.code_placeholder" placeholder="Получите на ресепшене">
<small class="hint" data-i18n="form.code_hint">Код сообщается гостям на ресепшене отеля</small>
<div class="review-error" id="codeError" data-i18n="validation.code_invalid">Неверный код гостиницы</div>
</div>
</form>
</div>
<div class="review-modal-footer">
<button type="button" class="review-btn-cancel" onclick="closeReviewModal()" data-i18n="form.cancel">Отмена</button>
<button type="submit" class="review-btn-submit" form="reviewForm" id="reviewSubmitBtn">
<span data-i18n="form.submit">Отправить отзыв</span>
</button>
</div>
</div>
</div>
<!-- Gallery Lightbox -->
<div class="gallery-lightbox" id="galleryLightbox" onclick="closeLightbox()">
<div class="gallery-lightbox-close" onclick="closeLightbox()">&times;</div>
<div class="gallery-lightbox-caption" id="galleryLightboxCaption"></div>
<img class="gallery-lightbox-img" id="galleryLightboxImg" src="" alt="">
</div>
<!-- Cookie Consent Banner -->
<div class="cookie-banner" id="cookieBanner">
<div class="cookie-banner-content">
<div class="cookie-banner-text">
<i class="fas fa-cookie-bite"></i>
<span>Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с <a href="/privacy" target="_blank">Политикой конфиденциальности</a>.</span>
</div>
<button class="cookie-accept-btn" onclick="acceptCookies()">Принимаю</button>
</div>
</div>
</body>
</html>