/* /public_html/public/assets/css/theme.css */

/* =========================================================
   Theme tokens + base
========================================================= */

:root{
  --bg: #0b1220;                 /* dark (pentru sidebar / accents) */
  --page: #f6f8fb;               /* page background */
  --card: #ffffff;               /* cards */
  --ink: #0f172a;                /* main text */
  --muted: rgba(15,23,42,.65);   /* muted text */
  --line: rgba(2,6,23,.12);      /* borders */


  --accent2: #16a34a;            /* secondary */
  --danger: #dc2626;

  --radius: 16px;
  --shadow: 0 14px 38px rgba(2,6,23,.10);
  --shadow2: 0 10px 26px rgba(2,6,23,.08);

  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI",
          Roboto, Helvetica, Arial, "Noto Sans", "DejaVu Sans", sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--page);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:none; }

img{ max-width:100%; height:auto; display:block; }

.container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}

.page{ padding: 22px 0 42px; }

/* Typography helpers */
.h1{
  font-size: 34px;
  line-height: 1.1;
  margin: 0 0 8px;
  font-weight: 900;
  letter-spacing: -.6px;
}

.p{
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.5;
}

.small{ font-size: 12px; }
.muted{ color: var(--muted); }

.kicker{
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 800;
}

/* Layout helpers */
.grid{ display:grid; }

.cols-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cols-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cols-4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

.gap-12{ gap: 12px; }
.gap-16{ gap: 16px; }

.row{
  display:flex;
  gap: 10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.stack{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.w-100{ width:100%; }

code{
  background: rgba(2,6,23,.06);
  padding: 2px 6px;
  border-radius: 10px;
}

/* Responsive grids */
@media (max-width: 980px){
  .cols-4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cols-3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px){
  .cols-2,
  .cols-3,
  .cols-4{ grid-template-columns: 1fr; }
}