/* ==========================================================================
   eve-layout.css — shared TPRM/AI-Act/DORA chrome layout (single source)
   --------------------------------------------------------------------------
   Loaded LAST in <head> on every domain page so it overrides each page's
   inline chrome CSS at equal specificity. Owns the DIMENSIONS of the shared
   chrome: side domain nav, hero, subnav, content container, footer.
   Content styles (.ab-*, .ov*, .tl-*, etc.) are NOT touched here.

   Served as a static asset via the existing /samples mount:
     /samples/eve-layout.css   (no backend change)

   (c) 2026 Organiq Sweden AB — Patent Pending (EVE-PAT-2026-001)
   ========================================================================== */

:root{
  /* self-contained palette (same hexes the pages already use) */
  --eve-navy:#0f172a; --eve-white:#ffffff; --eve-bg:#f7f8fa; --eve-border:#e5e7eb;
  --eve-text:#111827; --eve-sub:#4b5563; --eve-dim:#9ca3af; --eve-blue:#1d4ed8; --eve-accent:#60a5fa;
  /* spacing + dimension tokens (the single source of truth for chrome sizing) */
  --eve-sidebar-w:60px;
  --eve-hero-pad-y:2rem;
  --eve-hero-pad-x:1.5rem;
  --eve-hero-min-h:192px;     /* reserves hero height -> no shift between 3- and 4-line heroes */
  --eve-subnav-pad-y:.55rem;
  --eve-subnav-pad-x:1.25rem;
  --eve-container-w:940px;    /* canonical content width (was 860–1000 across pages) */
  --eve-container-pad:1.5rem;
  --eve-foot-pad-y:2rem;
  --eve-foot-mt:2rem;
}

/* ---- side domain nav (fixed 60px rail) ---- */
body{ margin-left:var(--eve-sidebar-w); }
.eve-sidebar{
  position:fixed; top:0; left:0; width:var(--eve-sidebar-w); height:100vh; background:var(--eve-navy);
  display:flex; flex-direction:column; align-items:center; padding-top:1rem; z-index:100;
  border-right:1px solid rgba(255,255,255,.08);
}
.eve-sidebar-logo{ color:var(--eve-accent); font-weight:800; font-size:.65rem; letter-spacing:.12em; margin-bottom:1.5rem; }
.eve-sidebar-section{
  font-size:.5rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.3); margin:.55rem 0 .2rem; width:50px; text-align:center; line-height:1.2;
}
.eve-sidebar-item{
  display:flex; flex-direction:column; align-items:center; gap:.2rem; padding:.5rem .3rem;
  color:rgba(255,255,255,.4); text-decoration:none; font-size:.55rem; border-radius:6px;
  margin-bottom:.4rem; transition:all .15s; width:50px; text-align:center;
}
.eve-sidebar-item:hover{ color:#fff; background:rgba(255,255,255,.06); }
.eve-sidebar-item.active{ color:var(--eve-accent); background:rgba(96,165,250,.1); }
.eve-sidebar-icon{ font-size:1.1rem; line-height:1; }
.eve-sidebar-label{ font-weight:500; line-height:1.2; }

/* ---- hero (fixed padding + reserved min-height + vertical centering) ---- */
.hero{
  background:var(--eve-navy); color:#fff;
  padding:var(--eve-hero-pad-y) var(--eve-hero-pad-x);
  text-align:center; min-height:var(--eve-hero-min-h);
  display:flex; flex-direction:column; justify-content:center;
}
.hero .preview-tag,
.hero .kicker{
  font-size:.62rem; letter-spacing:.14em; text-transform:uppercase;
  color:#fca5a5; font-weight:700; margin-bottom:.5rem;
}
.hero h1{ font-size:1.9rem; font-weight:700; margin:0 0 .25rem; letter-spacing:-.02em; line-height:1.15; }
.hero h1 span{ color:var(--eve-accent); }
.hero .hero-sub-title{ font-size:1.05rem; color:rgba(255,255,255,.45); font-weight:400; margin-bottom:.5rem; }
.hero .hero-sub{ font-size:.84rem; color:rgba(255,255,255,.55); max-width:640px; margin:.2rem auto 0; line-height:1.6; }

/* ---- TPRM subnav (fixed height bar; single source of tabs via eve-layout.js) ---- */
.subnav{
  background:var(--eve-white); border-bottom:1px solid var(--eve-border);
  padding:var(--eve-subnav-pad-y) var(--eve-subnav-pad-x);
  display:flex; gap:.4rem; flex-wrap:wrap; align-items:center;
}
.subnav-domain{
  font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--eve-dim); margin-right:.4rem;
}
.subnav a{
  font-size:.78rem; font-weight:600; color:var(--eve-sub); text-decoration:none;
  padding:.35rem .8rem; border-radius:6px; border:1px solid transparent;
}
.subnav a:hover{ background:var(--eve-bg); color:var(--eve-blue); }
.subnav a.active{ background:var(--eve-navy); color:#fff; }

/* ---- content container (canonical width) ---- */
.container{ max-width:var(--eve-container-w); margin:0 auto; padding:var(--eve-container-pad); }

/* ---- footer (consistent spacing; width governed by its container/the page) ---- */
.foot{
  text-align:center; padding:var(--eve-foot-pad-y) 1rem; font-size:.68rem; color:var(--eve-dim);
  border-top:1px solid var(--eve-border); margin-top:var(--eve-foot-mt); line-height:1.7;
}

@media(max-width:640px){
  .hero h1{ font-size:1.5rem; }
  .container{ padding:1rem .75rem; }
}
