/* ===== Тема: спокойный изумруд ===== */
:root{
  --primary:#2e7d32;            /* акцент для текста/рамок */
  --primary-600:#27692a;
  --primary-rgb:46,125,50;

  --cta:#0f3d2e;                /* кнопка «Забронировать» и звонок */
  --cta-600:#0b2f24;
  --cta-rgb:15,61,46;

  --dark:#2b2d42;
  --muted:#6b7280;
  --bg:#f7f8fa;
  --card:#ffffff;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg); color:var(--dark);
  font-family:"Inter",system-ui,Segoe UI,Roboto,Arial,sans-serif}

/* Навбар и кнопки */
.navbar{ box-shadow:0 2px 10px rgba(0,0,0,.05); background:#fff; }
.btn-primary{ background:var(--primary); border-color:var(--primary); }
.btn-primary:hover{ background:var(--primary-600); border-color:var(--primary-600); }
.btn-outline-primary{ color:var(--primary); border-color:var(--primary); }
.btn-outline-primary:hover{ background:var(--primary); color:#fff; }

/* Кнопка брони (дорогой тёмно-зелёный) */
.btn-cta{
  background:var(--cta);
  border-color:var(--cta);
  color:#fff !important;
  font-weight:600;
  letter-spacing:.2px;
  transition:.15s ease;
  box-shadow:0 6px 16px rgba(var(--cta-rgb), .25);
}
.btn-cta:hover{
  background:var(--cta-600);
  border-color:var(--cta-600);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(var(--cta-rgb), .28);
}
.btn-cta:focus{
  box-shadow:0 0 0 .2rem rgba(var(--cta-rgb), .25);
}
.navbar .btn-cta{
  background:var(--cta) !important;
  border-color:var(--cta) !important;
  color:#fff !important;
}

/* HERO — фото + нейтральное затемнение */
.hero{
  border-radius:18px; min-height:360px;
  display:flex; align-items:center;
  padding:48px; color:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
  background:
    linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.35)),  /* затемнение */
    url('/assets/hero.jpg') center/cover no-repeat,   /* твоё фото */
    #0f1f16;                                                  /* фолбек */
}
.hero h1{ font-weight:800; }

/* Карточки, сетки */
.card-soft{
  background:var(--card); border:none; border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(0,0,0,.07);
}
.object-cover{ width:100%; height:100%; object-fit:cover; }

/* Бейджи цен — белые с зелёной рамкой */
.badge-price{
  display:inline-block; background:#fff; color:var(--primary);
  border:1px solid rgba(var(--primary-rgb),.25);
  padding:4px 10px; border-radius:999px; font-weight:600; font-size:13px;
}

/* Форма */
.form-control:focus, .form-select:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 .2rem rgba(var(--primary-rgb), .15);
}

/* Галерея */
.gallery img{
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  transition:transform .2s ease;
}
.gallery img:hover{ transform:translateY(-2px); }

/* Футер */
footer{ background:#fff; }

/* Бренд в шапке */
.navbar .brand{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1;
  text-decoration:none;
}
.navbar .brand-title{
  font-weight:800;
  font-size:22px;              /* можно 24, если хочется крупнее */
  color:var(--cta);            /* тёмно-зелёный фирменный */
  letter-spacing:.2px;
}
.navbar .brand-sub{
  font-weight:600;
  font-size:12px;
  color:var(--muted);          /* спокойный серый */
}

/* Плавающая круглая кнопка звонка (нижний правый угол) */
.fab-call{
  position: fixed;
  right: 20px; bottom: 20px;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--cta);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(var(--cta-rgb), .35);
  z-index: 1060;
  text-decoration: none;
}
.fab-call:hover{
  background: var(--cta-600);
  color:#fff;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(var(--cta-rgb), .40);
}
.fab-call i{ font-size: 22px; line-height: 1; }
@media (max-width: 576px){
  .fab-call{ right: 14px; bottom: 14px; width: 54px; height: 54px; }
}
/* --- Контакты/карта --- */
.contact-card{ border-radius:14px; }
.map-box{ height:360px; min-height:300px; border-left:1px solid #eee; }
@media (max-width: 991.98px){
  .map-box{ border-left:none; height:300px; }
}
.icon-list{ display:flex; flex-direction:column; gap:14px; }
.contact-item{ display:flex; gap:12px; align-items:flex-start; }
.contact-icon{
  width:36px; height:36px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(var(--primary-rgb), .1); color:var(--cta);
  flex:0 0 36px;
}
/* === Секция "Что проводим" === */
.events { }
.events-grid{
  display:flex; flex-wrap:wrap; gap:12px;
}
.events-note{
  margin: 6px 0 4px;
  font-size: 14px;
}

.chip{
  display:flex; align-items:center; gap:10px;
  background: rgba(var(--cta-rgb), .06);
  border:1px solid rgba(var(--cta-rgb), .10);
  color: var(--dark);
  padding:12px 14px;
  border-radius:16px;
  text-decoration:none;
  min-width: 240px;  /* удобно читать */
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
  transition: .15s ease;
}
.chip:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
}
.chip-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:10px;
  background: rgba(var(--cta-rgb), .12);
  color: var(--cta);
  font-size: 18px;
}
.chip-icon.emoji{ font-size: 20px; background: transparent; }

.chip-text{ display:flex; flex-direction:column; line-height:1.2; }
.chip-title{ font-weight:700; }
.chip-sub{ font-size:12px; color: var(--muted); }

/* Вариант для поминальных: спокойный нейтральный */
.chip-solemn{
  background:#f1f3f2;
  border-color: #e5e7e6;
  box-shadow: 0 4px 10px rgba(0,0,0,.03);
}
.chip-solemn .chip-title{ font-weight:700; color:#3d4a41; }
.chip-solemn .chip-sub{ color:#7b837e; }
.chip-solemn:hover{
  transform:none;                /* без «подпрыгивания» */
  box-shadow: 0 6px 14px rgba(0,0,0,.05);
}

/* Мобильный вид: горизонтальный скролл первого ряда */
@media (max-width: 575.98px){
  .events-grid{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }
  .chip{ min-width: 82%; }
  .events-grid.justify-content-center{ justify-content: flex-start !important; }
}

/* Подсветка поля "Формат" после автозаполнения */
.form-highlight{
  animation: hi 1.2s ease-out 1;
}
@keyframes hi{
  0%{ box-shadow: 0 0 0 .35rem rgba(var(--cta-rgb), .25); }
  100%{ box-shadow: none; }
}
/* === ФИКС ПРОКРУТКИ ПОД ЛИПКОЙ ШАПКОЙ ===
   Чтобы при клике на Залы/Кейтеринг/Галерея/О компании/Контакты
   секции не прятались под шапкой и не перелистывали слишком низко. */

/* Высота «зазора» для якорей */
:root { --nav-offset: 96px; }               /* десктоп */
@media (max-width: 991.98px){
  :root { --nav-offset: 78px; }             /* планшет/мобилка */
}

/* Любая секция с id (например #halls, #gallery, #contact) будет иметь запас сверху */
section[id]{
  scroll-margin-top: var(--nav-offset);
}

/* Для Залов и Галереи добавляем ещё +40px, чтобы фото не «резались» */
#halls, #gallery{
  scroll-margin-top: calc(var(--nav-offset) + 40px);
}

/* Чуть больше воздуха после галереи, чтобы она не «прилипала» к блоку карты */
#gallery{ margin-bottom: 4rem !important; }

/* (Опционально) плавная прокрутка по якорям */
html{ scroll-behavior: smooth; }
/* Резерв места для якоря #gallery, даже если фото мало */
#gallery .gallery{ min-height: 240px; } /* можно 280–320, если хочешь выше */
/* Плавающая кнопка Telegram (над кнопкой звонка) */
.fab-tg{
  position: fixed;
  right: 20px;
  bottom: 84px;           /* на 64px выше звонка, чтобы не перекрывались */
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #229ED9;   /* фирменный цвет Telegram */
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(34,158,217,.35);
  z-index: 1060;
  text-decoration: none;
}
.fab-tg:hover{
  background: #1c89bd;
  color:#fff;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(34,158,217,.40);
}
.fab-tg i{ font-size: 22px; line-height: 1; }

@media (max-width: 576px){
  .fab-tg{
    right: 14px; bottom: 84px;
    width: 54px; height: 54px;
  }
}
/* Плавающая плашка Яндекс-рейтинга (слева снизу) */
.fab-ya{
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 1060;
  width: 150px;
  height: 50px;
  border-radius: 12px;     /* скругление рамки iframe снаружи */
  overflow: hidden;        /* чтобы скругление работало */
  box-shadow: 0 10px 26px rgba(0,0,0,.20);
  background: #fff;        /* на случай, если iframe грузится дольше */
}
.fab-ya iframe{
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 576px){
  .fab-ya{
    left: 14px;
    bottom: 14px;
    transform: scale(.94);
    transform-origin: bottom left;
  }
}
