/*
Theme Name:   Peakston
Theme URI:    https://peakston.cz
Description:  Child theme GeneratePress pro PEAKSTON CZ. Vzhled podle peakston-navrh.html a design_manual.md, obsah stránek v Gutenbergu.
Author:       Peakston CZ s.r.o.
Template:     generatepress
Version:      2.2
Requires at least: 6.3
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  peakston
*/

/*
  Pořadí: 1 tokeny → 2 reset → 3 typografie a tlačítka → 4 logo → 5 záhlaví → 6 déšť
  → 7 obsah z Gutenbergu (rytmus, sekce) → 8 hero → 9 komponenty bloků → 10 karty služeb + ikony
  → 11 formulář + kontakt → 12 patička → 13 hlavička podstránky → 14 cookie lišta
  → 15 kompatibilita s GeneratePress → 16 responzivita → 17 redukovaný pohyb
  Breakpointy: >= 1100 desktop | 720–1099 tablet | < 720 mobil | < 1020 navigace | < 900 layouty | < 560 malý mobil

  Obsah stránek se skládá v Gutenbergu ze stylů bloků (třídy is-style-pk-*), viz NAVOD.md.
  Vizuální pravidla komponent jsou převzatá z prototypu 1:1.
*/

/* ============ 1. DESIGN TOKENY ============ */
:root{
  --navy:#0B1B33;
  --navy-2:#122846;
  --gold:#C9A24D;
  --gold-hi:#DDBA68;
  --gold-2:#B08A35;          /* na světlém jen linky, ikony, rámečky */
  --gold-text:#8A6A1F;       /* zlatý TEXT na světlém */
  --steel:#6E86A8;
  --slate:#64748B;           /* ikony */
  --slate-text:#55657C;      /* sekundární TEXT na světlém */
  --bg-soft:#F2F4F7;
  --white:#FFFFFF;
  --on-dark-muted:#B9C5D8;
  --line-dark:rgba(110,134,168,.30);
  --line-light:#D8DFE9;

  --font:'Sora',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;

  --r-sm:8px; --r-md:14px; --r-lg:20px;
  --shadow-sm:0 1px 2px rgba(11,27,51,.06),0 4px 14px rgba(11,27,51,.06);
  --shadow-md:0 2px 4px rgba(11,27,51,.08),0 14px 34px rgba(11,27,51,.12);
  --container:1200px;
  --gutter:clamp(20px,4vw,48px);
  --section-y:clamp(72px,10vw,120px);
  --header-h:76px;
  --logo-h:40px;
  --admin-bar:var(--wp-admin--admin-bar--height,0px);
  /* vodorovné odsazení sekce = obsah v šířce kontejneru bez vnitřního obalu */
  --pad-x:max(var(--gutter),calc((100% - var(--container)) / 2));
  --chev:polygon(0 100%,50% 0,100% 100%,80% 100%,50% 40%,20% 100%);
}

/* ============ 2. RESET + ZÁKLAD ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;padding-top:var(--header-h);font-family:var(--font);font-weight:400;font-size:1rem;line-height:1.65;color:var(--navy);background:var(--white);-webkit-font-smoothing:antialiased}
:where(.site-header,.site-footer,.cookie,.page-hero,.pk-content) :is(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote){margin-block:0}
:where(.site-header,.site-footer,.cookie) :is(ul,ol){margin:0;padding:0;list-style:none}
:where(.site-header,.site-footer,.cookie,.page-hero,.pk-content) :is(svg,canvas,iframe){display:block;max-width:100%}
:where(.site-header,.site-footer,.cookie,.page-hero) a{color:inherit}
h1,h2,h3,h4{font-family:var(--font);font-weight:600;letter-spacing:.01em;line-height:1.2}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.pk-sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:200;background:var(--gold);color:var(--navy);padding:.7em 1.1em;border-radius:var(--r-sm);font-weight:600;text-decoration:none}
.skip:focus{top:calc(12px + var(--admin-bar))}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
:is(.is-style-pk-light,.is-style-pk-white,.pk-content) :focus-visible{outline-color:var(--navy)}
:is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) :focus-visible{outline-color:var(--gold)}
.pk-content [id]{scroll-margin-top:calc(var(--header-h) + var(--admin-bar) + 8px)}

/* ============ 3. TYPOGRAFIE + TLAČÍTKA ============ */
.label,.is-style-pk-label{display:flex;align-items:center;gap:.75em;font-family:var(--mono);font-weight:500;font-size:.75rem;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;color:var(--gold-text)}
.label::before,.is-style-pk-label::before{content:"";display:inline-block;flex:none;width:15px;height:9px;background:currentColor;clip-path:var(--chev)}
.is-style-pk-lead{font-size:clamp(1rem,1.5vw,1.125rem);max-width:60ch;color:var(--slate-text)}
.is-style-pk-intro{font-size:clamp(1.1rem,2vw,1.45rem);font-style:italic;line-height:1.5;max-width:34ch}
.is-style-pk-ph{display:inline-flex;align-items:center;gap:.6em;width:fit-content;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;padding:.45em .8em;border:1.5px dashed var(--gold-2);border-radius:8px;color:var(--gold-text)}

.btn,
.wp-block-button[class*="is-style-pk-"] .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.65em;padding:.95em 1.55em;border-radius:10px;border:1.5px solid transparent;font-family:var(--font);font-weight:600;font-size:.9rem;letter-spacing:.02em;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.btn::after,
.wp-block-button[class*="is-style-pk-"] .wp-block-button__link::after{content:"→";font-family:var(--mono);font-weight:500;transition:transform .2s}
.btn:hover::after,
.wp-block-button[class*="is-style-pk-"] .wp-block-button__link:hover::after{transform:translateX(3px)}
.btn-gold,.btn-gold:focus,.btn-gold:visited,
.wp-block-button.is-style-pk-gold .wp-block-button__link{background:var(--gold);color:var(--navy)}
.btn-gold:hover,.wp-block-button.is-style-pk-gold .wp-block-button__link:hover{background:var(--gold-hi);color:var(--navy)}
.btn-outline,.btn-outline:focus,.btn-outline:visited,
.wp-block-button.is-style-pk-outline .wp-block-button__link{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.btn-outline:hover,.wp-block-button.is-style-pk-outline .wp-block-button__link:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.btn-navy,.btn-navy:focus,.btn-navy:visited,
.wp-block-button.is-style-pk-navy .wp-block-button__link{background:var(--navy);color:#fff}
.btn-navy:hover,.wp-block-button.is-style-pk-navy .wp-block-button__link:hover{background:var(--navy-2);color:#fff}
.btn-sm{padding:.7em 1.15em;font-size:.82rem}
.btn-sm::after{display:none}
.pk-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}

/* ============ 4. LOGO ============ */
.mk{--mk-frame:var(--gold);--mk-p:#fff;--mk-chev:var(--gold);width:var(--logo-h);height:var(--logo-h);flex:none}
.mk--light{--mk-frame:var(--gold-2);--mk-p:var(--navy);--mk-chev:var(--gold-2)}
.mk--gold{--mk-frame:var(--navy);--mk-p:var(--navy);--mk-chev:#fff}
.logo{display:inline-flex;align-items:center;gap:calc(var(--logo-h)*.38);text-decoration:none;color:#fff}
.logo:hover,.logo:visited{color:#fff}
.logo .wm{font-weight:600;font-size:calc(var(--logo-h)*.5);letter-spacing:.17em;line-height:1;white-space:nowrap}
.logo .wm sup{font-size:.46em;letter-spacing:.06em;color:var(--gold);vertical-align:top;position:relative;top:-.05em;margin-left:.3em}
.logo .custom-logo{display:block;width:auto;height:var(--logo-h);transition:height .25s ease}
.hex{font-family:var(--mono);font-weight:500;color:var(--gold);letter-spacing:.2em;white-space:nowrap}

/* ============ 5. ZÁHLAVÍ ============ */
/* Fixní (ne sticky): zmenšení výšky při scrollu neposouvá obsah (žádný layout shift). */
.site-header{position:fixed;top:var(--admin-bar);left:0;right:0;z-index:100;height:var(--header-h);background:rgba(11,27,51,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark);transition:height .25s ease;color:#fff}
.site-header.is-small{--header-h:58px;--logo-h:32px}
.site-header .container{height:100%;display:flex;align-items:center;gap:clamp(16px,3vw,40px)}
.site-header .logo{margin-right:auto}
.site-header .mk,.site-header .logo .wm{transition:width .25s ease,height .25s ease,font-size .25s ease}
.nav ul{display:flex;gap:clamp(18px,2.4vw,34px)}
.nav a{position:relative;display:block;padding:.5em 0;color:rgba(255,255,255,.92);text-decoration:none;font-size:.88rem;letter-spacing:.03em;transition:color .2s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:.15em;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover,.nav a:focus-visible{color:var(--gold)}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}
.hdr-actions{display:flex;align-items:center;gap:16px}
/* Menu uprostřed záhlaví: logo a akce mají stejnou šířku (jen na širokých displejích, jinak by se nevešly). */
@media (min-width:1180px){
  .site-header .logo,.hdr-actions{flex:1 1 0;min-width:max-content}
  .hdr-actions{justify-content:flex-end}
}
.lang{display:inline-flex;font-family:var(--mono);font-size:.75rem;border:1px solid var(--line-dark);border-radius:8px;overflow:hidden}
.lang a{display:block;padding:.55em .8em;letter-spacing:.1em;text-decoration:none;color:var(--on-dark-muted);transition:background .2s,color .2s}
.lang a:hover{color:#fff}
.lang a[aria-current]{background:var(--gold);color:var(--navy);font-weight:700}
.burger{display:none;width:44px;height:44px;padding:0;border:1px solid var(--line-dark);border-radius:10px;background:none;cursor:pointer;position:relative}
.burger:hover,.burger:focus{background:rgba(255,255,255,.06)}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .25s,background .2s,top .25s}
.burger span{top:21px}.burger span::before{left:0;right:0;top:-7px}.burger span::after{left:0;right:0;top:7px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mobile-panel{display:none}

/* ============ 6. KÓDOVÝ DÉŠŤ ============ */
/* Canvas vkládá šablona do sekcí se stylem „Hero“ a „Tmavá s deštěm“ (inc/blocks.php), ne obsah. */
.rain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rain--hero{-webkit-mask-image:radial-gradient(ellipse 46% 62% at 28% 52%,transparent 25%,rgba(0,0,0,.55) 70%,#000 100%);mask-image:radial-gradient(ellipse 46% 62% at 28% 52%,transparent 25%,rgba(0,0,0,.55) 70%,#000 100%)}
.rain--edges{-webkit-mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.5) 10%,transparent 24%,transparent 76%,rgba(0,0,0,.5) 90%,#000 100%);mask-image:linear-gradient(90deg,#000 0,rgba(0,0,0,.5) 10%,transparent 24%,transparent 76%,rgba(0,0,0,.5) 90%,#000 100%)}
.rain--bottom{top:auto;height:130px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 85%);mask-image:linear-gradient(180deg,transparent,#000 85%)}

/* ============ 7. OBSAH Z GUTENBERGU ============ */
/* Svislý rytmus: mezera mezi bloky je proměnná --flow, komponenty ji jen přenastaví. */
.pk-content :is(.is-layout-flow,.is-layout-constrained)>*+*{margin-block-start:var(--flow,1.1rem)}
.pk-content .rain+*{--flow:0}

/* Sekce (styly skupiny): plná šířka, obsah v šířce kontejneru přes padding */
.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-light,.is-style-pk-white,.is-style-pk-band{position:relative;padding:var(--section-y) var(--pad-x)}
body :is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-light,.is-style-pk-white,.is-style-pk-band)>*{max-width:none;margin-inline:0!important}
.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band{overflow:hidden;background:var(--navy);color:#fff}
.is-style-pk-light{background:var(--bg-soft)}
.is-style-pk-white{background:#fff}
:is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) :is(h1,h2,h3){color:#fff}
:is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) :is(.is-style-pk-label,.label){color:var(--gold)}
:is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) .is-style-pk-lead{color:var(--on-dark-muted)}
:is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) .is-style-pk-intro{color:#E3E9F2}
:is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) .is-style-pk-ph{border-color:var(--gold);color:var(--gold)}
:is(.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band,.is-style-pk-light,.is-style-pk-white)>h2{font-size:clamp(1.75rem,3.6vw,2.6rem);max-width:720px}
.is-style-pk-label+:is(h1,h2){--flow:.9rem}
:is(h1,h2)+.is-style-pk-lead{--flow:1rem}
:is(h1,h2)+.is-style-pk-intro{--flow:1.1rem}
/* bloky za nadpisem sekce (mřížky, výpisy) mají větší odstup */
:is(.is-style-pk-light,.is-style-pk-white,.is-style-pk-dark-rain,.is-style-pk-dark)>:is(.is-style-pk-grid-2,.is-style-pk-why,.is-style-pk-steps,.is-style-pk-contact,.cards){--flow:clamp(32px,5vw,56px)}
:is(.is-style-pk-grid-2,.is-style-pk-why,.is-style-pk-steps)+.wp-block-buttons{--flow:clamp(28px,4vw,44px)}

/* Neobalený obsah (např. Ochrana osobních údajů): čitelná šířka */
.pk-content>:not([class*="is-style-pk-"]):not(.alignfull){width:min(72ch,100% - 2*var(--gutter));margin-inline:auto}
.pk-content>:not([class*="is-style-pk-"]):first-child{margin-top:var(--section-y)}
.pk-content>:not([class*="is-style-pk-"]):last-child{margin-bottom:var(--section-y)}
.pk-content>:not([class*="is-style-pk-"])+:not([class*="is-style-pk-"]){margin-top:1.1em}
.pk-content>h2:not([class*="is-style-pk-"]){font-size:clamp(1.4rem,2.6vw,1.75rem);margin-top:2em}
.pk-content>h3:not([class*="is-style-pk-"]){font-size:1.2rem;margin-top:1.6em}
.pk-content>:is(ul,ol):not([class*="is-style-pk-"]){padding-left:1.4em}
.pk-content a:not([class]){color:var(--navy);text-decoration-color:var(--gold-2);text-underline-offset:3px}
.pk-content a:not([class]):hover{color:var(--gold-text)}
.pk-content img{max-width:100%;height:auto}

/* ============ 8. HERO ============ */
.is-style-pk-hero{padding-top:clamp(56px,9vw,112px);padding-bottom:clamp(72px,10vw,120px);min-height:clamp(520px,44vw,640px);display:flex;flex-direction:column;justify-content:center}
.is-style-pk-hero>:not(.rain):not(.hero-mark):not(.hero-sig){position:relative;width:min(58%,700px)}
.is-style-pk-hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);letter-spacing:.005em;max-width:15ch;--flow:1.4rem}
.is-style-pk-hero .is-style-pk-label+h1{--flow:1.4rem}
.is-style-pk-hero .is-style-pk-lead{max-width:52ch;--flow:1.5rem}
.is-style-pk-hero .wp-block-buttons{--flow:2.2rem}
.hero-mark{position:absolute!important;right:var(--pad-x);top:50%;transform:translateY(-50%);width:min(420px,34%);aspect-ratio:1;margin:0!important;filter:drop-shadow(0 0 48px rgba(201,162,77,.14))}
.hero-mark .rain{inset:2.9%;width:94.2%;height:94.2%;border-radius:6.6%;background:var(--navy)}
.hero-mark .mk{position:absolute;inset:0;width:100%;height:100%}
.hero-sig{position:absolute!important;left:var(--pad-x);bottom:clamp(20px,3vw,34px);margin:0!important;font-size:.72rem;opacity:.65}

/* ============ 9. KOMPONENTY BLOKŮ ============ */
/* Mřížky a karty řídí mezery přes gap; okraje bloků uvnitř se nulují (přebíjí layout WP). */
body :is(.is-style-pk-grid-2,.is-style-pk-why,.is-style-pk-steps,.is-style-pk-contact,.is-style-pk-band,.is-style-pk-tech-card)>*{margin:0!important;max-width:none}

/* 2 sloupce: technologické karty, obsah služby */
.is-style-pk-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.is-style-pk-grid-2:has(>.is-style-pk-tech-card){align-items:stretch}
.is-style-pk-grid-2 h2{font-size:1.4rem}
.is-style-pk-grid-2 h2+*{--flow:1.2rem}

/* Tmavá karta (technologie) */
.is-style-pk-tech-card{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,3vw,38px);background:rgba(18,40,70,.78);border:1px solid var(--line-dark);border-radius:var(--r-lg);color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.is-style-pk-tech-card h3{font-size:clamp(1.2rem,2vw,1.45rem);color:#fff}
.illus{margin-top:auto!important;padding:16px;border:1px solid var(--line-dark);border-radius:var(--r-md);background:rgba(11,27,51,.55)}
.illus svg{width:100%;height:auto;max-height:190px}

/* Seznamy */
.is-style-pk-checks,.is-style-pk-bul,.is-style-pk-chips{list-style:none;padding:0;margin-inline:0}
.is-style-pk-checks li{position:relative;padding-left:1.7em;margin-top:.7em;color:var(--on-dark-muted);font-size:.95rem}
.is-style-pk-checks li::before{content:"";position:absolute;left:0;top:.62em;width:13px;height:8px;background:var(--gold);clip-path:var(--chev)}
:is(.is-style-pk-light,.is-style-pk-white) .is-style-pk-checks li{color:var(--slate-text)}
:is(.is-style-pk-light,.is-style-pk-white) .is-style-pk-checks li::before{background:var(--gold-2)}
.is-style-pk-bul li{position:relative;padding:.85em 0 .85em 1.9em;border-bottom:1px solid var(--line-light)}
.is-style-pk-bul li::before{content:"";position:absolute;left:0;top:1.35em;width:14px;height:9px;background:var(--gold-2);clip-path:var(--chev)}
.is-style-pk-chips{display:flex;flex-wrap:wrap;gap:10px}
.is-style-pk-chips li{margin:0}
.is-style-pk-chips a{display:inline-flex;align-items:center;gap:.6em;padding:.6em 1em;border:1.5px solid #BCC6D6;border-radius:10px;font-family:var(--mono);font-size:.78rem;text-decoration:none;color:var(--navy);transition:border-color .2s,background .2s}
.is-style-pk-chips a:hover{border-color:var(--gold-2);background:var(--bg-soft);color:var(--navy)}
.is-style-pk-chips a::after{content:"→";color:var(--gold-text)}

/* Tři sloupce s dělicími čarami (Proč PEAKSTON) */
.is-style-pk-why{display:grid;grid-template-columns:repeat(3,1fr)}
.is-style-pk-why>*{padding:8px clamp(20px,3vw,40px);display:flex;flex-direction:column;gap:16px}
body .is-style-pk-why>*>*{margin:0!important}
.is-style-pk-why>:first-child{padding-left:0}
.is-style-pk-why>*+*{border-left:1px solid var(--line-light)}
.is-style-pk-why h3{font-size:1.15rem}
.is-style-pk-why p{color:var(--slate-text);font-size:.97rem}

/* Kroky: číslo a zlatá špička doplní CSS */
.is-style-pk-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:pkstep}
.is-style-pk-step{position:relative;padding:26px 22px;background:#fff;border:1px solid var(--line-light);border-radius:16px;counter-increment:pkstep}
.is-style-pk-step::before{content:counter(pkstep,decimal-leading-zero);display:block;padding-left:calc(18px + .7em);font-family:var(--mono);font-weight:700;font-size:.95rem;line-height:1.4;color:var(--gold-text)}
.is-style-pk-step::after{content:"";position:absolute;left:22px;top:calc(26px + .32em);width:18px;height:11px;background:var(--gold-2);clip-path:var(--chev)}
.is-style-pk-step h3{font-size:1.05rem;--flow:14px}
.is-style-pk-step>:first-child{margin-top:14px}
.is-style-pk-step p{font-size:.92rem;color:var(--slate-text);--flow:8px}

/* Kontakt: formulář + údaje */
.is-style-pk-contact{display:grid;grid-template-columns:1.35fr .9fr;gap:clamp(24px,4vw,56px);align-items:start}

/* CTA pruh */
.is-style-pk-band{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-block:clamp(48px,7vw,80px)}
.is-style-pk-band h2{font-size:clamp(1.5rem,3vw,2.1rem);max-width:24ch}

/* ============ 10. KARTY SLUŽEB ([pk_sluzby]) + IKONY ([pk_ikona]) ============ */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px 26px;background:#fff;border:1px solid var(--line-light);border-radius:16px;box-shadow:var(--shadow-sm);color:var(--navy);transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gold-2)}
.card h3{font-size:1.1rem;color:inherit;margin:0}
.card p{font-size:.93rem;color:var(--slate-text);line-height:1.6;margin:0}
.card .more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:.6em;font-weight:600;font-size:.88rem;color:var(--navy);text-decoration:none}
.card .more::after{content:"→";font-family:var(--mono);color:var(--gold-text);transition:transform .2s}
.card .more:hover::after{transform:translateX(4px)}
.card .more:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--gold-2)}
.card .tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.card--main{background:var(--navy);border:1.5px solid var(--gold);color:#fff}
.card--main h3{color:#fff}
.card--main p{color:var(--on-dark-muted)}
.card--main .more,.card--main .more::after{color:var(--gold)}
.card--main:hover{border-color:var(--gold-hi)}

.ic-frame{display:grid;place-items:center;width:56px;height:56px;border:1.5px solid #BCC6D6;border-radius:14px;background:#fff;flex:none}
.ic{width:30px;height:30px;color:var(--slate);--ic-acc:var(--gold-2);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card:hover .ic-frame{border-color:var(--gold-2)}
.ic-frame--lg{width:64px;height:64px;border-radius:16px}
.ic-frame--lg .ic{width:34px;height:34px}
:is(.card--main,.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) .ic-frame{background:transparent;border-color:var(--gold)}
:is(.card--main,.is-style-pk-hero,.is-style-pk-dark-rain,.is-style-pk-dark,.is-style-pk-band) .ic{color:#9FB1CC;--ic-acc:var(--gold)}

/* ============ 11. FORMULÁŘ ([pk_formular]) + KONTAKT ([pk_kontakt]) ============ */
.form{position:relative;background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow-sm);color:var(--navy)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-size:.8rem;font-weight:600;letter-spacing:.02em}
.field label i{color:var(--gold-text);font-style:normal}
.field input,.field select,.field textarea{width:100%;margin:0;padding:.8em 1em;border:1.5px solid #BFC9D8;border-radius:10px;background:#fff;color:var(--navy);font-size:.95rem;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.field select{min-height:48px}
.field textarea{min-height:130px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--slate)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,27,51,.14)}
.field .consent{font-weight:400;letter-spacing:0}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;color:var(--slate-text);line-height:1.5}
.consent input{width:20px;height:20px;padding:0;margin:2px 0 0;accent-color:var(--navy);flex:none}
.consent a{color:var(--navy);text-underline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:26px}
.form-note{font-size:.78rem;color:var(--slate-text);font-family:var(--mono)}
.form-status{margin-bottom:20px;padding:.9em 1.1em;border-radius:10px;background:#E9EEF6;border-left:4px solid var(--gold-2);font-size:.9rem}
.form-status--error{border-left-color:#B42318;background:#FDF0EF}
.info{background:#fff;border:1px solid var(--line-light);border-radius:var(--r-lg);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow-sm);color:var(--navy)}
.info h3{font-size:1.15rem;margin:0 0 1rem}
.info dl{display:grid;gap:14px;margin:0}
.info dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text)}
.info dd{margin:2px 0 0;font-size:.97rem}
.info dd.mono{font-family:var(--mono)}
.info a{color:var(--navy);font-weight:600;text-underline-offset:3px}
.pk-content .wp-block-embed iframe,.pk-content iframe.map{width:100%;border:1px solid var(--line-light);border-radius:var(--r-md)}

/* ============ 12. PATIČKA ============ */
.site-footer{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(48px,7vw,80px) 0 28px}
.site-footer .container{position:relative}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:36px}
.f-brand .hex{display:block;margin-top:16px;font-size:.72rem}
.f-col h2{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.f-col li+li{margin-top:.55em}
.f-col a{color:var(--on-dark-muted);text-decoration:none;font-size:.92rem}
.f-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.f-col address{font-style:normal;color:var(--on-dark-muted);font-size:.92rem;line-height:1.6;margin:0}
.f-bottom{margin-top:clamp(36px,5vw,56px);padding-top:20px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.78rem;color:var(--on-dark-muted)}
.f-bottom a,.f-bottom .link-btn{color:var(--on-dark-muted);text-underline-offset:3px}
.f-bottom a:hover,.f-bottom .link-btn:hover{color:#fff}
.f-bottom .ph{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;padding:.2em .6em;border:1.5px dashed var(--gold);border-radius:8px;color:var(--gold);max-width:100%}
.link-btn{padding:0;border:0;background:none;font:inherit;text-decoration:underline;cursor:pointer}
.link-btn:hover,.link-btn:focus{background:none}

/* ============ 13. HLAVIČKA PODSTRÁNKY (služba, stránka) ============ */
.page-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(40px,6vw,72px) 0 clamp(48px,7vw,88px)}
.page-hero .container{position:relative}
.crumbs{display:flex;flex-wrap:wrap;gap:.6em;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--gold)}
.crumbs span[aria-current]{color:var(--gold)}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);margin-top:1.4rem;max-width:20ch;color:#fff}
.page-hero .lead{font-size:clamp(1rem,1.5vw,1.125rem);max-width:60ch;margin-top:1.2rem;color:var(--on-dark-muted)}
.page-hero .btn{margin-top:2rem}

/* ============ 14. COOKIE LIŠTA ============ */
.cookie{position:fixed;left:16px;bottom:16px;z-index:150;width:min(440px,calc(100% - 32px));background:var(--navy-2);color:#fff;border:1px solid var(--gold);border-radius:var(--r-md);padding:20px 22px;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.cookie h2{font-size:1rem;color:#fff}
.cookie p{margin-top:8px;font-size:.85rem;color:var(--on-dark-muted);line-height:1.55}
.cookie p a{color:#fff;text-underline-offset:3px}
.cookie .row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.cookie .btn{flex:1 1 150px}
.cookie .btn::after{display:none}

/* ============ 15. KOMPATIBILITA S GENERATEPRESS ============ */
/* Na stránkách, které vykresluje parent (příspěvky, archivy, 404), běží CSS GeneratePress. */
.pk-gp .site.grid-container{margin-top:clamp(24px,4vw,48px);margin-bottom:clamp(24px,4vw,48px)}
.pk-gp .entry-title,.pk-gp .page-title{font-family:var(--font);font-weight:600;color:var(--navy)}
.pk-gp .entry-content a,.pk-gp .entry-meta a{color:var(--navy);text-decoration-color:var(--gold-2)}
.pk-gp .entry-content a:hover{color:var(--gold-text)}
.pk-gp .site-main button,.pk-gp .site-main input[type=submit]{background:var(--navy);color:#fff;border-radius:10px}

/* ============ 16. RESPONZIVITA ============ */

/* --- Tablet na šířku a menší: 2 sloupce karet a kroků --- */
@media (max-width:1099px){
  .cards{grid-template-columns:repeat(2,1fr);gap:20px}
  .is-style-pk-steps{grid-template-columns:repeat(2,1fr);gap:20px}
  .is-style-pk-grid-2{gap:22px}
  .f-grid{gap:32px 28px}
}

/* --- Přepnutí navigace: hamburger + panel --- */
@media (max-width:1019px){
  .nav,.hdr-actions>.btn,.hdr-actions>.lang{display:none}
  .burger{display:block}
  /* bez blur na menších zařízeních: šetří GPU při animovaném dešti pod záhlavím */
  .site-header{background:rgba(11,27,51,.985);-webkit-backdrop-filter:none;backdrop-filter:none}
  .mobile-panel{display:block;position:absolute;left:0;right:0;top:100%;background:var(--navy);border-bottom:1px solid var(--line-dark);padding:8px var(--gutter) 28px;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .3s ease,visibility .3s}
  .site-header.open .mobile-panel{max-height:calc(100vh - var(--header-h) - var(--admin-bar));max-height:calc(100dvh - var(--header-h) - var(--admin-bar));overflow-y:auto;overscroll-behavior:contain;visibility:visible}
  .mobile-panel .m-nav a{display:flex;align-items:center;min-height:52px;padding:.6em 0;border-bottom:1px solid var(--line-dark);color:#fff;text-decoration:none;font-weight:600}
  .mobile-panel .m-nav a:hover{color:var(--gold)}
  .mobile-panel .m-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;flex-wrap:wrap}
  .mobile-panel .lang a{min-height:44px;min-width:52px;display:grid;place-items:center}
  .mobile-panel .btn{min-height:44px}
  .f-grid{grid-template-columns:1fr 1fr}
  .f-brand{grid-column:1/-1}
}

/* --- Tablet na výšku a menší: layouty do 1 sloupce --- */
@media (max-width:899px){
  .is-style-pk-hero{min-height:0;display:flex;flex-direction:column;justify-content:flex-start}
  .is-style-pk-hero>:not(.rain):not(.hero-mark):not(.hero-sig){width:auto}
  .is-style-pk-hero h1{max-width:18ch}
  .hero-mark{position:relative!important;right:auto;top:auto;transform:none;order:-1;width:min(240px,60%);margin:0 0 28px!important}
  .is-style-pk-hero>.hero-mark+*,.is-style-pk-hero>.rain+*{--flow:0}
  .is-style-pk-grid-2{grid-template-columns:1fr}
  .is-style-pk-tech-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(18,40,70,.92)}
  .is-style-pk-why{grid-template-columns:1fr;gap:36px}
  .is-style-pk-why>*{padding:0}
  .is-style-pk-why>*+*{border-left:0;border-top:1px solid var(--line-light);padding-top:36px}
  .is-style-pk-contact{grid-template-columns:1fr}
  .is-style-pk-band{flex-direction:column;align-items:flex-start}
}

/* --- Tablet na výšku (720–899): využít šířku --- */
@media (min-width:720px) and (max-width:899px){
  .hero-mark{width:200px}
  .is-style-pk-why{grid-template-columns:1fr 1fr;gap:36px 32px}
  .is-style-pk-why>*+*{border-top:0;padding-top:0}
  .is-style-pk-why>:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line-light);padding-top:32px}
  .is-style-pk-contact .info dl{grid-template-columns:repeat(3,auto);justify-content:start;gap:14px 40px}
}

/* --- Mobil --- */
@media (max-width:719px){
  .cards{grid-template-columns:1fr;gap:16px}
  .card{padding:24px 22px}
  .card:hover{transform:none}
  .is-style-pk-hero{padding-top:40px}
  .hero-mark{width:min(200px,52%)}
  .is-style-pk-hero h1,.is-style-pk-hero .is-style-pk-label+h1{--flow:1.1rem}
  .is-style-pk-hero .is-style-pk-lead{--flow:1.1rem}
  .is-style-pk-hero .wp-block-buttons{--flow:1.8rem}
  :is(.is-style-pk-light,.is-style-pk-white,.is-style-pk-dark-rain,.is-style-pk-dark)>:is(.is-style-pk-grid-2,.is-style-pk-why,.is-style-pk-steps,.is-style-pk-contact,.cards){--flow:28px}
  .is-style-pk-tech-card{padding:22px 20px}
  .illus{padding:12px}
  .page-hero h1{margin-top:1.1rem}
  .is-style-pk-why h3,.info h3{font-size:1.1rem}
}

/* --- Malý mobil --- */
@media (max-width:559px){
  .fgrid{grid-template-columns:1fr;gap:16px}
  .f-grid{grid-template-columns:1fr;gap:28px}
  .is-style-pk-steps{grid-template-columns:1fr;gap:14px}
  .form-foot{flex-direction:column;align-items:stretch;gap:12px}
  .form-foot .btn{width:100%}
  .form-note{text-align:center}
  /* patička: právní řádek pod sebou, bez teček */
  .f-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .f-bottom .sep{display:none}
  /* cookie lišta přes celou šířku dole */
  .cookie{left:12px;right:12px;bottom:12px;width:auto;padding:18px}
  .cookie .btn{flex:1 1 100%}
}

/* --- Velmi úzké telefony --- */
@media (max-width:479px){
  .pk-content .wp-block-buttons>.wp-block-button,.pk-content .wp-block-button__link,.page-hero .btn{width:100%}
  .hero-sig{font-size:.64rem;letter-spacing:.14em}
}
@media (max-width:379px){
  :root{--logo-h:34px}
  .site-header.is-small{--logo-h:30px}
  .logo .wm{letter-spacing:.12em}
}

/* --- Telefon na šířku: šetřit výšku --- */
@media (max-width:899px) and (orientation:landscape) and (max-height:500px){
  .hero-mark{display:none}
  .is-style-pk-hero{padding-top:32px;padding-bottom:56px}
  .mobile-panel .m-nav a{min-height:44px}
}

/* --- Dotyková zařízení: bez hover posunů, větší cíle --- */
@media (hover:none){
  .card:hover{transform:none;box-shadow:var(--shadow-sm)}
  .btn:hover::after,.card .more:hover::after,.wp-block-button__link:hover::after{transform:none}
}
@media (pointer:coarse){
  .f-col a{display:inline-block;padding:.35em 0}
  .f-col li+li{margin-top:.15em}
  .is-style-pk-chips a{min-height:44px}
  .crumbs a{padding:.4em 0}
}

/* ============ 17. REDUKOVANÝ POHYB ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .card:hover{transform:none}
  .btn:hover::after,.card .more:hover::after,.wp-block-button__link:hover::after{transform:none}
}
