/* ═════ zintex26-gallery ═════ */
.z26-gal{
  /* Brand */
  --z-navy:#003366; --z-white:#FFFFFF; --z-yellow:#FFE500;
  /* Supporting */
  --z-navy-900:#0A1A2E; --z-blue:#1F5FA8; --z-ink:#1B2430; --z-muted:#5B6675;
  --z-ivory:#FBF8F3;

  font-family:"Open Sans",system-ui,sans-serif; font-weight:500; color:var(--z-ink);
  scroll-margin-top:140px;
}
.z26-gal *,.z26-gal *::before,.z26-gal *::after{box-sizing:border-box}

.z26-gal__inner{max-width:1200px; margin:0 auto; padding:48px 16px}

/* ---------- Head (universal zintex26 eyebrow / heading / intro) ---------- */
.z26-gal__head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:8px 24px; margin-bottom:24px}
.z26-gal__titles{max-width:760px}
.z26-gal__eyebrow{
  margin:0 0 10px; color:var(--z-blue);
  font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.z26-gal__heading{margin:0; font-size:clamp(26px,3.4vw,38px); line-height:1.15; font-weight:800; letter-spacing:-.01em; color:var(--z-navy)}
.z26-gal__intro{margin:12px 0 0; color:var(--z-muted); font-size:17px; line-height:1.6}
.z26-gal__all{font-weight:700; font-size:16px; color:var(--z-blue); text-decoration:none}
.z26-gal__all:hover{color:var(--z-navy); text-decoration:underline; text-underline-offset:3px}

.z26-gal__grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
.z26-gal__tile{position:relative; display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; text-align:left; font:inherit; color:inherit; border-radius:14px; overflow:hidden}
.z26-gal__tile:focus-visible{outline:3px solid var(--z-blue); outline-offset:3px}
.z26-gal__img{position:relative; display:block; aspect-ratio:1; overflow:hidden; background:#C9D3DC}
.z26-gal__img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease}
.z26-gal__tile:hover .z26-gal__img img{transform:scale(1.03)}

/* ---------- Style: Clear Glass ---------- */
.z26-gal--glass{background:var(--z-white)}
.z26-gal--glass .z26-gal__tag{
  position:absolute; left:10px; bottom:10px; max-width:calc(100% - 20px);
  padding:6px 12px; border-radius:999px; font-size:13px; font-weight:700; color:var(--z-white);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  background:rgba(10,26,46,.55); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.12);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .z26-gal--glass .z26-gal__tag{background:rgba(10,26,46,.9)}
}

/* ---------- Style: Warm & Solid ---------- */
/* Warm uses brand colors only: navy text, yellow highlights, white/ivory grounds */
.z26-gal--warm{--z-ink:var(--z-navy); background:var(--z-ivory); color:var(--z-ink)}
.z26-gal--warm .z26-gal__eyebrow{
  display:inline-block; padding:6px 12px; border-radius:8px;
  background:var(--z-yellow); color:var(--z-navy);
  font-size:14px; letter-spacing:.02em; text-transform:none; margin-bottom:14px;
}
.z26-gal--warm .z26-gal__heading{color:var(--z-navy)}
.z26-gal--warm .z26-gal__intro{color:var(--z-navy); opacity:.8}
.z26-gal--warm .z26-gal__all{color:var(--z-navy)}
.z26-gal--warm .z26-gal__tile{background:var(--z-white); border-radius:20px; padding:8px; box-shadow:0 6px 20px rgba(60,45,20,.06)}
.z26-gal--warm .z26-gal__img{border-radius:14px}
.z26-gal--warm .z26-gal__tag{display:block; padding:10px 6px 4px; font-size:14px; font-weight:700; color:var(--z-ink)}

/* ---------- Viewer ---------- */
.z26-gal__viewer{
  width:100vw; height:100vh; max-width:none; max-height:none; margin:0; padding:0; border:0;
  background:rgba(10,26,46,.94); color:var(--z-white); overflow:hidden;
}
.z26-gal__viewer::backdrop{background:rgba(10,26,46,.6)}
.z26-gal__viewer[open]{display:flex; align-items:center; justify-content:center}
.z26-gal__viewer-frame{margin:0; padding:72px 16px; display:flex; flex-direction:column; align-items:center; gap:14px; max-width:100%; max-height:100%}
.z26-gal__viewer-img{display:block; max-width:min(1100px,100%); max-height:calc(100vh - 200px); width:auto; height:auto; border-radius:14px; object-fit:contain}
.z26-gal__viewer-caption{margin:0; font-size:16px; font-weight:700; text-align:center}
.z26-gal__viewer-caption:empty{display:none}
.z26-gal__ctrl{
  position:absolute; width:48px; height:48px; border-radius:999px; border:1px solid rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--z-white);
  background:rgba(255,255,255,.1); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  transition:background .15s ease;
}
.z26-gal__ctrl:hover{background:rgba(255,255,255,.2)}
.z26-gal__ctrl:focus-visible{outline:3px solid var(--z-yellow); outline-offset:2px}
.z26-gal__close{top:16px; right:16px}
.z26-gal__prev{left:12px; top:50%; transform:translateY(-50%)}
.z26-gal__next{right:12px; top:50%; transform:translateY(-50%)}
.z26-gal__viewer.is-single .z26-gal__prev,
.z26-gal__viewer.is-single .z26-gal__next{display:none}

/* ---------- Tablet / desktop ---------- */
@media (min-width:640px){
  .z26-gal__inner{padding:72px 32px}
  .z26-gal__grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
}
@media (min-width:960px){
  .z26-gal__inner{padding:96px 32px}
  .z26-gal__head{margin-bottom:32px}
  .z26-gal__grid{gap:20px}
  .z26-gal--glass .z26-gal__tag{left:12px; bottom:12px; padding:8px 14px; font-size:14px}
  .z26-gal__prev{left:32px}
  .z26-gal__next{right:32px}
}

@media (prefers-reduced-motion:reduce){
  .z26-gal *{transition:none !important}
  .z26-gal__tile:hover .z26-gal__img img{transform:none}
}