/* BioDent Digital Gallery — scoped styles */
.biodent-gallery-wrap,
.biodent-gallery-wrap * { box-sizing: border-box; }

.biodent-gallery-wrap {
  --bd-blue:#0066B3;
  --bd-navy:#0B1F3A;
  --bd-white:#fff;
  --bd-light:#F5F8FB;
  --bd-accent:#00A8E8;
  color:var(--bd-navy);
  font-family:inherit;
}

.biodent-gallery-container { width:min(1200px,92%); margin:0 auto; }

.biodent-gallery-hero {
  min-height:500px;
  display:flex;
  align-items:center;
  background-color:var(--bd-navy);
  background-size:cover;
  background-position:center;
  color:#fff;
  position:relative;
}
.biodent-gallery-hero-content { max-width:760px; padding:80px 0; }
.biodent-eyebrow { display:block; font-size:12px; font-weight:800; letter-spacing:.14em; margin-bottom:14px; opacity:.9; }
.biodent-gallery-hero h1 { color:#fff; font-size:clamp(36px,5vw,64px); line-height:1.08; margin:0 0 18px; }
.biodent-gallery-hero p { color:#fff; font-size:18px; line-height:1.7; max-width:680px; margin:0 0 28px; }

.biodent-hero-btn,
.biodent-cta-btn {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  padding:13px 24px !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bd-blue) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700;
  line-height:1.2 !important;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  transition:transform .2s ease, box-shadow .2s ease;
}
.biodent-hero-btn:hover,
.biodent-cta-btn:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.24); }

.biodent-gallery-main { background:var(--bd-light); padding:60px 0 80px; }
.biodent-gallery-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 36px; }
.biodent-filter {
  appearance:none !important;
  -webkit-appearance:none !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:42px !important;
  margin:0 !important;
  padding:10px 18px !important;
  border:1px solid rgba(11,31,58,.10) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--bd-navy) !important;
  box-shadow:none !important;
  font:inherit !important;
  font-size:14px !important;
  line-height:1 !important;
  cursor:pointer;
}
.biodent-filter.is-active,
.biodent-filter:hover { background:var(--bd-blue) !important; color:#fff !important; border-color:var(--bd-blue) !important; }

.biodent-gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px;
  align-items:start;
}
.biodent-gallery-card { margin:0; min-width:0; }
.biodent-gallery-card[hidden] { display:none !important; }
.biodent-gallery-card-button {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:inherit !important;
  text-align:left !important;
  cursor:pointer;
}
.biodent-gallery-thumb {
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:4/3;
  border-radius:16px;
  background:#dfe8ef;
  box-shadow:0 8px 25px rgba(11,31,58,.10);
}
/* Keep thumbnails focused on the image area; many supplied gallery assets include a title strip at the bottom. */
.biodent-gallery-thumb img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .35s ease; }
.biodent-gallery-card-button:hover .biodent-gallery-thumb img { transform:scale(1.04); }
.biodent-gallery-card-copy { display:block; padding:13px 4px 5px; }
.biodent-gallery-card-copy strong { display:block; font-size:16px; color:var(--bd-navy); }
.biodent-gallery-card-copy { display:none !important; }
.biodent-gallery-card-copy small { display:block; margin-top:4px; color:#64748b; font-size:13px; line-height:1.45; }
.biodent-video-play {
  display:none !important;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(0,102,179,.95);
  color:#fff;
  font-size:20px;
  padding-left:3px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.biodent-gallery-no-image { display:grid; place-items:center; width:100%; height:100%; color:#64748b; }

.biodent-load-more {
  display:block !important;
  width:auto !important;
  min-width:170px;
  height:auto !important;
  margin:35px auto 0 !important;
  padding:13px 22px !important;
  border:1px solid var(--bd-blue) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--bd-blue) !important;
  font:inherit !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  cursor:pointer;
}
.biodent-load-more:hover { background:var(--bd-blue) !important; color:#fff !important; }

.biodent-gallery-cta {
  background-color:var(--bd-navy);
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:75px 0;
}
.biodent-gallery-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.biodent-gallery-cta h2 { color:#fff; margin:0 0 10px; font-size:clamp(30px,4vw,46px); }
.biodent-gallery-cta p { color:#fff; margin:0; max-width:700px; line-height:1.7; }
.biodent-gallery-cta .biodent-cta-btn { flex:0 0 auto; background:#00A8E8 !important; }

.biodent-lightbox[hidden] { display:none !important; }
.biodent-lightbox {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:block;
}
.biodent-lightbox-backdrop {
  position:absolute !important;
  inset:0 !important;
  background:rgba(3,14,28,.90) !important;
  cursor:pointer;
}
.biodent-lightbox-dialog {
  position:relative !important;
  z-index:2 !important;
  width:min(1100px,92vw);
  height:min(86vh,850px);
  margin:7vh auto 0;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 56px;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  pointer-events:none;
}
.biodent-lightbox-media {
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  pointer-events:auto;
}
.biodent-lightbox-media img,
.biodent-lightbox-media video {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 18px 55px rgba(0,0,0,.35);
}
.biodent-lightbox-media iframe {
  display:block;
  width:100%;
  height:100%;
  min-height:450px;
  border:0;
  border-radius:10px;
  background:#000;
}
.biodent-lightbox-close,
.biodent-lightbox-prev,
.biodent-lightbox-next {
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  max-width:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.96) !important;
  color:var(--bd-navy) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.25) !important;
  font-family:Arial,sans-serif !important;
  font-size:30px !important;
  font-weight:400 !important;
  line-height:46px !important;
  text-align:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer;
  pointer-events:auto;
  z-index:4 !important;
}
.biodent-lightbox-close { top:-22px !important; right:-22px !important; font-size:28px !important; }
.biodent-lightbox-prev { left:-65px !important; top:50% !important; transform:translateY(-50%) !important; }
.biodent-lightbox-next { right:-65px !important; top:50% !important; transform:translateY(-50%) !important; }
.biodent-lightbox-close:hover,
.biodent-lightbox-prev:hover,
.biodent-lightbox-next:hover { background:#fff !important; transform:translateY(-1px); }
.biodent-lightbox-prev:hover,
.biodent-lightbox-next:hover { transform:translateY(-50%) scale(1.04) !important; }
.biodent-lightbox-caption {
  grid-column:2;
  grid-row:2;
  color:#fff;
  text-align:center;
  padding:10px 10px 0;
  pointer-events:none;
}
.biodent-lightbox-title { display:block; font-size:20px; }
.biodent-lightbox-description { display:block; margin-top:4px; color:rgba(255,255,255,.78); font-size:14px; }

.biodent-video-error { color:#fff; padding:30px; text-align:center; }

html.biodent-lightbox-open { overflow:hidden !important; }

@media (max-width: 991px) {
  .biodent-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .biodent-lightbox-dialog { width:92vw; grid-template-columns:45px minmax(0,1fr) 45px; }
  .biodent-lightbox-prev { left:-10px !important; }
  .biodent-lightbox-next { right:-10px !important; }
}
@media (max-width: 767px) {
  .biodent-gallery-hero { min-height:430px; }
  .biodent-gallery-hero-content { padding:65px 0; }
  .biodent-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:15px; }
  .biodent-gallery-cta-inner { flex-direction:column; align-items:flex-start; }
  .biodent-lightbox-dialog { width:96vw; height:82vh; margin:9vh auto 0; grid-template-columns:40px minmax(0,1fr) 40px; }
  .biodent-lightbox-close { top:-18px !important; right:-2px !important; }
  .biodent-lightbox-prev { left:-3px !important; }
  .biodent-lightbox-next { right:-3px !important; }
  .biodent-lightbox-media iframe { min-height:260px; }
}
@media (max-width: 480px) {
  .biodent-gallery-grid { grid-template-columns:1fr !important; }
}

/* Media-type filter controls */
.biodent-gallery-filter-groups { margin:0 0 36px; }
.biodent-gallery-filter-groups .biodent-gallery-filters { margin:0 0 12px; }
.biodent-gallery-filter-groups .biodent-gallery-filters:last-child { margin-bottom:0; }
.biodent-media-filters { justify-content:center; }
.biodent-media-filter { font-size:13px !important; padding:9px 16px !important; }

/* Make the hero banner clearly visible while keeping text readable. The actual
   darkness is controlled per category from the Hero Banner Overlay Opacity field. */
.biodent-gallery-hero { isolation:isolate; }

@media (max-width:767px) {
  .biodent-gallery-filter-groups .biodent-gallery-filters { gap:7px; }
}

/* v2.2.5 — image-only gallery preview */
.biodent-gallery-grid .biodent-gallery-card-button { overflow:hidden; }
.biodent-gallery-grid .biodent-gallery-thumb { width:100%; }
