/* Marketarium v8 — light design system (Claude Design export 07/2026)
 * Tokeny + sdílené komponenty pro všechny v8 stránky. Zdroj: claude-design/v7-export2/README.md
 * POZOR: v8 je LIGHT téma — sdílí s V2 (CLAUDE.md) jen --forest/--lime/--orange/--cream.
 * Vlastní tokeny: --surface (bílé karty), --surface-2 (světle šedá), --footer-bg, --paper (bílá).
 * Pravidlo kontrastu: lime a orange VŽDY jako plocha s tmavým textem, nikdy barevný text na bílé. */
:root{--forest:#0F2A1F;--surface:#FFFFFF;--surface-2:#F4F5F2;--lime:#D9F255;--lime-2:#EAF7A9;--cream:#F1E9D2;--paper:#FFFFFF;--orange:#FF5A2C;--orange-ink:#C83C14;--footer-bg:#F3F3F1;--mono:'JetBrains Mono',monospace;--sans:'Inter Tight',system-ui,sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--forest);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:0.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.mono{font-family:var(--mono)}
/* Akcentové slovo: náš font (Inter Tight), bez serifu/kurzívy. Odlišení nese barva (inline). */
.ed{font-family:var(--sans);font-style:normal}
a{color:inherit;text-decoration:none}
a.link:hover{color:var(--orange-ink)}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}
.cap{font-family:var(--mono);letter-spacing:0.16em;text-transform:uppercase}
.sq{display:inline-block;background:var(--orange);vertical-align:middle}
h1,h2,h3{letter-spacing:-0.03em}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 22px;font-weight:700;font-size:14px;cursor:pointer;border:none;font-family:var(--sans);transition:transform .2s cubic-bezier(.2,.8,.3,1),background .2s,color .2s}
.btn:hover{transform:translateY(-2px) scale(1.04)}
.btn-lime{background:var(--lime);color:var(--forest)}
.btn-forest{background:var(--forest);color:var(--cream)}
.btn-orange{background:var(--orange);color:var(--forest)}
.btn-ghost{background:transparent;color:var(--forest);border:1.5px solid rgba(15,42,31,0.28)}
.btn-ghost:hover{border-color:var(--forest)}
/* Zablokované tlačítko: ne opacity na celém prvku — ta prořídí i text (cream na forest
   při .4 = ~2.2:1, „Přesměrovávám…" nešlo přečíst). Vlastní plocha + tmavý text drží
   kontrast a od aktivního CTA se liší jasně. */
.btn[disabled]{background:var(--surface-2);color:rgba(15,42,31,0.7);cursor:not-allowed;transform:none;box-shadow:inset 0 0 0 1.5px rgba(15,42,31,0.15)}
.btn[disabled]:hover{transform:none}

/* Nav */
/* padding 12px = dotyková plocha ≥ 40 px (audit M8), podtržení posunuté dovnitř */
.navlink{font-size:15px;font-weight:500;color:rgba(15,42,31,0.85);white-space:nowrap;position:relative;padding:12px 0}
.navlink:hover{color:var(--orange-ink)}
.navlink.active{color:var(--forest);font-weight:700}
.navlink.active::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--lime)}
.navlink::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:2px;background:var(--orange);transition:right .22s cubic-bezier(.2,.8,.3,1)}
.navlink:hover::after{right:0}
@media(max-width:1120px){nav.mainnav{gap:20px!important}nav.mainnav a{font-size:14px}}
@media(max-width:980px){nav.mainnav,.topsearch{display:none!important}}

/* Mobilní menu (burger + drawer) — header renderuje v8.js */
.mk-burger{display:none;width:42px;height:42px;border-radius:12px;border:1.5px solid rgba(15,42,31,0.18);background:var(--paper);cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;font-size:19px;color:var(--forest);line-height:1}
.mk-drawer{display:none;position:fixed;left:0;right:0;top:0;bottom:0;background:#fff;z-index:120;padding:18px 24px 28px;flex-direction:column;overflow:auto}
.mk-drawer.open{display:flex}
.mk-drawer a,.mk-drawer button.dl{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid rgba(15,42,31,0.08);padding:16px 2px;font-family:var(--sans);font-size:17px;font-weight:600;color:var(--forest);cursor:pointer}
@media(max-width:980px){
  .mk-burger{display:inline-flex}
  .mk-hidemob{display:none!important}
  header#mk-header{padding-left:20px!important;padding-right:20px!important}
}

/* Tags & pills */
.tg{display:inline-block;border:1px solid rgba(15,42,31,0.14);background:rgba(15,42,31,0.025);color:rgba(15,42,31,0.72);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:600;letter-spacing:.01em}
.fpill{display:inline-flex;align-items:center;gap:9px;padding:10px 17px;border:1.5px solid rgba(15,42,31,0.2);border-radius:999px;font-size:13.5px;font-weight:500;cursor:pointer;background:var(--paper);color:var(--forest);font-family:var(--sans);transition:border-color .2s,background .2s}
.fpill:hover{border-color:var(--forest)}
.fpill.on{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;padding:4px 9px;border-radius:999px}
.badge.free{background:var(--lime-2);color:var(--forest)}
.badge.paid{background:rgba(255,90,44,0.14);color:#b5371a}

/* Segment toggle */
.seg{display:inline-flex;background:var(--surface-2);border:1px solid rgba(15,42,31,0.12);border-radius:999px;padding:6px}
.segbtn{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;border-radius:999px;font-weight:700;font-size:16px;cursor:pointer;color:rgba(15,42,31,0.7);transition:background .25s,color .25s;border:none;background:transparent;font-family:var(--sans)}
.segbtn.on{background:var(--forest);color:var(--cream)}
.segbtn.on .sq{background:var(--lime)}

/* Cards */
.card{background:var(--surface);border:1px solid rgba(15,42,31,0.1);border-radius:20px}
.pcardv8{background:var(--paper);border:1px solid rgba(15,42,31,0.07);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(15,42,31,0.04),0 10px 26px -14px rgba(15,42,31,0.12);transition:transform .26s cubic-bezier(.2,.8,.3,1),border-color .26s,box-shadow .26s}
.pcardv8:hover{transform:translateY(-5px);border-color:rgba(217,242,85,0.6);box-shadow:0 24px 50px -16px rgba(15,42,31,0.16)}
.pcardv8 .cov{transition:transform .5s cubic-bezier(.2,.8,.3,1)}
.pcardv8:hover .cov{transform:scale(1.05)}
.fcard{background:var(--surface);border:1px solid rgba(15,42,31,0.09);border-radius:20px;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.3,1),border-color .28s}
.fcard:hover{transform:translateY(-6px);border-color:var(--lime);box-shadow:0 22px 48px rgba(15,42,31,0.13)}
.fcard .cov{transition:transform .5s cubic-bezier(.2,.8,.3,1)}
.fcard:hover .cov{transform:scale(1.05)}
.pout{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1.5px solid rgba(15,42,31,0.3);border-radius:999px;padding:11px;font-weight:700;font-size:13.5px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pout:hover{background:var(--lime);color:var(--forest);border-color:var(--forest)}
.work{border-radius:16px;overflow:hidden;position:relative}
.work img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.3,1)}
.work:hover img{transform:scale(1.05)}
.free-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3BB273;margin-right:6px;vertical-align:middle}
.free-dot.mid{background:#EAB308}
.free-dot.off{background:var(--orange)}
.save{width:38px;height:38px;border-radius:50%;border:1px solid rgba(15,42,31,0.1);background:rgba(255,255,255,0.92);backdrop-filter:blur(4px);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;box-shadow:0 2px 8px rgba(15,42,31,0.12);transition:background .2s,border-color .2s,box-shadow .2s}
.save svg{width:17px;height:17px;fill:none;stroke:var(--forest);stroke-width:2;transition:fill .2s,stroke .2s}
.save.on{background:var(--orange);border-color:var(--orange)}
.save.on svg{fill:var(--forest);stroke:var(--forest)}

/* Brief card */
.bcard{background:var(--surface);border:1px solid rgba(15,42,31,0.12);border-radius:20px;padding:26px 28px;transition:transform .26s cubic-bezier(.2,.8,.3,1),border-color .26s,box-shadow .26s}
.bcard:hover{transform:translateY(-4px);border-color:rgba(217,242,85,0.55);box-shadow:0 20px 44px rgba(15,42,31,0.08)}
.aud{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);letter-spacing:0.08em;text-transform:uppercase;font-size:10px;font-weight:600;padding:5px 11px;border-radius:999px}
.aud.fl{background:var(--lime-2);color:var(--forest)}
.aud.ag{background:rgba(255,90,44,0.14);color:#B5371A}
.open-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3BB273;margin-right:5px;vertical-align:middle}
.react{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid rgba(15,42,31,0.3);border-radius:999px;padding:11px 22px;font-weight:700;font-size:13.5px;cursor:pointer;background:transparent;font-family:var(--sans);transition:background .2s,color .2s,border-color .2s}
.react:hover{background:var(--lime);color:var(--forest);border-color:var(--forest)}
.lock{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:rgba(15,42,31,0.5)}

/* Pricing cards */
.pcard{background:var(--surface);border:1px solid rgba(15,42,31,0.1);border-radius:24px;padding:38px 34px;display:flex;flex-direction:column}
.pcard.feat{border:1.5px solid var(--lime);background:var(--surface-2)}
.pfeat{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4;padding:9px 0;border-top:1px solid rgba(15,42,31,0.1)}
.pfeat .sq{width:8px;height:8px;background:var(--lime);margin-top:6px;flex-shrink:0}

/* Forms */
.lbl{font-family:var(--mono);letter-spacing:0.08em;text-transform:uppercase;font-size:10px;color:rgba(15,42,31,0.72);display:block;margin-bottom:8px;font-weight:600}
/* 16px = žádný auto-zoom iOS Safari při fokusu (audit M9) */
.field{width:100%;border:1.5px solid rgba(15,42,31,0.2);border-radius:14px;padding:14px 16px;font-family:var(--sans);font-size:16px;color:var(--forest);background:var(--paper);outline:none;transition:border-color .2s}
.field:focus{border-color:var(--forest)}
textarea.field{resize:vertical;min-height:110px;line-height:1.5}
.chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1.5px solid rgba(15,42,31,0.2);border-radius:999px;font-size:13.5px;font-weight:500;cursor:pointer;background:var(--paper);transition:border-color .2s,background .2s,color .2s;user-select:none;font-family:var(--sans)}
.chip:hover{border-color:var(--forest)}
.chip.on{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.soc{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1.5px solid rgba(15,42,31,0.2);border-radius:14px;padding:13px;font-weight:600;font-size:14px;cursor:pointer;background:var(--paper);transition:border-color .2s;font-family:var(--sans)}
.soc:hover{border-color:var(--forest)}
input[type=range]{accent-color:var(--forest);width:100%}
input[type=checkbox]{accent-color:var(--forest);width:16px;height:16px}
.err-box{background:rgba(255,90,44,0.1);border-left:3px solid var(--orange);border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:#8a2a12;margin-top:14px;display:none}
.err-box.show{display:block}
/* Úspěšná / informativní varianta téhož boxu — oranžový rámeček u úspěchu čte uživatel
   jako chybu. Plocha --lime-2 s textem --forest drží pravidlo kontrastu z hlavičky. */
.err-box.ok{background:var(--lime-2);border-left-color:var(--forest);color:var(--forest)}

/* Modal + toast */
.overlay{position:fixed;inset:0;background:rgba(10,26,18,0.55);backdrop-filter:blur(4px);z-index:200;display:none;align-items:center;justify-content:center;padding:24px}
.overlay.open{display:flex}
.modal{background:var(--paper);border-radius:24px;width:100%;max-width:560px;max-height:92vh;overflow:auto;box-shadow:0 40px 90px rgba(0,0,0,0.4);animation:pop .3s cubic-bezier(.2,.8,.3,1)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.xclose{width:38px;height:38px;border-radius:50%;border:none;background:var(--surface-2);cursor:pointer;font-size:18px;color:var(--forest);flex-shrink:0}
.xclose:hover{background:rgba(15,42,31,0.12)}
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);background:var(--forest);color:var(--cream);padding:15px 24px;border-radius:999px;font-weight:600;font-size:14px;display:flex;align-items:center;gap:10px;z-index:300;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;box-shadow:0 20px 50px rgba(0,0,0,0.35)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Reveal on scroll — s CSS fallbackem (obsah se zobrazí i bez JS, viz README exportu) */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.3,1);animation:rvsafe .6s ease 1.4s forwards}
@keyframes rvsafe{to{opacity:1;transform:none}}
.rv.in{opacity:1;transform:none;animation:none}
.step .snum{transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.step:hover .snum{transform:translateY(-4px) scale(1.04)}
.hide{display:none!important}

/* Skeleton loading */
.skel{background:linear-gradient(90deg,rgba(15,42,31,0.05) 25%,rgba(15,42,31,0.1) 50%,rgba(15,42,31,0.05) 75%);background-size:200% 100%;animation:skel 1.4s infinite;border-radius:20px}
@keyframes skel{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Responsive */
@media(max-width:1000px){.wrap{padding:0 24px}.split{grid-template-columns:1fr!important}.sidebar{display:none}.sidebar.openm{display:block!important;position:static!important;margin-bottom:18px}.grid2{grid-template-columns:1fr 1fr!important}.g2,.g3,.g4{grid-template-columns:1fr 1fr!important}.foot-grid{grid-template-columns:1fr 1fr!important}.mk-filtertoggle{display:inline-flex!important}}
@media(max-width:640px){
  .grid2,.g2,.g3,.g4{grid-template-columns:1fr!important}
  section,header,footer{padding-left:20px!important;padding-right:20px!important}
  .wrap{padding:0 0px}
  .btn{padding:13px 20px;font-size:13.5px}
  .segbtn{padding:11px 16px!important;font-size:13.5px!important}
  .seg{max-width:100%;overflow-x:auto}
  .fpill{padding:9px 14px;font-size:12.5px}
  .bcard{padding:20px 18px}
  .pcard{padding:26px 22px}
  .modal{border-radius:18px}
  .overlay{padding:12px;align-items:flex-end}
  .toastp{width:calc(100% - 32px);justify-content:center;text-align:center}
}
.mk-filtertoggle{display:none;align-items:center;gap:8px}
@media(max-width:640px){#mk-header{gap:10px!important}#mk-header>a:first-child{font-size:17px!important}}

/* Dotykové plochy textových odkazů (audit M8) — vizuál stejný, plocha ≥ cca 34–40 px */
#mk-footer a.link{display:inline-flex;align-items:center;min-height:34px}
/* Dotykové plochy na mobilu (audit visual-R6) — jen navigační a akční třídy.
   Záměrně NE globálně na `a`, to by rozbilo odkazy uvnitř odstavců. */
@media(max-width:768px){
  #mk-footer a.link{min-height:44px}
  a.link,a.cap,button.cap{display:inline-flex;align-items:center;min-height:44px}
  .fpill{min-height:44px}
  .save{width:44px;height:44px}
}
#mk-footer .foot-grid>div{gap:4px!important}
.tap{display:inline-flex;align-items:center;min-height:40px}
/* CTA v headeru drží obrys i na limetkovém podkladu (audit L3) */
#mk-header .btn-lime{border:1.5px solid rgba(15,42,31,0.25)}

/* Consent lišta (GA4) */
.mk-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:400;background:var(--forest);color:var(--cream);border-radius:18px;padding:18px 22px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;box-shadow:0 24px 60px rgba(0,0,0,0.35);max-width:720px;margin:0 auto}
.mk-consent p{margin:0;font-size:13.5px;line-height:1.5;color:rgba(241,233,210,0.85);flex:1;min-width:240px}
.mk-consent p a{font-weight:700;border-bottom:1.5px solid var(--lime)}
.mk-consent .btn{padding:11px 18px;font-size:13px}
