/* Shared footer for Next pages and standalone HTML pages. */
.footer.sfoot {
  box-sizing: border-box; border-top: 1px solid #e5e5e5; margin-top: 0;
  padding: clamp(36px, 7vh, 72px) calc(clamp(20px, 4.5vw, 56px) + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(clamp(20px, 4.5vw, 56px) + env(safe-area-inset-left));
  background: #fff; color: #333; text-align: left;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
  font-size: 14px; line-height: 1.5;
}
.sfoot *, .sfoot *::before, .sfoot *::after { box-sizing: border-box; }
.footer.sfoot .sfoot-cols { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 34px 48px; max-width: 1080px; margin: 0 auto; }
.footer.sfoot .sfoot-links, .footer.sfoot .sfoot-signup { width: min(100%, 350px); }
.footer.sfoot .sfoot-nav { display: flex; flex-wrap: wrap; gap: 0 10px; }
.footer.sfoot .sfoot-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; margin-left: -12px; color: #333; text-decoration: none; font-size: 14px; font-weight: 500; }
.footer.sfoot .sfoot-nav a + a { margin-left: 10px; }
.footer.sfoot .sfoot-contact { margin: 4px 0 0; color: #666; font-size: 13px; }
.footer.sfoot .sfoot-contact a { display: inline-flex; min-height: 44px; align-items: center; color: #333; text-decoration: none; overflow-wrap: anywhere; }
.footer.sfoot .sfoot-socials { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; margin-top: 20px; }
.footer.sfoot .sfoot-heading { display: block; margin: 0 0 10px; font-weight: 600; font-size: 11.5px; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; color: #666; }
.footer.sfoot .sfoot-socials .sfoot-heading { margin-bottom: 2px; }
.footer.sfoot .sfoot-social-row { display: flex; gap: 12px; }
.footer.sfoot .sfoot-social-row a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: #333; font-size: 14px; font-weight: 500; text-decoration: none; }
.sfoot a:hover { color: #111; text-decoration: underline; }
.sfoot a:focus-visible, .sfoot input:focus-visible, .sfoot button:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
.footer.sfoot .sfoot-colophon { max-width: 1080px; margin: clamp(30px, 5vh, 52px) auto 0; text-align: center; }
.footer.sfoot .sfoot-tagline { font-size: 12px; line-height: 1.5; color: #999; margin: 0 0 8px; }
.footer.sfoot .sfoot-legal { font-size: 11.5px; color: #999; line-height: 1.7; margin: 0; }
.footer.sfoot .mlf { width: 100%; max-width: 350px; min-height: 66px; display: flex; flex-direction: column; justify-content: center; }
.footer.sfoot .mlf-row { display: flex; align-items: stretch; width: 100%; min-height: 46px; border: none !important; border-radius: 0 !important; overflow: visible !important; background: transparent !important; gap: 8px; }
.footer.sfoot .mlf-row:focus-within { box-shadow: none !important; }
.footer.sfoot .mlf-input { flex: 1; min-width: 0; border: 1px solid #e5e5e5 !important; border-radius: 8px !important; background: #fff !important; min-height: 46px; font-family: inherit; font-size: 14px !important; padding: 0 14px !important; color: #111; }
.footer.sfoot .mlf-input::placeholder { color: #999; }
.footer.sfoot .mlf-input:focus { border-color: #bbb !important; }
.footer.sfoot .mlf-btn { border-radius: 8px !important; min-height: 46px; padding: 0 18px !important; border: 0; background: rgba(255,213,0,.7); color: #000; font-family: inherit; font-weight: 600; font-size: 14px; cursor: pointer; }
.footer.sfoot .mlf-btn:hover:not(:disabled) { background: #ffd500; }
.footer.sfoot .mlf-status { margin: 8px 0 0; min-height: 1.2em; font-size: 12.5px; line-height: 1.5; color: #666; padding: 0; }
.footer.sfoot .mlf-done { margin: 0; font-size: 14px; color: #333; }
@media (max-width: 699px) { .footer.sfoot .mlf-input { font-size: 16px !important; } }
@media print { .footer.sfoot { display: none; } }
