/* The public site's footer and policy pages (Apple's footer: #f5f5f7, 12 px, grey, hairlines). */
footer.site { background: #f5f5f7; color: #6e6e73; font-size: 12px; line-height: 1.33; letter-spacing: -.01em; padding: 18px 0 22px; }
footer.site a { color: #424245; }
footer.site a:hover { text-decoration: underline; }
footer.site .fnote { margin: 0 0 18px; padding-bottom: 16px; border-bottom: 1px solid #d2d2d7; max-width: none; }
footer.site .fcols { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 22px 28px; padding-bottom: 20px; }
footer.site h5 { margin: 0 0 10px; font-size: 12px; font-weight: 600; color: #1d1d1f; letter-spacing: -.01em; }
footer.site ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
footer.site .fbar { border-top: 1px solid #d2d2d7; padding-top: 14px; display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; }
footer.site .flegal { display: flex; gap: 0; flex-wrap: wrap; }
footer.site .flegal a { padding-inline: 10px; border-inline-start: 1px solid #d2d2d7; }
footer.site .flegal a:first-child { padding-inline-start: 0; border: 0; }
@media (max-width: 640px) { footer.site .fcols { grid-template-columns: 1fr 1fr; } }
/* toasts (the feedback sheet uses them on the public pages too) */
#toasts { position: fixed; bottom: 18px; inset-inline-end: 18px; display: grid; gap: 8px; z-index: 95; }
#toasts .toast { background: #1d1d1f; color: #fff; padding: 11px 16px; border-radius: 14px; font-size: 14px; box-shadow: 0 18px 40px -16px rgba(0,0,0,.5); display: flex; gap: 8px; align-items: center; }
#toasts .toast.bad { background: #d70015; }
#toasts .toast svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
