/* Зала Бургас - base reset (from the design) + responsive layer.
   The pages keep the design's inline styles for pixel-exact desktop rendering;
   the rules below add the mobile navigation and stack the grid layouts. */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{background:#0c0c0d;font-family:'Manrope',sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#c9a44c;color:#fff}
a{color:inherit}
img{max-width:100%}

/* ---- Mobile navigation (hamburger + slide-down menu) ---- */
.zb-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:9px;background:none;border:0;cursor:pointer}
.zb-burger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px}

.zb-mobile-menu{position:fixed;inset:0;z-index:100;background:#0c0c0d;color:#fff;display:flex;flex-direction:column;padding:22px 32px 40px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.zb-mobile-menu.is-open{opacity:1;visibility:visible;transform:none}
.zb-mm-close{align-self:flex-end;background:none;border:0;color:#fff;cursor:pointer;padding:6px;line-height:0}
.zb-mm-links{display:flex;flex-direction:column;gap:2px;margin-top:18px}
.zb-mm-links a{font-family:'Manrope',sans-serif;font-weight:700;font-size:24px;color:#e9e9ec;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.zb-mm-links a[aria-current=page]{color:#c9a44c}
.zb-mm-cta{margin-top:22px;border-bottom:0!important;color:#1f1a0e!important;background:#c9a44c;border-radius:34px;text-align:center;padding:16px 24px!important;font-size:17px!important}

/* ---- Desktop navigation ---- */
.zb-nav{display:flex;align-items:center;gap:28px;font-family:'Manrope';font-size:14.5px;font-weight:600}
.zb-nav a{color:#e9e9ec;text-decoration:none}
.zb-nav a[aria-current=page]{color:#c9a44c}

/* ---- Reusable components (extracted from repeated inline styles) ---- */
.zb-header-cta{font-family:'Manrope';font-weight:700;font-size:14px;color:#fff;text-decoration:none;border:1.5px solid #c9a44c;border-radius:30px;padding:10px 22px;display:flex;align-items:center;gap:7px;white-space:nowrap}
.zb-card{border:1px solid #e9e9e4;border-radius:16px;padding:26px 22px;background:#fff}
.zb-card-ico{font-size:26px;margin-bottom:12px}
.zb-card-h{font-family:'Manrope';font-weight:700;font-size:17px;margin-bottom:6px}
.zb-card-p{font-family:'Manrope';font-size:14px;color:#6b6b73;line-height:1.6}
.zb-social{width:42px;height:42px;border-radius:50%;background:#c9a44c;display:flex;align-items:center;justify-content:center;text-decoration:none}
.zb-flinks{margin-top:18px;display:flex;flex-direction:column;gap:6px;font-family:'Manrope';font-size:13px}
.zb-flinks a{color:#a0a0a8;text-decoration:none}

/* ---- Breadcrumb (subpages; sits on the dark hero background) ---- */
.zb-breadcrumb{background:#0c0c0d}
.zb-breadcrumb-in{max-width:1344px;margin:0 auto;padding:18px 32px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:'Manrope';font-size:13px;color:#8a8a92}
.zb-breadcrumb-in a{color:#a0a0a8;text-decoration:none}
.zb-breadcrumb-in a:hover{color:#c9a44c}
.zb-breadcrumb-in [aria-current=page]{color:#c9a44c}

/* ---- Inline content link (in-copy contextual links) ---- */
.zb-ilink{color:#c9a44c;text-decoration:none;border-bottom:1px solid rgba(201,164,76,.45)}
.zb-ilink:hover{border-bottom-color:#c9a44c}

/* ---- Gallery masonry (full portraits, no crop) + lightbox ---- */
.zb-masonry{column-count:3;column-gap:14px}
.zb-masonry img{width:100%;height:auto;margin:0 0 14px;border-radius:14px;display:block;cursor:zoom-in;break-inside:avoid;background:#1b1b1e}
@media (max-width:900px){.zb-masonry{column-count:2}}
@media (max-width:560px){.zb-masonry{column-count:1}}

.zb-lb{position:fixed;inset:0;z-index:200;background:rgba(8,8,9,.93);display:flex;align-items:center;justify-content:center;padding:24px}
.zb-lb[hidden]{display:none}
.zb-lb-img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.zb-lb-btn{position:absolute;background:rgba(255,255,255,.08);border:0;color:#fff;cursor:pointer;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.zb-lb-btn:hover{background:#c9a44c;color:#1f1a0e}
.zb-lb-close{top:20px;right:20px}
.zb-lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.zb-lb-next{right:20px;top:50%;transform:translateY(-50%)}
.zb-lb-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:'Manrope';font-size:14px;letter-spacing:.05em;color:#cfcfd6}
@media (max-width:560px){.zb-lb-prev{left:8px}.zb-lb-next{right:8px}.zb-lb-btn{width:42px;height:42px}}

/* ---- Responsive layout overrides (inline grids -> stacked) ---- */
@media (max-width:900px){
  .zb-nav,.zb-header-cta{display:none!important}
  .zb-burger{display:flex}
  .zb-grid-2{grid-template-columns:1fr!important}
  .zb-grid-4{grid-template-columns:repeat(2,1fr)!important}
  .zb-gallery{grid-template-columns:1fr 1fr!important;grid-auto-rows:200px!important}
  .zb-gallery>img{grid-column:auto!important;grid-row:auto!important}
  #top h1{font-size:clamp(32px,8vw,46px)!important}
}
@media (max-width:560px){
  .zb-grid-4{grid-template-columns:1fr!important}
  .zb-gallery{grid-template-columns:1fr!important;grid-auto-rows:220px!important}
  header a img{height:46px!important}
}
