/* "Наши праздники": real photos and video from events. */
.gallery-media{background:#1b0d0a url('gallery/event-fruit-table-thumb.jpg') center/cover;filter:blur(28px) saturate(.8);transform:scale(1.15)}
.gallery-shade{background:linear-gradient(90deg,rgba(20,9,7,.94) 0%,rgba(20,9,7,.86) 40%,rgba(20,9,7,.78) 100%)}
.gallery-content{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;padding-top:clamp(96px,12vh,128px);padding-bottom:clamp(56px,8vh,90px);padding-right:clamp(70px,8vw,140px)}
.gallery-copy h2{font-size:clamp(48px,4.6vw,78px);margin-bottom:14px}
.gallery-copy .section-lead{margin-bottom:22px}
.gallery-copy .button{min-width:0}
.gallery-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;height:min(68dvh,640px);margin:0;padding:0;list-style:none}
.gallery-item{min-width:0;min-height:0}
.gallery-item-video{grid-row:1/3}
.gallery-item button{position:relative;display:block;width:100%;height:100%;padding:0;border:1px solid rgba(255,230,213,.28);background:#2a1712;overflow:hidden;cursor:zoom-in}
.gallery-item img,.gallery-item video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gallery-item button:hover img,.gallery-item button:hover video,.gallery-item button:focus-visible img{transform:scale(1.04)}
.gallery-item button::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,6,4,.45),transparent 40%);pointer-events:none}
.gallery-badge{position:absolute;z-index:1;left:12px;bottom:12px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(20,9,7,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff4e7;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.gallery-badge svg{width:14px;height:14px;fill:currentColor;stroke:none}

.gallery-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(12,5,4,.96);color:#fff4e6}
.gallery-dialog[open]{display:flex;align-items:center;justify-content:center}
.gallery-dialog::backdrop{background:rgba(12,5,4,.9)}
.gallery-dialog .dialog-close{z-index:3;top:16px;right:20px;font-size:38px}
.gallery-stage{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;max-width:calc(100vw - 150px)}
.gallery-frame{display:flex;align-items:center;justify-content:center}
.gallery-frame img,.gallery-frame video{display:block;max-width:calc(100vw - 150px);max-height:calc(100dvh - 110px);width:auto;height:auto;background:#000}
.gallery-stage figcaption{font-size:12px;letter-spacing:.06em;color:rgba(255,240,226,.75)}
.gallery-nav{z-index:2;display:grid;place-items:center;width:52px;height:52px;margin:0 12px;border:1px solid rgba(255,227,199,.4);border-radius:50%;background:rgba(20,9,7,.6);color:#fff4e7;cursor:pointer;flex:none;transition:background .2s}
.gallery-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gallery-nav:hover{background:#f4e5d5;color:#27140f}

@media(max-width:1100px) and (min-width:701px){
  .gallery-content{grid-template-columns:1fr;gap:20px;align-content:center}
  .gallery-copy .section-lead{margin-bottom:12px}
  .gallery-grid{height:min(48dvh,460px)}
}
@media(min-width:701px) and (max-height:740px){
  .gallery-copy h2{font-size:clamp(38px,4vw,56px)}
  .gallery-grid{height:min(64dvh,520px)}
}
@media(max-width:700px){
  .gallery-content{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:clamp(72px,12dvh,100px) 0 calc(80px + env(safe-area-inset-bottom))}
  .gallery-copy{padding:0 20px}
  .gallery-copy .eyebrow{margin-bottom:9px}
  .gallery-copy h2{font-size:clamp(38px,9vw,52px);margin-bottom:8px}
  .gallery-copy .section-lead{font-size:12px;line-height:1.45;margin-bottom:12px}
  .gallery-copy .button{padding:11px 14px}
  /* A horizontal strip: swipe sideways through the photos, up or down to change screens. */
  .gallery-copy,.gallery-grid{align-self:stretch;width:100%;min-width:0}
  .gallery-grid{display:flex;gap:8px;height:min(46dvh,380px);padding:0 20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none}
  .gallery-grid::-webkit-scrollbar{display:none}
  .gallery-item{flex:0 0 auto;height:100%;aspect-ratio:3/4;scroll-snap-align:start}
  .gallery-item-video{aspect-ratio:9/16}
  .gallery-badge{left:8px;bottom:8px;padding:6px 9px;font-size:9.5px}
  .gallery-stage,.gallery-frame img,.gallery-frame video{max-width:100vw}
  .gallery-frame img,.gallery-frame video{max-height:calc(100dvh - 70px)}
  .gallery-nav{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));width:46px;height:46px}
  .gallery-prev{left:calc(50% - 64px)}
  .gallery-next{right:calc(50% - 64px)}
  .gallery-stage figcaption{position:absolute;top:24px;left:20px;right:64px;text-align:left}
}
@media(max-width:700px) and (max-height:650px){
  .gallery-copy .section-lead{display:none}
  .gallery-grid{height:42dvh}
}
@media(prefers-reduced-motion:reduce){.gallery-item img,.gallery-item video{transition:none}}
/* Five screens: keep the header navigation on one line. */
.desktop-nav{gap:26px}
.desktop-nav a{white-space:nowrap}
.brand{margin-right:24px}
@media(max-width:1180px){.desktop-nav{display:none}}
@media(max-width:700px){
  .brand{margin-right:8px;min-width:0;gap:8px}
  .brand-title{font-size:17px;white-space:nowrap}
  .city-switch{flex:none;padding:7px 8px;gap:6px}
  .city-switch span{max-width:92px}
}
@media(max-width:360px){.brand-mark{display:none}}
