/* =====================================================================
   nzm-page.css – sdílený designový jazyk čistě stavěných stránek
   (bílo-šedý styl, neutrální uhlový akcent, zaoblené vsazené panely,
   širší layout, plně responzivní). Jeden zdroj pravdy pro všechny
   přestavěné stránky → globální úprava se propíše všude.
   ===================================================================== */
:root{
  --ink:#15171a; --muted:#5b6168; --line:#e7e7e4;
  --accent:#2f8f5b; --accent-d:#256f47; --accent-2:#c19a3f;
  --paper:#ffffff; --soft:#f4f5f2; --panel:#f0f0ec;
  --maxw:1240px; --gutter:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Inter Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block;}
.wrap{width:min(var(--maxw), 100% - 2*var(--gutter)); margin-inline:auto;}
.wrap-wide{width:min(1480px, 100% - 2*clamp(16px,3vw,40px)); margin-inline:auto;}

a.btn{display:inline-block; text-decoration:none; border-radius:14px; padding:14px 26px; font-weight:600; font-size:15.5px; border:2px solid var(--accent); cursor:pointer; transition:background .22s var(--ease), color .22s var(--ease), transform .22s var(--ease);}
a.btn.primary{background:var(--accent); color:#fff;}
a.btn.primary:hover{background:#fff; color:var(--accent); transform:translateY(-2px);}   /* černé → na hover zbělá (symetricky k ghost) */
a.btn.ghost{background:transparent; color:var(--accent);}
a.btn.ghost:hover{background:var(--accent); color:#fff; transform:translateY(-2px);}      /* bílé → na hover zčerná */
a.btn.light{border-color:rgba(255,255,255,.7); color:#fff; background:transparent;}
a.btn.light:hover{background:#fff; color:var(--accent-d); transform:translateY(-2px);}
a.btn.solid-light{background:#fff; color:var(--accent-d); border-color:#fff;}
a.btn.solid-light:hover{transform:translateY(-2px); background:#ececec;}

.eyebrow{display:inline-flex; align-items:center; gap:8px; color:var(--accent); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; margin:0 0 16px;}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--accent); display:inline-block;}

/* ===== HERO ===== */
.hero{padding:clamp(24px,4vw,48px) 0 clamp(36px,5vw,72px);}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,72px); align-items:center;}
.hero h1{font-size:clamp(40px,7.5vw,76px); line-height:1.0; letter-spacing:-.03em; margin:0 0 20px; font-weight:850;}
.hero h1 .acc{color:var(--accent); display:block;}
.hero .lead{font-size:clamp(17px,2.2vw,21px); color:var(--muted); margin:0 0 28px; max-width:48ch;}
.hero-cta{display:flex; flex-wrap:wrap; gap:14px;}
.hero-photo{position:relative; isolation:isolate;}
.hero-photo .frame{position:relative; border-radius:26px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.22); aspect-ratio:4/5; background:#e7ebe7;}
.hero-photo .frame img{width:100%; height:100%; object-fit:cover; object-position:center 20%; transition:transform .6s var(--ease);}
.hero-photo:hover .frame img{transform:scale(1.05);}
.hero-photo::before{content:""; position:absolute; z-index:-1; inset:auto -18px -18px auto; width:62%; height:62%; background:var(--accent); border-radius:26px; opacity:.10;}
.hero-photo .badge{position:absolute; left:18px; bottom:18px; background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-radius:16px; padding:11px 16px; font-size:14px; font-weight:800; color:var(--ink); box-shadow:0 8px 24px rgba(0,0,0,.16); line-height:1.25;}
.hero-photo .badge span{display:block; font-weight:500; color:var(--muted); font-size:12px;}

/* ===== STAT STRIP ===== */
.stats{background:transparent; color:#fff; padding-block:clamp(10px,2vw,24px);}
.stats .stats-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(8px,2vw,24px); background:linear-gradient(135deg,var(--accent-d),var(--accent)); border-radius:clamp(22px,3vw,30px); padding:clamp(26px,3vw,40px) clamp(28px,4vw,52px);}
.stat{display:flex; flex-direction:column; gap:4px; min-width:0;}
.stat .ic{font-size:26px; line-height:1;}
.stat b{font-size:clamp(15px,1.6vw,18px); font-weight:800; margin-top:6px; overflow-wrap:anywhere;}
.stat small{color:rgba(255,255,255,.82); font-size:13px;}
@media(max-width:720px){ .stats .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 14px;} }

/* ===== SECTION SCAFFOLD ===== */
.sec{padding:clamp(48px,7vw,96px) 0;}
.sec.soft{background:transparent; padding-block:clamp(18px,3vw,40px);}
.sec.soft > .wrap{background:var(--soft); border-radius:clamp(22px,3vw,32px); padding:clamp(40px,6vw,80px) clamp(26px,4vw,60px);}
.sec-head{max-width:760px; margin:0 0 clamp(28px,4vw,44px);}
.sec-head.center{margin-inline:auto; text-align:center;}
.sec h2{font-size:clamp(28px,4.4vw,46px); font-weight:850; letter-spacing:-.025em; line-height:1.05; margin:0 0 14px;}
.sec .sub{font-size:clamp(16px,1.8vw,19px); color:var(--muted); margin:0;}

/* ===== STORY (split with image) ===== */
.story-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center;}
.story-grid .media{position:relative; border-radius:24px; overflow:hidden; aspect-ratio:3/4; box-shadow:0 24px 60px rgba(0,0,0,.18); max-height:600px;}
.story-grid .media img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.story-grid .media:hover img{transform:scale(1.04);}
.steps{display:flex; flex-direction:column; gap:0;}
.step{display:grid; grid-template-columns:auto 1fr; gap:18px; padding-bottom:26px;}
.step:last-child{padding-bottom:0;}
.step-rail{display:flex; flex-direction:column; align-items:center;}
.step-num{width:44px; height:44px; border-radius:14px; background:var(--panel); border:1.5px solid #dcdcd6; color:var(--accent); display:flex; align-items:center; justify-content:center; font-weight:850; font-size:17px; flex:none;}
.step-line{flex:1; width:2px; background:#deded8; margin-top:8px;}
.step:last-child .step-line{display:none;}
.step h3{margin:8px 0 8px; font-size:clamp(19px,2.4vw,24px); letter-spacing:-.01em;}
.step p{margin:0 0 10px; color:#33373c;}
.step p:last-child{margin-bottom:0;}
@media(max-width:860px){ .story-grid{grid-template-columns:1fr;} .story-grid .media{order:-1; aspect-ratio:16/11; max-height:420px;} }

/* ===== PULL QUOTE ===== */
.quote{background:var(--panel); border-left:5px solid var(--accent); border-radius:clamp(20px,3vw,28px); padding:clamp(28px,4vw,48px) clamp(24px,4vw,56px); position:relative;}
.quote p{font-size:clamp(20px,3vw,30px); line-height:1.3; font-weight:750; letter-spacing:-.02em; color:var(--ink); margin:0;}
.quote .mark{position:absolute; top:-6px; left:16px; font-size:90px; line-height:1; color:var(--accent); opacity:.18; font-family:Georgia,serif;}
.quote cite{display:block; margin-top:16px; font-style:normal; font-weight:700; color:var(--accent);}

/* ===== LIFESTYLE BAND (zaoblený vsazený) ===== */
.band{padding-block:clamp(14px,2vw,26px);}
.band-inner{width:min(var(--maxw), 100% - 2*var(--gutter)); margin-inline:auto; position:relative; border-radius:clamp(22px,3vw,32px); overflow:hidden;}
.band .ph{height:clamp(300px,46vh,520px);}
.band img{width:100%; height:100%; object-fit:cover;}
.band .ov{position:absolute; inset:0; background:linear-gradient(90deg, rgba(16,16,16,.80) 0%, rgba(16,16,16,.45) 55%, rgba(16,16,16,.12) 100%); display:flex; align-items:center; padding-inline:clamp(24px,5vw,64px);}
.band .ov .inner{color:#fff; max-width:560px;}
.band .ov h3{font-size:clamp(26px,4vw,42px); font-weight:850; letter-spacing:-.02em; margin:0 0 12px; line-height:1.06;}
.band .ov p{font-size:clamp(15px,1.8vw,18px); color:rgba(255,255,255,.9); margin:0;}

/* ===== KARTY / DLAŽDICE (pilíře, balíčky, varianty) ===== */
.pillars{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,22px);}
@media(max-width:880px){ .pillars{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:540px){ .pillars{grid-template-columns:1fr;} }
.pillar{background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px 24px; position:relative; overflow:hidden; transition:transform .24s var(--ease), box-shadow .24s var(--ease), border-color .24s var(--ease);}
.pillar::after{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .28s var(--ease);}
.pillar:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.10); border-color:#d7d7d1;}
.pillar:hover::after{transform:scaleX(1);}
.pillar .top{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
.pillar .ic{font-size:34px; line-height:1;}
.pillar .no{font-size:14px; font-weight:800; color:#c7c7c2;}
.pillar h4{margin:0 0 8px; font-size:19px; letter-spacing:-.01em;}
.pillar p{margin:0; font-size:14px; color:var(--muted);}

/* ===== YES / NO KARTY ===== */
.cred{background:#fff; border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:18px; padding:26px 28px; margin:0 0 22px;}
.cred h3{margin:0 0 6px; font-size:20px;}
.cred .sub{color:var(--muted); font-size:14px; margin:0 0 12px;}
.cred p{margin:0; color:#33373c; font-size:15px;}
.cols{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:760px){ .cols{grid-template-columns:1fr;} }
.col-card{border:1px solid var(--line); border-radius:18px; padding:24px 26px;}
.col-card.yes{background:#f4f4f1; border-color:#e2e2dc;}
.col-card.no{background:#fbf4f2; border-color:#f0dcd6;}
.col-card h4{margin:0 0 14px; font-size:17px; display:flex; align-items:center; gap:9px;}
.col-card ul{margin:0; padding:0; list-style:none;}
.col-card li{margin:10px 0; font-size:15px; color:#33373c; padding-left:28px; position:relative; line-height:1.5;}
.col-card.yes li::before{content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:850;}
.col-card.no li::before{content:"✕"; position:absolute; left:0; color:#c0564a; font-weight:850;}

/* ===== FINAL CTA (zaoblený vsazený panel) ===== */
.final{background:transparent; text-align:center; padding-block:clamp(20px,3vw,44px);}
.final > .wrap{background:linear-gradient(135deg,var(--accent-d),var(--accent)); color:#fff; border-radius:clamp(22px,3vw,32px); padding:clamp(44px,6vw,84px) clamp(28px,4vw,56px);}
.final h2{font-size:clamp(28px,4.4vw,46px); font-weight:850; letter-spacing:-.025em; margin:0 0 12px;}
.final p{color:rgba(255,255,255,.9); margin:0 auto 26px; font-size:clamp(16px,2vw,19px); max-width:46ch;}
.final .hero-cta{justify-content:center;}

/* ===== TRIPTYCH (3 obrázky ve stylu hlavní stránky) ===== */
.triptych{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,22px);}
@media(max-width:760px){ .triptych{grid-template-columns:1fr;} }
.tile{position:relative; border-radius:20px; overflow:hidden; aspect-ratio:3/4; box-shadow:0 16px 40px rgba(0,0,0,.12);}
.tile img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
.tile:hover img{transform:scale(1.05);}
.tile .cap{position:absolute; left:0; right:0; bottom:0; padding:18px; background:linear-gradient(to top, rgba(16,16,16,.85), rgba(16,16,16,0)); color:#fff;}
.tile .cap b{display:block; font-size:18px; font-weight:800;}
.tile .cap span{font-size:13.5px; color:rgba(255,255,255,.85);}

/* ===== BALÍČKOVÉ KARTY (klikací → podstránka) ===== */
.pkg-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,22px);}
@media(max-width:880px){ .pkg-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:540px){ .pkg-grid{grid-template-columns:1fr;} }
.pkg{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px 24px; text-decoration:none; color:var(--ink); position:relative; overflow:hidden; transition:transform .24s var(--ease), box-shadow .24s var(--ease), border-color .24s var(--ease);}
.pkg::after{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .28s var(--ease);}
.pkg:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.10); border-color:#d7d7d1;}
.pkg:hover::after{transform:scaleX(1);}
.pkg .ic{font-size:32px; line-height:1; margin-bottom:12px;}
.pkg h3{margin:0 0 4px; font-size:20px; letter-spacing:-.01em;}
.pkg .tag{margin:0 0 14px; font-size:14px; color:var(--muted); font-weight:600;}
.pkg ul{list-style:none; margin:0 0 16px; padding:0; flex:1;}
.pkg li{position:relative; padding-left:22px; margin:7px 0; font-size:13.5px; color:#33373c;}
.pkg li::before{content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:850;}
.pkg .more{font-weight:700; font-size:14px; color:var(--accent); display:inline-flex; align-items:center; gap:6px;}

/* ===== CENY / ÚČAST ===== */
.price-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2.5vw,24px);}
@media(max-width:760px){ .price-grid{grid-template-columns:1fr;} }
.price-card{background:#fff; border:1px solid var(--line); border-radius:20px; padding:clamp(26px,3vw,38px); display:flex; flex-direction:column;}
.price-card.dark{background:linear-gradient(135deg,var(--accent-d),var(--accent)); color:#fff; border:none;}
.price-card h3{margin:0 0 6px; font-size:22px;}
.price-card .psub{font-size:14px; color:var(--muted); margin:0 0 18px;}
.price-card.dark .psub{color:rgba(255,255,255,.82);}
.price-card .amount{font-size:clamp(28px,4vw,40px); font-weight:850; letter-spacing:-.02em; margin:0;}
.price-card .amount small{font-size:15px; font-weight:600; opacity:.7;}
.price-card ul{list-style:none; margin:16px 0 22px; padding:0; flex:1;}
.price-card li{position:relative; padding-left:24px; margin:9px 0; font-size:14.5px;}
.price-card li::before{content:"✓"; position:absolute; left:0; font-weight:850;}
.price-card.dark li::before{color:#fff;}
.price-card:not(.dark) li::before{color:var(--accent);}

/* ===== KOMPLETNÍ PROGRAM (spodek podstránek) ===== */
.complete{background:linear-gradient(135deg,var(--accent-d),var(--accent)); color:#fff; border-radius:clamp(22px,3vw,30px); padding:clamp(32px,4vw,56px); display:grid; grid-template-columns:1.4fr .6fr; gap:clamp(20px,3vw,40px); align-items:center;}
@media(max-width:760px){ .complete{grid-template-columns:1fr;} }
.complete h3{font-size:clamp(22px,3vw,30px); font-weight:850; margin:0 0 10px;}
.complete p{margin:0; color:rgba(255,255,255,.88); font-size:15px;}
.complete .cright{text-align:center;}

/* ===== BACK LINK ===== */
.backlink{display:inline-flex; align-items:center; gap:7px; color:var(--muted); text-decoration:none; font-weight:600; font-size:14px;}
.backlink:hover{color:var(--accent);}

/* ===== FEATURE LIST + SPLIT LAYOUT (podstránky) ===== */
.feature{list-style:none; margin:18px 0 0; padding:0;}
.feature li{position:relative; padding-left:28px; margin:11px 0; font-size:15.5px; color:#33373c;}
.feature li::before{content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:850;}
.split{display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(20px,3vw,40px); align-items:start;}
@media(max-width:820px){ .split{grid-template-columns:1fr;} }
.hero.center .backlink{margin-bottom:8px;}

@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-photo{max-width:440px; margin-inline:auto; order:-1;}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;}
  .hero-photo:hover .frame img,.story-grid .media:hover img,.pillar:hover{transform:none;}
}

/* =====================================================================
   TMAVÝ REŽIM – přepínač v headeru přepne třídu html.nzm-dark.
   ===================================================================== */
html.nzm-dark{
  --ink:#eef2f7; --muted:#9daabb; --line:#2a3a54;
  --accent:#57ac82; --accent-d:#3f8a63; --accent-2:#c9a655;
  --paper:#0f1826; --soft:#182437; --panel:#1f2d47;
}
html.nzm-dark body{ background:var(--paper); color:var(--ink); }
html, body{ transition:background-color .3s var(--ease), color .3s var(--ease); }

/* karty a plochy, které mají natvrdo bílé pozadí → tmavé */
html.nzm-dark .pillar, html.nzm-dark .pkg, html.nzm-dark .price-card:not(.dark),
html.nzm-dark .cred, html.nzm-dark .tcard, html.nzm-dark .bcard, html.nzm-dark .ccard,
html.nzm-dark .faq-item, html.nzm-dark .pbox:not(.alt), html.nzm-dark .storno-card,
html.nzm-dark .vs-card:not(.hl), html.nzm-dark .cbox:not(.alt), html.nzm-dark .crow,
html.nzm-dark .bizcard, html.nzm-dark .col-card{
  background:var(--soft) !important; border-color:var(--line) !important;
}
html.nzm-dark .pbox.alt, html.nzm-dark .cbox.alt{ background:var(--panel) !important; border-color:var(--line) !important; }
html.nzm-dark .col-card.yes{ background:#14241a !important; border-color:#26432f !important; }
html.nzm-dark .col-card.no{ background:#241616 !important; border-color:#452727 !important; }

/* tlačítka: primární = světlé s tmavým textem */
html.nzm-dark a.btn, html.nzm-dark button.btn{ border-color:var(--accent); }
html.nzm-dark a.btn.primary, html.nzm-dark button.btn{ background:var(--accent); color:var(--paper); }
html.nzm-dark a.btn.primary:hover, html.nzm-dark button.btn:hover{ background:transparent; color:var(--accent); }
html.nzm-dark a.btn.ghost{ color:var(--accent); }
html.nzm-dark a.btn.ghost:hover{ background:var(--accent); color:var(--paper); }
/* bílé tlačítko na tmavém panelu → tmavý text (jinak by bylo bílé na bílém) */
html.nzm-dark a.btn.solid-light{ background:#ffffff; color:#13151a; border-color:#ffffff; }
html.nzm-dark a.btn.solid-light:hover{ background:#e6e8e8; color:#13151a; }
html.nzm-dark a.btn.light{ border-color:rgba(255,255,255,.7); color:#fff; }
html.nzm-dark a.btn.light:hover{ background:#fff; color:#13151a; }
html.nzm-dark .tmore{ color:var(--accent); border-color:var(--line); }
html.nzm-dark .tmore:hover{ background:var(--accent); color:var(--paper); border-color:var(--accent); }

/* tmavé gradientové panely (final/stats/ebook/complete/dark cena/vs.hl) */
html.nzm-dark .final > .wrap, html.nzm-dark .stats .stats-grid, html.nzm-dark .complete,
html.nzm-dark .ebook, html.nzm-dark .vs-card.hl, html.nzm-dark .price-card.dark{
  background:#0a1322 !important;
}

/* vstupy formuláře */
html.nzm-dark .field input, html.nzm-dark .field textarea{ background:var(--panel); border-color:var(--line); color:var(--ink); }

/* rámeček hero fotky, step linka, badge */
html.nzm-dark .hero-photo .frame{ background:#23272d !important; }
html.nzm-dark .step-num{ border-color:var(--line); }
html.nzm-dark .step-line{ background:var(--line); }
html.nzm-dark .hero-photo .badge{ background:rgba(19,21,26,.92); color:var(--ink); }
html.nzm-dark .hero-photo .badge span{ color:var(--muted); }

/* prolnutí „Číst dál" → do barvy karty */
html.nzm-dark .tcard:not(.open) .tquote::after{ background:linear-gradient(to bottom, rgba(28,31,36,0), var(--soft)); }

/* tělový text, který má natvrdo tmavě šedou (#33373c / #333) → čitelně světlý */
html.nzm-dark .step p, html.nzm-dark .step-body p, html.nzm-dark .cred p,
html.nzm-dark .col-card li, html.nzm-dark .pkg li, html.nzm-dark .feature li,
html.nzm-dark .tquote, html.nzm-dark .ti, html.nzm-dark .faq-a,
html.nzm-dark .qpoints li, html.nzm-dark .bcard p, html.nzm-dark .checklist li,
html.nzm-dark .ccard p, html.nzm-dark .split p, html.nzm-dark .story-grid p,
html.nzm-dark .vs-card:not(.hl) p{
  color:#c8cdcc !important;
}
/* zvýrazněné slovo/odkaz uvnitř textu ať taky svítí */
html.nzm-dark .step p strong, html.nzm-dark .split p strong, html.nzm-dark .ccard p strong{ color:#eceeec !important; }
