/* Brand Display Pro – public styles (v1.2.0) */
.bdp-wrap { width: 100%; font-family: var(--bdp-font-family, inherit); position: relative; }
.bdp-grid {
  display: grid;
  grid-template-columns: repeat(var(--bdp-cols-desktop, 3), 1fr);
  gap: var(--bdp-gap, 16px);
}
@media (max-width: 768px) {
  .bdp-grid { grid-template-columns: repeat(var(--bdp-cols-mobile, 1), 1fr); }
}
.bdp-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-decoration: none;
  background: var(--bdp-bg, #fff);
  border: var(--bdp-border, 1px solid #eee);
  border-radius: var(--bdp-radius, 16px);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}
.bdp-layout-card .bdp-item { box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.bdp-layout-circle .bdp-media img,
.bdp-layout-circle .bdp-img-ratio { border-radius: 50%; }
.bdp-media { position: relative; }
.bdp-img-ratio { display:block; width:100%; padding-top: var(--bdp-ratio-padding, 56.25%); position:relative; overflow:hidden; }
.bdp-img-ratio img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit: cover; }
.bdp-media > img { width: 100%; height: auto; display:block; }
/* Shapes */
.bdp-shape-square .bdp-img-ratio { padding-top: 100%; }
.bdp-shape-circle .bdp-img-ratio, .bdp-shape-circle .bdp-media img { border-radius: 50%; }
.bdp-shape-rounded .bdp-media img, .bdp-shape-rounded .bdp-img-ratio { border-radius: 16px; overflow:hidden; }
.bdp-shape-rectangle .bdp-img-ratio { padding-top: 56.25%; }
/* Title */
.bdp-title {
  text-align: var(--bdp-title-align, center);
  padding: 10px 12px;
  display:flex;
  gap:6px;
  justify-content:center;
  align-items:center;
  color: var(--bdp-title-color, #111);
  font-size: var(--bdp-title-size, 16px);
  line-height: 1.3;
}
.bdp-name { font-weight: 600; }
.bdp-count { opacity:.65; font-size: .9em; }
/* Hover */
.bdp-anim-lift .bdp-item:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.bdp-anim-zoom .bdp-item:hover .bdp-media img { transform: scale(1.06); }
.bdp-anim-zoom .bdp-media img { transition: transform .3s ease; }
.bdp-anim-fade .bdp-item { opacity: .95; }
.bdp-anim-fade .bdp-item:hover { opacity: 1; }
/* On-Scroll */
.bdp-os { opacity: 0; transform: translateY(14px) scale(0.98); }
.bdp-os.bdp-in-view { opacity: 1; transform: none; transition: all .5s ease; }
.bdp-os.bdp-effect-zoom-in.bdp-in-view { transform: scale(1); }
.bdp-os.bdp-effect-slide-up { transform: translateY(16px); }
.bdp-os.bdp-effect-slide-up.bdp-in-view { transform: translateY(0); }
/* Carousel */
.bdp-is-carousel .bdp-grid {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.bdp-is-carousel .bdp-item {
  flex: 0 0 calc(100% / var(--bdp-cols-desktop, 3));
  scroll-snap-align: start;
}
@media (max-width: 768px) {
  .bdp-is-carousel .bdp-item { flex-basis: calc(100% / var(--bdp-cols-mobile, 1)); }
}
.bdp-nav {
  position: absolute; top: 40%; transform: translateY(-50%);
  background: rgba(0,0,0,.5); color:#fff; border:0; width:34px; height:34px; border-radius: 999px;
  display:flex; align-items:center; justify-content:center; cursor:pointer; z-index: 3;
}
.bdp-prev { left: 6px; } .bdp-next { right: 6px; }
