/* Best Collections editorial footer — warm white, forest-green styling with responsive uploaded logo. */
/* Hide the Flatsome footer only when the replacement footer actually exists.
   If PHP output fails for any reason, the original site footer remains visible. */
body:has(#bc-site-footer) .footer-wrapper,
body:has(#bc-site-footer) #footer,
body:has(#bc-site-footer) .absolute-footer {
  display: none !important;
}

#bc-site-footer,
#bc-site-footer * {
  box-sizing: border-box;
}

#bc-site-footer {
  position: relative;
  z-index: 2;
  display: block;
  clear: both;
  width: 100%;
  margin: 0;
  color: #171916;
  background: #fff;
  border-top: 1px solid #eeede8;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.5;
}

#bc-site-footer a {
  color: #20221f;
  text-decoration: none;
  transition: color .18s ease;
}

#bc-site-footer a:hover,
#bc-site-footer a:focus-visible {
  color: #315c41;
}

.bc-site-footer__main {
  background: #fff;
  border-bottom: 1px solid #efeee9;
}

.bc-site-footer__inner {
  display: flex;
  width: min(1320px, calc(100% - 96px));
  min-width: 0;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.bc-site-footer__main .bc-site-footer__inner {
  min-height: 82px;
  padding: 0;
}

 .bc-site-footer__brand {
  display: inline-flex;
  min-width: 0;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  color: #171916 !important;
  text-decoration: none;
}

/* The source logo is square with clear space around the mark. Crop only that empty vertical space
   so the full mark fits the footer without stretching the image or enlarging the footer excessively. */
.bc-site-footer__brand-logo-wrap {
  position: relative;
  display: block;
  width: 128px;
  height: 82px;
  flex: 0 0 128px;
  overflow: hidden;
}

#bc-site-footer .bc-site-footer__logo {
  position: absolute !important;
  top: -11px;
  left: 0;
  display: block !important;
  width: 128px !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: contain;
  object-position: center;
}

.bc-site-footer__nav,
.bc-site-footer__legal {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.bc-site-footer__nav {
  gap: clamp(13px, 2.15vw, 30px);
}

.bc-site-footer__nav a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: #252722;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.bc-site-footer__social {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.bc-site-footer__social a {
  display: inline-flex;
  width: 23px;
  height: 23px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #171916;
  transition: color .18s ease, transform .18s ease;
}

.bc-site-footer__social a:hover,
.bc-site-footer__social a:focus-visible {
  color: #315c41;
  transform: translateY(-1px);
}

.bc-site-footer__social svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.bc-site-footer__bottom {
  background: #fff;
}

.bc-site-footer__bottom .bc-site-footer__inner {
  min-height: 42px;
  padding: 10px 0;
  gap: 20px;
}

.bc-site-footer__copyright {
  margin: 0;
  color: #555850;
  font-size: 10px;
  line-height: 1.6;
}

.bc-site-footer__legal {
  gap: clamp(12px, 1.7vw, 24px);
}

.bc-site-footer__legal a {
  color: #353832;
  font-size: 10px;
  line-height: 1.6;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .bc-site-footer__inner {
    width: min(1320px, calc(100% - 36px));
  }

  .bc-site-footer__main .bc-site-footer__inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 17px;
    padding: 22px 0;
  }

  .bc-site-footer__nav {
    justify-content: flex-start;
    gap: 8px 24px;
  }

  .bc-site-footer__social {
    justify-content: flex-start;
  }

  .bc-site-footer__bottom .bc-site-footer__inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .bc-site-footer__legal {
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  #bc-site-footer {
    font-size: 11px;
  }

  .bc-site-footer__inner {
    width: calc(100% - 32px);
  }

  .bc-site-footer__main .bc-site-footer__inner {
    gap: 18px;
    padding: 22px 0 20px;
  }

  .bc-site-footer__brand-logo-wrap {
    width: 112px;
    height: 72px;
    flex-basis: 112px;
  }

  #bc-site-footer .bc-site-footer__logo {
    top: -10px;
    width: 112px !important;
  }

  .bc-site-footer__nav {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 16px;
  }

  .bc-site-footer__nav a {
    min-height: 30px;
    font-size: 12px;
  }

  .bc-site-footer__bottom .bc-site-footer__inner {
    padding: 15px 0 17px;
  }

  .bc-site-footer__legal {
    justify-content: flex-start;
    gap: 9px 17px;
  }

  .bc-site-footer__legal a,
  .bc-site-footer__copyright {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #bc-site-footer a {
    transition: none;
  }
}
