/* ── Fotoband (inbakade fullbreddsbilder) ── */
.photo-band{margin:0}
.photo-band img{
  width:100%;height:clamp(320px,56vh,580px);object-fit:cover;
}
.photo-band figcaption{
  text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--soft);padding:.95rem 24px;background:var(--paper);
}

/* ── Gallerisektion ── */
.gallery{background:var(--mist)}
.gallery .head{text-align:center;max-width:44ch;margin:0 auto clamp(40px,6vh,72px)}
.gallery .head h2{font-size:clamp(2.1rem,5vw,3.5rem);margin-bottom:.5em}
.gallery .head p{color:var(--soft);font-weight:300;font-size:1.1rem}

.gal-grid{
  display:grid;grid-template-columns:repeat(6,1fr);
  grid-auto-rows:clamp(120px,17vw,215px);grid-auto-flow:dense;gap:14px;
}
.gal-grid a{
  position:relative;display:block;overflow:hidden;border-radius:18px;
  background:#e8e2de;
}
.gal-grid img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.33,.9,.35,1);
}
.gal-grid a:hover img,.gal-grid a:focus-visible img{transform:scale(1.045)}
.gal-grid a::after{
  content:"";position:absolute;inset:0;border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(57,16,26,.08);pointer-events:none;
  transition:box-shadow .3s;
}
.gal-grid a:hover::after{box-shadow:inset 0 0 0 2px rgba(107,31,42,.45)}
.g-w2{grid-column:span 2}
.g-w3{grid-column:span 3}
.g-w4{grid-column:span 4}
.g-h2{grid-row:span 2}

/* ── Lightbox ── */
.lb{
  border:0;padding:0;margin:auto;background:transparent;max-width:none;max-height:none;
  width:100%;height:100%;
}
.lb::backdrop{
  background:rgba(26,8,12,.92);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.lb figure{
  position:fixed;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:0;padding:56px 84px 44px;pointer-events:none;
}
.lb img{
  max-width:100%;max-height:calc(100% - 64px);object-fit:contain;border-radius:10px;
  box-shadow:0 40px 120px rgba(0,0,0,.5);pointer-events:auto;
}
.lb figcaption{
  margin-top:18px;color:rgba(255,255,255,.85);font-weight:300;font-size:.98rem;
  display:flex;align-items:baseline;gap:1.1em;pointer-events:auto;
}
.lb-count{font-size:.74rem;letter-spacing:.18em;color:rgba(255,255,255,.45)}
.lb button{
  position:fixed;z-index:2;cursor:pointer;border:0;border-radius:100px;
  background:rgba(255,255,255,.1);color:#fff;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  width:52px;height:52px;font-size:1.7rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .25s;
}
.lb button:hover{background:rgba(140,36,51,.65)}
.lb button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.lb-close{top:22px;right:22px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
.lb[open]{animation:lb-in .3s ease}
@keyframes lb-in{from{opacity:0}}

@media (max-width:760px){
  .gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:34vw;gap:10px}
  .g-w3,.g-w4{grid-column:span 2}
  .g-w2{grid-column:span 1}
  .g-h2{grid-row:span 2}
  .photo-band img{height:clamp(220px,38vh,340px)}
  .lb figure{padding:64px 10px 84px}
  .lb-prev{left:auto;right:calc(50% + 8px);top:auto;bottom:16px;transform:none}
  .lb-next{right:calc(50% - 60px);top:auto;bottom:16px;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .gal-grid img{transition:none}
  .lb[open]{animation:none}
}
