/* Brand Boxes styles */
.brand-box {
  position: relative;
  overflow: hidden;
  border-radius: var(--border-radius);
}

.brand-box .bb-cover {
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--anim-duration) ease;
  will-change: transform;
}

.brand-box .brand-details {
  position: absolute;
  inset: 0;
  height: 100%;
  background: var(--bg-color);
  transform: translateY(calc(100% - var(--collapsed-height)));
  transition: transform var(--anim-duration) ease;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.brand-box:hover .brand-details {
  transform: translateY(0);
}

.brand-box:hover .bb-cover {
  transform: translateY(-60px);
}

.brand-box .bb-brand { 
  margin-bottom: 12px; 
  padding:10px 30px 10px 30px;
  text-align:center;
}

.brand-box .bb-brand-img {
  display: inline-block;
  height: auto;
  max-width: 100%;
}

.brand-box .bb-desc {
  color: var(--desc-color);
  line-height: 1.5;
  padding:5px 30px 5px 30px;
  text-align:justify;
  font-size:80%;
}

.brand-box .bb-cta {
  margin-top: auto; /* push CTA to bottom */
}

.brand-box .bb-btn {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  background: var(--btn-bg);
  color: var(--btn-color);
  padding: 12px 16px;
  font-weight: 600;
}

/* Box shadow variants */
.brand-box.boxshadow-none   { box-shadow: none; }
.brand-box.boxshadow-light  { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.brand-box.boxshadow-medium { box-shadow: 0 10px 24px rgba(0,0,0,.14); }
.brand-box.boxshadow-strong { box-shadow: 0 18px 40px rgba(0,0,0,.22); }

/* Mobile touch: ensure :hover-like discoverability */
@media (hover: none) {
  .brand-box .member-details {
    transform: translateY(calc(100% - max(56px, var(--collapsed-height))));
  }
}
