/* Page-specific footer measurements; header styles are shared in shell.css. */
@media(min-width:768px) {
    body:has(.subpage) {
        --sp-footer-font:'Noto Sans JP',sans-serif; --sp-footer-bg:white; --sp-footer-pad:40px 0; --sp-footer-inset:64px; --sp-footer-max:1376px;
        --sp-footer-logo-width:164.78125px; --sp-footer-logo-height:28px; --sp-footer-logo-box:28px;
        --sp-footer-nav-size:15px; --sp-footer-nav-weight:500; --sp-footer-nav-gap:32px; --sp-footer-nav-height:0px;
        --sp-footer-top-pad:24px; --sp-footer-bottom-pad:24px; --sp-footer-bottom-min:21px; --sp-footer-copy-size:14px; --sp-footer-copy-line:21px; --sp-footer-copy-font:'Noto Sans JP',sans-serif;
        --sp-footer-color:#525252; --sp-footer-copy-color:#737373; --sp-footer-line:#e5e5e5;
    }
    body:has(.subpage-division-tft) { --sp-footer-font:'Noto Sans',sans-serif; --sp-footer-bg:#f2f2f2; --sp-footer-pad:32px 0; --sp-footer-inset:96px; --sp-footer-max:none; --sp-footer-logo-width:211.3515625px; --sp-footer-logo-height:36px; --sp-footer-logo-box:36px; --sp-footer-nav-gap:24px; --sp-footer-nav-weight:400; --sp-footer-bottom-pad:20px; --sp-footer-copy-font:'Noto Sans',sans-serif; --sp-footer-copy-color:#666; --sp-footer-color:#1a1a1a; }
    body:has(.subpage-division-streamer) { --sp-footer-logo-width:141.234375px; --sp-footer-logo-height:24px; --sp-footer-logo-box:24px; --sp-footer-nav-size:16px; --sp-footer-nav-gap:24px; --sp-footer-nav-height:44px; --sp-footer-bottom-pad:16px; }
    body:has(.subpage-division-creator) { --sp-footer-nav-size:16px; --sp-footer-nav-gap:24px; --sp-footer-copy-size:18px; --sp-footer-copy-line:1.7; --sp-footer-bottom-min:0px; }
    body:has(.subpage-division-fate-trigger) { --sp-footer-top-pad:32px; }
    body:has(.subpage-division-fighters) { --sp-footer-pad:32px 0; --sp-footer-nav-gap:24px; --sp-footer-bottom-pad:16px; }
    body:has(.subpage-news,.subpage-article,.subpage-recruit,.subpage-recruit-detail,.subpage-privacy) { --sp-footer-inset:96px; --sp-footer-max:1184px; --sp-footer-logo-width:240px; --sp-footer-logo-height:40.78125px; --sp-footer-logo-box:40.78125px; --sp-footer-nav-weight:400; }
    body:has(.subpage-news) { --sp-footer-font:'Noto Sans',sans-serif; --sp-footer-bg:#111; --sp-footer-pad:64px 0; --sp-footer-top-pad:40px; --sp-footer-bottom-pad:40px; --sp-footer-bottom-min:24px; --sp-footer-copy-font:'Space Grotesk',sans-serif; --sp-footer-color:#e5e5e5; --sp-footer-copy-color:#777; --sp-footer-line:#333; }
    body:has(.subpage-article) { --sp-footer-font:'Noto Sans',sans-serif; --sp-footer-bg:#131313; --sp-footer-pad:48px 0 56px; --sp-footer-nav-size:14px; --sp-footer-nav-gap:24px; --sp-footer-top-pad:40px; --sp-footer-bottom-pad:32px; --sp-footer-bottom-min:44px; --sp-footer-copy-font:'Space Grotesk',sans-serif; --sp-footer-color:#aaa; --sp-footer-copy-color:#888; --sp-footer-line:#ffffff1a; }
    body:has(.subpage-recruit) { --sp-footer-bg:#fcfcfc; --sp-footer-pad:56px 0; --sp-footer-logo-box:45.78125px; --sp-footer-top-pad:40px; --sp-footer-bottom-pad:32px; --sp-footer-copy-font:'Space Grotesk',sans-serif; --sp-footer-copy-color:#888; --sp-footer-color:#555; }
    body:has(.subpage-recruit-detail) { --sp-footer-bg:#111; --sp-footer-pad:64px 0 48px; --sp-footer-nav-size:14px; --sp-footer-top-pad:40px; --sp-footer-bottom-pad:32px; --sp-footer-bottom-min:44px; --sp-footer-color:#a3a3a3; --sp-footer-line:#ffffff1a; }
    body:has(.subpage-privacy) { --sp-footer-font:'Noto Sans',sans-serif; --sp-footer-bg:#111; --sp-footer-max:none; --sp-footer-nav-size:16px; --sp-footer-nav-gap:24px; --sp-footer-nav-height:44px; --sp-footer-bottom-pad:16px; --sp-footer-color:#c6c7c4; --sp-footer-copy-font:'Space Grotesk',sans-serif; --sp-footer-copy-color:#777; --sp-footer-line:#333; }
    body:has(.subpage) .site-footer { margin:0; padding:var(--sp-footer-pad); border-top:1px solid var(--sp-footer-line); background:var(--sp-footer-bg); color:var(--sp-footer-color); font-family:var(--sp-footer-font); }
    body:has(.subpage-division-streamer,.subpage-division-event) .site-footer { margin-top:48px; }
    body:has(.subpage) .footer-top,body:has(.subpage) .footer-bottom { width:calc(100% - var(--sp-footer-inset)); max-width:var(--sp-footer-max); margin:auto; }
    body:has(.subpage) .footer-top { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; padding:0 0 var(--sp-footer-top-pad); border-bottom:1px solid var(--sp-footer-line); }
    body:has(.subpage) .footer-logo { display:flex; align-items:flex-start; height:var(--sp-footer-logo-box); line-height:0; }
    body:has(.subpage) .footer-logo .brand { display:block; padding:0; margin:0; }
    body:has(.subpage) .site-footer .brand img { width:var(--sp-footer-logo-width); height:var(--sp-footer-logo-height); max-width:none; filter:none; object-fit:contain; }
    body:has(.subpage) .footer-top nav { display:flex; align-items:center; justify-content:flex-end; gap:12px var(--sp-footer-nav-gap); margin:0; padding:0; border:0; font:var(--sp-footer-nav-weight) var(--sp-footer-nav-size)/1.5 var(--sp-footer-font); color:inherit; }
    body:has(.subpage) .footer-top nav > a { min-height:var(--sp-footer-nav-height); display:inline-flex; align-items:center; border:0; padding:0; gap:4px; }
    body:has(.subpage) .footer-bottom { padding:var(--sp-footer-bottom-pad) 0 0; min-height:calc(var(--sp-footer-bottom-pad) + var(--sp-footer-bottom-min)); display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--sp-footer-copy-color); font:400 var(--sp-footer-copy-size)/var(--sp-footer-copy-line) var(--sp-footer-copy-font); }
    body:has(.subpage) .footer-bottom small { display:block; font:inherit; }
    body:has(.subpage) .footer-bottom-x { display:none; }
    body:has(.subpage-divisions,.subpage-division-tft,.subpage-article,.subpage-recruit,.subpage-recruit-detail) .footer-bottom-privacy { display:inline-flex; align-items:center; min-height:var(--sp-footer-bottom-min); font:400 14px/21px var(--sp-footer-font); }
    body:has(.subpage-article,.subpage-recruit-detail) .footer-bottom-privacy-ja { display:none; }
    body:has(.subpage-article,.subpage-recruit-detail) .footer-bottom-privacy-en { display:inline; }
    body:has(.subpage-division-event) .footer-bottom-note { display:block; color:#a3a3a3; }
    body:has(.subpage-division:not(.subpage-division-tft),.subpage-privacy) .footer-privacy-long { display:inline; }
    body:has(.subpage-division-tft) .footer-top .footer-privacy { display:none; }
    body:has(.subpage-division-fate-trigger) .footer-top .footer-privacy { font-size:14px; }
    body:has(.subpage-news,.subpage-privacy) .site-footer { border-top:0; }
    body:has(.subpage-news,.subpage-article,.subpage-recruit,.subpage-recruit-detail) .footer-x::after { content:'↗'; margin-left:4px; }
    body:has(.subpage-division-tft,.subpage-privacy) .footer-x::after { content:'north_east'; font:16px/1 'Material Symbols Outlined'; }
    body:has(.subpage-privacy) .footer-privacy { font-weight:600; color:white; }
    body:has(.subpage-privacy) .footer-x { color:#ff7f0f; }
    body:has(.subpage-divisions,.subpage-division:not(.subpage-division-tft)) .footer-top a[href$="/divisions/"] { color:#ff7f0f; font-weight:700; }
    body:has(.subpage-division-tft) .footer-top nav { color:#444; }
    body:has(.subpage-division-tft) .footer-bottom small::before { content:''; display:inline-block; vertical-align:middle; width:6px; height:6px; margin-right:8px; background:#ff7f0f; }
    body:has(.subpage-news,.subpage-article) .footer-top nav { color:#a0a0a0; }
    body:has(.subpage-news) .footer-top a[href$="/news/"] { color:white; font-weight:500; }
    body:has(.subpage-news,.subpage-article) .footer-x { color:#ff7f0f; }
    body:has(.subpage-recruit) .footer-x { font-weight:500; }
    body:has(.subpage-news,.subpage-article,.subpage-recruit,.subpage-recruit-detail) .footer-x::after { margin-left:0; }
    body:has(.subpage-divisions,.subpage-division) { --sp-footer-line:#ecece9; }
    body:has(.subpage-division-tft) { --sp-footer-line:#ddd; }
    body:has(.subpage-division-tft) .site-footer { border-top-color:#e5e5e5; }
    body:has(.subpage-news,.subpage-article,.subpage-privacy) { --sp-footer-line:#2a2a2a; }
    body:has(.subpage-article) .site-footer { border-top-color:#262626; }
    body:has(.subpage-recruit-detail) { --sp-footer-line:#262626; }
}
@media(min-width:768px) and (max-width:1023px) {
    body:has(.subpage) .footer-top { flex-direction:column; align-items:flex-start; }
    body:has(.subpage) .footer-top nav { justify-content:flex-start; }
}
/* Dedicated mobile source shells W18, W21, W22. */
@media(max-width:767px) {
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .site-footer { padding:40px 20px; border:0; background:#131313; color:#aaa; font-family:'Noto Sans',sans-serif; text-align:center; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-top { display:flex; align-items:center; flex-direction:column; padding:0; border:0; gap:16px; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-logo { display:flex; justify-content:center; align-items:center; line-height:0; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .site-footer .brand { margin:0; padding:0; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .site-footer .brand img { width:170px; height:auto; filter:none; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-top nav { display:flex; flex-direction:row; justify-content:center; align-items:center; gap:24px; margin:0; border:0; color:inherit; font-size:16px; font-weight:400; line-height:1.7; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-top nav > a { min-height:44px; border:0; padding:0; gap:4px; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-top nav > a:not(.footer-privacy,.footer-x) { display:none; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-privacy-long { display:inline; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-arrow { display:none; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-bottom { display:block; padding:16px 0 0; color:#666; font:400 16px/1.7 'Noto Sans',sans-serif; letter-spacing:.05em; }
    body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-bottom > a,body:has(.subpage-division-tft,.subpage-article,.subpage-recruit) .footer-bottom-note { display:none; }
    body:has(.subpage-division-tft) .footer-logo { min-height:44px; }
    body:has(.subpage-division-tft) .footer-x::after { content:' (TWITTER)'; }
    body:has(.subpage-article) .site-footer { width:calc(100% - 40px); margin-top:32px; padding:32px 20px; background:#111; }
    body:has(.subpage-article) .site-footer .brand img { width:190px; }
    body:has(.subpage-article) .footer-top nav { gap:20px; font-size:14px; }
    body:has(.subpage-article) .footer-x .footer-arrow { display:inline; font-size:16px; color:inherit; }
    body:has(.subpage-article) .footer-bottom { font-size:14px; color:#888884; text-transform:uppercase; letter-spacing:.1em; }
    body:has(.subpage-recruit) .site-footer { padding:32px 20px; margin-top:48px; background:#111; color:#bbb; }
    body:has(.subpage-recruit) .site-footer .brand img { filter:none; }
    body:has(.subpage-recruit) .footer-top nav { gap:16px; font-size:16px; letter-spacing:.21px; }
    body:has(.subpage-recruit) .footer-top nav > a { align-items:flex-start; gap:0; }
    body:has(.subpage-recruit) .footer-privacy::after { content:'|'; padding-left:16px; font-size:14px; line-height:1.7; align-self:center; }
    body:has(.subpage-recruit) .footer-bottom { font-size:14px; color:#777; text-transform:uppercase; letter-spacing:.1em; }
}
@media(max-width:767px) {
    body:has(.subpage-division-tft) .footer-top nav,body:has(.subpage-division-tft) .footer-bottom { font-size:14px; line-height:1.7; }
    body:has(.subpage-division-tft) .footer-top nav { letter-spacing:.015em; }
    body:has(.subpage-division-tft) .footer-top nav > a { display:block; }
    body:has(.subpage-division-tft) .footer-top nav > a:not(.footer-privacy,.footer-x) { display:none; }
    body:has(.subpage-division-tft,.subpage-recruit) .site-footer .brand img { height:28.8828125px; object-fit:contain; }
    body:has(.subpage-article) .site-footer .brand img { height:32.28125px; object-fit:contain; }
    body:has(.subpage-article) .footer-top nav { font-family:'Space Grotesk',sans-serif; letter-spacing:.015em; }
}
