/* 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-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-categories { flex-basis:210px; }
.site-footer .site-footer-category-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; }
.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)); }
}
