
:root {
  --bg-solid: #0c1820;
  --bg-card: #1b1814;
  --gold: #f5c76a;
  --gold-border: rgba(245,199,106,0.22);
  --text-light: #d8e2e8;
  --text-muted: #a8b8c0;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: 'Inter', sans-serif;
  background: var(--bg-solid);
  background-color: var(--bg-solid);
  color: var(--text-light);
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}
body::before {
  content:'';
  position:fixed;
  inset:0;
  background: var(--bg-solid);
  z-index:-3;
}
.glow-wrapper { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:-2; }
.glow-orb { position:absolute; border-radius:50%; filter: blur(80px); opacity:0.9; }
.glow-1 {
  width: 70vw; height: 70vw; top:-10%; left:-15%;
  background: radial-gradient(circle at center, rgba(20,55,70,0.9) 0%, rgba(15,35,50,0.6) 30%, transparent 70%);
  animation: glowMove1 18s ease-in-out infinite alternate;
}
.glow-2 {
  width: 80vw; height: 80vw; bottom:-20%; right:-20%;
  background: radial-gradient(circle at center, rgba(18,50,65,0.8) 0%, rgba(12,30,40,0.5) 40%, transparent 70%);
  animation: glowMove2 22s ease-in-out infinite alternate;
}
@keyframes glowMove1 { 0% { transform: translate(0,0) scale(1); } 25% { transform: translate(20vw, 15vh) scale(1.1); } 50% { transform: translate(35vw, 5vh) scale(1); } 75% { transform: translate(50vw, 20vh) scale(1.15); } 100% { transform: translate(60vw, 10vh) scale(1); } }
@keyframes glowMove2 { 0% { transform: translate(0,0) scale(1); } 100% { transform: translate(-50vw, -15vh) scale(1.2); } }

.header { background-color: #12212c; border-bottom: 1px solid rgba(255,255,255,0.05); position:sticky; top:0; z-index:100; padding:18px 0; backdrop-filter: blur(10px); }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }
.header-inner { display:flex; align-items:center; justify-content:space-between; }
.logo-link { display:flex; align-items:center; }
.logo-img { height:78px; width:auto; filter: drop-shadow(0 0 12px rgba(245,199,106,0.35)); }
.nav { display:flex; gap:22px; align-items:center; }
.nav-link { color: var(--gold); text-decoration:none; font-size:15px; font-weight:500; transition: all 0.2s; position:relative; opacity:0.95; }
.nav-link:hover, .nav-link.active { color: #ffe8a0; text-shadow: 0 0 12px rgba(245,199,106,0.6); }
.nav-link.active::after { content:''; position:absolute; bottom:-6px; left:0; right:0; height:2px; background: var(--gold); box-shadow: 0 0 8px var(--gold); }
.hamburger { display:none; background:none; border:none; color:var(--gold); font-size:28px; cursor:pointer; }

.hero { padding:90px 0 60px; display:grid; grid-template-columns: 1.1fr 0.9fr; gap:48px; align-items:center; min-height:520px; }
.hero-title { font-size:44px; font-weight:800; line-height:1.15; color: var(--gold); margin-bottom:22px; }
.hero-desc { color: var(--text-light); font-size:16px; line-height:1.6; margin-bottom:34px; max-width:520px; opacity:0.9; }
.hero-buttons { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
.btn { padding:13px 26px; border-radius:999px; font-weight:600; font-size:14.5px; cursor:pointer; border:none; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; transition: all 0.25s; }
.btn-primary { background: linear-gradient(135deg, #ffdd7a 0%, #ffaa2e 100%); color:#1a1200; box-shadow: 0 4px 20px rgba(255,170,46,0.35); }
.btn-primary:hover { transform: translateY(-2px); box-shadow:0 8px 28px rgba(255,170,46,0.5); }
.btn-secondary { background: rgba(30,40,50,0.9); color: var(--text-light); border:1px solid rgba(255,255,255,0.12); }
.btn-secondary:hover { background: rgba(50,65,75,0.9); border-color: var(--gold-border); }
.badges { display:flex; gap:10px; flex-wrap:wrap; }
.badge { background: rgba(35,50,60,0.7); border:1px solid rgba(255,255,255,0.1); padding:7px 14px; border-radius:999px; font-size:12.5px; color: var(--text-muted); }
.stats-cards { display:flex; flex-direction:column; gap:18px; }
.stat-card { background-color: #1b1814; border:1px solid var(--gold-border); border-radius:14px; padding:28px 22px; text-align:center; box-shadow: 0 8px 32px rgba(0,0,0,0.5), 0 0 20px rgba(245,199,106,0.08); position:relative; overflow:hidden; }
.stat-card::after { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background: linear-gradient(90deg, transparent, rgba(245,199,106,0.08), transparent); animation: shimmer 4s infinite; }
@keyframes shimmer { 0% { left:-100%; } 100% { left:100%; } }
.stat-card-title { color:var(--gold); font-weight:700; font-size:15px; margin-bottom:8px; }
.stat-card-value { color: var(--text-light); font-size:14px; }

.section { padding:80px 0; text-align:center; }
.section-title { font-size:38px; font-weight:800; color: var(--gold); margin-bottom:14px; }
.section-subtitle { color: var(--text-muted); font-size:14.5px; max-width:680px; margin:0 auto 42px; line-height:1.5; }
.cards-grid { display:grid; gap:22px; justify-content:center; }
.cards-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.cards-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.card { background-color: #1c1915; border:1px solid var(--gold-border); border-radius:14px; padding:28px 20px; box-shadow: 0 8px 32px rgba(0,0,0,0.45); transition: transform 0.25s, box-shadow 0.25s; position:relative; text-align:left; }
.card:hover { transform: translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.6), 0 0 24px rgba(245,199,106,0.12); }
.card-title { color:var(--gold); font-weight:700; font-size:16px; margin-bottom:12px; text-align:center; }
.card-desc { color: var(--text-light); font-size:13.5px; line-height:1.5; opacity:0.9; }
.card ul { list-style:none; margin-top:10px; } .card li { color: var(--text-light); font-size:13px; margin:4px 0; } .card li::before { content:"•"; color: var(--text-light); margin-right:8px; }
.project-image { width:100%; height:180px; object-fit:cover; border-radius:8px; margin-bottom:12px; background:#222; }
.contact-box { max-width:560px; margin:0 auto; background-color: #111d26; border:1px solid var(--gold-border); border-radius:16px; padding:30px; text-align:left; }
.form-group { margin-bottom:16px; } .form-group label { display:block; color:var(--gold); font-size:12px; margin-bottom:6px; }
.form-input, .form-textarea, .form-select { width:100%; padding:11px 14px; background-color: #1a2a35; border:1px solid rgba(255,255,255,0.1); border-radius:8px; color: var(--text-light); font-size:14px; }
.form-textarea { min-height:120px; resize:vertical; } .form-input:focus, .form-textarea:focus { outline:none; border-color: var(--gold); }
.footer { background:#11212c; border-top:1px solid rgba(245,199,106,0.15); padding:18px 0; text-align:center; color: var(--text-muted); font-size:13px; margin-top:40px; }
.cookies-badge { position:fixed; bottom:18px; left:18px; background:#0f1720; border:1px solid var(--gold-border); color: var(--gold); padding:8px 14px; border-radius:999px; font-size:12px; cursor:pointer; z-index:200; }
.cookies-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:300; align-items:center; justify-content:center; } .cookies-modal.active { display:flex; } .cookies-content { background:#1b1814; border:1px solid var(--gold-border); padding:24px; border-radius:12px; max-width:380px; }
@media (max-width: 980px) { 
  .hero { grid-template-columns:1fr; padding:50px 0 40px; gap:36px; text-align:center; } 
  .hero-left{ display:flex; flex-direction:column; align-items:center; text-align:center; width:100%; }
  .hero-title{ text-align:center; margin-left:auto; margin-right:auto; max-width:700px; text-wrap:balance; }
  .hero-desc{ text-align:center; margin-left:auto; margin-right:auto; max-width:600px; }
  .hero-buttons{ justify-content:center; }
  .badges{ justify-content:center; }
  .stats-cards{ max-width:520px; margin:0 auto; width:100%; }
  .cards-grid.cols-3, .cards-grid.cols-4 { grid-template-columns:1fr; } 
  .logo-img { height:58px; } 
}
@media (max-width: 680px) { 
  .container{ padding:0 20px; }
  .nav { display:none; position:absolute; top:100%; left:0; right:0; background:#12212c; flex-direction:column; padding:20px; } 
  .nav.open { display:flex; } 
  .hamburger { display:block; } 
  .hero{ padding:32px 0 36px; min-height:auto; gap:30px; }
  .hero-left{ padding:0 4px; }
  .hero-title{ font-size:30px; line-height:1.2; text-align:center; padding:0 8px; letter-spacing:-0.4px; text-wrap:balance; word-break:normal; overflow-wrap:break-word; max-width:100%; }
  .hero-title br{ display:none; }
  .hero-desc{ font-size:15px; line-height:1.5; padding:0 12px; text-align:center; max-width:100%; }
  .hero-buttons{ flex-direction:column; align-items:center; gap:12px; width:100%; padding:0 12px; }
  .hero-buttons .btn{ width:100%; max-width:340px; justify-content:center; }
  .badges{ gap:8px; padding:0 4px; justify-content:center; }
  .badge{ font-size:11px; padding:6px 12px; }
  .stat-card{ padding:20px 16px; }
}


/* --- FARBA HORNEHO MENU - nastavitelna cez admin --- */
.header { background-color: var(--header-color, #12212c) !important; }

/* --- ZLATA ZIARA - chodi z lava do prava a naspat --- */
.golden-glow {
  position: fixed;
  top: 15%;
  left: -40%;
  width: 35%;
  height: 70vh;
  background: linear-gradient(90deg, transparent 0%, rgba(245,199,106,0.0) 10%, rgba(245,199,106,0.18) 30%, rgba(255,215,120,0.28) 50%, rgba(255,170,46,0.18) 70%, transparent 100%);
  filter: blur(18px);
  pointer-events: none;
  z-index: 5;
  mix-blend-mode: screen;
  animation: goldenSlide 7s ease-in-out infinite;
}
.golden-glow-2 {
  position: fixed;
  top: 40%;
  left: -40%;
  width: 45%;
  height: 40vh;
  background: linear-gradient(90deg, transparent, rgba(245,199,106,0.12), rgba(255,200,80,0.2), transparent);
  filter: blur(24px);
  pointer-events:none;
  z-index: 5;
  animation: goldenSlide 9s ease-in-out infinite reverse;
  animation-delay: 1.5s;
}

@keyframes goldenSlide {
  0% { transform: translateX(-10vw) skewX(-10deg); opacity:0; }
  10% { opacity:1; }
  50% { transform: translateX(110vw) skewX(-10deg); opacity:1; }
  90% { opacity:1; }
  100% { transform: translateX(180vw) skewX(-10deg); opacity:0; }
}

/* alternativna jednoducha verzia zlava doprava a naspat */
@keyframes goldenSlideAlt {
  0% { left: -40%; }
  50% { left: 100%; }
  100% { left: -40%; }
}
