/* ===========================================================
   Babygalerie BKH Reutte
   Eigenständiges Design angelehnt an bkh-reutte.at
=========================================================== */

:root{
  --bkh-blue:#07AFEA;
  --bkh-blue-dark:#0691C4;
  --bkh-ink:#171716;
  --bkh-grey:#6B6B6B;
  --bkh-bg:#FFFFFF;
  --bkh-bg-alt:#F5FAFC;
  --bkh-shadow:0 6px 20px rgba(7,175,234,0.12);
}

*{box-sizing:border-box;}

body.bg-page{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--bkh-ink);
  background:var(--bkh-bg);
  line-height:1.6;
}

.bg-header{
  padding:22px 24px 0;
}
.bg-header-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  padding-bottom:18px;
}
.bg-logo-link img{
  height:90px;
  width:auto;
  display:block;
}
.bg-header-title{
  text-align:right;
}
.bg-header-title h1{
  font-size:1.6rem;
  margin:0;
  font-weight:700;
  color:var(--bkh-ink);
}
.bg-header-title p{
  margin:2px 0 0;
  color:var(--bkh-grey);
  font-size:.95rem;
}

.bg-bar{
  height:4px;
  background:var(--bkh-blue);
  width:100%;
}

.bg-intro{
  max-width:1100px;
  margin:34px auto 10px;
  padding:0 24px;
  color:var(--bkh-grey);
  text-align:center;
}
.bg-intro h2{
  font-size:1.3rem;
  font-weight:700;
  color:var(--bkh-ink);
  margin:0 0 10px;
}
.bg-intro p{max-width:700px; margin:0 auto;}

.bg-container{
  max-width:1100px;
  margin:0 auto;
  padding:20px 24px 60px;
}

.bg-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));
  gap:22px;
}

.bg-item{
  margin:0;
  background:var(--bkh-bg-alt);
  border-radius:12px;
  overflow:hidden;
  box-shadow:var(--bkh-shadow);
  transition:transform .15s;
}
.bg-item:hover{transform:translateY(-4px);}

.bg-link{display:block;}
.bg-item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  background:linear-gradient(135deg,#EAF7FC,#CDEFFB);
}

.bg-item figcaption{
  padding:12px 14px 16px;
  font-size:.92rem;
  color:var(--bkh-ink);
  border-top:3px solid var(--bkh-blue);
}
.bg-item figcaption strong{font-size:1rem;}

.bg-empty{
  display:none;
  text-align:center;
  color:var(--bkh-grey);
  padding:60px 20px;
  background:var(--bkh-bg-alt);
  border-radius:12px;
}

/* Lightbox */
.bg-lightbox{
  position:fixed; inset:0;
  background:rgba(23,23,22,0.9);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1000;
  padding:30px;
  cursor:zoom-out;
}
.bg-lightbox.is-open{display:flex;}
.bg-lightbox img{
  max-width:100%;
  max-height:90vh;
  border-radius:8px;
  box-shadow:0 10px 40px rgba(0,0,0,.5);
}
.bg-lightbox-close{
  position:absolute;
  top:20px; right:30px;
  color:#fff;
  font-size:2.4rem;
  line-height:1;
  cursor:pointer;
}

.bg-footer{
  border-top:1px solid #E5EEF2;
  padding:26px 24px 40px;
  text-align:center;
  color:var(--bkh-grey);
  font-size:.9rem;
}
.bg-footer a{color:var(--bkh-blue-dark); text-decoration:none; font-weight:600;}
.bg-footer a:hover{text-decoration:underline;}
.bg-footer .bg-footer-links{
  margin-top:10px;
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}

@media (max-width:600px){
  .bg-header-inner{flex-direction:column; align-items:flex-start;}
  .bg-header-title{text-align:left;}
  .bg-logo-link img{height:70px;}
  .bg-grid{grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:14px;}
}
