/* Cocoon native markup and menu/widget slots, shared by all public pages. */
body.genai-site{background:#f4f6fa;color:#172238;font-family:system-ui,'Yu Gothic',Meiryo,sans-serif}
.genai-site #header-container,.genai-site #footer{background:#fff;color:#172238}
.genai-site #header-container{border-bottom:1px solid #dbe2ed}
.genai-site #header-container-in,.genai-site #footer-in{max-width:var(--ga-site-width,1160px);margin:auto}
/* Match the content width; Cocoon's nested .wrap otherwise stays at 1184px. */
@media(min-width:1024px){
 .genai-site #header-container{width:100%;max-width:var(--ga-site-width,1160px);margin-left:auto;margin-right:auto}
 .genai-site #header-container-in,.genai-site #header-in{width:100%;max-width:100%}
}
.genai-site #header .logo{font-size:22px;font-weight:700;margin:0;line-height:1.5}
.genai-site #header .site-name-text{color:#2355b1}
.genai-site #header .logo a{padding:22px 28px}
.genai-site #header-container #header .logo-header>a{font-size:20px;min-height:68px;display:flex;align-items:center;justify-content:center;padding:16px 28px}
.genai-site #header .tagline{font-size:13px;color:#58647a;margin:0;padding:0 24px 14px}
.genai-site #navi{background:#fff;color:#172238}
.genai-site #navi a,.genai-site #navi-footer a{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#172238}
.genai-site #navi a:hover,.genai-site #navi-footer a:hover{background:#eaf0fa;color:#2355b1}
.genai-site #navi .sub-menu{background:#fff;color:#172238;box-shadow:0 5px 20px #17223818}
.genai-site #navi li:focus-within>.sub-menu{display:block;visibility:visible;opacity:1}
.genai-site #footer{border-top:1px solid #dbe2ed;margin-top:40px;padding:24px}
.genai-site .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:0}
.genai-site #footer .footer-bottom-logo,.genai-site #footer .footer-bottom-content{position:static;inset:auto;float:none;min-width:0;max-width:100%}
.genai-site #footer .footer-bottom-logo{flex:0 1 auto}
.genai-site #footer .footer-bottom-content{flex:1 1 240px;width:auto;text-align:right}
.genai-site #footer .logo-footer a{color:#2355b1;line-height:1.8}
.genai-site #footer .logo-footer .site-logo-image{visibility:visible;display:block;max-height:56px;width:auto;max-width:220px;height:auto;object-fit:contain}
.genai-site #footer .footer-bottom::after{display:none}
.genai-site .footer-bottom .logo{margin:0;font-size:17px}
.genai-site .copyright{font-size:12px;color:#58647a}
.genai-site #header-container a:focus-visible,.genai-site #footer a:focus-visible{outline:3px solid #2355b1;outline-offset:3px}
/* Only the homepage's content column changes; shared Cocoon header/footer remain native. */
.genai-catalog #content{margin-top:0}
.genai-catalog #content-in{display:block;max-width:var(--ga-site-width,1160px);padding:0}
.genai-catalog #main{width:100%;padding:0;border:0;background:#fff;min-width:0}
.genai-catalog #sidebar{display:none}
.genai-front #genai-home .ga-feature-copy .ga-state{display:inline-flex;align-items:center;gap:7px;margin:8px 0;padding:4px 10px;border:1px solid currentColor;border-radius:999px;font-size:13px;line-height:1.6;font-weight:500;background:#fff}
.genai-front #genai-home .ga-feature-copy .ga-state::before{display:block;flex:0 0 6px}
.genai-front #genai-home .ga-feature-copy .ga-read{display:block}
.genai-front #genai-home .ga-hero h1{color:#2355b1}
@media(max-width:600px){.genai-site #header .logo{font-size:19px}.genai-site #header .logo a{padding:18px 16px}.genai-site #footer{padding:20px 16px}.genai-site .footer-bottom{align-items:flex-start}.genai-catalog #main{padding:0}}
/* Use Cocoon's actual fixed-header image, rather than custom CSS plus text. */
@media(max-width:1023px){
 .genai-site .mobile-header-menu-buttons .logo-menu-button.menu-button{background-image:none}
 .genai-site .mobile-header-menu-buttons .logo-menu-button .site-logo-image{visibility:visible;display:block;max-width:100%;max-height:40px;width:auto;height:auto;object-fit:contain}
 .genai-site .mobile-header-menu-buttons .logo-menu-button>a{display:flex;align-items:center;justify-content:center;width:100%;height:50px;padding:5px 8px}
 .genai-site.admin-bar #wpadminbar{position:fixed;top:0}
 /* Cocoon writes an inline top on resize/scroll; keep both logged-in bars stacked. */
 .genai-site.admin-bar .mobile-header-menu-buttons{top:32px!important;transition:none}
 .genai-site.admin-bar.mblt-header-mobile-buttons,.genai-site.admin-bar.mblt-header-and-footer-mobile-buttons{margin-top:50px}
 .genai-site.admin-bar #wpadminbar #wp-admin-bar-top-secondary{position:absolute;top:0;right:0}
 .genai-site.admin-bar #wpadminbar #wp-admin-bar-my-account>.ab-item{font-size:0;padding:0 8px;min-width:32px}
 .genai-site.admin-bar #wpadminbar #wp-admin-bar-my-account>.ab-item .display-name{display:none}
 .genai-site.admin-bar #wpadminbar #wp-admin-bar-my-account>.ab-item img{margin-left:0}
 .genai-site.admin-bar #wpadminbar #wp-admin-bar-root-default{display:flex;flex-wrap:nowrap;max-width:calc(100% - 80px);box-sizing:border-box}
 .genai-site.admin-bar #wpadminbar #wp-admin-bar-root-default>li{flex:0 1 auto;min-width:0}
 .genai-site.admin-bar #wpadminbar #wp-admin-bar-root-default>li>.ab-item{overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:782px){.genai-site.admin-bar .mobile-header-menu-buttons{top:46px!important}}
@media(max-width:600px){.genai-site #footer .footer-bottom-content{text-align:left}}

/* Shared catalog cards and full-row Cocoon ad/widget slots. */
body.genai-catalog #genai-home{max-width:var(--ga-site-width,1160px);margin:0 auto;overflow-wrap:anywhere;color-scheme:light}
#genai-home .ga-catalog-ad{grid-column:1 / -1;min-width:0;max-width:100%;margin:16px 0}
#genai-home .ga-archive h1{font-size:32px}

/* Enlarge the actual assist-bar logo while retaining separate home/search controls. */
@media(max-width:1023px){
 .genai-site .mobile-header-menu-buttons .logo-menu-button>a{padding:0 4px;overflow:hidden}
 .genai-site .mobile-header-menu-buttons .logo-menu-button .site-logo-image{width:clamp(210px,40vw,300px);max-width:100%;height:auto;max-height:none;flex-shrink:0}
}
#genai-home.ga-archive .ga-search{margin:24px 0;max-width:680px}
#genai-home .ga-sort{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 24px;font-size:14px}
#genai-home .ga-sort select,#genai-home .ga-sort button{min-height:44px;border:1px solid var(--ga-line);border-radius:7px;padding:6px 12px;background:#fff;color:var(--ga-ink);font:inherit}
#genai-home .ga-sort button{background:var(--ga-blue);color:#fff;cursor:pointer}
#genai-home .ga-sort span{color:var(--ga-muted)}
#genai-home .ga-sort select{width:auto;max-width:100%}
#genai-home .ga-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Keep the footer outer edges aligned; its padding must not enlarge the inner wrap. */
.genai-site #footer{width:100%;max-width:var(--ga-site-width,1160px);margin-left:auto;margin-right:auto;box-sizing:border-box}
.genai-site #footer-in{width:100%;max-width:100%;box-sizing:border-box}
