/* FLEXVIT BANDS JAPAN | Unified site footer / DAILY 7 logo | 2026-10-20
   Scoped: does not change page body, site header, program widgets, or print layouts. */
footer.fv-site-footer {
  background: #050505;
  color: #fff;
  padding: 70px max(24px, calc((100vw - 1180px) / 2)) 30px;
  font-size: 14px;
  line-height: 1.65;
  text-align: left;
  position: relative;
}
footer.fv-site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, .9fr) minmax(0, .75fr) minmax(0, 1.15fr);
  align-items: start;
  gap: clamp(22px, 2.5vw, 40px);
}
footer.fv-site-footer .footer-grid > div { min-width: 0; }
footer.fv-site-footer .foot-logo {
  display: block;
  width: min(240px, 100%);
  height: auto;
  margin: 0 0 20px;
  background: #000;
}
footer.fv-site-footer .footer-grid > div:first-child p {
  color: #c8c8c8;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  margin: 0;
}
footer.fv-site-footer .footer-grid h3 {
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .13em;
  color: #ef5423;
  margin: 0 0 14px;
}
footer.fv-site-footer .footer-grid a:not(.fv-footer-daily7-link) {
  display: block;
  color: #aaa;
  font-size: 14px;
  margin: 7px 0;
  line-height: 1.6;
  text-decoration: none;
}
footer.fv-site-footer .footer-grid a:not(.fv-footer-daily7-link):hover,
footer.fv-site-footer .footer-grid a:not(.fv-footer-daily7-link):focus-visible {
  color: #fff;
}
footer.fv-site-footer .fv-footer-daily7-link {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  max-width: 100%;
  margin: 0;
  color: #f8f8f8;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .01em;
  text-decoration: none;
}
footer.fv-site-footer .fv-footer-daily7-link img {
  display: block;
  width: min(100%, 238px);
  height: auto;
  aspect-ratio: 2.55 / 1;
  object-fit: cover;
  object-position: center;
  background: white;
  border-radius: 4px;
  transition: box-shadow .2s ease;
}
footer.fv-site-footer .fv-footer-daily7-link:hover img,
footer.fv-site-footer .fv-footer-daily7-link:focus-visible img {
  box-shadow: 0 0 0 2px #ef5423;
}
footer.fv-site-footer .fv-footer-daily7-link:hover span,
footer.fv-site-footer .fv-footer-daily7-link:focus-visible span {
  color: #ff8a57;
}
footer.fv-site-footer small {
  display: block;
  color: #888;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.75;
  border-top: 1px solid #292929;
  margin: 48px 0 0;
  padding: 20px 0 0;
}
@media (max-width: 960px) {
  footer.fv-site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 26px;
  }
}
@media (max-width: 620px) {
  footer.fv-site-footer { padding: 55px 24px 26px; }
  footer.fv-site-footer .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  footer.fv-site-footer .fv-footer-daily7-link img { width: min(238px, 100%); }
  footer.fv-site-footer small { margin-top: 38px; }
}
@media print {
  /* Printed exercise-sheet / PDF tooling must remain unchanged. */
  footer.fv-site-footer { display: none !important; }
}
