/* =========================================================
   NGUI v1.6 – base + stránky: HP(.ng-home), Funkce(.ng-fx), 10 důvodů(.ng-10)
   Vše je scopované → nerozbije jiné stránky.
   ========================================================= */

/* --- Design tokens --- */
:root{
  --ng-maxw:1160px; --ng-pad:18px;
  --ng-brand:#1a80b6; --ng-brand-700:#16709d;
  --ng-ink:#1f2a44; --ng-muted:#5b6777;
  --ng-border:#e6ebf2; --ng-bg:#f7f9fc; --ng-ring:#b9d4ff;
  --ng-rad:12px; --ng-rad-xl:16px; --ng-pill:999px;
  --ng-s1:6px; --ng-s2:12px; --ng-s3:16px; --ng-s4:22px; --ng-s5:28px; --ng-s6:30px; --ng-s7:56px;
}

/* --- Base + utils (neutrální) --- */
.ng{color:#2a3a53; --ng-sticky-offset:120px;--ng-scroll-offset:148px}
.ng-wrap{max-width:var(--ng-maxw);margin:0 auto;padding:0 var(--ng-pad)}
.ng section{padding:var(--ng-s6) 0}
.ng h1{color:var(--ng-ink);margin:0 0 var(--ng-s3);font-weight:800;letter-spacing:-.01em;font-size:clamp(22px,2.4vw,30px);line-height:1.2}
.ng h2{color:var(--ng-ink);margin:0 0 var(--ng-s3);font-weight:800;letter-spacing:-.01em;font-size:clamp(22px,2.4vw,30px);line-height:1.2}
.ng h3{color:var(--ng-ink);margin:0 0 var(--ng-s2);font-weight:700;font-size:18px}
.ng p{margin:0 0 var(--ng-s3);line-height:1.6}
.ng .lead{font-size:clamp(17px,1.7vw,19px);line-height:1.55;color:#2a3a53;margin-bottom:var(--ng-s4)}
.ng .muted{color:var(--ng-muted);font-size:11px;line-height:1.4}
.ng .sep{height:1px;margin:var(--ng-s6) 0;background:linear-gradient(90deg,transparent,#dbe9f2,transparent)}
.ng .sep-tight{height:1px;margin:var(--ng-s4) 0;background:linear-gradient(90deg,transparent,#e7eef6,transparent)}
.ng .sep-lg{height:1px;margin:var(--ng-s6) 0 var(--ng-s6);background:linear-gradient(90deg,transparent,#dbe9f2,transparent)}
.ng section[id]{scroll-margin-top:calc(var(--ng-sticky-offset) + 28px)}
.ng .stack > * + *{margin-top:var(--ng-s3)}
.ng .btnrow{display:flex;flex-wrap:wrap;gap:var(--ng-s3)}
.ng .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--ng-s5);align-items:center}
.ng .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ng-s5)}
@media(max-width:1000px){ .ng .grid-2,.ng .grid-3{grid-template-columns:1fr} }

/* menší offset na mobilu (pocitově lepší 72–84px podle výšky sticky headeru) */
@media (max-width:900px){
  .ng{
    --ng-sticky-offset:20px;
    --ng-scroll-offset:92px;  /* o něco víc než sticky, aby nepřekrýval */
  }
}

/* Shared eyebrow */
.ng .eyebrow{
  display:inline-block;
  padding:6px 10px;
  border:1px solid var(--ng-border);
  border-radius:var(--ng-pill);
  font-size:13px;
  background:#fff;
  color:#32425a;
  margin-bottom:var(--ng-s2);
}

/* Jednotné odsazení textu pod tlačítky */
.ng .btnrow + .muted{
  display:block;
  margin-top:var(--ng-s2);
}

/* Cards & Buttons */
.ng .card{background:#fff;border:1px solid var(--ng-border);border-radius:var(--ng-rad);box-shadow:0 6px 20px rgba(20,30,50,.06)}
.ng .card .inner{padding:var(--ng-s5)}
.ng .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:var(--ng-pill);text-decoration:none;border:1px solid transparent;font-weight:800}
.ng .btn-primary{background:var(--ng-brand);color:#fff}
.ng .btn-primary:hover{background:var(--ng-brand-700)}
.ng .btn-ghost{background:#fff;border-color:var(--ng-border);color:#1f2a44}
.ng .btn-ghost:hover{background:#f0f3f8}
.ng a:focus,.ng .btn:focus{outline:2px solid var(--ng-ring);outline-offset:2px;box-shadow:0 0 0 2px #b9d4ff33}

/* Tick list */
.ng .ticklist{margin:0;padding:0;list-style:none}
.ng .ticklist li{padding-left:26px;position:relative;margin:8px 0}
.ng .ticklist li:before{content:"✓";position:absolute;left:0;top:0;font-weight:800;color:#1f7a1f}

/* Logos + Reviews + CTA (base) */
.ng .logo-row{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ng-s4);align-items:stretch;background:#eaf6fb;border:1px solid #bcd9e6;border-radius:var(--ng-rad);padding:12px}
.ng .logo-cell{display:grid;place-items:center;padding:14px;border:1px solid var(--ng-border);border-radius:12px;background:#fff}
.ng .logo-cell img{display:block;height:auto;width:auto;max-height:56px;max-width:140px;object-fit:contain;transition:transform .2s ease}
.ng .logo-cell img.is-square{max-height:66px}
.ng .logo-cell:hover img{transform:translateY(-1px)}
@media(max-width:1000px){ .ng .logo-row{grid-template-columns:repeat(3,1fr)} }
@media(max-width:640px){ .ng .logo-row{grid-template-columns:1fr} }

.ng .reviews{margin-top:var(--ng-s5)}
.ng .reviews-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ng .stars{color:#f59e0b;font-size:18px;letter-spacing:1px}
.ng .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ng-s4)}
.ng .rev{border:1px solid var(--ng-border);border-radius:var(--ng-rad);background:#fff;padding:18px;display:flex;flex-direction:column;gap:8px}
.ng .rev .who{font-weight:800}.ng .rev .txt{font-size:15px;line-height:1.55}.ng .rev .meta{font-size:12px;color:var(--ng-muted)}
@media(max-width:1000px){ .ng .rev-grid{grid-template-columns:1fr 1fr} }
@media(max-width:640px){ .ng .rev-grid{grid-template-columns:1fr} }
.ng .reviews .rev-grid{margin-bottom:var(--ng-s3)}

/* CTA */
.ng .cta{margin:var(--ng-s7) 0 var(--ng-s5)}
.ng .cta .box{border:1px solid #bcd9e6;background:linear-gradient(180deg,#eaf6fb,#ffffff);padding:var(--ng-s6);border-radius:var(--ng-rad-xl);display:flex;flex-wrap:wrap;gap:var(--ng-s4);align-items:center;justify-content:space-between}

/* --- Avada spacing fix pro Code Blocky --- */
.fusion-builder-row .ng{margin-top:0!important;margin-bottom:0!important}
.fusion-builder-row .ng section{margin:0!important}

/* =========================================================
   10 DŮVODŮ  (.ng-10)
   ========================================================= */
.ng-10 section:first-of-type{padding-top:0}
.ng-10 .lead{font-size:clamp(16px,1.35vw,18px);line-height:1.5;max-width:58ch;margin-bottom:var(--ng-s3)}

.ng-10 .reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ng-s5)}
@media (max-width:1000px){ .ng-10 .reasons{grid-template-columns:1fr} }

.ng-10 .reason{position:relative}
.ng-10 .reason .inner{padding:18px var(--ng-s5) var(--ng-s5)}
.ng-10 .reason .badge{
  position:absolute;left:14px;top:12px;width:36px;height:36px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#f7fbff,#fff);border:1px solid #dfe7f0;color:#1f2a44;font-weight:900;box-shadow:0 1px 0 #ffffffcc inset
}
.ng-10 .reason h3{margin:0 0 var(--ng-s2) 50px;font-size:17px;line-height:1.35}
.ng-10 .reason p{margin:0 0 var(--ng-s2) 50px}
.ng-10 .reason ul{margin:0 0 0 50px;padding-left:18px;line-height:1.5}
.ng-10 .reason ul li{margin:4px 0}
.ng-10 .reason .tag{
  display:inline-block;margin:var(--ng-s2) 0 0 50px;
  padding:6px 10px;border:1px solid var(--ng-border);border-radius:999px;background:#f6f8fb;color:#32425a;font-size:12.5px
}

/* =========================================================
   FUNKCE  (.ng-fx)
   ========================================================= */
.ng-fx .toc{position:sticky;top:var(--ng-sticky-offset);z-index:9;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:10px 12px;margin:8px 0 22px;background:#ffffffcc;backdrop-filter:saturate(1.2) blur(6px);border:1px solid #e8edf4;border-radius:var(--ng-pill);box-shadow:0 2px 10px rgba(20,30,50,.06)}
.ng-fx .toc a{display:inline-block;padding:8px 14px;border:1px solid #e6ebf2;border-radius:var(--ng-pill);font-size:14px;text-decoration:none;color:#2a3a53;background:#fff;transition:all .18s ease}
.ng-fx .toc a:hover,.ng-fx .toc a.is-active{background:#eef4ff;border-color:#cad8ff;transform:translateY(-1px)}
.ng-fx .toc a:focus{outline:2px solid var(--ng-ring);outline-offset:2px;box-shadow:0 0 0 2px #b9d4ff33}

.ng-fx section{margin:28px 0 40px;scroll-margin-top:calc(var(--ng-sticky-offset) + 28px)}
.ng-fx h2{font-size:22px;margin:0 0 14px}

.ng-fx .grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.ng-fx .col{min-width:0;display:flex}
.ng-fx .card,.ng-fx .media{height:100%;width:100%}
.ng-fx .media{border:none;border-radius:12px;overflow:hidden;min-height:320px}
.ng-fx .media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}

.ng-fx section.alt .col:first-child{order:2}
.ng-fx section.alt .col:last-child{order:1}

.ng-fx ul{margin:0;padding:0;list-style:none}
.ng-fx li{padding:10px 0 10px 28px;position:relative;border-top:1px solid #f1f4f8}
.ng-fx li:first-child{border-top:none}
.ng-fx li:before{content:"✓";position:absolute;left:0;top:10px;font-weight:700}
.ng-fx small{color:#5b6777}

.ng-fx [data-collapsible].is-collapsed li:nth-child(n+7){display:none}
.ng-fx .more-wrap{display:flex;justify-content:center;padding:10px 0 0}
.ng-fx .more-btn{appearance:none;border:none;border-radius:var(--ng-pill);padding:8px 14px;cursor:pointer;background:#fff;border:1px solid #e6ebf2;font-size:14px;color:#2a3a53;transition:all .18s ease}
.ng-fx .more-btn:hover{background:#f6f8fb;transform:translateY(-1px)}
.ng-fx .more-btn:focus{outline:2px solid var(--ng-ring);outline-offset:2px}

@media (max-width:900px){
  .ng-fx .grid{grid-template-columns:1fr}
  .ng-fx section.alt .col{order:initial}
}

/* =========================================================
   HOMEPAGE  (.ng-home)
   ========================================================= */
.ng-home section:first-of-type{padding-top:0}
.ng-home .lead{font-size:16.5px;line-height:1.5}

.ng-home .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ng-home .step{border:1px solid #e8edf4;border-radius:12px;padding:16px;background:#fff}
.ng-home .step h3{margin:6px 0 6px;font-size:18px}
.ng-home .step .num{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;border:1px solid #cad8ff;font-weight:800;color:#2a3a53}

.ng-home .benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ng-home .benefit{border:1px solid #e8edf4;border-radius:12px;background:#fff;padding:14px}
.ng-home .benefit h3{font-size:16px;margin:2px 0 6px}

@media(max-width:1000px){
  .ng-home .grid-2{grid-template-columns:1fr}
  .ng-home .steps-grid,.ng-home .benefit-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .ng-home .steps-grid,.ng-home .benefit-grid{grid-template-columns:1fr}
}

/* =========================================================
   PRICING  (.ngpricing) – sjednoceno s NGUI (btnrow, muted, ng-wrap)
   ========================================================= */
.ng.ngpricing{
  --brand: var(--ng-brand);
  --brand-700: var(--ng-brand-700);
  --ink: var(--ng-ink);
  --muted: var(--ng-muted);
  --border: var(--ng-border);
  --bg: var(--ng-bg);
}

/* TABS */
.ngpricing .tabs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:10px 0 18px}
.ngpricing .tab-btn{
  appearance:none;border:1px solid var(--border);background:#fff;color:var(--ink);
  border-radius:14px;padding:12px 20px;cursor:pointer;
  font-size:16.5px;letter-spacing:.01em;box-shadow:0 2px 8px rgba(20,30,50,.04)
}
.ngpricing .tab-btn[aria-selected="true"]{background:#eef7ff;border-color:#cfe7fb;color:#0e3a55}

/* BILLING toggle */
.ngpricing .billing{display:flex;justify-content:center;align-items:center;gap:14px;margin:8px 0 10px}
.ngpricing .switch{position:relative;width:64px;height:34px;background:#dce5ef;border-radius:999px;border:1px solid var(--border);cursor:pointer}
.ngpricing .switch input{position:absolute;inset:0;opacity:0}
.ngpricing .knob{position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(20,30,50,.25);transition:transform .2s ease}
.ngpricing .switch input:checked + .knob{transform:translateX(30px)}
.ngpricing .billing .yearly{font-weight:800}
.ngpricing .billing .save{margin-left:6px;background:var(--brand);color:#fff;font-size:12px;padding:3px 8px;border-radius:6px;border:1px solid #0f5b81}

/* PANELS */
.ngpricing .panel{display:none}
.ngpricing .panel.is-active{display:block}

/* GRID */
.ngpricing .grid{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;margin-top:8px;}

/* CARDS */
.ngpricing .card{
  background:#fff;border:1px solid var(--border);border-radius:12px;
  box-shadow:0 2px 8px rgba(20,30,50,.04);display:flex;flex-direction:column;
  transition:all .2s ease;position:relative
}
.ngpricing .card .head{padding:10px 12px;border-bottom:1px solid var(--border);color:#32425a;font-weight:700;font-size:13px}
.ngpricing .price{padding:10px 12px 4px}
.ngpricing .amount{font-size:24px;font-weight:900;color:#0f3a54}
.ngpricing .per{color:var(--muted);font-size:13px}
.ngpricing .annual-note{display:none;color:#6b7a8f;font-size:12.5px;margin-top:4px}
.ngpricing .body{padding:0 12px 12px}
.ngpricing ul{margin:0;padding:0;list-style:none}
.ngpricing li{padding:6px 0 6px 22px;border-top:1px solid #f2f4f8;position:relative;font-size:13.5px}
.ngpricing li:first-child{border-top:none}
.ngpricing li:before{content:"✓";position:absolute;left:0;top:6px;color:#1f7a1f;font-weight:800}

/* HOVER + badge */
.ngpricing .card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(20,30,50,.12)}
.ngpricing .card.popular{border:2px solid var(--brand)}
.ngpricing .card.popular:before{
  content:"Nejoblíbenější";position:absolute;top:8px;right:-2px;background:var(--brand);color:#fff;
  font-size:12px;font-weight:800;padding:4px 10px;border-radius:0 10px 0 10px;pointer-events:none
}

/* TABULKA KREDITU */
.ngpricing .table{width:100%;max-width:700px;margin:0 auto;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.ngpricing .table table{width:100%;border-collapse:collapse}
.ngpricing .table th,.ngpricing .table td{padding:9px 12px;border-top:1px solid #f0f3f7;font-size:14px}
.ngpricing .table thead th{background:#f6f9ff;color:#1f2a44;font-weight:800;text-align:center}
.ngpricing .table tbody td{text-align:center}
.ngpricing .table tbody td:first-child{text-align:left}
.ngpricing .table tbody td:last-child{text-align:right}

/* sjednocená tlačítka pod ceníkem */
.ngpricing .btnrow{
  justify-content:center;                /* ne na střed */
  margin-top:var(--ng-s4);
  margin-bottom:24px;/* jasný odstup od karet/tabulky */
}
.ngpricing .muted {
    font-size: 12.5px;
    color: var(--muted);
    text-align: center;
    margin: 6px auto 0;
    max-width: 980px;
}

.ngpricing .panel {padding-top:5px;} 

/* i pod kreditní tabulkou */
.ngpricing .table + .btnrow{ margin-top:var(--ng-s4); }

/* RESPONSIVE */
@media (max-width:1200px){ .ngpricing .grid{grid-template-columns:repeat(4,minmax(200px,1fr))} }
@media (max-width:980px){ .ngpricing .grid{grid-template-columns:repeat(3,minmax(190px,1fr))} }
@media (max-width:700px){ .ngpricing .grid{grid-template-columns:repeat(2,minmax(160px,1fr))} }
@media (max-width:640px){ .ngpricing .tab-btn{font-size:15px;padding:10px 14px}
}

/* Avada okraj fix (jako u .ng) */
.fusion-builder-row .ngpricing:first-child{margin-top:0!important}

/* =========================================================
   CTA samostatný blok (.ng-cta)
   ========================================================= */
.ng-cta .cta{margin:var(--ng-s7) 0 var(--ng-s5)}
.ng-cta .cta .box{
  border:1px solid #bcd9e6;
  background:linear-gradient(180deg,#eaf6fb,#ffffff);
  padding:var(--ng-s6);
  border-radius:var(--ng-rad-xl);
  display:flex;
  flex-wrap:wrap;
  gap:var(--ng-s4);
  align-items:center;
  justify-content:space-between;
}
.ng-cta .stack>*+*{margin-top:var(--ng-s3)}
