/* Compaxit site template — shell, footer, base. The component owns headers. */
:root{
  --ink:#16203a; --brass:#9c7a43; --paper:#f6f3ec; --paper-2:#f3efe6;
  --line:#e4ddcd; --soft:#5b6478;
}
html{box-sizing:border-box;-webkit-text-size-adjust:100%;}
*,*::before,*::after{box-sizing:inherit;}
body.cx-site{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'IBM Plex Sans',system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
body.cx-site a{color:var(--brass);}
.cx-skip{position:absolute;left:-9999px;top:auto;}
.cx-skip:focus{left:14px;top:14px;background:#fff;color:var(--ink);padding:9px 15px;border-radius:8px;z-index:1000;box-shadow:0 6px 18px rgba(0,0,0,.15);}
#cx-main{min-height:62vh;}
#cx-main > .alert{max-width:1120px;margin:16px auto;border-radius:10px;}
.cx-topslot{background:var(--ink);color:#dfe4ee;}

/* footer */
.cx-foot{background:var(--ink);color:#c3cbdb;margin-top:64px;}
.cx-foot-in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:44px;padding:54px 26px 32px;}
.cx-foot-col{flex:1 1 220px;}
.cx-foot-logo{height:30px;width:auto;display:block;margin-bottom:14px;}
.cx-foot h5{color:#fff;font-family:'Spectral',Georgia,serif;font-size:16px;margin:0 0 14px;font-weight:600;}
.cx-foot p{margin:0 0 5px;font-size:14px;}
.cx-foot a{color:#c3cbdb;text-decoration:none;}
.cx-foot a:hover{color:#fff;text-decoration:underline;}
.cx-foot ul{list-style:none;padding:0;margin:0;}
.cx-foot ul li{margin-bottom:9px;font-size:14px;}
.cx-foot-bar{border-top:1px solid rgba(255,255,255,.10);}
.cx-foot-bar span{display:block;max-width:1120px;margin:0 auto;padding:16px 26px;font-size:13px;color:#9aa4ba;}

/* bare (component.php) */
body.cx-bare{background:#fff;}
body.cx-bare .cx-foot{display:none;}

/* error / offline */
.cx-err{max-width:640px;margin:0 auto;padding:90px 26px;text-align:center;}
.cx-err h1{font-family:'Spectral',Georgia,serif;font-size:64px;margin:18px 0 6px;color:var(--ink);}
.cx-err p{color:var(--soft);font-size:16px;}
.cx-err-btn{display:inline-block;margin-top:14px;background:var(--ink);color:#fff !important;text-decoration:none;padding:11px 20px;border-radius:9px;font-weight:600;}
