/* ===== Novak’s Plan – šedá + bílá + modrá (final) ===== */
:root{
  --np-gray-900:#181818;  /* pozadí stránky */
  --np-gray-850:#212121;  /* přechod/sekce */
  --np-gray-800:#232323;  /* karty */
  --np-gray-700:#323232;  /* rámy, silnější dělení */
  --np-gray-600:#4B4B4B;  /* hrany/hover */
  --np-gray-300:#E6E6E6;  /* světlé prvky */
  --np-gray-500:#656565;  /* tlumený text/ikony */

  --np-border:#2A2A2A;
  --np-radius:16px;
  --np-shadow:0 10px 30px rgba(0,0,0,.35);

  /* Texty */
  --np-text-100:#FFFFFF;
  --np-text-80:#EDEDED;
  --np-text-70:#D7D7D7;
  --np-text-50:#A7A7A7;

  /* Primární akcent – MODRÁ */
  --np-blue:#1E3A8A;        /* hlavní */
  --np-blue-strong:#2450C4; /* hover/aktivní */
  --np-blue-soft:#3B82F6;   /* focus stavy */

  /* Typografie */
  --np-h-font:"Aptos","Segoe UI",Inter,system-ui,-apple-system,Arial,sans-serif;
  --np-b-font:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}

/* ===== Reset / base ===== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--np-gray-900);
  color:var(--np-text-100);
  font-family:var(--np-b-font);
  overflow-x:hidden;                  /* ochrana proti horizontálnímu scrollu */
}
img{max-width:100%;display:block}

/* ===== Globální prvky ===== */
h1,h2,h3,h4,h5{font-family:var(--np-h-font);font-weight:700;margin:0 0 .6em}
p{color:var(--np-text-70);line-height:1.65}
.small,small{color:var(--np-text-50)}
a{color:var(--np-blue);text-decoration:none}
a:hover{color:var(--np-blue-strong)}

.container{max-width:1120px;margin-inline:auto;padding-inline:24px}
.section{padding:64px 0}
.section-tight{padding:40px 0}

.card{
  background:linear-gradient(180deg,var(--np-gray-800),var(--np-gray-850));
  border:1px solid var(--np-border);
  border-radius:var(--np-radius);
  box-shadow:var(--np-shadow);
  padding:24px;
}

/* ===== Navigace ===== */
.site-nav{position:sticky;top:0;z-index:50;background:#1a1a1a;border-bottom:1px solid var(--np-border)}
.site-nav .inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.brand img{height:28px}
.menu{display:flex;gap:18px;align-items:center}
.menu a{color:var(--np-text-70)}
.menu a:hover{color:var(--np-text-100)}
@media (max-width:800px){ .menu{gap:12px;font-size:.95rem} }

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;font-weight:600;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:.18s ease}
.btn-blue{background:var(--np-blue);color:#fff;border-color:var(--np-blue)}
.btn-blue:hover{background:var(--np-blue-strong);border-color:var(--np-blue-strong)}
.btn-ghost{background:transparent;border-color:var(--np-border);color:#fff}
.btn-ghost:hover{border-color:var(--np-gray-600)}
.btn-light{background:var(--np-gray-300);color:#111;border-color:var(--np-gray-300)}
.btn-light:hover{filter:brightness(.95)}

/* ===== Hero / Subhero ===== */
.hero{
  position:relative;                      /* kvůli pseudo-elementu s logem */
  padding:120px 0 64px;
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(30,58,138,.15), transparent 60%),
    linear-gradient(180deg, var(--np-gray-850) 0%, var(--np-gray-900) 100%);
  border-bottom:1px solid var(--np-border);
}

/* Logo jako obří pozadí přes celý hero */
.hero::before{
  content:"";
  position:absolute; inset:0;
  background: url("assets/img/logo-white.png") center no-repeat;
  background-size: clamp(520px, 90vmin, 1400px); /* velikost loga */
  opacity:.08;                                   /* síla loga */
  mix-blend-mode: screen;                        /* hezčí prosvit na tmavém bg */
  pointer-events:none;
}
.hero > *{ position:relative; z-index:1; }       /* obsah nad logem */

/* Kdyby někde zůstal starý obrázek v hero */
.hero-media{display:none !important}

.subhero{
  padding:56px 0 24px;
  background:linear-gradient(180deg,var(--np-gray-850),var(--np-gray-900));
  border-bottom:1px solid var(--np-border);
}

/* ===== Grid ===== */
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){ .grid-3,.grid-2{grid-template-columns:1fr} }

/* ===== Checklist ===== */
.list-check{list-style:none;padding-left:0;margin:0}
.list-check li{position:relative;padding-left:28px;margin:10px 0;color:var(--np-text-70)}
.list-check li::before{content:"✓";position:absolute;left:0;top:0.1rem;color:var(--np-blue);font-weight:700}

/* ===== Formuláře ===== */
.input, textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--np-border);background:#121212;color:#fff}
.input::placeholder, textarea::placeholder{color:var(--np-text-50)}
.input:focus, textarea:focus{outline:none;border-color:var(--np-blue-soft);box-shadow:0 0 0 3px rgba(59,130,246,.15)}

/* ===== Další drobnosti ===== */
.post-card{text-decoration:none}
.w-100{width:100%}



/* ===== Footer (full-width card) – full-bleed + obsah přes celou šířku ===== */
.site-footer{
  padding:0;
  background:linear-gradient(180deg,var(--np-gray-900),#161616);
  border-top:1px solid var(--np-border);
}

/* full-bleed pozadí footeru */
.footer-card{
  position:relative;
  overflow:hidden;
  padding:28px 0;                 /* vertikální odsazení (horizont děláme níže) */
  width:100%;
  border:1px solid var(--np-border);
  border-left:0;
  border-right:0;
  border-radius:0;
  box-shadow:var(--np-shadow);
  background:linear-gradient(180deg,var(--np-gray-800),var(--np-gray-850));
}

/* jemný modrý akcent */
.footer-card::before{
  content:"";
  position:absolute; inset:-1px;
  background:radial-gradient(900px 420px at 95% -10%, rgba(30,58,138,.18), transparent 60%);
  pointer-events:none;
}

/* >>> DŮLEŽITÉ: container ve footeru = fluid (přes celou šířku) <<< */
.site-footer .container{
  max-width:none;                                   /* zruší limit 1120px */
  padding-inline: clamp(16px, 4vw, 72px);           /* responsivní vnitřní okraje */
}

/* Grid uvnitř footeru se roztáhne přes celou šířku */
.footer-grid{
  display:grid;
  grid-template-columns:
    minmax(260px, 2fr)       /* brand/info vlevo */
    minmax(220px, 1fr)       /* navigace uprostřed */
    minmax(260px, 1.2fr);    /* kontakt vpravo */
  column-gap: clamp(16px, 3vw, 48px);
  align-items:flex-start;
}

/* Názvy sekcí */
.footer-title{
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.85rem;
  color:var(--np-text-50);
  margin-bottom:10px;
}

/* Linky */
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-links a{color:var(--np-text-70)}
.footer-links a:hover{color:#fff}

/* Spodní lišta – také přes celou šířku (je v .container, který je fluid) */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  border-top:1px solid var(--np-border);
  margin-top:22px;
  padding-top:16px;
  color:var(--np-text-50);
}
.footer-bottom .muted{color:var(--np-text-50)}

.footer-brand .brand{display:flex;align-items:center;gap:10px;font-weight:700}
.footer-brand .brand img{height:28px}

/* Responzivní rozpad do sloupců pod sebe */
@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}
/* Footer – hezčí navigace (dvousloupcová + jemné hover efekty) */
.footer-links{
  list-style:none;
  margin:0;
  padding:4px 0 0;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  column-gap:20px;
  row-gap:8px;
}

.footer-links li{margin:0;padding:0}

.footer-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 0;
  line-height:1.45;
  color:var(--np-text-70);
  text-decoration:none;
  transition:color .18s ease;
}

/* malý chevron před odkazem */
.footer-links a::before{
  content:"›";
  font-size:1rem;
  line-height:1;
  opacity:.6;
  transform:translateX(0);
  transition:transform .18s ease, opacity .18s ease;
}

/* animovaná podtržítková linka */
.footer-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  height:2px;
  width:0%;
  background:linear-gradient(90deg, var(--np-blue), transparent);
  transition:width .2s ease;
}

/* hover stav */
.footer-links a:hover{
  color:#fff;
}
.footer-links a:hover::before{
  opacity:1;
  transform:translateX(4px);
}
.footer-links a:hover::after{
  width:100%;
}

/* drobné doladění nadpisu sekce */
.footer-title{
  letter-spacing:.12em;
  margin-bottom:12px;
}
/* ===== Navbar – full width (fluid) ===== */
.site-nav .inner{
  /* přepíšeme .container limit pro navbar */
  max-width: none;          /* žádné omezení šířky */
  margin-inline: 0;         /* necentrovat box */
  padding-inline: clamp(16px, 4vw, 72px); /* responzivní krajní odsazení */
}

/* trochu větší „dýchání“ mezi položkami na širokých displejích */
.menu{ gap: clamp(12px, 2vw, 28px); }
/* ===== About page additions ===== */

/* KPI */
.kpi-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }
.kpi{ background:#1a1a1a; border:1px solid var(--np-border); border-radius:12px; padding:14px; text-align:center }
.kpi-num{ font-weight:700; font-size:1.05rem }
.kpi-desc{ color:var(--np-text-50); font-size:.9rem }

/* Chart */
.chart-card{ overflow:hidden }
.chart-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:10px }
.chart .ax{ stroke:#2A2A2A; stroke-width:1 }
.chart .ln{ stroke:var(--np-blue); stroke-width:2; fill:none }
.chart .pts circle{ fill:var(--np-blue) }
.chart .tickx text{ fill:var(--np-text-50); font-size:.75rem; text-anchor:middle }
.chart .legend{ display:flex; align-items:center; gap:8px }
.chart .legend .dot{ width:10px; height:10px; border-radius:50%; background:var(--np-blue) }

@media (max-width:900px){
  .kpi-grid{ grid-template-columns:1fr }
}

/* Process */
.process-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px }
.process{ background:#1a1a1a; border:1px solid var(--np-border); border-radius:12px; padding:16px }
.process .bullet{
  width:36px; height:36px; border-radius:999px; display:grid; place-items:center;
  background:rgba(30,58,138,.25); border:1px solid rgba(59,130,246,.35); font-weight:700
}
@media (max-width:900px){ .process-grid{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .process-grid{ grid-template-columns:1fr } }

/* Team */
.team-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }
.member .m-head{ display:flex; align-items:center; gap:12px; margin-bottom:4px }
.avatar{
  width:48px; height:48px; border-radius:999px; display:grid; place-items:center;
  font-weight:700; color:#fff; background:linear-gradient(135deg,#2f3c91,#1e449a);
  border:1px solid rgba(59,130,246,.35)
}
@media (max-width:900px){ .team-grid{ grid-template-columns:1fr } }

/* FAQ */
.faq details{ border:1px solid var(--np-border); border-radius:12px; padding:12px 14px; background:#141414 }
.faq details + details{ margin-top:10px }
.faq summary{ cursor:pointer; list-style:none; position:relative; padding-right:20px }
.faq summary::marker{ content:"" }
.faq summary::after{ content:"+"; position:absolute; right:0; top:0; opacity:.7 }
.faq details[open] summary::after{ content:"–" }
/* ===== Home additions ===== */

/* KPI strip (kompaktní) */
.kpi-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.kpi-item{
  display:grid; place-items:center;
  text-align:center; padding:14px;
  border:1px solid var(--np-border); border-radius:12px;
  background:#1a1a1a;
}
.kpi-item .kpi-num{ font-weight:700 }
.kpi-item .kpi-desc{ color:var(--np-text-50); font-size:.9rem }
@media (max-width:900px){ .kpi-strip{ grid-template-columns:1fr } }

/* Reference (citace) */
.quote-card .quote{
  font-size:1.02rem; line-height:1.6; color:var(--np-text-80); margin:0 0 10px;
}
.quote-meta{ display:flex; align-items:center; gap:10px }
.quote-meta .avatar{
  width:40px; height:40px; border-radius:999px; display:grid; place-items:center;
  font-weight:700; color:#fff; background:linear-gradient(135deg,#2f3c91,#1e449a);
  border:1px solid rgba(59,130,246,.35)
}

/* Z blogu (tři sloupce na HP) */
.home-blog{ row-gap:24px }
@media (max-width:900px){ .home-blog{ grid-template-columns:1fr } }
/* ===== Reviews slider + stars ===== */
.reviews-head{
  display:flex; justify-content:space-between; align-items:flex-end; gap:12px;
}
.reviews-ctrl{ display:flex; gap:8px }
.reviews-ctrl .arrow{
  width:36px; height:36px; border-radius:999px;
  border:1px solid var(--np-border); background:#1a1a1a;
  color:var(--np-text-70); cursor:pointer; transition:.18s ease;
}
.reviews-ctrl .arrow:hover{ color:#fff; border-color:var(--np-gray-600) }
.reviews-ctrl .arrow[disabled]{ opacity:.4; cursor:not-allowed }

.reviews-scroller{
  display:grid; grid-auto-flow:column;
  grid-auto-columns: calc((100% - 32px) / 3); /* 3 karty na desktopu */
  gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px;
}
.review-card{ scroll-snap-align:start }
.review-card .quote{ font-size:1rem; line-height:1.6; color:var(--np-text-80); margin:8px 0 10px }
.review-card .quote-meta{ display:flex; align-items:center; gap:10px }

/* hvězdičky */
.stars{ display:flex; gap:4px }
.stars .star{ width:18px; height:18px; display:block; fill:currentColor; color:#facc15 } /* plné (amber) */
.stars .star.empty{ color:#4B4B4B } /* prázdná = šedá */

@media (max-width:1100px){
  .reviews-scroller{ grid-auto-columns: calc((100% - 16px) / 2) } /* 2 karty */
}
@media (max-width:700px){
  .reviews-scroller{ grid-auto-columns: 100% } /* 1 karta */
}
/* ===== Reviews v2: skrytý scrollbar, jemné hvězdy, větší šipky, fade, spacing ===== */

/* hlavička + ovladače */
.reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}
.reviews-ctrl{display:flex;align-items:center;gap:8px}
.reviews-ctrl .arrow{
  width:40px;height:40px;border-radius:999px;font-size:18px;line-height:1;
  border:1px solid var(--np-border);background:#1a1a1a;color:var(--np-text-70);
  cursor:pointer;transition:.18s ease
}
.reviews-ctrl .arrow:hover{color:#fff;border-color:var(--np-gray-600)}
.reviews-ctrl .arrow[disabled]{opacity:.45;cursor:not-allowed}
.reviews-ctrl .small.muted{color:var(--np-text-50)}

/* obal + fade okraje + spacing */
.reviews-wrap{position:relative;margin-top:10px;margin-bottom:22px}
.reviews-wrap .fade{
  position:absolute;top:0;bottom:0;width:48px;pointer-events:none;z-index:1
}
.reviews-wrap .fade.left {left:0;background:linear-gradient(90deg,var(--np-gray-900),rgba(24,24,24,0))}
.reviews-wrap .fade.right{right:0;background:linear-gradient(270deg,var(--np-gray-900),rgba(24,24,24,0))}

/* scroller – 3 karty na desktopu, schovat scrollbar */
.reviews-scroller{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);
  gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;
  scrollbar-width:none;-ms-overflow-style:none
}
.reviews-scroller::-webkit-scrollbar{display:none}
.review-card{scroll-snap-align:start}

/* hvězdičky – tlumenější zlatá a menší rozestup */
.stars{display:flex;gap:3px}
.stars .star{width:16px;height:16px;display:block;fill:currentColor;color:#e6c35c}
.stars .star.empty{color:#4B4B4B}

.review-card .quote{font-size:1rem;line-height:1.6;color:var(--np-text-80);margin:8px 0 10px}
.review-card .quote-meta{display:flex;align-items:center;gap:10px}

/* breakpoints */
@media (max-width:1100px){
  .reviews-scroller{grid-auto-columns:calc((100% - 16px)/2)}
}
@media (max-width:700px){
  .reviews-scroller{grid-auto-columns:100%}
}
