/* Customize.cz – styly webu (bez frameworku, bez buildu). Mobile-first; breakpointy 48rem / 64rem / 90rem; navigace se rozbaluje až od 80rem (celé menu + CTA se do 1280 px nevejde). */

/* ---- Písmo: Plus Jakarta Sans (variable, self-hosted) ---- */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;
  src:url(fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;
  src:url(fonts/plus-jakarta-sans-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Náhradní písmo s dorovnanými metrikami (bez CLS při swapu) */
@font-face{font-family:"PJS Fallback";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");
  size-adjust:109%;ascent-override:95%;descent-override:20%;line-gap-override:0%}

:root{
  --c-primary-50:#EEF2FF;--c-primary-100:#E0E7FF;--c-primary-300:#A3A7FC;--c-primary-500:#797FFF;
  --c-primary-600:#4F46E5;--c-primary-700:#4338CA;--c-primary-900:#1E1B4B;
  --c-sky-300:#6BB4FA;--c-sky-50:#E0F2FE;
  --c-accent-600:#C2410C;--c-accent-500:#EA580C;--c-accent-50:#FFF7ED;
  --c-text:#1E293B;--c-heading:#0F172A;--c-muted:#475569;--c-subtle:#64748B;
  --c-bg:#F8FAFC;--c-surface:#FFFFFF;--c-border:#E2E8F0;
  /* odchylka od přílohy C: #94A3B8 dává na bílé jen 2,6:1; pro okraj inputů (WCAG 1.4.11, 3:1) použit #64748B */
  --c-input-border:#64748B;
  --c-success:#15803D;--c-error:#B91C1C;--c-focus:#4F46E5;
  --g-brand:linear-gradient(90deg,#6BB4FA,#797FFF);
  --g-hero:linear-gradient(135deg,#EEF2FF,#E0F2FE);
  --fs-900:clamp(2rem,1.4rem + 2.6vw,3.25rem);
  --fs-800:clamp(1.625rem,1.3rem + 1.4vw,2.25rem);
  --fs-700:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --fs-600:clamp(1.125rem,1.05rem + .35vw,1.25rem);
  --fs-500:clamp(1rem,.96rem + .2vw,1.0625rem);
  --fs-400:.875rem;--fs-300:.75rem;
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;
  --section-y:clamp(3rem,8vw,6rem);--container:75rem;--gutter:clamp(1rem,4vw,2rem);--measure:68ch;
  --r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;
  --sh-1:0 1px 2px rgb(15 23 42/.06);--sh-2:0 4px 12px rgb(15 23 42/.08);--sh-3:0 12px 32px rgb(79 70 229/.12);
  --dur:200ms;--ease:cubic-bezier(.2,.7,.2,1);
  --header-h:3.5rem;
}
@media (min-width:64rem){:root{--header-h:4rem}}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:5rem;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
body{background:var(--c-bg);color:var(--c-text);font:400 var(--fs-500)/1.6 "Plus Jakarta Sans","PJS Fallback",system-ui,sans-serif;overflow-wrap:break-word}
img,svg{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4{color:var(--c-heading);font-weight:800;text-wrap:balance}
h1{font-size:var(--fs-900);line-height:1.1;letter-spacing:-.02em}
h2{font-size:var(--fs-800);line-height:1.15;letter-spacing:-.015em}
h3{font-size:var(--fs-700);line-height:1.25;font-weight:700}
h4{font-size:var(--fs-600);line-height:1.3;font-weight:700}
p{text-wrap:pretty}
a{color:var(--c-primary-700);text-underline-offset:.2em}
a:hover{color:var(--c-primary-900)}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}
.cta-band,.site-footer{--c-focus:#fff}

/* ---- Základ ---- */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--s-3);top:-4rem;z-index:100;background:var(--c-primary-900);color:#fff;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-weight:700;text-decoration:none;transition:top var(--dur) var(--ease)}
.skip-link:focus{top:var(--s-3);color:#fff;outline-color:#fff}
.container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}
main{display:block}

/* ---- Header a navigace ---- */
.site-header{position:sticky;top:0;z-index:50;background:var(--c-surface);border-bottom:1px solid var(--c-border)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:var(--header-h)}
.site-header__logo{display:flex;align-items:center;flex:none}
.site-header__logo img{height:1.75rem;width:auto}
.nav{display:flex;align-items:center}
.nav__toggle{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;background:none;border:2px solid var(--c-border);border-radius:var(--r-md);cursor:pointer}
.nav__bars,.nav__bars::before,.nav__bars::after{display:block;width:1.25rem;height:2px;background:var(--c-heading);border-radius:2px;transition:transform var(--dur) var(--ease),background-color var(--dur)}
.nav__bars{position:relative}
.nav__bars::before,.nav__bars::after{content:"";position:absolute;left:0}
.nav__bars::before{top:-6px}.nav__bars::after{top:6px}
.nav__toggle[aria-expanded="true"] .nav__bars{background:transparent}
.nav__toggle[aria-expanded="true"] .nav__bars::before{transform:translateY(6px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] .nav__bars::after{transform:translateY(-6px) rotate(-45deg)}
.nav__list{display:flex;flex-direction:column;gap:var(--s-1)}
.nav__link{display:flex;align-items:center;min-height:2.75rem;padding:var(--s-2) var(--s-3);color:var(--c-text);font-weight:600;text-decoration:none;border-radius:var(--r-md)}
.nav__link:hover{color:var(--c-primary-700);background:var(--c-primary-50)}
.nav__link[aria-current="page"]{color:var(--c-primary-700);box-shadow:inset 0 -3px 0 var(--c-primary-500);border-radius:var(--r-md) var(--r-md) 0 0}
.lang-switch{display:flex;align-items:center;gap:var(--s-1);font-weight:600;font-size:var(--fs-400)}
.lang-switch a,.lang-switch span{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0 var(--s-2);border-radius:var(--r-md);text-decoration:none;color:var(--c-muted)}
.lang-switch a:hover{background:var(--c-primary-50);color:var(--c-primary-700)}
.lang-switch [aria-current]{color:var(--c-heading);background:var(--c-primary-50)}
/* s JS: na mobilu panel pod headerem; bez JS zůstane seznam rozbalený v toku stránky.
   (scripting:enabled) sbalí menu už při prvním vykreslení (bez layout shiftu po načtení site.js);
   třída .js je pojistka pro prohlížeče bez podpory této media feature. */
@media (max-width:79.999rem){
  .site-header__inner{flex-wrap:wrap}
  .nav{margin-left:auto}
  .js .nav__toggle{display:inline-flex}
  .nav__list{flex-basis:100%;order:3;width:100%;padding:var(--s-2) 0 var(--s-4)}
  .js .nav__list{position:absolute;top:100%;left:0;right:0;background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:var(--s-3) var(--gutter) var(--s-5);box-shadow:var(--sh-2);max-height:calc(100dvh - var(--header-h));overflow-y:auto}
  .js .nav__list:not(.is-open):not([data-open]){display:none}
  .nav__list .btn{width:100%;margin-top:var(--s-3)}
  .nav__lang{margin-top:var(--s-2)}
}
@media (max-width:79.999rem) and (scripting:enabled){
  .nav__toggle{display:inline-flex}
  .nav__list{position:absolute;top:100%;left:0;right:0;background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:var(--s-3) var(--gutter) var(--s-5);box-shadow:var(--sh-2);max-height:calc(100dvh - var(--header-h));overflow-y:auto}
  .nav__list:not(.is-open):not([data-open]){display:none}
}
@media (min-width:80rem){
  .nav{flex:1;justify-content:flex-end}
  .nav__list{flex-direction:row;align-items:center;gap:var(--s-1)}
  .nav__list .btn{min-height:2.75rem;padding:.5rem 1.25rem;margin-left:var(--s-2);white-space:nowrap}
  .nav__link{padding-inline:var(--s-2);white-space:nowrap}
}

/* ---- Tlačítka ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:3rem;padding:.75rem 1.5rem;border:2px solid transparent;border-radius:var(--r-md);font-weight:700;font-size:var(--fs-500);line-height:1.2;text-decoration:none;text-align:center;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur),border-color var(--dur),box-shadow var(--dur)}
.btn--primary{background:var(--c-primary-600);color:#fff}
.btn--primary:hover{background:var(--c-primary-700);color:#fff;box-shadow:var(--sh-3)}
.btn--secondary{background:var(--c-surface);color:var(--c-primary-600);border-color:var(--c-primary-600)}
.btn--secondary:hover{background:var(--c-primary-50);color:var(--c-primary-700);border-color:var(--c-primary-700)}
.btn--ghost{background:transparent;color:var(--c-primary-700)}
.btn--ghost:hover{background:var(--c-primary-50);color:var(--c-primary-900)}
.btn--light{background:#fff;color:var(--c-primary-900)}
.btn--light:hover{background:var(--c-primary-100);color:var(--c-primary-900)}
.cta-band .btn--ghost{color:#fff;border-color:rgb(255 255 255/.6)}
.cta-band .btn--ghost:hover{background:rgb(255 255 255/.12);color:#fff;border-color:#fff}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.65;cursor:progress;box-shadow:none}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3)}

/* ---- Sekce ---- */
.section{padding-block:var(--section-y)}
.section--alt{background:var(--c-surface);border-block:1px solid var(--c-border)}
.section__head{max-width:var(--measure);margin-bottom:var(--s-7)}
.section__head--center{margin-inline:auto;text-align:center}
.section__head h2::after{content:"";display:block;width:3rem;height:.25rem;margin-top:var(--s-3);border-radius:var(--r-pill);background:var(--g-brand)}
.section__head--center h2::after{margin-inline:auto}
.section__head p{margin-top:var(--s-4);color:var(--c-muted)}
.cv{content-visibility:auto;contain-intrinsic-size:auto 40rem}
.eyebrow{display:block;margin-bottom:var(--s-3);color:var(--c-primary-700);font-size:var(--fs-400);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.lead{font-size:var(--fs-600);line-height:1.5;color:var(--c-muted);max-width:var(--measure)}
/* úvod stránky (h1 + perex [+ odstavec / tlačítka]) přímo v .container */
.container>h1+*{margin-top:var(--s-4)}
.container>h1+.lead+*{margin-top:var(--s-4)}
.container>.prose+*{margin-top:var(--s-6)}
.badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--r-pill);background:var(--c-accent-50);color:var(--c-accent-600);font-size:var(--fs-400);font-weight:700;border:1px solid #FED7AA}

.grid{display:grid;gap:var(--s-5)}
@media (min-width:48rem){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}

.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--sh-1);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.card:hover{box-shadow:var(--sh-2)}
.card h3{margin-bottom:var(--s-3)}
.card p{color:var(--c-muted)}
.card a:not(.btn){font-weight:700}
.section--alt .card{background:var(--c-bg)}
.icon-circle{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-bottom:var(--s-4);border-radius:50%;background:var(--c-primary-100);color:var(--c-primary-700);font-weight:800}
.icon-circle svg{width:1.5rem;height:1.5rem}

/* ---- Hero ---- */
.hero{background:linear-gradient(rgb(238 242 255/.86),rgb(238 242 255/.8)),linear-gradient(180deg,transparent 60%,var(--c-bg)),linear-gradient(135deg,rgb(146 202 255/.18),rgb(121 127 255/.18)),url(img/hero-bg-sm.webp) right top/cover no-repeat,var(--c-bg);padding-block:clamp(2.5rem,7vw,5.5rem);overflow:hidden}
@media (min-width:48rem){.hero{background:linear-gradient(90deg,rgb(238 242 255/.96),rgb(238 242 255/.9) 55%,rgb(224 242 254/.55)),linear-gradient(180deg,transparent 60%,var(--c-bg)),linear-gradient(135deg,rgb(146 202 255/.18),rgb(121 127 255/.18)),url(img/hero-bg.webp) right top/cover no-repeat,var(--c-bg);background-image:linear-gradient(90deg,rgb(238 242 255/.96),rgb(238 242 255/.9) 55%,rgb(224 242 254/.55)),linear-gradient(180deg,transparent 60%,var(--c-bg)),linear-gradient(135deg,rgb(146 202 255/.18),rgb(121 127 255/.18)),image-set(url(img/hero-bg.avif) type("image/avif"),url(img/hero-bg.webp) type("image/webp"))}}
.hero__grid{display:grid;gap:var(--s-7);align-items:center}
.hero h1{max-width:20ch}
.hero .lead{margin-top:var(--s-5)}
.hero .btn-row{margin-top:var(--s-6)}
.hero__proof{margin-top:var(--s-5);color:var(--c-muted);font-size:var(--fs-400);font-weight:600}
@media (min-width:64rem){.hero__grid{grid-template-columns:1.05fr .95fr;gap:var(--s-8)}}
.hero__mock{min-width:0}
/* HTML mock detailu produktu s boxem (dekorace, v šabloně aria-hidden) */
.mock-page{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden}
.mock-page__bar{display:flex;gap:6px;padding:var(--s-3) var(--s-4);background:var(--c-bg);border-bottom:1px solid var(--c-border)}
.mock-page__bar i{width:10px;height:10px;border-radius:50%;background:var(--c-border)}
.mock-page__body{padding:var(--s-4);display:grid;gap:var(--s-4)}
.mock-product{display:grid;grid-template-columns:7rem 1fr;gap:var(--s-4);align-items:center}
.mock-product__img{aspect-ratio:1;border-radius:var(--r-md);background:linear-gradient(135deg,var(--c-sky-50),var(--c-primary-100))}
.mock-line{display:block;height:.6rem;border-radius:var(--r-pill);background:var(--c-border);margin-bottom:.5rem}
.mock-line--w{width:80%}.mock-line--m{width:55%}.mock-line--s{width:35%}
.mock-btn{display:inline-block;padding:.35rem .9rem;border-radius:var(--r-sm);background:var(--c-primary-600);color:#fff;font-size:var(--fs-300);font-weight:700}
.mock-box{border:2px dashed var(--c-primary-300);border-radius:var(--r-md);padding:var(--s-3);background:var(--c-primary-50)}
.mock-box__title{display:block;margin-bottom:var(--s-3);color:var(--c-primary-900);font-size:var(--fs-400);font-weight:700}
.mock-box__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}
.mock-card{background:var(--c-surface);border-radius:var(--r-sm);padding:var(--s-2);box-shadow:var(--sh-1);min-width:0}
.mock-card__img{aspect-ratio:1;border-radius:var(--r-sm);margin-bottom:var(--s-2);background:linear-gradient(135deg,var(--c-sky-50),var(--c-primary-100))}
.mock-card b{display:block;color:var(--c-heading);font-size:var(--fs-300);line-height:1.3}

/* ---- Logo bar ---- */
.logo-bar{padding-block:var(--s-6);background:var(--c-surface);border-bottom:1px solid var(--c-border)}
.logo-bar__list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--s-5) var(--s-7)}
.logo-bar img{height:2.25rem;width:auto;max-width:9rem;object-fit:contain}

/* ---- Kroky ---- */
.steps{counter-reset:step;display:grid;gap:var(--s-6)}
.steps>li{counter-increment:step;position:relative;padding-left:4rem}
.steps>li::before{content:counter(step);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--c-primary-600);color:#fff;font-weight:800;font-size:var(--fs-600)}
.steps>li:not(:last-child)::after{content:"";position:absolute;left:1.3rem;top:3.25rem;bottom:-1.5rem;width:2px;background:var(--c-primary-100)}
.steps h3{margin-bottom:var(--s-2)}
.steps p{color:var(--c-muted)}
@media (min-width:64rem){
  .steps{grid-template-columns:repeat(4,1fr);gap:var(--s-5)}
  .steps>li{padding:4rem 0 0}
  .steps>li:not(:last-child)::after{left:3.5rem;right:-1.25rem;top:1.3rem;bottom:auto;width:auto;height:2px}
}

/* ---- Srovnání ---- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare{width:100%;border-collapse:separate;border-spacing:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;min-width:32rem}
.compare th,.compare td{padding:var(--s-4) var(--s-5);text-align:left;vertical-align:top;border-bottom:1px solid var(--c-border)}
.compare thead th{font-size:var(--fs-600);font-weight:800;color:#fff;border:0}
.compare thead th:first-child{background:var(--c-muted)}
.compare thead th:last-child{background:var(--c-primary-600)}
.compare td:first-child{color:var(--c-muted)}
.compare td:last-child{background:var(--c-primary-50);color:var(--c-heading);font-weight:600}
.compare tr:last-child td{border-bottom:0}

/* ---- Showcase boxů ---- */
.showcase{display:grid;gap:var(--s-5)}
@media (min-width:48rem){.showcase{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.showcase{grid-template-columns:repeat(3,1fr)}}
.showcase figure,.showcase__item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--sh-1)}
.showcase figcaption{margin-top:var(--s-3);font-weight:700;color:var(--c-heading)}
.showcase figcaption small{display:block;margin-top:var(--s-1);font-weight:400;font-size:var(--fs-400);color:var(--c-muted)}
.mini-box{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2);padding:var(--s-3);border:2px dashed var(--c-primary-300);border-radius:var(--r-md);background:var(--c-primary-50)}
.mini-box::before{content:"";grid-column:1/-1;height:.55rem;width:45%;border-radius:var(--r-pill);background:var(--c-primary-300)}
.mini-box i{aspect-ratio:3/4;border-radius:var(--r-sm);background:var(--c-surface);box-shadow:var(--sh-1);border-top:.9rem solid var(--c-sky-50)}
.mini-box--3{grid-template-columns:repeat(3,1fr)}

/* ---- Reference ---- */
.testimonial{background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-primary-500);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--sh-1);max-width:50rem;margin-inline:auto}
.testimonial blockquote{font-size:var(--fs-600);line-height:1.55;color:var(--c-heading);font-weight:500}
.testimonial figcaption{display:flex;align-items:center;gap:var(--s-4);margin-top:var(--s-5);color:var(--c-muted);font-size:var(--fs-400)}
.testimonial figcaption img{width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover;flex:none}
.testimonial figcaption strong{display:block;color:var(--c-heading);font-size:var(--fs-500)}

/* ---- Cena ---- */
.pricing-card{position:relative;max-width:40rem;margin-inline:auto;background:var(--c-surface);border:2px solid var(--c-primary-500);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--sh-3)}
.pricing-card .badge{margin-bottom:var(--s-4)}
.pricing-card__price{display:block;margin:var(--s-2) 0 var(--s-4);color:var(--c-heading);font-size:var(--fs-900);font-weight:800;line-height:1.1}
.pricing-card ul{display:grid;gap:var(--s-3);margin:var(--s-5) 0 var(--s-6)}
.pricing-card li{position:relative;padding-left:2rem}
.pricing-card li::before{content:"";position:absolute;left:.2rem;top:.35em;width:.9rem;height:.5rem;border-left:3px solid var(--c-success);border-bottom:3px solid var(--c-success);transform:rotate(-45deg)}

/* ---- FAQ (details bez JS) ---- */
.faq{display:grid;gap:var(--s-3);max-width:50rem}
.faq details{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md)}
.faq details[open]{border-color:var(--c-primary-300);box-shadow:var(--sh-1)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:3.5rem;padding:var(--s-3) var(--s-5);cursor:pointer;list-style:none;font-weight:700;color:var(--c-heading)}
.faq summary::-webkit-details-marker{display:none}
.faq summary :is(h2,h3){font-size:var(--fs-500);line-height:1.4;font-weight:700;letter-spacing:0;color:inherit}
.faq summary::after{content:"";flex:none;width:.6rem;height:.6rem;border-right:2px solid var(--c-primary-700);border-bottom:2px solid var(--c-primary-700);transform:rotate(45deg) translateY(-2px);transition:transform var(--dur) var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.faq details[open] summary{color:var(--c-primary-700)}
.faq summary:hover{background:var(--c-primary-50);border-radius:var(--r-md)}
.faq__body{padding:0 var(--s-5) var(--s-5);color:var(--c-muted)}
.faq__body>*+*{margin-top:var(--s-3)}

/* ---- CTA pás ---- */
.cta-band{background:var(--c-primary-900);color:#E0E7FF;padding-block:var(--section-y);text-align:center}
.cta-band h2{color:#fff;max-width:28ch;margin-inline:auto}
.cta-band p{margin:var(--s-4) auto 0;max-width:var(--measure)}
.cta-band .btn-row{justify-content:center;margin-top:var(--s-6)}
.cta-band a:not(.btn){color:#fff}

/* ---- Formulář ---- */
.form{display:grid;gap:var(--s-5);max-width:40rem;position:relative}
.form__field{display:grid;gap:var(--s-2)}
.form__label{font-weight:700;color:var(--c-heading)}
.form__input{width:100%;min-height:3rem;padding:.65rem var(--s-4);background:var(--c-surface);border:2px solid var(--c-input-border);border-radius:var(--r-md);transition:border-color var(--dur),box-shadow var(--dur)}
textarea.form__input{min-height:9rem;resize:vertical}
.form__input:hover{border-color:var(--c-primary-700)}
.form__input:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-color:var(--c-primary-600)}
.form__input[aria-invalid="true"]{border-color:var(--c-error)}
.form__error{display:flex;gap:var(--s-2);color:var(--c-error);font-size:var(--fs-400);font-weight:600}
.form__error::before{content:"!";flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;margin-top:.1rem;border-radius:50%;background:var(--c-error);color:#fff;font-size:.7rem;font-weight:800}
.form__help{color:var(--c-muted);font-size:var(--fs-400)}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alert{padding:var(--s-4) var(--s-5);border:2px solid;border-radius:var(--r-md);background:var(--c-surface)}
.alert h2,.alert h3{font-size:var(--fs-500);margin-bottom:var(--s-2)}
.alert ul{display:grid;gap:var(--s-1);padding-left:var(--s-5);list-style:disc}
.alert--error{border-color:var(--c-error);background:#FEF2F2;color:#7F1D1D}
.alert--error a{color:#7F1D1D;font-weight:700}
.alert--success{border-color:var(--c-success);background:#F0FDF4;color:#14532D}

/* ---- Drobečky ---- */
.breadcrumbs{padding-block:var(--s-4);font-size:var(--fs-400)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-2)}
.breadcrumbs li+li::before{content:"/";margin-right:var(--s-2);color:var(--c-subtle)}
.breadcrumbs a{display:inline-block;padding-block:.5rem;color:var(--c-muted)}
.breadcrumbs [aria-current]{color:var(--c-heading);font-weight:600}

/* ---- Dlouhý text ---- */
.prose{max-width:var(--measure)}
.prose>*+*{margin-top:var(--s-4)}
.prose h2{margin-top:var(--s-7);padding-top:var(--s-3)}
.prose h3{margin-top:var(--s-6)}
.prose h2+*,.prose h3+*{margin-top:var(--s-3)}
.prose a{text-decoration:underline;text-decoration-thickness:.08em}
.prose a.btn{text-decoration:none}
.prose ul,.prose ol{padding-left:var(--s-5)}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li+li{margin-top:var(--s-2)}
.prose li::marker{color:var(--c-primary-700)}
.prose strong{color:var(--c-heading)}
.prose code{padding:.1em .35em;border-radius:var(--r-sm);background:var(--c-primary-50);color:var(--c-primary-900);font:.9em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.prose pre{margin:0;padding:var(--s-4) var(--s-5);overflow-x:auto;border-radius:var(--r-md);background:var(--c-primary-900);color:#E0E7FF;font-size:var(--fs-400);line-height:1.6}
.prose pre code{padding:0;background:none;color:inherit;font-size:inherit}
.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-400)}
.prose th,.prose td{padding:var(--s-3) var(--s-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--c-border)}
.prose th{background:var(--c-primary-50);color:var(--c-heading)}
.prose blockquote{padding-left:var(--s-4);border-left:4px solid var(--c-primary-300);color:var(--c-muted)}
.code-block{position:relative}
.copy-btn{display:none;position:absolute;top:var(--s-2);right:var(--s-2);min-height:2.75rem;min-width:2.75rem;padding:0 var(--s-3);background:#fff;color:var(--c-primary-900);border:0;border-radius:var(--r-sm);font-size:var(--fs-400);font-weight:700;cursor:pointer}
.js .copy-btn{display:inline-block}
.copy-btn:hover{background:var(--c-primary-100)}
.copy-btn:focus-visible{outline-color:#fff}

/* ---- Footer ---- */
.site-footer{background:var(--c-primary-900);color:#C7D2FE;padding-block:var(--s-8) var(--s-6);font-size:var(--fs-400)}
.site-footer__grid{display:grid;gap:var(--s-6)}
@media (min-width:48rem){.site-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.site-footer h2{margin-bottom:var(--s-3);color:#fff;font-size:var(--fs-500);letter-spacing:0}
.site-footer a{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.site-footer a:hover{color:var(--c-primary-100)}
.site-footer li a{display:inline-block;padding-block:.4rem}
.site-footer address{font-style:normal;line-height:1.7}
.site-footer__logo img{height:1.75rem;width:12.25rem;margin-bottom:var(--s-4)}
.site-footer__bottom{margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid rgb(255 255 255/.18)}

/* ---- Odhalení při scrollu (bez JS je vše vidět) ---- */
@media (prefers-reduced-motion:no-preference){
  .reveal{transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .js .reveal:not(.is-visible){opacity:0;transform:translateY(12px)}
  .card:hover{transform:translateY(-2px)}
}

/* ---- Omezený pohyb ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* ---- Větší displeje ---- */
@media (min-width:90rem){
  .hero{padding-block:6rem}
}
.icon{width:1.5rem;height:1.5rem;flex:none;stroke:currentColor}
.site-footer h2+ul+h2{margin-top:var(--s-5)}
mark.todo{background:#FEF3C7;color:#78350F;padding:0 .25em;border-radius:.2em}
.logo-bar__text{font-weight:700;color:var(--c-heading)}
/* povinné/volitelné pole formuláře */
.form__req{color:var(--c-muted);font-weight:400;font-size:var(--fs-400)}
/* loga referencí: zobrazená velikost max. polovina přirozené (219×50) kvůli DPR 2 */
/* explicitní šířka (= výška × 219/50): lazy obrázky s width:auto hlásí Chrome jako issue */
.logo-bar img{height:1.5625rem;width:6.84375rem;max-width:none}
.ref-logo{height:1.5625rem;width:6.84375rem;margin-bottom:var(--s-4)}
/* screenshot administrace (Jak to funguje) */
.admin-shot{margin-top:var(--s-6);text-align:center}
.admin-shot img{display:inline-block;width:100%;max-width:56rem;height:auto}
.admin-shot figcaption{margin-top:var(--s-3);font-size:var(--fs-400);color:var(--c-muted)}

@media print{
  .site-header,.cta-band,.nav__toggle,.copy-btn,.skip-link{display:none}
  body{background:#fff}
}
.stats__grid{display:grid;grid-template-columns:1fr;gap:var(--s-5);list-style:none;padding:0;margin:0}
@media (min-width:48rem){.stats__grid{grid-template-columns:repeat(3,1fr)}}
.stat{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-5);text-align:center}
.stat__value{display:block;font-size:var(--fs-800);font-weight:800;color:var(--c-primary-600);line-height:1.1;font-variant-numeric:tabular-nums}
.stat__label{display:block;margin-top:var(--s-2);color:var(--c-muted);font-size:var(--fs-400)}
.stats__source{margin-top:var(--s-4);font-size:var(--fs-400);color:var(--c-subtle);text-align:center}
/* ---- Cookie lišta (nemodální, fixed dole – bez CLS) ---- */
.cookie-bar{position:fixed;inset-inline:0;bottom:0;z-index:60;max-height:100dvh;overflow-y:auto;background:var(--c-surface);border-top:1px solid var(--c-border);box-shadow:var(--sh-2);padding:var(--s-4) 0;padding-bottom:max(var(--s-4),env(safe-area-inset-bottom))}
.cookie-bar[hidden]{display:none}
.cookie-bar__title{margin:0;font-size:var(--fs-600)}
.cookie-bar__text{margin-top:var(--s-1);max-width:var(--measure);font-size:var(--fs-400)}
.cookie-bar__settings{margin-top:var(--s-2)}
.cookie-bar__settings summary{padding-block:.6rem;cursor:pointer;font-weight:700;color:var(--c-primary-700)}
.cookie-bar__settings label{display:flex;align-items:center;gap:var(--s-3);min-height:2.75rem}
.cookie-bar__settings input{width:1.25rem;height:1.25rem;accent-color:var(--c-primary-600)}
.cookie-bar .btn-row{margin-top:var(--s-3)}
@media (max-width:35.999rem){.cookie-bar .btn{flex:1 1 9rem}}
@media (min-width:64rem){
  .cookie-bar .container{display:grid;grid-template-columns:1fr auto;column-gap:var(--s-6);align-items:center}
  .cookie-bar .btn-row{grid-column:2;grid-row:1/span 3;margin:0}
}
.has-cookie-bar{padding-bottom:var(--cookie-bar-h,12rem)}
html:has(.has-cookie-bar){scroll-padding-bottom:calc(var(--cookie-bar-h,12rem) + 1rem)}
/* tlačítko vzhledu odkazu (otevření lišty); bez JS nemá smysl → skryté */
.link-btn{min-height:2.75rem;padding:0;border:0;background:none;color:var(--c-primary-700);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.link-btn:hover{color:var(--c-primary-900)}
.site-footer .link-btn{color:#fff}
html:not(.js) [data-consent-open]{display:none}
@media print{.cookie-bar{display:none}}
