/* Shared across both public page shells; independent of page theme and legacy footer rules. */
.site-footer { display:block; flex-shrink:0; width:100%; margin-top:50px; padding:36px 0; border-top:1px solid rgba(255,255,255,.08); background:#07080d; color:#a4abbe; font:400 13px/1.8 system-ui,-apple-system,"Segoe UI",sans-serif; }
.site-footer, .site-footer * { box-sizing:border-box; }
.site-footer .site-footer-wrap { width:100%; max-width:1252px; margin:0 auto; padding:0 16px; }
.site-footer a { color:inherit; text-decoration:none; overflow-wrap:anywhere; transition:color .15s ease; }
.site-footer a:hover { color:#ff956b; }
.site-footer a:focus-visible { outline:2px solid #ff7054; outline-offset:4px; border-radius:3px; }
.site-footer p, .site-footer h2 { margin:0; padding:0; }
.site-footer .site-footer-grid { display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; margin-bottom:28px; }
.site-footer .site-footer-brand { flex:1 1 280px; max-width:380px; min-width:0; }
.site-footer .site-footer-logo { display:inline-flex; align-items:center; }
.site-footer .site-footer-logo img { display:block; width:110px; height:auto; max-width:100%; }
.site-footer .site-footer-brand > p { margin-top:12px; }
.site-footer .site-footer-brand .site-footer-address { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.site-footer .site-footer-address span { color:#ffc24b; font-weight:700; }
.site-footer .site-footer-col { flex:0 1 160px; min-width:100px; }
.site-footer .site-footer-col h2 { margin:0 0 12px; color:#f3f5fb; font-size:14px; font-weight:700; line-height:1.8; }
.site-footer .site-footer-col > a { display:block; margin-bottom:8px; }
.site-footer .site-footer-categories { flex-basis:210px; }
.site-footer .site-footer-category-links { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
.site-footer .site-footer-email { display:block; margin:0 0 8px; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.site-footer .site-footer-email:hover { color:#ff956b; }
.site-footer .site-footer-email:focus-visible, .site-footer-email-dialog button:focus-visible { outline:2px solid #ff7054; outline-offset:4px; }
.site-footer .site-footer-email-dialog { width:calc(100% - 32px); max-width:360px; margin:auto; padding:24px; border:1px solid #343947; border-radius:12px; background:#12151f; color:#f3f5fb; font:inherit; }
.site-footer-email-dialog::backdrop { background:rgba(0,0,0,.65); }
.site-footer .site-footer-email-dialog h2 { font-size:18px; }
.site-footer .site-footer-email-address { margin:16px 0 24px; font-size:16px; overflow-wrap:anywhere; user-select:text; }
.site-footer-email-dialog form { margin:0; text-align:right; }
.site-footer-email-dialog button { padding:8px 20px; border:0; border-radius:6px; background:#ff7054; color:#07080d; font:inherit; font-weight:600; cursor:pointer; }
.site-footer .site-footer-contact { scroll-margin-top:90px; }
.site-footer .site-footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:18px; text-align:center; }
@media(max-width:768px) {
 .site-footer { margin-top:32px; padding:28px 0; }
 .site-footer .site-footer-grid { gap:28px 24px; }
 .site-footer .site-footer-brand { flex-basis:100%; max-width:none; }
 .site-footer .site-footer-col { flex:1 1 calc(50% - 24px); min-width:0; }
 .site-footer .site-footer-categories { flex-basis:100%; }
 .has-h5-tabbar .site-footer { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
}

/* Footer utilities share the same appearance even on pages without home.css. */
.home-tools{position:fixed;right:22px;bottom:24px;z-index:60;display:flex;flex-direction:column;gap:10px}
.home-tool{box-sizing:border-box;width:54px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:#171b28;color:#f3f5fb;text-decoration:none;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.7)}
.home-tool[hidden]{display:none}
.home-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-tool span{font-size:9px;font-weight:700;line-height:1.2}
@media(max-width:768px){.home-tools{right:12px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.home-tool{width:48px;height:48px}}
