/* ===== Hero v2 ===== */
.gallery-hero-v2{
    position:relative; min-height:70vh; display:flex; align-items:flex-end;
    padding: 150px 0 70px;
    background: linear-gradient(160deg, #2c4436 0%, #14201a 100%);
    overflow:hidden;
}
.gallery-hero-fog{
    position:absolute; inset:0;
    background: radial-gradient(60% 50% at 30% 20%, rgba(232,220,196,.15), transparent 70%);
}
.gallery-hero-content{ position:relative; z-index:2; max-width:800px; padding:0 40px; color: var(--cream); }
.gallery-hero-content .eyebrow{ color: var(--sand); }
.gallery-hero-content h1{ font-size: clamp(36px,5.5vw,64px); margin:16px 0 18px; line-height:1.08; }
.gallery-hero-content p{ font-size:16px; color: rgba(245,241,232,.8); }

/* ===== Filter ===== */
.gallery-filter{
    display:flex; gap:10px; flex-wrap:nowrap; overflow-x:auto;
    padding: 28px 40px; background: var(--sand);
    border-bottom:1px solid rgba(31,46,34,.08);
    -webkit-overflow-scrolling:touch;
}
.gallery-filter::-webkit-scrollbar{ display:none; }
.filter-btn{
    flex:0 0 auto; padding:10px 20px; font-family: var(--sans); font-size:13px; font-weight:600;
    letter-spacing:.03em; border:1px solid rgba(31,46,34,.2); border-radius:20px;
    background:transparent; color: var(--ink); cursor:pointer; transition: all .25s ease;
}
.filter-btn.active, .filter-btn:hover{ background: var(--forest); border-color: var(--forest); color: var(--cream); }

/* ===== Masonry ===== */
.masonry-section{ background: var(--sand); padding: 50px 0 100px; }
.masonry-grid{
    max-width:1400px; margin:0 auto; padding:0 24px;
    display:grid; grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 220px; grid-auto-flow: dense; gap:14px;
}
.category-group{ display:contents; }
.masonry-tile{
    position:relative; overflow:hidden; border-radius:2px; display:block;
    grid-column: span 1; grid-row: span 1;
}
.masonry-tile:nth-child(6n+1){ grid-column: span 2; grid-row: span 2; }
.masonry-tile:nth-child(6n+4){ grid-row: span 2; }
.masonry-tile img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition: transform .6s cubic-bezier(.2,.7,.3,1), filter .4s ease;
}
.masonry-tile:hover img{ transform: scale(1.08); filter:brightness(.75); }
.masonry-tile-caption{
    position:absolute; left:16px; bottom:16px; color: var(--cream);
    font-size:13px; letter-spacing:.03em; opacity:0; transform:translateY(8px);
    transition: opacity .3s ease, transform .3s ease;
}
.masonry-tile:hover .masonry-tile-caption{ opacity:1; transform:translateY(0); }

@media (max-width:960px){
    .masonry-grid{ grid-template-columns: repeat(2,1fr); grid-auto-rows:160px; }
}

/* ===== Day story ===== */
.day-story{ background: var(--forest); color: var(--cream); padding:100px 0; }
.day-story .eyebrow{ color: var(--sand); }
.day-story h2{ font-size: clamp(28px,3.4vw,42px); margin:14px 0 44px; }
.day-story-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
.day-story-card{ }
.day-story-card .single-photo{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:2px; margin-bottom:18px; }
.day-story-label{ font-family: var(--serif); font-size:22px; margin-bottom:8px; }
.day-story-card p{ font-size:14px; color: rgba(245,241,232,.75); }
@media (max-width:860px){ .day-story-grid{ grid-template-columns:1fr; } }

/* ===== Detail section ===== */
.detail-section{ background: var(--sand); padding:100px 0; }
.detail-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:60px; align-items:center; }
.detail-photo .single-photo{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:2px; }
.detail-text h2{ font-size: clamp(26px,3.2vw,38px); margin:14px 0 18px; color: var(--forest); }
.detail-text p{ color:#4a4a3f; }
@media (max-width:860px){ .detail-grid{ grid-template-columns:1fr; } }

/* ===== LightGallery: только z-index ===== */
.lg-outer {
    z-index: 9999999 !important;
}
.lg-backdrop {
    z-index: 9999998 !important;
}

/* ===== Адаптация фильтра для мобильных ===== */
@media (max-width: 768px) {
  .gallery-filter {
    padding: 20px 16px; /* Уменьшаем отступы */
    gap: 8px; /* Уменьшаем расстояние между кнопками */
  }
  
  .filter-btn {
    padding: 8px 14px; /* Уменьшаем размер кнопок */
    font-size: 12px; /* Уменьшаем шрифт */
    white-space: nowrap; /* Запрещаем перенос текста */
  }
}

@media (max-width: 480px) {
  .gallery-filter {
    padding: 16px 12px;
    gap: 6px;
  }
  
  .filter-btn {
    padding: 6px 12px;
    font-size: 11px;
  }
}
/* ===== Адаптация фильтра для мобильных (две строки) ===== */
@media (max-width: 768px) {
  .gallery-filter {
    flex-wrap: wrap; /* Разрешаем перенос на вторую строку */
    justify-content: center; /* Центрируем кнопки */
    padding: 20px 16px;
    gap: 8px;
    overflow-x: visible; /* Убираем горизонтальную прокрутку */
  }
  
  .filter-btn {
    flex: 0 0 auto;
    padding: 8px 16px;
    font-size: 12px;
    white-space: nowrap;
  }
}

@media (max-width: 480px) {
  .gallery-filter {
    padding: 16px 12px;
    gap: 6px;
  }
  
  .filter-btn {
    padding: 6px 12px;
    font-size: 11px;
  }
}