/* ====== Globálne drobnosti ====== */
:root {
  --bg:#0b0c10;
  --paper:#0f1117;
  --ink:#e6e7ea;
  --muted:#9aa0b4;
  --stroke:#1c2332;
  --accent:#3ea6ff;
}

body {
  background:var(--bg);
  color:var(--ink);
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

a { color:inherit; text-decoration:none; }
.pw-spacer { height:24px }

/* ====== Layout wrapper ====== */
.wrap {
  width: min(1100px, 92vw);
  margin: 0 auto;
  padding: 0 16px;
}

/* ====== Sekcie ====== */
.section { margin: 40px 0; }

/* ====== HERO ====== */
.hero-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
}
.hero-photo img {
  max-width: 400px;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.hero-text { flex: 1; }
.hero-text h1 { font-size: 2rem; margin-bottom: .5em; }
.hero-text .lead { font-size: 1.1rem; line-height: 1.6; color: var(--muted); }

/* ====== GRID ====== */
.grid { display: grid; gap: 20px; }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.grid img.thumb {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 6px;
}

/* ====== HOME LATEST FOTKY ====== */
.home-latest__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.home-latest__row .thumb img {
  max-width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 6px;
}

/* ====== FOOTER ====== */
.pw-footer {
  margin-top: 28px;
  padding: 28px 0 36px;
  border-top: 1px solid var(--stroke);
  background: #0c1017;
  color: var(--ink);
}

.pw-footer__grid {
  width: min(1100px, 92vw);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}

.pw-logo {
  font-weight: 800;
  font-size: 22px;
  letter-spacing: .2px;
}
.pw-logo span {
  color: var(--accent);
}

/* --- Social icons --- */
.pw-social {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}
.pw-social a {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--stroke);
  background: #0f1117;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.pw-social a:hover {
  transform: translateY(-2px);
  border-color: #2a3754;
  background: #111a26;
}
.pw-social svg {
  width: 22px;
  height: 22px;
  fill: #d7deee;
  transition: fill .2s ease;
}
.pw-social a:hover svg {
  fill: var(--accent);
}

/* --- Links --- */
.pw-footer__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.pw-footer__links h4 {
  margin: 0 0 8px;
  font-size: 14px;
  color: #cbd2e2;
  font-weight: 700;
  text-align: center;
}
.pw-footer__links a {
  display: block;
  color: #aeb6ca;
  padding: 4px 0;
}
.pw-footer__links a:hover {
  color: #e6ebf7;
}

/* --- Copy line --- */
.pw-copy {
  width: min(1100px, 92vw);
  margin: 16px auto 0;
  color: #96a0b7;
  font-size: .92rem;
  text-align: center;
}
/* ===== Novinky – Minulý týždeň ===== */
.week-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
@media (max-width:900px){.week-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.week-grid{grid-template-columns:1fr}}

.week-card{
  display:grid;
  grid-template-columns: 90px 1fr;   /* malý thumbnail vľavo + text vpravo */
  gap:10px;
  align-items:center;
  background:#0f1117;
  border:1px solid var(--stroke);
  border-radius:10px;
  overflow:hidden;
  padding:8px;
  text-decoration:none;
  color:inherit;
  transition:transform .15s ease,box-shadow .15s ease;
}
.week-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.3)}

.week-thumb{width:90px;height:70px;overflow:hidden;border-radius:6px}
.week-thumb img{width:100%;height:100%;object-fit:cover;display:block}

.week-body{overflow:hidden}
.week-title{font-weight:600;font-size:.95rem;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.week-meta{color:var(--muted);font-size:.85rem}
/* Novinky – hero karta: obrázok vľavo, obsah vpravo (bez klampu) */
.news-hero{
  display:grid; gap:18px; align-items:start;
  grid-template-columns: minmax(260px, 420px) 1fr;
  border:1px solid var(--stroke); border-radius:14px; padding:16px; background:#0f1117;
  margin-top:12px;
}
@media (max-width:860px){ .news-hero{ grid-template-columns:1fr; } }

.nh-photo{ position:relative; border-radius:12px; overflow:hidden; border:1px solid var(--stroke) }
.nh-photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; display:block }

/* MODRÁ pilulka vľavo hore */
.nh-pill{
  position:absolute; left:10px; top:10px;
  background:#1e7df5; color:#fff; font-size:.82rem;
  padding:.26rem .55rem; border-radius:8px; letter-spacing:.2px; text-transform:uppercase;
}

.nh-title{ margin:0 0 .35rem }
.nh-meta{ color:var(--muted); font-size:.95rem; margin-bottom:10px }

/* Plný obsah – bez clampa, bez overflow hidden */
.nh-content{ color:#cfd3df; line-height:1.7; font-size:1.02rem }
.nh-content p{ margin:0 0 1rem }
.nh-content img{ max-width:100%; height:auto; border-radius:10px }

/* Tlačidlo */
.nh-actions{ margin:12px 0 0 }
.btn{display:inline-block;border:1px solid var(--stroke);padding:.5rem .85rem;border-radius:10px;color:var(--ink);text-decoration:none}
.btn:hover{filter:brightness(1.05)}
.btn-primary{background:#1e7df5;border-color:#1e7df5;color:#fff}

/* Projekty – tmavší text na svetlých kartách */
.projects-grid .card.project .body .title {
  color: #111 !important;
  font-weight: 600;
}
.projects-grid .card.project .desc {
  color: #222 !important;
}

/* Widgety (nadpisy a doplnky) */
.pw-card h3 { color: #111 !important; }
.pw-note, .pw-wrow { color: #333 !important; }

@media (max-width:768px){
  /* Vylepšený hamburger */
  .mnav-toggle{
    width:44px; height:44px;
    border-radius:8px;
    border:1px solid var(--stroke);
    background:var(--paper);
    color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    position:relative;
  }
  /* tri pásiky */
  .mnav-toggle::before, .mnav-toggle::after, .mnav-toggle span {
    content:"";
    position:absolute;
    width:20px; height:2px;
    background:var(--ink);
    border-radius:2px;
    transition:.25s;
  }
  .mnav-toggle span { top:50%; transform:translateY(-50%); }
  .mnav-toggle::before { top:12px; }
  .mnav-toggle::after { bottom:12px; }

  /* panel nech nie je na celú výšku */
  .mnav-panel{
    position:absolute;
    top:0; right:0;
    height:auto;               /* iba podľa obsahu */
    max-height:100%;           /* nikdy nepretečie */
    width:min(82vw,360px);
    background:var(--paper);
    color:var(--ink);
    border-left:1px solid var(--stroke);
    transform:translateX(100%);
    transition:transform .25s;
    display:flex;
    flex-direction:column;
  }
}

 /* ==== FINAL OVERRIDE: mnav-bar späť na pôvodnú šírku, panel úzky, text na stred ==== */
@media (max-width:768px){
  /* horná lišta – späť široká a centrovaná */
  .mnav-bar{
    width: 92% !important;
    max-width: 420px !important;
    margin: 10px auto 12px !important;  /* centrovaná */
    padding: 10px 16px !important;
  }

  /* výsuvný panel – úzky pri pravom okraji */
  .mnav-panel.neo{
    top: 10px !important;
    right: 10px !important;
    width: clamp(220px, 46vw, 300px) !important; /* ~menej než polovica šírky */
    height: auto !important;
    max-height: calc(100% - 20px) !important;
    overflow: auto !important;
    padding: 10px !important;
    transform: translateX(120%) !important;
  }
  .mnav.open .mnav-panel.neo{ transform: none !important; }

  /* položky v menu – centrum */
  .mnav-list{ gap: 10px !important; padding: 8px !important; }
  .mnav-list a{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 12px 14px !important;
  }
}