/*
Theme Name:   tpage
Theme URI:    https://www.tpage.cz/
Description:  Child theme GeneratePress (free) pro tpage.cz – design Rebrand-1.
Author:       tpage
Author URI:   https://www.tpage.cz/
Template:     generatepress
Version:      1.8.1
Requires PHP: 7.4
Text Domain:  tpage
*/

/* ==========================================================================
   OBSAH
   1. Design tokeny (Rebrand-1)
   2. Základ (body, typografie, odkazy)
   3. Reset rozvržení GeneratePress – jen úvodní stránka (.tp-landing)
   4. Reset výchozích stylů Gutenbergu
   5. Hlavička
   6. Sdílené prvky (wrap, sekce, eyebrow, nadpisy, tlačítka)
   7. Hero + pás faktů
   8. Práce
   9. Služby (bento)
   10. Ceník
   11. O mně
   12. Kontakt + Spectra formulář
   13. Patička
   14. Tablet / iPad (681–1100 px) – plovoucí hlavička jako na desktopu,
       jen zúžené mřížky; jemné doladění pro užší iPady (681–899 px)
   15. Mobil (≤ 680 px) – přilepená hlavička s hamburger menu
   16. Úzký mobil (≤ 560 px)

   Zlomy podle skutečných šířek: telefony na výšku končí ~430 px (iPhone
   Pro Max), iPady na výšku začínají na 768 px (mini) a `.tp-nav` se jako
   vodorovné menu vejde už od 681 px – proto je 680 px hranice mezi
   „telefon s hamburgerem“ a „iPad s plovoucí hlavičkou“.

   Pravidlo pro skupiny (wp:group): klasická šablona bez theme.json může
   obalit obsah skupiny do .wp-block-group__inner-container. Flex/grid
   rozvržení skupin je proto psané pro obě varianty markupu:
   .x > .wp-block-group__inner-container,
   .x:not(:has(> .wp-block-group__inner-container)) { … }
   ========================================================================== */

/* 1. DESIGN TOKENY ======================================================== */
:root{
  /* barvy */
  --tp-paper:        #efebe2;
  --tp-paper-2:      #e6e1d4;
  --tp-hatch:        #dcd6c6;
  --tp-line:         #c9c2ae;
  --tp-line-soft:    #d8d2c1;
  --tp-ink:          #1b1a17;
  --tp-ink-soft:     #5b584e;
  --tp-ink-mid:      #4a483f;
  --tp-ink-deep:     #3f3d36;
  --tp-dark-line:    #45433d;
  --tp-dark-text:    #d9d4c5;
  --tp-accent:       #2e5eff;
  --tp-accent-soft:  #dee6ff;
  --tp-accent-line:  #c3d0f5;
  --tp-accent-line-2:#a9bdf3;
  --tp-field-line:   #bdbdbd;
  --tp-white:        #ffffff;
  --tp-dark-2:       #2b2a26;   /* karta na tmavé sekci */
  --tp-dark-mute:    #a8a392;   /* popisky na tmavé */

  /* písma */
  --tp-display: 'Space Grotesk', sans-serif;
  --tp-body:    'Inter', sans-serif;
  --tp-mono:    'IBM Plex Mono', monospace;

  /* rozvržení */
  --tp-max:      1440px;
  --tp-gutter:   clamp(20px, 6.95vw, 100px);
  --tp-section:  clamp(64px, 8.34vw, 120px);
  --tp-gap:      24px;

  /* stíny */
  --tp-shadow-float: 0 8px 24px rgba(27, 26, 23, 0.06);
  --tp-shadow-card:  0 24px 48px -28px rgba(27, 26, 23, 0.35);
  --tp-shadow-deep:  0 24px 48px -24px rgba(27, 26, 23, 0.5);
  --tp-shadow-form:  0 32px 64px -32px rgba(10, 20, 80, 0.6);
}

/* 2. ZÁKLAD =============================================================== */
html{scroll-behavior:smooth; scroll-padding-top:104px;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

body.tp{
  background:var(--tp-paper);
  color:var(--tp-ink);
  font-family:var(--tp-body);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip; /* clip, ne hidden – hidden by rozbil sticky hlavičku na mobilu */
}
.tp h1, .tp h2, .tp h3, .tp h4{
  font-family:var(--tp-display);
  font-weight:600;
  color:inherit;
}
.tp a{color:inherit; text-decoration:none;}
.tp .entry-content a:hover{color:var(--tp-accent);}
.tp :focus-visible{outline:2px solid var(--tp-accent); outline-offset:3px;}
.tp img{max-width:100%; height:auto;}

/* 3. RESET ROZVRŽENÍ GENERATEPRESS (jen úvodní stránka) ==================== */
.tp-landing .site.grid-container{max-width:none;}
.tp-landing .container{background:transparent;}
.tp-landing .site-content{display:block; padding:0;}
.tp-landing .content-area{width:auto; float:none;}
.tp-landing .site-main{margin:0 !important;}               /* GP separate-containers dává 20px */
.tp-landing .inside-article{padding:0; background:transparent; border:0; box-shadow:none;}
.tp-landing .inside-article .entry-header{display:none;}   /* cílené skrytí titulku (ne filtr the_title) */
.tp-landing .inside-article .entry-content{margin:0;}
.tp-landing .entry-content > *{margin-top:0 !important; margin-bottom:0 !important;} /* GP: .entry-content > [class*="wp-block-"] margin 1.5em */
.tp-landing .entry-content .alignfull{margin-left:0; margin-right:0; width:auto; max-width:none;} /* GP no-sidebar alignfull 100vw → vodorovný scroll */

/* Ostatní stránky (mimo úvodní): místo pro plovoucí hlavičku */
body.tp:not(.tp-landing) .site{padding-top:96px;}

/* Pojistka, kdyby remove_action ve functions.php na dané verzi GP nezabral */
.tp .site-header, .tp #site-navigation, .tp .site-info, .tp .footer-widgets{display:none !important;}

/* 4. RESET VÝCHOZÍCH STYLŮ GUTENBERGU ===================================== */
/* nízká specificita (0,1,0) přes :where – komponenty níže ji vždy přebijí */
.tp :where(.wp-block-group, .wp-block-group__inner-container, .wp-block-column, .wp-block-columns) > *{
  margin-top:0; margin-bottom:0;
}
/* WP přidává na vnitřní kontejnery skupin is-layout-constrained a jejich potomky zužuje
   na "content width" + centruje (margin auto !important). Šířku řeší .wrap, ne WP. */
.tp .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.tp .wp-block-group-is-layout-constrained > *{
  max-width:none;                       /* bez !important: komponenty níže (max-width:46ch apod.) ji přebijí */
  margin-left:0 !important; margin-right:0 !important;   /* WP tu centruje přes !important */
}
/* GP/WP dává každému .wp-block-group__inner-container max-width:1200px, margin:auto a padding 40px.
   Změřeno v prohlížeči: 2 vnořené kontejnery + .wrap → obsah 1240 px se zúžil na 840 px.
   Šířku a odsazení řeší jen .wrap (--tp-max, --tp-gutter), kontejnery jsou průhledné. */
.tp .wp-block-group__inner-container{
  max-width:none !important; width:auto !important;
  margin-left:0 !important; margin-right:0 !important;
  padding-left:0 !important; padding-right:0 !important;
}
.tp .wp-block-columns{margin:0; gap:var(--tp-gap);}
.tp .wp-block-column{min-width:0;}
.tp figure.wp-block-image{margin:0;}

/* 5. HLAVIČKA ============================================================= */
.tp-header{
  position:fixed; top:16px; left:0; right:0; z-index:1000;
  padding:0 16px;
  pointer-events:none;
}
.admin-bar .tp-header{top:48px;}
.tp-toolbar{
  pointer-events:auto;
  max-width:1240px; height:64px; margin:0 auto;
  box-sizing:border-box;
  padding:0 12px 0 28px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  background:rgba(239, 235, 226, 0.88);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
  backdrop-filter:blur(12px) saturate(160%);
  border:1px solid var(--tp-line);
  border-radius:999px;
  box-shadow:var(--tp-shadow-float);
}
.tp-logo{
  display:flex; align-items:center; gap:9px;
  font-family:var(--tp-display); font-weight:700; font-size:19px; letter-spacing:-0.02em;
  color:var(--tp-ink);
}
.tp-logo:hover{color:var(--tp-ink);}
.tp-logo__dot{width:9px; height:9px; background:var(--tp-accent); border-radius:1px; flex-shrink:0;}
.tp-logo img, .tp-toolbar .custom-logo-link img{display:block; max-height:32px; width:auto;}

.tp-nav ul{display:flex; gap:36px; margin:0; padding:0; list-style:none;}
.tp-nav a{
  position:relative; display:inline-block; padding:4px 0;
  font-size:14.5px; font-weight:500; color:var(--tp-ink);
}
.tp-nav a::after{
  content:""; position:absolute; left:0; bottom:0;
  width:0; height:1.5px; background:var(--tp-accent);
  transition:width .2s ease;
}
.tp-nav a:hover{color:var(--tp-accent);}
.tp-nav a:hover::after{width:100%;}

.tp-cta{display:flex; margin:0; padding:0; list-style:none;}
.tp-cta a{
  display:inline-flex; align-items:center; height:44px; padding:0 22px;
  background:var(--tp-ink); color:var(--tp-paper);
  border-radius:999px;
  font-family:var(--tp-mono); font-size:13px; font-weight:500; white-space:nowrap;
  transition:background .2s ease, transform .15s ease;
}
.tp-cta a:hover{background:var(--tp-accent); color:var(--tp-white); transform:translateY(-1px);}

/* CTA přidaná do hlavního menu (functions.php) – jen pro mobilní kartu, na desktopu skrytá. */
.tp-nav__cta{display:none;}

/* Hamburger – jen ≤ 680 px (viz sekce 15); na desktopu/tabletu neobsazuje místo. */
.tp-toolbar-actions{display:flex; align-items:center; gap:12px;}
.tp-menu-toggle{display:none;}

/* 6. SDÍLENÉ PRVKY ======================================================== */
.tp .wrap{
  width:100%; max-width:var(--tp-max);
  margin-left:auto; margin-right:auto;
  padding-left:var(--tp-gutter); padding-right:var(--tp-gutter);
  box-sizing:border-box;
}
.tp .tp-section{
  padding-top:var(--tp-section); padding-bottom:var(--tp-section);
  border-top:1px solid var(--tp-line);
}

.tp .eyebrow{
  display:flex; align-items:center; gap:10px;
  margin:0 0 14px;
  font-family:var(--tp-mono); font-size:13px; letter-spacing:0.02em;
  color:var(--tp-ink-soft);
}
.tp .eyebrow::before{content:"◆"; color:var(--tp-accent); font-size:10px;}

.tp .section-title{
  margin:0 0 48px;
  font-size:clamp(38px, 4.45vw, 64px); line-height:1; letter-spacing:-0.04em;
}
.tp .section-lede{margin:0; font-size:17px; line-height:1.6; color:var(--tp-ink-soft);}

/* Tlačítka (wp:button) */
.tp .hero-ctas{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.tp .btn-primary .wp-block-button__link{
  display:inline-flex; align-items:center; height:52px; padding:0 28px;
  background:var(--tp-accent); color:var(--tp-white);
  border-radius:3px;
  font-family:var(--tp-body); font-size:15px; font-weight:600;
  box-shadow:0 4px 0 var(--tp-ink);
  transition:transform .15s ease, box-shadow .15s ease;
}
.tp .btn-primary .wp-block-button__link:hover{
  color:var(--tp-white); transform:translateY(-2px); box-shadow:0 6px 0 var(--tp-ink);
}
.tp .btn-ghost .wp-block-button__link{
  padding:0 0 2px; background:transparent;
  border-bottom:1px solid var(--tp-ink-soft); border-radius:0;
  font-family:var(--tp-mono); font-size:13.5px; color:var(--tp-ink-soft);
}
.tp .btn-ghost .wp-block-button__link:hover{color:var(--tp-accent); border-color:var(--tp-accent);}

/* 7. HERO + PÁS FAKTŮ ===================================================== */
.tp .tp-hero{
  min-height:900px; box-sizing:border-box;
  padding:140px 0 72px;
  display:flex; flex-direction:column;
}
.tp .tp-hero > .wp-block-group__inner-container,
.tp .tp-hero .wrap{flex:1; display:flex; flex-direction:column;}
.tp .tp-hero .wrap > .wp-block-group__inner-container,
.tp .tp-hero .wrap:not(:has(> .wp-block-group__inner-container)){
  flex:1; display:flex; flex-direction:column; justify-content:space-between; gap:56px;
}

.tp .hero-grid{
  display:grid !important;
  grid-template-columns:1.3fr 0.9fr;
  gap:40px; align-items:center;
}
.tp .hero-copy .eyebrow{margin-bottom:22px;}
.tp .hero-title{
  margin:0 0 36px;
  font-size:clamp(36px, 4.72vw, 68px); line-height:1.04; letter-spacing:-0.04em;
}
/* „dává smysl.“ – výběrový rámeček s úchyty a štítkem, čistě v CSS (em zůstává editovatelná kurzíva) */
.tp .hero-title em{
  position:relative; display:inline-block;
  font-style:normal; color:var(--tp-accent);
  padding:0 8px; margin-left:-8px;
  outline:1.5px solid var(--tp-accent);
  background:rgba(46, 94, 255, 0.06);
}
.tp .hero-title em::before{
  content:""; position:absolute; inset:-5px; pointer-events:none;
  background:
    linear-gradient(#fff,#fff) 1.5px 1.5px / 5px 5px no-repeat,
    linear-gradient(#fff,#fff) calc(100% - 1.5px) 1.5px / 5px 5px no-repeat,
    linear-gradient(#fff,#fff) 1.5px calc(100% - 1.5px) / 5px 5px no-repeat,
    linear-gradient(#fff,#fff) calc(100% - 1.5px) calc(100% - 1.5px) / 5px 5px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 0 0 / 8px 8px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 100% 0 / 8px 8px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 0 100% / 8px 8px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 100% 100% / 8px 8px no-repeat;
}
.tp .lede{
  margin:0 0 36px; max-width:50ch;
  font-size:18px; line-height:1.6; color:var(--tp-ink-soft);
}

/* Ilustrace (wp:html – dekorace, ne editovatelný obsah) */
.tp .hero-art{position:relative; width:100%; aspect-ratio:533 / 500; isolation:isolate;}
.tp .ha-browser{
  position:absolute; top:0; right:24px; width:calc(88% - 24px); aspect-ratio:470 / 372;
  box-sizing:border-box; background:var(--tp-paper-2);
  border:1px solid var(--tp-line); box-shadow:var(--tp-shadow-card);
}
/* modrý blok za oknem prohlížeče (návrh v2); zpět = smazat toto pravidlo */
.tp .hero-art:not(.hero-art--reference) .ha-browser:not(.hv-back)::before{
  content:""; position:absolute; left:24px; top:24px; right:-24px; bottom:-24px;
  background:var(--tp-accent); z-index:-1;
}
.tp .ha-inner{position:absolute; inset:0; overflow:hidden;}
.tp .ha-corner{display:none;}
.tp .ha-corner--tl{top:-1px; left:-1px; border-top:2px solid var(--tp-accent); border-left:2px solid var(--tp-accent);}
.tp .ha-corner--br{bottom:-1px; right:-1px; border-bottom:2px solid var(--tp-accent); border-right:2px solid var(--tp-accent);}
.tp .ha-chrome{height:28px; background:var(--tp-ink); display:flex; align-items:center; gap:6px; padding:0 12px;}
.tp .ha-chrome span{width:7px; height:7px; border-radius:50%; background:rgba(230, 225, 212, 0.5);}
.tp .ha-body{padding:22px; display:flex; flex-direction:column; gap:12px;}
.tp .ha-bar{height:10px; width:60%; background:var(--tp-line); border-radius:2px;}
.tp .ha-bar--short{width:34%; background:var(--tp-line-soft);}
.tp .ha-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin-top:6px;}
.tp .ha-b{height:108px; background:var(--tp-line); border-radius:2px;}
.tp .ha-b--soft{background:var(--tp-accent-soft);}
.tp .ha-b--low{height:84px;}
.tp .ha-b--accent{background:var(--tp-accent);}
.tp .ha-dim{
  position:absolute; left:10px; bottom:10px;
  padding:3px 8px; border-radius:2px;
  background:var(--tp-ink); color:var(--tp-paper);
  font-family:var(--tp-mono); font-size:11px; line-height:1.4;
}
.tp .ha-badge{
  display:none;   /* návrh v2 odznak u ilustrace nemá */
  position:absolute; top:-12px; right:-12px; z-index:2;
  width:24px; height:24px; box-sizing:border-box; border-radius:50%;
  border:2px solid var(--tp-paper); background:var(--tp-accent); color:var(--tp-white);
  align-items:center; justify-content:center;
  font-family:var(--tp-mono); font-size:12px; font-weight:500;
}
.tp .ha-phone{
  position:absolute; left:0; bottom:0; width:33%; aspect-ratio:176 / 330;
  box-sizing:border-box; overflow:hidden;
  background:var(--tp-paper); border:5px solid var(--tp-ink); border-radius:22px;
  box-shadow:var(--tp-shadow-deep);
}
.tp .ha-phone-body{padding:18px 14px; display:flex; flex-direction:column; gap:10px;}
.tp .ha-phone .ha-bar{height:8px; width:55%;}
.tp .ha-line{height:8px; width:80%; background:var(--tp-line-soft); border-radius:2px;}
.tp .ha-line--short{width:62%;}
.tp .ha-hero-block{height:86px; background:var(--tp-accent-soft); border-radius:2px;}
.tp .ha-btn{height:30px; width:58%; margin-top:6px; background:var(--tp-accent); border-radius:2px;}
.tp .ha-phone-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin-top:6px;}
.tp .ha-phone-grid div{height:52px; background:var(--tp-line); border-radius:2px;}
.tp .ha-dim--phone{left:35%; bottom:12px; background:var(--tp-accent-soft); color:var(--tp-ink);}
.tp .ha-cursor{position:absolute; right:17%; top:42%; z-index:3; display:flex; align-items:flex-start;}
.tp .ha-cursor span{
  margin:18px 0 0 -4px; padding:3px 8px; border-radius:2px;
  background:var(--tp-accent); color:var(--tp-white);
  font-family:var(--tp-mono); font-size:11px; line-height:1.4;
}

/* Plovoucí štítky u ilustrace (jen úvodní hero; čistě dekorace) */
.tp .hero-art:not(.hero-art--sm)::before,
.tp .hero-art:not(.hero-art--sm)::after{
  position:absolute; z-index:3; display:flex; align-items:center; height:36px; box-sizing:border-box;
  border-radius:999px; font-family:var(--tp-mono); font-size:12px; line-height:1; white-space:nowrap;
}
.tp .hero-art:not(.hero-art--sm)::before{
  content:"GA4 · konverze"; left:1%; top:14%; padding:0 14px 0 30px; color:var(--tp-ink);
  background:radial-gradient(circle at 15px 50%, var(--tp-accent) 4px, transparent 4.5px), var(--tp-accent-soft);
  border:1px solid var(--tp-accent-line-2); box-shadow:0 10px 20px -12px rgba(27, 26, 23, 0.4);
}
.tp .hero-art:not(.hero-art--sm)::after{
  content:"SEO · On-Page"; right:10%; top:60%; height:38px; padding:0 16px 0 36px; color:var(--tp-paper);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 1l5 5-5 5-5-5z' fill='%23dee6ff'/%3E%3C/svg%3E") 16px 50% / 10px 10px no-repeat, var(--tp-ink);
  box-shadow:0 12px 24px -12px rgba(27, 26, 23, 0.6);
}

/* Pás faktů (wp:columns): tmavý panel, poslední buňka modrá (v1.8.0) */
.tp .facts-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:0; background:var(--tp-ink);
}
.tp .fact{
  box-sizing:border-box; min-height:112px;
  padding:20px 28px;
  border-left:1px solid var(--tp-dark-line);
  display:flex; flex-direction:column; justify-content:space-between; gap:8px;
}
.tp .fact:first-child{border-left:0;}
.tp .fact.is-highlight{background:var(--tp-accent);}
.tp .fact-label{margin:0; font-family:var(--tp-mono); font-size:12px; color:var(--tp-dark-mute);}
.tp .fact.is-highlight .fact-label{color:var(--tp-accent-soft);}
.tp .fact-value{
  margin:0; font-family:var(--tp-display); font-weight:600;
  font-size:22px; line-height:1.15; letter-spacing:-0.02em; color:var(--tp-paper);
}
.tp .fact.is-highlight .fact-value{color:var(--tp-white);}

/* 8. PRÁCE ================================================================ */
.tp .section-head{margin-bottom:56px;}
.tp .section-head > .wp-block-group__inner-container,
.tp .section-head:not(:has(> .wp-block-group__inner-container)){
  display:flex; align-items:flex-end; justify-content:space-between; gap:32px;
}
.tp .section-head .section-title{margin:0;}
.tp .section-head .section-lede{margin-bottom:8px;}

.tp .work-grid{
  display:grid !important;
  grid-template-columns:7fr 5fr;
  column-gap:24px; row-gap:48px; align-items:start;
}
.tp .work-card{position:relative; counter-increment:tp-work;}
.tp .work-grid{counter-reset:tp-work;}
.tp .work-card:nth-child(2){margin-top:120px;}

.tp .work-thumb{
  position:relative; aspect-ratio:16 / 10;
  box-sizing:border-box; border:1px solid var(--tp-line);
  background:var(--tp-paper-2);
}
.tp .work-card:nth-child(2) .work-thumb{aspect-ratio:4 / 3;}
.tp .work-thumb img{display:block; width:100%; height:100%; object-fit:cover; object-position:top center;}
/* rohové značky – vlevo nahoře + vpravo dole */
.tp .work-thumb::before{
  content:""; position:absolute; inset:-1px; pointer-events:none; z-index:2;
  background:
    linear-gradient(var(--tp-accent),var(--tp-accent)) 0 0 / 16px 2px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 0 0 / 2px 16px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 100% 100% / 16px 2px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 100% 100% / 2px 16px no-repeat;
}
/* kurzor se štítkem „tpage“ – jen první projekt */
.tp .work-card:first-child .work-thumb::after{
  content:"tpage";
  position:absolute; right:22px; bottom:22px; z-index:3;
  padding:21px 8px 3px 26px;
  font-family:var(--tp-mono); font-size:11px; line-height:1.4; color:var(--tp-white);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='26' viewBox='0 0 22 26'%3E%3Cpath d='M2 2 L2 21 L7 16.5 L10.5 24 L14 22.5 L10.5 15 L17 15 Z' fill='%231b1a17' stroke='%23efebe2' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0 / 22px 26px no-repeat,
    linear-gradient(var(--tp-accent),var(--tp-accent)) 18px 18px / calc(100% - 18px) calc(100% - 18px) no-repeat;
}
/* pořadové číslo projektu */
.tp .work-card::before{
  content:counter(tp-work);
  position:absolute; top:44px; left:-14px; z-index:3;
  width:28px; height:28px; box-sizing:border-box; border-radius:50%; border:2px solid var(--tp-paper);
  background:var(--tp-accent); color:var(--tp-white);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--tp-mono); font-size:13px; font-weight:500;
}
.tp .work-card:nth-child(2)::before{left:auto; right:-14px;}

.tp .work-card .tag{
  display:flex; align-items:center; gap:8px;
  margin:22px 4px 8px;
  font-family:var(--tp-mono); font-size:12px; color:var(--tp-ink-soft);
}
.tp .work-card .tag::before{content:"◆"; color:var(--tp-accent); font-size:8px;}
.tp .work-card h3{
  margin:0 4px 8px;
  font-size:clamp(26px, 2.5vw, 36px); line-height:1.05; letter-spacing:-0.03em;
}
.tp .work-card:nth-child(2) h3{font-size:clamp(22px, 2.1vw, 30px); line-height:1.08;}
.tp .work-card h3 + p{margin:0 4px; max-width:56ch; font-size:16px; line-height:1.6; color:var(--tp-ink-soft);}

/* 9. SLUŽBY (BENTO) ======================================================= */
.tp .bento-row{display:grid !important; gap:24px;}
.tp .bento-row + .bento-row{margin-top:24px;}
.tp .bento-row.is-wide-first{grid-template-columns:7fr 5fr;}
.tp .bento-row.is-wide-last{grid-template-columns:5fr 7fr;}

.tp .service-card{
  box-sizing:border-box; min-height:300px; padding:32px;
  display:flex; flex-direction:column;
  border:1px solid transparent; color:var(--tp-ink);
}
.tp .service-top{margin-bottom:24px;}
.tp .service-top > .wp-block-group__inner-container,
.tp .service-top:not(:has(> .wp-block-group__inner-container)){
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.tp .service-num{
  width:44px; height:44px; box-sizing:border-box; margin:0;
  display:flex; align-items:center; justify-content:center;
  border:1px solid; font-family:var(--tp-mono); font-size:13px;
}
.tp .service-tag{
  margin:0; padding:6px 12px; border:1px solid; border-radius:999px;
  font-family:var(--tp-mono); font-size:12px; white-space:nowrap;
}
.tp .service-card h3{margin:auto 0 10px; font-size:clamp(24px, 2.2vw, 32px); line-height:1.05; letter-spacing:-0.03em;}
.tp .service-card.is-dark h3, .tp .service-card.is-accent h3{font-size:clamp(24px, 2.5vw, 36px);}
.tp .service-card h3 + p{margin:0; max-width:40ch; font-size:16px; line-height:1.55;}

.tp .service-card.is-dark, .tp #obory .service-card:first-child{background:var(--tp-dark-2); color:var(--tp-paper); border-color:var(--tp-dark-line);}
.tp .is-dark .service-num, .tp #obory .service-card:first-child .service-num{border-color:var(--tp-ink-soft); background:transparent; color:var(--tp-accent-soft);}
.tp .is-dark .service-tag, .tp #obory .service-card:first-child .service-tag{border-color:var(--tp-ink-soft); color:var(--tp-dark-text);}
.tp .is-dark h3 + p, .tp #obory .service-card:first-child h3 + p{color:var(--tp-dark-text);}

.tp .service-card.is-paper{background:var(--tp-paper-2); border-color:var(--tp-line);}
.tp .is-paper .service-num{border-color:var(--tp-line); background:var(--tp-paper); color:var(--tp-accent);}
.tp .is-paper .service-tag{border-color:var(--tp-line); color:var(--tp-ink-soft);}
.tp .is-paper h3 + p{color:var(--tp-ink-soft);}

.tp .service-card.is-soft{background:var(--tp-accent-soft); border-color:var(--tp-accent-line);}
.tp .is-soft .service-num{border-color:var(--tp-accent-line-2); background:var(--tp-paper); color:var(--tp-accent);}
.tp .is-soft .service-tag{border-color:var(--tp-accent-line-2); color:var(--tp-ink);}
.tp .is-soft h3 + p{color:var(--tp-ink-deep);}

.tp .service-card.is-accent{background:var(--tp-accent); color:var(--tp-white); border-color:var(--tp-accent);}
.tp .is-accent .service-num,
.tp .is-accent .service-tag{border-color:rgba(255, 255, 255, 0.55); color:var(--tp-white);}
.tp .is-accent h3 + p{color:var(--tp-white);}

/* 10. CENÍK =============================================================== */
.tp .pricing-title{
  margin:0 0 12px;
  font-size:clamp(30px, 3.6vw, 52px); line-height:1.06; letter-spacing:-0.035em;
}
.tp .pricing-title + .section-lede{margin:0 0 48px; font-size:15.5px;}
.tp .pricing-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px; align-items:stretch;
}
.tp .price-card{
  box-sizing:border-box; min-height:430px; padding:32px;
  display:flex; flex-direction:column;
  background:var(--tp-paper); border:1px solid var(--tp-line);
}
.tp .price-card .plabel{
  align-self:flex-start; margin:0; padding:0;
  color:var(--tp-ink-soft);
  font-family:var(--tp-mono); font-size:12px; letter-spacing:0; text-transform:none;
}
.tp .price-card h3{margin:16px 0 0; font-size:24px; letter-spacing:-0.02em;}
.tp .price-card .pnum{
  margin:14px 0 6px;
  font-family:var(--tp-display); font-weight:600;
  font-size:clamp(42px, 3.9vw, 56px); line-height:1.05; letter-spacing:-0.04em;
}
.tp .price-list{margin:20px 0 0; padding:0; list-style:none; font-size:14px; color:var(--tp-ink-soft);}
.tp .price-list li{display:flex; gap:10px; margin:0; padding:9px 0; border-top:1px solid var(--tp-line);}
.tp .price-list li:last-child{border-bottom:1px solid var(--tp-line);}
.tp .price-list li::before{content:"—"; color:var(--tp-accent);}

.tp .price-card.featured{
  background:var(--tp-ink); color:var(--tp-paper); border-color:var(--tp-ink);
  box-shadow:0 0 0 1px var(--tp-accent), var(--tp-shadow-deep);
}
.tp .featured .plabel{color:var(--tp-accent-soft);}
.tp .featured .price-list{color:var(--tp-dark-text);}
.tp .featured .price-list li{border-color:var(--tp-dark-line);}
.tp .featured .price-list li::before{color:var(--tp-accent-soft);}

.tp .price-note{margin:24px 0 0; font-family:var(--tp-mono); font-size:12px; line-height:1.5; color:var(--tp-ink-soft);}

/* 11. O MNĚ =============================================================== */
.tp .tp-about{background:var(--tp-paper-2);}
.tp .about-grid{
  display:grid !important;
  grid-template-columns:6fr 1fr 5fr;
  column-gap:24px; align-items:start;
}
.tp .about-grid > .wp-block-column:last-child{grid-column:3; padding-top:40px;}
.tp .about-title{
  margin:0;
  font-size:clamp(34px, 5vw, 72px); line-height:1; letter-spacing:-0.045em;
}
.tp .about-grid p:not(.eyebrow){margin:0 0 18px; font-size:17px; line-height:1.65; color:var(--tp-ink-mid);}
.tp .about-grid p:not(.eyebrow):last-child{margin-bottom:0;}

/* 12. KONTAKT + SPECTRA FORMULÁŘ ========================================== */
.tp .tp-contact{background:var(--tp-accent); color:var(--tp-white); border-top:0;}
.tp .tp-contact .eyebrow{color:var(--tp-white);}
.tp .tp-contact .eyebrow::before{color:var(--tp-accent-soft);}
.tp .tp-contact .section-title{margin-bottom:24px; color:var(--tp-white);}
.tp .contact-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:72px; align-items:start;
}
.tp .contact-intro{margin:0 0 36px; max-width:42ch; font-size:18px; line-height:1.65;}
.tp .contact-direct{margin:0 0 12px; font-family:var(--tp-mono); font-size:15px;}
.tp .contact-direct a{color:var(--tp-white); border-bottom:1px solid var(--tp-white);}
.tp .contact-direct a:hover{color:var(--tp-white); opacity:.8;}

/* Spectra (uagb/forms) – vzhled podle Rebrand-1.
   !important jen tam, kde Spectra generuje vlastní CSS z atributů bloku. */
.tp .contact-grid .wp-block-uagb-forms{
  position:relative;
  padding:32px 0 0 !important;
  background:var(--tp-paper-2) !important;
  color:var(--tp-ink);
  border:0 !important; border-radius:0 !important;
  box-shadow:var(--tp-shadow-form);
}
.tp .contact-grid .wp-block-uagb-forms::before{ /* okenní lišta se třemi tečkami */
  content:""; position:absolute; top:0; left:0; right:0; height:32px;
  background:
    radial-gradient(circle, rgba(230,225,212,.5) 3.5px, transparent 4px) 14px 50% / 13px 7px no-repeat,
    radial-gradient(circle, rgba(230,225,212,.5) 3.5px, transparent 4px) 27px 50% / 13px 7px no-repeat,
    radial-gradient(circle, rgba(230,225,212,.5) 3.5px, transparent 4px) 40px 50% / 13px 7px no-repeat,
    var(--tp-ink);
}
.tp .contact-grid .uagb-forms-main-form{padding:28px 32px 32px !important;}
.tp .contact-grid .uagb-forms-field-set{margin:0 0 16px !important;}
.tp .contact-grid .uagb-forms-input-label{
  margin:0 0 6px !important;
  font-family:var(--tp-mono) !important; font-size:12px !important; font-weight:400 !important;
  color:var(--tp-ink-soft) !important; text-align:left !important;
}
.tp .contact-grid .uagb-forms-input{
  width:100% !important; height:46px; box-sizing:border-box;
  padding:0 14px !important;
  background:var(--tp-paper) !important;
  border:1px solid var(--tp-field-line) !important; border-radius:3px !important;
  box-shadow:none !important;
  font-family:var(--tp-body) !important; font-size:14px !important; color:var(--tp-ink) !important;
}
.tp .contact-grid textarea.uagb-forms-input{height:120px; padding:12px 14px !important; resize:vertical;}
.tp .contact-grid .uagb-forms-input::placeholder{color:#8a8578; opacity:1;}
.tp .contact-grid .uagb-forms-input:focus{border-color:var(--tp-accent) !important; outline:none;}
.tp .contact-grid .uagb-forms-main-submit-button-wrap{margin-top:20px; text-align:center;}
.tp .contact-grid .uagb-forms-main-submit-button{
  width:100% !important; height:52px; padding:0 20px !important;
  display:flex !important; align-items:center; justify-content:center;
  background:var(--tp-ink) !important; color:var(--tp-paper) !important;
  border:0 !important; border-radius:999px !important;
  font-family:var(--tp-mono) !important; font-size:14px !important; font-weight:500 !important;
  cursor:pointer; transition:background .2s ease;
}
.tp .contact-grid .uagb-forms-main-submit-button:hover{background:var(--tp-accent) !important;}
.tp .contact-grid .uagb-forms-main-submit-button-text{font:inherit !important; color:inherit !important;}

/* 13. PATIČKA ============================================================= */
.tp .site-footer{background:var(--tp-ink);}
.tp-footer{background:var(--tp-ink); color:var(--tp-dark-text);}
.tp-footer__inner{
  max-width:var(--tp-max); margin:0 auto; box-sizing:border-box;
  padding:48px var(--tp-gutter) 36px;
  min-height:280px;
  display:flex; flex-direction:column; justify-content:space-between; gap:32px;
}
.tp-footer__mark{
  display:flex; align-items:center; gap:22px;
  font-family:var(--tp-display); font-weight:700;
  font-size:clamp(52px, 9.2vw, 132px); line-height:1; letter-spacing:-0.05em;
  color:var(--tp-paper);
}
.tp-footer__mark span{width:clamp(24px, 3.06vw, 44px); aspect-ratio:1; background:var(--tp-accent); border-radius:4px; flex-shrink:0;}
.tp-footer__bar{
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  padding-top:22px; border-top:1px solid var(--tp-dark-line);
  font-size:12.5px;
}
.tp-footer__copy{margin:0;}
.tp-footer__menu{display:flex; gap:20px; margin:0; padding:0; list-style:none;}
.tp-footer__menu a{color:var(--tp-paper); border-bottom:1px solid var(--tp-ink-soft);}
.tp-footer__menu a:hover{color:var(--tp-white); border-color:var(--tp-accent);}

/* 14. TABLET / IPAD (681–1100 px) ========================================== */
@media (min-width: 681px) and (max-width: 1100px){
  .tp-toolbar{padding-left:22px;}
  .tp-nav__list{gap:24px;}
  .tp .tp-hero{min-height:0;}
  .tp .hero-grid{gap:40px;}
  .tp .ha-dim--phone, .tp .ha-cursor{display:none;}
  .tp .hero-art:not(.hero-art--sm)::before, .tp .hero-art:not(.hero-art--sm)::after{display:none;}
  .tp .service-card.ic::after, .tp .bento-row.is-wide-first > .service-card:first-child.ic::after, .tp .bento-row.is-wide-last > .service-card:last-child.ic::after{width:96px; height:96px; right:16px; bottom:14px;}
  .tp .service-card.ic h3 + p{padding-right:48px;}
  .tp .contact-grid{gap:48px;}
  .tp .service-card{min-height:260px; padding:28px;}
}

/* Užší iPady na výšku (portrait mini/standard/Air/Pro 11": 768–834 px) –
   4 sloupce faktů jsou na hraně, tak je zmírníme. */
@media (min-width: 681px) and (max-width: 899px){
  .tp .facts-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .tp .fact:nth-child(3){border-left:0;}
  .tp .fact:nth-child(-n+2){border-bottom:1px solid var(--tp-dark-line);}
}
/* Tři sloupce ceníku s velkými čísly cen potřebují víc místa než faktová
   mřížka – bez toho se „16 900 Kč“ zalomí na dva řádky. */
@media (min-width: 681px) and (max-width: 959px){
  .tp .pricing-grid{grid-template-columns:1fr; gap:20px;}
  .tp .price-card{min-height:0;}
}

/* 15. MOBIL (≤ 680 px) ===================================================== */
@media (max-width: 680px){
  :root{--tp-gutter:20px; --tp-section:64px;}
  html{scroll-padding-top:88px;}
  body.tp:not(.tp-landing) .site{padding-top:0;}

  /* hlavička: plovoucí pilulka (logo + hamburger), přilepená při scrollu.
     Tlačítko CTA v hlavičce není – je uvnitř rozbalené karty menu. */
  .tp-header{position:sticky; top:0; padding:12px 16px 0; pointer-events:none;}
  .tp-toolbar{
    position:relative;                    /* karta menu se kotví k pilulce */
    max-width:none; height:60px; padding:0 8px 0 18px;
    background:var(--tp-paper);
    -webkit-backdrop-filter:none; backdrop-filter:none;   /* backdrop-filter by z pilulky udělal "viewport" pro fixed potomky */
    border:1px solid var(--tp-line); border-radius:999px;
    box-shadow:var(--tp-shadow-float);
  }
  .tp-logo{font-size:18px; gap:8px;}
  .tp-logo__dot{width:8px; height:8px;}
  .tp-toolbar-actions .tp-cta{display:none;}

  /* hamburger: kruh 44 px (dotykový cíl), po otevření tmavý s ✕ */
  .tp-menu-toggle{
    display:flex; align-items:center; justify-content:center;
    width:44px; height:44px; padding:0; margin:0; box-sizing:border-box;
    background:transparent; border:1px solid var(--tp-line); border-radius:999px;
    cursor:pointer; -webkit-tap-highlight-color:transparent;
    transition:background .2s ease, border-color .2s ease;
  }
  .tp-menu-toggle__box{position:relative; width:18px; height:12px;}
  .tp-menu-toggle__box span{
    position:absolute; left:0; width:100%; height:2px; border-radius:2px; background:var(--tp-ink);
    transition:transform .2s ease, opacity .15s ease, top .2s ease, background .2s ease;
  }
  .tp-menu-toggle__box span:nth-child(1){top:0;}
  .tp-menu-toggle__box span:nth-child(2){top:50%; margin-top:-1px;}
  .tp-menu-toggle__box span:nth-child(3){top:100%; margin-top:-2px;}
  .tp-menu-toggle[aria-expanded="true"]{background:var(--tp-ink); border-color:var(--tp-ink);}
  .tp-menu-toggle[aria-expanded="true"] .tp-menu-toggle__box span{background:var(--tp-paper);}
  .tp-menu-toggle[aria-expanded="true"] .tp-menu-toggle__box span:nth-child(1){top:50%; margin-top:-1px; transform:rotate(45deg);}
  .tp-menu-toggle[aria-expanded="true"] .tp-menu-toggle__box span:nth-child(2){opacity:0;}
  .tp-menu-toggle[aria-expanded="true"] .tp-menu-toggle__box span:nth-child(3){top:50%; margin-top:-1px; transform:rotate(-45deg);}

  /* karta menu pod pilulkou (ne celá obrazovka); vejde se bez scrollování */
  .tp-nav{
    position:absolute; top:calc(100% + 8px); left:0; right:0;
    box-sizing:border-box; padding:8px;
    background:#f7f4ed; border:1px solid var(--tp-line); border-radius:28px;
    box-shadow:0 28px 56px -16px rgba(27,26,23,0.45);
    opacity:0; visibility:hidden; transform:translateY(-6px);
    transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  html.tp-nav-open .tp-nav{
    opacity:1; visibility:visible; transform:translateY(0);
    transition:opacity .18s ease, transform .18s ease;
  }
  .tp-nav .tp-nav__list{flex-direction:column; align-items:stretch; gap:0; width:100%;}   /* (0,2,0): přebije .tp-nav ul{gap:36px} */
  .tp-nav__list a{
    display:flex; align-items:center; min-height:56px; padding:0 44px 0 16px;
    border-bottom:1px solid var(--tp-line);
    font-family:var(--tp-display); font-weight:500; font-size:22px; letter-spacing:-0.01em;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='%232e5eff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h11M10 4.5L14.5 9 10 13.5'/%3E%3C/svg%3E") no-repeat right 16px center;
  }
  .tp-nav__list a::after{display:none;}
  .tp-nav__list li:has(+ .tp-nav__cta) a{border-bottom:0;}   /* poslední odkaz před CTA bez čáry */
  .tp-nav__list li:last-child:not(.tp-nav__cta) a{border-bottom:0;}

  /* CTA uvnitř karty: tmavá pilulka přes celou šířku */
  .tp-nav__list .tp-nav__cta{display:block; margin-top:8px;}
  .tp-nav__list .tp-nav__cta a{
    justify-content:center; gap:10px; min-height:52px; padding:0 20px;
    background:var(--tp-ink); color:var(--tp-paper); border:0; border-radius:999px;
    font-family:var(--tp-mono); font-weight:600; font-size:13px; letter-spacing:0;
  }
  .tp-nav__list .tp-nav__cta a::after{
    content:"\2192"; display:inline; position:static; width:auto; height:auto; background:none;
  }
  .tp-nav__list .tp-nav__cta a:hover{background:var(--tp-accent); color:var(--tp-white);}

  /* tmavý závoj za kartou; pod hlavičkou (z-index 1000), klik na něj menu zavře (nav.js) */
  body::after{
    content:""; position:fixed; inset:0; z-index:999;
    background:rgba(27,26,23,0.34);
    opacity:0; visibility:hidden;
    transition:opacity .18s ease, visibility 0s linear .18s;
  }
  html.tp-nav-open body::after{opacity:1; visibility:visible; transition:opacity .18s ease;}
  html.tp-nav-open{overflow:hidden;}

  .tp .eyebrow{font-size:11.5px; gap:8px; margin-bottom:12px;}
  .tp .eyebrow::before{font-size:9px;}
  .tp .section-title{margin-bottom:28px;}

  /* hero */
  .tp .tp-hero{padding:40px 0 0;}
  .tp .tp-hero .wrap > .wp-block-group__inner-container,
  .tp .tp-hero .wrap:not(:has(> .wp-block-group__inner-container)){gap:32px;}
  .tp .hero-grid{grid-template-columns:1fr; gap:36px;}
  .tp .hero-copy .eyebrow{margin-bottom:18px;}
  .tp .hero-title{margin-bottom:28px; font-size:clamp(32px, 9.4vw, 44px); line-height:1.04; letter-spacing:-0.03em;}
  .tp .hero-title em{padding:0 6px; margin-left:0;}
  .tp .lede{margin-bottom:28px; font-size:16px;}
  .tp .btn-ghost .wp-block-button__link{font-size:13px; padding-bottom:4px;}

  .tp .hero-art{aspect-ratio:auto; height:360px; max-width:360px;}
  .tp .ha-browser{left:0; right:auto; width:300px; max-width:100%; aspect-ratio:300 / 236;}
  .tp .ha-chrome{height:22px; gap:5px; padding:0 10px;}
  .tp .ha-chrome span{width:6px; height:6px;}
  .tp .ha-body{padding:16px; gap:9px;}
  .tp .ha-bar{height:8px;}
  .tp .ha-grid{gap:8px; margin-top:4px;}
  .tp .ha-b{height:66px;}
  .tp .ha-b--low, .tp .ha-dim, .tp .ha-badge{display:none;}
  .tp .hero-art:not(.hero-art--sm)::before, .tp .hero-art:not(.hero-art--sm)::after{display:none;}
  .tp .hero-art:not(.hero-art--reference) .ha-browser:not(.hv-back)::before{left:14px; top:14px; right:-14px; bottom:-14px;}
  .tp .ha-phone{left:68px; bottom:auto; top:150px; width:132px; aspect-ratio:auto; height:210px; border-width:4px; border-radius:16px;}
  .tp .ha-phone-body{padding:12px 10px; gap:7px;}
  .tp .ha-phone .ha-bar{height:6px;}
  .tp .ha-hero-block{height:56px;}
  .tp .ha-line{height:6px;}
  .tp .ha-line--short, .tp .ha-phone-grid{display:none;}
  .tp .ha-btn{height:20px; margin-top:4px;}
  .tp .ha-cursor{display:flex; right:6px; top:20px;}
  .tp .ha-cursor svg{display:none;}
  .tp .ha-cursor span{margin:0; font-size:10px;}

  /* fakta 2 × 2, přes celou šířku */
  .tp .facts-grid{grid-template-columns:repeat(2, minmax(0,1fr)); margin-left:-20px; margin-right:-20px;}
  .tp .fact, .tp .fact:first-child{min-height:0; padding:20px; border-left:0; justify-content:flex-start;}
  .tp .fact:nth-child(odd){border-right:1px solid var(--tp-dark-line);}
  .tp .fact:nth-child(-n+2){border-bottom:1px solid var(--tp-dark-line);}
  .tp .fact-label{font-size:11px;}
  .tp .fact-value{font-size:17px; line-height:1.2;}

  /* práce */
  .tp .section-head{margin-bottom:32px;}
  .tp .section-head > .wp-block-group__inner-container,
  .tp .section-head:not(:has(> .wp-block-group__inner-container)){display:block;}
  .tp .section-head .section-title{margin-bottom:8px;}
  .tp .section-lede{font-size:15px;}
  .tp .work-grid{grid-template-columns:1fr; row-gap:48px;}
  .tp .work-card:nth-child(2){margin-top:0;}
  .tp .work-card:first-child .work-thumb::after{display:none;}
  .tp .work-card::before{top:40px; left:-10px; width:26px; height:26px; font-size:12px;}
  .tp .work-card:nth-child(2)::before{right:-10px;}
  .tp .work-card .tag{margin:20px 0 8px; font-size:11px;}
  .tp .work-card h3{margin:0 0 8px;}
  .tp .work-card h3 + p{margin:0; font-size:15px;}

  /* služby */
  .tp .bento-row.is-wide-first, .tp .bento-row.is-wide-last{grid-template-columns:1fr; gap:16px;}
  .tp .bento-row + .bento-row{margin-top:16px;}
  .tp .service-card{min-height:0; padding:26px;}
  .tp .service-top{margin-bottom:18px;}
  .tp .service-num{width:38px; height:38px; font-size:12px;}
  .tp .service-tag{padding:5px 10px; font-size:11px;}
  .tp .service-card h3{margin-top:0; margin-bottom:8px; letter-spacing:-0.02em;}
  .tp .service-card h3 + p{font-size:15px;}

  /* ceník */
  .tp .pricing-title{margin-bottom:10px; letter-spacing:-0.02em;}
  .tp .pricing-title + .section-lede{margin-bottom:32px; font-size:14px;}
  .tp .pricing-grid{grid-template-columns:1fr; gap:20px;}
  .tp .price-card{min-height:0; padding:28px;}
  .tp .price-card .plabel{font-size:10.5px;}
  .tp .price-card h3{margin-top:14px; font-size:21px;}
  .tp .price-card .pnum{margin:12px 0 4px; letter-spacing:-0.03em;}
  .tp .price-list{margin-top:16px; font-size:13.5px;}
  .tp .price-note{margin-top:20px; font-size:11.5px;}

  /* o mně */
  .tp .about-grid{grid-template-columns:1fr; row-gap:24px;}
  .tp .about-grid > .wp-block-column:last-child{grid-column:auto; padding-top:0;}
  .tp .about-title{line-height:1.08; letter-spacing:-0.02em;}
  .tp .about-grid p:not(.eyebrow){margin-bottom:16px; font-size:15.5px;}

  /* kontakt */
  .tp .tp-contact .section-title{margin-bottom:18px;}
  .tp .contact-grid{grid-template-columns:1fr; gap:40px;}
  .tp .contact-intro{margin-bottom:24px; font-size:16px; line-height:1.6;}
  .tp .contact-direct{margin-bottom:10px; font-size:14px;}
  .tp .contact-grid .wp-block-uagb-forms{padding-top:30px !important;}
  .tp .contact-grid .wp-block-uagb-forms::before{height:30px;}
  .tp .contact-grid .uagb-forms-main-form{padding:24px 22px 28px !important;}

  /* patička */
  .tp-footer__inner{min-height:0; padding:40px 20px 28px; gap:28px;}
  .tp-footer__mark{gap:14px; letter-spacing:-0.03em;}
  .tp-footer__bar{flex-direction:column; align-items:flex-start; gap:10px; padding-top:20px; font-size:12px;}
}

/* 16. ÚZKÝ MOBIL (≤ 560 px): tlačítka pod sebou přes celou šířku ========== */
@media (max-width: 560px){
  .tp .hero-ctas{flex-direction:column; align-items:stretch; gap:14px;}
  .tp .hero-ctas .wp-block-button{width:100%; text-align:center;}
  .tp .btn-primary .wp-block-button__link{width:100%; justify-content:center; box-sizing:border-box;}
  .tp .hero-ctas .btn-ghost{align-self:center; width:auto;}
}

@media (max-width: 782px){ .admin-bar .tp-header{top:46px;} }
@media (max-width: 600px){ .admin-bar .tp-header{top:0;} }

/* 17. NOVÉ STRÁNKY (v1.4.0) =============================================== */
/* Jen to, co v předchozích sekcích chybělo. Hodnoty z tokenů :root. */

/* 17a. Hero bez ilustrace (podstránky): nižší, jeden sloupec, menší H1 */
.tp .tp-hero.is-compact{min-height:0; padding:150px 0 96px;}
.tp .tp-hero.is-compact .hero-grid{grid-template-columns:minmax(0, 1fr);}
.tp .tp-hero.is-compact .hero-title{margin-bottom:32px; font-size:clamp(36px, 4.72vw, 68px);}
.tp .tp-hero.is-compact .lede{max-width:56ch;}
@media (max-width: 680px){
  .tp .tp-hero.is-compact{padding:40px 0 56px;}
}

/* 17b. FAQ (wp:details) */
.tp .faq{border-bottom:1px solid var(--tp-line);}
.tp .faq .wp-block-details{margin:0; padding:0; border-top:1px solid var(--tp-line);}
.tp .faq .wp-block-details summary{
  position:relative; display:block; list-style:none; cursor:pointer;
  padding:22px 48px 22px 0;
  font-family:var(--tp-display); font-weight:500;
  font-size:clamp(18px, 1.6vw, 22px); line-height:1.25; letter-spacing:-0.01em;
  color:var(--tp-ink);
}
.tp .faq .wp-block-details summary::-webkit-details-marker{display:none;}
.tp .faq .wp-block-details summary::after{
  content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%);
  font-family:var(--tp-mono); font-size:22px; color:var(--tp-accent);
}
.tp .faq .wp-block-details[open] summary::after{content:"\2212";}
.tp .faq .wp-block-details summary:hover{color:var(--tp-accent);}
.tp .faq .wp-block-details summary:focus-visible{outline:2px solid var(--tp-accent); outline-offset:2px;}
.tp .faq .wp-block-details > :not(summary){
  max-width:68ch; margin:0 0 22px; font-size:16.5px; line-height:1.65; color:var(--tp-ink-mid);
}

/* 17c. Odkazy v textu odstavců: podtržení, aby byly vidět (kontakt v modré sekci má vlastní styl) */
.tp .entry-content p:not(.contact-direct) a{
  text-decoration:underline; text-decoration-color:var(--tp-accent);
  text-decoration-thickness:1.5px; text-underline-offset:3px;
}
.tp .entry-content p:not(.contact-direct) a:hover{text-decoration-color:currentColor;}

/* 18. BLOG: ARCHIV A PŘÍSPĚVEK (v1.4.1) =================================== */
/* Cíl: příspěvky a archivy vypadají jako zbytek webu (papír, bez bílých boxů a sidebaru,
   Space Grotesk / Inter / Plex Mono). Cílí jen na body.single-post, .blog, .archive –
   stránky (např. /kontakt/) se nemění. Třídy GeneratePressu: .inside-article, .entry-*,
   .comments-area, .comment-*, .paging-navigation, .post-navigation, .page-header. */

/* 18a. Rozvržení: bez sidebaru, čtecí šířka, průhledné kontejnery */
body.tp:is(.single-post, .blog, .archive) .site.grid-container{max-width:none;}
body.tp:is(.single-post, .blog, .archive) .container{background:transparent;}
body.tp:is(.single-post, .blog, .archive) .site-content{
  display:block; max-width:var(--tp-max); margin:0 auto;
  padding:32px var(--tp-gutter) var(--tp-section); box-sizing:border-box;
}
body.tp:is(.single-post, .blog, .archive) .content-area{width:auto; float:none;}
body.tp:is(.single-post, .blog, .archive) .site-main{margin:0 !important;}
body.tp.single-post .site-main{max-width:760px; margin-left:auto !important; margin-right:auto !important;}
body.tp:is(.blog, .archive) .site-main{max-width:920px; margin-left:auto !important; margin-right:auto !important;}
body.tp:is(.single-post, .blog, .archive) :is(.inside-article, .comments-area, .comment-respond, .page-header, .paging-navigation){
  background:transparent; padding:0; border:0; box-shadow:none;
}
body.tp:is(.single-post, .blog, .archive) .site-main > *{margin-bottom:0;}

/* 18b. Titulek a meta */
body.tp:is(.single-post, .blog, .archive) .entry-title,
body.tp .page-header .page-title{
  margin:0 0 16px;
  font-size:clamp(34px, 4.6vw, 60px); line-height:1.05; letter-spacing:-0.04em;
}
body.tp:is(.blog, .archive) .entry-title{font-size:clamp(26px, 3vw, 40px); line-height:1.1; letter-spacing:-0.03em; margin-bottom:12px;}
body.tp .entry-title a{color:var(--tp-ink);}
body.tp .entry-title a:hover{color:var(--tp-accent);}
body.tp:is(.single-post, .blog, .archive) .entry-meta{
  font-family:var(--tp-mono); font-size:13px; line-height:1.5; color:var(--tp-ink-soft);
}
body.tp:is(.single-post, .blog, .archive) .entry-meta a{color:var(--tp-ink-soft);}
body.tp:is(.single-post, .blog, .archive) .entry-meta a:hover{color:var(--tp-accent);}
body.tp:is(.single-post, .blog, .archive) .entry-meta .gp-icon{display:none;}
body.tp.single-post .entry-header{margin-bottom:40px;}
body.tp.single-post footer.entry-meta{margin-top:48px; padding-top:20px; border-top:1px solid var(--tp-line);}

/* 18c. Obsah příspěvku */
body.tp.single-post .entry-content{font-size:18px; line-height:1.7; color:var(--tp-ink-mid);}
body.tp.single-post .entry-content > p{margin:0 0 1.2em;}
body.tp.single-post .entry-content h2{margin:56px 0 16px; font-size:clamp(26px, 2.6vw, 36px); line-height:1.1; letter-spacing:-0.03em; color:var(--tp-ink);}
body.tp.single-post .entry-content h3{margin:40px 0 12px; font-size:clamp(20px, 1.9vw, 24px); line-height:1.2; letter-spacing:-0.02em; color:var(--tp-ink);}
body.tp.single-post .entry-content :is(ul, ol){margin:0 0 1.4em; padding-left:1.3em;}
body.tp.single-post .entry-content li{margin:0 0 0.4em;}
body.tp.single-post .entry-content blockquote{
  margin:36px 0; padding:20px 0 0; border:0; border-top:2px solid var(--tp-ink);
  font-family:var(--tp-display); font-size:clamp(20px, 2vw, 24px); line-height:1.35; letter-spacing:-0.01em; color:var(--tp-ink);
}
body.tp.single-post .entry-content img{height:auto; max-width:100%;}

/* 18d. Archiv: výpis příspěvků jako řádky */
body.tp:is(.blog, .archive) article{margin:0; padding:32px 0; border-top:1px solid var(--tp-line);}
body.tp:is(.blog, .archive) .site-main > article:last-of-type{border-bottom:1px solid var(--tp-line);}
body.tp:is(.blog, .archive) :is(.entry-summary, .entry-content) p{margin:12px 0 0; font-size:17px; line-height:1.65; color:var(--tp-ink-soft);}
body.tp:is(.blog, .archive) .read-more{font-family:var(--tp-mono); font-size:13px; color:var(--tp-accent);}
body.tp .page-header{margin-bottom:32px;}
body.tp .paging-navigation{padding:32px 0 0;}
body.tp .paging-navigation .nav-links{display:flex; flex-wrap:wrap; gap:8px; font-family:var(--tp-mono); font-size:13px;}
body.tp .paging-navigation .page-numbers{padding:8px 14px; border:1px solid var(--tp-line); border-radius:999px; color:var(--tp-ink);}
body.tp .paging-navigation .page-numbers.current{background:var(--tp-ink); border-color:var(--tp-ink); color:var(--tp-paper);}
body.tp .paging-navigation a.page-numbers:hover{border-color:var(--tp-accent); color:var(--tp-accent);}
body.tp.single-post .post-navigation{margin-top:56px; padding-top:24px; border-top:1px solid var(--tp-line); font-family:var(--tp-mono); font-size:13px;}
body.tp.single-post .post-navigation a{color:var(--tp-ink);}
body.tp.single-post .post-navigation a:hover{color:var(--tp-accent);}

/* 18e. Komentáře */
body.tp.single-post .comments-area{margin-top:72px; padding-top:32px; border-top:2px solid var(--tp-ink);}
body.tp.single-post :is(.comments-title, .comment-reply-title){margin:0 0 24px; font-size:clamp(22px, 2.2vw, 30px); line-height:1.15; letter-spacing:-0.03em;}
body.tp.single-post .comment-list{list-style:none; margin:0 0 48px; padding:0;}
body.tp.single-post .comment-list .children{list-style:none; margin:0; padding-left:32px;}
body.tp.single-post .comment-body{padding:24px 0; border-bottom:1px solid var(--tp-line);}
body.tp.single-post .comment-content{padding:8px 0 0; background:transparent; border:0; font-size:16.5px; line-height:1.65; color:var(--tp-ink-mid);}
body.tp.single-post .comment-metadata, body.tp.single-post .comment-metadata a{font-family:var(--tp-mono); font-size:12px; color:var(--tp-ink-soft);}
body.tp.single-post .comment-reply-link{font-family:var(--tp-mono); font-size:12px; color:var(--tp-accent);}
body.tp.single-post .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea){
  width:100%; box-sizing:border-box; padding:12px 14px;
  background:var(--tp-paper-2); border:1px solid var(--tp-field-line); border-radius:3px;
  font:inherit; color:var(--tp-ink);
}
body.tp.single-post .comment-form :is(input, textarea):focus-visible{outline:2px solid var(--tp-accent); outline-offset:1px;}
body.tp.single-post .form-submit input[type="submit"]{
  height:48px; padding:0 26px; border:0; border-radius:999px; cursor:pointer;
  background:var(--tp-ink); color:var(--tp-paper);
  font-family:var(--tp-mono); font-size:13px; font-weight:600;
  transition:background .2s ease;
}
body.tp.single-post .form-submit input[type="submit"]:hover{background:var(--tp-accent); color:var(--tp-white);}

@media (max-width: 680px){
  body.tp:is(.single-post, .blog, .archive) .site-content{padding-top:16px;}
  body.tp.single-post .entry-content{font-size:17px;}
  body.tp.single-post .comment-list .children{padding-left:16px;}
}

/* 19. HERO ILUSTRACE PODSTRÁNEK (v1.5.0) ==================================== */
/* Dekorace v kompaktním hero (wp:html, aria-hidden), stejný jazyk jako ilustrace na úvodní stránce. */
.tp .tp-hero.is-compact .hero-grid:has(.hero-visual){grid-template-columns:1.25fr 0.75fr; gap:56px;}
.tp .hero-art--sm{aspect-ratio:auto; height:380px;}
.tp .hero-art--sm .ha-browser{top:0; right:0; width:100%; height:100%; aspect-ratio:auto;}
.tp .hero-art--sm.has-phone .ha-browser{width:86%; height:calc(100% - 28px);}
.tp .hero-art--sm .ha-inner{display:flex; flex-direction:column;}
.tp .hero-art--sm .ha-body{flex:1; min-height:0; padding:18px 18px 40px; gap:10px;}
.tp .hero-art--sm.has-phone .ha-dim{left:auto; right:10px;}
.tp .hero-art--sm .ha-phone{width:120px; height:220px; aspect-ratio:auto;}
.tp .hv-row{display:flex; align-items:center; gap:10px;}
.tp .hv-row .ha-bar{width:44px; height:8px;}
.tp .hv-logo{display:block; width:16px; height:16px; margin-right:auto; background:var(--tp-accent);}
.tp .hv-w40{width:40%;} .tp .hv-w50{width:50%;} .tp .hv-w60{width:60%;}
.tp .hv-hero{height:86px; flex:1 1 86px;}
.tp .hv-hero--tall{flex-basis:120px;}
.tp .hv-hero--icon{display:flex; align-items:center; justify-content:center;}
.tp .hv-tiles{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px;}
.tp .hv-tiles .ha-b{height:64px;}
/* ceník */
.tp .hv-plans{flex:1; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; align-items:end;}
.tp .hv-plan{height:224px; box-sizing:border-box; padding:12px 10px; display:flex; flex-direction:column; gap:8px; background:var(--tp-paper); border:1px solid var(--tp-line);}
.tp .hv-plan.is-featured{height:272px; background:var(--tp-ink); border-color:var(--tp-ink); box-shadow:0 0 0 1px var(--tp-accent);}
.tp .hv-tag{
  align-self:flex-start; padding:3px 6px; border-radius:2px; background:var(--tp-accent-soft); color:var(--tp-ink);
  font-family:var(--tp-mono); font-size:9.5px; letter-spacing:0.05em; text-transform:uppercase; line-height:1.3; white-space:nowrap;
}
.tp .is-featured .hv-tag{background:var(--tp-accent); color:var(--tp-white);}
.tp .hv-price{margin:6px 0 8px; font-family:var(--tp-display); font-weight:600; font-size:20px; line-height:1.05; letter-spacing:-0.03em; white-space:nowrap;}
.tp .is-featured .hv-price{color:var(--tp-paper);}
.tp .hv-plan .ha-line{width:100%;}
.tp .hv-plan .ha-line--short{width:60%;}
.tp .is-featured .ha-line{background:var(--tp-dark-line);}
.tp .hv-plan .ha-btn{width:100%; height:24px; margin-top:auto; background:var(--tp-line);}
.tp .hv-plan.is-featured .ha-btn{background:var(--tp-accent);}
/* elektroinstalace */
.tp .hv-split{display:grid; grid-template-columns:1.2fr 1fr; gap:10px;}
.tp .hv-form{padding:10px; display:flex; flex-direction:column; gap:7px; background:var(--tp-paper); border:1px solid var(--tp-line);}
.tp .hv-field{height:16px; background:var(--tp-paper-2); border:1px solid var(--tp-line);}
.tp .hv-form .ha-btn{width:100%; height:22px; margin-top:2px;}
.tp .hv-stack{display:flex; flex-direction:column; gap:10px;}
.tp .hv-stack .ha-b{flex:1; height:auto; min-height:34px;}
/* sportovní spolky */
.tp .hv-event{display:flex; align-items:center; gap:10px; padding:8px; background:var(--tp-paper); border:1px solid var(--tp-line);}
.tp .hv-event.is-next{border-color:var(--tp-accent);}
.tp .hv-date{display:block; flex:none; width:36px; height:36px; background:var(--tp-line);}
.tp .hv-event.is-next .hv-date{background:var(--tp-accent);}
.tp .hv-lines{flex:1; display:flex; flex-direction:column; gap:6px;}
.tp .hv-lines .ha-line{width:80%;}
.tp .hv-lines .ha-line--short{width:50%;}
.tp .hv-pill{display:block; flex:none; width:40px; height:14px; border-radius:7px; background:var(--tp-accent-soft);}
/* reference: dva překrývající se náhledy */
.tp .hv-back, .tp .hv-front{aspect-ratio:auto;}
.tp .hero-art--sm .hv-back{left:0; right:auto; width:64%; height:62%;}
.tp .hero-art--sm .hv-front{top:auto; bottom:0; right:0; width:68%; height:68%; z-index:1;}
.tp .hv-mini{padding:12px; gap:8px;}
.tp .hv-mini .ha-hero-block{height:54px;}
.tp .hv-mini .hv-tiles .ha-b{height:40px;}
/* případová studie */
.tp .hv-stats{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px;}
.tp .hv-stat{padding:10px; display:flex; flex-direction:column; gap:8px; background:var(--tp-paper); border:1px solid var(--tp-line);}
.tp .hv-stat .ha-bar{height:10px;}
.tp .hv-stat .hv-w60{height:16px; background:var(--tp-ink);}
.tp .hv-quote{padding-left:12px; border-left:3px solid var(--tp-accent); display:flex; flex-direction:column; gap:8px;}
.tp .hv-quote .ha-line{width:90%;}
.tp .hv-quote .ha-line--short{width:60%;}

@media (min-width: 681px) and (max-width: 1100px){
  .tp .tp-hero.is-compact .hero-grid:has(.hero-visual){gap:32px;}
  .tp .hv-price{font-size:16px;}
  .tp .hero-art--sm{height:340px;}
}
@media (max-width: 680px){
  .tp .tp-hero.is-compact .hero-grid:has(.hero-visual){grid-template-columns:minmax(0,1fr); gap:32px;}
  .tp .hero-art--sm{height:250px; max-width:420px;}
  .tp .hero-art--sm .ha-body{padding:12px; gap:8px;}
  .tp .hero-art--sm .hv-mini{padding:10px;}
  .tp .hero-art--sm .ha-phone, .tp .hero-art--sm .ha-cursor, .tp .hero-art--sm .ha-dim{display:none;}
  .tp .hero-art--sm.has-phone .ha-browser{width:100%; height:100%;}
  .tp .hv-hero{flex-basis:56px;} .tp .hv-hero--tall{flex-basis:70px;}
  .tp .hv-tiles .ha-b{height:44px;}
  .tp .hv-plan{height:160px;} .tp .hv-plan.is-featured{height:196px;}
  .tp .hv-price{font-size:15px;}
  .tp .hv-plan .ha-line ~ .ha-line{display:none;}
  .tp .hv-event ~ .hv-event ~ .hv-event{display:none;}
  .tp .hv-form{padding:8px;} .tp .hv-stat{padding:8px;}
  .tp .hero-art--sm .hv-back{width:66%; height:64%;} .tp .hero-art--sm .hv-front{width:70%; height:70%;}
}

/* 20. BLOG: PŘÍSPĚVEK V DESIGNU WEBU (v1.6.0) =============================== */
/* Zarovnání doleva na mřížku webu (logo, hero), titulek jako H1 v hero, pás faktů, H2 s linkou, CTA sekce. */
body.tp.single-post .site-content{padding-top:64px; padding-bottom:var(--tp-section);}
body.tp.single-post .site-main{max-width:none; margin-left:0 !important; margin-right:0 !important;}
body.tp.single-post .entry-header{margin-bottom:0;}
body.tp.single-post header.entry-header .entry-meta{display:none;}
.tp .tp-back{
  display:inline-block; margin-bottom:32px;
  font-family:var(--tp-mono); font-size:13px; color:var(--tp-ink-soft);
  border-bottom:1px solid var(--tp-line);
}
.tp .tp-back:hover{color:var(--tp-accent); border-color:var(--tp-accent);}
body.tp.single-post .entry-header .eyebrow{margin-bottom:22px;}
body.tp.single-post .entry-title{
  max-width:16em; margin:0;
  font-size:clamp(38px, 5.2vw, 76px); line-height:1.02; letter-spacing:-0.04em;
}
.tp .tp-post-facts{grid-template-columns:repeat(var(--n, 3), minmax(0,1fr)); margin:48px 0 56px;}
.tp .tp-post-facts .fact{min-height:96px;}
body.tp.single-post .entry-content{max-width:760px; font-size:18px; line-height:1.7;}
body.tp.single-post .entry-content h2{
  margin:64px 0 18px; padding-top:28px; border-top:1px solid var(--tp-line);
  font-size:clamp(28px, 3vw, 42px); line-height:1.05; letter-spacing:-0.035em;
}
body.tp.single-post .entry-content > h2:first-child{margin-top:0;}
body.tp.single-post .entry-content h3{margin:36px 0 10px;}
body.tp.single-post .entry-content li::marker{color:var(--tp-accent);}
body.tp.single-post .entry-content a{color:var(--tp-accent); text-decoration:underline; text-underline-offset:3px;}
body.tp.single-post .entry-content a:hover{color:var(--tp-ink);}
body.tp.single-post .entry-content blockquote{
  margin:40px 0; padding:24px 28px; border:0; border-left:3px solid var(--tp-accent);
  background:var(--tp-accent-soft);
}
body.tp.single-post .entry-content blockquote p{margin:0;}
body.tp.single-post footer.entry-meta{max-width:760px; margin-top:56px; padding-top:20px;}
body.tp.single-post footer.entry-meta :is(.cat-links, .tags-links){display:block; margin:0 0 8px;}
body.tp.single-post footer.entry-meta a{
  display:inline-block; margin:0 6px 6px 0; padding:4px 12px;
  border:1px solid var(--tp-line); border-radius:999px; color:var(--tp-ink);
}
body.tp.single-post footer.entry-meta a:hover{border-color:var(--tp-accent); color:var(--tp-accent);}
body.tp.single-post :is(.post-navigation, .comments-area, .comment-respond){max-width:760px;}
/* CTA před patičkou: stejná sekce jako na ostatních stránkách */
.tp .tp-post-cta{margin-top:0;}
@media (min-width: 681px) and (max-width: 1100px){
  .tp .tp-post-cta .about-grid{grid-template-columns:1fr; row-gap:24px;}
  .tp .tp-post-cta .about-grid > .wp-block-column:last-child{grid-column:1; padding-top:0;}
}
@media (max-width: 680px){
  body.tp.single-post .site-content{padding-top:32px;}
  .tp .tp-post-facts{grid-template-columns:minmax(0,1fr); margin:32px 0 40px;}
  .tp .tp-post-facts .fact, .tp .tp-post-facts .fact:first-child{min-height:0; padding:16px 0; border-left:0; border-bottom:1px solid var(--tp-line);}
  .tp .tp-post-facts .fact.is-highlight{padding-left:16px; padding-right:16px; margin:0 -16px; border-bottom:0;}
  body.tp.single-post .entry-content h2{margin-top:48px;}
}

/* 21. BLOG: VÝPIS PŘÍSPĚVKŮ (v1.6.1) ======================================== */
body.tp:is(.blog, .archive) .site-content{padding-top:64px;}
body.tp:is(.blog, .archive) .site-main{max-width:none; margin-left:0 !important; margin-right:0 !important;}
body.tp:is(.blog, .archive) .page-header{display:none;}
body.tp .site-main > .tp-blog-head{margin-bottom:56px;}
.tp .tp-blog-head .hero-title{margin:0; font-size:clamp(44px, 5.56vw, 80px);}
body.tp:is(.blog, .archive) :is(article, .paging-navigation){max-width:900px;}
body.tp:is(.blog, .archive) article{display:block;}
body.tp:is(.blog, .archive) .entry-header{display:flex; flex-direction:column-reverse; gap:10px;}
body.tp:is(.blog, .archive) .entry-header .entry-meta{margin:0;}
body.tp:is(.blog, .archive) .byline{display:none;}
body.tp:is(.blog, .archive) .entry-title{margin:0;}
body.tp:is(.blog, .archive) .post-image{margin:0 0 20px;}
body.tp:is(.blog, .archive) .post-image img{display:block; width:100%; height:auto; border:1px solid var(--tp-line);}
body.tp:is(.blog, .archive) footer.entry-meta{margin-top:16px; font-family:var(--tp-mono); font-size:12px;}
@media (max-width: 680px){
  body.tp:is(.blog, .archive) .site-content{padding-top:32px;}
  body.tp .site-main > .tp-blog-head{margin-bottom:32px;}
}

/* 22. OŽIVENÍ STRÁNEK (v1.7.0, od 1.7.1 i úvodní stránka) =========================================== */
/* Platí pro podstránky i úvodní stránku.
   Nové třídy v obsahu: is-alt / is-ink (varianta sekce), is-accent (CTA), ic ic-* (ikona karty),
   tp-ticker (běžící pásek), steps-row / step (postup), faq-grid, check-list / cross-list. */

/* 22a. Hero: konstrukční mřížka 80 px a křížky v průsečících (návrh v2) */
body.tp .tp-hero{
  position:relative;
  background-color:var(--tp-paper);
  background-image:
    linear-gradient(rgba(201, 194, 174, 0.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 194, 174, 0.5) 1px, transparent 1px);
  background-size:80px 80px; background-position:calc(50% - 681px) -1px;   /* čáry procházejí středem stránky */
}
body.tp .tp-hero::before, body.tp .tp-hero::after{
  content:"+"; display:none; position:absolute; z-index:1; transform:translate(-50%, -50%);
  font-family:var(--tp-mono); font-size:22px; line-height:1; color:var(--tp-accent); pointer-events:none;
}
@media (min-width: 1440px){
  body.tp .tp-hero::before, body.tp .tp-hero::after{display:block;}
  body.tp .tp-hero::before{left:calc(50% - 641px); top:159px;}
  body.tp .tp-hero::after{left:calc(50% + 639px); top:639px;}
  body.tp .tp-hero.is-compact::after{top:479px;}
}
body.tp .tp-hero > .wrap,
body.tp .tp-hero > .wp-block-group__inner-container{position:relative; z-index:1;}

/* rotovaný pásek přesahuje okraje – obsah ořezat (clip netvoří scroll kontejner, sticky funguje) */
.tp .entry-content{overflow-x:clip;}

/* 22b. Varianty sekcí. Na úvodní stránce se barva volí podle kotvy (#sluzby, #obory, #o-mne),
   jinde třídou: is-alt (papír 2), is-ink (tmavá), is-sky (světle modrá), is-accent (modrá CTA). */
.tp .tp-section.is-alt{background:var(--tp-paper-2);}
.tp .tp-section.is-ink, .tp #sluzby, .tp #o-mne{background:var(--tp-ink); color:var(--tp-paper); border-top:0;}
.tp .tp-section.is-sky, .tp #obory{background:var(--tp-accent-soft); border-top:0;}
.tp .is-ink .eyebrow, .tp #sluzby .eyebrow, .tp #o-mne .eyebrow{color:var(--tp-dark-mute);}
.tp .is-ink .eyebrow::before, .tp #sluzby .eyebrow::before, .tp #o-mne .eyebrow::before{color:var(--tp-accent-soft);}
.tp .is-sky .eyebrow, .tp #obory .eyebrow{color:var(--tp-ink-deep);}
.tp .is-ink .about-grid p:not(.eyebrow), .tp #o-mne .about-grid p:not(.eyebrow){color:var(--tp-dark-text);}
.tp .is-ink a, .tp #sluzby .price-note a, .tp #o-mne a{color:var(--tp-paper);}
.tp .is-ink .entry-content p a, .tp #sluzby .price-note a, .tp #o-mne p a{text-decoration-color:var(--tp-ink-soft);}
.tp #sluzby .price-note{color:var(--tp-dark-text);}
.tp .is-ink .service-card a, .tp #sluzby .service-card a{color:inherit;}
/* CTA sekce: modrá jako kontakt na úvodní stránce */
.tp .tp-about.is-accent{background:var(--tp-accent); color:var(--tp-white); border-top:0;}
.tp .is-accent .eyebrow{color:var(--tp-white);}
.tp .is-accent .eyebrow::before{color:var(--tp-accent-soft);}
.tp .is-accent .about-title{color:var(--tp-white);}
.tp .is-accent .about-grid p:not(.eyebrow){color:var(--tp-white);}
.tp .is-accent .btn-primary .wp-block-button__link{background:var(--tp-white); color:var(--tp-ink); box-shadow:0 4px 0 var(--tp-ink);}
.tp .is-accent .btn-primary .wp-block-button__link:hover{color:var(--tp-ink); box-shadow:0 6px 0 var(--tp-ink);}
.tp .is-accent .btn-ghost .wp-block-button__link{color:var(--tp-white); border-color:rgba(255, 255, 255, 0.7);}
.tp .is-accent .btn-ghost .wp-block-button__link:hover{color:var(--tp-accent-soft); border-color:var(--tp-accent-soft);}
/* nadpisy sekcí: 56 px (návrh v2), Reference 64 px */
.tp .section-title{font-size:clamp(34px, 3.89vw, 56px);}
.tp #prace .section-title{font-size:clamp(36px, 4.45vw, 64px);}

/* 22b2. Úvod: „Pro koho“ – nadpis vlevo, dvě karty vpravo pod sebou */
@media (min-width: 901px){
  .tp #obory .wrap:not(:has(> .wp-block-group__inner-container)){
    display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); column-gap:24px; align-items:start;
  }
  .tp #obory .wrap:not(:has(> .wp-block-group__inner-container)) > .eyebrow{grid-column:1 / span 6; grid-row:1;}
  .tp #obory .wrap:not(:has(> .wp-block-group__inner-container)) > .section-title{
    grid-column:1 / span 6; grid-row:2; max-width:560px; margin:0;
    font-size:clamp(40px, 5vw, 72px); line-height:1; letter-spacing:-0.045em;
  }
  .tp #obory .wrap:not(:has(> .wp-block-group__inner-container)) > .section-title::after{
    content:""; display:block; width:300px; max-width:100%; height:140px; margin-top:64px;
    background:radial-gradient(circle, var(--tp-accent) 1.6px, transparent 1.8px) 0 0 / 20px 20px;
  }
  .tp #obory .wrap:not(:has(> .wp-block-group__inner-container)) > .bento-row{grid-column:7 / span 6; grid-row:1 / span 3; margin:0;}
}

/* 22c. Pásek s klíčovými slovy: nakloněný modrý (návrh v2); přes okraje sekcí, animace jen transform */
body.tp .entry-content > .tp-ticker, body.tp .tp-ticker{
  position:relative; z-index:4; overflow:hidden; padding:0; border-top:0;
  background:var(--tp-accent); color:var(--tp-white);
  margin:-32px -30px !important; width:calc(100% + 60px) !important; max-width:none !important;
  transform:rotate(-1.4deg);
  box-shadow:0 12px 24px -14px rgba(27, 26, 23, 0.5);
}
.tp .tp-ticker .wp-block-html, .tp .tp-ticker > .wp-block-group__inner-container{margin:0; max-width:none;}
.tp .tp-ticker__track{
  display:flex; width:max-content; white-space:nowrap;
  animation:tp-ticker 48s linear infinite;
}
.tp .tp-ticker:hover .tp-ticker__track{animation-play-state:paused;}
.tp .tp-ticker__track span{
  display:inline-flex; align-items:center; gap:28px; height:64px; padding:0 0 0 28px;
  font-family:var(--tp-mono); font-size:14px; letter-spacing:0.08em; text-transform:uppercase;
}
.tp .tp-ticker__track span::after{content:"◆"; color:var(--tp-accent-soft); font-size:10px;}
@keyframes tp-ticker{to{transform:translateX(-50%);}}

/* 22d. Ikony karet (vodoznak vpravo dole) */
.tp .service-card{position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;}
.tp .service-card.ic::after{
  content:""; position:absolute; right:20px; bottom:16px; width:130px; height:130px; pointer-events:none;
  background:currentColor; opacity:0.18;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-size:contain; mask-size:contain; -webkit-mask-position:center; mask-position:center;
}
.tp .bento-row.is-wide-first > .service-card:first-child.ic::after,
.tp .bento-row.is-wide-last > .service-card:last-child.ic::after{width:150px; height:150px; right:24px; bottom:20px;}
.tp .service-card.is-dark.ic::after, .tp #obory .service-card:first-child.ic::after{background:var(--tp-accent-soft); opacity:0.35;}
.tp .service-card.is-accent.ic::after{background:var(--tp-white); opacity:0.4;}
.tp .service-card.is-soft.ic::after{opacity:0.2;}
.tp .service-card.ic h3, .tp .service-card.ic h3 + p{position:relative; z-index:1;}
body.tp .service-card:hover{transform:translateY(-4px); box-shadow:var(--tp-shadow-card);}
body.tp .price-card{transition:transform .25s ease;}
body.tp .price-card:hover{transform:translateY(-4px);}
.tp .ic-browser::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='8' width='38' height='32' rx='2'/%3E%3Cpath d='M5 16h38'/%3E%3Cpath d='M11 12h.1M16 12h.1M21 12h.1'/%3E%3Crect x='11' y='22' width='12' height='12'/%3E%3Cpath d='M28 22h8M28 28h8M28 34h5'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='8' width='38' height='32' rx='2'/%3E%3Cpath d='M5 16h38'/%3E%3Cpath d='M11 12h.1M16 12h.1M21 12h.1'/%3E%3Crect x='11' y='22' width='12' height='12'/%3E%3Cpath d='M28 22h8M28 28h8M28 34h5'/%3E%3C/svg%3E");}
.tp .ic-search::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='21' cy='21' r='13'/%3E%3Cpath d='M31 31l12 12'/%3E%3Cpath d='M15 22l4 4 8-9'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='21' cy='21' r='13'/%3E%3Cpath d='M31 31l12 12'/%3E%3Cpath d='M15 22l4 4 8-9'/%3E%3C/svg%3E");}
.tp .ic-layers::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 6l18 9-18 9-18-9z'/%3E%3Cpath d='M6 24l18 9 18-9'/%3E%3Cpath d='M6 33l18 9 18-9'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 6l18 9-18 9-18-9z'/%3E%3Cpath d='M6 24l18 9 18-9'/%3E%3Cpath d='M6 33l18 9 18-9'/%3E%3C/svg%3E");}
.tp .ic-shield::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5l16 6v12c0 10-7 17-16 20C15 40 8 33 8 23V11z'/%3E%3Cpath d='M17 24l5 5 9-10'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5l16 6v12c0 10-7 17-16 20C15 40 8 33 8 23V11z'/%3E%3Cpath d='M17 24l5 5 9-10'/%3E%3C/svg%3E");}
.tp .ic-check::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='18'/%3E%3Cpath d='M15 24.5l6 6 12-13'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='18'/%3E%3Cpath d='M15 24.5l6 6 12-13'/%3E%3C/svg%3E");}
.tp .ic-list::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 12l3 3 5-6M8 25l3 3 5-6M8 38l3 3 5-6'/%3E%3Cpath d='M23 13h18M23 26h18M23 39h18'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 12l3 3 5-6M8 25l3 3 5-6M8 38l3 3 5-6'/%3E%3Cpath d='M23 13h18M23 26h18M23 39h18'/%3E%3C/svg%3E");}
.tp .ic-chat::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9h34v24H22l-9 8v-8H7z'/%3E%3Cpath d='M14 18h20M14 25h12'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9h34v24H22l-9 8v-8H7z'/%3E%3Cpath d='M14 18h20M14 25h12'/%3E%3C/svg%3E");}
.tp .ic-phone::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='13' y='4' width='22' height='40' rx='4'/%3E%3Cpath d='M21 38h6'/%3E%3Cpath d='M18 12h12v12H18z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='13' y='4' width='22' height='40' rx='4'/%3E%3Cpath d='M21 38h6'/%3E%3Cpath d='M18 12h12v12H18z'/%3E%3C/svg%3E");}
.tp .ic-calendar::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='9' width='36' height='33' rx='2'/%3E%3Cpath d='M6 19h36M15 5v8M33 5v8'/%3E%3Cpath d='M14 27h4M22 27h4M30 27h4M14 34h4M22 34h4'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='9' width='36' height='33' rx='2'/%3E%3Cpath d='M6 19h36M15 5v8M33 5v8'/%3E%3Cpath d='M14 27h4M22 27h4M30 27h4M14 34h4M22 34h4'/%3E%3C/svg%3E");}
.tp .ic-users::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17' cy='16' r='7'/%3E%3Cpath d='M4 40c0-8 6-13 13-13s13 5 13 13'/%3E%3Ccircle cx='34' cy='14' r='5'/%3E%3Cpath d='M34 25c6 0 10 4 10 11'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17' cy='16' r='7'/%3E%3Cpath d='M4 40c0-8 6-13 13-13s13 5 13 13'/%3E%3Ccircle cx='34' cy='14' r='5'/%3E%3Cpath d='M34 25c6 0 10 4 10 11'/%3E%3C/svg%3E");}
.tp .ic-heart::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 41S6 30 6 18a9.5 9.5 0 0 1 18-4 9.5 9.5 0 0 1 18 4c0 12-18 23-18 23z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 41S6 30 6 18a9.5 9.5 0 0 1 18-4 9.5 9.5 0 0 1 18 4c0 12-18 23-18 23z'/%3E%3C/svg%3E");}
.tp .ic-edit::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 40l2-9L31 10l7 7L17 38z'/%3E%3Cpath d='M27 14l7 7'/%3E%3Cpath d='M8 40h32'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 40l2-9L31 10l7 7L17 38z'/%3E%3Cpath d='M27 14l7 7'/%3E%3Cpath d='M8 40h32'/%3E%3C/svg%3E");}


.tp .ic-bolt::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M27 4L9 27h12l-3 17 21-25H26z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M27 4L9 27h12l-3 17 21-25H26z'/%3E%3C/svg%3E");}
/* karty na papíru 2 nesplývají se sekcí */
.tp .tp-section.is-alt .service-card.is-paper{background:var(--tp-paper);}

/* 22e. Postup: čtvercový bod na linii, velké číslo (návrh v2). Barvy podle varianty sekce. */
.tp .steps-row{display:grid !important; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:24px; position:relative; counter-reset:none;}
.tp .steps-row::before{content:""; position:absolute; top:7px; left:0; right:0; height:1px; background:var(--tp-line);}
.tp .is-ink .steps-row::before{background:var(--tp-dark-line);}
.tp .step{position:relative; padding:36px 0 0;}
.tp .step::before{content:""; position:absolute; left:0; top:0; width:15px; height:15px; background:var(--tp-accent);}
.tp .step:last-child::before{background:var(--tp-ink);}
.tp .is-ink .step:last-child::before{background:var(--tp-accent-soft);}
.tp .step-num{
  width:auto; height:auto; margin:0 0 20px; border:0; border-radius:0; background:none;
  font-family:var(--tp-display); font-size:clamp(40px, 3.9vw, 56px); font-weight:600; line-height:1; letter-spacing:-0.04em;
  color:var(--tp-line);
}
.tp .is-ink .step-num{color:var(--tp-dark-line);}
.tp .step-tag{
  display:inline-block; margin:0 0 10px; padding:3px 10px; border:1px solid var(--tp-line); border-radius:999px;
  font-family:var(--tp-mono); font-size:11.5px; color:var(--tp-ink-soft); background:transparent;
}
.tp .is-ink .step-tag{border-color:var(--tp-dark-line); color:var(--tp-dark-mute);}
.tp .step h3{margin:0 0 8px; font-size:clamp(20px, 1.7vw, 24px); line-height:1.1; letter-spacing:-0.02em;}
.tp .step h3 + p{margin:0; font-size:14.5px; line-height:1.6; color:var(--tp-ink-soft);}
.tp .is-ink .step h3 + p{color:var(--tp-dark-text);}

/* 22f. Zatržítka a křížky v seznamech „pro koho“ */
.tp .check-list li::before, .tp .cross-list li::before{
  flex:none; width:20px; height:20px; margin-top:1px; box-sizing:border-box; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--tp-mono); font-size:12px; line-height:1; color:var(--tp-white);
}
.tp .check-list li::before{content:"✓"; background:var(--tp-accent);}
.tp .cross-list li::before{content:"✕"; background:var(--tp-ink-soft); font-size:10px;}
.tp .service-card .price-list{margin-top:8px; font-size:15.5px; color:var(--tp-ink-mid);}
.tp .service-card .price-list li{padding:12px 0; align-items:flex-start;}
.tp .service-card.is-paper .price-list li, .tp .service-card.is-soft .price-list li{border-color:var(--tp-line);}

/* 22g. FAQ vedle nadpisu */
.tp .faq-grid{grid-template-columns:5fr 7fr !important; column-gap:48px;}
.tp .faq-grid > .wp-block-column:last-child{grid-column:2; padding-top:0;}
.tp .faq-grid .about-title{font-size:clamp(32px, 3.6vw, 52px); line-height:1.04;}
.tp .faq-grid > .wp-block-column:first-child{position:sticky; top:120px; align-self:start;}

/* 22h. Screenshoty jako okno prohlížeče + hover */
body.tp .work-thumb{
  padding-top:26px; overflow:hidden;
  background:
    radial-gradient(circle, rgba(230,225,212,.55) 3px, transparent 3.5px) 12px 13px / 12px 12px no-repeat,
    radial-gradient(circle, rgba(230,225,212,.55) 3px, transparent 3.5px) 26px 13px / 12px 12px no-repeat,
    radial-gradient(circle, rgba(230,225,212,.55) 3px, transparent 3.5px) 40px 13px / 12px 12px no-repeat,
    linear-gradient(var(--tp-ink), var(--tp-ink)) 0 0 / 100% 26px no-repeat,
    var(--tp-paper-2);
  box-shadow:var(--tp-shadow-card);
}
body.tp .work-card:nth-child(2) .work-thumb{box-shadow:20px 20px 0 var(--tp-ink);}
body.tp .work-thumb::before{display:none;}   /* rohové značky: návrh v2 je nemá */   /* tvrdý posunutý stín (návrh v2) */
body.tp .work-thumb img{transition:transform .6s ease;}
body.tp .work-card:hover .work-thumb img{transform:scale(1.035);}
body.tp .work-card h3{transition:color .2s ease;}
body.tp .work-card:hover h3{color:var(--tp-accent);}

/* 22i. Zobrazení při posunu (js/reveal.js; bez JS je vše viditelné) */
.tp-js body.tp .tp-reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; transition-delay:calc(var(--i, 0) * 90ms);}
.tp-js body.tp .tp-reveal.is-in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .tp-js body.tp .tp-reveal{opacity:1; transform:none; transition:none;}
  .tp .tp-ticker__track{animation:none;}
  body.tp .work-thumb img, .tp .service-card, .tp .price-card{transition:none;}
}

/* 22j. Tablet */
@media (min-width: 681px) and (max-width: 1100px){
  .tp .steps-row{grid-template-columns:repeat(3, minmax(0, 1fr)); row-gap:40px;}
  .tp .steps-row::before{display:none;}
  .tp .faq-grid{grid-template-columns:1fr !important; row-gap:32px;}
  .tp .faq-grid > .wp-block-column:last-child{grid-column:1;}
  .tp .faq-grid > .wp-block-column:first-child{position:static;}
}
/* 22k. Mobil */
@media (max-width: 680px){
  .tp .steps-row{grid-template-columns:minmax(0, 1fr); gap:0; padding-left:0;}
  .tp .steps-row::before{top:6px; bottom:6px; left:7px; right:auto; width:1px; height:auto;}
  .tp .step{padding:0 0 32px 44px; min-height:52px;}
  .tp .step:last-child{padding-bottom:0;}
  .tp .step::before{top:0;}
  .tp .step-num{margin:0 0 8px; font-size:36px;}
  .tp .faq-grid{grid-template-columns:minmax(0, 1fr) !important; row-gap:24px;}
  .tp .faq-grid > .wp-block-column:last-child{grid-column:1;}
  .tp .faq-grid > .wp-block-column:first-child{position:static;}
  .tp .tp-ticker__track span{height:48px; padding:0 0 0 20px; font-size:12px; gap:20px;}
  body.tp .entry-content > .tp-ticker, body.tp .tp-ticker{margin:18px -20px -18px !important; width:calc(100% + 40px) !important;}
  .tp .service-card.ic::after, .tp .bento-row.is-wide-first > .service-card:first-child.ic::after, .tp .bento-row.is-wide-last > .service-card:last-child.ic::after{width:72px; height:72px; right:12px; bottom:12px;}
  .tp .service-card.ic h3 + p{padding-right:36px;}
  body.tp .work-card:nth-child(2) .work-thumb{box-shadow:10px 10px 0 var(--tp-ink);}
}

/* 22k. Prvky úvodní stránky, které potřebují značky (v1.8.1): samolepka u reference, ikony v „Pro koho“ */
/* samolepka „Případová studie →“ přes roh prvního snímku (HTML blok hned za obrázkem) */
.tp .work-sticker-wrap{position:relative; height:0; z-index:5;}
.tp .work-sticker{
  position:absolute; top:-80px; right:-24px; width:124px; height:124px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; text-align:center;
  border-radius:50%; background:var(--tp-accent); color:var(--tp-white);
  font-family:var(--tp-mono); font-size:12.5px; line-height:1.35; text-decoration:none;
  transform:rotate(-12deg); box-shadow:0 14px 28px -14px rgba(27, 26, 23, 0.6);
  transition:transform .25s ease;
}
body.tp .work-sticker:hover{transform:rotate(-5deg) scale(1.06); color:var(--tp-white);}
body.tp .work-card:first-child .work-thumb::after{display:none;}   /* kurzor „tpage“ by se se samolepkou překrýval */

/* „Pro koho“: čtvercový rámeček s ikonou místo čísla; tmavá karta je černá (návrh), světlá na papíru */
.tp .service-num--icon{width:48px; height:48px;}
.tp .service-num--icon svg{display:block;}
.tp #obory .service-card.is-dark{background:var(--tp-ink); border-color:var(--tp-ink);}
.tp #obory .service-card.is-dark .service-num{border-color:var(--tp-ink-soft); color:var(--tp-accent-soft);}
.tp #obory .service-card.is-paper, .tp .tp-section.is-sky .service-card.is-paper{background:var(--tp-paper); border-color:var(--tp-accent-line);}
.tp #obory .service-card.is-paper .service-num, .tp .tp-section.is-sky .service-card.is-paper .service-num{background:var(--tp-paper-2); border-color:var(--tp-line); color:var(--tp-accent);}
.tp #obory .service-card h3 + p{max-width:44ch;}

@media (min-width: 681px) and (max-width: 1100px){
  .tp .work-sticker{right:-14px;}
}
@media (max-width: 680px){
  .tp .work-sticker{top:-58px; right:-6px; width:96px; height:96px; font-size:11px;}
  .tp .service-num--icon{width:40px; height:40px;}
  .tp .service-num--icon svg{width:18px; height:18px;}
}
@media (prefers-reduced-motion: reduce){
  .tp .work-sticker{transition:none;}
}
