:root{
  --bg: #0b0f16;
  --panel: rgba(255,255,255,.055);
  --panel2: rgba(255,255,255,.085);
  --stroke: rgba(255,255,255,.10);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.62);
  --radius: 22px;

  /* Base blue like your table header */
  --blue: 12, 76, 170;

  /* Section accents */
  --epycA: 180,120,255;
  --epycB: 120,140,255;

  --ryzenA: 120,210,255;
  --ryzenB: 120,140,255;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }

body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: var(--text);
  background:
    radial-gradient(1100px 520px at 18% -10%, rgba(120,140,255,.35), transparent 55%),
    radial-gradient(900px 520px at 82% -15%, rgba(180,120,255,.26), transparent 60%),
    radial-gradient(900px 520px at 60% 115%, rgba(90,210,170,.18), transparent 55%),
    var(--bg);
  overflow-x: hidden;
}

.wrap{ max-width: 1280px; margin: 0 auto; padding: 0 18px; }

.topbar{
  position: sticky;
  top: 0;
  z-index: 60;
  backdrop-filter: blur(14px);
  background: rgba(0,0,0,.42);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
  gap: 18px;
}

/* Brand */
.brand{
  display:flex;
  align-items:center;
  gap: 12px;
  min-width: 280px;
  color: rgba(255,255,255,.92);
}
a.brand{ text-decoration:none; }

.brand-mark{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  color: rgba(255,255,255,.88);
  background:
    linear-gradient(135deg, rgba(120,140,255,.36), rgba(180,120,255,.22));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 0 0 4px rgba(120,140,255,.08),
    0 18px 40px rgba(0,0,0,.35);
}

.brand-text{ line-height: 1.1; }
.brand-title{
  font-weight: 800;
  letter-spacing: .2px;
  font-size: 14.5px;
}
.brand-sub{
  margin-top: 4px;
  font-size: 12.5px;
  color: rgba(255,255,255,.62);
}

/* Nav */
.topnav{
  display:flex;
  align-items:center;
  gap: 6px;
  flex-wrap: wrap;
}

.topnav a{
  color: rgba(255,255,255,.70);
  text-decoration: none;
  padding: 9px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: background .15s ease, border-color .15s ease, transform .15s ease, color .15s ease;
  font-weight: 650;
  letter-spacing: .1px;
}

.topnav a:hover{
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
  transform: translateY(-1px);
}

/* Active state (works with your scrollspy if you toggle .is-active) */
.topnav a.is-active{
  color: rgba(255,255,255,.94);
  background: rgba(12,76,170,.16);
  border-color: rgba(12,76,170,.40);
}

/* CTA button ("Kontakt") */
.topnav a.btn{
  margin-left: 8px;
  color: rgba(255,255,255,.94);
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 30px rgba(0,0,0,.20);
}
.topnav a.btn:hover{
  background: rgba(12,76,170,.18);
  border-color: rgba(12,76,170,.38);
}

/* Responsive */
@media (max-width: 920px){
  .topbar-inner{ padding: 12px 0; }
  .brand{ min-width: unset; }
}

/* Hero */
.hero{ padding: 26px 0 10px; }
.hero-card{
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  padding: 34px;
  position: relative;
  overflow: hidden;
}
.hero-card:after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 30px;
  padding:2px;
  background: linear-gradient(90deg,
    rgba(120,140,255,.55),
    rgba(180,120,255,.35),
    rgba(90,210,170,.25));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .65;
  pointer-events:none;
}

.kicker{ font-size:12px; letter-spacing:.14em; color: rgba(255,255,255,.60); }
.hero h1{ margin: 10px 0 10px; font-size: clamp(30px, 3.2vw, 44px); }
.hero p{ margin: 0 0 18px; color: var(--muted); font-size: 16px; line-height: 1.55; max-width: 90ch; }

.chips{ display:flex; gap:10px; flex-wrap:wrap; margin: 10px 0 22px; }
.chip{
  display:inline-flex; align-items:center; gap:10px;
  padding: 10px 12px; border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.78);
  font-size: 13px;
}
.dotchip{
  width:10px; height:10px; border-radius:999px;
  background: rgba(var(--blue), .95);
  box-shadow: 0 0 0 3px rgba(var(--blue), .18);
}
.dotchip.ok{
  background: rgba(110,220,160,.90);
  box-shadow: 0 0 0 3px rgba(110,220,160,.16);
}

.hero-actions{ display:flex; gap: 12px; flex-wrap:wrap; }
.cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 16px; border-radius: 14px;
  text-decoration:none;
  background: rgba(var(--blue), .24);
  border: 1px solid rgba(var(--blue), .42);
  color: var(--text);
  font-weight: 700;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.cta:hover{ transform: translateY(-1px); background: rgba(var(--blue), .30); border-color: rgba(var(--blue), .52); }
.cta.alt{ background: rgba(120,210,255,.18); border-color: rgba(120,210,255,.30); }
.cta.ghost{ background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.86); }

.section{ padding: 22px 0; }
.section-head h2{ margin: 0 0 6px; font-size: 24px; }
.section-head p{ margin: 0 0 16px; color: var(--muted); }

.mini-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.mini-card{
  padding: 16px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
}
.mini-title{ font-weight: 750; margin-bottom: 6px; }
.mini-text{ color: var(--muted); font-size: 13px; line-height: 1.45; }

/* Table wrapper + accents */
.table-wrap{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  box-shadow: 0 22px 55px rgba(0,0,0,.35);
}

.table-toolbar{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 12px;
  padding: 12px 12px;
  background: rgba(255,255,255,.035);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.hint{ color: rgba(255,255,255,.55); font-size: 12px; }
.table-search{
  width: 320px;
  max-width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: rgba(255,255,255,.88);
  outline: none;
}

.table-scroll{ overflow:auto; }
.product-table{
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}

.product-table thead th{
  text-align: left;
  font-size: 13px;
  font-weight: 750;
  padding: 12px 12px;
  color: rgba(255,255,255,.92);
  background: linear-gradient(180deg, rgba(var(--blue), .95), rgba(var(--blue), .78));
  position: sticky;
  top: 0;
  z-index: 2;
  white-space: nowrap;
}

.product-table tbody td{
  padding: 12px 12px;
  border-top: 1px solid rgba(255,255,255,.06);
  color: rgba(255,255,255,.78);
  font-size: 13px;
  vertical-align: middle;
}

.product-table tbody tr:nth-child(odd){
  background: rgba(255,255,255,.018);
}
.product-table tbody tr:hover{
  background: rgba(255,255,255,.045);
}

.avail{
  display:flex;
  align-items:center;
  gap:10px;
  white-space: nowrap;
}
.avail .dot{
  width: 9px; height: 9px;
  border-radius: 50%;
  background: #f4b400;
  box-shadow: 0 0 0 3px rgba(244,180,0,.12);
}

.cpu{ color: rgba(255,255,255,.86); font-weight: 650; }
.price{ color: rgba(255,255,255,.92); font-weight: 750; white-space: nowrap; }

.btn-order{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration:none;
  color: #fff;
  background: rgba(var(--blue), .95);
  border: 1px solid rgba(255,255,255,.10);
  font-weight: 750;
  white-space: nowrap;
}
.btn-order:hover{ background: rgba(var(--blue), .85); }
.cart{ filter: drop-shadow(0 6px 14px rgba(0,0,0,.25)); }

.accent-epyc .table-toolbar{
  background:
    radial-gradient(700px 220px at 20% 0%, rgba(var(--epycA), .18), transparent 60%),
    radial-gradient(700px 220px at 80% 0%, rgba(var(--epycB), .14), transparent 60%),
    rgba(255,255,255,.035);
}
.accent-ryzen .table-toolbar{
  background:
    radial-gradient(700px 220px at 20% 0%, rgba(var(--ryzenA), .18), transparent 60%),
    radial-gradient(700px 220px at 80% 0%, rgba(var(--ryzenB), .14), transparent 60%),
    rgba(255,255,255,.035);
}

/* Features */
.feature-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.feature-card{
  padding: 16px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
}
.feature-title{ font-weight: 750; margin-bottom: 8px; }
.feature-text{ color: var(--muted); font-size: 13px; line-height: 1.45; }

/* FAQ */
.faq details{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 12px 14px;
  margin-bottom: 10px;
}
.faq summary{
  cursor: pointer;
  font-weight: 750;
  color: rgba(255,255,255,.88);
}
.faq .answer{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  margin-top: 10px;
}

/* Contact */
.contact-card{
  border-radius: var(--radius);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  padding: 18px;
}
.contact-row{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.contact-label{ color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.contact-card a{ color: rgba(255,255,255,.90); text-decoration:none; }
.contact-card a:hover{ text-decoration: underline; }
.contact-cta{ display:flex; gap: 12px; margin-top: 16px; flex-wrap: wrap; }

.footer{ padding: 22px 0 34px; color: rgba(255,255,255,.50); font-size: 12px; text-align:center; }

@media (max-width: 1100px){
  .feature-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 980px){
  .mini-grid{ grid-template-columns: 1fr; }
  .contact-row{ grid-template-columns: 1fr; }
  .hero-card{ padding: 22px; }
  .table-search{ width: 100%; }
}
