/* PyraNexus shared UI tokens + responsive fixes.
   Static `.dc.html` pages link this file directly. */

:root{
  --pn-ground:#F6F8FC;
  --pn-surface:#FFFFFF;
  --pn-strip:#EEF3FB;
  --pn-accent:#059669;
  --pn-accent-deep:#047857;
  --pn-text:#0F172A;
  --pn-body:#334155;
  --pn-muted:#64748B;
  --pn-faint:#94A3B8;
  --pn-divider:#CBD5E1;

  --pn-container:1200px;
  --pn-pad:24px;
  --pn-radius:16px;
  --pn-radius-lg:20px;
}

html,body{
  margin:0;
  padding:0;
  background:var(--pn-ground);
  color:var(--pn-body);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

::selection{ background:rgba(16,185,129,.22); }

/* Accessibility: consistent focus ring */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(16,185,129,.28);
  outline-offset:2px;
}

/* Container + rhythm helpers (used by classes we add to pages) */
.pn-container{
  max-width:var(--pn-container);
  margin:0 auto;
  padding:0 var(--pn-pad);
}

/* Navbar overflow: prevent broken layouts on mobile */
.pn-navlinks{
  display:flex;
  align-items:center;
  gap:2px;
  flex:1;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.pn-navlinks::-webkit-scrollbar{ display:none; }

/* Mega menu responsive grid */
.pn-mega-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

/* Common responsive grids used by pages */
.pn-split{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:32px;
  align-items:start;
}
.pn-article-grid{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:44px;
  align-items:start;
}
.pn-deal-row{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  gap:22px;
  align-items:center;
}

/* Global: card edges feel less harsh against the ground */
.pn-surface{
  background:var(--pn-surface);
}

@media (max-width: 980px){
  :root{ --pn-pad:18px; }
  .pn-mega-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pn-article-grid{ grid-template-columns:1fr; }
  .pn-split{ grid-template-columns:1fr; }
}

@media (max-width: 720px){
  :root{ --pn-pad:16px; }
  .pn-mega-grid{ grid-template-columns:1fr; }
  .pn-deal-row{ grid-template-columns:auto 1fr; }
}

/* Reduce heavy hover transforms on touch devices */
@media (hover: none){
  [style-hover]{ transform:none !important; }
}

