/* Only replace the theme header after the replacement exists. */
body.jims-shell-ready #header-container,
body.jims-shell-ready #navi,
body.jims-shell-ready .mobile-header-menu-buttons { display:none !important; }
body:has(#jims-simple-header) #header-container,
body:has(#jims-simple-header) #navi,
body:has(#jims-simple-header) .mobile-header-menu-buttons { display:none !important; }
#jims-simple-header { box-sizing:border-box; width:100%; margin:0; padding:0; background:#fff; border-bottom:1px solid #eee3f0; color:#24182f; }
#jims-simple-header .jims-simple-header-inner { box-sizing:border-box; max-width:1200px; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
#jims-simple-header a { text-decoration:none; }
#jims-simple-header .jims-site-brand { color:#24182f; font-size:clamp(18px,3.8vw,24px); font-weight:800; line-height:1.4; }
#jims-simple-header .jims-site-brand span { color:#dd378e; }
#jims-simple-header .jims-home-link { display:inline-block; color:#573583; background:#faf5ff; border:1px solid #e4d4ee; padding:9px 18px; border-radius:999px; font-size:15px; white-space:nowrap; }
#jims-content-navigation { box-sizing:border-box; clear:both; width:calc(100% - 32px); max-width:1160px; margin:12px auto 18px; padding:12px; border:1px solid #ebdced; border-radius:16px; background:#fcf8ff; color:#2c213b; }
#jims-content-navigation .jims-content-navigation-title { margin:0 0 14px; font-size:16px; font-weight:700; }
#jims-content-navigation ul { display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0; }
#jims-content-navigation li { margin:0; padding:0; }
#jims-content-navigation a { display:block; padding:10px 15px; border:1px solid #e4d4ee; border-radius:10px; background:#fff; color:#513371; text-decoration:none; font-size:15px; line-height:1.5; }
#jims-content-navigation a:hover,#jims-simple-header .jims-home-link:hover { background:#f3eafa; }
#jims-content-navigation a:focus-visible,#jims-simple-header a:focus-visible { outline:3px solid #aa56c9; outline-offset:3px; }
@media(max-width:600px) {
 #jims-simple-header .jims-simple-header-inner { padding:8px 12px; gap:8px; }
 #jims-simple-header .jims-site-brand { font-size:17px; line-height:1.25; }
 #jims-simple-header .jims-home-link { font-size:12px; padding:7px 12px; }
 #jims-content-navigation { width:calc(100% - 20px); margin:8px auto 12px; padding:8px; border-radius:12px; }
 #jims-content-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 #jims-content-navigation a { align-items:center; display:flex; height:100%; min-height:38px; box-sizing:border-box; padding:6px 8px; border-radius:8px; font-size:12px; line-height:1.3; overflow-wrap:anywhere; }
}
