/*
 * Sims Archives Design v70 — foundation
 * A clean visual layer that progressively replaces the accumulated alpha-era
 * presentation without changing Core data, routes or template behaviour.
 */
body.sat-design-v70{
  --sat-v70-bg:#050b22;
  --sat-v70-bg-soft:#081132;
  --sat-v70-surface:#0c173d;
  --sat-v70-surface-2:#111f4d;
  --sat-v70-surface-3:#17295f;
  --sat-v70-text:#f7f9ff;
  --sat-v70-muted:#aebbd8;
  --sat-v70-subtle:#7f8caf;
  --sat-v70-line:rgba(164,185,255,.14);
  --sat-v70-line-strong:rgba(164,185,255,.25);
  --sat-v70-accent:#b7ef3a;
  --sat-v70-accent-ink:#0b2607;
  --sat-v70-blue:#5f88ff;
  --sat-v70-container:1480px;
  --sat-v70-gutter:clamp(18px,3vw,46px);
  --sat-v70-radius-xl:28px;
  --sat-v70-radius-lg:20px;
  --sat-v70-radius-md:14px;
  --sat-v70-radius-sm:10px;
  --sat-v70-shadow:0 24px 70px rgba(0,0,0,.28);
  --sat-v70-shadow-soft:0 12px 38px rgba(0,0,0,.18);
  --sat-max:var(--sat-v70-container);
  --sat-bg:var(--sat-v70-bg);
  --sat-bg-2:var(--sat-v70-bg-soft);
  --sat-text:var(--sat-v70-text);
  --sat-muted:var(--sat-v70-muted);
  --sat-lime:var(--sat-v70-accent);
  --sat-line-soft:var(--sat-v70-line);
  background:
    radial-gradient(circle at 14% -8%,rgba(49,91,201,.18),transparent 32rem),
    radial-gradient(circle at 92% 10%,rgba(183,239,58,.055),transparent 26rem),
    var(--sat-v70-bg);
  color:var(--sat-v70-text);
  font-family:Inter,Aptos,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-weight:450;
  line-height:1.55;
  letter-spacing:-.008em;
}
body.sat-design-v70::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-10;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.014),transparent 30vh);
}
body.sat-design-v70 :where(h1,h2,h3,h4){
  color:var(--sat-v70-text);
  font-family:"Aptos Display",Aptos,"Segoe UI",Arial,sans-serif;
  font-weight:850;
  letter-spacing:-.042em;
  text-wrap:balance;
}
body.sat-design-v70 :where(p,li,dd){text-wrap:pretty}
body.sat-design-v70 a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}
body.sat-design-v70 a:focus-visible,
body.sat-design-v70 button:focus-visible,
body.sat-design-v70 input:focus-visible,
body.sat-design-v70 select:focus-visible,
body.sat-design-v70 summary:focus-visible{
  outline:2px solid var(--sat-v70-accent);
  outline-offset:3px;
}
body.sat-design-v70 .sat-eyebrow{
  margin:0 0 .55rem;
  color:var(--sat-v70-accent);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.sat-design-v70 .sat-main:not(.sat-game-page):not(.sat-store-home){
  width:min(100%,var(--sat-v70-container));
  max-width:none;
  margin-inline:auto;
  padding-inline:var(--sat-v70-gutter);
}
body.sat-design-v70 .sat-breadcrumb-shell{
  width:min(100%,var(--sat-v70-container));
  max-width:none;
  margin-inline:auto;
  padding:.7rem var(--sat-v70-gutter) 0;
}
body.sat-design-v70 .sat-breadcrumbs ol{gap:.35rem;color:var(--sat-v70-subtle);font-size:.76rem;font-weight:700}
body.sat-design-v70 .sat-breadcrumbs li{gap:.35rem}
body.sat-design-v70 .sat-breadcrumbs a{
  min-height:30px;
  padding:.22rem .38rem;
  border-radius:8px;
  color:var(--sat-v70-muted);
}
body.sat-design-v70 .sat-breadcrumbs a:hover{background:rgba(255,255,255,.055);color:#fff}
body.sat-design-v70 .sat-breadcrumb-separator{color:var(--sat-v70-accent);font-size:.36rem}

/* Shared cards and surfaces */
body.sat-design-v70 :where(.sat-card,.sat-panel,.sat-fact-card,.sat-rich-list article){
  border-color:var(--sat-v70-line);
  border-radius:var(--sat-v70-radius-lg);
  background:linear-gradient(180deg,rgba(17,31,77,.78),rgba(9,18,51,.88));
  box-shadow:none;
}
body.sat-design-v70 .sat-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
@media (hover:hover) and (pointer:fine){
  body.sat-design-v70 .sat-card:hover{transform:translateY(-2px);border-color:rgba(183,239,58,.33);box-shadow:var(--sat-v70-shadow-soft)}
}
body.sat-design-v70 :where(.sat-card-media,.sat-character-media,.sat-family-media){background:#0a1436}
body.sat-design-v70 .sat-card-body{padding:1rem 1.05rem 1.1rem}
body.sat-design-v70 .sat-card-body :where(h2,h3){font-size:1.05rem;letter-spacing:-.025em}
body.sat-design-v70 .sat-card-body p{color:var(--sat-v70-muted)}

/* Buttons: fewer pills, calmer elevation */
body.sat-design-v70 .sat-button{
  min-height:44px;
  padding:.7rem 1rem;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--sat-v70-accent);
  color:var(--sat-v70-accent-ink);
  box-shadow:none;
  font-size:.86rem;
  font-weight:900;
}
body.sat-design-v70 .sat-button.is-secondary{
  border-color:var(--sat-v70-line-strong);
  background:rgba(255,255,255,.075);
  color:#fff;
}
body.sat-design-v70 .sat-button.is-ghost{
  border-color:var(--sat-v70-line);
  background:transparent;
  color:#fff;
}
@media (hover:hover) and (pointer:fine){
  body.sat-design-v70 .sat-button:hover{transform:translateY(-1px);filter:none;box-shadow:0 10px 28px rgba(0,0,0,.22)}
  body.sat-design-v70 .sat-button.is-secondary:hover,
  body.sat-design-v70 .sat-button.is-ghost:hover{border-color:rgba(183,239,58,.44);background:rgba(183,239,58,.09)}
}

/* Global header */
body.sat-design-v70 .sat-site-header{
  position:sticky;
  top:0;
  z-index:1200;
  min-height:68px;
  padding:0 var(--sat-v70-gutter);
  border-bottom:1px solid rgba(164,185,255,.11);
  background:rgba(5,11,34,.82);
  backdrop-filter:blur(22px) saturate(1.25);
  box-shadow:none;
}
body.sat-design-v70 .sat-header-inner{
  width:min(100%,var(--sat-v70-container));
  max-width:none;
  min-height:68px;
  margin-inline:auto;
  gap:1.1rem;
}
body.sat-design-v70 .sat-branding{flex:0 0 auto}
body.sat-design-v70 :where(.sat-brand,.custom-logo-link){min-height:48px}
body.sat-design-v70 .custom-logo{max-width:210px;max-height:44px}
body.sat-design-v70 .sat-primary-nav{min-width:0;flex:1;justify-content:flex-end}
body.sat-design-v70 :where(.sat-nav-desktop,.sat-nav-assigned){min-width:0}
body.sat-design-v70 .sat-menu{gap:.1rem;flex-wrap:nowrap}
body.sat-design-v70 :where(.sat-nav-direct,.sat-nav-group-toggle,.sat-nav-assigned .sat-menu>li>a){
  position:relative;
  min-height:42px;
  padding:.55rem .68rem;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#c9d3ea;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}
body.sat-design-v70 :where(.sat-nav-direct,.sat-nav-group-toggle,.sat-nav-assigned .sat-menu>li>a) .sat-nav-icon img,
body.sat-design-v70 .sat-nav-menu-icon img{width:20px;height:20px}
body.sat-design-v70 .sat-nav-count{font-size:.62rem;opacity:.72}
body.sat-design-v70 :where(.sat-nav-direct,.sat-nav-group-toggle,.sat-nav-assigned .sat-menu>li>a):hover{background:rgba(255,255,255,.055);color:#fff}
body.sat-design-v70 :where(.sat-nav-direct.is-current,.sat-nav-item.is-current>.sat-nav-group-toggle,.sat-nav-assigned .current-menu-item>a){background:rgba(183,239,58,.075);color:#fff}
body.sat-design-v70 :where(.sat-nav-direct.is-current,.sat-nav-item.is-current>.sat-nav-group-toggle)::after{
  left:.7rem;right:.7rem;bottom:2px;height:2px;background:var(--sat-v70-accent);box-shadow:none;
}
body.sat-design-v70 .sat-nav-dropdown{
  top:calc(100% + 8px);
  min-width:270px;
  padding:.45rem;
  border:1px solid var(--sat-v70-line);
  border-radius:16px;
  background:rgba(8,17,48,.97);
  box-shadow:0 20px 60px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
}
body.sat-design-v70 .sat-nav-dropdown-link{min-height:44px;border-radius:10px}
body.sat-design-v70 .sat-header-search{width:190px;min-width:150px;height:40px;margin-left:.45rem}
body.sat-design-v70 .sat-header-search input{
  height:40px!important;
  border:1px solid var(--sat-v70-line)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  font-size:.8rem!important;
}
body.sat-design-v70 .sat-header-search input:focus{border-color:rgba(183,239,58,.48)!important;background:rgba(255,255,255,.07)!important}
body.sat-design-v70 .sat-header-search button{color:var(--sat-v70-accent)}
body.sat-design-v70 .sat-pocket-header-search,
body.sat-design-v70 .sat-menu-toggle{border-radius:12px;border-color:var(--sat-v70-line);background:rgba(255,255,255,.045)}

/* Shared archive/page hero */
body.sat-design-v70 :where(.sat-archive-hero,.sat-single-header,.sat-archive-cine-hero){
  border-color:var(--sat-v70-line);
  border-radius:var(--sat-v70-radius-xl);
  box-shadow:none;
}
body.sat-design-v70 .sat-archive-hero h1,
body.sat-design-v70 .sat-single-header h1{font-size:clamp(2.4rem,5.4vw,5.4rem);line-height:.92}

/* Footer */
body.sat-design-v70 .sat-site-footer{
  margin-top:clamp(2rem,5vw,5rem)!important;
  border-top:1px solid var(--sat-v70-line)!important;
  background:#04091c!important;
}
body.sat-design-v70 .sat-site-footer::before{opacity:.45}
body.sat-design-v70 .sat-footer-stats{border-bottom:1px solid var(--sat-v70-line)}
body.sat-design-v70 .sat-footer-stats-inner,
body.sat-design-v70 .sat-footer-grid,
body.sat-design-v70 .sat-footer-legal{width:min(calc(100% - (var(--sat-v70-gutter) * 2)),var(--sat-v70-container))}
body.sat-design-v70 .sat-footer-grid{grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(150px,1fr));gap:clamp(1.5rem,3vw,3rem);padding:3rem 0}
body.sat-design-v70 .sat-footer-column h2{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:#fff}
body.sat-design-v70 .sat-footer-link{color:var(--sat-v70-muted);font-size:.84rem}
body.sat-design-v70 .sat-footer-link:hover{color:#fff}
body.sat-design-v70 .sat-footer-legal{color:var(--sat-v70-subtle);font-size:.75rem}
