/* FILE: /srv/slimboom/Sites/slimboom/public/assets/spanihel/unified_shell.css
 * Version: 2026-11-07-strategysift-v38-footer-alignment
 * One outer shell for all routes.  Public content and existing application
 * modules deliberately retain their own data-panel styling and behavior.
 */
:root { --ss-shell-width:1500px; --ss-ink:#0b2545; --ss-navy:#082747; --ss-line:#dae7f0; }
body.sb-unified { font-family:Inter,"Segoe UI",Arial,sans-serif; }
body.sb-unified .sb-page { min-height:100vh;display:flex;flex-direction:column; }
body.sb-unified .sa-global-header__inner { max-width:var(--ss-shell-width); }
body.sb-unified .sb-main, body.sb-unified .sa-main { flex:1 0 auto;min-width:0; }
body.sb-unified .sb-main > .sb-container,
body.sb-unified .sb-subnav__inner { max-width:var(--ss-shell-width); }
body.sb-unified .sa-global-footer {
  flex:0 0 auto;margin-top:auto;padding:35px 0 17px;
  background:var(--ss-navy);color:#eff7ff;border-top:1px solid #254765;
  font-size:13px;line-height:1.5; color-scheme:dark;
}
body.sb-unified .sa-global-footer .shell{max-width:var(--ss-shell-width);margin:0 auto;padding:0 28px;}
body.sb-unified .sa-global-footer .footgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;}
body.sb-unified .sa-global-footer .footbrand p{font-size:13px;max-width:320px;line-height:1.6;margin:13px 0 0;color:#b9cddf;}
body.sb-unified .sa-global-footer .foot-col h4{font-size:13px;margin:0 0 11px;color:#eff7ff;}
body.sb-unified .sa-global-footer .foot-col a,
body.sb-unified .sa-global-footer .foot-col span{display:block;margin:0 0 7px;color:#c2d5e4;font-size:13px;text-decoration:none;}
body.sb-unified .sa-global-footer .foot-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}
body.sb-unified .sa-global-footer .footbottom{border-top:1px solid #31516f;margin-top:26px;padding-top:14px;display:flex;justify-content:space-between;color:#a5c1d8;font-size:11px;gap:12px;}
body.sb-unified .sa-global-footer .footbottom div:last-child{text-align:right;}
body.sb-unified .sa-global-footer .sa-legal-pending,
body.sb-unified .sa-global-footer .sa-site-caveat{font-size:11px;line-height:1.7;color:#9bcbe9;}
body.sb-unified .sa-global-footer .sa-site-caveat{margin-top:18px;}
/* Footer brand uses the identical favicon symbol as the global header.
   Explicit selectors override the former site.css .footbrand img white filter. */
body.sb-unified .sa-global-footer .sa-foot-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#eff7ff;white-space:nowrap;max-width:100%;}
body.sb-unified .sa-global-footer .sa-foot-logo:hover{text-decoration:none;}
body.sb-unified .sa-global-footer .sa-foot-logo:focus-visible{outline:2px solid #58c4ff;outline-offset:4px;border-radius:4px;}
body.sb-unified .sa-global-footer .sa-foot-logo .sa-foot-mark{display:block;width:44px;height:44px;max-width:none;flex:0 0 44px;object-fit:contain;filter:none;opacity:1;mix-blend-mode:normal;}
body.sb-unified .sa-global-footer .sa-foot-text{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.08;}
body.sb-unified .sa-global-footer .sa-foot-wordmark{display:block;font-size:24px;font-weight:800;letter-spacing:-.58px;line-height:1.08;color:#eff7ff;}
body.sb-unified .sa-global-footer .sa-foot-kicker{display:block;font-size:7.1px;font-weight:750;letter-spacing:.30px;line-height:1.5;color:#a9cce4;}
body.sb-unified.sa-mode .sa-page-notice{max-width:var(--ss-shell-width);padding-left:28px;padding-right:28px;}
/* Clear the former blog-only footer variant; every route uses the same footer. */
body.sb-unified.sb-mode-blog .sa-global-footer{background:var(--ss-navy);color:#eff7ff;}
@media(max-width:860px){body.sb-unified .sa-global-footer .footgrid{grid-template-columns:1fr 1fr;gap:23px;}}
@media(max-width:560px){
 body.sb-unified .sa-global-footer{padding:27px 0 17px;}
 body.sb-unified .sa-global-footer .shell{padding-left:19px;padding-right:19px;}
 body.sb-unified .sa-global-footer .footgrid{grid-template-columns:1fr;gap:21px;}
 body.sb-unified .sa-global-footer .footbottom{flex-direction:column;gap:8px;margin-top:22px;}
 body.sb-unified .sa-global-footer .footbottom div:last-child{text-align:left;}
 body.sb-unified.sa-mode .sa-page-notice{padding-left:19px;padding-right:19px;}
}

/* StrategySift V27 — wider desktop content and full-bleed hero.
   Images and their embedded desktop labels/CTAs remain unchanged.
   Preserve the existing tablet/mobile hero and navigation behavior. */
body.sb-unified.sa-mode .shell { max-width:var(--ss-shell-width); }
@media (min-width:861px) {
  body.sb-unified.sa-mode .sa-main > .hero {
    width:100%; max-width:none; margin-inline:0;
    aspect-ratio:auto;
    height:clamp(520px,44.476vw,780px);
  }
  body.sb-unified.sa-mode .sa-main > .hero .slide > img {
    display:block; width:100%; height:100%;
    object-fit:cover; object-position:center 22%;
  }
}

/* Footer V38: make the identity legible at narrow viewport widths. */
@media (max-width:380px) {
 body.sb-unified .sa-global-footer .sa-foot-logo{gap:8px;}
 body.sb-unified .sa-global-footer .sa-foot-logo .sa-foot-mark{width:37px;height:37px;flex-basis:37px;}
 body.sb-unified .sa-global-footer .sa-foot-wordmark{font-size:20px;letter-spacing:-.48px;}
 body.sb-unified .sa-global-footer .sa-foot-kicker{font-size:6px;letter-spacing:.25px;}
}
