:root{
  --wsu-navy:#0b2a5a; --wsu-blue:#1565c0; --wsu-red:#c62828;
}


/* Blassroter Galeriebereich */
.gal-wrap{
  background: rgba(198,40,40,.08);
  padding:14px 10px;
  border-top: 10px solid var(--wsu-navy);
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
}
.gal-inner{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:40px 1fr 40px; gap:8px; align-items:center;
}

/* Bild + Zähler */
.gal-frame{ margin:0; display:grid; grid-template-rows:1fr auto; align-items:center; justify-items:center; min-height:220px; }
.gal-img{
  max-width:100%; max-height:55vh; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,.18);
  cursor:zoom-in; transition:opacity .22s ease, transform .22s ease; opacity:1;
}
.gal-img.is-leaving{ opacity:0; transform:translateX(var(--slide,0)) scale(.98); }
.gal-img.is-entering{ opacity:0; transform:translateX(var(--slide,0)) scale(1.02); }
.gal-img.is-active{ opacity:1; transform:none; }

.gal-count{ margin-top:8px; font-weight:700; color:var(--wsu-navy); }

/* Pager */
.gal-nav{
  appearance:none; border:1px solid #d9dce5; background:#fff; color:var(--wsu-blue);
  width:36px; height:36px; border-radius:8px; font-weight:800; cursor:pointer;
  transition:background .15s ease, transform .08s ease;
}
.gal-nav:active{ transform:scale(.96); }
/* Wenn du statt „ausgrauen“ wirklich ausblenden willst, nimm visibility */
.gal-nav:disabled{ visibility:hidden; } /* <- statt opacity: .35 */

/* Vollbild-Dialog */
.gal-dialog{ border:none; padding:0; background:transparent; }
.gal-dialog::backdrop{ background:rgba(0,0,0,.6); }
.gal-dialog img{ max-width:96vw; max-height:92vh; border-radius:8px; display:block; }

/* Impressum (navy) */
.legal-footer{ background:var(--wsu-navy); color:#fff; padding:18px 12px; }
.legal-inner{
  max-width:1100px; margin:0 auto; display:grid; gap:14px;
  grid-template-columns:repeat(3, minmax(160px,1fr));
}
.legal-col h4{ margin:0 0 6px 0; font-size:1rem; color:#fff; }
.legal-col p, .legal-col address{ margin:0; opacity:.9; line-height:1.5; font-style:normal; }
.legal-col a{ color:#fff; text-decoration:underline; }

/* Responsive */
@media (max-width:640px){
  .gal-inner{ grid-template-columns:32px 1fr 32px; }
  .legal-inner{ grid-template-columns:1fr; }
}
